Skip to content

Commit 7381939

Browse files
authored
Update javascript loading for feedback (#3495)
1 parent 2bcbf6b commit 7381939

File tree

2 files changed

+65
-62
lines changed

2 files changed

+65
-62
lines changed

assets/js/index.js

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,3 +119,68 @@ async function initAndClick() {
119119
}
120120

121121
// Userflow END
122+
123+
// Feedback form START
124+
const yesButton = document.querySelector('.feedback--answer-yes');
125+
const noButton = document.querySelector('.feedback--answer-no');
126+
const yesResponse = document.querySelector('.feedback--response-yes');
127+
const noResponse = document.querySelector('.feedback--response-no');
128+
const yesFeedback = document.querySelector('#yes-feedback-text');
129+
const noFeedback = document.querySelector('#no-feedback-text');
130+
const yesSubmitButton = document.querySelector('#yesSubmitButton');
131+
const noSubmitButton = document.querySelector('#noSubmitButton');
132+
const tyResponse = document.querySelector('.feedback-ty');
133+
const feedbackPrompt = document.querySelector('.feedback--prompt')
134+
if (yesButton) {
135+
const sendFeedback = (value) => {
136+
if (typeof gtag !== 'function') return;
137+
const args = {
138+
event_category: 'docs_helpful',
139+
event_label: window.location.pathname,
140+
value: value
141+
};
142+
gtag('event', 'click', args);
143+
};
144+
async function sendFeedbackText (value, text) {
145+
async function logJSONData(data) {
146+
return fetch("https://feedback-43tn7xos3a-uc.a.run.app", {
147+
method: "POST",
148+
headers: {
149+
"Content-Type": "application/json",
150+
},
151+
mode: "cors",
152+
credentials: "omit",
153+
body: JSON.stringify(data)
154+
});
155+
}
156+
let data = {
157+
value: value,
158+
feedback: text,
159+
url: "{{.Permalink}}"
160+
};
161+
let res = await logJSONData(data);
162+
};
163+
yesButton.addEventListener('click', () => {
164+
feedbackPrompt.remove();
165+
yesResponse.classList.add('feedback--response__visible');
166+
sendFeedback(1);
167+
sendFeedbackText(1, "Helpful")
168+
});
169+
noButton.addEventListener('click', () => {
170+
feedbackPrompt.remove();
171+
noResponse.classList.add('feedback--response__visible');
172+
sendFeedback(0);
173+
sendFeedbackText(0, "Not Helpful")
174+
});
175+
yesSubmitButton.addEventListener('click', () => {
176+
yesResponse.remove();
177+
tyResponse.classList.add('feedback--response__visible');
178+
sendFeedbackText(1, yesFeedback.value);
179+
});
180+
noSubmitButton.addEventListener('click', () => {
181+
noResponse.remove();
182+
tyResponse.classList.add('feedback--response__visible');
183+
sendFeedbackText(0, noFeedback.value);
184+
});
185+
}
186+
// Feedback form END

layouts/partials/feedback.html

Lines changed: 0 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -22,65 +22,3 @@
2222
</div>
2323
<div class="feedback--response feedback-ty"><p>Thank you!</p></div>
2424
</div>
25-
<script>
26-
const yesButton = document.querySelector('.feedback--answer-yes');
27-
const noButton = document.querySelector('.feedback--answer-no');
28-
const yesResponse = document.querySelector('.feedback--response-yes');
29-
const noResponse = document.querySelector('.feedback--response-no');
30-
const yesFeedback = document.querySelector('#yes-feedback-text');
31-
const noFeedback = document.querySelector('#no-feedback-text');
32-
const yesSubmitButton = document.querySelector('#yesSubmitButton');
33-
const noSubmitButton = document.querySelector('#noSubmitButton');
34-
const tyResponse = document.querySelector('.feedback-ty');
35-
const feedbackPrompt = document.querySelector('.feedback--prompt')
36-
const sendFeedback = (value) => {
37-
if (typeof gtag !== 'function') return;
38-
const args = {
39-
event_category: 'docs_helpful',
40-
event_label: window.location.pathname,
41-
value: value
42-
};
43-
gtag('event', 'click', args);
44-
};
45-
async function sendFeedbackText (value, text) {
46-
async function logJSONData(data) {
47-
return fetch("https://feedback-43tn7xos3a-uc.a.run.app", {
48-
method: "POST",
49-
headers: {
50-
"Content-Type": "application/json",
51-
},
52-
mode: "cors",
53-
credentials: "omit",
54-
body: JSON.stringify(data)
55-
});
56-
}
57-
let data = {
58-
value: value,
59-
feedback: text,
60-
url: "{{.Permalink}}"
61-
};
62-
let res = await logJSONData(data);
63-
};
64-
yesButton.addEventListener('click', () => {
65-
feedbackPrompt.remove();
66-
yesResponse.classList.add('feedback--response__visible');
67-
sendFeedback(1);
68-
sendFeedbackText(1, "Helpful")
69-
});
70-
noButton.addEventListener('click', () => {
71-
feedbackPrompt.remove();
72-
noResponse.classList.add('feedback--response__visible');
73-
sendFeedback(0);
74-
sendFeedbackText(0, "Not Helpful")
75-
});
76-
yesSubmitButton.addEventListener('click', () => {
77-
yesResponse.remove();
78-
tyResponse.classList.add('feedback--response__visible');
79-
sendFeedbackText(1, yesFeedback.value);
80-
});
81-
noSubmitButton.addEventListener('click', () => {
82-
noResponse.remove();
83-
tyResponse.classList.add('feedback--response__visible');
84-
sendFeedbackText(0, noFeedback.value);
85-
});
86-
</script>

0 commit comments

Comments
 (0)