Update for htmx 1.7.0 #4
@ -1,8 +1,8 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
 | 
					<?xml version="1.0" encoding="utf-8" standalone="no"?>
 | 
				
			||||||
<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>
 | 
				
			||||||
        <VersionPrefix>1.6.1</VersionPrefix>
 | 
					        <VersionPrefix>1.7.0</VersionPrefix>
 | 
				
			||||||
        <PackageReleaseNotes>Initial production-ready release</PackageReleaseNotes>
 | 
					        <PackageReleaseNotes>Support new attributes/headers in htmx 1.7.0</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>
 | 
				
			||||||
 | 
				
			|||||||
@ -217,6 +217,17 @@ module HandlerTests =
 | 
				
			|||||||
      Assert.Equal ("/a-new-url", dic.["HX-Push"].[0])
 | 
					      Assert.Equal ("/a-new-url", dic.["HX-Push"].[0])
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  [<Fact>]
 | 
				
			||||||
 | 
					  let ``withHxNoPush succeeds`` () =
 | 
				
			||||||
 | 
					    let ctx = Substitute.For<HttpContext> ()
 | 
				
			||||||
 | 
					    let dic = HeaderDictionary ()
 | 
				
			||||||
 | 
					    ctx.Response.Headers.ReturnsForAnyArgs dic |> ignore
 | 
				
			||||||
 | 
					    task {
 | 
				
			||||||
 | 
					      let! _ = withHxNoPush next ctx
 | 
				
			||||||
 | 
					      Assert.True (dic.ContainsKey "HX-Push")
 | 
				
			||||||
 | 
					      Assert.Equal ("false", dic.["HX-Push"].[0])
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  [<Fact>]
 | 
					  [<Fact>]
 | 
				
			||||||
  let ``withHxRedirect succeeds`` () =
 | 
					  let ``withHxRedirect succeeds`` () =
 | 
				
			||||||
    let ctx = Substitute.For<HttpContext> ()
 | 
					    let ctx = Substitute.For<HttpContext> ()
 | 
				
			||||||
 | 
				
			|||||||
@ -66,6 +66,10 @@ module Handlers =
 | 
				
			|||||||
  let withHxPush : string -> HttpHandler =
 | 
					  let withHxPush : string -> HttpHandler =
 | 
				
			||||||
    setHttpHeader "HX-Push"
 | 
					    setHttpHeader "HX-Push"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // Explicitly do not push a new URL into the history stack
 | 
				
			||||||
 | 
					  let withHxNoPush : HttpHandler =
 | 
				
			||||||
 | 
					    toLowerBool false |> withHxPush
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
  /// Can be used to do a client-side redirect to a new location
 | 
					  /// Can be used to do a client-side redirect to a new location
 | 
				
			||||||
  let withHxRedirect : string -> HttpHandler =
 | 
					  let withHxRedirect : string -> HttpHandler =
 | 
				
			||||||
    setHttpHeader "HX-Redirect"
 | 
					    setHttpHeader "HX-Redirect"
 | 
				
			||||||
 | 
				
			|||||||
@ -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.6.1**
 | 
					**htmx version: 1.7.0**
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Setup
 | 
					### Setup
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -344,6 +344,10 @@ module Attributes =
 | 
				
			|||||||
  let ``_hxDisable succeeds`` () =
 | 
					  let ``_hxDisable succeeds`` () =
 | 
				
			||||||
    p [ _hxDisable ] [] |> shouldRender """<p hx-disable></p>"""
 | 
					    p [ _hxDisable ] [] |> shouldRender """<p hx-disable></p>"""
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
 | 
					  [<Fact>]
 | 
				
			||||||
 | 
					  let ``_hxDisinherit succeeds`` () =
 | 
				
			||||||
 | 
					    strong [ _hxDisinherit "*" ] [] |> shouldRender """<strong hx-disinherit="*"></strong>"""
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
  [<Fact>]
 | 
					  [<Fact>]
 | 
				
			||||||
  let ``_hxEncoding succeeds`` () =
 | 
					  let ``_hxEncoding succeeds`` () =
 | 
				
			||||||
    form [ _hxEncoding "utf-7" ] [] |> shouldRender """<form hx-encoding="utf-7"></form>"""
 | 
					    form [ _hxEncoding "utf-7" ] [] |> shouldRender """<form hx-encoding="utf-7"></form>"""
 | 
				
			||||||
@ -425,6 +429,10 @@ module Attributes =
 | 
				
			|||||||
  let ``_hxSwapOob succeeds`` () =
 | 
					  let ``_hxSwapOob succeeds`` () =
 | 
				
			||||||
    li [ _hxSwapOob "true" ] [] |> shouldRender """<li hx-swap-oob="true"></li>"""
 | 
					    li [ _hxSwapOob "true" ] [] |> shouldRender """<li hx-swap-oob="true"></li>"""
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
 | 
					  [<Fact>]
 | 
				
			||||||
 | 
					  let ``_hxSync succeeds`` () =
 | 
				
			||||||
 | 
					    nav [ _hxSync "closest form:abort" ] [] |> shouldRender """<nav hx-sync="closest form:abort"></nav>"""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  [<Fact>]
 | 
					  [<Fact>]
 | 
				
			||||||
  let ``_hxTarget succeeds`` () =
 | 
					  let ``_hxTarget succeeds`` () =
 | 
				
			||||||
    header [ _hxTarget "#somewhereElse" ] [] |> shouldRender """<header hx-target="#somewhereElse"></header>"""
 | 
					    header [ _hxTarget "#somewhereElse" ] [] |> shouldRender """<header hx-target="#somewhereElse"></header>"""
 | 
				
			||||||
@ -442,3 +450,18 @@ module Attributes =
 | 
				
			|||||||
  let ``_hxWs succeeds`` () =
 | 
					  let ``_hxWs succeeds`` () =
 | 
				
			||||||
    ul [ _hxWs "connect:/web-socket" ] [] |> shouldRender """<ul hx-ws="connect:/web-socket"></ul>"""
 | 
					    ul [ _hxWs "connect:/web-socket" ] [] |> shouldRender """<ul hx-ws="connect:/web-socket"></ul>"""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/// Tests for the Script module
 | 
				
			||||||
 | 
					module Script =
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  [<Fact>]
 | 
				
			||||||
 | 
					  let ``Script.minified succeeds`` () =
 | 
				
			||||||
 | 
					    let html = RenderView.AsString.htmlNode Script.minified
 | 
				
			||||||
 | 
					    Assert.Equal ("""<script src="https://unpkg.com/htmx.org@1.7.0" integrity="sha384-EzBXYPt0/T6gxNp0nuPtLkmRpmDBbjg6WmCUZRLXBBwYYmwAUxzlSGej0ARHX0Bo" crossorigin="anonymous"></script>""",
 | 
				
			||||||
 | 
					                  html)
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  [<Fact>]
 | 
				
			||||||
 | 
					  let ``Script.unminified succeeds`` () =
 | 
				
			||||||
 | 
					    let html = RenderView.AsString.htmlNode Script.unminified
 | 
				
			||||||
 | 
					    Assert.Equal ("""<script src="https://unpkg.com/htmx.org@1.7.0/dist/htmx.js" integrity="sha384-ESk4PjE7dwjGkEciohREmmf8rLMX0E95MKwxM3bvC90sZ3XbF2TELnVk2w7bX0d9" crossorigin="anonymous"></script>""",
 | 
				
			||||||
 | 
					                  html)
 | 
				
			||||||
 | 
				
			|||||||
@ -164,6 +164,8 @@ module HtmxAttrs =
 | 
				
			|||||||
  let _hxDelete     = attr "hx-delete"
 | 
					  let _hxDelete     = attr "hx-delete"
 | 
				
			||||||
  /// 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"
 | 
				
			||||||
 | 
					  /// Disinherit all ("*") or specific htmx attributes
 | 
				
			||||||
 | 
					  let _hxDisinherit = attr "hx-disinherit"
 | 
				
			||||||
  /// Changes the request encoding type
 | 
					  /// Changes the request encoding type
 | 
				
			||||||
  let _hxEncoding   = attr "hx-encoding"
 | 
					  let _hxEncoding   = attr "hx-encoding"
 | 
				
			||||||
  /// Extensions to use for this element
 | 
					  /// Extensions to use for this element
 | 
				
			||||||
@ -204,6 +206,8 @@ module HtmxAttrs =
 | 
				
			|||||||
  let _hxSwap       = attr "hx-swap"
 | 
					  let _hxSwap       = attr "hx-swap"
 | 
				
			||||||
  /// Marks content in a response as being "Out of Band", i.e. swapped somewhere other than the target
 | 
					  /// Marks content in a response as being "Out of Band", i.e. swapped somewhere other than the target
 | 
				
			||||||
  let _hxSwapOob    = attr "hx-swap-oob"
 | 
					  let _hxSwapOob    = attr "hx-swap-oob"
 | 
				
			||||||
 | 
					  /// Synchronize events based on another element
 | 
				
			||||||
 | 
					  let _hxSync       = attr "hx-sync"
 | 
				
			||||||
  /// Specifies the target element to be swapped
 | 
					  /// Specifies the target element to be swapped
 | 
				
			||||||
  let _hxTarget     = attr "hx-target"
 | 
					  let _hxTarget     = attr "hx-target"
 | 
				
			||||||
  /// Specifies the event that triggers the request
 | 
					  /// Specifies the event that triggers the request
 | 
				
			||||||
@ -220,15 +224,15 @@ 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 [
 | 
					    script [
 | 
				
			||||||
      _src         "https://unpkg.com/htmx.org@1.6.1"
 | 
					      _src         "https://unpkg.com/htmx.org@1.7.0"
 | 
				
			||||||
      _integrity   "sha384-tvG/2mnCFmGQzYC1Oh3qxQ7CkQ9kMzYjWZSNtrRZygHPDDqottzEJsqS4oUVodhW"
 | 
					      _integrity   "sha384-EzBXYPt0/T6gxNp0nuPtLkmRpmDBbjg6WmCUZRLXBBwYYmwAUxzlSGej0ARHX0Bo"
 | 
				
			||||||
      _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 [
 | 
					    script [
 | 
				
			||||||
      _src         "https://unpkg.com/htmx.org@1.6.1/dist/htmx.js"
 | 
					      _src         "https://unpkg.com/htmx.org@1.7.0/dist/htmx.js"
 | 
				
			||||||
      _integrity   "sha384-7G9OE6gS4pBnBGH74HojjPQ8xOEGrdBeQc7JJOc58k6LG/YVfKXARd91w9715AYG"
 | 
					      _integrity   "sha384-ESk4PjE7dwjGkEciohREmmf8rLMX0E95MKwxM3bvC90sZ3XbF2TELnVk2w7bX0d9"
 | 
				
			||||||
      _crossorigin "anonymous"
 | 
					      _crossorigin "anonymous"
 | 
				
			||||||
      ] []
 | 
					      ] []
 | 
				
			||||||
 | 
				
			|||||||
@ -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.6.1**
 | 
					**htmx version: 1.7.0**
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Setup
 | 
					### Setup
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user