Skip to content

Commit 33d81eb

Browse files
fix: add auto-trigger cancel event
Some plugins needs to trigger the survey only when some actions are done.
1 parent 9df988f commit 33d81eb

File tree

3 files changed

+24
-7
lines changed

3 files changed

+24
-7
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<?php return array('dependencies' => array(), 'version' => '2dcf33646933b21e9f18');
1+
<?php return array('dependencies' => array(), 'version' => '92a432317d1433f31603');

assets/js/build/survey/survey_deps.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

assets/js/src/survey_deps.js

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,38 @@ import formbricks from "@formbricks/js";
77
document.addEventListener("DOMContentLoaded", () => {
88
window.tsdk_formbricks = {
99
init: (args) => {
10-
args = {
10+
if (typeof args !== 'object' || args === null) {
11+
args = {};
12+
}
13+
14+
const mergedArgs = {
15+
...window.tsdk_survey_data,
1116
...args,
12-
...window.tsdk_survey_data
17+
attributes: {
18+
...(window.tsdk_survey_data.attributes ?? {}),
19+
...(args.attributes ?? {})
20+
}
1321
}
14-
15-
formbricks?.init(args)
22+
23+
formbricks?.init(mergedArgs)
1624
}
1725
};
1826

1927
const isNumeric = (value) => !isNaN(value) && typeof value !== "boolean";
2028

29+
let timer = null;
30+
2131
// Auto-trigger if the survey use the new format delivered with SDK.
2232
if ( isNumeric( window.tsdk_survey_data?.attributes?.install_days_number ) ) {
23-
window.tsdk_formbricks?.init({});
33+
timer = setTimeout(() => {
34+
window.tsdk_formbricks?.init();
35+
}, 350);
2436
}
37+
38+
// Cancel auto-trigger if a plugin request manual control.
39+
window.addEventListener( 'themeisle:survey:trigger:cancel', () => {
40+
clearTimeout( timer );
41+
})
2542

2643
window.dispatchEvent(new Event("themeisle:survey:loaded"));
2744
});

0 commit comments

Comments
 (0)