{"version":3,"sources":["replies.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"reply-to.js","sourcesContent":["(function () {\n var MeerkatReply = {\n Endpoints: Object.freeze({\n SubmitComment: '/!/Meerkat/socialize'\n }),\n closeOnCancel: true,\n replyOpen: null,\n canceled: null,\n submit: function (event) {\n \n },\n getOpenReplyForm: function () {\n var forms = document.querySelectorAll('form[data-meerkat-form=\"comment-reply-form\"]');\n\n return forms[forms.length - 1];\n }\n };\n var MeerkatForms = {\n data: {\n ReplyForm: null,\n Extend: null\n },\n findClosest: function (el, selector) {\n var matchesFn;\n\n ['matches','webkitMatchesSelector','mozMatchesSelector','msMatchesSelector','oMatchesSelector'].some(function(fn) {\n if (typeof document.body[fn] == 'function') {\n matchesFn = fn;\n return true;\n }\n return false;\n })\n\n var parent;\n\n while (el) {\n parent = el.parentElement;\n if (parent && parent[matchesFn](selector)) {\n return parent;\n }\n el = parent;\n }\n\n return null;\n },\n getReplyForm: function () {\n var form = document.querySelectorAll('[data-meerkat-form=\"comment-reply-form\"]');\n\n if (form.length == 0) {\n form = document.querySelectorAll('[data-meerkat-form=\"comment-form\"]');\n }\n\n if (form.length > 0) {\n this.data.ReplyForm = form[0].cloneNode(true);\n }\n\n },\n makeReplyInput: function (replyingTo) {\n var replyInput = document.createElement('input');\n replyInput.type = 'hidden';\n replyInput.value = replyingTo;\n replyInput.name = 'ids';\n\n return replyInput;\n },\n addEventListeners: function () {\n var _this = this;\n var replyLinks = document.querySelectorAll('[data-meerkat-form=\"reply\"]');\n\n replyLinks.forEach(function (el) {\n el.addEventListener('click', function (event) {\n var replyingTo = event.target.getAttribute('data-meerkat-reply-to');\n\n _this.data.ReplyForm.appendChild(_this.makeReplyInput(replyingTo));\n _this.data.ReplyForm.addEventListener('submit', _this.data.Extend.submit, false);\n\n if (typeof MeerkatForms.data.Extend.replyOpen !== 'undefined' && MeerkatForms.data.Extend.replyOpen !== null) {\n MeerkatForms.data.Extend.replyOpen(_this.data.ReplyForm);\n }\n \n el.parentNode.insertBefore(_this.data.ReplyForm, el.nextSibling);\n _this.addCancelReplyListeners();\n event.preventDefault();\n });\n });\n },\n replyHandler: function (event) {\n var meerkatForm = MeerkatForms.findClosest(event.target, '[data-meerkat-form]');\n\n if (typeof meerkatForm !== 'undefined' && meerkatForm !== null) {\n \n var replyingTo = meerkatForm.querySelectorAll('[name=ids]')[0].value;\n\n if (typeof MeerkatForms.data.Extend.canceled !== 'undefined' && MeerkatForms.data.Extend.canceled !== null) {\n MeerkatForms.data.Extend.canceled(replyingTo, meerkatForm);\n }\n\n if (MeerkatForms.data.Extend.closeOnCancel) {\n this.removeEventListener('click', MeerkatForms.replyHandler);\n meerkatForm.remove();\n }\n }\n\n event.preventDefault();\n },\n addCancelReplyListeners: function () {\n var _this = this;\n var cancelLinks = document.querySelectorAll('[data-meerkat-form=\"cancel-reply\"]');\n\n cancelLinks.forEach(function (el) {\n el.addEventListener('click', _this.replyHandler);\n });\n },\n init: function () {\n this.data.Extend = MeerkatReply;\n this.getReplyForm();\n this.addEventListeners();\n window.MeerkatReply = this.data.Extend;\n }\n };\n\n MeerkatForms.init();\n})();"]}