diff options
author | Christoph Wurst <christoph@winzerhof-wurst.at> | 2019-06-18 10:13:01 +0200 |
---|---|---|
committer | Christoph Wurst <christoph@winzerhof-wurst.at> | 2019-06-19 10:41:10 +0200 |
commit | cfb64ae93e0c48c193ac971e310d59e49d09ab1a (patch) | |
tree | 33200340608f63e3a57c92d5f82b02a0dcbd312e /apps/files_sharing | |
parent | 3a0e4a192746e157c41453ff1892e7a415f72b49 (diff) | |
download | nextcloud-server-cfb64ae93e0c48c193ac971e310d59e49d09ab1a.tar.gz nextcloud-server-cfb64ae93e0c48c193ac971e310d59e49d09ab1a.zip |
Use shared browserslist config
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Diffstat (limited to 'apps/files_sharing')
-rw-r--r-- | apps/files_sharing/js/dist/additionalScripts.js | 2 | ||||
-rw-r--r-- | apps/files_sharing/js/dist/additionalScripts.js.map | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/apps/files_sharing/js/dist/additionalScripts.js b/apps/files_sharing/js/dist/additionalScripts.js index cec71110333..1c9db65efba 100644 --- a/apps/files_sharing/js/dist/additionalScripts.js +++ b/apps/files_sharing/js/dist/additionalScripts.js @@ -1,4 +1,4 @@ -!function(e){function n(n){for(var t,r,a=n[0],o=n[1],s=0,h=[];s<a.length;s++)r=a[s],i[r]&&h.push(i[r][0]),i[r]=0;for(t in o)Object.prototype.hasOwnProperty.call(o,t)&&(e[t]=o[t]);for(l&&l(n);h.length;)h.shift()()}var t={},i={0:0,1:0};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}r.e=function(e){var n=[],t=i[e];if(0!==t)if(t)n.push(t[2]);else{var a=new Promise(function(n,r){t=i[e]=[n,r]});n.push(t[2]=a);var o,s=document.createElement("script");s.charset="utf-8",s.timeout=120,r.nc&&s.setAttribute("nonce",r.nc),s.src=function(e){return r.p+"files_sharing."+e+".js"}(e);var l=new Error;o=function(n){s.onerror=s.onload=null,clearTimeout(h);var t=i[e];if(0!==t){if(t){var r=n&&("load"===n.type?"missing":n.type),a=n&&n.target&&n.target.src;l.message="Loading chunk "+e+" failed.\n("+r+": "+a+")",l.type=r,l.request=a,t[1](l)}i[e]=void 0}};var h=setTimeout(function(){o({type:"timeout",target:s})},12e4);s.onerror=s.onload=o,document.head.appendChild(s)}return Promise.all(n)},r.m=e,r.c=t,r.d=function(e,n,t){r.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:t})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,n){if(1&n&&(e=r(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(r.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var i in e)r.d(t,i,function(n){return e[n]}.bind(null,i));return t},r.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(n,"a",n),n},r.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},r.p="/js/",r.oe=function(e){throw console.error(e),e};var a=window.webpackJsonp=window.webpackJsonp||[],o=a.push.bind(a);a.push=n,a=a.slice();for(var s=0;s<a.length;s++)n(a[s]);var l=o;r(r.s=3)}([function(e,n,i){i.p=OC.linkTo("files_sharing","js/dist/"),i.nc=btoa(OC.requestToken),window.OCP.Collaboration.registerType("file",{action:function(){return new Promise(function(e,n){OC.dialogs.filepicker(t("files_sharing","Link to a file"),function(t){OC.Files.getClient().getFileInfo(t).then(function(n,t){e(t.id)},function(){n()})},!1)})},typeString:t("files_sharing","Link to a file"),typeIconClass:"icon-files-dark"})},function(e,n,t){"use strict";e.exports=function(e){var n=[];return n.toString=function(){return this.map(function(n){var t=function(e,n){var t=e[1]||"",i=e[3];if(!i)return t;if(n&&"function"==typeof btoa){var r=(o=i,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */"),a=i.sources.map(function(e){return"/*# sourceURL="+i.sourceRoot+e+" */"});return[t].concat(a).concat([r]).join("\n")}var o;return[t].join("\n")}(n,e);return n[2]?"@media "+n[2]+"{"+t+"}":t}).join("")},n.i=function(e,t){"string"==typeof e&&(e=[[null,e,""]]);for(var i={},r=0;r<this.length;r++){var a=this[r][0];null!=a&&(i[a]=!0)}for(r=0;r<e.length;r++){var o=e[r];null!=o[0]&&i[o[0]]||(t&&!o[2]?o[2]=t:t&&(o[2]="("+o[2]+") and ("+t+")"),n.push(o))}},n}},function(e,n,t){var i,r,a={},o=(i=function(){return window&&document&&document.all&&!window.atob},function(){return void 0===r&&(r=i.apply(this,arguments)),r}),s=function(e){var n={};return function(e,t){if("function"==typeof e)return e();if(void 0===n[e]){var i=function(e,n){return n?n.querySelector(e):document.querySelector(e)}.call(this,e,t);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(e){i=null}n[e]=i}return n[e]}}(),l=null,h=0,p=[],d=t(9);function c(e,n){for(var t=0;t<e.length;t++){var i=e[t],r=a[i.id];if(r){r.refs++;for(var o=0;o<r.parts.length;o++)r.parts[o](i.parts[o]);for(;o<i.parts.length;o++)r.parts.push(v(i.parts[o],n))}else{var s=[];for(o=0;o<i.parts.length;o++)s.push(v(i.parts[o],n));a[i.id]={id:i.id,refs:1,parts:s}}}}function u(e,n){for(var t=[],i={},r=0;r<e.length;r++){var a=e[r],o=n.base?a[0]+n.base:a[0],s={css:a[1],media:a[2],sourceMap:a[3]};i[o]?i[o].parts.push(s):t.push(i[o]={id:o,parts:[s]})}return t}function f(e,n){var t=s(e.insertInto);if(!t)throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.");var i=p[p.length-1];if("top"===e.insertAt)i?i.nextSibling?t.insertBefore(n,i.nextSibling):t.appendChild(n):t.insertBefore(n,t.firstChild),p.push(n);else if("bottom"===e.insertAt)t.appendChild(n);else{if("object"!=typeof e.insertAt||!e.insertAt.before)throw new Error("[Style Loader]\n\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\n Must be 'top', 'bottom', or Object.\n (https://github.com/webpack-contrib/style-loader#insertat)\n");var r=s(e.insertAt.before,t);t.insertBefore(n,r)}}function m(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e);var n=p.indexOf(e);n>=0&&p.splice(n,1)}function g(e){var n=document.createElement("style");if(void 0===e.attrs.type&&(e.attrs.type="text/css"),void 0===e.attrs.nonce){var i=function(){0;return t.nc}();i&&(e.attrs.nonce=i)}return b(n,e.attrs),f(e,n),n}function b(e,n){Object.keys(n).forEach(function(t){e.setAttribute(t,n[t])})}function v(e,n){var t,i,r,a;if(n.transform&&e.css){if(!(a="function"==typeof n.transform?n.transform(e.css):n.transform.default(e.css)))return function(){};e.css=a}if(n.singleton){var o=h++;t=l||(l=g(n)),i=y.bind(null,t,o,!1),r=y.bind(null,t,o,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(t=function(e){var n=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",b(n,e.attrs),f(e,n),n}(n),i=function(e,n,t){var i=t.css,r=t.sourceMap,a=void 0===n.convertToAbsoluteUrls&&r;(n.convertToAbsoluteUrls||a)&&(i=d(i));r&&(i+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(r))))+" */");var o=new Blob([i],{type:"text/css"}),s=e.href;e.href=URL.createObjectURL(o),s&&URL.revokeObjectURL(s)}.bind(null,t,n),r=function(){m(t),t.href&&URL.revokeObjectURL(t.href)}):(t=g(n),i=function(e,n){var t=n.css,i=n.media;i&&e.setAttribute("media",i);if(e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}.bind(null,t),r=function(){m(t)});return i(e),function(n){if(n){if(n.css===e.css&&n.media===e.media&&n.sourceMap===e.sourceMap)return;i(e=n)}else r()}}e.exports=function(e,n){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(n=n||{}).attrs="object"==typeof n.attrs?n.attrs:{},n.singleton||"boolean"==typeof n.singleton||(n.singleton=o()),n.insertInto||(n.insertInto="head"),n.insertAt||(n.insertAt="bottom");var t=u(e,n);return c(t,n),function(e){for(var i=[],r=0;r<t.length;r++){var o=t[r];(s=a[o.id]).refs--,i.push(s)}e&&c(u(e,n),n);for(r=0;r<i.length;r++){var s;if(0===(s=i[r]).refs){for(var l=0;l<s.parts.length;l++)s.parts[l]();delete a[s.id]}}}};var w,O=(w=[],function(e,n){return w[e]=n,w.filter(Boolean).join("\n")});function y(e,n,t,i){var r=t?"":i.css;if(e.styleSheet)e.styleSheet.cssText=O(n,r);else{var a=document.createTextNode(r),o=e.childNodes;o[n]&&e.removeChild(o[n]),o.length?e.insertBefore(a,o[n]):e.appendChild(a)}}},function(e,n,t){"use strict";t.r(n);t(4),t(5),t(6),t(7),t(10),t(0);t.p=OC.linkTo("files_sharing","js/dist/"),t.nc=btoa(OC.requestToken),window.OCA.Sharing=OCA.Sharing},function(e,n){_.extend(OC.Files.Client,{PROPERTY_SHARE_TYPES:"{"+OC.Files.Client.NS_OWNCLOUD+"}share-types",PROPERTY_OWNER_ID:"{"+OC.Files.Client.NS_OWNCLOUD+"}owner-id",PROPERTY_OWNER_DISPLAY_NAME:"{"+OC.Files.Client.NS_OWNCLOUD+"}owner-display-name"}),OCA.Sharing||(OCA.Sharing={}),OCA.Sharing.Util={attach:function(e){if(OC.Share&&"trashbin"!==e.id&&"files.public"!==e.id){var n=e.fileActions,i=e._createRow;e._createRow=function(e){var t=i.apply(this,arguments),r=OCA.Sharing.Util.getSharePermissions(e);return 0===e.permissions&&(delete n.actions.all.Comment,delete n.actions.all.Details,delete n.actions.all.Goto),t.attr("data-share-permissions",r),e.shareOwner&&(t.attr("data-share-owner",e.shareOwner),t.attr("data-share-owner-id",e.shareOwnerId),"shared-root"===e.mountType&&t.attr("data-permissions",e.permissions|OC.PERMISSION_UPDATE)),e.recipientData&&!_.isEmpty(e.recipientData)&&t.attr("data-share-recipient-data",JSON.stringify(e.recipientData)),e.shareTypes&&t.attr("data-share-types",e.shareTypes.join(",")),t};var r=e.elementToFile;e.elementToFile=function(e){var n=r.apply(this,arguments);if(n.sharePermissions=e.attr("data-share-permissions")||void 0,n.shareOwner=e.attr("data-share-owner")||void 0,n.shareOwnerId=e.attr("data-share-owner-id")||void 0,e.attr("data-share-types")&&(n.shareTypes=e.attr("data-share-types").split(",")),e.attr("data-expiration")){var t=parseInt(e.attr("data-expiration"));n.shares=[],n.shares.push({expiration:t})}return n};var a=e._getWebdavProperties;e._getWebdavProperties=function(){var e=a.apply(this,arguments);return e.push(OC.Files.Client.PROPERTY_OWNER_ID),e.push(OC.Files.Client.PROPERTY_OWNER_DISPLAY_NAME),e.push(OC.Files.Client.PROPERTY_SHARE_TYPES),e},e.filesClient.addFileInfoParser(function(e){var n={},t=e.propStat[0].properties,i=t[OC.Files.Client.PROPERTY_PERMISSIONS];i&&i.indexOf("S")>=0&&(n.shareOwner=t[OC.Files.Client.PROPERTY_OWNER_DISPLAY_NAME],n.shareOwnerId=t[OC.Files.Client.PROPERTY_OWNER_ID]);var r=t[OC.Files.Client.PROPERTY_SHARE_TYPES];return r&&(n.shareTypes=_.chain(r).filter(function(e){return e.namespaceURI===OC.Files.Client.NS_OWNCLOUD&&"share-type"===e.nodeName.split(":")[1]}).map(function(e){return parseInt(e.textContent||e.text,10)}).value()),n}),e.$el.on("fileActionsReady",function(e){var n=e.$files;_.each(n,function(e){var n=$(e),t=n.attr("data-share-types")||"",i=n.attr("data-share-owner");if(t||i){var r=!1,a=!1;_.each(t.split(",")||[],function(e){(e=parseInt(e,10))===OC.Share.SHARE_TYPE_LINK?r=!0:e===OC.Share.SHARE_TYPE_EMAIL?r=!0:e===OC.Share.SHARE_TYPE_USER?a=!0:e===OC.Share.SHARE_TYPE_GROUP?a=!0:e===OC.Share.SHARE_TYPE_REMOTE?a=!0:e===OC.Share.SHARE_TYPE_CIRCLE?a=!0:e===OC.Share.SHARE_TYPE_ROOM&&(a=!0)}),OCA.Sharing.Util._updateFileActionIcon(n,a,r)}})}),e.$el.on("changeDirectory",function(){OCA.Sharing.sharesLoaded=!1}),n.registerAction({name:"Share",displayName:function(e){if(e&&e.$file){var n=parseInt(e.$file.data("share-types"),10),i=e.$file.data("share-owner-id");if(n>=0||i)return t("core","Shared")}return t("core","Share")},altText:t("core","Share"),mime:"all",order:-150,permissions:OC.PERMISSION_ALL,iconClass:function(e,n){var t=parseInt(n.$file.data("share-types"),10);return t===OC.Share.SHARE_TYPE_EMAIL||t===OC.Share.SHARE_TYPE_LINK?"icon-public":"icon-shared"},icon:function(e,n){var t=n.$file.data("share-owner-id");if(t)return OC.generateUrl("/avatar/".concat(t,"/32"))},type:OCA.Files.FileActions.TYPE_INLINE,actionHandler:function(n,t){var i=parseInt(t.$file.data("share-permissions"),10);(isNaN(i)||i>0)&&e.showDetailsView(n,"shareTabView")},render:function(e,t,i){return 0!=(parseInt(i.$file.data("permissions"),10)&OC.PERMISSION_SHARE)||i.$file.attr("data-share-owner")?n._defaultRenderAction.call(n,e,t,i):null}});var o=new OCA.Sharing.ShareTabView("shareTabView",{order:-20});o.on("sharesChanged",function(n){var t=n.fileInfoModel,i=e.findFileEl(t.get("name")),r=n.hasLinkShares();n.get("shares").forEach(function(e){e.share_type===OC.Share.SHARE_TYPE_EMAIL&&(r=!0)}),OCA.Sharing.Util._updateFileListDataAttributes(e,i,n),OCA.Sharing.Util._updateFileActionIcon(i,n.hasUserShares(),r)||OC.Share.markFileAsShared(i,!1,!1),t.set({shareTypes:n.getShareTypes(),icon:i.attr("data-icon")})}),e.registerTabView(o);var s=new OCA.Sharing.ShareBreadCrumbView({shareTab:o});e.registerBreadCrumbDetailView(s)}},_updateFileListDataAttributes:function(e,n,t){if("files"!==e.id)if(_.pluck(t.get("shares"),"share_with_displayname").length){var i=_.mapObject(t.get("shares"),function(e){return{shareWith:e.share_with,shareWithDisplayName:e.share_with_displayname}});n.attr("data-share-recipient-data",JSON.stringify(i))}else n.removeAttr("data-share-recipient-data")},_updateFileActionIcon:function(e,n,t){return!!(n||t||e.attr("data-share-recipient-data")||e.attr("data-share-owner"))&&(OC.Share.markFileAsShared(e,!0,t),!0)},getSharePermissions:function(e){return e.sharePermissions}},OC.Plugins.register("OCA.Files.FileList",OCA.Sharing.Util)},function(e,n,i){var r;r=OCA.Files.DetailTabView.extend({id:"shareTabView",className:"tab shareTabView",initialize:function(e,n){OCA.Files.DetailTabView.prototype.initialize.call(this,e,n),OC.Plugins.attach("OCA.Sharing.ShareTabView",this)},template:function(e){return'<div><div class="dialogContainer"></div><div id="collaborationResources"></div></div>'},getLabel:function(){return t("files_sharing","Sharing")},getIcon:function(){return"icon-shared"},render:function(){var e=this,n=this;if(this._dialog&&(this._dialog.model.off(),this._dialog.remove(),this._dialog=null),this.model){this.$el.html(this.template()),_.isUndefined(this.model.get("sharePermissions"))&&this.model.set("sharePermissions",OCA.Sharing.Util.getSharePermissions(this.model.attributes));var t={itemType:this.model.isDirectory()?"folder":"file",itemSource:this.model.get("id"),possiblePermissions:this.model.get("sharePermissions")},r=new OC.Share.ShareConfigModel,a=new OC.Share.ShareItemModel(t,{configModel:r,fileInfoModel:this.model});this._dialog=new OC.Share.ShareDialogView({configModel:r,model:a}),this.$el.find(".dialogContainer").append(this._dialog.$el),this._dialog.render(),this._dialog.model.fetch(),this._dialog.model.on("change",function(){n.trigger("sharesChanged",a)}),Promise.all([i.e(3),i.e(4)]).then(i.bind(null,15)).then(function(n){var t=new n.Vue({el:"#collaborationResources",render:function(e){return e(n.View)},data:{model:e.model.toJSON()}});e.model.on("change",function(){t.data=e.model.toJSON()})})}else this.$el.empty();this.trigger("rendered")}}),OCA.Sharing.ShareTabView=r},function(e,n){ +!function(e){function n(n){for(var t,r,a=n[0],o=n[1],s=0,h=[];s<a.length;s++)r=a[s],i[r]&&h.push(i[r][0]),i[r]=0;for(t in o)Object.prototype.hasOwnProperty.call(o,t)&&(e[t]=o[t]);for(l&&l(n);h.length;)h.shift()()}var t={},i={0:0,1:0};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}r.e=function(e){var n=[],t=i[e];if(0!==t)if(t)n.push(t[2]);else{var a=new Promise(function(n,r){t=i[e]=[n,r]});n.push(t[2]=a);var o,s=document.createElement("script");s.charset="utf-8",s.timeout=120,r.nc&&s.setAttribute("nonce",r.nc),s.src=function(e){return r.p+"files_sharing."+e+".js"}(e);var l=new Error;o=function(n){s.onerror=s.onload=null,clearTimeout(h);var t=i[e];if(0!==t){if(t){var r=n&&("load"===n.type?"missing":n.type),a=n&&n.target&&n.target.src;l.message="Loading chunk "+e+" failed.\n("+r+": "+a+")",l.name="ChunkLoadError",l.type=r,l.request=a,t[1](l)}i[e]=void 0}};var h=setTimeout(function(){o({type:"timeout",target:s})},12e4);s.onerror=s.onload=o,document.head.appendChild(s)}return Promise.all(n)},r.m=e,r.c=t,r.d=function(e,n,t){r.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:t})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,n){if(1&n&&(e=r(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(r.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var i in e)r.d(t,i,function(n){return e[n]}.bind(null,i));return t},r.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(n,"a",n),n},r.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},r.p="/js/",r.oe=function(e){throw console.error(e),e};var a=window.webpackJsonp=window.webpackJsonp||[],o=a.push.bind(a);a.push=n,a=a.slice();for(var s=0;s<a.length;s++)n(a[s]);var l=o;r(r.s=3)}([function(e,n,i){i.p=OC.linkTo("files_sharing","js/dist/"),i.nc=btoa(OC.requestToken),window.OCP.Collaboration.registerType("file",{action:function(){return new Promise(function(e,n){OC.dialogs.filepicker(t("files_sharing","Link to a file"),function(t){OC.Files.getClient().getFileInfo(t).then(function(n,t){e(t.id)},function(){n()})},!1)})},typeString:t("files_sharing","Link to a file"),typeIconClass:"icon-files-dark"})},function(e,n,t){"use strict";e.exports=function(e){var n=[];return n.toString=function(){return this.map(function(n){var t=function(e,n){var t=e[1]||"",i=e[3];if(!i)return t;if(n&&"function"==typeof btoa){var r=(o=i,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */"),a=i.sources.map(function(e){return"/*# sourceURL="+i.sourceRoot+e+" */"});return[t].concat(a).concat([r]).join("\n")}var o;return[t].join("\n")}(n,e);return n[2]?"@media "+n[2]+"{"+t+"}":t}).join("")},n.i=function(e,t){"string"==typeof e&&(e=[[null,e,""]]);for(var i={},r=0;r<this.length;r++){var a=this[r][0];null!=a&&(i[a]=!0)}for(r=0;r<e.length;r++){var o=e[r];null!=o[0]&&i[o[0]]||(t&&!o[2]?o[2]=t:t&&(o[2]="("+o[2]+") and ("+t+")"),n.push(o))}},n}},function(e,n,t){var i,r,a={},o=(i=function(){return window&&document&&document.all&&!window.atob},function(){return void 0===r&&(r=i.apply(this,arguments)),r}),s=function(e){var n={};return function(e,t){if("function"==typeof e)return e();if(void 0===n[e]){var i=function(e,n){return n?n.querySelector(e):document.querySelector(e)}.call(this,e,t);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(e){i=null}n[e]=i}return n[e]}}(),l=null,h=0,p=[],d=t(9);function c(e,n){for(var t=0;t<e.length;t++){var i=e[t],r=a[i.id];if(r){r.refs++;for(var o=0;o<r.parts.length;o++)r.parts[o](i.parts[o]);for(;o<i.parts.length;o++)r.parts.push(v(i.parts[o],n))}else{var s=[];for(o=0;o<i.parts.length;o++)s.push(v(i.parts[o],n));a[i.id]={id:i.id,refs:1,parts:s}}}}function u(e,n){for(var t=[],i={},r=0;r<e.length;r++){var a=e[r],o=n.base?a[0]+n.base:a[0],s={css:a[1],media:a[2],sourceMap:a[3]};i[o]?i[o].parts.push(s):t.push(i[o]={id:o,parts:[s]})}return t}function f(e,n){var t=s(e.insertInto);if(!t)throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.");var i=p[p.length-1];if("top"===e.insertAt)i?i.nextSibling?t.insertBefore(n,i.nextSibling):t.appendChild(n):t.insertBefore(n,t.firstChild),p.push(n);else if("bottom"===e.insertAt)t.appendChild(n);else{if("object"!=typeof e.insertAt||!e.insertAt.before)throw new Error("[Style Loader]\n\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\n Must be 'top', 'bottom', or Object.\n (https://github.com/webpack-contrib/style-loader#insertat)\n");var r=s(e.insertAt.before,t);t.insertBefore(n,r)}}function m(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e);var n=p.indexOf(e);n>=0&&p.splice(n,1)}function g(e){var n=document.createElement("style");if(void 0===e.attrs.type&&(e.attrs.type="text/css"),void 0===e.attrs.nonce){var i=function(){0;return t.nc}();i&&(e.attrs.nonce=i)}return b(n,e.attrs),f(e,n),n}function b(e,n){Object.keys(n).forEach(function(t){e.setAttribute(t,n[t])})}function v(e,n){var t,i,r,a;if(n.transform&&e.css){if(!(a="function"==typeof n.transform?n.transform(e.css):n.transform.default(e.css)))return function(){};e.css=a}if(n.singleton){var o=h++;t=l||(l=g(n)),i=y.bind(null,t,o,!1),r=y.bind(null,t,o,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(t=function(e){var n=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",b(n,e.attrs),f(e,n),n}(n),i=function(e,n,t){var i=t.css,r=t.sourceMap,a=void 0===n.convertToAbsoluteUrls&&r;(n.convertToAbsoluteUrls||a)&&(i=d(i));r&&(i+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(r))))+" */");var o=new Blob([i],{type:"text/css"}),s=e.href;e.href=URL.createObjectURL(o),s&&URL.revokeObjectURL(s)}.bind(null,t,n),r=function(){m(t),t.href&&URL.revokeObjectURL(t.href)}):(t=g(n),i=function(e,n){var t=n.css,i=n.media;i&&e.setAttribute("media",i);if(e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}.bind(null,t),r=function(){m(t)});return i(e),function(n){if(n){if(n.css===e.css&&n.media===e.media&&n.sourceMap===e.sourceMap)return;i(e=n)}else r()}}e.exports=function(e,n){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(n=n||{}).attrs="object"==typeof n.attrs?n.attrs:{},n.singleton||"boolean"==typeof n.singleton||(n.singleton=o()),n.insertInto||(n.insertInto="head"),n.insertAt||(n.insertAt="bottom");var t=u(e,n);return c(t,n),function(e){for(var i=[],r=0;r<t.length;r++){var o=t[r];(s=a[o.id]).refs--,i.push(s)}e&&c(u(e,n),n);for(r=0;r<i.length;r++){var s;if(0===(s=i[r]).refs){for(var l=0;l<s.parts.length;l++)s.parts[l]();delete a[s.id]}}}};var w,O=(w=[],function(e,n){return w[e]=n,w.filter(Boolean).join("\n")});function y(e,n,t,i){var r=t?"":i.css;if(e.styleSheet)e.styleSheet.cssText=O(n,r);else{var a=document.createTextNode(r),o=e.childNodes;o[n]&&e.removeChild(o[n]),o.length?e.insertBefore(a,o[n]):e.appendChild(a)}}},function(e,n,t){"use strict";t.r(n);t(4),t(5),t(6),t(7),t(10),t(0);t.p=OC.linkTo("files_sharing","js/dist/"),t.nc=btoa(OC.requestToken),window.OCA.Sharing=OCA.Sharing},function(e,n){_.extend(OC.Files.Client,{PROPERTY_SHARE_TYPES:"{"+OC.Files.Client.NS_OWNCLOUD+"}share-types",PROPERTY_OWNER_ID:"{"+OC.Files.Client.NS_OWNCLOUD+"}owner-id",PROPERTY_OWNER_DISPLAY_NAME:"{"+OC.Files.Client.NS_OWNCLOUD+"}owner-display-name"}),OCA.Sharing||(OCA.Sharing={}),OCA.Sharing.Util={attach:function(e){if(OC.Share&&"trashbin"!==e.id&&"files.public"!==e.id){var n=e.fileActions,i=e._createRow;e._createRow=function(e){var t=i.apply(this,arguments),r=OCA.Sharing.Util.getSharePermissions(e);return 0===e.permissions&&(delete n.actions.all.Comment,delete n.actions.all.Details,delete n.actions.all.Goto),t.attr("data-share-permissions",r),e.shareOwner&&(t.attr("data-share-owner",e.shareOwner),t.attr("data-share-owner-id",e.shareOwnerId),"shared-root"===e.mountType&&t.attr("data-permissions",e.permissions|OC.PERMISSION_UPDATE)),e.recipientData&&!_.isEmpty(e.recipientData)&&t.attr("data-share-recipient-data",JSON.stringify(e.recipientData)),e.shareTypes&&t.attr("data-share-types",e.shareTypes.join(",")),t};var r=e.elementToFile;e.elementToFile=function(e){var n=r.apply(this,arguments);if(n.sharePermissions=e.attr("data-share-permissions")||void 0,n.shareOwner=e.attr("data-share-owner")||void 0,n.shareOwnerId=e.attr("data-share-owner-id")||void 0,e.attr("data-share-types")&&(n.shareTypes=e.attr("data-share-types").split(",")),e.attr("data-expiration")){var t=parseInt(e.attr("data-expiration"));n.shares=[],n.shares.push({expiration:t})}return n};var a=e._getWebdavProperties;e._getWebdavProperties=function(){var e=a.apply(this,arguments);return e.push(OC.Files.Client.PROPERTY_OWNER_ID),e.push(OC.Files.Client.PROPERTY_OWNER_DISPLAY_NAME),e.push(OC.Files.Client.PROPERTY_SHARE_TYPES),e},e.filesClient.addFileInfoParser(function(e){var n={},t=e.propStat[0].properties,i=t[OC.Files.Client.PROPERTY_PERMISSIONS];i&&i.indexOf("S")>=0&&(n.shareOwner=t[OC.Files.Client.PROPERTY_OWNER_DISPLAY_NAME],n.shareOwnerId=t[OC.Files.Client.PROPERTY_OWNER_ID]);var r=t[OC.Files.Client.PROPERTY_SHARE_TYPES];return r&&(n.shareTypes=_.chain(r).filter(function(e){return e.namespaceURI===OC.Files.Client.NS_OWNCLOUD&&"share-type"===e.nodeName.split(":")[1]}).map(function(e){return parseInt(e.textContent||e.text,10)}).value()),n}),e.$el.on("fileActionsReady",function(e){var n=e.$files;_.each(n,function(e){var n=$(e),t=n.attr("data-share-types")||"",i=n.attr("data-share-owner");if(t||i){var r=!1,a=!1;_.each(t.split(",")||[],function(e){(e=parseInt(e,10))===OC.Share.SHARE_TYPE_LINK?r=!0:e===OC.Share.SHARE_TYPE_EMAIL?r=!0:e===OC.Share.SHARE_TYPE_USER?a=!0:e===OC.Share.SHARE_TYPE_GROUP?a=!0:e===OC.Share.SHARE_TYPE_REMOTE?a=!0:e===OC.Share.SHARE_TYPE_CIRCLE?a=!0:e===OC.Share.SHARE_TYPE_ROOM&&(a=!0)}),OCA.Sharing.Util._updateFileActionIcon(n,a,r)}})}),e.$el.on("changeDirectory",function(){OCA.Sharing.sharesLoaded=!1}),n.registerAction({name:"Share",displayName:function(e){if(e&&e.$file){var n=parseInt(e.$file.data("share-types"),10),i=e.$file.data("share-owner-id");if(n>=0||i)return t("core","Shared")}return t("core","Share")},altText:t("core","Share"),mime:"all",order:-150,permissions:OC.PERMISSION_ALL,iconClass:function(e,n){var t=parseInt(n.$file.data("share-types"),10);return t===OC.Share.SHARE_TYPE_EMAIL||t===OC.Share.SHARE_TYPE_LINK?"icon-public":"icon-shared"},icon:function(e,n){var t=n.$file.data("share-owner-id");if(t)return OC.generateUrl("/avatar/".concat(t,"/32"))},type:OCA.Files.FileActions.TYPE_INLINE,actionHandler:function(n,t){var i=parseInt(t.$file.data("share-permissions"),10);(isNaN(i)||i>0)&&e.showDetailsView(n,"shareTabView")},render:function(e,t,i){return 0!=(parseInt(i.$file.data("permissions"),10)&OC.PERMISSION_SHARE)||i.$file.attr("data-share-owner")?n._defaultRenderAction.call(n,e,t,i):null}});var o=new OCA.Sharing.ShareTabView("shareTabView",{order:-20});o.on("sharesChanged",function(n){var t=n.fileInfoModel,i=e.findFileEl(t.get("name")),r=n.hasLinkShares();n.get("shares").forEach(function(e){e.share_type===OC.Share.SHARE_TYPE_EMAIL&&(r=!0)}),OCA.Sharing.Util._updateFileListDataAttributes(e,i,n),OCA.Sharing.Util._updateFileActionIcon(i,n.hasUserShares(),r)||OC.Share.markFileAsShared(i,!1,!1),t.set({shareTypes:n.getShareTypes(),icon:i.attr("data-icon")})}),e.registerTabView(o);var s=new OCA.Sharing.ShareBreadCrumbView({shareTab:o});e.registerBreadCrumbDetailView(s)}},_updateFileListDataAttributes:function(e,n,t){if("files"!==e.id)if(_.pluck(t.get("shares"),"share_with_displayname").length){var i=_.mapObject(t.get("shares"),function(e){return{shareWith:e.share_with,shareWithDisplayName:e.share_with_displayname}});n.attr("data-share-recipient-data",JSON.stringify(i))}else n.removeAttr("data-share-recipient-data")},_updateFileActionIcon:function(e,n,t){return!!(n||t||e.attr("data-share-recipient-data")||e.attr("data-share-owner"))&&(OC.Share.markFileAsShared(e,!0,t),!0)},getSharePermissions:function(e){return e.sharePermissions}},OC.Plugins.register("OCA.Files.FileList",OCA.Sharing.Util)},function(e,n,i){var r;r=OCA.Files.DetailTabView.extend({id:"shareTabView",className:"tab shareTabView",initialize:function(e,n){OCA.Files.DetailTabView.prototype.initialize.call(this,e,n),OC.Plugins.attach("OCA.Sharing.ShareTabView",this)},template:function(e){return'<div><div class="dialogContainer"></div><div id="collaborationResources"></div></div>'},getLabel:function(){return t("files_sharing","Sharing")},getIcon:function(){return"icon-shared"},render:function(){var e=this,n=this;if(this._dialog&&(this._dialog.model.off(),this._dialog.remove(),this._dialog=null),this.model){this.$el.html(this.template()),_.isUndefined(this.model.get("sharePermissions"))&&this.model.set("sharePermissions",OCA.Sharing.Util.getSharePermissions(this.model.attributes));var t={itemType:this.model.isDirectory()?"folder":"file",itemSource:this.model.get("id"),possiblePermissions:this.model.get("sharePermissions")},r=new OC.Share.ShareConfigModel,a=new OC.Share.ShareItemModel(t,{configModel:r,fileInfoModel:this.model});this._dialog=new OC.Share.ShareDialogView({configModel:r,model:a}),this.$el.find(".dialogContainer").append(this._dialog.$el),this._dialog.render(),this._dialog.model.fetch(),this._dialog.model.on("change",function(){n.trigger("sharesChanged",a)}),Promise.all([i.e(3),i.e(4)]).then(i.bind(null,15)).then(function(n){var t=new n.Vue({el:"#collaborationResources",render:function(e){return e(n.View)},data:{model:e.model.toJSON()}});e.model.on("change",function(){t.data=e.model.toJSON()})})}else this.$el.empty();this.trigger("rendered")}}),OCA.Sharing.ShareTabView=r},function(e,n){ /** * @copyright 2016 Christoph Wurst <christoph@winzerhof-wurst.at> * diff --git a/apps/files_sharing/js/dist/additionalScripts.js.map b/apps/files_sharing/js/dist/additionalScripts.js.map index 245b7bd82b1..b908d5e8379 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:///./node_modules/css-loader/dist/runtime/api.js","webpack:///./node_modules/style-loader/lib/addStyles.js","webpack:///./apps/files_sharing/src/additionalScripts.js","webpack:///./apps/files_sharing/src/share.js","webpack:///./apps/files_sharing/src/sharetabview.js","webpack:///./apps/files_sharing/src/sharebreadcrumbview.js","webpack:///./apps/files_sharing/src/style/sharetabview.scss?3391","webpack:///./apps/files_sharing/src/style/sharetabview.scss","webpack:///./node_modules/style-loader/lib/urls.js","webpack:///./apps/files_sharing/src/style/sharebreadcrumb.scss?732e","webpack:///./apps/files_sharing/src/style/sharebreadcrumb.scss"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","installedModules","0","1","__webpack_require__","exports","module","l","e","promises","installedChunkData","promise","Promise","resolve","reject","onScriptComplete","script","document","createElement","charset","timeout","nc","setAttribute","src","p","jsonpScriptSrc","error","Error","event","onerror","onload","clearTimeout","chunk","errorType","type","realSrc","target","message","request","undefined","setTimeout","head","appendChild","all","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","err","console","jsonpArray","window","oldJsonpFunction","slice","s","__webpack_public_path__","OC","linkTo","__webpack_nonce__","btoa","requestToken","OCP","Collaboration","registerType","action","dialogs","filepicker","f","Files","getClient","getFileInfo","then","status","fileInfo","id","typeString","typeIconClass","useSourceMap","list","toString","this","map","item","content","cssMapping","sourceMapping","sourceMap","unescape","encodeURIComponent","JSON","stringify","sourceURLs","sources","source","sourceRoot","concat","join","cssWithMappingToString","mediaQuery","alreadyImportedModules","fn","memo","stylesInDom","isOldIE","atob","apply","arguments","getElement","parent","styleTarget","querySelector","HTMLIFrameElement","contentDocument","singleton","singletonCounter","stylesInsertedAtTop","fixUrls","addStylesToDom","styles","options","domStyle","refs","j","parts","addStyle","listToStyles","newStyles","base","part","css","media","insertStyleElement","style","insertInto","lastStyleElementInsertedAtTop","insertAt","nextSibling","insertBefore","firstChild","before","removeStyleElement","parentNode","removeChild","idx","indexOf","splice","createStyleElement","attrs","nonce","getNonce","addAttrs","el","keys","forEach","obj","update","remove","result","transform","default","styleIndex","applyToSingletonTag","URL","createObjectURL","revokeObjectURL","Blob","link","rel","createLinkElement","autoFixUrls","convertToAbsoluteUrls","blob","oldSrc","href","styleSheet","cssText","createTextNode","newObj","DEBUG","newList","mayRemove","textStore","replaceText","index","replacement","filter","Boolean","cssNode","childNodes","OCA","Sharing","_","extend","Client","PROPERTY_SHARE_TYPES","NS_OWNCLOUD","PROPERTY_OWNER_ID","PROPERTY_OWNER_DISPLAY_NAME","Util","attach","fileList","Share","fileActions","oldCreateRow","_createRow","fileData","tr","sharePermissions","getSharePermissions","permissions","actions","Comment","Details","Goto","attr","shareOwner","shareOwnerId","mountType","PERMISSION_UPDATE","recipientData","isEmpty","shareTypes","oldElementToFile","elementToFile","$el","split","expirationTimestamp","parseInt","shares","expiration","oldGetWebdavProperties","_getWebdavProperties","props","filesClient","addFileInfoParser","response","propStat","properties","permissionsProp","PROPERTY_PERMISSIONS","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","shareTab","ShareTabView","shareModel","fileInfoModel","findFileEl","hasLinkShares","share","share_type","_updateFileListDataAttributes","hasUserShares","markFileAsShared","set","getShareTypes","registerTabView","breadCrumbSharingDetailView","ShareBreadCrumbView","registerBreadCrumbDetailView","pluck","mapObject","shareWith","share_with","shareWithDisplayName","share_with_displayname","removeAttr","Plugins","register","DetailTabView","className","initialize","template","params","getLabel","getIcon","_this","self","_dialog","model","off","html","isUndefined","attributes","itemType","isDirectory","itemSource","possiblePermissions","configModel","ShareConfigModel","ShareItemModel","ShareDialogView","find","append","fetch","trigger","Resources","vm","Vue","h","View","toJSON","empty","BreadCrumbView","Backbone","tagName","events","click","_dirInfo","_shareTab","dirInfo","path","removeClass","hide","isShared","addClass","show","delegateEvents","_onClick","preventDefault","FileInfoModel","getSharesWithCurrentItem","App","hmr","locals","location","baseUrl","protocol","host","currentDir","pathname","replace","fullMatch","origUrl","newUrl","unquotedOrigUrl","trim","$1","test"],"mappings":"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","file":"additionalScripts.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t};\n\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t0: 0,\n \t\t1: 0\n \t};\n\n\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"files_sharing.\" + chunkId + \".js\"\n \t}\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 \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\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 \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 3);\n","__webpack_public_path__ = OC.linkTo('files_sharing', 'js/dist/');\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}, () => {\n\t\t\t\t\treject();\n\t\t\t\t});\n\t\t\t}, false);\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\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 ' + item[2] + '{' + content + '}';\n } else {\n return content;\n }\n }).join('');\n }; // import a list of modules into the list\n\n\n list.i = function (modules, mediaQuery) {\n if (typeof modules === 'string') {\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n for (var i = 0; i < this.length; i++) {\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n\n for (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] = '(' + item[2] + ') and (' + 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] || '';\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=' + cssMapping.sourceRoot + 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,' + base64;\n return '/*# ' + data + ' */';\n}","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n\nvar stylesInDom = {};\n\nvar\tmemoize = function (fn) {\n\tvar memo;\n\n\treturn function () {\n\t\tif (typeof memo === \"undefined\") memo = fn.apply(this, arguments);\n\t\treturn memo;\n\t};\n};\n\nvar isOldIE = memoize(function () {\n\t// Test for IE <= 9 as proposed by Browserhacks\n\t// @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n\t// Tests for existence of standard globals is to allow style-loader\n\t// to operate correctly into non-standard environments\n\t// @see https://github.com/webpack-contrib/style-loader/issues/177\n\treturn window && document && document.all && !window.atob;\n});\n\nvar getTarget = function (target, parent) {\n if (parent){\n return parent.querySelector(target);\n }\n return document.querySelector(target);\n};\n\nvar getElement = (function (fn) {\n\tvar memo = {};\n\n\treturn function(target, parent) {\n // If passing function in options, then use it for resolve \"head\" element.\n // Useful for Shadow Root style i.e\n // {\n // insertInto: function () { return document.querySelector(\"#foo\").shadowRoot }\n // }\n if (typeof target === 'function') {\n return target();\n }\n if (typeof memo[target] === \"undefined\") {\n\t\t\tvar styleTarget = getTarget.call(this, target, parent);\n\t\t\t// Special case to return head of iframe instead of iframe itself\n\t\t\tif (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n\t\t\t\ttry {\n\t\t\t\t\t// This will throw an exception if access to iframe is blocked\n\t\t\t\t\t// due to cross-origin restrictions\n\t\t\t\t\tstyleTarget = styleTarget.contentDocument.head;\n\t\t\t\t} catch(e) {\n\t\t\t\t\tstyleTarget = null;\n\t\t\t\t}\n\t\t\t}\n\t\t\tmemo[target] = styleTarget;\n\t\t}\n\t\treturn memo[target]\n\t};\n})();\n\nvar singleton = null;\nvar\tsingletonCounter = 0;\nvar\tstylesInsertedAtTop = [];\n\nvar\tfixUrls = require(\"./urls\");\n\nmodule.exports = function(list, options) {\n\tif (typeof DEBUG !== \"undefined\" && DEBUG) {\n\t\tif (typeof document !== \"object\") throw new Error(\"The style-loader cannot be used in a non-browser environment\");\n\t}\n\n\toptions = options || {};\n\n\toptions.attrs = typeof options.attrs === \"object\" ? options.attrs : {};\n\n\t// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n\t// tags it will allow on a page\n\tif (!options.singleton && typeof options.singleton !== \"boolean\") options.singleton = isOldIE();\n\n\t// By default, add <style> tags to the <head> element\n if (!options.insertInto) options.insertInto = \"head\";\n\n\t// By default, add <style> tags to the bottom of the target\n\tif (!options.insertAt) options.insertAt = \"bottom\";\n\n\tvar styles = listToStyles(list, options);\n\n\taddStylesToDom(styles, options);\n\n\treturn function update (newList) {\n\t\tvar mayRemove = [];\n\n\t\tfor (var i = 0; i < styles.length; i++) {\n\t\t\tvar item = styles[i];\n\t\t\tvar domStyle = stylesInDom[item.id];\n\n\t\t\tdomStyle.refs--;\n\t\t\tmayRemove.push(domStyle);\n\t\t}\n\n\t\tif(newList) {\n\t\t\tvar newStyles = listToStyles(newList, options);\n\t\t\taddStylesToDom(newStyles, options);\n\t\t}\n\n\t\tfor (var i = 0; i < mayRemove.length; i++) {\n\t\t\tvar domStyle = mayRemove[i];\n\n\t\t\tif(domStyle.refs === 0) {\n\t\t\t\tfor (var j = 0; j < domStyle.parts.length; j++) domStyle.parts[j]();\n\n\t\t\t\tdelete stylesInDom[domStyle.id];\n\t\t\t}\n\t\t}\n\t};\n};\n\nfunction addStylesToDom (styles, options) {\n\tfor (var i = 0; i < styles.length; i++) {\n\t\tvar item = styles[i];\n\t\tvar domStyle = stylesInDom[item.id];\n\n\t\tif(domStyle) {\n\t\t\tdomStyle.refs++;\n\n\t\t\tfor(var j = 0; j < domStyle.parts.length; j++) {\n\t\t\t\tdomStyle.parts[j](item.parts[j]);\n\t\t\t}\n\n\t\t\tfor(; j < item.parts.length; j++) {\n\t\t\t\tdomStyle.parts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\t\t} else {\n\t\t\tvar parts = [];\n\n\t\t\tfor(var j = 0; j < item.parts.length; j++) {\n\t\t\t\tparts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\n\t\t\tstylesInDom[item.id] = {id: item.id, refs: 1, parts: parts};\n\t\t}\n\t}\n}\n\nfunction listToStyles (list, options) {\n\tvar styles = [];\n\tvar newStyles = {};\n\n\tfor (var i = 0; i < list.length; i++) {\n\t\tvar item = list[i];\n\t\tvar id = options.base ? item[0] + options.base : item[0];\n\t\tvar css = item[1];\n\t\tvar media = item[2];\n\t\tvar sourceMap = item[3];\n\t\tvar part = {css: css, media: media, sourceMap: sourceMap};\n\n\t\tif(!newStyles[id]) styles.push(newStyles[id] = {id: id, parts: [part]});\n\t\telse newStyles[id].parts.push(part);\n\t}\n\n\treturn styles;\n}\n\nfunction insertStyleElement (options, style) {\n\tvar target = getElement(options.insertInto)\n\n\tif (!target) {\n\t\tthrow new Error(\"Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.\");\n\t}\n\n\tvar lastStyleElementInsertedAtTop = stylesInsertedAtTop[stylesInsertedAtTop.length - 1];\n\n\tif (options.insertAt === \"top\") {\n\t\tif (!lastStyleElementInsertedAtTop) {\n\t\t\ttarget.insertBefore(style, target.firstChild);\n\t\t} else if (lastStyleElementInsertedAtTop.nextSibling) {\n\t\t\ttarget.insertBefore(style, lastStyleElementInsertedAtTop.nextSibling);\n\t\t} else {\n\t\t\ttarget.appendChild(style);\n\t\t}\n\t\tstylesInsertedAtTop.push(style);\n\t} else if (options.insertAt === \"bottom\") {\n\t\ttarget.appendChild(style);\n\t} else if (typeof options.insertAt === \"object\" && options.insertAt.before) {\n\t\tvar nextSibling = getElement(options.insertAt.before, target);\n\t\ttarget.insertBefore(style, nextSibling);\n\t} else {\n\t\tthrow new Error(\"[Style Loader]\\n\\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\\n Must be 'top', 'bottom', or Object.\\n (https://github.com/webpack-contrib/style-loader#insertat)\\n\");\n\t}\n}\n\nfunction removeStyleElement (style) {\n\tif (style.parentNode === null) return false;\n\tstyle.parentNode.removeChild(style);\n\n\tvar idx = stylesInsertedAtTop.indexOf(style);\n\tif(idx >= 0) {\n\t\tstylesInsertedAtTop.splice(idx, 1);\n\t}\n}\n\nfunction createStyleElement (options) {\n\tvar style = document.createElement(\"style\");\n\n\tif(options.attrs.type === undefined) {\n\t\toptions.attrs.type = \"text/css\";\n\t}\n\n\tif(options.attrs.nonce === undefined) {\n\t\tvar nonce = getNonce();\n\t\tif (nonce) {\n\t\t\toptions.attrs.nonce = nonce;\n\t\t}\n\t}\n\n\taddAttrs(style, options.attrs);\n\tinsertStyleElement(options, style);\n\n\treturn style;\n}\n\nfunction createLinkElement (options) {\n\tvar link = document.createElement(\"link\");\n\n\tif(options.attrs.type === undefined) {\n\t\toptions.attrs.type = \"text/css\";\n\t}\n\toptions.attrs.rel = \"stylesheet\";\n\n\taddAttrs(link, options.attrs);\n\tinsertStyleElement(options, link);\n\n\treturn link;\n}\n\nfunction addAttrs (el, attrs) {\n\tObject.keys(attrs).forEach(function (key) {\n\t\tel.setAttribute(key, attrs[key]);\n\t});\n}\n\nfunction getNonce() {\n\tif (typeof __webpack_nonce__ === 'undefined') {\n\t\treturn null;\n\t}\n\n\treturn __webpack_nonce__;\n}\n\nfunction addStyle (obj, options) {\n\tvar style, update, remove, result;\n\n\t// If a transform function was defined, run it on the css\n\tif (options.transform && obj.css) {\n\t result = typeof options.transform === 'function'\n\t\t ? options.transform(obj.css) \n\t\t : options.transform.default(obj.css);\n\n\t if (result) {\n\t \t// If transform returns a value, use that instead of the original css.\n\t \t// This allows running runtime transformations on the css.\n\t \tobj.css = result;\n\t } else {\n\t \t// If the transform function returns a falsy value, don't add this css.\n\t \t// This allows conditional loading of css\n\t \treturn function() {\n\t \t\t// noop\n\t \t};\n\t }\n\t}\n\n\tif (options.singleton) {\n\t\tvar styleIndex = singletonCounter++;\n\n\t\tstyle = singleton || (singleton = createStyleElement(options));\n\n\t\tupdate = applyToSingletonTag.bind(null, style, styleIndex, false);\n\t\tremove = applyToSingletonTag.bind(null, style, styleIndex, true);\n\n\t} else if (\n\t\tobj.sourceMap &&\n\t\ttypeof URL === \"function\" &&\n\t\ttypeof URL.createObjectURL === \"function\" &&\n\t\ttypeof URL.revokeObjectURL === \"function\" &&\n\t\ttypeof Blob === \"function\" &&\n\t\ttypeof btoa === \"function\"\n\t) {\n\t\tstyle = createLinkElement(options);\n\t\tupdate = updateLink.bind(null, style, options);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\n\t\t\tif(style.href) URL.revokeObjectURL(style.href);\n\t\t};\n\t} else {\n\t\tstyle = createStyleElement(options);\n\t\tupdate = applyToTag.bind(null, style);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\t\t};\n\t}\n\n\tupdate(obj);\n\n\treturn function updateStyle (newObj) {\n\t\tif (newObj) {\n\t\t\tif (\n\t\t\t\tnewObj.css === obj.css &&\n\t\t\t\tnewObj.media === obj.media &&\n\t\t\t\tnewObj.sourceMap === obj.sourceMap\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdate(obj = newObj);\n\t\t} else {\n\t\t\tremove();\n\t\t}\n\t};\n}\n\nvar replaceText = (function () {\n\tvar textStore = [];\n\n\treturn function (index, replacement) {\n\t\ttextStore[index] = replacement;\n\n\t\treturn textStore.filter(Boolean).join('\\n');\n\t};\n})();\n\nfunction applyToSingletonTag (style, index, remove, obj) {\n\tvar css = remove ? \"\" : obj.css;\n\n\tif (style.styleSheet) {\n\t\tstyle.styleSheet.cssText = replaceText(index, css);\n\t} else {\n\t\tvar cssNode = document.createTextNode(css);\n\t\tvar childNodes = style.childNodes;\n\n\t\tif (childNodes[index]) style.removeChild(childNodes[index]);\n\n\t\tif (childNodes.length) {\n\t\t\tstyle.insertBefore(cssNode, childNodes[index]);\n\t\t} else {\n\t\t\tstyle.appendChild(cssNode);\n\t\t}\n\t}\n}\n\nfunction applyToTag (style, obj) {\n\tvar css = obj.css;\n\tvar media = obj.media;\n\n\tif(media) {\n\t\tstyle.setAttribute(\"media\", media)\n\t}\n\n\tif(style.styleSheet) {\n\t\tstyle.styleSheet.cssText = css;\n\t} else {\n\t\twhile(style.firstChild) {\n\t\t\tstyle.removeChild(style.firstChild);\n\t\t}\n\n\t\tstyle.appendChild(document.createTextNode(css));\n\t}\n}\n\nfunction updateLink (link, options, obj) {\n\tvar css = obj.css;\n\tvar sourceMap = obj.sourceMap;\n\n\t/*\n\t\tIf convertToAbsoluteUrls isn't defined, but sourcemaps are enabled\n\t\tand there is no publicPath defined then lets turn convertToAbsoluteUrls\n\t\ton by default. Otherwise default to the convertToAbsoluteUrls option\n\t\tdirectly\n\t*/\n\tvar autoFixUrls = options.convertToAbsoluteUrls === undefined && sourceMap;\n\n\tif (options.convertToAbsoluteUrls || autoFixUrls) {\n\t\tcss = fixUrls(css);\n\t}\n\n\tif (sourceMap) {\n\t\t// http://stackoverflow.com/a/26603875\n\t\tcss += \"\\n/*# sourceMappingURL=data:application/json;base64,\" + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + \" */\";\n\t}\n\n\tvar blob = new Blob([css], { type: \"text/css\" });\n\n\tvar oldSrc = link.href;\n\n\tlink.href = URL.createObjectURL(blob);\n\n\tif(oldSrc) URL.revokeObjectURL(oldSrc);\n}\n","__webpack_public_path__ = OC.linkTo('files_sharing', 'js/dist/');\n__webpack_nonce__ = btoa(OC.requestToken);\n\nimport './share'\nimport './sharetabview'\nimport './sharebreadcrumbview'\n\nimport './style/sharetabview.scss'\nimport './style/sharebreadcrumb.scss'\n\nimport './collaborationresourceshandler.js'\n\nwindow.OCA.Sharing = OCA.Sharing;\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\t/**\n\t * @namespace\n\t */\n\tOCA.Sharing.Util = {\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\t\t\t\t\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\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, 'shareTabView');\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\tvar shareTab = new OCA.Sharing.ShareTabView('shareTabView', {order: -20});\n\t\t\t// detect changes and change the matching list entry\n\t\t\tshareTab.on('sharesChanged', function(shareModel) {\n\t\t\t\tvar fileInfoModel = shareModel.fileInfoModel;\n\t\t\t\tvar $tr = fileList.findFileEl(fileInfoModel.get('name'));\n\n\t\t\t\t// We count email shares as link share\n\t\t\t\tvar hasLinkShares = shareModel.hasLinkShares();\n\t\t\t\tshareModel.get('shares').forEach(function (share) {\n\t\t\t\t\tif (share.share_type === OC.Share.SHARE_TYPE_EMAIL) {\n\t\t\t\t\t\thasLinkShares = true;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tOCA.Sharing.Util._updateFileListDataAttributes(fileList, $tr, shareModel);\n\t\t\t\tif (!OCA.Sharing.Util._updateFileActionIcon($tr, shareModel.hasUserShares(), hasLinkShares)) {\n\t\t\t\t\t// remove icon, if applicable\n\t\t\t\t\tOC.Share.markFileAsShared($tr, false, false);\n\t\t\t\t}\n\n\t\t\t\t// FIXME: this is too convoluted. We need to get rid of the above updates\n\t\t\t\t// and only ever update the model and let the events take care of rerendering\n\t\t\t\tfileInfoModel.set({\n\t\t\t\t\tshareTypes: shareModel.getShareTypes(),\n\t\t\t\t\t// in case markFileAsShared decided to change the icon,\n\t\t\t\t\t// we need to modify the model\n\t\t\t\t\t// (FIXME: yes, this is hacky)\n\t\t\t\t\ticon: $tr.attr('data-icon')\n\t\t\t\t});\n\t\t\t});\n\t\t\tfileList.registerTabView(shareTab);\n\n\t\t\tvar breadCrumbSharingDetailView = new OCA.Sharing.ShareBreadCrumbView({shareTab: shareTab});\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}\n\t\t\telse {\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 * @return {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\tOC.Share.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 * @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 (c) 2015\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/* @global Handlebars */\n\n(function() {\n\tvar TEMPLATE =\n\t\t'<div>' +\n\t\t'<div class=\"dialogContainer\"></div>' +\n\t\t'<div id=\"collaborationResources\"></div>' +\n\t\t'</div>';\n\n\t/**\n\t * @memberof OCA.Sharing\n\t */\n\tvar ShareTabView = OCA.Files.DetailTabView.extend(\n\t\t/** @lends OCA.Sharing.ShareTabView.prototype */ {\n\t\tid: 'shareTabView',\n\t\tclassName: 'tab shareTabView',\n\n\t\tinitialize: function(name, options) {\n\t\t\tOCA.Files.DetailTabView.prototype.initialize.call(this, name, options);\n\t\t\tOC.Plugins.attach('OCA.Sharing.ShareTabView', this);\n\t\t},\n\n\t\ttemplate: function(params) {\n\t\t\treturn \tTEMPLATE;\n\t\t},\n\n\t\tgetLabel: function() {\n\t\t\treturn t('files_sharing', 'Sharing');\n\t\t},\n\n\t\tgetIcon: function() {\n\t\t\treturn 'icon-shared';\n\t\t},\n\n\t\t/**\n\t\t * Renders this details view\n\t\t */\n\t\trender: function() {\n\t\t\tvar self = this;\n\t\t\tif (this._dialog) {\n\t\t\t\t// remove/destroy older instance\n\t\t\t\tthis._dialog.model.off();\n\t\t\t\tthis._dialog.remove();\n\t\t\t\tthis._dialog = null;\n\t\t\t}\n\n\t\t\tif (this.model) {\n\t\t\t\tthis.$el.html(this.template());\n\n\t\t\t\tif (_.isUndefined(this.model.get('sharePermissions'))) {\n\t\t\t\t\tthis.model.set('sharePermissions', OCA.Sharing.Util.getSharePermissions(this.model.attributes));\n\t\t\t\t}\n\n\t\t\t\t// TODO: the model should read these directly off the passed fileInfoModel\n\t\t\t\tvar attributes = {\n\t\t\t\t\titemType: this.model.isDirectory() ? 'folder' : 'file',\n\t\t\t\t \titemSource: this.model.get('id'),\n\t\t\t\t\tpossiblePermissions: this.model.get('sharePermissions')\n\t\t\t\t};\n\t\t\t\tvar configModel = new OC.Share.ShareConfigModel();\n\t\t\t\tvar shareModel = new OC.Share.ShareItemModel(attributes, {\n\t\t\t\t\tconfigModel: configModel,\n\t\t\t\t\tfileInfoModel: this.model\n\t\t\t\t});\n\t\t\t\tthis._dialog = new OC.Share.ShareDialogView({\n\t\t\t\t\tconfigModel: configModel,\n\t\t\t\t\tmodel: shareModel\n\t\t\t\t});\n\t\t\t\tthis.$el.find('.dialogContainer').append(this._dialog.$el);\n\t\t\t\tthis._dialog.render();\n\t\t\t\tthis._dialog.model.fetch();\n\t\t\t\tthis._dialog.model.on('change', function() {\n\t\t\t\t\tself.trigger('sharesChanged', shareModel);\n\t\t\t\t});\n\n\t\t\t\timport('./collaborationresources').then((Resources) => {\n\t\t\t\t\tvar vm = new Resources.Vue({\n\t\t\t\t\t\tel: '#collaborationResources',\n\t\t\t\t\t\trender: h => h(Resources.View),\n\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\tmodel: this.model.toJSON()\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t\tthis.model.on('change', () => { vm.data = this.model.toJSON() })\n\n\t\t\t\t})\n\n\t\t\t} else {\n\t\t\t\tthis.$el.empty();\n\t\t\t\t// TODO: render placeholder text?\n\t\t\t}\n\t\t\tthis.trigger('rendered');\n\t\t}\n\t});\n\n\tOCA.Sharing.ShareTabView = ShareTabView;\n})();\n\n","/* global Handlebars, OC */\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\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\t/** @type OCA.Sharing.ShareTabView */\n\t\t_shareTab: undefined,\n\n\t\tinitialize: function(options) {\n\t\t\tthis._shareTab = options.shareTab;\n\t\t},\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\t\t\tthis._shareTab.on('sharesChanged', function(shareModel) {\n\t\t\t\tvar shareTypes = [];\n\t\t\t\tvar shares = shareModel.getSharesWithCurrentItem();\n\n\t\t\t\tfor(var i = 0; i < shares.length; i++) {\n\t\t\t\t\tif (shareTypes.indexOf(shares[i].share_type) === -1) {\n\t\t\t\t\t\tshareTypes.push(shares[i].share_type);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (shareModel.hasLinkShares()) {\n\t\t\t\t\tshareTypes.push(OC.Share.SHARE_TYPE_LINK);\n\t\t\t\t}\n\n\t\t\t\t// Since the dirInfo isn't updated we need to do this dark hackery\n\t\t\t\tself._dirInfo.shareTypes = shareTypes;\n\n\t\t\t\tself.render({\n\t\t\t\t\tdirInfo: self._dirInfo\n\t\t\t\t});\n\t\t\t});\n\t\t\tOCA.Files.App.fileList.showDetailsView(fileInfoModel, 'shareTabView');\n\t\t}\n\t});\n\n\tOCA.Sharing.ShareBreadCrumbView = BreadCrumbView;\n})();\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/lib/loader.js!./sharetabview.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/lib/loader.js!./sharetabview.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/lib/loader.js!./sharetabview.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".app-files .shareTabView {\\n min-height: 100px; }\\n\\n.share-autocomplete-item {\\n display: flex; }\\n .share-autocomplete-item.merged {\\n margin-left: 32px; }\\n .share-autocomplete-item .autocomplete-item-text {\\n margin-left: 10px;\\n margin-right: 10px;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n overflow: hidden;\\n line-height: 32px;\\n vertical-align: middle;\\n flex-grow: 1; }\\n .share-autocomplete-item .autocomplete-item-text .ui-state-highlight {\\n border: none;\\n margin: 0; }\\n .share-autocomplete-item.with-description .autocomplete-item-text {\\n line-height: 100%; }\\n .share-autocomplete-item .autocomplete-item-details {\\n display: block;\\n line-height: 130%;\\n font-size: 90%;\\n opacity: 0.7; }\\n .share-autocomplete-item .icon {\\n opacity: .7;\\n margin-right: 7px; }\\n .share-autocomplete-item .icon.search-globally {\\n width: 32px;\\n height: 32px;\\n margin-right: 0; }\\n\\n.shareTabView .oneline {\\n white-space: nowrap;\\n position: relative; }\\n\\n.shareTabView .shareWithLoading {\\n padding-left: 10px;\\n right: 35px;\\n top: 3px; }\\n\\n.shareTabView .shareWithConfirm {\\n position: absolute;\\n right: 2px;\\n top: 6px;\\n padding: 14px;\\n opacity: 0.5; }\\n\\n.shareTabView .shareWithField:focus ~ .shareWithConfirm {\\n opacity: 1; }\\n\\n.shareTabView .linkMore {\\n position: absolute;\\n right: -7px;\\n top: -4px;\\n padding: 14px; }\\n\\n.shareTabView .popovermenu {\\n /* Border above last entry '+ Add another share' to separate it from current link settings */ }\\n .shareTabView .popovermenu .linkPassMenu input.error {\\n border-color: var(--color-error) !important; }\\n .shareTabView .popovermenu .linkPassMenu input.error[type=\\\"submit\\\"] {\\n border-left: none; }\\n .shareTabView .popovermenu .linkPassMenu .share-pass-submit {\\n width: auto !important; }\\n .shareTabView .popovermenu .linkPassMenu .icon-loading-small {\\n background-color: var(--color-main-background);\\n position: absolute;\\n right: 8px;\\n margin: 3px;\\n padding: 10px;\\n width: 32px;\\n height: 32px;\\n z-index: 10; }\\n .shareTabView .popovermenu .datepicker {\\n margin-left: 35px; }\\n .shareTabView .popovermenu .share-add input.share-note-delete {\\n border: none;\\n background-color: transparent;\\n width: 44px !important;\\n padding: 0;\\n flex: 0 0 44px;\\n margin-left: auto; }\\n .shareTabView .popovermenu .share-add input.share-note-delete.hidden {\\n display: none; }\\n .shareTabView .popovermenu .share-note-form span.icon-note {\\n position: relative; }\\n .shareTabView .popovermenu .share-note-form textarea.share-note {\\n margin: 0;\\n width: 200px;\\n min-height: 70px;\\n resize: none; }\\n .shareTabView .popovermenu .share-note-form textarea.share-note + input.share-note-submit {\\n position: absolute;\\n width: 44px !important;\\n height: 44px;\\n bottom: 0px;\\n right: 10px;\\n margin: 0;\\n background-color: transparent;\\n border: none;\\n opacity: .7; }\\n .shareTabView .popovermenu .share-note-form textarea.share-note + input.share-note-submit:hover, .shareTabView .popovermenu .share-note-form textarea.share-note + input.share-note-submit:focus, .shareTabView .popovermenu .share-note-form textarea.share-note + input.share-note-submit:active {\\n opacity: 1; }\\n .shareTabView .popovermenu .share-note-form.share-note-link {\\n margin-bottom: 10px; }\\n .shareTabView .popovermenu .new-share {\\n border-top: 1px solid var(--color-border); }\\n\\n.shareTabView .linkPass .icon-loading-small {\\n margin-right: 0px; }\\n\\n.shareTabView .icon {\\n background-size: 16px 16px; }\\n\\n.shareTabView .shareWithList .icon-loading-small:not(.hidden) + span,\\n.shareTabView .linkShareView .icon-loading-small:not(.hidden) + input + label:before {\\n /* Hide if loader is visible */\\n display: none !important; }\\n\\n.shareTabView input[type='checkbox'] {\\n margin: 0 3px 0 8px;\\n vertical-align: middle; }\\n\\n.shareTabView input[type='text'].shareWithField, .shareTabView input[type='text'].emailField {\\n width: 100%;\\n box-sizing: border-box;\\n padding-right: 32px;\\n text-overflow: ellipsis; }\\n\\n.shareTabView input[type='text'].linkText .shareTabView input[type='password'].linkPassText, .shareTabView input[type='password'].passwordField {\\n width: 180px !important; }\\n\\n.shareTabView form {\\n font-size: 100%;\\n margin-left: 0;\\n margin-right: 0; }\\n\\n.shareTabView .share-note {\\n border-radius: var(--border-radius);\\n margin-bottom: 10px;\\n margin-left: 37px; }\\n\\n.shareWithList {\\n list-style-type: none;\\n display: flex;\\n flex-direction: column; }\\n .shareWithList > li {\\n height: 44px;\\n white-space: normal;\\n display: inline-flex;\\n align-items: center;\\n position: relative; }\\n .shareWithList > li .avatar {\\n width: 32px;\\n height: 32px;\\n background-color: var(--color-primary); }\\n .shareWithList .unshare img {\\n vertical-align: text-bottom;\\n /* properly align icons */ }\\n .shareWithList .sharingOptionsGroup {\\n margin-left: auto;\\n display: flex;\\n align-items: center;\\n white-space: nowrap; }\\n .shareWithList .sharingOptionsGroup > .icon:not(.hidden),\\n .shareWithList .sharingOptionsGroup .share-menu > .icon:not(.hidden) {\\n padding: 14px;\\n height: 44px;\\n width: 44px;\\n opacity: .5;\\n display: block;\\n cursor: pointer; }\\n .shareWithList .sharingOptionsGroup > .icon:not(.hidden):hover, .shareWithList .sharingOptionsGroup > .icon:not(.hidden):focus, .shareWithList .sharingOptionsGroup > .icon:not(.hidden):active,\\n .shareWithList .sharingOptionsGroup .share-menu > .icon:not(.hidden):hover,\\n .shareWithList .sharingOptionsGroup .share-menu > .icon:not(.hidden):focus,\\n .shareWithList .sharingOptionsGroup .share-menu > .icon:not(.hidden):active {\\n opacity: .7; }\\n .shareWithList .sharingOptionsGroup > .share-menu {\\n position: relative;\\n display: block; }\\n .shareWithList .username {\\n padding: 0 8px;\\n overflow: hidden;\\n white-space: nowrap;\\n text-overflow: ellipsis; }\\n\\n.ui-autocomplete {\\n /* limit dropdown height to 6 1/2 entries */\\n max-height: calc(36px * 6.5);\\n overflow-y: auto;\\n overflow-x: hidden;\\n z-index: 1550 !important; }\\n\\n.notCreatable {\\n padding-left: 12px;\\n padding-top: 12px;\\n color: var(--color-text-lighter); }\\n\\n.contactsmenu-popover {\\n left: -6px;\\n right: auto;\\n padding: 3px 6px;\\n top: 100%;\\n margin-top: 0; }\\n .contactsmenu-popover li.hidden {\\n display: none !important; }\\n .contactsmenu-popover:after {\\n left: 8px;\\n right: auto; }\\n\\n.reshare,\\n#link label,\\n#expiration label {\\n display: inline-flex;\\n align-items: center; }\\n .reshare .avatar,\\n #link label .avatar,\\n #expiration label .avatar {\\n margin-right: 5px; }\\n\\n.resharerInfoView.subView {\\n position: relative; }\\n\", \"\"]);\n\n","\n/**\n * When source maps are enabled, `style-loader` uses a link element with a data-uri to\n * embed the css on the page. This breaks all relative urls because now they are relative to a\n * bundle instead of the current page.\n *\n * One solution is to only use full urls, but that may be impossible.\n *\n * Instead, this function \"fixes\" the relative urls to be absolute according to the current page location.\n *\n * A rudimentary test suite is located at `test/fixUrls.js` and can be run via the `npm test` command.\n *\n */\n\nmodule.exports = function (css) {\n // get current location\n var location = typeof window !== \"undefined\" && window.location;\n\n if (!location) {\n throw new Error(\"fixUrls requires window.location\");\n }\n\n\t// blank or null?\n\tif (!css || typeof css !== \"string\") {\n\t return css;\n }\n\n var baseUrl = location.protocol + \"//\" + location.host;\n var currentDir = baseUrl + location.pathname.replace(/\\/[^\\/]*$/, \"/\");\n\n\t// convert each url(...)\n\t/*\n\tThis regular expression is just a way to recursively match brackets within\n\ta string.\n\n\t /url\\s*\\( = Match on the word \"url\" with any whitespace after it and then a parens\n\t ( = Start a capturing group\n\t (?: = Start a non-capturing group\n\t [^)(] = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t (?: = Start another non-capturing groups\n\t [^)(]+ = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t [^)(]* = Match anything that isn't a parentheses\n\t \\) = Match a end parentheses\n\t ) = End Group\n *\\) = Match anything and then a close parens\n ) = Close non-capturing group\n * = Match anything\n ) = Close capturing group\n\t \\) = Match a close parens\n\n\t /gi = Get all matches, not the first. Be case insensitive.\n\t */\n\tvar fixedCss = css.replace(/url\\s*\\(((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)\\)/gi, function(fullMatch, origUrl) {\n\t\t// strip quotes (if they exist)\n\t\tvar unquotedOrigUrl = origUrl\n\t\t\t.trim()\n\t\t\t.replace(/^\"(.*)\"$/, function(o, $1){ return $1; })\n\t\t\t.replace(/^'(.*)'$/, function(o, $1){ return $1; });\n\n\t\t// already a full url? no change\n\t\tif (/^(#|data:|http:\\/\\/|https:\\/\\/|file:\\/\\/\\/|\\s*$)/i.test(unquotedOrigUrl)) {\n\t\t return fullMatch;\n\t\t}\n\n\t\t// convert the url to a full url\n\t\tvar newUrl;\n\n\t\tif (unquotedOrigUrl.indexOf(\"//\") === 0) {\n\t\t \t//TODO: should we add protocol?\n\t\t\tnewUrl = unquotedOrigUrl;\n\t\t} else if (unquotedOrigUrl.indexOf(\"/\") === 0) {\n\t\t\t// path should be relative to the base url\n\t\t\tnewUrl = baseUrl + unquotedOrigUrl; // already starts with '/'\n\t\t} else {\n\t\t\t// path should be relative to current directory\n\t\t\tnewUrl = currentDir + unquotedOrigUrl.replace(/^\\.\\//, \"\"); // Strip leading './'\n\t\t}\n\n\t\t// send back the fixed url(...)\n\t\treturn \"url(\" + JSON.stringify(newUrl) + \")\";\n\t});\n\n\t// send back the fixed css\n\treturn fixedCss;\n};\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/lib/loader.js!./sharebreadcrumb.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/lib/loader.js!./sharebreadcrumb.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/lib/loader.js!./sharebreadcrumb.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"/**\\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 */\\ndiv.crumb span.icon-shared,\\ndiv.crumb span.icon-public {\\n display: inline-block;\\n cursor: pointer;\\n opacity: 0.2;\\n margin-right: 6px; }\\n\\ndiv.crumb span.icon-shared.shared,\\ndiv.crumb span.icon-public.shared {\\n opacity: 0.7; }\\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/css-loader/dist/runtime/api.js","webpack:///./node_modules/style-loader/lib/addStyles.js","webpack:///./apps/files_sharing/src/additionalScripts.js","webpack:///./apps/files_sharing/src/share.js","webpack:///./apps/files_sharing/src/sharetabview.js","webpack:///./apps/files_sharing/src/sharebreadcrumbview.js","webpack:///./apps/files_sharing/src/style/sharetabview.scss?3391","webpack:///./apps/files_sharing/src/style/sharetabview.scss","webpack:///./node_modules/style-loader/lib/urls.js","webpack:///./apps/files_sharing/src/style/sharebreadcrumb.scss?732e","webpack:///./apps/files_sharing/src/style/sharebreadcrumb.scss"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","installedModules","0","1","__webpack_require__","exports","module","l","e","promises","installedChunkData","promise","Promise","resolve","reject","onScriptComplete","script","document","createElement","charset","timeout","nc","setAttribute","src","p","jsonpScriptSrc","error","Error","event","onerror","onload","clearTimeout","chunk","errorType","type","realSrc","target","message","name","request","undefined","setTimeout","head","appendChild","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","err","console","jsonpArray","window","oldJsonpFunction","slice","s","__webpack_public_path__","OC","linkTo","__webpack_nonce__","btoa","requestToken","OCP","Collaboration","registerType","action","dialogs","filepicker","f","Files","getClient","getFileInfo","then","status","fileInfo","id","typeString","typeIconClass","useSourceMap","list","toString","this","map","item","content","cssMapping","sourceMapping","sourceMap","unescape","encodeURIComponent","JSON","stringify","sourceURLs","sources","source","sourceRoot","concat","join","cssWithMappingToString","mediaQuery","alreadyImportedModules","fn","memo","stylesInDom","isOldIE","atob","apply","arguments","getElement","parent","styleTarget","querySelector","HTMLIFrameElement","contentDocument","singleton","singletonCounter","stylesInsertedAtTop","fixUrls","addStylesToDom","styles","options","domStyle","refs","j","parts","addStyle","listToStyles","newStyles","base","part","css","media","insertStyleElement","style","insertInto","lastStyleElementInsertedAtTop","insertAt","nextSibling","insertBefore","firstChild","before","removeStyleElement","parentNode","removeChild","idx","indexOf","splice","createStyleElement","attrs","nonce","getNonce","addAttrs","el","keys","forEach","obj","update","remove","result","transform","default","styleIndex","applyToSingletonTag","URL","createObjectURL","revokeObjectURL","Blob","link","rel","createLinkElement","autoFixUrls","convertToAbsoluteUrls","blob","oldSrc","href","styleSheet","cssText","createTextNode","newObj","DEBUG","newList","mayRemove","textStore","replaceText","index","replacement","filter","Boolean","cssNode","childNodes","OCA","Sharing","_","extend","Client","PROPERTY_SHARE_TYPES","NS_OWNCLOUD","PROPERTY_OWNER_ID","PROPERTY_OWNER_DISPLAY_NAME","Util","attach","fileList","Share","fileActions","oldCreateRow","_createRow","fileData","tr","sharePermissions","getSharePermissions","permissions","actions","Comment","Details","Goto","attr","shareOwner","shareOwnerId","mountType","PERMISSION_UPDATE","recipientData","isEmpty","shareTypes","oldElementToFile","elementToFile","$el","split","expirationTimestamp","parseInt","shares","expiration","oldGetWebdavProperties","_getWebdavProperties","props","filesClient","addFileInfoParser","response","propStat","properties","permissionsProp","PROPERTY_PERMISSIONS","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","shareTab","ShareTabView","shareModel","fileInfoModel","findFileEl","hasLinkShares","share","share_type","_updateFileListDataAttributes","hasUserShares","markFileAsShared","set","getShareTypes","registerTabView","breadCrumbSharingDetailView","ShareBreadCrumbView","registerBreadCrumbDetailView","pluck","mapObject","shareWith","share_with","shareWithDisplayName","share_with_displayname","removeAttr","Plugins","register","DetailTabView","className","initialize","template","params","getLabel","getIcon","_this","self","_dialog","model","off","html","isUndefined","attributes","itemType","isDirectory","itemSource","possiblePermissions","configModel","ShareConfigModel","ShareItemModel","ShareDialogView","find","append","fetch","trigger","Resources","vm","Vue","h","View","toJSON","empty","BreadCrumbView","Backbone","tagName","events","click","_dirInfo","_shareTab","dirInfo","path","removeClass","hide","isShared","addClass","show","delegateEvents","_onClick","preventDefault","FileInfoModel","getSharesWithCurrentItem","App","hmr","locals","location","baseUrl","protocol","host","currentDir","pathname","replace","fullMatch","origUrl","newUrl","unquotedOrigUrl","trim","$1","test"],"mappings":"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","file":"additionalScripts.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t};\n\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t0: 0,\n \t\t1: 0\n \t};\n\n\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"files_sharing.\" + chunkId + \".js\"\n \t}\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 \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\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 \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 3);\n","__webpack_public_path__ = OC.linkTo('files_sharing', 'js/dist/');\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}, () => {\n\t\t\t\t\treject();\n\t\t\t\t});\n\t\t\t}, false);\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\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 ' + item[2] + '{' + content + '}';\n } else {\n return content;\n }\n }).join('');\n }; // import a list of modules into the list\n\n\n list.i = function (modules, mediaQuery) {\n if (typeof modules === 'string') {\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n for (var i = 0; i < this.length; i++) {\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n\n for (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] = '(' + item[2] + ') and (' + 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] || '';\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=' + cssMapping.sourceRoot + 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,' + base64;\n return '/*# ' + data + ' */';\n}","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n\nvar stylesInDom = {};\n\nvar\tmemoize = function (fn) {\n\tvar memo;\n\n\treturn function () {\n\t\tif (typeof memo === \"undefined\") memo = fn.apply(this, arguments);\n\t\treturn memo;\n\t};\n};\n\nvar isOldIE = memoize(function () {\n\t// Test for IE <= 9 as proposed by Browserhacks\n\t// @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n\t// Tests for existence of standard globals is to allow style-loader\n\t// to operate correctly into non-standard environments\n\t// @see https://github.com/webpack-contrib/style-loader/issues/177\n\treturn window && document && document.all && !window.atob;\n});\n\nvar getTarget = function (target, parent) {\n if (parent){\n return parent.querySelector(target);\n }\n return document.querySelector(target);\n};\n\nvar getElement = (function (fn) {\n\tvar memo = {};\n\n\treturn function(target, parent) {\n // If passing function in options, then use it for resolve \"head\" element.\n // Useful for Shadow Root style i.e\n // {\n // insertInto: function () { return document.querySelector(\"#foo\").shadowRoot }\n // }\n if (typeof target === 'function') {\n return target();\n }\n if (typeof memo[target] === \"undefined\") {\n\t\t\tvar styleTarget = getTarget.call(this, target, parent);\n\t\t\t// Special case to return head of iframe instead of iframe itself\n\t\t\tif (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n\t\t\t\ttry {\n\t\t\t\t\t// This will throw an exception if access to iframe is blocked\n\t\t\t\t\t// due to cross-origin restrictions\n\t\t\t\t\tstyleTarget = styleTarget.contentDocument.head;\n\t\t\t\t} catch(e) {\n\t\t\t\t\tstyleTarget = null;\n\t\t\t\t}\n\t\t\t}\n\t\t\tmemo[target] = styleTarget;\n\t\t}\n\t\treturn memo[target]\n\t};\n})();\n\nvar singleton = null;\nvar\tsingletonCounter = 0;\nvar\tstylesInsertedAtTop = [];\n\nvar\tfixUrls = require(\"./urls\");\n\nmodule.exports = function(list, options) {\n\tif (typeof DEBUG !== \"undefined\" && DEBUG) {\n\t\tif (typeof document !== \"object\") throw new Error(\"The style-loader cannot be used in a non-browser environment\");\n\t}\n\n\toptions = options || {};\n\n\toptions.attrs = typeof options.attrs === \"object\" ? options.attrs : {};\n\n\t// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n\t// tags it will allow on a page\n\tif (!options.singleton && typeof options.singleton !== \"boolean\") options.singleton = isOldIE();\n\n\t// By default, add <style> tags to the <head> element\n if (!options.insertInto) options.insertInto = \"head\";\n\n\t// By default, add <style> tags to the bottom of the target\n\tif (!options.insertAt) options.insertAt = \"bottom\";\n\n\tvar styles = listToStyles(list, options);\n\n\taddStylesToDom(styles, options);\n\n\treturn function update (newList) {\n\t\tvar mayRemove = [];\n\n\t\tfor (var i = 0; i < styles.length; i++) {\n\t\t\tvar item = styles[i];\n\t\t\tvar domStyle = stylesInDom[item.id];\n\n\t\t\tdomStyle.refs--;\n\t\t\tmayRemove.push(domStyle);\n\t\t}\n\n\t\tif(newList) {\n\t\t\tvar newStyles = listToStyles(newList, options);\n\t\t\taddStylesToDom(newStyles, options);\n\t\t}\n\n\t\tfor (var i = 0; i < mayRemove.length; i++) {\n\t\t\tvar domStyle = mayRemove[i];\n\n\t\t\tif(domStyle.refs === 0) {\n\t\t\t\tfor (var j = 0; j < domStyle.parts.length; j++) domStyle.parts[j]();\n\n\t\t\t\tdelete stylesInDom[domStyle.id];\n\t\t\t}\n\t\t}\n\t};\n};\n\nfunction addStylesToDom (styles, options) {\n\tfor (var i = 0; i < styles.length; i++) {\n\t\tvar item = styles[i];\n\t\tvar domStyle = stylesInDom[item.id];\n\n\t\tif(domStyle) {\n\t\t\tdomStyle.refs++;\n\n\t\t\tfor(var j = 0; j < domStyle.parts.length; j++) {\n\t\t\t\tdomStyle.parts[j](item.parts[j]);\n\t\t\t}\n\n\t\t\tfor(; j < item.parts.length; j++) {\n\t\t\t\tdomStyle.parts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\t\t} else {\n\t\t\tvar parts = [];\n\n\t\t\tfor(var j = 0; j < item.parts.length; j++) {\n\t\t\t\tparts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\n\t\t\tstylesInDom[item.id] = {id: item.id, refs: 1, parts: parts};\n\t\t}\n\t}\n}\n\nfunction listToStyles (list, options) {\n\tvar styles = [];\n\tvar newStyles = {};\n\n\tfor (var i = 0; i < list.length; i++) {\n\t\tvar item = list[i];\n\t\tvar id = options.base ? item[0] + options.base : item[0];\n\t\tvar css = item[1];\n\t\tvar media = item[2];\n\t\tvar sourceMap = item[3];\n\t\tvar part = {css: css, media: media, sourceMap: sourceMap};\n\n\t\tif(!newStyles[id]) styles.push(newStyles[id] = {id: id, parts: [part]});\n\t\telse newStyles[id].parts.push(part);\n\t}\n\n\treturn styles;\n}\n\nfunction insertStyleElement (options, style) {\n\tvar target = getElement(options.insertInto)\n\n\tif (!target) {\n\t\tthrow new Error(\"Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.\");\n\t}\n\n\tvar lastStyleElementInsertedAtTop = stylesInsertedAtTop[stylesInsertedAtTop.length - 1];\n\n\tif (options.insertAt === \"top\") {\n\t\tif (!lastStyleElementInsertedAtTop) {\n\t\t\ttarget.insertBefore(style, target.firstChild);\n\t\t} else if (lastStyleElementInsertedAtTop.nextSibling) {\n\t\t\ttarget.insertBefore(style, lastStyleElementInsertedAtTop.nextSibling);\n\t\t} else {\n\t\t\ttarget.appendChild(style);\n\t\t}\n\t\tstylesInsertedAtTop.push(style);\n\t} else if (options.insertAt === \"bottom\") {\n\t\ttarget.appendChild(style);\n\t} else if (typeof options.insertAt === \"object\" && options.insertAt.before) {\n\t\tvar nextSibling = getElement(options.insertAt.before, target);\n\t\ttarget.insertBefore(style, nextSibling);\n\t} else {\n\t\tthrow new Error(\"[Style Loader]\\n\\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\\n Must be 'top', 'bottom', or Object.\\n (https://github.com/webpack-contrib/style-loader#insertat)\\n\");\n\t}\n}\n\nfunction removeStyleElement (style) {\n\tif (style.parentNode === null) return false;\n\tstyle.parentNode.removeChild(style);\n\n\tvar idx = stylesInsertedAtTop.indexOf(style);\n\tif(idx >= 0) {\n\t\tstylesInsertedAtTop.splice(idx, 1);\n\t}\n}\n\nfunction createStyleElement (options) {\n\tvar style = document.createElement(\"style\");\n\n\tif(options.attrs.type === undefined) {\n\t\toptions.attrs.type = \"text/css\";\n\t}\n\n\tif(options.attrs.nonce === undefined) {\n\t\tvar nonce = getNonce();\n\t\tif (nonce) {\n\t\t\toptions.attrs.nonce = nonce;\n\t\t}\n\t}\n\n\taddAttrs(style, options.attrs);\n\tinsertStyleElement(options, style);\n\n\treturn style;\n}\n\nfunction createLinkElement (options) {\n\tvar link = document.createElement(\"link\");\n\n\tif(options.attrs.type === undefined) {\n\t\toptions.attrs.type = \"text/css\";\n\t}\n\toptions.attrs.rel = \"stylesheet\";\n\n\taddAttrs(link, options.attrs);\n\tinsertStyleElement(options, link);\n\n\treturn link;\n}\n\nfunction addAttrs (el, attrs) {\n\tObject.keys(attrs).forEach(function (key) {\n\t\tel.setAttribute(key, attrs[key]);\n\t});\n}\n\nfunction getNonce() {\n\tif (typeof __webpack_nonce__ === 'undefined') {\n\t\treturn null;\n\t}\n\n\treturn __webpack_nonce__;\n}\n\nfunction addStyle (obj, options) {\n\tvar style, update, remove, result;\n\n\t// If a transform function was defined, run it on the css\n\tif (options.transform && obj.css) {\n\t result = typeof options.transform === 'function'\n\t\t ? options.transform(obj.css) \n\t\t : options.transform.default(obj.css);\n\n\t if (result) {\n\t \t// If transform returns a value, use that instead of the original css.\n\t \t// This allows running runtime transformations on the css.\n\t \tobj.css = result;\n\t } else {\n\t \t// If the transform function returns a falsy value, don't add this css.\n\t \t// This allows conditional loading of css\n\t \treturn function() {\n\t \t\t// noop\n\t \t};\n\t }\n\t}\n\n\tif (options.singleton) {\n\t\tvar styleIndex = singletonCounter++;\n\n\t\tstyle = singleton || (singleton = createStyleElement(options));\n\n\t\tupdate = applyToSingletonTag.bind(null, style, styleIndex, false);\n\t\tremove = applyToSingletonTag.bind(null, style, styleIndex, true);\n\n\t} else if (\n\t\tobj.sourceMap &&\n\t\ttypeof URL === \"function\" &&\n\t\ttypeof URL.createObjectURL === \"function\" &&\n\t\ttypeof URL.revokeObjectURL === \"function\" &&\n\t\ttypeof Blob === \"function\" &&\n\t\ttypeof btoa === \"function\"\n\t) {\n\t\tstyle = createLinkElement(options);\n\t\tupdate = updateLink.bind(null, style, options);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\n\t\t\tif(style.href) URL.revokeObjectURL(style.href);\n\t\t};\n\t} else {\n\t\tstyle = createStyleElement(options);\n\t\tupdate = applyToTag.bind(null, style);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\t\t};\n\t}\n\n\tupdate(obj);\n\n\treturn function updateStyle (newObj) {\n\t\tif (newObj) {\n\t\t\tif (\n\t\t\t\tnewObj.css === obj.css &&\n\t\t\t\tnewObj.media === obj.media &&\n\t\t\t\tnewObj.sourceMap === obj.sourceMap\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdate(obj = newObj);\n\t\t} else {\n\t\t\tremove();\n\t\t}\n\t};\n}\n\nvar replaceText = (function () {\n\tvar textStore = [];\n\n\treturn function (index, replacement) {\n\t\ttextStore[index] = replacement;\n\n\t\treturn textStore.filter(Boolean).join('\\n');\n\t};\n})();\n\nfunction applyToSingletonTag (style, index, remove, obj) {\n\tvar css = remove ? \"\" : obj.css;\n\n\tif (style.styleSheet) {\n\t\tstyle.styleSheet.cssText = replaceText(index, css);\n\t} else {\n\t\tvar cssNode = document.createTextNode(css);\n\t\tvar childNodes = style.childNodes;\n\n\t\tif (childNodes[index]) style.removeChild(childNodes[index]);\n\n\t\tif (childNodes.length) {\n\t\t\tstyle.insertBefore(cssNode, childNodes[index]);\n\t\t} else {\n\t\t\tstyle.appendChild(cssNode);\n\t\t}\n\t}\n}\n\nfunction applyToTag (style, obj) {\n\tvar css = obj.css;\n\tvar media = obj.media;\n\n\tif(media) {\n\t\tstyle.setAttribute(\"media\", media)\n\t}\n\n\tif(style.styleSheet) {\n\t\tstyle.styleSheet.cssText = css;\n\t} else {\n\t\twhile(style.firstChild) {\n\t\t\tstyle.removeChild(style.firstChild);\n\t\t}\n\n\t\tstyle.appendChild(document.createTextNode(css));\n\t}\n}\n\nfunction updateLink (link, options, obj) {\n\tvar css = obj.css;\n\tvar sourceMap = obj.sourceMap;\n\n\t/*\n\t\tIf convertToAbsoluteUrls isn't defined, but sourcemaps are enabled\n\t\tand there is no publicPath defined then lets turn convertToAbsoluteUrls\n\t\ton by default. Otherwise default to the convertToAbsoluteUrls option\n\t\tdirectly\n\t*/\n\tvar autoFixUrls = options.convertToAbsoluteUrls === undefined && sourceMap;\n\n\tif (options.convertToAbsoluteUrls || autoFixUrls) {\n\t\tcss = fixUrls(css);\n\t}\n\n\tif (sourceMap) {\n\t\t// http://stackoverflow.com/a/26603875\n\t\tcss += \"\\n/*# sourceMappingURL=data:application/json;base64,\" + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + \" */\";\n\t}\n\n\tvar blob = new Blob([css], { type: \"text/css\" });\n\n\tvar oldSrc = link.href;\n\n\tlink.href = URL.createObjectURL(blob);\n\n\tif(oldSrc) URL.revokeObjectURL(oldSrc);\n}\n","__webpack_public_path__ = OC.linkTo('files_sharing', 'js/dist/');\n__webpack_nonce__ = btoa(OC.requestToken);\n\nimport './share'\nimport './sharetabview'\nimport './sharebreadcrumbview'\n\nimport './style/sharetabview.scss'\nimport './style/sharebreadcrumb.scss'\n\nimport './collaborationresourceshandler.js'\n\nwindow.OCA.Sharing = OCA.Sharing;\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\t/**\n\t * @namespace\n\t */\n\tOCA.Sharing.Util = {\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\t\t\t\t\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\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, 'shareTabView');\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\tvar shareTab = new OCA.Sharing.ShareTabView('shareTabView', {order: -20});\n\t\t\t// detect changes and change the matching list entry\n\t\t\tshareTab.on('sharesChanged', function(shareModel) {\n\t\t\t\tvar fileInfoModel = shareModel.fileInfoModel;\n\t\t\t\tvar $tr = fileList.findFileEl(fileInfoModel.get('name'));\n\n\t\t\t\t// We count email shares as link share\n\t\t\t\tvar hasLinkShares = shareModel.hasLinkShares();\n\t\t\t\tshareModel.get('shares').forEach(function (share) {\n\t\t\t\t\tif (share.share_type === OC.Share.SHARE_TYPE_EMAIL) {\n\t\t\t\t\t\thasLinkShares = true;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tOCA.Sharing.Util._updateFileListDataAttributes(fileList, $tr, shareModel);\n\t\t\t\tif (!OCA.Sharing.Util._updateFileActionIcon($tr, shareModel.hasUserShares(), hasLinkShares)) {\n\t\t\t\t\t// remove icon, if applicable\n\t\t\t\t\tOC.Share.markFileAsShared($tr, false, false);\n\t\t\t\t}\n\n\t\t\t\t// FIXME: this is too convoluted. We need to get rid of the above updates\n\t\t\t\t// and only ever update the model and let the events take care of rerendering\n\t\t\t\tfileInfoModel.set({\n\t\t\t\t\tshareTypes: shareModel.getShareTypes(),\n\t\t\t\t\t// in case markFileAsShared decided to change the icon,\n\t\t\t\t\t// we need to modify the model\n\t\t\t\t\t// (FIXME: yes, this is hacky)\n\t\t\t\t\ticon: $tr.attr('data-icon')\n\t\t\t\t});\n\t\t\t});\n\t\t\tfileList.registerTabView(shareTab);\n\n\t\t\tvar breadCrumbSharingDetailView = new OCA.Sharing.ShareBreadCrumbView({shareTab: shareTab});\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}\n\t\t\telse {\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 * @return {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\tOC.Share.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 * @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 (c) 2015\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/* @global Handlebars */\n\n(function() {\n\tvar TEMPLATE =\n\t\t'<div>' +\n\t\t'<div class=\"dialogContainer\"></div>' +\n\t\t'<div id=\"collaborationResources\"></div>' +\n\t\t'</div>';\n\n\t/**\n\t * @memberof OCA.Sharing\n\t */\n\tvar ShareTabView = OCA.Files.DetailTabView.extend(\n\t\t/** @lends OCA.Sharing.ShareTabView.prototype */ {\n\t\tid: 'shareTabView',\n\t\tclassName: 'tab shareTabView',\n\n\t\tinitialize: function(name, options) {\n\t\t\tOCA.Files.DetailTabView.prototype.initialize.call(this, name, options);\n\t\t\tOC.Plugins.attach('OCA.Sharing.ShareTabView', this);\n\t\t},\n\n\t\ttemplate: function(params) {\n\t\t\treturn \tTEMPLATE;\n\t\t},\n\n\t\tgetLabel: function() {\n\t\t\treturn t('files_sharing', 'Sharing');\n\t\t},\n\n\t\tgetIcon: function() {\n\t\t\treturn 'icon-shared';\n\t\t},\n\n\t\t/**\n\t\t * Renders this details view\n\t\t */\n\t\trender: function() {\n\t\t\tvar self = this;\n\t\t\tif (this._dialog) {\n\t\t\t\t// remove/destroy older instance\n\t\t\t\tthis._dialog.model.off();\n\t\t\t\tthis._dialog.remove();\n\t\t\t\tthis._dialog = null;\n\t\t\t}\n\n\t\t\tif (this.model) {\n\t\t\t\tthis.$el.html(this.template());\n\n\t\t\t\tif (_.isUndefined(this.model.get('sharePermissions'))) {\n\t\t\t\t\tthis.model.set('sharePermissions', OCA.Sharing.Util.getSharePermissions(this.model.attributes));\n\t\t\t\t}\n\n\t\t\t\t// TODO: the model should read these directly off the passed fileInfoModel\n\t\t\t\tvar attributes = {\n\t\t\t\t\titemType: this.model.isDirectory() ? 'folder' : 'file',\n\t\t\t\t \titemSource: this.model.get('id'),\n\t\t\t\t\tpossiblePermissions: this.model.get('sharePermissions')\n\t\t\t\t};\n\t\t\t\tvar configModel = new OC.Share.ShareConfigModel();\n\t\t\t\tvar shareModel = new OC.Share.ShareItemModel(attributes, {\n\t\t\t\t\tconfigModel: configModel,\n\t\t\t\t\tfileInfoModel: this.model\n\t\t\t\t});\n\t\t\t\tthis._dialog = new OC.Share.ShareDialogView({\n\t\t\t\t\tconfigModel: configModel,\n\t\t\t\t\tmodel: shareModel\n\t\t\t\t});\n\t\t\t\tthis.$el.find('.dialogContainer').append(this._dialog.$el);\n\t\t\t\tthis._dialog.render();\n\t\t\t\tthis._dialog.model.fetch();\n\t\t\t\tthis._dialog.model.on('change', function() {\n\t\t\t\t\tself.trigger('sharesChanged', shareModel);\n\t\t\t\t});\n\n\t\t\t\timport('./collaborationresources').then((Resources) => {\n\t\t\t\t\tvar vm = new Resources.Vue({\n\t\t\t\t\t\tel: '#collaborationResources',\n\t\t\t\t\t\trender: h => h(Resources.View),\n\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\tmodel: this.model.toJSON()\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t\tthis.model.on('change', () => { vm.data = this.model.toJSON() })\n\n\t\t\t\t})\n\n\t\t\t} else {\n\t\t\t\tthis.$el.empty();\n\t\t\t\t// TODO: render placeholder text?\n\t\t\t}\n\t\t\tthis.trigger('rendered');\n\t\t}\n\t});\n\n\tOCA.Sharing.ShareTabView = ShareTabView;\n})();\n\n","/* global Handlebars, OC */\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\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\t/** @type OCA.Sharing.ShareTabView */\n\t\t_shareTab: undefined,\n\n\t\tinitialize: function(options) {\n\t\t\tthis._shareTab = options.shareTab;\n\t\t},\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\t\t\tthis._shareTab.on('sharesChanged', function(shareModel) {\n\t\t\t\tvar shareTypes = [];\n\t\t\t\tvar shares = shareModel.getSharesWithCurrentItem();\n\n\t\t\t\tfor(var i = 0; i < shares.length; i++) {\n\t\t\t\t\tif (shareTypes.indexOf(shares[i].share_type) === -1) {\n\t\t\t\t\t\tshareTypes.push(shares[i].share_type);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (shareModel.hasLinkShares()) {\n\t\t\t\t\tshareTypes.push(OC.Share.SHARE_TYPE_LINK);\n\t\t\t\t}\n\n\t\t\t\t// Since the dirInfo isn't updated we need to do this dark hackery\n\t\t\t\tself._dirInfo.shareTypes = shareTypes;\n\n\t\t\t\tself.render({\n\t\t\t\t\tdirInfo: self._dirInfo\n\t\t\t\t});\n\t\t\t});\n\t\t\tOCA.Files.App.fileList.showDetailsView(fileInfoModel, 'shareTabView');\n\t\t}\n\t});\n\n\tOCA.Sharing.ShareBreadCrumbView = BreadCrumbView;\n})();\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/lib/loader.js!./sharetabview.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/lib/loader.js!./sharetabview.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/lib/loader.js!./sharetabview.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".app-files .shareTabView {\\n min-height: 100px; }\\n\\n.share-autocomplete-item {\\n display: flex; }\\n .share-autocomplete-item.merged {\\n margin-left: 32px; }\\n .share-autocomplete-item .autocomplete-item-text {\\n margin-left: 10px;\\n margin-right: 10px;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n overflow: hidden;\\n line-height: 32px;\\n vertical-align: middle;\\n flex-grow: 1; }\\n .share-autocomplete-item .autocomplete-item-text .ui-state-highlight {\\n border: none;\\n margin: 0; }\\n .share-autocomplete-item.with-description .autocomplete-item-text {\\n line-height: 100%; }\\n .share-autocomplete-item .autocomplete-item-details {\\n display: block;\\n line-height: 130%;\\n font-size: 90%;\\n opacity: 0.7; }\\n .share-autocomplete-item .icon {\\n opacity: .7;\\n margin-right: 7px; }\\n .share-autocomplete-item .icon.search-globally {\\n width: 32px;\\n height: 32px;\\n margin-right: 0; }\\n\\n.shareTabView .oneline {\\n white-space: nowrap;\\n position: relative; }\\n\\n.shareTabView .shareWithLoading {\\n padding-left: 10px;\\n right: 35px;\\n top: 3px; }\\n\\n.shareTabView .shareWithConfirm {\\n position: absolute;\\n right: 2px;\\n top: 6px;\\n padding: 14px;\\n opacity: 0.5; }\\n\\n.shareTabView .shareWithField:focus ~ .shareWithConfirm {\\n opacity: 1; }\\n\\n.shareTabView .linkMore {\\n position: absolute;\\n right: -7px;\\n top: -4px;\\n padding: 14px; }\\n\\n.shareTabView .popovermenu {\\n /* Border above last entry '+ Add another share' to separate it from current link settings */ }\\n .shareTabView .popovermenu .linkPassMenu input.error {\\n border-color: var(--color-error) !important; }\\n .shareTabView .popovermenu .linkPassMenu input.error[type=\\\"submit\\\"] {\\n border-left: none; }\\n .shareTabView .popovermenu .linkPassMenu .share-pass-submit {\\n width: auto !important; }\\n .shareTabView .popovermenu .linkPassMenu .icon-loading-small {\\n background-color: var(--color-main-background);\\n position: absolute;\\n right: 8px;\\n margin: 3px;\\n padding: 10px;\\n width: 32px;\\n height: 32px;\\n z-index: 10; }\\n .shareTabView .popovermenu .datepicker {\\n margin-left: 35px; }\\n .shareTabView .popovermenu .share-add input.share-note-delete {\\n border: none;\\n background-color: transparent;\\n width: 44px !important;\\n padding: 0;\\n flex: 0 0 44px;\\n margin-left: auto; }\\n .shareTabView .popovermenu .share-add input.share-note-delete.hidden {\\n display: none; }\\n .shareTabView .popovermenu .share-note-form span.icon-note {\\n position: relative; }\\n .shareTabView .popovermenu .share-note-form textarea.share-note {\\n margin: 0;\\n width: 200px;\\n min-height: 70px;\\n resize: none; }\\n .shareTabView .popovermenu .share-note-form textarea.share-note + input.share-note-submit {\\n position: absolute;\\n width: 44px !important;\\n height: 44px;\\n bottom: 0px;\\n right: 10px;\\n margin: 0;\\n background-color: transparent;\\n border: none;\\n opacity: .7; }\\n .shareTabView .popovermenu .share-note-form textarea.share-note + input.share-note-submit:hover, .shareTabView .popovermenu .share-note-form textarea.share-note + input.share-note-submit:focus, .shareTabView .popovermenu .share-note-form textarea.share-note + input.share-note-submit:active {\\n opacity: 1; }\\n .shareTabView .popovermenu .share-note-form.share-note-link {\\n margin-bottom: 10px; }\\n .shareTabView .popovermenu .new-share {\\n border-top: 1px solid var(--color-border); }\\n\\n.shareTabView .linkPass .icon-loading-small {\\n margin-right: 0px; }\\n\\n.shareTabView .icon {\\n background-size: 16px 16px; }\\n\\n.shareTabView .shareWithList .icon-loading-small:not(.hidden) + span,\\n.shareTabView .linkShareView .icon-loading-small:not(.hidden) + input + label:before {\\n /* Hide if loader is visible */\\n display: none !important; }\\n\\n.shareTabView input[type='checkbox'] {\\n margin: 0 3px 0 8px;\\n vertical-align: middle; }\\n\\n.shareTabView input[type='text'].shareWithField, .shareTabView input[type='text'].emailField {\\n width: 100%;\\n box-sizing: border-box;\\n padding-right: 32px;\\n text-overflow: ellipsis; }\\n\\n.shareTabView input[type='text'].linkText .shareTabView input[type='password'].linkPassText, .shareTabView input[type='password'].passwordField {\\n width: 180px !important; }\\n\\n.shareTabView form {\\n font-size: 100%;\\n margin-left: 0;\\n margin-right: 0; }\\n\\n.shareTabView .share-note {\\n border-radius: var(--border-radius);\\n margin-bottom: 10px;\\n margin-left: 37px; }\\n\\n.shareWithList {\\n list-style-type: none;\\n display: flex;\\n flex-direction: column; }\\n .shareWithList > li {\\n height: 44px;\\n white-space: normal;\\n display: inline-flex;\\n align-items: center;\\n position: relative; }\\n .shareWithList > li .avatar {\\n width: 32px;\\n height: 32px;\\n background-color: var(--color-primary); }\\n .shareWithList .unshare img {\\n vertical-align: text-bottom;\\n /* properly align icons */ }\\n .shareWithList .sharingOptionsGroup {\\n margin-left: auto;\\n display: flex;\\n align-items: center;\\n white-space: nowrap; }\\n .shareWithList .sharingOptionsGroup > .icon:not(.hidden),\\n .shareWithList .sharingOptionsGroup .share-menu > .icon:not(.hidden) {\\n padding: 14px;\\n height: 44px;\\n width: 44px;\\n opacity: .5;\\n display: block;\\n cursor: pointer; }\\n .shareWithList .sharingOptionsGroup > .icon:not(.hidden):hover, .shareWithList .sharingOptionsGroup > .icon:not(.hidden):focus, .shareWithList .sharingOptionsGroup > .icon:not(.hidden):active,\\n .shareWithList .sharingOptionsGroup .share-menu > .icon:not(.hidden):hover,\\n .shareWithList .sharingOptionsGroup .share-menu > .icon:not(.hidden):focus,\\n .shareWithList .sharingOptionsGroup .share-menu > .icon:not(.hidden):active {\\n opacity: .7; }\\n .shareWithList .sharingOptionsGroup > .share-menu {\\n position: relative;\\n display: block; }\\n .shareWithList .username {\\n padding: 0 8px;\\n overflow: hidden;\\n white-space: nowrap;\\n text-overflow: ellipsis; }\\n\\n.ui-autocomplete {\\n /* limit dropdown height to 6 1/2 entries */\\n max-height: calc(36px * 6.5);\\n overflow-y: auto;\\n overflow-x: hidden;\\n z-index: 1550 !important; }\\n\\n.notCreatable {\\n padding-left: 12px;\\n padding-top: 12px;\\n color: var(--color-text-lighter); }\\n\\n.contactsmenu-popover {\\n left: -6px;\\n right: auto;\\n padding: 3px 6px;\\n top: 100%;\\n margin-top: 0; }\\n .contactsmenu-popover li.hidden {\\n display: none !important; }\\n .contactsmenu-popover:after {\\n left: 8px;\\n right: auto; }\\n\\n.reshare,\\n#link label,\\n#expiration label {\\n display: inline-flex;\\n align-items: center; }\\n .reshare .avatar,\\n #link label .avatar,\\n #expiration label .avatar {\\n margin-right: 5px; }\\n\\n.resharerInfoView.subView {\\n position: relative; }\\n\", \"\"]);\n\n","\n/**\n * When source maps are enabled, `style-loader` uses a link element with a data-uri to\n * embed the css on the page. This breaks all relative urls because now they are relative to a\n * bundle instead of the current page.\n *\n * One solution is to only use full urls, but that may be impossible.\n *\n * Instead, this function \"fixes\" the relative urls to be absolute according to the current page location.\n *\n * A rudimentary test suite is located at `test/fixUrls.js` and can be run via the `npm test` command.\n *\n */\n\nmodule.exports = function (css) {\n // get current location\n var location = typeof window !== \"undefined\" && window.location;\n\n if (!location) {\n throw new Error(\"fixUrls requires window.location\");\n }\n\n\t// blank or null?\n\tif (!css || typeof css !== \"string\") {\n\t return css;\n }\n\n var baseUrl = location.protocol + \"//\" + location.host;\n var currentDir = baseUrl + location.pathname.replace(/\\/[^\\/]*$/, \"/\");\n\n\t// convert each url(...)\n\t/*\n\tThis regular expression is just a way to recursively match brackets within\n\ta string.\n\n\t /url\\s*\\( = Match on the word \"url\" with any whitespace after it and then a parens\n\t ( = Start a capturing group\n\t (?: = Start a non-capturing group\n\t [^)(] = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t (?: = Start another non-capturing groups\n\t [^)(]+ = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t [^)(]* = Match anything that isn't a parentheses\n\t \\) = Match a end parentheses\n\t ) = End Group\n *\\) = Match anything and then a close parens\n ) = Close non-capturing group\n * = Match anything\n ) = Close capturing group\n\t \\) = Match a close parens\n\n\t /gi = Get all matches, not the first. Be case insensitive.\n\t */\n\tvar fixedCss = css.replace(/url\\s*\\(((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)\\)/gi, function(fullMatch, origUrl) {\n\t\t// strip quotes (if they exist)\n\t\tvar unquotedOrigUrl = origUrl\n\t\t\t.trim()\n\t\t\t.replace(/^\"(.*)\"$/, function(o, $1){ return $1; })\n\t\t\t.replace(/^'(.*)'$/, function(o, $1){ return $1; });\n\n\t\t// already a full url? no change\n\t\tif (/^(#|data:|http:\\/\\/|https:\\/\\/|file:\\/\\/\\/|\\s*$)/i.test(unquotedOrigUrl)) {\n\t\t return fullMatch;\n\t\t}\n\n\t\t// convert the url to a full url\n\t\tvar newUrl;\n\n\t\tif (unquotedOrigUrl.indexOf(\"//\") === 0) {\n\t\t \t//TODO: should we add protocol?\n\t\t\tnewUrl = unquotedOrigUrl;\n\t\t} else if (unquotedOrigUrl.indexOf(\"/\") === 0) {\n\t\t\t// path should be relative to the base url\n\t\t\tnewUrl = baseUrl + unquotedOrigUrl; // already starts with '/'\n\t\t} else {\n\t\t\t// path should be relative to current directory\n\t\t\tnewUrl = currentDir + unquotedOrigUrl.replace(/^\\.\\//, \"\"); // Strip leading './'\n\t\t}\n\n\t\t// send back the fixed url(...)\n\t\treturn \"url(\" + JSON.stringify(newUrl) + \")\";\n\t});\n\n\t// send back the fixed css\n\treturn fixedCss;\n};\n","\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/lib/loader.js!./sharebreadcrumb.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/lib/loader.js!./sharebreadcrumb.scss\", function() {\n\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/lib/loader.js!./sharebreadcrumb.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"/**\\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 */\\ndiv.crumb span.icon-shared,\\ndiv.crumb span.icon-public {\\n display: inline-block;\\n cursor: pointer;\\n opacity: 0.2;\\n margin-right: 6px; }\\n\\ndiv.crumb span.icon-shared.shared,\\ndiv.crumb span.icon-public.shared {\\n opacity: 0.7; }\\n\", \"\"]);\n\n"],"sourceRoot":""}
\ No newline at end of file |