{"version":3,"file":"comments-comments-app.js?v=5b148c84a6d449f90801","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?9d61","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.ts","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?75d6","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=13a1afc1&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/comments/src/views/Comments.vue?vue&type=style&index=0&id=9e9ed272&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 } from 'webdav'\nimport { getRootPath } from '../utils/davUtils.js'\nimport { getRequestToken } from '@nextcloud/auth'\n\n// init webdav client\nconst client = createClient(getRootPath(), {\n\theaders: {\n\t\t// Add this so the server knows it is an request from the browser\n\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t// Inject user auth\n\t\trequesttoken: getRequestToken() ?? '',\n\t},\n})\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.js'\nimport { decodeHtmlEntities } from '../utils/decodeHtmlEntities.js'\nimport axios from '@nextcloud/axios'\nimport client from './DavClient.js'\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.js'\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.js'\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.js'\nimport DeleteComment from '../services/DeleteComment.js'\nimport EditComment from '../services/EditComment.js'\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\t\t\n\t\t
\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=13a1afc1&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=13a1afc1&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=13a1afc1&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=13a1afc1&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 \"13a1afc1\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c(_vm.tag,{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.deleted),expression:\"!deleted\"}],tag:\"component\",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, type DAVResult, type FileStat } from 'webdav'\n\n// https://github.com/perry-mitchell/webdav-client/issues/339\nimport { processResponsePayload } from '../../../../node_modules/webdav/dist/node/response.js'\nimport { prepareFileFromProps } from '../../../../node_modules/webdav/dist/node/tools/dav.js'\nimport client from './DavClient.js'\n\nexport const DEFAULT_LIMIT = 20\n\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 * @param {number} [options.offset] the pagination offset\n * @return {object[]} the comments list\n */\nexport const getComments = async function({ commentsType, ressourceId }, options: { offset: number }) {\n\tconst ressourcePath = ['', commentsType, ressourceId].join('/')\n\n\tconst response = 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\n\tconst responseData = await response.text()\n\tconst result = await parseXML(responseData)\n\tconst stat = getDirectoryFiles(result, true)\n\treturn processResponsePayload(response, stat, true)\n}\n\n// https://github.com/perry-mitchell/webdav-client/blob/8d9694613c978ce7404e26a401c39a41f125f87f/source/operations/directoryContents.ts\nconst getDirectoryFiles = function(\n\tresult: DAVResult,\n\tisDetailed = false,\n): Array {\n\t// Extract the response items (directory contents)\n\tconst {\n\t\tmultistatus: { response: responseItems },\n\t} = result\n\n\t// Map all items to a consistent output structure (results)\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\n\t\treturn prepareFileFromProps(props, props.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\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\tconst controller = new AbortController()\n\tconst signal = controller.signal\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\tconst response = await request(\n\t\t\turl,\n\t\t\tObject.assign({ signal }, options)\n\t\t)\n\t\treturn response\n\t}\n\n\treturn {\n\t\trequest: fetch,\n\t\tabort: () => controller.abort(),\n\t}\n}\n\nexport default cancelableRequest\n","\n\n\n\t