diff --git a/js/feedback/index.js b/js/feedback/index.js index 43255531c5..bbcd606fb4 100644 --- a/js/feedback/index.js +++ b/js/feedback/index.js @@ -2,27 +2,33 @@ const COMPONENT_NAME = 'data-feedback' const COMPONENT_SELECTOR = `[${COMPONENT_NAME}]` const HELPFUL_BUTTON_SELECTOR = `[data-ref="feedback[helpful]"]` const UNHELPFUL_BUTTON_SELECTOR = `[data-ref="feedback[unhelpful]"]` - -const DEFAULTS = { - message: { - success: 'Thanks for your feedback!' - } -} +const CONTENT_SELECTOR = `[data-ref="feedback[content]"]` +const ACTIVE_CLASS = 'data-active-class' export default function () { const components = document.querySelectorAll(COMPONENT_SELECTOR) for (let i = 0; i < components.length; i++) { - const options = JSON.parse(components[i].getAttribute(COMPONENT_NAME) || '{}') - const settings = Object.assign({}, DEFAULTS, options) - const helpfulButton = components[i].querySelector(HELPFUL_BUTTON_SELECTOR) const unhelpfulButton = components[i].querySelector(UNHELPFUL_BUTTON_SELECTOR) + const content = components[i].querySelector(CONTENT_SELECTOR) + + const clickHandler = () => { + if (content) { + content.hidden = false + } + + helpfulButton.disabled = true + unhelpfulButton.disabled = true + } helpfulButton.addEventListener('click', (event) => { event.preventDefault() - components[i].innerText = settings.message.success + const activeClass = helpfulButton.getAttribute(ACTIVE_CLASS) + helpfulButton.classList.add(activeClass) + + clickHandler() window.analytics.track('Docs Rated', { title: '{{title}}', @@ -34,7 +40,10 @@ export default function () { unhelpfulButton.addEventListener('click', (event) => { event.preventDefault() - components[i].innerText = settings.message.success + const activeClass = unhelpfulButton.getAttribute(ACTIVE_CLASS) + unhelpfulButton.classList.add(activeClass) + + clickHandler() window.analytics.track('Docs Rated', { title: '{{title}}', diff --git a/src/_includes/components/feedback.html b/src/_includes/components/feedback.html index ce4739fc24..47874801f8 100644 --- a/src/_includes/components/feedback.html +++ b/src/_includes/components/feedback.html @@ -18,12 +18,12 @@