diff options
author | Carson Gross <carson@bigsky.software> | 2024-03-13 17:24:17 -0600 |
---|---|---|
committer | Carson Gross <carson@bigsky.software> | 2024-03-13 17:24:17 -0600 |
commit | 83e939a3709c8752a88c1349ce0894dee6f7bf6f (patch) | |
tree | 7c26f2856fe3edd4b4623044ef52f5b05a741374 | |
parent | 6f4bcfb1bbb715a4aaf14ea2117f97f8096c9447 (diff) | |
parent | e780175736877e4571c661b784ccdf2fcde4f4d4 (diff) | |
download | htmx-83e939a3709c8752a88c1349ce0894dee6f7bf6f.tar.gz htmx-83e939a3709c8752a88c1349ce0894dee6f7bf6f.zip |
Merge remote-tracking branch 'origin/dev' into dev
-rw-r--r-- | src/htmx.d.ts | 8 | ||||
-rw-r--r-- | test/core/regressions.js | 42 |
2 files changed, 43 insertions, 7 deletions
diff --git a/src/htmx.d.ts b/src/htmx.d.ts index d3c3bba4..a545692e 100644 --- a/src/htmx.d.ts +++ b/src/htmx.d.ts @@ -429,13 +429,7 @@ export interface HtmxConfig { * If set to true htmx will not update the title of the document when a title tag is found in new content * @default false */ - ignoreTitle:? boolean; - /** - * The cache to store evaluated trigger specifications into. - * You may define a simple object to use a never-clearing cache, or implement your own system using a [proxy object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Proxy) - * @default null - */ - triggerSpecsCache?: {[trigger: string]: HtmxTriggerSpecification[]}; + ignoreTitle?: boolean; } export type HtmxEvent = "htmx:abort" diff --git a/test/core/regressions.js b/test/core/regressions.js index 8f844cfb..688c3fe7 100644 --- a/test/core/regressions.js +++ b/test/core/regressions.js @@ -245,4 +245,46 @@ describe("Core htmx Regression Tests", function(){ }, 50) }) + it("script tags only execute once using templates", function(done) { + var oldUseTemplateFragmentsValue = htmx.config.useTemplateFragments + htmx.config.useTemplateFragments = true + + window.i = 0; // set count to 0 + this.server.respondWith('GET', '/test', '<script>console.trace(); window.i++</script>') // increment the count by 1 + + // make a div w/ a short settle delay to make the problem more obvious + var div = make('<div hx-get="/test" hx-swap="innerHTML settle:5ms"/>'); + div.click(); + this.server.respond() + + htmx.config.useTemplateFragments = oldUseTemplateFragmentsValue + + setTimeout(function(){ + window.i.should.equal(1); + delete window.i; + done(); + }, 50) + }) + + it("script tags only execute once when nested using templates", function(done) { + var oldUseTemplateFragmentsValue = htmx.config.useTemplateFragments + htmx.config.useTemplateFragments = true + + window.i = 0; // set count to 0 + this.server.respondWith('GET', '/test', '<p>foo</p><div><script>console.trace(); window.i++</script></div>') // increment the count by 1 + + // make a div w/ a short settle delay to make the problem more obvious + var div = make('<div hx-get="/test" hx-swap="innerHTML settle:5ms"/>'); + div.click(); + this.server.respond() + + htmx.config.useTemplateFragments = oldUseTemplateFragmentsValue + + setTimeout(function(){ + window.i.should.equal(1); + delete window.i; + done(); + }, 50) + }) + }); |