{"version":3,"file":"comments-comments-app.js?v=95891bdaf2e53224fb05","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?135d","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?af45","webpack://nextcloud/./apps/comments/src/components/Comment.vue?7f26","webpack://nextcloud/./apps/comments/src/components/Comment.vue?d1f7","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?b460","webpack://nextcloud/./apps/comments/src/views/Comments.vue?f45b","webpack://nextcloud/./apps/comments/src/views/Comments.vue?0e41","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=9539c956&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/comments/src/views/Comments.vue?vue&type=style&index=0&id=3311fcb9&prod&lang=scss&scoped=true&","webpack:///nextcloud/node_modules/moment/locale|sync|/^\\.\\/.*$","webpack:///nextcloud/webpack/bootstrap","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 render(){var _vm=this,_c=_vm._self._c;return _c('span',{staticClass:\"live-relative-timestamp\",attrs:{\"data-timestamp\":_vm.timestamp * 1000,\"title\":_vm.title}},[_vm._v(_vm._s(_vm.formatted))])\n}\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=9539c956&prod&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=9539c956&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Comment.vue?vue&type=template&id=9539c956&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=9539c956&prod&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 \"9539c956\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;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__side\"},[_c('NcAvatar',{staticClass:\"comment__avatar\",attrs:{\"display-name\":_vm.actorDisplayName,\"user\":_vm.actorId,\"size\":32}})],1),_vm._v(\" \"),_c('div',{staticClass:\"comment__body\"},[_c('div',{staticClass:\"comment__header\"},[_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\\t\"+_vm._s(_vm.t('comments', 'Edit comment'))+\"\\n\\t\\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\\t\"+_vm._s(_vm.t('comments', 'Delete comment'))+\"\\n\\t\\t\\t\\t\\t\")])]:_c('NcActionButton',{attrs:{\"icon\":\"icon-close\"},on:{\"click\":_vm.onEditCancel}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('comments', 'Cancel edit'))+\"\\n\\t\\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}})])])\n}\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