{"version":3,"file":"js/decidim_comments-e2c8685fbe72db906c3e.js","mappings":"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","sources":["webpack://decidim-lite/../../usr/local/bundle/bundler/gems/decidim-90dc58727e4b/decidim-core/app/packs/src/decidim/change_report_form_behavior.js","webpack://decidim-lite/../../usr/local/bundle/bundler/gems/decidim-90dc58727e4b/decidim-comments/app/packs/src/decidim/comments/comments.component.js","webpack://decidim-lite/../../usr/local/bundle/bundler/gems/decidim-90dc58727e4b/decidim-comments/app/packs/src/decidim/comments/comments.js"],"sourcesContent":["const changeLabel = function(input) {\n let submit = input.closest(\"form\").querySelector(\"button[type=submit]\");\n if (submit.querySelector(\"span\") !== null) {\n submit = submit.querySelector(\"span\");\n }\n if (input.checked === true) {\n submit.innerHTML = input.dataset.labelAction;\n } else {\n submit.innerHTML = input.dataset.labelReport;\n }\n};\nexport default function changeReportFormBehavior(container) {\n container.querySelectorAll(\"[data-hide=true]\").forEach((checkbox) => {\n checkbox.addEventListener(\"change\", (event) => {\n changeLabel(event.target);\n });\n });\n container.querySelectorAll(\"[data-block=true]\").forEach((checkbox) => {\n checkbox.addEventListener(\"change\", (event) => {\n changeLabel(event.target);\n let blockAndHide = event.target.closest(\"form\").querySelector(\"#block_and_hide\");\n blockAndHide.classList.toggle(\"invisible\");\n });\n });\n}\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nconst $ = window.$;\nimport changeReportFormBehavior from \"src/decidim/change_report_form_behavior\";\nexport default class CommentsComponent {\n constructor($element, config) {\n this.$element = $element;\n this.commentableGid = config.commentableGid;\n this.commentsUrl = config.commentsUrl;\n this.rootDepth = config.rootDepth;\n this.order = config.order;\n this.lastCommentId = config.lastCommentId;\n this.pollingInterval = config.pollingInterval || 15e3;\n this.singleComment = config.singleComment;\n this.toggleTranslations = config.toggleTranslations;\n this.id = this.$element.attr(\"id\") || this._getUID();\n this.mounted = false;\n }\n /**\n * Handles the logic for mounting the component\n * @public\n * @returns {Void} - Returns nothing\n */\n mountComponent() {\n if (this.$element.length > 0 && !this.mounted) {\n this.mounted = true;\n this._initializeComments(this.$element);\n if (!this.singleComment) {\n $(\".add-comment textarea\", this.$element).prop(\"disabled\", true);\n this._fetchComments(() => {\n $(\".add-comment textarea\", this.$element).prop(\"disabled\", false);\n });\n }\n }\n }\n /**\n * Handles the logic for unmounting the component\n * @public\n * @returns {Void} - Returns nothing\n */\n unmountComponent() {\n if (this.mounted) {\n this.mounted = false;\n this._stopPolling();\n $(\".add-comment [data-opinion-toggle] button\", this.$element).off(\"click.decidim-comments\");\n $(\".add-comment textarea\", this.$element).off(\"input.decidim-comments\");\n $(\".add-comment form\", this.$element).off(\"submit.decidim-comments\");\n $(\".add-comment textarea\", this.$element).each((_i, el) => el.removeEventListener(\"emoji.added\", this._onTextInput));\n }\n }\n /**\n * Adds a new thread to the comments section.\n * @public\n * @param {String} threadHtml - The HTML content for the thread.\n * @param {Boolean} fromCurrentUser - A boolean indicating whether the user\n * herself was the author of the new thread. Defaults to false.\n * @returns {Void} - Returns nothing\n */\n addThread(threadHtml, fromCurrentUser = false) {\n const $parent = $(\".comments:first\", this.$element);\n const $comment = $(threadHtml);\n const $threads = $(\".comment-threads\", this.$element);\n this._addComment($threads, $comment);\n this._finalizeCommentCreation($parent, fromCurrentUser);\n }\n /**\n * Adds a new reply to an existing comment.\n * @public\n * @param {Number} commentId - The ID of the comment for which to add the\n * reply to.\n * @param {String} replyHtml - The HTML content for the reply.\n * @param {Boolean} fromCurrentUser - A boolean indicating whether the user\n * herself was the author of the new reply. Defaults to false.\n * @returns {Void} - Returns nothing\n */\n addReply(commentId, replyHtml, fromCurrentUser = false) {\n const $parent = $(`#comment_${commentId}`);\n const $comment = $(replyHtml);\n const $replies = $(`#comment-${commentId}-replies`);\n this._addComment($replies, $comment);\n $replies.addClass(\"comment-reply\");\n this._finalizeCommentCreation($parent, fromCurrentUser);\n }\n /**\n * Generates a unique identifier for the form.\n * @private\n * @returns {String} - Returns a unique identifier\n */\n _getUID() {\n return `comments-${(/* @__PURE__ */ new Date()).setUTCMilliseconds()}-${Math.floor(Math.random() * 1e7)}`;\n }\n /**\n * Initializes the comments for the given parent element.\n * @private\n * @param {jQuery} $parent The parent element to initialize.\n * @returns {Void} - Returns nothing\n */\n _initializeComments($parent) {\n $(\".add-comment\", $parent).each((_i, el) => {\n const $add = $(el);\n const $form = $(\"form\", $add);\n const $opinionButtons = $(\"[data-opinion-toggle] button\", $add);\n const $text = $(\"textarea\", $form);\n $opinionButtons.on(\"click.decidim-comments\", this._onToggleOpinion);\n $text.on(\"input.decidim-comments\", this._onTextInput);\n $(document).trigger(\"attach-mentions-element\", [$text.get(0)]);\n $form.on(\"submit.decidim-comments\", () => {\n const $submit = $(\"button[type='submit']\", $form);\n $submit.attr(\"disabled\", \"disabled\");\n this._stopPolling();\n });\n document.querySelectorAll(\".new_report\").forEach((container) => changeReportFormBehavior(container));\n if ($text.length && $text.get(0) !== null) {\n $text.get(0).addEventListener(\"emoji.added\", this._onTextInput);\n }\n });\n }\n /**\n * Adds the given comment element to the given target element and\n * initializes it.\n * @private\n * @param {jQuery} $target - The target element to add the comment to.\n * @param {jQuery} $container - The comment container element to add.\n * @returns {Void} - Returns nothing\n */\n _addComment($target, $container) {\n let $comment = $(\".comment\", $container);\n if ($comment.length < 1) {\n $comment = $container;\n }\n this.lastCommentId = parseInt($comment.data(\"comment-id\"), 10);\n $target.append($container);\n this._initializeComments($container);\n document.dispatchEvent(new CustomEvent(\"comments:loaded\", { detail: { commentsIds: [this.lastCommentId] } }));\n }\n /**\n * Finalizes the new comment creation after the comment adding finishes\n * successfully.\n * @private\n * @param {jQuery} $parent - The parent comment element to finalize.\n * @param {Boolean} fromCurrentUser - A boolean indicating whether the user\n * herself was the author of the new comment.\n * @returns {Void} - Returns nothing\n */\n _finalizeCommentCreation($parent, fromCurrentUser) {\n if (fromCurrentUser) {\n const $add = $(\".add-comment\", $parent);\n $(\"textarea\", $add).each((_i, text) => {\n const $text = $(text);\n $text.val(\"\");\n const characterCounter = $text.data(\"remaining-characters-counter\");\n if (characterCounter) {\n characterCounter.handleInput();\n characterCounter.updateStatus();\n }\n });\n }\n this._pollComments();\n }\n /**\n * Sets a timeout to poll new comments.\n * @private\n * @returns {Void} - Returns nothing\n */\n _pollComments() {\n this._stopPolling();\n this.pollTimeout = setTimeout(() => {\n this._fetchComments();\n }, this.pollingInterval);\n }\n /**\n * Sends an ajax request based on current\n * params to get comments for the component\n * @private\n * @param {Function} successCallback A callback that is called after a\n * successful fetch\n * @returns {Void} - Returns nothing\n */\n _fetchComments(successCallback = null) {\n Rails.ajax({\n url: this.commentsUrl,\n type: \"GET\",\n data: new URLSearchParams(__spreadValues(__spreadValues({\n \"commentable_gid\": this.commentableGid,\n \"root_depth\": this.rootDepth,\n \"order\": this.order\n }, this.toggleTranslations && { \"toggle_translations\": this.toggleTranslations }), this.lastCommentId && { \"after\": this.lastCommentId })),\n success: () => {\n if (successCallback) {\n successCallback();\n }\n this._pollComments();\n }\n });\n }\n /**\n * Stops polling for new comments.\n * @private\n * @returns {Void} - Returns nothing\n */\n _stopPolling() {\n if (this.pollTimeout) {\n clearTimeout(this.pollTimeout);\n }\n }\n /**\n * Sets the loading comments element visible in the view.\n * @private\n * @returns {Void} - Returns nothing\n */\n _setLoading() {\n const $container = $(\"> #comments\", this.$element);\n $(\"> .comments\", $container).addClass(\"hidden\");\n $(\"> .loading-comments\", $container).removeClass(\"hidden\");\n }\n /**\n * Event listener for the ordering links.\n * @private\n * @returns {Void} - Returns nothing\n */\n _onInitOrder() {\n this._stopPolling();\n this._setLoading();\n }\n /**\n * Event listener for the opinion toggle buttons.\n * @private\n * @param {Event} ev - The event object.\n * @returns {Void} - Returns nothing\n */\n _onToggleOpinion(ev) {\n let $btn = $(ev.target);\n if (!$btn.is(\"button\")) {\n $btn = $btn.parents(\"button\");\n }\n const $add = $btn.closest(\".add-comment\");\n const $form = $(\"form\", $add);\n const $opinionButtons = $(\"[data-opinion-toggle] button\", $add);\n const $selectedState = $(\"[data-opinion-toggle] .selected-state\", $add);\n const $alignment = $(\".alignment-input\", $form);\n $opinionButtons.removeClass(\"is-active\").attr(\"aria-pressed\", \"false\");\n $btn.addClass(\"is-active\").attr(\"aria-pressed\", \"true\");\n if ($btn.data(\"toggleOk\")) {\n $alignment.val(1);\n } else if ($btn.data(\"toggleMeh\")) {\n $alignment.val(0);\n } else if ($btn.data(\"toggleKo\")) {\n $alignment.val(-1);\n }\n $selectedState.text($btn.data(\"selected-label\"));\n }\n /**\n * Event listener for the comment field text input.\n * @private\n * @param {Event} ev - The event object.\n * @returns {Void} - Returns nothing\n */\n _onTextInput(ev) {\n const $text = $(ev.target);\n const $add = $text.closest(\".add-comment\");\n const $form = $(\"form\", $add);\n const $submit = $(\"button[type='submit']\", $form);\n if ($text.val().length > 0) {\n $submit.removeAttr(\"disabled\");\n } else {\n $submit.attr(\"disabled\", \"disabled\");\n }\n }\n}\n","import CommentsComponent from \"src/decidim/comments/comments.component\";\nwindow.Decidim.CommentsComponent = CommentsComponent;\nconst commentsInitializer = () => {\n $(\"[data-decidim-comments]\").each((_i, el) => {\n const $el = $(el);\n let comments = $(el).data(\"comments\");\n if (!comments) {\n comments = new CommentsComponent($el, $el.data(\"decidim-comments\"));\n }\n comments.mountComponent();\n $(el).data(\"comments\", comments);\n });\n};\n$(() => commentsInitializer());\n"],"names":["changeLabel","input","submit","changeReportFormBehavior","container","checkbox","event","__defProp","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","obj","key","value","__spreadValues","a","b","prop","CommentsComponent","$element","config","_i","el","threadHtml","fromCurrentUser","$parent","$comment","$threads","commentId","replyHtml","$replies","$add","$form","$opinionButtons","$text","$target","$container","text","characterCounter","successCallback","ev","$btn","$selectedState","$alignment","$submit","commentsInitializer","$el","comments"],"sourceRoot":""}