From 5274c5426818270460ce05ee0071aa9f189281e6 Mon Sep 17 00:00:00 2001 From: Roeland Jago Douma Date: Tue, 29 Oct 2019 12:22:15 +0100 Subject: [PATCH] Add a transfer ownership background job This job can be initiated by a user to transfer a file/folder to a target user. The target user will have to accept the job. Once that is done the transfers is initiated in the background. Both parties get notified when the job is done. Signed-off-by: Roeland Jago Douma --- .gitattributes | 2 + apps/files/appinfo/info.xml | 4 + apps/files/appinfo/routes.php | 17 +- .../composer/composer/autoload_classmap.php | 7 + .../composer/composer/autoload_static.php | 7 + apps/files/js/dist/personal-settings.js | 36 +++ apps/files/js/dist/personal-settings.js.map | 1 + apps/files/js/dist/sidebar.js | 32 +-- apps/files/js/dist/sidebar.js.map | 2 +- apps/files/lib/AppInfo/Application.php | 12 +- .../lib/BackgroundJob/TransferOwnership.php | 183 +++++++++++++ .../TransferOwnershipController.php | 181 +++++++++++++ apps/files/lib/Db/TransferOwnership.php | 60 +++++ apps/files/lib/Db/TransferOwnershipMapper.php | 47 ++++ .../Version11301Date20191113195931.php | 72 ++++++ apps/files/lib/Notification/Notifier.php | 243 ++++++++++++++++++ apps/files/lib/Settings/PersonalSettings.php | 46 ++++ .../files/src/components/PersonalSettings.vue | 38 +++ .../components/TransferOwnershipDialogue.vue | 143 +++++++++++ apps/files/src/logger.js | 28 ++ apps/files/src/main-personal-settings.js | 38 +++ apps/files/templates/settings-personal.php | 29 +++ apps/files/webpack.js | 1 + core/js/dist/login.js | 2 +- core/js/dist/login.js.map | 2 +- core/js/dist/main.js | 2 +- core/js/dist/main.js.map | 2 +- core/js/dist/maintenance.js | 2 +- core/js/dist/maintenance.js.map | 2 +- core/src/OC/dialogs.js | 4 +- package-lock.json | 195 +++++++++++++- package.json | 2 + 32 files changed, 1407 insertions(+), 35 deletions(-) create mode 100644 apps/files/js/dist/personal-settings.js create mode 100644 apps/files/js/dist/personal-settings.js.map create mode 100644 apps/files/lib/BackgroundJob/TransferOwnership.php create mode 100644 apps/files/lib/Controller/TransferOwnershipController.php create mode 100644 apps/files/lib/Db/TransferOwnership.php create mode 100644 apps/files/lib/Db/TransferOwnershipMapper.php create mode 100644 apps/files/lib/Migration/Version11301Date20191113195931.php create mode 100644 apps/files/lib/Notification/Notifier.php create mode 100644 apps/files/lib/Settings/PersonalSettings.php create mode 100644 apps/files/src/components/PersonalSettings.vue create mode 100644 apps/files/src/components/TransferOwnershipDialogue.vue create mode 100644 apps/files/src/logger.js create mode 100644 apps/files/src/main-personal-settings.js create mode 100644 apps/files/templates/settings-personal.php diff --git a/.gitattributes b/.gitattributes index 4e522fbd42f..fbcb8a02f0d 100644 --- a/.gitattributes +++ b/.gitattributes @@ -5,6 +5,8 @@ /apps/accessibility/js/accessibility.js.map binary /apps/comments/js/*.js binary /apps/comments/js/*.js.map binary +/apps/files/js/dist/*.js binary +/apps/files/js/dist/*.js.map binary /apps/files_sharing/js/dist/*.js binary /apps/files_sharing/js/dist/*.js.map binary /apps/files_versions/js/files_versions.js binary diff --git a/apps/files/appinfo/info.xml b/apps/files/appinfo/info.xml index 67c589ed755..20f77774ae6 100644 --- a/apps/files/appinfo/info.xml +++ b/apps/files/appinfo/info.xml @@ -65,4 +65,8 @@ + + OCA\Files\Settings\PersonalSettings + + diff --git a/apps/files/appinfo/routes.php b/apps/files/appinfo/routes.php index 9d889fe0e69..e235db76070 100644 --- a/apps/files/appinfo/routes.php +++ b/apps/files/appinfo/routes.php @@ -119,7 +119,22 @@ $application->registerRoutes( 'url' => '/api/v1/directEditing/create', 'verb' => 'POST' ], - ] + [ + 'name' => 'TransferOwnership#transfer', + 'url' => '/api/v1/transferownership', + 'verb' => 'POST', + ], + [ + 'name' => 'TransferOwnership#accept', + 'url' => '/api/v1/transferownership/{id}', + 'verb' => 'POST', + ], + [ + 'name' => 'TransferOwnership#reject', + 'url' => '/api/v1/transferownership/{id}', + 'verb' => 'DELETE', + ], + ], ] ); diff --git a/apps/files/composer/composer/autoload_classmap.php b/apps/files/composer/composer/autoload_classmap.php index b350bfae07e..ce6223994b1 100644 --- a/apps/files/composer/composer/autoload_classmap.php +++ b/apps/files/composer/composer/autoload_classmap.php @@ -23,6 +23,7 @@ return array( 'OCA\\Files\\BackgroundJob\\CleanupFileLocks' => $baseDir . '/../lib/BackgroundJob/CleanupFileLocks.php', 'OCA\\Files\\BackgroundJob\\DeleteOrphanedItems' => $baseDir . '/../lib/BackgroundJob/DeleteOrphanedItems.php', 'OCA\\Files\\BackgroundJob\\ScanFiles' => $baseDir . '/../lib/BackgroundJob/ScanFiles.php', + 'OCA\\Files\\BackgroundJob\\TransferOwnership' => $baseDir . '/../lib/BackgroundJob/TransferOwnership.php', 'OCA\\Files\\Capabilities' => $baseDir . '/../lib/Capabilities.php', 'OCA\\Files\\Collaboration\\Resources\\Listener' => $baseDir . '/../lib/Collaboration/Resources/Listener.php', 'OCA\\Files\\Collaboration\\Resources\\ResourceProvider' => $baseDir . '/../lib/Collaboration/Resources/ResourceProvider.php', @@ -34,13 +35,19 @@ return array( 'OCA\\Files\\Controller\\ApiController' => $baseDir . '/../lib/Controller/ApiController.php', 'OCA\\Files\\Controller\\DirectEditingController' => $baseDir . '/../lib/Controller/DirectEditingController.php', 'OCA\\Files\\Controller\\DirectEditingViewController' => $baseDir . '/../lib/Controller/DirectEditingViewController.php', + 'OCA\\Files\\Controller\\TransferOwnershipController' => $baseDir . '/../lib/Controller/TransferOwnershipController.php', 'OCA\\Files\\Controller\\ViewController' => $baseDir . '/../lib/Controller/ViewController.php', + 'OCA\\Files\\Db\\TransferOwnership' => $baseDir . '/../lib/Db/TransferOwnership.php', + 'OCA\\Files\\Db\\TransferOwnershipMapper' => $baseDir . '/../lib/Db/TransferOwnershipMapper.php', 'OCA\\Files\\Event\\LoadAdditionalScriptsEvent' => $baseDir . '/../lib/Event/LoadAdditionalScriptsEvent.php', 'OCA\\Files\\Event\\LoadSidebar' => $baseDir . '/../lib/Event/LoadSidebar.php', 'OCA\\Files\\Exception\\TransferOwnershipException' => $baseDir . '/../lib/Exception/TransferOwnershipException.php', 'OCA\\Files\\Helper' => $baseDir . '/../lib/Helper.php', 'OCA\\Files\\Listener\\LegacyLoadAdditionalScriptsAdapter' => $baseDir . '/../lib/Listener/LegacyLoadAdditionalScriptsAdapter.php', + 'OCA\\Files\\Migration\\Version11301Date20191113195931' => $baseDir . '/../lib/Migration/Version11301Date20191113195931.php', + 'OCA\\Files\\Notification\\Notifier' => $baseDir . '/../lib/Notification/Notifier.php', 'OCA\\Files\\Service\\DirectEditingService' => $baseDir . '/../lib/Service/DirectEditingService.php', 'OCA\\Files\\Service\\OwnershipTransferService' => $baseDir . '/../lib/Service/OwnershipTransferService.php', 'OCA\\Files\\Service\\TagService' => $baseDir . '/../lib/Service/TagService.php', + 'OCA\\Files\\Settings\\PersonalSettings' => $baseDir . '/../lib/Settings/PersonalSettings.php', ); diff --git a/apps/files/composer/composer/autoload_static.php b/apps/files/composer/composer/autoload_static.php index 34a64f32531..47aa82e84b0 100644 --- a/apps/files/composer/composer/autoload_static.php +++ b/apps/files/composer/composer/autoload_static.php @@ -38,6 +38,7 @@ class ComposerStaticInitFiles 'OCA\\Files\\BackgroundJob\\CleanupFileLocks' => __DIR__ . '/..' . '/../lib/BackgroundJob/CleanupFileLocks.php', 'OCA\\Files\\BackgroundJob\\DeleteOrphanedItems' => __DIR__ . '/..' . '/../lib/BackgroundJob/DeleteOrphanedItems.php', 'OCA\\Files\\BackgroundJob\\ScanFiles' => __DIR__ . '/..' . '/../lib/BackgroundJob/ScanFiles.php', + 'OCA\\Files\\BackgroundJob\\TransferOwnership' => __DIR__ . '/..' . '/../lib/BackgroundJob/TransferOwnership.php', 'OCA\\Files\\Capabilities' => __DIR__ . '/..' . '/../lib/Capabilities.php', 'OCA\\Files\\Collaboration\\Resources\\Listener' => __DIR__ . '/..' . '/../lib/Collaboration/Resources/Listener.php', 'OCA\\Files\\Collaboration\\Resources\\ResourceProvider' => __DIR__ . '/..' . '/../lib/Collaboration/Resources/ResourceProvider.php', @@ -49,15 +50,21 @@ class ComposerStaticInitFiles 'OCA\\Files\\Controller\\ApiController' => __DIR__ . '/..' . '/../lib/Controller/ApiController.php', 'OCA\\Files\\Controller\\DirectEditingController' => __DIR__ . '/..' . '/../lib/Controller/DirectEditingController.php', 'OCA\\Files\\Controller\\DirectEditingViewController' => __DIR__ . '/..' . '/../lib/Controller/DirectEditingViewController.php', + 'OCA\\Files\\Controller\\TransferOwnershipController' => __DIR__ . '/..' . '/../lib/Controller/TransferOwnershipController.php', 'OCA\\Files\\Controller\\ViewController' => __DIR__ . '/..' . '/../lib/Controller/ViewController.php', + 'OCA\\Files\\Db\\TransferOwnership' => __DIR__ . '/..' . '/../lib/Db/TransferOwnership.php', + 'OCA\\Files\\Db\\TransferOwnershipMapper' => __DIR__ . '/..' . '/../lib/Db/TransferOwnershipMapper.php', 'OCA\\Files\\Event\\LoadAdditionalScriptsEvent' => __DIR__ . '/..' . '/../lib/Event/LoadAdditionalScriptsEvent.php', 'OCA\\Files\\Event\\LoadSidebar' => __DIR__ . '/..' . '/../lib/Event/LoadSidebar.php', 'OCA\\Files\\Exception\\TransferOwnershipException' => __DIR__ . '/..' . '/../lib/Exception/TransferOwnershipException.php', 'OCA\\Files\\Helper' => __DIR__ . '/..' . '/../lib/Helper.php', 'OCA\\Files\\Listener\\LegacyLoadAdditionalScriptsAdapter' => __DIR__ . '/..' . '/../lib/Listener/LegacyLoadAdditionalScriptsAdapter.php', + 'OCA\\Files\\Migration\\Version11301Date20191113195931' => __DIR__ . '/..' . '/../lib/Migration/Version11301Date20191113195931.php', + 'OCA\\Files\\Notification\\Notifier' => __DIR__ . '/..' . '/../lib/Notification/Notifier.php', 'OCA\\Files\\Service\\DirectEditingService' => __DIR__ . '/..' . '/../lib/Service/DirectEditingService.php', 'OCA\\Files\\Service\\OwnershipTransferService' => __DIR__ . '/..' . '/../lib/Service/OwnershipTransferService.php', 'OCA\\Files\\Service\\TagService' => __DIR__ . '/..' . '/../lib/Service/TagService.php', + 'OCA\\Files\\Settings\\PersonalSettings' => __DIR__ . '/..' . '/../lib/Settings/PersonalSettings.php', ); public static function getInitializer(ClassLoader $loader) diff --git a/apps/files/js/dist/personal-settings.js b/apps/files/js/dist/personal-settings.js new file mode 100644 index 00000000000..a25d256a2de --- /dev/null +++ b/apps/files/js/dist/personal-settings.js @@ -0,0 +1,36 @@ +!function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="/js/",n(n.s=434)}([function(t,e,n){var r=n(2),o=n(32),i=n(51),a=n(234),u=r.Symbol,c=o("wks");t.exports=function(t){return c[t]||(c[t]=a&&u[t]||(a?u:i)("Symbol."+t))}},function(t,e,n){"use strict";var r=n(81),o=n(174),i=Object.prototype.toString;function a(t){return"[object Array]"===i.call(t)}function u(t){return null!==t&&"object"==typeof t}function c(t){return"[object Function]"===i.call(t)}function s(t,e){if(null!=t)if("object"!=typeof t&&(t=[t]),a(t))for(var n=0,r=t.length;n0?o(r(t),9007199254740991):0}},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,n){var r=n(11),o=n(130),i=n(60),a=n(301),u=n(302),c=n(373),s=o("wks"),f=r.Symbol,l=c?f:a;t.exports=function(t){return i(s,t)||(u&&i(f,t)?s[t]=f[t]:s[t]=l("Symbol."+t)),s[t]}},function(t,e,n){(function(e){var n="object",r=function(t){return t&&t.Math==Math&&t};t.exports=r(typeof globalThis==n&&globalThis)||r(typeof window==n&&window)||r(typeof self==n&&self)||r(typeof e==n&&e)||Function("return this")()}).call(this,n(10))},function(t,e,n){"use strict";n.r(e),function(t,n){ +/*! + * Vue.js v2.6.10 + * (c) 2014-2019 Evan You + * Released under the MIT License. + */ +var r=Object.freeze({});function o(t){return null==t}function i(t){return null!=t}function a(t){return!0===t}function u(t){return"string"==typeof t||"number"==typeof t||"symbol"==typeof t||"boolean"==typeof t}function c(t){return null!==t&&"object"==typeof t}var s=Object.prototype.toString;function f(t){return"[object Object]"===s.call(t)}function l(t){return"[object RegExp]"===s.call(t)}function p(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function v(t){return i(t)&&"function"==typeof t.then&&"function"==typeof t.catch}function d(t){return null==t?"":Array.isArray(t)||f(t)&&t.toString===s?JSON.stringify(t,null,2):String(t)}function h(t){var e=parseFloat(t);return isNaN(e)?t:e}function y(t,e){for(var n=Object.create(null),r=t.split(","),o=0;o-1)return t.splice(n,1)}}var b=Object.prototype.hasOwnProperty;function x(t,e){return b.call(t,e)}function _(t){var e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}var w=/-(\w)/g,O=_((function(t){return t.replace(w,(function(t,e){return e?e.toUpperCase():""}))})),S=_((function(t){return t.charAt(0).toUpperCase()+t.slice(1)})),j=/\B([A-Z])/g,k=_((function(t){return t.replace(j,"-$1").toLowerCase()}));var C=Function.prototype.bind?function(t,e){return t.bind(e)}:function(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n};function E(t,e){e=e||0;for(var n=t.length-e,r=new Array(n);n--;)r[n]=t[n+e];return r}function T(t,e){for(var n in e)t[n]=e[n];return t}function A(t){for(var e={},n=0;n0,Q=X&&X.indexOf("edge/")>0,Z=(X&&X.indexOf("android"),X&&/iphone|ipad|ipod|ios/.test(X)||"ios"===K),tt=(X&&/chrome\/\d+/.test(X),X&&/phantomjs/.test(X),X&&X.match(/firefox\/(\d+)/)),et={}.watch,nt=!1;if(W)try{var rt={};Object.defineProperty(rt,"passive",{get:function(){nt=!0}}),window.addEventListener("test-passive",null,rt)}catch(t){}var ot=function(){return void 0===V&&(V=!W&&!G&&void 0!==t&&(t.process&&"server"===t.process.env.VUE_ENV)),V},it=W&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function at(t){return"function"==typeof t&&/native code/.test(t.toString())}var ut,ct="undefined"!=typeof Symbol&&at(Symbol)&&"undefined"!=typeof Reflect&&at(Reflect.ownKeys);ut="undefined"!=typeof Set&&at(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var st=P,ft=0,lt=function(){this.id=ft++,this.subs=[]};lt.prototype.addSub=function(t){this.subs.push(t)},lt.prototype.removeSub=function(t){m(this.subs,t)},lt.prototype.depend=function(){lt.target&<.target.addDep(this)},lt.prototype.notify=function(){var t=this.subs.slice();for(var e=0,n=t.length;e-1)if(i&&!x(o,"default"))a=!1;else if(""===a||a===k(t)){var c=Bt(String,o.type);(c<0||u0&&(fe((s=t(s,(n||"")+"_"+c))[0])&&fe(l)&&(r[f]=mt(l.text+s[0].text),s.shift()),r.push.apply(r,s)):u(s)?fe(l)?r[f]=mt(l.text+s):""!==s&&r.push(mt(s)):fe(s)&&fe(l)?r[f]=mt(l.text+s.text):(a(e._isVList)&&i(s.tag)&&o(s.key)&&i(n)&&(s.key="__vlist"+n+"_"+c+"__"),r.push(s)));return r}(t):void 0}function fe(t){return i(t)&&i(t.text)&&!1===t.isComment}function le(t,e){if(t){for(var n=Object.create(null),r=ct?Reflect.ownKeys(t):Object.keys(t),o=0;o0,a=t?!!t.$stable:!i,u=t&&t.$key;if(t){if(t._normalized)return t._normalized;if(a&&n&&n!==r&&u===n.$key&&!i&&!n.$hasNormal)return n;for(var c in o={},t)t[c]&&"$"!==c[0]&&(o[c]=he(e,c,t[c]))}else o={};for(var s in e)s in o||(o[s]=ye(e,s));return t&&Object.isExtensible(t)&&(t._normalized=o),z(o,"$stable",a),z(o,"$key",u),z(o,"$hasNormal",i),o}function he(t,e,n){var r=function(){var t=arguments.length?n.apply(null,arguments):n({});return(t=t&&"object"==typeof t&&!Array.isArray(t)?[t]:se(t))&&(0===t.length||1===t.length&&t[0].isComment)?void 0:t};return n.proxy&&Object.defineProperty(t,e,{get:r,enumerable:!0,configurable:!0}),r}function ye(t,e){return function(){return t[e]}}function ge(t,e){var n,r,o,a,u;if(Array.isArray(t)||"string"==typeof t)for(n=new Array(t.length),r=0,o=t.length;rdocument.createEvent("Event").timeStamp&&(fn=function(){return ln.now()})}function pn(){var t,e;for(sn=fn(),un=!0,nn.sort((function(t,e){return t.id-e.id})),cn=0;cncn&&nn[n].id>t.id;)n--;nn.splice(n+1,0,t)}else nn.push(t);an||(an=!0,ee(pn))}}(this)},dn.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||c(t)||this.deep){var e=this.value;if(this.value=t,this.user)try{this.cb.call(this.vm,t,e)}catch(t){zt(t,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,t,e)}}},dn.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},dn.prototype.depend=function(){for(var t=this.deps.length;t--;)this.deps[t].depend()},dn.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||m(this.vm._watchers,this);for(var t=this.deps.length;t--;)this.deps[t].removeSub(this);this.active=!1}};var hn={enumerable:!0,configurable:!0,get:P,set:P};function yn(t,e,n){hn.get=function(){return this[e][n]},hn.set=function(t){this[e][n]=t},Object.defineProperty(t,n,hn)}function gn(t){t._watchers=[];var e=t.$options;e.props&&function(t,e){var n=t.$options.propsData||{},r=t._props={},o=t.$options._propKeys=[];t.$parent&&St(!1);var i=function(i){o.push(i);var a=Dt(i,e,n,t);Ct(r,i,a),i in t||yn(t,"_props",i)};for(var a in e)i(a);St(!0)}(t,e.props),e.methods&&function(t,e){t.$options.props;for(var n in e)t[n]="function"!=typeof e[n]?P:C(e[n],t)}(t,e.methods),e.data?function(t){var e=t.$options.data;f(e=t._data="function"==typeof e?function(t,e){vt();try{return t.call(e,e)}catch(t){return zt(t,e,"data()"),{}}finally{dt()}}(e,t):e||{})||(e={});var n=Object.keys(e),r=t.$options.props,o=(t.$options.methods,n.length);for(;o--;){var i=n[o];0,r&&x(r,i)||(a=void 0,36!==(a=(i+"").charCodeAt(0))&&95!==a&&yn(t,"_data",i))}var a;kt(e,!0)}(t):kt(t._data={},!0),e.computed&&function(t,e){var n=t._computedWatchers=Object.create(null),r=ot();for(var o in e){var i=e[o],a="function"==typeof i?i:i.get;0,r||(n[o]=new dn(t,a||P,P,mn)),o in t||bn(t,o,i)}}(t,e.computed),e.watch&&e.watch!==et&&function(t,e){for(var n in e){var r=e[n];if(Array.isArray(r))for(var o=0;o-1:"string"==typeof t?t.split(",").indexOf(e)>-1:!!l(t)&&t.test(e)}function Tn(t,e){var n=t.cache,r=t.keys,o=t._vnode;for(var i in n){var a=n[i];if(a){var u=Cn(a.componentOptions);u&&!e(u)&&An(n,i,r,o)}}}function An(t,e,n,r){var o=t[e];!o||r&&o.tag===r.tag||o.componentInstance.$destroy(),t[e]=null,m(n,e)}!function(t){t.prototype._init=function(t){var e=this;e._uid=On++,e._isVue=!0,t&&t._isComponent?function(t,e){var n=t.$options=Object.create(t.constructor.options),r=e._parentVnode;n.parent=e.parent,n._parentVnode=r;var o=r.componentOptions;n.propsData=o.propsData,n._parentListeners=o.listeners,n._renderChildren=o.children,n._componentTag=o.tag,e.render&&(n.render=e.render,n.staticRenderFns=e.staticRenderFns)}(e,t):e.$options=Ft(Sn(e.constructor),t||{},e),e._renderProxy=e,e._self=e,function(t){var e=t.$options,n=e.parent;if(n&&!e.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(t)}t.$parent=n,t.$root=n?n.$root:t,t.$children=[],t.$refs={},t._watcher=null,t._inactive=null,t._directInactive=!1,t._isMounted=!1,t._isDestroyed=!1,t._isBeingDestroyed=!1}(e),function(t){t._events=Object.create(null),t._hasHookEvent=!1;var e=t.$options._parentListeners;e&&Ye(t,e)}(e),function(t){t._vnode=null,t._staticTrees=null;var e=t.$options,n=t.$vnode=e._parentVnode,o=n&&n.context;t.$slots=pe(e._renderChildren,o),t.$scopedSlots=r,t._c=function(e,n,r,o){return Be(t,e,n,r,o,!1)},t.$createElement=function(e,n,r,o){return Be(t,e,n,r,o,!0)};var i=n&&n.data;Ct(t,"$attrs",i&&i.attrs||r,null,!0),Ct(t,"$listeners",e._parentListeners||r,null,!0)}(e),en(e,"beforeCreate"),function(t){var e=le(t.$options.inject,t);e&&(St(!1),Object.keys(e).forEach((function(n){Ct(t,n,e[n])})),St(!0))}(e),gn(e),function(t){var e=t.$options.provide;e&&(t._provided="function"==typeof e?e.call(t):e)}(e),en(e,"created"),e.$options.el&&e.$mount(e.$options.el)}}(jn),function(t){var e={get:function(){return this._data}},n={get:function(){return this._props}};Object.defineProperty(t.prototype,"$data",e),Object.defineProperty(t.prototype,"$props",n),t.prototype.$set=Et,t.prototype.$delete=Tt,t.prototype.$watch=function(t,e,n){if(f(e))return wn(this,t,e,n);(n=n||{}).user=!0;var r=new dn(this,t,e,n);if(n.immediate)try{e.call(this,r.value)}catch(t){zt(t,this,'callback for immediate watcher "'+r.expression+'"')}return function(){r.teardown()}}}(jn),function(t){var e=/^hook:/;t.prototype.$on=function(t,n){var r=this;if(Array.isArray(t))for(var o=0,i=t.length;o1?E(n):n;for(var r=E(arguments,1),o='event handler for "'+t+'"',i=0,a=n.length;iparseInt(this.max)&&An(a,u[0],u,this._vnode)),e.data.keepAlive=!0}return e||t&&t[0]}}};!function(t){var e={get:function(){return U}};Object.defineProperty(t,"config",e),t.util={warn:st,extend:T,mergeOptions:Ft,defineReactive:Ct},t.set=Et,t.delete=Tt,t.nextTick=ee,t.observable=function(t){return kt(t),t},t.options=Object.create(null),D.forEach((function(e){t.options[e+"s"]=Object.create(null)})),t.options._base=t,T(t.options.components,$n),function(t){t.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var n=E(arguments,1);return n.unshift(this),"function"==typeof t.install?t.install.apply(t,n):"function"==typeof t&&t.apply(null,n),e.push(t),this}}(t),function(t){t.mixin=function(t){return this.options=Ft(this.options,t),this}}(t),kn(t),function(t){D.forEach((function(e){t[e]=function(t,n){return n?("component"===e&&f(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&"function"==typeof n&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}}))}(t)}(jn),Object.defineProperty(jn.prototype,"$isServer",{get:ot}),Object.defineProperty(jn.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(jn,"FunctionalRenderContext",{value:$e}),jn.version="2.6.10";var Mn=y("style,class"),In=y("input,textarea,option,select,progress"),Ln=y("contenteditable,draggable,spellcheck"),Fn=y("events,caret,typing,plaintext-only"),Nn=function(t,e){return zn(e)||"false"===e?"false":"contenteditable"===t&&Fn(e)?e:"true"},Dn=y("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),Rn="http://www.w3.org/1999/xlink",Un=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},Bn=function(t){return Un(t)?t.slice(6,t.length):""},zn=function(t){return null==t||!1===t};function qn(t){for(var e=t.data,n=t,r=t;i(r.componentInstance);)(r=r.componentInstance._vnode)&&r.data&&(e=Vn(r.data,e));for(;i(n=n.parent);)n&&n.data&&(e=Vn(e,n.data));return function(t,e){if(i(t)||i(e))return Hn(t,Wn(e));return""}(e.staticClass,e.class)}function Vn(t,e){return{staticClass:Hn(t.staticClass,e.staticClass),class:i(t.class)?[t.class,e.class]:e.class}}function Hn(t,e){return t?e?t+" "+e:t:e||""}function Wn(t){return Array.isArray(t)?function(t){for(var e,n="",r=0,o=t.length;r-1?hr(t,e,n):Dn(e)?zn(n)?t.removeAttribute(e):(n="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,n)):Ln(e)?t.setAttribute(e,Nn(e,n)):Un(e)?zn(n)?t.removeAttributeNS(Rn,Bn(e)):t.setAttributeNS(Rn,e,n):hr(t,e,n)}function hr(t,e,n){if(zn(n))t.removeAttribute(e);else{if(Y&&!J&&"TEXTAREA"===t.tagName&&"placeholder"===e&&""!==n&&!t.__ieph){var r=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",r)};t.addEventListener("input",r),t.__ieph=!0}t.setAttribute(e,n)}}var yr={create:vr,update:vr};function gr(t,e){var n=e.elm,r=e.data,a=t.data;if(!(o(r.staticClass)&&o(r.class)&&(o(a)||o(a.staticClass)&&o(a.class)))){var u=qn(e),c=n._transitionClasses;i(c)&&(u=Hn(u,Wn(c))),u!==n._prevClass&&(n.setAttribute("class",u),n._prevClass=u)}}var mr,br={create:gr,update:gr},xr="__r",_r="__c";function wr(t,e,n){var r=mr;return function o(){var i=e.apply(null,arguments);null!==i&&jr(t,o,n,r)}}var Or=Gt&&!(tt&&Number(tt[1])<=53);function Sr(t,e,n,r){if(Or){var o=sn,i=e;e=i._wrapper=function(t){if(t.target===t.currentTarget||t.timeStamp>=o||t.timeStamp<=0||t.target.ownerDocument!==document)return i.apply(this,arguments)}}mr.addEventListener(t,e,nt?{capture:n,passive:r}:n)}function jr(t,e,n,r){(r||mr).removeEventListener(t,e._wrapper||e,n)}function kr(t,e){if(!o(t.data.on)||!o(e.data.on)){var n=e.data.on||{},r=t.data.on||{};mr=e.elm,function(t){if(i(t[xr])){var e=Y?"change":"input";t[e]=[].concat(t[xr],t[e]||[]),delete t[xr]}i(t[_r])&&(t.change=[].concat(t[_r],t.change||[]),delete t[_r])}(n),ae(n,r,Sr,jr,wr,e.context),mr=void 0}}var Cr,Er={create:kr,update:kr};function Tr(t,e){if(!o(t.data.domProps)||!o(e.data.domProps)){var n,r,a=e.elm,u=t.data.domProps||{},c=e.data.domProps||{};for(n in i(c.__ob__)&&(c=e.data.domProps=T({},c)),u)n in c||(a[n]="");for(n in c){if(r=c[n],"textContent"===n||"innerHTML"===n){if(e.children&&(e.children.length=0),r===u[n])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===n&&"PROGRESS"!==a.tagName){a._value=r;var s=o(r)?"":String(r);Ar(a,s)&&(a.value=s)}else if("innerHTML"===n&&Xn(a.tagName)&&o(a.innerHTML)){(Cr=Cr||document.createElement("div")).innerHTML=""+r+"";for(var f=Cr.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;f.firstChild;)a.appendChild(f.firstChild)}else if(r!==u[n])try{a[n]=r}catch(t){}}}}function Ar(t,e){return!t.composing&&("OPTION"===t.tagName||function(t,e){var n=!0;try{n=document.activeElement!==t}catch(t){}return n&&t.value!==e}(t,e)||function(t,e){var n=t.value,r=t._vModifiers;if(i(r)){if(r.number)return h(n)!==h(e);if(r.trim)return n.trim()!==e.trim()}return n!==e}(t,e))}var Pr={create:Tr,update:Tr},$r=_((function(t){var e={},n=/:(.+)/;return t.split(/;(?![^(]*\))/g).forEach((function(t){if(t){var r=t.split(n);r.length>1&&(e[r[0].trim()]=r[1].trim())}})),e}));function Mr(t){var e=Ir(t.style);return t.staticStyle?T(t.staticStyle,e):e}function Ir(t){return Array.isArray(t)?A(t):"string"==typeof t?$r(t):t}var Lr,Fr=/^--/,Nr=/\s*!important$/,Dr=function(t,e,n){if(Fr.test(e))t.style.setProperty(e,n);else if(Nr.test(n))t.style.setProperty(k(e),n.replace(Nr,""),"important");else{var r=Ur(e);if(Array.isArray(n))for(var o=0,i=n.length;o-1?e.split(qr).forEach((function(e){return t.classList.add(e)})):t.classList.add(e);else{var n=" "+(t.getAttribute("class")||"")+" ";n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function Hr(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(qr).forEach((function(e){return t.classList.remove(e)})):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{for(var n=" "+(t.getAttribute("class")||"")+" ",r=" "+e+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?t.setAttribute("class",n):t.removeAttribute("class")}}function Wr(t){if(t){if("object"==typeof t){var e={};return!1!==t.css&&T(e,Gr(t.name||"v")),T(e,t),e}return"string"==typeof t?Gr(t):void 0}}var Gr=_((function(t){return{enterClass:t+"-enter",enterToClass:t+"-enter-to",enterActiveClass:t+"-enter-active",leaveClass:t+"-leave",leaveToClass:t+"-leave-to",leaveActiveClass:t+"-leave-active"}})),Kr=W&&!J,Xr="transition",Yr="animation",Jr="transition",Qr="transitionend",Zr="animation",to="animationend";Kr&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(Jr="WebkitTransition",Qr="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Zr="WebkitAnimation",to="webkitAnimationEnd"));var eo=W?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function no(t){eo((function(){eo(t)}))}function ro(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),Vr(t,e))}function oo(t,e){t._transitionClasses&&m(t._transitionClasses,e),Hr(t,e)}function io(t,e,n){var r=uo(t,e),o=r.type,i=r.timeout,a=r.propCount;if(!o)return n();var u=o===Xr?Qr:to,c=0,s=function(){t.removeEventListener(u,f),n()},f=function(e){e.target===t&&++c>=a&&s()};setTimeout((function(){c0&&(n=Xr,f=a,l=i.length):e===Yr?s>0&&(n=Yr,f=s,l=c.length):l=(n=(f=Math.max(a,s))>0?a>s?Xr:Yr:null)?n===Xr?i.length:c.length:0,{type:n,timeout:f,propCount:l,hasTransform:n===Xr&&ao.test(r[Jr+"Property"])}}function co(t,e){for(;t.length1}function ho(t,e){!0!==e.data.show&&fo(e)}var yo=function(t){var e,n,r={},c=t.modules,s=t.nodeOps;for(e=0;ed?b(t,o(n[g+1])?null:n[g+1].elm,n,v,g,r):v>g&&_(0,e,p,d)}(p,y,g,n,f):i(g)?(i(t.text)&&s.setTextContent(p,""),b(p,null,g,0,g.length-1,n)):i(y)?_(0,y,0,y.length-1):i(t.text)&&s.setTextContent(p,""):t.text!==e.text&&s.setTextContent(p,e.text),i(d)&&i(v=d.hook)&&i(v=v.postpatch)&&v(t,e)}}}function j(t,e,n){if(a(n)&&i(t.parent))t.parent.data.pendingInsert=e;else for(var r=0;r-1,a.selected!==i&&(a.selected=i);else if(I(_o(a),r))return void(t.selectedIndex!==u&&(t.selectedIndex=u));o||(t.selectedIndex=-1)}}function xo(t,e){return e.every((function(e){return!I(e,t)}))}function _o(t){return"_value"in t?t._value:t.value}function wo(t){t.target.composing=!0}function Oo(t){t.target.composing&&(t.target.composing=!1,So(t.target,"input"))}function So(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function jo(t){return!t.componentInstance||t.data&&t.data.transition?t:jo(t.componentInstance._vnode)}var ko={model:go,show:{bind:function(t,e,n){var r=e.value,o=(n=jo(n)).data&&n.data.transition,i=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;r&&o?(n.data.show=!0,fo(n,(function(){t.style.display=i}))):t.style.display=r?i:"none"},update:function(t,e,n){var r=e.value;!r!=!e.oldValue&&((n=jo(n)).data&&n.data.transition?(n.data.show=!0,r?fo(n,(function(){t.style.display=t.__vOriginalDisplay})):lo(n,(function(){t.style.display="none"}))):t.style.display=r?t.__vOriginalDisplay:"none")},unbind:function(t,e,n,r,o){o||(t.style.display=t.__vOriginalDisplay)}}},Co={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function Eo(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?Eo(We(e.children)):t}function To(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var o=n._parentListeners;for(var i in o)e[O(i)]=o[i];return e}function Ao(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}var Po=function(t){return t.tag||He(t)},$o=function(t){return"show"===t.name},Mo={name:"transition",props:Co,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(Po)).length){0;var r=this.mode;0;var o=n[0];if(function(t){for(;t=t.parent;)if(t.data.transition)return!0}(this.$vnode))return o;var i=Eo(o);if(!i)return o;if(this._leaving)return Ao(t,o);var a="__transition-"+this._uid+"-";i.key=null==i.key?i.isComment?a+"comment":a+i.tag:u(i.key)?0===String(i.key).indexOf(a)?i.key:a+i.key:i.key;var c=(i.data||(i.data={})).transition=To(this),s=this._vnode,f=Eo(s);if(i.data.directives&&i.data.directives.some($o)&&(i.data.show=!0),f&&f.data&&!function(t,e){return e.key===t.key&&e.tag===t.tag}(i,f)&&!He(f)&&(!f.componentInstance||!f.componentInstance._vnode.isComment)){var l=f.data.transition=T({},c);if("out-in"===r)return this._leaving=!0,ue(l,"afterLeave",(function(){e._leaving=!1,e.$forceUpdate()})),Ao(t,o);if("in-out"===r){if(He(i))return s;var p,v=function(){p()};ue(c,"afterEnter",v),ue(c,"enterCancelled",v),ue(l,"delayLeave",(function(t){p=t}))}}return o}}},Io=T({tag:String,moveClass:String},Co);function Lo(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function Fo(t){t.data.newPos=t.elm.getBoundingClientRect()}function No(t){var e=t.data.pos,n=t.data.newPos,r=e.left-n.left,o=e.top-n.top;if(r||o){t.data.moved=!0;var i=t.elm.style;i.transform=i.WebkitTransform="translate("+r+"px,"+o+"px)",i.transitionDuration="0s"}}delete Io.mode;var Do={Transition:Mo,TransitionGroup:{props:Io,beforeMount:function(){var t=this,e=this._update;this._update=function(n,r){var o=Qe(t);t.__patch__(t._vnode,t.kept,!1,!0),t._vnode=t.kept,o(),e.call(t,n,r)}},render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,o=this.$slots.default||[],i=this.children=[],a=To(this),u=0;u-1?Jn[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:Jn[t]=/HTMLUnknownElement/.test(e.toString())},T(jn.options.directives,ko),T(jn.options.components,Do),jn.prototype.__patch__=W?yo:P,jn.prototype.$mount=function(t,e){return function(t,e,n){var r;return t.$el=e,t.$options.render||(t.$options.render=gt),en(t,"beforeMount"),r=function(){t._update(t._render(),n)},new dn(t,r,P,{before:function(){t._isMounted&&!t._isDestroyed&&en(t,"beforeUpdate")}},!0),n=!1,null==t.$vnode&&(t._isMounted=!0,en(t,"mounted")),t}(this,t=t&&W?function(t){if("string"==typeof t){var e=document.querySelector(t);return e||document.createElement("div")}return t}(t):void 0,e)},W&&setTimeout((function(){U.devtools&&it&&it.emit("init",jn)}),0),e.default=jn}.call(this,n(10),n(264).setImmediate)},function(t,e,n){var r=n(69),o=n(70);t.exports=function(t){return r(o(t))}},function(t,e,n){var r=n(154),o=n(155);(t.exports=function(t,e){return o[t]||(o[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.3.4",mode:r?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(t,e,n){var r=n(6),o=n(26);t.exports=function(t,e){try{o(r,t,e)}catch(n){r[t]=e}return e}},function(t,e,n){var r=n(92),o=n(94);t.exports=function(t){return r(o(t))}},function(t,e,n){var r=n(4),o=n(28);t.exports=function(t,e){try{o(r,t,e)}catch(n){r[t]=e}return e}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,n){var r=n(5);t.exports=function(t,e){if(!r(t))return t;var n,o;if(e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;if("function"==typeof(n=t.valueOf)&&!r(o=n.call(t)))return o;if(!e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,e,n){var r=n(2),o=n(8);t.exports=function(t,e){try{o(r,t,e)}catch(n){r[t]=e}return e}},function(t,e){t.exports=!1},function(t,e,n){var r=n(32),o=n(51),i=r("keys");t.exports=function(t){return i[t]||(i[t]=o(t))}},function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++n+r).toString(36)}},function(t,e,n){var r=n(228),o=n(2),i=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,e){return arguments.length<2?i(r[t])||i(o[t]):r[t]&&r[t][e]||o[t]&&o[t][e]}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(t,e,n){var r=n(46);t.exports=function(t){return Object(r(t))}},function(t,e,n){var r=n(236);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 0:return function(){return t.call(e)};case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){var r=n(13),o=n(240),i=n(54),a=n(34),u=n(242),c=n(107),s=n(50)("IE_PROTO"),f=function(){},l=function(){var t,e=c("iframe"),n=i.length;for(e.style.display="none",u.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write("\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TransferOwnershipDialogue.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TransferOwnershipDialogue.vue?vue&type=script&lang=js&\"","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PersonalSettings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PersonalSettings.vue?vue&type=script&lang=js&\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./TransferOwnershipDialogue.vue?vue&type=template&id=9f755ee6&scoped=true&\"\nimport script from \"./TransferOwnershipDialogue.vue?vue&type=script&lang=js&\"\nexport * from \"./TransferOwnershipDialogue.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9f755ee6\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h3',[_vm._v(_vm._s(_vm.t('files', 'Transfer ownership'))+\" \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files', 'Here you can select a directory that is transferred to another user. It may take some time until the process is done.'))+\"\\n\\t\")]),_vm._v(\" \"),_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.submit($event)}}},[_c('ol',[_c('li',[_c('div',{staticClass:\"step-header\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'Directory to move'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.directory === undefined)?_c('span',[_vm._v(_vm._s(_vm.t('files', 'No directory selected')))]):_c('span',[_vm._v(_vm._s(_vm.directory))]),_vm._v(\" \"),_c('button',{staticClass:\"primary\",on:{\"click\":function($event){$event.preventDefault();return _vm.start($event)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'Select'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('span',{staticClass:\"error\"},[_vm._v(_vm._s(_vm.directoryPickerError))])]),_vm._v(\" \"),_c('li',[_c('div',{staticClass:\"step-header\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'Target user'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.uid),expression:\"uid\"}],attrs:{\"id\":\"files-transfer-user\",\"type\":\"text\"},domProps:{\"value\":(_vm.uid)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.uid=$event.target.value}}})]),_vm._v(\" \"),_c('li',[_c('input',{staticClass:\"primary\",attrs:{\"type\":\"submit\",\"disabled\":!_vm.canSubmit},domProps:{\"value\":_vm.t('files', 'Submit')}}),_vm._v(\" \"),_c('span',{staticClass:\"error\"},[_vm._v(_vm._s(_vm.submitError))])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./PersonalSettings.vue?vue&type=template&id=38c0ac84&\"\nimport script from \"./PersonalSettings.vue?vue&type=script&lang=js&\"\nexport * from \"./PersonalSettings.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"section\",attrs:{\"id\":\"files-personal-settings\"}},[_c('h2',[_vm._v(_vm._s(_vm.t('files', 'Files')))]),_vm._v(\" \"),_c('TransferOwnershipDialogue')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// global t\n\n/*\n * @copyright 2019 Christoph Wurst \n *\n * @author 2019 Christoph Wurst \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n\nimport Vue from 'vue'\nimport { getRequestToken } from '@nextcloud/auth'\nimport { generateFilePath } from '@nextcloud/router'\n\nimport PersonalSettings from './components/PersonalSettings'\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(getRequestToken())\n// eslint-disable-next-line camelcase\n__webpack_public_path__ = generateFilePath('files', '', 'js/')\n\nVue.prototype.t = t\n\nconst View = Vue.extend(PersonalSettings)\nnew View().$mount('#files-personal-settings')\n"],"sourceRoot":""} \ No newline at end of file diff --git a/apps/files/js/dist/sidebar.js b/apps/files/js/dist/sidebar.js index c7e6e08b50e..a120c6164ed 100644 --- a/apps/files/js/dist/sidebar.js +++ b/apps/files/js/dist/sidebar.js @@ -1,10 +1,17 @@ -!function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},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 r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},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=241)}([function(e,t,n){var r=n(2),i=n(30),o=n(47),a=n(205),s=r.Symbol,c=i("wks");e.exports=function(e){return c[e]||(c[e]=a&&s[e]||(a?s:o)("Symbol."+e))}},function(e,t,n){"use strict";var r=n(71),i=n(144),o=Object.prototype.toString;function a(e){return"[object Array]"===o.call(e)}function s(e){return null!==e&&"object"==typeof e}function c(e){return"[object Function]"===o.call(e)}function u(e,t){if(null!=e)if("object"!=typeof e&&(e=[e]),a(e))for(var n=0,r=e.length;n0?i(r(e),9007199254740991):0}},,,,function(e,t,n){"use strict";n.r(t),function(e,n){ /*! * Vue.js v2.6.10 * (c) 2014-2019 Evan You * Released under the MIT License. */ -var r=Object.freeze({});function i(e){return null==e}function o(e){return null!=e}function a(e){return!0===e}function s(e){return"string"==typeof e||"number"==typeof e||"symbol"==typeof e||"boolean"==typeof e}function c(e){return null!==e&&"object"==typeof e}var u=Object.prototype.toString;function l(e){return"[object Object]"===u.call(e)}function f(e){return"[object RegExp]"===u.call(e)}function p(e){var t=parseFloat(String(e));return t>=0&&Math.floor(t)===t&&isFinite(e)}function d(e){return o(e)&&"function"==typeof e.then&&"function"==typeof e.catch}function A(e){return null==e?"":Array.isArray(e)||l(e)&&e.toString===u?JSON.stringify(e,null,2):String(e)}function h(e){var t=parseFloat(e);return isNaN(t)?e:t}function v(e,t){for(var n=Object.create(null),r=e.split(","),i=0;i-1)return e.splice(n,1)}}var y=Object.prototype.hasOwnProperty;function b(e,t){return y.call(e,t)}function w(e){var t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}}var x=/-(\w)/g,_=w((function(e){return e.replace(x,(function(e,t){return t?t.toUpperCase():""}))})),C=w((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})),T=/\B([A-Z])/g,E=w((function(e){return e.replace(T,"-$1").toLowerCase()}));var O=Function.prototype.bind?function(e,t){return e.bind(t)}:function(e,t){function n(n){var r=arguments.length;return r?r>1?e.apply(t,arguments):e.call(t,n):e.call(t)}return n._length=e.length,n};function S(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n+t];return r}function k(e,t){for(var n in t)e[n]=t[n];return e}function I(e){for(var t={},n=0;n0,K=V&&V.indexOf("edge/")>0,J=(V&&V.indexOf("android"),V&&/iphone|ipad|ipod|ios/.test(V)||"ios"===q),ee=(V&&/chrome\/\d+/.test(V),V&&/phantomjs/.test(V),V&&V.match(/firefox\/(\d+)/)),te={}.watch,ne=!1;if(Y)try{var re={};Object.defineProperty(re,"passive",{get:function(){ne=!0}}),window.addEventListener("test-passive",null,re)}catch(e){}var ie=function(){return void 0===z&&(z=!Y&&!W&&void 0!==e&&(e.process&&"server"===e.process.env.VUE_ENV)),z},oe=Y&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function ae(e){return"function"==typeof e&&/native code/.test(e.toString())}var se,ce="undefined"!=typeof Symbol&&ae(Symbol)&&"undefined"!=typeof Reflect&&ae(Reflect.ownKeys);se="undefined"!=typeof Set&&ae(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var ue=M,le=0,fe=function(){this.id=le++,this.subs=[]};fe.prototype.addSub=function(e){this.subs.push(e)},fe.prototype.removeSub=function(e){m(this.subs,e)},fe.prototype.depend=function(){fe.target&&fe.target.addDep(this)},fe.prototype.notify=function(){var e=this.subs.slice();for(var t=0,n=e.length;t-1)if(o&&!b(i,"default"))a=!1;else if(""===a||a===E(e)){var c=He(String,i.type);(c<0||s0&&(lt((u=e(u,(n||"")+"_"+c))[0])&<(f)&&(r[l]=me(f.text+u[0].text),u.shift()),r.push.apply(r,u)):s(u)?lt(f)?r[l]=me(f.text+u):""!==u&&r.push(me(u)):lt(u)&<(f)?r[l]=me(f.text+u.text):(a(t._isVList)&&o(u.tag)&&i(u.key)&&o(n)&&(u.key="__vlist"+n+"_"+c+"__"),r.push(u)));return r}(e):void 0}function lt(e){return o(e)&&o(e.text)&&!1===e.isComment}function ft(e,t){if(e){for(var n=Object.create(null),r=ce?Reflect.ownKeys(e):Object.keys(e),i=0;i0,a=e?!!e.$stable:!o,s=e&&e.$key;if(e){if(e._normalized)return e._normalized;if(a&&n&&n!==r&&s===n.$key&&!o&&!n.$hasNormal)return n;for(var c in i={},e)e[c]&&"$"!==c[0]&&(i[c]=ht(t,c,e[c]))}else i={};for(var u in t)u in i||(i[u]=vt(t,u));return e&&Object.isExtensible(e)&&(e._normalized=i),Q(i,"$stable",a),Q(i,"$key",s),Q(i,"$hasNormal",o),i}function ht(e,t,n){var r=function(){var e=arguments.length?n.apply(null,arguments):n({});return(e=e&&"object"==typeof e&&!Array.isArray(e)?[e]:ut(e))&&(0===e.length||1===e.length&&e[0].isComment)?void 0:e};return n.proxy&&Object.defineProperty(e,t,{get:r,enumerable:!0,configurable:!0}),r}function vt(e,t){return function(){return e[t]}}function gt(e,t){var n,r,i,a,s;if(Array.isArray(e)||"string"==typeof e)for(n=new Array(e.length),r=0,i=e.length;rdocument.createEvent("Event").timeStamp&&(ln=function(){return fn.now()})}function pn(){var e,t;for(un=ln(),sn=!0,nn.sort((function(e,t){return e.id-t.id})),cn=0;cncn&&nn[n].id>e.id;)n--;nn.splice(n+1,0,e)}else nn.push(e);an||(an=!0,tt(pn))}}(this)},An.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||c(e)||this.deep){var t=this.value;if(this.value=e,this.user)try{this.cb.call(this.vm,e,t)}catch(e){Qe(e,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,e,t)}}},An.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},An.prototype.depend=function(){for(var e=this.deps.length;e--;)this.deps[e].depend()},An.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||m(this.vm._watchers,this);for(var e=this.deps.length;e--;)this.deps[e].removeSub(this);this.active=!1}};var hn={enumerable:!0,configurable:!0,get:M,set:M};function vn(e,t,n){hn.get=function(){return this[t][n]},hn.set=function(e){this[t][n]=e},Object.defineProperty(e,n,hn)}function gn(e){e._watchers=[];var t=e.$options;t.props&&function(e,t){var n=e.$options.propsData||{},r=e._props={},i=e.$options._propKeys=[];e.$parent&&Ce(!1);var o=function(o){i.push(o);var a=$e(o,t,n,e);Oe(r,o,a),o in e||vn(e,"_props",o)};for(var a in t)o(a);Ce(!0)}(e,t.props),t.methods&&function(e,t){e.$options.props;for(var n in t)e[n]="function"!=typeof t[n]?M:O(t[n],e)}(e,t.methods),t.data?function(e){var t=e.$options.data;l(t=e._data="function"==typeof t?function(e,t){de();try{return e.call(t,t)}catch(e){return Qe(e,t,"data()"),{}}finally{Ae()}}(t,e):t||{})||(t={});var n=Object.keys(t),r=e.$options.props,i=(e.$options.methods,n.length);for(;i--;){var o=n[i];0,r&&b(r,o)||(a=void 0,36!==(a=(o+"").charCodeAt(0))&&95!==a&&vn(e,"_data",o))}var a;Ee(t,!0)}(e):Ee(e._data={},!0),t.computed&&function(e,t){var n=e._computedWatchers=Object.create(null),r=ie();for(var i in t){var o=t[i],a="function"==typeof o?o:o.get;0,r||(n[i]=new An(e,a||M,M,mn)),i in e||yn(e,i,o)}}(e,t.computed),t.watch&&t.watch!==te&&function(e,t){for(var n in t){var r=t[n];if(Array.isArray(r))for(var i=0;i-1:"string"==typeof e?e.split(",").indexOf(t)>-1:!!f(e)&&e.test(t)}function kn(e,t){var n=e.cache,r=e.keys,i=e._vnode;for(var o in n){var a=n[o];if(a){var s=On(a.componentOptions);s&&!t(s)&&In(n,o,r,i)}}}function In(e,t,n,r){var i=e[t];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),e[t]=null,m(n,t)}!function(e){e.prototype._init=function(e){var t=this;t._uid=_n++,t._isVue=!0,e&&e._isComponent?function(e,t){var n=e.$options=Object.create(e.constructor.options),r=t._parentVnode;n.parent=t.parent,n._parentVnode=r;var i=r.componentOptions;n.propsData=i.propsData,n._parentListeners=i.listeners,n._renderChildren=i.children,n._componentTag=i.tag,t.render&&(n.render=t.render,n.staticRenderFns=t.staticRenderFns)}(t,e):t.$options=Le(Cn(t.constructor),e||{},t),t._renderProxy=t,t._self=t,function(e){var t=e.$options,n=t.parent;if(n&&!t.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(e)}e.$parent=n,e.$root=n?n.$root:e,e.$children=[],e.$refs={},e._watcher=null,e._inactive=null,e._directInactive=!1,e._isMounted=!1,e._isDestroyed=!1,e._isBeingDestroyed=!1}(t),function(e){e._events=Object.create(null),e._hasHookEvent=!1;var t=e.$options._parentListeners;t&&Zt(e,t)}(t),function(e){e._vnode=null,e._staticTrees=null;var t=e.$options,n=e.$vnode=t._parentVnode,i=n&&n.context;e.$slots=pt(t._renderChildren,i),e.$scopedSlots=r,e._c=function(t,n,r,i){return Ht(e,t,n,r,i,!1)},e.$createElement=function(t,n,r,i){return Ht(e,t,n,r,i,!0)};var o=n&&n.data;Oe(e,"$attrs",o&&o.attrs||r,null,!0),Oe(e,"$listeners",t._parentListeners||r,null,!0)}(t),tn(t,"beforeCreate"),function(e){var t=ft(e.$options.inject,e);t&&(Ce(!1),Object.keys(t).forEach((function(n){Oe(e,n,t[n])})),Ce(!0))}(t),gn(t),function(e){var t=e.$options.provide;t&&(e._provided="function"==typeof t?t.call(e):t)}(t),tn(t,"created"),t.$options.el&&t.$mount(t.$options.el)}}(Tn),function(e){var t={get:function(){return this._data}},n={get:function(){return this._props}};Object.defineProperty(e.prototype,"$data",t),Object.defineProperty(e.prototype,"$props",n),e.prototype.$set=Se,e.prototype.$delete=ke,e.prototype.$watch=function(e,t,n){if(l(t))return xn(this,e,t,n);(n=n||{}).user=!0;var r=new An(this,e,t,n);if(n.immediate)try{t.call(this,r.value)}catch(e){Qe(e,this,'callback for immediate watcher "'+r.expression+'"')}return function(){r.teardown()}}}(Tn),function(e){var t=/^hook:/;e.prototype.$on=function(e,n){var r=this;if(Array.isArray(e))for(var i=0,o=e.length;i1?S(n):n;for(var r=S(arguments,1),i='event handler for "'+e+'"',o=0,a=n.length;oparseInt(this.max)&&In(a,s[0],s,this._vnode)),t.data.keepAlive=!0}return t||e&&e[0]}}};!function(e){var t={get:function(){return R}};Object.defineProperty(e,"config",t),e.util={warn:ue,extend:k,mergeOptions:Le,defineReactive:Oe},e.set=Se,e.delete=ke,e.nextTick=tt,e.observable=function(e){return Ee(e),e},e.options=Object.create(null),$.forEach((function(t){e.options[t+"s"]=Object.create(null)})),e.options._base=e,k(e.options.components,Bn),function(e){e.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(t.indexOf(e)>-1)return this;var n=S(arguments,1);return n.unshift(this),"function"==typeof e.install?e.install.apply(e,n):"function"==typeof e&&e.apply(null,n),t.push(e),this}}(e),function(e){e.mixin=function(e){return this.options=Le(this.options,e),this}}(e),En(e),function(e){$.forEach((function(t){e[t]=function(e,n){return n?("component"===t&&l(n)&&(n.name=n.name||e,n=this.options._base.extend(n)),"directive"===t&&"function"==typeof n&&(n={bind:n,update:n}),this.options[t+"s"][e]=n,n):this.options[t+"s"][e]}}))}(e)}(Tn),Object.defineProperty(Tn.prototype,"$isServer",{get:ie}),Object.defineProperty(Tn.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Tn,"FunctionalRenderContext",{value:Bt}),Tn.version="2.6.10";var Nn=v("style,class"),jn=v("input,textarea,option,select,progress"),Dn=v("contenteditable,draggable,spellcheck"),Ln=v("events,caret,typing,plaintext-only"),Pn=function(e,t){return Qn(t)||"false"===t?"false":"contenteditable"===e&&Ln(t)?t:"true"},$n=v("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),Fn="http://www.w3.org/1999/xlink",Rn=function(e){return":"===e.charAt(5)&&"xlink"===e.slice(0,5)},Hn=function(e){return Rn(e)?e.slice(6,e.length):""},Qn=function(e){return null==e||!1===e};function Un(e){for(var t=e.data,n=e,r=e;o(r.componentInstance);)(r=r.componentInstance._vnode)&&r.data&&(t=zn(r.data,t));for(;o(n=n.parent);)n&&n.data&&(t=zn(t,n.data));return function(e,t){if(o(e)||o(t))return Gn(e,Yn(t));return""}(t.staticClass,t.class)}function zn(e,t){return{staticClass:Gn(e.staticClass,t.staticClass),class:o(e.class)?[e.class,t.class]:t.class}}function Gn(e,t){return e?t?e+" "+t:e:t||""}function Yn(e){return Array.isArray(e)?function(e){for(var t,n="",r=0,i=e.length;r-1?hr(e,t,n):$n(t)?Qn(n)?e.removeAttribute(t):(n="allowfullscreen"===t&&"EMBED"===e.tagName?"true":t,e.setAttribute(t,n)):Dn(t)?e.setAttribute(t,Pn(t,n)):Rn(t)?Qn(n)?e.removeAttributeNS(Fn,Hn(t)):e.setAttributeNS(Fn,t,n):hr(e,t,n)}function hr(e,t,n){if(Qn(n))e.removeAttribute(t);else{if(Z&&!X&&"TEXTAREA"===e.tagName&&"placeholder"===t&&""!==n&&!e.__ieph){var r=function(t){t.stopImmediatePropagation(),e.removeEventListener("input",r)};e.addEventListener("input",r),e.__ieph=!0}e.setAttribute(t,n)}}var vr={create:dr,update:dr};function gr(e,t){var n=t.elm,r=t.data,a=e.data;if(!(i(r.staticClass)&&i(r.class)&&(i(a)||i(a.staticClass)&&i(a.class)))){var s=Un(t),c=n._transitionClasses;o(c)&&(s=Gn(s,Yn(c))),s!==n._prevClass&&(n.setAttribute("class",s),n._prevClass=s)}}var mr,yr={create:gr,update:gr},br="__r",wr="__c";function xr(e,t,n){var r=mr;return function i(){var o=t.apply(null,arguments);null!==o&&Tr(e,i,n,r)}}var _r=We&&!(ee&&Number(ee[1])<=53);function Cr(e,t,n,r){if(_r){var i=un,o=t;t=o._wrapper=function(e){if(e.target===e.currentTarget||e.timeStamp>=i||e.timeStamp<=0||e.target.ownerDocument!==document)return o.apply(this,arguments)}}mr.addEventListener(e,t,ne?{capture:n,passive:r}:n)}function Tr(e,t,n,r){(r||mr).removeEventListener(e,t._wrapper||t,n)}function Er(e,t){if(!i(e.data.on)||!i(t.data.on)){var n=t.data.on||{},r=e.data.on||{};mr=t.elm,function(e){if(o(e[br])){var t=Z?"change":"input";e[t]=[].concat(e[br],e[t]||[]),delete e[br]}o(e[wr])&&(e.change=[].concat(e[wr],e.change||[]),delete e[wr])}(n),at(n,r,Cr,Tr,xr,t.context),mr=void 0}}var Or,Sr={create:Er,update:Er};function kr(e,t){if(!i(e.data.domProps)||!i(t.data.domProps)){var n,r,a=t.elm,s=e.data.domProps||{},c=t.data.domProps||{};for(n in o(c.__ob__)&&(c=t.data.domProps=k({},c)),s)n in c||(a[n]="");for(n in c){if(r=c[n],"textContent"===n||"innerHTML"===n){if(t.children&&(t.children.length=0),r===s[n])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===n&&"PROGRESS"!==a.tagName){a._value=r;var u=i(r)?"":String(r);Ir(a,u)&&(a.value=u)}else if("innerHTML"===n&&Vn(a.tagName)&&i(a.innerHTML)){(Or=Or||document.createElement("div")).innerHTML=""+r+"";for(var l=Or.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;l.firstChild;)a.appendChild(l.firstChild)}else if(r!==s[n])try{a[n]=r}catch(e){}}}}function Ir(e,t){return!e.composing&&("OPTION"===e.tagName||function(e,t){var n=!0;try{n=document.activeElement!==e}catch(e){}return n&&e.value!==t}(e,t)||function(e,t){var n=e.value,r=e._vModifiers;if(o(r)){if(r.number)return h(n)!==h(t);if(r.trim)return n.trim()!==t.trim()}return n!==t}(e,t))}var Mr={create:kr,update:kr},Br=w((function(e){var t={},n=/:(.+)/;return e.split(/;(?![^(]*\))/g).forEach((function(e){if(e){var r=e.split(n);r.length>1&&(t[r[0].trim()]=r[1].trim())}})),t}));function Nr(e){var t=jr(e.style);return e.staticStyle?k(e.staticStyle,t):t}function jr(e){return Array.isArray(e)?I(e):"string"==typeof e?Br(e):e}var Dr,Lr=/^--/,Pr=/\s*!important$/,$r=function(e,t,n){if(Lr.test(t))e.style.setProperty(t,n);else if(Pr.test(n))e.style.setProperty(E(t),n.replace(Pr,""),"important");else{var r=Rr(t);if(Array.isArray(n))for(var i=0,o=n.length;i-1?t.split(Ur).forEach((function(t){return e.classList.add(t)})):e.classList.add(t);else{var n=" "+(e.getAttribute("class")||"")+" ";n.indexOf(" "+t+" ")<0&&e.setAttribute("class",(n+t).trim())}}function Gr(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(Ur).forEach((function(t){return e.classList.remove(t)})):e.classList.remove(t),e.classList.length||e.removeAttribute("class");else{for(var n=" "+(e.getAttribute("class")||"")+" ",r=" "+t+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?e.setAttribute("class",n):e.removeAttribute("class")}}function Yr(e){if(e){if("object"==typeof e){var t={};return!1!==e.css&&k(t,Wr(e.name||"v")),k(t,e),t}return"string"==typeof e?Wr(e):void 0}}var Wr=w((function(e){return{enterClass:e+"-enter",enterToClass:e+"-enter-to",enterActiveClass:e+"-enter-active",leaveClass:e+"-leave",leaveToClass:e+"-leave-to",leaveActiveClass:e+"-leave-active"}})),qr=Y&&!X,Vr="transition",Zr="animation",Xr="transition",Kr="transitionend",Jr="animation",ei="animationend";qr&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(Xr="WebkitTransition",Kr="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Jr="WebkitAnimation",ei="webkitAnimationEnd"));var ti=Y?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function ni(e){ti((function(){ti(e)}))}function ri(e,t){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(t)<0&&(n.push(t),zr(e,t))}function ii(e,t){e._transitionClasses&&m(e._transitionClasses,t),Gr(e,t)}function oi(e,t,n){var r=si(e,t),i=r.type,o=r.timeout,a=r.propCount;if(!i)return n();var s=i===Vr?Kr:ei,c=0,u=function(){e.removeEventListener(s,l),n()},l=function(t){t.target===e&&++c>=a&&u()};setTimeout((function(){c0&&(n=Vr,l=a,f=o.length):t===Zr?u>0&&(n=Zr,l=u,f=c.length):f=(n=(l=Math.max(a,u))>0?a>u?Vr:Zr:null)?n===Vr?o.length:c.length:0,{type:n,timeout:l,propCount:f,hasTransform:n===Vr&&ai.test(r[Xr+"Property"])}}function ci(e,t){for(;e.length1}function Ai(e,t){!0!==t.data.show&&li(t)}var hi=function(e){var t,n,r={},c=e.modules,u=e.nodeOps;for(t=0;tA?y(e,i(n[g+1])?null:n[g+1].elm,n,d,g,r):d>g&&w(0,t,p,A)}(p,v,g,n,l):o(g)?(o(e.text)&&u.setTextContent(p,""),y(p,null,g,0,g.length-1,n)):o(v)?w(0,v,0,v.length-1):o(e.text)&&u.setTextContent(p,""):e.text!==t.text&&u.setTextContent(p,t.text),o(A)&&o(d=A.hook)&&o(d=d.postpatch)&&d(e,t)}}}function T(e,t,n){if(a(n)&&o(e.parent))e.parent.data.pendingInsert=t;else for(var r=0;r-1,a.selected!==o&&(a.selected=o);else if(j(bi(a),r))return void(e.selectedIndex!==s&&(e.selectedIndex=s));i||(e.selectedIndex=-1)}}function yi(e,t){return t.every((function(t){return!j(t,e)}))}function bi(e){return"_value"in e?e._value:e.value}function wi(e){e.target.composing=!0}function xi(e){e.target.composing&&(e.target.composing=!1,_i(e.target,"input"))}function _i(e,t){var n=document.createEvent("HTMLEvents");n.initEvent(t,!0,!0),e.dispatchEvent(n)}function Ci(e){return!e.componentInstance||e.data&&e.data.transition?e:Ci(e.componentInstance._vnode)}var Ti={model:vi,show:{bind:function(e,t,n){var r=t.value,i=(n=Ci(n)).data&&n.data.transition,o=e.__vOriginalDisplay="none"===e.style.display?"":e.style.display;r&&i?(n.data.show=!0,li(n,(function(){e.style.display=o}))):e.style.display=r?o:"none"},update:function(e,t,n){var r=t.value;!r!=!t.oldValue&&((n=Ci(n)).data&&n.data.transition?(n.data.show=!0,r?li(n,(function(){e.style.display=e.__vOriginalDisplay})):fi(n,(function(){e.style.display="none"}))):e.style.display=r?e.__vOriginalDisplay:"none")},unbind:function(e,t,n,r,i){i||(e.style.display=e.__vOriginalDisplay)}}},Ei={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function Oi(e){var t=e&&e.componentOptions;return t&&t.Ctor.options.abstract?Oi(Yt(t.children)):e}function Si(e){var t={},n=e.$options;for(var r in n.propsData)t[r]=e[r];var i=n._parentListeners;for(var o in i)t[_(o)]=i[o];return t}function ki(e,t){if(/\d-keep-alive$/.test(t.tag))return e("keep-alive",{props:t.componentOptions.propsData})}var Ii=function(e){return e.tag||Gt(e)},Mi=function(e){return"show"===e.name},Bi={name:"transition",props:Ei,abstract:!0,render:function(e){var t=this,n=this.$slots.default;if(n&&(n=n.filter(Ii)).length){0;var r=this.mode;0;var i=n[0];if(function(e){for(;e=e.parent;)if(e.data.transition)return!0}(this.$vnode))return i;var o=Oi(i);if(!o)return i;if(this._leaving)return ki(e,i);var a="__transition-"+this._uid+"-";o.key=null==o.key?o.isComment?a+"comment":a+o.tag:s(o.key)?0===String(o.key).indexOf(a)?o.key:a+o.key:o.key;var c=(o.data||(o.data={})).transition=Si(this),u=this._vnode,l=Oi(u);if(o.data.directives&&o.data.directives.some(Mi)&&(o.data.show=!0),l&&l.data&&!function(e,t){return t.key===e.key&&t.tag===e.tag}(o,l)&&!Gt(l)&&(!l.componentInstance||!l.componentInstance._vnode.isComment)){var f=l.data.transition=k({},c);if("out-in"===r)return this._leaving=!0,st(f,"afterLeave",(function(){t._leaving=!1,t.$forceUpdate()})),ki(e,i);if("in-out"===r){if(Gt(o))return u;var p,d=function(){p()};st(c,"afterEnter",d),st(c,"enterCancelled",d),st(f,"delayLeave",(function(e){p=e}))}}return i}}},Ni=k({tag:String,moveClass:String},Ei);function ji(e){e.elm._moveCb&&e.elm._moveCb(),e.elm._enterCb&&e.elm._enterCb()}function Di(e){e.data.newPos=e.elm.getBoundingClientRect()}function Li(e){var t=e.data.pos,n=e.data.newPos,r=t.left-n.left,i=t.top-n.top;if(r||i){e.data.moved=!0;var o=e.elm.style;o.transform=o.WebkitTransform="translate("+r+"px,"+i+"px)",o.transitionDuration="0s"}}delete Ni.mode;var Pi={Transition:Bi,TransitionGroup:{props:Ni,beforeMount:function(){var e=this,t=this._update;this._update=function(n,r){var i=Kt(e);e.__patch__(e._vnode,e.kept,!1,!0),e._vnode=e.kept,i(),t.call(e,n,r)}},render:function(e){for(var t=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,i=this.$slots.default||[],o=this.children=[],a=Si(this),s=0;s-1?Xn[e]=t.constructor===window.HTMLUnknownElement||t.constructor===window.HTMLElement:Xn[e]=/HTMLUnknownElement/.test(t.toString())},k(Tn.options.directives,Ti),k(Tn.options.components,Pi),Tn.prototype.__patch__=Y?hi:M,Tn.prototype.$mount=function(e,t){return function(e,t,n){var r;return e.$el=t,e.$options.render||(e.$options.render=ge),tn(e,"beforeMount"),r=function(){e._update(e._render(),n)},new An(e,r,M,{before:function(){e._isMounted&&!e._isDestroyed&&tn(e,"beforeUpdate")}},!0),n=!1,null==e.$vnode&&(e._isMounted=!0,tn(e,"mounted")),e}(this,e=e&&Y?function(e){if("string"==typeof e){var t=document.querySelector(e);return t||document.createElement("div")}return e}(e):void 0,t)},Y&&setTimeout((function(){R.devtools&&oe&&oe.emit("init",Tn)}),0),t.default=Tn}.call(this,n(12),n(235).setImmediate)},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){var r=n(14),i=n(63),o=n(58);e.exports=r?function(e,t,n){return i.f(e,t,o(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){var r=n(13);e.exports=!r((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(e,t,n){var r=n(25),i=n(87),o=n(81);e.exports=r?function(e,t,n){return i.f(e,t,o(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){var r=n(4),i=n(40),o=n(166),a=r["__core-js_shared__"]||i("__core-js_shared__",{});(e.exports=function(e,t){return a[e]||(a[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.2.1",mode:o?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){var r=n(95),i=n(42);e.exports=function(e){return r(i(e))}},function(e,t,n){var r=n(2),i=n(44),o=n(45),a=r["__core-js_shared__"]||i("__core-js_shared__",{});(e.exports=function(e,t){return a[e]||(a[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.2.1",mode:o?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(e,t,n){var r,i,o,a=n(196),s=n(2),c=n(5),u=n(8),l=n(7),f=n(46),p=n(32),d=s.WeakMap;if(a){var A=new d,h=A.get,v=A.has,g=A.set;r=function(e,t){return g.call(A,e,t),t},i=function(e){return h.call(A,e)||{}},o=function(e){return v.call(A,e)}}else{var m=f("state");p[m]=!0,r=function(e,t){return u(e,m,t),t},i=function(e){return l(e,m)?e[m]:{}},o=function(e){return l(e,m)}}e.exports={set:r,get:i,has:o,enforce:function(e){return o(e)?i(e):r(e,{})},getterFor:function(e){return function(t){var n;if(!c(t)||(n=i(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return n}}}},function(e,t){e.exports={}},function(e,t,n){var r=n(49),i=Math.min;e.exports=function(e){return e>0?i(r(e),9007199254740991):0}},function(e,t,n){var r=n(238);"string"==typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals);(0,n(242).default)("58ce6d22",r,!0,{})},function(e,t,n){"use strict";n(119),Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,i=(r=n(142))&&r.__esModule?r:{default:r},o=n(159);var a=i.default.create({headers:{requesttoken:(0,o.getRequestToken)()}}),s=Object.assign(a,{CancelToken:i.default.CancelToken,isCancel:i.default.isCancel});(0,o.onRequestTokenUpdate)((function(e){return a.defaults.headers.requesttoken=e}));var c=s;t.default=c},function(e,t,n){var r=n(59),i=n(60);e.exports=function(e){return r(i(e))}},function(e,t,n){var r=n(124),i=n(125);(e.exports=function(e,t){return i[e]||(i[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.3.4",mode:r?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(e,t,n){var r=n(6),i=n(24);e.exports=function(e,t){try{i(r,e,t)}catch(n){r[e]=t}return t}},function(e,t,n){var r=n(82),i=n(84);e.exports=function(e){return r(i(e))}},function(e,t,n){var r=n(4),i=n(26);e.exports=function(e,t){try{i(r,e,t)}catch(n){r[e]=t}return t}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t){e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){var r=n(5);e.exports=function(e,t){if(!r(e))return e;var n,i;if(t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;if("function"==typeof(n=e.valueOf)&&!r(i=n.call(e)))return i;if(!t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;throw TypeError("Can't convert object to primitive value")}},function(e,t,n){var r=n(2),i=n(8);e.exports=function(e,t){try{i(r,e,t)}catch(n){r[e]=t}return t}},function(e,t){e.exports=!1},function(e,t,n){var r=n(30),i=n(47),o=r("keys");e.exports=function(e){return o[e]||(o[e]=i(e))}},function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol("+String(void 0===e?"":e)+")_"+(++n+r).toString(36)}},function(e,t,n){var r=n(199),i=n(2),o=function(e){return"function"==typeof e?e:void 0};e.exports=function(e,t){return arguments.length<2?o(r[e])||o(i[e]):r[e]&&r[e][t]||i[e]&&i[e][t]}},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t){e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(e,t,n){var r=n(42);e.exports=function(e){return Object(r(e))}},function(e,t,n){var r=n(207);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 0:return function(){return e.call(t)};case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}}},function(e,t,n){var r=n(11),i=n(211),o=n(50),a=n(32),s=n(213),c=n(97),u=n(46)("IE_PROTO"),l=function(){},f=function(){var e,t=c("iframe"),n=o.length;for(t.style.display="none",s.appendChild(t),t.src=String("javascript:"),(e=t.contentWindow.document).open(),e.write("\n\n","import { render, staticRenderFns } from \"./LegacyView.vue?vue&type=template&id=df0d3456&\"\nimport script from \"./LegacyView.vue?vue&type=script&lang=js&\"\nexport * from \"./LegacyView.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div')}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=script&lang=js&\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./Sidebar.vue?vue&type=template&id=127bc16e&scoped=true&\"\nimport script from \"./Sidebar.vue?vue&type=script&lang=js&\"\nexport * from \"./Sidebar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Sidebar.vue?vue&type=style&index=0&id=127bc16e&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"127bc16e\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.file)?_c('AppSidebar',_vm._b({ref:\"sidebar\",on:_vm._d({\"close\":_vm.onClose,\"update:active\":_vm.setActiveTab,\"update:starred\":_vm.toggleStarred},[_vm.defaultActionListener,function($event){$event.stopPropagation();$event.preventDefault();return _vm.onDefaultAction($event)}]),scopedSlots:_vm._u([(_vm.fileInfo)?{key:\"primary-actions\",fn:function(){return _vm._l((_vm.views),function(view){return _c('LegacyView',{key:view.cid,attrs:{\"component\":view,\"file-info\":_vm.fileInfo}})})},proxy:true}:null],null,true)},'AppSidebar',_vm.appSidebar,false),[_vm._v(\" \"),(_vm.error)?_c('div',{staticClass:\"emptycontent\"},[_c('div',{staticClass:\"icon-error\"}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(_vm.error))])]):(_vm.fileInfo)?_vm._l((_vm.tabs),function(tab){return [(_vm.canDisplay(tab))?_c(_vm.tabComponent(tab).is,{key:tab.id,tag:\"component\",attrs:{\"component\":_vm.tabComponent(tab).component,\"name\":tab.name,\"dav-path\":_vm.davPath,\"file-info\":_vm.fileInfo}}):_vm._e()]}):_vm._e()],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nexport default class Sidebar {\n\n\t#state;\n\t#view;\n\n\tconstructor() {\n\t\t// init empty state\n\t\tthis.#state = {}\n\n\t\t// init default values\n\t\tthis.#state.tabs = []\n\t\tthis.#state.views = []\n\t\tthis.#state.file = ''\n\t\tthis.#state.activeTab = ''\n\t\tconsole.debug('OCA.Files.Sidebar initialized')\n\t}\n\n\t/**\n\t * Get the sidebar state\n\t *\n\t * @readonly\n\t * @memberof Sidebar\n\t * @returns {Object} the data state\n\t */\n\tget state() {\n\t\treturn this.#state\n\t}\n\n\t/**\n\t * Register a new tab view\n\t *\n\t * @memberof Sidebar\n\t * @param {Object} tab a new unregistered tab\n\t * @returns {Boolean}\n\t */\n\tregisterTab(tab) {\n\t\tconst hasDuplicate = this.#state.tabs.findIndex(check => check.name === tab.name) > -1\n\t\tif (!hasDuplicate) {\n\t\t\tthis.#state.tabs.push(tab)\n\t\t\treturn true\n\t\t}\n\t\tconsole.error(`An tab with the same name ${tab.name} already exists`, tab)\n\t\treturn false\n\t}\n\n\tregisterSecondaryView(view) {\n\t\tconst hasDuplicate = this.#state.views.findIndex(check => check.name === view.name) > -1\n\t\tif (!hasDuplicate) {\n\t\t\tthis.#state.views.push(view)\n\t\t\treturn true\n\t\t}\n\t\tconsole.error(`A similar view already exists`, view)\n\t\treturn false\n\t}\n\n\t/**\n\t * Open the sidebar for the given file\n\t *\n\t * @memberof Sidebar\n\t * @param {string} path the file path to load\n\t */\n\topen(path) {\n\t\tthis.#state.file = path\n\t}\n\n\t/**\n\t * Close the sidebar\n\t *\n\t * @memberof Sidebar\n\t */\n\tclose() {\n\t\tthis.#state.file = ''\n\t}\n\n\t/**\n\t * Return current opened file\n\t *\n\t * @memberof Sidebar\n\t * @returns {String} the current opened file\n\t */\n\tget file() {\n\t\treturn this.#state.file\n\t}\n\n\t/**\n\t * Set the current visible sidebar tab\n\t *\n\t * @memberof Sidebar\n\t * @param {string} id the tab unique id\n\t */\n\tsetActiveTab(id) {\n\t\tthis.#state.activeTab = id\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nexport default class Tab {\n\n\t#component;\n\t#legacy;\n\t#name;\n\n\t/**\n\t * Create a new tab instance\n\t *\n\t * @param {string} name the name of this tab\n\t * @param {Object} component the vue component\n\t * @param {boolean} [legacy] is this a legacy tab\n\t */\n\tconstructor(name, component, legacy) {\n\t\tthis.#name = name\n\t\tthis.#component = component\n\t\tthis.#legacy = legacy === true\n\n\t\tif (this.#legacy) {\n\t\t\tconsole.warn('Legacy tabs are deprecated! They will be removed in nextcloud 20.')\n\t\t}\n\n\t}\n\n\tget name() {\n\t\treturn this.#name\n\t}\n\n\tget component() {\n\t\treturn this.#component\n\t}\n\n\tget isLegacyTab() {\n\t\treturn this.#legacy === true\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport Vue from 'vue'\nimport SidebarView from './views/Sidebar.vue'\nimport Sidebar from './services/Sidebar'\nimport Tab from './models/Tab'\nimport VueClipboard from 'vue-clipboard2'\n\nVue.use(VueClipboard)\n\nVue.prototype.t = t\n\nwindow.addEventListener('DOMContentLoaded', () => {\n\t// Init Sidebar Service\n\tif (window.OCA && window.OCA.Files) {\n\t\tObject.assign(window.OCA.Files, { Sidebar: new Sidebar() })\n\t\tObject.assign(window.OCA.Files.Sidebar, { Tab })\n\t}\n\n\t// Make sure we have a proper layout\n\tif (document.getElementById('content')) {\n\n\t\t// Make sure we have a mountpoint\n\t\tif (!document.getElementById('app-sidebar')) {\n\t\t\tvar contentElement = document.getElementById('content')\n\t\t\tvar sidebarElement = document.createElement('div')\n\t\t\tsidebarElement.id = 'app-sidebar'\n\t\t\tcontentElement.appendChild(sidebarElement)\n\t\t}\n\t}\n\n\t// Init vue app\n\tconst AppSidebar = new Vue({\n\t\t// eslint-disable-next-line vue/match-component-file-name\n\t\tname: 'SidebarRoot',\n\t\trender: h => h(SidebarView)\n\t})\n\tAppSidebar.$mount('#app-sidebar')\n})\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\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 \n","import { render, staticRenderFns } from \"./LegacyTab.vue?vue&type=template&id=4ecfdde8&\"\nimport script from \"./LegacyTab.vue?vue&type=script&lang=js&\"\nexport * from \"./LegacyTab.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LegacyView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LegacyView.vue?vue&type=script&lang=js&\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./LegacyView.vue?vue&type=template&id=df0d3456&\"\nimport script from \"./LegacyView.vue?vue&type=script&lang=js&\"\nexport * from \"./LegacyView.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div')}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=script&lang=js&\"","\n\n\n\n\n","import { render, staticRenderFns } from \"./Sidebar.vue?vue&type=template&id=127bc16e&scoped=true&\"\nimport script from \"./Sidebar.vue?vue&type=script&lang=js&\"\nexport * from \"./Sidebar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Sidebar.vue?vue&type=style&index=0&id=127bc16e&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"127bc16e\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.file)?_c('AppSidebar',_vm._b({ref:\"sidebar\",on:_vm._d({\"close\":_vm.onClose,\"update:active\":_vm.setActiveTab,\"update:starred\":_vm.toggleStarred},[_vm.defaultActionListener,function($event){$event.stopPropagation();$event.preventDefault();return _vm.onDefaultAction($event)}]),scopedSlots:_vm._u([(_vm.fileInfo)?{key:\"primary-actions\",fn:function(){return _vm._l((_vm.views),function(view){return _c('LegacyView',{key:view.cid,attrs:{\"component\":view,\"file-info\":_vm.fileInfo}})})},proxy:true}:null],null,true)},'AppSidebar',_vm.appSidebar,false),[_vm._v(\" \"),(_vm.error)?_c('div',{staticClass:\"emptycontent\"},[_c('div',{staticClass:\"icon-error\"}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(_vm.error))])]):(_vm.fileInfo)?_vm._l((_vm.tabs),function(tab){return [(_vm.canDisplay(tab))?_c(_vm.tabComponent(tab).is,{key:tab.id,tag:\"component\",attrs:{\"component\":_vm.tabComponent(tab).component,\"name\":tab.name,\"dav-path\":_vm.davPath,\"file-info\":_vm.fileInfo}}):_vm._e()]}):_vm._e()],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nexport default class Sidebar {\n\n\t#state;\n\t#view;\n\n\tconstructor() {\n\t\t// init empty state\n\t\tthis.#state = {}\n\n\t\t// init default values\n\t\tthis.#state.tabs = []\n\t\tthis.#state.views = []\n\t\tthis.#state.file = ''\n\t\tthis.#state.activeTab = ''\n\t\tconsole.debug('OCA.Files.Sidebar initialized')\n\t}\n\n\t/**\n\t * Get the sidebar state\n\t *\n\t * @readonly\n\t * @memberof Sidebar\n\t * @returns {Object} the data state\n\t */\n\tget state() {\n\t\treturn this.#state\n\t}\n\n\t/**\n\t * Register a new tab view\n\t *\n\t * @memberof Sidebar\n\t * @param {Object} tab a new unregistered tab\n\t * @returns {Boolean}\n\t */\n\tregisterTab(tab) {\n\t\tconst hasDuplicate = this.#state.tabs.findIndex(check => check.name === tab.name) > -1\n\t\tif (!hasDuplicate) {\n\t\t\tthis.#state.tabs.push(tab)\n\t\t\treturn true\n\t\t}\n\t\tconsole.error(`An tab with the same name ${tab.name} already exists`, tab)\n\t\treturn false\n\t}\n\n\tregisterSecondaryView(view) {\n\t\tconst hasDuplicate = this.#state.views.findIndex(check => check.name === view.name) > -1\n\t\tif (!hasDuplicate) {\n\t\t\tthis.#state.views.push(view)\n\t\t\treturn true\n\t\t}\n\t\tconsole.error(`A similar view already exists`, view)\n\t\treturn false\n\t}\n\n\t/**\n\t * Open the sidebar for the given file\n\t *\n\t * @memberof Sidebar\n\t * @param {string} path the file path to load\n\t */\n\topen(path) {\n\t\tthis.#state.file = path\n\t}\n\n\t/**\n\t * Close the sidebar\n\t *\n\t * @memberof Sidebar\n\t */\n\tclose() {\n\t\tthis.#state.file = ''\n\t}\n\n\t/**\n\t * Return current opened file\n\t *\n\t * @memberof Sidebar\n\t * @returns {String} the current opened file\n\t */\n\tget file() {\n\t\treturn this.#state.file\n\t}\n\n\t/**\n\t * Set the current visible sidebar tab\n\t *\n\t * @memberof Sidebar\n\t * @param {string} id the tab unique id\n\t */\n\tsetActiveTab(id) {\n\t\tthis.#state.activeTab = id\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nexport default class Tab {\n\n\t#component;\n\t#legacy;\n\t#name;\n\n\t/**\n\t * Create a new tab instance\n\t *\n\t * @param {string} name the name of this tab\n\t * @param {Object} component the vue component\n\t * @param {boolean} [legacy] is this a legacy tab\n\t */\n\tconstructor(name, component, legacy) {\n\t\tthis.#name = name\n\t\tthis.#component = component\n\t\tthis.#legacy = legacy === true\n\n\t\tif (this.#legacy) {\n\t\t\tconsole.warn('Legacy tabs are deprecated! They will be removed in nextcloud 20.')\n\t\t}\n\n\t}\n\n\tget name() {\n\t\treturn this.#name\n\t}\n\n\tget component() {\n\t\treturn this.#component\n\t}\n\n\tget isLegacyTab() {\n\t\treturn this.#legacy === true\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport Vue from 'vue'\nimport SidebarView from './views/Sidebar.vue'\nimport Sidebar from './services/Sidebar'\nimport Tab from './models/Tab'\nimport VueClipboard from 'vue-clipboard2'\n\nVue.use(VueClipboard)\n\nVue.prototype.t = t\n\nwindow.addEventListener('DOMContentLoaded', () => {\n\t// Init Sidebar Service\n\tif (window.OCA && window.OCA.Files) {\n\t\tObject.assign(window.OCA.Files, { Sidebar: new Sidebar() })\n\t\tObject.assign(window.OCA.Files.Sidebar, { Tab })\n\t}\n\n\t// Make sure we have a proper layout\n\tif (document.getElementById('content')) {\n\n\t\t// Make sure we have a mountpoint\n\t\tif (!document.getElementById('app-sidebar')) {\n\t\t\tvar contentElement = document.getElementById('content')\n\t\t\tvar sidebarElement = document.createElement('div')\n\t\t\tsidebarElement.id = 'app-sidebar'\n\t\t\tcontentElement.appendChild(sidebarElement)\n\t\t}\n\t}\n\n\t// Init vue app\n\tconst AppSidebar = new Vue({\n\t\t// eslint-disable-next-line vue/match-component-file-name\n\t\tname: 'SidebarRoot',\n\t\trender: h => h(SidebarView)\n\t})\n\tAppSidebar.$mount('#app-sidebar')\n})\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\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 diff --git a/apps/files/src/logger.js b/apps/files/src/logger.js new file mode 100644 index 00000000000..44e1c06b486 --- /dev/null +++ b/apps/files/src/logger.js @@ -0,0 +1,28 @@ +/* + * @copyright 2019 Christoph Wurst + * + * @author 2019 Christoph Wurst + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +import { getCurrentUser } from '@nextcloud/auth' +import { getLoggerBuilder } from '@nextcloud/logger' + +export default getLoggerBuilder() + .setApp('files') + .setUid(getCurrentUser().uid) + .build() diff --git a/apps/files/src/main-personal-settings.js b/apps/files/src/main-personal-settings.js new file mode 100644 index 00000000000..da5d91537ec --- /dev/null +++ b/apps/files/src/main-personal-settings.js @@ -0,0 +1,38 @@ +// global t + +/* + * @copyright 2019 Christoph Wurst + * + * @author 2019 Christoph Wurst + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +import Vue from 'vue' +import { getRequestToken } from '@nextcloud/auth' +import { generateFilePath } from '@nextcloud/router' + +import PersonalSettings from './components/PersonalSettings' + +// eslint-disable-next-line camelcase +__webpack_nonce__ = btoa(getRequestToken()) +// eslint-disable-next-line camelcase +__webpack_public_path__ = generateFilePath('files', '', 'js/') + +Vue.prototype.t = t + +const View = Vue.extend(PersonalSettings) +new View().$mount('#files-personal-settings') diff --git a/apps/files/templates/settings-personal.php b/apps/files/templates/settings-personal.php new file mode 100644 index 00000000000..1cddae3d33d --- /dev/null +++ b/apps/files/templates/settings-personal.php @@ -0,0 +1,29 @@ + + * + * @author 2019 Christoph Wurst + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + + +script(\OCA\Files\AppInfo\Application::APP_ID, 'dist/personal-settings'); + +?> +
+
diff --git a/apps/files/webpack.js b/apps/files/webpack.js index 4007722031b..45be4d09d37 100644 --- a/apps/files/webpack.js +++ b/apps/files/webpack.js @@ -3,6 +3,7 @@ const path = require('path'); module.exports = { entry: { 'sidebar': path.join(__dirname, 'src', 'sidebar.js'), + 'personal-settings': path.join(__dirname, 'src', 'main-personal-settings.js'), }, output: { path: path.resolve(__dirname, './js/dist/'), diff --git a/core/js/dist/login.js b/core/js/dist/login.js index 6a9f9af7c20..3015f7440f0 100644 --- a/core/js/dist/login.js +++ b/core/js/dist/login.js @@ -44,7 +44,7 @@ function(e){var t,n,r,i,a,o,s,u,l,c,d,f,m,h,p,_,y,v,g,M="sizzle"+1*new Date,L=e. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . - */var z={YES_NO_BUTTONS:70,OK_BUTTONS:71,FILEPICKER_TYPE_CHOOSE:1,FILEPICKER_TYPE_MOVE:2,FILEPICKER_TYPE_COPY:3,FILEPICKER_TYPE_COPY_MOVE:4,dialogsCounter:0,alert:function(e,t,n,r){this.message(e,t,"alert",z.OK_BUTTON,n,r)},info:function(e,t,n,r){this.message(e,t,"info",z.OK_BUTTON,n,r)},confirm:function(e,t,n,r){return this.message(e,t,"notice",z.YES_NO_BUTTONS,n,r)},confirmDestructive:function(e,t,n,r,i){return this.message(e,t,"none",n,r,i)},confirmHtml:function(e,t,n,r){return this.message(e,t,"notice",z.YES_NO_BUTTONS,n,r,!0)},prompt:function(e,n,r,i,a,o){return s.a.when(this._getMessageTemplate()).then((function(u){var l="oc-dialog-"+z.dialogsCounter+"-content",c="#"+l,f=u.octemplate({dialog_name:l,title:n,message:e,type:"notice"}),m=s()("");m.attr("type",o?"password":"text").attr("id",l+"-input").attr("placeholder",a);var h=s()("