1
|
{"version":3,"file":"files_versions-files_versions.js?v=8672ba42b29a83a0c0ba","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/apps/files_versions/src/utils/davClient.js","webpack:///nextcloud/apps/files_versions/src/utils/logger.js","webpack://nextcloud/./apps/files_versions/src/components/Version.vue?f787","webpack:///nextcloud/apps/files_versions/src/components/Version.vue","webpack:///nextcloud/apps/files_versions/src/components/Version.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/files_versions/src/components/Version.vue?91d2","webpack://nextcloud/./apps/files_versions/src/components/Version.vue?0a31","webpack:///nextcloud/apps/files_versions/src/views/VersionTab.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/files_versions/src/views/VersionTab.vue","webpack:///nextcloud/apps/files_versions/src/utils/versions.js","webpack:///nextcloud/apps/files_versions/src/utils/davRequest.js","webpack://nextcloud/./apps/files_versions/src/views/VersionTab.vue?d7ee","webpack://nextcloud/./apps/files_versions/src/views/VersionTab.vue?4309","webpack:///nextcloud/apps/files_versions/src/files_versions_tab.js","webpack:///nextcloud/apps/files_versions/src/components/Version.vue?vue&type=style&index=0&id=88ad2630&prod&scoped=true&lang=scss&","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 = (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((key) => (__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};","/**\n * @copyright 2022 Louis Chemineau <mlouis@chmn.me>\n *\n * @author Louis Chemineau <mlouis@chmn.me>\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 <http://www.gnu.org/licenses/>.\n */\n\nimport { createClient } from 'webdav'\nimport { generateRemoteUrl } from '@nextcloud/router'\nimport { getRequestToken } from '@nextcloud/auth'\n\nconst rootPath = 'dav'\n\n// init webdav client on default dav endpoint\nconst remote = generateRemoteUrl(rootPath)\nexport default createClient(remote, {\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","/**\n * @copyright 2022 Louis Chemineau <mlouis@chmn.me>\n *\n * @author Louis Chemineau <mlouis@chmn.me>\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 <http://www.gnu.org/licenses/>.\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('files_version')\n\t.detectUser()\n\t.build()\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('NcListItem',{staticClass:\"version\",attrs:{\"title\":_vm.versionLabel,\"href\":_vm.downloadURL,\"force-display-actions\":true,\"data-files-versions-version\":\"\"},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(!(_vm.loadPreview || _vm.previewLoaded))?_c('div',{staticClass:\"version__image\"}):(_vm.isCurrent || _vm.version.hasPreview)?_c('img',{staticClass:\"version__image\",attrs:{\"src\":_vm.previewURL,\"alt\":\"\",\"decoding\":\"async\",\"fetchpriority\":\"low\",\"loading\":\"lazy\"},on:{\"load\":function($event){_vm.previewLoaded = true}}}):_c('div',{staticClass:\"version__image\"},[_c('ImageOffOutline',{attrs:{\"size\":20}})],1)]},proxy:true},{key:\"subtitle\",fn:function(){return [_c('div',{staticClass:\"version__info\"},[_c('span',{attrs:{\"title\":_vm.formattedDate}},[_vm._v(_vm._s(_vm._f(\"humanDateFromNow\")(_vm.version.mtime)))]),_vm._v(\" \"),_c('span',{staticClass:\"version__info__size\"},[_vm._v(\"•\")]),_vm._v(\" \"),_c('span',{staticClass:\"version__info__size\"},[_vm._v(_vm._s(_vm._f(\"humanReadableSize\")(_vm.version.size)))])])]},proxy:true},{key:\"actions\",fn:function(){return [(_vm.enableLabeling)?_c('NcActionButton',{attrs:{\"close-after-click\":true},on:{\"click\":_vm.openVersionLabelModal},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Pencil',{attrs:{\"size\":22}})]},proxy:true}],null,false,3072546167)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.version.label === '' ? _vm.t('files_versions', 'Name this version') : _vm.t('files_versions', 'Edit version name'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(!_vm.isCurrent)?_c('NcActionButton',{attrs:{\"close-after-click\":true},on:{\"click\":_vm.restoreVersion},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('BackupRestore',{attrs:{\"size\":22}})]},proxy:true}],null,false,2239038444)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_versions', 'Restore version'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcActionLink',{attrs:{\"href\":_vm.downloadURL,\"close-after-click\":true,\"download\":_vm.downloadURL},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Download',{attrs:{\"size\":22}})]},proxy:true}])},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_versions', 'Download version'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),(!_vm.isCurrent && _vm.enableDeletion)?_c('NcActionButton',{attrs:{\"close-after-click\":true},on:{\"click\":_vm.deleteVersion},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Delete',{attrs:{\"size\":22}})]},proxy:true}],null,false,2429175571)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_versions', 'Delete version'))+\"\\n\\t\\t\\t\")]):_vm._e()]},proxy:true}])}),_vm._v(\" \"),(_vm.showVersionLabelForm)?_c('NcModal',{attrs:{\"title\":_vm.t('files_versions', 'Name this version')},on:{\"close\":function($event){_vm.showVersionLabelForm = false}}},[_c('form',{staticClass:\"version-label-modal\",on:{\"submit\":function($event){$event.preventDefault();return _vm.setVersionLabel(_vm.formVersionLabelValue)}}},[_c('label',[_c('div',{staticClass:\"version-label-modal__title\"},[_vm._v(_vm._s(_vm.t('photos', 'Version name')))]),_vm._v(\" \"),_c('NcTextField',{ref:\"labelInput\",attrs:{\"value\":_vm.formVersionLabelValue,\"placeholder\":_vm.t('photos', 'Version name'),\"label-outside\":true},on:{\"update:value\":function($event){_vm.formVersionLabelValue=$event}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"version-label-modal__info\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('photos', 'Named versions are persisted, and excluded from automatic cleanups when your storage quota is full.'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('div',{staticClass:\"version-label-modal__actions\"},[_c('NcButton',{attrs:{\"disabled\":_vm.formVersionLabelValue.trim().length === 0},on:{\"click\":function($event){return _vm.setVersionLabel('')}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_versions', 'Remove version name'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcButton',{attrs:{\"type\":\"primary\",\"native-type\":\"submit\"},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Check')]},proxy:true}],null,false,2308323205)},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_versions', 'Save version name'))+\"\\n\\t\\t\\t\\t\")])],1)])]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright 2022 Carl Schwan <carl@carlschwan.eu>\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 <http://www.gnu.org/licenses/>.\n -->\n<template>\n\t<div>\n\t\t<NcListItem class=\"version\"\n\t\t\t:title=\"versionLabel\"\n\t\t\t:href=\"downloadURL\"\n\t\t\t:force-display-actions=\"true\"\n\t\t\tdata-files-versions-version>\n\t\t\t<template #icon>\n\t\t\t\t<div v-if=\"!(loadPreview || previewLoaded)\" class=\"version__image\" />\n\t\t\t\t<img v-else-if=\"isCurrent || version.hasPreview\"\n\t\t\t\t\t:src=\"previewURL\"\n\t\t\t\t\talt=\"\"\n\t\t\t\t\tdecoding=\"async\"\n\t\t\t\t\tfetchpriority=\"low\"\n\t\t\t\t\tloading=\"lazy\"\n\t\t\t\t\tclass=\"version__image\"\n\t\t\t\t\t@load=\"previewLoaded = true\">\n\t\t\t\t<div v-else\n\t\t\t\t\tclass=\"version__image\">\n\t\t\t\t\t<ImageOffOutline :size=\"20\" />\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t\t<template #subtitle>\n\t\t\t\t<div class=\"version__info\">\n\t\t\t\t\t<span :title=\"formattedDate\">{{ version.mtime | humanDateFromNow }}</span>\n\t\t\t\t\t<!-- Separate dot to improve alignement -->\n\t\t\t\t\t<span class=\"version__info__size\">•</span>\n\t\t\t\t\t<span class=\"version__info__size\">{{ version.size | humanReadableSize }}</span>\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t\t<template #actions>\n\t\t\t\t<NcActionButton\tv-if=\"enableLabeling\"\n\t\t\t\t\t:close-after-click=\"true\"\n\t\t\t\t\t@click=\"openVersionLabelModal\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<Pencil :size=\"22\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t{{ version.label === '' ? t('files_versions', 'Name this version') : t('files_versions', 'Edit version name') }}\n\t\t\t\t</NcActionButton>\n\t\t\t\t<NcActionButton v-if=\"!isCurrent\"\n\t\t\t\t\t:close-after-click=\"true\"\n\t\t\t\t\t@click=\"restoreVersion\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<BackupRestore :size=\"22\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t{{ t('files_versions', 'Restore version') }}\n\t\t\t\t</NcActionButton>\n\t\t\t\t<NcActionLink :href=\"downloadURL\"\n\t\t\t\t\t:close-after-click=\"true\"\n\t\t\t\t\t:download=\"downloadURL\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<Download :size=\"22\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t{{ t('files_versions', 'Download version') }}\n\t\t\t\t</NcActionLink>\n\t\t\t\t<NcActionButton v-if=\"!isCurrent && enableDeletion\"\n\t\t\t\t\t:close-after-click=\"true\"\n\t\t\t\t\t@click=\"deleteVersion\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<Delete :size=\"22\" />\n\t\t\t\t\t</template>\n\t\t\t\t\t{{ t('files_versions', 'Delete version') }}\n\t\t\t\t</NcActionButton>\n\t\t\t</template>\n\t\t</NcListItem>\n\t\t<NcModal v-if=\"showVersionLabelForm\"\n\t\t\t:title=\"t('files_versions', 'Name this version')\"\n\t\t\t@close=\"showVersionLabelForm = false\">\n\t\t\t<form class=\"version-label-modal\"\n\t\t\t\t@submit.prevent=\"setVersionLabel(formVersionLabelValue)\">\n\t\t\t\t<label>\n\t\t\t\t\t<div class=\"version-label-modal__title\">{{ t('photos', 'Version name') }}</div>\n\t\t\t\t\t<NcTextField ref=\"labelInput\"\n\t\t\t\t\t\t:value.sync=\"formVersionLabelValue\"\n\t\t\t\t\t\t:placeholder=\"t('photos', 'Version name')\"\n\t\t\t\t\t\t:label-outside=\"true\" />\n\t\t\t\t</label>\n\n\t\t\t\t<div class=\"version-label-modal__info\">\n\t\t\t\t\t{{ t('photos', 'Named versions are persisted, and excluded from automatic cleanups when your storage quota is full.') }}\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"version-label-modal__actions\">\n\t\t\t\t\t<NcButton :disabled=\"formVersionLabelValue.trim().length === 0\" @click=\"setVersionLabel('')\">\n\t\t\t\t\t\t{{ t('files_versions', 'Remove version name') }}\n\t\t\t\t\t</NcButton>\n\t\t\t\t\t<NcButton type=\"primary\" native-type=\"submit\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<Check />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t{{ t('files_versions', 'Save version name') }}\n\t\t\t\t\t</NcButton>\n\t\t\t\t</div>\n\t\t\t</form>\n\t\t</NcModal>\n\t</div>\n</template>\n\n<script>\nimport BackupRestore from 'vue-material-design-icons/BackupRestore.vue'\nimport Download from 'vue-material-design-icons/Download.vue'\nimport Pencil from 'vue-material-design-icons/Pencil.vue'\nimport Check from 'vue-material-design-icons/Check.vue'\nimport Delete from 'vue-material-design-icons/Delete.vue'\nimport ImageOffOutline from 'vue-material-design-icons/ImageOffOutline.vue'\nimport { NcActionButton, NcActionLink, NcListItem, NcModal, NcButton, NcTextField, Tooltip } from '@nextcloud/vue'\nimport moment from '@nextcloud/moment'\nimport { translate } from '@nextcloud/l10n'\nimport { joinPaths } from '@nextcloud/paths'\nimport { generateUrl, getRootUrl } from '@nextcloud/router'\nimport { loadState } from '@nextcloud/initial-state'\n\nexport default {\n\tname: 'Version',\n\tcomponents: {\n\t\tNcActionLink,\n\t\tNcActionButton,\n\t\tNcListItem,\n\t\tNcModal,\n\t\tNcButton,\n\t\tNcTextField,\n\t\tBackupRestore,\n\t\tDownload,\n\t\tPencil,\n\t\tCheck,\n\t\tDelete,\n\t\tImageOffOutline,\n\t},\n\tdirectives: {\n\t\ttooltip: Tooltip,\n\t},\n\tfilters: {\n\t\t/**\n\t\t * @param {number} bytes\n\t\t * @return {string}\n\t\t */\n\t\thumanReadableSize(bytes) {\n\t\t\treturn OC.Util.humanFileSize(bytes)\n\t\t},\n\t\t/**\n\t\t * @param {number} timestamp\n\t\t * @return {string}\n\t\t */\n\t\thumanDateFromNow(timestamp) {\n\t\t\treturn moment(timestamp).fromNow()\n\t\t},\n\t},\n\tprops: {\n\t\t/** @type {Vue.PropOptions<import('../utils/versions.js').Version>} */\n\t\tversion: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\tisCurrent: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tisFirstVersion: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tloadPreview: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tpreviewLoaded: false,\n\t\t\tshowVersionLabelForm: false,\n\t\t\tformVersionLabelValue: this.version.label,\n\t\t\tcapabilities: loadState('core', 'capabilities', { files: { version_labeling: false, version_deletion: false } }),\n\t\t}\n\t},\n\tcomputed: {\n\t\t/**\n\t\t * @return {string}\n\t\t */\n\t\tversionLabel() {\n\t\t\tconst label = this.version.label ?? ''\n\n\t\t\tif (this.isCurrent) {\n\t\t\t\tif (label === '') {\n\t\t\t\t\treturn translate('files_versions', 'Current version')\n\t\t\t\t} else {\n\t\t\t\t\treturn `${label} (${translate('files_versions', 'Current version')})`\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (this.isFirstVersion && label === '') {\n\t\t\t\treturn translate('files_versions', 'Initial version')\n\t\t\t}\n\n\t\t\treturn label\n\t\t},\n\n\t\t/**\n\t\t * @return {string}\n\t\t */\n\t\tdownloadURL() {\n\t\t\tif (this.isCurrent) {\n\t\t\t\treturn getRootUrl() + joinPaths('/remote.php/webdav', this.fileInfo.path, this.fileInfo.name)\n\t\t\t} else {\n\t\t\t\treturn getRootUrl() + this.version.url\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @return {string}\n\t\t */\n\t\tpreviewURL() {\n\t\t\tif (this.isCurrent) {\n\t\t\t\treturn generateUrl('/core/preview?fileId={fileId}&c={fileEtag}&x=250&y=250&forceIcon=0&a=0', {\n\t\t\t\t\tfileId: this.fileInfo.id,\n\t\t\t\t\tfileEtag: this.fileInfo.etag,\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\treturn this.version.preview\n\t\t\t}\n\t\t},\n\n\t\t/** @return {string} */\n\t\tformattedDate() {\n\t\t\treturn moment(this.version.mtime).format('LLL')\n\t\t},\n\n\t\t/** @return {boolean} */\n\t\tenableLabeling() {\n\t\t\treturn this.capabilities.files.version_labeling === true && this.fileInfo.mountType !== 'group'\n\t\t},\n\n\t\t/** @return {boolean} */\n\t\tenableDeletion() {\n\t\t\treturn this.capabilities.files.version_deletion === true && this.fileInfo.mountType !== 'group'\n\t\t}\n\t},\n\tmethods: {\n\t\topenVersionLabelModal() {\n\t\t\tthis.showVersionLabelForm = true\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tthis.$refs.labelInput.$el.getElementsByTagName('input')[0].focus()\n\t\t\t})\n\t\t},\n\n\t\trestoreVersion() {\n\t\t\tthis.$emit('restore', this.version)\n\t\t},\n\n\t\tsetVersionLabel(label) {\n\t\t\tthis.formVersionLabelValue = label\n\t\t\tthis.showVersionLabelForm = false\n\t\t\tthis.$emit('label-update', this.version, label)\n\t\t},\n\n\t\tdeleteVersion() {\n\t\t\tthis.$emit('delete', this.version)\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n.version {\n\tdisplay: flex;\n\tflex-direction: row;\n\n\t&__info {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\talign-items: center;\n\t\tgap: 0.5rem;\n\n\t\t&__size {\n\t\t\tcolor: var(--color-text-lighter);\n\t\t}\n\t}\n\n\t&__image {\n\t\twidth: 3rem;\n\t\theight: 3rem;\n\t\tborder: 1px solid var(--color-border);\n\t\tborder-radius: var(--border-radius-large);\n\n\t\t// Useful to display no preview icon.\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\tcolor: var(--color-text-light);\n\t}\n}\n\n.version-label-modal {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\tflex-direction: column;\n\theight: 250px;\n\tpadding: 16px;\n\n\t&__title {\n\t\tmargin-bottom: 12px;\n\t\tfont-weight: 600;\n\t}\n\n\t&__info {\n\t\tmargin-top: 12px;\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n\n\t&__actions {\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\tmargin-top: 64px;\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Version.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!./Version.vue?vue&type=script&lang=js&\"","\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!./Version.vue?vue&type=style&index=0&id=88ad2630&prod&scoped=true&lang=scss&\";\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!./Version.vue?vue&type=style&index=0&id=88ad2630&prod&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Version.vue?vue&type=template&id=88ad2630&scoped=true&\"\nimport script from \"./Version.vue?vue&type=script&lang=js&\"\nexport * from \"./Version.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Version.vue?vue&type=style&index=0&id=88ad2630&prod&scoped=true&lang=scss&\"\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 \"88ad2630\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VersionTab.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!./VersionTab.vue?vue&type=script&lang=js&\"","<!--\n - @copyright 2022 Carl Schwan <carl@carlschwan.eu>\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 <http://www.gnu.org/licenses/>.\n -->\n<template>\n\t<ul data-files-versions-versions-list>\n\t\t<Version v-for=\"version in orderedVersions\"\n\t\t\t:key=\"version.mtime\"\n\t\t\t:load-preview=\"isActive\"\n\t\t\t:version=\"version\"\n\t\t\t:file-info=\"fileInfo\"\n\t\t\t:is-current=\"version.mtime === fileInfo.mtime\"\n\t\t\t:is-first-version=\"version.mtime === initialVersionMtime\"\n\t\t\t@restore=\"handleRestore\"\n\t\t\t@label-update=\"handleLabelUpdate\"\n\t\t\t@delete=\"handleDelete\" />\n\t</ul>\n</template>\n\n<script>\nimport { showError, showSuccess } from '@nextcloud/dialogs'\nimport { fetchVersions, deleteVersion, restoreVersion, setVersionLabel } from '../utils/versions.js'\nimport Version from '../components/Version.vue'\n\nexport default {\n\tname: 'VersionTab',\n\tcomponents: {\n\t\tVersion,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tfileInfo: null,\n\t\t\tisActive: false,\n\t\t\t/** @type {import('../utils/versions.js').Version[]} */\n\t\t\tversions: [],\n\t\t\tloading: false,\n\t\t}\n\t},\n\tcomputed: {\n\t\t/**\n\t\t * Order versions by mtime.\n\t\t * Put the current version at the top.\n\t\t *\n\t\t * @return {import('../utils/versions.js').Version[]}\n\t\t */\n\t\torderedVersions() {\n\t\t\treturn [...this.versions].sort((a, b) => {\n\t\t\t\tif (a.mtime === this.fileInfo.mtime) {\n\t\t\t\t\treturn -1\n\t\t\t\t} else if (b.mtime === this.fileInfo.mtime) {\n\t\t\t\t\treturn 1\n\t\t\t\t} else {\n\t\t\t\t\treturn b.mtime - a.mtime\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\n\t\t/**\n\t\t * Return the mtime of the first version to display \"Initial version\" label\n\t\t *\n\t\t * @return {number}\n\t\t */\n\t\tinitialVersionMtime() {\n\t\t\treturn this.versions\n\t\t\t\t.map(version => version.mtime)\n\t\t\t\t.reduce((a, b) => Math.min(a, b))\n\t\t},\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Update current fileInfo and fetch new data\n\t\t *\n\t\t * @param {object} fileInfo the current file FileInfo\n\t\t */\n\t\tasync update(fileInfo) {\n\t\t\tthis.fileInfo = fileInfo\n\t\t\tthis.resetState()\n\t\t\tthis.fetchVersions()\n\t\t},\n\n\t\t/**\n\t\t * @param {boolean} isActive whether the tab is active\n\t\t */\n\t\tasync setIsActive(isActive) {\n\t\t\tthis.isActive = isActive\n\t\t},\n\n\t\t/**\n\t\t * Get the existing versions infos\n\t\t */\n\t\tasync fetchVersions() {\n\t\t\ttry {\n\t\t\t\tthis.loading = true\n\t\t\t\tthis.versions = await fetchVersions(this.fileInfo)\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Handle restored event from Version.vue\n\t\t *\n\t\t * @param {import('../utils/versions.js').Version} version\n\t\t */\n\t\tasync handleRestore(version) {\n\t\t\t// Update local copy of fileInfo as rendering depends on it.\n\t\t\tconst oldFileInfo = this.fileInfo\n\t\t\tthis.fileInfo = {\n\t\t\t\t...this.fileInfo,\n\t\t\t\tsize: version.size,\n\t\t\t\tmtime: version.mtime,\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tawait restoreVersion(version)\n\t\t\t\tif (version.label !== '') {\n\t\t\t\t\tshowSuccess(t('files_versions', `${version.label} restored`))\n\t\t\t\t} else if (version.mtime === this.initialVersionMtime) {\n\t\t\t\t\tshowSuccess(t('files_versions', 'Initial version restored'))\n\t\t\t\t} else {\n\t\t\t\t\tshowSuccess(t('files_versions', 'Version restored'))\n\t\t\t\t}\n\t\t\t\tawait this.fetchVersions()\n\t\t\t} catch (exception) {\n\t\t\t\tthis.fileInfo = oldFileInfo\n\t\t\t\tshowError(t('files_versions', 'Could not restore version'))\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Handle label-updated event from Version.vue\n\t\t *\n\t\t * @param {import('../utils/versions.js').Version} version\n\t\t * @param {string} newName\n\t\t */\n\t\tasync handleLabelUpdate(version, newName) {\n\t\t\tconst oldLabel = version.label\n\t\t\tversion.label = newName\n\n\t\t\ttry {\n\t\t\t\tawait setVersionLabel(version, newName)\n\t\t\t} catch (exception) {\n\t\t\t\tversion.label = oldLabel\n\t\t\t\tshowError(t('files_versions', 'Could not set version name'))\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Handle deleted event from Version.vue\n\t\t *\n\t\t * @param {import('../utils/versions.js').Version} version\n\t\t * @param {string} newName\n\t\t */\n\t\tasync handleDelete(version) {\n\t\t\tconst index = this.versions.indexOf(version)\n\t\t\tthis.versions.splice(index, 1)\n\n\t\t\ttry {\n\t\t\t\tawait deleteVersion(version)\n\t\t\t} catch (exception) {\n\t\t\t\tthis.versions.push(version)\n\t\t\t\tshowError(t('files_versions', 'Could not delete version'))\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Reset the current view to its default state\n\t\t */\n\t\tresetState() {\n\t\t\tthis.$set(this, 'versions', [])\n\t\t},\n\t},\n}\n</script>\n","/**\n * @copyright 2022 Louis Chemineau <mlouis@chmn.me>\n *\n * @author Louis Chemineau <mlouis@chmn.me>\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 <http://www.gnu.org/licenses/>.\n */\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport client from '../utils/davClient.js'\nimport davRequest from '../utils/davRequest.js'\nimport logger from '../utils/logger.js'\nimport { joinPaths } from '@nextcloud/paths'\nimport { generateUrl } from '@nextcloud/router'\nimport moment from '@nextcloud/moment'\n\n/**\n * @typedef {object} Version\n * @property {string} fileId - The id of the file associated to the version.\n * @property {string} label - 'Current version' or ''\n * @property {string} fileName - File name relative to the version DAV endpoint\n * @property {string} mimeType - Empty for the current version, else the actual mime type of the version\n * @property {string} size - Human readable size\n * @property {string} type - 'file'\n * @property {number} mtime - Version creation date as a timestamp\n * @property {boolean} hasPreview - Whether the version has a preview\n * @property {string} preview - Preview URL of the version\n * @property {string} url - Download URL of the version\n * @property {string|null} fileVersion - The version id, null for the current version\n */\n\n/**\n * @param fileInfo\n * @return {Promise<Version[]>}\n */\nexport async function fetchVersions(fileInfo) {\n\tconst path = `/versions/${getCurrentUser()?.uid}/versions/${fileInfo.id}`\n\n\ttry {\n\t\t/** @type {import('webdav').ResponseDataDetailed<import('webdav').FileStat[]>} */\n\t\tconst response = await client.getDirectoryContents(path, {\n\t\t\tdata: davRequest,\n\t\t\tdetails: true,\n\t\t})\n\t\treturn response.data\n\t\t\t// Filter out root\n\t\t\t.filter(({ mime }) => mime !== '')\n\t\t\t.map(version => formatVersion(version, fileInfo))\n\t} catch (exception) {\n\t\tlogger.error('Could not fetch version', { exception })\n\t\tthrow exception\n\t}\n}\n\n/**\n * Restore the given version\n *\n * @param {Version} version\n */\nexport async function restoreVersion(version) {\n\ttry {\n\t\tlogger.debug('Restoring version', { url: version.url })\n\t\tawait client.moveFile(\n\t\t\t`/versions/${getCurrentUser()?.uid}/versions/${version.fileId}/${version.fileVersion}`,\n\t\t\t`/versions/${getCurrentUser()?.uid}/restore/target`\n\t\t)\n\t} catch (exception) {\n\t\tlogger.error('Could not restore version', { exception })\n\t\tthrow exception\n\t}\n}\n\n/**\n * Format version\n *\n * @param {object} version - raw version received from the versions DAV endpoint\n * @param {object} fileInfo - file properties received from the files DAV endpoint\n * @return {Version}\n */\nfunction formatVersion(version, fileInfo) {\n\treturn {\n\t\tfileId: fileInfo.id,\n\t\tlabel: version.props['version-label'],\n\t\tfileName: version.filename,\n\t\tmimeType: version.mime,\n\t\tsize: version.size,\n\t\ttype: version.type,\n\t\tmtime: moment(version.lastmod).unix() * 1000,\n\t\thasPreview: version.props['has-preview'] === 1,\n\t\tpreview: generateUrl('/apps/files_versions/preview?file={file}&version={fileVersion}', {\n\t\t\tfile: joinPaths(fileInfo.path, fileInfo.name),\n\t\t\tfileVersion: version.basename,\n\t\t}),\n\t\turl: joinPaths('/remote.php/dav', version.filename),\n\t\tfileVersion: version.basename,\n\t}\n}\n\n/**\n * @param {Version} version\n * @param {string} newLabel\n */\nexport async function setVersionLabel(version, newLabel) {\n\treturn await client.customRequest(\n\t\tversion.fileName,\n\t\t{\n\t\t\tmethod: 'PROPPATCH',\n\t\t\tdata: `<?xml version=\"1.0\"?>\n\t\t\t\t\t<d:propertyupdate xmlns:d=\"DAV:\"\n\t\t\t\t\t\txmlns:oc=\"http://owncloud.org/ns\"\n\t\t\t\t\t\txmlns:nc=\"http://nextcloud.org/ns\"\n\t\t\t\t\t\txmlns:ocs=\"http://open-collaboration-services.org/ns\">\n\t\t\t\t\t<d:set>\n\t\t\t\t\t\t<d:prop>\n\t\t\t\t\t\t\t<nc:version-label>${newLabel}</nc:version-label>\n\t\t\t\t\t\t</d:prop>\n\t\t\t\t\t</d:set>\n\t\t\t\t\t</d:propertyupdate>`,\n\t\t}\n\t)\n}\n\n/**\n * @param {Version} version\n */\nexport async function deleteVersion(version) {\n\tawait client.deleteFile(version.fileName)\n}\n","/**\n * @copyright Copyright (c) 2019 Louis Chmn <louis@chmn.me>\n *\n * @author Louis Chmn <louis@chmn.me>\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 <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default `<?xml version=\"1.0\"?>\n<d:propfind xmlns:d=\"DAV:\"\n\txmlns:oc=\"http://owncloud.org/ns\"\n\txmlns:nc=\"http://nextcloud.org/ns\"\n\txmlns:ocs=\"http://open-collaboration-services.org/ns\">\n\t<d:prop>\n\t\t<d:getcontentlength />\n\t\t<d:getcontenttype />\n\t\t<d:getlastmodified />\n\t\t<nc:version-label />\n\t\t<nc:has-preview />\n\t</d:prop>\n</d:propfind>`\n","import { render, staticRenderFns } from \"./VersionTab.vue?vue&type=template&id=0b72d79e&\"\nimport script from \"./VersionTab.vue?vue&type=script&lang=js&\"\nexport * from \"./VersionTab.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('ul',{attrs:{\"data-files-versions-versions-list\":\"\"}},_vm._l((_vm.orderedVersions),function(version){return _c('Version',{key:version.mtime,attrs:{\"load-preview\":_vm.isActive,\"version\":version,\"file-info\":_vm.fileInfo,\"is-current\":version.mtime === _vm.fileInfo.mtime,\"is-first-version\":version.mtime === _vm.initialVersionMtime},on:{\"restore\":_vm.handleRestore,\"label-update\":_vm.handleLabelUpdate,\"delete\":_vm.handleDelete}})}),1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright 2022 Carl Schwan <carl@carlschwan.eu>\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 <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue'\nimport { translate as t, translatePlural as n } from '@nextcloud/l10n'\n\nimport VersionTab from './views/VersionTab.vue'\nimport VTooltip from 'v-tooltip'\n// eslint-disable-next-line n/no-missing-import, import/no-unresolved\nimport BackupRestore from '@mdi/svg/svg/backup-restore.svg?raw'\n\nVue.prototype.t = t\nVue.prototype.n = n\n\nVue.use(VTooltip)\n\n// Init Sharing tab component\nconst View = Vue.extend(VersionTab)\nlet TabInstance = null\n\nwindow.addEventListener('DOMContentLoaded', function() {\n\tif (OCA.Files?.Sidebar === undefined) {\n\t\treturn\n\t}\n\n\tOCA.Files.Sidebar.registerTab(new OCA.Files.Sidebar.Tab({\n\t\tid: 'version_vue',\n\t\tname: t('files_versions', 'Versions'),\n\t\ticonSvg: BackupRestore,\n\n\t\tasync mount(el, fileInfo, context) {\n\t\t\tif (TabInstance) {\n\t\t\t\tTabInstance.$destroy()\n\t\t\t}\n\t\t\tTabInstance = new View({\n\t\t\t\t// Better integration with vue parent component\n\t\t\t\tparent: context,\n\t\t\t})\n\t\t\t// Only mount after we have all the info we need\n\t\t\tawait TabInstance.update(fileInfo)\n\t\t\tTabInstance.$mount(el)\n\t\t},\n\t\tupdate(fileInfo) {\n\t\t\tTabInstance.update(fileInfo)\n\t\t},\n\t\tsetIsActive(isActive) {\n\t\t\tTabInstance.setIsActive(isActive)\n\t\t},\n\t\tdestroy() {\n\t\t\tTabInstance.$destroy()\n\t\t\tTabInstance = null\n\t\t},\n\t\tenabled(fileInfo) {\n\t\t\treturn !(fileInfo?.isDirectory() ?? true)\n\t\t},\n\t}))\n})\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".version[data-v-88ad2630]{display:flex;flex-direction:row}.version__info[data-v-88ad2630]{display:flex;flex-direction:row;align-items:center;gap:.5rem}.version__info__size[data-v-88ad2630]{color:var(--color-text-lighter)}.version__image[data-v-88ad2630]{width:3rem;height:3rem;border:1px solid var(--color-border);border-radius:var(--border-radius-large);display:flex;justify-content:center;color:var(--color-text-light)}.version-label-modal[data-v-88ad2630]{display:flex;justify-content:space-between;flex-direction:column;height:250px;padding:16px}.version-label-modal__title[data-v-88ad2630]{margin-bottom:12px;font-weight:600}.version-label-modal__info[data-v-88ad2630]{margin-top:12px;color:var(--color-text-maxcontrast)}.version-label-modal__actions[data-v-88ad2630]{display:flex;justify-content:space-between;margin-top:64px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_versions/src/components/Version.vue\"],\"names\":[],\"mappings\":\"AACA,0BACC,YAAA,CACA,kBAAA,CAEA,gCACC,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,SAAA,CAEA,sCACC,+BAAA,CAIF,iCACC,UAAA,CACA,WAAA,CACA,oCAAA,CACA,wCAAA,CAGA,YAAA,CACA,sBAAA,CACA,6BAAA,CAIF,sCACC,YAAA,CACA,6BAAA,CACA,qBAAA,CACA,YAAA,CACA,YAAA,CAEA,6CACC,kBAAA,CACA,eAAA,CAGD,4CACC,eAAA,CACA,mCAAA,CAGD,+CACC,YAAA,CACA,6BAAA,CACA,eAAA\",\"sourcesContent\":[\"\\n.version {\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\n\\t&__info {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: row;\\n\\t\\talign-items: center;\\n\\t\\tgap: 0.5rem;\\n\\n\\t\\t&__size {\\n\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t}\\n\\t}\\n\\n\\t&__image {\\n\\t\\twidth: 3rem;\\n\\t\\theight: 3rem;\\n\\t\\tborder: 1px solid var(--color-border);\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\n\\t\\t// Useful to display no preview icon.\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: center;\\n\\t\\tcolor: var(--color-text-light);\\n\\t}\\n}\\n\\n.version-label-modal {\\n\\tdisplay: flex;\\n\\tjustify-content: space-between;\\n\\tflex-direction: column;\\n\\theight: 250px;\\n\\tpadding: 16px;\\n\\n\\t&__title {\\n\\t\\tmargin-bottom: 12px;\\n\\t\\tfont-weight: 600;\\n\\t}\\n\\n\\t&__info {\\n\\t\\tmargin-top: 12px;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&__actions {\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: space-between;\\n\\t\\tmargin-top: 64px;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var map = {\n\t\"./af\": 42786,\n\t\"./af.js\": 42786,\n\t\"./ar\": 30867,\n\t\"./ar-dz\": 14130,\n\t\"./ar-dz.js\": 14130,\n\t\"./ar-kw\": 96135,\n\t\"./ar-kw.js\": 96135,\n\t\"./ar-ly\": 56440,\n\t\"./ar-ly.js\": 56440,\n\t\"./ar-ma\": 47702,\n\t\"./ar-ma.js\": 47702,\n\t\"./ar-sa\": 16040,\n\t\"./ar-sa.js\": 16040,\n\t\"./ar-tn\": 37100,\n\t\"./ar-tn.js\": 37100,\n\t\"./ar.js\": 30867,\n\t\"./az\": 31083,\n\t\"./az.js\": 31083,\n\t\"./be\": 9808,\n\t\"./be.js\": 9808,\n\t\"./bg\": 68338,\n\t\"./bg.js\": 68338,\n\t\"./bm\": 67438,\n\t\"./bm.js\": 67438,\n\t\"./bn\": 8905,\n\t\"./bn-bd\": 76225,\n\t\"./bn-bd.js\": 76225,\n\t\"./bn.js\": 8905,\n\t\"./bo\": 11560,\n\t\"./bo.js\": 11560,\n\t\"./br\": 1278,\n\t\"./br.js\": 1278,\n\t\"./bs\": 80622,\n\t\"./bs.js\": 80622,\n\t\"./ca\": 2468,\n\t\"./ca.js\": 2468,\n\t\"./cs\": 5822,\n\t\"./cs.js\": 5822,\n\t\"./cv\": 50877,\n\t\"./cv.js\": 50877,\n\t\"./cy\": 47373,\n\t\"./cy.js\": 47373,\n\t\"./da\": 24780,\n\t\"./da.js\": 24780,\n\t\"./de\": 59740,\n\t\"./de-at\": 60217,\n\t\"./de-at.js\": 60217,\n\t\"./de-ch\": 60894,\n\t\"./de-ch.js\": 60894,\n\t\"./de.js\": 59740,\n\t\"./dv\": 5300,\n\t\"./dv.js\": 5300,\n\t\"./el\": 50837,\n\t\"./el.js\": 50837,\n\t\"./en-au\": 78348,\n\t\"./en-au.js\": 78348,\n\t\"./en-ca\": 77925,\n\t\"./en-ca.js\": 77925,\n\t\"./en-gb\": 22243,\n\t\"./en-gb.js\": 22243,\n\t\"./en-ie\": 46436,\n\t\"./en-ie.js\": 46436,\n\t\"./en-il\": 47207,\n\t\"./en-il.js\": 47207,\n\t\"./en-in\": 44175,\n\t\"./en-in.js\": 44175,\n\t\"./en-nz\": 76319,\n\t\"./en-nz.js\": 76319,\n\t\"./en-sg\": 31662,\n\t\"./en-sg.js\": 31662,\n\t\"./eo\": 92915,\n\t\"./eo.js\": 92915,\n\t\"./es\": 55655,\n\t\"./es-do\": 55251,\n\t\"./es-do.js\": 55251,\n\t\"./es-mx\": 96112,\n\t\"./es-mx.js\": 96112,\n\t\"./es-us\": 71146,\n\t\"./es-us.js\": 71146,\n\t\"./es.js\": 55655,\n\t\"./et\": 5603,\n\t\"./et.js\": 5603,\n\t\"./eu\": 77763,\n\t\"./eu.js\": 77763,\n\t\"./fa\": 76959,\n\t\"./fa.js\": 76959,\n\t\"./fi\": 11897,\n\t\"./fi.js\": 11897,\n\t\"./fil\": 42549,\n\t\"./fil.js\": 42549,\n\t\"./fo\": 94694,\n\t\"./fo.js\": 94694,\n\t\"./fr\": 94470,\n\t\"./fr-ca\": 63049,\n\t\"./fr-ca.js\": 63049,\n\t\"./fr-ch\": 52330,\n\t\"./fr-ch.js\": 52330,\n\t\"./fr.js\": 94470,\n\t\"./fy\": 5044,\n\t\"./fy.js\": 5044,\n\t\"./ga\": 29295,\n\t\"./ga.js\": 29295,\n\t\"./gd\": 2101,\n\t\"./gd.js\": 2101,\n\t\"./gl\": 38794,\n\t\"./gl.js\": 38794,\n\t\"./gom-deva\": 27884,\n\t\"./gom-deva.js\": 27884,\n\t\"./gom-latn\": 23168,\n\t\"./gom-latn.js\": 23168,\n\t\"./gu\": 95349,\n\t\"./gu.js\": 95349,\n\t\"./he\": 24206,\n\t\"./he.js\": 24206,\n\t\"./hi\": 30094,\n\t\"./hi.js\": 30094,\n\t\"./hr\": 30316,\n\t\"./hr.js\": 30316,\n\t\"./hu\": 22138,\n\t\"./hu.js\": 22138,\n\t\"./hy-am\": 11423,\n\t\"./hy-am.js\": 11423,\n\t\"./id\": 29218,\n\t\"./id.js\": 29218,\n\t\"./is\": 90135,\n\t\"./is.js\": 90135,\n\t\"./it\": 90626,\n\t\"./it-ch\": 10150,\n\t\"./it-ch.js\": 10150,\n\t\"./it.js\": 90626,\n\t\"./ja\": 39183,\n\t\"./ja.js\": 39183,\n\t\"./jv\": 24286,\n\t\"./jv.js\": 24286,\n\t\"./ka\": 12105,\n\t\"./ka.js\": 12105,\n\t\"./kk\": 47772,\n\t\"./kk.js\": 47772,\n\t\"./km\": 18758,\n\t\"./km.js\": 18758,\n\t\"./kn\": 79282,\n\t\"./kn.js\": 79282,\n\t\"./ko\": 33730,\n\t\"./ko.js\": 33730,\n\t\"./ku\": 1408,\n\t\"./ku.js\": 1408,\n\t\"./ky\": 33291,\n\t\"./ky.js\": 33291,\n\t\"./lb\": 36841,\n\t\"./lb.js\": 36841,\n\t\"./lo\": 55466,\n\t\"./lo.js\": 55466,\n\t\"./lt\": 57010,\n\t\"./lt.js\": 57010,\n\t\"./lv\": 37595,\n\t\"./lv.js\": 37595,\n\t\"./me\": 39861,\n\t\"./me.js\": 39861,\n\t\"./mi\": 35493,\n\t\"./mi.js\": 35493,\n\t\"./mk\": 95966,\n\t\"./mk.js\": 95966,\n\t\"./ml\": 87341,\n\t\"./ml.js\": 87341,\n\t\"./mn\": 5115,\n\t\"./mn.js\": 5115,\n\t\"./mr\": 10370,\n\t\"./mr.js\": 10370,\n\t\"./ms\": 9847,\n\t\"./ms-my\": 41237,\n\t\"./ms-my.js\": 41237,\n\t\"./ms.js\": 9847,\n\t\"./mt\": 72126,\n\t\"./mt.js\": 72126,\n\t\"./my\": 56165,\n\t\"./my.js\": 56165,\n\t\"./nb\": 64924,\n\t\"./nb.js\": 64924,\n\t\"./ne\": 16744,\n\t\"./ne.js\": 16744,\n\t\"./nl\": 93901,\n\t\"./nl-be\": 59814,\n\t\"./nl-be.js\": 59814,\n\t\"./nl.js\": 93901,\n\t\"./nn\": 83877,\n\t\"./nn.js\": 83877,\n\t\"./oc-lnc\": 92135,\n\t\"./oc-lnc.js\": 92135,\n\t\"./pa-in\": 15858,\n\t\"./pa-in.js\": 15858,\n\t\"./pl\": 64495,\n\t\"./pl.js\": 64495,\n\t\"./pt\": 89520,\n\t\"./pt-br\": 57971,\n\t\"./pt-br.js\": 57971,\n\t\"./pt.js\": 89520,\n\t\"./ro\": 96459,\n\t\"./ro.js\": 96459,\n\t\"./ru\": 21793,\n\t\"./ru.js\": 21793,\n\t\"./sd\": 40950,\n\t\"./sd.js\": 40950,\n\t\"./se\": 10490,\n\t\"./se.js\": 10490,\n\t\"./si\": 90124,\n\t\"./si.js\": 90124,\n\t\"./sk\": 64249,\n\t\"./sk.js\": 64249,\n\t\"./sl\": 14985,\n\t\"./sl.js\": 14985,\n\t\"./sq\": 51104,\n\t\"./sq.js\": 51104,\n\t\"./sr\": 49131,\n\t\"./sr-cyrl\": 79915,\n\t\"./sr-cyrl.js\": 79915,\n\t\"./sr.js\": 49131,\n\t\"./ss\": 85893,\n\t\"./ss.js\": 85893,\n\t\"./sv\": 98760,\n\t\"./sv.js\": 98760,\n\t\"./sw\": 91172,\n\t\"./sw.js\": 91172,\n\t\"./ta\": 27333,\n\t\"./ta.js\": 27333,\n\t\"./te\": 23110,\n\t\"./te.js\": 23110,\n\t\"./tet\": 52095,\n\t\"./tet.js\": 52095,\n\t\"./tg\": 27321,\n\t\"./tg.js\": 27321,\n\t\"./th\": 9041,\n\t\"./th.js\": 9041,\n\t\"./tk\": 19005,\n\t\"./tk.js\": 19005,\n\t\"./tl-ph\": 75768,\n\t\"./tl-ph.js\": 75768,\n\t\"./tlh\": 89444,\n\t\"./tlh.js\": 89444,\n\t\"./tr\": 72397,\n\t\"./tr.js\": 72397,\n\t\"./tzl\": 28254,\n\t\"./tzl.js\": 28254,\n\t\"./tzm\": 51106,\n\t\"./tzm-latn\": 30699,\n\t\"./tzm-latn.js\": 30699,\n\t\"./tzm.js\": 51106,\n\t\"./ug-cn\": 9288,\n\t\"./ug-cn.js\": 9288,\n\t\"./uk\": 67691,\n\t\"./uk.js\": 67691,\n\t\"./ur\": 13795,\n\t\"./ur.js\": 13795,\n\t\"./uz\": 6791,\n\t\"./uz-latn\": 60588,\n\t\"./uz-latn.js\": 60588,\n\t\"./uz.js\": 6791,\n\t\"./vi\": 65666,\n\t\"./vi.js\": 65666,\n\t\"./x-pseudo\": 14378,\n\t\"./x-pseudo.js\": 14378,\n\t\"./yo\": 75805,\n\t\"./yo.js\": 75805,\n\t\"./zh-cn\": 83839,\n\t\"./zh-cn.js\": 83839,\n\t\"./zh-hk\": 55726,\n\t\"./zh-hk.js\": 55726,\n\t\"./zh-mo\": 99807,\n\t\"./zh-mo.js\": 99807,\n\t\"./zh-tw\": 74152,\n\t\"./zh-tw.js\": 74152\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 1358;","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t1358: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [7874], () => (__webpack_require__(72850)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","remote","generateRemoteUrl","createClient","headers","requesttoken","_getRequestToken","getRequestToken","getLoggerBuilder","setApp","detectUser","build","name","components","NcActionLink","NcActionButton","NcListItem","NcModal","NcButton","NcTextField","BackupRestore","Download","Pencil","Check","Delete","ImageOffOutline","directives","tooltip","Tooltip","filters","humanReadableSize","bytes","OC","Util","humanFileSize","humanDateFromNow","timestamp","moment","fromNow","props","version","type","Object","required","fileInfo","isCurrent","Boolean","default","isFirstVersion","loadPreview","data","previewLoaded","showVersionLabelForm","formVersionLabelValue","label","capabilities","loadState","files","version_labeling","version_deletion","computed","versionLabel","_this$version$label","translate","concat","downloadURL","getRootUrl","joinPaths","path","url","previewURL","generateUrl","fileId","id","fileEtag","etag","preview","formattedDate","mtime","format","enableLabeling","mountType","enableDeletion","methods","openVersionLabelModal","$nextTick","$refs","labelInput","$el","getElementsByTagName","focus","restoreVersion","$emit","setVersionLabel","deleteVersion","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","Version","_vm","this","_c","_self","staticClass","attrs","scopedSlots","_u","key","fn","hasPreview","on","$event","proxy","_v","_s","_f","size","t","_e","preventDefault","ref","trim","length","isActive","versions","loading","orderedVersions","sort","a","b","initialVersionMtime","map","reduce","Math","min","resetState","fetchVersions","async","_getCurrentUser","getCurrentUser","uid","client","details","filter","_ref","mime","fileName","filename","mimeType","lastmod","unix","file","fileVersion","basename","formatVersion","exception","logger","error","oldFileInfo","_getCurrentUser2","_getCurrentUser3","debug","showSuccess","showError","newName","oldLabel","newLabel","method","index","indexOf","splice","push","$set","_l","handleRestore","handleLabelUpdate","handleDelete","Vue","n","VTooltip","View","VersionTab","TabInstance","window","addEventListener","_OCA$Files","undefined","OCA","Files","Sidebar","registerTab","Tab","iconSvg","el","context","$destroy","parent","update","$mount","setIsActive","destroy","enabled","_fileInfo$isDirectory","isDirectory","___CSS_LOADER_EXPORT___","module","webpackContext","req","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","resolve","exports","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","call","m","O","result","chunkIds","priority","notFulfilled","Infinity","i","fulfilled","j","every","r","getter","__esModule","d","definition","defineProperty","enumerable","get","g","globalThis","Function","obj","prop","prototype","hasOwnProperty","Symbol","toStringTag","value","nmd","paths","children","document","baseURI","self","location","href","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","forEach","bind","nc","__webpack_exports__"],"sourceRoot":""}
|