nextcloud/apps/files_sharing/js/dist/additionalScripts.js.map

1 line
56 KiB
Plaintext

{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./apps/files_sharing/src/collaborationresourceshandler.js","webpack:///./node_modules/css-loader/dist/runtime/api.js","webpack:///./node_modules/vue-style-loader/lib/listToStyles.js","webpack:///./node_modules/vue-style-loader/lib/addStylesClient.js","webpack:///./apps/files_sharing/src/additionalScripts.js","webpack:///./apps/files_sharing/src/share.js","webpack:///./apps/files_sharing/src/sharebreadcrumbview.js","webpack:///./apps/files_sharing/src/style/sharebreadcrumb.scss?fbff","webpack:///./apps/files_sharing/src/style/sharebreadcrumb.scss"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","__webpack_public_path__","OC","linkTo","__webpack_nonce__","btoa","requestToken","window","OCP","Collaboration","registerType","action","Promise","resolve","reject","dialogs","filepicker","f","Files","getClient","getFileInfo","then","status","fileInfo","id","fail","Error","FILEPICKER_TYPE_CHOOSE","allowDirectoryChooser","typeString","typeIconClass","useSourceMap","list","toString","this","map","item","content","cssMapping","sourceMapping","sourceMap","base64","unescape","encodeURIComponent","JSON","stringify","data","concat","sourceURLs","sources","source","sourceRoot","join","cssWithMappingToString","mediaQuery","alreadyImportedModules","length","_i","push","listToStyles","parentId","styles","newStyles","part","css","media","parts","hasDocument","document","DEBUG","stylesInDom","head","getElementsByTagName","singletonElement","singletonCounter","isProduction","noop","options","ssrIdKey","isOldIE","navigator","test","userAgent","toLowerCase","addStylesClient","_isProduction","_options","addStylesToDom","newList","mayRemove","domStyle","refs","j","addStyle","createStyleElement","styleElement","createElement","type","appendChild","obj","update","remove","querySelector","parentNode","removeChild","styleIndex","applyToSingletonTag","applyToTag","newObj","textStore","replaceText","index","replacement","filter","Boolean","styleSheet","cssText","cssNode","createTextNode","childNodes","insertBefore","setAttribute","ssrId","firstChild","OCA","Sharing","_","extend","Client","PROPERTY_SHARE_TYPES","NS_OWNCLOUD","PROPERTY_OWNER_ID","PROPERTY_OWNER_DISPLAY_NAME","Util","_REMOTE_OWNER_REGEXP","RegExp","attach","fileList","Share","fileActions","oldCreateRow","_createRow","fileData","tr","apply","arguments","sharePermissions","getSharePermissions","permissions","actions","all","Comment","Details","Goto","attr","shareOwner","shareOwnerId","mountType","PERMISSION_UPDATE","recipientData","isEmpty","shareTypes","oldElementToFile","elementToFile","$el","undefined","split","expirationTimestamp","parseInt","shares","expiration","oldGetWebdavProperties","_getWebdavProperties","props","filesClient","addFileInfoParser","response","propStat","properties","permissionsProp","PROPERTY_PERMISSIONS","indexOf","shareTypesProp","chain","xmlvalue","namespaceURI","nodeName","textContent","text","on","ev","$files","each","file","$tr","$","hasLink","hasShares","shareType","SHARE_TYPE_LINK","SHARE_TYPE_EMAIL","SHARE_TYPE_USER","SHARE_TYPE_GROUP","SHARE_TYPE_REMOTE","SHARE_TYPE_CIRCLE","SHARE_TYPE_ROOM","_updateFileActionIcon","sharesLoaded","registerAction","displayName","context","$file","altText","mime","order","PERMISSION_ALL","iconClass","fileName","icon","generateUrl","FileActions","TYPE_INLINE","actionHandler","isNaN","showDetailsView","render","actionSpec","isDefault","PERMISSION_SHARE","_defaultRenderAction","breadCrumbSharingDetailView","ShareBreadCrumbView","registerBreadCrumbDetailView","_updateFileListDataAttributes","shareModel","pluck","mapObject","share","shareWith","share_with","shareWithDisplayName","share_with_displayname","removeAttr","hasUserShares","hasLinkShares","console","info","_markFileAsShared","message","recipients","avatars","shareFolderIcon","find","ownerId","owner","removeClass","MimeType","getIconUrl","addClass","_formatRemoteShare","_formatShareList","html","prepend","avatar","tooltip","placement","exec","escapeHTML","userName","userDomain","server","_parent","toArray","sort","a","b","localeCompare","recipient","markFileAsShared","Plugins","register","BreadCrumbView","Backbone","View","tagName","events","click","_dirInfo","dirInfo","path","hide","isShared","show","delegateEvents","_onClick","e","preventDefault","fileInfoModel","FileInfoModel","self","attributes","Sidebar","activeTab","locals","add","default"],"mappings":"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","file":"additionalScripts.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/js/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 293);\n","// eslint-disable-next-line camelcase\n__webpack_public_path__ = OC.linkTo('files_sharing', 'js/dist/')\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(OC.requestToken)\n\nwindow.OCP.Collaboration.registerType('file', {\n\taction: () => {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tOC.dialogs.filepicker(t('files_sharing', 'Link to a file'), function(f) {\n\t\t\t\tconst client = OC.Files.getClient()\n\t\t\t\tclient.getFileInfo(f).then((status, fileInfo) => {\n\t\t\t\t\tresolve(fileInfo.id)\n\t\t\t\t}).fail(() => {\n\t\t\t\t\treject(new Error('Cannot get fileinfo'))\n\t\t\t\t})\n\t\t\t}, false, null, false, OC.dialogs.FILEPICKER_TYPE_CHOOSE, '', { allowDirectoryChooser: true })\n\t\t})\n\t},\n\ttypeString: t('files_sharing', 'Link to a file'),\n\ttypeIconClass: 'icon-files-dark'\n})\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (useSourceMap) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item, useSourceMap);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \"{\").concat(content, \"}\");\n }\n\n return content;\n }).join('');\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery) {\n if (typeof modules === 'string') {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = modules[_i]; // skip already imported module\n // this implementation is not 100% perfect for weird media query combinations\n // when a module is imported multiple times with different media queries.\n // I hope this will never occur (Hey this way we have smaller bundles)\n\n if (item[0] == null || !alreadyImportedModules[item[0]]) {\n if (mediaQuery && !item[2]) {\n item[2] = mediaQuery;\n } else if (mediaQuery) {\n item[2] = \"(\".concat(item[2], \") and (\").concat(mediaQuery, \")\");\n }\n\n list.push(item);\n }\n }\n };\n\n return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot).concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n\n return [content].join('\\n');\n} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n return \"/*# \".concat(data, \" */\");\n}","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n","/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nimport listToStyles from './listToStyles'\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array<StyleObjectPart>\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n// tags it will allow on a page\nvar isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase())\n\nexport default function addStylesClient (parentId, list, _isProduction, _options) {\n isProduction = _isProduction\n\n options = _options || {}\n\n var styles = listToStyles(parentId, list)\n addStylesToDom(styles)\n\n return function update (newList) {\n var mayRemove = []\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i]\n var domStyle = stylesInDom[item.id]\n domStyle.refs--\n mayRemove.push(domStyle)\n }\n if (newList) {\n styles = listToStyles(parentId, newList)\n addStylesToDom(styles)\n } else {\n styles = []\n }\n for (var i = 0; i < mayRemove.length; i++) {\n var domStyle = mayRemove[i]\n if (domStyle.refs === 0) {\n for (var j = 0; j < domStyle.parts.length; j++) {\n domStyle.parts[j]()\n }\n delete stylesInDom[domStyle.id]\n }\n }\n }\n}\n\nfunction addStylesToDom (styles /* Array<StyleObject> */) {\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i]\n var domStyle = stylesInDom[item.id]\n if (domStyle) {\n domStyle.refs++\n for (var j = 0; j < domStyle.parts.length; j++) {\n domStyle.parts[j](item.parts[j])\n }\n for (; j < item.parts.length; j++) {\n domStyle.parts.push(addStyle(item.parts[j]))\n }\n if (domStyle.parts.length > item.parts.length) {\n domStyle.parts.length = item.parts.length\n }\n } else {\n var parts = []\n for (var j = 0; j < item.parts.length; j++) {\n parts.push(addStyle(item.parts[j]))\n }\n stylesInDom[item.id] = { id: item.id, refs: 1, parts: parts }\n }\n }\n}\n\nfunction createStyleElement () {\n var styleElement = document.createElement('style')\n styleElement.type = 'text/css'\n head.appendChild(styleElement)\n return styleElement\n}\n\nfunction addStyle (obj /* StyleObjectPart */) {\n var update, remove\n var styleElement = document.querySelector('style[' + ssrIdKey + '~=\"' + obj.id + '\"]')\n\n if (styleElement) {\n if (isProduction) {\n // has SSR styles and in production mode.\n // simply do nothing.\n return noop\n } else {\n // has SSR styles but in dev mode.\n // for some reason Chrome can't handle source map in server-rendered\n // style tags - source maps in <style> only works if the style tag is\n // created and inserted dynamically. So we remove the server rendered\n // styles and inject new ones.\n styleElement.parentNode.removeChild(styleElement)\n }\n }\n\n if (isOldIE) {\n // use singleton mode for IE9.\n var styleIndex = singletonCounter++\n styleElement = singletonElement || (singletonElement = createStyleElement())\n update = applyToSingletonTag.bind(null, styleElement, styleIndex, false)\n remove = applyToSingletonTag.bind(null, styleElement, styleIndex, true)\n } else {\n // use multi-style-tag mode in all other cases\n styleElement = createStyleElement()\n update = applyToTag.bind(null, styleElement)\n remove = function () {\n styleElement.parentNode.removeChild(styleElement)\n }\n }\n\n update(obj)\n\n return function updateStyle (newObj /* StyleObjectPart */) {\n if (newObj) {\n if (newObj.css === obj.css &&\n newObj.media === obj.media &&\n newObj.sourceMap === obj.sourceMap) {\n return\n }\n update(obj = newObj)\n } else {\n remove()\n }\n }\n}\n\nvar replaceText = (function () {\n var textStore = []\n\n return function (index, replacement) {\n textStore[index] = replacement\n return textStore.filter(Boolean).join('\\n')\n }\n})()\n\nfunction applyToSingletonTag (styleElement, index, remove, obj) {\n var css = remove ? '' : obj.css\n\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = replaceText(index, css)\n } else {\n var cssNode = document.createTextNode(css)\n var childNodes = styleElement.childNodes\n if (childNodes[index]) styleElement.removeChild(childNodes[index])\n if (childNodes.length) {\n styleElement.insertBefore(cssNode, childNodes[index])\n } else {\n styleElement.appendChild(cssNode)\n }\n }\n}\n\nfunction applyToTag (styleElement, obj) {\n var css = obj.css\n var media = obj.media\n var sourceMap = obj.sourceMap\n\n if (media) {\n styleElement.setAttribute('media', media)\n }\n if (options.ssrId) {\n styleElement.setAttribute(ssrIdKey, obj.id)\n }\n\n if (sourceMap) {\n // https://developer.chrome.com/devtools/docs/javascript-debugging\n // this makes source maps inside style tags work properly in Chrome\n css += '\\n/*# sourceURL=' + sourceMap.sources[0] + ' */'\n // http://stackoverflow.com/a/26603875\n css += '\\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + ' */'\n }\n\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild)\n }\n styleElement.appendChild(document.createTextNode(css))\n }\n}\n","import './share'\nimport './sharebreadcrumbview'\n\nimport './style/sharebreadcrumb.scss'\n\nimport './collaborationresourceshandler.js'\n\n// eslint-disable-next-line camelcase\n__webpack_public_path__ = OC.linkTo('files_sharing', 'js/dist/')\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(OC.requestToken)\n\nwindow.OCA.Sharing = OCA.Sharing\n","/* eslint-disable */\n/*\n * Copyright (c) 2014\n *\n * This file is licensed under the Affero General Public License version 3\n * or later.\n *\n * See the COPYING-README file.\n *\n */\n\n(function() {\n\n\t_.extend(OC.Files.Client, {\n\t\tPROPERTY_SHARE_TYPES:\t'{' + OC.Files.Client.NS_OWNCLOUD + '}share-types',\n\t\tPROPERTY_OWNER_ID:\t'{' + OC.Files.Client.NS_OWNCLOUD + '}owner-id',\n\t\tPROPERTY_OWNER_DISPLAY_NAME:\t'{' + OC.Files.Client.NS_OWNCLOUD + '}owner-display-name'\n\t})\n\n\tif (!OCA.Sharing) {\n\t\tOCA.Sharing = {}\n\t}\n\n\t/**\n\t * @namespace\n\t */\n\tOCA.Sharing.Util = {\n\t\n\t\t/**\t\n\t\t * Regular expression for splitting parts of remote share owners:\t\n\t\t * \"user@example.com/path/to/owncloud\"\t\n\t\t * \"user@anotherexample.com@example.com/path/to/owncloud\t\n\t\t */\t\n\t\t_REMOTE_OWNER_REGEXP: new RegExp('^([^@]*)@(([^@]*)@)?([^/]*)([/](.*)?)?$'),\n\n\t\t/**\n\t\t * Initialize the sharing plugin.\n\t\t *\n\t\t * Registers the \"Share\" file action and adds additional\n\t\t * DOM attributes for the sharing file info.\n\t\t *\n\t\t * @param {OCA.Files.FileList} fileList file list to be extended\n\t\t */\n\t\tattach: function(fileList) {\n\t\t\t// core sharing is disabled/not loaded\n\t\t\tif (!OC.Share) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (fileList.id === 'trashbin' || fileList.id === 'files.public') {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tvar fileActions = fileList.fileActions\n\t\t\tvar oldCreateRow = fileList._createRow\n\t\t\tfileList._createRow = function(fileData) {\n\n\t\t\t\tvar tr = oldCreateRow.apply(this, arguments)\n\t\t\t\tvar sharePermissions = OCA.Sharing.Util.getSharePermissions(fileData)\n\n\t\t\t\tif (fileData.permissions === 0) {\n\t\t\t\t\t// no permission, disabling sidebar\n\t\t\t\t\tdelete fileActions.actions.all.Comment\n\t\t\t\t\tdelete fileActions.actions.all.Details\n\t\t\t\t\tdelete fileActions.actions.all.Goto\n\t\t\t\t}\n\t\t\t\ttr.attr('data-share-permissions', sharePermissions)\n\t\t\t\tif (fileData.shareOwner) {\n\t\t\t\t\ttr.attr('data-share-owner', fileData.shareOwner)\n\t\t\t\t\ttr.attr('data-share-owner-id', fileData.shareOwnerId)\n\t\t\t\t\t// user should always be able to rename a mount point\n\t\t\t\t\tif (fileData.mountType === 'shared-root') {\n\t\t\t\t\t\ttr.attr('data-permissions', fileData.permissions | OC.PERMISSION_UPDATE)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (fileData.recipientData && !_.isEmpty(fileData.recipientData)) {\n\t\t\t\t\ttr.attr('data-share-recipient-data', JSON.stringify(fileData.recipientData))\n\t\t\t\t}\n\t\t\t\tif (fileData.shareTypes) {\n\t\t\t\t\ttr.attr('data-share-types', fileData.shareTypes.join(','))\n\t\t\t\t}\n\t\t\t\treturn tr\n\t\t\t}\n\n\t\t\tvar oldElementToFile = fileList.elementToFile\n\t\t\tfileList.elementToFile = function($el) {\n\t\t\t\tvar fileInfo = oldElementToFile.apply(this, arguments)\n\t\t\t\tfileInfo.sharePermissions = $el.attr('data-share-permissions') || undefined\n\t\t\t\tfileInfo.shareOwner = $el.attr('data-share-owner') || undefined\n\t\t\t\tfileInfo.shareOwnerId = $el.attr('data-share-owner-id') || undefined\n\n\t\t\t\tif ($el.attr('data-share-types')) {\n\t\t\t\t\tfileInfo.shareTypes = $el.attr('data-share-types').split(',')\n\t\t\t\t}\n\n\t\t\t\tif ($el.attr('data-expiration')) {\n\t\t\t\t\tvar expirationTimestamp = parseInt($el.attr('data-expiration'))\n\t\t\t\t\tfileInfo.shares = []\n\t\t\t\t\tfileInfo.shares.push({ expiration: expirationTimestamp })\n\t\t\t\t}\n\n\t\t\t\treturn fileInfo\n\t\t\t}\n\n\t\t\tvar oldGetWebdavProperties = fileList._getWebdavProperties\n\t\t\tfileList._getWebdavProperties = function() {\n\t\t\t\tvar props = oldGetWebdavProperties.apply(this, arguments)\n\t\t\t\tprops.push(OC.Files.Client.PROPERTY_OWNER_ID)\n\t\t\t\tprops.push(OC.Files.Client.PROPERTY_OWNER_DISPLAY_NAME)\n\t\t\t\tprops.push(OC.Files.Client.PROPERTY_SHARE_TYPES)\n\t\t\t\treturn props\n\t\t\t}\n\n\t\t\tfileList.filesClient.addFileInfoParser(function(response) {\n\t\t\t\tvar data = {}\n\t\t\t\tvar props = response.propStat[0].properties\n\t\t\t\tvar permissionsProp = props[OC.Files.Client.PROPERTY_PERMISSIONS]\n\n\t\t\t\tif (permissionsProp && permissionsProp.indexOf('S') >= 0) {\n\t\t\t\t\tdata.shareOwner = props[OC.Files.Client.PROPERTY_OWNER_DISPLAY_NAME]\n\t\t\t\t\tdata.shareOwnerId = props[OC.Files.Client.PROPERTY_OWNER_ID]\n\t\t\t\t}\n\n\t\t\t\tvar shareTypesProp = props[OC.Files.Client.PROPERTY_SHARE_TYPES]\n\t\t\t\tif (shareTypesProp) {\n\t\t\t\t\tdata.shareTypes = _.chain(shareTypesProp).filter(function(xmlvalue) {\n\t\t\t\t\t\treturn (xmlvalue.namespaceURI === OC.Files.Client.NS_OWNCLOUD && xmlvalue.nodeName.split(':')[1] === 'share-type')\n\t\t\t\t\t}).map(function(xmlvalue) {\n\t\t\t\t\t\treturn parseInt(xmlvalue.textContent || xmlvalue.text, 10)\n\t\t\t\t\t}).value()\n\t\t\t\t}\n\n\t\t\t\treturn data\n\t\t\t})\n\n\t\t\t// use delegate to catch the case with multiple file lists\n\t\t\tfileList.$el.on('fileActionsReady', function(ev) {\n\t\t\t\tvar $files = ev.$files\n\n\t\t\t\t_.each($files, function(file) {\n\t\t\t\t\tvar $tr = $(file)\n\t\t\t\t\tvar shareTypes = $tr.attr('data-share-types') || ''\n\t\t\t\t\tvar shareOwner = $tr.attr('data-share-owner')\n\t\t\t\t\tif (shareTypes || shareOwner) {\n\t\t\t\t\t\tvar hasLink = false\n\t\t\t\t\t\tvar hasShares = false\n\t\t\t\t\t\t_.each(shareTypes.split(',') || [], function(shareType) {\n\t\t\t\t\t\t\tshareType = parseInt(shareType, 10)\n\t\t\t\t\t\t\tif (shareType === OC.Share.SHARE_TYPE_LINK) {\n\t\t\t\t\t\t\t\thasLink = true\n\t\t\t\t\t\t\t} else if (shareType === OC.Share.SHARE_TYPE_EMAIL) {\n\t\t\t\t\t\t\t\thasLink = true\n\t\t\t\t\t\t\t} else if (shareType === OC.Share.SHARE_TYPE_USER) {\n\t\t\t\t\t\t\t\thasShares = true\n\t\t\t\t\t\t\t} else if (shareType === OC.Share.SHARE_TYPE_GROUP) {\n\t\t\t\t\t\t\t\thasShares = true\n\t\t\t\t\t\t\t} else if (shareType === OC.Share.SHARE_TYPE_REMOTE) {\n\t\t\t\t\t\t\t\thasShares = true\n\t\t\t\t\t\t\t} else if (shareType === OC.Share.SHARE_TYPE_CIRCLE) {\n\t\t\t\t\t\t\t\thasShares = true\n\t\t\t\t\t\t\t} else if (shareType === OC.Share.SHARE_TYPE_ROOM) {\n\t\t\t\t\t\t\t\thasShares = true\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\tOCA.Sharing.Util._updateFileActionIcon($tr, hasShares, hasLink)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\n\t\t\tfileList.$el.on('changeDirectory', function() {\n\t\t\t\tOCA.Sharing.sharesLoaded = false\n\t\t\t})\n\n\t\t\tfileActions.registerAction({\n\t\t\t\tname: 'Share',\n\t\t\t\tdisplayName: function(context) {\n\t\t\t\t\tif (context && context.$file) {\n\t\t\t\t\t\tvar shareType = parseInt(context.$file.data('share-types'), 10)\n\t\t\t\t\t\tvar shareOwner = context.$file.data('share-owner-id')\n\t\t\t\t\t\tif (shareType >= 0 || shareOwner) {\n\t\t\t\t\t\t\treturn t('core', 'Shared')\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn t('core', 'Share')\n\t\t\t\t},\n\t\t\t\taltText: t('core', 'Share'),\n\t\t\t\tmime: 'all',\n\t\t\t\torder: -150,\n\t\t\t\tpermissions: OC.PERMISSION_ALL,\n\t\t\t\ticonClass: function(fileName, context) {\n\t\t\t\t\tvar shareType = parseInt(context.$file.data('share-types'), 10)\n\t\t\t\t\tif (shareType === OC.Share.SHARE_TYPE_EMAIL\n\t\t\t\t\t\t|| shareType === OC.Share.SHARE_TYPE_LINK) {\n\t\t\t\t\t\treturn 'icon-public'\n\t\t\t\t\t}\n\t\t\t\t\treturn 'icon-shared'\n\t\t\t\t},\n\t\t\t\ticon: function(fileName, context) {\n\t\t\t\t\tvar shareOwner = context.$file.data('share-owner-id')\n\t\t\t\t\tif (shareOwner) {\n\t\t\t\t\t\treturn OC.generateUrl(`/avatar/${shareOwner}/32`)\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttype: OCA.Files.FileActions.TYPE_INLINE,\n\t\t\t\tactionHandler: function(fileName, context) {\n\t\t\t\t\t// do not open sidebar if permission is set and equal to 0\n\t\t\t\t\tvar permissions = parseInt(context.$file.data('share-permissions'), 10)\n\t\t\t\t\tif (isNaN(permissions) || permissions > 0) {\n\t\t\t\t\t\tfileList.showDetailsView(fileName, 'sharing')\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\trender: function(actionSpec, isDefault, context) {\n\t\t\t\t\tvar permissions = parseInt(context.$file.data('permissions'), 10)\n\t\t\t\t\t// if no share permissions but share owner exists, still show the link\n\t\t\t\t\tif ((permissions & OC.PERMISSION_SHARE) !== 0 || context.$file.attr('data-share-owner')) {\n\t\t\t\t\t\treturn fileActions._defaultRenderAction.call(fileActions, actionSpec, isDefault, context)\n\t\t\t\t\t}\n\t\t\t\t\t// don't render anything\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t// register share breadcrumbs component\n\t\t\tvar breadCrumbSharingDetailView = new OCA.Sharing.ShareBreadCrumbView()\n\t\t\tfileList.registerBreadCrumbDetailView(breadCrumbSharingDetailView)\n\t\t},\n\n\t\t/**\n\t\t * Update file list data attributes\n\t\t */\n\t\t_updateFileListDataAttributes: function(fileList, $tr, shareModel) {\n\t\t\t// files app current cannot show recipients on load, so we don't update the\n\t\t\t// icon when changed for consistency\n\t\t\tif (fileList.id === 'files') {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tvar recipients = _.pluck(shareModel.get('shares'), 'share_with_displayname')\n\t\t\t// note: we only update the data attribute because updateIcon()\n\t\t\tif (recipients.length) {\n\t\t\t\tvar recipientData = _.mapObject(shareModel.get('shares'), function(share) {\n\t\t\t\t\treturn { shareWith: share.share_with, shareWithDisplayName: share.share_with_displayname }\n\t\t\t\t})\n\t\t\t\t$tr.attr('data-share-recipient-data', JSON.stringify(recipientData))\n\t\t\t} else {\n\t\t\t\t$tr.removeAttr('data-share-recipient-data')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Update the file action share icon for the given file\n\t\t *\n\t\t * @param $tr file element of the file to update\n\t\t * @param {boolean} hasUserShares true if a user share exists\n\t\t * @param {boolean} hasLinkShares true if a link share exists\n\t\t *\n\t\t * @returns {boolean} true if the icon was set, false otherwise\n\t\t */\n\t\t_updateFileActionIcon: function($tr, hasUserShares, hasLinkShares) {\n\t\t\tconsole.info('object');\n\t\t\t// if the statuses are loaded already, use them for the icon\n\t\t\t// (needed when scrolling to the next page)\n\t\t\tif (hasUserShares || hasLinkShares || $tr.attr('data-share-recipient-data') || $tr.attr('data-share-owner')) {\n\t\t\t\tOCA.Sharing.Util._markFileAsShared($tr, true, hasLinkShares)\n\t\t\t\treturn true\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\n\t\t/**\n\t\t * Marks/unmarks a given file as shared by changing its action icon\n\t\t * and folder icon.\n\t\t *\n\t\t * @param $tr file element to mark as shared\n\t\t * @param hasShares whether shares are available\n\t\t * @param hasLink whether link share is available\n\t\t */\n\t\t_markFileAsShared: function($tr, hasShares, hasLink) {\n\t\t\tvar action = $tr.find('.fileactions .action[data-action=\"Share\"]')\n\t\t\tvar type = $tr.data('type')\n\t\t\tvar icon = action.find('.icon')\n\t\t\tvar message, recipients, avatars\n\t\t\tvar ownerId = $tr.attr('data-share-owner-id')\n\t\t\tvar owner = $tr.attr('data-share-owner')\n\t\t\tvar mountType = $tr.attr('data-mounttype')\n\t\t\tvar shareFolderIcon\n\t\t\tvar iconClass = 'icon-shared'\n\t\t\taction.removeClass('shared-style')\n\t\t\t// update folder icon\n\t\t\tif (type === 'dir' && (hasShares || hasLink || ownerId)) {\n\t\t\t\tif (typeof mountType !== 'undefined' && mountType !== 'shared-root' && mountType !== 'shared') {\n\t\t\t\t\tshareFolderIcon = OC.MimeType.getIconUrl('dir-' + mountType)\n\t\t\t\t} else if (hasLink) {\n\t\t\t\t\tshareFolderIcon = OC.MimeType.getIconUrl('dir-public')\n\t\t\t\t} else {\n\t\t\t\t\tshareFolderIcon = OC.MimeType.getIconUrl('dir-shared')\n\t\t\t\t}\n\t\t\t\t$tr.find('.filename .thumbnail').css('background-image', 'url(' + shareFolderIcon + ')')\n\t\t\t\t$tr.attr('data-icon', shareFolderIcon)\n\t\t\t} else if (type === 'dir') {\n\t\t\t\tvar isEncrypted = $tr.attr('data-e2eencrypted')\n\t\t\t\t// FIXME: duplicate of FileList._createRow logic for external folder,\n\t\t\t\t// need to refactor the icon logic into a single code path eventually\n\t\t\t\tif (isEncrypted === 'true') {\n\t\t\t\t\tshareFolderIcon = OC.MimeType.getIconUrl('dir-encrypted')\n\t\t\t\t\t$tr.attr('data-icon', shareFolderIcon)\n\t\t\t\t} else if (mountType && mountType.indexOf('external') === 0) {\n\t\t\t\t\tshareFolderIcon = OC.MimeType.getIconUrl('dir-external')\n\t\t\t\t\t$tr.attr('data-icon', shareFolderIcon)\n\t\t\t\t} else {\n\t\t\t\t\tshareFolderIcon = OC.MimeType.getIconUrl('dir')\n\t\t\t\t\t// back to default\n\t\t\t\t\t$tr.removeAttr('data-icon')\n\t\t\t\t}\n\t\t\t\t$tr.find('.filename .thumbnail').css('background-image', 'url(' + shareFolderIcon + ')')\n\t\t\t}\n\t\t\t// update share action text / icon\n\t\t\tif (hasShares || ownerId) {\n\t\t\t\trecipients = $tr.data('share-recipient-data')\n\t\t\t\taction.addClass('shared-style')\n\n\t\t\t\tavatars = '<span>' + t('core', 'Shared') + '</span>'\n\t\t\t\t// even if reshared, only show \"Shared by\"\n\t\t\t\tif (ownerId) {\n\t\t\t\t\tmessage = t('core', 'Shared by')\n\t\t\t\t\tavatars = OCA.Sharing.Util._formatRemoteShare(ownerId, owner, message)\n\t\t\t\t} else if (recipients) {\n\t\t\t\t\tavatars = OCA.Sharing.Util._formatShareList(recipients)\n\t\t\t\t}\n\t\t\t\taction.html(avatars).prepend(icon)\n\n\t\t\t\tif (ownerId || recipients) {\n\t\t\t\t\tvar avatarElement = action.find('.avatar')\n\t\t\t\t\tavatarElement.each(function() {\n\t\t\t\t\t\t$(this).avatar($(this).data('username'), 32)\n\t\t\t\t\t})\n\t\t\t\t\taction.find('span[title]').tooltip({ placement: 'top' })\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\taction.html('<span class=\"hidden-visually\">' + t('core', 'Shared') + '</span>').prepend(icon)\n\t\t\t}\n\t\t\tif (hasLink) {\n\t\t\t\ticonClass = 'icon-public'\n\t\t\t}\n\t\t\ticon.removeClass('icon-shared icon-public').addClass(iconClass)\n\t\t},\n\t\t/**\t\n\t\t * Format a remote address\t\n\t\t *\t\n\t\t* @param {String} shareWith userid, full remote share, or whatever\t\n\t\t* @param {String} shareWithDisplayName\t\n\t\t* @param {String} message\t\n\t\t* @returns {String} HTML code to display\t\n\t\t*/\t\n\t\t_formatRemoteShare: function(shareWith, shareWithDisplayName, message) {\t\n\t\t\tvar parts = OCA.Sharing.Util._REMOTE_OWNER_REGEXP.exec(shareWith)\t\n\t\t\tif (!parts) {\t\n\t\t\t\t// display avatar of the user\t\n\t\t\t\tvar avatar = '<span class=\"avatar\" data-username=\"' + escapeHTML(shareWith) + '\" title=\"' + message + ' ' + escapeHTML(shareWithDisplayName) + '\"></span>'\t\n\t\t\t\tvar hidden = '<span class=\"hidden-visually\">' + message + ' ' + escapeHTML(shareWithDisplayName) + '</span> '\t\n\t\t\t\treturn avatar + hidden\t\n\t\t\t}\t\n\n\t\t\tvar userName = parts[1]\t\n\t\t\tvar userDomain = parts[3]\t\n\t\t\tvar server = parts[4]\t\n\t\t\tvar tooltip = message + ' ' + userName\t\n\t\t\tif (userDomain) {\t\n\t\t\t\ttooltip += '@' + userDomain\t\n\t\t\t}\t\n\t\t\tif (server) {\t\n\t\t\t\tif (!userDomain) {\t\n\t\t\t\t\tuserDomain = '…'\t\n\t\t\t\t}\t\n\t\t\t\ttooltip += '@' + server\t\n\t\t\t}\t\n\n\t\t\tvar html = '<span class=\"remoteAddress\" title=\"' + escapeHTML(tooltip) + '\">'\t\n\t\t\thtml += '<span class=\"username\">' + escapeHTML(userName) + '</span>'\t\n\t\t\tif (userDomain) {\t\n\t\t\t\thtml += '<span class=\"userDomain\">@' + escapeHTML(userDomain) + '</span>'\t\n\t\t\t}\t\n\t\t\thtml += '</span> '\t\n\t\t\treturn html\t\n\t\t},\t\n\t\t/**\t\n\t\t * Loop over all recipients in the list and format them using\t\n\t\t * all kind of fancy magic.\t\n\t\t *\t\n\t\t* @param {Object} recipients array of all the recipients\t\n\t\t* @returns {String[]} modified list of recipients\t\n\t\t*/\t\n\t\t_formatShareList: function(recipients) {\t\n\t\t\tvar _parent = this\t\n\t\t\trecipients = _.toArray(recipients)\t\n\t\t\trecipients.sort(function(a, b) {\t\n\t\t\t\treturn a.shareWithDisplayName.localeCompare(b.shareWithDisplayName)\t\n\t\t\t})\t\n\t\t\treturn $.map(recipients, function(recipient) {\t\n\t\t\t\treturn _parent._formatRemoteShare(recipient.shareWith, recipient.shareWithDisplayName, t('core', 'Shared with'))\t\n\t\t\t})\t\n\t\t},\n\t\t\n\t\t/**\t\n\t\t * Marks/unmarks a given file as shared by changing its action icon\t\n\t\t * and folder icon.\t\n\t\t *\t\n\t\t* @param $tr file element to mark as shared\t\n\t\t* @param hasShares whether shares are available\t\n\t\t* @param hasLink whether link share is available\t\n\t\t*/\t\n\t\tmarkFileAsShared: function($tr, hasShares, hasLink) {\t\n\t\t\tvar action = $tr.find('.fileactions .action[data-action=\"Share\"]')\t\n\t\t\tvar type = $tr.data('type')\t\n\t\t\tvar icon = action.find('.icon')\t\n\t\t\tvar message, recipients, avatars\t\n\t\t\tvar ownerId = $tr.attr('data-share-owner-id')\t\n\t\t\tvar owner = $tr.attr('data-share-owner')\t\n\t\t\tvar mountType = $tr.attr('data-mounttype')\t\n\t\t\tvar shareFolderIcon\t\n\t\t\tvar iconClass = 'icon-shared'\t\n\t\t\taction.removeClass('shared-style')\t\n\t\t\t// update folder icon\t\n\t\t\tif (type === 'dir' && (hasShares || hasLink || ownerId)) {\t\n\t\t\t\tif (typeof mountType !== 'undefined' && mountType !== 'shared-root' && mountType !== 'shared') {\t\n\t\t\t\t\tshareFolderIcon = OC.MimeType.getIconUrl('dir-' + mountType)\t\n\t\t\t\t} else if (hasLink) {\t\n\t\t\t\t\tshareFolderIcon = OC.MimeType.getIconUrl('dir-public')\t\n\t\t\t\t} else {\t\n\t\t\t\t\tshareFolderIcon = OC.MimeType.getIconUrl('dir-shared')\t\n\t\t\t\t}\t\n\t\t\t\t$tr.find('.filename .thumbnail').css('background-image', 'url(' + shareFolderIcon + ')')\t\n\t\t\t\t$tr.attr('data-icon', shareFolderIcon)\t\n\t\t\t} else if (type === 'dir') {\t\n\t\t\t\tvar isEncrypted = $tr.attr('data-e2eencrypted')\t\n\t\t\t\t// FIXME: duplicate of FileList._createRow logic for external folder,\t\n\t\t\t\t// need to refactor the icon logic into a single code path eventually\t\n\t\t\t\tif (isEncrypted === 'true') {\t\n\t\t\t\t\tshareFolderIcon = OC.MimeType.getIconUrl('dir-encrypted')\t\n\t\t\t\t\t$tr.attr('data-icon', shareFolderIcon)\t\n\t\t\t\t} else if (mountType && mountType.indexOf('external') === 0) {\t\n\t\t\t\t\tshareFolderIcon = OC.MimeType.getIconUrl('dir-external')\t\n\t\t\t\t\t$tr.attr('data-icon', shareFolderIcon)\t\n\t\t\t\t} else {\t\n\t\t\t\t\tshareFolderIcon = OC.MimeType.getIconUrl('dir')\t\n\t\t\t\t\t// back to default\t\n\t\t\t\t\t$tr.removeAttr('data-icon')\t\n\t\t\t\t}\t\n\t\t\t\t$tr.find('.filename .thumbnail').css('background-image', 'url(' + shareFolderIcon + ')')\t\n\t\t\t}\t\n\t\t\t// update share action text / icon\t\n\t\t\tif (hasShares || ownerId) {\t\n\t\t\t\trecipients = $tr.data('share-recipient-data')\t\n\t\t\t\taction.addClass('shared-style')\t\n\n\t\t\t\tavatars = '<span>' + t('core', 'Shared') + '</span>'\t\n\t\t\t\t// even if reshared, only show \"Shared by\"\t\n\t\t\t\tif (ownerId) {\t\n\t\t\t\t\tmessage = t('core', 'Shared by')\t\n\t\t\t\t\tavatars = this._formatRemoteShare(ownerId, owner, message)\t\n\t\t\t\t} else if (recipients) {\t\n\t\t\t\t\tavatars = this._formatShareList(recipients)\t\n\t\t\t\t}\t\n\t\t\t\taction.html(avatars).prepend(icon)\t\n\n\t\t\t\tif (ownerId || recipients) {\t\n\t\t\t\t\tvar avatarElement = action.find('.avatar')\t\n\t\t\t\t\tavatarElement.each(function() {\t\n\t\t\t\t\t\t$(this).avatar($(this).data('username'), 32)\t\n\t\t\t\t\t})\t\n\t\t\t\t\taction.find('span[title]').tooltip({ placement: 'top' })\t\n\t\t\t\t}\t\n\t\t\t} else {\t\n\t\t\t\taction.html('<span class=\"hidden-visually\">' + t('core', 'Shared') + '</span>').prepend(icon)\t\n\t\t\t}\t\n\t\t\tif (hasLink) {\t\n\t\t\t\ticonClass = 'icon-public'\t\n\t\t\t}\t\n\t\t\ticon.removeClass('icon-shared icon-public').addClass(iconClass)\t\n\t\t},\n\n\t\t/**\n\t\t * @param {Array} fileData\n\t\t * @returns {String}\n\t\t */\n\t\tgetSharePermissions: function(fileData) {\n\t\t\treturn fileData.sharePermissions\n\t\t}\n\t}\n})()\n\nOC.Plugins.register('OCA.Files.FileList', OCA.Sharing.Util)\n","/**\n * @copyright 2016 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author 2016 Christoph Wurst <christoph@winzerhof-wurst.at>\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(function() {\n\t'use strict'\n\n\tvar BreadCrumbView = OC.Backbone.View.extend({\n\t\ttagName: 'span',\n\t\tevents: {\n\t\t\tclick: '_onClick'\n\t\t},\n\t\t_dirInfo: undefined,\n\n\t\trender: function(data) {\n\t\t\tthis._dirInfo = data.dirInfo || null\n\n\t\t\tif (this._dirInfo !== null && (this._dirInfo.path !== '/' || this._dirInfo.name !== '')) {\n\t\t\t\tvar isShared = data.dirInfo && data.dirInfo.shareTypes && data.dirInfo.shareTypes.length > 0\n\t\t\t\tthis.$el.removeClass('shared icon-public icon-shared')\n\t\t\t\tif (isShared) {\n\t\t\t\t\tthis.$el.addClass('shared')\n\t\t\t\t\tif (data.dirInfo.shareTypes.indexOf(OC.Share.SHARE_TYPE_LINK) !== -1) {\n\t\t\t\t\t\tthis.$el.addClass('icon-public')\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.$el.addClass('icon-shared')\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.$el.addClass('icon-shared')\n\t\t\t\t}\n\t\t\t\tthis.$el.show()\n\t\t\t\tthis.delegateEvents()\n\t\t\t} else {\n\t\t\t\tthis.$el.removeClass('shared icon-public icon-shared')\n\t\t\t\tthis.$el.hide()\n\t\t\t}\n\n\t\t\treturn this\n\t\t},\n\t\t_onClick: function(e) {\n\t\t\te.preventDefault()\n\n\t\t\tvar fileInfoModel = new OCA.Files.FileInfoModel(this._dirInfo)\n\t\t\tvar self = this\n\t\t\tfileInfoModel.on('change', function() {\n\t\t\t\tself.render({\n\t\t\t\t\tdirInfo: self._dirInfo\n\t\t\t\t})\n\t\t\t})\n\n\t\t\tvar path = fileInfoModel.attributes.path + '/' + fileInfoModel.attributes.name\n\t\t\tOCA.Files.Sidebar.file = path\n\t\t\tOCA.Files.Sidebar.activeTab = 'sharing'\n\t\t}\n\t})\n\n\tOCA.Sharing.ShareBreadCrumbView = BreadCrumbView\n})()\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./sharebreadcrumb.scss\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"57e7eec1\", content, true, {});","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"div.crumb span.icon-shared,div.crumb span.icon-public{display:inline-block;cursor:pointer;opacity:0.2;margin-right:6px}div.crumb span.icon-shared.shared,div.crumb span.icon-public.shared{opacity:0.7}\\n\", \"\"]);\n"],"sourceRoot":""}