summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorCarson Gross <carson@bigsky.software>2024-03-13 17:24:17 -0600
committerCarson Gross <carson@bigsky.software>2024-03-13 17:24:17 -0600
commit83e939a3709c8752a88c1349ce0894dee6f7bf6f (patch)
tree7c26f2856fe3edd4b4623044ef52f5b05a741374
parent6f4bcfb1bbb715a4aaf14ea2117f97f8096c9447 (diff)
parente780175736877e4571c661b784ccdf2fcde4f4d4 (diff)
downloadhtmx-83e939a3709c8752a88c1349ce0894dee6f7bf6f.tar.gz
htmx-83e939a3709c8752a88c1349ce0894dee6f7bf6f.zip
Merge remote-tracking branch 'origin/dev' into dev
-rw-r--r--src/htmx.d.ts8
-rw-r--r--test/core/regressions.js42
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)
+ })
+
});