1 line
45 KiB
Plaintext
1 line
45 KiB
Plaintext
{"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?7371","webpack:///./apps/files_trashbin/src/trash.scss","webpack:///./node_modules/css-loader/dist/runtime/api.js","webpack:///./node_modules/vue-style-loader/lib/listToStyles.js","webpack:///./node_modules/vue-style-loader/lib/addStylesClient.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","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","addEventListener","one","DELETED_REGEXP","RegExp","FILENAME_PROP","DELETION_TIME_PROP","TRASHBIN_ORIGINAL_LOCATION","TRASHBIN_TITLE","getDeletedFileName","basename","match","exec","length","options","_","extend","id","appName","addFileInfoParser","response","data","props","propStat","properties","path","title","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","getDefaultActionUrl","updateStorageStatistics","isSelectedDeletable","_getWebdavProperties","concat","filesClient","getPropfindProperties","reload","_selectedFiles","_selectionSummary","clear","prop","showMask","_reloadCall","abort","getFolderContents","includeParent","callBack","reloadCallback","status","content","locals","add","default","___CSS_LOADER_API_IMPORT___","push","useSourceMap","list","toString","item","cssMapping","btoa","sourceMapping","sourceMap","base64","unescape","JSON","stringify","sourceURLs","sources","source","sourceRoot","join","cssWithMappingToString","mediaQuery","dedupe","alreadyImportedModules","_i","listToStyles","parentId","styles","newStyles","part","css","media","hasDocument","document","DEBUG","Error","stylesInDom","head","getElementsByTagName","singletonElement","singletonCounter","isProduction","noop","isOldIE","navigator","test","userAgent","toLowerCase","addStylesClient","_isProduction","_options","addStylesToDom","newList","mayRemove","domStyle","refs","j","addStyle","createStyleElement","styleElement","createElement","appendChild","obj","querySelector","parentNode","removeChild","styleIndex","applyToSingletonTag","applyToTag","newObj","textStore","replaceText","index","replacement","filter","Boolean","styleSheet","cssText","cssNode","createTextNode","childNodes","insertBefore","setAttribute","ssrId","firstChild"],"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\tconst 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\tconst client = this.client\n\t\tconst fileActions = new OCA.Files.FileActions()\n\t\tfileActions.register('dir', 'Open', OC.PERMISSION_READ, '', function(filename, context) {\n\t\t\tconst 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\tconst fileList = context.fileList\n\t\t\t\tconst tr = fileList.findFileEl(filename)\n\t\t\t\tfileList.showFileBusyState(tr, true)\n\t\t\t\tconst 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\tconst $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\tconst fileList = context.fileList\n\t\t\t\t$('.tipsy').remove()\n\t\t\t\tconst tr = fileList.findFileEl(filename)\n\t\t\t\tfileList.showFileBusyState(tr, true)\n\t\t\t\tconst 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\nwindow.addEventListener('DOMContentLoaded', function() {\n\t$('#app-content-trashbin').one('show', function() {\n\t\tconst 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","/* eslint-disable */\n/*\n * Copyright (c) 2014\n *\n * This file is licensed under the Affero General Public License version 3\n * or later.\n *\n * See the COPYING-README file.\n *\n */\n(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\tvar TRASHBIN_TITLE = '{http://nextcloud.org/ns}trashbin-title'\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 * @returns {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\tvar title = props[TRASHBIN_TITLE]\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: title\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\t\tthis.breadcrumb._makeCrumbs = function() {\n\t\t\t\t\tvar parts = OCA.Files.BreadCrumb.prototype._makeCrumbs.apply(this, [...arguments, 'icon-delete no-hover'])\n\t\t\t\t\tfor (var i = 1; i < parts.length; i++) {\n\t\t\t\t\t\tparts[i].name = getDeletedFileName(parts[i].name)\n\t\t\t\t\t}\n\t\t\t\t\treturn parts\n\t\t\t\t}\n\n\t\t\t\tOC.Plugins.attach('OCA.Trashbin.FileList', this)\n\t\t\t\treturn result\n\t\t\t},\n\n\t\t\t/**\n\t\t * Override to only return read permissions\n\t\t */\n\t\t\tgetDirectoryPermissions: function() {\n\t\t\t\treturn OC.PERMISSION_READ | OC.PERMISSION_DELETE\n\t\t\t},\n\n\t\t\t_setCurrentDir: function(targetDir) {\n\t\t\t\tOCA.Files.FileList.prototype._setCurrentDir.apply(this, arguments)\n\n\t\t\t\tvar baseDir = OC.basename(targetDir)\n\t\t\t\tif (baseDir !== '') {\n\t\t\t\t\tthis.setPageTitle(getDeletedFileName(baseDir))\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t_createRow: function() {\n\t\t\t// FIXME: MEGAHACK until we find a better solution\n\t\t\t\tvar tr = OCA.Files.FileList.prototype._createRow.apply(this, arguments)\n\t\t\t\ttr.find('td.filesize').remove()\n\t\t\t\treturn tr\n\t\t\t},\n\n\t\t\tgetAjaxUrl: function(action, params) {\n\t\t\t\tvar q = ''\n\t\t\t\tif (params) {\n\t\t\t\t\tq = '?' + OC.buildQueryString(params)\n\t\t\t\t}\n\t\t\t\treturn OC.filePath('files_trashbin', 'ajax', action + '.php') + q\n\t\t\t},\n\n\t\t\tsetupUploadEvents: function() {\n\t\t\t// override and do nothing\n\t\t\t},\n\n\t\t\tlinkTo: function(dir) {\n\t\t\t\treturn OC.linkTo('files', 'index.php') + '?view=trashbin&dir=' + encodeURIComponent(dir).replace(/%2F/g, '/')\n\t\t\t},\n\n\t\t\telementToFile: function($el) {\n\t\t\t\tvar fileInfo = OCA.Files.FileList.prototype.elementToFile($el)\n\t\t\t\tif (this.getCurrentDirectory() === '/') {\n\t\t\t\t\tfileInfo.displayName = getDeletedFileName(fileInfo.name)\n\t\t\t\t}\n\t\t\t\t// no size available\n\t\t\t\tdelete fileInfo.size\n\t\t\t\treturn fileInfo\n\t\t\t},\n\n\t\t\tupdateEmptyContent: function() {\n\t\t\t\tvar exists = this.$fileList.find('tr:first').exists()\n\t\t\t\tthis.$el.find('#emptycontent').toggleClass('hidden', exists)\n\t\t\t\tthis.$el.find('#filestable th').toggleClass('hidden', !exists)\n\t\t\t},\n\n\t\t\t_removeCallback: function(files) {\n\t\t\t\tvar $el\n\t\t\t\tfor (var i = 0; i < files.length; i++) {\n\t\t\t\t\t$el = this.remove(OC.basename(files[i]), { updateSummary: false })\n\t\t\t\t\tthis.fileSummary.remove({ type: $el.attr('data-type'), size: $el.attr('data-size') })\n\t\t\t\t}\n\t\t\t\tthis.fileSummary.update()\n\t\t\t\tthis.updateEmptyContent()\n\t\t\t},\n\n\t\t\t_onClickRestoreSelected: function(event) {\n\t\t\t\tevent.preventDefault()\n\t\t\t\tvar self = this\n\t\t\t\tvar files = _.pluck(this.getSelectedFiles(), 'name')\n\t\t\t\tfor (var i = 0; i < files.length; i++) {\n\t\t\t\t\tvar tr = this.findFileEl(files[i])\n\t\t\t\t\tthis.showFileBusyState(tr, true)\n\t\t\t\t}\n\n\t\t\t\tthis.fileMultiSelectMenu.toggleLoading('restore', true)\n\t\t\t\tvar restorePromises = files.map(function(file) {\n\t\t\t\t\treturn self.client.move(OC.joinPaths('trash', self.getCurrentDirectory(), file), OC.joinPaths('restore', file), true)\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(restorePromises).then(\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tself.fileMultiSelectMenu.toggleLoading('restore', 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 restoring files from trashbin'))\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t},\n\n\t\t\t_onClickDeleteSelected: function(event) {\n\t\t\t\tevent.preventDefault()\n\t\t\t\tvar self = this\n\t\t\t\tvar allFiles = this.$el.find('.select-all').is(':checked')\n\t\t\t\tvar files = _.pluck(this.getSelectedFiles(), 'name')\n\t\t\t\tfor (var i = 0; i < files.length; i++) {\n\t\t\t\t\tvar tr = this.findFileEl(files[i])\n\t\t\t\t\tthis.showFileBusyState(tr, true)\n\t\t\t\t}\n\n\t\t\t\tif (allFiles) {\n\t\t\t\t\treturn this.client.remove(OC.joinPaths('trash', this.getCurrentDirectory()))\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.hideMask()\n\t\t\t\t\t\t\t\tself.setFiles([])\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\t\tOC.Notification.show(t('files_trashbin', 'Error while emptying trashbin'))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t)\n\t\t\t\t} else {\n\t\t\t\t\tthis.fileMultiSelectMenu.toggleLoading('delete', true)\n\t\t\t\t\tvar deletePromises = files.map(function(file) {\n\t\t\t\t\t\treturn self.client.remove(OC.joinPaths('trash', self.getCurrentDirectory(), file))\n\t\t\t\t\t\t\t.then(\n\t\t\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\t\t\tself._removeCallback([file])\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t)\n\t\t\t\t\t})\n\t\t\t\t\treturn Promise.all(deletePromises).then(\n\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\tself.fileMultiSelectMenu.toggleLoading('delete', false)\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 removing files from trashbin'))\n\t\t\t\t\t\t}\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t_onClickFile: function(event) {\n\t\t\t\tvar mime = $(this).parent().parent().data('mime')\n\t\t\t\tif (mime !== 'httpd/unix-directory') {\n\t\t\t\t\tevent.preventDefault()\n\t\t\t\t}\n\t\t\t\treturn OCA.Files.FileList.prototype._onClickFile.apply(this, arguments)\n\t\t\t},\n\n\t\t\tgeneratePreviewUrl: function(urlSpec) {\n\t\t\t\treturn OC.generateUrl('/apps/files_trashbin/preview?') + $.param(urlSpec)\n\t\t\t},\n\n\t\t\tgetDownloadUrl: function() {\n\t\t\t// no downloads\n\t\t\t\treturn '#'\n\t\t\t},\n\n\t\t\tgetDefaultActionUrl: function() {\n\t\t\t// no default action\n\t\t\t\treturn '#'\n\t\t\t},\n\n\t\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\t},\n\n\t\t\tisSelectedDeletable: function() {\n\t\t\t\treturn true\n\t\t\t},\n\n\t\t\t/**\n\t\t * Returns list of webdav properties to request\n\t\t */\n\t\t\t_getWebdavProperties: function() {\n\t\t\t\treturn [FILENAME_PROP, DELETION_TIME_PROP, TRASHBIN_ORIGINAL_LOCATION, TRASHBIN_TITLE].concat(this.filesClient.getPropfindProperties())\n\t\t\t},\n\n\t\t\t/**\n\t\t * Reloads the file list using ajax call\n\t\t *\n\t\t * @returns ajax call object\n\t\t */\n\t\t\treload: function() {\n\t\t\t\tthis._selectedFiles = {}\n\t\t\t\tthis._selectionSummary.clear()\n\t\t\t\tthis.$el.find('.select-all').prop('checked', false)\n\t\t\t\tthis.showMask()\n\t\t\t\tif (this._reloadCall) {\n\t\t\t\t\tthis._reloadCall.abort()\n\t\t\t\t}\n\t\t\t\tthis._reloadCall = this.client.getFolderContents(\n\t\t\t\t\t'trash/' + this.getCurrentDirectory(), {\n\t\t\t\t\t\tincludeParent: false,\n\t\t\t\t\t\tproperties: this._getWebdavProperties()\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t\tvar callBack = this.reloadCallback.bind(this)\n\t\t\t\treturn this._reloadCall.then(callBack, callBack)\n\t\t\t},\n\t\t\treloadCallback: function(status, result) {\n\t\t\t\tdelete this._reloadCall\n\t\t\t\tthis.hideMask()\n\n\t\t\t\tif (status === 401) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\n\t\t\t\t// Firewall Blocked request?\n\t\t\t\tif (status === 403) {\n\t\t\t\t// Go home\n\t\t\t\t\tthis.changeDirectory('/')\n\t\t\t\t\tOC.Notification.show(t('files', 'This operation is forbidden'))\n\t\t\t\t\treturn false\n\t\t\t\t}\n\n\t\t\t\t// Did share service die or something else fail?\n\t\t\t\tif (status === 500) {\n\t\t\t\t// Go home\n\t\t\t\t\tthis.changeDirectory('/')\n\t\t\t\t\tOC.Notification.show(t('files', 'This directory is unavailable, please check the logs or contact the administrator'))\n\t\t\t\t\treturn false\n\t\t\t\t}\n\n\t\t\t\tif (status === 404) {\n\t\t\t\t// go back home\n\t\t\t\t\tthis.changeDirectory('/')\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t\t// aborted ?\n\t\t\t\tif (status === 0) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\n\t\t\t\tthis.setFiles(result)\n\t\t\t\treturn true\n\t\t\t}\n\n\t\t})\n\n\tOCA.Trashbin.FileList = FileList\n})()\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js!./trash.scss\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"e1044e6c\", content, true, {});","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"#app-content-trashbin tbody tr[data-type=\\\"file\\\"] td a.name,#app-content-trashbin tbody tr[data-type=\\\"file\\\"] td a.name span.nametext,#app-content-trashbin tbody tr[data-type=\\\"file\\\"] td a.name span.nametext span{cursor:default}#app-content-trashbin .summary :last-child{padding:0}#app-content-trashbin #filestable .summary .filesize{display:none}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (useSourceMap) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item, useSourceMap);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join('');\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === 'string') {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || '').concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n\n return [content].join('\\n');\n} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n return \"/*# \".concat(data, \" */\");\n}","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n","/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nimport listToStyles from './listToStyles'\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array<StyleObjectPart>\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n// tags it will allow on a page\nvar isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase())\n\nexport default function addStylesClient (parentId, list, _isProduction, _options) {\n isProduction = _isProduction\n\n options = _options || {}\n\n var styles = listToStyles(parentId, list)\n addStylesToDom(styles)\n\n return function update (newList) {\n var mayRemove = []\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i]\n var domStyle = stylesInDom[item.id]\n domStyle.refs--\n mayRemove.push(domStyle)\n }\n if (newList) {\n styles = listToStyles(parentId, newList)\n addStylesToDom(styles)\n } else {\n styles = []\n }\n for (var i = 0; i < mayRemove.length; i++) {\n var domStyle = mayRemove[i]\n if (domStyle.refs === 0) {\n for (var j = 0; j < domStyle.parts.length; j++) {\n domStyle.parts[j]()\n }\n delete stylesInDom[domStyle.id]\n }\n }\n }\n}\n\nfunction addStylesToDom (styles /* Array<StyleObject> */) {\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i]\n var domStyle = stylesInDom[item.id]\n if (domStyle) {\n domStyle.refs++\n for (var j = 0; j < domStyle.parts.length; j++) {\n domStyle.parts[j](item.parts[j])\n }\n for (; j < item.parts.length; j++) {\n domStyle.parts.push(addStyle(item.parts[j]))\n }\n if (domStyle.parts.length > item.parts.length) {\n domStyle.parts.length = item.parts.length\n }\n } else {\n var parts = []\n for (var j = 0; j < item.parts.length; j++) {\n parts.push(addStyle(item.parts[j]))\n }\n stylesInDom[item.id] = { id: item.id, refs: 1, parts: parts }\n }\n }\n}\n\nfunction createStyleElement () {\n var styleElement = document.createElement('style')\n styleElement.type = 'text/css'\n head.appendChild(styleElement)\n return styleElement\n}\n\nfunction addStyle (obj /* StyleObjectPart */) {\n var update, remove\n var styleElement = document.querySelector('style[' + ssrIdKey + '~=\"' + obj.id + '\"]')\n\n if (styleElement) {\n if (isProduction) {\n // has SSR styles and in production mode.\n // simply do nothing.\n return noop\n } else {\n // has SSR styles but in dev mode.\n // for some reason Chrome can't handle source map in server-rendered\n // style tags - source maps in <style> only works if the style tag is\n // created and inserted dynamically. So we remove the server rendered\n // styles and inject new ones.\n styleElement.parentNode.removeChild(styleElement)\n }\n }\n\n if (isOldIE) {\n // use singleton mode for IE9.\n var styleIndex = singletonCounter++\n styleElement = singletonElement || (singletonElement = createStyleElement())\n update = applyToSingletonTag.bind(null, styleElement, styleIndex, false)\n remove = applyToSingletonTag.bind(null, styleElement, styleIndex, true)\n } else {\n // use multi-style-tag mode in all other cases\n styleElement = createStyleElement()\n update = applyToTag.bind(null, styleElement)\n remove = function () {\n styleElement.parentNode.removeChild(styleElement)\n }\n }\n\n update(obj)\n\n return function updateStyle (newObj /* StyleObjectPart */) {\n if (newObj) {\n if (newObj.css === obj.css &&\n newObj.media === obj.media &&\n newObj.sourceMap === obj.sourceMap) {\n return\n }\n update(obj = newObj)\n } else {\n remove()\n }\n }\n}\n\nvar replaceText = (function () {\n var textStore = []\n\n return function (index, replacement) {\n textStore[index] = replacement\n return textStore.filter(Boolean).join('\\n')\n }\n})()\n\nfunction applyToSingletonTag (styleElement, index, remove, obj) {\n var css = remove ? '' : obj.css\n\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = replaceText(index, css)\n } else {\n var cssNode = document.createTextNode(css)\n var childNodes = styleElement.childNodes\n if (childNodes[index]) styleElement.removeChild(childNodes[index])\n if (childNodes.length) {\n styleElement.insertBefore(cssNode, childNodes[index])\n } else {\n styleElement.appendChild(cssNode)\n }\n }\n}\n\nfunction applyToTag (styleElement, obj) {\n var css = obj.css\n var media = obj.media\n var sourceMap = obj.sourceMap\n\n if (media) {\n styleElement.setAttribute('media', media)\n }\n if (options.ssrId) {\n styleElement.setAttribute(ssrIdKey, obj.id)\n }\n\n if (sourceMap) {\n // https://developer.chrome.com/devtools/docs/javascript-debugging\n // this makes source maps inside style tags work properly in Chrome\n css += '\\n/*# sourceURL=' + sourceMap.sources[0] + ' */'\n // http://stackoverflow.com/a/26603875\n css += '\\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + ' */'\n }\n\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild)\n }\n styleElement.appendChild(document.createTextNode(css))\n }\n}\n"],"sourceRoot":""} |