1 |
- {"version":3,"file":"files-sidebar.js?v=04e88730c6c1bac3c2f3","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/apps/files/src/components/SidebarTab.vue","webpack:///nextcloud/apps/files/src/components/SidebarTab.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/files/src/components/SidebarTab.vue?7aea","webpack://nextcloud/./apps/files/src/components/SidebarTab.vue?eddf","webpack:///nextcloud/apps/files/src/components/LegacyView.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/files/src/components/LegacyView.vue","webpack://nextcloud/./apps/files/src/components/LegacyView.vue?a2e2","webpack://nextcloud/./apps/files/src/components/LegacyView.vue?fb5f","webpack:///nextcloud/apps/systemtags/src/components/SystemTags.vue","webpack:///nextcloud/apps/systemtags/src/services/davClient.ts","webpack:///nextcloud/apps/systemtags/src/utils.ts","webpack:///nextcloud/apps/systemtags/src/logger.ts","webpack:///nextcloud/apps/systemtags/src/services/api.ts","webpack:///nextcloud/apps/systemtags/src/components/SystemTags.vue?vue&type=script&lang=ts&","webpack://nextcloud/./apps/systemtags/src/components/SystemTags.vue?e83e","webpack://nextcloud/./apps/systemtags/src/components/SystemTags.vue?d721","webpack:///nextcloud/apps/files/src/views/Sidebar.vue","webpack:///nextcloud/apps/files/src/views/Sidebar.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/files/src/services/FileInfo.js","webpack://nextcloud/./apps/files/src/views/Sidebar.vue?777a","webpack://nextcloud/./apps/files/src/views/Sidebar.vue?0b21","webpack://nextcloud/./apps/files/src/views/Sidebar.vue?589a","webpack:///nextcloud/apps/files/src/sidebar.js","webpack:///nextcloud/apps/files/src/services/Sidebar.js","webpack:///nextcloud/apps/files/src/models/Tab.js","webpack:///nextcloud/apps/files/src/views/Sidebar.vue?vue&type=style&index=0&id=3d8912a4&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/systemtags/src/components/SystemTags.vue?vue&type=style&index=0&id=7746ac6e&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/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","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/publicPath","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};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","\n<!--\n - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\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<template>\n\t<NcAppSidebarTab :id=\"id\"\n\t\tref=\"tab\"\n\t\t:name=\"name\"\n\t\t:icon=\"icon\"\n\t\t@bottomReached=\"onScrollBottomReached\">\n\t\t<template #icon>\n\t\t\t<slot name=\"icon\" />\n\t\t</template>\n\t\t<!-- Fallback loading -->\n\t\t<NcEmptyContent v-if=\"loading\" icon=\"icon-loading\" />\n\n\t\t<!-- Using a dummy div as Vue mount replace the element directly\n\t\t\tIt does NOT append to the content -->\n\t\t<div ref=\"mount\" />\n\t</NcAppSidebarTab>\n</template>\n\n<script>\nimport NcAppSidebarTab from '@nextcloud/vue/dist/Components/NcAppSidebarTab.js'\nimport NcEmptyContent from '@nextcloud/vue/dist/Components/NcEmptyContent.js'\n\nexport default {\n\tname: 'SidebarTab',\n\n\tcomponents: {\n\t\tNcAppSidebarTab,\n\t\tNcEmptyContent,\n\t},\n\n\tprops: {\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {},\n\t\t\trequired: true,\n\t\t},\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\ticon: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t},\n\n\t\t/**\n\t\t * Lifecycle methods.\n\t\t * They are prefixed with `on` to avoid conflict with Vue\n\t\t * methods like this.destroy\n\t\t */\n\t\tonMount: {\n\t\t\ttype: Function,\n\t\t\trequired: true,\n\t\t},\n\t\tonUpdate: {\n\t\t\ttype: Function,\n\t\t\trequired: true,\n\t\t},\n\t\tonDestroy: {\n\t\t\ttype: Function,\n\t\t\trequired: true,\n\t\t},\n\t\tonScrollBottomReached: {\n\t\t\ttype: Function,\n\t\t\tdefault: () => {},\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tloading: true,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t// TODO: implement a better way to force pass a prop from Sidebar\n\t\tactiveTab() {\n\t\t\treturn this.$parent.activeTab\n\t\t},\n\t},\n\n\twatch: {\n\t\tasync fileInfo(newFile, oldFile) {\n\t\t\t// Update fileInfo on change\n\t\t\tif (newFile.id !== oldFile.id) {\n\t\t\t\tthis.loading = true\n\t\t\t\tawait this.onUpdate(this.fileInfo)\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t},\n\n\tasync mounted() {\n\t\tthis.loading = true\n\t\t// Mount the tab: mounting point, fileInfo, vue context\n\t\tawait this.onMount(this.$refs.mount, this.fileInfo, this.$refs.tab)\n\t\tthis.loading = false\n\t},\n\n\tasync beforeDestroy() {\n\t\t// unmount the tab\n\t\tawait this.onDestroy()\n\t},\n}\n</script>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarTab.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!./SidebarTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SidebarTab.vue?vue&type=template&id=0da8ee1b&\"\nimport script from \"./SidebarTab.vue?vue&type=script&lang=js&\"\nexport * from \"./SidebarTab.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('NcAppSidebarTab',{ref:\"tab\",attrs:{\"id\":_vm.id,\"name\":_vm.name,\"icon\":_vm.icon},on:{\"bottomReached\":_vm.onScrollBottomReached},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_vm._t(\"icon\")]},proxy:true}],null,true)},[_vm._v(\" \"),(_vm.loading)?_c('NcEmptyContent',{attrs:{\"icon\":\"icon-loading\"}}):_vm._e(),_vm._v(\" \"),_c('div',{ref:\"mount\"})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LegacyView.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!./LegacyView.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\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\n<template>\n\t<div />\n</template>\n<script>\nexport default {\n\tname: 'LegacyView',\n\tprops: {\n\t\tcomponent: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {},\n\t\t\trequired: true,\n\t\t},\n\t},\n\twatch: {\n\t\tfileInfo(fileInfo) {\n\t\t\t// update the backbone model FileInfo\n\t\t\tthis.setFileInfo(fileInfo)\n\t\t},\n\t},\n\tmounted() {\n\t\t// append the backbone element and set the FileInfo\n\t\tthis.component.$el.replaceAll(this.$el)\n\t\tthis.setFileInfo(this.fileInfo)\n\t},\n\tmethods: {\n\t\tsetFileInfo(fileInfo) {\n\t\t\tthis.component.setFileInfo(new OCA.Files.FileInfoModel(fileInfo))\n\t\t},\n\t},\n}\n</script>\n<style>\n</style>\n","import { render, staticRenderFns } from \"./LegacyView.vue?vue&type=template&id=2245cbe7&\"\nimport script from \"./LegacyView.vue?vue&type=script&lang=js&\"\nexport * from \"./LegacyView.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('div')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"system-tags\"},[(_vm.loadingTags)?_c('NcLoadingIcon',{attrs:{\"name\":_vm.t('systemtags', 'Loading collaborative tags …'),\"size\":32}}):[_c('label',{attrs:{\"for\":\"system-tags-input\"}},[_vm._v(_vm._s(_vm.t('systemtags', 'Search or create collaborative tags')))]),_vm._v(\" \"),_c('NcSelectTags',{staticClass:\"system-tags__select\",attrs:{\"input-id\":\"system-tags-input\",\"placeholder\":_vm.t('systemtags', 'Collaborative tags …'),\"options\":_vm.sortedTags,\"value\":_vm.selectedTags,\"create-option\":_vm.createOption,\"taggable\":true,\"passthru\":true,\"fetch-tags\":false,\"loading\":_vm.loading},on:{\"input\":_vm.handleInput,\"option:selected\":_vm.handleSelect,\"option:created\":_vm.handleCreate,\"option:deselected\":_vm.handleDeselect},scopedSlots:_vm._u([{key:\"no-options\",fn:function(){return [_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('systemtags', 'No tags to select, type to create a new tag'))+\"\\n\\t\\t\\t\")]},proxy:true}])})]],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright 2023 Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\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';\nconst rootUrl = generateRemoteUrl('dav');\nexport const davClient = createClient(rootUrl, {\n headers: {\n requesttoken: getRequestToken() ?? '',\n },\n});\n","/**\n * @copyright 2023 Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\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 camelCase from 'camelcase';\nexport const parseTags = (tags) => {\n return tags.map(({ props }) => Object.fromEntries(Object.entries(props)\n .map(([key, value]) => [camelCase(key), value])));\n};\n/**\n * Parse id from `Content-Location` header\n */\nexport const parseIdFromLocation = (url) => {\n const queryPos = url.indexOf('?');\n if (queryPos > 0) {\n url = url.substring(0, queryPos);\n }\n const parts = url.split('/');\n let result;\n do {\n result = parts[parts.length - 1];\n parts.pop();\n // note: first result can be empty when there is a trailing slash,\n // so we take the part before that\n } while (!result && parts.length > 0);\n return Number(result);\n};\nexport const formatTag = (initialTag) => {\n const tag = { ...initialTag };\n if (tag.name && !tag.displayName) {\n return tag;\n }\n tag.name = tag.displayName;\n delete tag.displayName;\n return tag;\n};\n","/**\n * @copyright 2023 Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\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';\nexport const logger = getLoggerBuilder()\n .setApp('systemtags')\n .detectUser()\n .build();\n","/**\n * @copyright 2023 Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\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 axios from '@nextcloud/axios';\nimport { generateUrl } from '@nextcloud/router';\nimport { translate as t } from '@nextcloud/l10n';\nimport { davClient } from './davClient.js';\nimport { formatTag, parseIdFromLocation, parseTags } from '../utils.js';\nimport { logger } from '../logger.js';\nconst fetchTagsBody = `<?xml version=\"1.0\"?>\n<d:propfind xmlns:d=\"DAV:\" xmlns:oc=\"http://owncloud.org/ns\">\n\t<d:prop>\n\t\t<oc:id />\n\t\t<oc:display-name />\n\t\t<oc:user-visible />\n\t\t<oc:user-assignable />\n\t\t<oc:can-assign />\n\t</d:prop>\n</d:propfind>`;\nexport const fetchTags = async () => {\n const path = '/systemtags';\n try {\n const { data: tags } = await davClient.getDirectoryContents(path, {\n data: fetchTagsBody,\n details: true,\n glob: '/systemtags/*', // Filter out first empty tag\n });\n return parseTags(tags);\n }\n catch (error) {\n logger.error(t('systemtags', 'Failed to load tags'), { error });\n throw new Error(t('systemtags', 'Failed to load tags'));\n }\n};\nexport const fetchLastUsedTagIds = async () => {\n const url = generateUrl('/apps/systemtags/lastused');\n try {\n const { data: lastUsedTagIds } = await axios.get(url);\n return lastUsedTagIds.map(Number);\n }\n catch (error) {\n logger.error(t('systemtags', 'Failed to load last used tags'), { error });\n throw new Error(t('systemtags', 'Failed to load last used tags'));\n }\n};\nexport const fetchSelectedTags = async (fileId) => {\n const path = '/systemtags-relations/files/' + fileId;\n try {\n const { data: tags } = await davClient.getDirectoryContents(path, {\n data: fetchTagsBody,\n details: true,\n glob: '/systemtags-relations/files/*/*', // Filter out first empty tag\n });\n return parseTags(tags);\n }\n catch (error) {\n logger.error(t('systemtags', 'Failed to load selected tags'), { error });\n throw new Error(t('systemtags', 'Failed to load selected tags'));\n }\n};\nexport const selectTag = async (fileId, tag) => {\n const path = '/systemtags-relations/files/' + fileId + '/' + tag.id;\n const tagToPut = formatTag(tag);\n try {\n await davClient.customRequest(path, {\n method: 'PUT',\n data: tagToPut,\n });\n }\n catch (error) {\n logger.error(t('systemtags', 'Failed to select tag'), { error });\n throw new Error(t('systemtags', 'Failed to select tag'));\n }\n};\n/**\n * @return created tag id\n */\nexport const createTag = async (fileId, tag) => {\n const path = '/systemtags';\n const tagToPost = formatTag(tag);\n try {\n const { headers } = await davClient.customRequest(path, {\n method: 'POST',\n data: tagToPost,\n });\n const contentLocation = headers.get('content-location');\n if (contentLocation) {\n const tagToPut = {\n ...tagToPost,\n id: parseIdFromLocation(contentLocation),\n };\n await selectTag(fileId, tagToPut);\n return tagToPut.id;\n }\n logger.error(t('systemtags', 'Missing \"Content-Location\" header'));\n throw new Error(t('systemtags', 'Missing \"Content-Location\" header'));\n }\n catch (error) {\n logger.error(t('systemtags', 'Failed to create tag'), { error });\n throw new Error(t('systemtags', 'Failed to create tag'));\n }\n};\nexport const deleteTag = async (fileId, tag) => {\n const path = '/systemtags-relations/files/' + fileId + '/' + tag.id;\n try {\n await davClient.deleteFile(path);\n }\n catch (error) {\n logger.error(t('systemtags', 'Failed to delete tag'), { error });\n throw new Error(t('systemtags', 'Failed to delete tag'));\n }\n};\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SystemTags.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SystemTags.vue?vue&type=script&lang=ts&\"","\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!./SystemTags.vue?vue&type=style&index=0&id=7746ac6e&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!./SystemTags.vue?vue&type=style&index=0&id=7746ac6e&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SystemTags.vue?vue&type=template&id=7746ac6e&scoped=true&\"\nimport script from \"./SystemTags.vue?vue&type=script&lang=ts&\"\nexport * from \"./SystemTags.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./SystemTags.vue?vue&type=style&index=0&id=7746ac6e&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 \"7746ac6e\",\n null\n \n)\n\nexport default component.exports","<!--\n - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\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\n<template>\n\t<NcAppSidebar v-if=\"file\"\n\t\tref=\"sidebar\"\n\t\tv-bind=\"appSidebar\"\n\t\t:force-menu=\"true\"\n\t\ttabindex=\"0\"\n\t\t@close=\"close\"\n\t\t@update:active=\"setActiveTab\"\n\t\t@update:starred=\"toggleStarred\"\n\t\t@[defaultActionListener].stop.prevent=\"onDefaultAction\"\n\t\t@opening=\"handleOpening\"\n\t\t@opened=\"handleOpened\"\n\t\t@closing=\"handleClosing\"\n\t\t@closed=\"handleClosed\">\n\t\t<!-- TODO: create a standard to allow multiple elements here? -->\n\t\t<template v-if=\"fileInfo\" #description>\n\t\t\t<div class=\"sidebar__description\">\n\t\t\t\t<SystemTags v-if=\"isSystemTagsEnabled\"\n\t\t\t\t\tv-show=\"showTags\"\n\t\t\t\t\t:file-id=\"fileInfo.id\"\n\t\t\t\t\t@has-tags=\"value => showTags = value\" />\n\t\t\t\t<LegacyView v-for=\"view in views\"\n\t\t\t\t\t:key=\"view.cid\"\n\t\t\t\t\t:component=\"view\"\n\t\t\t\t\t:file-info=\"fileInfo\" />\n\t\t\t</div>\n\t\t</template>\n\n\t\t<!-- Actions menu -->\n\t\t<template v-if=\"fileInfo\" #secondary-actions>\n\t\t\t<!-- TODO: create proper api for apps to register actions\n\t\t\tAnd inject themselves here. -->\n\t\t\t<NcActionButton v-if=\"isSystemTagsEnabled\"\n\t\t\t\t:close-after-click=\"true\"\n\t\t\t\ticon=\"icon-tag\"\n\t\t\t\t@click=\"toggleTags\">\n\t\t\t\t{{ t('files', 'Tags') }}\n\t\t\t</NcActionButton>\n\t\t</template>\n\n\t\t<!-- Error display -->\n\t\t<NcEmptyContent v-if=\"error\" icon=\"icon-error\">\n\t\t\t{{ error }}\n\t\t</NcEmptyContent>\n\n\t\t<!-- If fileInfo fetch is complete, render tabs -->\n\t\t<template v-for=\"tab in tabs\" v-else-if=\"fileInfo\">\n\t\t\t<!-- Hide them if we're loading another file but keep them mounted -->\n\t\t\t<SidebarTab v-if=\"tab.enabled(fileInfo)\"\n\t\t\t\tv-show=\"!loading\"\n\t\t\t\t:id=\"tab.id\"\n\t\t\t\t:key=\"tab.id\"\n\t\t\t\t:name=\"tab.name\"\n\t\t\t\t:icon=\"tab.icon\"\n\t\t\t\t:on-mount=\"tab.mount\"\n\t\t\t\t:on-update=\"tab.update\"\n\t\t\t\t:on-destroy=\"tab.destroy\"\n\t\t\t\t:on-scroll-bottom-reached=\"tab.scrollBottomReached\"\n\t\t\t\t:file-info=\"fileInfo\">\n\t\t\t\t<template v-if=\"tab.iconSvg !== undefined\" #icon>\n\t\t\t\t\t<!-- eslint-disable-next-line vue/no-v-html -->\n\t\t\t\t\t<span class=\"svg-icon\" v-html=\"tab.iconSvg\" />\n\t\t\t\t</template>\n\t\t\t</SidebarTab>\n\t\t</template>\n\t</NcAppSidebar>\n</template>\n<script>\nimport { encodePath } from '@nextcloud/paths'\nimport $ from 'jquery'\nimport axios from '@nextcloud/axios'\nimport { emit } from '@nextcloud/event-bus'\nimport moment from '@nextcloud/moment'\nimport { Type as ShareTypes } from '@nextcloud/sharing'\n\nimport NcAppSidebar from '@nextcloud/vue/dist/Components/NcAppSidebar.js'\nimport NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'\nimport NcEmptyContent from '@nextcloud/vue/dist/Components/NcEmptyContent.js'\n\nimport FileInfo from '../services/FileInfo.js'\nimport SidebarTab from '../components/SidebarTab.vue'\nimport LegacyView from '../components/LegacyView.vue'\nimport SystemTags from '../../../systemtags/src/components/SystemTags.vue'\n\nexport default {\n\tname: 'Sidebar',\n\n\tcomponents: {\n\t\tLegacyView,\n\t\tNcActionButton,\n\t\tNcAppSidebar,\n\t\tNcEmptyContent,\n\t\tSidebarTab,\n\t\tSystemTags,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\t// reactive state\n\t\t\tSidebar: OCA.Files.Sidebar.state,\n\t\t\tshowTags: false,\n\t\t\terror: null,\n\t\t\tloading: true,\n\t\t\tfileInfo: null,\n\t\t\tstarLoading: false,\n\t\t\tisFullScreen: false,\n\t\t\thasLowHeight: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Current filename\n\t\t * This is bound to the Sidebar service and\n\t\t * is used to load a new file\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tfile() {\n\t\t\treturn this.Sidebar.file\n\t\t},\n\n\t\t/**\n\t\t * List of all the registered tabs\n\t\t *\n\t\t * @return {Array}\n\t\t */\n\t\ttabs() {\n\t\t\treturn this.Sidebar.tabs\n\t\t},\n\n\t\t/**\n\t\t * List of all the registered views\n\t\t *\n\t\t * @return {Array}\n\t\t */\n\t\tviews() {\n\t\t\treturn this.Sidebar.views\n\t\t},\n\n\t\t/**\n\t\t * Current user dav root path\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tdavPath() {\n\t\t\tconst user = OC.getCurrentUser().uid\n\t\t\treturn OC.linkToRemote(`dav/files/${user}${encodePath(this.file)}`)\n\t\t},\n\n\t\t/**\n\t\t * Current active tab handler\n\t\t *\n\t\t * @param {string} id the tab id to set as active\n\t\t * @return {string} the current active tab\n\t\t */\n\t\tactiveTab() {\n\t\t\treturn this.Sidebar.activeTab\n\t\t},\n\n\t\t/**\n\t\t * Sidebar subtitle\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tsubtitle() {\n\t\t\treturn `${this.size}, ${this.time}`\n\t\t},\n\n\t\t/**\n\t\t * File last modified formatted string\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\ttime() {\n\t\t\treturn OC.Util.relativeModifiedDate(this.fileInfo.mtime)\n\t\t},\n\n\t\t/**\n\t\t * File last modified full string\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tfullTime() {\n\t\t\treturn moment(this.fileInfo.mtime).format('LLL')\n\t\t},\n\n\t\t/**\n\t\t * File size formatted string\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tsize() {\n\t\t\treturn OC.Util.humanFileSize(this.fileInfo.size)\n\t\t},\n\n\t\t/**\n\t\t * File background/figure to illustrate the sidebar header\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tbackground() {\n\t\t\treturn this.getPreviewIfAny(this.fileInfo)\n\t\t},\n\n\t\t/**\n\t\t * App sidebar v-binding object\n\t\t *\n\t\t * @return {object}\n\t\t */\n\t\tappSidebar() {\n\t\t\tif (this.fileInfo) {\n\t\t\t\treturn {\n\t\t\t\t\t'data-mimetype': this.fileInfo.mimetype,\n\t\t\t\t\t'star-loading': this.starLoading,\n\t\t\t\t\tactive: this.activeTab,\n\t\t\t\t\tbackground: this.background,\n\t\t\t\t\tclass: {\n\t\t\t\t\t\t'app-sidebar--has-preview': this.fileInfo.hasPreview && !this.isFullScreen,\n\t\t\t\t\t\t'app-sidebar--full': this.isFullScreen,\n\t\t\t\t\t},\n\t\t\t\t\tcompact: this.hasLowHeight || !this.fileInfo.hasPreview || this.isFullScreen,\n\t\t\t\t\tloading: this.loading,\n\t\t\t\t\tstarred: this.fileInfo.isFavourited,\n\t\t\t\t\tsubtitle: this.subtitle,\n\t\t\t\t\tsubtitleTooltip: this.fullTime,\n\t\t\t\t\ttitle: this.fileInfo.name,\n\t\t\t\t\ttitleTooltip: this.fileInfo.name,\n\t\t\t\t}\n\t\t\t} else if (this.error) {\n\t\t\t\treturn {\n\t\t\t\t\tkey: 'error', // force key to re-render\n\t\t\t\t\tsubtitle: '',\n\t\t\t\t\ttitle: '',\n\t\t\t\t\tclass: {\n\t\t\t\t\t\t'app-sidebar--full': this.isFullScreen,\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t}\n\t\t\t// no fileInfo yet, showing empty data\n\t\t\treturn {\n\t\t\t\tloading: this.loading,\n\t\t\t\tsubtitle: '',\n\t\t\t\ttitle: '',\n\t\t\t\tclass: {\n\t\t\t\t\t'app-sidebar--full': this.isFullScreen,\n\t\t\t\t},\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Default action object for the current file\n\t\t *\n\t\t * @return {object}\n\t\t */\n\t\tdefaultAction() {\n\t\t\treturn this.fileInfo\n\t\t\t\t&& OCA.Files && OCA.Files.App && OCA.Files.App.fileList\n\t\t\t\t&& OCA.Files.App.fileList.fileActions\n\t\t\t\t&& OCA.Files.App.fileList.fileActions.getDefaultFileAction\n\t\t\t\t&& OCA.Files.App.fileList\n\t\t\t\t\t.fileActions.getDefaultFileAction(this.fileInfo.mimetype, this.fileInfo.type, OC.PERMISSION_READ)\n\n\t\t},\n\n\t\t/**\n\t\t * Dynamic header click listener to ensure\n\t\t * nothing is listening for a click if there\n\t\t * is no default action\n\t\t *\n\t\t * @return {string|null}\n\t\t */\n\t\tdefaultActionListener() {\n\t\t\treturn this.defaultAction ? 'figure-click' : null\n\t\t},\n\n\t\tisSystemTagsEnabled() {\n\t\t\treturn OCA && 'SystemTags' in OCA\n\t\t},\n\t},\n\tcreated() {\n\t\twindow.addEventListener('resize', this.handleWindowResize)\n\t\tthis.handleWindowResize()\n\t},\n\tbeforeDestroy() {\n\t\twindow.removeEventListener('resize', this.handleWindowResize)\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Can this tab be displayed ?\n\t\t *\n\t\t * @param {object} tab a registered tab\n\t\t * @return {boolean}\n\t\t */\n\t\tcanDisplay(tab) {\n\t\t\treturn tab.enabled(this.fileInfo)\n\t\t},\n\t\tresetData() {\n\t\t\tthis.error = null\n\t\t\tthis.fileInfo = null\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tif (this.$refs.tabs) {\n\t\t\t\t\tthis.$refs.tabs.updateTabs()\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\n\t\tgetPreviewIfAny(fileInfo) {\n\t\t\tif (fileInfo.hasPreview && !this.isFullScreen) {\n\t\t\t\treturn OC.generateUrl(`/core/preview?fileId=${fileInfo.id}&x=${screen.width}&y=${screen.height}&a=true`)\n\t\t\t}\n\t\t\treturn this.getIconUrl(fileInfo)\n\t\t},\n\n\t\t/**\n\t\t * Copied from https://github.com/nextcloud/server/blob/16e0887ec63591113ee3f476e0c5129e20180cde/apps/files/js/filelist.js#L1377\n\t\t * TODO: We also need this as a standalone library\n\t\t *\n\t\t * @param {object} fileInfo the fileinfo\n\t\t * @return {string} Url to the icon for mimeType\n\t\t */\n\t\tgetIconUrl(fileInfo) {\n\t\t\tconst mimeType = fileInfo.mimetype || 'application/octet-stream'\n\t\t\tif (mimeType === 'httpd/unix-directory') {\n\t\t\t\t// use default folder icon\n\t\t\t\tif (fileInfo.mountType === 'shared' || fileInfo.mountType === 'shared-root') {\n\t\t\t\t\treturn OC.MimeType.getIconUrl('dir-shared')\n\t\t\t\t} else if (fileInfo.mountType === 'external-root') {\n\t\t\t\t\treturn OC.MimeType.getIconUrl('dir-external')\n\t\t\t\t} else if (fileInfo.mountType !== undefined && fileInfo.mountType !== '') {\n\t\t\t\t\treturn OC.MimeType.getIconUrl('dir-' + fileInfo.mountType)\n\t\t\t\t} else if (fileInfo.shareTypes && (\n\t\t\t\t\tfileInfo.shareTypes.indexOf(ShareTypes.SHARE_TYPE_LINK) > -1\n\t\t\t\t\t|| fileInfo.shareTypes.indexOf(ShareTypes.SHARE_TYPE_EMAIL) > -1)\n\t\t\t\t) {\n\t\t\t\t\treturn OC.MimeType.getIconUrl('dir-public')\n\t\t\t\t} else if (fileInfo.shareTypes && fileInfo.shareTypes.length > 0) {\n\t\t\t\t\treturn OC.MimeType.getIconUrl('dir-shared')\n\t\t\t\t}\n\t\t\t\treturn OC.MimeType.getIconUrl('dir')\n\t\t\t}\n\t\t\treturn OC.MimeType.getIconUrl(mimeType)\n\t\t},\n\n\t\t/**\n\t\t * Set current active tab\n\t\t *\n\t\t * @param {string} id tab unique id\n\t\t */\n\t\tsetActiveTab(id) {\n\t\t\tOCA.Files.Sidebar.setActiveTab(id)\n\t\t\tthis.tabs.forEach(tab => tab.setIsActive(id === tab.id))\n\t\t},\n\n\t\t/**\n\t\t * Toggle favourite state\n\t\t * TODO: better implementation\n\t\t *\n\t\t * @param {boolean} state favourited or not\n\t\t */\n\t\tasync toggleStarred(state) {\n\t\t\ttry {\n\t\t\t\tthis.starLoading = true\n\t\t\t\tawait axios({\n\t\t\t\t\tmethod: 'PROPPATCH',\n\t\t\t\t\turl: this.davPath,\n\t\t\t\t\tdata: `<?xml version=\"1.0\"?>\n\t\t\t\t\t\t<d:propertyupdate xmlns:d=\"DAV:\" xmlns:oc=\"http://owncloud.org/ns\">\n\t\t\t\t\t\t${state ? '<d:set>' : '<d:remove>'}\n\t\t\t\t\t\t\t<d:prop>\n\t\t\t\t\t\t\t\t<oc:favorite>1</oc:favorite>\n\t\t\t\t\t\t\t</d:prop>\n\t\t\t\t\t\t${state ? '</d:set>' : '</d:remove>'}\n\t\t\t\t\t\t</d:propertyupdate>`,\n\t\t\t\t})\n\n\t\t\t\t// TODO: Obliterate as soon as possible and use events with new files app\n\t\t\t\t// Terrible fallback for legacy files: toggle filelist as well\n\t\t\t\tif (OCA.Files && OCA.Files.App && OCA.Files.App.fileList && OCA.Files.App.fileList.fileActions) {\n\t\t\t\t\tOCA.Files.App.fileList.fileActions.triggerAction('Favorite', OCA.Files.App.fileList.getModelForFile(this.fileInfo.name), OCA.Files.App.fileList)\n\t\t\t\t}\n\n\t\t\t} catch (error) {\n\t\t\t\tOC.Notification.showTemporary(t('files', 'Unable to change the favourite state of the file'))\n\t\t\t\tconsole.error('Unable to change favourite state', error)\n\t\t\t}\n\t\t\tthis.starLoading = false\n\t\t},\n\n\t\tonDefaultAction() {\n\t\t\tif (this.defaultAction) {\n\t\t\t\t// generate fake context\n\t\t\t\tthis.defaultAction.action(this.fileInfo.name, {\n\t\t\t\t\tfileInfo: this.fileInfo,\n\t\t\t\t\tdir: this.fileInfo.dir,\n\t\t\t\t\tfileList: OCA.Files.App.fileList,\n\t\t\t\t\t$file: $('body'),\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Toggle the tags selector\n\t\t */\n\t\ttoggleTags() {\n\t\t\tthis.showTags = !this.showTags\n\t\t},\n\n\t\t/**\n\t\t * Open the sidebar for the given file\n\t\t *\n\t\t * @param {string} path the file path to load\n\t\t * @return {Promise}\n\t\t * @throws {Error} loading failure\n\t\t */\n\t\tasync open(path) {\n\t\t\t// update current opened file\n\t\t\tthis.Sidebar.file = path\n\n\t\t\tif (path && path.trim() !== '') {\n\t\t\t\t// reset data, keep old fileInfo to not reload all tabs and just hide them\n\t\t\t\tthis.error = null\n\t\t\t\tthis.loading = true\n\n\t\t\t\ttry {\n\t\t\t\t\tthis.fileInfo = await FileInfo(this.davPath)\n\t\t\t\t\t// adding this as fallback because other apps expect it\n\t\t\t\t\tthis.fileInfo.dir = this.file.split('/').slice(0, -1).join('/')\n\n\t\t\t\t\t// DEPRECATED legacy views\n\t\t\t\t\t// TODO: remove\n\t\t\t\t\tthis.views.forEach(view => {\n\t\t\t\t\t\tview.setFileInfo(this.fileInfo)\n\t\t\t\t\t})\n\n\t\t\t\t\tthis.$nextTick(() => {\n\t\t\t\t\t\tif (this.$refs.tabs) {\n\t\t\t\t\t\t\tthis.$refs.tabs.updateTabs()\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.setActiveTab(this.Sidebar.activeTab || this.tabs[0].id)\n\t\t\t\t\t})\n\t\t\t\t} catch (error) {\n\t\t\t\t\tthis.error = t('files', 'Error while loading the file data')\n\t\t\t\t\tconsole.error('Error while loading the file data', error)\n\n\t\t\t\t\tthrow new Error(error)\n\t\t\t\t} finally {\n\t\t\t\t\tthis.loading = false\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Close the sidebar\n\t\t */\n\t\tclose() {\n\t\t\tthis.Sidebar.file = ''\n\t\t\tthis.showTags = false\n\t\t\tthis.resetData()\n\t\t},\n\n\t\t/**\n\t\t * Allow to set the Sidebar as fullscreen from OCA.Files.Sidebar\n\t\t *\n\t\t * @param {boolean} isFullScreen - Whether or not to render the Sidebar in fullscreen.\n\t\t */\n\t\tsetFullScreenMode(isFullScreen) {\n\t\t\tthis.isFullScreen = isFullScreen\n\t\t\tif (isFullScreen) {\n\t\t\t\tdocument.querySelector('#content')?.classList.add('with-sidebar--full')\n\t\t\t\t\t|| document.querySelector('#content-vue')?.classList.add('with-sidebar--full')\n\t\t\t} else {\n\t\t\t\tdocument.querySelector('#content')?.classList.remove('with-sidebar--full')\n\t\t\t\t\t|| document.querySelector('#content-vue')?.classList.remove('with-sidebar--full')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Emit SideBar events.\n\t\t */\n\t\thandleOpening() {\n\t\t\temit('files:sidebar:opening')\n\t\t},\n\t\thandleOpened() {\n\t\t\temit('files:sidebar:opened')\n\t\t},\n\t\thandleClosing() {\n\t\t\temit('files:sidebar:closing')\n\t\t},\n\t\thandleClosed() {\n\t\t\temit('files:sidebar:closed')\n\t\t},\n\t\thandleWindowResize() {\n\t\t\tthis.hasLowHeight = document.documentElement.clientHeight < 1024\n\t\t},\n\t},\n}\n</script>\n<style lang=\"scss\" scoped>\n.app-sidebar {\n\t&--has-preview:deep {\n\t\t.app-sidebar-header__figure {\n\t\t\tbackground-size: cover;\n\t\t}\n\n\t\t&[data-mimetype=\"text/plain\"],\n\t\t&[data-mimetype=\"text/markdown\"] {\n\t\t\t.app-sidebar-header__figure {\n\t\t\t\tbackground-size: contain;\n\t\t\t}\n\t\t}\n\t}\n\n\t&--full {\n\t\tposition: fixed !important;\n\t\tz-index: 2025 !important;\n\t\ttop: 0 !important;\n\t\theight: 100% !important;\n\t}\n\n\t:deep {\n\t\t.app-sidebar-header__description {\n\t\t\tmargin: 0 16px 4px 16px !important;\n\t\t}\n\t}\n\n\t.svg-icon {\n\t\t::v-deep svg {\n\t\t\twidth: 20px;\n\t\t\theight: 20px;\n\t\t\tfill: currentColor;\n\t\t}\n\t}\n}\n\n.sidebar__description {\n\tdisplay: flex;\n\tflex-direction: column;\n\twidth: 100%;\n\tgap: 8px 0;\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.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!./Sidebar.vue?vue&type=script&lang=js&\"","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\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\nimport axios from '@nextcloud/axios'\n\n/**\n * @param {any} url -\n */\nexport default async function(url) {\n\tconst response = await axios({\n\t\tmethod: 'PROPFIND',\n\t\turl,\n\t\tdata: `<?xml version=\"1.0\"?>\n\t\t\t<d:propfind xmlns:d=\"DAV:\"\n\t\t\t\txmlns:oc=\"http://owncloud.org/ns\"\n\t\t\t\txmlns:nc=\"http://nextcloud.org/ns\"\n\t\t\t\txmlns:ocs=\"http://open-collaboration-services.org/ns\">\n\t\t\t<d:prop>\n\t\t\t\t<d:getlastmodified />\n\t\t\t\t<d:getetag />\n\t\t\t\t<d:getcontenttype />\n\t\t\t\t<d:resourcetype />\n\t\t\t\t<oc:fileid />\n\t\t\t\t<oc:permissions />\n\t\t\t\t<oc:size />\n\t\t\t\t<d:getcontentlength />\n\t\t\t\t<nc:has-preview />\n\t\t\t\t<nc:mount-type />\n\t\t\t\t<nc:is-encrypted />\n\t\t\t\t<ocs:share-permissions />\n\t\t\t\t<nc:share-attributes />\n\t\t\t\t<oc:tags />\n\t\t\t\t<oc:favorite />\n\t\t\t\t<oc:comments-unread />\n\t\t\t\t<oc:owner-id />\n\t\t\t\t<oc:owner-display-name />\n\t\t\t\t<oc:share-types />\n\t\t\t</d:prop>\n\t\t\t</d:propfind>`,\n\t})\n\n\t// TODO: create new parser or use cdav-lib when available\n\tconst file = OCA.Files.App.fileList.filesClient._client.parseMultiStatus(response.data)\n\t// TODO: create new parser or use cdav-lib when available\n\tconst fileInfo = OCA.Files.App.fileList.filesClient._parseFileInfo(file[0])\n\n\t// TODO remove when no more legacy backbone is used\n\tfileInfo.get = (key) => fileInfo[key]\n\tfileInfo.isDirectory = () => fileInfo.mimetype === 'httpd/unix-directory'\n\n\treturn fileInfo\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!./Sidebar.vue?vue&type=style&index=0&id=3d8912a4&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!./Sidebar.vue?vue&type=style&index=0&id=3d8912a4&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Sidebar.vue?vue&type=template&id=3d8912a4&scoped=true&\"\nimport script from \"./Sidebar.vue?vue&type=script&lang=js&\"\nexport * from \"./Sidebar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Sidebar.vue?vue&type=style&index=0&id=3d8912a4&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 \"3d8912a4\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.file)?_c('NcAppSidebar',_vm._b({ref:\"sidebar\",attrs:{\"force-menu\":true,\"tabindex\":\"0\"},on:_vm._d({\"close\":_vm.close,\"update:active\":_vm.setActiveTab,\"update:starred\":_vm.toggleStarred,\"opening\":_vm.handleOpening,\"opened\":_vm.handleOpened,\"closing\":_vm.handleClosing,\"closed\":_vm.handleClosed},[_vm.defaultActionListener,function($event){$event.stopPropagation();$event.preventDefault();return _vm.onDefaultAction.apply(null, arguments)}]),scopedSlots:_vm._u([(_vm.fileInfo)?{key:\"description\",fn:function(){return [_c('div',{staticClass:\"sidebar__description\"},[(_vm.isSystemTagsEnabled)?_c('SystemTags',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showTags),expression:\"showTags\"}],attrs:{\"file-id\":_vm.fileInfo.id},on:{\"has-tags\":value => _vm.showTags = value}}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.views),function(view){return _c('LegacyView',{key:view.cid,attrs:{\"component\":view,\"file-info\":_vm.fileInfo}})})],2)]},proxy:true}:null,(_vm.fileInfo)?{key:\"secondary-actions\",fn:function(){return [(_vm.isSystemTagsEnabled)?_c('NcActionButton',{attrs:{\"close-after-click\":true,\"icon\":\"icon-tag\"},on:{\"click\":_vm.toggleTags}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files', 'Tags'))+\"\\n\\t\\t\")]):_vm._e()]},proxy:true}:null],null,true)},'NcAppSidebar',_vm.appSidebar,false),[_vm._v(\" \"),_vm._v(\" \"),(_vm.error)?_c('NcEmptyContent',{attrs:{\"icon\":\"icon-error\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.error)+\"\\n\\t\")]):(_vm.fileInfo)?_vm._l((_vm.tabs),function(tab){return [(tab.enabled(_vm.fileInfo))?_c('SidebarTab',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.loading),expression:\"!loading\"}],key:tab.id,attrs:{\"id\":tab.id,\"name\":tab.name,\"icon\":tab.icon,\"on-mount\":tab.mount,\"on-update\":tab.update,\"on-destroy\":tab.destroy,\"on-scroll-bottom-reached\":tab.scrollBottomReached,\"file-info\":_vm.fileInfo},scopedSlots:_vm._u([(tab.iconSvg !== undefined)?{key:\"icon\",fn:function(){return [_c('span',{staticClass:\"svg-icon\",domProps:{\"innerHTML\":_vm._s(tab.iconSvg)}})]},proxy:true}:null],null,true)}):_vm._e()]}):_vm._e()],2):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\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\nimport Vue from 'vue'\nimport { translate as t } from '@nextcloud/l10n'\n\nimport SidebarView from './views/Sidebar.vue'\nimport Sidebar from './services/Sidebar.js'\nimport Tab from './models/Tab.js'\n\nVue.prototype.t = t\n\n// Init Sidebar Service\nif (!window.OCA.Files) {\n\twindow.OCA.Files = {}\n}\nObject.assign(window.OCA.Files, { Sidebar: new Sidebar() })\nObject.assign(window.OCA.Files.Sidebar, { Tab })\n\nconsole.debug('OCA.Files.Sidebar initialized')\n\nwindow.addEventListener('DOMContentLoaded', function() {\n\tconst contentElement = document.querySelector('body > .content')\n\t\t|| document.querySelector('body > #content')\n\n\t// Make sure we have a proper layout\n\tif (contentElement) {\n\t\t// Make sure we have a mountpoint\n\t\tif (!document.getElementById('app-sidebar')) {\n\t\t\tconst sidebarElement = document.createElement('div')\n\t\t\tsidebarElement.id = 'app-sidebar'\n\t\t\tcontentElement.appendChild(sidebarElement)\n\t\t}\n\t}\n\n\t// Init vue app\n\tconst View = Vue.extend(SidebarView)\n\tconst AppSidebar = new View({\n\t\tname: 'SidebarRoot',\n\t})\n\tAppSidebar.$mount('#app-sidebar')\n\twindow.OCA.Files.Sidebar.open = AppSidebar.open\n\twindow.OCA.Files.Sidebar.close = AppSidebar.close\n\twindow.OCA.Files.Sidebar.setFullScreenMode = AppSidebar.setFullScreenMode\n})\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\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 class Sidebar {\n\n\t_state\n\n\tconstructor() {\n\t\t// init empty state\n\t\tthis._state = {}\n\n\t\t// init default values\n\t\tthis._state.tabs = []\n\t\tthis._state.views = []\n\t\tthis._state.file = ''\n\t\tthis._state.activeTab = ''\n\t\tconsole.debug('OCA.Files.Sidebar initialized')\n\t}\n\n\t/**\n\t * Get the sidebar state\n\t *\n\t * @readonly\n\t * @memberof Sidebar\n\t * @return {object} the data state\n\t */\n\tget state() {\n\t\treturn this._state\n\t}\n\n\t/**\n\t * Register a new tab view\n\t *\n\t * @memberof Sidebar\n\t * @param {object} tab a new unregistered tab\n\t * @return {boolean}\n\t */\n\tregisterTab(tab) {\n\t\tconst hasDuplicate = this._state.tabs.findIndex(check => check.id === tab.id) > -1\n\t\tif (!hasDuplicate) {\n\t\t\tthis._state.tabs.push(tab)\n\t\t\treturn true\n\t\t}\n\t\tconsole.error(`An tab with the same id ${tab.id} already exists`, tab)\n\t\treturn false\n\t}\n\n\tregisterSecondaryView(view) {\n\t\tconst hasDuplicate = this._state.views.findIndex(check => check.id === view.id) > -1\n\t\tif (!hasDuplicate) {\n\t\t\tthis._state.views.push(view)\n\t\t\treturn true\n\t\t}\n\t\tconsole.error('A similar view already exists', view)\n\t\treturn false\n\t}\n\n\t/**\n\t * Return current opened file\n\t *\n\t * @memberof Sidebar\n\t * @return {string} the current opened file\n\t */\n\tget file() {\n\t\treturn this._state.file\n\t}\n\n\t/**\n\t * Set the current visible sidebar tab\n\t *\n\t * @memberof Sidebar\n\t * @param {string} id the tab unique id\n\t */\n\tsetActiveTab(id) {\n\t\tthis._state.activeTab = id\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\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 { sanitizeSVG } from '@skjnldsv/sanitize-svg'\n\nexport default class Tab {\n\n\t_id\n\t_name\n\t_icon\n\t_iconSvgSanitized\n\t_mount\n\t_setIsActive\n\t_update\n\t_destroy\n\t_enabled\n\t_scrollBottomReached\n\n\t/**\n\t * Create a new tab instance\n\t *\n\t * @param {object} options destructuring object\n\t * @param {string} options.id the unique id of this tab\n\t * @param {string} options.name the translated tab name\n\t * @param {?string} options.icon the icon css class\n\t * @param {?string} options.iconSvg the icon in svg format\n\t * @param {Function} options.mount function to mount the tab\n\t * @param {Function} [options.setIsActive] function to forward the active state of the tab\n\t * @param {Function} options.update function to update the tab\n\t * @param {Function} options.destroy function to destroy the tab\n\t * @param {Function} [options.enabled] define conditions whether this tab is active. Must returns a boolean\n\t * @param {Function} [options.scrollBottomReached] executed when the tab is scrolled to the bottom\n\t */\n\tconstructor({ id, name, icon, iconSvg, mount, setIsActive, update, destroy, enabled, scrollBottomReached } = {}) {\n\t\tif (enabled === undefined) {\n\t\t\tenabled = () => true\n\t\t}\n\t\tif (scrollBottomReached === undefined) {\n\t\t\tscrollBottomReached = () => { }\n\t\t}\n\n\t\t// Sanity checks\n\t\tif (typeof id !== 'string' || id.trim() === '') {\n\t\t\tthrow new Error('The id argument is not a valid string')\n\t\t}\n\t\tif (typeof name !== 'string' || name.trim() === '') {\n\t\t\tthrow new Error('The name argument is not a valid string')\n\t\t}\n\t\tif ((typeof icon !== 'string' || icon.trim() === '') && typeof iconSvg !== 'string') {\n\t\t\tthrow new Error('Missing valid string for icon or iconSvg argument')\n\t\t}\n\t\tif (typeof mount !== 'function') {\n\t\t\tthrow new Error('The mount argument should be a function')\n\t\t}\n\t\tif (setIsActive !== undefined && typeof setIsActive !== 'function') {\n\t\t\tthrow new Error('The setIsActive argument should be a function')\n\t\t}\n\t\tif (typeof update !== 'function') {\n\t\t\tthrow new Error('The update argument should be a function')\n\t\t}\n\t\tif (typeof destroy !== 'function') {\n\t\t\tthrow new Error('The destroy argument should be a function')\n\t\t}\n\t\tif (typeof enabled !== 'function') {\n\t\t\tthrow new Error('The enabled argument should be a function')\n\t\t}\n\t\tif (typeof scrollBottomReached !== 'function') {\n\t\t\tthrow new Error('The scrollBottomReached argument should be a function')\n\t\t}\n\n\t\tthis._id = id\n\t\tthis._name = name\n\t\tthis._icon = icon\n\t\tthis._mount = mount\n\t\tthis._setIsActive = setIsActive\n\t\tthis._update = update\n\t\tthis._destroy = destroy\n\t\tthis._enabled = enabled\n\t\tthis._scrollBottomReached = scrollBottomReached\n\n\t\tif (typeof iconSvg === 'string') {\n\t\t\tsanitizeSVG(iconSvg)\n\t\t\t\t.then(sanitizedSvg => {\n\t\t\t\t\tthis._iconSvgSanitized = sanitizedSvg\n\t\t\t\t})\n\t\t}\n\n\t}\n\n\tget id() {\n\t\treturn this._id\n\t}\n\n\tget name() {\n\t\treturn this._name\n\t}\n\n\tget icon() {\n\t\treturn this._icon\n\t}\n\n\tget iconSvg() {\n\t\treturn this._iconSvgSanitized\n\t}\n\n\tget mount() {\n\t\treturn this._mount\n\t}\n\n\tget setIsActive() {\n\t\treturn this._setIsActive || (() => undefined)\n\t}\n\n\tget update() {\n\t\treturn this._update\n\t}\n\n\tget destroy() {\n\t\treturn this._destroy\n\t}\n\n\tget enabled() {\n\t\treturn this._enabled\n\t}\n\n\tget scrollBottomReached() {\n\t\treturn this._scrollBottomReached\n\t}\n\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, \".app-sidebar--has-preview[data-v-3d8912a4] .app-sidebar-header__figure{background-size:cover}.app-sidebar--has-preview[data-v-3d8912a4][data-mimetype=\\\"text/plain\\\"] .app-sidebar-header__figure,.app-sidebar--has-preview[data-v-3d8912a4][data-mimetype=\\\"text/markdown\\\"] .app-sidebar-header__figure{background-size:contain}.app-sidebar--full[data-v-3d8912a4]{position:fixed !important;z-index:2025 !important;top:0 !important;height:100% !important}.app-sidebar[data-v-3d8912a4] .app-sidebar-header__description{margin:0 16px 4px 16px !important}.app-sidebar .svg-icon[data-v-3d8912a4] svg{width:20px;height:20px;fill:currentColor}.sidebar__description[data-v-3d8912a4]{display:flex;flex-direction:column;width:100%;gap:8px 0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/views/Sidebar.vue\"],\"names\":[],\"mappings\":\"AAGE,uEACC,qBAAA,CAKA,yMACC,uBAAA,CAKH,oCACC,yBAAA,CACA,uBAAA,CACA,gBAAA,CACA,sBAAA,CAIA,+DACC,iCAAA,CAKD,4CACC,UAAA,CACA,WAAA,CACA,iBAAA,CAKH,uCACC,YAAA,CACA,qBAAA,CACA,UAAA,CACA,SAAA\",\"sourcesContent\":[\"\\n.app-sidebar {\\n\\t&--has-preview:deep {\\n\\t\\t.app-sidebar-header__figure {\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\n\\t\\t&[data-mimetype=\\\"text/plain\\\"],\\n\\t\\t&[data-mimetype=\\\"text/markdown\\\"] {\\n\\t\\t\\t.app-sidebar-header__figure {\\n\\t\\t\\t\\tbackground-size: contain;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&--full {\\n\\t\\tposition: fixed !important;\\n\\t\\tz-index: 2025 !important;\\n\\t\\ttop: 0 !important;\\n\\t\\theight: 100% !important;\\n\\t}\\n\\n\\t:deep {\\n\\t\\t.app-sidebar-header__description {\\n\\t\\t\\tmargin: 0 16px 4px 16px !important;\\n\\t\\t}\\n\\t}\\n\\n\\t.svg-icon {\\n\\t\\t::v-deep svg {\\n\\t\\t\\twidth: 20px;\\n\\t\\t\\theight: 20px;\\n\\t\\t\\tfill: currentColor;\\n\\t\\t}\\n\\t}\\n}\\n\\n.sidebar__description {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\twidth: 100%;\\n\\tgap: 8px 0;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\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, \".system-tags[data-v-7746ac6e]{display:flex;flex-direction:column}.system-tags label[for=system-tags-input][data-v-7746ac6e]{margin-bottom:2px}.system-tags__select[data-v-7746ac6e]{width:100%}.system-tags__select[data-v-7746ac6e] .vs__deselect{padding:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/systemtags/src/components/SystemTags.vue\"],\"names\":[],\"mappings\":\"AACA,8BACC,YAAA,CACA,qBAAA,CAEA,2DACC,iBAAA,CAGD,sCACC,UAAA,CAEC,oDACC,SAAA\",\"sourcesContent\":[\"\\n.system-tags {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\n\\tlabel[for=\\\"system-tags-input\\\"] {\\n\\t\\tmargin-bottom: 2px;\\n\\t}\\n\\n\\t&__select {\\n\\t\\twidth: 100%;\\n\\t\\t:deep {\\n\\t\\t\\t.vs__deselect {\\n\\t\\t\\t\\tpadding: 0;\\n\\t\\t\\t}\\n\\t\\t}\\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__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + \"00434e4baa0d8e7b79f1\" + \"\";\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 = 4092;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__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\t4092: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\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__(35090)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","name","components","NcAppSidebarTab","NcEmptyContent","props","fileInfo","type","Object","default","required","id","String","icon","onMount","Function","onUpdate","onDestroy","onScrollBottomReached","data","loading","computed","activeTab","$parent","watch","newFile","oldFile","$refs","mount","tab","_vm","this","_c","_self","ref","attrs","on","scopedSlots","_u","key","fn","_t","proxy","_v","_e","component","setFileInfo","mounted","$el","replaceAll","methods","OCA","Files","FileInfoModel","rootUrl","generateRemoteUrl","davClient","createClient","headers","requesttoken","_getRequestToken","getRequestToken","parseTags","tags","map","_ref","fromEntries","entries","_ref2","value","camelCase","parseIdFromLocation","url","queryPos","indexOf","substring","parts","split","result","length","pop","Number","formatTag","initialTag","tag","displayName","logger","getLoggerBuilder","setApp","detectUser","build","fetchTagsBody","selectTag","async","fileId","path","tagToPut","customRequest","method","error","t","Error","defaultBaseTag","userVisible","userAssignable","canAssign","Vue","NcLoadingIcon","NcSelectTags","sortedTags","selectedTags","loadingTags","getDirectoryContents","details","glob","fetchTags","lastUsedOrder","generateUrl","lastUsedTagIds","axios","fetchLastUsedTagIds","lastUsedTags","remainingTags","includes","push","sortByLastUsed","a","b","sort","showError","immediate","fetchSelectedTags","$emit","createOption","newDisplayName","baseTag","every","handleInput","filter","selectedTag","Boolean","sortToFront","tagToPost","contentLocation","get","createTag","createdTag","unshift","deleteFile","deleteTag","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","_setupProxy","staticClass","_s","handleSelect","handleCreate","handleDeselect","LegacyView","NcActionButton","NcAppSidebar","SidebarTab","SystemTags","Sidebar","state","showTags","starLoading","isFullScreen","hasLowHeight","file","tabs","views","davPath","user","OC","getCurrentUser","uid","linkToRemote","concat","encodePath","subtitle","size","time","Util","relativeModifiedDate","mtime","fullTime","moment","format","humanFileSize","background","getPreviewIfAny","appSidebar","mimetype","active","class","hasPreview","compact","starred","isFavourited","subtitleTooltip","title","titleTooltip","defaultAction","App","fileList","fileActions","getDefaultFileAction","PERMISSION_READ","defaultActionListener","isSystemTagsEnabled","created","window","addEventListener","handleWindowResize","beforeDestroy","removeEventListener","canDisplay","enabled","resetData","$nextTick","updateTabs","screen","width","height","getIconUrl","mimeType","mountType","MimeType","undefined","shareTypes","ShareTypes","setActiveTab","forEach","setIsActive","triggerAction","getModelForFile","Notification","showTemporary","console","onDefaultAction","action","dir","$file","$","toggleTags","trim","response","filesClient","_client","parseMultiStatus","_parseFileInfo","isDirectory","FileInfo","slice","join","view","close","setFullScreenMode","_document$querySelect","_document$querySelect2","_document$querySelect3","_document$querySelect4","document","querySelector","classList","add","remove","handleOpening","emit","handleOpened","handleClosing","handleClosed","documentElement","clientHeight","_b","_d","toggleStarred","$event","stopPropagation","preventDefault","apply","arguments","directives","rawName","expression","_l","cid","update","destroy","scrollBottomReached","iconSvg","domProps","assign","constructor","_state","debug","registerTab","findIndex","check","registerSecondaryView","Tab","_defineProperty","_id","_name","_icon","_mount","_setIsActive","_update","_destroy","_enabled","_scrollBottomReached","sanitizeSVG","then","sanitizedSvg","_iconSvgSanitized","contentElement","getElementById","sidebarElement","createElement","appendChild","AppSidebar","SidebarView","$mount","open","___CSS_LOADER_EXPORT___","module","webpackContext","req","webpackContextResolve","__webpack_require__","o","e","code","keys","resolve","exports","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","call","m","O","chunkIds","priority","notFulfilled","Infinity","i","fulfilled","j","splice","r","n","getter","__esModule","d","definition","defineProperty","enumerable","f","chunkId","Promise","all","reduce","promises","u","g","globalThis","obj","prop","prototype","hasOwnProperty","l","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","setTimeout","bind","target","head","Symbol","toStringTag","nmd","paths","children","scriptUrl","importScripts","location","currentScript","replace","p","baseURI","self","href","installedChunks","installedChunkData","promise","reject","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
|