Skip to content

Commit 97dc80d

Browse files
author
committed
Deployed b34fe71 with MkDocs version: 1.6.1
1 parent c21d9f1 commit 97dc80d

1 file changed

Lines changed: 29 additions & 3 deletions

File tree

assets/topbar.js

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,32 @@
266266
});
267267
}
268268

269+
function initFeedbackForm() {
270+
var feedback = document.forms.feedback;
271+
if (typeof feedback === 'undefined') return;
272+
273+
feedback.hidden = false;
274+
feedback.addEventListener('submit', function (ev) {
275+
ev.preventDefault();
276+
277+
var page = document.location.pathname;
278+
var data = ev.submitter.getAttribute('data-md-value');
279+
280+
if (typeof gtag !== 'undefined') {
281+
gtag('event', 'feedback', { page: page, data: data });
282+
}
283+
284+
feedback.firstElementChild.disabled = true;
285+
286+
var note = feedback.querySelector(".md-feedback__note [data-md-value='" + data + "']");
287+
if (note) note.hidden = false;
288+
289+
rewriteFeedbackLink();
290+
});
291+
292+
rewriteFeedbackLink();
293+
}
294+
269295
/* Hide Material's built-in header controls immediately to prevent a flash
270296
where logo/palette appear before the topbar is painted. */
271297
ensureStyle();
@@ -281,16 +307,16 @@
281307
applyScheme(effectiveScheme(getPreference()));
282308

283309
if (document.readyState === 'loading') {
284-
document.addEventListener('DOMContentLoaded', function () { inject(); rewriteFeedbackLink(); });
310+
document.addEventListener('DOMContentLoaded', function () { inject(); initFeedbackForm(); });
285311
} else {
286312
inject();
287-
rewriteFeedbackLink();
313+
initFeedbackForm();
288314
}
289315

290316
/* Material instant navigation — fires after each page swap. */
291317
if (typeof document$ !== 'undefined') {
292318
document$.subscribe(inject);
293-
document$.subscribe(rewriteFeedbackLink);
319+
document$.subscribe(initFeedbackForm);
294320
}
295321
/* Fallback: browser history navigation */
296322
window.addEventListener('popstate', updateActiveLink);

0 commit comments

Comments
 (0)