|
266 | 266 | }); |
267 | 267 | } |
268 | 268 |
|
| 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 | + |
269 | 295 | /* Hide Material's built-in header controls immediately to prevent a flash |
270 | 296 | where logo/palette appear before the topbar is painted. */ |
271 | 297 | ensureStyle(); |
|
281 | 307 | applyScheme(effectiveScheme(getPreference())); |
282 | 308 |
|
283 | 309 | if (document.readyState === 'loading') { |
284 | | - document.addEventListener('DOMContentLoaded', function () { inject(); rewriteFeedbackLink(); }); |
| 310 | + document.addEventListener('DOMContentLoaded', function () { inject(); initFeedbackForm(); }); |
285 | 311 | } else { |
286 | 312 | inject(); |
287 | | - rewriteFeedbackLink(); |
| 313 | + initFeedbackForm(); |
288 | 314 | } |
289 | 315 |
|
290 | 316 | /* Material instant navigation — fires after each page swap. */ |
291 | 317 | if (typeof document$ !== 'undefined') { |
292 | 318 | document$.subscribe(inject); |
293 | | - document$.subscribe(rewriteFeedbackLink); |
| 319 | + document$.subscribe(initFeedbackForm); |
294 | 320 | } |
295 | 321 | /* Fallback: browser history navigation */ |
296 | 322 | window.addEventListener('popstate', updateActiveLink); |
|
0 commit comments