diff options
author | dependabot-preview[bot] <dependabot-preview[bot]@users.noreply.github.com> | 2019-06-19 17:43:29 +0000 |
---|---|---|
committer | Roeland Jago Douma <roeland@famdouma.nl> | 2019-06-25 21:33:38 +0200 |
commit | 4a401865f2f6495697f012d81691d8c4d1212243 (patch) | |
tree | f193a4080dc0dcba230792c10838905f754f16e6 /apps/files_trashbin | |
parent | 11b71a143ed4d5a36fbaf1b0df71c2362600f731 (diff) | |
download | nextcloud-server-4a401865f2f6495697f012d81691d8c4d1212243.tar.gz nextcloud-server-4a401865f2f6495697f012d81691d8c4d1212243.zip |
Bump css-loader from 2.1.1 to 3.0.0
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 2.1.1 to 3.0.0.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v2.1.1...v3.0.0)
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Diffstat (limited to 'apps/files_trashbin')
-rw-r--r-- | apps/files_trashbin/js/files_trashbin.js | 2 | ||||
-rw-r--r-- | apps/files_trashbin/js/files_trashbin.js.map | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/apps/files_trashbin/js/files_trashbin.js b/apps/files_trashbin/js/files_trashbin.js index fc63cf06a38..4d4eacc33af 100644 --- a/apps/files_trashbin/js/files_trashbin.js +++ b/apps/files_trashbin/js/files_trashbin.js @@ -1,2 +1,2 @@ -!function(e){var t={};function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{}};return e[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(i,r,function(t){return e[t]}.bind(null,r));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/js/",n(n.s=0)}([function(e,t,n){"use strict";n.r(t);n(1),n(2),n(3);window.OCA.Trashbin=OCA.Trashbin},function(e,n){OCA.Trashbin={},OCA.Trashbin.App={_initialized:!1,client:null,initialize:function(e){if(!this._initialized){this._initialized=!0,this.client=new OC.Files.Client({host:OC.getHost(),port:OC.getPort(),root:OC.linkToRemoteBase("dav")+"/trashbin/"+OC.getCurrentUser().uid,useHTTPS:"https"===OC.getProtocol()});var n=OC.Util.History.parseUrlQuery();this.fileList=new OCA.Trashbin.FileList($("#app-content-trashbin"),{fileActions:this._createFileActions(),detailsViewEnabled:!1,scrollTo:n.scrollto,config:OCA.Files.App.getFilesConfig(),multiSelectMenu:[{name:"restore",displayName:t("files_trashbin","Restore"),iconClass:"icon-history"},{name:"delete",displayName:t("files_trashbin","Delete permanently"),iconClass:"icon-delete"}],client:this.client,shown:!0})}},_createFileActions:function(){var e=this.client,n=new OCA.Files.FileActions;return n.register("dir","Open",OC.PERMISSION_READ,"",function(e,t){var n=t.fileList.getCurrentDirectory();t.fileList.changeDirectory(OC.joinPaths(n,e))}),n.setDefault("dir","Open"),n.registerAction({name:"Restore",displayName:t("files_trashbin","Restore"),type:OCA.Files.FileActions.TYPE_INLINE,mime:"all",permissions:OC.PERMISSION_READ,iconClass:"icon-history",actionHandler:function(n,i){var r=i.fileList,o=r.findFileEl(n);r.showFileBusyState(o,!0);var s=i.fileList.getCurrentDirectory();e.move(OC.joinPaths("trash",s,n),OC.joinPaths("restore",n),!0).then(r._removeCallback.bind(r,[n]),function(){r.showFileBusyState(o,!1),OC.Notification.show(t("files_trashbin","Error while restoring file from trashbin"))})}}),n.registerAction({name:"Delete",displayName:t("files_trashbin","Delete permanently"),mime:"all",permissions:OC.PERMISSION_READ,iconClass:"icon-delete",render:function(e,i,r){var o=n._makeActionLink(e,r);return o.attr("original-title",t("files_trashbin","Delete permanently")),o.children("img").attr("alt",t("files_trashbin","Delete permanently")),r.$file.find("td:last").append(o),o},actionHandler:function(n,i){var r=i.fileList;$(".tipsy").remove();var o=r.findFileEl(n);r.showFileBusyState(o,!0);var s=i.fileList.getCurrentDirectory();e.remove(OC.joinPaths("trash",s,n)).then(r._removeCallback.bind(r,[n]),function(){r.showFileBusyState(o,!1),OC.Notification.show(t("files_trashbin","Error while removing file from trashbin"))})}}),n}},$(document).ready(function(){$("#app-content-trashbin").one("show",function(){OCA.Trashbin.App.initialize($("#app-content-trashbin"))})})},function(e,n){!function(){var e=new RegExp(/^(.+)\.d[0-9]+$/),n="{http://nextcloud.org/ns}trashbin-filename",i="{http://nextcloud.org/ns}trashbin-deletion-time",r="{http://nextcloud.org/ns}trashbin-original-location";function o(t){t=OC.basename(t);var n=e.exec(t);return n&&n.length>1&&(t=n[1]),t}var s=function(e,t){this.client=t.client,this.initialize(e,t)};s.prototype=_.extend({},OCA.Files.FileList.prototype,{id:"trashbin",appName:t("files_trashbin","Deleted files"),client:null,initialize:function(){this.client.addFileInfoParser(function(e,t){var o=e.propStat[0].properties,s=o[r];return{displayName:o[n],mtime:1e3*parseInt(o[i],10),hasPreview:!0,path:s,extraData:s}});var e=OCA.Files.FileList.prototype.initialize.apply(this,arguments);return this.$el.find(".undelete").click("click",_.bind(this._onClickRestoreSelected,this)),this.setSort("mtime","desc"),this.breadcrumb._makeCrumbs=function(){for(var e=OCA.Files.BreadCrumb.prototype._makeCrumbs.apply(this,arguments),t=1;t<e.length;t++)e[t].name=o(e[t].name);return e},OC.Plugins.attach("OCA.Trashbin.FileList",this),e},getDirectoryPermissions:function(){return OC.PERMISSION_READ|OC.PERMISSION_DELETE},_setCurrentDir:function(e){OCA.Files.FileList.prototype._setCurrentDir.apply(this,arguments);var t=OC.basename(e);""!==t&&this.setPageTitle(o(t))},_createRow:function(){var e=OCA.Files.FileList.prototype._createRow.apply(this,arguments);return e.find("td.filesize").remove(),e},getAjaxUrl:function(e,t){var n="";return t&&(n="?"+OC.buildQueryString(t)),OC.filePath("files_trashbin","ajax",e+".php")+n},setupUploadEvents:function(){},linkTo:function(e){return OC.linkTo("files","index.php")+"?view=trashbin&dir="+encodeURIComponent(e).replace(/%2F/g,"/")},elementToFile:function(e){var t=OCA.Files.FileList.prototype.elementToFile(e);return"/"===this.getCurrentDirectory()&&(t.displayName=o(t.name)),delete t.size,t},updateEmptyContent:function(){var e=this.$fileList.find("tr:first").exists();this.$el.find("#emptycontent").toggleClass("hidden",e),this.$el.find("#filestable th").toggleClass("hidden",!e)},_removeCallback:function(e){for(var t,n=0;n<e.length;n++)t=this.remove(OC.basename(e[n]),{updateSummary:!1}),this.fileSummary.remove({type:t.attr("data-type"),size:t.attr("data-size")});this.fileSummary.update(),this.updateEmptyContent()},_onClickRestoreSelected:function(e){e.preventDefault();for(var n=this,i=_.pluck(this.getSelectedFiles(),"name"),r=0;r<i.length;r++){var o=this.findFileEl(i[r]);this.showFileBusyState(o,!0)}this.fileMultiSelectMenu.toggleLoading("restore",!0);var s=i.map(function(e){return n.client.move(OC.joinPaths("trash",n.getCurrentDirectory(),e),OC.joinPaths("restore",e),!0).then(function(){n._removeCallback([e])})});return Promise.all(s).then(function(){n.fileMultiSelectMenu.toggleLoading("restore",!1)},function(){OC.Notification.show(t("files_trashbin","Error while restoring files from trashbin"))})},_onClickDeleteSelected:function(e){e.preventDefault();for(var n=this,i=this.$el.find(".select-all").is(":checked"),r=_.pluck(this.getSelectedFiles(),"name"),o=0;o<r.length;o++){var s=this.findFileEl(r[o]);this.showFileBusyState(s,!0)}if(i)return this.client.remove(OC.joinPaths("trash",this.getCurrentDirectory())).then(function(){n.hideMask(),n.setFiles([])},function(){OC.Notification.show(t("files_trashbin","Error while emptying trashbin"))});this.fileMultiSelectMenu.toggleLoading("delete",!0);var a=r.map(function(e){return n.client.remove(OC.joinPaths("trash",n.getCurrentDirectory(),e)).then(function(){n._removeCallback([e])})});return Promise.all(a).then(function(){n.fileMultiSelectMenu.toggleLoading("delete",!1)},function(){OC.Notification.show(t("files_trashbin","Error while removing files from trashbin"))})},_onClickFile:function(e){return"httpd/unix-directory"!==$(this).parent().parent().data("mime")&&e.preventDefault(),OCA.Files.FileList.prototype._onClickFile.apply(this,arguments)},generatePreviewUrl:function(e){return OC.generateUrl("/apps/files_trashbin/preview?")+$.param(e)},getDownloadUrl:function(){return"#"},updateStorageStatistics:function(){},isSelectedDeletable:function(){return!0},_getWebdavProperties:function(){return[n,i,r].concat(this.filesClient.getPropfindProperties())},reload:function(){this._selectedFiles={},this._selectionSummary.clear(),this.$el.find(".select-all").prop("checked",!1),this.showMask(),this._reloadCall&&this._reloadCall.abort(),this._reloadCall=this.client.getFolderContents("trash/"+this.getCurrentDirectory(),{includeParent:!1,properties:this._getWebdavProperties()});var e=this.reloadCallback.bind(this);return this._reloadCall.then(e,e)},reloadCallback:function(e,n){return delete this._reloadCall,this.hideMask(),401!==e&&(403===e?(this.changeDirectory("/"),OC.Notification.show(t("files","This operation is forbidden")),!1):500===e?(this.changeDirectory("/"),OC.Notification.show(t("files","This directory is unavailable, please check the logs or contact the administrator")),!1):404===e?(this.changeDirectory("/"),!1):0===e||(this.setFiles(n),!0))}}),OCA.Trashbin.FileList=s}()},function(e,t,n){var i=n(4);"string"==typeof i&&(i=[[e.i,i,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};n(6)(i,r);i.locals&&(e.exports=i.locals)},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,'/*\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#app-content-trashbin tbody tr[data-type="file"] td a.name,\n#app-content-trashbin tbody tr[data-type="file"] td a.name span.nametext,\n#app-content-trashbin tbody tr[data-type="file"] td a.name span.nametext span {\n cursor: default; }\n\n#app-content-trashbin .summary :last-child {\n padding: 0; }\n\n#app-content-trashbin #filestable .summary .filesize {\n display: none; }\n',""])},function(e,t,n){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var n=function(e,t){var n=e[1]||"",i=e[3];if(!i)return n;if(t&&"function"==typeof btoa){var r=(s=i,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(s))))+" */"),o=i.sources.map(function(e){return"/*# sourceURL="+i.sourceRoot+e+" */"});return[n].concat(o).concat([r]).join("\n")}var s;return[n].join("\n")}(t,e);return t[2]?"@media "+t[2]+"{"+n+"}":n}).join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var i={},r=0;r<this.length;r++){var o=this[r][0];null!=o&&(i[o]=!0)}for(r=0;r<e.length;r++){var s=e[r];null!=s[0]&&i[s[0]]||(n&&!s[2]?s[2]=n:n&&(s[2]="("+s[2]+") and ("+n+")"),t.push(s))}},t}},function(e,t,n){var i,r,o={},s=(i=function(){return window&&document&&document.all&&!window.atob},function(){return void 0===r&&(r=i.apply(this,arguments)),r}),a=function(e){var t={};return function(e,n){if("function"==typeof e)return e();if(void 0===t[e]){var i=function(e,t){return t?t.querySelector(e):document.querySelector(e)}.call(this,e,n);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(e){i=null}t[e]=i}return t[e]}}(),l=null,c=0,u=[],f=n(7);function h(e,t){for(var n=0;n<e.length;n++){var i=e[n],r=o[i.id];if(r){r.refs++;for(var s=0;s<r.parts.length;s++)r.parts[s](i.parts[s]);for(;s<i.parts.length;s++)r.parts.push(y(i.parts[s],t))}else{var a=[];for(s=0;s<i.parts.length;s++)a.push(y(i.parts[s],t));o[i.id]={id:i.id,refs:1,parts:a}}}}function p(e,t){for(var n=[],i={},r=0;r<e.length;r++){var o=e[r],s=t.base?o[0]+t.base:o[0],a={css:o[1],media:o[2],sourceMap:o[3]};i[s]?i[s].parts.push(a):n.push(i[s]={id:s,parts:[a]})}return n}function d(e,t){var n=a(e.insertInto);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.");var i=u[u.length-1];if("top"===e.insertAt)i?i.nextSibling?n.insertBefore(t,i.nextSibling):n.appendChild(t):n.insertBefore(t,n.firstChild),u.push(t);else if("bottom"===e.insertAt)n.appendChild(t);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=a(e.insertAt.before,n);n.insertBefore(t,r)}}function m(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e);var t=u.indexOf(e);t>=0&&u.splice(t,1)}function b(e){var t=document.createElement("style");if(void 0===e.attrs.type&&(e.attrs.type="text/css"),void 0===e.attrs.nonce){var i=function(){0;return n.nc}();i&&(e.attrs.nonce=i)}return v(t,e.attrs),d(e,t),t}function v(e,t){Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])})}function y(e,t){var n,i,r,o;if(t.transform&&e.css){if(!(o="function"==typeof t.transform?t.transform(e.css):t.transform.default(e.css)))return function(){};e.css=o}if(t.singleton){var s=c++;n=l||(l=b(t)),i=O.bind(null,n,s,!1),r=O.bind(null,n,s,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",v(t,e.attrs),d(e,t),t}(t),i=function(e,t,n){var i=n.css,r=n.sourceMap,o=void 0===t.convertToAbsoluteUrls&&r;(t.convertToAbsoluteUrls||o)&&(i=f(i));r&&(i+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(r))))+" */");var s=new Blob([i],{type:"text/css"}),a=e.href;e.href=URL.createObjectURL(s),a&&URL.revokeObjectURL(a)}.bind(null,n,t),r=function(){m(n),n.href&&URL.revokeObjectURL(n.href)}):(n=b(t),i=function(e,t){var n=t.css,i=t.media;i&&e.setAttribute("media",i);if(e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}.bind(null,n),r=function(){m(n)});return i(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;i(e=t)}else r()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=s()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=p(e,t);return h(n,t),function(e){for(var i=[],r=0;r<n.length;r++){var s=n[r];(a=o[s.id]).refs--,i.push(a)}e&&h(p(e,t),t);for(r=0;r<i.length;r++){var a;if(0===(a=i[r]).refs){for(var l=0;l<a.parts.length;l++)a.parts[l]();delete o[a.id]}}}};var C,g=(C=[],function(e,t){return C[e]=t,C.filter(Boolean).join("\n")});function O(e,t,n,i){var r=n?"":i.css;if(e.styleSheet)e.styleSheet.cssText=g(t,r);else{var o=document.createTextNode(r),s=e.childNodes;s[t]&&e.removeChild(s[t]),s.length?e.insertBefore(o,s[t]):e.appendChild(o)}}},function(e,t){e.exports=function(e){var t="undefined"!=typeof window&&window.location;if(!t)throw new Error("fixUrls requires window.location");if(!e||"string"!=typeof e)return e;var n=t.protocol+"//"+t.host,i=n+t.pathname.replace(/\/[^\/]*$/,"/");return e.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi,function(e,t){var r,o=t.trim().replace(/^"(.*)"$/,function(e,t){return t}).replace(/^'(.*)'$/,function(e,t){return t});return/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(o)?e:(r=0===o.indexOf("//")?o:0===o.indexOf("/")?n+o:i+o.replace(/^\.\//,""),"url("+JSON.stringify(r)+")")})}}]); +!function(e){var t={};function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{}};return e[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(i,r,function(t){return e[t]}.bind(null,r));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/js/",n(n.s=0)}([function(e,t,n){"use strict";n.r(t);n(1),n(2),n(3);window.OCA.Trashbin=OCA.Trashbin},function(e,n){OCA.Trashbin={},OCA.Trashbin.App={_initialized:!1,client:null,initialize:function(e){if(!this._initialized){this._initialized=!0,this.client=new OC.Files.Client({host:OC.getHost(),port:OC.getPort(),root:OC.linkToRemoteBase("dav")+"/trashbin/"+OC.getCurrentUser().uid,useHTTPS:"https"===OC.getProtocol()});var n=OC.Util.History.parseUrlQuery();this.fileList=new OCA.Trashbin.FileList($("#app-content-trashbin"),{fileActions:this._createFileActions(),detailsViewEnabled:!1,scrollTo:n.scrollto,config:OCA.Files.App.getFilesConfig(),multiSelectMenu:[{name:"restore",displayName:t("files_trashbin","Restore"),iconClass:"icon-history"},{name:"delete",displayName:t("files_trashbin","Delete permanently"),iconClass:"icon-delete"}],client:this.client,shown:!0})}},_createFileActions:function(){var e=this.client,n=new OCA.Files.FileActions;return n.register("dir","Open",OC.PERMISSION_READ,"",function(e,t){var n=t.fileList.getCurrentDirectory();t.fileList.changeDirectory(OC.joinPaths(n,e))}),n.setDefault("dir","Open"),n.registerAction({name:"Restore",displayName:t("files_trashbin","Restore"),type:OCA.Files.FileActions.TYPE_INLINE,mime:"all",permissions:OC.PERMISSION_READ,iconClass:"icon-history",actionHandler:function(n,i){var r=i.fileList,o=r.findFileEl(n);r.showFileBusyState(o,!0);var s=i.fileList.getCurrentDirectory();e.move(OC.joinPaths("trash",s,n),OC.joinPaths("restore",n),!0).then(r._removeCallback.bind(r,[n]),function(){r.showFileBusyState(o,!1),OC.Notification.show(t("files_trashbin","Error while restoring file from trashbin"))})}}),n.registerAction({name:"Delete",displayName:t("files_trashbin","Delete permanently"),mime:"all",permissions:OC.PERMISSION_READ,iconClass:"icon-delete",render:function(e,i,r){var o=n._makeActionLink(e,r);return o.attr("original-title",t("files_trashbin","Delete permanently")),o.children("img").attr("alt",t("files_trashbin","Delete permanently")),r.$file.find("td:last").append(o),o},actionHandler:function(n,i){var r=i.fileList;$(".tipsy").remove();var o=r.findFileEl(n);r.showFileBusyState(o,!0);var s=i.fileList.getCurrentDirectory();e.remove(OC.joinPaths("trash",s,n)).then(r._removeCallback.bind(r,[n]),function(){r.showFileBusyState(o,!1),OC.Notification.show(t("files_trashbin","Error while removing file from trashbin"))})}}),n}},$(document).ready(function(){$("#app-content-trashbin").one("show",function(){OCA.Trashbin.App.initialize($("#app-content-trashbin"))})})},function(e,n){!function(){var e=new RegExp(/^(.+)\.d[0-9]+$/),n="{http://nextcloud.org/ns}trashbin-filename",i="{http://nextcloud.org/ns}trashbin-deletion-time",r="{http://nextcloud.org/ns}trashbin-original-location";function o(t){t=OC.basename(t);var n=e.exec(t);return n&&n.length>1&&(t=n[1]),t}var s=function(e,t){this.client=t.client,this.initialize(e,t)};s.prototype=_.extend({},OCA.Files.FileList.prototype,{id:"trashbin",appName:t("files_trashbin","Deleted files"),client:null,initialize:function(){this.client.addFileInfoParser(function(e,t){var o=e.propStat[0].properties,s=o[r];return{displayName:o[n],mtime:1e3*parseInt(o[i],10),hasPreview:!0,path:s,extraData:s}});var e=OCA.Files.FileList.prototype.initialize.apply(this,arguments);return this.$el.find(".undelete").click("click",_.bind(this._onClickRestoreSelected,this)),this.setSort("mtime","desc"),this.breadcrumb._makeCrumbs=function(){for(var e=OCA.Files.BreadCrumb.prototype._makeCrumbs.apply(this,arguments),t=1;t<e.length;t++)e[t].name=o(e[t].name);return e},OC.Plugins.attach("OCA.Trashbin.FileList",this),e},getDirectoryPermissions:function(){return OC.PERMISSION_READ|OC.PERMISSION_DELETE},_setCurrentDir:function(e){OCA.Files.FileList.prototype._setCurrentDir.apply(this,arguments);var t=OC.basename(e);""!==t&&this.setPageTitle(o(t))},_createRow:function(){var e=OCA.Files.FileList.prototype._createRow.apply(this,arguments);return e.find("td.filesize").remove(),e},getAjaxUrl:function(e,t){var n="";return t&&(n="?"+OC.buildQueryString(t)),OC.filePath("files_trashbin","ajax",e+".php")+n},setupUploadEvents:function(){},linkTo:function(e){return OC.linkTo("files","index.php")+"?view=trashbin&dir="+encodeURIComponent(e).replace(/%2F/g,"/")},elementToFile:function(e){var t=OCA.Files.FileList.prototype.elementToFile(e);return"/"===this.getCurrentDirectory()&&(t.displayName=o(t.name)),delete t.size,t},updateEmptyContent:function(){var e=this.$fileList.find("tr:first").exists();this.$el.find("#emptycontent").toggleClass("hidden",e),this.$el.find("#filestable th").toggleClass("hidden",!e)},_removeCallback:function(e){for(var t,n=0;n<e.length;n++)t=this.remove(OC.basename(e[n]),{updateSummary:!1}),this.fileSummary.remove({type:t.attr("data-type"),size:t.attr("data-size")});this.fileSummary.update(),this.updateEmptyContent()},_onClickRestoreSelected:function(e){e.preventDefault();for(var n=this,i=_.pluck(this.getSelectedFiles(),"name"),r=0;r<i.length;r++){var o=this.findFileEl(i[r]);this.showFileBusyState(o,!0)}this.fileMultiSelectMenu.toggleLoading("restore",!0);var s=i.map(function(e){return n.client.move(OC.joinPaths("trash",n.getCurrentDirectory(),e),OC.joinPaths("restore",e),!0).then(function(){n._removeCallback([e])})});return Promise.all(s).then(function(){n.fileMultiSelectMenu.toggleLoading("restore",!1)},function(){OC.Notification.show(t("files_trashbin","Error while restoring files from trashbin"))})},_onClickDeleteSelected:function(e){e.preventDefault();for(var n=this,i=this.$el.find(".select-all").is(":checked"),r=_.pluck(this.getSelectedFiles(),"name"),o=0;o<r.length;o++){var s=this.findFileEl(r[o]);this.showFileBusyState(s,!0)}if(i)return this.client.remove(OC.joinPaths("trash",this.getCurrentDirectory())).then(function(){n.hideMask(),n.setFiles([])},function(){OC.Notification.show(t("files_trashbin","Error while emptying trashbin"))});this.fileMultiSelectMenu.toggleLoading("delete",!0);var a=r.map(function(e){return n.client.remove(OC.joinPaths("trash",n.getCurrentDirectory(),e)).then(function(){n._removeCallback([e])})});return Promise.all(a).then(function(){n.fileMultiSelectMenu.toggleLoading("delete",!1)},function(){OC.Notification.show(t("files_trashbin","Error while removing files from trashbin"))})},_onClickFile:function(e){return"httpd/unix-directory"!==$(this).parent().parent().data("mime")&&e.preventDefault(),OCA.Files.FileList.prototype._onClickFile.apply(this,arguments)},generatePreviewUrl:function(e){return OC.generateUrl("/apps/files_trashbin/preview?")+$.param(e)},getDownloadUrl:function(){return"#"},updateStorageStatistics:function(){},isSelectedDeletable:function(){return!0},_getWebdavProperties:function(){return[n,i,r].concat(this.filesClient.getPropfindProperties())},reload:function(){this._selectedFiles={},this._selectionSummary.clear(),this.$el.find(".select-all").prop("checked",!1),this.showMask(),this._reloadCall&&this._reloadCall.abort(),this._reloadCall=this.client.getFolderContents("trash/"+this.getCurrentDirectory(),{includeParent:!1,properties:this._getWebdavProperties()});var e=this.reloadCallback.bind(this);return this._reloadCall.then(e,e)},reloadCallback:function(e,n){return delete this._reloadCall,this.hideMask(),401!==e&&(403===e?(this.changeDirectory("/"),OC.Notification.show(t("files","This operation is forbidden")),!1):500===e?(this.changeDirectory("/"),OC.Notification.show(t("files","This directory is unavailable, please check the logs or contact the administrator")),!1):404===e?(this.changeDirectory("/"),!1):0===e||(this.setFiles(n),!0))}}),OCA.Trashbin.FileList=s}()},function(e,t,n){var i=n(4);"string"==typeof i&&(i=[[e.i,i,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};n(6)(i,r);i.locals&&(e.exports=i.locals)},function(e,t,n){(e.exports=n(5)(!1)).push([e.i,'/*\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#app-content-trashbin tbody tr[data-type="file"] td a.name,\n#app-content-trashbin tbody tr[data-type="file"] td a.name span.nametext,\n#app-content-trashbin tbody tr[data-type="file"] td a.name span.nametext span {\n cursor: default; }\n\n#app-content-trashbin .summary :last-child {\n padding: 0; }\n\n#app-content-trashbin #filestable .summary .filesize {\n display: none; }\n',""])},function(e,t,n){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var n=function(e,t){var n=e[1]||"",i=e[3];if(!i)return n;if(t&&"function"==typeof btoa){var r=(s=i,a=btoa(unescape(encodeURIComponent(JSON.stringify(s)))),l="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(a),"/*# ".concat(l," */")),o=i.sources.map(function(e){return"/*# sourceURL=".concat(i.sourceRoot).concat(e," */")});return[n].concat(o).concat([r]).join("\n")}var s,a,l;return[n].join("\n")}(t,e);return t[2]?"@media ".concat(t[2],"{").concat(n,"}"):n}).join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var i={},r=0;r<this.length;r++){var o=this[r][0];null!=o&&(i[o]=!0)}for(var s=0;s<e.length;s++){var a=e[s];null!=a[0]&&i[a[0]]||(n&&!a[2]?a[2]=n:n&&(a[2]="(".concat(a[2],") and (").concat(n,")")),t.push(a))}},t}},function(e,t,n){var i,r,o={},s=(i=function(){return window&&document&&document.all&&!window.atob},function(){return void 0===r&&(r=i.apply(this,arguments)),r}),a=function(e){var t={};return function(e,n){if("function"==typeof e)return e();if(void 0===t[e]){var i=function(e,t){return t?t.querySelector(e):document.querySelector(e)}.call(this,e,n);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(e){i=null}t[e]=i}return t[e]}}(),l=null,c=0,u=[],f=n(7);function h(e,t){for(var n=0;n<e.length;n++){var i=e[n],r=o[i.id];if(r){r.refs++;for(var s=0;s<r.parts.length;s++)r.parts[s](i.parts[s]);for(;s<i.parts.length;s++)r.parts.push(y(i.parts[s],t))}else{var a=[];for(s=0;s<i.parts.length;s++)a.push(y(i.parts[s],t));o[i.id]={id:i.id,refs:1,parts:a}}}}function p(e,t){for(var n=[],i={},r=0;r<e.length;r++){var o=e[r],s=t.base?o[0]+t.base:o[0],a={css:o[1],media:o[2],sourceMap:o[3]};i[s]?i[s].parts.push(a):n.push(i[s]={id:s,parts:[a]})}return n}function d(e,t){var n=a(e.insertInto);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.");var i=u[u.length-1];if("top"===e.insertAt)i?i.nextSibling?n.insertBefore(t,i.nextSibling):n.appendChild(t):n.insertBefore(t,n.firstChild),u.push(t);else if("bottom"===e.insertAt)n.appendChild(t);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=a(e.insertAt.before,n);n.insertBefore(t,r)}}function m(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e);var t=u.indexOf(e);t>=0&&u.splice(t,1)}function b(e){var t=document.createElement("style");if(void 0===e.attrs.type&&(e.attrs.type="text/css"),void 0===e.attrs.nonce){var i=function(){0;return n.nc}();i&&(e.attrs.nonce=i)}return v(t,e.attrs),d(e,t),t}function v(e,t){Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])})}function y(e,t){var n,i,r,o;if(t.transform&&e.css){if(!(o="function"==typeof t.transform?t.transform(e.css):t.transform.default(e.css)))return function(){};e.css=o}if(t.singleton){var s=c++;n=l||(l=b(t)),i=O.bind(null,n,s,!1),r=O.bind(null,n,s,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",v(t,e.attrs),d(e,t),t}(t),i=function(e,t,n){var i=n.css,r=n.sourceMap,o=void 0===t.convertToAbsoluteUrls&&r;(t.convertToAbsoluteUrls||o)&&(i=f(i));r&&(i+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(r))))+" */");var s=new Blob([i],{type:"text/css"}),a=e.href;e.href=URL.createObjectURL(s),a&&URL.revokeObjectURL(a)}.bind(null,n,t),r=function(){m(n),n.href&&URL.revokeObjectURL(n.href)}):(n=b(t),i=function(e,t){var n=t.css,i=t.media;i&&e.setAttribute("media",i);if(e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}.bind(null,n),r=function(){m(n)});return i(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;i(e=t)}else r()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=s()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=p(e,t);return h(n,t),function(e){for(var i=[],r=0;r<n.length;r++){var s=n[r];(a=o[s.id]).refs--,i.push(a)}e&&h(p(e,t),t);for(r=0;r<i.length;r++){var a;if(0===(a=i[r]).refs){for(var l=0;l<a.parts.length;l++)a.parts[l]();delete o[a.id]}}}};var C,g=(C=[],function(e,t){return C[e]=t,C.filter(Boolean).join("\n")});function O(e,t,n,i){var r=n?"":i.css;if(e.styleSheet)e.styleSheet.cssText=g(t,r);else{var o=document.createTextNode(r),s=e.childNodes;s[t]&&e.removeChild(s[t]),s.length?e.insertBefore(o,s[t]):e.appendChild(o)}}},function(e,t){e.exports=function(e){var t="undefined"!=typeof window&&window.location;if(!t)throw new Error("fixUrls requires window.location");if(!e||"string"!=typeof e)return e;var n=t.protocol+"//"+t.host,i=n+t.pathname.replace(/\/[^\/]*$/,"/");return e.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi,function(e,t){var r,o=t.trim().replace(/^"(.*)"$/,function(e,t){return t}).replace(/^'(.*)'$/,function(e,t){return t});return/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(o)?e:(r=0===o.indexOf("//")?o:0===o.indexOf("/")?n+o:i+o.replace(/^\.\//,""),"url("+JSON.stringify(r)+")")})}}]); //# sourceMappingURL=files_trashbin.js.map
\ No newline at end of file diff --git a/apps/files_trashbin/js/files_trashbin.js.map b/apps/files_trashbin/js/files_trashbin.js.map index cde6e111b01..8d72a33db0c 100644 --- a/apps/files_trashbin/js/files_trashbin.js.map +++ b/apps/files_trashbin/js/files_trashbin.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./apps/files_trashbin/src/files_trashbin.js","webpack:///./apps/files_trashbin/src/app.js","webpack:///./apps/files_trashbin/src/filelist.js","webpack:///./apps/files_trashbin/src/trash.scss?0bc9","webpack:///./apps/files_trashbin/src/trash.scss","webpack:///./node_modules/css-loader/dist/runtime/api.js","webpack:///./node_modules/style-loader/lib/addStyles.js","webpack:///./node_modules/style-loader/lib/urls.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","__webpack_exports__","window","OCA","Trashbin","App","_initialized","client","initialize","$el","this","OC","Files","Client","host","getHost","port","getPort","root","linkToRemoteBase","getCurrentUser","uid","useHTTPS","getProtocol","urlParams","Util","History","parseUrlQuery","fileList","FileList","$","fileActions","_createFileActions","detailsViewEnabled","scrollTo","scrollto","config","getFilesConfig","multiSelectMenu","displayName","iconClass","shown","FileActions","register","PERMISSION_READ","filename","context","dir","getCurrentDirectory","changeDirectory","joinPaths","setDefault","registerAction","type","TYPE_INLINE","mime","permissions","actionHandler","tr","findFileEl","showFileBusyState","move","then","_removeCallback","Notification","show","render","actionSpec","isDefault","$actionLink","_makeActionLink","attr","children","$file","find","append","remove","document","ready","one","DELETED_REGEXP","RegExp","FILENAME_PROP","DELETION_TIME_PROP","TRASHBIN_ORIGINAL_LOCATION","getDeletedFileName","basename","match","exec","length","options","_","extend","id","appName","addFileInfoParser","response","data","props","propStat","properties","path","mtime","parseInt","hasPreview","extraData","result","apply","arguments","click","_onClickRestoreSelected","setSort","breadcrumb","_makeCrumbs","parts","BreadCrumb","Plugins","attach","getDirectoryPermissions","PERMISSION_DELETE","_setCurrentDir","targetDir","baseDir","setPageTitle","_createRow","getAjaxUrl","action","params","q","buildQueryString","filePath","setupUploadEvents","linkTo","encodeURIComponent","replace","elementToFile","fileInfo","size","updateEmptyContent","exists","$fileList","toggleClass","files","updateSummary","fileSummary","update","event","preventDefault","self","pluck","getSelectedFiles","fileMultiSelectMenu","toggleLoading","restorePromises","map","file","Promise","all","_onClickDeleteSelected","allFiles","is","hideMask","setFiles","deletePromises","_onClickFile","parent","generatePreviewUrl","urlSpec","generateUrl","param","getDownloadUrl","updateStorageStatistics","isSelectedDeletable","_getWebdavProperties","concat","filesClient","getPropfindProperties","reload","_selectedFiles","_selectionSummary","clear","prop","showMask","_reloadCall","abort","getFolderContents","includeParent","callBack","reloadCallback","status","content","hmr","transform","insertInto","undefined","locals","push","useSourceMap","list","toString","item","cssMapping","btoa","sourceMapping","sourceMap","unescape","JSON","stringify","sourceURLs","sources","source","sourceRoot","join","cssWithMappingToString","mediaQuery","alreadyImportedModules","fn","memo","stylesInDom","isOldIE","atob","getElement","target","styleTarget","querySelector","HTMLIFrameElement","contentDocument","head","e","singleton","singletonCounter","stylesInsertedAtTop","fixUrls","addStylesToDom","styles","domStyle","refs","j","addStyle","listToStyles","newStyles","base","part","css","media","insertStyleElement","style","Error","lastStyleElementInsertedAtTop","insertAt","nextSibling","insertBefore","appendChild","firstChild","before","removeStyleElement","parentNode","removeChild","idx","indexOf","splice","createStyleElement","createElement","attrs","nonce","nc","getNonce","addAttrs","el","keys","forEach","setAttribute","obj","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","location","baseUrl","protocol","currentDir","pathname","fullMatch","origUrl","newUrl","unquotedOrigUrl","trim","$1","test"],"mappings":"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","file":"files_trashbin.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/js/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","import './app'\nimport './filelist'\nimport './trash.scss'\n\nwindow.OCA.Trashbin = OCA.Trashbin\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/**\n * @namespace OCA.Trashbin\n */\nOCA.Trashbin = {};\n/**\n * @namespace OCA.Trashbin.App\n */\nOCA.Trashbin.App = {\n\t_initialized: false,\n\t/** @type {OC.Files.Client} */\n\tclient: null,\n\n\tinitialize: function ($el) {\n\t\tif (this._initialized) {\n\t\t\treturn;\n\t\t}\n\t\tthis._initialized = true;\n\n\t\tthis.client = new OC.Files.Client({\n\t\t\thost: OC.getHost(),\n\t\t\tport: OC.getPort(),\n\t\t\troot: OC.linkToRemoteBase('dav') + '/trashbin/' + OC.getCurrentUser().uid,\n\t\t\tuseHTTPS: OC.getProtocol() === 'https'\n\t\t});\n\t\tvar urlParams = OC.Util.History.parseUrlQuery();\n\t\tthis.fileList = new OCA.Trashbin.FileList(\n\t\t\t$('#app-content-trashbin'), {\n\t\t\t\tfileActions: this._createFileActions(),\n\t\t\t\tdetailsViewEnabled: false,\n\t\t\t\tscrollTo: urlParams.scrollto,\n\t\t\t\tconfig: OCA.Files.App.getFilesConfig(),\n\t\t\t\tmultiSelectMenu: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'restore',\n\t\t\t\t\t\tdisplayName: t('files_trashbin', 'Restore'),\n\t\t\t\t\t\ticonClass: 'icon-history',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'delete',\n\t\t\t\t\t\tdisplayName: t('files_trashbin', 'Delete permanently'),\n\t\t\t\t\t\ticonClass: 'icon-delete',\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\tclient: this.client,\n\t\t\t\t// The file list is created when a \"show\" event is handled, so\n\t\t\t\t// it should be marked as \"shown\" like it would have been done\n\t\t\t\t// if handling the event with the file list already created.\n\t\t\t\tshown: true\n\t\t\t}\n\t\t);\n\t},\n\n\t_createFileActions: function () {\n\t\tvar client = this.client;\n\t\tvar fileActions = new OCA.Files.FileActions();\n\t\tfileActions.register('dir', 'Open', OC.PERMISSION_READ, '', function (filename, context) {\n\t\t\tvar dir = context.fileList.getCurrentDirectory();\n\t\t\tcontext.fileList.changeDirectory(OC.joinPaths(dir, filename));\n\t\t});\n\n\t\tfileActions.setDefault('dir', 'Open');\n\n\t\tfileActions.registerAction({\n\t\t\tname: 'Restore',\n\t\t\tdisplayName: t('files_trashbin', 'Restore'),\n\t\t\ttype: OCA.Files.FileActions.TYPE_INLINE,\n\t\t\tmime: 'all',\n\t\t\tpermissions: OC.PERMISSION_READ,\n\t\t\ticonClass: 'icon-history',\n\t\t\tactionHandler: function (filename, context) {\n\t\t\t\tvar fileList = context.fileList;\n\t\t\t\tvar tr = fileList.findFileEl(filename);\n\t\t\t\tfileList.showFileBusyState(tr, true);\n\t\t\t\tvar dir = context.fileList.getCurrentDirectory();\n\t\t\t\tclient.move(OC.joinPaths('trash', dir, filename), OC.joinPaths('restore', filename), true)\n\t\t\t\t\t.then(\n\t\t\t\t\t\tfileList._removeCallback.bind(fileList, [filename]),\n\t\t\t\t\t\tfunction () {\n\t\t\t\t\t\t\tfileList.showFileBusyState(tr, false);\n\t\t\t\t\t\t\tOC.Notification.show(t('files_trashbin', 'Error while restoring file from trashbin'));\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t}\n\t\t});\n\n\t\tfileActions.registerAction({\n\t\t\tname: 'Delete',\n\t\t\tdisplayName: t('files_trashbin', 'Delete permanently'),\n\t\t\tmime: 'all',\n\t\t\tpermissions: OC.PERMISSION_READ,\n\t\t\ticonClass: 'icon-delete',\n\t\t\trender: function (actionSpec, isDefault, context) {\n\t\t\t\tvar $actionLink = fileActions._makeActionLink(actionSpec, context);\n\t\t\t\t$actionLink.attr('original-title', t('files_trashbin', 'Delete permanently'));\n\t\t\t\t$actionLink.children('img').attr('alt', t('files_trashbin', 'Delete permanently'));\n\t\t\t\tcontext.$file.find('td:last').append($actionLink);\n\t\t\t\treturn $actionLink;\n\t\t\t},\n\t\t\tactionHandler: function (filename, context) {\n\t\t\t\tvar fileList = context.fileList;\n\t\t\t\t$('.tipsy').remove();\n\t\t\t\tvar tr = fileList.findFileEl(filename);\n\t\t\t\tfileList.showFileBusyState(tr, true);\n\t\t\t\tvar dir = context.fileList.getCurrentDirectory();\n\t\t\t\tclient.remove(OC.joinPaths('trash', dir, filename))\n\t\t\t\t\t.then(\n\t\t\t\t\t\tfileList._removeCallback.bind(fileList, [filename]),\n\t\t\t\t\t\tfunction () {\n\t\t\t\t\t\t\tfileList.showFileBusyState(tr, false);\n\t\t\t\t\t\t\tOC.Notification.show(t('files_trashbin', 'Error while removing file from trashbin'));\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t}\n\t\t});\n\t\treturn fileActions;\n\t}\n};\n\n$(document).ready(function () {\n\t$('#app-content-trashbin').one('show', function () {\n\t\tvar App = OCA.Trashbin.App;\n\t\tApp.initialize($('#app-content-trashbin'));\n\t\t// force breadcrumb init\n\t\t// App.fileList.changeDirectory(App.fileList.getCurrentDirectory(), false, true);\n\t});\n});\n\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(function() {\n\tvar DELETED_REGEXP = new RegExp(/^(.+)\\.d[0-9]+$/);\n\tvar FILENAME_PROP = '{http://nextcloud.org/ns}trashbin-filename';\n\tvar DELETION_TIME_PROP = '{http://nextcloud.org/ns}trashbin-deletion-time';\n\tvar TRASHBIN_ORIGINAL_LOCATION = '{http://nextcloud.org/ns}trashbin-original-location';\n\n\t/**\n\t * Convert a file name in the format filename.d12345 to the real file name.\n\t * This will use basename.\n\t * The name will not be changed if it has no \".d12345\" suffix.\n\t * @param {String} name file name\n\t * @return {String} converted file name\n\t */\n\tfunction getDeletedFileName(name) {\n\t\tname = OC.basename(name);\n\t\tvar match = DELETED_REGEXP.exec(name);\n\t\tif (match && match.length > 1) {\n\t\t\tname = match[1];\n\t\t}\n\t\treturn name;\n\t}\n\n\t/**\n\t * @class OCA.Trashbin.FileList\n\t * @augments OCA.Files.FileList\n\t * @classdesc List of deleted files\n\t *\n\t * @param $el container element with existing markup for the #controls\n\t * and a table\n\t * @param [options] map of options\n\t */\n\tvar FileList = function($el, options) {\n\t\tthis.client = options.client;\n\t\tthis.initialize($el, options);\n\t};\n\tFileList.prototype = _.extend({}, OCA.Files.FileList.prototype,\n\t\t/** @lends OCA.Trashbin.FileList.prototype */ {\n\t\tid: 'trashbin',\n\t\tappName: t('files_trashbin', 'Deleted files'),\n\t\t/** @type {OC.Files.Client} */\n\t\tclient: null,\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tinitialize: function() {\n\t\t\tthis.client.addFileInfoParser(function(response, data) {\n\t\t\t\tvar props = response.propStat[0].properties;\n\t\t\t\tvar path = props[TRASHBIN_ORIGINAL_LOCATION];\n\t\t\t\treturn {\n\t\t\t\t\tdisplayName: props[FILENAME_PROP],\n\t\t\t\t\tmtime: parseInt(props[DELETION_TIME_PROP], 10) * 1000,\n\t\t\t\t\thasPreview: true,\n\t\t\t\t\tpath: path,\n\t\t\t\t\textraData: path\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tvar result = OCA.Files.FileList.prototype.initialize.apply(this, arguments);\n\t\t\tthis.$el.find('.undelete').click('click', _.bind(this._onClickRestoreSelected, this));\n\n\t\t\tthis.setSort('mtime', 'desc');\n\t\t\t/**\n\t\t\t * Override crumb making to add \"Deleted Files\" entry\n\t\t\t * and convert files with \".d\" extensions to a more\n\t\t\t * user friendly name.\n\t\t\t */\n\t\t\tthis.breadcrumb._makeCrumbs = function() {\n\t\t\t\tvar parts = OCA.Files.BreadCrumb.prototype._makeCrumbs.apply(this, arguments);\n\t\t\t\tfor (var i = 1; i < parts.length; i++) {\n\t\t\t\t\tparts[i].name = getDeletedFileName(parts[i].name);\n\t\t\t\t}\n\t\t\t\treturn parts;\n\t\t\t};\n\n\t\t\tOC.Plugins.attach('OCA.Trashbin.FileList', this);\n\t\t\treturn result;\n\t\t},\n\n\t\t/**\n\t\t * Override to only return read permissions\n\t\t */\n\t\tgetDirectoryPermissions: function() {\n\t\t\treturn OC.PERMISSION_READ | OC.PERMISSION_DELETE;\n\t\t},\n\n\t\t_setCurrentDir: function(targetDir) {\n\t\t\tOCA.Files.FileList.prototype._setCurrentDir.apply(this, arguments);\n\n\t\t\tvar baseDir = OC.basename(targetDir);\n\t\t\tif (baseDir !== '') {\n\t\t\t\tthis.setPageTitle(getDeletedFileName(baseDir));\n\t\t\t}\n\t\t},\n\n\t\t_createRow: function() {\n\t\t\t// FIXME: MEGAHACK until we find a better solution\n\t\t\tvar tr = OCA.Files.FileList.prototype._createRow.apply(this, arguments);\n\t\t\ttr.find('td.filesize').remove();\n\t\t\treturn tr;\n\t\t},\n\n\t\tgetAjaxUrl: function(action, params) {\n\t\t\tvar q = '';\n\t\t\tif (params) {\n\t\t\t\tq = '?' + OC.buildQueryString(params);\n\t\t\t}\n\t\t\treturn OC.filePath('files_trashbin', 'ajax', action + '.php') + q;\n\t\t},\n\n\t\tsetupUploadEvents: function() {\n\t\t\t// override and do nothing\n\t\t},\n\n\t\tlinkTo: function(dir){\n\t\t\treturn OC.linkTo('files', 'index.php')+\"?view=trashbin&dir=\"+ encodeURIComponent(dir).replace(/%2F/g, '/');\n\t\t},\n\n\t\telementToFile: function($el) {\n\t\t\tvar fileInfo = OCA.Files.FileList.prototype.elementToFile($el);\n\t\t\tif (this.getCurrentDirectory() === '/') {\n\t\t\t\tfileInfo.displayName = getDeletedFileName(fileInfo.name);\n\t\t\t}\n\t\t\t// no size available\n\t\t\tdelete fileInfo.size;\n\t\t\treturn fileInfo;\n\t\t},\n\n\t\tupdateEmptyContent: function(){\n\t\t\tvar exists = this.$fileList.find('tr:first').exists();\n\t\t\tthis.$el.find('#emptycontent').toggleClass('hidden', exists);\n\t\t\tthis.$el.find('#filestable th').toggleClass('hidden', !exists);\n\t\t},\n\n\t\t_removeCallback: function(files) {\n\t\t\tvar $el;\n\t\t\tfor (var i = 0; i < files.length; i++) {\n\t\t\t\t$el = this.remove(OC.basename(files[i]), {updateSummary: false});\n\t\t\t\tthis.fileSummary.remove({type: $el.attr('data-type'), size: $el.attr('data-size')});\n\t\t\t}\n\t\t\tthis.fileSummary.update();\n\t\t\tthis.updateEmptyContent();\n\t\t},\n\n\t\t_onClickRestoreSelected: function(event) {\n\t\t\tevent.preventDefault();\n\t\t\tvar self = this;\n\t\t\tvar files = _.pluck(this.getSelectedFiles(), 'name');\n\t\t\tfor (var i = 0; i < files.length; i++) {\n\t\t\t\tvar tr = this.findFileEl(files[i]);\n\t\t\t\tthis.showFileBusyState(tr, true);\n\t\t\t}\n\n\t\t\tthis.fileMultiSelectMenu.toggleLoading('restore', true);\n\t\t\tvar restorePromises = files.map(function(file) {\n\t\t\t\treturn self.client.move(OC.joinPaths('trash', self.getCurrentDirectory(), file), OC.joinPaths('restore', file), true)\n\t\t\t\t\t.then(\n\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\tself._removeCallback([file]);\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t});\n\t\t\treturn Promise.all(restorePromises).then(\n\t\t\t\tfunction() {\n\t\t\t\t\tself.fileMultiSelectMenu.toggleLoading('restore', false);\n\t\t\t\t},\n\t\t\t\tfunction() {\n\t\t\t\t\tOC.Notification.show(t('files_trashbin', 'Error while restoring files from trashbin'));\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\n\t\t_onClickDeleteSelected: function(event) {\n\t\t\tevent.preventDefault();\n\t\t\tvar self = this;\n\t\t\tvar allFiles = this.$el.find('.select-all').is(':checked');\n\t\t\tvar files = _.pluck(this.getSelectedFiles(), 'name');\n\t\t\tfor (var i = 0; i < files.length; i++) {\n\t\t\t\tvar tr = this.findFileEl(files[i]);\n\t\t\t\tthis.showFileBusyState(tr, true);\n\t\t\t}\n\n\t\t\tif (allFiles) {\n\t\t\t\treturn this.client.remove(OC.joinPaths('trash', this.getCurrentDirectory()))\n\t\t\t\t\t.then(\n\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\tself.hideMask();\n\t\t\t\t\t\t\tself.setFiles([]);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\tOC.Notification.show(t('files_trashbin', 'Error while emptying trashbin'));\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tthis.fileMultiSelectMenu.toggleLoading('delete', true);\n\t\t\t\tvar deletePromises = files.map(function(file) {\n\t\t\t\t\treturn self.client.remove(OC.joinPaths('trash', self.getCurrentDirectory(), file))\n\t\t\t\t\t\t.then(\n\t\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\t\tself._removeCallback([file]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t\treturn Promise.all(deletePromises).then(\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tself.fileMultiSelectMenu.toggleLoading('delete', false);\n\t\t\t\t\t},\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tOC.Notification.show(t('files_trashbin', 'Error while removing files from trashbin'));\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\n\t\t_onClickFile: function(event) {\n\t\t\tvar mime = $(this).parent().parent().data('mime');\n\t\t\tif (mime !== 'httpd/unix-directory') {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t\treturn OCA.Files.FileList.prototype._onClickFile.apply(this, arguments);\n\t\t},\n\n\t\tgeneratePreviewUrl: function(urlSpec) {\n\t\t\treturn OC.generateUrl('/apps/files_trashbin/preview?') + $.param(urlSpec);\n\t\t},\n\n\t\tgetDownloadUrl: function() {\n\t\t\t// no downloads\n\t\t\treturn '#';\n\t\t},\n\n\t\tupdateStorageStatistics: function() {\n\t\t\t// no op because the trashbin doesn't have\n\t\t\t// storage info like free space / used space\n\t\t},\n\n\t\tisSelectedDeletable: function() {\n\t\t\treturn true;\n\t\t},\n\n\t\t/**\n\t\t * Returns list of webdav properties to request\n\t\t */\n\t\t_getWebdavProperties: function() {\n\t\t\treturn [FILENAME_PROP, DELETION_TIME_PROP, TRASHBIN_ORIGINAL_LOCATION].concat(this.filesClient.getPropfindProperties());\n\t\t},\n\n\t\t/**\n\t\t * Reloads the file list using ajax call\n\t\t *\n\t\t * @return ajax call object\n\t\t */\n\t\treload: function() {\n\t\t\tthis._selectedFiles = {};\n\t\t\tthis._selectionSummary.clear();\n\t\t\tthis.$el.find('.select-all').prop('checked', false);\n\t\t\tthis.showMask();\n\t\t\tif (this._reloadCall) {\n\t\t\t\tthis._reloadCall.abort();\n\t\t\t}\n\t\t\tthis._reloadCall = this.client.getFolderContents(\n\t\t\t\t'trash/' + this.getCurrentDirectory(), {\n\t\t\t\t\tincludeParent: false,\n\t\t\t\t\tproperties: this._getWebdavProperties()\n\t\t\t\t}\n\t\t\t);\n\t\t\tvar callBack = this.reloadCallback.bind(this);\n\t\t\treturn this._reloadCall.then(callBack, callBack);\n\t\t},\n\t\treloadCallback: function(status, result) {\n\t\t\tdelete this._reloadCall;\n\t\t\tthis.hideMask();\n\n\t\t\tif (status === 401) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Firewall Blocked request?\n\t\t\tif (status === 403) {\n\t\t\t\t// Go home\n\t\t\t\tthis.changeDirectory('/');\n\t\t\t\tOC.Notification.show(t('files', 'This operation is forbidden'));\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Did share service die or something else fail?\n\t\t\tif (status === 500) {\n\t\t\t\t// Go home\n\t\t\t\tthis.changeDirectory('/');\n\t\t\t\tOC.Notification.show(t('files', 'This directory is unavailable, please check the logs or contact the administrator'));\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif (status === 404) {\n\t\t\t\t// go back home\n\t\t\t\tthis.changeDirectory('/');\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t// aborted ?\n\t\t\tif (status === 0){\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tthis.setFiles(result);\n\t\t\treturn true;\n\t\t},\n\n\t});\n\n\tOCA.Trashbin.FileList = FileList;\n})();\n\n","\nvar content = require(\"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/lib/loader.js!./trash.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!./trash.scss\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/lib/loader.js!./trash.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 (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#app-content-trashbin tbody tr[data-type=\\\"file\\\"] td a.name,\\n#app-content-trashbin tbody tr[data-type=\\\"file\\\"] td a.name span.nametext,\\n#app-content-trashbin tbody tr[data-type=\\\"file\\\"] td a.name span.nametext span {\\n cursor: default; }\\n\\n#app-content-trashbin .summary :last-child {\\n padding: 0; }\\n\\n#app-content-trashbin #filestable .summary .filesize {\\n display: none; }\\n\", \"\"]);\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","\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"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./apps/files_trashbin/src/files_trashbin.js","webpack:///./apps/files_trashbin/src/app.js","webpack:///./apps/files_trashbin/src/filelist.js","webpack:///./apps/files_trashbin/src/trash.scss?0bc9","webpack:///./apps/files_trashbin/src/trash.scss","webpack:///./node_modules/css-loader/dist/runtime/api.js","webpack:///./node_modules/style-loader/lib/addStyles.js","webpack:///./node_modules/style-loader/lib/urls.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","__webpack_exports__","window","OCA","Trashbin","App","_initialized","client","initialize","$el","this","OC","Files","Client","host","getHost","port","getPort","root","linkToRemoteBase","getCurrentUser","uid","useHTTPS","getProtocol","urlParams","Util","History","parseUrlQuery","fileList","FileList","$","fileActions","_createFileActions","detailsViewEnabled","scrollTo","scrollto","config","getFilesConfig","multiSelectMenu","displayName","iconClass","shown","FileActions","register","PERMISSION_READ","filename","context","dir","getCurrentDirectory","changeDirectory","joinPaths","setDefault","registerAction","type","TYPE_INLINE","mime","permissions","actionHandler","tr","findFileEl","showFileBusyState","move","then","_removeCallback","Notification","show","render","actionSpec","isDefault","$actionLink","_makeActionLink","attr","children","$file","find","append","remove","document","ready","one","DELETED_REGEXP","RegExp","FILENAME_PROP","DELETION_TIME_PROP","TRASHBIN_ORIGINAL_LOCATION","getDeletedFileName","basename","match","exec","length","options","_","extend","id","appName","addFileInfoParser","response","data","props","propStat","properties","path","mtime","parseInt","hasPreview","extraData","result","apply","arguments","click","_onClickRestoreSelected","setSort","breadcrumb","_makeCrumbs","parts","BreadCrumb","Plugins","attach","getDirectoryPermissions","PERMISSION_DELETE","_setCurrentDir","targetDir","baseDir","setPageTitle","_createRow","getAjaxUrl","action","params","q","buildQueryString","filePath","setupUploadEvents","linkTo","encodeURIComponent","replace","elementToFile","fileInfo","size","updateEmptyContent","exists","$fileList","toggleClass","files","updateSummary","fileSummary","update","event","preventDefault","self","pluck","getSelectedFiles","fileMultiSelectMenu","toggleLoading","restorePromises","map","file","Promise","all","_onClickDeleteSelected","allFiles","is","hideMask","setFiles","deletePromises","_onClickFile","parent","generatePreviewUrl","urlSpec","generateUrl","param","getDownloadUrl","updateStorageStatistics","isSelectedDeletable","_getWebdavProperties","concat","filesClient","getPropfindProperties","reload","_selectedFiles","_selectionSummary","clear","prop","showMask","_reloadCall","abort","getFolderContents","includeParent","callBack","reloadCallback","status","content","hmr","transform","insertInto","undefined","locals","push","useSourceMap","list","toString","item","cssMapping","btoa","sourceMapping","sourceMap","base64","unescape","JSON","stringify","sourceURLs","sources","source","sourceRoot","join","cssWithMappingToString","mediaQuery","alreadyImportedModules","_i","fn","memo","stylesInDom","isOldIE","atob","getElement","target","styleTarget","querySelector","HTMLIFrameElement","contentDocument","head","e","singleton","singletonCounter","stylesInsertedAtTop","fixUrls","addStylesToDom","styles","domStyle","refs","j","addStyle","listToStyles","newStyles","base","part","css","media","insertStyleElement","style","Error","lastStyleElementInsertedAtTop","insertAt","nextSibling","insertBefore","appendChild","firstChild","before","removeStyleElement","parentNode","removeChild","idx","indexOf","splice","createStyleElement","createElement","attrs","nonce","nc","getNonce","addAttrs","el","keys","forEach","setAttribute","obj","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","location","baseUrl","protocol","currentDir","pathname","fullMatch","origUrl","newUrl","unquotedOrigUrl","trim","$1","test"],"mappings":"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","file":"files_trashbin.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/js/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","import './app'\nimport './filelist'\nimport './trash.scss'\n\nwindow.OCA.Trashbin = OCA.Trashbin\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/**\n * @namespace OCA.Trashbin\n */\nOCA.Trashbin = {};\n/**\n * @namespace OCA.Trashbin.App\n */\nOCA.Trashbin.App = {\n\t_initialized: false,\n\t/** @type {OC.Files.Client} */\n\tclient: null,\n\n\tinitialize: function ($el) {\n\t\tif (this._initialized) {\n\t\t\treturn;\n\t\t}\n\t\tthis._initialized = true;\n\n\t\tthis.client = new OC.Files.Client({\n\t\t\thost: OC.getHost(),\n\t\t\tport: OC.getPort(),\n\t\t\troot: OC.linkToRemoteBase('dav') + '/trashbin/' + OC.getCurrentUser().uid,\n\t\t\tuseHTTPS: OC.getProtocol() === 'https'\n\t\t});\n\t\tvar urlParams = OC.Util.History.parseUrlQuery();\n\t\tthis.fileList = new OCA.Trashbin.FileList(\n\t\t\t$('#app-content-trashbin'), {\n\t\t\t\tfileActions: this._createFileActions(),\n\t\t\t\tdetailsViewEnabled: false,\n\t\t\t\tscrollTo: urlParams.scrollto,\n\t\t\t\tconfig: OCA.Files.App.getFilesConfig(),\n\t\t\t\tmultiSelectMenu: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'restore',\n\t\t\t\t\t\tdisplayName: t('files_trashbin', 'Restore'),\n\t\t\t\t\t\ticonClass: 'icon-history',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'delete',\n\t\t\t\t\t\tdisplayName: t('files_trashbin', 'Delete permanently'),\n\t\t\t\t\t\ticonClass: 'icon-delete',\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\tclient: this.client,\n\t\t\t\t// The file list is created when a \"show\" event is handled, so\n\t\t\t\t// it should be marked as \"shown\" like it would have been done\n\t\t\t\t// if handling the event with the file list already created.\n\t\t\t\tshown: true\n\t\t\t}\n\t\t);\n\t},\n\n\t_createFileActions: function () {\n\t\tvar client = this.client;\n\t\tvar fileActions = new OCA.Files.FileActions();\n\t\tfileActions.register('dir', 'Open', OC.PERMISSION_READ, '', function (filename, context) {\n\t\t\tvar dir = context.fileList.getCurrentDirectory();\n\t\t\tcontext.fileList.changeDirectory(OC.joinPaths(dir, filename));\n\t\t});\n\n\t\tfileActions.setDefault('dir', 'Open');\n\n\t\tfileActions.registerAction({\n\t\t\tname: 'Restore',\n\t\t\tdisplayName: t('files_trashbin', 'Restore'),\n\t\t\ttype: OCA.Files.FileActions.TYPE_INLINE,\n\t\t\tmime: 'all',\n\t\t\tpermissions: OC.PERMISSION_READ,\n\t\t\ticonClass: 'icon-history',\n\t\t\tactionHandler: function (filename, context) {\n\t\t\t\tvar fileList = context.fileList;\n\t\t\t\tvar tr = fileList.findFileEl(filename);\n\t\t\t\tfileList.showFileBusyState(tr, true);\n\t\t\t\tvar dir = context.fileList.getCurrentDirectory();\n\t\t\t\tclient.move(OC.joinPaths('trash', dir, filename), OC.joinPaths('restore', filename), true)\n\t\t\t\t\t.then(\n\t\t\t\t\t\tfileList._removeCallback.bind(fileList, [filename]),\n\t\t\t\t\t\tfunction () {\n\t\t\t\t\t\t\tfileList.showFileBusyState(tr, false);\n\t\t\t\t\t\t\tOC.Notification.show(t('files_trashbin', 'Error while restoring file from trashbin'));\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t}\n\t\t});\n\n\t\tfileActions.registerAction({\n\t\t\tname: 'Delete',\n\t\t\tdisplayName: t('files_trashbin', 'Delete permanently'),\n\t\t\tmime: 'all',\n\t\t\tpermissions: OC.PERMISSION_READ,\n\t\t\ticonClass: 'icon-delete',\n\t\t\trender: function (actionSpec, isDefault, context) {\n\t\t\t\tvar $actionLink = fileActions._makeActionLink(actionSpec, context);\n\t\t\t\t$actionLink.attr('original-title', t('files_trashbin', 'Delete permanently'));\n\t\t\t\t$actionLink.children('img').attr('alt', t('files_trashbin', 'Delete permanently'));\n\t\t\t\tcontext.$file.find('td:last').append($actionLink);\n\t\t\t\treturn $actionLink;\n\t\t\t},\n\t\t\tactionHandler: function (filename, context) {\n\t\t\t\tvar fileList = context.fileList;\n\t\t\t\t$('.tipsy').remove();\n\t\t\t\tvar tr = fileList.findFileEl(filename);\n\t\t\t\tfileList.showFileBusyState(tr, true);\n\t\t\t\tvar dir = context.fileList.getCurrentDirectory();\n\t\t\t\tclient.remove(OC.joinPaths('trash', dir, filename))\n\t\t\t\t\t.then(\n\t\t\t\t\t\tfileList._removeCallback.bind(fileList, [filename]),\n\t\t\t\t\t\tfunction () {\n\t\t\t\t\t\t\tfileList.showFileBusyState(tr, false);\n\t\t\t\t\t\t\tOC.Notification.show(t('files_trashbin', 'Error while removing file from trashbin'));\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t}\n\t\t});\n\t\treturn fileActions;\n\t}\n};\n\n$(document).ready(function () {\n\t$('#app-content-trashbin').one('show', function () {\n\t\tvar App = OCA.Trashbin.App;\n\t\tApp.initialize($('#app-content-trashbin'));\n\t\t// force breadcrumb init\n\t\t// App.fileList.changeDirectory(App.fileList.getCurrentDirectory(), false, true);\n\t});\n});\n\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(function() {\n\tvar DELETED_REGEXP = new RegExp(/^(.+)\\.d[0-9]+$/);\n\tvar FILENAME_PROP = '{http://nextcloud.org/ns}trashbin-filename';\n\tvar DELETION_TIME_PROP = '{http://nextcloud.org/ns}trashbin-deletion-time';\n\tvar TRASHBIN_ORIGINAL_LOCATION = '{http://nextcloud.org/ns}trashbin-original-location';\n\n\t/**\n\t * Convert a file name in the format filename.d12345 to the real file name.\n\t * This will use basename.\n\t * The name will not be changed if it has no \".d12345\" suffix.\n\t * @param {String} name file name\n\t * @return {String} converted file name\n\t */\n\tfunction getDeletedFileName(name) {\n\t\tname = OC.basename(name);\n\t\tvar match = DELETED_REGEXP.exec(name);\n\t\tif (match && match.length > 1) {\n\t\t\tname = match[1];\n\t\t}\n\t\treturn name;\n\t}\n\n\t/**\n\t * @class OCA.Trashbin.FileList\n\t * @augments OCA.Files.FileList\n\t * @classdesc List of deleted files\n\t *\n\t * @param $el container element with existing markup for the #controls\n\t * and a table\n\t * @param [options] map of options\n\t */\n\tvar FileList = function($el, options) {\n\t\tthis.client = options.client;\n\t\tthis.initialize($el, options);\n\t};\n\tFileList.prototype = _.extend({}, OCA.Files.FileList.prototype,\n\t\t/** @lends OCA.Trashbin.FileList.prototype */ {\n\t\tid: 'trashbin',\n\t\tappName: t('files_trashbin', 'Deleted files'),\n\t\t/** @type {OC.Files.Client} */\n\t\tclient: null,\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tinitialize: function() {\n\t\t\tthis.client.addFileInfoParser(function(response, data) {\n\t\t\t\tvar props = response.propStat[0].properties;\n\t\t\t\tvar path = props[TRASHBIN_ORIGINAL_LOCATION];\n\t\t\t\treturn {\n\t\t\t\t\tdisplayName: props[FILENAME_PROP],\n\t\t\t\t\tmtime: parseInt(props[DELETION_TIME_PROP], 10) * 1000,\n\t\t\t\t\thasPreview: true,\n\t\t\t\t\tpath: path,\n\t\t\t\t\textraData: path\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tvar result = OCA.Files.FileList.prototype.initialize.apply(this, arguments);\n\t\t\tthis.$el.find('.undelete').click('click', _.bind(this._onClickRestoreSelected, this));\n\n\t\t\tthis.setSort('mtime', 'desc');\n\t\t\t/**\n\t\t\t * Override crumb making to add \"Deleted Files\" entry\n\t\t\t * and convert files with \".d\" extensions to a more\n\t\t\t * user friendly name.\n\t\t\t */\n\t\t\tthis.breadcrumb._makeCrumbs = function() {\n\t\t\t\tvar parts = OCA.Files.BreadCrumb.prototype._makeCrumbs.apply(this, arguments);\n\t\t\t\tfor (var i = 1; i < parts.length; i++) {\n\t\t\t\t\tparts[i].name = getDeletedFileName(parts[i].name);\n\t\t\t\t}\n\t\t\t\treturn parts;\n\t\t\t};\n\n\t\t\tOC.Plugins.attach('OCA.Trashbin.FileList', this);\n\t\t\treturn result;\n\t\t},\n\n\t\t/**\n\t\t * Override to only return read permissions\n\t\t */\n\t\tgetDirectoryPermissions: function() {\n\t\t\treturn OC.PERMISSION_READ | OC.PERMISSION_DELETE;\n\t\t},\n\n\t\t_setCurrentDir: function(targetDir) {\n\t\t\tOCA.Files.FileList.prototype._setCurrentDir.apply(this, arguments);\n\n\t\t\tvar baseDir = OC.basename(targetDir);\n\t\t\tif (baseDir !== '') {\n\t\t\t\tthis.setPageTitle(getDeletedFileName(baseDir));\n\t\t\t}\n\t\t},\n\n\t\t_createRow: function() {\n\t\t\t// FIXME: MEGAHACK until we find a better solution\n\t\t\tvar tr = OCA.Files.FileList.prototype._createRow.apply(this, arguments);\n\t\t\ttr.find('td.filesize').remove();\n\t\t\treturn tr;\n\t\t},\n\n\t\tgetAjaxUrl: function(action, params) {\n\t\t\tvar q = '';\n\t\t\tif (params) {\n\t\t\t\tq = '?' + OC.buildQueryString(params);\n\t\t\t}\n\t\t\treturn OC.filePath('files_trashbin', 'ajax', action + '.php') + q;\n\t\t},\n\n\t\tsetupUploadEvents: function() {\n\t\t\t// override and do nothing\n\t\t},\n\n\t\tlinkTo: function(dir){\n\t\t\treturn OC.linkTo('files', 'index.php')+\"?view=trashbin&dir=\"+ encodeURIComponent(dir).replace(/%2F/g, '/');\n\t\t},\n\n\t\telementToFile: function($el) {\n\t\t\tvar fileInfo = OCA.Files.FileList.prototype.elementToFile($el);\n\t\t\tif (this.getCurrentDirectory() === '/') {\n\t\t\t\tfileInfo.displayName = getDeletedFileName(fileInfo.name);\n\t\t\t}\n\t\t\t// no size available\n\t\t\tdelete fileInfo.size;\n\t\t\treturn fileInfo;\n\t\t},\n\n\t\tupdateEmptyContent: function(){\n\t\t\tvar exists = this.$fileList.find('tr:first').exists();\n\t\t\tthis.$el.find('#emptycontent').toggleClass('hidden', exists);\n\t\t\tthis.$el.find('#filestable th').toggleClass('hidden', !exists);\n\t\t},\n\n\t\t_removeCallback: function(files) {\n\t\t\tvar $el;\n\t\t\tfor (var i = 0; i < files.length; i++) {\n\t\t\t\t$el = this.remove(OC.basename(files[i]), {updateSummary: false});\n\t\t\t\tthis.fileSummary.remove({type: $el.attr('data-type'), size: $el.attr('data-size')});\n\t\t\t}\n\t\t\tthis.fileSummary.update();\n\t\t\tthis.updateEmptyContent();\n\t\t},\n\n\t\t_onClickRestoreSelected: function(event) {\n\t\t\tevent.preventDefault();\n\t\t\tvar self = this;\n\t\t\tvar files = _.pluck(this.getSelectedFiles(), 'name');\n\t\t\tfor (var i = 0; i < files.length; i++) {\n\t\t\t\tvar tr = this.findFileEl(files[i]);\n\t\t\t\tthis.showFileBusyState(tr, true);\n\t\t\t}\n\n\t\t\tthis.fileMultiSelectMenu.toggleLoading('restore', true);\n\t\t\tvar restorePromises = files.map(function(file) {\n\t\t\t\treturn self.client.move(OC.joinPaths('trash', self.getCurrentDirectory(), file), OC.joinPaths('restore', file), true)\n\t\t\t\t\t.then(\n\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\tself._removeCallback([file]);\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t});\n\t\t\treturn Promise.all(restorePromises).then(\n\t\t\t\tfunction() {\n\t\t\t\t\tself.fileMultiSelectMenu.toggleLoading('restore', false);\n\t\t\t\t},\n\t\t\t\tfunction() {\n\t\t\t\t\tOC.Notification.show(t('files_trashbin', 'Error while restoring files from trashbin'));\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\n\t\t_onClickDeleteSelected: function(event) {\n\t\t\tevent.preventDefault();\n\t\t\tvar self = this;\n\t\t\tvar allFiles = this.$el.find('.select-all').is(':checked');\n\t\t\tvar files = _.pluck(this.getSelectedFiles(), 'name');\n\t\t\tfor (var i = 0; i < files.length; i++) {\n\t\t\t\tvar tr = this.findFileEl(files[i]);\n\t\t\t\tthis.showFileBusyState(tr, true);\n\t\t\t}\n\n\t\t\tif (allFiles) {\n\t\t\t\treturn this.client.remove(OC.joinPaths('trash', this.getCurrentDirectory()))\n\t\t\t\t\t.then(\n\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\tself.hideMask();\n\t\t\t\t\t\t\tself.setFiles([]);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\tOC.Notification.show(t('files_trashbin', 'Error while emptying trashbin'));\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tthis.fileMultiSelectMenu.toggleLoading('delete', true);\n\t\t\t\tvar deletePromises = files.map(function(file) {\n\t\t\t\t\treturn self.client.remove(OC.joinPaths('trash', self.getCurrentDirectory(), file))\n\t\t\t\t\t\t.then(\n\t\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\t\tself._removeCallback([file]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t\treturn Promise.all(deletePromises).then(\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tself.fileMultiSelectMenu.toggleLoading('delete', false);\n\t\t\t\t\t},\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tOC.Notification.show(t('files_trashbin', 'Error while removing files from trashbin'));\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\n\t\t_onClickFile: function(event) {\n\t\t\tvar mime = $(this).parent().parent().data('mime');\n\t\t\tif (mime !== 'httpd/unix-directory') {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t\treturn OCA.Files.FileList.prototype._onClickFile.apply(this, arguments);\n\t\t},\n\n\t\tgeneratePreviewUrl: function(urlSpec) {\n\t\t\treturn OC.generateUrl('/apps/files_trashbin/preview?') + $.param(urlSpec);\n\t\t},\n\n\t\tgetDownloadUrl: function() {\n\t\t\t// no downloads\n\t\t\treturn '#';\n\t\t},\n\n\t\tupdateStorageStatistics: function() {\n\t\t\t// no op because the trashbin doesn't have\n\t\t\t// storage info like free space / used space\n\t\t},\n\n\t\tisSelectedDeletable: function() {\n\t\t\treturn true;\n\t\t},\n\n\t\t/**\n\t\t * Returns list of webdav properties to request\n\t\t */\n\t\t_getWebdavProperties: function() {\n\t\t\treturn [FILENAME_PROP, DELETION_TIME_PROP, TRASHBIN_ORIGINAL_LOCATION].concat(this.filesClient.getPropfindProperties());\n\t\t},\n\n\t\t/**\n\t\t * Reloads the file list using ajax call\n\t\t *\n\t\t * @return ajax call object\n\t\t */\n\t\treload: function() {\n\t\t\tthis._selectedFiles = {};\n\t\t\tthis._selectionSummary.clear();\n\t\t\tthis.$el.find('.select-all').prop('checked', false);\n\t\t\tthis.showMask();\n\t\t\tif (this._reloadCall) {\n\t\t\t\tthis._reloadCall.abort();\n\t\t\t}\n\t\t\tthis._reloadCall = this.client.getFolderContents(\n\t\t\t\t'trash/' + this.getCurrentDirectory(), {\n\t\t\t\t\tincludeParent: false,\n\t\t\t\t\tproperties: this._getWebdavProperties()\n\t\t\t\t}\n\t\t\t);\n\t\t\tvar callBack = this.reloadCallback.bind(this);\n\t\t\treturn this._reloadCall.then(callBack, callBack);\n\t\t},\n\t\treloadCallback: function(status, result) {\n\t\t\tdelete this._reloadCall;\n\t\t\tthis.hideMask();\n\n\t\t\tif (status === 401) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Firewall Blocked request?\n\t\t\tif (status === 403) {\n\t\t\t\t// Go home\n\t\t\t\tthis.changeDirectory('/');\n\t\t\t\tOC.Notification.show(t('files', 'This operation is forbidden'));\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Did share service die or something else fail?\n\t\t\tif (status === 500) {\n\t\t\t\t// Go home\n\t\t\t\tthis.changeDirectory('/');\n\t\t\t\tOC.Notification.show(t('files', 'This directory is unavailable, please check the logs or contact the administrator'));\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif (status === 404) {\n\t\t\t\t// go back home\n\t\t\t\tthis.changeDirectory('/');\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t// aborted ?\n\t\t\tif (status === 0){\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tthis.setFiles(result);\n\t\t\treturn true;\n\t\t},\n\n\t});\n\n\tOCA.Trashbin.FileList = FileList;\n})();\n\n","\nvar content = require(\"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/lib/loader.js!./trash.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!./trash.scss\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/lib/loader.js!./trash.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 (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#app-content-trashbin tbody tr[data-type=\\\"file\\\"] td a.name,\\n#app-content-trashbin tbody tr[data-type=\\\"file\\\"] td a.name span.nametext,\\n#app-content-trashbin tbody tr[data-type=\\\"file\\\"] td a.name span.nametext span {\\n cursor: default; }\\n\\n#app-content-trashbin .summary :last-child {\\n padding: 0; }\\n\\n#app-content-trashbin #filestable .summary .filesize {\\n display: none; }\\n\", \"\"]);\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (useSourceMap) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item, useSourceMap);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \"{\").concat(content, \"}\");\n }\n\n return content;\n }).join('');\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery) {\n if (typeof modules === 'string') {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = modules[_i]; // skip already imported module\n // this implementation is not 100% perfect for weird media query combinations\n // when a module is imported multiple times with different media queries.\n // I hope this will never occur (Hey this way we have smaller bundles)\n\n if (item[0] == null || !alreadyImportedModules[item[0]]) {\n if (mediaQuery && !item[2]) {\n item[2] = mediaQuery;\n } else if (mediaQuery) {\n item[2] = \"(\".concat(item[2], \") and (\").concat(mediaQuery, \")\");\n }\n\n list.push(item);\n }\n }\n };\n\n return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot).concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n\n return [content].join('\\n');\n} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n return \"/*# \".concat(data, \" */\");\n}","/*\n\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","\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"],"sourceRoot":""}
\ No newline at end of file |