1 |
- {"version":3,"file":"files_sharing-init.js?v=b1d82b2b5e8cbae1bef9","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/apps/files_sharing/src/services/logger.ts","webpack:///nextcloud/apps/files_sharing/src/services/SharingService.ts","webpack:///nextcloud/apps/files_sharing/src/views/shares.ts","webpack:///nextcloud/apps/files_sharing/src/actions/acceptShareAction.ts","webpack:///nextcloud/apps/files_sharing/src/actions/openInFilesAction.ts","webpack:///nextcloud/apps/files_sharing/src/actions/rejectShareAction.ts","webpack:///nextcloud/apps/files_sharing/src/actions/restoreShareAction.ts","webpack:///nextcloud/apps/files/src/logger.js","webpack:///nextcloud/apps/files/src/actions/sidebarAction.ts","webpack:///nextcloud/apps/files_sharing/src/utils/AccountIcon.ts","webpack://nextcloud/./apps/files_sharing/src/actions/sharingStatusAction.scss?3ea7","webpack:///nextcloud/apps/files_sharing/src/actions/sharingStatusAction.ts","webpack:///nextcloud/apps/files_sharing/src/init.ts","webpack:///nextcloud/apps/files_sharing/src/actions/sharingStatusAction.scss","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\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 * @copyright Copyright (c) 2022 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 { getLoggerBuilder } from '@nextcloud/logger';\nexport default getLoggerBuilder()\n .setApp('files_sharing')\n .detectUser()\n .build();\n","import { Folder, File, Permission } from '@nextcloud/files';\nimport { generateOcsUrl, generateRemoteUrl } from '@nextcloud/router';\nimport { getCurrentUser } from '@nextcloud/auth';\nimport axios from '@nextcloud/axios';\nimport logger from './logger';\nexport const rootPath = `/files/${getCurrentUser()?.uid}`;\nconst headers = {\n 'Content-Type': 'application/json',\n};\nconst ocsEntryToNode = async function (ocsEntry) {\n try {\n // Federated share handling\n if (ocsEntry?.remote_id !== undefined) {\n if (!ocsEntry.mimetype) {\n const mime = (await import('mime')).default;\n // This won't catch files without an extension, but this is the best we can do\n ocsEntry.mimetype = mime.getType(ocsEntry.name);\n }\n ocsEntry.item_type = ocsEntry.type || (ocsEntry.mimetype ? 'file' : 'folder');\n // different naming for remote shares\n ocsEntry.item_mtime = ocsEntry.mtime;\n ocsEntry.file_target = ocsEntry.file_target || ocsEntry.mountpoint;\n // Need to set permissions to NONE for federated shares\n ocsEntry.item_permissions = Permission.NONE;\n ocsEntry.permissions = Permission.NONE;\n ocsEntry.uid_owner = ocsEntry.owner;\n // TODO: have the real display name stored somewhere\n ocsEntry.displayname_owner = ocsEntry.owner;\n }\n const isFolder = ocsEntry?.item_type === 'folder';\n const hasPreview = ocsEntry?.has_preview === true;\n const Node = isFolder ? Folder : File;\n // If this is an external share that is not yet accepted,\n // we don't have an id. We can fallback to the row id temporarily\n // local shares (this server) use `file_source`, but remote shares (federated) use `file_id`\n const fileid = ocsEntry.file_source || ocsEntry.file_id || ocsEntry.id;\n // Generate path and strip double slashes\n const path = ocsEntry.path || ocsEntry.file_target || ocsEntry.name;\n const source = generateRemoteUrl(`dav/${rootPath}/${path}`.replaceAll(/\\/\\//gm, '/'));\n let mtime = ocsEntry.item_mtime ? new Date((ocsEntry.item_mtime) * 1000) : undefined;\n // Prefer share time if more recent than item mtime\n if (ocsEntry?.stime > (ocsEntry?.item_mtime || 0)) {\n mtime = new Date((ocsEntry.stime) * 1000);\n }\n return new Node({\n id: fileid,\n source,\n owner: ocsEntry?.uid_owner,\n mime: ocsEntry?.mimetype || 'application/octet-stream',\n mtime,\n size: ocsEntry?.item_size,\n permissions: ocsEntry?.item_permissions || ocsEntry?.permissions,\n root: rootPath,\n attributes: {\n ...ocsEntry,\n 'has-preview': hasPreview,\n // Also check the sharingStatusAction.ts code\n 'owner-id': ocsEntry?.uid_owner,\n 'owner-display-name': ocsEntry?.displayname_owner,\n 'share-types': ocsEntry?.share_type,\n favorite: ocsEntry?.tags?.includes(window.OC.TAG_FAVORITE) ? 1 : 0,\n },\n });\n }\n catch (error) {\n logger.error('Error while parsing OCS entry', { error });\n return null;\n }\n};\nconst getShares = function (shared_with_me = false) {\n const url = generateOcsUrl('apps/files_sharing/api/v1/shares');\n return axios.get(url, {\n headers,\n params: {\n shared_with_me,\n include_tags: true,\n },\n });\n};\nconst getSharedWithYou = function () {\n return getShares(true);\n};\nconst getSharedWithOthers = function () {\n return getShares();\n};\nconst getRemoteShares = function () {\n const url = generateOcsUrl('apps/files_sharing/api/v1/remote_shares');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n};\nconst getPendingShares = function () {\n const url = generateOcsUrl('apps/files_sharing/api/v1/shares/pending');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n};\nconst getRemotePendingShares = function () {\n const url = generateOcsUrl('apps/files_sharing/api/v1/remote_shares/pending');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n};\nconst getDeletedShares = function () {\n const url = generateOcsUrl('apps/files_sharing/api/v1/deletedshares');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n};\n/**\n * Group an array of objects (here Nodes) by a key\n * and return an array of arrays of them.\n * @param nodes Nodes to group\n * @param key The attribute to group by\n */\nconst groupBy = function (nodes, key) {\n return Object.values(nodes.reduce(function (acc, curr) {\n (acc[curr[key]] = acc[curr[key]] || []).push(curr);\n return acc;\n }, {}));\n};\nexport const getContents = async (sharedWithYou = true, sharedWithOthers = true, pendingShares = false, deletedshares = false, filterTypes = []) => {\n const promises = [];\n if (sharedWithYou) {\n promises.push(getSharedWithYou(), getRemoteShares());\n }\n if (sharedWithOthers) {\n promises.push(getSharedWithOthers());\n }\n if (pendingShares) {\n promises.push(getPendingShares(), getRemotePendingShares());\n }\n if (deletedshares) {\n promises.push(getDeletedShares());\n }\n const responses = await Promise.all(promises);\n const data = responses.map((response) => response.data.ocs.data).flat();\n let contents = (await Promise.all(data.map(ocsEntryToNode)))\n .filter((node) => node !== null);\n if (filterTypes.length > 0) {\n contents = contents.filter((node) => filterTypes.includes(node.attributes?.share_type));\n }\n // Merge duplicate shares and group their attributes\n // Also check the sharingStatusAction.ts code\n contents = groupBy(contents, 'source').map((nodes) => {\n const node = nodes[0];\n node.attributes['share-types'] = nodes.map(node => node.attributes['share-types']);\n return node;\n });\n return {\n folder: new Folder({\n id: 0,\n source: generateRemoteUrl('dav' + rootPath),\n owner: getCurrentUser()?.uid || null,\n }),\n contents,\n };\n};\n","/**\n * @copyright Copyright (c) 2023 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 { translate as t } from '@nextcloud/l10n';\nimport { View, getNavigation } from '@nextcloud/files';\nimport AccountClockSvg from '@mdi/svg/svg/account-clock.svg?raw';\nimport AccountGroupSvg from '@mdi/svg/svg/account-group.svg?raw';\nimport AccountPlusSvg from '@mdi/svg/svg/account-plus.svg?raw';\nimport AccountSvg from '@mdi/svg/svg/account.svg?raw';\nimport DeleteSvg from '@mdi/svg/svg/delete.svg?raw';\nimport LinkSvg from '@mdi/svg/svg/link.svg?raw';\nimport { getContents } from '../services/SharingService';\nexport const sharesViewId = 'shareoverview';\nexport const sharedWithYouViewId = 'sharingin';\nexport const sharedWithOthersViewId = 'sharingout';\nexport const sharingByLinksViewId = 'sharinglinks';\nexport const deletedSharesViewId = 'deletedshares';\nexport const pendingSharesViewId = 'pendingshares';\nexport default () => {\n const Navigation = getNavigation();\n Navigation.register(new View({\n id: sharesViewId,\n name: t('files_sharing', 'Shares'),\n caption: t('files_sharing', 'Overview of shared files.'),\n emptyTitle: t('files_sharing', 'No shares'),\n emptyCaption: t('files_sharing', 'Files and folders you shared or have been shared with you will show up here'),\n icon: AccountPlusSvg,\n order: 20,\n columns: [],\n getContents: () => getContents(),\n }));\n Navigation.register(new View({\n id: sharedWithYouViewId,\n name: t('files_sharing', 'Shared with you'),\n caption: t('files_sharing', 'List of files that are shared with you.'),\n emptyTitle: t('files_sharing', 'Nothing shared with you yet'),\n emptyCaption: t('files_sharing', 'Files and folders others shared with you will show up here'),\n icon: AccountSvg,\n order: 1,\n parent: sharesViewId,\n columns: [],\n getContents: () => getContents(true, false, false, false),\n }));\n Navigation.register(new View({\n id: sharedWithOthersViewId,\n name: t('files_sharing', 'Shared with others'),\n caption: t('files_sharing', 'List of files that you shared with others.'),\n emptyTitle: t('files_sharing', 'Nothing shared yet'),\n emptyCaption: t('files_sharing', 'Files and folders you shared will show up here'),\n icon: AccountGroupSvg,\n order: 2,\n parent: sharesViewId,\n columns: [],\n getContents: () => getContents(false, true, false, false),\n }));\n Navigation.register(new View({\n id: sharingByLinksViewId,\n name: t('files_sharing', 'Shared by link'),\n caption: t('files_sharing', 'List of files that are shared by link.'),\n emptyTitle: t('files_sharing', 'No shared links'),\n emptyCaption: t('files_sharing', 'Files and folders you shared by link will show up here'),\n icon: LinkSvg,\n order: 3,\n parent: sharesViewId,\n columns: [],\n getContents: () => getContents(false, true, false, false, [window.OC.Share.SHARE_TYPE_LINK]),\n }));\n Navigation.register(new View({\n id: deletedSharesViewId,\n name: t('files_sharing', 'Deleted shares'),\n caption: t('files_sharing', 'List of shares you left.'),\n emptyTitle: t('files_sharing', 'No deleted shares'),\n emptyCaption: t('files_sharing', 'Shares you have left will show up here'),\n icon: DeleteSvg,\n order: 4,\n parent: sharesViewId,\n columns: [],\n getContents: () => getContents(false, false, false, true),\n }));\n Navigation.register(new View({\n id: pendingSharesViewId,\n name: t('files_sharing', 'Pending shares'),\n caption: t('files_sharing', 'List of unapproved shares.'),\n emptyTitle: t('files_sharing', 'No pending shares'),\n emptyCaption: t('files_sharing', 'Shares you have received but not approved will show up here'),\n icon: AccountClockSvg,\n order: 5,\n parent: sharesViewId,\n columns: [],\n getContents: () => getContents(false, false, true, false),\n }));\n};\n","import { emit } from '@nextcloud/event-bus';\nimport { generateOcsUrl } from '@nextcloud/router';\nimport { registerFileAction, FileAction } from '@nextcloud/files';\nimport { translatePlural as n } from '@nextcloud/l10n';\nimport axios from '@nextcloud/axios';\nimport CheckSvg from '@mdi/svg/svg/check.svg?raw';\nimport { pendingSharesViewId } from '../views/shares';\nexport const action = new FileAction({\n id: 'accept-share',\n displayName: (nodes) => n('files_sharing', 'Accept share', 'Accept shares', nodes.length),\n iconSvgInline: () => CheckSvg,\n enabled: (nodes, view) => nodes.length > 0 && view.id === pendingSharesViewId,\n async exec(node) {\n try {\n const isRemote = !!node.attributes.remote;\n const url = generateOcsUrl('apps/files_sharing/api/v1/{shareBase}/pending/{id}', {\n shareBase: isRemote ? 'remote_shares' : 'shares',\n id: node.attributes.id,\n });\n await axios.post(url);\n // Remove from current view\n emit('files:node:deleted', node);\n return true;\n }\n catch (error) {\n return false;\n }\n },\n async execBatch(nodes, view, dir) {\n return Promise.all(nodes.map(node => this.exec(node, view, dir)));\n },\n order: 1,\n inline: () => true,\n});\nregisterFileAction(action);\n","import { registerFileAction, FileAction, DefaultType, FileType } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport { sharesViewId, sharedWithYouViewId, sharedWithOthersViewId, sharingByLinksViewId } from '../views/shares';\nexport const action = new FileAction({\n id: 'open-in-files',\n displayName: () => t('files', 'Open in Files'),\n iconSvgInline: () => '',\n enabled: (nodes, view) => [\n sharesViewId,\n sharedWithYouViewId,\n sharedWithOthersViewId,\n sharingByLinksViewId,\n // Deleted and pending shares are not\n // accessible in the files app.\n ].includes(view.id),\n async exec(node) {\n const isFolder = node.type === FileType.Folder;\n window.OCP.Files.Router.goToRoute(null, // use default route\n {\n view: 'files',\n fileid: String(node.fileid),\n }, {\n // If this node is a folder open the folder in files\n dir: isFolder ? node.path : node.dirname,\n // otherwise if this is a file, we should open it\n openfile: isFolder ? undefined : 'true',\n });\n return null;\n },\n // Before openFolderAction\n order: -1000,\n default: DefaultType.HIDDEN,\n});\nregisterFileAction(action);\n","import { emit } from '@nextcloud/event-bus';\nimport { generateOcsUrl } from '@nextcloud/router';\nimport { registerFileAction, FileAction } from '@nextcloud/files';\nimport { translatePlural as n } from '@nextcloud/l10n';\nimport axios from '@nextcloud/axios';\nimport CloseSvg from '@mdi/svg/svg/close.svg?raw';\nimport { pendingSharesViewId } from '../views/shares';\nexport const action = new FileAction({\n id: 'reject-share',\n displayName: (nodes) => n('files_sharing', 'Reject share', 'Reject shares', nodes.length),\n iconSvgInline: () => CloseSvg,\n enabled: (nodes, view) => {\n if (view.id !== pendingSharesViewId) {\n return false;\n }\n if (nodes.length === 0) {\n return false;\n }\n // disable rejecting group shares from the pending list because they anyway\n // land back into that same list after rejecting them\n if (nodes.some(node => node.attributes.remote_id\n && node.attributes.share_type === window.OC.Share.SHARE_TYPE_REMOTE_GROUP)) {\n return false;\n }\n return true;\n },\n async exec(node) {\n try {\n const isRemote = !!node.attributes.remote;\n const url = generateOcsUrl('apps/files_sharing/api/v1/{shareBase}/{id}', {\n shareBase: isRemote ? 'remote_shares' : 'shares',\n id: node.attributes.id,\n });\n await axios.delete(url);\n // Remove from current view\n emit('files:node:deleted', node);\n return true;\n }\n catch (error) {\n return false;\n }\n },\n async execBatch(nodes, view, dir) {\n return Promise.all(nodes.map(node => this.exec(node, view, dir)));\n },\n order: 2,\n inline: () => true,\n});\nregisterFileAction(action);\n","import { emit } from '@nextcloud/event-bus';\nimport { FileAction, registerFileAction } from '@nextcloud/files';\nimport { generateOcsUrl } from '@nextcloud/router';\nimport { translatePlural as n } from '@nextcloud/l10n';\nimport ArrowULeftTopSvg from '@mdi/svg/svg/arrow-u-left-top.svg?raw';\nimport axios from '@nextcloud/axios';\nimport { deletedSharesViewId } from '../views/shares';\nexport const action = new FileAction({\n id: 'restore-share',\n displayName: (nodes) => n('files_sharing', 'Restore share', 'Restore shares', nodes.length),\n iconSvgInline: () => ArrowULeftTopSvg,\n enabled: (nodes, view) => nodes.length > 0 && view.id === deletedSharesViewId,\n async exec(node) {\n try {\n const url = generateOcsUrl('apps/files_sharing/api/v1/deletedshares/{id}', {\n id: node.attributes.id,\n });\n await axios.post(url);\n // Remove from current view\n emit('files:node:deleted', node);\n return true;\n }\n catch (error) {\n return false;\n }\n },\n async execBatch(nodes, view, dir) {\n return Promise.all(nodes.map(node => this.exec(node, view, dir)));\n },\n order: 1,\n inline: () => true,\n});\nregisterFileAction(action);\n","/**\n * @copyright Copyright (c) 2022 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 { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('files')\n\t.detectUser()\n\t.build()\n","/**\n * @copyright Copyright (c) 2023 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 { Permission, View, FileAction, FileType } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport InformationSvg from '@mdi/svg/svg/information-variant.svg?raw';\nimport logger from '../logger.js';\nexport const ACTION_DETAILS = 'details';\nexport const action = new FileAction({\n id: ACTION_DETAILS,\n displayName: () => t('files', 'Open details'),\n iconSvgInline: () => InformationSvg,\n // Sidebar currently supports user folder only, /files/USER\n enabled: (nodes) => {\n // Only works on single node\n if (nodes.length !== 1) {\n return false;\n }\n if (!nodes[0]) {\n return false;\n }\n // Only work if the sidebar is available\n if (!window?.OCA?.Files?.Sidebar) {\n return false;\n }\n return (nodes[0].root?.startsWith('/files/') && nodes[0].permissions !== Permission.NONE) ?? false;\n },\n async exec(node, view, dir) {\n try {\n // TODO: migrate Sidebar to use a Node instead\n await window.OCA.Files.Sidebar.open(node.path);\n // Silently update current fileid\n window.OCP.Files.Router.goToRoute(null, { view: view.id, fileid: node.fileid }, { ...window.OCP.Files.Router.query, dir }, true);\n return null;\n }\n catch (error) {\n logger.error('Error while opening sidebar', { error });\n return false;\n }\n },\n order: -50,\n});\n","/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { generateUrl } from '@nextcloud/router';\nconst isDarkMode = window?.matchMedia?.('(prefers-color-scheme: dark)')?.matches === true\n || document.querySelector('[data-themes*=dark]') !== null;\nexport const generateAvatarSvg = (userId, isExternalUser = false) => {\n const url = isDarkMode ? '/avatar/{userId}/32/dark' : '/avatar/{userId}/32';\n const avatarUrl = generateUrl(isExternalUser ? url + '?guestFallback=true' : url, { userId });\n return `<svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\"\n\t\txmlns=\"http://www.w3.org/2000/svg\" class=\"sharing-status__avatar\">\n\t\t<image href=\"${avatarUrl}\" height=\"32\" width=\"32\" />\n\t</svg>`;\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/sass-loader/dist/cjs.js!./sharingStatusAction.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/sass-loader/dist/cjs.js!./sharingStatusAction.scss\";\n export default content && content.locals ? content.locals : undefined;\n","/**\n * @copyright Copyright (c) 2023 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 { Node, View, registerFileAction, FileAction, Permission } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport { Type } from '@nextcloud/sharing';\nimport AccountGroupSvg from '@mdi/svg/svg/account-group.svg?raw';\nimport AccountPlusSvg from '@mdi/svg/svg/account-plus.svg?raw';\nimport LinkSvg from '@mdi/svg/svg/link.svg?raw';\nimport CircleSvg from '../../../../core/img/apps/circles.svg?raw';\nimport { action as sidebarAction } from '../../../files/src/actions/sidebarAction';\nimport { getCurrentUser } from '@nextcloud/auth';\nimport { generateAvatarSvg } from '../utils/AccountIcon.ts';\nimport './sharingStatusAction.scss';\nconst isExternal = (node) => {\n return node.attributes?.['is-federated'] ?? false;\n};\nexport const action = new FileAction({\n id: 'sharing-status',\n displayName(nodes) {\n const node = nodes[0];\n const shareTypes = Object.values(node?.attributes?.['share-types'] || {}).flat();\n const ownerId = node?.attributes?.['owner-id'];\n if (shareTypes.length > 0\n || (ownerId !== getCurrentUser()?.uid || isExternal(node))) {\n return t('files_sharing', 'Shared');\n }\n return '';\n },\n title(nodes) {\n const node = nodes[0];\n const ownerId = node?.attributes?.['owner-id'];\n const ownerDisplayName = node?.attributes?.['owner-display-name'];\n // Mixed share types\n if (Array.isArray(node.attributes?.['share-types']) && node.attributes?.['share-types'].length > 1) {\n return t('files_sharing', 'Shared multiple times with different people');\n }\n if (ownerId && (ownerId !== getCurrentUser()?.uid || isExternal(node))) {\n return t('files_sharing', 'Shared by {ownerDisplayName}', { ownerDisplayName });\n }\n return t('files_sharing', 'Show sharing options');\n },\n iconSvgInline(nodes) {\n const node = nodes[0];\n const shareTypes = Object.values(node?.attributes?.['share-types'] || {}).flat();\n // Mixed share types\n if (Array.isArray(node.attributes?.['share-types']) && node.attributes?.['share-types'].length > 1) {\n return AccountPlusSvg;\n }\n // Link shares\n if (shareTypes.includes(Type.SHARE_TYPE_LINK)\n || shareTypes.includes(Type.SHARE_TYPE_EMAIL)) {\n return LinkSvg;\n }\n // Group shares\n if (shareTypes.includes(Type.SHARE_TYPE_GROUP)\n || shareTypes.includes(Type.SHARE_TYPE_REMOTE_GROUP)) {\n return AccountGroupSvg;\n }\n // Circle shares\n if (shareTypes.includes(Type.SHARE_TYPE_CIRCLE)) {\n return CircleSvg;\n }\n const ownerId = node?.attributes?.['owner-id'];\n if (ownerId && (ownerId !== getCurrentUser()?.uid || isExternal(node))) {\n const sanitizeId = (id) => id.replace(/[^a-zA-Z0-9._%+@-]+/g, '').replace(/\\//g, '');\n return generateAvatarSvg(sanitizeId(ownerId), isExternal(node));\n }\n return AccountPlusSvg;\n },\n enabled(nodes) {\n if (nodes.length !== 1) {\n return false;\n }\n const node = nodes[0];\n const ownerId = node?.attributes?.['owner-id'];\n const isMixed = Array.isArray(node.attributes?.['share-types']);\n // If the node is shared multiple times with\n // different share types to the current user\n if (isMixed) {\n return true;\n }\n // If the node is shared by someone else\n if (ownerId && (ownerId !== getCurrentUser()?.uid || isExternal(node))) {\n return true;\n }\n return (node.permissions & Permission.SHARE) !== 0;\n },\n async exec(node, view, dir) {\n // You need read permissions to see the sidebar\n if ((node.permissions & Permission.READ) !== 0) {\n window.OCA?.Files?.Sidebar?.setActiveTab?.('sharing');\n return sidebarAction.exec(node, view, dir);\n }\n return null;\n },\n inline: () => true,\n});\nregisterFileAction(action);\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\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 { registerDavProperty } from '@nextcloud/files';\nimport registerSharingViews from './views/shares';\nimport './actions/acceptShareAction';\nimport './actions/openInFilesAction';\nimport './actions/rejectShareAction';\nimport './actions/restoreShareAction';\nimport './actions/sharingStatusAction';\nregisterSharingViews();\nregisterDavProperty('nc:share-attributes', { nc: 'http://nextcloud.org/ns' });\nregisterDavProperty('oc:share-types', { oc: 'http://owncloud.org/ns' });\nregisterDavProperty('ocs:share-permissions', { ocs: 'http://open-collaboration-services.org/ns' });\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, `.action-items>.files-list__row-action-sharing-status{direction:rtl;padding-right:0 !important}svg.sharing-status__avatar{height:32px !important;width:32px !important;max-height:32px !important;max-width:32px !important;border-radius:32px;overflow:hidden}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/actions/sharingStatusAction.scss\"],\"names\":[],\"mappings\":\"AAsBA,qDAEC,aAAA,CAEG,0BAAA,CAGJ,2BACC,sBAAA,CACA,qBAAA,CACA,0BAAA,CACA,yBAAA,CACA,kBAAA,CACA,eAAA\",\"sourcesContent\":[\"/**\\n * @copyright Copyright (c) 2023 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 // Only when rendered inline, when not enough space, this is put in the menu\\n.action-items > .files-list__row-action-sharing-status {\\n\\t// put icon at the end of the button\\n\\tdirection: rtl;\\n\\t// align icons with textless inline actions\\n padding-right: 0 !important;\\n}\\n\\nsvg.sharing-status__avatar {\\n\\theight: 32px !important;\\n\\twidth: 32px !important;\\n\\tmax-height: 32px !important;\\n\\tmax-width: 32px !important;\\n\\tborder-radius: 32px;\\n\\toverflow: hidden;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// 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=\" + \"6797210df0f1d53f94c4\" + \"\";\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 = 5928;","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 && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\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\t5928: 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}\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, [4208], () => (__webpack_require__(50879)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","getLoggerBuilder","setApp","detectUser","build","rootPath","concat","_getCurrentUser","getCurrentUser","uid","headers","ocsEntryToNode","async","ocsEntry","_ocsEntry$tags","undefined","remote_id","mimetype","mime","default","getType","name","item_type","type","item_mtime","mtime","file_target","mountpoint","item_permissions","Permission","NONE","permissions","uid_owner","owner","displayname_owner","isFolder","hasPreview","has_preview","Node","Folder","File","fileid","file_source","file_id","id","path","source","generateRemoteUrl","replaceAll","Date","stime","size","item_size","root","attributes","share_type","favorite","tags","includes","window","OC","TAG_FAVORITE","error","logger","getShares","shared_with_me","arguments","length","url","generateOcsUrl","axios","get","params","include_tags","getContents","_getCurrentUser2","sharedWithOthers","pendingShares","deletedshares","filterTypes","promises","push","getRemoteShares","getPendingShares","getRemotePendingShares","getDeletedShares","data","Promise","all","map","response","ocs","flat","contents","filter","node","nodes","key","_node$attributes","Object","values","reduce","acc","curr","folder","sharesViewId","sharedWithYouViewId","sharedWithOthersViewId","sharingByLinksViewId","deletedSharesViewId","pendingSharesViewId","action","FileAction","displayName","n","iconSvgInline","CheckSvg","enabled","view","exec","isRemote","remote","shareBase","post","emit","execBatch","dir","this","order","inline","registerFileAction","t","FileType","OCP","Files","Router","goToRoute","String","dirname","openfile","DefaultType","HIDDEN","some","Share","SHARE_TYPE_REMOTE_GROUP","delete","InformationSvg","_window","_ref","_nodes$0$root","OCA","Sidebar","startsWith","open","query","isDarkMode","_window$matchMedia","matchMedia","call","matches","document","querySelector","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","isExternal","_node$attributes$isF","_node$attributes2","_node$attributes3","shareTypes","ownerId","title","_node$attributes4","_node$attributes5","_node$attributes6","_node$attributes7","ownerDisplayName","Array","isArray","_node$attributes8","_node$attributes9","_node$attributes10","_node$attributes11","_getCurrentUser3","AccountPlusSvg","Type","SHARE_TYPE_LINK","SHARE_TYPE_EMAIL","LinkSvg","SHARE_TYPE_GROUP","AccountGroupSvg","SHARE_TYPE_CIRCLE","userId","isExternalUser","avatarUrl","generateUrl","generateAvatarSvg","replace","_node$attributes12","_node$attributes13","_getCurrentUser4","SHARE","_window$OCA","_window$OCA$setActive","READ","setActiveTab","sidebarAction","Navigation","getNavigation","register","View","caption","emptyTitle","emptyCaption","icon","columns","parent","registerSharingViews","registerDavProperty","nc","oc","___CSS_LOADER_EXPORT___","module","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","loaded","__webpack_modules__","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","keys","every","splice","r","getter","__esModule","d","a","definition","o","defineProperty","enumerable","f","e","chunkId","u","g","globalThis","Function","obj","prop","prototype","hasOwnProperty","l","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","createElement","charset","timeout","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","target","head","appendChild","Symbol","toStringTag","value","nmd","paths","children","scriptUrl","importScripts","location","currentScript","tagName","toUpperCase","test","Error","p","b","baseURI","self","href","installedChunks","installedChunkData","promise","resolve","reject","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
|