{"version":3,"file":"comments-comments-app.js?v=3c3a1df2ae99059b8bf0","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/apps/comments/src/components/Moment.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/comments/src/components/Moment.vue","webpack://nextcloud/./apps/comments/src/components/Moment.vue?9b20","webpack:///nextcloud/apps/comments/src/components/Moment.vue?vue&type=template&id=57999be6&","webpack:///nextcloud/apps/comments/src/utils/davUtils.js","webpack:///nextcloud/apps/comments/src/utils/decodeHtmlEntities.js","webpack:///nextcloud/apps/comments/src/services/DavClient.js","webpack:///nextcloud/apps/comments/src/services/NewComment.js","webpack:///nextcloud/apps/comments/src/services/DeleteComment.js","webpack:///nextcloud/apps/comments/src/services/EditComment.js","webpack:///nextcloud/apps/comments/src/mixins/CommentMixin.js","webpack:///nextcloud/apps/comments/src/components/Comment.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/comments/src/components/Comment.vue","webpack://nextcloud/./apps/comments/src/components/Comment.vue?eb5a","webpack://nextcloud/./apps/comments/src/components/Comment.vue?7f26","webpack:///nextcloud/apps/comments/src/components/Comment.vue?vue&type=template&id=4feb191a&scoped=true&","webpack:///nextcloud/apps/comments/src/services/GetComments.js","webpack:///nextcloud/apps/comments/src/utils/cancelableRequest.js","webpack:///nextcloud/apps/comments/src/views/Comments.vue","webpack:///nextcloud/apps/comments/src/views/Comments.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/comments/src/views/Comments.vue?c216","webpack://nextcloud/./apps/comments/src/views/Comments.vue?f45b","webpack:///nextcloud/apps/comments/src/views/Comments.vue?vue&type=template&id=3311fcb9&scoped=true&","webpack:///nextcloud/apps/comments/src/services/CommentsInstance.js","webpack:///nextcloud/apps/comments/src/comments-app.js","webpack:///nextcloud/apps/comments/src/components/Comment.vue?vue&type=style&index=0&id=4feb191a&lang=scss&scoped=true&","webpack:///nextcloud/apps/comments/src/views/Comments.vue?vue&type=style&index=0&id=3311fcb9&lang=scss&scoped=true&","webpack:///nextcloud/node_modules/moment/locale|sync|/^\\.\\/.*$","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/amd define","webpack:///nextcloud/webpack/runtime/amd options","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Moment.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Moment.vue?vue&type=script&lang=js&\"","\n\n\n\t{{ formatted }}\n\n\n\n","import { render, staticRenderFns } from \"./Moment.vue?vue&type=template&id=57999be6&\"\nimport script from \"./Moment.vue?vue&type=script&lang=js&\"\nexport * from \"./Moment.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"live-relative-timestamp\",attrs:{\"data-timestamp\":_vm.timestamp * 1000,\"title\":_vm.title}},[_vm._v(_vm._s(_vm.formatted))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { generateRemoteUrl } from '@nextcloud/router'\n\nconst getRootPath = function() {\n\treturn generateRemoteUrl('dav/comments')\n}\n\nexport { getRootPath }\n","/**\n * @copyright Copyright (c) 2021 Christopher Ng \n *\n * @author Christopher Ng \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n/**\n * @param {any} value -\n * @param {any} passes -\n */\nexport function decodeHtmlEntities(value, passes = 1) {\n\tconst parser = new DOMParser()\n\tlet decoded = value\n\tfor (let i = 0; i < passes; i++) {\n\t\tdecoded = parser.parseFromString(decoded, 'text/html').documentElement.textContent\n\t}\n\treturn decoded\n}\n","/**\n * @copyright Copyright (c) 2021 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { createClient, getPatcher } from 'webdav'\nimport axios from '@nextcloud/axios'\n\nimport { getRootPath } from '../utils/davUtils'\n\n// Add this so the server knows it is an request from the browser\naxios.defaults.headers['X-Requested-With'] = 'XMLHttpRequest'\n\n// force our axios\nconst patcher = getPatcher()\npatcher.patch('request', axios)\n\n// init webdav client\nconst client = createClient(getRootPath())\n\nexport default client\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { getRootPath } from '../utils/davUtils'\nimport { decodeHtmlEntities } from '../utils/decodeHtmlEntities'\nimport axios from '@nextcloud/axios'\nimport client from './DavClient'\n\n/**\n * Retrieve the comments list\n *\n * @param {string} commentsType the ressource type\n * @param {number} ressourceId the ressource ID\n * @param {string} message the message\n * @return {object} the new comment\n */\nexport default async function(commentsType, ressourceId, message) {\n\tconst ressourcePath = ['', commentsType, ressourceId].join('/')\n\n\tconst response = await axios.post(getRootPath() + ressourcePath, {\n\t\tactorDisplayName: getCurrentUser().displayName,\n\t\tactorId: getCurrentUser().uid,\n\t\tactorType: 'users',\n\t\tcreationDateTime: (new Date()).toUTCString(),\n\t\tmessage,\n\t\tobjectType: 'files',\n\t\tverb: 'comment',\n\t})\n\n\t// Retrieve comment id from ressource location\n\tconst commentId = parseInt(response.headers['content-location'].split('/').pop())\n\tconst commentPath = ressourcePath + '/' + commentId\n\n\t// Fetch newly created comment data\n\tconst comment = await client.stat(commentPath, {\n\t\tdetails: true,\n\t})\n\n\tconst props = comment.data.props\n\t// Decode twice to handle potentially double-encoded entities\n\t// FIXME Remove this once https://github.com/nextcloud/server/issues/29306\n\t// is resolved\n\tprops.actorDisplayName = decodeHtmlEntities(props.actorDisplayName, 2)\n\tprops.message = decodeHtmlEntities(props.message, 2)\n\n\treturn comment.data\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport client from './DavClient'\n\n/**\n * Delete a comment\n *\n * @param {string} commentsType the ressource type\n * @param {number} ressourceId the ressource ID\n * @param {number} commentId the comment iD\n */\nexport default async function(commentsType, ressourceId, commentId) {\n\tconst commentPath = ['', commentsType, ressourceId, commentId].join('/')\n\n\t// Fetch newly created comment data\n\tawait client.deleteFile(commentPath)\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport client from './DavClient'\n\n/**\n * Edit an existing comment\n *\n * @param {string} commentsType the ressource type\n * @param {number} ressourceId the ressource ID\n * @param {number} commentId the comment iD\n * @param {string} message the message content\n */\nexport default async function(commentsType, ressourceId, commentId, message) {\n\tconst commentPath = ['', commentsType, ressourceId, commentId].join('/')\n\n\treturn await client.customRequest(commentPath, Object.assign({\n\t\tmethod: 'PROPPATCH',\n\t\tdata: `\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t${message}\n\t\t\t\t\n\t\t\t\n\t\t\t`,\n\t}))\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport NewComment from '../services/NewComment'\nimport DeleteComment from '../services/DeleteComment'\nimport EditComment from '../services/EditComment'\nimport { showError, showUndo, TOAST_UNDO_TIMEOUT } from '@nextcloud/dialogs'\n\nexport default {\n\tprops: {\n\t\tid: {\n\t\t\ttype: Number,\n\t\t\tdefault: null,\n\t\t},\n\t\tmessage: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tressourceId: {\n\t\t\ttype: [String, Number],\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tdeleted: false,\n\t\t\tediting: false,\n\t\t\tloading: false,\n\t\t}\n\t},\n\n\tmethods: {\n\t\t// EDITION\n\t\tonEdit() {\n\t\t\tthis.editing = true\n\t\t},\n\t\tonEditCancel() {\n\t\t\tthis.editing = false\n\t\t\t// Restore original value\n\t\t\tthis.updateLocalMessage(this.message)\n\t\t},\n\t\tasync onEditComment(message) {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tawait EditComment(this.commentsType, this.ressourceId, this.id, message)\n\t\t\t\tthis.logger.debug('Comment edited', { commentsType: this.commentsType, ressourceId: this.ressourceId, id: this.id, message })\n\t\t\t\tthis.$emit('update:message', message)\n\t\t\t\tthis.editing = false\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('comments', 'An error occurred while trying to edit the comment'))\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\n\t\t// DELETION\n\t\tonDeleteWithUndo() {\n\t\t\tthis.deleted = true\n\t\t\tconst timeOutDelete = setTimeout(this.onDelete, TOAST_UNDO_TIMEOUT)\n\t\t\tshowUndo(t('comments', 'Comment deleted'), () => {\n\t\t\t\tclearTimeout(timeOutDelete)\n\t\t\t\tthis.deleted = false\n\t\t\t})\n\t\t},\n\t\tasync onDelete() {\n\t\t\ttry {\n\t\t\t\tawait DeleteComment(this.commentsType, this.ressourceId, this.id)\n\t\t\t\tthis.logger.debug('Comment deleted', { commentsType: this.commentsType, ressourceId: this.ressourceId, id: this.id })\n\t\t\t\tthis.$emit('delete', this.id)\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('comments', 'An error occurred while trying to delete the comment'))\n\t\t\t\tconsole.error(error)\n\t\t\t\tthis.deleted = false\n\t\t\t}\n\t\t},\n\n\t\t// CREATION\n\t\tasync onNewComment(message) {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tconst newComment = await NewComment(this.commentsType, this.ressourceId, message)\n\t\t\t\tthis.logger.debug('New comment posted', { commentsType: this.commentsType, ressourceId: this.ressourceId, newComment })\n\t\t\t\tthis.$emit('new', newComment)\n\n\t\t\t\t// Clear old content\n\t\t\t\tthis.$emit('update:message', '')\n\t\t\t\tthis.localMessage = ''\n\t\t\t} catch (error) {\n\t\t\t\tshowError(t('comments', 'An error occurred while trying to create the comment'))\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t},\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=script&lang=js&\"","\n\n\t
\n\n\n\n\n\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=style&index=0&id=4feb191a&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=style&index=0&id=4feb191a&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Comment.vue?vue&type=template&id=4feb191a&scoped=true&\"\nimport script from \"./Comment.vue?vue&type=script&lang=js&\"\nexport * from \"./Comment.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Comment.vue?vue&type=style&index=0&id=4feb191a&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4feb191a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.deleted),expression:\"!deleted\"}],staticClass:\"comment\",class:{'comment--loading': _vm.loading}},[_c('div',{staticClass:\"comment__header\"},[_c('NcAvatar',{staticClass:\"comment__avatar\",attrs:{\"display-name\":_vm.actorDisplayName,\"user\":_vm.actorId,\"size\":32}}),_vm._v(\" \"),_c('span',{staticClass:\"comment__author\"},[_vm._v(_vm._s(_vm.actorDisplayName))]),_vm._v(\" \"),(_vm.isOwnComment && _vm.id && !_vm.loading)?_c('NcActions',{staticClass:\"comment__actions\"},[(!_vm.editing)?[_c('NcActionButton',{attrs:{\"close-after-click\":true,\"icon\":\"icon-rename\"},on:{\"click\":_vm.onEdit}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', 'Edit comment'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcActionSeparator'),_vm._v(\" \"),_c('NcActionButton',{attrs:{\"close-after-click\":true,\"icon\":\"icon-delete\"},on:{\"click\":_vm.onDeleteWithUndo}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', 'Delete comment'))+\"\\n\\t\\t\\t\\t\")])]:_c('NcActionButton',{attrs:{\"icon\":\"icon-close\"},on:{\"click\":_vm.onEditCancel}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', 'Cancel edit'))+\"\\n\\t\\t\\t\")])],2):_vm._e(),_vm._v(\" \"),(_vm.id && _vm.loading)?_c('div',{staticClass:\"comment_loading icon-loading-small\"}):(_vm.creationDateTime)?_c('Moment',{staticClass:\"comment__timestamp\",attrs:{\"timestamp\":_vm.timestamp}}):_vm._e()],1),_vm._v(\" \"),(_vm.editor || _vm.editing)?_c('div',{staticClass:\"comment__editor\"},[_c('NcRichContenteditable',{ref:\"editor\",attrs:{\"auto-complete\":_vm.autoComplete,\"contenteditable\":!_vm.loading,\"value\":_vm.localMessage,\"user-data\":_vm.userData},on:{\"update:value\":_vm.updateLocalMessage,\"submit\":_vm.onSubmit}}),_vm._v(\" \"),_c('NcButton',{staticClass:\"comment__submit\",attrs:{\"type\":\"tertiary-no-background\",\"native-type\":\"submit\",\"aria-label\":_vm.t('comments', 'Post comment'),\"disabled\":_vm.isEmptyMessage},on:{\"click\":_vm.onSubmit},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.loading)?_c('span',{staticClass:\"icon-loading-small\"}):_c('ArrowRight',{attrs:{\"size\":20}})]},proxy:true}],null,false,2357784758)})],1):_c('div',{staticClass:\"comment__message\",class:{'comment__message--expanded': _vm.expanded},domProps:{\"innerHTML\":_vm._s(_vm.renderedContent)},on:{\"click\":_vm.onExpand}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { parseXML, prepareFileFromProps } from 'webdav/dist/node/tools/dav'\nimport { processResponsePayload } from 'webdav/dist/node/response'\nimport { decodeHtmlEntities } from '../utils/decodeHtmlEntities'\nimport client from './DavClient'\n\nexport const DEFAULT_LIMIT = 20\n/**\n * Retrieve the comments list\n *\n * @param {object} data destructuring object\n * @param {string} data.commentsType the ressource type\n * @param {number} data.ressourceId the ressource ID\n * @param {object} [options] optional options for axios\n * @return {object[]} the comments list\n */\nexport default async function({ commentsType, ressourceId }, options = {}) {\n\tlet response = null\n\tconst ressourcePath = ['', commentsType, ressourceId].join('/')\n\n\treturn await client.customRequest(ressourcePath, Object.assign({\n\t\tmethod: 'REPORT',\n\t\tdata: `\n\t\t\t\n\t\t\t\t${DEFAULT_LIMIT}\n\t\t\t\t${options.offset || 0}\n\t\t\t`,\n\t}, options))\n\t\t// See example on how it's done normally\n\t\t// https://github.com/perry-mitchell/webdav-client/blob/9de2da4a2599e06bd86c2778145b7ade39fe0b3c/source/interface/stat.js#L19\n\t\t// Waiting for proper REPORT integration https://github.com/perry-mitchell/webdav-client/issues/207\n\t\t.then(res => {\n\t\t\tresponse = res\n\t\t\treturn res.data\n\t\t})\n\t\t.then(parseXML)\n\t\t.then(xml => processMultistatus(xml, true))\n\t\t.then(comments => processResponsePayload(response, comments, true))\n\t\t.then(response => response.data)\n}\n\n// https://github.com/perry-mitchell/webdav-client/blob/9de2da4a2599e06bd86c2778145b7ade39fe0b3c/source/interface/directoryContents.js#L32\n/**\n * @param {any} result -\n * @param {any} isDetailed -\n */\nfunction processMultistatus(result, isDetailed = false) {\n\t// Extract the response items (directory contents)\n\tconst {\n\t\tmultistatus: { response: responseItems },\n\t} = result\n\treturn responseItems.map(item => {\n\t\t// Each item should contain a stat object\n\t\tconst {\n\t\t\tpropstat: { prop: props },\n\t\t} = item\n\t\t// Decode HTML entities\n\t\tconst decodedProps = {\n\t\t\t...props,\n\t\t\t// Decode twice to handle potentially double-encoded entities\n\t\t\t// FIXME Remove this once https://github.com/nextcloud/server/issues/29306 is resolved\n\t\t\tactorDisplayName: decodeHtmlEntities(props.actorDisplayName, 2),\n\t\t\tmessage: decodeHtmlEntities(props.message, 2),\n\t\t}\n\t\treturn prepareFileFromProps(decodedProps, decodedProps.id.toString(), isDetailed)\n\t})\n}\n","/**\n * @copyright Copyright (c) 2020 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport axios from '@nextcloud/axios'\n\n/**\n * Create a cancel token\n *\n * @return {import('axios').CancelTokenSource}\n */\nconst createCancelToken = () => axios.CancelToken.source()\n\n/**\n * Creates a cancelable axios 'request object'.\n *\n * @param {Function} request the axios promise request\n * @return {object}\n */\nconst cancelableRequest = function(request) {\n\t/**\n\t * Generate an axios cancel token\n\t */\n\tconst cancelToken = createCancelToken()\n\n\t/**\n\t * Execute the request\n\t *\n\t * @param {string} url the url to send the request to\n\t * @param {object} [options] optional config for the request\n\t */\n\tconst fetch = async function(url, options) {\n\t\treturn request(\n\t\t\turl,\n\t\t\tObject.assign({ cancelToken: cancelToken.token }, options)\n\t\t)\n\t}\n\n\treturn {\n\t\trequest: fetch,\n\t\tcancel: cancelToken.cancel,\n\t}\n}\n\nexport default cancelableRequest\n","\n\n\n\t