aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files_sharing/js/dist/additionalScripts.js.map
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files_sharing/js/dist/additionalScripts.js.map')
-rw-r--r--apps/files_sharing/js/dist/additionalScripts.js.map2
1 files changed, 1 insertions, 1 deletions
diff --git a/apps/files_sharing/js/dist/additionalScripts.js.map b/apps/files_sharing/js/dist/additionalScripts.js.map
index a5a634c90f5..bda946182ee 100644
--- a/apps/files_sharing/js/dist/additionalScripts.js.map
+++ b/apps/files_sharing/js/dist/additionalScripts.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./apps/files_sharing/src/collaborationresourceshandler.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","webpack:///./node_modules/escape-html/index.js","webpack:///./apps/files_sharing/src/share.js","webpack:///./apps/files_sharing/src/additionalScripts.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"],"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","BreadCrumbView","Backbone","View","extend","tagName","events","click","_dirInfo","undefined","render","data","this","dirInfo","path","$el","removeClass","hide","isShared","shareTypes","length","addClass","indexOf","Share","SHARE_TYPE_LINK","show","delegateEvents","_onClick","e","preventDefault","fileInfoModel","OCA","FileInfoModel","self","on","attributes","Sidebar","open","setActiveTab","Sharing","ShareBreadCrumbView","content","locals","add","default","___CSS_LOADER_API_IMPORT___","push","matchHtmlRegExp","string","escape","str","match","exec","html","index","lastIndex","charCodeAt","substring","_","Client","PROPERTY_SHARE_TYPES","NS_OWNCLOUD","PROPERTY_OWNER_ID","PROPERTY_OWNER_DISPLAY_NAME","Util","_REMOTE_OWNER_REGEXP","RegExp","attach","fileList","fileActions","oldCreateRow","_createRow","fileData","tr","apply","arguments","sharePermissions","getSharePermissions","permissions","actions","all","Comment","Details","Goto","attr","shareOwner","shareOwnerId","mountType","PERMISSION_UPDATE","recipientData","isEmpty","JSON","stringify","join","oldElementToFile","elementToFile","split","expirationTimestamp","parseInt","shares","expiration","oldGetWebdavProperties","_getWebdavProperties","props","filesClient","addFileInfoParser","response","propStat","properties","permissionsProp","PROPERTY_PERMISSIONS","shareTypesProp","chain","filter","xmlvalue","namespaceURI","nodeName","map","textContent","text","ev","$files","each","file","$tr","$","hasLink","hasShares","shareType","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","type","FileActions","TYPE_INLINE","actionHandler","isNaN","showDetailsView","actionSpec","isDefault","PERMISSION_SHARE","_defaultRenderAction","breadCrumbSharingDetailView","registerBreadCrumbDetailView","_updateFileListDataAttributes","shareModel","pluck","mapObject","share","shareWith","share_with","shareWithDisplayName","share_with_displayname","removeAttr","hasUserShares","hasLinkShares","_markFileAsShared","message","recipients","avatars","shareFolderIcon","find","ownerId","owner","MimeType","getIconUrl","css","_formatRemoteShare","_formatShareList","prepend","avatar","tooltip","placement","parts","escapeHTML","userName","userDomain","server","_parent","toArray","sort","a","b","localeCompare","recipient","markFileAsShared","Plugins","register","useSourceMap","list","toString","item","cssMapping","sourceMapping","sourceMap","base64","unescape","encodeURIComponent","concat","sourceURLs","sources","source","sourceRoot","cssWithMappingToString","mediaQuery","dedupe","alreadyImportedModules","_i","listToStyles","parentId","styles","newStyles","part","media","hasDocument","document","DEBUG","stylesInDom","head","getElementsByTagName","singletonElement","singletonCounter","isProduction","noop","options","isOldIE","navigator","test","userAgent","toLowerCase","addStylesClient","_isProduction","_options","addStylesToDom","newList","mayRemove","domStyle","refs","j","addStyle","createStyleElement","styleElement","createElement","appendChild","obj","update","remove","querySelector","parentNode","removeChild","styleIndex","applyToSingletonTag","applyToTag","newObj","textStore","replaceText","replacement","Boolean","styleSheet","cssText","cssNode","createTextNode","childNodes","insertBefore","setAttribute","ssrId","firstChild"],"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 = 362);\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","/**\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\tconst 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(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\tconst 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(e) {\n\t\t\te.preventDefault()\n\n\t\t\tconst fileInfoModel = new OCA.Files.FileInfoModel(this._dirInfo)\n\t\t\tconst 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\tconst path = fileInfoModel.attributes.path + '/' + fileInfoModel.attributes.name\n\t\t\tOCA.Files.Sidebar.open(path)\n\t\t\tOCA.Files.Sidebar.setActiveTab('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, {});","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(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// Exports\nmodule.exports = exports;\n","/*!\n * escape-html\n * Copyright(c) 2012-2013 TJ Holowaychuk\n * Copyright(c) 2015 Andreas Lubbe\n * Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module variables.\n * @private\n */\n\nvar matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = escapeHtml;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '&quot;';\n break;\n case 38: // &\n escape = '&amp;';\n break;\n case 39: // '\n escape = '&#39;';\n break;\n case 60: // <\n escape = '&lt;';\n break;\n case 62: // >\n escape = '&gt;';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\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\nimport escapeHTML from 'escape-html'\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\n\t\t/**\n\t\t * Regular expression for splitting parts of remote share owners:\n\t\t * \"user@example.com/\"\n\t\t * \"user@example.com/path/to/owncloud\"\n\t\t * \"user@anotherexample.com@example.com/path/to/owncloud\n\t\t */\n\t\t_REMOTE_OWNER_REGEXP: new RegExp('^(([^@]*)@(([^@^/^\\\\s]*)@)?)([^[\\\\s/]*)([/](.*))?$'),\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\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 || !parts[6]) {\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[2]\n\t\t\tvar userDomain = parts[4]\n\t\t\tvar server = parts[5]\n\n\t\t\tvar tooltip = message + ' ' + userName\n\t\t\tif (userDomain) {\n\t\t\t\ttooltip += '@' + userDomain\n\t\t\t}\n\t\t\tif (server) {\n\t\t\t\ttooltip += '@' + server\n\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","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","\"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, dedupe) {\n if (typeof modules === 'string') {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\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\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\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"],"sourceRoot":""} \ No newline at end of file
+{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./apps/files_sharing/src/collaborationresourceshandler.js","webpack:///./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///./node_modules/css-loader/dist/runtime/cssWithMappingToString.js","webpack:///./apps/files_sharing/src/style/sharebreadcrumb.scss","webpack:///./node_modules/css-loader/dist/runtime/api.js","webpack:///./apps/files_sharing/src/sharebreadcrumbview.js","webpack:///./apps/files_sharing/src/share.js","webpack:///./apps/files_sharing/src/style/sharebreadcrumb.scss?a9a3","webpack:///./apps/files_sharing/src/additionalScripts.js","webpack:///./node_modules/escape-html/index.js"],"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","memo","isOldIE","Boolean","document","all","atob","getTarget","target","styleTarget","querySelector","HTMLIFrameElement","contentDocument","head","e","stylesInDom","getIndexByIdentifier","identifier","result","length","modulesToDom","list","options","idCountMap","identifiers","item","base","count","concat","index","obj","css","media","sourceMap","references","updater","push","addStyle","insertStyleElement","style","createElement","attributes","nonce","keys","forEach","setAttribute","insert","appendChild","textStore","replaceText","replacement","filter","join","applyToSingletonTag","remove","styleSheet","cssText","cssNode","createTextNode","childNodes","removeChild","insertBefore","applyToTag","removeAttribute","unescape","encodeURIComponent","JSON","stringify","firstChild","singleton","singletonCounter","update","styleIndex","parentNode","removeStyleElement","newObj","lastIdentifiers","newList","toString","newLastIdentifiers","_i","_index","splice","_slicedToArray","arr","Array","isArray","_arrayWithHoles","iterator","_arr","_n","_d","_e","undefined","_s","next","done","err","_iterableToArrayLimit","minLen","_arrayLikeToArray","slice","constructor","from","test","_unsupportedIterableToArray","TypeError","_nonIterableRest","len","arr2","_item","content","cssMapping","base64","data","sourceMapping","sourceURLs","sources","map","source","sourceRoot","___CSS_LOADER_EXPORT___","cssWithMappingToString","this","mediaQuery","dedupe","alreadyImportedModules","BreadCrumbView","Backbone","View","extend","tagName","events","click","_dirInfo","render","dirInfo","path","$el","removeClass","hide","isShared","shareTypes","addClass","indexOf","Share","SHARE_TYPE_LINK","show","delegateEvents","_onClick","preventDefault","fileInfoModel","OCA","FileInfoModel","self","on","Sidebar","open","setActiveTab","Sharing","ShareBreadCrumbView","_","Client","PROPERTY_SHARE_TYPES","NS_OWNCLOUD","PROPERTY_OWNER_ID","PROPERTY_OWNER_DISPLAY_NAME","Util","_REMOTE_OWNER_REGEXP","RegExp","attach","fileList","fileActions","oldCreateRow","_createRow","fileData","tr","apply","arguments","sharePermissions","getSharePermissions","permissions","actions","Comment","Details","Goto","attr","shareOwner","shareOwnerId","mountType","PERMISSION_UPDATE","recipientData","isEmpty","oldElementToFile","elementToFile","split","expirationTimestamp","parseInt","shares","expiration","oldGetWebdavProperties","_getWebdavProperties","props","filesClient","addFileInfoParser","response","propStat","properties","permissionsProp","PROPERTY_PERMISSIONS","shareTypesProp","chain","xmlvalue","namespaceURI","nodeName","textContent","text","ev","$files","each","file","$tr","$","hasLink","hasShares","shareType","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","type","FileActions","TYPE_INLINE","actionHandler","isNaN","showDetailsView","actionSpec","isDefault","PERMISSION_SHARE","_defaultRenderAction","breadCrumbSharingDetailView","registerBreadCrumbDetailView","_updateFileListDataAttributes","shareModel","pluck","mapObject","share","shareWith","share_with","shareWithDisplayName","share_with_displayname","removeAttr","hasUserShares","hasLinkShares","_markFileAsShared","message","recipients","avatars","shareFolderIcon","find","ownerId","owner","MimeType","getIconUrl","_formatRemoteShare","_formatShareList","html","prepend","avatar","tooltip","placement","parts","exec","escapeHTML","userName","userDomain","server","_parent","toArray","sort","a","b","localeCompare","recipient","markFileAsShared","Plugins","register","locals","matchHtmlRegExp","string","escape","str","match","lastIndex","charCodeAt","substring"],"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 = 348);\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\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDom.length; i++) {\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var index = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n updater: addStyle(obj, options),\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n var attributes = options.attributes || {};\n\n if (typeof attributes.nonce === 'undefined') {\n var nonce = typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n\n if (nonce) {\n attributes.nonce = nonce;\n }\n }\n\n Object.keys(attributes).forEach(function (key) {\n style.setAttribute(key, attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\n\nfunction applyToTag(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute('media', media);\n } else {\n style.removeAttribute('media');\n }\n\n if (sourceMap && typeof btoa !== 'undefined') {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n var style;\n var update;\n var remove;\n\n if (options.singleton) {\n var styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n\n remove = function remove() {\n removeStyleElement(style);\n };\n }\n\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n // tags it will allow on a page\n\n if (!options.singleton && typeof options.singleton !== 'boolean') {\n options.singleton = isOldIE();\n }\n\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n if (Object.prototype.toString.call(newList) !== '[object Array]') {\n return;\n }\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDom[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDom[_index].references === 0) {\n stylesInDom[_index].updater();\n\n stylesInDom.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nmodule.exports = function cssWithMappingToString(item) {\n var _item = _slicedToArray(item, 4),\n content = _item[1],\n cssMapping = _item[3];\n\n if (typeof btoa === 'function') {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\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};","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.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, \"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\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/style/sharebreadcrumb.scss\"],\"names\":[],\"mappings\":\"AAsBA,sDAEC,oBAAqB,CACrB,cAAe,CACf,WAAY,CACZ,gBAAiB,CACjB,oEAIA,WAAY\",\"sourcesContent\":[\"/**\\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\\ndiv.crumb span.icon-shared,\\ndiv.crumb span.icon-public {\\n\\tdisplay: inline-block;\\n\\tcursor: pointer;\\n\\topacity: 0.2;\\n\\tmargin-right: 6px;\\n}\\n\\ndiv.crumb span.icon-shared.shared,\\ndiv.crumb span.icon-public.shared {\\n\\topacity: 0.7;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\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 (cssWithMappingToString) {\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);\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, dedupe) {\n if (typeof modules === 'string') {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\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\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\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\tconst 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(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\tconst 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(e) {\n\t\t\te.preventDefault()\n\n\t\t\tconst fileInfoModel = new OCA.Files.FileInfoModel(this._dirInfo)\n\t\t\tconst 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\tconst path = fileInfoModel.attributes.path + '/' + fileInfoModel.attributes.name\n\t\t\tOCA.Files.Sidebar.open(path)\n\t\t\tOCA.Files.Sidebar.setActiveTab('sharing')\n\t\t},\n\t})\n\n\tOCA.Sharing.ShareBreadCrumbView = BreadCrumbView\n})()\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\nimport escapeHTML from 'escape-html'\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\n\t\t/**\n\t\t * Regular expression for splitting parts of remote share owners:\n\t\t * \"user@example.com/\"\n\t\t * \"user@example.com/path/to/owncloud\"\n\t\t * \"user@anotherexample.com@example.com/path/to/owncloud\n\t\t */\n\t\t_REMOTE_OWNER_REGEXP: new RegExp('^(([^@]*)@(([^@^/^\\\\s]*)@)?)([^[\\\\s/]*)([/](.*))?$'),\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\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 || !parts[6]) {\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[2]\n\t\t\tvar userDomain = parts[4]\n\t\t\tvar server = parts[5]\n\n\t\t\tvar tooltip = message + ' ' + userName\n\t\t\tif (userDomain) {\n\t\t\t\ttooltip += '@' + userDomain\n\t\t\t}\n\t\t\tif (server) {\n\t\t\t\ttooltip += '@' + server\n\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","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./sharebreadcrumb.scss\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","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","/*!\n * escape-html\n * Copyright(c) 2012-2013 TJ Holowaychuk\n * Copyright(c) 2015 Andreas Lubbe\n * Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module variables.\n * @private\n */\n\nvar matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = escapeHtml;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '&quot;';\n break;\n case 38: // &\n escape = '&amp;';\n break;\n case 39: // '\n escape = '&#39;';\n break;\n case 60: // <\n escape = '&lt;';\n break;\n case 62: // >\n escape = '&gt;';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n"],"sourceRoot":""} \ No newline at end of file