Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Petry <vincent@nextcloud.com>2022-01-10 17:08:03 +0300
committerVincent Petry <vincent@nextcloud.com>2022-01-10 17:08:03 +0300
commit6aba3964d32e8e5589590a60b3d88ce36fd6f4a7 (patch)
treeae7d63c60c4e2da8be1db6e542daac6f7e433ddb
parent82ded36358c3e77e786d88709ff0d8a00c68930a (diff)
Fix JS tests after test lib updates
Prevent XHR during load by checking window.TESTING. Adjust some expected values. Signed-off-by: Vincent Petry <vincent@nextcloud.com>
-rw-r--r--apps/files/src/files-app-settings.js3
-rw-r--r--apps/files/src/main-personal-settings.js6
-rw-r--r--apps/systemtags/js/admin.js4
-rw-r--r--core/js/tests/specs/contactsmenuSpec.js2
-rw-r--r--core/js/tests/specs/jquery.contactsmenuSpec.js15
-rw-r--r--dist/core-maintenance.js.LICENSE.txt23
-rw-r--r--dist/dashboard-dashboard-main.js6
-rw-r--r--dist/dashboard-dashboard-main.js.LICENSE.txt43
-rw-r--r--dist/dashboard-dashboard-main.js.map1
-rw-r--r--dist/files-main.js4
-rw-r--r--dist/files-main.js.map2
-rw-r--r--dist/files-personal-settings.js4
-rw-r--r--dist/files-personal-settings.js.map2
-rw-r--r--dist/files_sharing-collaboration.js.LICENSE.txt22
-rw-r--r--dist/files_sharing-files_sharing.js.LICENSE.txt22
-rw-r--r--dist/settings-apps-settings-apps.js142
-rw-r--r--dist/settings-apps-settings-apps.js.map2
-rw-r--r--dist/settings-users-settings-users.js96
-rw-r--r--dist/settings-users-settings-users.js.map2
-rw-r--r--dist/user-status-modal-299.js.LICENSE.txt21
-rw-r--r--dist/user-status-modal-user-status-modal.js126
-rw-r--r--dist/user-status-modal-user-status-modal.js.map2
22 files changed, 277 insertions, 273 deletions
diff --git a/apps/files/src/files-app-settings.js b/apps/files/src/files-app-settings.js
index daaafbcd6c3..0d8f84cb7a8 100644
--- a/apps/files/src/files-app-settings.js
+++ b/apps/files/src/files-app-settings.js
@@ -37,6 +37,9 @@ Object.assign(window.OCA.Files, { Settings: new Settings() })
Object.assign(window.OCA.Files.Settings, { Setting })
window.addEventListener('DOMContentLoaded', function() {
+ if (window.TESTING) {
+ return
+ }
// Init Vue app
// eslint-disable-next-line
new Vue({
diff --git a/apps/files/src/main-personal-settings.js b/apps/files/src/main-personal-settings.js
index af98d3bea49..b0176d5c30d 100644
--- a/apps/files/src/main-personal-settings.js
+++ b/apps/files/src/main-personal-settings.js
@@ -32,5 +32,7 @@ __webpack_nonce__ = btoa(getRequestToken())
Vue.prototype.t = t
-const View = Vue.extend(PersonalSettings)
-new View().$mount('#files-personal-settings')
+if (!window.TESTING) {
+ const View = Vue.extend(PersonalSettings)
+ new View().$mount('#files-personal-settings')
+}
diff --git a/apps/systemtags/js/admin.js b/apps/systemtags/js/admin.js
index 22d17343228..2409cb488de 100644
--- a/apps/systemtags/js/admin.js
+++ b/apps/systemtags/js/admin.js
@@ -179,6 +179,8 @@
})();
window.addEventListener('DOMContentLoaded', function() {
- OCA.SystemTags.Admin.init();
+ if (!window.TESTING) {
+ OCA.SystemTags.Admin.init();
+ }
});
diff --git a/core/js/tests/specs/contactsmenuSpec.js b/core/js/tests/specs/contactsmenuSpec.js
index 54e3152b27a..7eaf2660799 100644
--- a/core/js/tests/specs/contactsmenuSpec.js
+++ b/core/js/tests/specs/contactsmenuSpec.js
@@ -73,7 +73,7 @@ describe('Contacts menu', function() {
opening.then(function() {
expect($menuEl.html()).toContain('Could not load your contacts');
- expect(console.error).toHaveBeenCalledTimes(1);
+ expect(console.error).toHaveBeenCalled();
done();
}, function(e) {
done.fail(e);
diff --git a/core/js/tests/specs/jquery.contactsmenuSpec.js b/core/js/tests/specs/jquery.contactsmenuSpec.js
index c6807c850a9..d0bd9c8dde4 100644
--- a/core/js/tests/specs/jquery.contactsmenuSpec.js
+++ b/core/js/tests/specs/jquery.contactsmenuSpec.js
@@ -123,7 +123,8 @@ describe('jquery.contactsMenu tests', function() {
);
$selector1.on('load', function() {
- expect($appendTo.html().replace(/[\r\n\t]?(\ \ +)?/g, '')).toEqual('<div class="menu popovermenu menu-left contactsmenu-popover loaded" style="display: block;"><ul><li class="hidden"><a><span class="icon-loading-small"></span></a></li><li><a href="mailto:bar%40baz.wtf"><img src="foo.svg"><span>bar@baz.wtf</span></a></li></ul></div>');
+ // FIXME: don't compare HTML one to one but check specific text in the output
+ expect($appendTo.html().replace(/[\r\n\t]?(\ \ +)?/g, '')).toEqual('<div class="menu popovermenu menu-left contactsmenu-popover loaded"><ul><li class="hidden"><a><span class="icon-loading-small"></span></a></li><li><a href="mailto:bar%40baz.wtf"><img src="foo.svg"><span>bar@baz.wtf</span></a></li></ul></div>');
done();
});
@@ -154,7 +155,8 @@ describe('jquery.contactsMenu tests', function() {
expect(fakeServer.requests[0].url).toEqual('http://localhost/index.php/contactsmenu/findOne');
$selector1.on('load', function() {
- expect($appendTo.html().replace(/[\r\n\t]?(\ \ +)?/g, '')).toEqual('<div class="menu popovermenu menu-left contactsmenu-popover loaded" style="display: block;"><ul><li class="hidden"><a><span class="icon-loading-small"></span></a></li><li><a href="mailto:bar%40baz.wtf"><img src="foo.svg"><span>bar@baz.wtf</span></a></li><li><a href="http://localhost/index.php/apps/contacts"><img src="details.svg"><span>Details</span></a></li></ul></div>');
+ // FIXME: don't compare HTML one to one but check specific text in the output
+ expect($appendTo.html().replace(/[\r\n\t]?(\ \ +)?/g, '')).toEqual('<div class="menu popovermenu menu-left contactsmenu-popover loaded"><ul><li class="hidden"><a><span class="icon-loading-small"></span></a></li><li><a href="mailto:bar%40baz.wtf"><img src="foo.svg"><span>bar@baz.wtf</span></a></li><li><a href="http://localhost/index.php/apps/contacts"><img src="details.svg"><span>Details</span></a></li></ul></div>');
done();
});
@@ -178,7 +180,8 @@ describe('jquery.contactsMenu tests', function() {
expect(fakeServer.requests[0].url).toEqual('http://localhost/index.php/contactsmenu/findOne');
$selector1.on('load', function() {
- expect($appendTo.html().replace(/[\r\n\t]?(\ \ +)?/g, '')).toEqual('<div class="menu popovermenu menu-left contactsmenu-popover loaded" style="display: block;"><ul><li class="hidden"><a><span class="icon-loading-small"></span></a></li><li><a href="#"><span>No action available</span></a></li></ul></div>');
+ // FIXME: don't compare HTML one to one but check specific text in the output
+ expect($appendTo.html().replace(/[\r\n\t]?(\ \ +)?/g, '')).toEqual('<div class="menu popovermenu menu-left contactsmenu-popover loaded"><ul><li class="hidden"><a><span class="icon-loading-small"></span></a></li><li><a href="#"><span>No action available</span></a></li></ul></div>');
done();
});
@@ -197,7 +200,8 @@ describe('jquery.contactsMenu tests', function() {
expect(fakeServer.requests[0].url).toEqual('http://localhost/index.php/contactsmenu/findOne');
$selector1.on('loaderror', function() {
- expect($appendTo.html().replace(/[\r\n\t]?(\ \ +)?/g, '')).toEqual('<div class="menu popovermenu menu-left contactsmenu-popover loaded" style="display: block;"><ul><li class="hidden"><a><span class="icon-loading-small"></span></a></li><li><a href="#"><span>Error fetching contact actions</span></a></li></ul></div>');
+ // FIXME: don't compare HTML one to one but check specific text in the output
+ expect($appendTo.html().replace(/[\r\n\t]?(\ \ +)?/g, '')).toEqual('<div class="menu popovermenu menu-left contactsmenu-popover loaded"><ul><li class="hidden"><a><span class="icon-loading-small"></span></a></li><li><a href="#"><span>Error fetching contact actions</span></a></li></ul></div>');
done();
});
@@ -216,7 +220,8 @@ describe('jquery.contactsMenu tests', function() {
expect(fakeServer.requests[0].url).toEqual('http://localhost/index.php/contactsmenu/findOne');
$selector1.on('loaderror', function() {
- expect($appendTo.html().replace(/[\r\n\t]?(\ \ +)?/g, '')).toEqual('<div class="menu popovermenu menu-left contactsmenu-popover loaded" style="display: block;"><ul><li class="hidden"><a><span class="icon-loading-small"></span></a></li><li><a href="#"><span>No action available</span></a></li></ul></div>');
+ // FIXME: don't compare HTML one to one but check specific text in the output
+ expect($appendTo.html().replace(/[\r\n\t]?(\ \ +)?/g, '')).toEqual('<div class="menu popovermenu menu-left contactsmenu-popover loaded"><ul><li class="hidden"><a><span class="icon-loading-small"></span></a></li><li><a href="#"><span>No action available</span></a></li></ul></div>');
done();
});
diff --git a/dist/core-maintenance.js.LICENSE.txt b/dist/core-maintenance.js.LICENSE.txt
deleted file mode 100644
index d1de0b80f56..00000000000
--- a/dist/core-maintenance.js.LICENSE.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>
- *
- * @author Christoph Wurst <christoph@winzerhof-wurst.at>
- * @author John Molakvoæ <skjnldsv@protonmail.com>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @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 <http://www.gnu.org/licenses/>.
- *
- */
diff --git a/dist/dashboard-dashboard-main.js b/dist/dashboard-dashboard-main.js
deleted file mode 100644
index 697d5c2903b..00000000000
--- a/dist/dashboard-dashboard-main.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/******/ (() => { // webpackBootstrap
-/******/ "use strict";
-/******/
-/******/
-/******/ })()
-; \ No newline at end of file
diff --git a/dist/dashboard-dashboard-main.js.LICENSE.txt b/dist/dashboard-dashboard-main.js.LICENSE.txt
deleted file mode 100644
index a655e3da635..00000000000
--- a/dist/dashboard-dashboard-main.js.LICENSE.txt
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- * @copyright Copyright (c) 2016 Julius Härtl <jus@bitgrid.net>
- *
- * @author Julius Härtl <jus@bitgrid.net>
- *
- * @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 <http://www.gnu.org/licenses/>.
- *
- */
-
-/**
- * @copyright Copyright (c) 2020 Julius Härtl <jus@bitgrid.net>
- *
- * @author Julius Härtl <jus@bitgrid.net>
- *
- * @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 <http://www.gnu.org/licenses/>.
- *
- */
diff --git a/dist/dashboard-dashboard-main.js.map b/dist/dashboard-dashboard-main.js.map
deleted file mode 100644
index 530307407a5..00000000000
--- a/dist/dashboard-dashboard-main.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"dashboard-dashboard-main.js?v=c13b5fed857155f8c15e","mappings":";;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;AC1cA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;AC3JA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACvCA;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACvVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AC7BA;AACA;AACA;;;;;ACFA;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACPA;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACNA;AACA;AACA;AACA;AACA;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AElDA;AACA;AACA;AACA;AACA","sources":["webpack:///nextcloud/apps/dashboard/src/helpers/getBackgroundUrl.js","webpack:///nextcloud/apps/dashboard/src/helpers/prefixWithBaseUrl.js","webpack:///nextcloud/apps/dashboard/src/main.js","webpack:///nextcloud/apps/dashboard/src/mixins/isMobile.js","webpack:///nextcloud/apps/dashboard/src/App.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/dashboard/src/components/BackgroundSettings.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/dashboard/src/App.vue?vue&type=style&index=0&id=47e146e8&lang=scss&scoped=true&","webpack:///nextcloud/apps/dashboard/src/components/BackgroundSettings.vue?vue&type=style&index=0&id=7e3f4375&scoped=true&lang=scss&","webpack://nextcloud/./apps/dashboard/src/App.vue?8b87","webpack://nextcloud/./apps/dashboard/src/components/BackgroundSettings.vue?18ed","webpack:///nextcloud/apps/dashboard/src/App.vue","webpack:///nextcloud/apps/dashboard/src/components/BackgroundSettings.vue","webpack://nextcloud/./apps/dashboard/src/App.vue?8fcd","webpack://nextcloud/./apps/dashboard/src/components/BackgroundSettings.vue?9d11","webpack:///nextcloud/apps/dashboard/src/App.vue?vue&type=template&id=47e146e8&scoped=true&","webpack:///nextcloud/apps/dashboard/src/components/BackgroundSettings.vue?vue&type=template&id=7e3f4375&scoped=true&","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/amd define","webpack:///nextcloud/webpack/runtime/amd options","webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/before-startup","webpack:///nextcloud/webpack/startup","webpack:///nextcloud/webpack/after-startup"],"sourcesContent":["/**\n * @copyright Copyright (c) 2020 Julius Härtl <jus@bitgrid.net>\n *\n * @author Avior <florian.bouillon@delta-wings.net>\n * @author Julien Veyssier <eneiluj@posteo.net>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport { generateUrl } from '@nextcloud/router';\nimport prefixWithBaseUrl from './prefixWithBaseUrl';\nexport default (function (background) {\n let time = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n let themingDefaultBackground = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n\n if (background === 'default') {\n if (themingDefaultBackground && themingDefaultBackground !== 'backgroundColor') {\n return generateUrl('/apps/theming/image/background') + '?v=' + window.OCA.Theming.cacheBuster;\n }\n\n if (window.OCA.Accessibility && window.OCA.Accessibility.theme === 'dark') {\n return prefixWithBaseUrl('eduardo-neves-pedra-azul.jpg');\n }\n\n return prefixWithBaseUrl('kamil-porembinski-clouds.jpg');\n } else if (background === 'custom') {\n return generateUrl('/apps/dashboard/background') + '?v=' + time;\n }\n\n return prefixWithBaseUrl(background);\n});","/**\n * @copyright Copyright (c) 2020 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport { generateFilePath } from '@nextcloud/router';\nexport default (url => generateFilePath('dashboard', '', 'img/') + url);","/**\n * @copyright Copyright (c) 2016 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport Vue from 'vue';\nimport App from './App.vue';\nimport { translate as t } from '@nextcloud/l10n';\nimport VTooltip from '@nextcloud/vue/dist/Directives/Tooltip';\nimport { getRequestToken } from '@nextcloud/auth'; // eslint-disable-next-line camelcase\n\n__webpack_nonce__ = btoa(getRequestToken());\nVue.directive('Tooltip', VTooltip);\nVue.prototype.t = t; // FIXME workaround to make the sidebar work\n\nif (!window.OCA.Files) {\n window.OCA.Files = {};\n}\n\nObject.assign(window.OCA.Files, {\n App: {\n fileList: {\n filesClient: OC.Files.getClient()\n }\n }\n}, window.OCA.Files);\nconst Dashboard = Vue.extend(App);\nconst Instance = new Dashboard({}).$mount('#app-content-vue');\nwindow.OCA.Dashboard = {\n register: (app, callback) => Instance.register(app, callback),\n registerStatus: (app, callback) => Instance.registerStatus(app, callback)\n};","/**\n * @copyright Copyright (c) 2020 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nexport default {\n data() {\n return {\n isMobile: this._isMobile()\n };\n },\n\n beforeMount() {\n window.addEventListener('resize', this._onResize);\n },\n\n beforeDestroy() {\n window.removeEventListener('resize', this._onResize);\n },\n\n methods: {\n _onResize() {\n // Update mobile mode\n this.isMobile = this._isMobile();\n },\n\n _isMobile() {\n // check if content width is under 768px\n return document.documentElement.clientWidth < 768;\n }\n\n }\n};","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport Vue from 'vue';\nimport { loadState } from '@nextcloud/initial-state';\nimport { getCurrentUser } from '@nextcloud/auth';\nimport Modal from '@nextcloud/vue/dist/Components/Modal';\nimport Draggable from 'vuedraggable';\nimport axios from '@nextcloud/axios';\nimport { generateUrl } from '@nextcloud/router';\nimport isMobile from './mixins/isMobile';\nimport BackgroundSettings from './components/BackgroundSettings';\nimport getBackgroundUrl from './helpers/getBackgroundUrl';\nconst panels = loadState('dashboard', 'panels');\nconst firstRun = loadState('dashboard', 'firstRun');\nconst background = loadState('dashboard', 'background');\nconst themingDefaultBackground = loadState('dashboard', 'themingDefaultBackground');\nconst version = loadState('dashboard', 'version');\nconst shippedBackgroundList = loadState('dashboard', 'shippedBackgrounds');\nconst statusInfo = {\n weather: {\n text: t('dashboard', 'Weather'),\n icon: 'icon-weather-status'\n },\n status: {\n text: t('dashboard', 'Status'),\n icon: 'icon-user-status-online'\n }\n};\nexport default {\n name: 'App',\n components: {\n Modal,\n Draggable,\n BackgroundSettings\n },\n mixins: [isMobile],\n\n data() {\n var _getCurrentUser, _getCurrentUser2;\n\n return {\n isAdmin: getCurrentUser().isAdmin,\n timer: new Date(),\n registeredStatus: [],\n callbacks: {},\n callbacksStatus: {},\n allCallbacksStatus: {},\n statusInfo,\n enabledStatuses: loadState('dashboard', 'statuses'),\n panels,\n firstRun,\n displayName: (_getCurrentUser = getCurrentUser()) === null || _getCurrentUser === void 0 ? void 0 : _getCurrentUser.displayName,\n uid: (_getCurrentUser2 = getCurrentUser()) === null || _getCurrentUser2 === void 0 ? void 0 : _getCurrentUser2.uid,\n layout: loadState('dashboard', 'layout').filter(panelId => panels[panelId]),\n modal: false,\n appStoreUrl: generateUrl('/settings/apps/dashboard'),\n statuses: {},\n background,\n themingDefaultBackground,\n version\n };\n },\n\n computed: {\n backgroundImage() {\n return getBackgroundUrl(this.background, this.version, this.themingDefaultBackground);\n },\n\n backgroundStyle() {\n if (this.background === 'default' && this.themingDefaultBackground === 'backgroundColor' || this.background.match(/#[0-9A-Fa-f]{6}/g)) {\n return null;\n }\n\n return {\n backgroundImage: \"url(\".concat(this.backgroundImage, \")\")\n };\n },\n\n greeting() {\n const time = this.timer.getHours(); // Determine part of the day\n\n let partOfDay;\n\n if (time >= 22 || time < 5) {\n partOfDay = 'night';\n } else if (time >= 18) {\n partOfDay = 'evening';\n } else if (time >= 12) {\n partOfDay = 'afternoon';\n } else {\n partOfDay = 'morning';\n } // Define the greetings\n\n\n const good = {\n morning: {\n generic: t('dashboard', 'Good morning'),\n withName: t('dashboard', 'Good morning, {name}', {\n name: this.displayName\n }, undefined, {\n escape: false\n })\n },\n afternoon: {\n generic: t('dashboard', 'Good afternoon'),\n withName: t('dashboard', 'Good afternoon, {name}', {\n name: this.displayName\n }, undefined, {\n escape: false\n })\n },\n evening: {\n generic: t('dashboard', 'Good evening'),\n withName: t('dashboard', 'Good evening, {name}', {\n name: this.displayName\n }, undefined, {\n escape: false\n })\n },\n night: {\n // Don't use \"Good night\" as it's not a greeting\n generic: t('dashboard', 'Hello'),\n withName: t('dashboard', 'Hello, {name}', {\n name: this.displayName\n }, undefined, {\n escape: false\n })\n }\n }; // Figure out which greeting to show\n\n const shouldShowName = this.displayName && this.uid !== this.displayName;\n return {\n text: shouldShowName ? good[partOfDay].withName : good[partOfDay].generic\n };\n },\n\n isActive() {\n return panel => this.layout.indexOf(panel.id) > -1;\n },\n\n isStatusActive() {\n return status => !(status in this.enabledStatuses) || this.enabledStatuses[status];\n },\n\n sortedAllStatuses() {\n return Object.keys(this.allCallbacksStatus).slice().sort(this.sortStatuses);\n },\n\n sortedPanels() {\n return Object.values(this.panels).sort((a, b) => {\n const indexA = this.layout.indexOf(a.id);\n const indexB = this.layout.indexOf(b.id);\n\n if (indexA === -1 || indexB === -1) {\n return indexB - indexA || a.id - b.id;\n }\n\n return indexA - indexB || a.id - b.id;\n });\n },\n\n sortedRegisteredStatus() {\n return this.registeredStatus.slice().sort(this.sortStatuses);\n }\n\n },\n watch: {\n callbacks() {\n this.rerenderPanels();\n },\n\n callbacksStatus() {\n for (const app in this.callbacksStatus) {\n const element = this.$refs['status-' + app];\n\n if (this.statuses[app] && this.statuses[app].mounted) {\n continue;\n }\n\n if (element) {\n this.callbacksStatus[app](element[0]);\n Vue.set(this.statuses, app, {\n mounted: true\n });\n } else {\n console.error('Failed to register panel in the frontend as no backend data was provided for ' + app);\n }\n }\n }\n\n },\n\n mounted() {\n this.updateGlobalStyles();\n this.updateSkipLink();\n window.addEventListener('scroll', this.handleScroll);\n setInterval(() => {\n this.timer = new Date();\n }, 30000);\n\n if (this.firstRun) {\n window.addEventListener('scroll', this.disableFirstrunHint);\n }\n },\n\n destroyed() {\n window.removeEventListener('scroll', this.handleScroll);\n },\n\n methods: {\n /**\n * Method to register panels that will be called by the integrating apps\n *\n * @param {string} app The unique app id for the widget\n * @param {Function} callback The callback function to register a panel which gets the DOM element passed as parameter\n */\n register(app, callback) {\n Vue.set(this.callbacks, app, callback);\n },\n\n registerStatus(app, callback) {\n // always save callbacks in case user enables the status later\n Vue.set(this.allCallbacksStatus, app, callback); // register only if status is enabled or missing from config\n\n if (this.isStatusActive(app)) {\n this.registeredStatus.push(app);\n this.$nextTick(() => {\n Vue.set(this.callbacksStatus, app, callback);\n });\n }\n },\n\n rerenderPanels() {\n for (const app in this.callbacks) {\n const element = this.$refs[app];\n\n if (this.layout.indexOf(app) === -1) {\n continue;\n }\n\n if (this.panels[app] && this.panels[app].mounted) {\n continue;\n }\n\n if (element) {\n this.callbacks[app](element[0], {\n widget: this.panels[app]\n });\n Vue.set(this.panels[app], 'mounted', true);\n } else {\n console.error('Failed to register panel in the frontend as no backend data was provided for ' + app);\n }\n }\n },\n\n saveLayout() {\n axios.post(generateUrl('/apps/dashboard/layout'), {\n layout: this.layout.join(',')\n });\n },\n\n saveStatuses() {\n axios.post(generateUrl('/apps/dashboard/statuses'), {\n statuses: JSON.stringify(this.enabledStatuses)\n });\n },\n\n showModal() {\n this.modal = true;\n this.firstRun = false;\n },\n\n closeModal() {\n this.modal = false;\n },\n\n updateCheckbox(panel, currentValue) {\n const index = this.layout.indexOf(panel.id);\n\n if (!currentValue && index > -1) {\n this.layout.splice(index, 1);\n } else {\n this.layout.push(panel.id);\n }\n\n Vue.set(this.panels[panel.id], 'mounted', false);\n this.saveLayout();\n this.$nextTick(() => this.rerenderPanels());\n },\n\n disableFirstrunHint() {\n window.removeEventListener('scroll', this.disableFirstrunHint);\n setTimeout(() => {\n this.firstRun = false;\n }, 1000);\n },\n\n updateBackground(data) {\n this.background = data.type === 'custom' || data.type === 'default' ? data.type : data.value;\n this.version = data.version;\n this.updateGlobalStyles();\n },\n\n updateGlobalStyles() {\n document.body.setAttribute('data-dashboard-background', this.background);\n\n if (window.OCA.Theming.inverted) {\n document.body.classList.add('dashboard--inverted');\n }\n\n const shippedBackgroundTheme = shippedBackgroundList[this.background] ? shippedBackgroundList[this.background].theming : 'light';\n\n if (shippedBackgroundTheme === 'dark') {\n document.body.classList.add('dashboard--dark');\n } else {\n document.body.classList.remove('dashboard--dark');\n }\n },\n\n updateSkipLink() {\n // Make sure \"Skip to main content\" link points to the app content\n document.getElementsByClassName('skip-navigation')[0].setAttribute('href', '#app-dashboard');\n },\n\n updateStatusCheckbox(app, checked) {\n if (checked) {\n this.enableStatus(app);\n } else {\n this.disableStatus(app);\n }\n },\n\n enableStatus(app) {\n this.enabledStatuses[app] = true;\n this.registerStatus(app, this.allCallbacksStatus[app]);\n this.saveStatuses();\n },\n\n disableStatus(app) {\n this.enabledStatuses[app] = false;\n const i = this.registeredStatus.findIndex(s => s === app);\n\n if (i !== -1) {\n this.registeredStatus.splice(i, 1);\n Vue.set(this.statuses, app, {\n mounted: false\n });\n this.$nextTick(() => {\n Vue.delete(this.callbacksStatus, app);\n });\n }\n\n this.saveStatuses();\n },\n\n sortStatuses(a, b) {\n const al = a.toLowerCase();\n const bl = b.toLowerCase();\n return al > bl ? 1 : al < bl ? -1 : 0;\n },\n\n handleScroll() {\n if (window.scrollY > 70) {\n document.body.classList.add('dashboard--scrolled');\n } else {\n document.body.classList.remove('dashboard--scrolled');\n }\n }\n\n }\n};","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport axios from '@nextcloud/axios';\nimport { generateUrl } from '@nextcloud/router';\nimport { loadState } from '@nextcloud/initial-state';\nimport getBackgroundUrl from './../helpers/getBackgroundUrl';\nimport prefixWithBaseUrl from './../helpers/prefixWithBaseUrl';\nconst shippedBackgroundList = loadState('dashboard', 'shippedBackgrounds');\nexport default {\n name: 'BackgroundSettings',\n props: {\n background: {\n type: String,\n default: 'default'\n },\n themingDefaultBackground: {\n type: String,\n default: ''\n }\n },\n\n data() {\n return {\n backgroundImage: generateUrl('/apps/dashboard/background') + '?v=' + Date.now(),\n loading: false\n };\n },\n\n computed: {\n shippedBackgrounds() {\n return Object.keys(shippedBackgroundList).map(item => {\n return {\n name: item,\n url: prefixWithBaseUrl(item),\n preview: prefixWithBaseUrl('previews/' + item),\n details: shippedBackgroundList[item]\n };\n });\n }\n\n },\n methods: {\n async update(data) {\n const background = data.type === 'custom' || data.type === 'default' ? data.type : data.value;\n this.backgroundImage = getBackgroundUrl(background, data.version, this.themingDefaultBackground);\n\n if (data.type === 'color' || data.type === 'default' && this.themingDefaultBackground === 'backgroundColor') {\n this.$emit('update:background', data);\n this.loading = false;\n return;\n }\n\n const image = new Image();\n\n image.onload = () => {\n this.$emit('update:background', data);\n this.loading = false;\n };\n\n image.src = this.backgroundImage;\n },\n\n async setDefault() {\n this.loading = 'default';\n const result = await axios.post(generateUrl('/apps/dashboard/background/default'));\n this.update(result.data);\n },\n\n async setShipped(shipped) {\n this.loading = shipped;\n const result = await axios.post(generateUrl('/apps/dashboard/background/shipped'), {\n value: shipped\n });\n this.update(result.data);\n },\n\n async setFile(path) {\n this.loading = 'custom';\n const result = await axios.post(generateUrl('/apps/dashboard/background/custom'), {\n value: path\n });\n this.update(result.data);\n },\n\n async pickColor() {\n this.loading = 'color';\n const color = OCA && OCA.Theming ? OCA.Theming.color : '#0082c9';\n const result = await axios.post(generateUrl('/apps/dashboard/background/color'), {\n value: color\n });\n this.update(result.data);\n },\n\n pickFile() {\n window.OC.dialogs.filepicker(t('dashboard', 'Insert from {productName}', {\n productName: OC.theme.name\n }), (path, type) => {\n if (type === OC.dialogs.FILEPICKER_TYPE_CHOOSE) {\n this.setFile(path);\n }\n }, false, ['image/png', 'image/gif', 'image/jpeg', 'image/svg'], true, OC.dialogs.FILEPICKER_TYPE_CHOOSE);\n }\n\n }\n};","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"#app-dashboard[data-v-47e146e8] {\\n width: 100%;\\n min-height: 100vh;\\n background-size: cover;\\n background-position: center center;\\n background-repeat: no-repeat;\\n background-attachment: fixed;\\n background-color: var(--color-primary);\\n --color-background-translucent: rgba(255, 255, 255, 0.8);\\n --background-blur: blur(10px);\\n}\\n#body-user.theme--dark #app-dashboard[data-v-47e146e8] {\\n background-color: var(--color-main-background);\\n --color-background-translucent: rgba(24, 24, 24, 0.8);\\n}\\n#body-user.theme--highcontrast #app-dashboard[data-v-47e146e8] {\\n background-color: var(--color-main-background);\\n --color-background-translucent: var(--color-main-background);\\n}\\n#app-dashboard > h2[data-v-47e146e8] {\\n color: var(--color-primary-text);\\n text-align: center;\\n font-size: 32px;\\n line-height: 130%;\\n padding: 10vh 16px 0px;\\n}\\n.panels[data-v-47e146e8] {\\n width: auto;\\n margin: auto;\\n max-width: 1500px;\\n display: flex;\\n justify-content: center;\\n flex-direction: row;\\n align-items: flex-start;\\n flex-wrap: wrap;\\n}\\n.panel[data-v-47e146e8], .panels > div[data-v-47e146e8] {\\n width: 320px;\\n max-width: 100%;\\n margin: 16px;\\n background-color: var(--color-background-translucent);\\n -webkit-backdrop-filter: var(--background-blur);\\n backdrop-filter: var(--background-blur);\\n border-radius: var(--border-radius-large);\\n}\\n#body-user.theme--highcontrast .panel[data-v-47e146e8], #body-user.theme--highcontrast .panels > div[data-v-47e146e8] {\\n border: 2px solid var(--color-border);\\n}\\n.panel.sortable-ghost[data-v-47e146e8], .panels > div.sortable-ghost[data-v-47e146e8] {\\n opacity: 0.1;\\n}\\n.panel > .panel--header[data-v-47e146e8], .panels > div > .panel--header[data-v-47e146e8] {\\n display: flex;\\n z-index: 1;\\n top: 50px;\\n padding: 16px;\\n cursor: grab;\\n}\\n.panel > .panel--header[data-v-47e146e8], .panel > .panel--header[data-v-47e146e8] *, .panels > div > .panel--header[data-v-47e146e8], .panels > div > .panel--header[data-v-47e146e8] * {\\n -webkit-touch-callout: none;\\n -webkit-user-select: none;\\n -khtml-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n}\\n.panel > .panel--header[data-v-47e146e8]:active, .panels > div > .panel--header[data-v-47e146e8]:active {\\n cursor: grabbing;\\n}\\n.panel > .panel--header a[data-v-47e146e8], .panels > div > .panel--header a[data-v-47e146e8] {\\n flex-grow: 1;\\n}\\n.panel > .panel--header > h2[data-v-47e146e8], .panels > div > .panel--header > h2[data-v-47e146e8] {\\n display: block;\\n flex-grow: 1;\\n margin: 0;\\n font-size: 20px;\\n line-height: 24px;\\n font-weight: bold;\\n background-size: 32px;\\n background-position: 14px 12px;\\n padding: 16px 8px 16px 60px;\\n height: 56px;\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n cursor: grab;\\n}\\n.panel > .panel--content[data-v-47e146e8], .panels > div > .panel--content[data-v-47e146e8] {\\n margin: 0 16px 16px 16px;\\n height: 420px;\\n overflow: hidden;\\n}\\n@media only screen and (max-width: 709px) {\\n.panel > .panel--content[data-v-47e146e8], .panels > div > .panel--content[data-v-47e146e8] {\\n height: auto;\\n}\\n}\\n.footer[data-v-47e146e8] {\\n text-align: center;\\n transition: bottom var(--animation-slow) ease-in-out;\\n bottom: 0;\\n padding: 44px 0;\\n}\\n.edit-panels[data-v-47e146e8] {\\n display: inline-block;\\n margin: auto;\\n background-position: 16px center;\\n padding: 12px 16px;\\n padding-left: 36px;\\n border-radius: var(--border-radius-pill);\\n max-width: 200px;\\n opacity: 1;\\n text-align: center;\\n}\\n.edit-panels[data-v-47e146e8],\\n.statuses[data-v-47e146e8] .action-item .action-item__menutoggle,\\n.statuses[data-v-47e146e8] .action-item.action-item--open .action-item__menutoggle {\\n background-color: var(--color-background-translucent);\\n -webkit-backdrop-filter: var(--background-blur);\\n backdrop-filter: var(--background-blur);\\n}\\n.edit-panels[data-v-47e146e8]:hover, .edit-panels[data-v-47e146e8]:focus, .edit-panels[data-v-47e146e8]:active,\\n.statuses[data-v-47e146e8] .action-item .action-item__menutoggle:hover,\\n.statuses[data-v-47e146e8] .action-item .action-item__menutoggle:focus,\\n.statuses[data-v-47e146e8] .action-item .action-item__menutoggle:active,\\n.statuses[data-v-47e146e8] .action-item.action-item--open .action-item__menutoggle:hover,\\n.statuses[data-v-47e146e8] .action-item.action-item--open .action-item__menutoggle:focus,\\n.statuses[data-v-47e146e8] .action-item.action-item--open .action-item__menutoggle:active {\\n background-color: var(--color-background-hover);\\n}\\n.modal__content[data-v-47e146e8] {\\n padding: 32px 16px;\\n max-height: 70vh;\\n text-align: center;\\n overflow: auto;\\n}\\n.modal__content ol[data-v-47e146e8] {\\n display: flex;\\n flex-direction: row;\\n justify-content: center;\\n list-style-type: none;\\n padding-bottom: 16px;\\n}\\n.modal__content li label[data-v-47e146e8] {\\n display: block;\\n padding: 48px 8px 16px 8px;\\n margin: 8px;\\n width: 160px;\\n background-color: var(--color-background-hover);\\n border: 2px solid var(--color-main-background);\\n border-radius: var(--border-radius-large);\\n background-size: 24px;\\n background-position: center 16px;\\n text-align: center;\\n}\\n.modal__content li label[data-v-47e146e8]:hover {\\n border-color: var(--color-primary);\\n}\\n.modal__content li input:focus + label[data-v-47e146e8] {\\n border-color: var(--color-primary);\\n}\\n.modal__content h3[data-v-47e146e8] {\\n font-weight: bold;\\n}\\n.modal__content h3[data-v-47e146e8]:not(:first-of-type) {\\n margin-top: 64px;\\n}\\n.modal__content .button[data-v-47e146e8] {\\n display: inline-block;\\n padding: 10px 16px;\\n margin: 0;\\n}\\n.modal__content p[data-v-47e146e8] {\\n max-width: 650px;\\n margin: 0 auto;\\n}\\n.modal__content p a[data-v-47e146e8]:hover,\\n.modal__content p a[data-v-47e146e8]:focus {\\n border-bottom: 2px solid var(--color-border);\\n}\\n.modal__content .credits--end[data-v-47e146e8] {\\n padding-bottom: 32px;\\n color: var(--color-text-maxcontrast);\\n}\\n.modal__content .credits--end a[data-v-47e146e8] {\\n color: var(--color-text-maxcontrast);\\n}\\n.flip-list-move[data-v-47e146e8] {\\n transition: transform var(--animation-slow);\\n}\\n.statuses[data-v-47e146e8] {\\n display: flex;\\n flex-direction: row;\\n justify-content: center;\\n flex-wrap: wrap;\\n margin-bottom: 36px;\\n}\\n.statuses > div[data-v-47e146e8] {\\n margin: 8px;\\n}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".background-selector[data-v-7e3f4375] {\\n display: flex;\\n flex-wrap: wrap;\\n justify-content: center;\\n}\\n.background-selector .background[data-v-7e3f4375] {\\n width: 176px;\\n height: 96px;\\n margin: 8px;\\n background-size: cover;\\n background-position: center center;\\n text-align: center;\\n border-radius: var(--border-radius-large);\\n border: 2px solid var(--color-main-background);\\n overflow: hidden;\\n}\\n.background-selector .background.current[data-v-7e3f4375] {\\n background-image: var(--color-background-dark);\\n}\\n.background-selector .background.filepicker[data-v-7e3f4375], .background-selector .background.default[data-v-7e3f4375], .background-selector .background.color[data-v-7e3f4375] {\\n border-color: var(--color-border);\\n}\\n.background-selector .background.color[data-v-7e3f4375] {\\n background-color: var(--color-primary);\\n color: var(--color-primary-text);\\n}\\n.background-selector .background.active[data-v-7e3f4375], .background-selector .background[data-v-7e3f4375]:hover, .background-selector .background[data-v-7e3f4375]:focus {\\n border: 2px solid var(--color-primary);\\n}\\n.background-selector .background.active[data-v-7e3f4375]:not(.icon-loading):after {\\n background-image: var(--icon-checkmark-fff);\\n background-repeat: no-repeat;\\n background-position: center;\\n background-size: 44px;\\n content: \\\"\\\";\\n display: block;\\n height: 100%;\\n}\\nbody.theme--dark .background-selector .background.active[data-v-7e3f4375]:not(.icon-loading):after {\\n background-image: var(--icon-checkmark-000);\\n}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=47e146e8&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BackgroundSettings.vue?vue&type=style&index=0&id=7e3f4375&scoped=true&lang=scss&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=47e146e8&scoped=true&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=47e146e8&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 \"47e146e8\",\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/louis/workspace/nextcloud/server/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('47e146e8')) {\n api.createRecord('47e146e8', component.options)\n } else {\n api.reload('47e146e8', component.options)\n }\n module.hot.accept(\"./App.vue?vue&type=template&id=47e146e8&scoped=true&\", function () {\n api.rerender('47e146e8', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"apps/dashboard/src/App.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./BackgroundSettings.vue?vue&type=template&id=7e3f4375&scoped=true&\"\nimport script from \"./BackgroundSettings.vue?vue&type=script&lang=js&\"\nexport * from \"./BackgroundSettings.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BackgroundSettings.vue?vue&type=style&index=0&id=7e3f4375&scoped=true&lang=scss&\"\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 \"7e3f4375\",\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/louis/workspace/nextcloud/server/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('7e3f4375')) {\n api.createRecord('7e3f4375', component.options)\n } else {\n api.reload('7e3f4375', component.options)\n }\n module.hot.accept(\"./BackgroundSettings.vue?vue&type=template&id=7e3f4375&scoped=true&\", function () {\n api.rerender('7e3f4375', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"apps/dashboard/src/components/BackgroundSettings.vue\"\nexport default component.exports","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.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!./App.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!./BackgroundSettings.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!./BackgroundSettings.vue?vue&type=script&lang=js&\"","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { style: _vm.backgroundStyle, attrs: { id: \"app-dashboard\" } },\n [\n _c(\"h2\", [_vm._v(_vm._s(_vm.greeting.text))]),\n _vm._v(\" \"),\n _c(\n \"ul\",\n { staticClass: \"statuses\" },\n _vm._l(_vm.sortedRegisteredStatus, function(status) {\n return _c(\"div\", { key: status, attrs: { id: \"status-\" + status } }, [\n _c(\"div\", { ref: \"status-\" + status, refInFor: true })\n ])\n }),\n 0\n ),\n _vm._v(\" \"),\n _c(\n \"Draggable\",\n _vm._b(\n {\n staticClass: \"panels\",\n attrs: { handle: \".panel--header\" },\n on: { end: _vm.saveLayout },\n model: {\n value: _vm.layout,\n callback: function($$v) {\n _vm.layout = $$v\n },\n expression: \"layout\"\n }\n },\n \"Draggable\",\n {\n swapThreshold: 0.3,\n delay: 500,\n delayOnTouchOnly: true,\n touchStartThreshold: 3\n },\n false\n ),\n _vm._l(_vm.layout, function(panelId) {\n return _c(\n \"div\",\n { key: _vm.panels[panelId].id, staticClass: \"panel\" },\n [\n _c(\"div\", { staticClass: \"panel--header\" }, [\n _c(\"h2\", { class: _vm.panels[panelId].iconClass }, [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\" +\n _vm._s(_vm.panels[panelId].title) +\n \"\\n\\t\\t\\t\\t\"\n )\n ])\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"panel--content\",\n class: { loading: !_vm.panels[panelId].mounted }\n },\n [\n _c(\"div\", {\n ref: _vm.panels[panelId].id,\n refInFor: true,\n attrs: { \"data-id\": _vm.panels[panelId].id }\n })\n ]\n )\n ]\n )\n }),\n 0\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"footer\" }, [\n _c(\n \"a\",\n {\n staticClass: \"edit-panels icon-rename\",\n attrs: { tabindex: \"0\" },\n on: {\n click: _vm.showModal,\n keyup: [\n function($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")\n ) {\n return null\n }\n return _vm.showModal.apply(null, arguments)\n },\n function($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"space\", 32, $event.key, [\n \" \",\n \"Spacebar\"\n ])\n ) {\n return null\n }\n return _vm.showModal.apply(null, arguments)\n }\n ]\n }\n },\n [_vm._v(_vm._s(_vm.t(\"dashboard\", \"Customize\")))]\n )\n ]),\n _vm._v(\" \"),\n _vm.modal\n ? _c(\"Modal\", { on: { close: _vm.closeModal } }, [\n _c(\n \"div\",\n { staticClass: \"modal__content\" },\n [\n _c(\"h3\", [_vm._v(_vm._s(_vm.t(\"dashboard\", \"Edit widgets\")))]),\n _vm._v(\" \"),\n _c(\n \"ol\",\n { staticClass: \"panels\" },\n _vm._l(_vm.sortedAllStatuses, function(status) {\n return _c(\"li\", { key: status }, [\n _c(\"input\", {\n staticClass: \"checkbox\",\n attrs: {\n id: \"status-checkbox-\" + status,\n type: \"checkbox\"\n },\n domProps: { checked: _vm.isStatusActive(status) },\n on: {\n input: function($event) {\n return _vm.updateStatusCheckbox(\n status,\n $event.target.checked\n )\n }\n }\n }),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n class: _vm.statusInfo[status].icon,\n attrs: { for: \"status-checkbox-\" + status }\n },\n [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\\t\" +\n _vm._s(_vm.statusInfo[status].text) +\n \"\\n\\t\\t\\t\\t\\t\"\n )\n ]\n )\n ])\n }),\n 0\n ),\n _vm._v(\" \"),\n _c(\n \"Draggable\",\n _vm._b(\n {\n staticClass: \"panels\",\n attrs: { tag: \"ol\", handle: \".draggable\" },\n on: { end: _vm.saveLayout },\n model: {\n value: _vm.layout,\n callback: function($$v) {\n _vm.layout = $$v\n },\n expression: \"layout\"\n }\n },\n \"Draggable\",\n {\n swapThreshold: 0.3,\n delay: 500,\n delayOnTouchOnly: true,\n touchStartThreshold: 3\n },\n false\n ),\n _vm._l(_vm.sortedPanels, function(panel) {\n return _c(\"li\", { key: panel.id }, [\n _c(\"input\", {\n staticClass: \"checkbox\",\n attrs: {\n id: \"panel-checkbox-\" + panel.id,\n type: \"checkbox\"\n },\n domProps: { checked: _vm.isActive(panel) },\n on: {\n input: function($event) {\n return _vm.updateCheckbox(\n panel,\n $event.target.checked\n )\n }\n }\n }),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n class: _vm.isActive(panel)\n ? \"draggable \" + panel.iconClass\n : panel.iconClass,\n attrs: { for: \"panel-checkbox-\" + panel.id }\n },\n [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\\t\" +\n _vm._s(panel.title) +\n \"\\n\\t\\t\\t\\t\\t\"\n )\n ]\n )\n ])\n }),\n 0\n ),\n _vm._v(\" \"),\n _vm.isAdmin\n ? _c(\n \"a\",\n {\n staticClass: \"button\",\n attrs: { href: _vm.appStoreUrl }\n },\n [\n _vm._v(\n _vm._s(\n _vm.t(\n \"dashboard\",\n \"Get more widgets from the App Store\"\n )\n )\n )\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"h3\", [\n _vm._v(_vm._s(_vm.t(\"dashboard\", \"Change background image\")))\n ]),\n _vm._v(\" \"),\n _c(\"BackgroundSettings\", {\n attrs: {\n background: _vm.background,\n \"theming-default-background\": _vm.themingDefaultBackground\n },\n on: { \"update:background\": _vm.updateBackground }\n }),\n _vm._v(\" \"),\n _c(\"h3\", [\n _vm._v(_vm._s(_vm.t(\"dashboard\", \"Weather service\")))\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"\\n\\t\\t\\t\\t\" +\n _vm._s(\n _vm.t(\n \"dashboard\",\n \"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information.\"\n )\n ) +\n \"\\n\\t\\t\\t\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", { staticClass: \"credits--end\" }, [\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://api.met.no/doc/TermsOfService\",\n target: \"_blank\",\n rel: \"noopener\"\n }\n },\n [\n _vm._v(\n _vm._s(_vm.t(\"dashboard\", \"Weather data from Met.no\"))\n )\n ]\n ),\n _vm._v(\",\\n\\t\\t\\t\\t\"),\n _c(\n \"a\",\n {\n attrs: {\n href:\n \"https://wiki.osmfoundation.org/wiki/Privacy_Policy\",\n target: \"_blank\",\n rel: \"noopener\"\n }\n },\n [\n _vm._v(\n _vm._s(_vm.t(\"dashboard\", \"geocoding with Nominatim\"))\n )\n ]\n ),\n _vm._v(\",\\n\\t\\t\\t\\t\"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"https://www.opentopodata.org/#public-api\",\n target: \"_blank\",\n rel: \"noopener\"\n }\n },\n [\n _vm._v(\n _vm._s(\n _vm.t(\"dashboard\", \"elevation data from OpenTopoData\")\n )\n )\n ]\n ),\n _vm._v(\".\\n\\t\\t\\t\")\n ])\n ],\n 1\n )\n ])\n : _vm._e()\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"background-selector\" },\n [\n _c(\n \"button\",\n {\n staticClass: \"background filepicker\",\n class: { active: _vm.background === \"custom\" },\n attrs: { tabindex: \"0\" },\n on: { click: _vm.pickFile }\n },\n [\n _vm._v(\n \"\\n\\t\\t\" + _vm._s(_vm.t(\"dashboard\", \"Pick from Files\")) + \"\\n\\t\"\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"button\",\n {\n staticClass: \"background default\",\n class: {\n \"icon-loading\": _vm.loading === \"default\",\n active: _vm.background === \"default\"\n },\n attrs: { tabindex: \"0\" },\n on: { click: _vm.setDefault }\n },\n [\n _vm._v(\n \"\\n\\t\\t\" + _vm._s(_vm.t(\"dashboard\", \"Default images\")) + \"\\n\\t\"\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"button\",\n {\n staticClass: \"background color\",\n class: { active: _vm.background === \"custom\" },\n attrs: { tabindex: \"0\" },\n on: { click: _vm.pickColor }\n },\n [\n _vm._v(\n \"\\n\\t\\t\" + _vm._s(_vm.t(\"dashboard\", \"Plain background\")) + \"\\n\\t\"\n )\n ]\n ),\n _vm._v(\" \"),\n _vm._l(_vm.shippedBackgrounds, function(shippedBackground) {\n return _c(\"button\", {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip\",\n value: shippedBackground.details.attribution,\n expression: \"shippedBackground.details.attribution\"\n }\n ],\n key: shippedBackground.name,\n staticClass: \"background\",\n class: {\n \"icon-loading\": _vm.loading === shippedBackground.name,\n active: _vm.background === shippedBackground.name\n },\n style: {\n \"background-image\": \"url(\" + shippedBackground.preview + \")\"\n },\n attrs: { tabindex: \"0\" },\n on: {\n click: function($event) {\n return _vm.setShipped(shippedBackground.name)\n }\n }\n })\n })\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdD = function () {\n\tthrow new Error('define cannot be used indirect');\n};","__webpack_require__.amdO = {};","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t\"dashboard-dashboard-main\": 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkIds[i]] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [\"core-common\"], () => (__webpack_require__(\"./apps/dashboard/src/main.js\")))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n",""],"names":[],"sourceRoot":""} \ No newline at end of file
diff --git a/dist/files-main.js b/dist/files-main.js
index 072499086ee..24732dea742 100644
--- a/dist/files-main.js
+++ b/dist/files-main.js
@@ -1,3 +1,3 @@
/*! For license information please see files-main.js.LICENSE.txt */
-!function(){"use strict";var e,n={27130:function(e,n,i){var r=i(20144);function a(e,n){for(var t=0;t<n.length;t++){var i=n[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}var o=function(){function e(){var n,t;!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),t=void 0,(n="_settings")in this?Object.defineProperty(this,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):this[n]=t,this._settings=[],console.debug("OCA.Files.Settings initialized")}var n,t;return n=e,(t=[{key:"register",value:function(e){return this._settings.filter((function(n){return n.name===e.name})).length>0?(console.error("A setting with the same name is already registered"),!1):(this._settings.push(e),!0)}},{key:"settings",get:function(){return this._settings}}])&&a(n.prototype,t),Object.defineProperty(n,"prototype",{writable:!1}),e}(),l={name:"Setting",props:{el:{type:Function,required:!0}},mounted:function(){this.$el.appendChild(this.el())}},s=i(51900),c={name:"Settings",components:{Setting:(0,s.Z)(l,(function(){var e=this.$createElement;return(this._self._c||e)("div")}),[],!1,null,null,null).exports},data:function(){return{settings:OCA.Files.Settings.settings}}},u=(0,s.Z)(c,(function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{attrs:{id:"files-app-extra-settings"}},[e._l(e.settings,(function(e){return[t("Setting",{key:e.name,attrs:{el:e.el}})]}))],2)}),[],!1,null,"31c9bb4b",null).exports;function d(e,n){for(var t=0;t<n.length;t++){var i=n[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function p(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}var f=function(){function e(n,t){var i=t.el,r=t.open,a=t.close;!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),p(this,"_close",void 0),p(this,"_el",void 0),p(this,"_name",void 0),p(this,"_open",void 0),this._name=n,this._el=i,this._open=r,this._close=a,"function"!=typeof this._open&&(this._open=function(){}),"function"!=typeof this._close&&(this._close=function(){})}var n,t;return n=e,(t=[{key:"name",get:function(){return this._name}},{key:"el",get:function(){return this._el}},{key:"open",get:function(){return this._open}},{key:"close",get:function(){return this._close}}])&&d(n.prototype,t),Object.defineProperty(n,"prototype",{writable:!1}),e}();r.default.prototype.t=t,window.OCA.Files||(window.OCA.Files={}),Object.assign(window.OCA.Files,{Settings:new o}),Object.assign(window.OCA.Files.Settings,{Setting:f}),window.addEventListener("DOMContentLoaded",(function(){new r.default({el:"#files-app-settings",render:function(e){return e(u)}});var e=document.getElementById("app-settings-header");e&&e.addEventListener("click",(function(e){var n=e.currentTarget.children[0].classList.contains("opened");OCA.Files.Settings.settings.forEach((function(e){return n?e.close():e.open()}))}))}));var m=i(17499),A=i(16453),v=i(9944),h=i(79753),g=i(22200),C=function(){var e,n,t,i,r=(null===(e=OCA)||void 0===e||null===(n=e.Files)||void 0===n||null===(t=n.App)||void 0===t||null===(i=t.currentFileList)||void 0===i?void 0:i.dirInfo)||{path:"/",name:""};return"".concat(r.path,"/").concat(r.name).replace(/\/\//gi,"/")},b=i(4820),w=i(62520),y=i(26932),_=i(97e3),k=i.n(_),x=i(47450),O=i.n(x);function P(e,n,t,i,r,a,o){try{var l=e[a](o),s=l.value}catch(e){return void t(e)}l.done?n(s):Promise.resolve(s).then(i,r)}function E(e){return function(){var n=this,t=arguments;return new Promise((function(i,r){var a=e.apply(n,t);function o(e){P(a,i,r,o,l,"next",e)}function l(e){P(a,i,r,o,l,"throw",e)}o(void 0)}))}}var F=function(){var e=E(regeneratorRuntime.mark((function e(){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,b.default.get((0,h.generateOcsUrl)("apps/files/api/v1/templates"));case 2:return n=e.sent,e.abrupt("return",n.data.ocs.data);case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),T=function(){var e=E(regeneratorRuntime.mark((function e(n,t,i){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,b.default.post((0,h.generateOcsUrl)("apps/files/api/v1/templates/create"),{filePath:n,templatePath:t,templateType:i});case 2:return r=e.sent,e.abrupt("return",r.data.ocs.data);case 4:case"end":return e.stop()}}),e)})));return function(n,t,i){return e.apply(this,arguments)}}(),B=256,S={name:"TemplatePreview",inheritAttrs:!1,props:{basename:{type:String,required:!0},checked:{type:Boolean,default:!1},fileid:{type:[String,Number],required:!0},filename:{type:String,required:!0},previewUrl:{type:String,default:null},hasPreview:{type:Boolean,default:!0},mime:{type:String,required:!0},ratio:{type:Number,default:null}},data:function(){return{failedPreview:!1}},computed:{nameWithoutExt:function(){return this.basename.indexOf(".")>-1?this.basename.split(".").slice(0,-1).join("."):this.basename},id:function(){return"template-picker-".concat(this.fileid)},realPreviewUrl:function(){return this.failedPreview&&this.mimeIcon?this.mimeIcon:this.previewUrl?this.previewUrl:(0,g.getCurrentUser)()?(0,h.generateUrl)("/core/preview?fileId=".concat(this.fileid,"&x=").concat(B,"&y=").concat(B,"&a=1")):(0,h.generateUrl)("/apps/files_sharing/publicpreview/".concat(document.getElementById("sharingToken")&&document.getElementById("sharingToken").value,"?fileId=").concat(this.fileid,"&file=").concat(function(e){var n=(e.startsWith("/")?e:"/".concat(e)).split("/"),t="";return n.forEach((function(e){""!==e&&(t+="/"+encodeURIComponent(e))})),t}(this.filename),"&x=").concat(B,"&y=").concat(B,"&a=1"))},mimeIcon:function(){return OC.MimeType.getIconUrl(this.mime)}},methods:{onCheck:function(){this.$emit("check",this.fileid)},onFailure:function(){this.failedPreview=!0}}},j=S,I=i(93379),M=i.n(I),D=i(78299),U=(M()(D.Z,{insert:"head",singleton:!1}),D.Z.locals,(0,s.Z)(j,(function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("li",{staticClass:"template-picker__item"},[t("input",{staticClass:"radio",attrs:{id:e.id,type:"radio",name:"template-picker"},domProps:{checked:e.checked},on:{change:e.onCheck}}),e._v(" "),t("label",{staticClass:"template-picker__label",attrs:{for:e.id}},[t("div",{staticClass:"template-picker__preview",class:e.failedPreview?"template-picker__preview--failed":""},[t("img",{staticClass:"template-picker__image",attrs:{src:e.realPreviewUrl,alt:"",draggable:"false"},on:{error:e.onFailure}})]),e._v(" "),t("span",{staticClass:"template-picker__title"},[e._v("\n\t\t\t"+e._s(e.nameWithoutExt)+"\n\t\t")])])])}),[],!1,null,"440aea22",null).exports);function L(e,n,t,i,r,a,o){try{var l=e[a](o),s=l.value}catch(e){return void t(e)}l.done?n(s):Promise.resolve(s).then(i,r)}function R(e){return function(){var n=this,t=arguments;return new Promise((function(i,r){var a=e.apply(n,t);function o(e){L(a,i,r,o,l,"next",e)}function l(e){L(a,i,r,o,l,"throw",e)}o(void 0)}))}}var q={name:"TemplatePicker",components:{EmptyContent:k(),Modal:O(),TemplatePreview:U},props:{logger:{type:Object,required:!0}},data:function(){return{checked:-1,loading:!1,name:null,opened:!1,provider:null}},computed:{nameWithoutExt:function(){return this.name.indexOf(".")>-1?this.name.split(".").slice(0,-1).join("."):this.name},emptyTemplate:function(){var e,n;return{basename:t("files","Blank"),fileid:-1,filename:this.t("files","Blank"),hasPreview:!1,mime:(null===(e=this.provider)||void 0===e?void 0:e.mimetypes[0])||(null===(n=this.provider)||void 0===n?void 0:n.mimetypes)}},selectedTemplate:function(){var e=this;return this.provider.templates.find((function(n){return n.fileid===e.checked}))},style:function(){return{"--margin":"8px","--width":"160px","--border":"2px","--fullwidth":"180px","--height":this.provider.ratio?Math.round(160/this.provider.ratio)+"px":null}}},methods:{open:function(e,n){var t=this;return R(regeneratorRuntime.mark((function i(){var r,a;return regeneratorRuntime.wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return t.checked=t.emptyTemplate.fileid,t.name=e,t.provider=n,i.next=5,F();case 5:if(r=i.sent,null!==(a=r.find((function(e){return e.app===n.app&&e.label===n.label})))){i.next=9;break}throw new Error("Failed to match provider in results");case 9:if(t.provider=a,0!==a.templates.length){i.next=13;break}return t.onSubmit(),i.abrupt("return");case 13:t.opened=!0;case 14:case"end":return i.stop()}}),i)})))()},close:function(){this.checked=this.emptyTemplate.fileid,this.loading=!1,this.name=null,this.opened=!1,this.provider=null},onCheck:function(e){this.checked=e},onSubmit:function(){var e=this;return R(regeneratorRuntime.mark((function n(){var t,i,r,a,o,l,s,c,u,d,p,f;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return e.loading=!0,a=C(),o=null===(t=OCA)||void 0===t||null===(i=t.Files)||void 0===i||null===(r=i.App)||void 0===r?void 0:r.currentFileList,e.nameWithoutExt===e.name&&(e.logger.debug("Fixed invalid filename",{name:e.name,extension:null===(l=e.provider)||void 0===l?void 0:l.extension}),e.name=e.name+(null===(s=e.provider)||void 0===s?void 0:s.extension)),n.prev=4,n.next=7,T((0,w.normalize)("".concat(a,"/").concat(e.name)),null===(c=e.selectedTemplate)||void 0===c?void 0:c.filename,null===(u=e.selectedTemplate)||void 0===u?void 0:u.templateType);case 7:return d=n.sent,e.logger.debug("Created new file",d),n.next=11,null==o?void 0:o.addAndFetchFileInfo(e.name).then((function(e,n){return n}));case 11:p=n.sent,f=new OCA.Files.FileInfoModel(p,{filesClient:null==o?void 0:o.filesClient}),OCA.Files.fileActions.getDefaultFileAction(d.mime,"file",OC.PERMISSION_ALL).action(d.basename,{$file:null==o?void 0:o.findFileEl(e.name),dir:a,fileList:o,fileActions:null==o?void 0:o.fileActions,fileInfoModel:f}),e.close(),n.next=23;break;case 18:n.prev=18,n.t0=n.catch(4),e.logger.error("Error while creating the new file from template"),console.error(n.t0),(0,y.x2)(e.t("files","Unable to create new file from template"));case 23:return n.prev=23,e.loading=!1,n.finish(23);case 26:case"end":return n.stop()}}),n,null,[[4,18,23,26]])})))()}}},W=q,Z=i(87375),N=(M()(Z.Z,{insert:"head",singleton:!1}),Z.Z.locals,(0,s.Z)(W,(function(){var e=this,n=e.$createElement,t=e._self._c||n;return e.opened?t("Modal",{staticClass:"templates-picker",attrs:{"clear-view-delay":-1,size:"large"},on:{close:e.close}},[t("form",{staticClass:"templates-picker__form",style:e.style,on:{submit:function(n){return n.preventDefault(),n.stopPropagation(),e.onSubmit.apply(null,arguments)}}},[t("h2",[e._v(e._s(e.t("files","Pick a template for {name}",{name:e.nameWithoutExt})))]),e._v(" "),t("ul",{staticClass:"templates-picker__list"},[t("TemplatePreview",e._b({attrs:{checked:e.checked===e.emptyTemplate.fileid},on:{check:e.onCheck}},"TemplatePreview",e.emptyTemplate,!1)),e._v(" "),e._l(e.provider.templates,(function(n){return t("TemplatePreview",e._b({key:n.fileid,attrs:{checked:e.checked===n.fileid,ratio:e.provider.ratio},on:{check:e.onCheck}},"TemplatePreview",n,!1))}))],2),e._v(" "),t("div",{staticClass:"templates-picker__buttons"},[t("button",{on:{click:e.close}},[e._v("\n\t\t\t\t"+e._s(e.t("files","Cancel"))+"\n\t\t\t")]),e._v(" "),t("input",{staticClass:"primary",attrs:{type:"submit","aria-label":e.t("files","Create a new file with the selected template")},domProps:{value:e.t("files","Create")}})])]),e._v(" "),e.loading?t("EmptyContent",{staticClass:"templates-picker__loading",attrs:{icon:"icon-loading"}},[e._v("\n\t\t"+e._s(e.t("files","Creating file"))+"\n\t")]):e._e()],1):e._e()}),[],!1,null,"5fe9240a",null)),$=N.exports;function z(e,n,t,i,r,a,o){try{var l=e[a](o),s=l.value}catch(e){return void t(e)}l.done?n(s):Promise.resolve(s).then(i,r)}var G=(0,m.getLoggerBuilder)().setApp("files").detectUser().build();r.default.mixin({methods:{t:v.translate,n:v.translatePlural}});var Y=document.createElement("div");Y.id="template-picker",document.body.appendChild(Y);var Q=(0,A.loadState)("files","templates",[]),H=(0,A.loadState)("files","templates_path",!1);G.debug("Templates providers",Q),G.debug("Templates folder",{templatesPath:H});var K=new(r.default.extend($))({name:"TemplatePicker",propsData:{logger:G}});K.$mount("#template-picker"),window.addEventListener("DOMContentLoaded",(function(){if(!H){G.debug("Templates folder not initialized");var e={attach:function(e){e.addMenuEntry({id:"template-init",displayName:(0,v.translate)("files","Set up templates folder"),templateName:(0,v.translate)("files","Templates"),iconClass:"icon-template-add",fileType:"file",actionHandler:function(n){V(n),e.removeMenuEntry("template-init")}})}};OC.Plugins.register("OCA.Files.NewFileMenu",e)}})),Q.forEach((function(e,n){var t={attach:function(t){var i=t.fileList;"files"!==i.id&&"files.public"!==i.id||t.addMenuEntry({id:"template-new-".concat(e.app,"-").concat(n),displayName:e.label,templateName:e.label+e.extension,iconClass:e.iconClass||"icon-file",fileType:"file",actionHandler:function(n){K.open(n,e)}})}};OC.Plugins.register("OCA.Files.NewFileMenu",t)}));var J,V=function(){var e,n=(e=regeneratorRuntime.mark((function e(n){var t,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=(C()+"/".concat(n)).replace("//","/"),e.prev=1,G.debug("Initializing the templates directory",{templatePath:t}),e.next=5,b.default.post((0,h.generateOcsUrl)("apps/files/api/v1/templates/path"),{templatePath:t,copySystemTemplates:!0});case 5:i=e.sent,OCA.Files.App.currentFileList.changeDirectory(t,!0,!0),Q=i.data.ocs.data.templates,H=i.data.ocs.data.template_path,e.next=15;break;case 11:e.prev=11,e.t0=e.catch(1),G.error("Unable to initialize the templates directory"),(0,y.x2)((0,v.translate)("files","Unable to initialize the templates directory"));case 15:case"end":return e.stop()}}),e,null,[[1,11]])})),function(){var n=this,t=arguments;return new Promise((function(i,r){var a=e.apply(n,t);function o(e){z(a,i,r,o,l,"next",e)}function l(e){z(a,i,r,o,l,"throw",e)}o(void 0)}))});return function(e){return n.apply(this,arguments)}}(),X=i(74854);J={attach:function(e){var n=this;(0,X.subscribe)("nextcloud:unified-search.search",(function(n){var t=n.query;e.setFilter(t)})),(0,X.subscribe)("nextcloud:unified-search.reset",(function(){n.query=null,e.setFilter("")}))}},window.OC.Plugins.register("OCA.Files.FileList",J)},78299:function(e,n,t){var i=t(94015),r=t.n(i),a=t(23645),o=t.n(a)()(r());o.push([e.id,".template-picker__item[data-v-440aea22]{display:flex}.template-picker__label[data-v-440aea22]{display:flex;align-items:center;flex:1 1;flex-direction:column}.template-picker__label[data-v-440aea22],.template-picker__label *[data-v-440aea22]{cursor:pointer;user-select:none}.template-picker__label[data-v-440aea22]::before{display:none !important}.template-picker__preview[data-v-440aea22]{display:block;overflow:hidden;flex:1 1;width:var(--width);min-height:var(--height);max-height:var(--height);padding:0;border:var(--border) solid var(--color-border);border-radius:var(--border-radius-large)}input:checked+label>.template-picker__preview[data-v-440aea22]{border-color:var(--color-primary)}.template-picker__preview--failed[data-v-440aea22]{display:flex}.template-picker__image[data-v-440aea22]{max-width:100%;background-color:var(--color-main-background);object-fit:cover}.template-picker__preview--failed .template-picker__image[data-v-440aea22]{width:calc(var(--margin)*8);margin:auto;background-color:transparent !important;object-fit:initial}.template-picker__title[data-v-440aea22]{overflow:hidden;max-width:calc(var(--width) + 4px);padding:var(--margin);white-space:nowrap;text-overflow:ellipsis}","",{version:3,sources:["webpack://./apps/files/src/components/TemplatePreview.vue"],names:[],mappings:"AAsJC,wCACC,YAAA,CAGD,yCACC,YAAA,CAEA,kBAAA,CACA,QAAA,CACA,qBAAA,CAEA,oFACC,cAAA,CACA,gBAAA,CAGD,iDACC,uBAAA,CAIF,2CACC,aAAA,CACA,eAAA,CAEA,QAAA,CACA,kBAAA,CACA,wBAAA,CACA,wBAAA,CACA,SAAA,CACA,8CAAA,CACA,wCAAA,CAEA,+DACC,iCAAA,CAGD,mDAEC,YAAA,CAIF,yCACC,cAAA,CACA,6CAAA,CAEA,gBAAA,CAID,2EACC,2BAAA,CAEA,WAAA,CACA,uCAAA,CAEA,kBAAA,CAGD,yCACC,eAAA,CAEA,kCAAA,CACA,qBAAA,CACA,kBAAA,CACA,sBAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.template-picker {\n\t&__item {\n\t\tdisplay: flex;\n\t}\n\n\t&__label {\n\t\tdisplay: flex;\n\t\t// Align in the middle of the grid\n\t\talign-items: center;\n\t\tflex: 1 1;\n\t\tflex-direction: column;\n\n\t\t&, * {\n\t\t\tcursor: pointer;\n\t\t\tuser-select: none;\n\t\t}\n\n\t\t&::before {\n\t\t\tdisplay: none !important;\n\t\t}\n\t}\n\n\t&__preview {\n\t\tdisplay: block;\n\t\toverflow: hidden;\n\t\t// Stretch so all entries are the same width\n\t\tflex: 1 1;\n\t\twidth: var(--width);\n\t\tmin-height: var(--height);\n\t\tmax-height: var(--height);\n\t\tpadding: 0;\n\t\tborder: var(--border) solid var(--color-border);\n\t\tborder-radius: var(--border-radius-large);\n\n\t\tinput:checked + label > & {\n\t\t\tborder-color: var(--color-primary);\n\t\t}\n\n\t\t&--failed {\n\t\t\t// Make sure to properly center fallback icon\n\t\t\tdisplay: flex;\n\t\t}\n\t}\n\n\t&__image {\n\t\tmax-width: 100%;\n\t\tbackground-color: var(--color-main-background);\n\n\t\tobject-fit: cover;\n\t}\n\n\t// Failed preview, fallback to mime icon\n\t&__preview--failed &__image {\n\t\twidth: calc(var(--margin) * 8);\n\t\t// Center mime icon\n\t\tmargin: auto;\n\t\tbackground-color: transparent !important;\n\n\t\tobject-fit: initial;\n\t}\n\n\t&__title {\n\t\toverflow: hidden;\n\t\t// also count preview border\n\t\tmax-width: calc(var(--width) + 2*2px);\n\t\tpadding: var(--margin);\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t}\n}\n\n"],sourceRoot:""}]),n.Z=o},87375:function(e,n,t){var i=t(94015),r=t.n(i),a=t(23645),o=t.n(a)()(r());o.push([e.id,".templates-picker__form[data-v-5fe9240a]{padding:calc(var(--margin)*2);padding-bottom:0}.templates-picker__form h2[data-v-5fe9240a]{text-align:center;font-weight:bold;margin:var(--margin) 0 calc(var(--margin)*2)}.templates-picker__list[data-v-5fe9240a]{display:grid;grid-gap:calc(var(--margin)*2);grid-auto-columns:1fr;max-width:calc(var(--fullwidth)*6);grid-template-columns:repeat(auto-fit, var(--fullwidth));grid-auto-rows:1fr;justify-content:center}.templates-picker__buttons[data-v-5fe9240a]{display:flex;justify-content:space-between;padding:calc(var(--margin)*2) var(--margin);position:sticky;bottom:0;background-image:linear-gradient(0, var(--gradient-main-background))}.templates-picker__buttons button[data-v-5fe9240a],.templates-picker__buttons input[type=submit][data-v-5fe9240a]{height:44px}.templates-picker[data-v-5fe9240a] .modal-container{position:relative;overflow-y:auto !important}.templates-picker__loading[data-v-5fe9240a]{position:absolute;top:0;left:0;justify-content:center;width:100%;height:100%;margin:0;background-color:var(--color-main-background-translucent)}","",{version:3,sources:["webpack://./apps/files/src/views/TemplatePicker.vue"],names:[],mappings:"AAyPC,yCACC,6BAAA,CAEA,gBAAA,CAEA,4CACC,iBAAA,CACA,gBAAA,CACA,4CAAA,CAIF,yCACC,YAAA,CACA,8BAAA,CACA,qBAAA,CAEA,kCAAA,CACA,wDAAA,CAEA,kBAAA,CAEA,sBAAA,CAGD,4CACC,YAAA,CACA,6BAAA,CACA,2CAAA,CACA,eAAA,CACA,QAAA,CACA,oEAAA,CAEA,kHACC,WAAA,CAKF,qDACC,iBAAA,CACA,0BAAA,CAGD,4CACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,sBAAA,CACA,UAAA,CACA,WAAA,CACA,QAAA,CACA,yDAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.templates-picker {\n\t&__form {\n\t\tpadding: calc(var(--margin) * 2);\n\t\t// Will be handled by the buttons\n\t\tpadding-bottom: 0;\n\n\t\th2 {\n\t\t\ttext-align: center;\n\t\t\tfont-weight: bold;\n\t\t\tmargin: var(--margin) 0 calc(var(--margin) * 2);\n\t\t}\n\t}\n\n\t&__list {\n\t\tdisplay: grid;\n\t\tgrid-gap: calc(var(--margin) * 2);\n\t\tgrid-auto-columns: 1fr;\n\t\t// We want maximum 5 columns. Putting 6 as we don't count the grid gap. So it will always be lower than 6\n\t\tmax-width: calc(var(--fullwidth) * 6);\n\t\tgrid-template-columns: repeat(auto-fit, var(--fullwidth));\n\t\t// Make sure all rows are the same height\n\t\tgrid-auto-rows: 1fr;\n\t\t// Center the columns set\n\t\tjustify-content: center;\n\t}\n\n\t&__buttons {\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\tpadding: calc(var(--margin) * 2) var(--margin);\n\t\tposition: sticky;\n\t\tbottom: 0;\n\t\tbackground-image: linear-gradient(0, var(--gradient-main-background));\n\n\t\tbutton, input[type='submit'] {\n\t\t\theight: 44px;\n\t\t}\n\t}\n\n\t// Make sure we're relative for the loading emptycontent on top\n\t::v-deep .modal-container {\n\t\tposition: relative;\n\t\toverflow-y: auto !important;\n\t}\n\n\t&__loading {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tjustify-content: center;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tmargin: 0;\n\t\tbackground-color: var(--color-main-background-translucent);\n\t}\n}\n\n"],sourceRoot:""}]),n.Z=o}},i={};function r(e){var t=i[e];if(void 0!==t)return t.exports;var a=i[e]={id:e,loaded:!1,exports:{}};return n[e].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}r.m=n,r.amdD=function(){throw new Error("define cannot be used indirect")},r.amdO={},e=[],r.O=function(n,t,i,a){if(!t){var o=1/0;for(u=0;u<e.length;u++){t=e[u][0],i=e[u][1],a=e[u][2];for(var l=!0,s=0;s<t.length;s++)(!1&a||o>=a)&&Object.keys(r.O).every((function(e){return r.O[e](t[s])}))?t.splice(s--,1):(l=!1,a<o&&(o=a));if(l){e.splice(u--,1);var c=i();void 0!==c&&(n=c)}}return n}a=a||0;for(var u=e.length;u>0&&e[u-1][2]>a;u--)e[u]=e[u-1];e[u]=[t,i,a]},r.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(n,{a:n}),n},r.d=function(e,n){for(var t in n)r.o(n,t)&&!r.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=function(e){return e.paths=[],e.children||(e.children=[]),e},r.j=181,function(){var e={181:0};r.O.j=function(n){return 0===e[n]};var n=function(n,t){var i,a,o=t[0],l=t[1],s=t[2],c=0;for(i in l)r.o(l,i)&&(r.m[i]=l[i]);if(s)var u=s(r);for(n&&n(t);c<o.length;c++)a=o[c],r.o(e,a)&&e[a]&&e[a][0](),e[o[c]]=0;return r.O(u)},t=self.webpackChunknextcloud=self.webpackChunknextcloud||[];t.forEach(n.bind(null,0)),t.push=n.bind(null,t.push.bind(t))}();var a=r.O(void 0,[874],(function(){return r(27130)}));a=r.O(a)}();
-//# sourceMappingURL=files-main.js.map?v=b79c38d4b769b96c94bc \ No newline at end of file
+!function(){"use strict";var e,n={27130:function(e,n,i){var r=i(20144);function a(e,n){for(var t=0;t<n.length;t++){var i=n[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}var o=function(){function e(){var n,t;!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),t=void 0,(n="_settings")in this?Object.defineProperty(this,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):this[n]=t,this._settings=[],console.debug("OCA.Files.Settings initialized")}var n,t;return n=e,(t=[{key:"register",value:function(e){return this._settings.filter((function(n){return n.name===e.name})).length>0?(console.error("A setting with the same name is already registered"),!1):(this._settings.push(e),!0)}},{key:"settings",get:function(){return this._settings}}])&&a(n.prototype,t),Object.defineProperty(n,"prototype",{writable:!1}),e}(),l={name:"Setting",props:{el:{type:Function,required:!0}},mounted:function(){this.$el.appendChild(this.el())}},s=i(51900),c={name:"Settings",components:{Setting:(0,s.Z)(l,(function(){var e=this.$createElement;return(this._self._c||e)("div")}),[],!1,null,null,null).exports},data:function(){return{settings:OCA.Files.Settings.settings}}},u=(0,s.Z)(c,(function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{attrs:{id:"files-app-extra-settings"}},[e._l(e.settings,(function(e){return[t("Setting",{key:e.name,attrs:{el:e.el}})]}))],2)}),[],!1,null,"31c9bb4b",null).exports;function d(e,n){for(var t=0;t<n.length;t++){var i=n[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function p(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}var f=function(){function e(n,t){var i=t.el,r=t.open,a=t.close;!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),p(this,"_close",void 0),p(this,"_el",void 0),p(this,"_name",void 0),p(this,"_open",void 0),this._name=n,this._el=i,this._open=r,this._close=a,"function"!=typeof this._open&&(this._open=function(){}),"function"!=typeof this._close&&(this._close=function(){})}var n,t;return n=e,(t=[{key:"name",get:function(){return this._name}},{key:"el",get:function(){return this._el}},{key:"open",get:function(){return this._open}},{key:"close",get:function(){return this._close}}])&&d(n.prototype,t),Object.defineProperty(n,"prototype",{writable:!1}),e}();r.default.prototype.t=t,window.OCA.Files||(window.OCA.Files={}),Object.assign(window.OCA.Files,{Settings:new o}),Object.assign(window.OCA.Files.Settings,{Setting:f}),window.addEventListener("DOMContentLoaded",(function(){if(!window.TESTING){new r.default({el:"#files-app-settings",render:function(e){return e(u)}});var e=document.getElementById("app-settings-header");e&&e.addEventListener("click",(function(e){var n=e.currentTarget.children[0].classList.contains("opened");OCA.Files.Settings.settings.forEach((function(e){return n?e.close():e.open()}))}))}}));var m=i(17499),A=i(16453),v=i(9944),h=i(79753),g=i(22200),C=function(){var e,n,t,i,r=(null===(e=OCA)||void 0===e||null===(n=e.Files)||void 0===n||null===(t=n.App)||void 0===t||null===(i=t.currentFileList)||void 0===i?void 0:i.dirInfo)||{path:"/",name:""};return"".concat(r.path,"/").concat(r.name).replace(/\/\//gi,"/")},b=i(4820),w=i(62520),y=i(26932),_=i(97e3),k=i.n(_),x=i(47450),O=i.n(x);function E(e,n,t,i,r,a,o){try{var l=e[a](o),s=l.value}catch(e){return void t(e)}l.done?n(s):Promise.resolve(s).then(i,r)}function P(e){return function(){var n=this,t=arguments;return new Promise((function(i,r){var a=e.apply(n,t);function o(e){E(a,i,r,o,l,"next",e)}function l(e){E(a,i,r,o,l,"throw",e)}o(void 0)}))}}var F=function(){var e=P(regeneratorRuntime.mark((function e(){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,b.default.get((0,h.generateOcsUrl)("apps/files/api/v1/templates"));case 2:return n=e.sent,e.abrupt("return",n.data.ocs.data);case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),T=function(){var e=P(regeneratorRuntime.mark((function e(n,t,i){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,b.default.post((0,h.generateOcsUrl)("apps/files/api/v1/templates/create"),{filePath:n,templatePath:t,templateType:i});case 2:return r=e.sent,e.abrupt("return",r.data.ocs.data);case 4:case"end":return e.stop()}}),e)})));return function(n,t,i){return e.apply(this,arguments)}}(),B=256,S={name:"TemplatePreview",inheritAttrs:!1,props:{basename:{type:String,required:!0},checked:{type:Boolean,default:!1},fileid:{type:[String,Number],required:!0},filename:{type:String,required:!0},previewUrl:{type:String,default:null},hasPreview:{type:Boolean,default:!0},mime:{type:String,required:!0},ratio:{type:Number,default:null}},data:function(){return{failedPreview:!1}},computed:{nameWithoutExt:function(){return this.basename.indexOf(".")>-1?this.basename.split(".").slice(0,-1).join("."):this.basename},id:function(){return"template-picker-".concat(this.fileid)},realPreviewUrl:function(){return this.failedPreview&&this.mimeIcon?this.mimeIcon:this.previewUrl?this.previewUrl:(0,g.getCurrentUser)()?(0,h.generateUrl)("/core/preview?fileId=".concat(this.fileid,"&x=").concat(B,"&y=").concat(B,"&a=1")):(0,h.generateUrl)("/apps/files_sharing/publicpreview/".concat(document.getElementById("sharingToken")&&document.getElementById("sharingToken").value,"?fileId=").concat(this.fileid,"&file=").concat(function(e){var n=(e.startsWith("/")?e:"/".concat(e)).split("/"),t="";return n.forEach((function(e){""!==e&&(t+="/"+encodeURIComponent(e))})),t}(this.filename),"&x=").concat(B,"&y=").concat(B,"&a=1"))},mimeIcon:function(){return OC.MimeType.getIconUrl(this.mime)}},methods:{onCheck:function(){this.$emit("check",this.fileid)},onFailure:function(){this.failedPreview=!0}}},j=S,I=i(93379),M=i.n(I),D=i(78299),U=(M()(D.Z,{insert:"head",singleton:!1}),D.Z.locals,(0,s.Z)(j,(function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("li",{staticClass:"template-picker__item"},[t("input",{staticClass:"radio",attrs:{id:e.id,type:"radio",name:"template-picker"},domProps:{checked:e.checked},on:{change:e.onCheck}}),e._v(" "),t("label",{staticClass:"template-picker__label",attrs:{for:e.id}},[t("div",{staticClass:"template-picker__preview",class:e.failedPreview?"template-picker__preview--failed":""},[t("img",{staticClass:"template-picker__image",attrs:{src:e.realPreviewUrl,alt:"",draggable:"false"},on:{error:e.onFailure}})]),e._v(" "),t("span",{staticClass:"template-picker__title"},[e._v("\n\t\t\t"+e._s(e.nameWithoutExt)+"\n\t\t")])])])}),[],!1,null,"440aea22",null).exports);function L(e,n,t,i,r,a,o){try{var l=e[a](o),s=l.value}catch(e){return void t(e)}l.done?n(s):Promise.resolve(s).then(i,r)}function R(e){return function(){var n=this,t=arguments;return new Promise((function(i,r){var a=e.apply(n,t);function o(e){L(a,i,r,o,l,"next",e)}function l(e){L(a,i,r,o,l,"throw",e)}o(void 0)}))}}var q={name:"TemplatePicker",components:{EmptyContent:k(),Modal:O(),TemplatePreview:U},props:{logger:{type:Object,required:!0}},data:function(){return{checked:-1,loading:!1,name:null,opened:!1,provider:null}},computed:{nameWithoutExt:function(){return this.name.indexOf(".")>-1?this.name.split(".").slice(0,-1).join("."):this.name},emptyTemplate:function(){var e,n;return{basename:t("files","Blank"),fileid:-1,filename:this.t("files","Blank"),hasPreview:!1,mime:(null===(e=this.provider)||void 0===e?void 0:e.mimetypes[0])||(null===(n=this.provider)||void 0===n?void 0:n.mimetypes)}},selectedTemplate:function(){var e=this;return this.provider.templates.find((function(n){return n.fileid===e.checked}))},style:function(){return{"--margin":"8px","--width":"160px","--border":"2px","--fullwidth":"180px","--height":this.provider.ratio?Math.round(160/this.provider.ratio)+"px":null}}},methods:{open:function(e,n){var t=this;return R(regeneratorRuntime.mark((function i(){var r,a;return regeneratorRuntime.wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return t.checked=t.emptyTemplate.fileid,t.name=e,t.provider=n,i.next=5,F();case 5:if(r=i.sent,null!==(a=r.find((function(e){return e.app===n.app&&e.label===n.label})))){i.next=9;break}throw new Error("Failed to match provider in results");case 9:if(t.provider=a,0!==a.templates.length){i.next=13;break}return t.onSubmit(),i.abrupt("return");case 13:t.opened=!0;case 14:case"end":return i.stop()}}),i)})))()},close:function(){this.checked=this.emptyTemplate.fileid,this.loading=!1,this.name=null,this.opened=!1,this.provider=null},onCheck:function(e){this.checked=e},onSubmit:function(){var e=this;return R(regeneratorRuntime.mark((function n(){var t,i,r,a,o,l,s,c,u,d,p,f;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return e.loading=!0,a=C(),o=null===(t=OCA)||void 0===t||null===(i=t.Files)||void 0===i||null===(r=i.App)||void 0===r?void 0:r.currentFileList,e.nameWithoutExt===e.name&&(e.logger.debug("Fixed invalid filename",{name:e.name,extension:null===(l=e.provider)||void 0===l?void 0:l.extension}),e.name=e.name+(null===(s=e.provider)||void 0===s?void 0:s.extension)),n.prev=4,n.next=7,T((0,w.normalize)("".concat(a,"/").concat(e.name)),null===(c=e.selectedTemplate)||void 0===c?void 0:c.filename,null===(u=e.selectedTemplate)||void 0===u?void 0:u.templateType);case 7:return d=n.sent,e.logger.debug("Created new file",d),n.next=11,null==o?void 0:o.addAndFetchFileInfo(e.name).then((function(e,n){return n}));case 11:p=n.sent,f=new OCA.Files.FileInfoModel(p,{filesClient:null==o?void 0:o.filesClient}),OCA.Files.fileActions.getDefaultFileAction(d.mime,"file",OC.PERMISSION_ALL).action(d.basename,{$file:null==o?void 0:o.findFileEl(e.name),dir:a,fileList:o,fileActions:null==o?void 0:o.fileActions,fileInfoModel:f}),e.close(),n.next=23;break;case 18:n.prev=18,n.t0=n.catch(4),e.logger.error("Error while creating the new file from template"),console.error(n.t0),(0,y.x2)(e.t("files","Unable to create new file from template"));case 23:return n.prev=23,e.loading=!1,n.finish(23);case 26:case"end":return n.stop()}}),n,null,[[4,18,23,26]])})))()}}},W=q,N=i(87375),Z=(M()(N.Z,{insert:"head",singleton:!1}),N.Z.locals,(0,s.Z)(W,(function(){var e=this,n=e.$createElement,t=e._self._c||n;return e.opened?t("Modal",{staticClass:"templates-picker",attrs:{"clear-view-delay":-1,size:"large"},on:{close:e.close}},[t("form",{staticClass:"templates-picker__form",style:e.style,on:{submit:function(n){return n.preventDefault(),n.stopPropagation(),e.onSubmit.apply(null,arguments)}}},[t("h2",[e._v(e._s(e.t("files","Pick a template for {name}",{name:e.nameWithoutExt})))]),e._v(" "),t("ul",{staticClass:"templates-picker__list"},[t("TemplatePreview",e._b({attrs:{checked:e.checked===e.emptyTemplate.fileid},on:{check:e.onCheck}},"TemplatePreview",e.emptyTemplate,!1)),e._v(" "),e._l(e.provider.templates,(function(n){return t("TemplatePreview",e._b({key:n.fileid,attrs:{checked:e.checked===n.fileid,ratio:e.provider.ratio},on:{check:e.onCheck}},"TemplatePreview",n,!1))}))],2),e._v(" "),t("div",{staticClass:"templates-picker__buttons"},[t("button",{on:{click:e.close}},[e._v("\n\t\t\t\t"+e._s(e.t("files","Cancel"))+"\n\t\t\t")]),e._v(" "),t("input",{staticClass:"primary",attrs:{type:"submit","aria-label":e.t("files","Create a new file with the selected template")},domProps:{value:e.t("files","Create")}})])]),e._v(" "),e.loading?t("EmptyContent",{staticClass:"templates-picker__loading",attrs:{icon:"icon-loading"}},[e._v("\n\t\t"+e._s(e.t("files","Creating file"))+"\n\t")]):e._e()],1):e._e()}),[],!1,null,"5fe9240a",null)),$=Z.exports;function z(e,n,t,i,r,a,o){try{var l=e[a](o),s=l.value}catch(e){return void t(e)}l.done?n(s):Promise.resolve(s).then(i,r)}var G=(0,m.getLoggerBuilder)().setApp("files").detectUser().build();r.default.mixin({methods:{t:v.translate,n:v.translatePlural}});var Y=document.createElement("div");Y.id="template-picker",document.body.appendChild(Y);var Q=(0,A.loadState)("files","templates",[]),H=(0,A.loadState)("files","templates_path",!1);G.debug("Templates providers",Q),G.debug("Templates folder",{templatesPath:H});var K=new(r.default.extend($))({name:"TemplatePicker",propsData:{logger:G}});K.$mount("#template-picker"),window.addEventListener("DOMContentLoaded",(function(){if(!H){G.debug("Templates folder not initialized");var e={attach:function(e){e.addMenuEntry({id:"template-init",displayName:(0,v.translate)("files","Set up templates folder"),templateName:(0,v.translate)("files","Templates"),iconClass:"icon-template-add",fileType:"file",actionHandler:function(n){V(n),e.removeMenuEntry("template-init")}})}};OC.Plugins.register("OCA.Files.NewFileMenu",e)}})),Q.forEach((function(e,n){var t={attach:function(t){var i=t.fileList;"files"!==i.id&&"files.public"!==i.id||t.addMenuEntry({id:"template-new-".concat(e.app,"-").concat(n),displayName:e.label,templateName:e.label+e.extension,iconClass:e.iconClass||"icon-file",fileType:"file",actionHandler:function(n){K.open(n,e)}})}};OC.Plugins.register("OCA.Files.NewFileMenu",t)}));var J,V=function(){var e,n=(e=regeneratorRuntime.mark((function e(n){var t,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=(C()+"/".concat(n)).replace("//","/"),e.prev=1,G.debug("Initializing the templates directory",{templatePath:t}),e.next=5,b.default.post((0,h.generateOcsUrl)("apps/files/api/v1/templates/path"),{templatePath:t,copySystemTemplates:!0});case 5:i=e.sent,OCA.Files.App.currentFileList.changeDirectory(t,!0,!0),Q=i.data.ocs.data.templates,H=i.data.ocs.data.template_path,e.next=15;break;case 11:e.prev=11,e.t0=e.catch(1),G.error("Unable to initialize the templates directory"),(0,y.x2)((0,v.translate)("files","Unable to initialize the templates directory"));case 15:case"end":return e.stop()}}),e,null,[[1,11]])})),function(){var n=this,t=arguments;return new Promise((function(i,r){var a=e.apply(n,t);function o(e){z(a,i,r,o,l,"next",e)}function l(e){z(a,i,r,o,l,"throw",e)}o(void 0)}))});return function(e){return n.apply(this,arguments)}}(),X=i(74854);J={attach:function(e){var n=this;(0,X.subscribe)("nextcloud:unified-search.search",(function(n){var t=n.query;e.setFilter(t)})),(0,X.subscribe)("nextcloud:unified-search.reset",(function(){n.query=null,e.setFilter("")}))}},window.OC.Plugins.register("OCA.Files.FileList",J)},78299:function(e,n,t){var i=t(94015),r=t.n(i),a=t(23645),o=t.n(a)()(r());o.push([e.id,".template-picker__item[data-v-440aea22]{display:flex}.template-picker__label[data-v-440aea22]{display:flex;align-items:center;flex:1 1;flex-direction:column}.template-picker__label[data-v-440aea22],.template-picker__label *[data-v-440aea22]{cursor:pointer;user-select:none}.template-picker__label[data-v-440aea22]::before{display:none !important}.template-picker__preview[data-v-440aea22]{display:block;overflow:hidden;flex:1 1;width:var(--width);min-height:var(--height);max-height:var(--height);padding:0;border:var(--border) solid var(--color-border);border-radius:var(--border-radius-large)}input:checked+label>.template-picker__preview[data-v-440aea22]{border-color:var(--color-primary)}.template-picker__preview--failed[data-v-440aea22]{display:flex}.template-picker__image[data-v-440aea22]{max-width:100%;background-color:var(--color-main-background);object-fit:cover}.template-picker__preview--failed .template-picker__image[data-v-440aea22]{width:calc(var(--margin)*8);margin:auto;background-color:transparent !important;object-fit:initial}.template-picker__title[data-v-440aea22]{overflow:hidden;max-width:calc(var(--width) + 4px);padding:var(--margin);white-space:nowrap;text-overflow:ellipsis}","",{version:3,sources:["webpack://./apps/files/src/components/TemplatePreview.vue"],names:[],mappings:"AAsJC,wCACC,YAAA,CAGD,yCACC,YAAA,CAEA,kBAAA,CACA,QAAA,CACA,qBAAA,CAEA,oFACC,cAAA,CACA,gBAAA,CAGD,iDACC,uBAAA,CAIF,2CACC,aAAA,CACA,eAAA,CAEA,QAAA,CACA,kBAAA,CACA,wBAAA,CACA,wBAAA,CACA,SAAA,CACA,8CAAA,CACA,wCAAA,CAEA,+DACC,iCAAA,CAGD,mDAEC,YAAA,CAIF,yCACC,cAAA,CACA,6CAAA,CAEA,gBAAA,CAID,2EACC,2BAAA,CAEA,WAAA,CACA,uCAAA,CAEA,kBAAA,CAGD,yCACC,eAAA,CAEA,kCAAA,CACA,qBAAA,CACA,kBAAA,CACA,sBAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.template-picker {\n\t&__item {\n\t\tdisplay: flex;\n\t}\n\n\t&__label {\n\t\tdisplay: flex;\n\t\t// Align in the middle of the grid\n\t\talign-items: center;\n\t\tflex: 1 1;\n\t\tflex-direction: column;\n\n\t\t&, * {\n\t\t\tcursor: pointer;\n\t\t\tuser-select: none;\n\t\t}\n\n\t\t&::before {\n\t\t\tdisplay: none !important;\n\t\t}\n\t}\n\n\t&__preview {\n\t\tdisplay: block;\n\t\toverflow: hidden;\n\t\t// Stretch so all entries are the same width\n\t\tflex: 1 1;\n\t\twidth: var(--width);\n\t\tmin-height: var(--height);\n\t\tmax-height: var(--height);\n\t\tpadding: 0;\n\t\tborder: var(--border) solid var(--color-border);\n\t\tborder-radius: var(--border-radius-large);\n\n\t\tinput:checked + label > & {\n\t\t\tborder-color: var(--color-primary);\n\t\t}\n\n\t\t&--failed {\n\t\t\t// Make sure to properly center fallback icon\n\t\t\tdisplay: flex;\n\t\t}\n\t}\n\n\t&__image {\n\t\tmax-width: 100%;\n\t\tbackground-color: var(--color-main-background);\n\n\t\tobject-fit: cover;\n\t}\n\n\t// Failed preview, fallback to mime icon\n\t&__preview--failed &__image {\n\t\twidth: calc(var(--margin) * 8);\n\t\t// Center mime icon\n\t\tmargin: auto;\n\t\tbackground-color: transparent !important;\n\n\t\tobject-fit: initial;\n\t}\n\n\t&__title {\n\t\toverflow: hidden;\n\t\t// also count preview border\n\t\tmax-width: calc(var(--width) + 2*2px);\n\t\tpadding: var(--margin);\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t}\n}\n\n"],sourceRoot:""}]),n.Z=o},87375:function(e,n,t){var i=t(94015),r=t.n(i),a=t(23645),o=t.n(a)()(r());o.push([e.id,".templates-picker__form[data-v-5fe9240a]{padding:calc(var(--margin)*2);padding-bottom:0}.templates-picker__form h2[data-v-5fe9240a]{text-align:center;font-weight:bold;margin:var(--margin) 0 calc(var(--margin)*2)}.templates-picker__list[data-v-5fe9240a]{display:grid;grid-gap:calc(var(--margin)*2);grid-auto-columns:1fr;max-width:calc(var(--fullwidth)*6);grid-template-columns:repeat(auto-fit, var(--fullwidth));grid-auto-rows:1fr;justify-content:center}.templates-picker__buttons[data-v-5fe9240a]{display:flex;justify-content:space-between;padding:calc(var(--margin)*2) var(--margin);position:sticky;bottom:0;background-image:linear-gradient(0, var(--gradient-main-background))}.templates-picker__buttons button[data-v-5fe9240a],.templates-picker__buttons input[type=submit][data-v-5fe9240a]{height:44px}.templates-picker[data-v-5fe9240a] .modal-container{position:relative;overflow-y:auto !important}.templates-picker__loading[data-v-5fe9240a]{position:absolute;top:0;left:0;justify-content:center;width:100%;height:100%;margin:0;background-color:var(--color-main-background-translucent)}","",{version:3,sources:["webpack://./apps/files/src/views/TemplatePicker.vue"],names:[],mappings:"AAyPC,yCACC,6BAAA,CAEA,gBAAA,CAEA,4CACC,iBAAA,CACA,gBAAA,CACA,4CAAA,CAIF,yCACC,YAAA,CACA,8BAAA,CACA,qBAAA,CAEA,kCAAA,CACA,wDAAA,CAEA,kBAAA,CAEA,sBAAA,CAGD,4CACC,YAAA,CACA,6BAAA,CACA,2CAAA,CACA,eAAA,CACA,QAAA,CACA,oEAAA,CAEA,kHACC,WAAA,CAKF,qDACC,iBAAA,CACA,0BAAA,CAGD,4CACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,sBAAA,CACA,UAAA,CACA,WAAA,CACA,QAAA,CACA,yDAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.templates-picker {\n\t&__form {\n\t\tpadding: calc(var(--margin) * 2);\n\t\t// Will be handled by the buttons\n\t\tpadding-bottom: 0;\n\n\t\th2 {\n\t\t\ttext-align: center;\n\t\t\tfont-weight: bold;\n\t\t\tmargin: var(--margin) 0 calc(var(--margin) * 2);\n\t\t}\n\t}\n\n\t&__list {\n\t\tdisplay: grid;\n\t\tgrid-gap: calc(var(--margin) * 2);\n\t\tgrid-auto-columns: 1fr;\n\t\t// We want maximum 5 columns. Putting 6 as we don't count the grid gap. So it will always be lower than 6\n\t\tmax-width: calc(var(--fullwidth) * 6);\n\t\tgrid-template-columns: repeat(auto-fit, var(--fullwidth));\n\t\t// Make sure all rows are the same height\n\t\tgrid-auto-rows: 1fr;\n\t\t// Center the columns set\n\t\tjustify-content: center;\n\t}\n\n\t&__buttons {\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\tpadding: calc(var(--margin) * 2) var(--margin);\n\t\tposition: sticky;\n\t\tbottom: 0;\n\t\tbackground-image: linear-gradient(0, var(--gradient-main-background));\n\n\t\tbutton, input[type='submit'] {\n\t\t\theight: 44px;\n\t\t}\n\t}\n\n\t// Make sure we're relative for the loading emptycontent on top\n\t::v-deep .modal-container {\n\t\tposition: relative;\n\t\toverflow-y: auto !important;\n\t}\n\n\t&__loading {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tjustify-content: center;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tmargin: 0;\n\t\tbackground-color: var(--color-main-background-translucent);\n\t}\n}\n\n"],sourceRoot:""}]),n.Z=o}},i={};function r(e){var t=i[e];if(void 0!==t)return t.exports;var a=i[e]={id:e,loaded:!1,exports:{}};return n[e].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}r.m=n,r.amdD=function(){throw new Error("define cannot be used indirect")},r.amdO={},e=[],r.O=function(n,t,i,a){if(!t){var o=1/0;for(u=0;u<e.length;u++){t=e[u][0],i=e[u][1],a=e[u][2];for(var l=!0,s=0;s<t.length;s++)(!1&a||o>=a)&&Object.keys(r.O).every((function(e){return r.O[e](t[s])}))?t.splice(s--,1):(l=!1,a<o&&(o=a));if(l){e.splice(u--,1);var c=i();void 0!==c&&(n=c)}}return n}a=a||0;for(var u=e.length;u>0&&e[u-1][2]>a;u--)e[u]=e[u-1];e[u]=[t,i,a]},r.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(n,{a:n}),n},r.d=function(e,n){for(var t in n)r.o(n,t)&&!r.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=function(e){return e.paths=[],e.children||(e.children=[]),e},r.j=181,function(){var e={181:0};r.O.j=function(n){return 0===e[n]};var n=function(n,t){var i,a,o=t[0],l=t[1],s=t[2],c=0;for(i in l)r.o(l,i)&&(r.m[i]=l[i]);if(s)var u=s(r);for(n&&n(t);c<o.length;c++)a=o[c],r.o(e,a)&&e[a]&&e[a][0](),e[o[c]]=0;return r.O(u)},t=self.webpackChunknextcloud=self.webpackChunknextcloud||[];t.forEach(n.bind(null,0)),t.push=n.bind(null,t.push.bind(t))}();var a=r.O(void 0,[874],(function(){return r(27130)}));a=r.O(a)}();
+//# sourceMappingURL=files-main.js.map?v=81f558f6d075a808068f \ No newline at end of file
diff --git a/dist/files-main.js.map b/dist/files-main.js.map
index cfd760f6837..8ec07468911 100644
--- a/dist/files-main.js.map
+++ b/dist/files-main.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/apps/files/src/services/Settings.js","webpack:///nextcloud/apps/files/src/components/Setting.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/files/src/components/Setting.vue","webpack:///nextcloud/apps/files/src/views/Settings.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/files/src/views/Settings.vue","webpack://nextcloud/./apps/files/src/components/Setting.vue?98ea","webpack:///nextcloud/apps/files/src/components/Setting.vue?vue&type=template&id=47cd8aa6&","webpack://nextcloud/./apps/files/src/views/Settings.vue?b81b","webpack:///nextcloud/apps/files/src/views/Settings.vue?vue&type=template&id=31c9bb4b&scoped=true&","webpack:///nextcloud/apps/files/src/models/Setting.js","webpack:///nextcloud/apps/files/src/files-app-settings.js","webpack:///nextcloud/apps/files/src/utils/davUtils.js","webpack:///nextcloud/apps/files/src/services/Templates.js","webpack:///nextcloud/apps/files/src/components/TemplatePreview.vue","webpack:///nextcloud/apps/files/src/utils/fileUtils.js","webpack:///nextcloud/apps/files/src/components/TemplatePreview.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/files/src/components/TemplatePreview.vue?81db","webpack://nextcloud/./apps/files/src/components/TemplatePreview.vue?ab98","webpack:///nextcloud/apps/files/src/components/TemplatePreview.vue?vue&type=template&id=440aea22&scoped=true&","webpack:///nextcloud/apps/files/src/views/TemplatePicker.vue","webpack:///nextcloud/apps/files/src/views/TemplatePicker.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/files/src/views/TemplatePicker.vue?afd8","webpack://nextcloud/./apps/files/src/views/TemplatePicker.vue?f1bc","webpack:///nextcloud/apps/files/src/views/TemplatePicker.vue?vue&type=template&id=5fe9240a&scoped=true&","webpack:///nextcloud/apps/files/src/templates.js","webpack:///nextcloud/apps/files/src/legacy/filelistSearch.js","webpack:///nextcloud/apps/files/src/components/TemplatePreview.vue?vue&type=style&index=0&id=440aea22&lang=scss&scoped=true&","webpack:///nextcloud/apps/files/src/views/TemplatePicker.vue?vue&type=style&index=0&id=5fe9240a&lang=scss&scoped=true&","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/amd define","webpack:///nextcloud/webpack/runtime/amd options","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/startup"],"names":["deferred","Settings","this","_settings","console","debug","view","filter","e","name","length","error","push","_h","$createElement","_self","_c","_vm","attrs","_l","setting","key","el","Setting","open","close","_name","_el","_open","_close","Vue","t","window","OCA","Files","Object","assign","addEventListener","render","h","SettingsView","appSettingsHeader","document","getElementById","opened","currentTarget","children","classList","contains","settings","forEach","getCurrentDirectory","currentDirInfo","App","currentFileList","dirInfo","path","replace","getTemplates","axios","generateOcsUrl","response","data","ocs","createFromTemplate","filePath","templatePath","templateType","getCurrentUser","value","pathSections","startsWith","split","relativePath","section","encodeURIComponent","options","staticClass","id","domProps","checked","on","onCheck","_v","class","failedPreview","realPreviewUrl","onFailure","_s","nameWithoutExt","style","$event","preventDefault","stopPropagation","onSubmit","apply","arguments","_b","emptyTemplate","fileid","provider","template","ratio","_e","logger","getLoggerBuilder","setApp","detectUser","build","methods","n","TemplatePickerRoot","createElement","body","appendChild","templates","loadState","templatesPath","TemplatePicker","TemplatePickerView","propsData","$mount","initTemplatesPlugin","attach","menu","addMenuEntry","displayName","templateName","iconClass","fileType","actionHandler","initTemplatesFolder","removeMenuEntry","OC","Plugins","register","index","newTemplatePlugin","fileList","app","label","extension","FilesPlugin","copySystemTemplates","changeDirectory","template_path","showError","subscribe","query","setFilter","___CSS_LOADER_EXPORT___","module","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","loaded","__webpack_modules__","call","m","amdD","Error","amdO","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","keys","every","splice","r","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","g","globalThis","Function","obj","prop","prototype","hasOwnProperty","Symbol","toStringTag","nmd","paths","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","bind","__webpack_exports__"],"mappings":";6BAAIA,E,kNCsBiBC,E,WAIpB,a,qGAAc,S,OAAA,G,EAAA,oB,sBAAA,K,uDAAA,K,KACbC,KAAKC,UAAY,GACjBC,QAAQC,MAAM,kC,6CAUf,SAASC,GACR,OAAIJ,KAAKC,UAAUI,QAAO,SAAAC,GAAC,OAAIA,EAAEC,OAASH,EAAKG,QAAMC,OAAS,GAC7DN,QAAQO,MAAM,uDACP,IAERT,KAAKC,UAAUS,KAAKN,IACb,K,oBAQR,WACC,OAAOJ,KAAKC,e,yECrDsK,EC0BpL,CACA,eACA,OACA,IACA,cACA,cAGA,QARA,WASA,kC,WCnCqL,ECgCrL,CACA,gBACA,YACA,SC5BgB,OACd,GCRW,WAAa,IAAiBU,EAATX,KAAgBY,eAAuC,OAAvDZ,KAA0Ca,MAAMC,IAAIH,GAAa,SAC7E,IDUpB,EACA,KACA,KACA,M,SDuBF,KALA,WAMA,OACA,wCGrBA,GAXgB,OACd,GCRW,WAAa,IAAII,EAAIf,KAASW,EAAGI,EAAIH,eAAmBE,EAAGC,EAAIF,MAAMC,IAAIH,EAAG,OAAOG,EAAG,MAAM,CAACE,MAAM,CAAC,GAAK,6BAA6B,CAACD,EAAIE,GAAIF,EAAY,UAAE,SAASG,GAAS,MAAO,CAACJ,EAAG,UAAU,CAACK,IAAID,EAAQX,KAAKS,MAAM,CAAC,GAAKE,EAAQE,WAAU,KAC3O,IDUpB,EACA,KACA,WACA,M,0SESmBC,E,WAgBpB,WAAYd,EAAZ,GAAuC,IAAnBa,EAAmB,EAAnBA,GAAIE,EAAe,EAAfA,KAAMC,EAAS,EAATA,O,4FAAS,oGACtCvB,KAAKwB,MAAQjB,EACbP,KAAKyB,IAAML,EACXpB,KAAK0B,MAAQJ,EACbtB,KAAK2B,OAASJ,EAEY,mBAAfvB,KAAK0B,QACf1B,KAAK0B,MAAQ,cAGa,mBAAhB1B,KAAK2B,SACf3B,KAAK2B,OAAS,c,uCAIhB,WACC,OAAO3B,KAAKwB,Q,cAGb,WACC,OAAOxB,KAAKyB,M,gBAGb,WACC,OAAOzB,KAAK0B,Q,iBAGb,WACC,OAAO1B,KAAK2B,Y,yECtCdC,sBAAkBC,EAGbC,OAAOC,IAAIC,QACfF,OAAOC,IAAIC,MAAQ,IAEpBC,OAAOC,OAAOJ,OAAOC,IAAIC,MAAO,CAAEjC,SAAU,IAAIA,IAChDkC,OAAOC,OAAOJ,OAAOC,IAAIC,MAAMjC,SAAU,CAAEsB,YAE3CS,OAAOK,iBAAiB,oBAAoB,WAG3C,IAAIP,UAAI,CACPR,GAAI,sBACJgB,OAAQ,SAAAC,GAAC,OAAIA,EAAEC,MAGhB,IAAMC,EAAoBC,SAASC,eAAe,uBAC9CF,GACHA,EAAkBJ,iBAAiB,SAAS,SAAA7B,GAC3C,IAAMoC,EAASpC,EAAEqC,cAAcC,SAAS,GAAGC,UAAUC,SAAS,UAC9Df,IAAIC,MAAMjC,SAASgD,SAASC,SAAQ,SAAA1C,GAAC,OAAIoC,EAASpC,EAAEiB,QAAUjB,EAAEgB,gB,0DCJtD2B,EAAsB,WAAW,YACvCC,GAAoB,QAAH,EAAAnB,WAAA,mBAAKC,aAAL,mBAAYmB,WAAZ,mBAAiBC,uBAAjB,eAAkCC,UACrD,CAAEC,KAAM,IAAK/C,KAAM,IAGvB,MAAO,UAAG2C,EAAeI,KAAlB,YAA0BJ,EAAe3C,MAAOgD,QAAQ,SAAU,M,mYC1BnE,IAAMC,EAAY,4CAAG,mHACJC,eAAUC,oBAAe,gCADrB,cACrBC,EADqB,yBAEpBA,EAASC,KAAKC,IAAID,MAFE,2CAAH,qDAYZE,EAAkB,4CAAG,WAAeC,EAAUC,EAAcC,GAAvC,sGACVR,gBAAWC,oBAAe,sCAAuC,CACvFK,WACAC,eACAC,iBAJgC,cAC3BN,EAD2B,yBAM1BA,EAASC,KAAKC,IAAID,MANQ,2CAAH,0DCiB/B,MAEA,GACA,uBACA,gBAEA,OACA,UACA,YACA,aAEA,SACA,aACA,YAEA,QACA,qBACA,aAEA,UACA,YACA,aAEA,YACA,YACA,cAEA,YACA,aACA,YAEA,MACA,YACA,aAEA,OACA,YACA,eAIA,KAvCA,WAwCA,OACA,mBAIA,UAMA,eANA,WAOA,mGAGA,GAVA,WAWA,8CAGA,eAdA,WAgBA,yCACA,cAGA,gBACA,iBFxFSM,uBE8FT,sGAFA,6DFxFQ1B,SAASC,eAAe,iBAAmBD,SAASC,eAAe,gBAAgB0B,MEwF3F,gDCxGuB,SAASb,GAC/B,IAAMc,GAAgBd,EAAKe,WAAW,KAAOf,EAAvB,WAAkCA,IAAQgB,MAAM,KAClEC,EAAe,GAMnB,OALAH,EAAapB,SAAQ,SAACwB,GACL,KAAZA,IACHD,GAAgB,IAAME,mBAAmBD,OAGpCD,EDgGR,0DAKA,SA9BA,WA+BA,2CAIA,SACA,QADA,WAEA,iCAEA,UAJA,WAKA,yBE7I4L,I,+BCmB5L,GCXa,IAAI,IALH,CAEdG,OAAiB,OACjBA,WAAoB,IAML,YDJC,OACd,GETW,WAAa,IAAI3D,EAAIf,KAASW,EAAGI,EAAIH,eAAmBE,EAAGC,EAAIF,MAAMC,IAAIH,EAAG,OAAOG,EAAG,KAAK,CAAC6D,YAAY,yBAAyB,CAAC7D,EAAG,QAAQ,CAAC6D,YAAY,QAAQ3D,MAAM,CAAC,GAAKD,EAAI6D,GAAG,KAAO,QAAQ,KAAO,mBAAmBC,SAAS,CAAC,QAAU9D,EAAI+D,SAASC,GAAG,CAAC,OAAShE,EAAIiE,WAAWjE,EAAIkE,GAAG,KAAKnE,EAAG,QAAQ,CAAC6D,YAAY,yBAAyB3D,MAAM,CAAC,IAAMD,EAAI6D,KAAK,CAAC9D,EAAG,MAAM,CAAC6D,YAAY,2BAA2BO,MAAMnE,EAAIoE,cAAgB,mCAAqC,IAAI,CAACrE,EAAG,MAAM,CAAC6D,YAAY,yBAAyB3D,MAAM,CAAC,IAAMD,EAAIqE,eAAe,IAAM,GAAG,UAAY,SAASL,GAAG,CAAC,MAAQhE,EAAIsE,eAAetE,EAAIkE,GAAG,KAAKnE,EAAG,OAAO,CAAC6D,YAAY,0BAA0B,CAAC5D,EAAIkE,GAAG,WAAWlE,EAAIuE,GAAGvE,EAAIwE,gBAAgB,kBACltB,IFWpB,EACA,KACA,WACA,M,qUG8DF,IAIA,GACA,sBAEA,YACA,iBACA,UACA,mBAGA,OACA,QACA,YACA,cAIA,KAhBA,WAiBA,OAEA,WACA,WACA,UACA,UACA,gBAIA,UAMA,eANA,WAOA,iCACA,2CACA,WAGA,cAZA,WAYA,QACA,OACA,4BACA,UACA,iCACA,cACA,+HAIA,iBAtBA,WAsBA,WACA,iFAQA,MA/BA,WAgCA,OACA,iBACA,kBACA,iBACA,sBACA,0CAlEA,IAkEA,kCAKA,SAOA,KAPA,SAOA,8JAEA,iCACA,SACA,aAJA,SAMA,IANA,UAMA,EANA,OAQA,QADA,kEAPA,sBASA,iDATA,UAWA,aAGA,uBAdA,wBAeA,aAfA,2BAoBA,YApBA,+CA0BA,MAjCA,WAkCA,uCACA,gBACA,eACA,eACA,oBAQA,QA9CA,SA8CA,GACA,gBAGA,SAlDA,WAkDA,6KACA,aACA,MACA,EAHA,UAGA,WAHA,iBAGA,eAHA,iBAGA,aAHA,aAGA,kBAGA,4BACA,sHACA,sEARA,kBAYA,GACA,gDADA,UAEA,0BAFA,aAEA,WAFA,UAGA,0BAHA,aAGA,gBAfA,cAYA,EAZA,OAiBA,qCAjBA,UAmBA,aAnBA,EAmBA,8DAnBA,QAmBA,EAnBA,OAqBA,iCACA,2CAGA,4EACA,mBACA,0CACA,MACA,WACA,yCACA,kBAGA,UAlCA,kDAoCA,kEACA,qBACA,gEAtCA,yBAwCA,aAxCA,kFCxM2L,I,WCQvL,GCAS,IAAI,IALH,CAEd,OAAiB,OACjB,WAAoB,IAML,YDJC,OACd,GETW,WAAa,IAAIxE,EAAIf,KAASW,EAAGI,EAAIH,eAAmBE,EAAGC,EAAIF,MAAMC,IAAIH,EAAG,OAAQI,EAAU,OAAED,EAAG,QAAQ,CAAC6D,YAAY,mBAAmB3D,MAAM,CAAC,oBAAoB,EAAE,KAAO,SAAS+D,GAAG,CAAC,MAAQhE,EAAIQ,QAAQ,CAACT,EAAG,OAAO,CAAC6D,YAAY,yBAAyBa,MAAOzE,EAAS,MAAEgE,GAAG,CAAC,OAAS,SAASU,GAAyD,OAAjDA,EAAOC,iBAAiBD,EAAOE,kBAAyB5E,EAAI6E,SAASC,MAAM,KAAMC,cAAc,CAAChF,EAAG,KAAK,CAACC,EAAIkE,GAAGlE,EAAIuE,GAAGvE,EAAIc,EAAE,QAAS,6BAA8B,CAAEtB,KAAMQ,EAAIwE,qBAAsBxE,EAAIkE,GAAG,KAAKnE,EAAG,KAAK,CAAC6D,YAAY,0BAA0B,CAAC7D,EAAG,kBAAkBC,EAAIgF,GAAG,CAAC/E,MAAM,CAAC,QAAUD,EAAI+D,UAAY/D,EAAIiF,cAAcC,QAAQlB,GAAG,CAAC,MAAQhE,EAAIiE,UAAU,kBAAkBjE,EAAIiF,eAAc,IAAQjF,EAAIkE,GAAG,KAAKlE,EAAIE,GAAIF,EAAImF,SAAkB,WAAE,SAASC,GAAU,OAAOrF,EAAG,kBAAkBC,EAAIgF,GAAG,CAAC5E,IAAIgF,EAASF,OAAOjF,MAAM,CAAC,QAAUD,EAAI+D,UAAYqB,EAASF,OAAO,MAAQlF,EAAImF,SAASE,OAAOrB,GAAG,CAAC,MAAQhE,EAAIiE,UAAU,kBAAkBmB,GAAS,QAAW,GAAGpF,EAAIkE,GAAG,KAAKnE,EAAG,MAAM,CAAC6D,YAAY,6BAA6B,CAAC7D,EAAG,SAAS,CAACiE,GAAG,CAAC,MAAQhE,EAAIQ,QAAQ,CAACR,EAAIkE,GAAG,aAAalE,EAAIuE,GAAGvE,EAAIc,EAAE,QAAS,WAAW,cAAcd,EAAIkE,GAAG,KAAKnE,EAAG,QAAQ,CAAC6D,YAAY,UAAU3D,MAAM,CAAC,KAAO,SAAS,aAAaD,EAAIc,EAAE,QAAS,iDAAiDgD,SAAS,CAAC,MAAQ9D,EAAIc,EAAE,QAAS,iBAAiBd,EAAIkE,GAAG,KAAMlE,EAAW,QAAED,EAAG,eAAe,CAAC6D,YAAY,4BAA4B3D,MAAM,CAAC,KAAO,iBAAiB,CAACD,EAAIkE,GAAG,SAASlE,EAAIuE,GAAGvE,EAAIc,EAAE,QAAS,kBAAkB,UAAUd,EAAIsF,MAAM,GAAGtF,EAAIsF,OACpgD,IFWpB,EACA,KACA,WACA,OAIF,EAAe,E,iIGgBf,IAAMC,GAASC,wBACbC,OAAO,SACPC,aACAC,QAGF9E,gBAAU,CACT+E,QAAS,CACR9E,cACA+E,uBAKF,IAAMC,EAAqBrE,SAASsE,cAAc,OAClDD,EAAmBjC,GAAK,kBACxBpC,SAASuE,KAAKC,YAAYH,GAG1B,IAAII,GAAYC,eAAU,QAAS,YAAa,IAC5CC,GAAgBD,eAAU,QAAS,kBAAkB,GACzDZ,EAAOnG,MAAM,sBAAuB8G,GACpCX,EAAOnG,MAAM,mBAAoB,CAAEgH,kBAGnC,IACMC,EAAiB,IADVxF,iBAAWyF,GACD,CAAS,CAC/B9G,KAAM,iBACN+G,UAAW,CACVhB,YAGFc,EAAeG,OAAO,oBAGtBzF,OAAOK,iBAAiB,oBAAoB,WAC3C,IAAKgF,EAAe,CACnBb,EAAOnG,MAAM,oCACb,IAAMqH,EAAsB,CAC3BC,OAD2B,SACpBC,GAENA,EAAKC,aAAa,CACjB/C,GAAI,gBACJgD,aAAa/F,eAAE,QAAS,2BACxBgG,cAAchG,eAAE,QAAS,aACzBiG,UAAW,oBACXC,SAAU,OACVC,cANiB,SAMHzH,GACb0H,EAAoB1H,GACpBmH,EAAKQ,gBAAgB,sBAKzBC,GAAGC,QAAQC,SAAS,wBAAyBb,OAK/CP,EAAUjE,SAAQ,SAACkD,EAAUoC,GAC5B,IAAMC,EAAoB,CACzBd,OADyB,SAClBC,GACN,IAAMc,EAAWd,EAAKc,SAGF,UAAhBA,EAAS5D,IAAkC,iBAAhB4D,EAAS5D,IAKxC8C,EAAKC,aAAa,CACjB/C,GAAI,gBAAF,OAAkBsB,EAASuC,IAA3B,YAAkCH,GACpCV,YAAa1B,EAASwC,MACtBb,aAAc3B,EAASwC,MAAQxC,EAASyC,UACxCb,UAAW5B,EAAS4B,WAAa,YACjCC,SAAU,OACVC,cANiB,SAMHzH,GACb6G,EAAe9F,KAAKf,EAAM2F,QAK9BiC,GAAGC,QAAQC,SAAS,wBAAyBE,MAQ9C,ICnGOK,EDmGDX,EAAmB,e,EAAA,G,EAAA,yBAAG,WAAe1H,GAAf,+FACrByD,GAAgBf,IAAwB,IAAL,OAAS1C,IAAQgD,QAAQ,KAAM,KAD7C,SAG1B+C,EAAOnG,MAAM,uCAAwC,CAAE6D,iBAH7B,SAIHP,gBAAWC,oBAAe,oCAAqC,CACrFM,eACA6E,qBAAqB,IANI,OAIpBlF,EAJoB,OAU1B5B,IAAIC,MAAMmB,IAAIC,gBAAgB0F,gBAAgB9E,GAAc,GAAM,GAElEiD,EAAYtD,EAASC,KAAKC,IAAID,KAAKqD,UACnCE,EAAgBxD,EAASC,KAAKC,IAAID,KAAKmF,cAbb,kDAe1BzC,EAAO7F,MAAM,iDACbuI,SAAUnH,eAAE,QAAS,iDAhBK,yD,+KAAH,sD,WCnGlB+G,EAAc,CACnBnB,OADmB,SACZe,GAAU,YAChBS,eAAU,mCAAmC,YAAe,IAAZC,EAAY,EAAZA,MAC/CV,EAASW,UAAUD,OAEpBD,eAAU,kCAAkC,WAC3C,EAAKC,MAAQ,KACbV,EAASW,UAAU,SAMtBrH,OAAOqG,GAAGC,QAAQC,SAAS,qBAAsBO,I,yDCpC9CQ,E,MAA0B,GAA4B,KAE1DA,EAAwB1I,KAAK,CAAC2I,EAAOzE,GAAI,wrCAAyrC,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,6DAA6D,MAAQ,GAAG,SAAW,wYAAwY,eAAiB,CAAC,gtDAAgtD,WAAa,MAEv8G,O,yDCJIwE,E,MAA0B,GAA4B,KAE1DA,EAAwB1I,KAAK,CAAC2I,EAAOzE,GAAI,qkCAAskC,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,uDAAuD,MAAQ,GAAG,SAAW,kWAAkW,eAAiB,CAAC,i5DAAi5D,WAAa,MAEz+G,QCNI0E,EAA2B,GAG/B,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAaE,QAGrB,IAAIN,EAASC,EAAyBE,GAAY,CACjD5E,GAAI4E,EACJI,QAAQ,EACRD,QAAS,IAUV,OANAE,EAAoBL,GAAUM,KAAKT,EAAOM,QAASN,EAAQA,EAAOM,QAASJ,GAG3EF,EAAOO,QAAS,EAGTP,EAAOM,QAIfJ,EAAoBQ,EAAIF,EC5BxBN,EAAoBS,KAAO,WAC1B,MAAM,IAAIC,MAAM,mCCDjBV,EAAoBW,KAAO,G/BAvBpK,EAAW,GACfyJ,EAAoBY,EAAI,SAASC,EAAQC,EAAUC,EAAIC,GACtD,IAAGF,EAAH,CAMA,IAAIG,EAAeC,IACnB,IAASC,EAAI,EAAGA,EAAI5K,EAASU,OAAQkK,IAAK,CACrCL,EAAWvK,EAAS4K,GAAG,GACvBJ,EAAKxK,EAAS4K,GAAG,GACjBH,EAAWzK,EAAS4K,GAAG,GAE3B,IAJA,IAGIC,GAAY,EACPC,EAAI,EAAGA,EAAIP,EAAS7J,OAAQoK,MACpB,EAAXL,GAAsBC,GAAgBD,IAAatI,OAAO4I,KAAKtB,EAAoBY,GAAGW,OAAM,SAAS3J,GAAO,OAAOoI,EAAoBY,EAAEhJ,GAAKkJ,EAASO,OAC3JP,EAASU,OAAOH,IAAK,IAErBD,GAAY,EACTJ,EAAWC,IAAcA,EAAeD,IAG7C,GAAGI,EAAW,CACb7K,EAASiL,OAAOL,IAAK,GACrB,IAAIM,EAAIV,SACEZ,IAANsB,IAAiBZ,EAASY,IAGhC,OAAOZ,EAzBNG,EAAWA,GAAY,EACvB,IAAI,IAAIG,EAAI5K,EAASU,OAAQkK,EAAI,GAAK5K,EAAS4K,EAAI,GAAG,GAAKH,EAAUG,IAAK5K,EAAS4K,GAAK5K,EAAS4K,EAAI,GACrG5K,EAAS4K,GAAK,CAACL,EAAUC,EAAIC,IgCJ/BhB,EAAoB3C,EAAI,SAASyC,GAChC,IAAI4B,EAAS5B,GAAUA,EAAO6B,WAC7B,WAAa,OAAO7B,EAAgB,SACpC,WAAa,OAAOA,GAErB,OADAE,EAAoB4B,EAAEF,EAAQ,CAAEG,EAAGH,IAC5BA,GCLR1B,EAAoB4B,EAAI,SAASxB,EAAS0B,GACzC,IAAI,IAAIlK,KAAOkK,EACX9B,EAAoB+B,EAAED,EAAYlK,KAASoI,EAAoB+B,EAAE3B,EAASxI,IAC5Ec,OAAOsJ,eAAe5B,EAASxI,EAAK,CAAEqK,YAAY,EAAMC,IAAKJ,EAAWlK,MCJ3EoI,EAAoBmC,EAAI,WACvB,GAA0B,iBAAfC,WAAyB,OAAOA,WAC3C,IACC,OAAO3L,MAAQ,IAAI4L,SAAS,cAAb,GACd,MAAOtL,GACR,GAAsB,iBAAXwB,OAAqB,OAAOA,QALjB,GCAxByH,EAAoB+B,EAAI,SAASO,EAAKC,GAAQ,OAAO7J,OAAO8J,UAAUC,eAAelC,KAAK+B,EAAKC,ICC/FvC,EAAoByB,EAAI,SAASrB,GACX,oBAAXsC,QAA0BA,OAAOC,aAC1CjK,OAAOsJ,eAAe5B,EAASsC,OAAOC,YAAa,CAAE/H,MAAO,WAE7DlC,OAAOsJ,eAAe5B,EAAS,aAAc,CAAExF,OAAO,KCLvDoF,EAAoB4C,IAAM,SAAS9C,GAGlC,OAFAA,EAAO+C,MAAQ,GACV/C,EAAOzG,WAAUyG,EAAOzG,SAAW,IACjCyG,GCHRE,EAAoBqB,EAAI,I,WCKxB,IAAIyB,EAAkB,CACrB,IAAK,GAaN9C,EAAoBY,EAAES,EAAI,SAAS0B,GAAW,OAAoC,IAA7BD,EAAgBC,IAGrE,IAAIC,EAAuB,SAASC,EAA4B5I,GAC/D,IAKI4F,EAAU8C,EALVjC,EAAWzG,EAAK,GAChB6I,EAAc7I,EAAK,GACnB8I,EAAU9I,EAAK,GAGI8G,EAAI,EAC3B,IAAIlB,KAAYiD,EACZlD,EAAoB+B,EAAEmB,EAAajD,KACrCD,EAAoBQ,EAAEP,GAAYiD,EAAYjD,IAGhD,GAAGkD,EAAS,IAAItC,EAASsC,EAAQnD,GAEjC,IADGiD,GAA4BA,EAA2B5I,GACrD8G,EAAIL,EAAS7J,OAAQkK,IACzB4B,EAAUjC,EAASK,GAChBnB,EAAoB+B,EAAEe,EAAiBC,IAAYD,EAAgBC,IACrED,EAAgBC,GAAS,KAE1BD,EAAgBhC,EAASK,IAAM,EAEhC,OAAOnB,EAAoBY,EAAEC,IAG1BuC,EAAqBC,KAA4B,sBAAIA,KAA4B,uBAAK,GAC1FD,EAAmB3J,QAAQuJ,EAAqBM,KAAK,KAAM,IAC3DF,EAAmBjM,KAAO6L,EAAqBM,KAAK,KAAMF,EAAmBjM,KAAKmM,KAAKF,I,GC7CvF,IAAIG,EAAsBvD,EAAoBY,OAAET,EAAW,CAAC,MAAM,WAAa,OAAOH,EAAoB,UAC1GuD,EAAsBvD,EAAoBY,EAAE2C,G","file":"files-main.js?v=b79c38d4b769b96c94bc","sourcesContent":["var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","/**\n * @copyright Copyright (c) 2019 Gary Kim <gary@garykim.dev>\n *\n * @author Gary Kim <gary@garykim.dev>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default class Settings {\n\n\t_settings\n\n\tconstructor() {\n\t\tthis._settings = []\n\t\tconsole.debug('OCA.Files.Settings initialized')\n\t}\n\n\t/**\n\t * Register a new setting\n\t *\n\t * @since 19.0.0\n\t * @param {OCA.Files.Settings.Setting} view element to add to settings\n\t * @return {boolean} whether registering was successful\n\t */\n\tregister(view) {\n\t\tif (this._settings.filter(e => e.name === view.name).length > 0) {\n\t\t\tconsole.error('A setting with the same name is already registered')\n\t\t\treturn false\n\t\t}\n\t\tthis._settings.push(view)\n\t\treturn true\n\t}\n\n\t/**\n\t * All settings elements\n\t *\n\t * @return {OCA.Files.Settings.Setting[]} All currently registered settings\n\t */\n\tget settings() {\n\t\treturn this._settings\n\t}\n\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Setting.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!./Setting.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2020 Gary Kim <gary@garykim.dev>\n -\n - @author Gary Kim <gary@garykim.dev>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div />\n</template>\n<script>\nexport default {\n\tname: 'Setting',\n\tprops: {\n\t\tel: {\n\t\t\ttype: Function,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tmounted() {\n\t\tthis.$el.appendChild(this.el())\n\t},\n}\n</script>\n<style>\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.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!./Settings.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2019 Gary Kim <gary@garykim.dev>\n -\n - @author Gary Kim <gary@garykim.dev>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n<template>\n\t<div id=\"files-app-extra-settings\">\n\t\t<template v-for=\"setting in settings\">\n\t\t\t<Setting :key=\"setting.name\" :el=\"setting.el\" />\n\t\t</template>\n\t</div>\n</template>\n\n<script>\nimport Setting from '../components/Setting'\n\nexport default {\n\tname: 'Settings',\n\tcomponents: {\n\t\tSetting,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tsettings: OCA.Files.Settings.settings,\n\t\t}\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n</style>\n","import { render, staticRenderFns } from \"./Setting.vue?vue&type=template&id=47cd8aa6&\"\nimport script from \"./Setting.vue?vue&type=script&lang=js&\"\nexport * from \"./Setting.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 { render, staticRenderFns } from \"./Settings.vue?vue&type=template&id=31c9bb4b&scoped=true&\"\nimport script from \"./Settings.vue?vue&type=script&lang=js&\"\nexport * from \"./Settings.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 \"31c9bb4b\",\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',{attrs:{\"id\":\"files-app-extra-settings\"}},[_vm._l((_vm.settings),function(setting){return [_c('Setting',{key:setting.name,attrs:{\"el\":setting.el}})]})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2019 Gary Kim <gary@garykim.dev>\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author Gary Kim <gary@garykim.dev>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default class Setting {\n\n\t_close\n\t_el\n\t_name\n\t_open\n\n\t/**\n\t * Create a new files app setting\n\t *\n\t * @since 19.0.0\n\t * @param {string} name the name of this setting\n\t * @param {Function} component.el function that returns an unmounted dom element to be added\n\t * @param {Function} [component.open] callback for when setting is added\n\t * @param {Function} [component.close] callback for when setting is closed\n\t */\n\tconstructor(name, { el, open, close }) {\n\t\tthis._name = name\n\t\tthis._el = el\n\t\tthis._open = open\n\t\tthis._close = close\n\n\t\tif (typeof this._open !== 'function') {\n\t\t\tthis._open = () => {}\n\t\t}\n\n\t\tif (typeof this._close !== 'function') {\n\t\t\tthis._close = () => {}\n\t\t}\n\t}\n\n\tget name() {\n\t\treturn this._name\n\t}\n\n\tget el() {\n\t\treturn this._el\n\t}\n\n\tget open() {\n\t\treturn this._open\n\t}\n\n\tget close() {\n\t\treturn this._close\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Gary Kim <gary@garykim.dev>\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author Gary Kim <gary@garykim.dev>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue'\nimport Settings from './services/Settings'\nimport SettingsView from './views/Settings'\nimport Setting from './models/Setting'\n\nVue.prototype.t = t\n\n// Init Files App Settings Service\nif (!window.OCA.Files) {\n\twindow.OCA.Files = {}\n}\nObject.assign(window.OCA.Files, { Settings: new Settings() })\nObject.assign(window.OCA.Files.Settings, { Setting })\n\nwindow.addEventListener('DOMContentLoaded', function() {\n\t// Init Vue app\n\t// eslint-disable-next-line\n\tnew Vue({\n\t\tel: '#files-app-settings',\n\t\trender: h => h(SettingsView),\n\t})\n\n\tconst appSettingsHeader = document.getElementById('app-settings-header')\n\tif (appSettingsHeader) {\n\t\tappSettingsHeader.addEventListener('click', e => {\n\t\t\tconst opened = e.currentTarget.children[0].classList.contains('opened')\n\t\t\tOCA.Files.Settings.settings.forEach(e => opened ? e.close() : e.open())\n\t\t})\n\t}\n})\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { generateRemoteUrl } from '@nextcloud/router'\nimport { getCurrentUser } from '@nextcloud/auth'\n\nexport const getRootPath = function() {\n\tif (getCurrentUser()) {\n\t\treturn generateRemoteUrl(`dav/files/${getCurrentUser().uid}`)\n\t} else {\n\t\treturn generateRemoteUrl('webdav').replace('/remote.php', '/public.php')\n\t}\n}\n\nexport const isPublic = function() {\n\treturn !getCurrentUser()\n}\n\nexport const getToken = function() {\n\treturn document.getElementById('sharingToken') && document.getElementById('sharingToken').value\n}\n\n/**\n * Return the current directory, fallback to root\n *\n * @return {string}\n */\nexport const getCurrentDirectory = function() {\n\tconst currentDirInfo = OCA?.Files?.App?.currentFileList?.dirInfo\n\t\t|| { path: '/', name: '' }\n\n\t// Make sure we don't have double slashes\n\treturn `${currentDirInfo.path}/${currentDirInfo.name}`.replace(/\\/\\//gi, '/')\n}\n","/**\n * @copyright Copyright (c) 2021 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { generateOcsUrl } from '@nextcloud/router'\nimport axios from '@nextcloud/axios'\n\nexport const getTemplates = async function() {\n\tconst response = await axios.get(generateOcsUrl('apps/files/api/v1/templates'))\n\treturn response.data.ocs.data\n}\n\n/**\n * Create a new file from a specified template\n *\n * @param {string} filePath The new file destination path\n * @param {string} templatePath The template source path\n * @param {string} templateType The template type e.g 'user'\n */\nexport const createFromTemplate = async function(filePath, templatePath, templateType) {\n\tconst response = await axios.post(generateOcsUrl('apps/files/api/v1/templates/create'), {\n\t\tfilePath,\n\t\ttemplatePath,\n\t\ttemplateType,\n\t})\n\treturn response.data.ocs.data\n}\n","<!--\n - @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<li class=\"template-picker__item\">\n\t\t<input :id=\"id\"\n\t\t\t:checked=\"checked\"\n\t\t\ttype=\"radio\"\n\t\t\tclass=\"radio\"\n\t\t\tname=\"template-picker\"\n\t\t\t@change=\"onCheck\">\n\n\t\t<label :for=\"id\" class=\"template-picker__label\">\n\t\t\t<div class=\"template-picker__preview\"\n\t\t\t\t:class=\"failedPreview ? 'template-picker__preview--failed' : ''\">\n\t\t\t\t<img class=\"template-picker__image\"\n\t\t\t\t\t:src=\"realPreviewUrl\"\n\t\t\t\t\talt=\"\"\n\t\t\t\t\tdraggable=\"false\"\n\t\t\t\t\t@error=\"onFailure\">\n\t\t\t</div>\n\n\t\t\t<span class=\"template-picker__title\">\n\t\t\t\t{{ nameWithoutExt }}\n\t\t\t</span>\n\t\t</label>\n\t</li>\n</template>\n\n<script>\nimport { generateUrl } from '@nextcloud/router'\nimport { encodeFilePath } from '../utils/fileUtils'\nimport { getToken, isPublic } from '../utils/davUtils'\n\n// preview width generation\nconst previewWidth = 256\n\nexport default {\n\tname: 'TemplatePreview',\n\tinheritAttrs: false,\n\n\tprops: {\n\t\tbasename: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tchecked: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tfileid: {\n\t\t\ttype: [String, Number],\n\t\t\trequired: true,\n\t\t},\n\t\tfilename: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tpreviewUrl: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\thasPreview: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\tmime: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tratio: {\n\t\t\ttype: Number,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tfailedPreview: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Strip away extension from name\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tnameWithoutExt() {\n\t\t\treturn this.basename.indexOf('.') > -1 ? this.basename.split('.').slice(0, -1).join('.') : this.basename\n\t\t},\n\n\t\tid() {\n\t\t\treturn `template-picker-${this.fileid}`\n\t\t},\n\n\t\trealPreviewUrl() {\n\t\t\t// If original preview failed, fallback to mime icon\n\t\t\tif (this.failedPreview && this.mimeIcon) {\n\t\t\t\treturn this.mimeIcon\n\t\t\t}\n\n\t\t\tif (this.previewUrl) {\n\t\t\t\treturn this.previewUrl\n\t\t\t}\n\t\t\t// TODO: find a nicer standard way of doing this?\n\t\t\tif (isPublic()) {\n\t\t\t\treturn generateUrl(`/apps/files_sharing/publicpreview/${getToken()}?fileId=${this.fileid}&file=${encodeFilePath(this.filename)}&x=${previewWidth}&y=${previewWidth}&a=1`)\n\t\t\t}\n\t\t\treturn generateUrl(`/core/preview?fileId=${this.fileid}&x=${previewWidth}&y=${previewWidth}&a=1`)\n\t\t},\n\n\t\tmimeIcon() {\n\t\t\treturn OC.MimeType.getIconUrl(this.mime)\n\t\t},\n\t},\n\n\tmethods: {\n\t\tonCheck() {\n\t\t\tthis.$emit('check', this.fileid)\n\t\t},\n\t\tonFailure() {\n\t\t\tthis.failedPreview = true\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n.template-picker {\n\t&__item {\n\t\tdisplay: flex;\n\t}\n\n\t&__label {\n\t\tdisplay: flex;\n\t\t// Align in the middle of the grid\n\t\talign-items: center;\n\t\tflex: 1 1;\n\t\tflex-direction: column;\n\n\t\t&, * {\n\t\t\tcursor: pointer;\n\t\t\tuser-select: none;\n\t\t}\n\n\t\t&::before {\n\t\t\tdisplay: none !important;\n\t\t}\n\t}\n\n\t&__preview {\n\t\tdisplay: block;\n\t\toverflow: hidden;\n\t\t// Stretch so all entries are the same width\n\t\tflex: 1 1;\n\t\twidth: var(--width);\n\t\tmin-height: var(--height);\n\t\tmax-height: var(--height);\n\t\tpadding: 0;\n\t\tborder: var(--border) solid var(--color-border);\n\t\tborder-radius: var(--border-radius-large);\n\n\t\tinput:checked + label > & {\n\t\t\tborder-color: var(--color-primary);\n\t\t}\n\n\t\t&--failed {\n\t\t\t// Make sure to properly center fallback icon\n\t\t\tdisplay: flex;\n\t\t}\n\t}\n\n\t&__image {\n\t\tmax-width: 100%;\n\t\tbackground-color: var(--color-main-background);\n\n\t\tobject-fit: cover;\n\t}\n\n\t// Failed preview, fallback to mime icon\n\t&__preview--failed &__image {\n\t\twidth: calc(var(--margin) * 8);\n\t\t// Center mime icon\n\t\tmargin: auto;\n\t\tbackground-color: transparent !important;\n\n\t\tobject-fit: initial;\n\t}\n\n\t&__title {\n\t\toverflow: hidden;\n\t\t// also count preview border\n\t\tmax-width: calc(var(--width) + 2*2px);\n\t\tpadding: var(--margin);\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t}\n}\n\n</style>\n","/**\n * @copyright Copyright (c) 2021 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nconst encodeFilePath = function(path) {\n\tconst pathSections = (path.startsWith('/') ? path : `/${path}`).split('/')\n\tlet relativePath = ''\n\tpathSections.forEach((section) => {\n\t\tif (section !== '') {\n\t\t\trelativePath += '/' + encodeURIComponent(section)\n\t\t}\n\t})\n\treturn relativePath\n}\n\n/**\n * Extract dir and name from file path\n *\n * @param {string} path the full path\n * @return {string[]} [dirPath, fileName]\n */\nconst extractFilePaths = function(path) {\n\tconst pathSections = path.split('/')\n\tconst fileName = pathSections[pathSections.length - 1]\n\tconst dirPath = pathSections.slice(0, pathSections.length - 1).join('/')\n\treturn [dirPath, fileName]\n}\n\nexport { encodeFilePath, extractFilePaths }\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemplatePreview.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!./TemplatePreview.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TemplatePreview.vue?vue&type=template&id=440aea22&scoped=true&\"\nimport script from \"./TemplatePreview.vue?vue&type=script&lang=js&\"\nexport * from \"./TemplatePreview.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TemplatePreview.vue?vue&type=style&index=0&id=440aea22&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 \"440aea22\",\n null\n \n)\n\nexport default component.exports","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemplatePreview.vue?vue&type=style&index=0&id=440aea22&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"template-picker__item\"},[_c('input',{staticClass:\"radio\",attrs:{\"id\":_vm.id,\"type\":\"radio\",\"name\":\"template-picker\"},domProps:{\"checked\":_vm.checked},on:{\"change\":_vm.onCheck}}),_vm._v(\" \"),_c('label',{staticClass:\"template-picker__label\",attrs:{\"for\":_vm.id}},[_c('div',{staticClass:\"template-picker__preview\",class:_vm.failedPreview ? 'template-picker__preview--failed' : ''},[_c('img',{staticClass:\"template-picker__image\",attrs:{\"src\":_vm.realPreviewUrl,\"alt\":\"\",\"draggable\":\"false\"},on:{\"error\":_vm.onFailure}})]),_vm._v(\" \"),_c('span',{staticClass:\"template-picker__title\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.nameWithoutExt)+\"\\n\\t\\t\")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<Modal v-if=\"opened\"\n\t\t:clear-view-delay=\"-1\"\n\t\tclass=\"templates-picker\"\n\t\tsize=\"large\"\n\t\t@close=\"close\">\n\t\t<form class=\"templates-picker__form\"\n\t\t\t:style=\"style\"\n\t\t\t@submit.prevent.stop=\"onSubmit\">\n\t\t\t<h2>{{ t('files', 'Pick a template for {name}', { name: nameWithoutExt }) }}</h2>\n\n\t\t\t<!-- Templates list -->\n\t\t\t<ul class=\"templates-picker__list\">\n\t\t\t\t<TemplatePreview\n\t\t\t\t\tv-bind=\"emptyTemplate\"\n\t\t\t\t\t:checked=\"checked === emptyTemplate.fileid\"\n\t\t\t\t\t@check=\"onCheck\" />\n\n\t\t\t\t<TemplatePreview\n\t\t\t\t\tv-for=\"template in provider.templates\"\n\t\t\t\t\t:key=\"template.fileid\"\n\t\t\t\t\tv-bind=\"template\"\n\t\t\t\t\t:checked=\"checked === template.fileid\"\n\t\t\t\t\t:ratio=\"provider.ratio\"\n\t\t\t\t\t@check=\"onCheck\" />\n\t\t\t</ul>\n\n\t\t\t<!-- Cancel and submit -->\n\t\t\t<div class=\"templates-picker__buttons\">\n\t\t\t\t<button @click=\"close\">\n\t\t\t\t\t{{ t('files', 'Cancel') }}\n\t\t\t\t</button>\n\t\t\t\t<input type=\"submit\"\n\t\t\t\t\tclass=\"primary\"\n\t\t\t\t\t:value=\"t('files', 'Create')\"\n\t\t\t\t\t:aria-label=\"t('files', 'Create a new file with the selected template')\">\n\t\t\t</div>\n\t\t</form>\n\n\t\t<EmptyContent v-if=\"loading\" class=\"templates-picker__loading\" icon=\"icon-loading\">\n\t\t\t{{ t('files', 'Creating file') }}\n\t\t</EmptyContent>\n\t</Modal>\n</template>\n\n<script>\nimport { normalize } from 'path'\nimport { showError } from '@nextcloud/dialogs'\nimport EmptyContent from '@nextcloud/vue/dist/Components/EmptyContent'\nimport Modal from '@nextcloud/vue/dist/Components/Modal'\n\nimport { getCurrentDirectory } from '../utils/davUtils'\nimport { createFromTemplate, getTemplates } from '../services/Templates'\nimport TemplatePreview from '../components/TemplatePreview'\n\nconst border = 2\nconst margin = 8\nconst width = margin * 20\n\nexport default {\n\tname: 'TemplatePicker',\n\n\tcomponents: {\n\t\tEmptyContent,\n\t\tModal,\n\t\tTemplatePreview,\n\t},\n\n\tprops: {\n\t\tlogger: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\t// Check empty template by default\n\t\t\tchecked: -1,\n\t\t\tloading: false,\n\t\t\tname: null,\n\t\t\topened: false,\n\t\t\tprovider: null,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Strip away extension from name\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tnameWithoutExt() {\n\t\t\treturn this.name.indexOf('.') > -1\n\t\t\t\t? this.name.split('.').slice(0, -1).join('.')\n\t\t\t\t: this.name\n\t\t},\n\n\t\temptyTemplate() {\n\t\t\treturn {\n\t\t\t\tbasename: t('files', 'Blank'),\n\t\t\t\tfileid: -1,\n\t\t\t\tfilename: this.t('files', 'Blank'),\n\t\t\t\thasPreview: false,\n\t\t\t\tmime: this.provider?.mimetypes[0] || this.provider?.mimetypes,\n\t\t\t}\n\t\t},\n\n\t\tselectedTemplate() {\n\t\t\treturn this.provider.templates.find(template => template.fileid === this.checked)\n\t\t},\n\n\t\t/**\n\t\t * Style css vars bin,d\n\t\t *\n\t\t * @return {object}\n\t\t */\n\t\tstyle() {\n\t\t\treturn {\n\t\t\t\t'--margin': margin + 'px',\n\t\t\t\t'--width': width + 'px',\n\t\t\t\t'--border': border + 'px',\n\t\t\t\t'--fullwidth': width + 2 * margin + 2 * border + 'px',\n\t\t\t\t'--height': this.provider.ratio ? Math.round(width / this.provider.ratio) + 'px' : null,\n\t\t\t}\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Open the picker\n\t\t *\n\t\t * @param {string} name the file name to create\n\t\t * @param {object} provider the template provider picked\n\t\t */\n\t\tasync open(name, provider) {\n\n\t\t\tthis.checked = this.emptyTemplate.fileid\n\t\t\tthis.name = name\n\t\t\tthis.provider = provider\n\n\t\t\tconst templates = await getTemplates()\n\t\t\tconst fetchedProvider = templates.find((fetchedProvider) => fetchedProvider.app === provider.app && fetchedProvider.label === provider.label)\n\t\t\tif (fetchedProvider === null) {\n\t\t\t\tthrow new Error('Failed to match provider in results')\n\t\t\t}\n\t\t\tthis.provider = fetchedProvider\n\n\t\t\t// If there is no templates available, just create an empty file\n\t\t\tif (fetchedProvider.templates.length === 0) {\n\t\t\t\tthis.onSubmit()\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Else, open the picker\n\t\t\tthis.opened = true\n\t\t},\n\n\t\t/**\n\t\t * Close the picker and reset variables\n\t\t */\n\t\tclose() {\n\t\t\tthis.checked = this.emptyTemplate.fileid\n\t\t\tthis.loading = false\n\t\t\tthis.name = null\n\t\t\tthis.opened = false\n\t\t\tthis.provider = null\n\t\t},\n\n\t\t/**\n\t\t * Manages the radio template picker change\n\t\t *\n\t\t * @param {number} fileid the selected template file id\n\t\t */\n\t\tonCheck(fileid) {\n\t\t\tthis.checked = fileid\n\t\t},\n\n\t\tasync onSubmit() {\n\t\t\tthis.loading = true\n\t\t\tconst currentDirectory = getCurrentDirectory()\n\t\t\tconst fileList = OCA?.Files?.App?.currentFileList\n\n\t\t\t// If the file doesn't have an extension, add the default one\n\t\t\tif (this.nameWithoutExt === this.name) {\n\t\t\t\tthis.logger.debug('Fixed invalid filename', { name: this.name, extension: this.provider?.extension })\n\t\t\t\tthis.name = this.name + this.provider?.extension\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst fileInfo = await createFromTemplate(\n\t\t\t\t\tnormalize(`${currentDirectory}/${this.name}`),\n\t\t\t\t\tthis.selectedTemplate?.filename,\n\t\t\t\t\tthis.selectedTemplate?.templateType,\n\t\t\t\t)\n\t\t\t\tthis.logger.debug('Created new file', fileInfo)\n\n\t\t\t\tconst data = await fileList?.addAndFetchFileInfo(this.name).then((status, data) => data)\n\n\t\t\t\tconst model = new OCA.Files.FileInfoModel(data, {\n\t\t\t\t\tfilesClient: fileList?.filesClient,\n\t\t\t\t})\n\t\t\t\t// Run default action\n\t\t\t\tconst fileAction = OCA.Files.fileActions.getDefaultFileAction(fileInfo.mime, 'file', OC.PERMISSION_ALL)\n\t\t\t\tfileAction.action(fileInfo.basename, {\n\t\t\t\t\t$file: fileList?.findFileEl(this.name),\n\t\t\t\t\tdir: currentDirectory,\n\t\t\t\t\tfileList,\n\t\t\t\t\tfileActions: fileList?.fileActions,\n\t\t\t\t\tfileInfoModel: model,\n\t\t\t\t})\n\n\t\t\t\tthis.close()\n\t\t\t} catch (error) {\n\t\t\t\tthis.logger.error('Error while creating the new file from template')\n\t\t\t\tconsole.error(error)\n\t\t\t\tshowError(this.t('files', 'Unable to create new file from template'))\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.templates-picker {\n\t&__form {\n\t\tpadding: calc(var(--margin) * 2);\n\t\t// Will be handled by the buttons\n\t\tpadding-bottom: 0;\n\n\t\th2 {\n\t\t\ttext-align: center;\n\t\t\tfont-weight: bold;\n\t\t\tmargin: var(--margin) 0 calc(var(--margin) * 2);\n\t\t}\n\t}\n\n\t&__list {\n\t\tdisplay: grid;\n\t\tgrid-gap: calc(var(--margin) * 2);\n\t\tgrid-auto-columns: 1fr;\n\t\t// We want maximum 5 columns. Putting 6 as we don't count the grid gap. So it will always be lower than 6\n\t\tmax-width: calc(var(--fullwidth) * 6);\n\t\tgrid-template-columns: repeat(auto-fit, var(--fullwidth));\n\t\t// Make sure all rows are the same height\n\t\tgrid-auto-rows: 1fr;\n\t\t// Center the columns set\n\t\tjustify-content: center;\n\t}\n\n\t&__buttons {\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\tpadding: calc(var(--margin) * 2) var(--margin);\n\t\tposition: sticky;\n\t\tbottom: 0;\n\t\tbackground-image: linear-gradient(0, var(--gradient-main-background));\n\n\t\tbutton, input[type='submit'] {\n\t\t\theight: 44px;\n\t\t}\n\t}\n\n\t// Make sure we're relative for the loading emptycontent on top\n\t::v-deep .modal-container {\n\t\tposition: relative;\n\t\toverflow-y: auto !important;\n\t}\n\n\t&__loading {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tjustify-content: center;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tmargin: 0;\n\t\tbackground-color: var(--color-main-background-translucent);\n\t}\n}\n\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemplatePicker.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!./TemplatePicker.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TemplatePicker.vue?vue&type=template&id=5fe9240a&scoped=true&\"\nimport script from \"./TemplatePicker.vue?vue&type=script&lang=js&\"\nexport * from \"./TemplatePicker.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TemplatePicker.vue?vue&type=style&index=0&id=5fe9240a&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 \"5fe9240a\",\n null\n \n)\n\nexport default component.exports","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemplatePicker.vue?vue&type=style&index=0&id=5fe9240a&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.opened)?_c('Modal',{staticClass:\"templates-picker\",attrs:{\"clear-view-delay\":-1,\"size\":\"large\"},on:{\"close\":_vm.close}},[_c('form',{staticClass:\"templates-picker__form\",style:(_vm.style),on:{\"submit\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onSubmit.apply(null, arguments)}}},[_c('h2',[_vm._v(_vm._s(_vm.t('files', 'Pick a template for {name}', { name: _vm.nameWithoutExt })))]),_vm._v(\" \"),_c('ul',{staticClass:\"templates-picker__list\"},[_c('TemplatePreview',_vm._b({attrs:{\"checked\":_vm.checked === _vm.emptyTemplate.fileid},on:{\"check\":_vm.onCheck}},'TemplatePreview',_vm.emptyTemplate,false)),_vm._v(\" \"),_vm._l((_vm.provider.templates),function(template){return _c('TemplatePreview',_vm._b({key:template.fileid,attrs:{\"checked\":_vm.checked === template.fileid,\"ratio\":_vm.provider.ratio},on:{\"check\":_vm.onCheck}},'TemplatePreview',template,false))})],2),_vm._v(\" \"),_c('div',{staticClass:\"templates-picker__buttons\"},[_c('button',{on:{\"click\":_vm.close}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'Cancel'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('input',{staticClass:\"primary\",attrs:{\"type\":\"submit\",\"aria-label\":_vm.t('files', 'Create a new file with the selected template')},domProps:{\"value\":_vm.t('files', 'Create')}})])]),_vm._v(\" \"),(_vm.loading)?_c('EmptyContent',{staticClass:\"templates-picker__loading\",attrs:{\"icon\":\"icon-loading\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files', 'Creating file'))+\"\\n\\t\")]):_vm._e()],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\nimport { loadState } from '@nextcloud/initial-state'\nimport { translate as t, translatePlural as n } from '@nextcloud/l10n'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { getCurrentDirectory } from './utils/davUtils'\nimport axios from '@nextcloud/axios'\nimport Vue from 'vue'\n\nimport TemplatePickerView from './views/TemplatePicker'\nimport { showError } from '@nextcloud/dialogs'\n\n// Set up logger\nconst logger = getLoggerBuilder()\n\t.setApp('files')\n\t.detectUser()\n\t.build()\n\n// Add translates functions\nVue.mixin({\n\tmethods: {\n\t\tt,\n\t\tn,\n\t},\n})\n\n// Create document root\nconst TemplatePickerRoot = document.createElement('div')\nTemplatePickerRoot.id = 'template-picker'\ndocument.body.appendChild(TemplatePickerRoot)\n\n// Retrieve and init templates\nlet templates = loadState('files', 'templates', [])\nlet templatesPath = loadState('files', 'templates_path', false)\nlogger.debug('Templates providers', templates)\nlogger.debug('Templates folder', { templatesPath })\n\n// Init vue app\nconst View = Vue.extend(TemplatePickerView)\nconst TemplatePicker = new View({\n\tname: 'TemplatePicker',\n\tpropsData: {\n\t\tlogger,\n\t},\n})\nTemplatePicker.$mount('#template-picker')\n\n// Init template engine after load to make sure it's the last injected entry\nwindow.addEventListener('DOMContentLoaded', function() {\n\tif (!templatesPath) {\n\t\tlogger.debug('Templates folder not initialized')\n\t\tconst initTemplatesPlugin = {\n\t\t\tattach(menu) {\n\t\t\t\t// register the new menu entry\n\t\t\t\tmenu.addMenuEntry({\n\t\t\t\t\tid: 'template-init',\n\t\t\t\t\tdisplayName: t('files', 'Set up templates folder'),\n\t\t\t\t\ttemplateName: t('files', 'Templates'),\n\t\t\t\t\ticonClass: 'icon-template-add',\n\t\t\t\t\tfileType: 'file',\n\t\t\t\t\tactionHandler(name) {\n\t\t\t\t\t\tinitTemplatesFolder(name)\n\t\t\t\t\t\tmenu.removeMenuEntry('template-init')\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t},\n\t\t}\n\t\tOC.Plugins.register('OCA.Files.NewFileMenu', initTemplatesPlugin)\n\t}\n})\n\n// Init template files menu\ntemplates.forEach((provider, index) => {\n\tconst newTemplatePlugin = {\n\t\tattach(menu) {\n\t\t\tconst fileList = menu.fileList\n\n\t\t\t// only attach to main file list, public view is not supported yet\n\t\t\tif (fileList.id !== 'files' && fileList.id !== 'files.public') {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// register the new menu entry\n\t\t\tmenu.addMenuEntry({\n\t\t\t\tid: `template-new-${provider.app}-${index}`,\n\t\t\t\tdisplayName: provider.label,\n\t\t\t\ttemplateName: provider.label + provider.extension,\n\t\t\t\ticonClass: provider.iconClass || 'icon-file',\n\t\t\t\tfileType: 'file',\n\t\t\t\tactionHandler(name) {\n\t\t\t\t\tTemplatePicker.open(name, provider)\n\t\t\t\t},\n\t\t\t})\n\t\t},\n\t}\n\tOC.Plugins.register('OCA.Files.NewFileMenu', newTemplatePlugin)\n})\n\n/**\n * Init the template directory\n *\n * @param {string} name the templates folder name\n */\nconst initTemplatesFolder = async function(name) {\n\tconst templatePath = (getCurrentDirectory() + `/${name}`).replace('//', '/')\n\ttry {\n\t\tlogger.debug('Initializing the templates directory', { templatePath })\n\t\tconst response = await axios.post(generateOcsUrl('apps/files/api/v1/templates/path'), {\n\t\t\ttemplatePath,\n\t\t\tcopySystemTemplates: true,\n\t\t})\n\n\t\t// Go to template directory\n\t\tOCA.Files.App.currentFileList.changeDirectory(templatePath, true, true)\n\n\t\ttemplates = response.data.ocs.data.templates\n\t\ttemplatesPath = response.data.ocs.data.template_path\n\t} catch (error) {\n\t\tlogger.error('Unable to initialize the templates directory')\n\t\tshowError(t('files', 'Unable to initialize the templates directory'))\n\t}\n}\n","/*\n * @copyright Copyright (c) 2021 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { subscribe } from '@nextcloud/event-bus'\n\n(function() {\n\n\tconst FilesPlugin = {\n\t\tattach(fileList) {\n\t\t\tsubscribe('nextcloud:unified-search.search', ({ query }) => {\n\t\t\t\tfileList.setFilter(query)\n\t\t\t})\n\t\t\tsubscribe('nextcloud:unified-search.reset', () => {\n\t\t\t\tthis.query = null\n\t\t\t\tfileList.setFilter('')\n\t\t\t})\n\n\t\t},\n\t}\n\n\twindow.OC.Plugins.register('OCA.Files.FileList', FilesPlugin)\n\n})()\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".template-picker__item[data-v-440aea22]{display:flex}.template-picker__label[data-v-440aea22]{display:flex;align-items:center;flex:1 1;flex-direction:column}.template-picker__label[data-v-440aea22],.template-picker__label *[data-v-440aea22]{cursor:pointer;user-select:none}.template-picker__label[data-v-440aea22]::before{display:none !important}.template-picker__preview[data-v-440aea22]{display:block;overflow:hidden;flex:1 1;width:var(--width);min-height:var(--height);max-height:var(--height);padding:0;border:var(--border) solid var(--color-border);border-radius:var(--border-radius-large)}input:checked+label>.template-picker__preview[data-v-440aea22]{border-color:var(--color-primary)}.template-picker__preview--failed[data-v-440aea22]{display:flex}.template-picker__image[data-v-440aea22]{max-width:100%;background-color:var(--color-main-background);object-fit:cover}.template-picker__preview--failed .template-picker__image[data-v-440aea22]{width:calc(var(--margin)*8);margin:auto;background-color:transparent !important;object-fit:initial}.template-picker__title[data-v-440aea22]{overflow:hidden;max-width:calc(var(--width) + 4px);padding:var(--margin);white-space:nowrap;text-overflow:ellipsis}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/TemplatePreview.vue\"],\"names\":[],\"mappings\":\"AAsJC,wCACC,YAAA,CAGD,yCACC,YAAA,CAEA,kBAAA,CACA,QAAA,CACA,qBAAA,CAEA,oFACC,cAAA,CACA,gBAAA,CAGD,iDACC,uBAAA,CAIF,2CACC,aAAA,CACA,eAAA,CAEA,QAAA,CACA,kBAAA,CACA,wBAAA,CACA,wBAAA,CACA,SAAA,CACA,8CAAA,CACA,wCAAA,CAEA,+DACC,iCAAA,CAGD,mDAEC,YAAA,CAIF,yCACC,cAAA,CACA,6CAAA,CAEA,gBAAA,CAID,2EACC,2BAAA,CAEA,WAAA,CACA,uCAAA,CAEA,kBAAA,CAGD,yCACC,eAAA,CAEA,kCAAA,CACA,qBAAA,CACA,kBAAA,CACA,sBAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.template-picker {\\n\\t&__item {\\n\\t\\tdisplay: flex;\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: flex;\\n\\t\\t// Align in the middle of the grid\\n\\t\\talign-items: center;\\n\\t\\tflex: 1 1;\\n\\t\\tflex-direction: column;\\n\\n\\t\\t&, * {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tuser-select: none;\\n\\t\\t}\\n\\n\\t\\t&::before {\\n\\t\\t\\tdisplay: none !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&__preview {\\n\\t\\tdisplay: block;\\n\\t\\toverflow: hidden;\\n\\t\\t// Stretch so all entries are the same width\\n\\t\\tflex: 1 1;\\n\\t\\twidth: var(--width);\\n\\t\\tmin-height: var(--height);\\n\\t\\tmax-height: var(--height);\\n\\t\\tpadding: 0;\\n\\t\\tborder: var(--border) solid var(--color-border);\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\n\\t\\tinput:checked + label > & {\\n\\t\\t\\tborder-color: var(--color-primary);\\n\\t\\t}\\n\\n\\t\\t&--failed {\\n\\t\\t\\t// Make sure to properly center fallback icon\\n\\t\\t\\tdisplay: flex;\\n\\t\\t}\\n\\t}\\n\\n\\t&__image {\\n\\t\\tmax-width: 100%;\\n\\t\\tbackground-color: var(--color-main-background);\\n\\n\\t\\tobject-fit: cover;\\n\\t}\\n\\n\\t// Failed preview, fallback to mime icon\\n\\t&__preview--failed &__image {\\n\\t\\twidth: calc(var(--margin) * 8);\\n\\t\\t// Center mime icon\\n\\t\\tmargin: auto;\\n\\t\\tbackground-color: transparent !important;\\n\\n\\t\\tobject-fit: initial;\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\t// also count preview border\\n\\t\\tmax-width: calc(var(--width) + 2*2px);\\n\\t\\tpadding: var(--margin);\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".templates-picker__form[data-v-5fe9240a]{padding:calc(var(--margin)*2);padding-bottom:0}.templates-picker__form h2[data-v-5fe9240a]{text-align:center;font-weight:bold;margin:var(--margin) 0 calc(var(--margin)*2)}.templates-picker__list[data-v-5fe9240a]{display:grid;grid-gap:calc(var(--margin)*2);grid-auto-columns:1fr;max-width:calc(var(--fullwidth)*6);grid-template-columns:repeat(auto-fit, var(--fullwidth));grid-auto-rows:1fr;justify-content:center}.templates-picker__buttons[data-v-5fe9240a]{display:flex;justify-content:space-between;padding:calc(var(--margin)*2) var(--margin);position:sticky;bottom:0;background-image:linear-gradient(0, var(--gradient-main-background))}.templates-picker__buttons button[data-v-5fe9240a],.templates-picker__buttons input[type=submit][data-v-5fe9240a]{height:44px}.templates-picker[data-v-5fe9240a] .modal-container{position:relative;overflow-y:auto !important}.templates-picker__loading[data-v-5fe9240a]{position:absolute;top:0;left:0;justify-content:center;width:100%;height:100%;margin:0;background-color:var(--color-main-background-translucent)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/views/TemplatePicker.vue\"],\"names\":[],\"mappings\":\"AAyPC,yCACC,6BAAA,CAEA,gBAAA,CAEA,4CACC,iBAAA,CACA,gBAAA,CACA,4CAAA,CAIF,yCACC,YAAA,CACA,8BAAA,CACA,qBAAA,CAEA,kCAAA,CACA,wDAAA,CAEA,kBAAA,CAEA,sBAAA,CAGD,4CACC,YAAA,CACA,6BAAA,CACA,2CAAA,CACA,eAAA,CACA,QAAA,CACA,oEAAA,CAEA,kHACC,WAAA,CAKF,qDACC,iBAAA,CACA,0BAAA,CAGD,4CACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,sBAAA,CACA,UAAA,CACA,WAAA,CACA,QAAA,CACA,yDAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.templates-picker {\\n\\t&__form {\\n\\t\\tpadding: calc(var(--margin) * 2);\\n\\t\\t// Will be handled by the buttons\\n\\t\\tpadding-bottom: 0;\\n\\n\\t\\th2 {\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tmargin: var(--margin) 0 calc(var(--margin) * 2);\\n\\t\\t}\\n\\t}\\n\\n\\t&__list {\\n\\t\\tdisplay: grid;\\n\\t\\tgrid-gap: calc(var(--margin) * 2);\\n\\t\\tgrid-auto-columns: 1fr;\\n\\t\\t// We want maximum 5 columns. Putting 6 as we don't count the grid gap. So it will always be lower than 6\\n\\t\\tmax-width: calc(var(--fullwidth) * 6);\\n\\t\\tgrid-template-columns: repeat(auto-fit, var(--fullwidth));\\n\\t\\t// Make sure all rows are the same height\\n\\t\\tgrid-auto-rows: 1fr;\\n\\t\\t// Center the columns set\\n\\t\\tjustify-content: center;\\n\\t}\\n\\n\\t&__buttons {\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: space-between;\\n\\t\\tpadding: calc(var(--margin) * 2) var(--margin);\\n\\t\\tposition: sticky;\\n\\t\\tbottom: 0;\\n\\t\\tbackground-image: linear-gradient(0, var(--gradient-main-background));\\n\\n\\t\\tbutton, input[type='submit'] {\\n\\t\\t\\theight: 44px;\\n\\t\\t}\\n\\t}\\n\\n\\t// Make sure we're relative for the loading emptycontent on top\\n\\t::v-deep .modal-container {\\n\\t\\tposition: relative;\\n\\t\\toverflow-y: auto !important;\\n\\t}\\n\\n\\t&__loading {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\tmargin: 0;\\n\\t\\tbackground-color: var(--color-main-background-translucent);\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdD = function () {\n\tthrow new Error('define cannot be used indirect');\n};","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 181;","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t181: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tfor(moduleId in moreModules) {\n\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t}\n\t}\n\tif(runtime) var result = runtime(__webpack_require__);\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkIds[i]] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [874], function() { return __webpack_require__(27130); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"sourceRoot":""} \ No newline at end of file
+{"version":3,"sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/apps/files/src/services/Settings.js","webpack:///nextcloud/apps/files/src/components/Setting.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/files/src/components/Setting.vue","webpack:///nextcloud/apps/files/src/views/Settings.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/files/src/views/Settings.vue","webpack://nextcloud/./apps/files/src/components/Setting.vue?98ea","webpack:///nextcloud/apps/files/src/components/Setting.vue?vue&type=template&id=47cd8aa6&","webpack://nextcloud/./apps/files/src/views/Settings.vue?b81b","webpack:///nextcloud/apps/files/src/views/Settings.vue?vue&type=template&id=31c9bb4b&scoped=true&","webpack:///nextcloud/apps/files/src/models/Setting.js","webpack:///nextcloud/apps/files/src/files-app-settings.js","webpack:///nextcloud/apps/files/src/utils/davUtils.js","webpack:///nextcloud/apps/files/src/services/Templates.js","webpack:///nextcloud/apps/files/src/components/TemplatePreview.vue","webpack:///nextcloud/apps/files/src/utils/fileUtils.js","webpack:///nextcloud/apps/files/src/components/TemplatePreview.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/files/src/components/TemplatePreview.vue?81db","webpack://nextcloud/./apps/files/src/components/TemplatePreview.vue?ab98","webpack:///nextcloud/apps/files/src/components/TemplatePreview.vue?vue&type=template&id=440aea22&scoped=true&","webpack:///nextcloud/apps/files/src/views/TemplatePicker.vue","webpack:///nextcloud/apps/files/src/views/TemplatePicker.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/files/src/views/TemplatePicker.vue?afd8","webpack://nextcloud/./apps/files/src/views/TemplatePicker.vue?f1bc","webpack:///nextcloud/apps/files/src/views/TemplatePicker.vue?vue&type=template&id=5fe9240a&scoped=true&","webpack:///nextcloud/apps/files/src/templates.js","webpack:///nextcloud/apps/files/src/legacy/filelistSearch.js","webpack:///nextcloud/apps/files/src/components/TemplatePreview.vue?vue&type=style&index=0&id=440aea22&lang=scss&scoped=true&","webpack:///nextcloud/apps/files/src/views/TemplatePicker.vue?vue&type=style&index=0&id=5fe9240a&lang=scss&scoped=true&","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/amd define","webpack:///nextcloud/webpack/runtime/amd options","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/startup"],"names":["deferred","Settings","this","_settings","console","debug","view","filter","e","name","length","error","push","_h","$createElement","_self","_c","_vm","attrs","_l","setting","key","el","Setting","open","close","_name","_el","_open","_close","Vue","t","window","OCA","Files","Object","assign","addEventListener","TESTING","render","h","SettingsView","appSettingsHeader","document","getElementById","opened","currentTarget","children","classList","contains","settings","forEach","getCurrentDirectory","currentDirInfo","App","currentFileList","dirInfo","path","replace","getTemplates","axios","generateOcsUrl","response","data","ocs","createFromTemplate","filePath","templatePath","templateType","getCurrentUser","value","pathSections","startsWith","split","relativePath","section","encodeURIComponent","options","staticClass","id","domProps","checked","on","onCheck","_v","class","failedPreview","realPreviewUrl","onFailure","_s","nameWithoutExt","style","$event","preventDefault","stopPropagation","onSubmit","apply","arguments","_b","emptyTemplate","fileid","provider","template","ratio","_e","logger","getLoggerBuilder","setApp","detectUser","build","methods","n","TemplatePickerRoot","createElement","body","appendChild","templates","loadState","templatesPath","TemplatePicker","TemplatePickerView","propsData","$mount","initTemplatesPlugin","attach","menu","addMenuEntry","displayName","templateName","iconClass","fileType","actionHandler","initTemplatesFolder","removeMenuEntry","OC","Plugins","register","index","newTemplatePlugin","fileList","app","label","extension","FilesPlugin","copySystemTemplates","changeDirectory","template_path","showError","subscribe","query","setFilter","___CSS_LOADER_EXPORT___","module","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","loaded","__webpack_modules__","call","m","amdD","Error","amdO","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","keys","every","splice","r","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","g","globalThis","Function","obj","prop","prototype","hasOwnProperty","Symbol","toStringTag","nmd","paths","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","bind","__webpack_exports__"],"mappings":";6BAAIA,E,kNCsBiBC,E,WAIpB,a,qGAAc,S,OAAA,G,EAAA,oB,sBAAA,K,uDAAA,K,KACbC,KAAKC,UAAY,GACjBC,QAAQC,MAAM,kC,6CAUf,SAASC,GACR,OAAIJ,KAAKC,UAAUI,QAAO,SAAAC,GAAC,OAAIA,EAAEC,OAASH,EAAKG,QAAMC,OAAS,GAC7DN,QAAQO,MAAM,uDACP,IAERT,KAAKC,UAAUS,KAAKN,IACb,K,oBAQR,WACC,OAAOJ,KAAKC,e,yECrDsK,EC0BpL,CACA,eACA,OACA,IACA,cACA,cAGA,QARA,WASA,kC,WCnCqL,ECgCrL,CACA,gBACA,YACA,SC5BgB,OACd,GCRW,WAAa,IAAiBU,EAATX,KAAgBY,eAAuC,OAAvDZ,KAA0Ca,MAAMC,IAAIH,GAAa,SAC7E,IDUpB,EACA,KACA,KACA,M,SDuBF,KALA,WAMA,OACA,wCGrBA,GAXgB,OACd,GCRW,WAAa,IAAII,EAAIf,KAASW,EAAGI,EAAIH,eAAmBE,EAAGC,EAAIF,MAAMC,IAAIH,EAAG,OAAOG,EAAG,MAAM,CAACE,MAAM,CAAC,GAAK,6BAA6B,CAACD,EAAIE,GAAIF,EAAY,UAAE,SAASG,GAAS,MAAO,CAACJ,EAAG,UAAU,CAACK,IAAID,EAAQX,KAAKS,MAAM,CAAC,GAAKE,EAAQE,WAAU,KAC3O,IDUpB,EACA,KACA,WACA,M,0SESmBC,E,WAgBpB,WAAYd,EAAZ,GAAuC,IAAnBa,EAAmB,EAAnBA,GAAIE,EAAe,EAAfA,KAAMC,EAAS,EAATA,O,4FAAS,oGACtCvB,KAAKwB,MAAQjB,EACbP,KAAKyB,IAAML,EACXpB,KAAK0B,MAAQJ,EACbtB,KAAK2B,OAASJ,EAEY,mBAAfvB,KAAK0B,QACf1B,KAAK0B,MAAQ,cAGa,mBAAhB1B,KAAK2B,SACf3B,KAAK2B,OAAS,c,uCAIhB,WACC,OAAO3B,KAAKwB,Q,cAGb,WACC,OAAOxB,KAAKyB,M,gBAGb,WACC,OAAOzB,KAAK0B,Q,iBAGb,WACC,OAAO1B,KAAK2B,Y,yECtCdC,sBAAkBC,EAGbC,OAAOC,IAAIC,QACfF,OAAOC,IAAIC,MAAQ,IAEpBC,OAAOC,OAAOJ,OAAOC,IAAIC,MAAO,CAAEjC,SAAU,IAAIA,IAChDkC,OAAOC,OAAOJ,OAAOC,IAAIC,MAAMjC,SAAU,CAAEsB,YAE3CS,OAAOK,iBAAiB,oBAAoB,WAC3C,IAAIL,OAAOM,QAAX,CAKA,IAAIR,UAAI,CACPR,GAAI,sBACJiB,OAAQ,SAAAC,GAAC,OAAIA,EAAEC,MAGhB,IAAMC,EAAoBC,SAASC,eAAe,uBAC9CF,GACHA,EAAkBL,iBAAiB,SAAS,SAAA7B,GAC3C,IAAMqC,EAASrC,EAAEsC,cAAcC,SAAS,GAAGC,UAAUC,SAAS,UAC9DhB,IAAIC,MAAMjC,SAASiD,SAASC,SAAQ,SAAA3C,GAAC,OAAIqC,EAASrC,EAAEiB,QAAUjB,EAAEgB,iB,0DCPtD4B,EAAsB,WAAW,YACvCC,GAAoB,QAAH,EAAApB,WAAA,mBAAKC,aAAL,mBAAYoB,WAAZ,mBAAiBC,uBAAjB,eAAkCC,UACrD,CAAEC,KAAM,IAAKhD,KAAM,IAGvB,MAAO,UAAG4C,EAAeI,KAAlB,YAA0BJ,EAAe5C,MAAOiD,QAAQ,SAAU,M,mYC1BnE,IAAMC,EAAY,4CAAG,mHACJC,eAAUC,oBAAe,gCADrB,cACrBC,EADqB,yBAEpBA,EAASC,KAAKC,IAAID,MAFE,2CAAH,qDAYZE,EAAkB,4CAAG,WAAeC,EAAUC,EAAcC,GAAvC,sGACVR,gBAAWC,oBAAe,sCAAuC,CACvFK,WACAC,eACAC,iBAJgC,cAC3BN,EAD2B,yBAM1BA,EAASC,KAAKC,IAAID,MANQ,2CAAH,0DCiB/B,MAEA,GACA,uBACA,gBAEA,OACA,UACA,YACA,aAEA,SACA,aACA,YAEA,QACA,qBACA,aAEA,UACA,YACA,aAEA,YACA,YACA,cAEA,YACA,aACA,YAEA,MACA,YACA,aAEA,OACA,YACA,eAIA,KAvCA,WAwCA,OACA,mBAIA,UAMA,eANA,WAOA,mGAGA,GAVA,WAWA,8CAGA,eAdA,WAgBA,yCACA,cAGA,gBACA,iBFxFSM,uBE8FT,sGAFA,6DFxFQ1B,SAASC,eAAe,iBAAmBD,SAASC,eAAe,gBAAgB0B,MEwF3F,gDCxGuB,SAASb,GAC/B,IAAMc,GAAgBd,EAAKe,WAAW,KAAOf,EAAvB,WAAkCA,IAAQgB,MAAM,KAClEC,EAAe,GAMnB,OALAH,EAAapB,SAAQ,SAACwB,GACL,KAAZA,IACHD,GAAgB,IAAME,mBAAmBD,OAGpCD,EDgGR,0DAKA,SA9BA,WA+BA,2CAIA,SACA,QADA,WAEA,iCAEA,UAJA,WAKA,yBE7I4L,I,+BCmB5L,GCXa,IAAI,IALH,CAEdG,OAAiB,OACjBA,WAAoB,IAML,YDJC,OACd,GETW,WAAa,IAAI5D,EAAIf,KAASW,EAAGI,EAAIH,eAAmBE,EAAGC,EAAIF,MAAMC,IAAIH,EAAG,OAAOG,EAAG,KAAK,CAAC8D,YAAY,yBAAyB,CAAC9D,EAAG,QAAQ,CAAC8D,YAAY,QAAQ5D,MAAM,CAAC,GAAKD,EAAI8D,GAAG,KAAO,QAAQ,KAAO,mBAAmBC,SAAS,CAAC,QAAU/D,EAAIgE,SAASC,GAAG,CAAC,OAASjE,EAAIkE,WAAWlE,EAAImE,GAAG,KAAKpE,EAAG,QAAQ,CAAC8D,YAAY,yBAAyB5D,MAAM,CAAC,IAAMD,EAAI8D,KAAK,CAAC/D,EAAG,MAAM,CAAC8D,YAAY,2BAA2BO,MAAMpE,EAAIqE,cAAgB,mCAAqC,IAAI,CAACtE,EAAG,MAAM,CAAC8D,YAAY,yBAAyB5D,MAAM,CAAC,IAAMD,EAAIsE,eAAe,IAAM,GAAG,UAAY,SAASL,GAAG,CAAC,MAAQjE,EAAIuE,eAAevE,EAAImE,GAAG,KAAKpE,EAAG,OAAO,CAAC8D,YAAY,0BAA0B,CAAC7D,EAAImE,GAAG,WAAWnE,EAAIwE,GAAGxE,EAAIyE,gBAAgB,kBACltB,IFWpB,EACA,KACA,WACA,M,qUG8DF,IAIA,GACA,sBAEA,YACA,iBACA,UACA,mBAGA,OACA,QACA,YACA,cAIA,KAhBA,WAiBA,OAEA,WACA,WACA,UACA,UACA,gBAIA,UAMA,eANA,WAOA,iCACA,2CACA,WAGA,cAZA,WAYA,QACA,OACA,4BACA,UACA,iCACA,cACA,+HAIA,iBAtBA,WAsBA,WACA,iFAQA,MA/BA,WAgCA,OACA,iBACA,kBACA,iBACA,sBACA,0CAlEA,IAkEA,kCAKA,SAOA,KAPA,SAOA,8JAEA,iCACA,SACA,aAJA,SAMA,IANA,UAMA,EANA,OAQA,QADA,kEAPA,sBASA,iDATA,UAWA,aAGA,uBAdA,wBAeA,aAfA,2BAoBA,YApBA,+CA0BA,MAjCA,WAkCA,uCACA,gBACA,eACA,eACA,oBAQA,QA9CA,SA8CA,GACA,gBAGA,SAlDA,WAkDA,6KACA,aACA,MACA,EAHA,UAGA,WAHA,iBAGA,eAHA,iBAGA,aAHA,aAGA,kBAGA,4BACA,sHACA,sEARA,kBAYA,GACA,gDADA,UAEA,0BAFA,aAEA,WAFA,UAGA,0BAHA,aAGA,gBAfA,cAYA,EAZA,OAiBA,qCAjBA,UAmBA,aAnBA,EAmBA,8DAnBA,QAmBA,EAnBA,OAqBA,iCACA,2CAGA,4EACA,mBACA,0CACA,MACA,WACA,yCACA,kBAGA,UAlCA,kDAoCA,kEACA,qBACA,gEAtCA,yBAwCA,aAxCA,kFCxM2L,I,WCQvL,GCAS,IAAI,IALH,CAEd,OAAiB,OACjB,WAAoB,IAML,YDJC,OACd,GETW,WAAa,IAAIzE,EAAIf,KAASW,EAAGI,EAAIH,eAAmBE,EAAGC,EAAIF,MAAMC,IAAIH,EAAG,OAAQI,EAAU,OAAED,EAAG,QAAQ,CAAC8D,YAAY,mBAAmB5D,MAAM,CAAC,oBAAoB,EAAE,KAAO,SAASgE,GAAG,CAAC,MAAQjE,EAAIQ,QAAQ,CAACT,EAAG,OAAO,CAAC8D,YAAY,yBAAyBa,MAAO1E,EAAS,MAAEiE,GAAG,CAAC,OAAS,SAASU,GAAyD,OAAjDA,EAAOC,iBAAiBD,EAAOE,kBAAyB7E,EAAI8E,SAASC,MAAM,KAAMC,cAAc,CAACjF,EAAG,KAAK,CAACC,EAAImE,GAAGnE,EAAIwE,GAAGxE,EAAIc,EAAE,QAAS,6BAA8B,CAAEtB,KAAMQ,EAAIyE,qBAAsBzE,EAAImE,GAAG,KAAKpE,EAAG,KAAK,CAAC8D,YAAY,0BAA0B,CAAC9D,EAAG,kBAAkBC,EAAIiF,GAAG,CAAChF,MAAM,CAAC,QAAUD,EAAIgE,UAAYhE,EAAIkF,cAAcC,QAAQlB,GAAG,CAAC,MAAQjE,EAAIkE,UAAU,kBAAkBlE,EAAIkF,eAAc,IAAQlF,EAAImE,GAAG,KAAKnE,EAAIE,GAAIF,EAAIoF,SAAkB,WAAE,SAASC,GAAU,OAAOtF,EAAG,kBAAkBC,EAAIiF,GAAG,CAAC7E,IAAIiF,EAASF,OAAOlF,MAAM,CAAC,QAAUD,EAAIgE,UAAYqB,EAASF,OAAO,MAAQnF,EAAIoF,SAASE,OAAOrB,GAAG,CAAC,MAAQjE,EAAIkE,UAAU,kBAAkBmB,GAAS,QAAW,GAAGrF,EAAImE,GAAG,KAAKpE,EAAG,MAAM,CAAC8D,YAAY,6BAA6B,CAAC9D,EAAG,SAAS,CAACkE,GAAG,CAAC,MAAQjE,EAAIQ,QAAQ,CAACR,EAAImE,GAAG,aAAanE,EAAIwE,GAAGxE,EAAIc,EAAE,QAAS,WAAW,cAAcd,EAAImE,GAAG,KAAKpE,EAAG,QAAQ,CAAC8D,YAAY,UAAU5D,MAAM,CAAC,KAAO,SAAS,aAAaD,EAAIc,EAAE,QAAS,iDAAiDiD,SAAS,CAAC,MAAQ/D,EAAIc,EAAE,QAAS,iBAAiBd,EAAImE,GAAG,KAAMnE,EAAW,QAAED,EAAG,eAAe,CAAC8D,YAAY,4BAA4B5D,MAAM,CAAC,KAAO,iBAAiB,CAACD,EAAImE,GAAG,SAASnE,EAAIwE,GAAGxE,EAAIc,EAAE,QAAS,kBAAkB,UAAUd,EAAIuF,MAAM,GAAGvF,EAAIuF,OACpgD,IFWpB,EACA,KACA,WACA,OAIF,EAAe,E,iIGgBf,IAAMC,GAASC,wBACbC,OAAO,SACPC,aACAC,QAGF/E,gBAAU,CACTgF,QAAS,CACR/E,cACAgF,uBAKF,IAAMC,EAAqBrE,SAASsE,cAAc,OAClDD,EAAmBjC,GAAK,kBACxBpC,SAASuE,KAAKC,YAAYH,GAG1B,IAAII,GAAYC,eAAU,QAAS,YAAa,IAC5CC,GAAgBD,eAAU,QAAS,kBAAkB,GACzDZ,EAAOpG,MAAM,sBAAuB+G,GACpCX,EAAOpG,MAAM,mBAAoB,CAAEiH,kBAGnC,IACMC,EAAiB,IADVzF,iBAAW0F,GACD,CAAS,CAC/B/G,KAAM,iBACNgH,UAAW,CACVhB,YAGFc,EAAeG,OAAO,oBAGtB1F,OAAOK,iBAAiB,oBAAoB,WAC3C,IAAKiF,EAAe,CACnBb,EAAOpG,MAAM,oCACb,IAAMsH,EAAsB,CAC3BC,OAD2B,SACpBC,GAENA,EAAKC,aAAa,CACjB/C,GAAI,gBACJgD,aAAahG,eAAE,QAAS,2BACxBiG,cAAcjG,eAAE,QAAS,aACzBkG,UAAW,oBACXC,SAAU,OACVC,cANiB,SAMH1H,GACb2H,EAAoB3H,GACpBoH,EAAKQ,gBAAgB,sBAKzBC,GAAGC,QAAQC,SAAS,wBAAyBb,OAK/CP,EAAUjE,SAAQ,SAACkD,EAAUoC,GAC5B,IAAMC,EAAoB,CACzBd,OADyB,SAClBC,GACN,IAAMc,EAAWd,EAAKc,SAGF,UAAhBA,EAAS5D,IAAkC,iBAAhB4D,EAAS5D,IAKxC8C,EAAKC,aAAa,CACjB/C,GAAI,gBAAF,OAAkBsB,EAASuC,IAA3B,YAAkCH,GACpCV,YAAa1B,EAASwC,MACtBb,aAAc3B,EAASwC,MAAQxC,EAASyC,UACxCb,UAAW5B,EAAS4B,WAAa,YACjCC,SAAU,OACVC,cANiB,SAMH1H,GACb8G,EAAe/F,KAAKf,EAAM4F,QAK9BiC,GAAGC,QAAQC,SAAS,wBAAyBE,MAQ9C,ICnGOK,EDmGDX,EAAmB,e,EAAA,G,EAAA,yBAAG,WAAe3H,GAAf,+FACrB0D,GAAgBf,IAAwB,IAAL,OAAS3C,IAAQiD,QAAQ,KAAM,KAD7C,SAG1B+C,EAAOpG,MAAM,uCAAwC,CAAE8D,iBAH7B,SAIHP,gBAAWC,oBAAe,oCAAqC,CACrFM,eACA6E,qBAAqB,IANI,OAIpBlF,EAJoB,OAU1B7B,IAAIC,MAAMoB,IAAIC,gBAAgB0F,gBAAgB9E,GAAc,GAAM,GAElEiD,EAAYtD,EAASC,KAAKC,IAAID,KAAKqD,UACnCE,EAAgBxD,EAASC,KAAKC,IAAID,KAAKmF,cAbb,kDAe1BzC,EAAO9F,MAAM,iDACbwI,SAAUpH,eAAE,QAAS,iDAhBK,yD,+KAAH,sD,WCnGlBgH,EAAc,CACnBnB,OADmB,SACZe,GAAU,YAChBS,eAAU,mCAAmC,YAAe,IAAZC,EAAY,EAAZA,MAC/CV,EAASW,UAAUD,OAEpBD,eAAU,kCAAkC,WAC3C,EAAKC,MAAQ,KACbV,EAASW,UAAU,SAMtBtH,OAAOsG,GAAGC,QAAQC,SAAS,qBAAsBO,I,yDCpC9CQ,E,MAA0B,GAA4B,KAE1DA,EAAwB3I,KAAK,CAAC4I,EAAOzE,GAAI,wrCAAyrC,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,6DAA6D,MAAQ,GAAG,SAAW,wYAAwY,eAAiB,CAAC,gtDAAgtD,WAAa,MAEv8G,O,yDCJIwE,E,MAA0B,GAA4B,KAE1DA,EAAwB3I,KAAK,CAAC4I,EAAOzE,GAAI,qkCAAskC,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,uDAAuD,MAAQ,GAAG,SAAW,kWAAkW,eAAiB,CAAC,i5DAAi5D,WAAa,MAEz+G,QCNI0E,EAA2B,GAG/B,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAaE,QAGrB,IAAIN,EAASC,EAAyBE,GAAY,CACjD5E,GAAI4E,EACJI,QAAQ,EACRD,QAAS,IAUV,OANAE,EAAoBL,GAAUM,KAAKT,EAAOM,QAASN,EAAQA,EAAOM,QAASJ,GAG3EF,EAAOO,QAAS,EAGTP,EAAOM,QAIfJ,EAAoBQ,EAAIF,EC5BxBN,EAAoBS,KAAO,WAC1B,MAAM,IAAIC,MAAM,mCCDjBV,EAAoBW,KAAO,G/BAvBrK,EAAW,GACf0J,EAAoBY,EAAI,SAASC,EAAQC,EAAUC,EAAIC,GACtD,IAAGF,EAAH,CAMA,IAAIG,EAAeC,IACnB,IAASC,EAAI,EAAGA,EAAI7K,EAASU,OAAQmK,IAAK,CACrCL,EAAWxK,EAAS6K,GAAG,GACvBJ,EAAKzK,EAAS6K,GAAG,GACjBH,EAAW1K,EAAS6K,GAAG,GAE3B,IAJA,IAGIC,GAAY,EACPC,EAAI,EAAGA,EAAIP,EAAS9J,OAAQqK,MACpB,EAAXL,GAAsBC,GAAgBD,IAAavI,OAAO6I,KAAKtB,EAAoBY,GAAGW,OAAM,SAAS5J,GAAO,OAAOqI,EAAoBY,EAAEjJ,GAAKmJ,EAASO,OAC3JP,EAASU,OAAOH,IAAK,IAErBD,GAAY,EACTJ,EAAWC,IAAcA,EAAeD,IAG7C,GAAGI,EAAW,CACb9K,EAASkL,OAAOL,IAAK,GACrB,IAAIM,EAAIV,SACEZ,IAANsB,IAAiBZ,EAASY,IAGhC,OAAOZ,EAzBNG,EAAWA,GAAY,EACvB,IAAI,IAAIG,EAAI7K,EAASU,OAAQmK,EAAI,GAAK7K,EAAS6K,EAAI,GAAG,GAAKH,EAAUG,IAAK7K,EAAS6K,GAAK7K,EAAS6K,EAAI,GACrG7K,EAAS6K,GAAK,CAACL,EAAUC,EAAIC,IgCJ/BhB,EAAoB3C,EAAI,SAASyC,GAChC,IAAI4B,EAAS5B,GAAUA,EAAO6B,WAC7B,WAAa,OAAO7B,EAAgB,SACpC,WAAa,OAAOA,GAErB,OADAE,EAAoB4B,EAAEF,EAAQ,CAAEG,EAAGH,IAC5BA,GCLR1B,EAAoB4B,EAAI,SAASxB,EAAS0B,GACzC,IAAI,IAAInK,KAAOmK,EACX9B,EAAoB+B,EAAED,EAAYnK,KAASqI,EAAoB+B,EAAE3B,EAASzI,IAC5Ec,OAAOuJ,eAAe5B,EAASzI,EAAK,CAAEsK,YAAY,EAAMC,IAAKJ,EAAWnK,MCJ3EqI,EAAoBmC,EAAI,WACvB,GAA0B,iBAAfC,WAAyB,OAAOA,WAC3C,IACC,OAAO5L,MAAQ,IAAI6L,SAAS,cAAb,GACd,MAAOvL,GACR,GAAsB,iBAAXwB,OAAqB,OAAOA,QALjB,GCAxB0H,EAAoB+B,EAAI,SAASO,EAAKC,GAAQ,OAAO9J,OAAO+J,UAAUC,eAAelC,KAAK+B,EAAKC,ICC/FvC,EAAoByB,EAAI,SAASrB,GACX,oBAAXsC,QAA0BA,OAAOC,aAC1ClK,OAAOuJ,eAAe5B,EAASsC,OAAOC,YAAa,CAAE/H,MAAO,WAE7DnC,OAAOuJ,eAAe5B,EAAS,aAAc,CAAExF,OAAO,KCLvDoF,EAAoB4C,IAAM,SAAS9C,GAGlC,OAFAA,EAAO+C,MAAQ,GACV/C,EAAOzG,WAAUyG,EAAOzG,SAAW,IACjCyG,GCHRE,EAAoBqB,EAAI,I,WCKxB,IAAIyB,EAAkB,CACrB,IAAK,GAaN9C,EAAoBY,EAAES,EAAI,SAAS0B,GAAW,OAAoC,IAA7BD,EAAgBC,IAGrE,IAAIC,EAAuB,SAASC,EAA4B5I,GAC/D,IAKI4F,EAAU8C,EALVjC,EAAWzG,EAAK,GAChB6I,EAAc7I,EAAK,GACnB8I,EAAU9I,EAAK,GAGI8G,EAAI,EAC3B,IAAIlB,KAAYiD,EACZlD,EAAoB+B,EAAEmB,EAAajD,KACrCD,EAAoBQ,EAAEP,GAAYiD,EAAYjD,IAGhD,GAAGkD,EAAS,IAAItC,EAASsC,EAAQnD,GAEjC,IADGiD,GAA4BA,EAA2B5I,GACrD8G,EAAIL,EAAS9J,OAAQmK,IACzB4B,EAAUjC,EAASK,GAChBnB,EAAoB+B,EAAEe,EAAiBC,IAAYD,EAAgBC,IACrED,EAAgBC,GAAS,KAE1BD,EAAgBhC,EAASK,IAAM,EAEhC,OAAOnB,EAAoBY,EAAEC,IAG1BuC,EAAqBC,KAA4B,sBAAIA,KAA4B,uBAAK,GAC1FD,EAAmB3J,QAAQuJ,EAAqBM,KAAK,KAAM,IAC3DF,EAAmBlM,KAAO8L,EAAqBM,KAAK,KAAMF,EAAmBlM,KAAKoM,KAAKF,I,GC7CvF,IAAIG,EAAsBvD,EAAoBY,OAAET,EAAW,CAAC,MAAM,WAAa,OAAOH,EAAoB,UAC1GuD,EAAsBvD,EAAoBY,EAAE2C,G","file":"files-main.js?v=81f558f6d075a808068f","sourcesContent":["var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","/**\n * @copyright Copyright (c) 2019 Gary Kim <gary@garykim.dev>\n *\n * @author Gary Kim <gary@garykim.dev>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default class Settings {\n\n\t_settings\n\n\tconstructor() {\n\t\tthis._settings = []\n\t\tconsole.debug('OCA.Files.Settings initialized')\n\t}\n\n\t/**\n\t * Register a new setting\n\t *\n\t * @since 19.0.0\n\t * @param {OCA.Files.Settings.Setting} view element to add to settings\n\t * @return {boolean} whether registering was successful\n\t */\n\tregister(view) {\n\t\tif (this._settings.filter(e => e.name === view.name).length > 0) {\n\t\t\tconsole.error('A setting with the same name is already registered')\n\t\t\treturn false\n\t\t}\n\t\tthis._settings.push(view)\n\t\treturn true\n\t}\n\n\t/**\n\t * All settings elements\n\t *\n\t * @return {OCA.Files.Settings.Setting[]} All currently registered settings\n\t */\n\tget settings() {\n\t\treturn this._settings\n\t}\n\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Setting.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!./Setting.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2020 Gary Kim <gary@garykim.dev>\n -\n - @author Gary Kim <gary@garykim.dev>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div />\n</template>\n<script>\nexport default {\n\tname: 'Setting',\n\tprops: {\n\t\tel: {\n\t\t\ttype: Function,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tmounted() {\n\t\tthis.$el.appendChild(this.el())\n\t},\n}\n</script>\n<style>\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.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!./Settings.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2019 Gary Kim <gary@garykim.dev>\n -\n - @author Gary Kim <gary@garykim.dev>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n<template>\n\t<div id=\"files-app-extra-settings\">\n\t\t<template v-for=\"setting in settings\">\n\t\t\t<Setting :key=\"setting.name\" :el=\"setting.el\" />\n\t\t</template>\n\t</div>\n</template>\n\n<script>\nimport Setting from '../components/Setting'\n\nexport default {\n\tname: 'Settings',\n\tcomponents: {\n\t\tSetting,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tsettings: OCA.Files.Settings.settings,\n\t\t}\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n</style>\n","import { render, staticRenderFns } from \"./Setting.vue?vue&type=template&id=47cd8aa6&\"\nimport script from \"./Setting.vue?vue&type=script&lang=js&\"\nexport * from \"./Setting.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 { render, staticRenderFns } from \"./Settings.vue?vue&type=template&id=31c9bb4b&scoped=true&\"\nimport script from \"./Settings.vue?vue&type=script&lang=js&\"\nexport * from \"./Settings.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 \"31c9bb4b\",\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',{attrs:{\"id\":\"files-app-extra-settings\"}},[_vm._l((_vm.settings),function(setting){return [_c('Setting',{key:setting.name,attrs:{\"el\":setting.el}})]})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2019 Gary Kim <gary@garykim.dev>\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author Gary Kim <gary@garykim.dev>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default class Setting {\n\n\t_close\n\t_el\n\t_name\n\t_open\n\n\t/**\n\t * Create a new files app setting\n\t *\n\t * @since 19.0.0\n\t * @param {string} name the name of this setting\n\t * @param {Function} component.el function that returns an unmounted dom element to be added\n\t * @param {Function} [component.open] callback for when setting is added\n\t * @param {Function} [component.close] callback for when setting is closed\n\t */\n\tconstructor(name, { el, open, close }) {\n\t\tthis._name = name\n\t\tthis._el = el\n\t\tthis._open = open\n\t\tthis._close = close\n\n\t\tif (typeof this._open !== 'function') {\n\t\t\tthis._open = () => {}\n\t\t}\n\n\t\tif (typeof this._close !== 'function') {\n\t\t\tthis._close = () => {}\n\t\t}\n\t}\n\n\tget name() {\n\t\treturn this._name\n\t}\n\n\tget el() {\n\t\treturn this._el\n\t}\n\n\tget open() {\n\t\treturn this._open\n\t}\n\n\tget close() {\n\t\treturn this._close\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Gary Kim <gary@garykim.dev>\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author Gary Kim <gary@garykim.dev>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue'\nimport Settings from './services/Settings'\nimport SettingsView from './views/Settings'\nimport Setting from './models/Setting'\n\nVue.prototype.t = t\n\n// Init Files App Settings Service\nif (!window.OCA.Files) {\n\twindow.OCA.Files = {}\n}\nObject.assign(window.OCA.Files, { Settings: new Settings() })\nObject.assign(window.OCA.Files.Settings, { Setting })\n\nwindow.addEventListener('DOMContentLoaded', function() {\n\tif (window.TESTING) {\n\t\treturn\n\t}\n\t// Init Vue app\n\t// eslint-disable-next-line\n\tnew Vue({\n\t\tel: '#files-app-settings',\n\t\trender: h => h(SettingsView),\n\t})\n\n\tconst appSettingsHeader = document.getElementById('app-settings-header')\n\tif (appSettingsHeader) {\n\t\tappSettingsHeader.addEventListener('click', e => {\n\t\t\tconst opened = e.currentTarget.children[0].classList.contains('opened')\n\t\t\tOCA.Files.Settings.settings.forEach(e => opened ? e.close() : e.open())\n\t\t})\n\t}\n})\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { generateRemoteUrl } from '@nextcloud/router'\nimport { getCurrentUser } from '@nextcloud/auth'\n\nexport const getRootPath = function() {\n\tif (getCurrentUser()) {\n\t\treturn generateRemoteUrl(`dav/files/${getCurrentUser().uid}`)\n\t} else {\n\t\treturn generateRemoteUrl('webdav').replace('/remote.php', '/public.php')\n\t}\n}\n\nexport const isPublic = function() {\n\treturn !getCurrentUser()\n}\n\nexport const getToken = function() {\n\treturn document.getElementById('sharingToken') && document.getElementById('sharingToken').value\n}\n\n/**\n * Return the current directory, fallback to root\n *\n * @return {string}\n */\nexport const getCurrentDirectory = function() {\n\tconst currentDirInfo = OCA?.Files?.App?.currentFileList?.dirInfo\n\t\t|| { path: '/', name: '' }\n\n\t// Make sure we don't have double slashes\n\treturn `${currentDirInfo.path}/${currentDirInfo.name}`.replace(/\\/\\//gi, '/')\n}\n","/**\n * @copyright Copyright (c) 2021 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { generateOcsUrl } from '@nextcloud/router'\nimport axios from '@nextcloud/axios'\n\nexport const getTemplates = async function() {\n\tconst response = await axios.get(generateOcsUrl('apps/files/api/v1/templates'))\n\treturn response.data.ocs.data\n}\n\n/**\n * Create a new file from a specified template\n *\n * @param {string} filePath The new file destination path\n * @param {string} templatePath The template source path\n * @param {string} templateType The template type e.g 'user'\n */\nexport const createFromTemplate = async function(filePath, templatePath, templateType) {\n\tconst response = await axios.post(generateOcsUrl('apps/files/api/v1/templates/create'), {\n\t\tfilePath,\n\t\ttemplatePath,\n\t\ttemplateType,\n\t})\n\treturn response.data.ocs.data\n}\n","<!--\n - @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<li class=\"template-picker__item\">\n\t\t<input :id=\"id\"\n\t\t\t:checked=\"checked\"\n\t\t\ttype=\"radio\"\n\t\t\tclass=\"radio\"\n\t\t\tname=\"template-picker\"\n\t\t\t@change=\"onCheck\">\n\n\t\t<label :for=\"id\" class=\"template-picker__label\">\n\t\t\t<div class=\"template-picker__preview\"\n\t\t\t\t:class=\"failedPreview ? 'template-picker__preview--failed' : ''\">\n\t\t\t\t<img class=\"template-picker__image\"\n\t\t\t\t\t:src=\"realPreviewUrl\"\n\t\t\t\t\talt=\"\"\n\t\t\t\t\tdraggable=\"false\"\n\t\t\t\t\t@error=\"onFailure\">\n\t\t\t</div>\n\n\t\t\t<span class=\"template-picker__title\">\n\t\t\t\t{{ nameWithoutExt }}\n\t\t\t</span>\n\t\t</label>\n\t</li>\n</template>\n\n<script>\nimport { generateUrl } from '@nextcloud/router'\nimport { encodeFilePath } from '../utils/fileUtils'\nimport { getToken, isPublic } from '../utils/davUtils'\n\n// preview width generation\nconst previewWidth = 256\n\nexport default {\n\tname: 'TemplatePreview',\n\tinheritAttrs: false,\n\n\tprops: {\n\t\tbasename: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tchecked: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tfileid: {\n\t\t\ttype: [String, Number],\n\t\t\trequired: true,\n\t\t},\n\t\tfilename: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tpreviewUrl: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\thasPreview: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\tmime: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tratio: {\n\t\t\ttype: Number,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tfailedPreview: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Strip away extension from name\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tnameWithoutExt() {\n\t\t\treturn this.basename.indexOf('.') > -1 ? this.basename.split('.').slice(0, -1).join('.') : this.basename\n\t\t},\n\n\t\tid() {\n\t\t\treturn `template-picker-${this.fileid}`\n\t\t},\n\n\t\trealPreviewUrl() {\n\t\t\t// If original preview failed, fallback to mime icon\n\t\t\tif (this.failedPreview && this.mimeIcon) {\n\t\t\t\treturn this.mimeIcon\n\t\t\t}\n\n\t\t\tif (this.previewUrl) {\n\t\t\t\treturn this.previewUrl\n\t\t\t}\n\t\t\t// TODO: find a nicer standard way of doing this?\n\t\t\tif (isPublic()) {\n\t\t\t\treturn generateUrl(`/apps/files_sharing/publicpreview/${getToken()}?fileId=${this.fileid}&file=${encodeFilePath(this.filename)}&x=${previewWidth}&y=${previewWidth}&a=1`)\n\t\t\t}\n\t\t\treturn generateUrl(`/core/preview?fileId=${this.fileid}&x=${previewWidth}&y=${previewWidth}&a=1`)\n\t\t},\n\n\t\tmimeIcon() {\n\t\t\treturn OC.MimeType.getIconUrl(this.mime)\n\t\t},\n\t},\n\n\tmethods: {\n\t\tonCheck() {\n\t\t\tthis.$emit('check', this.fileid)\n\t\t},\n\t\tonFailure() {\n\t\t\tthis.failedPreview = true\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n.template-picker {\n\t&__item {\n\t\tdisplay: flex;\n\t}\n\n\t&__label {\n\t\tdisplay: flex;\n\t\t// Align in the middle of the grid\n\t\talign-items: center;\n\t\tflex: 1 1;\n\t\tflex-direction: column;\n\n\t\t&, * {\n\t\t\tcursor: pointer;\n\t\t\tuser-select: none;\n\t\t}\n\n\t\t&::before {\n\t\t\tdisplay: none !important;\n\t\t}\n\t}\n\n\t&__preview {\n\t\tdisplay: block;\n\t\toverflow: hidden;\n\t\t// Stretch so all entries are the same width\n\t\tflex: 1 1;\n\t\twidth: var(--width);\n\t\tmin-height: var(--height);\n\t\tmax-height: var(--height);\n\t\tpadding: 0;\n\t\tborder: var(--border) solid var(--color-border);\n\t\tborder-radius: var(--border-radius-large);\n\n\t\tinput:checked + label > & {\n\t\t\tborder-color: var(--color-primary);\n\t\t}\n\n\t\t&--failed {\n\t\t\t// Make sure to properly center fallback icon\n\t\t\tdisplay: flex;\n\t\t}\n\t}\n\n\t&__image {\n\t\tmax-width: 100%;\n\t\tbackground-color: var(--color-main-background);\n\n\t\tobject-fit: cover;\n\t}\n\n\t// Failed preview, fallback to mime icon\n\t&__preview--failed &__image {\n\t\twidth: calc(var(--margin) * 8);\n\t\t// Center mime icon\n\t\tmargin: auto;\n\t\tbackground-color: transparent !important;\n\n\t\tobject-fit: initial;\n\t}\n\n\t&__title {\n\t\toverflow: hidden;\n\t\t// also count preview border\n\t\tmax-width: calc(var(--width) + 2*2px);\n\t\tpadding: var(--margin);\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t}\n}\n\n</style>\n","/**\n * @copyright Copyright (c) 2021 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nconst encodeFilePath = function(path) {\n\tconst pathSections = (path.startsWith('/') ? path : `/${path}`).split('/')\n\tlet relativePath = ''\n\tpathSections.forEach((section) => {\n\t\tif (section !== '') {\n\t\t\trelativePath += '/' + encodeURIComponent(section)\n\t\t}\n\t})\n\treturn relativePath\n}\n\n/**\n * Extract dir and name from file path\n *\n * @param {string} path the full path\n * @return {string[]} [dirPath, fileName]\n */\nconst extractFilePaths = function(path) {\n\tconst pathSections = path.split('/')\n\tconst fileName = pathSections[pathSections.length - 1]\n\tconst dirPath = pathSections.slice(0, pathSections.length - 1).join('/')\n\treturn [dirPath, fileName]\n}\n\nexport { encodeFilePath, extractFilePaths }\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemplatePreview.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!./TemplatePreview.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TemplatePreview.vue?vue&type=template&id=440aea22&scoped=true&\"\nimport script from \"./TemplatePreview.vue?vue&type=script&lang=js&\"\nexport * from \"./TemplatePreview.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TemplatePreview.vue?vue&type=style&index=0&id=440aea22&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 \"440aea22\",\n null\n \n)\n\nexport default component.exports","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemplatePreview.vue?vue&type=style&index=0&id=440aea22&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"template-picker__item\"},[_c('input',{staticClass:\"radio\",attrs:{\"id\":_vm.id,\"type\":\"radio\",\"name\":\"template-picker\"},domProps:{\"checked\":_vm.checked},on:{\"change\":_vm.onCheck}}),_vm._v(\" \"),_c('label',{staticClass:\"template-picker__label\",attrs:{\"for\":_vm.id}},[_c('div',{staticClass:\"template-picker__preview\",class:_vm.failedPreview ? 'template-picker__preview--failed' : ''},[_c('img',{staticClass:\"template-picker__image\",attrs:{\"src\":_vm.realPreviewUrl,\"alt\":\"\",\"draggable\":\"false\"},on:{\"error\":_vm.onFailure}})]),_vm._v(\" \"),_c('span',{staticClass:\"template-picker__title\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.nameWithoutExt)+\"\\n\\t\\t\")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<Modal v-if=\"opened\"\n\t\t:clear-view-delay=\"-1\"\n\t\tclass=\"templates-picker\"\n\t\tsize=\"large\"\n\t\t@close=\"close\">\n\t\t<form class=\"templates-picker__form\"\n\t\t\t:style=\"style\"\n\t\t\t@submit.prevent.stop=\"onSubmit\">\n\t\t\t<h2>{{ t('files', 'Pick a template for {name}', { name: nameWithoutExt }) }}</h2>\n\n\t\t\t<!-- Templates list -->\n\t\t\t<ul class=\"templates-picker__list\">\n\t\t\t\t<TemplatePreview\n\t\t\t\t\tv-bind=\"emptyTemplate\"\n\t\t\t\t\t:checked=\"checked === emptyTemplate.fileid\"\n\t\t\t\t\t@check=\"onCheck\" />\n\n\t\t\t\t<TemplatePreview\n\t\t\t\t\tv-for=\"template in provider.templates\"\n\t\t\t\t\t:key=\"template.fileid\"\n\t\t\t\t\tv-bind=\"template\"\n\t\t\t\t\t:checked=\"checked === template.fileid\"\n\t\t\t\t\t:ratio=\"provider.ratio\"\n\t\t\t\t\t@check=\"onCheck\" />\n\t\t\t</ul>\n\n\t\t\t<!-- Cancel and submit -->\n\t\t\t<div class=\"templates-picker__buttons\">\n\t\t\t\t<button @click=\"close\">\n\t\t\t\t\t{{ t('files', 'Cancel') }}\n\t\t\t\t</button>\n\t\t\t\t<input type=\"submit\"\n\t\t\t\t\tclass=\"primary\"\n\t\t\t\t\t:value=\"t('files', 'Create')\"\n\t\t\t\t\t:aria-label=\"t('files', 'Create a new file with the selected template')\">\n\t\t\t</div>\n\t\t</form>\n\n\t\t<EmptyContent v-if=\"loading\" class=\"templates-picker__loading\" icon=\"icon-loading\">\n\t\t\t{{ t('files', 'Creating file') }}\n\t\t</EmptyContent>\n\t</Modal>\n</template>\n\n<script>\nimport { normalize } from 'path'\nimport { showError } from '@nextcloud/dialogs'\nimport EmptyContent from '@nextcloud/vue/dist/Components/EmptyContent'\nimport Modal from '@nextcloud/vue/dist/Components/Modal'\n\nimport { getCurrentDirectory } from '../utils/davUtils'\nimport { createFromTemplate, getTemplates } from '../services/Templates'\nimport TemplatePreview from '../components/TemplatePreview'\n\nconst border = 2\nconst margin = 8\nconst width = margin * 20\n\nexport default {\n\tname: 'TemplatePicker',\n\n\tcomponents: {\n\t\tEmptyContent,\n\t\tModal,\n\t\tTemplatePreview,\n\t},\n\n\tprops: {\n\t\tlogger: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\t// Check empty template by default\n\t\t\tchecked: -1,\n\t\t\tloading: false,\n\t\t\tname: null,\n\t\t\topened: false,\n\t\t\tprovider: null,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Strip away extension from name\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tnameWithoutExt() {\n\t\t\treturn this.name.indexOf('.') > -1\n\t\t\t\t? this.name.split('.').slice(0, -1).join('.')\n\t\t\t\t: this.name\n\t\t},\n\n\t\temptyTemplate() {\n\t\t\treturn {\n\t\t\t\tbasename: t('files', 'Blank'),\n\t\t\t\tfileid: -1,\n\t\t\t\tfilename: this.t('files', 'Blank'),\n\t\t\t\thasPreview: false,\n\t\t\t\tmime: this.provider?.mimetypes[0] || this.provider?.mimetypes,\n\t\t\t}\n\t\t},\n\n\t\tselectedTemplate() {\n\t\t\treturn this.provider.templates.find(template => template.fileid === this.checked)\n\t\t},\n\n\t\t/**\n\t\t * Style css vars bin,d\n\t\t *\n\t\t * @return {object}\n\t\t */\n\t\tstyle() {\n\t\t\treturn {\n\t\t\t\t'--margin': margin + 'px',\n\t\t\t\t'--width': width + 'px',\n\t\t\t\t'--border': border + 'px',\n\t\t\t\t'--fullwidth': width + 2 * margin + 2 * border + 'px',\n\t\t\t\t'--height': this.provider.ratio ? Math.round(width / this.provider.ratio) + 'px' : null,\n\t\t\t}\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Open the picker\n\t\t *\n\t\t * @param {string} name the file name to create\n\t\t * @param {object} provider the template provider picked\n\t\t */\n\t\tasync open(name, provider) {\n\n\t\t\tthis.checked = this.emptyTemplate.fileid\n\t\t\tthis.name = name\n\t\t\tthis.provider = provider\n\n\t\t\tconst templates = await getTemplates()\n\t\t\tconst fetchedProvider = templates.find((fetchedProvider) => fetchedProvider.app === provider.app && fetchedProvider.label === provider.label)\n\t\t\tif (fetchedProvider === null) {\n\t\t\t\tthrow new Error('Failed to match provider in results')\n\t\t\t}\n\t\t\tthis.provider = fetchedProvider\n\n\t\t\t// If there is no templates available, just create an empty file\n\t\t\tif (fetchedProvider.templates.length === 0) {\n\t\t\t\tthis.onSubmit()\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Else, open the picker\n\t\t\tthis.opened = true\n\t\t},\n\n\t\t/**\n\t\t * Close the picker and reset variables\n\t\t */\n\t\tclose() {\n\t\t\tthis.checked = this.emptyTemplate.fileid\n\t\t\tthis.loading = false\n\t\t\tthis.name = null\n\t\t\tthis.opened = false\n\t\t\tthis.provider = null\n\t\t},\n\n\t\t/**\n\t\t * Manages the radio template picker change\n\t\t *\n\t\t * @param {number} fileid the selected template file id\n\t\t */\n\t\tonCheck(fileid) {\n\t\t\tthis.checked = fileid\n\t\t},\n\n\t\tasync onSubmit() {\n\t\t\tthis.loading = true\n\t\t\tconst currentDirectory = getCurrentDirectory()\n\t\t\tconst fileList = OCA?.Files?.App?.currentFileList\n\n\t\t\t// If the file doesn't have an extension, add the default one\n\t\t\tif (this.nameWithoutExt === this.name) {\n\t\t\t\tthis.logger.debug('Fixed invalid filename', { name: this.name, extension: this.provider?.extension })\n\t\t\t\tthis.name = this.name + this.provider?.extension\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst fileInfo = await createFromTemplate(\n\t\t\t\t\tnormalize(`${currentDirectory}/${this.name}`),\n\t\t\t\t\tthis.selectedTemplate?.filename,\n\t\t\t\t\tthis.selectedTemplate?.templateType,\n\t\t\t\t)\n\t\t\t\tthis.logger.debug('Created new file', fileInfo)\n\n\t\t\t\tconst data = await fileList?.addAndFetchFileInfo(this.name).then((status, data) => data)\n\n\t\t\t\tconst model = new OCA.Files.FileInfoModel(data, {\n\t\t\t\t\tfilesClient: fileList?.filesClient,\n\t\t\t\t})\n\t\t\t\t// Run default action\n\t\t\t\tconst fileAction = OCA.Files.fileActions.getDefaultFileAction(fileInfo.mime, 'file', OC.PERMISSION_ALL)\n\t\t\t\tfileAction.action(fileInfo.basename, {\n\t\t\t\t\t$file: fileList?.findFileEl(this.name),\n\t\t\t\t\tdir: currentDirectory,\n\t\t\t\t\tfileList,\n\t\t\t\t\tfileActions: fileList?.fileActions,\n\t\t\t\t\tfileInfoModel: model,\n\t\t\t\t})\n\n\t\t\t\tthis.close()\n\t\t\t} catch (error) {\n\t\t\t\tthis.logger.error('Error while creating the new file from template')\n\t\t\t\tconsole.error(error)\n\t\t\t\tshowError(this.t('files', 'Unable to create new file from template'))\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.templates-picker {\n\t&__form {\n\t\tpadding: calc(var(--margin) * 2);\n\t\t// Will be handled by the buttons\n\t\tpadding-bottom: 0;\n\n\t\th2 {\n\t\t\ttext-align: center;\n\t\t\tfont-weight: bold;\n\t\t\tmargin: var(--margin) 0 calc(var(--margin) * 2);\n\t\t}\n\t}\n\n\t&__list {\n\t\tdisplay: grid;\n\t\tgrid-gap: calc(var(--margin) * 2);\n\t\tgrid-auto-columns: 1fr;\n\t\t// We want maximum 5 columns. Putting 6 as we don't count the grid gap. So it will always be lower than 6\n\t\tmax-width: calc(var(--fullwidth) * 6);\n\t\tgrid-template-columns: repeat(auto-fit, var(--fullwidth));\n\t\t// Make sure all rows are the same height\n\t\tgrid-auto-rows: 1fr;\n\t\t// Center the columns set\n\t\tjustify-content: center;\n\t}\n\n\t&__buttons {\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\tpadding: calc(var(--margin) * 2) var(--margin);\n\t\tposition: sticky;\n\t\tbottom: 0;\n\t\tbackground-image: linear-gradient(0, var(--gradient-main-background));\n\n\t\tbutton, input[type='submit'] {\n\t\t\theight: 44px;\n\t\t}\n\t}\n\n\t// Make sure we're relative for the loading emptycontent on top\n\t::v-deep .modal-container {\n\t\tposition: relative;\n\t\toverflow-y: auto !important;\n\t}\n\n\t&__loading {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tjustify-content: center;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tmargin: 0;\n\t\tbackground-color: var(--color-main-background-translucent);\n\t}\n}\n\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemplatePicker.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!./TemplatePicker.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TemplatePicker.vue?vue&type=template&id=5fe9240a&scoped=true&\"\nimport script from \"./TemplatePicker.vue?vue&type=script&lang=js&\"\nexport * from \"./TemplatePicker.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TemplatePicker.vue?vue&type=style&index=0&id=5fe9240a&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 \"5fe9240a\",\n null\n \n)\n\nexport default component.exports","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TemplatePicker.vue?vue&type=style&index=0&id=5fe9240a&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.opened)?_c('Modal',{staticClass:\"templates-picker\",attrs:{\"clear-view-delay\":-1,\"size\":\"large\"},on:{\"close\":_vm.close}},[_c('form',{staticClass:\"templates-picker__form\",style:(_vm.style),on:{\"submit\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onSubmit.apply(null, arguments)}}},[_c('h2',[_vm._v(_vm._s(_vm.t('files', 'Pick a template for {name}', { name: _vm.nameWithoutExt })))]),_vm._v(\" \"),_c('ul',{staticClass:\"templates-picker__list\"},[_c('TemplatePreview',_vm._b({attrs:{\"checked\":_vm.checked === _vm.emptyTemplate.fileid},on:{\"check\":_vm.onCheck}},'TemplatePreview',_vm.emptyTemplate,false)),_vm._v(\" \"),_vm._l((_vm.provider.templates),function(template){return _c('TemplatePreview',_vm._b({key:template.fileid,attrs:{\"checked\":_vm.checked === template.fileid,\"ratio\":_vm.provider.ratio},on:{\"check\":_vm.onCheck}},'TemplatePreview',template,false))})],2),_vm._v(\" \"),_c('div',{staticClass:\"templates-picker__buttons\"},[_c('button',{on:{\"click\":_vm.close}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'Cancel'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('input',{staticClass:\"primary\",attrs:{\"type\":\"submit\",\"aria-label\":_vm.t('files', 'Create a new file with the selected template')},domProps:{\"value\":_vm.t('files', 'Create')}})])]),_vm._v(\" \"),(_vm.loading)?_c('EmptyContent',{staticClass:\"templates-picker__loading\",attrs:{\"icon\":\"icon-loading\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files', 'Creating file'))+\"\\n\\t\")]):_vm._e()],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\nimport { loadState } from '@nextcloud/initial-state'\nimport { translate as t, translatePlural as n } from '@nextcloud/l10n'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { getCurrentDirectory } from './utils/davUtils'\nimport axios from '@nextcloud/axios'\nimport Vue from 'vue'\n\nimport TemplatePickerView from './views/TemplatePicker'\nimport { showError } from '@nextcloud/dialogs'\n\n// Set up logger\nconst logger = getLoggerBuilder()\n\t.setApp('files')\n\t.detectUser()\n\t.build()\n\n// Add translates functions\nVue.mixin({\n\tmethods: {\n\t\tt,\n\t\tn,\n\t},\n})\n\n// Create document root\nconst TemplatePickerRoot = document.createElement('div')\nTemplatePickerRoot.id = 'template-picker'\ndocument.body.appendChild(TemplatePickerRoot)\n\n// Retrieve and init templates\nlet templates = loadState('files', 'templates', [])\nlet templatesPath = loadState('files', 'templates_path', false)\nlogger.debug('Templates providers', templates)\nlogger.debug('Templates folder', { templatesPath })\n\n// Init vue app\nconst View = Vue.extend(TemplatePickerView)\nconst TemplatePicker = new View({\n\tname: 'TemplatePicker',\n\tpropsData: {\n\t\tlogger,\n\t},\n})\nTemplatePicker.$mount('#template-picker')\n\n// Init template engine after load to make sure it's the last injected entry\nwindow.addEventListener('DOMContentLoaded', function() {\n\tif (!templatesPath) {\n\t\tlogger.debug('Templates folder not initialized')\n\t\tconst initTemplatesPlugin = {\n\t\t\tattach(menu) {\n\t\t\t\t// register the new menu entry\n\t\t\t\tmenu.addMenuEntry({\n\t\t\t\t\tid: 'template-init',\n\t\t\t\t\tdisplayName: t('files', 'Set up templates folder'),\n\t\t\t\t\ttemplateName: t('files', 'Templates'),\n\t\t\t\t\ticonClass: 'icon-template-add',\n\t\t\t\t\tfileType: 'file',\n\t\t\t\t\tactionHandler(name) {\n\t\t\t\t\t\tinitTemplatesFolder(name)\n\t\t\t\t\t\tmenu.removeMenuEntry('template-init')\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t},\n\t\t}\n\t\tOC.Plugins.register('OCA.Files.NewFileMenu', initTemplatesPlugin)\n\t}\n})\n\n// Init template files menu\ntemplates.forEach((provider, index) => {\n\tconst newTemplatePlugin = {\n\t\tattach(menu) {\n\t\t\tconst fileList = menu.fileList\n\n\t\t\t// only attach to main file list, public view is not supported yet\n\t\t\tif (fileList.id !== 'files' && fileList.id !== 'files.public') {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// register the new menu entry\n\t\t\tmenu.addMenuEntry({\n\t\t\t\tid: `template-new-${provider.app}-${index}`,\n\t\t\t\tdisplayName: provider.label,\n\t\t\t\ttemplateName: provider.label + provider.extension,\n\t\t\t\ticonClass: provider.iconClass || 'icon-file',\n\t\t\t\tfileType: 'file',\n\t\t\t\tactionHandler(name) {\n\t\t\t\t\tTemplatePicker.open(name, provider)\n\t\t\t\t},\n\t\t\t})\n\t\t},\n\t}\n\tOC.Plugins.register('OCA.Files.NewFileMenu', newTemplatePlugin)\n})\n\n/**\n * Init the template directory\n *\n * @param {string} name the templates folder name\n */\nconst initTemplatesFolder = async function(name) {\n\tconst templatePath = (getCurrentDirectory() + `/${name}`).replace('//', '/')\n\ttry {\n\t\tlogger.debug('Initializing the templates directory', { templatePath })\n\t\tconst response = await axios.post(generateOcsUrl('apps/files/api/v1/templates/path'), {\n\t\t\ttemplatePath,\n\t\t\tcopySystemTemplates: true,\n\t\t})\n\n\t\t// Go to template directory\n\t\tOCA.Files.App.currentFileList.changeDirectory(templatePath, true, true)\n\n\t\ttemplates = response.data.ocs.data.templates\n\t\ttemplatesPath = response.data.ocs.data.template_path\n\t} catch (error) {\n\t\tlogger.error('Unable to initialize the templates directory')\n\t\tshowError(t('files', 'Unable to initialize the templates directory'))\n\t}\n}\n","/*\n * @copyright Copyright (c) 2021 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { subscribe } from '@nextcloud/event-bus'\n\n(function() {\n\n\tconst FilesPlugin = {\n\t\tattach(fileList) {\n\t\t\tsubscribe('nextcloud:unified-search.search', ({ query }) => {\n\t\t\t\tfileList.setFilter(query)\n\t\t\t})\n\t\t\tsubscribe('nextcloud:unified-search.reset', () => {\n\t\t\t\tthis.query = null\n\t\t\t\tfileList.setFilter('')\n\t\t\t})\n\n\t\t},\n\t}\n\n\twindow.OC.Plugins.register('OCA.Files.FileList', FilesPlugin)\n\n})()\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".template-picker__item[data-v-440aea22]{display:flex}.template-picker__label[data-v-440aea22]{display:flex;align-items:center;flex:1 1;flex-direction:column}.template-picker__label[data-v-440aea22],.template-picker__label *[data-v-440aea22]{cursor:pointer;user-select:none}.template-picker__label[data-v-440aea22]::before{display:none !important}.template-picker__preview[data-v-440aea22]{display:block;overflow:hidden;flex:1 1;width:var(--width);min-height:var(--height);max-height:var(--height);padding:0;border:var(--border) solid var(--color-border);border-radius:var(--border-radius-large)}input:checked+label>.template-picker__preview[data-v-440aea22]{border-color:var(--color-primary)}.template-picker__preview--failed[data-v-440aea22]{display:flex}.template-picker__image[data-v-440aea22]{max-width:100%;background-color:var(--color-main-background);object-fit:cover}.template-picker__preview--failed .template-picker__image[data-v-440aea22]{width:calc(var(--margin)*8);margin:auto;background-color:transparent !important;object-fit:initial}.template-picker__title[data-v-440aea22]{overflow:hidden;max-width:calc(var(--width) + 4px);padding:var(--margin);white-space:nowrap;text-overflow:ellipsis}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/TemplatePreview.vue\"],\"names\":[],\"mappings\":\"AAsJC,wCACC,YAAA,CAGD,yCACC,YAAA,CAEA,kBAAA,CACA,QAAA,CACA,qBAAA,CAEA,oFACC,cAAA,CACA,gBAAA,CAGD,iDACC,uBAAA,CAIF,2CACC,aAAA,CACA,eAAA,CAEA,QAAA,CACA,kBAAA,CACA,wBAAA,CACA,wBAAA,CACA,SAAA,CACA,8CAAA,CACA,wCAAA,CAEA,+DACC,iCAAA,CAGD,mDAEC,YAAA,CAIF,yCACC,cAAA,CACA,6CAAA,CAEA,gBAAA,CAID,2EACC,2BAAA,CAEA,WAAA,CACA,uCAAA,CAEA,kBAAA,CAGD,yCACC,eAAA,CAEA,kCAAA,CACA,qBAAA,CACA,kBAAA,CACA,sBAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.template-picker {\\n\\t&__item {\\n\\t\\tdisplay: flex;\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: flex;\\n\\t\\t// Align in the middle of the grid\\n\\t\\talign-items: center;\\n\\t\\tflex: 1 1;\\n\\t\\tflex-direction: column;\\n\\n\\t\\t&, * {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tuser-select: none;\\n\\t\\t}\\n\\n\\t\\t&::before {\\n\\t\\t\\tdisplay: none !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&__preview {\\n\\t\\tdisplay: block;\\n\\t\\toverflow: hidden;\\n\\t\\t// Stretch so all entries are the same width\\n\\t\\tflex: 1 1;\\n\\t\\twidth: var(--width);\\n\\t\\tmin-height: var(--height);\\n\\t\\tmax-height: var(--height);\\n\\t\\tpadding: 0;\\n\\t\\tborder: var(--border) solid var(--color-border);\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\n\\t\\tinput:checked + label > & {\\n\\t\\t\\tborder-color: var(--color-primary);\\n\\t\\t}\\n\\n\\t\\t&--failed {\\n\\t\\t\\t// Make sure to properly center fallback icon\\n\\t\\t\\tdisplay: flex;\\n\\t\\t}\\n\\t}\\n\\n\\t&__image {\\n\\t\\tmax-width: 100%;\\n\\t\\tbackground-color: var(--color-main-background);\\n\\n\\t\\tobject-fit: cover;\\n\\t}\\n\\n\\t// Failed preview, fallback to mime icon\\n\\t&__preview--failed &__image {\\n\\t\\twidth: calc(var(--margin) * 8);\\n\\t\\t// Center mime icon\\n\\t\\tmargin: auto;\\n\\t\\tbackground-color: transparent !important;\\n\\n\\t\\tobject-fit: initial;\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\t// also count preview border\\n\\t\\tmax-width: calc(var(--width) + 2*2px);\\n\\t\\tpadding: var(--margin);\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".templates-picker__form[data-v-5fe9240a]{padding:calc(var(--margin)*2);padding-bottom:0}.templates-picker__form h2[data-v-5fe9240a]{text-align:center;font-weight:bold;margin:var(--margin) 0 calc(var(--margin)*2)}.templates-picker__list[data-v-5fe9240a]{display:grid;grid-gap:calc(var(--margin)*2);grid-auto-columns:1fr;max-width:calc(var(--fullwidth)*6);grid-template-columns:repeat(auto-fit, var(--fullwidth));grid-auto-rows:1fr;justify-content:center}.templates-picker__buttons[data-v-5fe9240a]{display:flex;justify-content:space-between;padding:calc(var(--margin)*2) var(--margin);position:sticky;bottom:0;background-image:linear-gradient(0, var(--gradient-main-background))}.templates-picker__buttons button[data-v-5fe9240a],.templates-picker__buttons input[type=submit][data-v-5fe9240a]{height:44px}.templates-picker[data-v-5fe9240a] .modal-container{position:relative;overflow-y:auto !important}.templates-picker__loading[data-v-5fe9240a]{position:absolute;top:0;left:0;justify-content:center;width:100%;height:100%;margin:0;background-color:var(--color-main-background-translucent)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/views/TemplatePicker.vue\"],\"names\":[],\"mappings\":\"AAyPC,yCACC,6BAAA,CAEA,gBAAA,CAEA,4CACC,iBAAA,CACA,gBAAA,CACA,4CAAA,CAIF,yCACC,YAAA,CACA,8BAAA,CACA,qBAAA,CAEA,kCAAA,CACA,wDAAA,CAEA,kBAAA,CAEA,sBAAA,CAGD,4CACC,YAAA,CACA,6BAAA,CACA,2CAAA,CACA,eAAA,CACA,QAAA,CACA,oEAAA,CAEA,kHACC,WAAA,CAKF,qDACC,iBAAA,CACA,0BAAA,CAGD,4CACC,iBAAA,CACA,KAAA,CACA,MAAA,CACA,sBAAA,CACA,UAAA,CACA,WAAA,CACA,QAAA,CACA,yDAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.templates-picker {\\n\\t&__form {\\n\\t\\tpadding: calc(var(--margin) * 2);\\n\\t\\t// Will be handled by the buttons\\n\\t\\tpadding-bottom: 0;\\n\\n\\t\\th2 {\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tmargin: var(--margin) 0 calc(var(--margin) * 2);\\n\\t\\t}\\n\\t}\\n\\n\\t&__list {\\n\\t\\tdisplay: grid;\\n\\t\\tgrid-gap: calc(var(--margin) * 2);\\n\\t\\tgrid-auto-columns: 1fr;\\n\\t\\t// We want maximum 5 columns. Putting 6 as we don't count the grid gap. So it will always be lower than 6\\n\\t\\tmax-width: calc(var(--fullwidth) * 6);\\n\\t\\tgrid-template-columns: repeat(auto-fit, var(--fullwidth));\\n\\t\\t// Make sure all rows are the same height\\n\\t\\tgrid-auto-rows: 1fr;\\n\\t\\t// Center the columns set\\n\\t\\tjustify-content: center;\\n\\t}\\n\\n\\t&__buttons {\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: space-between;\\n\\t\\tpadding: calc(var(--margin) * 2) var(--margin);\\n\\t\\tposition: sticky;\\n\\t\\tbottom: 0;\\n\\t\\tbackground-image: linear-gradient(0, var(--gradient-main-background));\\n\\n\\t\\tbutton, input[type='submit'] {\\n\\t\\t\\theight: 44px;\\n\\t\\t}\\n\\t}\\n\\n\\t// Make sure we're relative for the loading emptycontent on top\\n\\t::v-deep .modal-container {\\n\\t\\tposition: relative;\\n\\t\\toverflow-y: auto !important;\\n\\t}\\n\\n\\t&__loading {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\tmargin: 0;\\n\\t\\tbackground-color: var(--color-main-background-translucent);\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdD = function () {\n\tthrow new Error('define cannot be used indirect');\n};","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 181;","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t181: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tfor(moduleId in moreModules) {\n\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t}\n\t}\n\tif(runtime) var result = runtime(__webpack_require__);\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkIds[i]] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [874], function() { return __webpack_require__(27130); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"sourceRoot":""} \ No newline at end of file
diff --git a/dist/files-personal-settings.js b/dist/files-personal-settings.js
index 0e237f737a2..cda232bfcbe 100644
--- a/dist/files-personal-settings.js
+++ b/dist/files-personal-settings.js
@@ -1,3 +1,3 @@
/*! For license information please see files-personal-settings.js.LICENSE.txt */
-!function(){"use strict";var n,e={12497:function(n,e,r){var s,i=r(20144),a=r(22200),o=r(4820),l=r(20296),u=r.n(l),c=r(79753),d=r(26932),f=r(7811),p=r.n(f),h=r(17499),g=null===(s=(0,a.getCurrentUser)())?(0,h.getLoggerBuilder)().setApp("files").build():(0,h.getLoggerBuilder)().setApp("files").setUid(s.uid).build();function v(n,e,t,r,s,i,a){try{var o=n[i](a),l=o.value}catch(n){return void t(n)}o.done?e(l):Promise.resolve(l).then(r,s)}var m=(0,d.fn)(t("files","Choose a file or folder to transfer")).setMultiSelect(!1).setModal(!0).setType(1).allowDirectories().build(),b={name:"TransferOwnershipDialogue",components:{Multiselect:p()},data:function(){return{directory:void 0,directoryPickerError:void 0,submitError:void 0,loadingUsers:!1,selectedUser:null,userSuggestions:{},config:{minSearchStringLength:parseInt(OC.config["sharing.minSearchStringLength"],10)||0}}},computed:{canSubmit:function(){return!!this.directory&&!!this.selectedUser},formatedUserSuggestions:function(){var n=this;return Object.keys(this.userSuggestions).map((function(e){var t=n.userSuggestions[e];return{user:t.uid,displayName:t.displayName,icon:"icon-user"}}))},submitButtonText:function(){if(!this.canSubmit)return t("files","Transfer");var n=this.readableDirectory.split("/");return t("files","Transfer {path} to {userid}",{path:n[n.length-1],userid:this.selectedUser.displayName})},readableDirectory:function(){return this.directory?this.directory.substring(1):""}},created:function(){this.findUserDebounced=u()(this.findUser,300),this.findUser("")},methods:{start:function(){var n=this;this.directoryPickerError=void 0,m.pick().then((function(n){return""===n?"/":n})).then((function(e){if(g.debug("path ".concat(e," selected for transferring ownership")),!e.startsWith("/"))throw new Error(t("files","Invalid path selected"));n.directory=e})).catch((function(e){g.error("Selecting object for transfer aborted: ".concat(e.message||"Unknown error"),{error:e}),n.directoryPickerError=e.message||t("files","Unknown error")}))},findUser:function(n){var e,t=this;return(e=regeneratorRuntime.mark((function e(){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.query=n.trim(),!(n.length<t.config.minSearchStringLength)){e.next=3;break}return e.abrupt("return");case 3:return t.loadingUsers=!0,e.prev=4,e.next=7,o.default.get((0,c.generateOcsUrl)("apps/files_sharing/api/v1/sharees"),{params:{format:"json",itemType:"file",search:n,perPage:20,lookup:!1}});case 7:r=e.sent,t.userSuggestions={},r.data.ocs.data.exact.users.concat(r.data.ocs.data.users).forEach((function(n){i.default.set(t.userSuggestions,n.value.shareWith,{uid:n.value.shareWith,displayName:n.label})})),e.next=15;break;case 12:e.prev=12,e.t0=e.catch(4),g.error("could not fetch users",{error:e.t0});case 15:return e.prev=15,t.loadingUsers=!1,e.finish(15);case 18:case"end":return e.stop()}}),e,null,[[4,12,15,18]])})),function(){var n=this,t=arguments;return new Promise((function(r,s){var i=e.apply(n,t);function a(n){v(i,r,s,a,o,"next",n)}function o(n){v(i,r,s,a,o,"throw",n)}a(void 0)}))})()},submit:function(){var n=this;this.canSubmit||g.warn("ignoring form submit"),this.submitError=void 0;var e={path:this.directory,recipient:this.selectedUser.user};g.debug("submit transfer ownership form",e);var r=(0,c.generateOcsUrl)("apps/files/api/v1/transferownership");o.default.post(r,e).then((function(n){return n.data})).then((function(e){g.info("Transfer ownership request sent",{data:e}),n.directory=void 0,n.selectedUser=null,(0,d.s$)(t("files","Ownership transfer request sent"))})).catch((function(e){var r;g.error("Could not send ownership transfer request",{error:e}),403===(null==e||null===(r=e.response)||void 0===r?void 0:r.status)?n.submitError=t("files","Cannot transfer ownership of a file or folder you don't own"):n.submitError=e.message||t("files","Unknown error")}))}}},w=b,A=r(93379),y=r.n(A),C=r(90083),x=(y()(C.Z,{insert:"head",singleton:!1}),C.Z.locals,r(51900)),_=(0,x.Z)(w,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",[t("h3",[n._v(n._s(n.t("files","Transfer ownership of a file or folder"))+" ")]),n._v(" "),t("form",{on:{submit:function(e){return e.preventDefault(),n.submit.apply(null,arguments)}}},[t("p",{staticClass:"transfer-select-row"},[t("span",[n._v(n._s(n.readableDirectory))]),n._v(" "),void 0===n.directory?t("button",{on:{click:function(e){return e.preventDefault(),n.start.apply(null,arguments)}}},[n._v("\n\t\t\t\t"+n._s(n.t("files","Choose file or folder to transfer"))+"\n\t\t\t")]):t("button",{on:{click:function(e){return e.preventDefault(),n.start.apply(null,arguments)}}},[n._v("\n\t\t\t\t"+n._s(n.t("files","Change"))+"\n\t\t\t")]),n._v(" "),t("span",{staticClass:"error"},[n._v(n._s(n.directoryPickerError))])]),n._v(" "),t("p",{staticClass:"new-owner-row"},[t("label",{attrs:{for:"targetUser"}},[t("span",[n._v(n._s(n.t("files","New owner")))])]),n._v(" "),t("Multiselect",{staticClass:"middle-align",attrs:{id:"targetUser",options:n.formatedUserSuggestions,multiple:!1,searchable:!0,placeholder:n.t("files","Search users"),"preselect-first":!0,"preserve-search":!0,loading:n.loadingUsers,"track-by":"user",label:"displayName","internal-search":!1,"clear-on-select":!1,"user-select":!0},on:{"search-change":n.findUserDebounced},model:{value:n.selectedUser,callback:function(e){n.selectedUser=e},expression:"selectedUser"}})],1),n._v(" "),t("p",[t("input",{staticClass:"primary",attrs:{type:"submit",disabled:!n.canSubmit},domProps:{value:n.submitButtonText}}),n._v(" "),t("span",{staticClass:"error"},[n._v(n._s(n.submitError))])])])])}),[],!1,null,"edbdba28",null),U={name:"PersonalSettings",components:{TransferOwnershipDialogue:_.exports}},k=(0,x.Z)(U,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{staticClass:"section",attrs:{id:"files-personal-settings"}},[t("h2",[n._v(n._s(n.t("files","Files")))]),n._v(" "),t("TransferOwnershipDialogue")],1)}),[],!1,null,null,null).exports;r.nc=btoa((0,a.getRequestToken)()),i.default.prototype.t=t,(new(i.default.extend(k))).$mount("#files-personal-settings")},90083:function(n,e,t){var r=t(94015),s=t.n(r),i=t(23645),a=t.n(i)()(s());a.push([n.id,".middle-align[data-v-edbdba28]{vertical-align:middle}p[data-v-edbdba28]{margin-top:12px;margin-bottom:12px}.new-owner-row[data-v-edbdba28]{display:flex}.new-owner-row label[data-v-edbdba28]{display:flex;align-items:center}.new-owner-row label span[data-v-edbdba28]{margin-right:8px}.new-owner-row .multiselect[data-v-edbdba28]{flex-grow:1;max-width:280px}.transfer-select-row span[data-v-edbdba28]{margin-right:8px}","",{version:3,sources:["webpack://./apps/files/src/components/TransferOwnershipDialogue.vue"],names:[],mappings:"AAiOA,+BACC,qBAAA,CAED,mBACC,eAAA,CACA,kBAAA,CAED,gCACC,YAAA,CAEA,sCACC,YAAA,CACA,kBAAA,CAEA,2CACC,gBAAA,CAIF,6CACC,WAAA,CACA,eAAA,CAID,2CACC,gBAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.middle-align {\n\tvertical-align: middle;\n}\np {\n\tmargin-top: 12px;\n\tmargin-bottom: 12px;\n}\n.new-owner-row {\n\tdisplay: flex;\n\n\tlabel {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\n\t\tspan {\n\t\t\tmargin-right: 8px;\n\t\t}\n\t}\n\n\t.multiselect {\n\t\tflex-grow: 1;\n\t\tmax-width: 280px;\n\t}\n}\n.transfer-select-row {\n\tspan {\n\t\tmargin-right: 8px;\n\t}\n}\n"],sourceRoot:""}]),e.Z=a}},r={};function s(n){var t=r[n];if(void 0!==t)return t.exports;var i=r[n]={id:n,loaded:!1,exports:{}};return e[n].call(i.exports,i,i.exports,s),i.loaded=!0,i.exports}s.m=e,s.amdD=function(){throw new Error("define cannot be used indirect")},s.amdO={},n=[],s.O=function(e,t,r,i){if(!t){var a=1/0;for(c=0;c<n.length;c++){t=n[c][0],r=n[c][1],i=n[c][2];for(var o=!0,l=0;l<t.length;l++)(!1&i||a>=i)&&Object.keys(s.O).every((function(n){return s.O[n](t[l])}))?t.splice(l--,1):(o=!1,i<a&&(a=i));if(o){n.splice(c--,1);var u=r();void 0!==u&&(e=u)}}return e}i=i||0;for(var c=n.length;c>0&&n[c-1][2]>i;c--)n[c]=n[c-1];n[c]=[t,r,i]},s.n=function(n){var e=n&&n.__esModule?function(){return n.default}:function(){return n};return s.d(e,{a:e}),e},s.d=function(n,e){for(var t in e)s.o(e,t)&&!s.o(n,t)&&Object.defineProperty(n,t,{enumerable:!0,get:e[t]})},s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(n){if("object"==typeof window)return window}}(),s.o=function(n,e){return Object.prototype.hasOwnProperty.call(n,e)},s.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},s.nmd=function(n){return n.paths=[],n.children||(n.children=[]),n},s.j=623,function(){var n={623:0};s.O.j=function(e){return 0===n[e]};var e=function(e,t){var r,i,a=t[0],o=t[1],l=t[2],u=0;for(r in o)s.o(o,r)&&(s.m[r]=o[r]);if(l)var c=l(s);for(e&&e(t);u<a.length;u++)i=a[u],s.o(n,i)&&n[i]&&n[i][0](),n[a[u]]=0;return s.O(c)},t=self.webpackChunknextcloud=self.webpackChunknextcloud||[];t.forEach(e.bind(null,0)),t.push=e.bind(null,t.push.bind(t))}();var i=s.O(void 0,[874],(function(){return s(12497)}));i=s.O(i)}();
-//# sourceMappingURL=files-personal-settings.js.map?v=610458784fbb830ec169 \ No newline at end of file
+!function(){"use strict";var n,e={12497:function(n,e,r){var s,i=r(20144),o=r(22200),a=r(4820),l=r(20296),u=r.n(l),c=r(79753),d=r(26932),f=r(7811),p=r.n(f),h=r(17499),g=null===(s=(0,o.getCurrentUser)())?(0,h.getLoggerBuilder)().setApp("files").build():(0,h.getLoggerBuilder)().setApp("files").setUid(s.uid).build();function v(n,e,t,r,s,i,o){try{var a=n[i](o),l=a.value}catch(n){return void t(n)}a.done?e(l):Promise.resolve(l).then(r,s)}var m=(0,d.fn)(t("files","Choose a file or folder to transfer")).setMultiSelect(!1).setModal(!0).setType(1).allowDirectories().build(),b={name:"TransferOwnershipDialogue",components:{Multiselect:p()},data:function(){return{directory:void 0,directoryPickerError:void 0,submitError:void 0,loadingUsers:!1,selectedUser:null,userSuggestions:{},config:{minSearchStringLength:parseInt(OC.config["sharing.minSearchStringLength"],10)||0}}},computed:{canSubmit:function(){return!!this.directory&&!!this.selectedUser},formatedUserSuggestions:function(){var n=this;return Object.keys(this.userSuggestions).map((function(e){var t=n.userSuggestions[e];return{user:t.uid,displayName:t.displayName,icon:"icon-user"}}))},submitButtonText:function(){if(!this.canSubmit)return t("files","Transfer");var n=this.readableDirectory.split("/");return t("files","Transfer {path} to {userid}",{path:n[n.length-1],userid:this.selectedUser.displayName})},readableDirectory:function(){return this.directory?this.directory.substring(1):""}},created:function(){this.findUserDebounced=u()(this.findUser,300),this.findUser("")},methods:{start:function(){var n=this;this.directoryPickerError=void 0,m.pick().then((function(n){return""===n?"/":n})).then((function(e){if(g.debug("path ".concat(e," selected for transferring ownership")),!e.startsWith("/"))throw new Error(t("files","Invalid path selected"));n.directory=e})).catch((function(e){g.error("Selecting object for transfer aborted: ".concat(e.message||"Unknown error"),{error:e}),n.directoryPickerError=e.message||t("files","Unknown error")}))},findUser:function(n){var e,t=this;return(e=regeneratorRuntime.mark((function e(){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.query=n.trim(),!(n.length<t.config.minSearchStringLength)){e.next=3;break}return e.abrupt("return");case 3:return t.loadingUsers=!0,e.prev=4,e.next=7,a.default.get((0,c.generateOcsUrl)("apps/files_sharing/api/v1/sharees"),{params:{format:"json",itemType:"file",search:n,perPage:20,lookup:!1}});case 7:r=e.sent,t.userSuggestions={},r.data.ocs.data.exact.users.concat(r.data.ocs.data.users).forEach((function(n){i.default.set(t.userSuggestions,n.value.shareWith,{uid:n.value.shareWith,displayName:n.label})})),e.next=15;break;case 12:e.prev=12,e.t0=e.catch(4),g.error("could not fetch users",{error:e.t0});case 15:return e.prev=15,t.loadingUsers=!1,e.finish(15);case 18:case"end":return e.stop()}}),e,null,[[4,12,15,18]])})),function(){var n=this,t=arguments;return new Promise((function(r,s){var i=e.apply(n,t);function o(n){v(i,r,s,o,a,"next",n)}function a(n){v(i,r,s,o,a,"throw",n)}o(void 0)}))})()},submit:function(){var n=this;this.canSubmit||g.warn("ignoring form submit"),this.submitError=void 0;var e={path:this.directory,recipient:this.selectedUser.user};g.debug("submit transfer ownership form",e);var r=(0,c.generateOcsUrl)("apps/files/api/v1/transferownership");a.default.post(r,e).then((function(n){return n.data})).then((function(e){g.info("Transfer ownership request sent",{data:e}),n.directory=void 0,n.selectedUser=null,(0,d.s$)(t("files","Ownership transfer request sent"))})).catch((function(e){var r;g.error("Could not send ownership transfer request",{error:e}),403===(null==e||null===(r=e.response)||void 0===r?void 0:r.status)?n.submitError=t("files","Cannot transfer ownership of a file or folder you don't own"):n.submitError=e.message||t("files","Unknown error")}))}}},w=b,A=r(93379),y=r.n(A),C=r(90083),x=(y()(C.Z,{insert:"head",singleton:!1}),C.Z.locals,r(51900)),_=(0,x.Z)(w,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",[t("h3",[n._v(n._s(n.t("files","Transfer ownership of a file or folder"))+" ")]),n._v(" "),t("form",{on:{submit:function(e){return e.preventDefault(),n.submit.apply(null,arguments)}}},[t("p",{staticClass:"transfer-select-row"},[t("span",[n._v(n._s(n.readableDirectory))]),n._v(" "),void 0===n.directory?t("button",{on:{click:function(e){return e.preventDefault(),n.start.apply(null,arguments)}}},[n._v("\n\t\t\t\t"+n._s(n.t("files","Choose file or folder to transfer"))+"\n\t\t\t")]):t("button",{on:{click:function(e){return e.preventDefault(),n.start.apply(null,arguments)}}},[n._v("\n\t\t\t\t"+n._s(n.t("files","Change"))+"\n\t\t\t")]),n._v(" "),t("span",{staticClass:"error"},[n._v(n._s(n.directoryPickerError))])]),n._v(" "),t("p",{staticClass:"new-owner-row"},[t("label",{attrs:{for:"targetUser"}},[t("span",[n._v(n._s(n.t("files","New owner")))])]),n._v(" "),t("Multiselect",{staticClass:"middle-align",attrs:{id:"targetUser",options:n.formatedUserSuggestions,multiple:!1,searchable:!0,placeholder:n.t("files","Search users"),"preselect-first":!0,"preserve-search":!0,loading:n.loadingUsers,"track-by":"user",label:"displayName","internal-search":!1,"clear-on-select":!1,"user-select":!0},on:{"search-change":n.findUserDebounced},model:{value:n.selectedUser,callback:function(e){n.selectedUser=e},expression:"selectedUser"}})],1),n._v(" "),t("p",[t("input",{staticClass:"primary",attrs:{type:"submit",disabled:!n.canSubmit},domProps:{value:n.submitButtonText}}),n._v(" "),t("span",{staticClass:"error"},[n._v(n._s(n.submitError))])])])])}),[],!1,null,"edbdba28",null),U={name:"PersonalSettings",components:{TransferOwnershipDialogue:_.exports}},S=(0,x.Z)(U,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{staticClass:"section",attrs:{id:"files-personal-settings"}},[t("h2",[n._v(n._s(n.t("files","Files")))]),n._v(" "),t("TransferOwnershipDialogue")],1)}),[],!1,null,null,null).exports;r.nc=btoa((0,o.getRequestToken)()),i.default.prototype.t=t,window.TESTING||(new(i.default.extend(S))).$mount("#files-personal-settings")},90083:function(n,e,t){var r=t(94015),s=t.n(r),i=t(23645),o=t.n(i)()(s());o.push([n.id,".middle-align[data-v-edbdba28]{vertical-align:middle}p[data-v-edbdba28]{margin-top:12px;margin-bottom:12px}.new-owner-row[data-v-edbdba28]{display:flex}.new-owner-row label[data-v-edbdba28]{display:flex;align-items:center}.new-owner-row label span[data-v-edbdba28]{margin-right:8px}.new-owner-row .multiselect[data-v-edbdba28]{flex-grow:1;max-width:280px}.transfer-select-row span[data-v-edbdba28]{margin-right:8px}","",{version:3,sources:["webpack://./apps/files/src/components/TransferOwnershipDialogue.vue"],names:[],mappings:"AAiOA,+BACC,qBAAA,CAED,mBACC,eAAA,CACA,kBAAA,CAED,gCACC,YAAA,CAEA,sCACC,YAAA,CACA,kBAAA,CAEA,2CACC,gBAAA,CAIF,6CACC,WAAA,CACA,eAAA,CAID,2CACC,gBAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.middle-align {\n\tvertical-align: middle;\n}\np {\n\tmargin-top: 12px;\n\tmargin-bottom: 12px;\n}\n.new-owner-row {\n\tdisplay: flex;\n\n\tlabel {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\n\t\tspan {\n\t\t\tmargin-right: 8px;\n\t\t}\n\t}\n\n\t.multiselect {\n\t\tflex-grow: 1;\n\t\tmax-width: 280px;\n\t}\n}\n.transfer-select-row {\n\tspan {\n\t\tmargin-right: 8px;\n\t}\n}\n"],sourceRoot:""}]),e.Z=o}},r={};function s(n){var t=r[n];if(void 0!==t)return t.exports;var i=r[n]={id:n,loaded:!1,exports:{}};return e[n].call(i.exports,i,i.exports,s),i.loaded=!0,i.exports}s.m=e,s.amdD=function(){throw new Error("define cannot be used indirect")},s.amdO={},n=[],s.O=function(e,t,r,i){if(!t){var o=1/0;for(c=0;c<n.length;c++){t=n[c][0],r=n[c][1],i=n[c][2];for(var a=!0,l=0;l<t.length;l++)(!1&i||o>=i)&&Object.keys(s.O).every((function(n){return s.O[n](t[l])}))?t.splice(l--,1):(a=!1,i<o&&(o=i));if(a){n.splice(c--,1);var u=r();void 0!==u&&(e=u)}}return e}i=i||0;for(var c=n.length;c>0&&n[c-1][2]>i;c--)n[c]=n[c-1];n[c]=[t,r,i]},s.n=function(n){var e=n&&n.__esModule?function(){return n.default}:function(){return n};return s.d(e,{a:e}),e},s.d=function(n,e){for(var t in e)s.o(e,t)&&!s.o(n,t)&&Object.defineProperty(n,t,{enumerable:!0,get:e[t]})},s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(n){if("object"==typeof window)return window}}(),s.o=function(n,e){return Object.prototype.hasOwnProperty.call(n,e)},s.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},s.nmd=function(n){return n.paths=[],n.children||(n.children=[]),n},s.j=623,function(){var n={623:0};s.O.j=function(e){return 0===n[e]};var e=function(e,t){var r,i,o=t[0],a=t[1],l=t[2],u=0;for(r in a)s.o(a,r)&&(s.m[r]=a[r]);if(l)var c=l(s);for(e&&e(t);u<o.length;u++)i=o[u],s.o(n,i)&&n[i]&&n[i][0](),n[o[u]]=0;return s.O(c)},t=self.webpackChunknextcloud=self.webpackChunknextcloud||[];t.forEach(e.bind(null,0)),t.push=e.bind(null,t.push.bind(t))}();var i=s.O(void 0,[874],(function(){return s(12497)}));i=s.O(i)}();
+//# sourceMappingURL=files-personal-settings.js.map?v=7c029bc4ffce06d0341d \ No newline at end of file
diff --git a/dist/files-personal-settings.js.map b/dist/files-personal-settings.js.map
index 956ecee334d..a89aa1069ed 100644
--- a/dist/files-personal-settings.js.map
+++ b/dist/files-personal-settings.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/apps/files/src/logger.js","webpack:///nextcloud/apps/files/src/components/TransferOwnershipDialogue.vue","webpack:///nextcloud/apps/files/src/components/TransferOwnershipDialogue.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/files/src/components/TransferOwnershipDialogue.vue?ddf9","webpack://nextcloud/./apps/files/src/components/TransferOwnershipDialogue.vue?2a1f","webpack:///nextcloud/apps/files/src/components/TransferOwnershipDialogue.vue?vue&type=template&id=edbdba28&scoped=true&","webpack:///nextcloud/apps/files/src/components/PersonalSettings.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/files/src/components/PersonalSettings.vue","webpack://nextcloud/./apps/files/src/components/PersonalSettings.vue?7d7e","webpack:///nextcloud/apps/files/src/components/PersonalSettings.vue?vue&type=template&id=cd18d6bc&","webpack:///nextcloud/apps/files/src/main-personal-settings.js","webpack:///nextcloud/apps/files/src/components/TransferOwnershipDialogue.vue?vue&type=style&index=0&id=edbdba28&scoped=true&lang=scss&","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/amd define","webpack:///nextcloud/webpack/runtime/amd options","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/startup"],"names":["deferred","user","getCurrentUser","getLoggerBuilder","setApp","build","setUid","uid","options","component","_vm","this","_h","$createElement","_c","_self","_v","_s","t","on","$event","preventDefault","submit","apply","arguments","staticClass","readableDirectory","undefined","directory","start","directoryPickerError","attrs","formatedUserSuggestions","loadingUsers","findUserDebounced","model","value","callback","$$v","selectedUser","expression","canSubmit","domProps","submitButtonText","submitError","__webpack_nonce__","btoa","getRequestToken","Vue","PersonalSettings","$mount","___CSS_LOADER_EXPORT___","push","module","id","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","loaded","__webpack_modules__","call","m","amdD","Error","amdO","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","key","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","g","globalThis","Function","e","window","obj","prop","prototype","hasOwnProperty","Symbol","toStringTag","nmd","paths","children","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","data","moreModules","runtime","chunkLoadingGlobal","self","forEach","bind","__webpack_exports__"],"mappings":";6BAAIA,E,6BC0BcC,E,wGAYlB,EAXc,QADIA,GAYOC,wBAVhBC,wBACLC,OAAO,SACPC,SAEIF,wBACLC,OAAO,SACPE,OAAOL,EAAKM,KACZF,Q,yHC2CH,iEACA,mBACA,aACA,WACA,mBACA,QAEA,GACA,iCACA,YACA,iBAEA,KALA,WAMA,OACA,iBACA,4BACA,mBACA,gBACA,kBACA,mBACA,QACA,oFAIA,UACA,UADA,WAEA,6CAEA,wBAJA,WAIA,WACA,0DACA,2BACA,OACA,WACA,0BACA,sBAIA,iBAdA,WAeA,mBACA,6BAEA,wCACA,2GAEA,kBArBA,WAsBA,sBAGA,4BAFA,KAKA,QA9CA,WA+CA,8CACA,mBAEA,SACA,MADA,WACA,WACA,iCAEA,SACA,wCACA,kBAEA,GADA,mEACA,kBACA,oDAIA,iBACA,mBACA,gGAEA,iEAGA,SApBA,SAoBA,O,EAAA,c,EAAA,+HACA,mBAEA,yCAHA,wDAOA,kBAPA,kBASA,yEACA,QACA,cACA,gBACA,SACA,WACA,aAfA,OASA,EATA,OAmBA,qBACA,+EACA,mDACA,sBACA,yBAvBA,kDA2BA,8CA3BA,yBA6BA,kBA7BA,4E,kLAgCA,OApDA,WAoDA,WACA,gBACA,+BAGA,wBACA,OACA,oBACA,kCAEA,4CAEA,kEAEA,oBACA,mCACA,kBACA,mDAEA,mBACA,qBACA,yDAEA,yBACA,+DAEA,mEACA,uFAEA,0DCxNsM,I,kCCQzL,IAAI,IALH,CAEdG,OAAiB,OACjBA,WAAoB,IAML,W,UCJXC,GAAY,OACd,GCTW,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,KAAK,CAACJ,EAAIM,GAAGN,EAAIO,GAAGP,EAAIQ,EAAE,QAAS,2CAA2C,OAAOR,EAAIM,GAAG,KAAKF,EAAG,OAAO,CAACK,GAAG,CAAC,OAAS,SAASC,GAAgC,OAAxBA,EAAOC,iBAAwBX,EAAIY,OAAOC,MAAM,KAAMC,cAAc,CAACV,EAAG,IAAI,CAACW,YAAY,uBAAuB,CAACX,EAAG,OAAO,CAACJ,EAAIM,GAAGN,EAAIO,GAAGP,EAAIgB,sBAAsBhB,EAAIM,GAAG,UAAwBW,IAAlBjB,EAAIkB,UAAyBd,EAAG,SAAS,CAACK,GAAG,CAAC,MAAQ,SAASC,GAAgC,OAAxBA,EAAOC,iBAAwBX,EAAImB,MAAMN,MAAM,KAAMC,cAAc,CAACd,EAAIM,GAAG,aAAaN,EAAIO,GAAGP,EAAIQ,EAAE,QAAS,sCAAsC,cAAcJ,EAAG,SAAS,CAACK,GAAG,CAAC,MAAQ,SAASC,GAAgC,OAAxBA,EAAOC,iBAAwBX,EAAImB,MAAMN,MAAM,KAAMC,cAAc,CAACd,EAAIM,GAAG,aAAaN,EAAIO,GAAGP,EAAIQ,EAAE,QAAS,WAAW,cAAcR,EAAIM,GAAG,KAAKF,EAAG,OAAO,CAACW,YAAY,SAAS,CAACf,EAAIM,GAAGN,EAAIO,GAAGP,EAAIoB,2BAA2BpB,EAAIM,GAAG,KAAKF,EAAG,IAAI,CAACW,YAAY,iBAAiB,CAACX,EAAG,QAAQ,CAACiB,MAAM,CAAC,IAAM,eAAe,CAACjB,EAAG,OAAO,CAACJ,EAAIM,GAAGN,EAAIO,GAAGP,EAAIQ,EAAE,QAAS,mBAAmBR,EAAIM,GAAG,KAAKF,EAAG,cAAc,CAACW,YAAY,eAAeM,MAAM,CAAC,GAAK,aAAa,QAAUrB,EAAIsB,wBAAwB,UAAW,EAAM,YAAa,EAAK,YAActB,EAAIQ,EAAE,QAAS,gBAAgB,mBAAkB,EAAK,mBAAkB,EAAK,QAAUR,EAAIuB,aAAa,WAAW,OAAO,MAAQ,cAAc,mBAAkB,EAAM,mBAAkB,EAAM,eAAc,GAAMd,GAAG,CAAC,gBAAgBT,EAAIwB,mBAAmBC,MAAM,CAACC,MAAO1B,EAAgB,aAAE2B,SAAS,SAAUC,GAAM5B,EAAI6B,aAAaD,GAAKE,WAAW,mBAAmB,GAAG9B,EAAIM,GAAG,KAAKF,EAAG,IAAI,CAACA,EAAG,QAAQ,CAACW,YAAY,UAAUM,MAAM,CAAC,KAAO,SAAS,UAAYrB,EAAI+B,WAAWC,SAAS,CAAC,MAAQhC,EAAIiC,oBAAoBjC,EAAIM,GAAG,KAAKF,EAAG,OAAO,CAACW,YAAY,SAAS,CAACf,EAAIM,GAAGN,EAAIO,GAAGP,EAAIkC,wBACrwD,IDWpB,EACA,KACA,WACA,MEf2L,EC+B7L,CACA,wBACA,YACA,0BHfenC,E,UIDf,GAXgB,OACd,GCRW,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACW,YAAY,UAAUM,MAAM,CAAC,GAAK,4BAA4B,CAACjB,EAAG,KAAK,CAACJ,EAAIM,GAAGN,EAAIO,GAAGP,EAAIQ,EAAE,QAAS,aAAaR,EAAIM,GAAG,KAAKF,EAAG,8BAA8B,KACnP,IDUpB,EACA,KACA,KACA,M,QEgBF+B,KAAoBC,MAAKC,wBAEzBC,sBAAkB9B,GAGlB,IADa8B,iBAAWC,KACbC,OAAO,6B,yDChCdC,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOC,GAAI,kaAAma,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,uEAAuE,MAAQ,GAAG,SAAW,sJAAsJ,eAAiB,CAAC,q0BAAq0B,WAAa,MAE9jD,QCNIC,EAA2B,GAG/B,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqB9B,IAAjB+B,EACH,OAAOA,EAAaC,QAGrB,IAAIN,EAASE,EAAyBE,GAAY,CACjDH,GAAIG,EACJG,QAAQ,EACRD,QAAS,IAUV,OANAE,EAAoBJ,GAAUK,KAAKT,EAAOM,QAASN,EAAQA,EAAOM,QAASH,GAG3EH,EAAOO,QAAS,EAGTP,EAAOM,QAIfH,EAAoBO,EAAIF,EC5BxBL,EAAoBQ,KAAO,WAC1B,MAAM,IAAIC,MAAM,mCCDjBT,EAAoBU,KAAO,GfAvBlE,EAAW,GACfwD,EAAoBW,EAAI,SAASC,EAAQC,EAAUC,EAAIC,GACtD,IAAGF,EAAH,CAMA,IAAIG,EAAeC,IACnB,IAASC,EAAI,EAAGA,EAAI1E,EAAS2E,OAAQD,IAAK,CACrCL,EAAWrE,EAAS0E,GAAG,GACvBJ,EAAKtE,EAAS0E,GAAG,GACjBH,EAAWvE,EAAS0E,GAAG,GAE3B,IAJA,IAGIE,GAAY,EACPC,EAAI,EAAGA,EAAIR,EAASM,OAAQE,MACpB,EAAXN,GAAsBC,GAAgBD,IAAaO,OAAOC,KAAKvB,EAAoBW,GAAGa,OAAM,SAASC,GAAO,OAAOzB,EAAoBW,EAAEc,GAAKZ,EAASQ,OAC3JR,EAASa,OAAOL,IAAK,IAErBD,GAAY,EACTL,EAAWC,IAAcA,EAAeD,IAG7C,GAAGK,EAAW,CACb5E,EAASkF,OAAOR,IAAK,GACrB,IAAIS,EAAIb,SACE3C,IAANwD,IAAiBf,EAASe,IAGhC,OAAOf,EAzBNG,EAAWA,GAAY,EACvB,IAAI,IAAIG,EAAI1E,EAAS2E,OAAQD,EAAI,GAAK1E,EAAS0E,EAAI,GAAG,GAAKH,EAAUG,IAAK1E,EAAS0E,GAAK1E,EAAS0E,EAAI,GACrG1E,EAAS0E,GAAK,CAACL,EAAUC,EAAIC,IgBJ/Bf,EAAoB4B,EAAI,SAAS/B,GAChC,IAAIgC,EAAShC,GAAUA,EAAOiC,WAC7B,WAAa,OAAOjC,EAAgB,SACpC,WAAa,OAAOA,GAErB,OADAG,EAAoB+B,EAAEF,EAAQ,CAAEG,EAAGH,IAC5BA,GCLR7B,EAAoB+B,EAAI,SAAS5B,EAAS8B,GACzC,IAAI,IAAIR,KAAOQ,EACXjC,EAAoBkC,EAAED,EAAYR,KAASzB,EAAoBkC,EAAE/B,EAASsB,IAC5EH,OAAOa,eAAehC,EAASsB,EAAK,CAAEW,YAAY,EAAMC,IAAKJ,EAAWR,MCJ3EzB,EAAoBsC,EAAI,WACvB,GAA0B,iBAAfC,WAAyB,OAAOA,WAC3C,IACC,OAAOpF,MAAQ,IAAIqF,SAAS,cAAb,GACd,MAAOC,GACR,GAAsB,iBAAXC,OAAqB,OAAOA,QALjB,GCAxB1C,EAAoBkC,EAAI,SAASS,EAAKC,GAAQ,OAAOtB,OAAOuB,UAAUC,eAAexC,KAAKqC,EAAKC,ICC/F5C,EAAoB2B,EAAI,SAASxB,GACX,oBAAX4C,QAA0BA,OAAOC,aAC1C1B,OAAOa,eAAehC,EAAS4C,OAAOC,YAAa,CAAEpE,MAAO,WAE7D0C,OAAOa,eAAehC,EAAS,aAAc,CAAEvB,OAAO,KCLvDoB,EAAoBiD,IAAM,SAASpD,GAGlC,OAFAA,EAAOqD,MAAQ,GACVrD,EAAOsD,WAAUtD,EAAOsD,SAAW,IACjCtD,GCHRG,EAAoBqB,EAAI,I,WCKxB,IAAI+B,EAAkB,CACrB,IAAK,GAaNpD,EAAoBW,EAAEU,EAAI,SAASgC,GAAW,OAAoC,IAA7BD,EAAgBC,IAGrE,IAAIC,EAAuB,SAASC,EAA4BC,GAC/D,IAKIvD,EAAUoD,EALVxC,EAAW2C,EAAK,GAChBC,EAAcD,EAAK,GACnBE,EAAUF,EAAK,GAGItC,EAAI,EAC3B,IAAIjB,KAAYwD,EACZzD,EAAoBkC,EAAEuB,EAAaxD,KACrCD,EAAoBO,EAAEN,GAAYwD,EAAYxD,IAGhD,GAAGyD,EAAS,IAAI9C,EAAS8C,EAAQ1D,GAEjC,IADGuD,GAA4BA,EAA2BC,GACrDtC,EAAIL,EAASM,OAAQD,IACzBmC,EAAUxC,EAASK,GAChBlB,EAAoBkC,EAAEkB,EAAiBC,IAAYD,EAAgBC,IACrED,EAAgBC,GAAS,KAE1BD,EAAgBvC,EAASK,IAAM,EAEhC,OAAOlB,EAAoBW,EAAEC,IAG1B+C,EAAqBC,KAA4B,sBAAIA,KAA4B,uBAAK,GAC1FD,EAAmBE,QAAQP,EAAqBQ,KAAK,KAAM,IAC3DH,EAAmB/D,KAAO0D,EAAqBQ,KAAK,KAAMH,EAAmB/D,KAAKkE,KAAKH,I,GC7CvF,IAAII,EAAsB/D,EAAoBW,OAAExC,EAAW,CAAC,MAAM,WAAa,OAAO6B,EAAoB,UAC1G+D,EAAsB/D,EAAoBW,EAAEoD,G","file":"files-personal-settings.js?v=610458784fbb830ec169","sourcesContent":["var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nconst getLogger = user => {\n\tif (user === null) {\n\t\treturn getLoggerBuilder()\n\t\t\t.setApp('files')\n\t\t\t.build()\n\t}\n\treturn getLoggerBuilder()\n\t\t.setApp('files')\n\t\t.setUid(user.uid)\n\t\t.build()\n}\n\nexport default getLogger(getCurrentUser())\n","<!--\n - @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n -\n - @author 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -->\n\n<template>\n\t<div>\n\t\t<h3>{{ t('files', 'Transfer ownership of a file or folder') }} </h3>\n\t\t<form @submit.prevent=\"submit\">\n\t\t\t<p class=\"transfer-select-row\">\n\t\t\t\t<span>{{ readableDirectory }}</span>\n\t\t\t\t<button v-if=\"directory === undefined\" @click.prevent=\"start\">\n\t\t\t\t\t{{ t('files', 'Choose file or folder to transfer') }}\n\t\t\t\t</button>\n\t\t\t\t<button v-else @click.prevent=\"start\">\n\t\t\t\t\t{{ t('files', 'Change') }}\n\t\t\t\t</button>\n\t\t\t\t<span class=\"error\">{{ directoryPickerError }}</span>\n\t\t\t</p>\n\t\t\t<p class=\"new-owner-row\">\n\t\t\t\t<label for=\"targetUser\">\n\t\t\t\t\t<span>{{ t('files', 'New owner') }}</span>\n\t\t\t\t</label>\n\t\t\t\t<Multiselect\n\t\t\t\t\tid=\"targetUser\"\n\t\t\t\t\tv-model=\"selectedUser\"\n\t\t\t\t\t:options=\"formatedUserSuggestions\"\n\t\t\t\t\t:multiple=\"false\"\n\t\t\t\t\t:searchable=\"true\"\n\t\t\t\t\t:placeholder=\"t('files', 'Search users')\"\n\t\t\t\t\t:preselect-first=\"true\"\n\t\t\t\t\t:preserve-search=\"true\"\n\t\t\t\t\t:loading=\"loadingUsers\"\n\t\t\t\t\ttrack-by=\"user\"\n\t\t\t\t\tlabel=\"displayName\"\n\t\t\t\t\t:internal-search=\"false\"\n\t\t\t\t\t:clear-on-select=\"false\"\n\t\t\t\t\t:user-select=\"true\"\n\t\t\t\t\tclass=\"middle-align\"\n\t\t\t\t\t@search-change=\"findUserDebounced\" />\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\t<input type=\"submit\"\n\t\t\t\t\tclass=\"primary\"\n\t\t\t\t\t:value=\"submitButtonText\"\n\t\t\t\t\t:disabled=\"!canSubmit\">\n\t\t\t\t<span class=\"error\">{{ submitError }}</span>\n\t\t\t</p>\n\t\t</form>\n\t</div>\n</template>\n\n<script>\nimport axios from '@nextcloud/axios'\nimport debounce from 'debounce'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { getFilePickerBuilder, showSuccess } from '@nextcloud/dialogs'\nimport Multiselect from '@nextcloud/vue/dist/Components/Multiselect'\nimport Vue from 'vue'\n\nimport logger from '../logger'\n\nconst picker = getFilePickerBuilder(t('files', 'Choose a file or folder to transfer'))\n\t.setMultiSelect(false)\n\t.setModal(true)\n\t.setType(1)\n\t.allowDirectories()\n\t.build()\n\nexport default {\n\tname: 'TransferOwnershipDialogue',\n\tcomponents: {\n\t\tMultiselect,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tdirectory: undefined,\n\t\t\tdirectoryPickerError: undefined,\n\t\t\tsubmitError: undefined,\n\t\t\tloadingUsers: false,\n\t\t\tselectedUser: null,\n\t\t\tuserSuggestions: {},\n\t\t\tconfig: {\n\t\t\t\tminSearchStringLength: parseInt(OC.config['sharing.minSearchStringLength'], 10) || 0,\n\t\t\t},\n\t\t}\n\t},\n\tcomputed: {\n\t\tcanSubmit() {\n\t\t\treturn !!this.directory && !!this.selectedUser\n\t\t},\n\t\tformatedUserSuggestions() {\n\t\t\treturn Object.keys(this.userSuggestions).map((uid) => {\n\t\t\t\tconst user = this.userSuggestions[uid]\n\t\t\t\treturn {\n\t\t\t\t\tuser: user.uid,\n\t\t\t\t\tdisplayName: user.displayName,\n\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\t\tsubmitButtonText() {\n\t\t\tif (!this.canSubmit) {\n\t\t\t\treturn t('files', 'Transfer')\n\t\t\t}\n\t\t\tconst components = this.readableDirectory.split('/')\n\t\t\treturn t('files', 'Transfer {path} to {userid}', { path: components[components.length - 1], userid: this.selectedUser.displayName })\n\t\t},\n\t\treadableDirectory() {\n\t\t\tif (!this.directory) {\n\t\t\t\treturn ''\n\t\t\t}\n\t\t\treturn this.directory.substring(1)\n\t\t},\n\t},\n\tcreated() {\n\t\tthis.findUserDebounced = debounce(this.findUser, 300)\n\t\tthis.findUser('')\n\t},\n\tmethods: {\n\t\tstart() {\n\t\t\tthis.directoryPickerError = undefined\n\n\t\t\tpicker.pick()\n\t\t\t\t.then(dir => dir === '' ? '/' : dir)\n\t\t\t\t.then(dir => {\n\t\t\t\t\tlogger.debug(`path ${dir} selected for transferring ownership`)\n\t\t\t\t\tif (!dir.startsWith('/')) {\n\t\t\t\t\t\tthrow new Error(t('files', 'Invalid path selected'))\n\t\t\t\t\t}\n\t\t\t\t\t// /ocs/v2.php/apps/files/api/v1/transferownership\n\t\t\t\t\t// /ocs/v2.php/apps/files/api/v1/transferownership\n\t\t\t\t\tthis.directory = dir\n\t\t\t\t}).catch(error => {\n\t\t\t\t\tlogger.error(`Selecting object for transfer aborted: ${error.message || 'Unknown error'}`, { error })\n\n\t\t\t\t\tthis.directoryPickerError = error.message || t('files', 'Unknown error')\n\t\t\t\t})\n\t\t},\n\t\tasync findUser(query) {\n\t\t\tthis.query = query.trim()\n\n\t\t\tif (query.length < this.config.minSearchStringLength) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.loadingUsers = true\n\t\t\ttry {\n\t\t\t\tconst response = await axios.get(generateOcsUrl('apps/files_sharing/api/v1/sharees'), {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tformat: 'json',\n\t\t\t\t\t\titemType: 'file',\n\t\t\t\t\t\tsearch: query,\n\t\t\t\t\t\tperPage: 20,\n\t\t\t\t\t\tlookup: false,\n\t\t\t\t\t},\n\t\t\t\t})\n\n\t\t\t\tthis.userSuggestions = {}\n\t\t\t\tresponse.data.ocs.data.exact.users.concat(response.data.ocs.data.users).forEach(user => {\n\t\t\t\t\tVue.set(this.userSuggestions, user.value.shareWith, {\n\t\t\t\t\t\tuid: user.value.shareWith,\n\t\t\t\t\t\tdisplayName: user.label,\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error('could not fetch users', { error })\n\t\t\t} finally {\n\t\t\t\tthis.loadingUsers = false\n\t\t\t}\n\t\t},\n\t\tsubmit() {\n\t\t\tif (!this.canSubmit) {\n\t\t\t\tlogger.warn('ignoring form submit')\n\t\t\t}\n\n\t\t\tthis.submitError = undefined\n\t\t\tconst data = {\n\t\t\t\tpath: this.directory,\n\t\t\t\trecipient: this.selectedUser.user,\n\t\t\t}\n\t\t\tlogger.debug('submit transfer ownership form', data)\n\n\t\t\tconst url = generateOcsUrl('apps/files/api/v1/transferownership')\n\n\t\t\taxios.post(url, data)\n\t\t\t\t.then(resp => resp.data)\n\t\t\t\t.then(data => {\n\t\t\t\t\tlogger.info('Transfer ownership request sent', { data })\n\n\t\t\t\t\tthis.directory = undefined\n\t\t\t\t\tthis.selectedUser = null\n\t\t\t\t\tshowSuccess(t('files', 'Ownership transfer request sent'))\n\t\t\t\t})\n\t\t\t\t.catch(error => {\n\t\t\t\t\tlogger.error('Could not send ownership transfer request', { error })\n\n\t\t\t\t\tif (error?.response?.status === 403) {\n\t\t\t\t\t\tthis.submitError = t('files', 'Cannot transfer ownership of a file or folder you don\\'t own')\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.submitError = error.message || t('files', 'Unknown error')\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n.middle-align {\n\tvertical-align: middle;\n}\np {\n\tmargin-top: 12px;\n\tmargin-bottom: 12px;\n}\n.new-owner-row {\n\tdisplay: flex;\n\n\tlabel {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\n\t\tspan {\n\t\t\tmargin-right: 8px;\n\t\t}\n\t}\n\n\t.multiselect {\n\t\tflex-grow: 1;\n\t\tmax-width: 280px;\n\t}\n}\n.transfer-select-row {\n\tspan {\n\t\tmargin-right: 8px;\n\t}\n}\n</style>\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 api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TransferOwnershipDialogue.vue?vue&type=style&index=0&id=edbdba28&scoped=true&lang=scss&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./TransferOwnershipDialogue.vue?vue&type=template&id=edbdba28&scoped=true&\"\nimport script from \"./TransferOwnershipDialogue.vue?vue&type=script&lang=js&\"\nexport * from \"./TransferOwnershipDialogue.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TransferOwnershipDialogue.vue?vue&type=style&index=0&id=edbdba28&scoped=true&lang=scss&\"\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 \"edbdba28\",\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 of a file or folder'))+\" \")]),_vm._v(\" \"),_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.submit.apply(null, arguments)}}},[_c('p',{staticClass:\"transfer-select-row\"},[_c('span',[_vm._v(_vm._s(_vm.readableDirectory))]),_vm._v(\" \"),(_vm.directory === undefined)?_c('button',{on:{\"click\":function($event){$event.preventDefault();return _vm.start.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'Choose file or folder to transfer'))+\"\\n\\t\\t\\t\")]):_c('button',{on:{\"click\":function($event){$event.preventDefault();return _vm.start.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'Change'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('span',{staticClass:\"error\"},[_vm._v(_vm._s(_vm.directoryPickerError))])]),_vm._v(\" \"),_c('p',{staticClass:\"new-owner-row\"},[_c('label',{attrs:{\"for\":\"targetUser\"}},[_c('span',[_vm._v(_vm._s(_vm.t('files', 'New owner')))])]),_vm._v(\" \"),_c('Multiselect',{staticClass:\"middle-align\",attrs:{\"id\":\"targetUser\",\"options\":_vm.formatedUserSuggestions,\"multiple\":false,\"searchable\":true,\"placeholder\":_vm.t('files', 'Search users'),\"preselect-first\":true,\"preserve-search\":true,\"loading\":_vm.loadingUsers,\"track-by\":\"user\",\"label\":\"displayName\",\"internal-search\":false,\"clear-on-select\":false,\"user-select\":true},on:{\"search-change\":_vm.findUserDebounced},model:{value:(_vm.selectedUser),callback:function ($$v) {_vm.selectedUser=$$v},expression:\"selectedUser\"}})],1),_vm._v(\" \"),_c('p',[_c('input',{staticClass:\"primary\",attrs:{\"type\":\"submit\",\"disabled\":!_vm.canSubmit},domProps:{\"value\":_vm.submitButtonText}}),_vm._v(\" \"),_c('span',{staticClass:\"error\"},[_vm._v(_vm._s(_vm.submitError))])])])])}\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!./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 - @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n -\n - @author 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -->\n\n<template>\n\t<div id=\"files-personal-settings\" class=\"section\">\n\t\t<h2>{{ t('files', 'Files') }}</h2>\n\t\t<TransferOwnershipDialogue />\n\t</div>\n</template>\n\n<script>\nimport TransferOwnershipDialogue from './TransferOwnershipDialogue'\n\nexport default {\n\tname: 'PersonalSettings',\n\tcomponents: {\n\t\tTransferOwnershipDialogue,\n\t},\n}\n</script>\n","import { render, staticRenderFns } from \"./PersonalSettings.vue?vue&type=template&id=cd18d6bc&\"\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 }","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue'\nimport { getRequestToken } from '@nextcloud/auth'\n\nimport PersonalSettings from './components/PersonalSettings'\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(getRequestToken())\n\nVue.prototype.t = t\n\nconst View = Vue.extend(PersonalSettings)\nnew View().$mount('#files-personal-settings')\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".middle-align[data-v-edbdba28]{vertical-align:middle}p[data-v-edbdba28]{margin-top:12px;margin-bottom:12px}.new-owner-row[data-v-edbdba28]{display:flex}.new-owner-row label[data-v-edbdba28]{display:flex;align-items:center}.new-owner-row label span[data-v-edbdba28]{margin-right:8px}.new-owner-row .multiselect[data-v-edbdba28]{flex-grow:1;max-width:280px}.transfer-select-row span[data-v-edbdba28]{margin-right:8px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/TransferOwnershipDialogue.vue\"],\"names\":[],\"mappings\":\"AAiOA,+BACC,qBAAA,CAED,mBACC,eAAA,CACA,kBAAA,CAED,gCACC,YAAA,CAEA,sCACC,YAAA,CACA,kBAAA,CAEA,2CACC,gBAAA,CAIF,6CACC,WAAA,CACA,eAAA,CAID,2CACC,gBAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.middle-align {\\n\\tvertical-align: middle;\\n}\\np {\\n\\tmargin-top: 12px;\\n\\tmargin-bottom: 12px;\\n}\\n.new-owner-row {\\n\\tdisplay: flex;\\n\\n\\tlabel {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\n\\t\\tspan {\\n\\t\\t\\tmargin-right: 8px;\\n\\t\\t}\\n\\t}\\n\\n\\t.multiselect {\\n\\t\\tflex-grow: 1;\\n\\t\\tmax-width: 280px;\\n\\t}\\n}\\n.transfer-select-row {\\n\\tspan {\\n\\t\\tmargin-right: 8px;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdD = function () {\n\tthrow new Error('define cannot be used indirect');\n};","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 623;","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t623: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tfor(moduleId in moreModules) {\n\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t}\n\t}\n\tif(runtime) var result = runtime(__webpack_require__);\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkIds[i]] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [874], function() { return __webpack_require__(12497); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"sourceRoot":""} \ No newline at end of file
+{"version":3,"sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/apps/files/src/logger.js","webpack:///nextcloud/apps/files/src/components/TransferOwnershipDialogue.vue","webpack:///nextcloud/apps/files/src/components/TransferOwnershipDialogue.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/files/src/components/TransferOwnershipDialogue.vue?ddf9","webpack://nextcloud/./apps/files/src/components/TransferOwnershipDialogue.vue?2a1f","webpack:///nextcloud/apps/files/src/components/TransferOwnershipDialogue.vue?vue&type=template&id=edbdba28&scoped=true&","webpack:///nextcloud/apps/files/src/components/PersonalSettings.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/files/src/components/PersonalSettings.vue","webpack://nextcloud/./apps/files/src/components/PersonalSettings.vue?7d7e","webpack:///nextcloud/apps/files/src/components/PersonalSettings.vue?vue&type=template&id=cd18d6bc&","webpack:///nextcloud/apps/files/src/main-personal-settings.js","webpack:///nextcloud/apps/files/src/components/TransferOwnershipDialogue.vue?vue&type=style&index=0&id=edbdba28&scoped=true&lang=scss&","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/amd define","webpack:///nextcloud/webpack/runtime/amd options","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/startup"],"names":["deferred","user","getCurrentUser","getLoggerBuilder","setApp","build","setUid","uid","options","component","_vm","this","_h","$createElement","_c","_self","_v","_s","t","on","$event","preventDefault","submit","apply","arguments","staticClass","readableDirectory","undefined","directory","start","directoryPickerError","attrs","formatedUserSuggestions","loadingUsers","findUserDebounced","model","value","callback","$$v","selectedUser","expression","canSubmit","domProps","submitButtonText","submitError","__webpack_nonce__","btoa","getRequestToken","Vue","window","TESTING","PersonalSettings","$mount","___CSS_LOADER_EXPORT___","push","module","id","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","loaded","__webpack_modules__","call","m","amdD","Error","amdO","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","key","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","g","globalThis","Function","e","obj","prop","prototype","hasOwnProperty","Symbol","toStringTag","nmd","paths","children","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","data","moreModules","runtime","chunkLoadingGlobal","self","forEach","bind","__webpack_exports__"],"mappings":";6BAAIA,E,6BC0BcC,E,wGAYlB,EAXc,QADIA,GAYOC,wBAVhBC,wBACLC,OAAO,SACPC,SAEIF,wBACLC,OAAO,SACPE,OAAOL,EAAKM,KACZF,Q,yHC2CH,iEACA,mBACA,aACA,WACA,mBACA,QAEA,GACA,iCACA,YACA,iBAEA,KALA,WAMA,OACA,iBACA,4BACA,mBACA,gBACA,kBACA,mBACA,QACA,oFAIA,UACA,UADA,WAEA,6CAEA,wBAJA,WAIA,WACA,0DACA,2BACA,OACA,WACA,0BACA,sBAIA,iBAdA,WAeA,mBACA,6BAEA,wCACA,2GAEA,kBArBA,WAsBA,sBAGA,4BAFA,KAKA,QA9CA,WA+CA,8CACA,mBAEA,SACA,MADA,WACA,WACA,iCAEA,SACA,wCACA,kBAEA,GADA,mEACA,kBACA,oDAIA,iBACA,mBACA,gGAEA,iEAGA,SApBA,SAoBA,O,EAAA,c,EAAA,+HACA,mBAEA,yCAHA,wDAOA,kBAPA,kBASA,yEACA,QACA,cACA,gBACA,SACA,WACA,aAfA,OASA,EATA,OAmBA,qBACA,+EACA,mDACA,sBACA,yBAvBA,kDA2BA,8CA3BA,yBA6BA,kBA7BA,4E,kLAgCA,OApDA,WAoDA,WACA,gBACA,+BAGA,wBACA,OACA,oBACA,kCAEA,4CAEA,kEAEA,oBACA,mCACA,kBACA,mDAEA,mBACA,qBACA,yDAEA,yBACA,+DAEA,mEACA,uFAEA,0DCxNsM,I,kCCQzL,IAAI,IALH,CAEdG,OAAiB,OACjBA,WAAoB,IAML,W,UCJXC,GAAY,OACd,GCTW,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,KAAK,CAACJ,EAAIM,GAAGN,EAAIO,GAAGP,EAAIQ,EAAE,QAAS,2CAA2C,OAAOR,EAAIM,GAAG,KAAKF,EAAG,OAAO,CAACK,GAAG,CAAC,OAAS,SAASC,GAAgC,OAAxBA,EAAOC,iBAAwBX,EAAIY,OAAOC,MAAM,KAAMC,cAAc,CAACV,EAAG,IAAI,CAACW,YAAY,uBAAuB,CAACX,EAAG,OAAO,CAACJ,EAAIM,GAAGN,EAAIO,GAAGP,EAAIgB,sBAAsBhB,EAAIM,GAAG,UAAwBW,IAAlBjB,EAAIkB,UAAyBd,EAAG,SAAS,CAACK,GAAG,CAAC,MAAQ,SAASC,GAAgC,OAAxBA,EAAOC,iBAAwBX,EAAImB,MAAMN,MAAM,KAAMC,cAAc,CAACd,EAAIM,GAAG,aAAaN,EAAIO,GAAGP,EAAIQ,EAAE,QAAS,sCAAsC,cAAcJ,EAAG,SAAS,CAACK,GAAG,CAAC,MAAQ,SAASC,GAAgC,OAAxBA,EAAOC,iBAAwBX,EAAImB,MAAMN,MAAM,KAAMC,cAAc,CAACd,EAAIM,GAAG,aAAaN,EAAIO,GAAGP,EAAIQ,EAAE,QAAS,WAAW,cAAcR,EAAIM,GAAG,KAAKF,EAAG,OAAO,CAACW,YAAY,SAAS,CAACf,EAAIM,GAAGN,EAAIO,GAAGP,EAAIoB,2BAA2BpB,EAAIM,GAAG,KAAKF,EAAG,IAAI,CAACW,YAAY,iBAAiB,CAACX,EAAG,QAAQ,CAACiB,MAAM,CAAC,IAAM,eAAe,CAACjB,EAAG,OAAO,CAACJ,EAAIM,GAAGN,EAAIO,GAAGP,EAAIQ,EAAE,QAAS,mBAAmBR,EAAIM,GAAG,KAAKF,EAAG,cAAc,CAACW,YAAY,eAAeM,MAAM,CAAC,GAAK,aAAa,QAAUrB,EAAIsB,wBAAwB,UAAW,EAAM,YAAa,EAAK,YAActB,EAAIQ,EAAE,QAAS,gBAAgB,mBAAkB,EAAK,mBAAkB,EAAK,QAAUR,EAAIuB,aAAa,WAAW,OAAO,MAAQ,cAAc,mBAAkB,EAAM,mBAAkB,EAAM,eAAc,GAAMd,GAAG,CAAC,gBAAgBT,EAAIwB,mBAAmBC,MAAM,CAACC,MAAO1B,EAAgB,aAAE2B,SAAS,SAAUC,GAAM5B,EAAI6B,aAAaD,GAAKE,WAAW,mBAAmB,GAAG9B,EAAIM,GAAG,KAAKF,EAAG,IAAI,CAACA,EAAG,QAAQ,CAACW,YAAY,UAAUM,MAAM,CAAC,KAAO,SAAS,UAAYrB,EAAI+B,WAAWC,SAAS,CAAC,MAAQhC,EAAIiC,oBAAoBjC,EAAIM,GAAG,KAAKF,EAAG,OAAO,CAACW,YAAY,SAAS,CAACf,EAAIM,GAAGN,EAAIO,GAAGP,EAAIkC,wBACrwD,IDWpB,EACA,KACA,WACA,MEf2L,EC+B7L,CACA,wBACA,YACA,0BHfenC,E,UIDf,GAXgB,OACd,GCRW,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACW,YAAY,UAAUM,MAAM,CAAC,GAAK,4BAA4B,CAACjB,EAAG,KAAK,CAACJ,EAAIM,GAAGN,EAAIO,GAAGP,EAAIQ,EAAE,QAAS,aAAaR,EAAIM,GAAG,KAAKF,EAAG,8BAA8B,KACnP,IDUpB,EACA,KACA,KACA,M,QEgBF+B,KAAoBC,MAAKC,wBAEzBC,sBAAkB9B,EAEb+B,OAAOC,UAEX,IADaF,iBAAWG,KACbC,OAAO,6B,yDCjCfC,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOC,GAAI,kaAAma,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,uEAAuE,MAAQ,GAAG,SAAW,sJAAsJ,eAAiB,CAAC,q0BAAq0B,WAAa,MAE9jD,QCNIC,EAA2B,GAG/B,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBhC,IAAjBiC,EACH,OAAOA,EAAaC,QAGrB,IAAIN,EAASE,EAAyBE,GAAY,CACjDH,GAAIG,EACJG,QAAQ,EACRD,QAAS,IAUV,OANAE,EAAoBJ,GAAUK,KAAKT,EAAOM,QAASN,EAAQA,EAAOM,QAASH,GAG3EH,EAAOO,QAAS,EAGTP,EAAOM,QAIfH,EAAoBO,EAAIF,EC5BxBL,EAAoBQ,KAAO,WAC1B,MAAM,IAAIC,MAAM,mCCDjBT,EAAoBU,KAAO,GfAvBpE,EAAW,GACf0D,EAAoBW,EAAI,SAASC,EAAQC,EAAUC,EAAIC,GACtD,IAAGF,EAAH,CAMA,IAAIG,EAAeC,IACnB,IAASC,EAAI,EAAGA,EAAI5E,EAAS6E,OAAQD,IAAK,CACrCL,EAAWvE,EAAS4E,GAAG,GACvBJ,EAAKxE,EAAS4E,GAAG,GACjBH,EAAWzE,EAAS4E,GAAG,GAE3B,IAJA,IAGIE,GAAY,EACPC,EAAI,EAAGA,EAAIR,EAASM,OAAQE,MACpB,EAAXN,GAAsBC,GAAgBD,IAAaO,OAAOC,KAAKvB,EAAoBW,GAAGa,OAAM,SAASC,GAAO,OAAOzB,EAAoBW,EAAEc,GAAKZ,EAASQ,OAC3JR,EAASa,OAAOL,IAAK,IAErBD,GAAY,EACTL,EAAWC,IAAcA,EAAeD,IAG7C,GAAGK,EAAW,CACb9E,EAASoF,OAAOR,IAAK,GACrB,IAAIS,EAAIb,SACE7C,IAAN0D,IAAiBf,EAASe,IAGhC,OAAOf,EAzBNG,EAAWA,GAAY,EACvB,IAAI,IAAIG,EAAI5E,EAAS6E,OAAQD,EAAI,GAAK5E,EAAS4E,EAAI,GAAG,GAAKH,EAAUG,IAAK5E,EAAS4E,GAAK5E,EAAS4E,EAAI,GACrG5E,EAAS4E,GAAK,CAACL,EAAUC,EAAIC,IgBJ/Bf,EAAoB4B,EAAI,SAAS/B,GAChC,IAAIgC,EAAShC,GAAUA,EAAOiC,WAC7B,WAAa,OAAOjC,EAAgB,SACpC,WAAa,OAAOA,GAErB,OADAG,EAAoB+B,EAAEF,EAAQ,CAAEG,EAAGH,IAC5BA,GCLR7B,EAAoB+B,EAAI,SAAS5B,EAAS8B,GACzC,IAAI,IAAIR,KAAOQ,EACXjC,EAAoBkC,EAAED,EAAYR,KAASzB,EAAoBkC,EAAE/B,EAASsB,IAC5EH,OAAOa,eAAehC,EAASsB,EAAK,CAAEW,YAAY,EAAMC,IAAKJ,EAAWR,MCJ3EzB,EAAoBsC,EAAI,WACvB,GAA0B,iBAAfC,WAAyB,OAAOA,WAC3C,IACC,OAAOtF,MAAQ,IAAIuF,SAAS,cAAb,GACd,MAAOC,GACR,GAAsB,iBAAXlD,OAAqB,OAAOA,QALjB,GCAxBS,EAAoBkC,EAAI,SAASQ,EAAKC,GAAQ,OAAOrB,OAAOsB,UAAUC,eAAevC,KAAKoC,EAAKC,ICC/F3C,EAAoB2B,EAAI,SAASxB,GACX,oBAAX2C,QAA0BA,OAAOC,aAC1CzB,OAAOa,eAAehC,EAAS2C,OAAOC,YAAa,CAAErE,MAAO,WAE7D4C,OAAOa,eAAehC,EAAS,aAAc,CAAEzB,OAAO,KCLvDsB,EAAoBgD,IAAM,SAASnD,GAGlC,OAFAA,EAAOoD,MAAQ,GACVpD,EAAOqD,WAAUrD,EAAOqD,SAAW,IACjCrD,GCHRG,EAAoBqB,EAAI,I,WCKxB,IAAI8B,EAAkB,CACrB,IAAK,GAaNnD,EAAoBW,EAAEU,EAAI,SAAS+B,GAAW,OAAoC,IAA7BD,EAAgBC,IAGrE,IAAIC,EAAuB,SAASC,EAA4BC,GAC/D,IAKItD,EAAUmD,EALVvC,EAAW0C,EAAK,GAChBC,EAAcD,EAAK,GACnBE,EAAUF,EAAK,GAGIrC,EAAI,EAC3B,IAAIjB,KAAYuD,EACZxD,EAAoBkC,EAAEsB,EAAavD,KACrCD,EAAoBO,EAAEN,GAAYuD,EAAYvD,IAGhD,GAAGwD,EAAS,IAAI7C,EAAS6C,EAAQzD,GAEjC,IADGsD,GAA4BA,EAA2BC,GACrDrC,EAAIL,EAASM,OAAQD,IACzBkC,EAAUvC,EAASK,GAChBlB,EAAoBkC,EAAEiB,EAAiBC,IAAYD,EAAgBC,IACrED,EAAgBC,GAAS,KAE1BD,EAAgBtC,EAASK,IAAM,EAEhC,OAAOlB,EAAoBW,EAAEC,IAG1B8C,EAAqBC,KAA4B,sBAAIA,KAA4B,uBAAK,GAC1FD,EAAmBE,QAAQP,EAAqBQ,KAAK,KAAM,IAC3DH,EAAmB9D,KAAOyD,EAAqBQ,KAAK,KAAMH,EAAmB9D,KAAKiE,KAAKH,I,GC7CvF,IAAII,EAAsB9D,EAAoBW,OAAE1C,EAAW,CAAC,MAAM,WAAa,OAAO+B,EAAoB,UAC1G8D,EAAsB9D,EAAoBW,EAAEmD,G","file":"files-personal-settings.js?v=7c029bc4ffce06d0341d","sourcesContent":["var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nconst getLogger = user => {\n\tif (user === null) {\n\t\treturn getLoggerBuilder()\n\t\t\t.setApp('files')\n\t\t\t.build()\n\t}\n\treturn getLoggerBuilder()\n\t\t.setApp('files')\n\t\t.setUid(user.uid)\n\t\t.build()\n}\n\nexport default getLogger(getCurrentUser())\n","<!--\n - @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n -\n - @author 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -->\n\n<template>\n\t<div>\n\t\t<h3>{{ t('files', 'Transfer ownership of a file or folder') }} </h3>\n\t\t<form @submit.prevent=\"submit\">\n\t\t\t<p class=\"transfer-select-row\">\n\t\t\t\t<span>{{ readableDirectory }}</span>\n\t\t\t\t<button v-if=\"directory === undefined\" @click.prevent=\"start\">\n\t\t\t\t\t{{ t('files', 'Choose file or folder to transfer') }}\n\t\t\t\t</button>\n\t\t\t\t<button v-else @click.prevent=\"start\">\n\t\t\t\t\t{{ t('files', 'Change') }}\n\t\t\t\t</button>\n\t\t\t\t<span class=\"error\">{{ directoryPickerError }}</span>\n\t\t\t</p>\n\t\t\t<p class=\"new-owner-row\">\n\t\t\t\t<label for=\"targetUser\">\n\t\t\t\t\t<span>{{ t('files', 'New owner') }}</span>\n\t\t\t\t</label>\n\t\t\t\t<Multiselect\n\t\t\t\t\tid=\"targetUser\"\n\t\t\t\t\tv-model=\"selectedUser\"\n\t\t\t\t\t:options=\"formatedUserSuggestions\"\n\t\t\t\t\t:multiple=\"false\"\n\t\t\t\t\t:searchable=\"true\"\n\t\t\t\t\t:placeholder=\"t('files', 'Search users')\"\n\t\t\t\t\t:preselect-first=\"true\"\n\t\t\t\t\t:preserve-search=\"true\"\n\t\t\t\t\t:loading=\"loadingUsers\"\n\t\t\t\t\ttrack-by=\"user\"\n\t\t\t\t\tlabel=\"displayName\"\n\t\t\t\t\t:internal-search=\"false\"\n\t\t\t\t\t:clear-on-select=\"false\"\n\t\t\t\t\t:user-select=\"true\"\n\t\t\t\t\tclass=\"middle-align\"\n\t\t\t\t\t@search-change=\"findUserDebounced\" />\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\t<input type=\"submit\"\n\t\t\t\t\tclass=\"primary\"\n\t\t\t\t\t:value=\"submitButtonText\"\n\t\t\t\t\t:disabled=\"!canSubmit\">\n\t\t\t\t<span class=\"error\">{{ submitError }}</span>\n\t\t\t</p>\n\t\t</form>\n\t</div>\n</template>\n\n<script>\nimport axios from '@nextcloud/axios'\nimport debounce from 'debounce'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { getFilePickerBuilder, showSuccess } from '@nextcloud/dialogs'\nimport Multiselect from '@nextcloud/vue/dist/Components/Multiselect'\nimport Vue from 'vue'\n\nimport logger from '../logger'\n\nconst picker = getFilePickerBuilder(t('files', 'Choose a file or folder to transfer'))\n\t.setMultiSelect(false)\n\t.setModal(true)\n\t.setType(1)\n\t.allowDirectories()\n\t.build()\n\nexport default {\n\tname: 'TransferOwnershipDialogue',\n\tcomponents: {\n\t\tMultiselect,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tdirectory: undefined,\n\t\t\tdirectoryPickerError: undefined,\n\t\t\tsubmitError: undefined,\n\t\t\tloadingUsers: false,\n\t\t\tselectedUser: null,\n\t\t\tuserSuggestions: {},\n\t\t\tconfig: {\n\t\t\t\tminSearchStringLength: parseInt(OC.config['sharing.minSearchStringLength'], 10) || 0,\n\t\t\t},\n\t\t}\n\t},\n\tcomputed: {\n\t\tcanSubmit() {\n\t\t\treturn !!this.directory && !!this.selectedUser\n\t\t},\n\t\tformatedUserSuggestions() {\n\t\t\treturn Object.keys(this.userSuggestions).map((uid) => {\n\t\t\t\tconst user = this.userSuggestions[uid]\n\t\t\t\treturn {\n\t\t\t\t\tuser: user.uid,\n\t\t\t\t\tdisplayName: user.displayName,\n\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\t\tsubmitButtonText() {\n\t\t\tif (!this.canSubmit) {\n\t\t\t\treturn t('files', 'Transfer')\n\t\t\t}\n\t\t\tconst components = this.readableDirectory.split('/')\n\t\t\treturn t('files', 'Transfer {path} to {userid}', { path: components[components.length - 1], userid: this.selectedUser.displayName })\n\t\t},\n\t\treadableDirectory() {\n\t\t\tif (!this.directory) {\n\t\t\t\treturn ''\n\t\t\t}\n\t\t\treturn this.directory.substring(1)\n\t\t},\n\t},\n\tcreated() {\n\t\tthis.findUserDebounced = debounce(this.findUser, 300)\n\t\tthis.findUser('')\n\t},\n\tmethods: {\n\t\tstart() {\n\t\t\tthis.directoryPickerError = undefined\n\n\t\t\tpicker.pick()\n\t\t\t\t.then(dir => dir === '' ? '/' : dir)\n\t\t\t\t.then(dir => {\n\t\t\t\t\tlogger.debug(`path ${dir} selected for transferring ownership`)\n\t\t\t\t\tif (!dir.startsWith('/')) {\n\t\t\t\t\t\tthrow new Error(t('files', 'Invalid path selected'))\n\t\t\t\t\t}\n\t\t\t\t\t// /ocs/v2.php/apps/files/api/v1/transferownership\n\t\t\t\t\t// /ocs/v2.php/apps/files/api/v1/transferownership\n\t\t\t\t\tthis.directory = dir\n\t\t\t\t}).catch(error => {\n\t\t\t\t\tlogger.error(`Selecting object for transfer aborted: ${error.message || 'Unknown error'}`, { error })\n\n\t\t\t\t\tthis.directoryPickerError = error.message || t('files', 'Unknown error')\n\t\t\t\t})\n\t\t},\n\t\tasync findUser(query) {\n\t\t\tthis.query = query.trim()\n\n\t\t\tif (query.length < this.config.minSearchStringLength) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.loadingUsers = true\n\t\t\ttry {\n\t\t\t\tconst response = await axios.get(generateOcsUrl('apps/files_sharing/api/v1/sharees'), {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tformat: 'json',\n\t\t\t\t\t\titemType: 'file',\n\t\t\t\t\t\tsearch: query,\n\t\t\t\t\t\tperPage: 20,\n\t\t\t\t\t\tlookup: false,\n\t\t\t\t\t},\n\t\t\t\t})\n\n\t\t\t\tthis.userSuggestions = {}\n\t\t\t\tresponse.data.ocs.data.exact.users.concat(response.data.ocs.data.users).forEach(user => {\n\t\t\t\t\tVue.set(this.userSuggestions, user.value.shareWith, {\n\t\t\t\t\t\tuid: user.value.shareWith,\n\t\t\t\t\t\tdisplayName: user.label,\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t} catch (error) {\n\t\t\t\tlogger.error('could not fetch users', { error })\n\t\t\t} finally {\n\t\t\t\tthis.loadingUsers = false\n\t\t\t}\n\t\t},\n\t\tsubmit() {\n\t\t\tif (!this.canSubmit) {\n\t\t\t\tlogger.warn('ignoring form submit')\n\t\t\t}\n\n\t\t\tthis.submitError = undefined\n\t\t\tconst data = {\n\t\t\t\tpath: this.directory,\n\t\t\t\trecipient: this.selectedUser.user,\n\t\t\t}\n\t\t\tlogger.debug('submit transfer ownership form', data)\n\n\t\t\tconst url = generateOcsUrl('apps/files/api/v1/transferownership')\n\n\t\t\taxios.post(url, data)\n\t\t\t\t.then(resp => resp.data)\n\t\t\t\t.then(data => {\n\t\t\t\t\tlogger.info('Transfer ownership request sent', { data })\n\n\t\t\t\t\tthis.directory = undefined\n\t\t\t\t\tthis.selectedUser = null\n\t\t\t\t\tshowSuccess(t('files', 'Ownership transfer request sent'))\n\t\t\t\t})\n\t\t\t\t.catch(error => {\n\t\t\t\t\tlogger.error('Could not send ownership transfer request', { error })\n\n\t\t\t\t\tif (error?.response?.status === 403) {\n\t\t\t\t\t\tthis.submitError = t('files', 'Cannot transfer ownership of a file or folder you don\\'t own')\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.submitError = error.message || t('files', 'Unknown error')\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n.middle-align {\n\tvertical-align: middle;\n}\np {\n\tmargin-top: 12px;\n\tmargin-bottom: 12px;\n}\n.new-owner-row {\n\tdisplay: flex;\n\n\tlabel {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\n\t\tspan {\n\t\t\tmargin-right: 8px;\n\t\t}\n\t}\n\n\t.multiselect {\n\t\tflex-grow: 1;\n\t\tmax-width: 280px;\n\t}\n}\n.transfer-select-row {\n\tspan {\n\t\tmargin-right: 8px;\n\t}\n}\n</style>\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 api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TransferOwnershipDialogue.vue?vue&type=style&index=0&id=edbdba28&scoped=true&lang=scss&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./TransferOwnershipDialogue.vue?vue&type=template&id=edbdba28&scoped=true&\"\nimport script from \"./TransferOwnershipDialogue.vue?vue&type=script&lang=js&\"\nexport * from \"./TransferOwnershipDialogue.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TransferOwnershipDialogue.vue?vue&type=style&index=0&id=edbdba28&scoped=true&lang=scss&\"\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 \"edbdba28\",\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 of a file or folder'))+\" \")]),_vm._v(\" \"),_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.submit.apply(null, arguments)}}},[_c('p',{staticClass:\"transfer-select-row\"},[_c('span',[_vm._v(_vm._s(_vm.readableDirectory))]),_vm._v(\" \"),(_vm.directory === undefined)?_c('button',{on:{\"click\":function($event){$event.preventDefault();return _vm.start.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'Choose file or folder to transfer'))+\"\\n\\t\\t\\t\")]):_c('button',{on:{\"click\":function($event){$event.preventDefault();return _vm.start.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files', 'Change'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('span',{staticClass:\"error\"},[_vm._v(_vm._s(_vm.directoryPickerError))])]),_vm._v(\" \"),_c('p',{staticClass:\"new-owner-row\"},[_c('label',{attrs:{\"for\":\"targetUser\"}},[_c('span',[_vm._v(_vm._s(_vm.t('files', 'New owner')))])]),_vm._v(\" \"),_c('Multiselect',{staticClass:\"middle-align\",attrs:{\"id\":\"targetUser\",\"options\":_vm.formatedUserSuggestions,\"multiple\":false,\"searchable\":true,\"placeholder\":_vm.t('files', 'Search users'),\"preselect-first\":true,\"preserve-search\":true,\"loading\":_vm.loadingUsers,\"track-by\":\"user\",\"label\":\"displayName\",\"internal-search\":false,\"clear-on-select\":false,\"user-select\":true},on:{\"search-change\":_vm.findUserDebounced},model:{value:(_vm.selectedUser),callback:function ($$v) {_vm.selectedUser=$$v},expression:\"selectedUser\"}})],1),_vm._v(\" \"),_c('p',[_c('input',{staticClass:\"primary\",attrs:{\"type\":\"submit\",\"disabled\":!_vm.canSubmit},domProps:{\"value\":_vm.submitButtonText}}),_vm._v(\" \"),_c('span',{staticClass:\"error\"},[_vm._v(_vm._s(_vm.submitError))])])])])}\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!./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 - @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n -\n - @author 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -->\n\n<template>\n\t<div id=\"files-personal-settings\" class=\"section\">\n\t\t<h2>{{ t('files', 'Files') }}</h2>\n\t\t<TransferOwnershipDialogue />\n\t</div>\n</template>\n\n<script>\nimport TransferOwnershipDialogue from './TransferOwnershipDialogue'\n\nexport default {\n\tname: 'PersonalSettings',\n\tcomponents: {\n\t\tTransferOwnershipDialogue,\n\t},\n}\n</script>\n","import { render, staticRenderFns } from \"./PersonalSettings.vue?vue&type=template&id=cd18d6bc&\"\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 }","/**\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n * @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue'\nimport { getRequestToken } from '@nextcloud/auth'\n\nimport PersonalSettings from './components/PersonalSettings'\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(getRequestToken())\n\nVue.prototype.t = t\n\nif (!window.TESTING) {\n\tconst View = Vue.extend(PersonalSettings)\n\tnew View().$mount('#files-personal-settings')\n}\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".middle-align[data-v-edbdba28]{vertical-align:middle}p[data-v-edbdba28]{margin-top:12px;margin-bottom:12px}.new-owner-row[data-v-edbdba28]{display:flex}.new-owner-row label[data-v-edbdba28]{display:flex;align-items:center}.new-owner-row label span[data-v-edbdba28]{margin-right:8px}.new-owner-row .multiselect[data-v-edbdba28]{flex-grow:1;max-width:280px}.transfer-select-row span[data-v-edbdba28]{margin-right:8px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files/src/components/TransferOwnershipDialogue.vue\"],\"names\":[],\"mappings\":\"AAiOA,+BACC,qBAAA,CAED,mBACC,eAAA,CACA,kBAAA,CAED,gCACC,YAAA,CAEA,sCACC,YAAA,CACA,kBAAA,CAEA,2CACC,gBAAA,CAIF,6CACC,WAAA,CACA,eAAA,CAID,2CACC,gBAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.middle-align {\\n\\tvertical-align: middle;\\n}\\np {\\n\\tmargin-top: 12px;\\n\\tmargin-bottom: 12px;\\n}\\n.new-owner-row {\\n\\tdisplay: flex;\\n\\n\\tlabel {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\n\\t\\tspan {\\n\\t\\t\\tmargin-right: 8px;\\n\\t\\t}\\n\\t}\\n\\n\\t.multiselect {\\n\\t\\tflex-grow: 1;\\n\\t\\tmax-width: 280px;\\n\\t}\\n}\\n.transfer-select-row {\\n\\tspan {\\n\\t\\tmargin-right: 8px;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdD = function () {\n\tthrow new Error('define cannot be used indirect');\n};","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 623;","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t623: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tfor(moduleId in moreModules) {\n\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t}\n\t}\n\tif(runtime) var result = runtime(__webpack_require__);\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkIds[i]] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [874], function() { return __webpack_require__(12497); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"sourceRoot":""} \ No newline at end of file
diff --git a/dist/files_sharing-collaboration.js.LICENSE.txt b/dist/files_sharing-collaboration.js.LICENSE.txt
deleted file mode 100644
index ac346dd660a..00000000000
--- a/dist/files_sharing-collaboration.js.LICENSE.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-/**
- * @copyright Copyright (c) 2016 John Molakvoæ <skjnldsv@protonmail.com>
- *
- * @author John Molakvoæ <skjnldsv@protonmail.com>
- * @author Julius Härtl <jus@bitgrid.net>
- *
- * @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 <http://www.gnu.org/licenses/>.
- *
- */
diff --git a/dist/files_sharing-files_sharing.js.LICENSE.txt b/dist/files_sharing-files_sharing.js.LICENSE.txt
deleted file mode 100644
index ac346dd660a..00000000000
--- a/dist/files_sharing-files_sharing.js.LICENSE.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-/**
- * @copyright Copyright (c) 2016 John Molakvoæ <skjnldsv@protonmail.com>
- *
- * @author John Molakvoæ <skjnldsv@protonmail.com>
- * @author Julius Härtl <jus@bitgrid.net>
- *
- * @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 <http://www.gnu.org/licenses/>.
- *
- */
diff --git a/dist/settings-apps-settings-apps.js b/dist/settings-apps-settings-apps.js
index 9653e616f90..3bb5c804c19 100644
--- a/dist/settings-apps-settings-apps.js
+++ b/dist/settings-apps-settings-apps.js
@@ -1,4 +1,3 @@
-"use strict";
(self["webpackChunknextcloud"] = self["webpackChunknextcloud"] || []).push([["settings-apps"],{
/***/ "./apps/settings/src/mixins/AppManagement.js":
@@ -7,6 +6,7 @@
\***************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/**
* @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>
@@ -203,6 +203,7 @@ __webpack_require__.r(__webpack_exports__);
\**********************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _nextcloud_vue_dist_Components_Multiselect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @nextcloud/vue/dist/Components/Multiselect */ "./node_modules/@nextcloud/vue/dist/Components/Multiselect.js");
/* harmony import */ var _nextcloud_vue_dist_Components_Multiselect__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_vue_dist_Components_Multiselect__WEBPACK_IMPORTED_MODULE_0__);
@@ -362,9 +363,9 @@ __webpack_require__.r(__webpack_exports__);
name: 'AppDetails',
components: {
Multiselect: (_nextcloud_vue_dist_Components_Multiselect__WEBPACK_IMPORTED_MODULE_0___default()),
- Markdown: _Markdown__WEBPACK_IMPORTED_MODULE_3__["default"]
+ Markdown: _Markdown__WEBPACK_IMPORTED_MODULE_3__.default
},
- mixins: [_mixins_AppManagement__WEBPACK_IMPORTED_MODULE_1__["default"], _PrefixMixin__WEBPACK_IMPORTED_MODULE_2__["default"]],
+ mixins: [_mixins_AppManagement__WEBPACK_IMPORTED_MODULE_1__.default, _PrefixMixin__WEBPACK_IMPORTED_MODULE_2__.default],
props: {
app: {
type: Object,
@@ -433,6 +434,7 @@ __webpack_require__.r(__webpack_exports__);
\*******************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _AppList_AppItem__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppList/AppItem */ "./apps/settings/src/components/AppList/AppItem.vue");
/* harmony import */ var _PrefixMixin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PrefixMixin */ "./apps/settings/src/components/PrefixMixin.vue");
@@ -542,9 +544,9 @@ __webpack_require__.r(__webpack_exports__);
/* harmony default export */ __webpack_exports__["default"] = ({
name: 'AppList',
components: {
- AppItem: _AppList_AppItem__WEBPACK_IMPORTED_MODULE_0__["default"]
+ AppItem: _AppList_AppItem__WEBPACK_IMPORTED_MODULE_0__.default
},
- mixins: [_PrefixMixin__WEBPACK_IMPORTED_MODULE_1__["default"]],
+ mixins: [_PrefixMixin__WEBPACK_IMPORTED_MODULE_1__.default],
props: ['category', 'app', 'search'],
computed: {
counter: function counter() {
@@ -708,7 +710,7 @@ __webpack_require__.r(__webpack_exports__);
updateAll: function updateAll() {
var _this4 = this;
- var limit = (0,p_limit__WEBPACK_IMPORTED_MODULE_2__["default"])(1);
+ var limit = (0,p_limit__WEBPACK_IMPORTED_MODULE_2__.default)(1);
this.apps.filter(function (app) {
return app.update;
}).map(function (app) {
@@ -730,6 +732,7 @@ __webpack_require__.r(__webpack_exports__);
\***************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _AppScore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppScore */ "./apps/settings/src/components/AppList/AppScore.vue");
/* harmony import */ var _mixins_AppManagement__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../mixins/AppManagement */ "./apps/settings/src/mixins/AppManagement.js");
@@ -852,9 +855,9 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
/* harmony default export */ __webpack_exports__["default"] = ({
name: 'AppItem',
components: {
- AppScore: _AppScore__WEBPACK_IMPORTED_MODULE_0__["default"]
+ AppScore: _AppScore__WEBPACK_IMPORTED_MODULE_0__.default
},
- mixins: [_mixins_AppManagement__WEBPACK_IMPORTED_MODULE_1__["default"], _SvgFilterMixin__WEBPACK_IMPORTED_MODULE_2__["default"]],
+ mixins: [_mixins_AppManagement__WEBPACK_IMPORTED_MODULE_1__.default, _SvgFilterMixin__WEBPACK_IMPORTED_MODULE_2__.default],
props: {
app: {},
category: {},
@@ -953,6 +956,7 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
\****************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _nextcloud_router__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @nextcloud/router */ "./node_modules/@nextcloud/router/dist/index.js");
//
@@ -1001,6 +1005,7 @@ __webpack_require__.r(__webpack_exports__);
\********************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var marked__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! marked */ "./node_modules/marked/lib/marked.esm.js");
/* harmony import */ var dompurify__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dompurify */ "./node_modules/dompurify/dist/purify.js");
@@ -1106,6 +1111,7 @@ __webpack_require__.r(__webpack_exports__);
\***********************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
//
//
@@ -1146,6 +1152,7 @@ __webpack_require__.r(__webpack_exports__);
\**************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
//
//
@@ -1194,6 +1201,7 @@ __webpack_require__.r(__webpack_exports__);
\***********************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _nextcloud_event_bus__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @nextcloud/event-bus */ "./node_modules/@nextcloud/event-bus/dist/index.js");
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.runtime.esm.js");
@@ -1378,24 +1386,24 @@ __webpack_require__.r(__webpack_exports__);
-vue__WEBPACK_IMPORTED_MODULE_15__["default"].use((vue_localstorage__WEBPACK_IMPORTED_MODULE_1___default()));
+vue__WEBPACK_IMPORTED_MODULE_15__.default.use((vue_localstorage__WEBPACK_IMPORTED_MODULE_1___default()));
/* harmony default export */ __webpack_exports__["default"] = ({
name: 'Apps',
components: {
AppContent: (_nextcloud_vue_dist_Components_AppContent__WEBPACK_IMPORTED_MODULE_2___default()),
- AppDetails: _components_AppDetails__WEBPACK_IMPORTED_MODULE_11__["default"],
- AppList: _components_AppList__WEBPACK_IMPORTED_MODULE_10__["default"],
+ AppDetails: _components_AppDetails__WEBPACK_IMPORTED_MODULE_11__.default,
+ AppList: _components_AppList__WEBPACK_IMPORTED_MODULE_10__.default,
AppNavigation: (_nextcloud_vue_dist_Components_AppNavigation__WEBPACK_IMPORTED_MODULE_3___default()),
AppNavigationCounter: (_nextcloud_vue_dist_Components_AppNavigationCounter__WEBPACK_IMPORTED_MODULE_4___default()),
AppNavigationItem: (_nextcloud_vue_dist_Components_AppNavigationItem__WEBPACK_IMPORTED_MODULE_5___default()),
AppNavigationSpacer: (_nextcloud_vue_dist_Components_AppNavigationSpacer__WEBPACK_IMPORTED_MODULE_6___default()),
- AppScore: _components_AppList_AppScore__WEBPACK_IMPORTED_MODULE_13__["default"],
+ AppScore: _components_AppList_AppScore__WEBPACK_IMPORTED_MODULE_13__.default,
AppSidebar: (_nextcloud_vue_dist_Components_AppSidebar__WEBPACK_IMPORTED_MODULE_7___default()),
AppSidebarTab: (_nextcloud_vue_dist_Components_AppSidebarTab__WEBPACK_IMPORTED_MODULE_8___default()),
Content: (_nextcloud_vue_dist_Components_Content__WEBPACK_IMPORTED_MODULE_9___default()),
- Markdown: _components_Markdown__WEBPACK_IMPORTED_MODULE_14__["default"]
+ Markdown: _components_Markdown__WEBPACK_IMPORTED_MODULE_14__.default
},
- mixins: [_mixins_AppManagement__WEBPACK_IMPORTED_MODULE_12__["default"]],
+ mixins: [_mixins_AppManagement__WEBPACK_IMPORTED_MODULE_12__.default],
props: {
category: {
type: String,
@@ -1540,6 +1548,7 @@ vue__WEBPACK_IMPORTED_MODULE_15__["default"].use((vue_localstorage__WEBPACK_IMPO
\****************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);
@@ -1560,6 +1569,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".app-details[data-v-59a92e62] {\n pad
\**************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);
@@ -1580,6 +1590,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".settings-markdown[data-v-11f4a1b0] h1
\*****************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);
@@ -1600,6 +1611,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".app-sidebar[data-v-d3714d0a]:not(.app
\*****************************************************************************************************************************************************************************************************************************************************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);
@@ -1620,6 +1632,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, "\n.force[data-v-429da85a] {\n\tbackgro
\********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js");
/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);
@@ -1632,11 +1645,11 @@ var options = {};
options.insert = "head";
options.singleton = false;
-var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppDetails_vue_vue_type_style_index_0_id_59a92e62_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_1__["default"], options);
+var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppDetails_vue_vue_type_style_index_0_id_59a92e62_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_1__.default, options);
-/* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppDetails_vue_vue_type_style_index_0_id_59a92e62_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {});
+/* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppDetails_vue_vue_type_style_index_0_id_59a92e62_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_1__.default.locals || {});
/***/ }),
@@ -1646,6 +1659,7 @@ var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js
\******************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js");
/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);
@@ -1658,11 +1672,11 @@ var options = {};
options.insert = "head";
options.singleton = false;
-var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Markdown_vue_vue_type_style_index_0_id_11f4a1b0_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_1__["default"], options);
+var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Markdown_vue_vue_type_style_index_0_id_11f4a1b0_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_1__.default, options);
-/* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Markdown_vue_vue_type_style_index_0_id_11f4a1b0_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {});
+/* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Markdown_vue_vue_type_style_index_0_id_11f4a1b0_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_1__.default.locals || {});
/***/ }),
@@ -1672,6 +1686,7 @@ var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js
\*********************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js");
/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);
@@ -1684,11 +1699,11 @@ var options = {};
options.insert = "head";
options.singleton = false;
-var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Apps_vue_vue_type_style_index_0_id_d3714d0a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__["default"], options);
+var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Apps_vue_vue_type_style_index_0_id_d3714d0a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__.default, options);
-/* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Apps_vue_vue_type_style_index_0_id_d3714d0a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {});
+/* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Apps_vue_vue_type_style_index_0_id_d3714d0a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__.default.locals || {});
/***/ }),
@@ -1698,6 +1713,7 @@ var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js
\*********************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js");
/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);
@@ -1710,11 +1726,11 @@ var options = {};
options.insert = "head";
options.singleton = false;
-var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppItem_vue_vue_type_style_index_0_id_429da85a_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"], options);
+var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppItem_vue_vue_type_style_index_0_id_429da85a_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_1__.default, options);
-/* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppItem_vue_vue_type_style_index_0_id_429da85a_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {});
+/* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppItem_vue_vue_type_style_index_0_id_429da85a_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_1__.default.locals || {});
/***/ }),
@@ -1724,6 +1740,7 @@ var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js
\*****************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _AppDetails_vue_vue_type_template_id_59a92e62_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppDetails.vue?vue&type=template&id=59a92e62&scoped=true& */ "./apps/settings/src/components/AppDetails.vue?vue&type=template&id=59a92e62&scoped=true&");
/* harmony import */ var _AppDetails_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AppDetails.vue?vue&type=script&lang=js& */ "./apps/settings/src/components/AppDetails.vue?vue&type=script&lang=js&");
@@ -1737,8 +1754,8 @@ __webpack_require__.r(__webpack_exports__);
/* normalize component */
-var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
- _AppDetails_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
+var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__.default)(
+ _AppDetails_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__.default,
_AppDetails_vue_vue_type_template_id_59a92e62_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render,
_AppDetails_vue_vue_type_template_id_59a92e62_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,
false,
@@ -1761,6 +1778,7 @@ component.options.__file = "apps/settings/src/components/AppDetails.vue"
\**************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _AppList_vue_vue_type_template_id_6d1e92a4___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppList.vue?vue&type=template&id=6d1e92a4& */ "./apps/settings/src/components/AppList.vue?vue&type=template&id=6d1e92a4&");
/* harmony import */ var _AppList_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AppList.vue?vue&type=script&lang=js& */ "./apps/settings/src/components/AppList.vue?vue&type=script&lang=js&");
@@ -1772,8 +1790,8 @@ __webpack_require__.r(__webpack_exports__);
/* normalize component */
;
-var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])(
- _AppList_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
+var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__.default)(
+ _AppList_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__.default,
_AppList_vue_vue_type_template_id_6d1e92a4___WEBPACK_IMPORTED_MODULE_0__.render,
_AppList_vue_vue_type_template_id_6d1e92a4___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,
false,
@@ -1796,6 +1814,7 @@ component.options.__file = "apps/settings/src/components/AppList.vue"
\**********************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _AppItem_vue_vue_type_template_id_429da85a_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppItem.vue?vue&type=template&id=429da85a&scoped=true& */ "./apps/settings/src/components/AppList/AppItem.vue?vue&type=template&id=429da85a&scoped=true&");
/* harmony import */ var _AppItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AppItem.vue?vue&type=script&lang=js& */ "./apps/settings/src/components/AppList/AppItem.vue?vue&type=script&lang=js&");
@@ -1809,8 +1828,8 @@ __webpack_require__.r(__webpack_exports__);
/* normalize component */
-var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
- _AppItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
+var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__.default)(
+ _AppItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__.default,
_AppItem_vue_vue_type_template_id_429da85a_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render,
_AppItem_vue_vue_type_template_id_429da85a_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,
false,
@@ -1833,6 +1852,7 @@ component.options.__file = "apps/settings/src/components/AppList/AppItem.vue"
\***********************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _AppScore_vue_vue_type_template_id_0ecce4fc___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AppScore.vue?vue&type=template&id=0ecce4fc& */ "./apps/settings/src/components/AppList/AppScore.vue?vue&type=template&id=0ecce4fc&");
/* harmony import */ var _AppScore_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AppScore.vue?vue&type=script&lang=js& */ "./apps/settings/src/components/AppList/AppScore.vue?vue&type=script&lang=js&");
@@ -1844,8 +1864,8 @@ __webpack_require__.r(__webpack_exports__);
/* normalize component */
;
-var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])(
- _AppScore_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
+var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__.default)(
+ _AppScore_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__.default,
_AppScore_vue_vue_type_template_id_0ecce4fc___WEBPACK_IMPORTED_MODULE_0__.render,
_AppScore_vue_vue_type_template_id_0ecce4fc___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,
false,
@@ -1868,6 +1888,7 @@ component.options.__file = "apps/settings/src/components/AppList/AppScore.vue"
\***************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _Markdown_vue_vue_type_template_id_11f4a1b0_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Markdown.vue?vue&type=template&id=11f4a1b0&scoped=true& */ "./apps/settings/src/components/Markdown.vue?vue&type=template&id=11f4a1b0&scoped=true&");
/* harmony import */ var _Markdown_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Markdown.vue?vue&type=script&lang=js& */ "./apps/settings/src/components/Markdown.vue?vue&type=script&lang=js&");
@@ -1881,8 +1902,8 @@ __webpack_require__.r(__webpack_exports__);
/* normalize component */
-var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
- _Markdown_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
+var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__.default)(
+ _Markdown_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__.default,
_Markdown_vue_vue_type_template_id_11f4a1b0_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render,
_Markdown_vue_vue_type_template_id_11f4a1b0_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,
false,
@@ -1905,6 +1926,7 @@ component.options.__file = "apps/settings/src/components/Markdown.vue"
\******************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _PrefixMixin_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./PrefixMixin.vue?vue&type=script&lang=js& */ "./apps/settings/src/components/PrefixMixin.vue?vue&type=script&lang=js&");
/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js");
@@ -1915,8 +1937,8 @@ var render, staticRenderFns
/* normalize component */
;
-var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_1__["default"])(
- _PrefixMixin_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"],
+var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_1__.default)(
+ _PrefixMixin_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__.default,
render,
staticRenderFns,
false,
@@ -1939,6 +1961,7 @@ component.options.__file = "apps/settings/src/components/PrefixMixin.vue"
\*********************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _SvgFilterMixin_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SvgFilterMixin.vue?vue&type=script&lang=js& */ "./apps/settings/src/components/SvgFilterMixin.vue?vue&type=script&lang=js&");
/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js");
@@ -1949,8 +1972,8 @@ var render, staticRenderFns
/* normalize component */
;
-var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_1__["default"])(
- _SvgFilterMixin_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"],
+var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_1__.default)(
+ _SvgFilterMixin_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__.default,
render,
staticRenderFns,
false,
@@ -1973,6 +1996,7 @@ component.options.__file = "apps/settings/src/components/SvgFilterMixin.vue"
\******************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _Apps_vue_vue_type_template_id_d3714d0a_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Apps.vue?vue&type=template&id=d3714d0a&scoped=true& */ "./apps/settings/src/views/Apps.vue?vue&type=template&id=d3714d0a&scoped=true&");
/* harmony import */ var _Apps_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Apps.vue?vue&type=script&lang=js& */ "./apps/settings/src/views/Apps.vue?vue&type=script&lang=js&");
@@ -1986,8 +2010,8 @@ __webpack_require__.r(__webpack_exports__);
/* normalize component */
-var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
- _Apps_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
+var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__.default)(
+ _Apps_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__.default,
_Apps_vue_vue_type_template_id_d3714d0a_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render,
_Apps_vue_vue_type_template_id_d3714d0a_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,
false,
@@ -2010,9 +2034,10 @@ component.options.__file = "apps/settings/src/views/Apps.vue"
\******************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppDetails_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetails.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/settings/src/components/AppDetails.vue?vue&type=script&lang=js&");
- /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppDetails_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]);
+ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppDetails_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__.default);
/***/ }),
@@ -2022,9 +2047,10 @@ __webpack_require__.r(__webpack_exports__);
\***************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppList_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppList.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/settings/src/components/AppList.vue?vue&type=script&lang=js&");
- /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppList_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]);
+ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppList_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__.default);
/***/ }),
@@ -2034,9 +2060,10 @@ __webpack_require__.r(__webpack_exports__);
\***********************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/settings/src/components/AppList/AppItem.vue?vue&type=script&lang=js&");
- /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]);
+ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppItem_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__.default);
/***/ }),
@@ -2046,9 +2073,10 @@ __webpack_require__.r(__webpack_exports__);
\************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppScore_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppScore.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/settings/src/components/AppList/AppScore.vue?vue&type=script&lang=js&");
- /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppScore_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]);
+ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppScore_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__.default);
/***/ }),
@@ -2058,9 +2086,10 @@ __webpack_require__.r(__webpack_exports__);
\****************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Markdown_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/settings/src/components/Markdown.vue?vue&type=script&lang=js&");
- /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Markdown_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]);
+ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Markdown_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__.default);
/***/ }),
@@ -2070,9 +2099,10 @@ __webpack_require__.r(__webpack_exports__);
\*******************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PrefixMixin_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrefixMixin.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/settings/src/components/PrefixMixin.vue?vue&type=script&lang=js&");
- /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PrefixMixin_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]);
+ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PrefixMixin_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__.default);
/***/ }),
@@ -2082,9 +2112,10 @@ __webpack_require__.r(__webpack_exports__);
\**********************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_SvgFilterMixin_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SvgFilterMixin.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/settings/src/components/SvgFilterMixin.vue?vue&type=script&lang=js&");
- /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_SvgFilterMixin_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]);
+ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_SvgFilterMixin_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__.default);
/***/ }),
@@ -2094,9 +2125,10 @@ __webpack_require__.r(__webpack_exports__);
\*******************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Apps_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Apps.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/settings/src/views/Apps.vue?vue&type=script&lang=js&");
- /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Apps_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]);
+ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Apps_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__.default);
/***/ }),
@@ -2106,6 +2138,7 @@ __webpack_require__.r(__webpack_exports__);
\***************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppDetails_vue_vue_type_style_index_0_id_59a92e62_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetails.vue?vue&type=style&index=0&id=59a92e62&scoped=true&lang=scss& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/settings/src/components/AppDetails.vue?vue&type=style&index=0&id=59a92e62&scoped=true&lang=scss&");
@@ -2118,6 +2151,7 @@ __webpack_require__.r(__webpack_exports__);
\*************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Markdown_vue_vue_type_style_index_0_id_11f4a1b0_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=style&index=0&id=11f4a1b0&scoped=true&lang=scss& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/settings/src/components/Markdown.vue?vue&type=style&index=0&id=11f4a1b0&scoped=true&lang=scss&");
@@ -2130,6 +2164,7 @@ __webpack_require__.r(__webpack_exports__);
\****************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Apps_vue_vue_type_style_index_0_id_d3714d0a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Apps.vue?vue&type=style&index=0&id=d3714d0a&lang=scss&scoped=true& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/settings/src/views/Apps.vue?vue&type=style&index=0&id=d3714d0a&lang=scss&scoped=true&");
@@ -2142,6 +2177,7 @@ __webpack_require__.r(__webpack_exports__);
\*******************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_AppItem_vue_vue_type_style_index_0_id_429da85a_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/style-loader/dist/cjs.js!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.vue?vue&type=style&index=0&id=429da85a&scoped=true&lang=css& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/settings/src/components/AppList/AppItem.vue?vue&type=style&index=0&id=429da85a&scoped=true&lang=css&");
@@ -2154,6 +2190,7 @@ __webpack_require__.r(__webpack_exports__);
\************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "render": function() { return /* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppDetails_vue_vue_type_template_id_59a92e62_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render; },
@@ -2170,6 +2207,7 @@ __webpack_require__.r(__webpack_exports__);
\*********************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "render": function() { return /* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppList_vue_vue_type_template_id_6d1e92a4___WEBPACK_IMPORTED_MODULE_0__.render; },
@@ -2186,6 +2224,7 @@ __webpack_require__.r(__webpack_exports__);
\*****************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "render": function() { return /* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppItem_vue_vue_type_template_id_429da85a_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render; },
@@ -2202,6 +2241,7 @@ __webpack_require__.r(__webpack_exports__);
\******************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "render": function() { return /* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_AppScore_vue_vue_type_template_id_0ecce4fc___WEBPACK_IMPORTED_MODULE_0__.render; },
@@ -2218,6 +2258,7 @@ __webpack_require__.r(__webpack_exports__);
\**********************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "render": function() { return /* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Markdown_vue_vue_type_template_id_11f4a1b0_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render; },
@@ -2234,6 +2275,7 @@ __webpack_require__.r(__webpack_exports__);
\*************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "render": function() { return /* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Apps_vue_vue_type_template_id_d3714d0a_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render; },
@@ -2250,6 +2292,7 @@ __webpack_require__.r(__webpack_exports__);
\***************************************************************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "render": function() { return /* binding */ render; },
@@ -2646,6 +2689,7 @@ render._withStripped = true
\************************************************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "render": function() { return /* binding */ render; },
@@ -2867,6 +2911,7 @@ render._withStripped = true
\********************************************************************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "render": function() { return /* binding */ render; },
@@ -3151,6 +3196,7 @@ render._withStripped = true
\*********************************************************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "render": function() { return /* binding */ render; },
@@ -3178,6 +3224,7 @@ render._withStripped = true
\*************************************************************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "render": function() { return /* binding */ render; },
@@ -3205,6 +3252,7 @@ render._withStripped = true
\****************************************************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "render": function() { return /* binding */ render; },
@@ -3562,4 +3610,4 @@ render._withStripped = true
/***/ })
}]);
-//# sourceMappingURL=settings-apps-settings-apps.js.map?v=ffeb2ba8e977b90ecb0a \ No newline at end of file
+//# sourceMappingURL=settings-apps-settings-apps.js.map?v=a5f2375a4af256153b26 \ No newline at end of file
diff --git a/dist/settings-apps-settings-apps.js.map b/dist/settings-apps-settings-apps.js.map
index a0fad23559e..11fed7d3038 100644
--- a/dist/settings-apps-settings-apps.js.map
+++ b/dist/settings-apps-settings-apps.js.map
@@ -1 +1 @@
-{"version":3,"file":"settings-apps-settings-apps.js?v=ffeb2ba8e977b90ecb0a","mappings":";;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACzLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACtNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;AC3RA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACjNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC3FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACtTA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAaA;AACA;;;;;;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAaA;AACA;;;;;;;;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;ACvCA;;;;;;;;;;;;ACAA;;;;;;;;;;;;ACAA;;;;;;;;;;;;ACAA;;;;;;;;;;;;ACAA;;;;;;;;;;;;ACAA;;;;;;;;;;;;ACAA;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AWAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;AC5XA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;AC7MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;AC5QA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["webpack:///nextcloud/apps/settings/src/mixins/AppManagement.js","webpack:///nextcloud/apps/settings/src/components/AppDetails.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/AppList.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/AppList/AppItem.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/AppList/AppScore.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/Markdown.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/PrefixMixin.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/SvgFilterMixin.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/views/Apps.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/AppDetails.vue?vue&type=style&index=0&id=59a92e62&scoped=true&lang=scss&","webpack:///nextcloud/apps/settings/src/components/Markdown.vue?vue&type=style&index=0&id=11f4a1b0&scoped=true&lang=scss&","webpack:///nextcloud/apps/settings/src/views/Apps.vue?vue&type=style&index=0&id=d3714d0a&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/AppList/AppItem.vue?vue&type=style&index=0&id=429da85a&scoped=true&lang=css&","webpack://nextcloud/./apps/settings/src/components/AppDetails.vue?5e97","webpack://nextcloud/./apps/settings/src/components/Markdown.vue?6cce","webpack://nextcloud/./apps/settings/src/views/Apps.vue?642f","webpack://nextcloud/./apps/settings/src/components/AppList/AppItem.vue?9bb8","webpack:///nextcloud/apps/settings/src/components/AppDetails.vue","webpack:///nextcloud/apps/settings/src/components/AppList.vue","webpack:///nextcloud/apps/settings/src/components/AppList/AppItem.vue","webpack:///nextcloud/apps/settings/src/components/AppList/AppScore.vue","webpack:///nextcloud/apps/settings/src/components/Markdown.vue","webpack:///nextcloud/apps/settings/src/components/PrefixMixin.vue","webpack:///nextcloud/apps/settings/src/components/SvgFilterMixin.vue","webpack:///nextcloud/apps/settings/src/views/Apps.vue","webpack://nextcloud/./apps/settings/src/components/AppDetails.vue?9a02","webpack://nextcloud/./apps/settings/src/components/AppList.vue?a32f","webpack://nextcloud/./apps/settings/src/components/AppList/AppItem.vue?32ec","webpack://nextcloud/./apps/settings/src/components/AppList/AppScore.vue?18e4","webpack://nextcloud/./apps/settings/src/components/Markdown.vue?5ce2","webpack://nextcloud/./apps/settings/src/components/PrefixMixin.vue?c3f5","webpack://nextcloud/./apps/settings/src/components/SvgFilterMixin.vue?3cde","webpack://nextcloud/./apps/settings/src/views/Apps.vue?b34b","webpack://nextcloud/./apps/settings/src/components/AppDetails.vue?41ac","webpack://nextcloud/./apps/settings/src/components/Markdown.vue?a1ce","webpack://nextcloud/./apps/settings/src/views/Apps.vue?cbfa","webpack://nextcloud/./apps/settings/src/components/AppList/AppItem.vue?61f8","webpack:///nextcloud/apps/settings/src/components/AppDetails.vue?vue&type=template&id=59a92e62&scoped=true&","webpack:///nextcloud/apps/settings/src/components/AppList.vue?vue&type=template&id=6d1e92a4&","webpack:///nextcloud/apps/settings/src/components/AppList/AppItem.vue?vue&type=template&id=429da85a&scoped=true&","webpack:///nextcloud/apps/settings/src/components/AppList/AppScore.vue?vue&type=template&id=0ecce4fc&","webpack:///nextcloud/apps/settings/src/components/Markdown.vue?vue&type=template&id=11f4a1b0&scoped=true&","webpack:///nextcloud/apps/settings/src/views/Apps.vue?vue&type=template&id=d3714d0a&scoped=true&","webpack://nextcloud/./apps/settings/src/components/AppDetails.vue?6d0f","webpack://nextcloud/./apps/settings/src/components/AppList.vue?fb3b","webpack://nextcloud/./apps/settings/src/components/AppList/AppItem.vue?79e8","webpack://nextcloud/./apps/settings/src/components/AppList/AppScore.vue?e0e1","webpack://nextcloud/./apps/settings/src/components/Markdown.vue?5754","webpack://nextcloud/./apps/settings/src/views/Apps.vue?1709"],"sourcesContent":["/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nexport default {\n computed: {\n appGroups: function appGroups() {\n return this.app.groups.map(function (group) {\n return {\n id: group,\n name: group\n };\n });\n },\n installing: function installing() {\n return this.$store.getters.loading('install');\n },\n isLoading: function isLoading() {\n return this.app && this.$store.getters.loading(this.app.id);\n },\n enableButtonText: function enableButtonText() {\n if (this.app.needsDownload) {\n return t('settings', 'Download and enable');\n }\n\n return t('settings', 'Enable');\n },\n forceEnableButtonText: function forceEnableButtonText() {\n if (this.app.needsDownload) {\n return t('settings', 'Enable untested app');\n }\n\n return t('settings', 'Enable untested app');\n },\n enableButtonTooltip: function enableButtonTooltip() {\n if (this.app.needsDownload) {\n return t('settings', 'The app will be downloaded from the App Store');\n }\n\n return false;\n },\n forceEnableButtonTooltip: function forceEnableButtonTooltip() {\n var base = t('settings', 'This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected.');\n\n if (this.app.needsDownload) {\n return base + ' ' + t('settings', 'The app will be downloaded from the App Store');\n }\n\n return base;\n }\n },\n data: function data() {\n return {\n groupCheckedAppsData: false\n };\n },\n mounted: function mounted() {\n if (this.app && this.app.groups && this.app.groups.length > 0) {\n this.groupCheckedAppsData = true;\n }\n },\n methods: {\n asyncFindGroup: function asyncFindGroup(query) {\n return this.$store.dispatch('getGroups', {\n search: query,\n limit: 5,\n offset: 0\n });\n },\n isLimitedToGroups: function isLimitedToGroups(app) {\n if (this.app.groups.length || this.groupCheckedAppsData) {\n return true;\n }\n\n return false;\n },\n setGroupLimit: function setGroupLimit() {\n if (!this.groupCheckedAppsData) {\n this.$store.dispatch('enableApp', {\n appId: this.app.id,\n groups: []\n });\n }\n },\n canLimitToGroups: function canLimitToGroups(app) {\n if (app.types && app.types.includes('filesystem') || app.types.includes('prelogin') || app.types.includes('authentication') || app.types.includes('logging') || app.types.includes('prevent_group_restriction')) {\n return false;\n }\n\n return true;\n },\n addGroupLimitation: function addGroupLimitation(group) {\n var groups = this.app.groups.concat([]).concat([group.id]);\n this.$store.dispatch('enableApp', {\n appId: this.app.id,\n groups: groups\n });\n },\n removeGroupLimitation: function removeGroupLimitation(group) {\n var currentGroups = this.app.groups.concat([]);\n var index = currentGroups.indexOf(group.id);\n\n if (index > -1) {\n currentGroups.splice(index, 1);\n }\n\n this.$store.dispatch('enableApp', {\n appId: this.app.id,\n groups: currentGroups\n });\n },\n forceEnable: function forceEnable(appId) {\n this.$store.dispatch('forceEnableApp', {\n appId: appId,\n groups: []\n }).then(function (response) {\n OC.Settings.Apps.rebuildNavigation();\n }).catch(function (error) {\n OC.Notification.show(error);\n });\n },\n enable: function enable(appId) {\n this.$store.dispatch('enableApp', {\n appId: appId,\n groups: []\n }).then(function (response) {\n OC.Settings.Apps.rebuildNavigation();\n }).catch(function (error) {\n OC.Notification.show(error);\n });\n },\n disable: function disable(appId) {\n this.$store.dispatch('disableApp', {\n appId: appId\n }).then(function (response) {\n OC.Settings.Apps.rebuildNavigation();\n }).catch(function (error) {\n OC.Notification.show(error);\n });\n },\n remove: function remove(appId) {\n this.$store.dispatch('uninstallApp', {\n appId: appId\n }).then(function (response) {\n OC.Settings.Apps.rebuildNavigation();\n }).catch(function (error) {\n OC.Notification.show(error);\n });\n },\n install: function install(appId) {\n this.$store.dispatch('enableApp', {\n appId: appId\n }).then(function (response) {\n OC.Settings.Apps.rebuildNavigation();\n }).catch(function (error) {\n OC.Notification.show(error);\n });\n },\n update: function update(appId) {\n this.$store.dispatch('updateApp', {\n appId: appId\n }).then(function (response) {\n OC.Settings.Apps.rebuildNavigation();\n }).catch(function (error) {\n OC.Notification.show(error);\n });\n }\n }\n};","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport Multiselect from '@nextcloud/vue/dist/Components/Multiselect';\nimport AppManagement from '../mixins/AppManagement';\nimport PrefixMixin from './PrefixMixin';\nimport Markdown from './Markdown';\nexport default {\n name: 'AppDetails',\n components: {\n Multiselect: Multiselect,\n Markdown: Markdown\n },\n mixins: [AppManagement, PrefixMixin],\n props: {\n app: {\n type: Object,\n required: true\n }\n },\n data: function data() {\n return {\n groupCheckedAppsData: false\n };\n },\n computed: {\n appstoreUrl: function appstoreUrl() {\n return \"https://apps.nextcloud.com/apps/\".concat(this.app.id);\n },\n licence: function licence() {\n if (this.app.licence) {\n return t('settings', '{license}-licensed', {\n license: ('' + this.app.licence).toUpperCase()\n });\n }\n\n return null;\n },\n author: function author() {\n if (typeof this.app.author === 'string') {\n return [{\n '@value': this.app.author\n }];\n }\n\n if (this.app.author['@value']) {\n return [this.app.author];\n }\n\n return this.app.author;\n },\n appGroups: function appGroups() {\n return this.app.groups.map(function (group) {\n return {\n id: group,\n name: group\n };\n });\n },\n groups: function groups() {\n return this.$store.getters.getGroups.filter(function (group) {\n return group.id !== 'disabled';\n }).sort(function (a, b) {\n return a.name.localeCompare(b.name);\n });\n }\n },\n mounted: function mounted() {\n if (this.app.groups.length > 0) {\n this.groupCheckedAppsData = true;\n }\n }\n};","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport AppItem from './AppList/AppItem';\nimport PrefixMixin from './PrefixMixin';\nimport pLimit from 'p-limit';\nexport default {\n name: 'AppList',\n components: {\n AppItem: AppItem\n },\n mixins: [PrefixMixin],\n props: ['category', 'app', 'search'],\n computed: {\n counter: function counter() {\n return this.apps.filter(function (app) {\n return app.update;\n }).length;\n },\n loading: function loading() {\n return this.$store.getters.loading('list');\n },\n hasPendingUpdate: function hasPendingUpdate() {\n return this.apps.filter(function (app) {\n return app.update;\n }).length > 1;\n },\n showUpdateAll: function showUpdateAll() {\n return this.hasPendingUpdate && ['installed', 'updates'].includes(this.category);\n },\n apps: function apps() {\n var _this = this;\n\n var apps = this.$store.getters.getAllApps.filter(function (app) {\n return app.name.toLowerCase().search(_this.search.toLowerCase()) !== -1;\n }).sort(function (a, b) {\n var sortStringA = '' + (a.active ? 0 : 1) + (a.update ? 0 : 1) + a.name;\n var sortStringB = '' + (b.active ? 0 : 1) + (b.update ? 0 : 1) + b.name;\n return OC.Util.naturalSortCompare(sortStringA, sortStringB);\n });\n\n if (this.category === 'installed') {\n return apps.filter(function (app) {\n return app.installed;\n });\n }\n\n if (this.category === 'enabled') {\n return apps.filter(function (app) {\n return app.active && app.installed;\n });\n }\n\n if (this.category === 'disabled') {\n return apps.filter(function (app) {\n return !app.active && app.installed;\n });\n }\n\n if (this.category === 'app-bundles') {\n return apps.filter(function (app) {\n return app.bundles;\n });\n }\n\n if (this.category === 'updates') {\n return apps.filter(function (app) {\n return app.update;\n });\n }\n\n if (this.category === 'featured') {\n return apps.filter(function (app) {\n return app.level === 200;\n });\n } // filter app store categories\n\n\n return apps.filter(function (app) {\n return app.appstore && app.category !== undefined && (app.category === _this.category || app.category.indexOf(_this.category) > -1);\n });\n },\n bundles: function bundles() {\n var _this2 = this;\n\n return this.$store.getters.getServerData.bundles.filter(function (bundle) {\n return _this2.bundleApps(bundle.id).length > 0;\n });\n },\n bundleApps: function bundleApps() {\n return function (bundle) {\n return this.$store.getters.getAllApps.filter(function (app) {\n return app.bundleIds !== undefined && app.bundleIds.includes(bundle);\n });\n };\n },\n searchApps: function searchApps() {\n var _this3 = this;\n\n if (this.search === '') {\n return [];\n }\n\n return this.$store.getters.getAllApps.filter(function (app) {\n if (app.name.toLowerCase().search(_this3.search.toLowerCase()) !== -1) {\n return !_this3.apps.find(function (_app) {\n return _app.id === app.id;\n });\n }\n\n return false;\n });\n },\n useAppStoreView: function useAppStoreView() {\n return !this.useListView && !this.useBundleView;\n },\n useListView: function useListView() {\n return this.category === 'installed' || this.category === 'enabled' || this.category === 'disabled' || this.category === 'updates' || this.category === 'featured';\n },\n useBundleView: function useBundleView() {\n return this.category === 'app-bundles';\n },\n allBundlesEnabled: function allBundlesEnabled() {\n var self = this;\n return function (id) {\n return self.bundleApps(id).filter(function (app) {\n return !app.active;\n }).length === 0;\n };\n },\n bundleToggleText: function bundleToggleText() {\n var self = this;\n return function (id) {\n if (self.allBundlesEnabled(id)) {\n return t('settings', 'Disable all');\n }\n\n return t('settings', 'Enable all');\n };\n }\n },\n methods: {\n toggleBundle: function toggleBundle(id) {\n if (this.allBundlesEnabled(id)) {\n return this.disableBundle(id);\n }\n\n return this.enableBundle(id);\n },\n enableBundle: function enableBundle(id) {\n var apps = this.bundleApps(id).map(function (app) {\n return app.id;\n });\n this.$store.dispatch('enableApp', {\n appId: apps,\n groups: []\n }).catch(function (error) {\n console.error(error);\n OC.Notification.show(error);\n });\n },\n disableBundle: function disableBundle(id) {\n var apps = this.bundleApps(id).map(function (app) {\n return app.id;\n });\n this.$store.dispatch('disableApp', {\n appId: apps,\n groups: []\n }).catch(function (error) {\n OC.Notification.show(error);\n });\n },\n updateAll: function updateAll() {\n var _this4 = this;\n\n var limit = pLimit(1);\n this.apps.filter(function (app) {\n return app.update;\n }).map(function (app) {\n return limit(function () {\n return _this4.$store.dispatch('updateApp', {\n appId: app.id\n });\n });\n });\n }\n }\n};","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport AppScore from './AppScore';\nimport AppManagement from '../../mixins/AppManagement';\nimport SvgFilterMixin from '../SvgFilterMixin';\nexport default {\n name: 'AppItem',\n components: {\n AppScore: AppScore\n },\n mixins: [AppManagement, SvgFilterMixin],\n props: {\n app: {},\n category: {},\n listView: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n isSelected: false,\n scrolled: false,\n screenshotLoaded: false\n };\n },\n computed: {\n hasRating: function hasRating() {\n return this.app.appstoreData && this.app.appstoreData.ratingNumOverall > 5;\n }\n },\n watch: {\n '$route.params.id': function $routeParamsId(id) {\n this.isSelected = this.app.id === id;\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n this.isSelected = this.app.id === this.$route.params.id;\n\n if (this.app.releases && this.app.screenshot) {\n var image = new Image();\n\n image.onload = function (e) {\n _this.screenshotLoaded = true;\n };\n\n image.src = this.app.screenshot;\n }\n },\n watchers: {},\n methods: {\n showAppDetails: function showAppDetails(event) {\n var _this2 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(event.currentTarget.tagName === 'INPUT' || event.currentTarget.tagName === 'A')) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 2:\n _context.prev = 2;\n _context.next = 5;\n return _this2.$router.push({\n name: 'apps-details',\n params: {\n category: _this2.category,\n id: _this2.app.id\n }\n });\n\n case 5:\n _context.next = 9;\n break;\n\n case 7:\n _context.prev = 7;\n _context.t0 = _context[\"catch\"](2);\n\n case 9:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[2, 7]]);\n }))();\n },\n prefix: function prefix(_prefix, content) {\n return _prefix + '_' + content;\n }\n }\n};","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport { imagePath } from '@nextcloud/router';\nexport default {\n name: 'AppScore',\n props: ['score'],\n computed: {\n scoreImage: function scoreImage() {\n var score = Math.round(this.score * 10);\n var imageName = 'rating/s' + score + '.svg';\n return imagePath('core', imageName);\n }\n }\n};","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport { marked } from 'marked';\nimport dompurify from 'dompurify';\nexport default {\n name: 'Markdown',\n props: {\n text: {\n type: String,\n default: ''\n }\n },\n computed: {\n renderMarkdown: function renderMarkdown() {\n var renderer = new marked.Renderer();\n\n renderer.link = function (href, title, text) {\n var prot;\n\n try {\n prot = decodeURIComponent(unescape(href)).replace(/[^\\w:]/g, '').toLowerCase();\n } catch (e) {\n return '';\n }\n\n if (prot.indexOf('http:') !== 0 && prot.indexOf('https:') !== 0) {\n return '';\n }\n\n var out = '<a href=\"' + href + '\" rel=\"noreferrer noopener\"';\n\n if (title) {\n out += ' title=\"' + title + '\"';\n }\n\n out += '>' + text + '</a>';\n return out;\n };\n\n renderer.image = function (href, title, text) {\n if (text) {\n return text;\n }\n\n return title;\n };\n\n renderer.blockquote = function (quote) {\n return quote;\n };\n\n return dompurify.sanitize(marked(this.text.trim(), {\n renderer: renderer,\n gfm: false,\n highlight: false,\n tables: false,\n breaks: false,\n pedantic: false,\n sanitize: true,\n smartLists: true,\n smartypants: false\n }), {\n SAFE_FOR_JQUERY: true,\n ALLOWED_TAGS: ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'strong', 'p', 'a', 'ul', 'ol', 'li', 'em', 'del', 'blockquote']\n });\n }\n }\n};","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nexport default {\n name: 'PrefixMixin',\n methods: {\n prefix: function prefix(_prefix, content) {\n return _prefix + '_' + content;\n }\n }\n};","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nexport default {\n name: 'SvgFilterMixin',\n data: function data() {\n return {\n filterId: ''\n };\n },\n computed: {\n filterUrl: function filterUrl() {\n return \"url(#\".concat(this.filterId, \")\");\n }\n },\n mounted: function mounted() {\n this.filterId = 'invertIconApps' + Math.floor(Math.random() * 100) + new Date().getSeconds() + new Date().getMilliseconds();\n }\n};","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport { subscribe, unsubscribe } from '@nextcloud/event-bus';\nimport Vue from 'vue';\nimport VueLocalStorage from 'vue-localstorage';\nimport AppContent from '@nextcloud/vue/dist/Components/AppContent';\nimport AppNavigation from '@nextcloud/vue/dist/Components/AppNavigation';\nimport AppNavigationCounter from '@nextcloud/vue/dist/Components/AppNavigationCounter';\nimport AppNavigationItem from '@nextcloud/vue/dist/Components/AppNavigationItem';\nimport AppNavigationSpacer from '@nextcloud/vue/dist/Components/AppNavigationSpacer';\nimport AppSidebar from '@nextcloud/vue/dist/Components/AppSidebar';\nimport AppSidebarTab from '@nextcloud/vue/dist/Components/AppSidebarTab';\nimport Content from '@nextcloud/vue/dist/Components/Content';\nimport AppList from '../components/AppList';\nimport AppDetails from '../components/AppDetails';\nimport AppManagement from '../mixins/AppManagement';\nimport AppScore from '../components/AppList/AppScore';\nimport Markdown from '../components/Markdown';\nVue.use(VueLocalStorage);\nexport default {\n name: 'Apps',\n components: {\n AppContent: AppContent,\n AppDetails: AppDetails,\n AppList: AppList,\n AppNavigation: AppNavigation,\n AppNavigationCounter: AppNavigationCounter,\n AppNavigationItem: AppNavigationItem,\n AppNavigationSpacer: AppNavigationSpacer,\n AppScore: AppScore,\n AppSidebar: AppSidebar,\n AppSidebarTab: AppSidebarTab,\n Content: Content,\n Markdown: Markdown\n },\n mixins: [AppManagement],\n props: {\n category: {\n type: String,\n default: 'installed'\n },\n id: {\n type: String,\n default: ''\n }\n },\n data: function data() {\n return {\n searchQuery: '',\n screenshotLoaded: false\n };\n },\n computed: {\n loading: function loading() {\n return this.$store.getters.loading('categories');\n },\n loadingList: function loadingList() {\n return this.$store.getters.loading('list');\n },\n app: function app() {\n var _this = this;\n\n return this.apps.find(function (app) {\n return app.id === _this.id;\n });\n },\n categories: function categories() {\n return this.$store.getters.getCategories;\n },\n apps: function apps() {\n return this.$store.getters.getAllApps;\n },\n updateCount: function updateCount() {\n return this.$store.getters.getUpdateCount;\n },\n settings: function settings() {\n return this.$store.getters.getServerData;\n },\n hasRating: function hasRating() {\n return this.app.appstoreData && this.app.appstoreData.ratingNumOverall > 5;\n },\n // sidebar app binding\n appSidebar: function appSidebar() {\n var authorName = function authorName(xmlNode) {\n if (xmlNode['@value']) {\n // Complex node (with email or homepage attribute)\n return xmlNode['@value'];\n } // Simple text node\n\n\n return xmlNode;\n };\n\n var author = Array.isArray(this.app.author) ? this.app.author.map(authorName).join(', ') : authorName(this.app.author);\n var license = t('settings', '{license}-licensed', {\n license: ('' + this.app.licence).toUpperCase()\n });\n var subtitle = t('settings', 'by {author}\\n{license}', {\n author: author,\n license: license\n });\n return {\n subtitle: subtitle,\n background: this.app.screenshot && this.screenshotLoaded ? this.app.screenshot : this.app.preview,\n compact: !(this.app.screenshot && this.screenshotLoaded),\n title: this.app.name\n };\n },\n changelog: function changelog() {\n return function (release) {\n return release.translations.en.changelog;\n };\n }\n },\n watch: {\n category: function category() {\n this.searchQuery = '';\n },\n app: function app() {\n var _this$app,\n _this$app2,\n _this2 = this;\n\n this.screenshotLoaded = false;\n\n if ((_this$app = this.app) !== null && _this$app !== void 0 && _this$app.releases && (_this$app2 = this.app) !== null && _this$app2 !== void 0 && _this$app2.screenshot) {\n var image = new Image();\n\n image.onload = function (e) {\n _this2.screenshotLoaded = true;\n };\n\n image.src = this.app.screenshot;\n }\n }\n },\n beforeMount: function beforeMount() {\n this.$store.dispatch('getCategories');\n this.$store.dispatch('getAllApps');\n this.$store.dispatch('getGroups', {\n offset: 0,\n limit: 5\n });\n this.$store.commit('setUpdateCount', this.$store.getters.getServerData.updateCount);\n },\n mounted: function mounted() {\n subscribe('nextcloud:unified-search.search', this.setSearch);\n subscribe('nextcloud:unified-search.reset', this.resetSearch);\n },\n beforeDestroy: function beforeDestroy() {\n unsubscribe('nextcloud:unified-search.search', this.setSearch);\n unsubscribe('nextcloud:unified-search.reset', this.resetSearch);\n },\n methods: {\n setSearch: function setSearch(_ref) {\n var query = _ref.query;\n this.searchQuery = query;\n },\n resetSearch: function resetSearch() {\n this.searchQuery = '';\n },\n hideAppDetails: function hideAppDetails() {\n this.$router.push({\n name: 'apps-category',\n params: {\n category: this.category\n }\n });\n }\n }\n};","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".app-details[data-v-59a92e62] {\\n padding: 20px;\\n}\\n.app-details__actions-manage[data-v-59a92e62] {\\n display: flex;\\n}\\n.app-details__actions-manage input[data-v-59a92e62] {\\n flex: 0 1 auto;\\n min-width: 0;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden;\\n}\\n.app-details__dependencies[data-v-59a92e62] {\\n opacity: 0.7;\\n}\\n.app-details__documentation[data-v-59a92e62] {\\n padding-top: 20px;\\n}\\n.app-details__description[data-v-59a92e62] {\\n padding-top: 20px;\\n}\\n.force[data-v-59a92e62] {\\n color: var(--color-error);\\n border-color: var(--color-error);\\n background: var(--color-main-background);\\n}\\n.force[data-v-59a92e62]:hover,\\n.force[data-v-59a92e62]:active {\\n color: var(--color-main-background);\\n border-color: var(--color-error) !important;\\n background: var(--color-error);\\n}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".settings-markdown[data-v-11f4a1b0] h1,\\n.settings-markdown[data-v-11f4a1b0] h2,\\n.settings-markdown[data-v-11f4a1b0] h3,\\n.settings-markdown[data-v-11f4a1b0] h4,\\n.settings-markdown[data-v-11f4a1b0] h5,\\n.settings-markdown[data-v-11f4a1b0] h6 {\\n font-weight: 600;\\n line-height: 120%;\\n margin-top: 24px;\\n margin-bottom: 12px;\\n color: var(--color-main-text);\\n}\\n.settings-markdown[data-v-11f4a1b0] h1 {\\n font-size: 36px;\\n margin-top: 48px;\\n}\\n.settings-markdown[data-v-11f4a1b0] h2 {\\n font-size: 28px;\\n margin-top: 48px;\\n}\\n.settings-markdown[data-v-11f4a1b0] h3 {\\n font-size: 24px;\\n}\\n.settings-markdown[data-v-11f4a1b0] h4 {\\n font-size: 21px;\\n}\\n.settings-markdown[data-v-11f4a1b0] h5 {\\n font-size: 17px;\\n}\\n.settings-markdown[data-v-11f4a1b0] h6 {\\n font-size: var(--default-font-size);\\n}\\n.settings-markdown[data-v-11f4a1b0] pre {\\n white-space: pre;\\n overflow-x: auto;\\n background-color: var(--color-background-dark);\\n border-radius: var(--border-radius);\\n padding: 1em 1.3em;\\n margin-bottom: 1em;\\n}\\n.settings-markdown[data-v-11f4a1b0] p code {\\n background-color: var(--color-background-dark);\\n border-radius: var(--border-radius);\\n padding: 0.1em 0.3em;\\n}\\n.settings-markdown[data-v-11f4a1b0] li {\\n position: relative;\\n}\\n.settings-markdown[data-v-11f4a1b0] ul, .settings-markdown[data-v-11f4a1b0] ol {\\n padding-left: 10px;\\n margin-left: 10px;\\n}\\n.settings-markdown[data-v-11f4a1b0] ul li {\\n list-style-type: disc;\\n}\\n.settings-markdown[data-v-11f4a1b0] ul > li > ul > li {\\n list-style-type: circle;\\n}\\n.settings-markdown[data-v-11f4a1b0] ul > li > ul > li ul li {\\n list-style-type: square;\\n}\\n.settings-markdown[data-v-11f4a1b0] blockquote {\\n padding-left: 1em;\\n border-left: 4px solid var(--color-primary-element);\\n color: var(--color-text-maxcontrast);\\n margin-left: 0;\\n margin-right: 0;\\n}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".app-sidebar[data-v-d3714d0a]:not(.app-sidebar--without-background) :not(.app-sidebar-header--compact) .app-sidebar-header__figure {\\n background-size: cover;\\n}\\n.app-sidebar[data-v-d3714d0a]:not(.app-sidebar--without-background) .app-sidebar-header--compact .app-sidebar-header__figure {\\n background-size: 32px;\\n filter: invert(1);\\n}\\n.app-sidebar[data-v-d3714d0a].app-sidebar--without-background .app-sidebar-header__figure {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n}\\n.app-sidebar[data-v-d3714d0a].app-sidebar--without-background .app-sidebar-header__figure--default-app-icon {\\n width: 32px;\\n height: 32px;\\n background-size: 32px;\\n}\\n.app-sidebar[data-v-d3714d0a] .app-sidebar-header__desc .app-sidebar-header__subtitle {\\n overflow: visible !important;\\n height: auto;\\n white-space: normal !important;\\n line-height: 16px;\\n}\\n.app-sidebar[data-v-d3714d0a] .app-sidebar-header__action {\\n margin: 0 20px;\\n}\\n.app-sidebar[data-v-d3714d0a] .app-sidebar-header__action input {\\n margin: 3px;\\n}\\n.app-sidebar-tabs__release h2[data-v-d3714d0a] {\\n border-bottom: 1px solid var(--color-border);\\n}\\n.app-sidebar-tabs__release[data-v-d3714d0a] h3 {\\n font-size: 20px;\\n}\\n.app-sidebar-tabs__release[data-v-d3714d0a] h4 {\\n font-size: 17px;\\n}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.force[data-v-429da85a] {\\n\\tbackground: var(--color-main-background);\\n\\tborder-color: var(--color-error);\\n\\tcolor: var(--color-error);\\n}\\n.force[data-v-429da85a]:hover,\\n.force[data-v-429da85a]:active {\\n\\tbackground: var(--color-error);\\n\\tborder-color: var(--color-error) !important;\\n\\tcolor: var(--color-main-background);\\n}\\n\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetails.vue?vue&type=style&index=0&id=59a92e62&scoped=true&lang=scss&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=style&index=0&id=11f4a1b0&scoped=true&lang=scss&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Apps.vue?vue&type=style&index=0&id=d3714d0a&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.vue?vue&type=style&index=0&id=429da85a&scoped=true&lang=css&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./AppDetails.vue?vue&type=template&id=59a92e62&scoped=true&\"\nimport script from \"./AppDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./AppDetails.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AppDetails.vue?vue&type=style&index=0&id=59a92e62&scoped=true&lang=scss&\"\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 \"59a92e62\",\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('59a92e62')) {\n api.createRecord('59a92e62', component.options)\n } else {\n api.reload('59a92e62', component.options)\n }\n module.hot.accept(\"./AppDetails.vue?vue&type=template&id=59a92e62&scoped=true&\", function () {\n api.rerender('59a92e62', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"apps/settings/src/components/AppDetails.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./AppList.vue?vue&type=template&id=6d1e92a4&\"\nimport script from \"./AppList.vue?vue&type=script&lang=js&\"\nexport * from \"./AppList.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\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('6d1e92a4')) {\n api.createRecord('6d1e92a4', component.options)\n } else {\n api.reload('6d1e92a4', component.options)\n }\n module.hot.accept(\"./AppList.vue?vue&type=template&id=6d1e92a4&\", function () {\n api.rerender('6d1e92a4', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"apps/settings/src/components/AppList.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./AppItem.vue?vue&type=template&id=429da85a&scoped=true&\"\nimport script from \"./AppItem.vue?vue&type=script&lang=js&\"\nexport * from \"./AppItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AppItem.vue?vue&type=style&index=0&id=429da85a&scoped=true&lang=css&\"\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 \"429da85a\",\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('429da85a')) {\n api.createRecord('429da85a', component.options)\n } else {\n api.reload('429da85a', component.options)\n }\n module.hot.accept(\"./AppItem.vue?vue&type=template&id=429da85a&scoped=true&\", function () {\n api.rerender('429da85a', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"apps/settings/src/components/AppList/AppItem.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./AppScore.vue?vue&type=template&id=0ecce4fc&\"\nimport script from \"./AppScore.vue?vue&type=script&lang=js&\"\nexport * from \"./AppScore.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\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('0ecce4fc')) {\n api.createRecord('0ecce4fc', component.options)\n } else {\n api.reload('0ecce4fc', component.options)\n }\n module.hot.accept(\"./AppScore.vue?vue&type=template&id=0ecce4fc&\", function () {\n api.rerender('0ecce4fc', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"apps/settings/src/components/AppList/AppScore.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./Markdown.vue?vue&type=template&id=11f4a1b0&scoped=true&\"\nimport script from \"./Markdown.vue?vue&type=script&lang=js&\"\nexport * from \"./Markdown.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Markdown.vue?vue&type=style&index=0&id=11f4a1b0&scoped=true&lang=scss&\"\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 \"11f4a1b0\",\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('11f4a1b0')) {\n api.createRecord('11f4a1b0', component.options)\n } else {\n api.reload('11f4a1b0', component.options)\n }\n module.hot.accept(\"./Markdown.vue?vue&type=template&id=11f4a1b0&scoped=true&\", function () {\n api.rerender('11f4a1b0', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"apps/settings/src/components/Markdown.vue\"\nexport default component.exports","var render, staticRenderFns\nimport script from \"./PrefixMixin.vue?vue&type=script&lang=js&\"\nexport * from \"./PrefixMixin.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\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('b4ed0c44')) {\n api.createRecord('b4ed0c44', component.options)\n } else {\n api.reload('b4ed0c44', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"apps/settings/src/components/PrefixMixin.vue\"\nexport default component.exports","var render, staticRenderFns\nimport script from \"./SvgFilterMixin.vue?vue&type=script&lang=js&\"\nexport * from \"./SvgFilterMixin.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\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('9219d434')) {\n api.createRecord('9219d434', component.options)\n } else {\n api.reload('9219d434', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"apps/settings/src/components/SvgFilterMixin.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./Apps.vue?vue&type=template&id=d3714d0a&scoped=true&\"\nimport script from \"./Apps.vue?vue&type=script&lang=js&\"\nexport * from \"./Apps.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Apps.vue?vue&type=style&index=0&id=d3714d0a&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 \"d3714d0a\",\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('d3714d0a')) {\n api.createRecord('d3714d0a', component.options)\n } else {\n api.reload('d3714d0a', component.options)\n }\n module.hot.accept(\"./Apps.vue?vue&type=template&id=d3714d0a&scoped=true&\", function () {\n api.rerender('d3714d0a', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"apps/settings/src/views/Apps.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetails.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!./AppDetails.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!./AppList.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!./AppList.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!./AppItem.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!./AppItem.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!./AppScore.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!./AppScore.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!./Markdown.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!./Markdown.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!./PrefixMixin.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!./PrefixMixin.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!./SvgFilterMixin.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!./SvgFilterMixin.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!./Apps.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!./Apps.vue?vue&type=script&lang=js&\"","export * from \"-!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetails.vue?vue&type=style&index=0&id=59a92e62&scoped=true&lang=scss&\"","export * from \"-!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=style&index=0&id=11f4a1b0&scoped=true&lang=scss&\"","export * from \"-!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Apps.vue?vue&type=style&index=0&id=d3714d0a&lang=scss&scoped=true&\"","export * from \"-!../../../../../node_modules/style-loader/dist/cjs.js!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.vue?vue&type=style&index=0&id=429da85a&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetails.vue?vue&type=template&id=59a92e62&scoped=true&\"","export * from \"-!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppList.vue?vue&type=template&id=6d1e92a4&\"","export * from \"-!../../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.vue?vue&type=template&id=429da85a&scoped=true&\"","export * from \"-!../../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppScore.vue?vue&type=template&id=0ecce4fc&\"","export * from \"-!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=template&id=11f4a1b0&scoped=true&\"","export * from \"-!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Apps.vue?vue&type=template&id=d3714d0a&scoped=true&\"","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"app-details\" },\n [\n _c(\"div\", { staticClass: \"app-details__actions\" }, [\n _vm.app.active && _vm.canLimitToGroups(_vm.app)\n ? _c(\n \"div\",\n { staticClass: \"app-details__actions-groups\" },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.groupCheckedAppsData,\n expression: \"groupCheckedAppsData\",\n },\n ],\n staticClass: \"groups-enable__checkbox checkbox\",\n attrs: {\n id: _vm.prefix(\"groups_enable\", _vm.app.id),\n type: \"checkbox\",\n },\n domProps: {\n value: _vm.app.id,\n checked: Array.isArray(_vm.groupCheckedAppsData)\n ? _vm._i(_vm.groupCheckedAppsData, _vm.app.id) > -1\n : _vm.groupCheckedAppsData,\n },\n on: {\n change: [\n function ($event) {\n var $$a = _vm.groupCheckedAppsData,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = _vm.app.id,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n (_vm.groupCheckedAppsData = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.groupCheckedAppsData = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.groupCheckedAppsData = $$c\n }\n },\n _vm.setGroupLimit,\n ],\n },\n }),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: _vm.prefix(\"groups_enable\", _vm.app.id) } },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Limit to groups\")))]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"group_select\",\n attrs: {\n type: \"hidden\",\n title: _vm.t(\"settings\", \"All\"),\n value: \"\",\n },\n }),\n _vm._v(\" \"),\n _vm.isLimitedToGroups(_vm.app)\n ? _c(\n \"Multiselect\",\n {\n staticClass: \"multiselect-vue\",\n attrs: {\n options: _vm.groups,\n value: _vm.appGroups,\n \"options-limit\": 5,\n placeholder: _vm.t(\n \"settings\",\n \"Limit app usage to groups\"\n ),\n label: \"name\",\n \"track-by\": \"id\",\n multiple: true,\n \"close-on-select\": false,\n \"tag-width\": 60,\n },\n on: {\n select: _vm.addGroupLimitation,\n remove: _vm.removeGroupLimitation,\n \"search-change\": _vm.asyncFindGroup,\n },\n },\n [\n _c(\n \"span\",\n { attrs: { slot: \"noResult\" }, slot: \"noResult\" },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"No results\")))]\n ),\n ]\n )\n : _vm._e(),\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"app-details__actions-manage\" }, [\n _vm.app.update\n ? _c(\"input\", {\n staticClass: \"update primary\",\n attrs: {\n type: \"button\",\n value: _vm.t(\"settings\", \"Update to {version}\", {\n version: _vm.app.update,\n }),\n disabled: _vm.installing || _vm.isLoading,\n },\n on: {\n click: function ($event) {\n return _vm.update(_vm.app.id)\n },\n },\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.canUnInstall\n ? _c(\"input\", {\n staticClass: \"uninstall\",\n attrs: {\n type: \"button\",\n value: _vm.t(\"settings\", \"Remove\"),\n disabled: _vm.installing || _vm.isLoading,\n },\n on: {\n click: function ($event) {\n return _vm.remove(_vm.app.id)\n },\n },\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.active\n ? _c(\"input\", {\n staticClass: \"enable\",\n attrs: {\n type: \"button\",\n value: _vm.t(\"settings\", \"Disable\"),\n disabled: _vm.installing || _vm.isLoading,\n },\n on: {\n click: function ($event) {\n return _vm.disable(_vm.app.id)\n },\n },\n })\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.app.active && (_vm.app.canInstall || _vm.app.isCompatible)\n ? _c(\"input\", {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.enableButtonTooltip,\n expression: \"enableButtonTooltip\",\n modifiers: { auto: true },\n },\n ],\n staticClass: \"enable primary\",\n attrs: {\n type: \"button\",\n value: _vm.enableButtonText,\n disabled:\n !_vm.app.canInstall || _vm.installing || _vm.isLoading,\n },\n on: {\n click: function ($event) {\n return _vm.enable(_vm.app.id)\n },\n },\n })\n : !_vm.app.active && !_vm.app.canInstall\n ? _c(\"input\", {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.forceEnableButtonTooltip,\n expression: \"forceEnableButtonTooltip\",\n modifiers: { auto: true },\n },\n ],\n staticClass: \"enable force\",\n attrs: {\n type: \"button\",\n value: _vm.forceEnableButtonText,\n disabled: _vm.installing || _vm.isLoading,\n },\n on: {\n click: function ($event) {\n return _vm.forceEnable(_vm.app.id)\n },\n },\n })\n : _vm._e(),\n ]),\n ]),\n _vm._v(\" \"),\n _c(\"ul\", { staticClass: \"app-details__dependencies\" }, [\n _vm.app.missingMinOwnCloudVersion\n ? _c(\"li\", [\n _vm._v(\n \"\\n\\t\\t\\t\" +\n _vm._s(\n _vm.t(\n \"settings\",\n \"This app has no minimum Nextcloud version assigned. This will be an error in the future.\"\n )\n ) +\n \"\\n\\t\\t\"\n ),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.missingMaxOwnCloudVersion\n ? _c(\"li\", [\n _vm._v(\n \"\\n\\t\\t\\t\" +\n _vm._s(\n _vm.t(\n \"settings\",\n \"This app has no maximum Nextcloud version assigned. This will be an error in the future.\"\n )\n ) +\n \"\\n\\t\\t\"\n ),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.app.canInstall\n ? _c(\"li\", [\n _vm._v(\n \"\\n\\t\\t\\t\" +\n _vm._s(\n _vm.t(\n \"settings\",\n \"This app cannot be installed because the following dependencies are not fulfilled:\"\n )\n ) +\n \"\\n\\t\\t\\t\"\n ),\n _c(\n \"ul\",\n { staticClass: \"missing-dependencies\" },\n _vm._l(_vm.app.missingDependencies, function (dep, index) {\n return _c(\"li\", { key: index }, [\n _vm._v(\"\\n\\t\\t\\t\\t\\t\" + _vm._s(dep) + \"\\n\\t\\t\\t\\t\"),\n ])\n }),\n 0\n ),\n ])\n : _vm._e(),\n ]),\n _vm._v(\" \"),\n _c(\"p\", { staticClass: \"app-details__documentation\" }, [\n !_vm.app.internal\n ? _c(\n \"a\",\n {\n staticClass: \"appslink\",\n attrs: {\n href: _vm.appstoreUrl,\n target: \"_blank\",\n rel: \"noreferrer noopener\",\n },\n },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"View in store\")) + \" ↗\")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.website\n ? _c(\n \"a\",\n {\n staticClass: \"appslink\",\n attrs: {\n href: _vm.app.website,\n target: \"_blank\",\n rel: \"noreferrer noopener\",\n },\n },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Visit website\")) + \" ↗\")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.bugs\n ? _c(\n \"a\",\n {\n staticClass: \"appslink\",\n attrs: {\n href: _vm.app.bugs,\n target: \"_blank\",\n rel: \"noreferrer noopener\",\n },\n },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Report a bug\")) + \" ↗\")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.documentation && _vm.app.documentation.user\n ? _c(\n \"a\",\n {\n staticClass: \"appslink\",\n attrs: {\n href: _vm.app.documentation.user,\n target: \"_blank\",\n rel: \"noreferrer noopener\",\n },\n },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"User documentation\")) + \" ↗\")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.documentation && _vm.app.documentation.admin\n ? _c(\n \"a\",\n {\n staticClass: \"appslink\",\n attrs: {\n href: _vm.app.documentation.admin,\n target: \"_blank\",\n rel: \"noreferrer noopener\",\n },\n },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Admin documentation\")) + \" ↗\")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.documentation && _vm.app.documentation.developer\n ? _c(\n \"a\",\n {\n staticClass: \"appslink\",\n attrs: {\n href: _vm.app.documentation.developer,\n target: \"_blank\",\n rel: \"noreferrer noopener\",\n },\n },\n [\n _vm._v(\n _vm._s(_vm.t(\"settings\", \"Developer documentation\")) + \" ↗\"\n ),\n ]\n )\n : _vm._e(),\n ]),\n _vm._v(\" \"),\n _c(\"Markdown\", {\n staticClass: \"app-details__description\",\n attrs: { text: _vm.app.description },\n }),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"app-content-inner\" } }, [\n _c(\n \"div\",\n {\n staticClass: \"apps-list\",\n class: {\n installed: _vm.useBundleView || _vm.useListView,\n store: _vm.useAppStoreView,\n },\n attrs: { id: \"apps-list\" },\n },\n [\n _vm.useListView\n ? [\n _vm.showUpdateAll\n ? _c(\"div\", { staticClass: \"counter\" }, [\n _vm._v(\n \"\\n\\t\\t\\t\\t\" +\n _vm._s(\n _vm.n(\n \"settings\",\n \"%n app has an update available\",\n \"%n apps have an update available\",\n _vm.counter\n )\n ) +\n \"\\n\\t\\t\\t\\t\"\n ),\n _vm.showUpdateAll\n ? _c(\n \"button\",\n {\n staticClass: \"primary\",\n attrs: { id: \"app-list-update-all\" },\n on: { click: _vm.updateAll },\n },\n [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\" +\n _vm._s(_vm.t(\"settings\", \"Update all\")) +\n \"\\n\\t\\t\\t\\t\"\n ),\n ]\n )\n : _vm._e(),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"transition-group\",\n {\n staticClass: \"apps-list-container\",\n attrs: { name: \"app-list\", tag: \"div\" },\n },\n _vm._l(_vm.apps, function (app) {\n return _c(\"AppItem\", {\n key: app.id,\n attrs: { app: app, category: _vm.category },\n })\n }),\n 1\n ),\n ]\n : _vm._e(),\n _vm._v(\" \"),\n _vm.useBundleView\n ? _c(\n \"transition-group\",\n {\n staticClass: \"apps-list-container\",\n attrs: { name: \"app-list\", tag: \"div\" },\n },\n [\n _vm._l(_vm.bundles, function (bundle) {\n return [\n _c(\"div\", { key: bundle.id, staticClass: \"apps-header\" }, [\n _c(\"div\", { staticClass: \"app-image\" }),\n _vm._v(\" \"),\n _c(\"h2\", [\n _vm._v(_vm._s(bundle.name) + \" \"),\n _c(\"input\", {\n attrs: {\n type: \"button\",\n value: _vm.bundleToggleText(bundle.id),\n },\n on: {\n click: function ($event) {\n return _vm.toggleBundle(bundle.id)\n },\n },\n }),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"app-version\" }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"app-level\" }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"app-groups\" }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"actions\" }, [\n _vm._v(\"\\n\\t\\t\\t\\t\\t\\t \\n\\t\\t\\t\\t\\t\"),\n ]),\n ]),\n _vm._v(\" \"),\n _vm._l(_vm.bundleApps(bundle.id), function (app) {\n return _c(\"AppItem\", {\n key: bundle.id + app.id,\n attrs: { app: app, category: _vm.category },\n })\n }),\n ]\n }),\n ],\n 2\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.useAppStoreView\n ? _vm._l(_vm.apps, function (app) {\n return _c(\"AppItem\", {\n key: app.id,\n attrs: { app: app, category: _vm.category, \"list-view\": false },\n })\n })\n : _vm._e(),\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"apps-list installed\", attrs: { id: \"apps-list-search\" } },\n [\n _c(\n \"div\",\n { staticClass: \"apps-list-container\" },\n [\n _vm.search !== \"\" && _vm.searchApps.length > 0\n ? [\n _c(\"div\", { staticClass: \"section\" }, [\n _c(\"div\"),\n _vm._v(\" \"),\n _c(\"td\", { attrs: { colspan: \"5\" } }, [\n _c(\"h2\", [\n _vm._v(\n _vm._s(\n _vm.t(\"settings\", \"Results from other categories\")\n )\n ),\n ]),\n ]),\n ]),\n _vm._v(\" \"),\n _vm._l(_vm.searchApps, function (app) {\n return _c(\"AppItem\", {\n key: app.id,\n attrs: {\n app: app,\n category: _vm.category,\n \"list-view\": true,\n },\n })\n }),\n ]\n : _vm._e(),\n ],\n 2\n ),\n ]\n ),\n _vm._v(\" \"),\n _vm.search !== \"\" &&\n !_vm.loading &&\n _vm.searchApps.length === 0 &&\n _vm.apps.length === 0\n ? _c(\n \"div\",\n {\n staticClass: \"emptycontent emptycontent-search\",\n attrs: { id: \"apps-list-empty\" },\n },\n [\n _c(\"div\", {\n staticClass: \"icon-settings-dark\",\n attrs: { id: \"app-list-empty-icon\" },\n }),\n _vm._v(\" \"),\n _c(\"h2\", [\n _vm._v(\n _vm._s(_vm.t(\"settings\", \"No apps found for your version\"))\n ),\n ]),\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"searchresults\" } }),\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"section\",\n class: { selected: _vm.isSelected },\n on: { click: _vm.showAppDetails },\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"app-image app-image-icon\",\n on: { click: _vm.showAppDetails },\n },\n [\n (_vm.listView && !_vm.app.preview) ||\n (!_vm.listView && !_vm.screenshotLoaded)\n ? _c(\"div\", { staticClass: \"icon-settings-dark\" })\n : _vm.listView && _vm.app.preview\n ? _c(\n \"svg\",\n { attrs: { width: \"32\", height: \"32\", viewBox: \"0 0 32 32\" } },\n [\n _c(\"defs\", [\n _c(\n \"filter\",\n { attrs: { id: _vm.filterId } },\n [\n _c(\"feColorMatrix\", {\n attrs: {\n in: \"SourceGraphic\",\n type: \"matrix\",\n values:\n \"-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0\",\n },\n }),\n ],\n 1\n ),\n ]),\n _vm._v(\" \"),\n _c(\"image\", {\n staticClass: \"app-icon\",\n attrs: {\n x: \"0\",\n y: \"0\",\n width: \"32\",\n height: \"32\",\n preserveAspectRatio: \"xMinYMin meet\",\n filter: _vm.filterUrl,\n \"xlink:href\": _vm.app.preview,\n },\n }),\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.listView && _vm.app.screenshot && _vm.screenshotLoaded\n ? _c(\"img\", { attrs: { src: _vm.app.screenshot, width: \"100%\" } })\n : _vm._e(),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"app-name\", on: { click: _vm.showAppDetails } },\n [_vm._v(\"\\n\\t\\t\" + _vm._s(_vm.app.name) + \"\\n\\t\")]\n ),\n _vm._v(\" \"),\n !_vm.listView\n ? _c(\"div\", { staticClass: \"app-summary\" }, [\n _vm._v(\"\\n\\t\\t\" + _vm._s(_vm.app.summary) + \"\\n\\t\"),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.listView\n ? _c(\"div\", { staticClass: \"app-version\" }, [\n _vm.app.version\n ? _c(\"span\", [_vm._v(_vm._s(_vm.app.version))])\n : _vm.app.appstoreData.releases[0].version\n ? _c(\"span\", [\n _vm._v(_vm._s(_vm.app.appstoreData.releases[0].version)),\n ])\n : _vm._e(),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"app-level\" },\n [\n _vm.app.level === 300\n ? _c(\n \"span\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.t(\n \"settings\",\n \"This app is supported via your current Nextcloud subscription.\"\n ),\n expression:\n \"t('settings', 'This app is supported via your current Nextcloud subscription.')\",\n modifiers: { auto: true },\n },\n ],\n staticClass: \"supported icon-checkmark-color\",\n },\n [_vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.t(\"settings\", \"Supported\")))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.level === 200\n ? _c(\n \"span\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.t(\n \"settings\",\n \"Featured apps are developed by and within the community. They offer central functionality and are ready for production use.\"\n ),\n expression:\n \"t('settings', 'Featured apps are developed by and within the community. They offer central functionality and are ready for production use.')\",\n modifiers: { auto: true },\n },\n ],\n staticClass: \"official icon-checkmark\",\n },\n [_vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.t(\"settings\", \"Featured\")))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.hasRating && !_vm.listView\n ? _c(\"AppScore\", { attrs: { score: _vm.app.score } })\n : _vm._e(),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"actions\" }, [\n _vm.app.error\n ? _c(\"div\", { staticClass: \"warning\" }, [\n _vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.app.error) + \"\\n\\t\\t\"),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.isLoading\n ? _c(\"div\", { staticClass: \"icon icon-loading-small\" })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.update\n ? _c(\"input\", {\n staticClass: \"update primary\",\n attrs: {\n type: \"button\",\n value: _vm.t(\"settings\", \"Update to {update}\", {\n update: _vm.app.update,\n }),\n disabled: _vm.installing || _vm.isLoading,\n },\n on: {\n click: function ($event) {\n $event.stopPropagation()\n return _vm.update(_vm.app.id)\n },\n },\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.canUnInstall\n ? _c(\"input\", {\n staticClass: \"uninstall\",\n attrs: {\n type: \"button\",\n value: _vm.t(\"settings\", \"Remove\"),\n disabled: _vm.installing || _vm.isLoading,\n },\n on: {\n click: function ($event) {\n $event.stopPropagation()\n return _vm.remove(_vm.app.id)\n },\n },\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.active\n ? _c(\"input\", {\n staticClass: \"enable\",\n attrs: {\n type: \"button\",\n value: _vm.t(\"settings\", \"Disable\"),\n disabled: _vm.installing || _vm.isLoading,\n },\n on: {\n click: function ($event) {\n $event.stopPropagation()\n return _vm.disable(_vm.app.id)\n },\n },\n })\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.app.active && (_vm.app.canInstall || _vm.app.isCompatible)\n ? _c(\"input\", {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.enableButtonTooltip,\n expression: \"enableButtonTooltip\",\n modifiers: { auto: true },\n },\n ],\n staticClass: \"enable\",\n attrs: {\n type: \"button\",\n value: _vm.enableButtonText,\n disabled:\n !_vm.app.canInstall || _vm.installing || _vm.isLoading,\n },\n on: {\n click: function ($event) {\n $event.stopPropagation()\n return _vm.enable(_vm.app.id)\n },\n },\n })\n : !_vm.app.active\n ? _c(\"input\", {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.forceEnableButtonTooltip,\n expression: \"forceEnableButtonTooltip\",\n modifiers: { auto: true },\n },\n ],\n staticClass: \"enable force\",\n attrs: {\n type: \"button\",\n value: _vm.forceEnableButtonText,\n disabled: _vm.installing || _vm.isLoading,\n },\n on: {\n click: function ($event) {\n $event.stopPropagation()\n return _vm.forceEnable(_vm.app.id)\n },\n },\n })\n : _vm._e(),\n ]),\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"img\", {\n staticClass: \"app-score-image\",\n attrs: { src: _vm.scoreImage },\n })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", {\n staticClass: \"settings-markdown\",\n domProps: { innerHTML: _vm._s(_vm.renderMarkdown) },\n })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"Content\",\n {\n class: { \"with-app-sidebar\": _vm.app },\n attrs: {\n \"app-name\": \"settings\",\n \"content-class\": { \"icon-loading\": _vm.loadingList },\n \"navigation-class\": { \"icon-loading\": _vm.loading },\n },\n },\n [\n _c(\"AppNavigation\", {\n scopedSlots: _vm._u([\n {\n key: \"list\",\n fn: function () {\n return [\n _c(\"AppNavigationItem\", {\n attrs: {\n id: \"app-category-your-apps\",\n to: { name: \"apps\" },\n exact: true,\n icon: \"icon-category-installed\",\n title: _vm.t(\"settings\", \"Your apps\"),\n },\n }),\n _vm._v(\" \"),\n _c(\"AppNavigationItem\", {\n attrs: {\n id: \"app-category-enabled\",\n to: {\n name: \"apps-category\",\n params: { category: \"enabled\" },\n },\n icon: \"icon-category-enabled\",\n title: _vm.t(\"settings\", \"Active apps\"),\n },\n }),\n _vm._v(\" \"),\n _c(\"AppNavigationItem\", {\n attrs: {\n id: \"app-category-disabled\",\n to: {\n name: \"apps-category\",\n params: { category: \"disabled\" },\n },\n icon: \"icon-category-disabled\",\n title: _vm.t(\"settings\", \"Disabled apps\"),\n },\n }),\n _vm._v(\" \"),\n _vm.updateCount > 0\n ? _c(\n \"AppNavigationItem\",\n {\n attrs: {\n id: \"app-category-updates\",\n to: {\n name: \"apps-category\",\n params: { category: \"updates\" },\n },\n icon: \"icon-download\",\n title: _vm.t(\"settings\", \"Updates\"),\n },\n },\n [\n _c(\n \"AppNavigationCounter\",\n { attrs: { slot: \"counter\" }, slot: \"counter\" },\n [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\" +\n _vm._s(_vm.updateCount) +\n \"\\n\\t\\t\\t\\t\"\n ),\n ]\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"AppNavigationItem\", {\n attrs: {\n id: \"app-category-your-bundles\",\n to: {\n name: \"apps-category\",\n params: { category: \"app-bundles\" },\n },\n icon: \"icon-category-app-bundles\",\n title: _vm.t(\"settings\", \"App bundles\"),\n },\n }),\n _vm._v(\" \"),\n _c(\"AppNavigationSpacer\"),\n _vm._v(\" \"),\n _vm.settings.appstoreEnabled\n ? [\n _c(\"AppNavigationItem\", {\n attrs: {\n id: \"app-category-featured\",\n to: {\n name: \"apps-category\",\n params: { category: \"featured\" },\n },\n icon: \"icon-favorite\",\n title: _vm.t(\"settings\", \"Featured apps\"),\n },\n }),\n _vm._v(\" \"),\n _vm._l(_vm.categories, function (cat) {\n return _c(\"AppNavigationItem\", {\n key: \"icon-category-\" + cat.ident,\n attrs: {\n icon: \"icon-category-\" + cat.ident,\n to: {\n name: \"apps-category\",\n params: { category: cat.ident },\n },\n title: cat.displayName,\n },\n })\n }),\n ]\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"AppNavigationItem\", {\n attrs: {\n id: \"app-developer-docs\",\n href: \"settings.developerDocumentation\",\n title: _vm.t(\"settings\", \"Developer documentation\") + \" ↗\",\n },\n }),\n ]\n },\n proxy: true,\n },\n ]),\n }),\n _vm._v(\" \"),\n _c(\n \"AppContent\",\n {\n staticClass: \"app-settings-content\",\n class: { \"icon-loading\": _vm.loadingList },\n },\n [\n _c(\"AppList\", {\n attrs: {\n category: _vm.category,\n app: _vm.app,\n search: _vm.searchQuery,\n },\n }),\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.id && _vm.app\n ? _c(\n \"AppSidebar\",\n _vm._b(\n {\n class: {\n \"app-sidebar--without-background\": !_vm.appSidebar.background,\n },\n on: { close: _vm.hideAppDetails },\n scopedSlots: _vm._u(\n [\n !_vm.appSidebar.background\n ? {\n key: \"header\",\n fn: function () {\n return [\n _c(\"div\", {\n staticClass:\n \"app-sidebar-header__figure--default-app-icon icon-settings-dark\",\n }),\n ]\n },\n proxy: true,\n }\n : null,\n {\n key: \"description\",\n fn: function () {\n return [\n _vm.app.level === 300 ||\n _vm.app.level === 200 ||\n _vm.hasRating\n ? _c(\n \"div\",\n { staticClass: \"app-level\" },\n [\n _vm.app.level === 300\n ? _c(\n \"span\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.t(\n \"settings\",\n \"This app is supported via your current Nextcloud subscription.\"\n ),\n expression:\n \"t('settings', 'This app is supported via your current Nextcloud subscription.')\",\n modifiers: { auto: true },\n },\n ],\n staticClass:\n \"supported icon-checkmark-color\",\n },\n [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\" +\n _vm._s(\n _vm.t(\"settings\", \"Supported\")\n )\n ),\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.level === 200\n ? _c(\n \"span\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.t(\n \"settings\",\n \"Featured apps are developed by and within the community. They offer central functionality and are ready for production use.\"\n ),\n expression:\n \"t('settings', 'Featured apps are developed by and within the community. They offer central functionality and are ready for production use.')\",\n modifiers: { auto: true },\n },\n ],\n staticClass:\n \"official icon-checkmark\",\n },\n [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\" +\n _vm._s(\n _vm.t(\"settings\", \"Featured\")\n )\n ),\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.hasRating\n ? _c(\"AppScore\", {\n attrs: {\n score:\n _vm.app.appstoreData.ratingOverall,\n },\n })\n : _vm._e(),\n ],\n 1\n )\n : _vm._e(),\n ]\n },\n proxy: true,\n },\n ],\n null,\n true\n ),\n },\n \"AppSidebar\",\n _vm.appSidebar,\n false\n ),\n [\n _vm._v(\" \"),\n _vm._v(\" \"),\n _c(\n \"AppSidebarTab\",\n {\n attrs: {\n id: \"desc\",\n icon: \"icon-category-office\",\n name: _vm.t(\"settings\", \"Details\"),\n order: 0,\n },\n },\n [_c(\"AppDetails\", { attrs: { app: _vm.app } })],\n 1\n ),\n _vm._v(\" \"),\n _vm.app.appstoreData &&\n _vm.app.releases[0].translations.en.changelog\n ? _c(\n \"AppSidebarTab\",\n {\n attrs: {\n id: \"desca\",\n icon: \"icon-category-organization\",\n name: _vm.t(\"settings\", \"Changelog\"),\n order: 1,\n },\n },\n _vm._l(_vm.app.releases, function (release) {\n return _c(\n \"div\",\n {\n key: release.version,\n staticClass: \"app-sidebar-tabs__release\",\n },\n [\n _c(\"h2\", [_vm._v(_vm._s(release.version))]),\n _vm._v(\" \"),\n _vm.changelog(release)\n ? _c(\"Markdown\", {\n attrs: { text: _vm.changelog(release) },\n })\n : _vm._e(),\n ],\n 1\n )\n }),\n 0\n )\n : _vm._e(),\n ],\n 1\n )\n : _vm._e(),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"],"names":[],"sourceRoot":""} \ No newline at end of file
+{"version":3,"file":"settings-apps-settings-apps.js?v=a5f2375a4af256153b26","sources":["webpack:///nextcloud/apps/settings/src/mixins/AppManagement.js","webpack:///nextcloud/apps/settings/src/components/AppDetails.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/AppList.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/AppList/AppItem.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/AppList/AppScore.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/Markdown.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/PrefixMixin.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/SvgFilterMixin.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/views/Apps.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/AppDetails.vue?vue&type=style&index=0&id=59a92e62&scoped=true&lang=scss&","webpack:///nextcloud/apps/settings/src/components/Markdown.vue?vue&type=style&index=0&id=11f4a1b0&scoped=true&lang=scss&","webpack:///nextcloud/apps/settings/src/views/Apps.vue?vue&type=style&index=0&id=d3714d0a&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/AppList/AppItem.vue?vue&type=style&index=0&id=429da85a&scoped=true&lang=css&","webpack://nextcloud/./apps/settings/src/components/AppDetails.vue?5e97","webpack://nextcloud/./apps/settings/src/components/Markdown.vue?6cce","webpack://nextcloud/./apps/settings/src/views/Apps.vue?642f","webpack://nextcloud/./apps/settings/src/components/AppList/AppItem.vue?9bb8","webpack:///nextcloud/apps/settings/src/components/AppDetails.vue","webpack:///nextcloud/apps/settings/src/components/AppList.vue","webpack:///nextcloud/apps/settings/src/components/AppList/AppItem.vue","webpack:///nextcloud/apps/settings/src/components/AppList/AppScore.vue","webpack:///nextcloud/apps/settings/src/components/Markdown.vue","webpack:///nextcloud/apps/settings/src/components/PrefixMixin.vue","webpack:///nextcloud/apps/settings/src/components/SvgFilterMixin.vue","webpack:///nextcloud/apps/settings/src/views/Apps.vue","webpack://nextcloud/./apps/settings/src/components/AppDetails.vue?9a02","webpack://nextcloud/./apps/settings/src/components/AppList.vue?a32f","webpack://nextcloud/./apps/settings/src/components/AppList/AppItem.vue?32ec","webpack://nextcloud/./apps/settings/src/components/AppList/AppScore.vue?18e4","webpack://nextcloud/./apps/settings/src/components/Markdown.vue?5ce2","webpack://nextcloud/./apps/settings/src/components/PrefixMixin.vue?c3f5","webpack://nextcloud/./apps/settings/src/components/SvgFilterMixin.vue?3cde","webpack://nextcloud/./apps/settings/src/views/Apps.vue?b34b","webpack:///nextcloud/apps/settings/src/components/AppDetails.vue?vue&type=template&id=59a92e62&scoped=true&","webpack:///nextcloud/apps/settings/src/components/AppList.vue?vue&type=template&id=6d1e92a4&","webpack:///nextcloud/apps/settings/src/components/AppList/AppItem.vue?vue&type=template&id=429da85a&scoped=true&","webpack:///nextcloud/apps/settings/src/components/AppList/AppScore.vue?vue&type=template&id=0ecce4fc&","webpack:///nextcloud/apps/settings/src/components/Markdown.vue?vue&type=template&id=11f4a1b0&scoped=true&","webpack:///nextcloud/apps/settings/src/views/Apps.vue?vue&type=template&id=d3714d0a&scoped=true&"],"sourcesContent":["/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nexport default {\n computed: {\n appGroups: function appGroups() {\n return this.app.groups.map(function (group) {\n return {\n id: group,\n name: group\n };\n });\n },\n installing: function installing() {\n return this.$store.getters.loading('install');\n },\n isLoading: function isLoading() {\n return this.app && this.$store.getters.loading(this.app.id);\n },\n enableButtonText: function enableButtonText() {\n if (this.app.needsDownload) {\n return t('settings', 'Download and enable');\n }\n\n return t('settings', 'Enable');\n },\n forceEnableButtonText: function forceEnableButtonText() {\n if (this.app.needsDownload) {\n return t('settings', 'Enable untested app');\n }\n\n return t('settings', 'Enable untested app');\n },\n enableButtonTooltip: function enableButtonTooltip() {\n if (this.app.needsDownload) {\n return t('settings', 'The app will be downloaded from the App Store');\n }\n\n return false;\n },\n forceEnableButtonTooltip: function forceEnableButtonTooltip() {\n var base = t('settings', 'This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected.');\n\n if (this.app.needsDownload) {\n return base + ' ' + t('settings', 'The app will be downloaded from the App Store');\n }\n\n return base;\n }\n },\n data: function data() {\n return {\n groupCheckedAppsData: false\n };\n },\n mounted: function mounted() {\n if (this.app && this.app.groups && this.app.groups.length > 0) {\n this.groupCheckedAppsData = true;\n }\n },\n methods: {\n asyncFindGroup: function asyncFindGroup(query) {\n return this.$store.dispatch('getGroups', {\n search: query,\n limit: 5,\n offset: 0\n });\n },\n isLimitedToGroups: function isLimitedToGroups(app) {\n if (this.app.groups.length || this.groupCheckedAppsData) {\n return true;\n }\n\n return false;\n },\n setGroupLimit: function setGroupLimit() {\n if (!this.groupCheckedAppsData) {\n this.$store.dispatch('enableApp', {\n appId: this.app.id,\n groups: []\n });\n }\n },\n canLimitToGroups: function canLimitToGroups(app) {\n if (app.types && app.types.includes('filesystem') || app.types.includes('prelogin') || app.types.includes('authentication') || app.types.includes('logging') || app.types.includes('prevent_group_restriction')) {\n return false;\n }\n\n return true;\n },\n addGroupLimitation: function addGroupLimitation(group) {\n var groups = this.app.groups.concat([]).concat([group.id]);\n this.$store.dispatch('enableApp', {\n appId: this.app.id,\n groups: groups\n });\n },\n removeGroupLimitation: function removeGroupLimitation(group) {\n var currentGroups = this.app.groups.concat([]);\n var index = currentGroups.indexOf(group.id);\n\n if (index > -1) {\n currentGroups.splice(index, 1);\n }\n\n this.$store.dispatch('enableApp', {\n appId: this.app.id,\n groups: currentGroups\n });\n },\n forceEnable: function forceEnable(appId) {\n this.$store.dispatch('forceEnableApp', {\n appId: appId,\n groups: []\n }).then(function (response) {\n OC.Settings.Apps.rebuildNavigation();\n }).catch(function (error) {\n OC.Notification.show(error);\n });\n },\n enable: function enable(appId) {\n this.$store.dispatch('enableApp', {\n appId: appId,\n groups: []\n }).then(function (response) {\n OC.Settings.Apps.rebuildNavigation();\n }).catch(function (error) {\n OC.Notification.show(error);\n });\n },\n disable: function disable(appId) {\n this.$store.dispatch('disableApp', {\n appId: appId\n }).then(function (response) {\n OC.Settings.Apps.rebuildNavigation();\n }).catch(function (error) {\n OC.Notification.show(error);\n });\n },\n remove: function remove(appId) {\n this.$store.dispatch('uninstallApp', {\n appId: appId\n }).then(function (response) {\n OC.Settings.Apps.rebuildNavigation();\n }).catch(function (error) {\n OC.Notification.show(error);\n });\n },\n install: function install(appId) {\n this.$store.dispatch('enableApp', {\n appId: appId\n }).then(function (response) {\n OC.Settings.Apps.rebuildNavigation();\n }).catch(function (error) {\n OC.Notification.show(error);\n });\n },\n update: function update(appId) {\n this.$store.dispatch('updateApp', {\n appId: appId\n }).then(function (response) {\n OC.Settings.Apps.rebuildNavigation();\n }).catch(function (error) {\n OC.Notification.show(error);\n });\n }\n }\n};","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport Multiselect from '@nextcloud/vue/dist/Components/Multiselect';\nimport AppManagement from '../mixins/AppManagement';\nimport PrefixMixin from './PrefixMixin';\nimport Markdown from './Markdown';\nexport default {\n name: 'AppDetails',\n components: {\n Multiselect: Multiselect,\n Markdown: Markdown\n },\n mixins: [AppManagement, PrefixMixin],\n props: {\n app: {\n type: Object,\n required: true\n }\n },\n data: function data() {\n return {\n groupCheckedAppsData: false\n };\n },\n computed: {\n appstoreUrl: function appstoreUrl() {\n return \"https://apps.nextcloud.com/apps/\".concat(this.app.id);\n },\n licence: function licence() {\n if (this.app.licence) {\n return t('settings', '{license}-licensed', {\n license: ('' + this.app.licence).toUpperCase()\n });\n }\n\n return null;\n },\n author: function author() {\n if (typeof this.app.author === 'string') {\n return [{\n '@value': this.app.author\n }];\n }\n\n if (this.app.author['@value']) {\n return [this.app.author];\n }\n\n return this.app.author;\n },\n appGroups: function appGroups() {\n return this.app.groups.map(function (group) {\n return {\n id: group,\n name: group\n };\n });\n },\n groups: function groups() {\n return this.$store.getters.getGroups.filter(function (group) {\n return group.id !== 'disabled';\n }).sort(function (a, b) {\n return a.name.localeCompare(b.name);\n });\n }\n },\n mounted: function mounted() {\n if (this.app.groups.length > 0) {\n this.groupCheckedAppsData = true;\n }\n }\n};","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport AppItem from './AppList/AppItem';\nimport PrefixMixin from './PrefixMixin';\nimport pLimit from 'p-limit';\nexport default {\n name: 'AppList',\n components: {\n AppItem: AppItem\n },\n mixins: [PrefixMixin],\n props: ['category', 'app', 'search'],\n computed: {\n counter: function counter() {\n return this.apps.filter(function (app) {\n return app.update;\n }).length;\n },\n loading: function loading() {\n return this.$store.getters.loading('list');\n },\n hasPendingUpdate: function hasPendingUpdate() {\n return this.apps.filter(function (app) {\n return app.update;\n }).length > 1;\n },\n showUpdateAll: function showUpdateAll() {\n return this.hasPendingUpdate && ['installed', 'updates'].includes(this.category);\n },\n apps: function apps() {\n var _this = this;\n\n var apps = this.$store.getters.getAllApps.filter(function (app) {\n return app.name.toLowerCase().search(_this.search.toLowerCase()) !== -1;\n }).sort(function (a, b) {\n var sortStringA = '' + (a.active ? 0 : 1) + (a.update ? 0 : 1) + a.name;\n var sortStringB = '' + (b.active ? 0 : 1) + (b.update ? 0 : 1) + b.name;\n return OC.Util.naturalSortCompare(sortStringA, sortStringB);\n });\n\n if (this.category === 'installed') {\n return apps.filter(function (app) {\n return app.installed;\n });\n }\n\n if (this.category === 'enabled') {\n return apps.filter(function (app) {\n return app.active && app.installed;\n });\n }\n\n if (this.category === 'disabled') {\n return apps.filter(function (app) {\n return !app.active && app.installed;\n });\n }\n\n if (this.category === 'app-bundles') {\n return apps.filter(function (app) {\n return app.bundles;\n });\n }\n\n if (this.category === 'updates') {\n return apps.filter(function (app) {\n return app.update;\n });\n }\n\n if (this.category === 'featured') {\n return apps.filter(function (app) {\n return app.level === 200;\n });\n } // filter app store categories\n\n\n return apps.filter(function (app) {\n return app.appstore && app.category !== undefined && (app.category === _this.category || app.category.indexOf(_this.category) > -1);\n });\n },\n bundles: function bundles() {\n var _this2 = this;\n\n return this.$store.getters.getServerData.bundles.filter(function (bundle) {\n return _this2.bundleApps(bundle.id).length > 0;\n });\n },\n bundleApps: function bundleApps() {\n return function (bundle) {\n return this.$store.getters.getAllApps.filter(function (app) {\n return app.bundleIds !== undefined && app.bundleIds.includes(bundle);\n });\n };\n },\n searchApps: function searchApps() {\n var _this3 = this;\n\n if (this.search === '') {\n return [];\n }\n\n return this.$store.getters.getAllApps.filter(function (app) {\n if (app.name.toLowerCase().search(_this3.search.toLowerCase()) !== -1) {\n return !_this3.apps.find(function (_app) {\n return _app.id === app.id;\n });\n }\n\n return false;\n });\n },\n useAppStoreView: function useAppStoreView() {\n return !this.useListView && !this.useBundleView;\n },\n useListView: function useListView() {\n return this.category === 'installed' || this.category === 'enabled' || this.category === 'disabled' || this.category === 'updates' || this.category === 'featured';\n },\n useBundleView: function useBundleView() {\n return this.category === 'app-bundles';\n },\n allBundlesEnabled: function allBundlesEnabled() {\n var self = this;\n return function (id) {\n return self.bundleApps(id).filter(function (app) {\n return !app.active;\n }).length === 0;\n };\n },\n bundleToggleText: function bundleToggleText() {\n var self = this;\n return function (id) {\n if (self.allBundlesEnabled(id)) {\n return t('settings', 'Disable all');\n }\n\n return t('settings', 'Enable all');\n };\n }\n },\n methods: {\n toggleBundle: function toggleBundle(id) {\n if (this.allBundlesEnabled(id)) {\n return this.disableBundle(id);\n }\n\n return this.enableBundle(id);\n },\n enableBundle: function enableBundle(id) {\n var apps = this.bundleApps(id).map(function (app) {\n return app.id;\n });\n this.$store.dispatch('enableApp', {\n appId: apps,\n groups: []\n }).catch(function (error) {\n console.error(error);\n OC.Notification.show(error);\n });\n },\n disableBundle: function disableBundle(id) {\n var apps = this.bundleApps(id).map(function (app) {\n return app.id;\n });\n this.$store.dispatch('disableApp', {\n appId: apps,\n groups: []\n }).catch(function (error) {\n OC.Notification.show(error);\n });\n },\n updateAll: function updateAll() {\n var _this4 = this;\n\n var limit = pLimit(1);\n this.apps.filter(function (app) {\n return app.update;\n }).map(function (app) {\n return limit(function () {\n return _this4.$store.dispatch('updateApp', {\n appId: app.id\n });\n });\n });\n }\n }\n};","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport AppScore from './AppScore';\nimport AppManagement from '../../mixins/AppManagement';\nimport SvgFilterMixin from '../SvgFilterMixin';\nexport default {\n name: 'AppItem',\n components: {\n AppScore: AppScore\n },\n mixins: [AppManagement, SvgFilterMixin],\n props: {\n app: {},\n category: {},\n listView: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n isSelected: false,\n scrolled: false,\n screenshotLoaded: false\n };\n },\n computed: {\n hasRating: function hasRating() {\n return this.app.appstoreData && this.app.appstoreData.ratingNumOverall > 5;\n }\n },\n watch: {\n '$route.params.id': function $routeParamsId(id) {\n this.isSelected = this.app.id === id;\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n this.isSelected = this.app.id === this.$route.params.id;\n\n if (this.app.releases && this.app.screenshot) {\n var image = new Image();\n\n image.onload = function (e) {\n _this.screenshotLoaded = true;\n };\n\n image.src = this.app.screenshot;\n }\n },\n watchers: {},\n methods: {\n showAppDetails: function showAppDetails(event) {\n var _this2 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(event.currentTarget.tagName === 'INPUT' || event.currentTarget.tagName === 'A')) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 2:\n _context.prev = 2;\n _context.next = 5;\n return _this2.$router.push({\n name: 'apps-details',\n params: {\n category: _this2.category,\n id: _this2.app.id\n }\n });\n\n case 5:\n _context.next = 9;\n break;\n\n case 7:\n _context.prev = 7;\n _context.t0 = _context[\"catch\"](2);\n\n case 9:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[2, 7]]);\n }))();\n },\n prefix: function prefix(_prefix, content) {\n return _prefix + '_' + content;\n }\n }\n};","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport { imagePath } from '@nextcloud/router';\nexport default {\n name: 'AppScore',\n props: ['score'],\n computed: {\n scoreImage: function scoreImage() {\n var score = Math.round(this.score * 10);\n var imageName = 'rating/s' + score + '.svg';\n return imagePath('core', imageName);\n }\n }\n};","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport { marked } from 'marked';\nimport dompurify from 'dompurify';\nexport default {\n name: 'Markdown',\n props: {\n text: {\n type: String,\n default: ''\n }\n },\n computed: {\n renderMarkdown: function renderMarkdown() {\n var renderer = new marked.Renderer();\n\n renderer.link = function (href, title, text) {\n var prot;\n\n try {\n prot = decodeURIComponent(unescape(href)).replace(/[^\\w:]/g, '').toLowerCase();\n } catch (e) {\n return '';\n }\n\n if (prot.indexOf('http:') !== 0 && prot.indexOf('https:') !== 0) {\n return '';\n }\n\n var out = '<a href=\"' + href + '\" rel=\"noreferrer noopener\"';\n\n if (title) {\n out += ' title=\"' + title + '\"';\n }\n\n out += '>' + text + '</a>';\n return out;\n };\n\n renderer.image = function (href, title, text) {\n if (text) {\n return text;\n }\n\n return title;\n };\n\n renderer.blockquote = function (quote) {\n return quote;\n };\n\n return dompurify.sanitize(marked(this.text.trim(), {\n renderer: renderer,\n gfm: false,\n highlight: false,\n tables: false,\n breaks: false,\n pedantic: false,\n sanitize: true,\n smartLists: true,\n smartypants: false\n }), {\n SAFE_FOR_JQUERY: true,\n ALLOWED_TAGS: ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'strong', 'p', 'a', 'ul', 'ol', 'li', 'em', 'del', 'blockquote']\n });\n }\n }\n};","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nexport default {\n name: 'PrefixMixin',\n methods: {\n prefix: function prefix(_prefix, content) {\n return _prefix + '_' + content;\n }\n }\n};","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nexport default {\n name: 'SvgFilterMixin',\n data: function data() {\n return {\n filterId: ''\n };\n },\n computed: {\n filterUrl: function filterUrl() {\n return \"url(#\".concat(this.filterId, \")\");\n }\n },\n mounted: function mounted() {\n this.filterId = 'invertIconApps' + Math.floor(Math.random() * 100) + new Date().getSeconds() + new Date().getMilliseconds();\n }\n};","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport { subscribe, unsubscribe } from '@nextcloud/event-bus';\nimport Vue from 'vue';\nimport VueLocalStorage from 'vue-localstorage';\nimport AppContent from '@nextcloud/vue/dist/Components/AppContent';\nimport AppNavigation from '@nextcloud/vue/dist/Components/AppNavigation';\nimport AppNavigationCounter from '@nextcloud/vue/dist/Components/AppNavigationCounter';\nimport AppNavigationItem from '@nextcloud/vue/dist/Components/AppNavigationItem';\nimport AppNavigationSpacer from '@nextcloud/vue/dist/Components/AppNavigationSpacer';\nimport AppSidebar from '@nextcloud/vue/dist/Components/AppSidebar';\nimport AppSidebarTab from '@nextcloud/vue/dist/Components/AppSidebarTab';\nimport Content from '@nextcloud/vue/dist/Components/Content';\nimport AppList from '../components/AppList';\nimport AppDetails from '../components/AppDetails';\nimport AppManagement from '../mixins/AppManagement';\nimport AppScore from '../components/AppList/AppScore';\nimport Markdown from '../components/Markdown';\nVue.use(VueLocalStorage);\nexport default {\n name: 'Apps',\n components: {\n AppContent: AppContent,\n AppDetails: AppDetails,\n AppList: AppList,\n AppNavigation: AppNavigation,\n AppNavigationCounter: AppNavigationCounter,\n AppNavigationItem: AppNavigationItem,\n AppNavigationSpacer: AppNavigationSpacer,\n AppScore: AppScore,\n AppSidebar: AppSidebar,\n AppSidebarTab: AppSidebarTab,\n Content: Content,\n Markdown: Markdown\n },\n mixins: [AppManagement],\n props: {\n category: {\n type: String,\n default: 'installed'\n },\n id: {\n type: String,\n default: ''\n }\n },\n data: function data() {\n return {\n searchQuery: '',\n screenshotLoaded: false\n };\n },\n computed: {\n loading: function loading() {\n return this.$store.getters.loading('categories');\n },\n loadingList: function loadingList() {\n return this.$store.getters.loading('list');\n },\n app: function app() {\n var _this = this;\n\n return this.apps.find(function (app) {\n return app.id === _this.id;\n });\n },\n categories: function categories() {\n return this.$store.getters.getCategories;\n },\n apps: function apps() {\n return this.$store.getters.getAllApps;\n },\n updateCount: function updateCount() {\n return this.$store.getters.getUpdateCount;\n },\n settings: function settings() {\n return this.$store.getters.getServerData;\n },\n hasRating: function hasRating() {\n return this.app.appstoreData && this.app.appstoreData.ratingNumOverall > 5;\n },\n // sidebar app binding\n appSidebar: function appSidebar() {\n var authorName = function authorName(xmlNode) {\n if (xmlNode['@value']) {\n // Complex node (with email or homepage attribute)\n return xmlNode['@value'];\n } // Simple text node\n\n\n return xmlNode;\n };\n\n var author = Array.isArray(this.app.author) ? this.app.author.map(authorName).join(', ') : authorName(this.app.author);\n var license = t('settings', '{license}-licensed', {\n license: ('' + this.app.licence).toUpperCase()\n });\n var subtitle = t('settings', 'by {author}\\n{license}', {\n author: author,\n license: license\n });\n return {\n subtitle: subtitle,\n background: this.app.screenshot && this.screenshotLoaded ? this.app.screenshot : this.app.preview,\n compact: !(this.app.screenshot && this.screenshotLoaded),\n title: this.app.name\n };\n },\n changelog: function changelog() {\n return function (release) {\n return release.translations.en.changelog;\n };\n }\n },\n watch: {\n category: function category() {\n this.searchQuery = '';\n },\n app: function app() {\n var _this$app,\n _this$app2,\n _this2 = this;\n\n this.screenshotLoaded = false;\n\n if ((_this$app = this.app) !== null && _this$app !== void 0 && _this$app.releases && (_this$app2 = this.app) !== null && _this$app2 !== void 0 && _this$app2.screenshot) {\n var image = new Image();\n\n image.onload = function (e) {\n _this2.screenshotLoaded = true;\n };\n\n image.src = this.app.screenshot;\n }\n }\n },\n beforeMount: function beforeMount() {\n this.$store.dispatch('getCategories');\n this.$store.dispatch('getAllApps');\n this.$store.dispatch('getGroups', {\n offset: 0,\n limit: 5\n });\n this.$store.commit('setUpdateCount', this.$store.getters.getServerData.updateCount);\n },\n mounted: function mounted() {\n subscribe('nextcloud:unified-search.search', this.setSearch);\n subscribe('nextcloud:unified-search.reset', this.resetSearch);\n },\n beforeDestroy: function beforeDestroy() {\n unsubscribe('nextcloud:unified-search.search', this.setSearch);\n unsubscribe('nextcloud:unified-search.reset', this.resetSearch);\n },\n methods: {\n setSearch: function setSearch(_ref) {\n var query = _ref.query;\n this.searchQuery = query;\n },\n resetSearch: function resetSearch() {\n this.searchQuery = '';\n },\n hideAppDetails: function hideAppDetails() {\n this.$router.push({\n name: 'apps-category',\n params: {\n category: this.category\n }\n });\n }\n }\n};","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".app-details[data-v-59a92e62] {\\n padding: 20px;\\n}\\n.app-details__actions-manage[data-v-59a92e62] {\\n display: flex;\\n}\\n.app-details__actions-manage input[data-v-59a92e62] {\\n flex: 0 1 auto;\\n min-width: 0;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden;\\n}\\n.app-details__dependencies[data-v-59a92e62] {\\n opacity: 0.7;\\n}\\n.app-details__documentation[data-v-59a92e62] {\\n padding-top: 20px;\\n}\\n.app-details__description[data-v-59a92e62] {\\n padding-top: 20px;\\n}\\n.force[data-v-59a92e62] {\\n color: var(--color-error);\\n border-color: var(--color-error);\\n background: var(--color-main-background);\\n}\\n.force[data-v-59a92e62]:hover,\\n.force[data-v-59a92e62]:active {\\n color: var(--color-main-background);\\n border-color: var(--color-error) !important;\\n background: var(--color-error);\\n}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".settings-markdown[data-v-11f4a1b0] h1,\\n.settings-markdown[data-v-11f4a1b0] h2,\\n.settings-markdown[data-v-11f4a1b0] h3,\\n.settings-markdown[data-v-11f4a1b0] h4,\\n.settings-markdown[data-v-11f4a1b0] h5,\\n.settings-markdown[data-v-11f4a1b0] h6 {\\n font-weight: 600;\\n line-height: 120%;\\n margin-top: 24px;\\n margin-bottom: 12px;\\n color: var(--color-main-text);\\n}\\n.settings-markdown[data-v-11f4a1b0] h1 {\\n font-size: 36px;\\n margin-top: 48px;\\n}\\n.settings-markdown[data-v-11f4a1b0] h2 {\\n font-size: 28px;\\n margin-top: 48px;\\n}\\n.settings-markdown[data-v-11f4a1b0] h3 {\\n font-size: 24px;\\n}\\n.settings-markdown[data-v-11f4a1b0] h4 {\\n font-size: 21px;\\n}\\n.settings-markdown[data-v-11f4a1b0] h5 {\\n font-size: 17px;\\n}\\n.settings-markdown[data-v-11f4a1b0] h6 {\\n font-size: var(--default-font-size);\\n}\\n.settings-markdown[data-v-11f4a1b0] pre {\\n white-space: pre;\\n overflow-x: auto;\\n background-color: var(--color-background-dark);\\n border-radius: var(--border-radius);\\n padding: 1em 1.3em;\\n margin-bottom: 1em;\\n}\\n.settings-markdown[data-v-11f4a1b0] p code {\\n background-color: var(--color-background-dark);\\n border-radius: var(--border-radius);\\n padding: 0.1em 0.3em;\\n}\\n.settings-markdown[data-v-11f4a1b0] li {\\n position: relative;\\n}\\n.settings-markdown[data-v-11f4a1b0] ul, .settings-markdown[data-v-11f4a1b0] ol {\\n padding-left: 10px;\\n margin-left: 10px;\\n}\\n.settings-markdown[data-v-11f4a1b0] ul li {\\n list-style-type: disc;\\n}\\n.settings-markdown[data-v-11f4a1b0] ul > li > ul > li {\\n list-style-type: circle;\\n}\\n.settings-markdown[data-v-11f4a1b0] ul > li > ul > li ul li {\\n list-style-type: square;\\n}\\n.settings-markdown[data-v-11f4a1b0] blockquote {\\n padding-left: 1em;\\n border-left: 4px solid var(--color-primary-element);\\n color: var(--color-text-maxcontrast);\\n margin-left: 0;\\n margin-right: 0;\\n}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".app-sidebar[data-v-d3714d0a]:not(.app-sidebar--without-background) :not(.app-sidebar-header--compact) .app-sidebar-header__figure {\\n background-size: cover;\\n}\\n.app-sidebar[data-v-d3714d0a]:not(.app-sidebar--without-background) .app-sidebar-header--compact .app-sidebar-header__figure {\\n background-size: 32px;\\n filter: invert(1);\\n}\\n.app-sidebar[data-v-d3714d0a].app-sidebar--without-background .app-sidebar-header__figure {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n}\\n.app-sidebar[data-v-d3714d0a].app-sidebar--without-background .app-sidebar-header__figure--default-app-icon {\\n width: 32px;\\n height: 32px;\\n background-size: 32px;\\n}\\n.app-sidebar[data-v-d3714d0a] .app-sidebar-header__desc .app-sidebar-header__subtitle {\\n overflow: visible !important;\\n height: auto;\\n white-space: normal !important;\\n line-height: 16px;\\n}\\n.app-sidebar[data-v-d3714d0a] .app-sidebar-header__action {\\n margin: 0 20px;\\n}\\n.app-sidebar[data-v-d3714d0a] .app-sidebar-header__action input {\\n margin: 3px;\\n}\\n.app-sidebar-tabs__release h2[data-v-d3714d0a] {\\n border-bottom: 1px solid var(--color-border);\\n}\\n.app-sidebar-tabs__release[data-v-d3714d0a] h3 {\\n font-size: 20px;\\n}\\n.app-sidebar-tabs__release[data-v-d3714d0a] h4 {\\n font-size: 17px;\\n}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.force[data-v-429da85a] {\\n\\tbackground: var(--color-main-background);\\n\\tborder-color: var(--color-error);\\n\\tcolor: var(--color-error);\\n}\\n.force[data-v-429da85a]:hover,\\n.force[data-v-429da85a]:active {\\n\\tbackground: var(--color-error);\\n\\tborder-color: var(--color-error) !important;\\n\\tcolor: var(--color-main-background);\\n}\\n\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetails.vue?vue&type=style&index=0&id=59a92e62&scoped=true&lang=scss&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=style&index=0&id=11f4a1b0&scoped=true&lang=scss&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Apps.vue?vue&type=style&index=0&id=d3714d0a&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppItem.vue?vue&type=style&index=0&id=429da85a&scoped=true&lang=css&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./AppDetails.vue?vue&type=template&id=59a92e62&scoped=true&\"\nimport script from \"./AppDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./AppDetails.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AppDetails.vue?vue&type=style&index=0&id=59a92e62&scoped=true&lang=scss&\"\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 \"59a92e62\",\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/srv/www/htdocs/server/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('59a92e62')) {\n api.createRecord('59a92e62', component.options)\n } else {\n api.reload('59a92e62', component.options)\n }\n module.hot.accept(\"./AppDetails.vue?vue&type=template&id=59a92e62&scoped=true&\", function () {\n api.rerender('59a92e62', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"apps/settings/src/components/AppDetails.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./AppList.vue?vue&type=template&id=6d1e92a4&\"\nimport script from \"./AppList.vue?vue&type=script&lang=js&\"\nexport * from \"./AppList.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\n/* hot reload */\nif (module.hot) {\n var api = require(\"/srv/www/htdocs/server/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('6d1e92a4')) {\n api.createRecord('6d1e92a4', component.options)\n } else {\n api.reload('6d1e92a4', component.options)\n }\n module.hot.accept(\"./AppList.vue?vue&type=template&id=6d1e92a4&\", function () {\n api.rerender('6d1e92a4', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"apps/settings/src/components/AppList.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./AppItem.vue?vue&type=template&id=429da85a&scoped=true&\"\nimport script from \"./AppItem.vue?vue&type=script&lang=js&\"\nexport * from \"./AppItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AppItem.vue?vue&type=style&index=0&id=429da85a&scoped=true&lang=css&\"\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 \"429da85a\",\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/srv/www/htdocs/server/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('429da85a')) {\n api.createRecord('429da85a', component.options)\n } else {\n api.reload('429da85a', component.options)\n }\n module.hot.accept(\"./AppItem.vue?vue&type=template&id=429da85a&scoped=true&\", function () {\n api.rerender('429da85a', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"apps/settings/src/components/AppList/AppItem.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./AppScore.vue?vue&type=template&id=0ecce4fc&\"\nimport script from \"./AppScore.vue?vue&type=script&lang=js&\"\nexport * from \"./AppScore.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\n/* hot reload */\nif (module.hot) {\n var api = require(\"/srv/www/htdocs/server/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('0ecce4fc')) {\n api.createRecord('0ecce4fc', component.options)\n } else {\n api.reload('0ecce4fc', component.options)\n }\n module.hot.accept(\"./AppScore.vue?vue&type=template&id=0ecce4fc&\", function () {\n api.rerender('0ecce4fc', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"apps/settings/src/components/AppList/AppScore.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./Markdown.vue?vue&type=template&id=11f4a1b0&scoped=true&\"\nimport script from \"./Markdown.vue?vue&type=script&lang=js&\"\nexport * from \"./Markdown.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Markdown.vue?vue&type=style&index=0&id=11f4a1b0&scoped=true&lang=scss&\"\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 \"11f4a1b0\",\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/srv/www/htdocs/server/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('11f4a1b0')) {\n api.createRecord('11f4a1b0', component.options)\n } else {\n api.reload('11f4a1b0', component.options)\n }\n module.hot.accept(\"./Markdown.vue?vue&type=template&id=11f4a1b0&scoped=true&\", function () {\n api.rerender('11f4a1b0', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"apps/settings/src/components/Markdown.vue\"\nexport default component.exports","var render, staticRenderFns\nimport script from \"./PrefixMixin.vue?vue&type=script&lang=js&\"\nexport * from \"./PrefixMixin.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\n/* hot reload */\nif (module.hot) {\n var api = require(\"/srv/www/htdocs/server/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('b4ed0c44')) {\n api.createRecord('b4ed0c44', component.options)\n } else {\n api.reload('b4ed0c44', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"apps/settings/src/components/PrefixMixin.vue\"\nexport default component.exports","var render, staticRenderFns\nimport script from \"./SvgFilterMixin.vue?vue&type=script&lang=js&\"\nexport * from \"./SvgFilterMixin.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\n/* hot reload */\nif (module.hot) {\n var api = require(\"/srv/www/htdocs/server/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('9219d434')) {\n api.createRecord('9219d434', component.options)\n } else {\n api.reload('9219d434', component.options)\n }\n \n }\n}\ncomponent.options.__file = \"apps/settings/src/components/SvgFilterMixin.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./Apps.vue?vue&type=template&id=d3714d0a&scoped=true&\"\nimport script from \"./Apps.vue?vue&type=script&lang=js&\"\nexport * from \"./Apps.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Apps.vue?vue&type=style&index=0&id=d3714d0a&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 \"d3714d0a\",\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/srv/www/htdocs/server/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('d3714d0a')) {\n api.createRecord('d3714d0a', component.options)\n } else {\n api.reload('d3714d0a', component.options)\n }\n module.hot.accept(\"./Apps.vue?vue&type=template&id=d3714d0a&scoped=true&\", function () {\n api.rerender('d3714d0a', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"apps/settings/src/views/Apps.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDetails.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!./AppDetails.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!./AppList.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!./AppList.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!./AppItem.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!./AppItem.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!./AppScore.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!./AppScore.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!./Markdown.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!./Markdown.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!./PrefixMixin.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!./PrefixMixin.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!./SvgFilterMixin.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!./SvgFilterMixin.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!./Apps.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!./Apps.vue?vue&type=script&lang=js&\"","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"app-details\" },\n [\n _c(\"div\", { staticClass: \"app-details__actions\" }, [\n _vm.app.active && _vm.canLimitToGroups(_vm.app)\n ? _c(\n \"div\",\n { staticClass: \"app-details__actions-groups\" },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.groupCheckedAppsData,\n expression: \"groupCheckedAppsData\",\n },\n ],\n staticClass: \"groups-enable__checkbox checkbox\",\n attrs: {\n id: _vm.prefix(\"groups_enable\", _vm.app.id),\n type: \"checkbox\",\n },\n domProps: {\n value: _vm.app.id,\n checked: Array.isArray(_vm.groupCheckedAppsData)\n ? _vm._i(_vm.groupCheckedAppsData, _vm.app.id) > -1\n : _vm.groupCheckedAppsData,\n },\n on: {\n change: [\n function ($event) {\n var $$a = _vm.groupCheckedAppsData,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = _vm.app.id,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n (_vm.groupCheckedAppsData = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.groupCheckedAppsData = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.groupCheckedAppsData = $$c\n }\n },\n _vm.setGroupLimit,\n ],\n },\n }),\n _vm._v(\" \"),\n _c(\n \"label\",\n { attrs: { for: _vm.prefix(\"groups_enable\", _vm.app.id) } },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Limit to groups\")))]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"group_select\",\n attrs: {\n type: \"hidden\",\n title: _vm.t(\"settings\", \"All\"),\n value: \"\",\n },\n }),\n _vm._v(\" \"),\n _vm.isLimitedToGroups(_vm.app)\n ? _c(\n \"Multiselect\",\n {\n staticClass: \"multiselect-vue\",\n attrs: {\n options: _vm.groups,\n value: _vm.appGroups,\n \"options-limit\": 5,\n placeholder: _vm.t(\n \"settings\",\n \"Limit app usage to groups\"\n ),\n label: \"name\",\n \"track-by\": \"id\",\n multiple: true,\n \"close-on-select\": false,\n \"tag-width\": 60,\n },\n on: {\n select: _vm.addGroupLimitation,\n remove: _vm.removeGroupLimitation,\n \"search-change\": _vm.asyncFindGroup,\n },\n },\n [\n _c(\n \"span\",\n { attrs: { slot: \"noResult\" }, slot: \"noResult\" },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"No results\")))]\n ),\n ]\n )\n : _vm._e(),\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"app-details__actions-manage\" }, [\n _vm.app.update\n ? _c(\"input\", {\n staticClass: \"update primary\",\n attrs: {\n type: \"button\",\n value: _vm.t(\"settings\", \"Update to {version}\", {\n version: _vm.app.update,\n }),\n disabled: _vm.installing || _vm.isLoading,\n },\n on: {\n click: function ($event) {\n return _vm.update(_vm.app.id)\n },\n },\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.canUnInstall\n ? _c(\"input\", {\n staticClass: \"uninstall\",\n attrs: {\n type: \"button\",\n value: _vm.t(\"settings\", \"Remove\"),\n disabled: _vm.installing || _vm.isLoading,\n },\n on: {\n click: function ($event) {\n return _vm.remove(_vm.app.id)\n },\n },\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.active\n ? _c(\"input\", {\n staticClass: \"enable\",\n attrs: {\n type: \"button\",\n value: _vm.t(\"settings\", \"Disable\"),\n disabled: _vm.installing || _vm.isLoading,\n },\n on: {\n click: function ($event) {\n return _vm.disable(_vm.app.id)\n },\n },\n })\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.app.active && (_vm.app.canInstall || _vm.app.isCompatible)\n ? _c(\"input\", {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.enableButtonTooltip,\n expression: \"enableButtonTooltip\",\n modifiers: { auto: true },\n },\n ],\n staticClass: \"enable primary\",\n attrs: {\n type: \"button\",\n value: _vm.enableButtonText,\n disabled:\n !_vm.app.canInstall || _vm.installing || _vm.isLoading,\n },\n on: {\n click: function ($event) {\n return _vm.enable(_vm.app.id)\n },\n },\n })\n : !_vm.app.active && !_vm.app.canInstall\n ? _c(\"input\", {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.forceEnableButtonTooltip,\n expression: \"forceEnableButtonTooltip\",\n modifiers: { auto: true },\n },\n ],\n staticClass: \"enable force\",\n attrs: {\n type: \"button\",\n value: _vm.forceEnableButtonText,\n disabled: _vm.installing || _vm.isLoading,\n },\n on: {\n click: function ($event) {\n return _vm.forceEnable(_vm.app.id)\n },\n },\n })\n : _vm._e(),\n ]),\n ]),\n _vm._v(\" \"),\n _c(\"ul\", { staticClass: \"app-details__dependencies\" }, [\n _vm.app.missingMinOwnCloudVersion\n ? _c(\"li\", [\n _vm._v(\n \"\\n\\t\\t\\t\" +\n _vm._s(\n _vm.t(\n \"settings\",\n \"This app has no minimum Nextcloud version assigned. This will be an error in the future.\"\n )\n ) +\n \"\\n\\t\\t\"\n ),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.missingMaxOwnCloudVersion\n ? _c(\"li\", [\n _vm._v(\n \"\\n\\t\\t\\t\" +\n _vm._s(\n _vm.t(\n \"settings\",\n \"This app has no maximum Nextcloud version assigned. This will be an error in the future.\"\n )\n ) +\n \"\\n\\t\\t\"\n ),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.app.canInstall\n ? _c(\"li\", [\n _vm._v(\n \"\\n\\t\\t\\t\" +\n _vm._s(\n _vm.t(\n \"settings\",\n \"This app cannot be installed because the following dependencies are not fulfilled:\"\n )\n ) +\n \"\\n\\t\\t\\t\"\n ),\n _c(\n \"ul\",\n { staticClass: \"missing-dependencies\" },\n _vm._l(_vm.app.missingDependencies, function (dep, index) {\n return _c(\"li\", { key: index }, [\n _vm._v(\"\\n\\t\\t\\t\\t\\t\" + _vm._s(dep) + \"\\n\\t\\t\\t\\t\"),\n ])\n }),\n 0\n ),\n ])\n : _vm._e(),\n ]),\n _vm._v(\" \"),\n _c(\"p\", { staticClass: \"app-details__documentation\" }, [\n !_vm.app.internal\n ? _c(\n \"a\",\n {\n staticClass: \"appslink\",\n attrs: {\n href: _vm.appstoreUrl,\n target: \"_blank\",\n rel: \"noreferrer noopener\",\n },\n },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"View in store\")) + \" ↗\")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.website\n ? _c(\n \"a\",\n {\n staticClass: \"appslink\",\n attrs: {\n href: _vm.app.website,\n target: \"_blank\",\n rel: \"noreferrer noopener\",\n },\n },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Visit website\")) + \" ↗\")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.bugs\n ? _c(\n \"a\",\n {\n staticClass: \"appslink\",\n attrs: {\n href: _vm.app.bugs,\n target: \"_blank\",\n rel: \"noreferrer noopener\",\n },\n },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Report a bug\")) + \" ↗\")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.documentation && _vm.app.documentation.user\n ? _c(\n \"a\",\n {\n staticClass: \"appslink\",\n attrs: {\n href: _vm.app.documentation.user,\n target: \"_blank\",\n rel: \"noreferrer noopener\",\n },\n },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"User documentation\")) + \" ↗\")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.documentation && _vm.app.documentation.admin\n ? _c(\n \"a\",\n {\n staticClass: \"appslink\",\n attrs: {\n href: _vm.app.documentation.admin,\n target: \"_blank\",\n rel: \"noreferrer noopener\",\n },\n },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"Admin documentation\")) + \" ↗\")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.documentation && _vm.app.documentation.developer\n ? _c(\n \"a\",\n {\n staticClass: \"appslink\",\n attrs: {\n href: _vm.app.documentation.developer,\n target: \"_blank\",\n rel: \"noreferrer noopener\",\n },\n },\n [\n _vm._v(\n _vm._s(_vm.t(\"settings\", \"Developer documentation\")) + \" ↗\"\n ),\n ]\n )\n : _vm._e(),\n ]),\n _vm._v(\" \"),\n _c(\"Markdown\", {\n staticClass: \"app-details__description\",\n attrs: { text: _vm.app.description },\n }),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"app-content-inner\" } }, [\n _c(\n \"div\",\n {\n staticClass: \"apps-list\",\n class: {\n installed: _vm.useBundleView || _vm.useListView,\n store: _vm.useAppStoreView,\n },\n attrs: { id: \"apps-list\" },\n },\n [\n _vm.useListView\n ? [\n _vm.showUpdateAll\n ? _c(\"div\", { staticClass: \"counter\" }, [\n _vm._v(\n \"\\n\\t\\t\\t\\t\" +\n _vm._s(\n _vm.n(\n \"settings\",\n \"%n app has an update available\",\n \"%n apps have an update available\",\n _vm.counter\n )\n ) +\n \"\\n\\t\\t\\t\\t\"\n ),\n _vm.showUpdateAll\n ? _c(\n \"button\",\n {\n staticClass: \"primary\",\n attrs: { id: \"app-list-update-all\" },\n on: { click: _vm.updateAll },\n },\n [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\" +\n _vm._s(_vm.t(\"settings\", \"Update all\")) +\n \"\\n\\t\\t\\t\\t\"\n ),\n ]\n )\n : _vm._e(),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"transition-group\",\n {\n staticClass: \"apps-list-container\",\n attrs: { name: \"app-list\", tag: \"div\" },\n },\n _vm._l(_vm.apps, function (app) {\n return _c(\"AppItem\", {\n key: app.id,\n attrs: { app: app, category: _vm.category },\n })\n }),\n 1\n ),\n ]\n : _vm._e(),\n _vm._v(\" \"),\n _vm.useBundleView\n ? _c(\n \"transition-group\",\n {\n staticClass: \"apps-list-container\",\n attrs: { name: \"app-list\", tag: \"div\" },\n },\n [\n _vm._l(_vm.bundles, function (bundle) {\n return [\n _c(\"div\", { key: bundle.id, staticClass: \"apps-header\" }, [\n _c(\"div\", { staticClass: \"app-image\" }),\n _vm._v(\" \"),\n _c(\"h2\", [\n _vm._v(_vm._s(bundle.name) + \" \"),\n _c(\"input\", {\n attrs: {\n type: \"button\",\n value: _vm.bundleToggleText(bundle.id),\n },\n on: {\n click: function ($event) {\n return _vm.toggleBundle(bundle.id)\n },\n },\n }),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"app-version\" }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"app-level\" }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"app-groups\" }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"actions\" }, [\n _vm._v(\"\\n\\t\\t\\t\\t\\t\\t \\n\\t\\t\\t\\t\\t\"),\n ]),\n ]),\n _vm._v(\" \"),\n _vm._l(_vm.bundleApps(bundle.id), function (app) {\n return _c(\"AppItem\", {\n key: bundle.id + app.id,\n attrs: { app: app, category: _vm.category },\n })\n }),\n ]\n }),\n ],\n 2\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.useAppStoreView\n ? _vm._l(_vm.apps, function (app) {\n return _c(\"AppItem\", {\n key: app.id,\n attrs: { app: app, category: _vm.category, \"list-view\": false },\n })\n })\n : _vm._e(),\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"apps-list installed\", attrs: { id: \"apps-list-search\" } },\n [\n _c(\n \"div\",\n { staticClass: \"apps-list-container\" },\n [\n _vm.search !== \"\" && _vm.searchApps.length > 0\n ? [\n _c(\"div\", { staticClass: \"section\" }, [\n _c(\"div\"),\n _vm._v(\" \"),\n _c(\"td\", { attrs: { colspan: \"5\" } }, [\n _c(\"h2\", [\n _vm._v(\n _vm._s(\n _vm.t(\"settings\", \"Results from other categories\")\n )\n ),\n ]),\n ]),\n ]),\n _vm._v(\" \"),\n _vm._l(_vm.searchApps, function (app) {\n return _c(\"AppItem\", {\n key: app.id,\n attrs: {\n app: app,\n category: _vm.category,\n \"list-view\": true,\n },\n })\n }),\n ]\n : _vm._e(),\n ],\n 2\n ),\n ]\n ),\n _vm._v(\" \"),\n _vm.search !== \"\" &&\n !_vm.loading &&\n _vm.searchApps.length === 0 &&\n _vm.apps.length === 0\n ? _c(\n \"div\",\n {\n staticClass: \"emptycontent emptycontent-search\",\n attrs: { id: \"apps-list-empty\" },\n },\n [\n _c(\"div\", {\n staticClass: \"icon-settings-dark\",\n attrs: { id: \"app-list-empty-icon\" },\n }),\n _vm._v(\" \"),\n _c(\"h2\", [\n _vm._v(\n _vm._s(_vm.t(\"settings\", \"No apps found for your version\"))\n ),\n ]),\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { id: \"searchresults\" } }),\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"section\",\n class: { selected: _vm.isSelected },\n on: { click: _vm.showAppDetails },\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"app-image app-image-icon\",\n on: { click: _vm.showAppDetails },\n },\n [\n (_vm.listView && !_vm.app.preview) ||\n (!_vm.listView && !_vm.screenshotLoaded)\n ? _c(\"div\", { staticClass: \"icon-settings-dark\" })\n : _vm.listView && _vm.app.preview\n ? _c(\n \"svg\",\n { attrs: { width: \"32\", height: \"32\", viewBox: \"0 0 32 32\" } },\n [\n _c(\"defs\", [\n _c(\n \"filter\",\n { attrs: { id: _vm.filterId } },\n [\n _c(\"feColorMatrix\", {\n attrs: {\n in: \"SourceGraphic\",\n type: \"matrix\",\n values:\n \"-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0\",\n },\n }),\n ],\n 1\n ),\n ]),\n _vm._v(\" \"),\n _c(\"image\", {\n staticClass: \"app-icon\",\n attrs: {\n x: \"0\",\n y: \"0\",\n width: \"32\",\n height: \"32\",\n preserveAspectRatio: \"xMinYMin meet\",\n filter: _vm.filterUrl,\n \"xlink:href\": _vm.app.preview,\n },\n }),\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.listView && _vm.app.screenshot && _vm.screenshotLoaded\n ? _c(\"img\", { attrs: { src: _vm.app.screenshot, width: \"100%\" } })\n : _vm._e(),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"app-name\", on: { click: _vm.showAppDetails } },\n [_vm._v(\"\\n\\t\\t\" + _vm._s(_vm.app.name) + \"\\n\\t\")]\n ),\n _vm._v(\" \"),\n !_vm.listView\n ? _c(\"div\", { staticClass: \"app-summary\" }, [\n _vm._v(\"\\n\\t\\t\" + _vm._s(_vm.app.summary) + \"\\n\\t\"),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.listView\n ? _c(\"div\", { staticClass: \"app-version\" }, [\n _vm.app.version\n ? _c(\"span\", [_vm._v(_vm._s(_vm.app.version))])\n : _vm.app.appstoreData.releases[0].version\n ? _c(\"span\", [\n _vm._v(_vm._s(_vm.app.appstoreData.releases[0].version)),\n ])\n : _vm._e(),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"app-level\" },\n [\n _vm.app.level === 300\n ? _c(\n \"span\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.t(\n \"settings\",\n \"This app is supported via your current Nextcloud subscription.\"\n ),\n expression:\n \"t('settings', 'This app is supported via your current Nextcloud subscription.')\",\n modifiers: { auto: true },\n },\n ],\n staticClass: \"supported icon-checkmark-color\",\n },\n [_vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.t(\"settings\", \"Supported\")))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.level === 200\n ? _c(\n \"span\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.t(\n \"settings\",\n \"Featured apps are developed by and within the community. They offer central functionality and are ready for production use.\"\n ),\n expression:\n \"t('settings', 'Featured apps are developed by and within the community. They offer central functionality and are ready for production use.')\",\n modifiers: { auto: true },\n },\n ],\n staticClass: \"official icon-checkmark\",\n },\n [_vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.t(\"settings\", \"Featured\")))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.hasRating && !_vm.listView\n ? _c(\"AppScore\", { attrs: { score: _vm.app.score } })\n : _vm._e(),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"actions\" }, [\n _vm.app.error\n ? _c(\"div\", { staticClass: \"warning\" }, [\n _vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.app.error) + \"\\n\\t\\t\"),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.isLoading\n ? _c(\"div\", { staticClass: \"icon icon-loading-small\" })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.update\n ? _c(\"input\", {\n staticClass: \"update primary\",\n attrs: {\n type: \"button\",\n value: _vm.t(\"settings\", \"Update to {update}\", {\n update: _vm.app.update,\n }),\n disabled: _vm.installing || _vm.isLoading,\n },\n on: {\n click: function ($event) {\n $event.stopPropagation()\n return _vm.update(_vm.app.id)\n },\n },\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.canUnInstall\n ? _c(\"input\", {\n staticClass: \"uninstall\",\n attrs: {\n type: \"button\",\n value: _vm.t(\"settings\", \"Remove\"),\n disabled: _vm.installing || _vm.isLoading,\n },\n on: {\n click: function ($event) {\n $event.stopPropagation()\n return _vm.remove(_vm.app.id)\n },\n },\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.active\n ? _c(\"input\", {\n staticClass: \"enable\",\n attrs: {\n type: \"button\",\n value: _vm.t(\"settings\", \"Disable\"),\n disabled: _vm.installing || _vm.isLoading,\n },\n on: {\n click: function ($event) {\n $event.stopPropagation()\n return _vm.disable(_vm.app.id)\n },\n },\n })\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.app.active && (_vm.app.canInstall || _vm.app.isCompatible)\n ? _c(\"input\", {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.enableButtonTooltip,\n expression: \"enableButtonTooltip\",\n modifiers: { auto: true },\n },\n ],\n staticClass: \"enable\",\n attrs: {\n type: \"button\",\n value: _vm.enableButtonText,\n disabled:\n !_vm.app.canInstall || _vm.installing || _vm.isLoading,\n },\n on: {\n click: function ($event) {\n $event.stopPropagation()\n return _vm.enable(_vm.app.id)\n },\n },\n })\n : !_vm.app.active\n ? _c(\"input\", {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.forceEnableButtonTooltip,\n expression: \"forceEnableButtonTooltip\",\n modifiers: { auto: true },\n },\n ],\n staticClass: \"enable force\",\n attrs: {\n type: \"button\",\n value: _vm.forceEnableButtonText,\n disabled: _vm.installing || _vm.isLoading,\n },\n on: {\n click: function ($event) {\n $event.stopPropagation()\n return _vm.forceEnable(_vm.app.id)\n },\n },\n })\n : _vm._e(),\n ]),\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"img\", {\n staticClass: \"app-score-image\",\n attrs: { src: _vm.scoreImage },\n })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", {\n staticClass: \"settings-markdown\",\n domProps: { innerHTML: _vm._s(_vm.renderMarkdown) },\n })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"Content\",\n {\n class: { \"with-app-sidebar\": _vm.app },\n attrs: {\n \"app-name\": \"settings\",\n \"content-class\": { \"icon-loading\": _vm.loadingList },\n \"navigation-class\": { \"icon-loading\": _vm.loading },\n },\n },\n [\n _c(\"AppNavigation\", {\n scopedSlots: _vm._u([\n {\n key: \"list\",\n fn: function () {\n return [\n _c(\"AppNavigationItem\", {\n attrs: {\n id: \"app-category-your-apps\",\n to: { name: \"apps\" },\n exact: true,\n icon: \"icon-category-installed\",\n title: _vm.t(\"settings\", \"Your apps\"),\n },\n }),\n _vm._v(\" \"),\n _c(\"AppNavigationItem\", {\n attrs: {\n id: \"app-category-enabled\",\n to: {\n name: \"apps-category\",\n params: { category: \"enabled\" },\n },\n icon: \"icon-category-enabled\",\n title: _vm.t(\"settings\", \"Active apps\"),\n },\n }),\n _vm._v(\" \"),\n _c(\"AppNavigationItem\", {\n attrs: {\n id: \"app-category-disabled\",\n to: {\n name: \"apps-category\",\n params: { category: \"disabled\" },\n },\n icon: \"icon-category-disabled\",\n title: _vm.t(\"settings\", \"Disabled apps\"),\n },\n }),\n _vm._v(\" \"),\n _vm.updateCount > 0\n ? _c(\n \"AppNavigationItem\",\n {\n attrs: {\n id: \"app-category-updates\",\n to: {\n name: \"apps-category\",\n params: { category: \"updates\" },\n },\n icon: \"icon-download\",\n title: _vm.t(\"settings\", \"Updates\"),\n },\n },\n [\n _c(\n \"AppNavigationCounter\",\n { attrs: { slot: \"counter\" }, slot: \"counter\" },\n [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\" +\n _vm._s(_vm.updateCount) +\n \"\\n\\t\\t\\t\\t\"\n ),\n ]\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"AppNavigationItem\", {\n attrs: {\n id: \"app-category-your-bundles\",\n to: {\n name: \"apps-category\",\n params: { category: \"app-bundles\" },\n },\n icon: \"icon-category-app-bundles\",\n title: _vm.t(\"settings\", \"App bundles\"),\n },\n }),\n _vm._v(\" \"),\n _c(\"AppNavigationSpacer\"),\n _vm._v(\" \"),\n _vm.settings.appstoreEnabled\n ? [\n _c(\"AppNavigationItem\", {\n attrs: {\n id: \"app-category-featured\",\n to: {\n name: \"apps-category\",\n params: { category: \"featured\" },\n },\n icon: \"icon-favorite\",\n title: _vm.t(\"settings\", \"Featured apps\"),\n },\n }),\n _vm._v(\" \"),\n _vm._l(_vm.categories, function (cat) {\n return _c(\"AppNavigationItem\", {\n key: \"icon-category-\" + cat.ident,\n attrs: {\n icon: \"icon-category-\" + cat.ident,\n to: {\n name: \"apps-category\",\n params: { category: cat.ident },\n },\n title: cat.displayName,\n },\n })\n }),\n ]\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"AppNavigationItem\", {\n attrs: {\n id: \"app-developer-docs\",\n href: \"settings.developerDocumentation\",\n title: _vm.t(\"settings\", \"Developer documentation\") + \" ↗\",\n },\n }),\n ]\n },\n proxy: true,\n },\n ]),\n }),\n _vm._v(\" \"),\n _c(\n \"AppContent\",\n {\n staticClass: \"app-settings-content\",\n class: { \"icon-loading\": _vm.loadingList },\n },\n [\n _c(\"AppList\", {\n attrs: {\n category: _vm.category,\n app: _vm.app,\n search: _vm.searchQuery,\n },\n }),\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.id && _vm.app\n ? _c(\n \"AppSidebar\",\n _vm._b(\n {\n class: {\n \"app-sidebar--without-background\": !_vm.appSidebar.background,\n },\n on: { close: _vm.hideAppDetails },\n scopedSlots: _vm._u(\n [\n !_vm.appSidebar.background\n ? {\n key: \"header\",\n fn: function () {\n return [\n _c(\"div\", {\n staticClass:\n \"app-sidebar-header__figure--default-app-icon icon-settings-dark\",\n }),\n ]\n },\n proxy: true,\n }\n : null,\n {\n key: \"description\",\n fn: function () {\n return [\n _vm.app.level === 300 ||\n _vm.app.level === 200 ||\n _vm.hasRating\n ? _c(\n \"div\",\n { staticClass: \"app-level\" },\n [\n _vm.app.level === 300\n ? _c(\n \"span\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.t(\n \"settings\",\n \"This app is supported via your current Nextcloud subscription.\"\n ),\n expression:\n \"t('settings', 'This app is supported via your current Nextcloud subscription.')\",\n modifiers: { auto: true },\n },\n ],\n staticClass:\n \"supported icon-checkmark-color\",\n },\n [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\" +\n _vm._s(\n _vm.t(\"settings\", \"Supported\")\n )\n ),\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.app.level === 200\n ? _c(\n \"span\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.t(\n \"settings\",\n \"Featured apps are developed by and within the community. They offer central functionality and are ready for production use.\"\n ),\n expression:\n \"t('settings', 'Featured apps are developed by and within the community. They offer central functionality and are ready for production use.')\",\n modifiers: { auto: true },\n },\n ],\n staticClass:\n \"official icon-checkmark\",\n },\n [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\" +\n _vm._s(\n _vm.t(\"settings\", \"Featured\")\n )\n ),\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.hasRating\n ? _c(\"AppScore\", {\n attrs: {\n score:\n _vm.app.appstoreData.ratingOverall,\n },\n })\n : _vm._e(),\n ],\n 1\n )\n : _vm._e(),\n ]\n },\n proxy: true,\n },\n ],\n null,\n true\n ),\n },\n \"AppSidebar\",\n _vm.appSidebar,\n false\n ),\n [\n _vm._v(\" \"),\n _vm._v(\" \"),\n _c(\n \"AppSidebarTab\",\n {\n attrs: {\n id: \"desc\",\n icon: \"icon-category-office\",\n name: _vm.t(\"settings\", \"Details\"),\n order: 0,\n },\n },\n [_c(\"AppDetails\", { attrs: { app: _vm.app } })],\n 1\n ),\n _vm._v(\" \"),\n _vm.app.appstoreData &&\n _vm.app.releases[0].translations.en.changelog\n ? _c(\n \"AppSidebarTab\",\n {\n attrs: {\n id: \"desca\",\n icon: \"icon-category-organization\",\n name: _vm.t(\"settings\", \"Changelog\"),\n order: 1,\n },\n },\n _vm._l(_vm.app.releases, function (release) {\n return _c(\n \"div\",\n {\n key: release.version,\n staticClass: \"app-sidebar-tabs__release\",\n },\n [\n _c(\"h2\", [_vm._v(_vm._s(release.version))]),\n _vm._v(\" \"),\n _vm.changelog(release)\n ? _c(\"Markdown\", {\n attrs: { text: _vm.changelog(release) },\n })\n : _vm._e(),\n ],\n 1\n )\n }),\n 0\n )\n : _vm._e(),\n ],\n 1\n )\n : _vm._e(),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;A;;;;;;;;;;;;;;;ACzLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;A;;;;;;;;;;;;;ACtNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;A;;;;;;;;;;;;;AC3RA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;A;;;;;;;;;;;ACjNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;A;;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;A;;;;;;;;;;AC3FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;A;;;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;A;;;;;;;;;;;;ACtTA;AACA;AACA;AACA;AACA;AACA;AACA;;;A;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;;A;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;;A;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;;A;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;A;;;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;A;;;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;A;;;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;A;;;;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAiBA;AACA;AACA;;A;;;;;;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAiBA;AACA;AACA;;A;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAiBA;AACA;AACA;;A;;;;;;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAiBA;AACA;AACA;;A;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAiBA;AACA;AACA;;A;;;;;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAYA;AACA;AACA;;A;;;;;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAYA;AACA;AACA;;A;;;;;;;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAiBA;AACA;AACA;;A;;;;;;;;;;;ACvCA;;A;;;;;;;;;;;ACAA;;A;;;;;;;;;;;ACAA;;A;;;;;;;;;;;ACAA;;A;;;;;;;;;;;ACAA;;A;;;;;;;;;;;ACAA;;A;;;;;;;;;;;ACAA;;A;;;;;;;;;;;ACAA;;A;;;;;;;;;;;;;A;;;;;;;;;;;;;A;;;;;;;;;;;;;A;;;;;;;;;;;;;A;;;;;;;;;;;;;;;;;A;;;;;;;;;;;;;;;;;A;;;;;;;;;;;;;;;;;A;;;;;;;;;;;;;;;;;A;;;;;;;;;;;;;;;;;A;;;;;;;;;;;;;;;;;A;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;A;;;;;;;;;;;;;;AC5XA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;A;;;;;;;;;;;;;;AC7MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;A;;;;;;;;;;;;;;AC5QA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;A;;;;;;;;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;A;;;;;;;;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;A;;A","sourceRoot":""} \ No newline at end of file
diff --git a/dist/settings-users-settings-users.js b/dist/settings-users-settings-users.js
index 65192b28536..e199c39b415 100644
--- a/dist/settings-users-settings-users.js
+++ b/dist/settings-users-settings-users.js
@@ -1,4 +1,3 @@
-"use strict";
(self["webpackChunknextcloud"] = self["webpackChunknextcloud"] || []).push([["settings-users"],{
/***/ "./apps/settings/src/mixins/UserRowMixin.js":
@@ -7,6 +6,7 @@
\**************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _nextcloud_router__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @nextcloud/router */ "./node_modules/@nextcloud/router/dist/index.js");
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
@@ -229,6 +229,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
\********************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _nextcloud_event_bus__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @nextcloud/event-bus */ "./node_modules/@nextcloud/event-bus/dist/index.js");
/* harmony import */ var vue_infinite_loading__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-infinite-loading */ "./node_modules/vue-infinite-loading/dist/vue-infinite-loading.js");
@@ -502,7 +503,7 @@ var newUser = {
name: 'UserList',
components: {
Modal: _nextcloud_vue__WEBPACK_IMPORTED_MODULE_2__.Modal,
- userRow: _UserList_UserRow__WEBPACK_IMPORTED_MODULE_4__["default"],
+ userRow: _UserList_UserRow__WEBPACK_IMPORTED_MODULE_4__.default,
Multiselect: (_nextcloud_vue_dist_Components_Multiselect__WEBPACK_IMPORTED_MODULE_3___default()),
InfiniteLoading: (vue_infinite_loading__WEBPACK_IMPORTED_MODULE_1___default())
},
@@ -746,7 +747,7 @@ var newUser = {
*/
if (this.settings.defaultLanguage) {
- vue__WEBPACK_IMPORTED_MODULE_5__["default"].set(this.newUser.language, 'code', this.settings.defaultLanguage);
+ vue__WEBPACK_IMPORTED_MODULE_5__.default.set(this.newUser.language, 'code', this.settings.defaultLanguage);
}
/**
* In case the user directly loaded the user list within a group
@@ -869,6 +870,7 @@ var newUser = {
\****************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var vue_click_outside__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue-click-outside */ "./node_modules/vue-click-outside/index.js");
/* harmony import */ var vue_click_outside__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue_click_outside__WEBPACK_IMPORTED_MODULE_0__);
@@ -1129,11 +1131,11 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
-vue__WEBPACK_IMPORTED_MODULE_5__["default"].use(v_tooltip__WEBPACK_IMPORTED_MODULE_1__["default"]);
+vue__WEBPACK_IMPORTED_MODULE_5__.default.use(v_tooltip__WEBPACK_IMPORTED_MODULE_1__.default);
/* harmony default export */ __webpack_exports__["default"] = ({
name: 'UserRow',
components: {
- UserRowSimple: _UserRowSimple__WEBPACK_IMPORTED_MODULE_3__["default"],
+ UserRowSimple: _UserRowSimple__WEBPACK_IMPORTED_MODULE_3__.default,
PopoverMenu: _nextcloud_vue__WEBPACK_IMPORTED_MODULE_2__.PopoverMenu,
Actions: _nextcloud_vue__WEBPACK_IMPORTED_MODULE_2__.Actions,
ActionButton: _nextcloud_vue__WEBPACK_IMPORTED_MODULE_2__.ActionButton,
@@ -1142,7 +1144,7 @@ vue__WEBPACK_IMPORTED_MODULE_5__["default"].use(v_tooltip__WEBPACK_IMPORTED_MODU
directives: {
ClickOutside: (vue_click_outside__WEBPACK_IMPORTED_MODULE_0___default())
},
- mixins: [_mixins_UserRowMixin__WEBPACK_IMPORTED_MODULE_4__["default"]],
+ mixins: [_mixins_UserRowMixin__WEBPACK_IMPORTED_MODULE_4__.default],
props: {
user: {
type: Object,
@@ -1784,6 +1786,7 @@ vue__WEBPACK_IMPORTED_MODULE_5__["default"].use(v_tooltip__WEBPACK_IMPORTED_MODU
\**********************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _nextcloud_vue_dist_Components_PopoverMenu__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @nextcloud/vue/dist/Components/PopoverMenu */ "./node_modules/@nextcloud/vue/dist/Components/PopoverMenu.js");
/* harmony import */ var _nextcloud_vue_dist_Components_PopoverMenu__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_vue_dist_Components_PopoverMenu__WEBPACK_IMPORTED_MODULE_0__);
@@ -1896,7 +1899,7 @@ __webpack_require__.r(__webpack_exports__);
directives: {
ClickOutside: (vue_click_outside__WEBPACK_IMPORTED_MODULE_3___default())
},
- mixins: [_mixins_UserRowMixin__WEBPACK_IMPORTED_MODULE_5__["default"]],
+ mixins: [_mixins_UserRowMixin__WEBPACK_IMPORTED_MODULE_5__.default],
props: {
user: {
type: Object,
@@ -1999,6 +2002,7 @@ __webpack_require__.r(__webpack_exports__);
\************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _nextcloud_vue_dist_Components_ActionButton__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @nextcloud/vue/dist/Components/ActionButton */ "./node_modules/@nextcloud/vue/dist/Components/ActionButton.js");
/* harmony import */ var _nextcloud_vue_dist_Components_ActionButton__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_vue_dist_Components_ActionButton__WEBPACK_IMPORTED_MODULE_0__);
@@ -2215,7 +2219,7 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
-vue__WEBPACK_IMPORTED_MODULE_14__["default"].use((vue_localstorage__WEBPACK_IMPORTED_MODULE_12___default()));
+vue__WEBPACK_IMPORTED_MODULE_14__.default.use((vue_localstorage__WEBPACK_IMPORTED_MODULE_12___default()));
/* harmony default export */ __webpack_exports__["default"] = ({
name: 'Users',
components: {
@@ -2229,7 +2233,7 @@ vue__WEBPACK_IMPORTED_MODULE_14__["default"].use((vue_localstorage__WEBPACK_IMPO
AppNavigationSettings: (_nextcloud_vue_dist_Components_AppNavigationSettings__WEBPACK_IMPORTED_MODULE_7___default()),
Content: (_nextcloud_vue_dist_Components_Content__WEBPACK_IMPORTED_MODULE_9___default()),
Multiselect: (_nextcloud_vue_dist_Components_Multiselect__WEBPACK_IMPORTED_MODULE_11___default()),
- UserList: _components_UserList__WEBPACK_IMPORTED_MODULE_13__["default"]
+ UserList: _components_UserList__WEBPACK_IMPORTED_MODULE_13__.default
},
props: {
selectedGroup: {
@@ -2370,7 +2374,7 @@ vue__WEBPACK_IMPORTED_MODULE_14__["default"].use((vue_localstorage__WEBPACK_IMPO
}));
_context.next = 5;
- return _nextcloud_axios__WEBPACK_IMPORTED_MODULE_8__["default"].post((0,_nextcloud_router__WEBPACK_IMPORTED_MODULE_10__.generateUrl)('/settings/users/preferences/newUser.sendEmail'), {
+ return _nextcloud_axios__WEBPACK_IMPORTED_MODULE_8__.default.post((0,_nextcloud_router__WEBPACK_IMPORTED_MODULE_10__.generateUrl)('/settings/users/preferences/newUser.sendEmail'), {
value: value ? 'yes' : 'no'
});
@@ -2443,7 +2447,7 @@ vue__WEBPACK_IMPORTED_MODULE_14__["default"].use((vue_localstorage__WEBPACK_IMPO
this.showConfig.showNewUserForm = true;
if (this.showConfig.showNewUserForm) {
- vue__WEBPACK_IMPORTED_MODULE_14__["default"].nextTick(function () {
+ vue__WEBPACK_IMPORTED_MODULE_14__.default.nextTick(function () {
window.newusername.focus();
});
}
@@ -2641,6 +2645,7 @@ vue__WEBPACK_IMPORTED_MODULE_14__["default"].use((vue_localstorage__WEBPACK_IMPO
\**********************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);
@@ -2661,6 +2666,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".row--menu-opened[data-v-77960baa] {\n
\****************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);
@@ -2681,6 +2687,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".cellText {\n overflow: hidden;\n te
\******************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);
@@ -2701,6 +2708,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".app-navigation__list #addgroup[data-v
\**********************************************************************************************************************************************************************************************************************************************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);
@@ -2721,6 +2729,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, "\n.modal-wrapper[data-v-6cba3aca] {\n\
\**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js");
/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);
@@ -2733,11 +2742,11 @@ var options = {};
options.insert = "head";
options.singleton = false;
-var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRow_vue_vue_type_style_index_0_id_77960baa_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_1__["default"], options);
+var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRow_vue_vue_type_style_index_0_id_77960baa_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_1__.default, options);
-/* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRow_vue_vue_type_style_index_0_id_77960baa_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {});
+/* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRow_vue_vue_type_style_index_0_id_77960baa_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_1__.default.locals || {});
/***/ }),
@@ -2747,6 +2756,7 @@ var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js
\********************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js");
/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);
@@ -2759,11 +2769,11 @@ var options = {};
options.insert = "head";
options.singleton = false;
-var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRowSimple_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_1__["default"], options);
+var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRowSimple_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_1__.default, options);
-/* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRowSimple_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {});
+/* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRowSimple_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_1__.default.locals || {});
/***/ }),
@@ -2773,6 +2783,7 @@ var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js
\**********************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js");
/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);
@@ -2785,11 +2796,11 @@ var options = {};
options.insert = "head";
options.singleton = false;
-var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Users_vue_vue_type_style_index_0_id_889b7562_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__["default"], options);
+var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Users_vue_vue_type_style_index_0_id_889b7562_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__.default, options);
-/* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Users_vue_vue_type_style_index_0_id_889b7562_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {});
+/* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Users_vue_vue_type_style_index_0_id_889b7562_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__.default.locals || {});
/***/ }),
@@ -2799,6 +2810,7 @@ var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js
\**************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js");
/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);
@@ -2811,11 +2823,11 @@ var options = {};
options.insert = "head";
options.singleton = false;
-var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserList_vue_vue_type_style_index_0_id_6cba3aca_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"], options);
+var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserList_vue_vue_type_style_index_0_id_6cba3aca_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_1__.default, options);
-/* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserList_vue_vue_type_style_index_0_id_6cba3aca_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {});
+/* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserList_vue_vue_type_style_index_0_id_6cba3aca_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_1__.default.locals || {});
/***/ }),
@@ -2825,6 +2837,7 @@ var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js
\***************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _UserList_vue_vue_type_template_id_6cba3aca_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./UserList.vue?vue&type=template&id=6cba3aca&scoped=true& */ "./apps/settings/src/components/UserList.vue?vue&type=template&id=6cba3aca&scoped=true&");
/* harmony import */ var _UserList_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./UserList.vue?vue&type=script&lang=js& */ "./apps/settings/src/components/UserList.vue?vue&type=script&lang=js&");
@@ -2838,8 +2851,8 @@ __webpack_require__.r(__webpack_exports__);
/* normalize component */
-var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
- _UserList_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
+var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__.default)(
+ _UserList_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__.default,
_UserList_vue_vue_type_template_id_6cba3aca_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render,
_UserList_vue_vue_type_template_id_6cba3aca_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,
false,
@@ -2862,6 +2875,7 @@ component.options.__file = "apps/settings/src/components/UserList.vue"
\***********************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _UserRow_vue_vue_type_template_id_77960baa_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./UserRow.vue?vue&type=template&id=77960baa&scoped=true& */ "./apps/settings/src/components/UserList/UserRow.vue?vue&type=template&id=77960baa&scoped=true&");
/* harmony import */ var _UserRow_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./UserRow.vue?vue&type=script&lang=js& */ "./apps/settings/src/components/UserList/UserRow.vue?vue&type=script&lang=js&");
@@ -2875,8 +2889,8 @@ __webpack_require__.r(__webpack_exports__);
/* normalize component */
-var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
- _UserRow_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
+var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__.default)(
+ _UserRow_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__.default,
_UserRow_vue_vue_type_template_id_77960baa_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render,
_UserRow_vue_vue_type_template_id_77960baa_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,
false,
@@ -2899,6 +2913,7 @@ component.options.__file = "apps/settings/src/components/UserList/UserRow.vue"
\*****************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _UserRowSimple_vue_vue_type_template_id_ff154a08___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./UserRowSimple.vue?vue&type=template&id=ff154a08& */ "./apps/settings/src/components/UserList/UserRowSimple.vue?vue&type=template&id=ff154a08&");
/* harmony import */ var _UserRowSimple_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./UserRowSimple.vue?vue&type=script&lang=js& */ "./apps/settings/src/components/UserList/UserRowSimple.vue?vue&type=script&lang=js&");
@@ -2912,8 +2927,8 @@ __webpack_require__.r(__webpack_exports__);
/* normalize component */
-var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
- _UserRowSimple_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
+var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__.default)(
+ _UserRowSimple_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__.default,
_UserRowSimple_vue_vue_type_template_id_ff154a08___WEBPACK_IMPORTED_MODULE_0__.render,
_UserRowSimple_vue_vue_type_template_id_ff154a08___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,
false,
@@ -2936,6 +2951,7 @@ component.options.__file = "apps/settings/src/components/UserList/UserRowSimple.
\*******************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _Users_vue_vue_type_template_id_889b7562_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Users.vue?vue&type=template&id=889b7562&scoped=true& */ "./apps/settings/src/views/Users.vue?vue&type=template&id=889b7562&scoped=true&");
/* harmony import */ var _Users_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Users.vue?vue&type=script&lang=js& */ "./apps/settings/src/views/Users.vue?vue&type=script&lang=js&");
@@ -2949,8 +2965,8 @@ __webpack_require__.r(__webpack_exports__);
/* normalize component */
-var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
- _Users_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
+var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__.default)(
+ _Users_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__.default,
_Users_vue_vue_type_template_id_889b7562_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render,
_Users_vue_vue_type_template_id_889b7562_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,
false,
@@ -2973,9 +2989,10 @@ component.options.__file = "apps/settings/src/views/Users.vue"
\****************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserList_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserList.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/settings/src/components/UserList.vue?vue&type=script&lang=js&");
- /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserList_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]);
+ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserList_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__.default);
/***/ }),
@@ -2985,9 +3002,10 @@ __webpack_require__.r(__webpack_exports__);
\************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRow_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRow.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/settings/src/components/UserList/UserRow.vue?vue&type=script&lang=js&");
- /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRow_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]);
+ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRow_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__.default);
/***/ }),
@@ -2997,9 +3015,10 @@ __webpack_require__.r(__webpack_exports__);
\******************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRowSimple_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRowSimple.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/settings/src/components/UserList/UserRowSimple.vue?vue&type=script&lang=js&");
- /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRowSimple_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]);
+ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRowSimple_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__.default);
/***/ }),
@@ -3009,9 +3028,10 @@ __webpack_require__.r(__webpack_exports__);
\********************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Users_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Users.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/settings/src/views/Users.vue?vue&type=script&lang=js&");
- /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Users_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]);
+ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Users_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__.default);
/***/ }),
@@ -3021,6 +3041,7 @@ __webpack_require__.r(__webpack_exports__);
\*********************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRow_vue_vue_type_style_index_0_id_77960baa_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/style-loader/dist/cjs.js!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRow.vue?vue&type=style&index=0&id=77960baa&scoped=true&lang=scss& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/settings/src/components/UserList/UserRow.vue?vue&type=style&index=0&id=77960baa&scoped=true&lang=scss&");
@@ -3033,6 +3054,7 @@ __webpack_require__.r(__webpack_exports__);
\***************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRowSimple_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/style-loader/dist/cjs.js!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRowSimple.vue?vue&type=style&index=0&lang=scss& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/settings/src/components/UserList/UserRowSimple.vue?vue&type=style&index=0&lang=scss&");
@@ -3045,6 +3067,7 @@ __webpack_require__.r(__webpack_exports__);
\*****************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Users_vue_vue_type_style_index_0_id_889b7562_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Users.vue?vue&type=style&index=0&id=889b7562&lang=scss&scoped=true& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/settings/src/views/Users.vue?vue&type=style&index=0&id=889b7562&lang=scss&scoped=true&");
@@ -3057,6 +3080,7 @@ __webpack_require__.r(__webpack_exports__);
\************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_vue_loader_lib_index_js_vue_loader_options_UserList_vue_vue_type_style_index_0_id_6cba3aca_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserList.vue?vue&type=style&index=0&id=6cba3aca&scoped=true&lang=css& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/settings/src/components/UserList.vue?vue&type=style&index=0&id=6cba3aca&scoped=true&lang=css&");
@@ -3069,6 +3093,7 @@ __webpack_require__.r(__webpack_exports__);
\**********************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "render": function() { return /* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_UserList_vue_vue_type_template_id_6cba3aca_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render; },
@@ -3085,6 +3110,7 @@ __webpack_require__.r(__webpack_exports__);
\******************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "render": function() { return /* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRow_vue_vue_type_template_id_77960baa_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render; },
@@ -3101,6 +3127,7 @@ __webpack_require__.r(__webpack_exports__);
\************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "render": function() { return /* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_UserRowSimple_vue_vue_type_template_id_ff154a08___WEBPACK_IMPORTED_MODULE_0__.render; },
@@ -3117,6 +3144,7 @@ __webpack_require__.r(__webpack_exports__);
\**************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "render": function() { return /* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Users_vue_vue_type_template_id_889b7562_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render; },
@@ -3133,6 +3161,7 @@ __webpack_require__.r(__webpack_exports__);
\*************************************************************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "render": function() { return /* binding */ render; },
@@ -3655,6 +3684,7 @@ render._withStripped = true
\*********************************************************************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "render": function() { return /* binding */ render; },
@@ -4170,6 +4200,7 @@ render._withStripped = true
\***************************************************************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "render": function() { return /* binding */ render; },
@@ -4445,6 +4476,7 @@ render._withStripped = true
\*****************************************************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "render": function() { return /* binding */ render; },
@@ -5003,4 +5035,4 @@ render._withStripped = true
/***/ })
}]);
-//# sourceMappingURL=settings-users-settings-users.js.map?v=e2d16f54a53e07c7c5b4 \ No newline at end of file
+//# sourceMappingURL=settings-users-settings-users.js.map?v=3a4fbcc884b49145f7f1 \ No newline at end of file
diff --git a/dist/settings-users-settings-users.js.map b/dist/settings-users-settings-users.js.map
index 291f4c4d669..bd6ef53370c 100644
--- a/dist/settings-users-settings-users.js.map
+++ b/dist/settings-users-settings-users.js.map
@@ -1 +1 @@
-{"version":3,"file":"settings-users-settings-users.js?v=e2d16f54a53e07c7c5b4","mappings":";;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;AClNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;AC5mBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;ACh4BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC7lBA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;ACvCA;;;;;;;;;;;;ACAA;;;;;;;;;;;;ACAA;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;AC1fA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACnfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACnQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["webpack:///nextcloud/apps/settings/src/mixins/UserRowMixin.js","webpack:///nextcloud/apps/settings/src/components/UserList.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/UserList/UserRow.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/UserList/UserRowSimple.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/views/Users.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/UserList/UserRow.vue?vue&type=style&index=0&id=77960baa&scoped=true&lang=scss&","webpack:///nextcloud/apps/settings/src/components/UserList/UserRowSimple.vue?vue&type=style&index=0&lang=scss&","webpack:///nextcloud/apps/settings/src/views/Users.vue?vue&type=style&index=0&id=889b7562&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/UserList.vue?vue&type=style&index=0&id=6cba3aca&scoped=true&lang=css&","webpack://nextcloud/./apps/settings/src/components/UserList/UserRow.vue?bf83","webpack://nextcloud/./apps/settings/src/components/UserList/UserRowSimple.vue?6980","webpack://nextcloud/./apps/settings/src/views/Users.vue?f7e6","webpack://nextcloud/./apps/settings/src/components/UserList.vue?9479","webpack:///nextcloud/apps/settings/src/components/UserList.vue","webpack:///nextcloud/apps/settings/src/components/UserList/UserRow.vue","webpack:///nextcloud/apps/settings/src/components/UserList/UserRowSimple.vue","webpack:///nextcloud/apps/settings/src/views/Users.vue","webpack://nextcloud/./apps/settings/src/components/UserList.vue?e4c2","webpack://nextcloud/./apps/settings/src/components/UserList/UserRow.vue?8c35","webpack://nextcloud/./apps/settings/src/components/UserList/UserRowSimple.vue?8366","webpack://nextcloud/./apps/settings/src/views/Users.vue?083d","webpack:///nextcloud/apps/settings/src/components/UserList.vue?vue&type=template&id=6cba3aca&scoped=true&","webpack:///nextcloud/apps/settings/src/components/UserList/UserRow.vue?vue&type=template&id=77960baa&scoped=true&","webpack:///nextcloud/apps/settings/src/components/UserList/UserRowSimple.vue?vue&type=template&id=ff154a08&","webpack:///nextcloud/apps/settings/src/views/Users.vue?vue&type=template&id=889b7562&scoped=true&"],"sourcesContent":["function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author Greta Doci <gretadoci@gmail.com>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport { generateUrl } from '@nextcloud/router';\nexport default {\n props: {\n user: {\n type: Object,\n required: true\n },\n settings: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n groups: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n subAdminsGroups: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n quotaOptions: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n showConfig: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n languages: {\n type: Array,\n required: true\n },\n externalActions: {\n type: Array,\n default: function _default() {\n return [];\n }\n }\n },\n computed: {\n /* GROUPS MANAGEMENT */\n userGroups: function userGroups() {\n var _this = this;\n\n var userGroups = this.groups.filter(function (group) {\n return _this.user.groups.includes(group.id);\n });\n return userGroups;\n },\n userSubAdminsGroups: function userSubAdminsGroups() {\n var _this2 = this;\n\n var userSubAdminsGroups = this.subAdminsGroups.filter(function (group) {\n return _this2.user.subadmin.includes(group.id);\n });\n return userSubAdminsGroups;\n },\n availableGroups: function availableGroups() {\n var _this3 = this;\n\n return this.groups.map(function (group) {\n // clone object because we don't want\n // to edit the original groups\n var groupClone = Object.assign({}, group); // two settings here:\n // 1. user NOT in group but no permission to add\n // 2. user is in group but no permission to remove\n\n groupClone.$isDisabled = group.canAdd === false && !_this3.user.groups.includes(group.id) || group.canRemove === false && _this3.user.groups.includes(group.id);\n return groupClone;\n });\n },\n\n /* QUOTA MANAGEMENT */\n usedSpace: function usedSpace() {\n if (this.user.quota.used) {\n return t('settings', '{size} used', {\n size: OC.Util.humanFileSize(this.user.quota.used)\n });\n }\n\n return t('settings', '{size} used', {\n size: OC.Util.humanFileSize(0)\n });\n },\n usedQuota: function usedQuota() {\n var quota = this.user.quota.quota;\n\n if (quota > 0) {\n quota = Math.min(100, Math.round(this.user.quota.used / quota * 100));\n } else {\n var usedInGB = this.user.quota.used / (10 * Math.pow(2, 30)); // asymptotic curve approaching 50% at 10GB to visualize used stace with infinite quota\n\n quota = 95 * (1 - 1 / (usedInGB + 1));\n }\n\n return isNaN(quota) ? 0 : quota;\n },\n // Mapping saved values to objects\n userQuota: function userQuota() {\n if (this.user.quota.quota >= 0) {\n // if value is valid, let's map the quotaOptions or return custom quota\n var humanQuota = OC.Util.humanFileSize(this.user.quota.quota);\n var userQuota = this.quotaOptions.find(function (quota) {\n return quota.id === humanQuota;\n });\n return userQuota || {\n id: humanQuota,\n label: humanQuota\n };\n } else if (this.user.quota.quota === 'default') {\n // default quota is replaced by the proper value on load\n return this.quotaOptions[0];\n }\n\n return this.quotaOptions[1]; // unlimited\n },\n\n /* PASSWORD POLICY? */\n minPasswordLength: function minPasswordLength() {\n return this.$store.getters.getPasswordPolicyMinLength;\n },\n\n /* LANGUAGE */\n userLanguage: function userLanguage() {\n var _this4 = this;\n\n var availableLanguages = this.languages[0].languages.concat(this.languages[1].languages);\n var userLang = availableLanguages.find(function (lang) {\n return lang.code === _this4.user.language;\n });\n\n if (_typeof(userLang) !== 'object' && this.user.language !== '') {\n return {\n code: this.user.language,\n name: this.user.language\n };\n } else if (this.user.language === '') {\n return false;\n }\n\n return userLang;\n },\n\n /* LAST LOGIN */\n userLastLoginTooltip: function userLastLoginTooltip() {\n if (this.user.lastLogin > 0) {\n return OC.Util.formatDate(this.user.lastLogin);\n }\n\n return '';\n },\n userLastLogin: function userLastLogin() {\n if (this.user.lastLogin > 0) {\n return OC.Util.relativeModifiedDate(this.user.lastLogin);\n }\n\n return t('settings', 'Never');\n }\n },\n methods: {\n /**\n * Generate avatar url\n *\n * @param {string} user The user name\n * @param {int} size Size integer, default 32\n * @return {string}\n */\n generateAvatar: function generateAvatar(user) {\n var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 32;\n return generateUrl('/avatar/{user}/{size}?v={version}', {\n user: user,\n size: size,\n version: oc_userconfig.avatar.version\n });\n }\n }\n};","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport { subscribe, unsubscribe } from '@nextcloud/event-bus';\nimport InfiniteLoading from 'vue-infinite-loading';\nimport Vue from 'vue';\nimport { Modal } from '@nextcloud/vue';\nimport Multiselect from '@nextcloud/vue/dist/Components/Multiselect';\nimport userRow from './UserList/UserRow';\nvar unlimitedQuota = {\n id: 'none',\n label: t('settings', 'Unlimited')\n};\nvar defaultQuota = {\n id: 'default',\n label: t('settings', 'Default quota')\n};\nvar newUser = {\n id: '',\n displayName: '',\n password: '',\n mailAddress: '',\n groups: [],\n subAdminsGroups: [],\n quota: defaultQuota,\n language: {\n code: 'en',\n name: t('settings', 'Default language')\n }\n};\nexport default {\n name: 'UserList',\n components: {\n Modal: Modal,\n userRow: userRow,\n Multiselect: Multiselect,\n InfiniteLoading: InfiniteLoading\n },\n props: {\n users: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n showConfig: {\n type: Object,\n required: true\n },\n selectedGroup: {\n type: String,\n default: null\n },\n externalActions: {\n type: Array,\n default: function _default() {\n return [];\n }\n }\n },\n data: function data() {\n return {\n unlimitedQuota: unlimitedQuota,\n defaultQuota: defaultQuota,\n loading: {\n all: false,\n groups: false\n },\n scrolled: false,\n searchQuery: '',\n newUser: Object.assign({}, newUser)\n };\n },\n computed: {\n settings: function settings() {\n return this.$store.getters.getServerData;\n },\n selectedGroupDecoded: function selectedGroupDecoded() {\n return decodeURIComponent(this.selectedGroup);\n },\n filteredUsers: function filteredUsers() {\n if (this.selectedGroup === 'disabled') {\n return this.users.filter(function (user) {\n return user.enabled === false;\n });\n }\n\n if (!this.settings.isAdmin) {\n // we don't want subadmins to edit themselves\n return this.users.filter(function (user) {\n return user.enabled !== false;\n });\n }\n\n return this.users.filter(function (user) {\n return user.enabled !== false;\n });\n },\n groups: function groups() {\n // data provided php side + remove the disabled group\n return this.$store.getters.getGroups.filter(function (group) {\n return group.id !== 'disabled';\n }).sort(function (a, b) {\n return a.name.localeCompare(b.name);\n });\n },\n canAddGroups: function canAddGroups() {\n // disabled if no permission to add new users to group\n return this.groups.map(function (group) {\n // clone object because we don't want\n // to edit the original groups\n group = Object.assign({}, group);\n group.$isDisabled = group.canAdd === false;\n return group;\n });\n },\n subAdminsGroups: function subAdminsGroups() {\n // data provided php side\n return this.$store.getters.getSubadminGroups;\n },\n quotaOptions: function quotaOptions() {\n // convert the preset array into objects\n var quotaPreset = this.settings.quotaPreset.reduce(function (acc, cur) {\n return acc.concat({\n id: cur,\n label: cur\n });\n }, []); // add default presets\n\n if (this.settings.allowUnlimitedQuota) {\n quotaPreset.unshift(this.unlimitedQuota);\n }\n\n quotaPreset.unshift(this.defaultQuota);\n return quotaPreset;\n },\n minPasswordLength: function minPasswordLength() {\n return this.$store.getters.getPasswordPolicyMinLength;\n },\n usersOffset: function usersOffset() {\n return this.$store.getters.getUsersOffset;\n },\n usersLimit: function usersLimit() {\n return this.$store.getters.getUsersLimit;\n },\n usersCount: function usersCount() {\n return this.users.length;\n },\n\n /* LANGUAGES */\n languages: function languages() {\n return [{\n label: t('settings', 'Common languages'),\n languages: this.settings.languages.commonLanguages\n }, {\n label: t('settings', 'Other languages'),\n languages: this.settings.languages.otherLanguages\n }];\n }\n },\n watch: {\n // watch url change and group select\n selectedGroup: function selectedGroup(val, old) {\n // if selected is the disabled group but it's empty\n this.redirectIfDisabled();\n this.$store.commit('resetUsers');\n this.$refs.infiniteLoading.stateChanger.reset();\n this.setNewUserDefaultGroup(val);\n },\n // make sure the infiniteLoading state is changed if we manually\n // add/remove data from the store\n usersCount: function usersCount(val, old) {\n // deleting the last user, reset the list\n if (val === 0 && old === 1) {\n this.$refs.infiniteLoading.stateChanger.reset(); // adding the first user, warn the infiniteLoader that\n // the list is not empty anymore (we don't fetch the newly\n // added user as we already have all the info we need)\n } else if (val === 1 && old === 0) {\n this.$refs.infiniteLoading.stateChanger.loaded();\n }\n }\n },\n mounted: function mounted() {\n if (!this.settings.canChangePassword) {\n OC.Notification.showTemporary(t('settings', 'Password change is disabled because the master key is disabled'));\n }\n /**\n * Reset and init new user form\n */\n\n\n this.resetForm();\n /**\n * Register search\n */\n\n subscribe('nextcloud:unified-search.search', this.search);\n subscribe('nextcloud:unified-search.reset', this.resetSearch);\n /**\n * If disabled group but empty, redirect\n */\n\n this.redirectIfDisabled();\n },\n beforeDestroy: function beforeDestroy() {\n unsubscribe('nextcloud:unified-search.search', this.search);\n unsubscribe('nextcloud:unified-search.reset', this.resetSearch);\n },\n methods: {\n onScroll: function onScroll(event) {\n this.scrolled = event.target.scrollTo > 0;\n },\n\n /**\n * Validate quota string to make sure it's a valid human file size\n *\n * @param {string} quota Quota in readable format '5 GB'\n * @return {object}\n */\n validateQuota: function validateQuota(quota) {\n // only used for new presets sent through @Tag\n var validQuota = OC.Util.computerFileSize(quota);\n\n if (validQuota !== null && validQuota >= 0) {\n // unify format output\n quota = OC.Util.humanFileSize(OC.Util.computerFileSize(quota));\n this.newUser.quota = {\n id: quota,\n label: quota\n };\n return this.newUser.quota;\n } // Default is unlimited\n\n\n this.newUser.quota = this.quotaOptions[0];\n return this.quotaOptions[0];\n },\n infiniteHandler: function infiniteHandler($state) {\n var _this = this;\n\n this.$store.dispatch('getUsers', {\n offset: this.usersOffset,\n limit: this.usersLimit,\n group: this.selectedGroup !== 'disabled' ? this.selectedGroup : '',\n search: this.searchQuery\n }).then(function (usersCount) {\n if (usersCount > 0) {\n $state.loaded();\n }\n\n if (usersCount < _this.usersLimit) {\n $state.complete();\n }\n });\n },\n\n /* SEARCH */\n search: function search(_ref) {\n var query = _ref.query;\n this.searchQuery = query;\n this.$store.commit('resetUsers');\n this.$refs.infiniteLoading.stateChanger.reset();\n },\n resetSearch: function resetSearch() {\n this.search({\n query: ''\n });\n },\n resetForm: function resetForm() {\n // revert form to original state\n this.newUser = Object.assign({}, newUser);\n /**\n * Init default language from server data. The use of this.settings\n * requires a computed variable, which break the v-model binding of the form,\n * this is a much easier solution than getter and setter on a computed var\n */\n\n if (this.settings.defaultLanguage) {\n Vue.set(this.newUser.language, 'code', this.settings.defaultLanguage);\n }\n /**\n * In case the user directly loaded the user list within a group\n * the watch won't be triggered. We need to initialize it.\n */\n\n\n this.setNewUserDefaultGroup(this.selectedGroup);\n this.loading.all = false;\n },\n createUser: function createUser() {\n var _this2 = this;\n\n this.loading.all = true;\n this.$store.dispatch('addUser', {\n userid: this.newUser.id,\n password: this.newUser.password,\n displayName: this.newUser.displayName,\n email: this.newUser.mailAddress,\n groups: this.newUser.groups.map(function (group) {\n return group.id;\n }),\n subadmin: this.newUser.subAdminsGroups.map(function (group) {\n return group.id;\n }),\n quota: this.newUser.quota.id,\n language: this.newUser.language.code\n }).then(function () {\n _this2.resetForm();\n\n _this2.$refs.newusername.focus();\n\n _this2.closeModal();\n }).catch(function (error) {\n _this2.loading.all = false;\n\n if (error.response && error.response.data && error.response.data.ocs && error.response.data.ocs.meta) {\n var statuscode = error.response.data.ocs.meta.statuscode;\n\n if (statuscode === 102) {\n // wrong username\n _this2.$refs.newusername.focus();\n } else if (statuscode === 107) {\n // wrong password\n _this2.$refs.newuserpassword.focus();\n }\n }\n });\n },\n setNewUserDefaultGroup: function setNewUserDefaultGroup(value) {\n if (value && value.length > 0) {\n // setting new user default group to the current selected one\n var currentGroup = this.groups.find(function (group) {\n return group.id === value;\n });\n\n if (currentGroup) {\n this.newUser.groups = [currentGroup];\n return;\n }\n } // fallback, empty selected group\n\n\n this.newUser.groups = [];\n },\n\n /**\n * Create a new group\n *\n * @param {string} gid Group id\n * @return {Promise}\n */\n createGroup: function createGroup(gid) {\n var _this3 = this;\n\n this.loading.groups = true;\n this.$store.dispatch('addGroup', gid).then(function (group) {\n _this3.newUser.groups.push(_this3.groups.find(function (group) {\n return group.id === gid;\n }));\n\n _this3.loading.groups = false;\n }).catch(function () {\n _this3.loading.groups = false;\n });\n return this.$store.getters.getGroups[this.groups.length];\n },\n\n /**\n * If the selected group is the disabled group but the count is 0\n * redirect to the all users page.\n * we only check for 0 because we don't have the count on ldap\n * and we therefore set the usercount to -1 in this specific case\n */\n redirectIfDisabled: function redirectIfDisabled() {\n var allGroups = this.$store.getters.getGroups;\n\n if (this.selectedGroup === 'disabled' && allGroups.findIndex(function (group) {\n return group.id === 'disabled' && group.usercount === 0;\n }) > -1) {\n // disabled group is empty, redirection to all users\n this.$router.push({\n name: 'users'\n });\n this.$refs.infiniteLoading.stateChanger.reset();\n }\n },\n closeModal: function closeModal() {\n // eslint-disable-next-line vue/no-mutating-props\n this.showConfig.showNewUserForm = false;\n }\n }\n};","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport ClickOutside from 'vue-click-outside';\nimport Vue from 'vue';\nimport VTooltip from 'v-tooltip';\nimport { PopoverMenu, Multiselect, Actions, ActionButton } from '@nextcloud/vue';\nimport UserRowSimple from './UserRowSimple';\nimport UserRowMixin from '../../mixins/UserRowMixin';\nVue.use(VTooltip);\nexport default {\n name: 'UserRow',\n components: {\n UserRowSimple: UserRowSimple,\n PopoverMenu: PopoverMenu,\n Actions: Actions,\n ActionButton: ActionButton,\n Multiselect: Multiselect\n },\n directives: {\n ClickOutside: ClickOutside\n },\n mixins: [UserRowMixin],\n props: {\n user: {\n type: Object,\n required: true\n },\n settings: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n groups: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n subAdminsGroups: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n quotaOptions: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n showConfig: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n languages: {\n type: Array,\n required: true\n },\n externalActions: {\n type: Array,\n default: function _default() {\n return [];\n }\n }\n },\n data: function data() {\n return {\n rand: parseInt(Math.random() * 1000),\n openedMenu: false,\n feedbackMessage: '',\n editing: false,\n loading: {\n all: false,\n displayName: false,\n password: false,\n mailAddress: false,\n groups: false,\n subadmins: false,\n quota: false,\n delete: false,\n disable: false,\n languages: false,\n wipe: false\n }\n };\n },\n computed: {\n /* USER POPOVERMENU ACTIONS */\n userActions: function userActions() {\n var actions = [{\n icon: 'icon-delete',\n text: t('settings', 'Delete user'),\n action: this.deleteUser\n }, {\n icon: 'icon-delete',\n text: t('settings', 'Wipe all devices'),\n action: this.wipeUserDevices\n }, {\n icon: this.user.enabled ? 'icon-close' : 'icon-add',\n text: this.user.enabled ? t('settings', 'Disable user') : t('settings', 'Enable user'),\n action: this.enableDisableUser\n }];\n\n if (this.user.email !== null && this.user.email !== '') {\n actions.push({\n icon: 'icon-mail',\n text: t('settings', 'Resend welcome email'),\n action: this.sendWelcomeMail\n });\n }\n\n return actions.concat(this.externalActions);\n }\n },\n methods: {\n /* MENU HANDLING */\n toggleMenu: function toggleMenu() {\n this.openedMenu = !this.openedMenu;\n },\n hideMenu: function hideMenu() {\n this.openedMenu = false;\n },\n wipeUserDevices: function wipeUserDevices() {\n var _this = this;\n\n var userid = this.user.id;\n OC.dialogs.confirmDestructive(t('settings', 'In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet.', {\n userid: userid\n }), t('settings', 'Remote wipe of devices'), {\n type: OC.dialogs.YES_NO_BUTTONS,\n confirm: t('settings', 'Wipe {userid}\\'s devices', {\n userid: userid\n }),\n confirmClasses: 'error',\n cancel: t('settings', 'Cancel')\n }, function (result) {\n if (result) {\n _this.loading.wipe = true;\n _this.loading.all = true;\n\n _this.$store.dispatch('wipeUserDevices', userid).then(function () {\n _this.loading.wipe = false;\n _this.loading.all = false;\n });\n }\n }, true);\n },\n deleteUser: function deleteUser() {\n var _this2 = this;\n\n var userid = this.user.id;\n OC.dialogs.confirmDestructive(t('settings', 'Fully delete {userid}\\'s account including all their personal files, app data, etc.', {\n userid: userid\n }), t('settings', 'Account deletion'), {\n type: OC.dialogs.YES_NO_BUTTONS,\n confirm: t('settings', 'Delete {userid}\\'s account', {\n userid: userid\n }),\n confirmClasses: 'error',\n cancel: t('settings', 'Cancel')\n }, function (result) {\n if (result) {\n _this2.loading.delete = true;\n _this2.loading.all = true;\n return _this2.$store.dispatch('deleteUser', userid).then(function () {\n _this2.loading.delete = false;\n _this2.loading.all = false;\n });\n }\n }, true);\n },\n enableDisableUser: function enableDisableUser() {\n var _this3 = this;\n\n this.loading.delete = true;\n this.loading.all = true;\n var userid = this.user.id;\n var enabled = !this.user.enabled;\n return this.$store.dispatch('enableDisableUser', {\n userid: userid,\n enabled: enabled\n }).then(function () {\n _this3.loading.delete = false;\n _this3.loading.all = false;\n });\n },\n\n /**\n * Set user displayName\n *\n * @param {string} displayName The display name\n */\n updateDisplayName: function updateDisplayName() {\n var _this4 = this;\n\n var displayName = this.$refs.displayName.value;\n this.loading.displayName = true;\n this.$store.dispatch('setUserData', {\n userid: this.user.id,\n key: 'displayname',\n value: displayName\n }).then(function () {\n _this4.loading.displayName = false;\n _this4.$refs.displayName.value = displayName;\n });\n },\n\n /**\n * Set user password\n *\n * @param {string} password The email adress\n */\n updatePassword: function updatePassword() {\n var _this5 = this;\n\n var password = this.$refs.password.value;\n this.loading.password = true;\n this.$store.dispatch('setUserData', {\n userid: this.user.id,\n key: 'password',\n value: password\n }).then(function () {\n _this5.loading.password = false;\n _this5.$refs.password.value = ''; // empty & show placeholder\n });\n },\n\n /**\n * Set user mailAddress\n *\n * @param {string} mailAddress The email adress\n */\n updateEmail: function updateEmail() {\n var _this6 = this;\n\n var mailAddress = this.$refs.mailAddress.value;\n this.loading.mailAddress = true;\n this.$store.dispatch('setUserData', {\n userid: this.user.id,\n key: 'email',\n value: mailAddress\n }).then(function () {\n _this6.loading.mailAddress = false;\n _this6.$refs.mailAddress.value = mailAddress;\n });\n },\n\n /**\n * Create a new group and add user to it\n *\n * @param {string} gid Group id\n */\n createGroup: function createGroup(gid) {\n var _this7 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n var userid;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _this7.loading = {\n groups: true,\n subadmins: true\n };\n _context.prev = 1;\n _context.next = 4;\n return _this7.$store.dispatch('addGroup', gid);\n\n case 4:\n userid = _this7.user.id;\n _context.next = 7;\n return _this7.$store.dispatch('addUserGroup', {\n userid: userid,\n gid: gid\n });\n\n case 7:\n _context.next = 12;\n break;\n\n case 9:\n _context.prev = 9;\n _context.t0 = _context[\"catch\"](1);\n console.error(_context.t0);\n\n case 12:\n _context.prev = 12;\n _this7.loading = {\n groups: false,\n subadmins: false\n };\n return _context.finish(12);\n\n case 15:\n return _context.abrupt(\"return\", _this7.$store.getters.getGroups[_this7.groups.length]);\n\n case 16:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[1, 9, 12, 15]]);\n }))();\n },\n\n /**\n * Add user to group\n *\n * @param {object} group Group object\n */\n addUserGroup: function addUserGroup(group) {\n var _this8 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n var userid, gid;\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!(group.canAdd === false)) {\n _context2.next = 2;\n break;\n }\n\n return _context2.abrupt(\"return\", false);\n\n case 2:\n _this8.loading.groups = true;\n userid = _this8.user.id;\n gid = group.id;\n _context2.prev = 5;\n _context2.next = 8;\n return _this8.$store.dispatch('addUserGroup', {\n userid: userid,\n gid: gid\n });\n\n case 8:\n _context2.next = 13;\n break;\n\n case 10:\n _context2.prev = 10;\n _context2.t0 = _context2[\"catch\"](5);\n console.error(_context2.t0);\n\n case 13:\n _context2.prev = 13;\n _this8.loading.groups = false;\n return _context2.finish(13);\n\n case 16:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, null, [[5, 10, 13, 16]]);\n }))();\n },\n\n /**\n * Remove user from group\n *\n * @param {object} group Group object\n */\n removeUserGroup: function removeUserGroup(group) {\n var _this9 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {\n var userid, gid;\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n if (!(group.canRemove === false)) {\n _context3.next = 2;\n break;\n }\n\n return _context3.abrupt(\"return\", false);\n\n case 2:\n _this9.loading.groups = true;\n userid = _this9.user.id;\n gid = group.id;\n _context3.prev = 5;\n _context3.next = 8;\n return _this9.$store.dispatch('removeUserGroup', {\n userid: userid,\n gid: gid\n });\n\n case 8:\n _this9.loading.groups = false; // remove user from current list if current list is the removed group\n\n if (_this9.$route.params.selectedGroup === gid) {\n _this9.$store.commit('deleteUser', userid);\n }\n\n _context3.next = 15;\n break;\n\n case 12:\n _context3.prev = 12;\n _context3.t0 = _context3[\"catch\"](5);\n _this9.loading.groups = false;\n\n case 15:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, null, [[5, 12]]);\n }))();\n },\n\n /**\n * Add user to group\n *\n * @param {object} group Group object\n */\n addUserSubAdmin: function addUserSubAdmin(group) {\n var _this10 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {\n var userid, gid;\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _this10.loading.subadmins = true;\n userid = _this10.user.id;\n gid = group.id;\n _context4.prev = 3;\n _context4.next = 6;\n return _this10.$store.dispatch('addUserSubAdmin', {\n userid: userid,\n gid: gid\n });\n\n case 6:\n _this10.loading.subadmins = false;\n _context4.next = 12;\n break;\n\n case 9:\n _context4.prev = 9;\n _context4.t0 = _context4[\"catch\"](3);\n console.error(_context4.t0);\n\n case 12:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, null, [[3, 9]]);\n }))();\n },\n\n /**\n * Remove user from group\n *\n * @param {object} group Group object\n */\n removeUserSubAdmin: function removeUserSubAdmin(group) {\n var _this11 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {\n var userid, gid;\n return regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _this11.loading.subadmins = true;\n userid = _this11.user.id;\n gid = group.id;\n _context5.prev = 3;\n _context5.next = 6;\n return _this11.$store.dispatch('removeUserSubAdmin', {\n userid: userid,\n gid: gid\n });\n\n case 6:\n _context5.next = 11;\n break;\n\n case 8:\n _context5.prev = 8;\n _context5.t0 = _context5[\"catch\"](3);\n console.error(_context5.t0);\n\n case 11:\n _context5.prev = 11;\n _this11.loading.subadmins = false;\n return _context5.finish(11);\n\n case 14:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5, null, [[3, 8, 11, 14]]);\n }))();\n },\n\n /**\n * Dispatch quota set request\n *\n * @param {string | object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}\n * @return {string}\n */\n setUserQuota: function setUserQuota() {\n var _arguments = arguments,\n _this12 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {\n var quota;\n return regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n quota = _arguments.length > 0 && _arguments[0] !== undefined ? _arguments[0] : 'none';\n _this12.loading.quota = true; // ensure we only send the preset id\n\n quota = quota.id ? quota.id : quota;\n _context6.prev = 3;\n _context6.next = 6;\n return _this12.$store.dispatch('setUserData', {\n userid: _this12.user.id,\n key: 'quota',\n value: quota\n });\n\n case 6:\n _context6.next = 11;\n break;\n\n case 8:\n _context6.prev = 8;\n _context6.t0 = _context6[\"catch\"](3);\n console.error(_context6.t0);\n\n case 11:\n _context6.prev = 11;\n _this12.loading.quota = false;\n return _context6.finish(11);\n\n case 14:\n return _context6.abrupt(\"return\", quota);\n\n case 15:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6, null, [[3, 8, 11, 14]]);\n }))();\n },\n\n /**\n * Validate quota string to make sure it's a valid human file size\n *\n * @param {string} quota Quota in readable format '5 GB'\n * @return {Promise|boolean}\n */\n validateQuota: function validateQuota(quota) {\n // only used for new presets sent through @Tag\n var validQuota = OC.Util.computerFileSize(quota);\n\n if (validQuota !== null && validQuota >= 0) {\n // unify format output\n return this.setUserQuota(OC.Util.humanFileSize(OC.Util.computerFileSize(quota)));\n } // if no valid do not change\n\n\n return false;\n },\n\n /**\n * Dispatch language set request\n *\n * @param {object} lang language object {code:'en', name:'English'}\n * @return {object}\n */\n setUserLanguage: function setUserLanguage(lang) {\n var _this13 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() {\n return regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n _this13.loading.languages = true; // ensure we only send the preset id\n\n _context7.prev = 1;\n _context7.next = 4;\n return _this13.$store.dispatch('setUserData', {\n userid: _this13.user.id,\n key: 'language',\n value: lang.code\n });\n\n case 4:\n _context7.next = 9;\n break;\n\n case 6:\n _context7.prev = 6;\n _context7.t0 = _context7[\"catch\"](1);\n console.error(_context7.t0);\n\n case 9:\n _context7.prev = 9;\n _this13.loading.languages = false;\n return _context7.finish(9);\n\n case 12:\n return _context7.abrupt(\"return\", lang);\n\n case 13:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee7, null, [[1, 6, 9, 12]]);\n }))();\n },\n\n /**\n * Dispatch new welcome mail request\n */\n sendWelcomeMail: function sendWelcomeMail() {\n var _this14 = this;\n\n this.loading.all = true;\n this.$store.dispatch('sendWelcomeMail', this.user.id).then(function (success) {\n if (success) {\n // Show feedback to indicate the success\n _this14.feedbackMessage = t('setting', 'Welcome mail sent!');\n setTimeout(function () {\n _this14.feedbackMessage = '';\n }, 2000);\n }\n\n _this14.loading.all = false;\n });\n }\n }\n};","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport PopoverMenu from '@nextcloud/vue/dist/Components/PopoverMenu';\nimport Actions from '@nextcloud/vue/dist/Components/Actions';\nimport ActionButton from '@nextcloud/vue/dist/Components/ActionButton';\nimport ClickOutside from 'vue-click-outside';\nimport { getCurrentUser } from '@nextcloud/auth';\nimport UserRowMixin from '../../mixins/UserRowMixin';\nexport default {\n name: 'UserRowSimple',\n components: {\n PopoverMenu: PopoverMenu,\n ActionButton: ActionButton,\n Actions: Actions\n },\n directives: {\n ClickOutside: ClickOutside\n },\n mixins: [UserRowMixin],\n props: {\n user: {\n type: Object,\n required: true\n },\n loading: {\n type: Object,\n required: true\n },\n showConfig: {\n type: Object,\n required: true\n },\n userActions: {\n type: Array,\n required: true\n },\n openedMenu: {\n type: Boolean,\n required: true\n },\n feedbackMessage: {\n type: String,\n required: true\n },\n subAdminsGroups: {\n type: Array,\n required: true\n },\n settings: {\n type: Object,\n required: true\n }\n },\n computed: {\n userGroupsLabels: function userGroupsLabels() {\n return this.userGroups.map(function (group) {\n return group.name;\n }).join(', ');\n },\n userSubAdminsGroupsLabels: function userSubAdminsGroupsLabels() {\n return this.userSubAdminsGroups.map(function (group) {\n return group.name;\n }).join(', ');\n },\n usedSpace: function usedSpace() {\n if (this.user.quota.used) {\n return t('settings', '{size} used', {\n size: OC.Util.humanFileSize(this.user.quota.used)\n });\n }\n\n return t('settings', '{size} used', {\n size: OC.Util.humanFileSize(0)\n });\n },\n canEdit: function canEdit() {\n return getCurrentUser().uid !== this.user.id || this.settings.isAdmin;\n },\n userQuota: function userQuota() {\n var quota = this.user.quota.quota;\n\n if (quota === 'default') {\n quota = this.settings.defaultQuota;\n\n if (quota !== 'none') {\n // convert to numeric value to match what the server would usually return\n quota = OC.Util.computerFileSize(quota);\n }\n } // when the default quota is unlimited, the server returns -3 here, map it to \"none\"\n\n\n if (quota === 'none' || quota === -3) {\n return t('settings', 'Unlimited');\n } else if (quota >= 0) {\n return OC.Util.humanFileSize(quota);\n }\n\n return OC.Util.humanFileSize(0);\n }\n },\n methods: {\n toggleMenu: function toggleMenu() {\n this.$emit('update:openedMenu', !this.openedMenu);\n },\n hideMenu: function hideMenu() {\n this.$emit('update:openedMenu', false);\n },\n toggleEdit: function toggleEdit() {\n this.$emit('update:editing', true);\n }\n }\n};","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport ActionButton from '@nextcloud/vue/dist/Components/ActionButton';\nimport AppContent from '@nextcloud/vue/dist/Components/AppContent';\nimport AppNavigation from '@nextcloud/vue/dist/Components/AppNavigation';\nimport AppNavigationCaption from '@nextcloud/vue/dist/Components/AppNavigationCaption';\nimport AppNavigationCounter from '@nextcloud/vue/dist/Components/AppNavigationCounter';\nimport AppNavigationItem from '@nextcloud/vue/dist/Components/AppNavigationItem';\nimport AppNavigationNew from '@nextcloud/vue/dist/Components/AppNavigationNew';\nimport AppNavigationSettings from '@nextcloud/vue/dist/Components/AppNavigationSettings';\nimport axios from '@nextcloud/axios';\nimport Content from '@nextcloud/vue/dist/Components/Content';\nimport { generateUrl } from '@nextcloud/router';\nimport Multiselect from '@nextcloud/vue/dist/Components/Multiselect';\nimport Vue from 'vue';\nimport VueLocalStorage from 'vue-localstorage';\nimport UserList from '../components/UserList';\nVue.use(VueLocalStorage);\nexport default {\n name: 'Users',\n components: {\n ActionButton: ActionButton,\n AppContent: AppContent,\n AppNavigation: AppNavigation,\n AppNavigationCaption: AppNavigationCaption,\n AppNavigationCounter: AppNavigationCounter,\n AppNavigationItem: AppNavigationItem,\n AppNavigationNew: AppNavigationNew,\n AppNavigationSettings: AppNavigationSettings,\n Content: Content,\n Multiselect: Multiselect,\n UserList: UserList\n },\n props: {\n selectedGroup: {\n type: String,\n default: null\n }\n },\n data: function data() {\n return {\n // default quota is set to unlimited\n unlimitedQuota: {\n id: 'none',\n label: t('settings', 'Unlimited')\n },\n // temporary value used for multiselect change\n selectedQuota: false,\n externalActions: [],\n loadingAddGroup: false,\n loadingSendMail: false,\n showConfig: {\n showStoragePath: false,\n showUserBackend: false,\n showLastLogin: false,\n showNewUserForm: false,\n showLanguages: false\n }\n };\n },\n computed: {\n selectedGroupDecoded: function selectedGroupDecoded() {\n return this.selectedGroup ? decodeURIComponent(this.selectedGroup) : null;\n },\n users: function users() {\n return this.$store.getters.getUsers;\n },\n groups: function groups() {\n return this.$store.getters.getGroups;\n },\n usersOffset: function usersOffset() {\n return this.$store.getters.getUsersOffset;\n },\n usersLimit: function usersLimit() {\n return this.$store.getters.getUsersLimit;\n },\n // Local settings\n showLanguages: {\n get: function get() {\n return this.getLocalstorage('showLanguages');\n },\n set: function set(status) {\n this.setLocalStorage('showLanguages', status);\n }\n },\n showLastLogin: {\n get: function get() {\n return this.getLocalstorage('showLastLogin');\n },\n set: function set(status) {\n this.setLocalStorage('showLastLogin', status);\n }\n },\n showUserBackend: {\n get: function get() {\n return this.getLocalstorage('showUserBackend');\n },\n set: function set(status) {\n this.setLocalStorage('showUserBackend', status);\n }\n },\n showStoragePath: {\n get: function get() {\n return this.getLocalstorage('showStoragePath');\n },\n set: function set(status) {\n this.setLocalStorage('showStoragePath', status);\n }\n },\n userCount: function userCount() {\n return this.$store.getters.getUserCount;\n },\n settings: function settings() {\n return this.$store.getters.getServerData;\n },\n // default quota\n quotaOptions: function quotaOptions() {\n // convert the preset array into objects\n var quotaPreset = this.settings.quotaPreset.reduce(function (acc, cur) {\n return acc.concat({\n id: cur,\n label: cur\n });\n }, []); // add default presets\n\n if (this.settings.allowUnlimitedQuota) {\n quotaPreset.unshift(this.unlimitedQuota);\n }\n\n return quotaPreset;\n },\n // mapping saved values to objects\n defaultQuota: {\n get: function get() {\n if (this.selectedQuota !== false) {\n return this.selectedQuota;\n }\n\n if (this.settings.defaultQuota !== this.unlimitedQuota.id && OC.Util.computerFileSize(this.settings.defaultQuota) >= 0) {\n // if value is valid, let's map the quotaOptions or return custom quota\n return {\n id: this.settings.defaultQuota,\n label: this.settings.defaultQuota\n };\n }\n\n return this.unlimitedQuota; // unlimited\n },\n set: function set(quota) {\n this.selectedQuota = quota;\n }\n },\n sendWelcomeMail: {\n get: function get() {\n return this.settings.newUserSendEmail;\n },\n set: function set(value) {\n var _this = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n _this.loadingSendMail = true;\n\n _this.$store.commit('setServerData', _objectSpread(_objectSpread({}, _this.settings), {}, {\n newUserSendEmail: value\n }));\n\n _context.next = 5;\n return axios.post(generateUrl('/settings/users/preferences/newUser.sendEmail'), {\n value: value ? 'yes' : 'no'\n });\n\n case 5:\n _context.next = 10;\n break;\n\n case 7:\n _context.prev = 7;\n _context.t0 = _context[\"catch\"](0);\n console.error('could not update newUser.sendEmail preference: ' + _context.t0.message, _context.t0);\n\n case 10:\n _context.prev = 10;\n _this.loadingSendMail = false;\n return _context.finish(10);\n\n case 13:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[0, 7, 10, 13]]);\n }))();\n }\n },\n groupList: function groupList() {\n var _this2 = this;\n\n var groups = Array.isArray(this.groups) ? this.groups : [];\n return groups // filter out disabled and admin\n .filter(function (group) {\n return group.id !== 'disabled' && group.id !== 'admin';\n }).map(function (group) {\n return _this2.formatGroupMenu(group);\n });\n },\n adminGroupMenu: function adminGroupMenu() {\n return this.formatGroupMenu(this.groups.find(function (group) {\n return group.id === 'admin';\n }));\n },\n disabledGroupMenu: function disabledGroupMenu() {\n return this.formatGroupMenu(this.groups.find(function (group) {\n return group.id === 'disabled';\n }));\n }\n },\n beforeMount: function beforeMount() {\n this.$store.commit('initGroups', {\n groups: this.$store.getters.getServerData.groups,\n orderBy: this.$store.getters.getServerData.sortGroups,\n userCount: this.$store.getters.getServerData.userCount\n });\n this.$store.dispatch('getPasswordPolicyMinLength');\n },\n created: function created() {\n // init the OCA.Settings.UserList object\n // and add the registerAction method\n Object.assign(OCA, {\n Settings: {\n UserList: {\n registerAction: this.registerAction\n }\n }\n });\n },\n methods: {\n showNewUserMenu: function showNewUserMenu() {\n this.showConfig.showNewUserForm = true;\n\n if (this.showConfig.showNewUserForm) {\n Vue.nextTick(function () {\n window.newusername.focus();\n });\n }\n },\n getLocalstorage: function getLocalstorage(key) {\n // force initialization\n var localConfig = this.$localStorage.get(key); // if localstorage is null, fallback to original values\n\n this.showConfig[key] = localConfig !== null ? localConfig === 'true' : this.showConfig[key];\n return this.showConfig[key];\n },\n setLocalStorage: function setLocalStorage(key, status) {\n this.showConfig[key] = status;\n this.$localStorage.set(key, status);\n return status;\n },\n removeGroup: function removeGroup(groupid) {\n var self = this; // TODO migrate to a vue js confirm dialog component\n\n OC.dialogs.confirm(t('settings', 'You are about to remove the group {group}. The users will NOT be deleted.', {\n group: groupid\n }), t('settings', 'Please confirm the group removal '), function (success) {\n if (success) {\n self.$store.dispatch('removeGroup', groupid);\n }\n });\n },\n\n /**\n * Dispatch default quota set request\n *\n * @param {string | object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}\n */\n setDefaultQuota: function setDefaultQuota() {\n var _this3 = this;\n\n var quota = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'none';\n this.$store.dispatch('setAppConfig', {\n app: 'files',\n key: 'default_quota',\n // ensure we only send the preset id\n value: quota.id ? quota.id : quota\n }).then(function () {\n if (_typeof(quota) !== 'object') {\n quota = {\n id: quota,\n label: quota\n };\n }\n\n _this3.defaultQuota = quota;\n });\n },\n\n /**\n * Validate quota string to make sure it's a valid human file size\n *\n * @param {string} quota Quota in readable format '5 GB'\n * @return {Promise|boolean}\n */\n validateQuota: function validateQuota(quota) {\n // only used for new presets sent through @Tag\n var validQuota = OC.Util.computerFileSize(quota);\n\n if (validQuota === null) {\n return this.setDefaultQuota('none');\n } else {\n // unify format output\n return this.setDefaultQuota(OC.Util.humanFileSize(OC.Util.computerFileSize(quota)));\n }\n },\n\n /**\n * Register a new action for the user menu\n *\n * @param {string} icon the icon class\n * @param {string} text the text to display\n * @param {Function} action the function to run\n * @return {Array}\n */\n registerAction: function registerAction(icon, text, action) {\n this.externalActions.push({\n icon: icon,\n text: text,\n action: action\n });\n return this.externalActions;\n },\n\n /**\n * Create a new group\n *\n * @param {string} gid The group id\n */\n createGroup: function createGroup(gid) {\n var _this4 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!(gid.trim() === '')) {\n _context2.next = 2;\n break;\n }\n\n return _context2.abrupt(\"return\");\n\n case 2:\n _context2.prev = 2;\n _this4.loadingAddGroup = true;\n _context2.next = 6;\n return _this4.$store.dispatch('addGroup', gid.trim());\n\n case 6:\n _this4.hideAddGroupForm();\n\n _context2.next = 9;\n return _this4.$router.push({\n name: 'group',\n params: {\n selectedGroup: encodeURIComponent(gid.trim())\n }\n });\n\n case 9:\n _context2.next = 14;\n break;\n\n case 11:\n _context2.prev = 11;\n _context2.t0 = _context2[\"catch\"](2);\n\n _this4.showAddGroupForm();\n\n case 14:\n _context2.prev = 14;\n _this4.loadingAddGroup = false;\n return _context2.finish(14);\n\n case 17:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, null, [[2, 11, 14, 17]]);\n }))();\n },\n showAddGroupForm: function showAddGroupForm() {\n var _this5 = this;\n\n this.$refs.addGroup.editingActive = true;\n this.$refs.addGroup.onMenuToggle(false);\n this.$nextTick(function () {\n _this5.$refs.addGroup.$refs.editingInput.focusInput();\n });\n },\n hideAddGroupForm: function hideAddGroupForm() {\n this.$refs.addGroup.editingActive = false;\n this.$refs.addGroup.editingValue = '';\n },\n\n /**\n * Format a group to a menu entry\n *\n * @param {object} group the group\n * @return {object}\n */\n formatGroupMenu: function formatGroupMenu(group) {\n var item = {};\n\n if (typeof group === 'undefined') {\n return {};\n }\n\n item.id = group.id;\n item.title = group.name;\n item.usercount = group.usercount; // users count for all groups\n\n if (group.usercount - group.disabled > 0) {\n item.count = group.usercount - group.disabled;\n }\n\n return item;\n }\n }\n};","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".row--menu-opened[data-v-77960baa] {\\n z-index: 1 !important;\\n}\\n.row[data-v-77960baa] .multiselect__single {\\n z-index: auto !important;\\n}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".cellText {\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n}\\n.icon-more {\\n background-color: var(--color-main-background);\\n border: 0;\\n}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".app-navigation__list #addgroup[data-v-889b7562] .app-navigation-entry__utils {\\n display: none;\\n}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.modal-wrapper[data-v-6cba3aca] {\\n\\tmargin: 2vh 0;\\n\\talign-items: flex-start;\\n}\\n.modal__content[data-v-6cba3aca] {\\n\\tdisplay: flex;\\n\\tpadding: 20px;\\n\\tflex-direction: column;\\n\\talign-items: center;\\n\\ttext-align: center;\\n\\toverflow: auto;\\n}\\n.modal__item[data-v-6cba3aca] {\\n\\tmargin-bottom: 16px;\\n\\twidth: 100%;\\n}\\n.modal__item[data-v-6cba3aca]:not(:focus):not(:active) {\\n\\tborder-color: var(--color-border-dark);\\n}\\n.modal__item[data-v-6cba3aca] .multiselect {\\n\\twidth: 100%;\\n}\\n.user-actions[data-v-6cba3aca] {\\n\\tmargin-top: 20px;\\n}\\n.modal__content[data-v-6cba3aca] .multiselect__single {\\n\\ttext-align: left;\\n\\tbox-sizing: border-box;\\n}\\n.modal__content[data-v-6cba3aca] .multiselect__content-wrapper {\\n\\tbox-sizing: border-box;\\n}\\n.row[data-v-6cba3aca] .multiselect__single {\\n\\tz-index: auto !important;\\n}\\n\\n/* fake input for groups validation */\\ninput#newgroups[data-v-6cba3aca] {\\n\\tposition: absolute;\\n\\topacity: 0;\\n\\t/* The \\\"hidden\\\" input is behind the Multiselect, so in general it does\\n\\t * not receives clicks. However, with Firefox, after the validation\\n\\t * fails, it will receive the first click done on it, so its width needs\\n\\t * to be set to 0 to prevent that (\\\"pointer-events: none\\\" does not\\n\\t * prevent it). */\\n\\twidth: 0;\\n}\\n\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","import api from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRow.vue?vue&type=style&index=0&id=77960baa&scoped=true&lang=scss&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRowSimple.vue?vue&type=style&index=0&lang=scss&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Users.vue?vue&type=style&index=0&id=889b7562&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserList.vue?vue&type=style&index=0&id=6cba3aca&scoped=true&lang=css&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./UserList.vue?vue&type=template&id=6cba3aca&scoped=true&\"\nimport script from \"./UserList.vue?vue&type=script&lang=js&\"\nexport * from \"./UserList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UserList.vue?vue&type=style&index=0&id=6cba3aca&scoped=true&lang=css&\"\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 \"6cba3aca\",\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('6cba3aca')) {\n api.createRecord('6cba3aca', component.options)\n } else {\n api.reload('6cba3aca', component.options)\n }\n module.hot.accept(\"./UserList.vue?vue&type=template&id=6cba3aca&scoped=true&\", function () {\n api.rerender('6cba3aca', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"apps/settings/src/components/UserList.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./UserRow.vue?vue&type=template&id=77960baa&scoped=true&\"\nimport script from \"./UserRow.vue?vue&type=script&lang=js&\"\nexport * from \"./UserRow.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UserRow.vue?vue&type=style&index=0&id=77960baa&scoped=true&lang=scss&\"\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 \"77960baa\",\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('77960baa')) {\n api.createRecord('77960baa', component.options)\n } else {\n api.reload('77960baa', component.options)\n }\n module.hot.accept(\"./UserRow.vue?vue&type=template&id=77960baa&scoped=true&\", function () {\n api.rerender('77960baa', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"apps/settings/src/components/UserList/UserRow.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./UserRowSimple.vue?vue&type=template&id=ff154a08&\"\nimport script from \"./UserRowSimple.vue?vue&type=script&lang=js&\"\nexport * from \"./UserRowSimple.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UserRowSimple.vue?vue&type=style&index=0&lang=scss&\"\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\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('ff154a08')) {\n api.createRecord('ff154a08', component.options)\n } else {\n api.reload('ff154a08', component.options)\n }\n module.hot.accept(\"./UserRowSimple.vue?vue&type=template&id=ff154a08&\", function () {\n api.rerender('ff154a08', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"apps/settings/src/components/UserList/UserRowSimple.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./Users.vue?vue&type=template&id=889b7562&scoped=true&\"\nimport script from \"./Users.vue?vue&type=script&lang=js&\"\nexport * from \"./Users.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Users.vue?vue&type=style&index=0&id=889b7562&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 \"889b7562\",\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('889b7562')) {\n api.createRecord('889b7562', component.options)\n } else {\n api.reload('889b7562', component.options)\n }\n module.hot.accept(\"./Users.vue?vue&type=template&id=889b7562&scoped=true&\", function () {\n api.rerender('889b7562', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"apps/settings/src/views/Users.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserList.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!./UserList.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!./UserRow.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!./UserRow.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!./UserRowSimple.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!./UserRowSimple.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!./Users.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!./Users.vue?vue&type=script&lang=js&\"","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"user-list-grid\",\n attrs: { id: \"app-content\" },\n on: {\n \"&scroll\": function ($event) {\n return _vm.onScroll.apply(null, arguments)\n },\n },\n },\n [\n _vm.showConfig.showNewUserForm\n ? _c(\"Modal\", { on: { close: _vm.closeModal } }, [\n _c(\n \"form\",\n {\n staticClass: \"modal__content\",\n attrs: { id: \"new-user\", disabled: _vm.loading.all },\n on: {\n submit: function ($event) {\n $event.preventDefault()\n return _vm.createUser.apply(null, arguments)\n },\n },\n },\n [\n _c(\"h2\", [_vm._v(_vm._s(_vm.t(\"settings\", \"New user\")))]),\n _vm._v(\" \"),\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.newUser.id,\n expression: \"newUser.id\",\n },\n ],\n ref: \"newusername\",\n staticClass: \"modal__item\",\n attrs: {\n id: \"newusername\",\n disabled: _vm.settings.newUserGenerateUserID,\n placeholder: _vm.settings.newUserGenerateUserID\n ? _vm.t(\"settings\", \"Will be autogenerated\")\n : _vm.t(\"settings\", \"Username\"),\n autocapitalize: \"none\",\n autocomplete: \"off\",\n autocorrect: \"off\",\n name: \"username\",\n pattern: \"[a-zA-Z0-9 _\\\\.@\\\\-']+\",\n required: \"\",\n type: \"text\",\n },\n domProps: { value: _vm.newUser.id },\n on: {\n input: function ($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(_vm.newUser, \"id\", $event.target.value)\n },\n },\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.newUser.displayName,\n expression: \"newUser.displayName\",\n },\n ],\n staticClass: \"modal__item\",\n attrs: {\n id: \"newdisplayname\",\n placeholder: _vm.t(\"settings\", \"Display name\"),\n autocapitalize: \"none\",\n autocomplete: \"off\",\n autocorrect: \"off\",\n name: \"displayname\",\n type: \"text\",\n },\n domProps: { value: _vm.newUser.displayName },\n on: {\n input: function ($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(_vm.newUser, \"displayName\", $event.target.value)\n },\n },\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.newUser.password,\n expression: \"newUser.password\",\n },\n ],\n ref: \"newuserpassword\",\n staticClass: \"modal__item\",\n attrs: {\n id: \"newuserpassword\",\n minlength: _vm.minPasswordLength,\n placeholder: _vm.t(\"settings\", \"Password\"),\n required: _vm.newUser.mailAddress === \"\",\n autocapitalize: \"none\",\n autocomplete: \"new-password\",\n autocorrect: \"off\",\n name: \"password\",\n type: \"password\",\n },\n domProps: { value: _vm.newUser.password },\n on: {\n input: function ($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(_vm.newUser, \"password\", $event.target.value)\n },\n },\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.newUser.mailAddress,\n expression: \"newUser.mailAddress\",\n },\n ],\n staticClass: \"modal__item\",\n attrs: {\n id: \"newemail\",\n placeholder: _vm.t(\"settings\", \"Email\"),\n required:\n _vm.newUser.password === \"\" ||\n _vm.settings.newUserRequireEmail,\n autocapitalize: \"none\",\n autocomplete: \"off\",\n autocorrect: \"off\",\n name: \"email\",\n type: \"email\",\n },\n domProps: { value: _vm.newUser.mailAddress },\n on: {\n input: function ($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(_vm.newUser, \"mailAddress\", $event.target.value)\n },\n },\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"groups modal__item\" },\n [\n !_vm.settings.isAdmin\n ? _c(\"input\", {\n class: { \"icon-loading-small\": _vm.loading.groups },\n attrs: {\n id: \"newgroups\",\n required: !_vm.settings.isAdmin,\n tabindex: \"-1\",\n type: \"text\",\n },\n domProps: { value: _vm.newUser.groups },\n })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"Multiselect\",\n {\n staticClass: \"multiselect-vue\",\n attrs: {\n \"close-on-select\": false,\n disabled: _vm.loading.groups || _vm.loading.all,\n multiple: true,\n options: _vm.canAddGroups,\n placeholder: _vm.t(\"settings\", \"Add user to group\"),\n \"tag-width\": 60,\n taggable: true,\n label: \"name\",\n \"tag-placeholder\": \"create\",\n \"track-by\": \"id\",\n },\n on: { tag: _vm.createGroup },\n model: {\n value: _vm.newUser.groups,\n callback: function ($$v) {\n _vm.$set(_vm.newUser, \"groups\", $$v)\n },\n expression: \"newUser.groups\",\n },\n },\n [\n _c(\n \"span\",\n { attrs: { slot: \"noResult\" }, slot: \"noResult\" },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"No results\")))]\n ),\n ]\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.subAdminsGroups.length > 0 && _vm.settings.isAdmin\n ? _c(\n \"div\",\n { staticClass: \"subadmins modal__item\" },\n [\n _c(\n \"Multiselect\",\n {\n staticClass: \"multiselect-vue\",\n attrs: {\n \"close-on-select\": false,\n multiple: true,\n options: _vm.subAdminsGroups,\n placeholder: _vm.t(\n \"settings\",\n \"Set user as admin for\"\n ),\n \"tag-width\": 60,\n label: \"name\",\n \"track-by\": \"id\",\n },\n model: {\n value: _vm.newUser.subAdminsGroups,\n callback: function ($$v) {\n _vm.$set(_vm.newUser, \"subAdminsGroups\", $$v)\n },\n expression: \"newUser.subAdminsGroups\",\n },\n },\n [\n _c(\n \"span\",\n { attrs: { slot: \"noResult\" }, slot: \"noResult\" },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"No results\")))]\n ),\n ]\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"quota modal__item\" },\n [\n _c(\"Multiselect\", {\n staticClass: \"multiselect-vue\",\n attrs: {\n \"allow-empty\": false,\n options: _vm.quotaOptions,\n placeholder: _vm.t(\"settings\", \"Select user quota\"),\n taggable: true,\n label: \"label\",\n \"track-by\": \"id\",\n },\n on: { tag: _vm.validateQuota },\n model: {\n value: _vm.newUser.quota,\n callback: function ($$v) {\n _vm.$set(_vm.newUser, \"quota\", $$v)\n },\n expression: \"newUser.quota\",\n },\n }),\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.showConfig.showLanguages\n ? _c(\n \"div\",\n { staticClass: \"languages modal__item\" },\n [\n _c(\"Multiselect\", {\n staticClass: \"multiselect-vue\",\n attrs: {\n \"allow-empty\": false,\n options: _vm.languages,\n placeholder: _vm.t(\"settings\", \"Default language\"),\n \"group-label\": \"label\",\n \"group-values\": \"languages\",\n label: \"name\",\n \"track-by\": \"code\",\n },\n model: {\n value: _vm.newUser.language,\n callback: function ($$v) {\n _vm.$set(_vm.newUser, \"language\", $$v)\n },\n expression: \"newUser.language\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showStoragePath\n ? _c(\"div\", { staticClass: \"storageLocation\" })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showUserBackend\n ? _c(\"div\", { staticClass: \"userBackend\" })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showLastLogin\n ? _c(\"div\", { staticClass: \"lastLogin\" })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"user-actions\" }, [\n _c(\n \"button\",\n {\n staticClass: \"button primary\",\n attrs: { id: \"newsubmit\", type: \"submit\", value: \"\" },\n },\n [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\" +\n _vm._s(_vm.t(\"settings\", \"Add a new user\")) +\n \"\\n\\t\\t\\t\\t\"\n ),\n ]\n ),\n ]),\n ]\n ),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"row\",\n class: { sticky: _vm.scrolled && !_vm.showConfig.showNewUserForm },\n attrs: { id: \"grid-header\" },\n },\n [\n _c(\"div\", { staticClass: \"avatar\", attrs: { id: \"headerAvatar\" } }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"name\", attrs: { id: \"headerName\" } }, [\n _vm._v(\n \"\\n\\t\\t\\t\" + _vm._s(_vm.t(\"settings\", \"Username\")) + \"\\n\\n\\t\\t\\t\"\n ),\n _c(\"div\", { staticClass: \"subtitle\" }, [\n _vm._v(\n \"\\n\\t\\t\\t\\t\" +\n _vm._s(_vm.t(\"settings\", \"Display name\")) +\n \"\\n\\t\\t\\t\"\n ),\n ]),\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"password\", attrs: { id: \"headerPassword\" } },\n [\n _vm._v(\n \"\\n\\t\\t\\t\" + _vm._s(_vm.t(\"settings\", \"Password\")) + \"\\n\\t\\t\"\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"mailAddress\", attrs: { id: \"headerAddress\" } },\n [_vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.t(\"settings\", \"Email\")) + \"\\n\\t\\t\")]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"groups\", attrs: { id: \"headerGroups\" } }, [\n _vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.t(\"settings\", \"Groups\")) + \"\\n\\t\\t\"),\n ]),\n _vm._v(\" \"),\n _vm.subAdminsGroups.length > 0 && _vm.settings.isAdmin\n ? _c(\n \"div\",\n { staticClass: \"subadmins\", attrs: { id: \"headerSubAdmins\" } },\n [\n _vm._v(\n \"\\n\\t\\t\\t\" +\n _vm._s(_vm.t(\"settings\", \"Group admin for\")) +\n \"\\n\\t\\t\"\n ),\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"quota\", attrs: { id: \"headerQuota\" } }, [\n _vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.t(\"settings\", \"Quota\")) + \"\\n\\t\\t\"),\n ]),\n _vm._v(\" \"),\n _vm.showConfig.showLanguages\n ? _c(\n \"div\",\n { staticClass: \"languages\", attrs: { id: \"headerLanguages\" } },\n [\n _vm._v(\n \"\\n\\t\\t\\t\" +\n _vm._s(_vm.t(\"settings\", \"Language\")) +\n \"\\n\\t\\t\"\n ),\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showUserBackend || _vm.showConfig.showStoragePath\n ? _c(\"div\", { staticClass: \"headerUserBackend userBackend\" }, [\n _vm.showConfig.showUserBackend\n ? _c(\"div\", { staticClass: \"userBackend\" }, [\n _vm._v(\n \"\\n\\t\\t\\t\\t\" +\n _vm._s(_vm.t(\"settings\", \"User backend\")) +\n \"\\n\\t\\t\\t\"\n ),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showStoragePath\n ? _c(\"div\", { staticClass: \"subtitle storageLocation\" }, [\n _vm._v(\n \"\\n\\t\\t\\t\\t\" +\n _vm._s(_vm.t(\"settings\", \"Storage location\")) +\n \"\\n\\t\\t\\t\"\n ),\n ])\n : _vm._e(),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showLastLogin\n ? _c(\"div\", { staticClass: \"headerLastLogin lastLogin\" }, [\n _vm._v(\n \"\\n\\t\\t\\t\" +\n _vm._s(_vm.t(\"settings\", \"Last login\")) +\n \"\\n\\t\\t\"\n ),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"userActions\" }),\n ]\n ),\n _vm._v(\" \"),\n _vm._l(_vm.filteredUsers, function (user) {\n return _c(\"user-row\", {\n key: user.id,\n attrs: {\n \"external-actions\": _vm.externalActions,\n groups: _vm.groups,\n languages: _vm.languages,\n \"quota-options\": _vm.quotaOptions,\n settings: _vm.settings,\n \"show-config\": _vm.showConfig,\n \"sub-admins-groups\": _vm.subAdminsGroups,\n user: user,\n },\n })\n }),\n _vm._v(\" \"),\n _c(\n \"InfiniteLoading\",\n { ref: \"infiniteLoading\", on: { infinite: _vm.infiniteHandler } },\n [\n _c(\"div\", { attrs: { slot: \"spinner\" }, slot: \"spinner\" }, [\n _c(\"div\", { staticClass: \"users-icon-loading icon-loading\" }),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { slot: \"no-more\" }, slot: \"no-more\" }, [\n _c(\"div\", { staticClass: \"users-list-end\" }),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { slot: \"no-results\" }, slot: \"no-results\" }, [\n _c(\"div\", { attrs: { id: \"emptycontent\" } }, [\n _c(\"div\", { staticClass: \"icon-contacts-dark\" }),\n _vm._v(\" \"),\n _c(\"h2\", [_vm._v(_vm._s(_vm.t(\"settings\", \"No users in here\")))]),\n ]),\n ]),\n ]\n ),\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return Object.keys(_vm.user).length === 1\n ? _c(\"div\", { staticClass: \"row\", attrs: { \"data-id\": _vm.user.id } }, [\n _c(\n \"div\",\n {\n staticClass: \"avatar\",\n class: {\n \"icon-loading-small\":\n _vm.loading.delete || _vm.loading.disable || _vm.loading.wipe,\n },\n },\n [\n !_vm.loading.delete && !_vm.loading.disable && !_vm.loading.wipe\n ? _c(\"img\", {\n attrs: {\n src: _vm.generateAvatar(_vm.user.id, 32),\n srcset:\n _vm.generateAvatar(_vm.user.id, 64) +\n \" 2x, \" +\n _vm.generateAvatar(_vm.user.id, 128) +\n \" 4x\",\n alt: \"\",\n height: \"32\",\n width: \"32\",\n },\n })\n : _vm._e(),\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"name\" }, [\n _vm._v(\"\\n\\t\\t\" + _vm._s(_vm.user.id) + \"\\n\\t\"),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"obfuscated\" }, [\n _vm._v(\n \"\\n\\t\\t\" +\n _vm._s(\n _vm.t(\n \"settings\",\n \"You do not have permissions to see the details of this user\"\n )\n ) +\n \"\\n\\t\"\n ),\n ]),\n ])\n : !_vm.editing\n ? _c(\"UserRowSimple\", {\n class: { \"row--menu-opened\": _vm.openedMenu },\n attrs: {\n editing: _vm.editing,\n \"feedback-message\": _vm.feedbackMessage,\n groups: _vm.groups,\n languages: _vm.languages,\n loading: _vm.loading,\n \"opened-menu\": _vm.openedMenu,\n settings: _vm.settings,\n \"show-config\": _vm.showConfig,\n \"sub-admins-groups\": _vm.subAdminsGroups,\n \"user-actions\": _vm.userActions,\n user: _vm.user,\n },\n on: {\n \"update:editing\": function ($event) {\n _vm.editing = $event\n },\n \"update:openedMenu\": function ($event) {\n _vm.openedMenu = $event\n },\n \"update:opened-menu\": function ($event) {\n _vm.openedMenu = $event\n },\n },\n })\n : _c(\n \"div\",\n {\n staticClass: \"row row--editable\",\n class: {\n disabled: _vm.loading.delete || _vm.loading.disable,\n \"row--menu-opened\": _vm.openedMenu,\n },\n attrs: { \"data-id\": _vm.user.id },\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"avatar\",\n class: {\n \"icon-loading-small\":\n _vm.loading.delete || _vm.loading.disable || _vm.loading.wipe,\n },\n },\n [\n !_vm.loading.delete && !_vm.loading.disable && !_vm.loading.wipe\n ? _c(\"img\", {\n attrs: {\n src: _vm.generateAvatar(_vm.user.id, 32),\n srcset:\n _vm.generateAvatar(_vm.user.id, 64) +\n \" 2x, \" +\n _vm.generateAvatar(_vm.user.id, 128) +\n \" 4x\",\n alt: \"\",\n height: \"32\",\n width: \"32\",\n },\n })\n : _vm._e(),\n ]\n ),\n _vm._v(\" \"),\n _vm.user.backendCapabilities.setDisplayName\n ? _c(\"div\", { staticClass: \"displayName\" }, [\n _c(\n \"form\",\n {\n staticClass: \"displayName\",\n class: { \"icon-loading-small\": _vm.loading.displayName },\n on: {\n submit: function ($event) {\n $event.preventDefault()\n return _vm.updateDisplayName.apply(null, arguments)\n },\n },\n },\n [\n _c(\"input\", {\n ref: \"displayName\",\n attrs: {\n id: \"displayName\" + _vm.user.id + _vm.rand,\n disabled: _vm.loading.displayName || _vm.loading.all,\n autocapitalize: \"off\",\n autocomplete: \"off\",\n autocorrect: \"off\",\n spellcheck: \"false\",\n type: \"text\",\n },\n domProps: { value: _vm.user.displayname },\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"icon-confirm\",\n attrs: { type: \"submit\", value: \"\" },\n }),\n ]\n ),\n ])\n : _c(\"div\", { staticClass: \"name\" }, [\n _vm._v(\"\\n\\t\\t\" + _vm._s(_vm.user.id) + \"\\n\\t\\t\"),\n _c(\"div\", { staticClass: \"displayName subtitle\" }, [\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip\",\n value:\n _vm.user.displayname.length > 20\n ? _vm.user.displayname\n : \"\",\n expression:\n \"user.displayname.length > 20 ? user.displayname : ''\",\n },\n ],\n staticClass: \"cellText\",\n },\n [\n _vm._v(\n \"\\n\\t\\t\\t\\t\" + _vm._s(_vm.user.displayname) + \"\\n\\t\\t\\t\"\n ),\n ]\n ),\n ]),\n ]),\n _vm._v(\" \"),\n _vm.settings.canChangePassword &&\n _vm.user.backendCapabilities.setPassword\n ? _c(\n \"form\",\n {\n staticClass: \"password\",\n class: { \"icon-loading-small\": _vm.loading.password },\n on: {\n submit: function ($event) {\n $event.preventDefault()\n return _vm.updatePassword.apply(null, arguments)\n },\n },\n },\n [\n _c(\"input\", {\n ref: \"password\",\n attrs: {\n id: \"password\" + _vm.user.id + _vm.rand,\n disabled: _vm.loading.password || _vm.loading.all,\n minlength: _vm.minPasswordLength,\n placeholder: _vm.t(\"settings\", \"Add new password\"),\n autocapitalize: \"off\",\n autocomplete: \"new-password\",\n autocorrect: \"off\",\n required: \"\",\n spellcheck: \"false\",\n type: \"password\",\n value: \"\",\n },\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"icon-confirm\",\n attrs: { type: \"submit\", value: \"\" },\n }),\n ]\n )\n : _c(\"div\"),\n _vm._v(\" \"),\n _c(\n \"form\",\n {\n staticClass: \"mailAddress\",\n class: { \"icon-loading-small\": _vm.loading.mailAddress },\n on: {\n submit: function ($event) {\n $event.preventDefault()\n return _vm.updateEmail.apply(null, arguments)\n },\n },\n },\n [\n _c(\"input\", {\n ref: \"mailAddress\",\n attrs: {\n id: \"mailAddress\" + _vm.user.id + _vm.rand,\n disabled: _vm.loading.mailAddress || _vm.loading.all,\n placeholder: _vm.t(\"settings\", \"Add new email address\"),\n autocapitalize: \"off\",\n autocomplete: \"new-password\",\n autocorrect: \"off\",\n spellcheck: \"false\",\n type: \"email\",\n },\n domProps: { value: _vm.user.email },\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"icon-confirm\",\n attrs: { type: \"submit\", value: \"\" },\n }),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"groups\",\n class: { \"icon-loading-small\": _vm.loading.groups },\n },\n [\n _c(\n \"Multiselect\",\n {\n staticClass: \"multiselect-vue\",\n attrs: {\n \"close-on-select\": false,\n disabled: _vm.loading.groups || _vm.loading.all,\n limit: 2,\n multiple: true,\n options: _vm.availableGroups,\n placeholder: _vm.t(\"settings\", \"Add user to group\"),\n \"tag-width\": 60,\n taggable: _vm.settings.isAdmin,\n value: _vm.userGroups,\n label: \"name\",\n \"tag-placeholder\": \"create\",\n \"track-by\": \"id\",\n },\n on: {\n remove: _vm.removeUserGroup,\n select: _vm.addUserGroup,\n tag: _vm.createGroup,\n },\n },\n [\n _c(\n \"span\",\n { attrs: { slot: \"noResult\" }, slot: \"noResult\" },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"No results\")))]\n ),\n ]\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.subAdminsGroups.length > 0 && _vm.settings.isAdmin\n ? _c(\n \"div\",\n {\n staticClass: \"subadmins\",\n class: { \"icon-loading-small\": _vm.loading.subadmins },\n },\n [\n _c(\n \"Multiselect\",\n {\n staticClass: \"multiselect-vue\",\n attrs: {\n \"close-on-select\": false,\n disabled: _vm.loading.subadmins || _vm.loading.all,\n limit: 2,\n multiple: true,\n options: _vm.subAdminsGroups,\n placeholder: _vm.t(\"settings\", \"Set user as admin for\"),\n \"tag-width\": 60,\n value: _vm.userSubAdminsGroups,\n label: \"name\",\n \"track-by\": \"id\",\n },\n on: {\n remove: _vm.removeUserSubAdmin,\n select: _vm.addUserSubAdmin,\n },\n },\n [\n _c(\n \"span\",\n { attrs: { slot: \"noResult\" }, slot: \"noResult\" },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"No results\")))]\n ),\n ]\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.usedSpace,\n expression: \"usedSpace\",\n modifiers: { auto: true },\n },\n ],\n staticClass: \"quota\",\n class: { \"icon-loading-small\": _vm.loading.quota },\n },\n [\n _c(\"Multiselect\", {\n staticClass: \"multiselect-vue\",\n attrs: {\n \"allow-empty\": false,\n disabled: _vm.loading.quota || _vm.loading.all,\n options: _vm.quotaOptions,\n placeholder: _vm.t(\"settings\", \"Select user quota\"),\n taggable: true,\n value: _vm.userQuota,\n label: \"label\",\n \"tag-placeholder\": \"create\",\n \"track-by\": \"id\",\n },\n on: { input: _vm.setUserQuota, tag: _vm.validateQuota },\n }),\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.showConfig.showLanguages\n ? _c(\n \"div\",\n {\n staticClass: \"languages\",\n class: { \"icon-loading-small\": _vm.loading.languages },\n },\n [\n _c(\"Multiselect\", {\n staticClass: \"multiselect-vue\",\n attrs: {\n \"allow-empty\": false,\n disabled: _vm.loading.languages || _vm.loading.all,\n options: _vm.languages,\n placeholder: _vm.t(\"settings\", \"No language set\"),\n value: _vm.userLanguage,\n \"group-label\": \"label\",\n \"group-values\": \"languages\",\n label: \"name\",\n \"track-by\": \"code\",\n },\n on: { input: _vm.setUserLanguage },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showStoragePath || _vm.showConfig.showUserBackend\n ? _c(\"div\", { staticClass: \"storageLocation\" })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showLastLogin ? _c(\"div\") : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"userActions\" }, [\n !_vm.loading.all\n ? _c(\n \"div\",\n { staticClass: \"toggleUserActions\" },\n [\n _c(\n \"Actions\",\n [\n _c(\n \"ActionButton\",\n {\n attrs: { icon: \"icon-checkmark\" },\n on: {\n click: function ($event) {\n _vm.editing = false\n },\n },\n },\n [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\" +\n _vm._s(_vm.t(\"settings\", \"Done\")) +\n \"\\n\\t\\t\\t\\t\"\n ),\n ]\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"click-outside\",\n rawName: \"v-click-outside\",\n value: _vm.hideMenu,\n expression: \"hideMenu\",\n },\n ],\n staticClass: \"userPopoverMenuWrapper\",\n },\n [\n _c(\"div\", {\n staticClass: \"icon-more\",\n on: { click: _vm.toggleMenu },\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"popovermenu\",\n class: { open: _vm.openedMenu },\n },\n [\n _c(\"PopoverMenu\", {\n attrs: { menu: _vm.userActions },\n }),\n ],\n 1\n ),\n ]\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"feedback\",\n style: { opacity: _vm.feedbackMessage !== \"\" ? 1 : 0 },\n },\n [\n _c(\"div\", { staticClass: \"icon-checkmark\" }),\n _vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.feedbackMessage) + \"\\n\\t\\t\"),\n ]\n ),\n ]),\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"row\",\n class: { disabled: _vm.loading.delete || _vm.loading.disable },\n attrs: { \"data-id\": _vm.user.id },\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"avatar\",\n class: {\n \"icon-loading-small\":\n _vm.loading.delete || _vm.loading.disable || _vm.loading.wipe,\n },\n },\n [\n !_vm.loading.delete && !_vm.loading.disable && !_vm.loading.wipe\n ? _c(\"img\", {\n attrs: {\n alt: \"\",\n width: \"32\",\n height: \"32\",\n src: _vm.generateAvatar(_vm.user.id, 32),\n srcset:\n _vm.generateAvatar(_vm.user.id, 64) +\n \" 2x, \" +\n _vm.generateAvatar(_vm.user.id, 128) +\n \" 4x\",\n },\n })\n : _vm._e(),\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"name\" }, [\n _vm._v(\"\\n\\t\\t\" + _vm._s(_vm.user.id) + \"\\n\\t\\t\"),\n _c(\"div\", { staticClass: \"displayName subtitle\" }, [\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip\",\n value:\n _vm.user.displayname.length > 20\n ? _vm.user.displayname\n : \"\",\n expression:\n \"user.displayname.length > 20 ? user.displayname : ''\",\n },\n ],\n staticClass: \"cellText\",\n },\n [_vm._v(\"\\n\\t\\t\\t\\t\" + _vm._s(_vm.user.displayname) + \"\\n\\t\\t\\t\")]\n ),\n ]),\n ]),\n _vm._v(\" \"),\n _c(\"div\"),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"mailAddress\" }, [\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip\",\n value:\n _vm.user.email !== null && _vm.user.email.length > 20\n ? _vm.user.email\n : \"\",\n expression:\n \"user.email !== null && user.email.length > 20 ? user.email : ''\",\n },\n ],\n staticClass: \"cellText\",\n },\n [_vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.user.email) + \"\\n\\t\\t\")]\n ),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"groups\" }, [\n _vm._v(\"\\n\\t\\t\" + _vm._s(_vm.userGroupsLabels) + \"\\n\\t\"),\n ]),\n _vm._v(\" \"),\n _vm.subAdminsGroups.length > 0 && _vm.settings.isAdmin\n ? _c(\"div\", { staticClass: \"subAdminsGroups\" }, [\n _vm._v(\"\\n\\t\\t\" + _vm._s(_vm.userSubAdminsGroupsLabels) + \"\\n\\t\"),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"userQuota\" }, [\n _c(\"div\", { staticClass: \"quota\" }, [\n _vm._v(\n \"\\n\\t\\t\\t\" +\n _vm._s(_vm.userQuota) +\n \" (\" +\n _vm._s(_vm.usedSpace) +\n \")\\n\\t\\t\\t\"\n ),\n _c(\"progress\", {\n staticClass: \"quota-user-progress\",\n class: { warn: _vm.usedQuota > 80 },\n attrs: { max: \"100\" },\n domProps: { value: _vm.usedQuota },\n }),\n ]),\n ]),\n _vm._v(\" \"),\n _vm.showConfig.showLanguages\n ? _c(\"div\", { staticClass: \"languages\" }, [\n _vm._v(\"\\n\\t\\t\" + _vm._s(_vm.userLanguage.name) + \"\\n\\t\"),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showUserBackend || _vm.showConfig.showStoragePath\n ? _c(\"div\", { staticClass: \"userBackend\" }, [\n _vm.showConfig.showUserBackend\n ? _c(\"div\", { staticClass: \"userBackend\" }, [\n _vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.user.backend) + \"\\n\\t\\t\"),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showStoragePath\n ? _c(\n \"div\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip\",\n value: _vm.user.storageLocation,\n expression: \"user.storageLocation\",\n },\n ],\n staticClass: \"storageLocation subtitle\",\n },\n [\n _vm._v(\n \"\\n\\t\\t\\t\" + _vm._s(_vm.user.storageLocation) + \"\\n\\t\\t\"\n ),\n ]\n )\n : _vm._e(),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showLastLogin\n ? _c(\n \"div\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.userLastLoginTooltip,\n expression: \"userLastLoginTooltip\",\n modifiers: { auto: true },\n },\n ],\n staticClass: \"lastLogin\",\n },\n [_vm._v(\"\\n\\t\\t\" + _vm._s(_vm.userLastLogin) + \"\\n\\t\")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"userActions\" }, [\n _vm.canEdit && !_vm.loading.all\n ? _c(\n \"div\",\n { staticClass: \"toggleUserActions\" },\n [\n _c(\n \"Actions\",\n [\n _c(\n \"ActionButton\",\n {\n attrs: { icon: \"icon-rename\" },\n on: { click: _vm.toggleEdit },\n },\n [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\" +\n _vm._s(_vm.t(\"settings\", \"Edit User\")) +\n \"\\n\\t\\t\\t\\t\"\n ),\n ]\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"userPopoverMenuWrapper\" }, [\n _c(\"button\", {\n directives: [\n {\n name: \"click-outside\",\n rawName: \"v-click-outside\",\n value: _vm.hideMenu,\n expression: \"hideMenu\",\n },\n ],\n staticClass: \"icon-more\",\n attrs: {\n \"aria-label\": _vm.t(\n \"settings\",\n \"Toggle user actions menu\"\n ),\n },\n on: {\n click: function ($event) {\n $event.preventDefault()\n return _vm.toggleMenu.apply(null, arguments)\n },\n },\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"popovermenu\",\n class: { open: _vm.openedMenu },\n attrs: { \"aria-expanded\": _vm.openedMenu },\n },\n [_c(\"PopoverMenu\", { attrs: { menu: _vm.userActions } })],\n 1\n ),\n ]),\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"feedback\",\n style: { opacity: _vm.feedbackMessage !== \"\" ? 1 : 0 },\n },\n [\n _c(\"div\", { staticClass: \"icon-checkmark\" }),\n _vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.feedbackMessage) + \"\\n\\t\\t\"),\n ]\n ),\n ]),\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"Content\",\n {\n attrs: {\n \"app-name\": \"settings\",\n \"navigation-class\": { \"icon-loading\": _vm.loadingAddGroup },\n },\n },\n [\n _c(\n \"AppNavigation\",\n {\n scopedSlots: _vm._u([\n {\n key: \"list\",\n fn: function () {\n return [\n _c(\"AppNavigationItem\", {\n ref: \"addGroup\",\n attrs: {\n id: \"addgroup\",\n \"edit-placeholder\": _vm.t(\"settings\", \"Enter group name\"),\n editable: true,\n loading: _vm.loadingAddGroup,\n title: _vm.t(\"settings\", \"Add group\"),\n icon: \"icon-add\",\n },\n on: {\n click: _vm.showAddGroupForm,\n \"update:title\": _vm.createGroup,\n },\n }),\n _vm._v(\" \"),\n _c(\n \"AppNavigationItem\",\n {\n attrs: {\n id: \"everyone\",\n exact: true,\n title: _vm.t(\"settings\", \"Active users\"),\n to: { name: \"users\" },\n icon: \"icon-contacts-dark\",\n },\n },\n [\n _vm.userCount > 0\n ? _c(\n \"AppNavigationCounter\",\n { attrs: { slot: \"counter\" }, slot: \"counter\" },\n [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\" +\n _vm._s(_vm.userCount) +\n \"\\n\\t\\t\\t\\t\"\n ),\n ]\n )\n : _vm._e(),\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.settings.isAdmin\n ? _c(\n \"AppNavigationItem\",\n {\n attrs: {\n id: \"admin\",\n exact: true,\n title: _vm.t(\"settings\", \"Admins\"),\n to: {\n name: \"group\",\n params: { selectedGroup: \"admin\" },\n },\n icon: \"icon-user-admin\",\n },\n },\n [\n _vm.adminGroupMenu.count\n ? _c(\n \"AppNavigationCounter\",\n { attrs: { slot: \"counter\" }, slot: \"counter\" },\n [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\" +\n _vm._s(_vm.adminGroupMenu.count) +\n \"\\n\\t\\t\\t\\t\"\n ),\n ]\n )\n : _vm._e(),\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.disabledGroupMenu.usercount > 0 ||\n _vm.disabledGroupMenu.usercount === -1\n ? _c(\n \"AppNavigationItem\",\n {\n attrs: {\n id: \"disabled\",\n exact: true,\n title: _vm.t(\"settings\", \"Disabled users\"),\n to: {\n name: \"group\",\n params: { selectedGroup: \"disabled\" },\n },\n icon: \"icon-disabled-users\",\n },\n },\n [\n _vm.disabledGroupMenu.usercount > 0\n ? _c(\n \"AppNavigationCounter\",\n { attrs: { slot: \"counter\" }, slot: \"counter\" },\n [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\" +\n _vm._s(_vm.disabledGroupMenu.usercount) +\n \"\\n\\t\\t\\t\\t\"\n ),\n ]\n )\n : _vm._e(),\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.groupList.length > 0\n ? _c(\"AppNavigationCaption\", {\n attrs: { title: _vm.t(\"settings\", \"Groups\") },\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm._l(_vm.groupList, function (group) {\n return _c(\n \"AppNavigationItem\",\n {\n key: group.id,\n attrs: {\n exact: true,\n title: group.title,\n to: {\n name: \"group\",\n params: {\n selectedGroup: encodeURIComponent(group.id),\n },\n },\n icon: \"icon-group\",\n },\n },\n [\n group.count\n ? _c(\n \"AppNavigationCounter\",\n { attrs: { slot: \"counter\" }, slot: \"counter\" },\n [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\" +\n _vm._s(group.count) +\n \"\\n\\t\\t\\t\\t\"\n ),\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"template\",\n { slot: \"actions\" },\n [\n group.id !== \"admin\" &&\n group.id !== \"disabled\" &&\n _vm.settings.isAdmin\n ? _c(\n \"ActionButton\",\n {\n attrs: { icon: \"icon-delete\" },\n on: {\n click: function ($event) {\n return _vm.removeGroup(group.id)\n },\n },\n },\n [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\\t\" +\n _vm._s(\n _vm.t(\"settings\", \"Remove group\")\n ) +\n \"\\n\\t\\t\\t\\t\\t\"\n ),\n ]\n )\n : _vm._e(),\n ],\n 1\n ),\n ],\n 2\n )\n }),\n ]\n },\n proxy: true,\n },\n {\n key: \"footer\",\n fn: function () {\n return [\n _c(\"AppNavigationSettings\", [\n _c(\n \"div\",\n [\n _c(\"p\", [\n _vm._v(_vm._s(_vm.t(\"settings\", \"Default quota:\"))),\n ]),\n _vm._v(\" \"),\n _c(\"Multiselect\", {\n attrs: {\n value: _vm.defaultQuota,\n options: _vm.quotaOptions,\n \"tag-placeholder\": \"create\",\n placeholder: _vm.t(\n \"settings\",\n \"Select default quota\"\n ),\n label: \"label\",\n \"track-by\": \"id\",\n \"allow-empty\": false,\n taggable: true,\n },\n on: {\n tag: _vm.validateQuota,\n input: _vm.setDefaultQuota,\n },\n }),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"div\", [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.showLanguages,\n expression: \"showLanguages\",\n },\n ],\n staticClass: \"checkbox\",\n attrs: { id: \"showLanguages\", type: \"checkbox\" },\n domProps: {\n checked: Array.isArray(_vm.showLanguages)\n ? _vm._i(_vm.showLanguages, null) > -1\n : _vm.showLanguages,\n },\n on: {\n change: function ($event) {\n var $$a = _vm.showLanguages,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n (_vm.showLanguages = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.showLanguages = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.showLanguages = $$c\n }\n },\n },\n }),\n _vm._v(\" \"),\n _c(\"label\", { attrs: { for: \"showLanguages\" } }, [\n _vm._v(_vm._s(_vm.t(\"settings\", \"Show Languages\"))),\n ]),\n ]),\n _vm._v(\" \"),\n _c(\"div\", [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.showLastLogin,\n expression: \"showLastLogin\",\n },\n ],\n staticClass: \"checkbox\",\n attrs: { id: \"showLastLogin\", type: \"checkbox\" },\n domProps: {\n checked: Array.isArray(_vm.showLastLogin)\n ? _vm._i(_vm.showLastLogin, null) > -1\n : _vm.showLastLogin,\n },\n on: {\n change: function ($event) {\n var $$a = _vm.showLastLogin,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n (_vm.showLastLogin = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.showLastLogin = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.showLastLogin = $$c\n }\n },\n },\n }),\n _vm._v(\" \"),\n _c(\"label\", { attrs: { for: \"showLastLogin\" } }, [\n _vm._v(_vm._s(_vm.t(\"settings\", \"Show last login\"))),\n ]),\n ]),\n _vm._v(\" \"),\n _c(\"div\", [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.showUserBackend,\n expression: \"showUserBackend\",\n },\n ],\n staticClass: \"checkbox\",\n attrs: { id: \"showUserBackend\", type: \"checkbox\" },\n domProps: {\n checked: Array.isArray(_vm.showUserBackend)\n ? _vm._i(_vm.showUserBackend, null) > -1\n : _vm.showUserBackend,\n },\n on: {\n change: function ($event) {\n var $$a = _vm.showUserBackend,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n (_vm.showUserBackend = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.showUserBackend = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.showUserBackend = $$c\n }\n },\n },\n }),\n _vm._v(\" \"),\n _c(\"label\", { attrs: { for: \"showUserBackend\" } }, [\n _vm._v(_vm._s(_vm.t(\"settings\", \"Show user backend\"))),\n ]),\n ]),\n _vm._v(\" \"),\n _c(\"div\", [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.showStoragePath,\n expression: \"showStoragePath\",\n },\n ],\n staticClass: \"checkbox\",\n attrs: { id: \"showStoragePath\", type: \"checkbox\" },\n domProps: {\n checked: Array.isArray(_vm.showStoragePath)\n ? _vm._i(_vm.showStoragePath, null) > -1\n : _vm.showStoragePath,\n },\n on: {\n change: function ($event) {\n var $$a = _vm.showStoragePath,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n (_vm.showStoragePath = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.showStoragePath = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.showStoragePath = $$c\n }\n },\n },\n }),\n _vm._v(\" \"),\n _c(\"label\", { attrs: { for: \"showStoragePath\" } }, [\n _vm._v(_vm._s(_vm.t(\"settings\", \"Show storage path\"))),\n ]),\n ]),\n _vm._v(\" \"),\n _c(\"div\", [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.sendWelcomeMail,\n expression: \"sendWelcomeMail\",\n },\n ],\n staticClass: \"checkbox\",\n attrs: {\n id: \"sendWelcomeMail\",\n disabled: _vm.loadingSendMail,\n type: \"checkbox\",\n },\n domProps: {\n checked: Array.isArray(_vm.sendWelcomeMail)\n ? _vm._i(_vm.sendWelcomeMail, null) > -1\n : _vm.sendWelcomeMail,\n },\n on: {\n change: function ($event) {\n var $$a = _vm.sendWelcomeMail,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n (_vm.sendWelcomeMail = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.sendWelcomeMail = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.sendWelcomeMail = $$c\n }\n },\n },\n }),\n _vm._v(\" \"),\n _c(\"label\", { attrs: { for: \"sendWelcomeMail\" } }, [\n _vm._v(\n _vm._s(_vm.t(\"settings\", \"Send email to new user\"))\n ),\n ]),\n ]),\n ]),\n ]\n },\n proxy: true,\n },\n ]),\n },\n [\n _c(\"AppNavigationNew\", {\n attrs: {\n \"button-id\": \"new-user-button\",\n text: _vm.t(\"settings\", \"New user\"),\n \"button-class\": \"icon-add\",\n },\n on: {\n click: _vm.showNewUserMenu,\n keyup: [\n function ($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")\n ) {\n return null\n }\n return _vm.showNewUserMenu.apply(null, arguments)\n },\n function ($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"space\", 32, $event.key, [\n \" \",\n \"Spacebar\",\n ])\n ) {\n return null\n }\n return _vm.showNewUserMenu.apply(null, arguments)\n },\n ],\n },\n }),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"AppContent\",\n [\n _c(\"UserList\", {\n attrs: {\n users: _vm.users,\n \"show-config\": _vm.showConfig,\n \"selected-group\": _vm.selectedGroupDecoded,\n \"external-actions\": _vm.externalActions,\n },\n }),\n ],\n 1\n ),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"],"names":[],"sourceRoot":""} \ No newline at end of file
+{"version":3,"file":"settings-users-settings-users.js?v=3a4fbcc884b49145f7f1","sources":["webpack:///nextcloud/apps/settings/src/mixins/UserRowMixin.js","webpack:///nextcloud/apps/settings/src/components/UserList.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/UserList/UserRow.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/UserList/UserRowSimple.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/views/Users.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/UserList/UserRow.vue?vue&type=style&index=0&id=77960baa&scoped=true&lang=scss&","webpack:///nextcloud/apps/settings/src/components/UserList/UserRowSimple.vue?vue&type=style&index=0&lang=scss&","webpack:///nextcloud/apps/settings/src/views/Users.vue?vue&type=style&index=0&id=889b7562&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/UserList.vue?vue&type=style&index=0&id=6cba3aca&scoped=true&lang=css&","webpack://nextcloud/./apps/settings/src/components/UserList/UserRow.vue?bf83","webpack://nextcloud/./apps/settings/src/components/UserList/UserRowSimple.vue?6980","webpack://nextcloud/./apps/settings/src/views/Users.vue?f7e6","webpack://nextcloud/./apps/settings/src/components/UserList.vue?9479","webpack:///nextcloud/apps/settings/src/components/UserList.vue","webpack:///nextcloud/apps/settings/src/components/UserList/UserRow.vue","webpack:///nextcloud/apps/settings/src/components/UserList/UserRowSimple.vue","webpack:///nextcloud/apps/settings/src/views/Users.vue","webpack://nextcloud/./apps/settings/src/components/UserList.vue?e4c2","webpack://nextcloud/./apps/settings/src/components/UserList/UserRow.vue?8c35","webpack://nextcloud/./apps/settings/src/components/UserList/UserRowSimple.vue?8366","webpack://nextcloud/./apps/settings/src/views/Users.vue?083d","webpack:///nextcloud/apps/settings/src/components/UserList.vue?vue&type=template&id=6cba3aca&scoped=true&","webpack:///nextcloud/apps/settings/src/components/UserList/UserRow.vue?vue&type=template&id=77960baa&scoped=true&","webpack:///nextcloud/apps/settings/src/components/UserList/UserRowSimple.vue?vue&type=template&id=ff154a08&","webpack:///nextcloud/apps/settings/src/views/Users.vue?vue&type=template&id=889b7562&scoped=true&"],"sourcesContent":["function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author Greta Doci <gretadoci@gmail.com>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport { generateUrl } from '@nextcloud/router';\nexport default {\n props: {\n user: {\n type: Object,\n required: true\n },\n settings: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n groups: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n subAdminsGroups: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n quotaOptions: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n showConfig: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n languages: {\n type: Array,\n required: true\n },\n externalActions: {\n type: Array,\n default: function _default() {\n return [];\n }\n }\n },\n computed: {\n /* GROUPS MANAGEMENT */\n userGroups: function userGroups() {\n var _this = this;\n\n var userGroups = this.groups.filter(function (group) {\n return _this.user.groups.includes(group.id);\n });\n return userGroups;\n },\n userSubAdminsGroups: function userSubAdminsGroups() {\n var _this2 = this;\n\n var userSubAdminsGroups = this.subAdminsGroups.filter(function (group) {\n return _this2.user.subadmin.includes(group.id);\n });\n return userSubAdminsGroups;\n },\n availableGroups: function availableGroups() {\n var _this3 = this;\n\n return this.groups.map(function (group) {\n // clone object because we don't want\n // to edit the original groups\n var groupClone = Object.assign({}, group); // two settings here:\n // 1. user NOT in group but no permission to add\n // 2. user is in group but no permission to remove\n\n groupClone.$isDisabled = group.canAdd === false && !_this3.user.groups.includes(group.id) || group.canRemove === false && _this3.user.groups.includes(group.id);\n return groupClone;\n });\n },\n\n /* QUOTA MANAGEMENT */\n usedSpace: function usedSpace() {\n if (this.user.quota.used) {\n return t('settings', '{size} used', {\n size: OC.Util.humanFileSize(this.user.quota.used)\n });\n }\n\n return t('settings', '{size} used', {\n size: OC.Util.humanFileSize(0)\n });\n },\n usedQuota: function usedQuota() {\n var quota = this.user.quota.quota;\n\n if (quota > 0) {\n quota = Math.min(100, Math.round(this.user.quota.used / quota * 100));\n } else {\n var usedInGB = this.user.quota.used / (10 * Math.pow(2, 30)); // asymptotic curve approaching 50% at 10GB to visualize used stace with infinite quota\n\n quota = 95 * (1 - 1 / (usedInGB + 1));\n }\n\n return isNaN(quota) ? 0 : quota;\n },\n // Mapping saved values to objects\n userQuota: function userQuota() {\n if (this.user.quota.quota >= 0) {\n // if value is valid, let's map the quotaOptions or return custom quota\n var humanQuota = OC.Util.humanFileSize(this.user.quota.quota);\n var userQuota = this.quotaOptions.find(function (quota) {\n return quota.id === humanQuota;\n });\n return userQuota || {\n id: humanQuota,\n label: humanQuota\n };\n } else if (this.user.quota.quota === 'default') {\n // default quota is replaced by the proper value on load\n return this.quotaOptions[0];\n }\n\n return this.quotaOptions[1]; // unlimited\n },\n\n /* PASSWORD POLICY? */\n minPasswordLength: function minPasswordLength() {\n return this.$store.getters.getPasswordPolicyMinLength;\n },\n\n /* LANGUAGE */\n userLanguage: function userLanguage() {\n var _this4 = this;\n\n var availableLanguages = this.languages[0].languages.concat(this.languages[1].languages);\n var userLang = availableLanguages.find(function (lang) {\n return lang.code === _this4.user.language;\n });\n\n if (_typeof(userLang) !== 'object' && this.user.language !== '') {\n return {\n code: this.user.language,\n name: this.user.language\n };\n } else if (this.user.language === '') {\n return false;\n }\n\n return userLang;\n },\n\n /* LAST LOGIN */\n userLastLoginTooltip: function userLastLoginTooltip() {\n if (this.user.lastLogin > 0) {\n return OC.Util.formatDate(this.user.lastLogin);\n }\n\n return '';\n },\n userLastLogin: function userLastLogin() {\n if (this.user.lastLogin > 0) {\n return OC.Util.relativeModifiedDate(this.user.lastLogin);\n }\n\n return t('settings', 'Never');\n }\n },\n methods: {\n /**\n * Generate avatar url\n *\n * @param {string} user The user name\n * @param {int} size Size integer, default 32\n * @return {string}\n */\n generateAvatar: function generateAvatar(user) {\n var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 32;\n return generateUrl('/avatar/{user}/{size}?v={version}', {\n user: user,\n size: size,\n version: oc_userconfig.avatar.version\n });\n }\n }\n};","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport { subscribe, unsubscribe } from '@nextcloud/event-bus';\nimport InfiniteLoading from 'vue-infinite-loading';\nimport Vue from 'vue';\nimport { Modal } from '@nextcloud/vue';\nimport Multiselect from '@nextcloud/vue/dist/Components/Multiselect';\nimport userRow from './UserList/UserRow';\nvar unlimitedQuota = {\n id: 'none',\n label: t('settings', 'Unlimited')\n};\nvar defaultQuota = {\n id: 'default',\n label: t('settings', 'Default quota')\n};\nvar newUser = {\n id: '',\n displayName: '',\n password: '',\n mailAddress: '',\n groups: [],\n subAdminsGroups: [],\n quota: defaultQuota,\n language: {\n code: 'en',\n name: t('settings', 'Default language')\n }\n};\nexport default {\n name: 'UserList',\n components: {\n Modal: Modal,\n userRow: userRow,\n Multiselect: Multiselect,\n InfiniteLoading: InfiniteLoading\n },\n props: {\n users: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n showConfig: {\n type: Object,\n required: true\n },\n selectedGroup: {\n type: String,\n default: null\n },\n externalActions: {\n type: Array,\n default: function _default() {\n return [];\n }\n }\n },\n data: function data() {\n return {\n unlimitedQuota: unlimitedQuota,\n defaultQuota: defaultQuota,\n loading: {\n all: false,\n groups: false\n },\n scrolled: false,\n searchQuery: '',\n newUser: Object.assign({}, newUser)\n };\n },\n computed: {\n settings: function settings() {\n return this.$store.getters.getServerData;\n },\n selectedGroupDecoded: function selectedGroupDecoded() {\n return decodeURIComponent(this.selectedGroup);\n },\n filteredUsers: function filteredUsers() {\n if (this.selectedGroup === 'disabled') {\n return this.users.filter(function (user) {\n return user.enabled === false;\n });\n }\n\n if (!this.settings.isAdmin) {\n // we don't want subadmins to edit themselves\n return this.users.filter(function (user) {\n return user.enabled !== false;\n });\n }\n\n return this.users.filter(function (user) {\n return user.enabled !== false;\n });\n },\n groups: function groups() {\n // data provided php side + remove the disabled group\n return this.$store.getters.getGroups.filter(function (group) {\n return group.id !== 'disabled';\n }).sort(function (a, b) {\n return a.name.localeCompare(b.name);\n });\n },\n canAddGroups: function canAddGroups() {\n // disabled if no permission to add new users to group\n return this.groups.map(function (group) {\n // clone object because we don't want\n // to edit the original groups\n group = Object.assign({}, group);\n group.$isDisabled = group.canAdd === false;\n return group;\n });\n },\n subAdminsGroups: function subAdminsGroups() {\n // data provided php side\n return this.$store.getters.getSubadminGroups;\n },\n quotaOptions: function quotaOptions() {\n // convert the preset array into objects\n var quotaPreset = this.settings.quotaPreset.reduce(function (acc, cur) {\n return acc.concat({\n id: cur,\n label: cur\n });\n }, []); // add default presets\n\n if (this.settings.allowUnlimitedQuota) {\n quotaPreset.unshift(this.unlimitedQuota);\n }\n\n quotaPreset.unshift(this.defaultQuota);\n return quotaPreset;\n },\n minPasswordLength: function minPasswordLength() {\n return this.$store.getters.getPasswordPolicyMinLength;\n },\n usersOffset: function usersOffset() {\n return this.$store.getters.getUsersOffset;\n },\n usersLimit: function usersLimit() {\n return this.$store.getters.getUsersLimit;\n },\n usersCount: function usersCount() {\n return this.users.length;\n },\n\n /* LANGUAGES */\n languages: function languages() {\n return [{\n label: t('settings', 'Common languages'),\n languages: this.settings.languages.commonLanguages\n }, {\n label: t('settings', 'Other languages'),\n languages: this.settings.languages.otherLanguages\n }];\n }\n },\n watch: {\n // watch url change and group select\n selectedGroup: function selectedGroup(val, old) {\n // if selected is the disabled group but it's empty\n this.redirectIfDisabled();\n this.$store.commit('resetUsers');\n this.$refs.infiniteLoading.stateChanger.reset();\n this.setNewUserDefaultGroup(val);\n },\n // make sure the infiniteLoading state is changed if we manually\n // add/remove data from the store\n usersCount: function usersCount(val, old) {\n // deleting the last user, reset the list\n if (val === 0 && old === 1) {\n this.$refs.infiniteLoading.stateChanger.reset(); // adding the first user, warn the infiniteLoader that\n // the list is not empty anymore (we don't fetch the newly\n // added user as we already have all the info we need)\n } else if (val === 1 && old === 0) {\n this.$refs.infiniteLoading.stateChanger.loaded();\n }\n }\n },\n mounted: function mounted() {\n if (!this.settings.canChangePassword) {\n OC.Notification.showTemporary(t('settings', 'Password change is disabled because the master key is disabled'));\n }\n /**\n * Reset and init new user form\n */\n\n\n this.resetForm();\n /**\n * Register search\n */\n\n subscribe('nextcloud:unified-search.search', this.search);\n subscribe('nextcloud:unified-search.reset', this.resetSearch);\n /**\n * If disabled group but empty, redirect\n */\n\n this.redirectIfDisabled();\n },\n beforeDestroy: function beforeDestroy() {\n unsubscribe('nextcloud:unified-search.search', this.search);\n unsubscribe('nextcloud:unified-search.reset', this.resetSearch);\n },\n methods: {\n onScroll: function onScroll(event) {\n this.scrolled = event.target.scrollTo > 0;\n },\n\n /**\n * Validate quota string to make sure it's a valid human file size\n *\n * @param {string} quota Quota in readable format '5 GB'\n * @return {object}\n */\n validateQuota: function validateQuota(quota) {\n // only used for new presets sent through @Tag\n var validQuota = OC.Util.computerFileSize(quota);\n\n if (validQuota !== null && validQuota >= 0) {\n // unify format output\n quota = OC.Util.humanFileSize(OC.Util.computerFileSize(quota));\n this.newUser.quota = {\n id: quota,\n label: quota\n };\n return this.newUser.quota;\n } // Default is unlimited\n\n\n this.newUser.quota = this.quotaOptions[0];\n return this.quotaOptions[0];\n },\n infiniteHandler: function infiniteHandler($state) {\n var _this = this;\n\n this.$store.dispatch('getUsers', {\n offset: this.usersOffset,\n limit: this.usersLimit,\n group: this.selectedGroup !== 'disabled' ? this.selectedGroup : '',\n search: this.searchQuery\n }).then(function (usersCount) {\n if (usersCount > 0) {\n $state.loaded();\n }\n\n if (usersCount < _this.usersLimit) {\n $state.complete();\n }\n });\n },\n\n /* SEARCH */\n search: function search(_ref) {\n var query = _ref.query;\n this.searchQuery = query;\n this.$store.commit('resetUsers');\n this.$refs.infiniteLoading.stateChanger.reset();\n },\n resetSearch: function resetSearch() {\n this.search({\n query: ''\n });\n },\n resetForm: function resetForm() {\n // revert form to original state\n this.newUser = Object.assign({}, newUser);\n /**\n * Init default language from server data. The use of this.settings\n * requires a computed variable, which break the v-model binding of the form,\n * this is a much easier solution than getter and setter on a computed var\n */\n\n if (this.settings.defaultLanguage) {\n Vue.set(this.newUser.language, 'code', this.settings.defaultLanguage);\n }\n /**\n * In case the user directly loaded the user list within a group\n * the watch won't be triggered. We need to initialize it.\n */\n\n\n this.setNewUserDefaultGroup(this.selectedGroup);\n this.loading.all = false;\n },\n createUser: function createUser() {\n var _this2 = this;\n\n this.loading.all = true;\n this.$store.dispatch('addUser', {\n userid: this.newUser.id,\n password: this.newUser.password,\n displayName: this.newUser.displayName,\n email: this.newUser.mailAddress,\n groups: this.newUser.groups.map(function (group) {\n return group.id;\n }),\n subadmin: this.newUser.subAdminsGroups.map(function (group) {\n return group.id;\n }),\n quota: this.newUser.quota.id,\n language: this.newUser.language.code\n }).then(function () {\n _this2.resetForm();\n\n _this2.$refs.newusername.focus();\n\n _this2.closeModal();\n }).catch(function (error) {\n _this2.loading.all = false;\n\n if (error.response && error.response.data && error.response.data.ocs && error.response.data.ocs.meta) {\n var statuscode = error.response.data.ocs.meta.statuscode;\n\n if (statuscode === 102) {\n // wrong username\n _this2.$refs.newusername.focus();\n } else if (statuscode === 107) {\n // wrong password\n _this2.$refs.newuserpassword.focus();\n }\n }\n });\n },\n setNewUserDefaultGroup: function setNewUserDefaultGroup(value) {\n if (value && value.length > 0) {\n // setting new user default group to the current selected one\n var currentGroup = this.groups.find(function (group) {\n return group.id === value;\n });\n\n if (currentGroup) {\n this.newUser.groups = [currentGroup];\n return;\n }\n } // fallback, empty selected group\n\n\n this.newUser.groups = [];\n },\n\n /**\n * Create a new group\n *\n * @param {string} gid Group id\n * @return {Promise}\n */\n createGroup: function createGroup(gid) {\n var _this3 = this;\n\n this.loading.groups = true;\n this.$store.dispatch('addGroup', gid).then(function (group) {\n _this3.newUser.groups.push(_this3.groups.find(function (group) {\n return group.id === gid;\n }));\n\n _this3.loading.groups = false;\n }).catch(function () {\n _this3.loading.groups = false;\n });\n return this.$store.getters.getGroups[this.groups.length];\n },\n\n /**\n * If the selected group is the disabled group but the count is 0\n * redirect to the all users page.\n * we only check for 0 because we don't have the count on ldap\n * and we therefore set the usercount to -1 in this specific case\n */\n redirectIfDisabled: function redirectIfDisabled() {\n var allGroups = this.$store.getters.getGroups;\n\n if (this.selectedGroup === 'disabled' && allGroups.findIndex(function (group) {\n return group.id === 'disabled' && group.usercount === 0;\n }) > -1) {\n // disabled group is empty, redirection to all users\n this.$router.push({\n name: 'users'\n });\n this.$refs.infiniteLoading.stateChanger.reset();\n }\n },\n closeModal: function closeModal() {\n // eslint-disable-next-line vue/no-mutating-props\n this.showConfig.showNewUserForm = false;\n }\n }\n};","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport ClickOutside from 'vue-click-outside';\nimport Vue from 'vue';\nimport VTooltip from 'v-tooltip';\nimport { PopoverMenu, Multiselect, Actions, ActionButton } from '@nextcloud/vue';\nimport UserRowSimple from './UserRowSimple';\nimport UserRowMixin from '../../mixins/UserRowMixin';\nVue.use(VTooltip);\nexport default {\n name: 'UserRow',\n components: {\n UserRowSimple: UserRowSimple,\n PopoverMenu: PopoverMenu,\n Actions: Actions,\n ActionButton: ActionButton,\n Multiselect: Multiselect\n },\n directives: {\n ClickOutside: ClickOutside\n },\n mixins: [UserRowMixin],\n props: {\n user: {\n type: Object,\n required: true\n },\n settings: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n groups: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n subAdminsGroups: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n quotaOptions: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n showConfig: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n languages: {\n type: Array,\n required: true\n },\n externalActions: {\n type: Array,\n default: function _default() {\n return [];\n }\n }\n },\n data: function data() {\n return {\n rand: parseInt(Math.random() * 1000),\n openedMenu: false,\n feedbackMessage: '',\n editing: false,\n loading: {\n all: false,\n displayName: false,\n password: false,\n mailAddress: false,\n groups: false,\n subadmins: false,\n quota: false,\n delete: false,\n disable: false,\n languages: false,\n wipe: false\n }\n };\n },\n computed: {\n /* USER POPOVERMENU ACTIONS */\n userActions: function userActions() {\n var actions = [{\n icon: 'icon-delete',\n text: t('settings', 'Delete user'),\n action: this.deleteUser\n }, {\n icon: 'icon-delete',\n text: t('settings', 'Wipe all devices'),\n action: this.wipeUserDevices\n }, {\n icon: this.user.enabled ? 'icon-close' : 'icon-add',\n text: this.user.enabled ? t('settings', 'Disable user') : t('settings', 'Enable user'),\n action: this.enableDisableUser\n }];\n\n if (this.user.email !== null && this.user.email !== '') {\n actions.push({\n icon: 'icon-mail',\n text: t('settings', 'Resend welcome email'),\n action: this.sendWelcomeMail\n });\n }\n\n return actions.concat(this.externalActions);\n }\n },\n methods: {\n /* MENU HANDLING */\n toggleMenu: function toggleMenu() {\n this.openedMenu = !this.openedMenu;\n },\n hideMenu: function hideMenu() {\n this.openedMenu = false;\n },\n wipeUserDevices: function wipeUserDevices() {\n var _this = this;\n\n var userid = this.user.id;\n OC.dialogs.confirmDestructive(t('settings', 'In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet.', {\n userid: userid\n }), t('settings', 'Remote wipe of devices'), {\n type: OC.dialogs.YES_NO_BUTTONS,\n confirm: t('settings', 'Wipe {userid}\\'s devices', {\n userid: userid\n }),\n confirmClasses: 'error',\n cancel: t('settings', 'Cancel')\n }, function (result) {\n if (result) {\n _this.loading.wipe = true;\n _this.loading.all = true;\n\n _this.$store.dispatch('wipeUserDevices', userid).then(function () {\n _this.loading.wipe = false;\n _this.loading.all = false;\n });\n }\n }, true);\n },\n deleteUser: function deleteUser() {\n var _this2 = this;\n\n var userid = this.user.id;\n OC.dialogs.confirmDestructive(t('settings', 'Fully delete {userid}\\'s account including all their personal files, app data, etc.', {\n userid: userid\n }), t('settings', 'Account deletion'), {\n type: OC.dialogs.YES_NO_BUTTONS,\n confirm: t('settings', 'Delete {userid}\\'s account', {\n userid: userid\n }),\n confirmClasses: 'error',\n cancel: t('settings', 'Cancel')\n }, function (result) {\n if (result) {\n _this2.loading.delete = true;\n _this2.loading.all = true;\n return _this2.$store.dispatch('deleteUser', userid).then(function () {\n _this2.loading.delete = false;\n _this2.loading.all = false;\n });\n }\n }, true);\n },\n enableDisableUser: function enableDisableUser() {\n var _this3 = this;\n\n this.loading.delete = true;\n this.loading.all = true;\n var userid = this.user.id;\n var enabled = !this.user.enabled;\n return this.$store.dispatch('enableDisableUser', {\n userid: userid,\n enabled: enabled\n }).then(function () {\n _this3.loading.delete = false;\n _this3.loading.all = false;\n });\n },\n\n /**\n * Set user displayName\n *\n * @param {string} displayName The display name\n */\n updateDisplayName: function updateDisplayName() {\n var _this4 = this;\n\n var displayName = this.$refs.displayName.value;\n this.loading.displayName = true;\n this.$store.dispatch('setUserData', {\n userid: this.user.id,\n key: 'displayname',\n value: displayName\n }).then(function () {\n _this4.loading.displayName = false;\n _this4.$refs.displayName.value = displayName;\n });\n },\n\n /**\n * Set user password\n *\n * @param {string} password The email adress\n */\n updatePassword: function updatePassword() {\n var _this5 = this;\n\n var password = this.$refs.password.value;\n this.loading.password = true;\n this.$store.dispatch('setUserData', {\n userid: this.user.id,\n key: 'password',\n value: password\n }).then(function () {\n _this5.loading.password = false;\n _this5.$refs.password.value = ''; // empty & show placeholder\n });\n },\n\n /**\n * Set user mailAddress\n *\n * @param {string} mailAddress The email adress\n */\n updateEmail: function updateEmail() {\n var _this6 = this;\n\n var mailAddress = this.$refs.mailAddress.value;\n this.loading.mailAddress = true;\n this.$store.dispatch('setUserData', {\n userid: this.user.id,\n key: 'email',\n value: mailAddress\n }).then(function () {\n _this6.loading.mailAddress = false;\n _this6.$refs.mailAddress.value = mailAddress;\n });\n },\n\n /**\n * Create a new group and add user to it\n *\n * @param {string} gid Group id\n */\n createGroup: function createGroup(gid) {\n var _this7 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n var userid;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _this7.loading = {\n groups: true,\n subadmins: true\n };\n _context.prev = 1;\n _context.next = 4;\n return _this7.$store.dispatch('addGroup', gid);\n\n case 4:\n userid = _this7.user.id;\n _context.next = 7;\n return _this7.$store.dispatch('addUserGroup', {\n userid: userid,\n gid: gid\n });\n\n case 7:\n _context.next = 12;\n break;\n\n case 9:\n _context.prev = 9;\n _context.t0 = _context[\"catch\"](1);\n console.error(_context.t0);\n\n case 12:\n _context.prev = 12;\n _this7.loading = {\n groups: false,\n subadmins: false\n };\n return _context.finish(12);\n\n case 15:\n return _context.abrupt(\"return\", _this7.$store.getters.getGroups[_this7.groups.length]);\n\n case 16:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[1, 9, 12, 15]]);\n }))();\n },\n\n /**\n * Add user to group\n *\n * @param {object} group Group object\n */\n addUserGroup: function addUserGroup(group) {\n var _this8 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n var userid, gid;\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!(group.canAdd === false)) {\n _context2.next = 2;\n break;\n }\n\n return _context2.abrupt(\"return\", false);\n\n case 2:\n _this8.loading.groups = true;\n userid = _this8.user.id;\n gid = group.id;\n _context2.prev = 5;\n _context2.next = 8;\n return _this8.$store.dispatch('addUserGroup', {\n userid: userid,\n gid: gid\n });\n\n case 8:\n _context2.next = 13;\n break;\n\n case 10:\n _context2.prev = 10;\n _context2.t0 = _context2[\"catch\"](5);\n console.error(_context2.t0);\n\n case 13:\n _context2.prev = 13;\n _this8.loading.groups = false;\n return _context2.finish(13);\n\n case 16:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, null, [[5, 10, 13, 16]]);\n }))();\n },\n\n /**\n * Remove user from group\n *\n * @param {object} group Group object\n */\n removeUserGroup: function removeUserGroup(group) {\n var _this9 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {\n var userid, gid;\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n if (!(group.canRemove === false)) {\n _context3.next = 2;\n break;\n }\n\n return _context3.abrupt(\"return\", false);\n\n case 2:\n _this9.loading.groups = true;\n userid = _this9.user.id;\n gid = group.id;\n _context3.prev = 5;\n _context3.next = 8;\n return _this9.$store.dispatch('removeUserGroup', {\n userid: userid,\n gid: gid\n });\n\n case 8:\n _this9.loading.groups = false; // remove user from current list if current list is the removed group\n\n if (_this9.$route.params.selectedGroup === gid) {\n _this9.$store.commit('deleteUser', userid);\n }\n\n _context3.next = 15;\n break;\n\n case 12:\n _context3.prev = 12;\n _context3.t0 = _context3[\"catch\"](5);\n _this9.loading.groups = false;\n\n case 15:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, null, [[5, 12]]);\n }))();\n },\n\n /**\n * Add user to group\n *\n * @param {object} group Group object\n */\n addUserSubAdmin: function addUserSubAdmin(group) {\n var _this10 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {\n var userid, gid;\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _this10.loading.subadmins = true;\n userid = _this10.user.id;\n gid = group.id;\n _context4.prev = 3;\n _context4.next = 6;\n return _this10.$store.dispatch('addUserSubAdmin', {\n userid: userid,\n gid: gid\n });\n\n case 6:\n _this10.loading.subadmins = false;\n _context4.next = 12;\n break;\n\n case 9:\n _context4.prev = 9;\n _context4.t0 = _context4[\"catch\"](3);\n console.error(_context4.t0);\n\n case 12:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, null, [[3, 9]]);\n }))();\n },\n\n /**\n * Remove user from group\n *\n * @param {object} group Group object\n */\n removeUserSubAdmin: function removeUserSubAdmin(group) {\n var _this11 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {\n var userid, gid;\n return regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _this11.loading.subadmins = true;\n userid = _this11.user.id;\n gid = group.id;\n _context5.prev = 3;\n _context5.next = 6;\n return _this11.$store.dispatch('removeUserSubAdmin', {\n userid: userid,\n gid: gid\n });\n\n case 6:\n _context5.next = 11;\n break;\n\n case 8:\n _context5.prev = 8;\n _context5.t0 = _context5[\"catch\"](3);\n console.error(_context5.t0);\n\n case 11:\n _context5.prev = 11;\n _this11.loading.subadmins = false;\n return _context5.finish(11);\n\n case 14:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5, null, [[3, 8, 11, 14]]);\n }))();\n },\n\n /**\n * Dispatch quota set request\n *\n * @param {string | object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}\n * @return {string}\n */\n setUserQuota: function setUserQuota() {\n var _arguments = arguments,\n _this12 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {\n var quota;\n return regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n quota = _arguments.length > 0 && _arguments[0] !== undefined ? _arguments[0] : 'none';\n _this12.loading.quota = true; // ensure we only send the preset id\n\n quota = quota.id ? quota.id : quota;\n _context6.prev = 3;\n _context6.next = 6;\n return _this12.$store.dispatch('setUserData', {\n userid: _this12.user.id,\n key: 'quota',\n value: quota\n });\n\n case 6:\n _context6.next = 11;\n break;\n\n case 8:\n _context6.prev = 8;\n _context6.t0 = _context6[\"catch\"](3);\n console.error(_context6.t0);\n\n case 11:\n _context6.prev = 11;\n _this12.loading.quota = false;\n return _context6.finish(11);\n\n case 14:\n return _context6.abrupt(\"return\", quota);\n\n case 15:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6, null, [[3, 8, 11, 14]]);\n }))();\n },\n\n /**\n * Validate quota string to make sure it's a valid human file size\n *\n * @param {string} quota Quota in readable format '5 GB'\n * @return {Promise|boolean}\n */\n validateQuota: function validateQuota(quota) {\n // only used for new presets sent through @Tag\n var validQuota = OC.Util.computerFileSize(quota);\n\n if (validQuota !== null && validQuota >= 0) {\n // unify format output\n return this.setUserQuota(OC.Util.humanFileSize(OC.Util.computerFileSize(quota)));\n } // if no valid do not change\n\n\n return false;\n },\n\n /**\n * Dispatch language set request\n *\n * @param {object} lang language object {code:'en', name:'English'}\n * @return {object}\n */\n setUserLanguage: function setUserLanguage(lang) {\n var _this13 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() {\n return regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n _this13.loading.languages = true; // ensure we only send the preset id\n\n _context7.prev = 1;\n _context7.next = 4;\n return _this13.$store.dispatch('setUserData', {\n userid: _this13.user.id,\n key: 'language',\n value: lang.code\n });\n\n case 4:\n _context7.next = 9;\n break;\n\n case 6:\n _context7.prev = 6;\n _context7.t0 = _context7[\"catch\"](1);\n console.error(_context7.t0);\n\n case 9:\n _context7.prev = 9;\n _this13.loading.languages = false;\n return _context7.finish(9);\n\n case 12:\n return _context7.abrupt(\"return\", lang);\n\n case 13:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee7, null, [[1, 6, 9, 12]]);\n }))();\n },\n\n /**\n * Dispatch new welcome mail request\n */\n sendWelcomeMail: function sendWelcomeMail() {\n var _this14 = this;\n\n this.loading.all = true;\n this.$store.dispatch('sendWelcomeMail', this.user.id).then(function (success) {\n if (success) {\n // Show feedback to indicate the success\n _this14.feedbackMessage = t('setting', 'Welcome mail sent!');\n setTimeout(function () {\n _this14.feedbackMessage = '';\n }, 2000);\n }\n\n _this14.loading.all = false;\n });\n }\n }\n};","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport PopoverMenu from '@nextcloud/vue/dist/Components/PopoverMenu';\nimport Actions from '@nextcloud/vue/dist/Components/Actions';\nimport ActionButton from '@nextcloud/vue/dist/Components/ActionButton';\nimport ClickOutside from 'vue-click-outside';\nimport { getCurrentUser } from '@nextcloud/auth';\nimport UserRowMixin from '../../mixins/UserRowMixin';\nexport default {\n name: 'UserRowSimple',\n components: {\n PopoverMenu: PopoverMenu,\n ActionButton: ActionButton,\n Actions: Actions\n },\n directives: {\n ClickOutside: ClickOutside\n },\n mixins: [UserRowMixin],\n props: {\n user: {\n type: Object,\n required: true\n },\n loading: {\n type: Object,\n required: true\n },\n showConfig: {\n type: Object,\n required: true\n },\n userActions: {\n type: Array,\n required: true\n },\n openedMenu: {\n type: Boolean,\n required: true\n },\n feedbackMessage: {\n type: String,\n required: true\n },\n subAdminsGroups: {\n type: Array,\n required: true\n },\n settings: {\n type: Object,\n required: true\n }\n },\n computed: {\n userGroupsLabels: function userGroupsLabels() {\n return this.userGroups.map(function (group) {\n return group.name;\n }).join(', ');\n },\n userSubAdminsGroupsLabels: function userSubAdminsGroupsLabels() {\n return this.userSubAdminsGroups.map(function (group) {\n return group.name;\n }).join(', ');\n },\n usedSpace: function usedSpace() {\n if (this.user.quota.used) {\n return t('settings', '{size} used', {\n size: OC.Util.humanFileSize(this.user.quota.used)\n });\n }\n\n return t('settings', '{size} used', {\n size: OC.Util.humanFileSize(0)\n });\n },\n canEdit: function canEdit() {\n return getCurrentUser().uid !== this.user.id || this.settings.isAdmin;\n },\n userQuota: function userQuota() {\n var quota = this.user.quota.quota;\n\n if (quota === 'default') {\n quota = this.settings.defaultQuota;\n\n if (quota !== 'none') {\n // convert to numeric value to match what the server would usually return\n quota = OC.Util.computerFileSize(quota);\n }\n } // when the default quota is unlimited, the server returns -3 here, map it to \"none\"\n\n\n if (quota === 'none' || quota === -3) {\n return t('settings', 'Unlimited');\n } else if (quota >= 0) {\n return OC.Util.humanFileSize(quota);\n }\n\n return OC.Util.humanFileSize(0);\n }\n },\n methods: {\n toggleMenu: function toggleMenu() {\n this.$emit('update:openedMenu', !this.openedMenu);\n },\n hideMenu: function hideMenu() {\n this.$emit('update:openedMenu', false);\n },\n toggleEdit: function toggleEdit() {\n this.$emit('update:editing', true);\n }\n }\n};","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport ActionButton from '@nextcloud/vue/dist/Components/ActionButton';\nimport AppContent from '@nextcloud/vue/dist/Components/AppContent';\nimport AppNavigation from '@nextcloud/vue/dist/Components/AppNavigation';\nimport AppNavigationCaption from '@nextcloud/vue/dist/Components/AppNavigationCaption';\nimport AppNavigationCounter from '@nextcloud/vue/dist/Components/AppNavigationCounter';\nimport AppNavigationItem from '@nextcloud/vue/dist/Components/AppNavigationItem';\nimport AppNavigationNew from '@nextcloud/vue/dist/Components/AppNavigationNew';\nimport AppNavigationSettings from '@nextcloud/vue/dist/Components/AppNavigationSettings';\nimport axios from '@nextcloud/axios';\nimport Content from '@nextcloud/vue/dist/Components/Content';\nimport { generateUrl } from '@nextcloud/router';\nimport Multiselect from '@nextcloud/vue/dist/Components/Multiselect';\nimport Vue from 'vue';\nimport VueLocalStorage from 'vue-localstorage';\nimport UserList from '../components/UserList';\nVue.use(VueLocalStorage);\nexport default {\n name: 'Users',\n components: {\n ActionButton: ActionButton,\n AppContent: AppContent,\n AppNavigation: AppNavigation,\n AppNavigationCaption: AppNavigationCaption,\n AppNavigationCounter: AppNavigationCounter,\n AppNavigationItem: AppNavigationItem,\n AppNavigationNew: AppNavigationNew,\n AppNavigationSettings: AppNavigationSettings,\n Content: Content,\n Multiselect: Multiselect,\n UserList: UserList\n },\n props: {\n selectedGroup: {\n type: String,\n default: null\n }\n },\n data: function data() {\n return {\n // default quota is set to unlimited\n unlimitedQuota: {\n id: 'none',\n label: t('settings', 'Unlimited')\n },\n // temporary value used for multiselect change\n selectedQuota: false,\n externalActions: [],\n loadingAddGroup: false,\n loadingSendMail: false,\n showConfig: {\n showStoragePath: false,\n showUserBackend: false,\n showLastLogin: false,\n showNewUserForm: false,\n showLanguages: false\n }\n };\n },\n computed: {\n selectedGroupDecoded: function selectedGroupDecoded() {\n return this.selectedGroup ? decodeURIComponent(this.selectedGroup) : null;\n },\n users: function users() {\n return this.$store.getters.getUsers;\n },\n groups: function groups() {\n return this.$store.getters.getGroups;\n },\n usersOffset: function usersOffset() {\n return this.$store.getters.getUsersOffset;\n },\n usersLimit: function usersLimit() {\n return this.$store.getters.getUsersLimit;\n },\n // Local settings\n showLanguages: {\n get: function get() {\n return this.getLocalstorage('showLanguages');\n },\n set: function set(status) {\n this.setLocalStorage('showLanguages', status);\n }\n },\n showLastLogin: {\n get: function get() {\n return this.getLocalstorage('showLastLogin');\n },\n set: function set(status) {\n this.setLocalStorage('showLastLogin', status);\n }\n },\n showUserBackend: {\n get: function get() {\n return this.getLocalstorage('showUserBackend');\n },\n set: function set(status) {\n this.setLocalStorage('showUserBackend', status);\n }\n },\n showStoragePath: {\n get: function get() {\n return this.getLocalstorage('showStoragePath');\n },\n set: function set(status) {\n this.setLocalStorage('showStoragePath', status);\n }\n },\n userCount: function userCount() {\n return this.$store.getters.getUserCount;\n },\n settings: function settings() {\n return this.$store.getters.getServerData;\n },\n // default quota\n quotaOptions: function quotaOptions() {\n // convert the preset array into objects\n var quotaPreset = this.settings.quotaPreset.reduce(function (acc, cur) {\n return acc.concat({\n id: cur,\n label: cur\n });\n }, []); // add default presets\n\n if (this.settings.allowUnlimitedQuota) {\n quotaPreset.unshift(this.unlimitedQuota);\n }\n\n return quotaPreset;\n },\n // mapping saved values to objects\n defaultQuota: {\n get: function get() {\n if (this.selectedQuota !== false) {\n return this.selectedQuota;\n }\n\n if (this.settings.defaultQuota !== this.unlimitedQuota.id && OC.Util.computerFileSize(this.settings.defaultQuota) >= 0) {\n // if value is valid, let's map the quotaOptions or return custom quota\n return {\n id: this.settings.defaultQuota,\n label: this.settings.defaultQuota\n };\n }\n\n return this.unlimitedQuota; // unlimited\n },\n set: function set(quota) {\n this.selectedQuota = quota;\n }\n },\n sendWelcomeMail: {\n get: function get() {\n return this.settings.newUserSendEmail;\n },\n set: function set(value) {\n var _this = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n _this.loadingSendMail = true;\n\n _this.$store.commit('setServerData', _objectSpread(_objectSpread({}, _this.settings), {}, {\n newUserSendEmail: value\n }));\n\n _context.next = 5;\n return axios.post(generateUrl('/settings/users/preferences/newUser.sendEmail'), {\n value: value ? 'yes' : 'no'\n });\n\n case 5:\n _context.next = 10;\n break;\n\n case 7:\n _context.prev = 7;\n _context.t0 = _context[\"catch\"](0);\n console.error('could not update newUser.sendEmail preference: ' + _context.t0.message, _context.t0);\n\n case 10:\n _context.prev = 10;\n _this.loadingSendMail = false;\n return _context.finish(10);\n\n case 13:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[0, 7, 10, 13]]);\n }))();\n }\n },\n groupList: function groupList() {\n var _this2 = this;\n\n var groups = Array.isArray(this.groups) ? this.groups : [];\n return groups // filter out disabled and admin\n .filter(function (group) {\n return group.id !== 'disabled' && group.id !== 'admin';\n }).map(function (group) {\n return _this2.formatGroupMenu(group);\n });\n },\n adminGroupMenu: function adminGroupMenu() {\n return this.formatGroupMenu(this.groups.find(function (group) {\n return group.id === 'admin';\n }));\n },\n disabledGroupMenu: function disabledGroupMenu() {\n return this.formatGroupMenu(this.groups.find(function (group) {\n return group.id === 'disabled';\n }));\n }\n },\n beforeMount: function beforeMount() {\n this.$store.commit('initGroups', {\n groups: this.$store.getters.getServerData.groups,\n orderBy: this.$store.getters.getServerData.sortGroups,\n userCount: this.$store.getters.getServerData.userCount\n });\n this.$store.dispatch('getPasswordPolicyMinLength');\n },\n created: function created() {\n // init the OCA.Settings.UserList object\n // and add the registerAction method\n Object.assign(OCA, {\n Settings: {\n UserList: {\n registerAction: this.registerAction\n }\n }\n });\n },\n methods: {\n showNewUserMenu: function showNewUserMenu() {\n this.showConfig.showNewUserForm = true;\n\n if (this.showConfig.showNewUserForm) {\n Vue.nextTick(function () {\n window.newusername.focus();\n });\n }\n },\n getLocalstorage: function getLocalstorage(key) {\n // force initialization\n var localConfig = this.$localStorage.get(key); // if localstorage is null, fallback to original values\n\n this.showConfig[key] = localConfig !== null ? localConfig === 'true' : this.showConfig[key];\n return this.showConfig[key];\n },\n setLocalStorage: function setLocalStorage(key, status) {\n this.showConfig[key] = status;\n this.$localStorage.set(key, status);\n return status;\n },\n removeGroup: function removeGroup(groupid) {\n var self = this; // TODO migrate to a vue js confirm dialog component\n\n OC.dialogs.confirm(t('settings', 'You are about to remove the group {group}. The users will NOT be deleted.', {\n group: groupid\n }), t('settings', 'Please confirm the group removal '), function (success) {\n if (success) {\n self.$store.dispatch('removeGroup', groupid);\n }\n });\n },\n\n /**\n * Dispatch default quota set request\n *\n * @param {string | object} quota Quota in readable format '5 GB' or Object {id: '5 GB', label: '5GB'}\n */\n setDefaultQuota: function setDefaultQuota() {\n var _this3 = this;\n\n var quota = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'none';\n this.$store.dispatch('setAppConfig', {\n app: 'files',\n key: 'default_quota',\n // ensure we only send the preset id\n value: quota.id ? quota.id : quota\n }).then(function () {\n if (_typeof(quota) !== 'object') {\n quota = {\n id: quota,\n label: quota\n };\n }\n\n _this3.defaultQuota = quota;\n });\n },\n\n /**\n * Validate quota string to make sure it's a valid human file size\n *\n * @param {string} quota Quota in readable format '5 GB'\n * @return {Promise|boolean}\n */\n validateQuota: function validateQuota(quota) {\n // only used for new presets sent through @Tag\n var validQuota = OC.Util.computerFileSize(quota);\n\n if (validQuota === null) {\n return this.setDefaultQuota('none');\n } else {\n // unify format output\n return this.setDefaultQuota(OC.Util.humanFileSize(OC.Util.computerFileSize(quota)));\n }\n },\n\n /**\n * Register a new action for the user menu\n *\n * @param {string} icon the icon class\n * @param {string} text the text to display\n * @param {Function} action the function to run\n * @return {Array}\n */\n registerAction: function registerAction(icon, text, action) {\n this.externalActions.push({\n icon: icon,\n text: text,\n action: action\n });\n return this.externalActions;\n },\n\n /**\n * Create a new group\n *\n * @param {string} gid The group id\n */\n createGroup: function createGroup(gid) {\n var _this4 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!(gid.trim() === '')) {\n _context2.next = 2;\n break;\n }\n\n return _context2.abrupt(\"return\");\n\n case 2:\n _context2.prev = 2;\n _this4.loadingAddGroup = true;\n _context2.next = 6;\n return _this4.$store.dispatch('addGroup', gid.trim());\n\n case 6:\n _this4.hideAddGroupForm();\n\n _context2.next = 9;\n return _this4.$router.push({\n name: 'group',\n params: {\n selectedGroup: encodeURIComponent(gid.trim())\n }\n });\n\n case 9:\n _context2.next = 14;\n break;\n\n case 11:\n _context2.prev = 11;\n _context2.t0 = _context2[\"catch\"](2);\n\n _this4.showAddGroupForm();\n\n case 14:\n _context2.prev = 14;\n _this4.loadingAddGroup = false;\n return _context2.finish(14);\n\n case 17:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, null, [[2, 11, 14, 17]]);\n }))();\n },\n showAddGroupForm: function showAddGroupForm() {\n var _this5 = this;\n\n this.$refs.addGroup.editingActive = true;\n this.$refs.addGroup.onMenuToggle(false);\n this.$nextTick(function () {\n _this5.$refs.addGroup.$refs.editingInput.focusInput();\n });\n },\n hideAddGroupForm: function hideAddGroupForm() {\n this.$refs.addGroup.editingActive = false;\n this.$refs.addGroup.editingValue = '';\n },\n\n /**\n * Format a group to a menu entry\n *\n * @param {object} group the group\n * @return {object}\n */\n formatGroupMenu: function formatGroupMenu(group) {\n var item = {};\n\n if (typeof group === 'undefined') {\n return {};\n }\n\n item.id = group.id;\n item.title = group.name;\n item.usercount = group.usercount; // users count for all groups\n\n if (group.usercount - group.disabled > 0) {\n item.count = group.usercount - group.disabled;\n }\n\n return item;\n }\n }\n};","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".row--menu-opened[data-v-77960baa] {\\n z-index: 1 !important;\\n}\\n.row[data-v-77960baa] .multiselect__single {\\n z-index: auto !important;\\n}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".cellText {\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n}\\n.icon-more {\\n background-color: var(--color-main-background);\\n border: 0;\\n}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".app-navigation__list #addgroup[data-v-889b7562] .app-navigation-entry__utils {\\n display: none;\\n}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\n.modal-wrapper[data-v-6cba3aca] {\\n\\tmargin: 2vh 0;\\n\\talign-items: flex-start;\\n}\\n.modal__content[data-v-6cba3aca] {\\n\\tdisplay: flex;\\n\\tpadding: 20px;\\n\\tflex-direction: column;\\n\\talign-items: center;\\n\\ttext-align: center;\\n\\toverflow: auto;\\n}\\n.modal__item[data-v-6cba3aca] {\\n\\tmargin-bottom: 16px;\\n\\twidth: 100%;\\n}\\n.modal__item[data-v-6cba3aca]:not(:focus):not(:active) {\\n\\tborder-color: var(--color-border-dark);\\n}\\n.modal__item[data-v-6cba3aca] .multiselect {\\n\\twidth: 100%;\\n}\\n.user-actions[data-v-6cba3aca] {\\n\\tmargin-top: 20px;\\n}\\n.modal__content[data-v-6cba3aca] .multiselect__single {\\n\\ttext-align: left;\\n\\tbox-sizing: border-box;\\n}\\n.modal__content[data-v-6cba3aca] .multiselect__content-wrapper {\\n\\tbox-sizing: border-box;\\n}\\n.row[data-v-6cba3aca] .multiselect__single {\\n\\tz-index: auto !important;\\n}\\n\\n/* fake input for groups validation */\\ninput#newgroups[data-v-6cba3aca] {\\n\\tposition: absolute;\\n\\topacity: 0;\\n\\t/* The \\\"hidden\\\" input is behind the Multiselect, so in general it does\\n\\t * not receives clicks. However, with Firefox, after the validation\\n\\t * fails, it will receive the first click done on it, so its width needs\\n\\t * to be set to 0 to prevent that (\\\"pointer-events: none\\\" does not\\n\\t * prevent it). */\\n\\twidth: 0;\\n}\\n\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","import api from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRow.vue?vue&type=style&index=0&id=77960baa&scoped=true&lang=scss&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRowSimple.vue?vue&type=style&index=0&lang=scss&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Users.vue?vue&type=style&index=0&id=889b7562&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserList.vue?vue&type=style&index=0&id=6cba3aca&scoped=true&lang=css&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./UserList.vue?vue&type=template&id=6cba3aca&scoped=true&\"\nimport script from \"./UserList.vue?vue&type=script&lang=js&\"\nexport * from \"./UserList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UserList.vue?vue&type=style&index=0&id=6cba3aca&scoped=true&lang=css&\"\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 \"6cba3aca\",\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/srv/www/htdocs/server/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('6cba3aca')) {\n api.createRecord('6cba3aca', component.options)\n } else {\n api.reload('6cba3aca', component.options)\n }\n module.hot.accept(\"./UserList.vue?vue&type=template&id=6cba3aca&scoped=true&\", function () {\n api.rerender('6cba3aca', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"apps/settings/src/components/UserList.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./UserRow.vue?vue&type=template&id=77960baa&scoped=true&\"\nimport script from \"./UserRow.vue?vue&type=script&lang=js&\"\nexport * from \"./UserRow.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UserRow.vue?vue&type=style&index=0&id=77960baa&scoped=true&lang=scss&\"\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 \"77960baa\",\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/srv/www/htdocs/server/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('77960baa')) {\n api.createRecord('77960baa', component.options)\n } else {\n api.reload('77960baa', component.options)\n }\n module.hot.accept(\"./UserRow.vue?vue&type=template&id=77960baa&scoped=true&\", function () {\n api.rerender('77960baa', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"apps/settings/src/components/UserList/UserRow.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./UserRowSimple.vue?vue&type=template&id=ff154a08&\"\nimport script from \"./UserRowSimple.vue?vue&type=script&lang=js&\"\nexport * from \"./UserRowSimple.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UserRowSimple.vue?vue&type=style&index=0&lang=scss&\"\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\n/* hot reload */\nif (module.hot) {\n var api = require(\"/srv/www/htdocs/server/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('ff154a08')) {\n api.createRecord('ff154a08', component.options)\n } else {\n api.reload('ff154a08', component.options)\n }\n module.hot.accept(\"./UserRowSimple.vue?vue&type=template&id=ff154a08&\", function () {\n api.rerender('ff154a08', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"apps/settings/src/components/UserList/UserRowSimple.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./Users.vue?vue&type=template&id=889b7562&scoped=true&\"\nimport script from \"./Users.vue?vue&type=script&lang=js&\"\nexport * from \"./Users.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Users.vue?vue&type=style&index=0&id=889b7562&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 \"889b7562\",\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/srv/www/htdocs/server/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('889b7562')) {\n api.createRecord('889b7562', component.options)\n } else {\n api.reload('889b7562', component.options)\n }\n module.hot.accept(\"./Users.vue?vue&type=template&id=889b7562&scoped=true&\", function () {\n api.rerender('889b7562', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"apps/settings/src/views/Users.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserList.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!./UserList.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!./UserRow.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!./UserRow.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!./UserRowSimple.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!./UserRowSimple.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!./Users.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!./Users.vue?vue&type=script&lang=js&\"","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"user-list-grid\",\n attrs: { id: \"app-content\" },\n on: {\n \"&scroll\": function ($event) {\n return _vm.onScroll.apply(null, arguments)\n },\n },\n },\n [\n _vm.showConfig.showNewUserForm\n ? _c(\"Modal\", { on: { close: _vm.closeModal } }, [\n _c(\n \"form\",\n {\n staticClass: \"modal__content\",\n attrs: { id: \"new-user\", disabled: _vm.loading.all },\n on: {\n submit: function ($event) {\n $event.preventDefault()\n return _vm.createUser.apply(null, arguments)\n },\n },\n },\n [\n _c(\"h2\", [_vm._v(_vm._s(_vm.t(\"settings\", \"New user\")))]),\n _vm._v(\" \"),\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.newUser.id,\n expression: \"newUser.id\",\n },\n ],\n ref: \"newusername\",\n staticClass: \"modal__item\",\n attrs: {\n id: \"newusername\",\n disabled: _vm.settings.newUserGenerateUserID,\n placeholder: _vm.settings.newUserGenerateUserID\n ? _vm.t(\"settings\", \"Will be autogenerated\")\n : _vm.t(\"settings\", \"Username\"),\n autocapitalize: \"none\",\n autocomplete: \"off\",\n autocorrect: \"off\",\n name: \"username\",\n pattern: \"[a-zA-Z0-9 _\\\\.@\\\\-']+\",\n required: \"\",\n type: \"text\",\n },\n domProps: { value: _vm.newUser.id },\n on: {\n input: function ($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(_vm.newUser, \"id\", $event.target.value)\n },\n },\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.newUser.displayName,\n expression: \"newUser.displayName\",\n },\n ],\n staticClass: \"modal__item\",\n attrs: {\n id: \"newdisplayname\",\n placeholder: _vm.t(\"settings\", \"Display name\"),\n autocapitalize: \"none\",\n autocomplete: \"off\",\n autocorrect: \"off\",\n name: \"displayname\",\n type: \"text\",\n },\n domProps: { value: _vm.newUser.displayName },\n on: {\n input: function ($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(_vm.newUser, \"displayName\", $event.target.value)\n },\n },\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.newUser.password,\n expression: \"newUser.password\",\n },\n ],\n ref: \"newuserpassword\",\n staticClass: \"modal__item\",\n attrs: {\n id: \"newuserpassword\",\n minlength: _vm.minPasswordLength,\n placeholder: _vm.t(\"settings\", \"Password\"),\n required: _vm.newUser.mailAddress === \"\",\n autocapitalize: \"none\",\n autocomplete: \"new-password\",\n autocorrect: \"off\",\n name: \"password\",\n type: \"password\",\n },\n domProps: { value: _vm.newUser.password },\n on: {\n input: function ($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(_vm.newUser, \"password\", $event.target.value)\n },\n },\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.newUser.mailAddress,\n expression: \"newUser.mailAddress\",\n },\n ],\n staticClass: \"modal__item\",\n attrs: {\n id: \"newemail\",\n placeholder: _vm.t(\"settings\", \"Email\"),\n required:\n _vm.newUser.password === \"\" ||\n _vm.settings.newUserRequireEmail,\n autocapitalize: \"none\",\n autocomplete: \"off\",\n autocorrect: \"off\",\n name: \"email\",\n type: \"email\",\n },\n domProps: { value: _vm.newUser.mailAddress },\n on: {\n input: function ($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(_vm.newUser, \"mailAddress\", $event.target.value)\n },\n },\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"groups modal__item\" },\n [\n !_vm.settings.isAdmin\n ? _c(\"input\", {\n class: { \"icon-loading-small\": _vm.loading.groups },\n attrs: {\n id: \"newgroups\",\n required: !_vm.settings.isAdmin,\n tabindex: \"-1\",\n type: \"text\",\n },\n domProps: { value: _vm.newUser.groups },\n })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"Multiselect\",\n {\n staticClass: \"multiselect-vue\",\n attrs: {\n \"close-on-select\": false,\n disabled: _vm.loading.groups || _vm.loading.all,\n multiple: true,\n options: _vm.canAddGroups,\n placeholder: _vm.t(\"settings\", \"Add user to group\"),\n \"tag-width\": 60,\n taggable: true,\n label: \"name\",\n \"tag-placeholder\": \"create\",\n \"track-by\": \"id\",\n },\n on: { tag: _vm.createGroup },\n model: {\n value: _vm.newUser.groups,\n callback: function ($$v) {\n _vm.$set(_vm.newUser, \"groups\", $$v)\n },\n expression: \"newUser.groups\",\n },\n },\n [\n _c(\n \"span\",\n { attrs: { slot: \"noResult\" }, slot: \"noResult\" },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"No results\")))]\n ),\n ]\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.subAdminsGroups.length > 0 && _vm.settings.isAdmin\n ? _c(\n \"div\",\n { staticClass: \"subadmins modal__item\" },\n [\n _c(\n \"Multiselect\",\n {\n staticClass: \"multiselect-vue\",\n attrs: {\n \"close-on-select\": false,\n multiple: true,\n options: _vm.subAdminsGroups,\n placeholder: _vm.t(\n \"settings\",\n \"Set user as admin for\"\n ),\n \"tag-width\": 60,\n label: \"name\",\n \"track-by\": \"id\",\n },\n model: {\n value: _vm.newUser.subAdminsGroups,\n callback: function ($$v) {\n _vm.$set(_vm.newUser, \"subAdminsGroups\", $$v)\n },\n expression: \"newUser.subAdminsGroups\",\n },\n },\n [\n _c(\n \"span\",\n { attrs: { slot: \"noResult\" }, slot: \"noResult\" },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"No results\")))]\n ),\n ]\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"quota modal__item\" },\n [\n _c(\"Multiselect\", {\n staticClass: \"multiselect-vue\",\n attrs: {\n \"allow-empty\": false,\n options: _vm.quotaOptions,\n placeholder: _vm.t(\"settings\", \"Select user quota\"),\n taggable: true,\n label: \"label\",\n \"track-by\": \"id\",\n },\n on: { tag: _vm.validateQuota },\n model: {\n value: _vm.newUser.quota,\n callback: function ($$v) {\n _vm.$set(_vm.newUser, \"quota\", $$v)\n },\n expression: \"newUser.quota\",\n },\n }),\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.showConfig.showLanguages\n ? _c(\n \"div\",\n { staticClass: \"languages modal__item\" },\n [\n _c(\"Multiselect\", {\n staticClass: \"multiselect-vue\",\n attrs: {\n \"allow-empty\": false,\n options: _vm.languages,\n placeholder: _vm.t(\"settings\", \"Default language\"),\n \"group-label\": \"label\",\n \"group-values\": \"languages\",\n label: \"name\",\n \"track-by\": \"code\",\n },\n model: {\n value: _vm.newUser.language,\n callback: function ($$v) {\n _vm.$set(_vm.newUser, \"language\", $$v)\n },\n expression: \"newUser.language\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showStoragePath\n ? _c(\"div\", { staticClass: \"storageLocation\" })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showUserBackend\n ? _c(\"div\", { staticClass: \"userBackend\" })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showLastLogin\n ? _c(\"div\", { staticClass: \"lastLogin\" })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"user-actions\" }, [\n _c(\n \"button\",\n {\n staticClass: \"button primary\",\n attrs: { id: \"newsubmit\", type: \"submit\", value: \"\" },\n },\n [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\" +\n _vm._s(_vm.t(\"settings\", \"Add a new user\")) +\n \"\\n\\t\\t\\t\\t\"\n ),\n ]\n ),\n ]),\n ]\n ),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"row\",\n class: { sticky: _vm.scrolled && !_vm.showConfig.showNewUserForm },\n attrs: { id: \"grid-header\" },\n },\n [\n _c(\"div\", { staticClass: \"avatar\", attrs: { id: \"headerAvatar\" } }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"name\", attrs: { id: \"headerName\" } }, [\n _vm._v(\n \"\\n\\t\\t\\t\" + _vm._s(_vm.t(\"settings\", \"Username\")) + \"\\n\\n\\t\\t\\t\"\n ),\n _c(\"div\", { staticClass: \"subtitle\" }, [\n _vm._v(\n \"\\n\\t\\t\\t\\t\" +\n _vm._s(_vm.t(\"settings\", \"Display name\")) +\n \"\\n\\t\\t\\t\"\n ),\n ]),\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"password\", attrs: { id: \"headerPassword\" } },\n [\n _vm._v(\n \"\\n\\t\\t\\t\" + _vm._s(_vm.t(\"settings\", \"Password\")) + \"\\n\\t\\t\"\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"mailAddress\", attrs: { id: \"headerAddress\" } },\n [_vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.t(\"settings\", \"Email\")) + \"\\n\\t\\t\")]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"groups\", attrs: { id: \"headerGroups\" } }, [\n _vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.t(\"settings\", \"Groups\")) + \"\\n\\t\\t\"),\n ]),\n _vm._v(\" \"),\n _vm.subAdminsGroups.length > 0 && _vm.settings.isAdmin\n ? _c(\n \"div\",\n { staticClass: \"subadmins\", attrs: { id: \"headerSubAdmins\" } },\n [\n _vm._v(\n \"\\n\\t\\t\\t\" +\n _vm._s(_vm.t(\"settings\", \"Group admin for\")) +\n \"\\n\\t\\t\"\n ),\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"quota\", attrs: { id: \"headerQuota\" } }, [\n _vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.t(\"settings\", \"Quota\")) + \"\\n\\t\\t\"),\n ]),\n _vm._v(\" \"),\n _vm.showConfig.showLanguages\n ? _c(\n \"div\",\n { staticClass: \"languages\", attrs: { id: \"headerLanguages\" } },\n [\n _vm._v(\n \"\\n\\t\\t\\t\" +\n _vm._s(_vm.t(\"settings\", \"Language\")) +\n \"\\n\\t\\t\"\n ),\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showUserBackend || _vm.showConfig.showStoragePath\n ? _c(\"div\", { staticClass: \"headerUserBackend userBackend\" }, [\n _vm.showConfig.showUserBackend\n ? _c(\"div\", { staticClass: \"userBackend\" }, [\n _vm._v(\n \"\\n\\t\\t\\t\\t\" +\n _vm._s(_vm.t(\"settings\", \"User backend\")) +\n \"\\n\\t\\t\\t\"\n ),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showStoragePath\n ? _c(\"div\", { staticClass: \"subtitle storageLocation\" }, [\n _vm._v(\n \"\\n\\t\\t\\t\\t\" +\n _vm._s(_vm.t(\"settings\", \"Storage location\")) +\n \"\\n\\t\\t\\t\"\n ),\n ])\n : _vm._e(),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showLastLogin\n ? _c(\"div\", { staticClass: \"headerLastLogin lastLogin\" }, [\n _vm._v(\n \"\\n\\t\\t\\t\" +\n _vm._s(_vm.t(\"settings\", \"Last login\")) +\n \"\\n\\t\\t\"\n ),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"userActions\" }),\n ]\n ),\n _vm._v(\" \"),\n _vm._l(_vm.filteredUsers, function (user) {\n return _c(\"user-row\", {\n key: user.id,\n attrs: {\n \"external-actions\": _vm.externalActions,\n groups: _vm.groups,\n languages: _vm.languages,\n \"quota-options\": _vm.quotaOptions,\n settings: _vm.settings,\n \"show-config\": _vm.showConfig,\n \"sub-admins-groups\": _vm.subAdminsGroups,\n user: user,\n },\n })\n }),\n _vm._v(\" \"),\n _c(\n \"InfiniteLoading\",\n { ref: \"infiniteLoading\", on: { infinite: _vm.infiniteHandler } },\n [\n _c(\"div\", { attrs: { slot: \"spinner\" }, slot: \"spinner\" }, [\n _c(\"div\", { staticClass: \"users-icon-loading icon-loading\" }),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { slot: \"no-more\" }, slot: \"no-more\" }, [\n _c(\"div\", { staticClass: \"users-list-end\" }),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { attrs: { slot: \"no-results\" }, slot: \"no-results\" }, [\n _c(\"div\", { attrs: { id: \"emptycontent\" } }, [\n _c(\"div\", { staticClass: \"icon-contacts-dark\" }),\n _vm._v(\" \"),\n _c(\"h2\", [_vm._v(_vm._s(_vm.t(\"settings\", \"No users in here\")))]),\n ]),\n ]),\n ]\n ),\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return Object.keys(_vm.user).length === 1\n ? _c(\"div\", { staticClass: \"row\", attrs: { \"data-id\": _vm.user.id } }, [\n _c(\n \"div\",\n {\n staticClass: \"avatar\",\n class: {\n \"icon-loading-small\":\n _vm.loading.delete || _vm.loading.disable || _vm.loading.wipe,\n },\n },\n [\n !_vm.loading.delete && !_vm.loading.disable && !_vm.loading.wipe\n ? _c(\"img\", {\n attrs: {\n src: _vm.generateAvatar(_vm.user.id, 32),\n srcset:\n _vm.generateAvatar(_vm.user.id, 64) +\n \" 2x, \" +\n _vm.generateAvatar(_vm.user.id, 128) +\n \" 4x\",\n alt: \"\",\n height: \"32\",\n width: \"32\",\n },\n })\n : _vm._e(),\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"name\" }, [\n _vm._v(\"\\n\\t\\t\" + _vm._s(_vm.user.id) + \"\\n\\t\"),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"obfuscated\" }, [\n _vm._v(\n \"\\n\\t\\t\" +\n _vm._s(\n _vm.t(\n \"settings\",\n \"You do not have permissions to see the details of this user\"\n )\n ) +\n \"\\n\\t\"\n ),\n ]),\n ])\n : !_vm.editing\n ? _c(\"UserRowSimple\", {\n class: { \"row--menu-opened\": _vm.openedMenu },\n attrs: {\n editing: _vm.editing,\n \"feedback-message\": _vm.feedbackMessage,\n groups: _vm.groups,\n languages: _vm.languages,\n loading: _vm.loading,\n \"opened-menu\": _vm.openedMenu,\n settings: _vm.settings,\n \"show-config\": _vm.showConfig,\n \"sub-admins-groups\": _vm.subAdminsGroups,\n \"user-actions\": _vm.userActions,\n user: _vm.user,\n },\n on: {\n \"update:editing\": function ($event) {\n _vm.editing = $event\n },\n \"update:openedMenu\": function ($event) {\n _vm.openedMenu = $event\n },\n \"update:opened-menu\": function ($event) {\n _vm.openedMenu = $event\n },\n },\n })\n : _c(\n \"div\",\n {\n staticClass: \"row row--editable\",\n class: {\n disabled: _vm.loading.delete || _vm.loading.disable,\n \"row--menu-opened\": _vm.openedMenu,\n },\n attrs: { \"data-id\": _vm.user.id },\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"avatar\",\n class: {\n \"icon-loading-small\":\n _vm.loading.delete || _vm.loading.disable || _vm.loading.wipe,\n },\n },\n [\n !_vm.loading.delete && !_vm.loading.disable && !_vm.loading.wipe\n ? _c(\"img\", {\n attrs: {\n src: _vm.generateAvatar(_vm.user.id, 32),\n srcset:\n _vm.generateAvatar(_vm.user.id, 64) +\n \" 2x, \" +\n _vm.generateAvatar(_vm.user.id, 128) +\n \" 4x\",\n alt: \"\",\n height: \"32\",\n width: \"32\",\n },\n })\n : _vm._e(),\n ]\n ),\n _vm._v(\" \"),\n _vm.user.backendCapabilities.setDisplayName\n ? _c(\"div\", { staticClass: \"displayName\" }, [\n _c(\n \"form\",\n {\n staticClass: \"displayName\",\n class: { \"icon-loading-small\": _vm.loading.displayName },\n on: {\n submit: function ($event) {\n $event.preventDefault()\n return _vm.updateDisplayName.apply(null, arguments)\n },\n },\n },\n [\n _c(\"input\", {\n ref: \"displayName\",\n attrs: {\n id: \"displayName\" + _vm.user.id + _vm.rand,\n disabled: _vm.loading.displayName || _vm.loading.all,\n autocapitalize: \"off\",\n autocomplete: \"off\",\n autocorrect: \"off\",\n spellcheck: \"false\",\n type: \"text\",\n },\n domProps: { value: _vm.user.displayname },\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"icon-confirm\",\n attrs: { type: \"submit\", value: \"\" },\n }),\n ]\n ),\n ])\n : _c(\"div\", { staticClass: \"name\" }, [\n _vm._v(\"\\n\\t\\t\" + _vm._s(_vm.user.id) + \"\\n\\t\\t\"),\n _c(\"div\", { staticClass: \"displayName subtitle\" }, [\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip\",\n value:\n _vm.user.displayname.length > 20\n ? _vm.user.displayname\n : \"\",\n expression:\n \"user.displayname.length > 20 ? user.displayname : ''\",\n },\n ],\n staticClass: \"cellText\",\n },\n [\n _vm._v(\n \"\\n\\t\\t\\t\\t\" + _vm._s(_vm.user.displayname) + \"\\n\\t\\t\\t\"\n ),\n ]\n ),\n ]),\n ]),\n _vm._v(\" \"),\n _vm.settings.canChangePassword &&\n _vm.user.backendCapabilities.setPassword\n ? _c(\n \"form\",\n {\n staticClass: \"password\",\n class: { \"icon-loading-small\": _vm.loading.password },\n on: {\n submit: function ($event) {\n $event.preventDefault()\n return _vm.updatePassword.apply(null, arguments)\n },\n },\n },\n [\n _c(\"input\", {\n ref: \"password\",\n attrs: {\n id: \"password\" + _vm.user.id + _vm.rand,\n disabled: _vm.loading.password || _vm.loading.all,\n minlength: _vm.minPasswordLength,\n placeholder: _vm.t(\"settings\", \"Add new password\"),\n autocapitalize: \"off\",\n autocomplete: \"new-password\",\n autocorrect: \"off\",\n required: \"\",\n spellcheck: \"false\",\n type: \"password\",\n value: \"\",\n },\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"icon-confirm\",\n attrs: { type: \"submit\", value: \"\" },\n }),\n ]\n )\n : _c(\"div\"),\n _vm._v(\" \"),\n _c(\n \"form\",\n {\n staticClass: \"mailAddress\",\n class: { \"icon-loading-small\": _vm.loading.mailAddress },\n on: {\n submit: function ($event) {\n $event.preventDefault()\n return _vm.updateEmail.apply(null, arguments)\n },\n },\n },\n [\n _c(\"input\", {\n ref: \"mailAddress\",\n attrs: {\n id: \"mailAddress\" + _vm.user.id + _vm.rand,\n disabled: _vm.loading.mailAddress || _vm.loading.all,\n placeholder: _vm.t(\"settings\", \"Add new email address\"),\n autocapitalize: \"off\",\n autocomplete: \"new-password\",\n autocorrect: \"off\",\n spellcheck: \"false\",\n type: \"email\",\n },\n domProps: { value: _vm.user.email },\n }),\n _vm._v(\" \"),\n _c(\"input\", {\n staticClass: \"icon-confirm\",\n attrs: { type: \"submit\", value: \"\" },\n }),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"groups\",\n class: { \"icon-loading-small\": _vm.loading.groups },\n },\n [\n _c(\n \"Multiselect\",\n {\n staticClass: \"multiselect-vue\",\n attrs: {\n \"close-on-select\": false,\n disabled: _vm.loading.groups || _vm.loading.all,\n limit: 2,\n multiple: true,\n options: _vm.availableGroups,\n placeholder: _vm.t(\"settings\", \"Add user to group\"),\n \"tag-width\": 60,\n taggable: _vm.settings.isAdmin,\n value: _vm.userGroups,\n label: \"name\",\n \"tag-placeholder\": \"create\",\n \"track-by\": \"id\",\n },\n on: {\n remove: _vm.removeUserGroup,\n select: _vm.addUserGroup,\n tag: _vm.createGroup,\n },\n },\n [\n _c(\n \"span\",\n { attrs: { slot: \"noResult\" }, slot: \"noResult\" },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"No results\")))]\n ),\n ]\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.subAdminsGroups.length > 0 && _vm.settings.isAdmin\n ? _c(\n \"div\",\n {\n staticClass: \"subadmins\",\n class: { \"icon-loading-small\": _vm.loading.subadmins },\n },\n [\n _c(\n \"Multiselect\",\n {\n staticClass: \"multiselect-vue\",\n attrs: {\n \"close-on-select\": false,\n disabled: _vm.loading.subadmins || _vm.loading.all,\n limit: 2,\n multiple: true,\n options: _vm.subAdminsGroups,\n placeholder: _vm.t(\"settings\", \"Set user as admin for\"),\n \"tag-width\": 60,\n value: _vm.userSubAdminsGroups,\n label: \"name\",\n \"track-by\": \"id\",\n },\n on: {\n remove: _vm.removeUserSubAdmin,\n select: _vm.addUserSubAdmin,\n },\n },\n [\n _c(\n \"span\",\n { attrs: { slot: \"noResult\" }, slot: \"noResult\" },\n [_vm._v(_vm._s(_vm.t(\"settings\", \"No results\")))]\n ),\n ]\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.usedSpace,\n expression: \"usedSpace\",\n modifiers: { auto: true },\n },\n ],\n staticClass: \"quota\",\n class: { \"icon-loading-small\": _vm.loading.quota },\n },\n [\n _c(\"Multiselect\", {\n staticClass: \"multiselect-vue\",\n attrs: {\n \"allow-empty\": false,\n disabled: _vm.loading.quota || _vm.loading.all,\n options: _vm.quotaOptions,\n placeholder: _vm.t(\"settings\", \"Select user quota\"),\n taggable: true,\n value: _vm.userQuota,\n label: \"label\",\n \"tag-placeholder\": \"create\",\n \"track-by\": \"id\",\n },\n on: { input: _vm.setUserQuota, tag: _vm.validateQuota },\n }),\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.showConfig.showLanguages\n ? _c(\n \"div\",\n {\n staticClass: \"languages\",\n class: { \"icon-loading-small\": _vm.loading.languages },\n },\n [\n _c(\"Multiselect\", {\n staticClass: \"multiselect-vue\",\n attrs: {\n \"allow-empty\": false,\n disabled: _vm.loading.languages || _vm.loading.all,\n options: _vm.languages,\n placeholder: _vm.t(\"settings\", \"No language set\"),\n value: _vm.userLanguage,\n \"group-label\": \"label\",\n \"group-values\": \"languages\",\n label: \"name\",\n \"track-by\": \"code\",\n },\n on: { input: _vm.setUserLanguage },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showStoragePath || _vm.showConfig.showUserBackend\n ? _c(\"div\", { staticClass: \"storageLocation\" })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showLastLogin ? _c(\"div\") : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"userActions\" }, [\n !_vm.loading.all\n ? _c(\n \"div\",\n { staticClass: \"toggleUserActions\" },\n [\n _c(\n \"Actions\",\n [\n _c(\n \"ActionButton\",\n {\n attrs: { icon: \"icon-checkmark\" },\n on: {\n click: function ($event) {\n _vm.editing = false\n },\n },\n },\n [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\" +\n _vm._s(_vm.t(\"settings\", \"Done\")) +\n \"\\n\\t\\t\\t\\t\"\n ),\n ]\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"click-outside\",\n rawName: \"v-click-outside\",\n value: _vm.hideMenu,\n expression: \"hideMenu\",\n },\n ],\n staticClass: \"userPopoverMenuWrapper\",\n },\n [\n _c(\"div\", {\n staticClass: \"icon-more\",\n on: { click: _vm.toggleMenu },\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"popovermenu\",\n class: { open: _vm.openedMenu },\n },\n [\n _c(\"PopoverMenu\", {\n attrs: { menu: _vm.userActions },\n }),\n ],\n 1\n ),\n ]\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"feedback\",\n style: { opacity: _vm.feedbackMessage !== \"\" ? 1 : 0 },\n },\n [\n _c(\"div\", { staticClass: \"icon-checkmark\" }),\n _vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.feedbackMessage) + \"\\n\\t\\t\"),\n ]\n ),\n ]),\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"row\",\n class: { disabled: _vm.loading.delete || _vm.loading.disable },\n attrs: { \"data-id\": _vm.user.id },\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"avatar\",\n class: {\n \"icon-loading-small\":\n _vm.loading.delete || _vm.loading.disable || _vm.loading.wipe,\n },\n },\n [\n !_vm.loading.delete && !_vm.loading.disable && !_vm.loading.wipe\n ? _c(\"img\", {\n attrs: {\n alt: \"\",\n width: \"32\",\n height: \"32\",\n src: _vm.generateAvatar(_vm.user.id, 32),\n srcset:\n _vm.generateAvatar(_vm.user.id, 64) +\n \" 2x, \" +\n _vm.generateAvatar(_vm.user.id, 128) +\n \" 4x\",\n },\n })\n : _vm._e(),\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"name\" }, [\n _vm._v(\"\\n\\t\\t\" + _vm._s(_vm.user.id) + \"\\n\\t\\t\"),\n _c(\"div\", { staticClass: \"displayName subtitle\" }, [\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip\",\n value:\n _vm.user.displayname.length > 20\n ? _vm.user.displayname\n : \"\",\n expression:\n \"user.displayname.length > 20 ? user.displayname : ''\",\n },\n ],\n staticClass: \"cellText\",\n },\n [_vm._v(\"\\n\\t\\t\\t\\t\" + _vm._s(_vm.user.displayname) + \"\\n\\t\\t\\t\")]\n ),\n ]),\n ]),\n _vm._v(\" \"),\n _c(\"div\"),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"mailAddress\" }, [\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip\",\n value:\n _vm.user.email !== null && _vm.user.email.length > 20\n ? _vm.user.email\n : \"\",\n expression:\n \"user.email !== null && user.email.length > 20 ? user.email : ''\",\n },\n ],\n staticClass: \"cellText\",\n },\n [_vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.user.email) + \"\\n\\t\\t\")]\n ),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"groups\" }, [\n _vm._v(\"\\n\\t\\t\" + _vm._s(_vm.userGroupsLabels) + \"\\n\\t\"),\n ]),\n _vm._v(\" \"),\n _vm.subAdminsGroups.length > 0 && _vm.settings.isAdmin\n ? _c(\"div\", { staticClass: \"subAdminsGroups\" }, [\n _vm._v(\"\\n\\t\\t\" + _vm._s(_vm.userSubAdminsGroupsLabels) + \"\\n\\t\"),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"userQuota\" }, [\n _c(\"div\", { staticClass: \"quota\" }, [\n _vm._v(\n \"\\n\\t\\t\\t\" +\n _vm._s(_vm.userQuota) +\n \" (\" +\n _vm._s(_vm.usedSpace) +\n \")\\n\\t\\t\\t\"\n ),\n _c(\"progress\", {\n staticClass: \"quota-user-progress\",\n class: { warn: _vm.usedQuota > 80 },\n attrs: { max: \"100\" },\n domProps: { value: _vm.usedQuota },\n }),\n ]),\n ]),\n _vm._v(\" \"),\n _vm.showConfig.showLanguages\n ? _c(\"div\", { staticClass: \"languages\" }, [\n _vm._v(\"\\n\\t\\t\" + _vm._s(_vm.userLanguage.name) + \"\\n\\t\"),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showUserBackend || _vm.showConfig.showStoragePath\n ? _c(\"div\", { staticClass: \"userBackend\" }, [\n _vm.showConfig.showUserBackend\n ? _c(\"div\", { staticClass: \"userBackend\" }, [\n _vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.user.backend) + \"\\n\\t\\t\"),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showStoragePath\n ? _c(\n \"div\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip\",\n value: _vm.user.storageLocation,\n expression: \"user.storageLocation\",\n },\n ],\n staticClass: \"storageLocation subtitle\",\n },\n [\n _vm._v(\n \"\\n\\t\\t\\t\" + _vm._s(_vm.user.storageLocation) + \"\\n\\t\\t\"\n ),\n ]\n )\n : _vm._e(),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showConfig.showLastLogin\n ? _c(\n \"div\",\n {\n directives: [\n {\n name: \"tooltip\",\n rawName: \"v-tooltip.auto\",\n value: _vm.userLastLoginTooltip,\n expression: \"userLastLoginTooltip\",\n modifiers: { auto: true },\n },\n ],\n staticClass: \"lastLogin\",\n },\n [_vm._v(\"\\n\\t\\t\" + _vm._s(_vm.userLastLogin) + \"\\n\\t\")]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"userActions\" }, [\n _vm.canEdit && !_vm.loading.all\n ? _c(\n \"div\",\n { staticClass: \"toggleUserActions\" },\n [\n _c(\n \"Actions\",\n [\n _c(\n \"ActionButton\",\n {\n attrs: { icon: \"icon-rename\" },\n on: { click: _vm.toggleEdit },\n },\n [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\" +\n _vm._s(_vm.t(\"settings\", \"Edit User\")) +\n \"\\n\\t\\t\\t\\t\"\n ),\n ]\n ),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"userPopoverMenuWrapper\" }, [\n _c(\"button\", {\n directives: [\n {\n name: \"click-outside\",\n rawName: \"v-click-outside\",\n value: _vm.hideMenu,\n expression: \"hideMenu\",\n },\n ],\n staticClass: \"icon-more\",\n attrs: {\n \"aria-label\": _vm.t(\n \"settings\",\n \"Toggle user actions menu\"\n ),\n },\n on: {\n click: function ($event) {\n $event.preventDefault()\n return _vm.toggleMenu.apply(null, arguments)\n },\n },\n }),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"popovermenu\",\n class: { open: _vm.openedMenu },\n attrs: { \"aria-expanded\": _vm.openedMenu },\n },\n [_c(\"PopoverMenu\", { attrs: { menu: _vm.userActions } })],\n 1\n ),\n ]),\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"feedback\",\n style: { opacity: _vm.feedbackMessage !== \"\" ? 1 : 0 },\n },\n [\n _c(\"div\", { staticClass: \"icon-checkmark\" }),\n _vm._v(\"\\n\\t\\t\\t\" + _vm._s(_vm.feedbackMessage) + \"\\n\\t\\t\"),\n ]\n ),\n ]),\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"Content\",\n {\n attrs: {\n \"app-name\": \"settings\",\n \"navigation-class\": { \"icon-loading\": _vm.loadingAddGroup },\n },\n },\n [\n _c(\n \"AppNavigation\",\n {\n scopedSlots: _vm._u([\n {\n key: \"list\",\n fn: function () {\n return [\n _c(\"AppNavigationItem\", {\n ref: \"addGroup\",\n attrs: {\n id: \"addgroup\",\n \"edit-placeholder\": _vm.t(\"settings\", \"Enter group name\"),\n editable: true,\n loading: _vm.loadingAddGroup,\n title: _vm.t(\"settings\", \"Add group\"),\n icon: \"icon-add\",\n },\n on: {\n click: _vm.showAddGroupForm,\n \"update:title\": _vm.createGroup,\n },\n }),\n _vm._v(\" \"),\n _c(\n \"AppNavigationItem\",\n {\n attrs: {\n id: \"everyone\",\n exact: true,\n title: _vm.t(\"settings\", \"Active users\"),\n to: { name: \"users\" },\n icon: \"icon-contacts-dark\",\n },\n },\n [\n _vm.userCount > 0\n ? _c(\n \"AppNavigationCounter\",\n { attrs: { slot: \"counter\" }, slot: \"counter\" },\n [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\" +\n _vm._s(_vm.userCount) +\n \"\\n\\t\\t\\t\\t\"\n ),\n ]\n )\n : _vm._e(),\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.settings.isAdmin\n ? _c(\n \"AppNavigationItem\",\n {\n attrs: {\n id: \"admin\",\n exact: true,\n title: _vm.t(\"settings\", \"Admins\"),\n to: {\n name: \"group\",\n params: { selectedGroup: \"admin\" },\n },\n icon: \"icon-user-admin\",\n },\n },\n [\n _vm.adminGroupMenu.count\n ? _c(\n \"AppNavigationCounter\",\n { attrs: { slot: \"counter\" }, slot: \"counter\" },\n [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\" +\n _vm._s(_vm.adminGroupMenu.count) +\n \"\\n\\t\\t\\t\\t\"\n ),\n ]\n )\n : _vm._e(),\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.disabledGroupMenu.usercount > 0 ||\n _vm.disabledGroupMenu.usercount === -1\n ? _c(\n \"AppNavigationItem\",\n {\n attrs: {\n id: \"disabled\",\n exact: true,\n title: _vm.t(\"settings\", \"Disabled users\"),\n to: {\n name: \"group\",\n params: { selectedGroup: \"disabled\" },\n },\n icon: \"icon-disabled-users\",\n },\n },\n [\n _vm.disabledGroupMenu.usercount > 0\n ? _c(\n \"AppNavigationCounter\",\n { attrs: { slot: \"counter\" }, slot: \"counter\" },\n [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\" +\n _vm._s(_vm.disabledGroupMenu.usercount) +\n \"\\n\\t\\t\\t\\t\"\n ),\n ]\n )\n : _vm._e(),\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.groupList.length > 0\n ? _c(\"AppNavigationCaption\", {\n attrs: { title: _vm.t(\"settings\", \"Groups\") },\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm._l(_vm.groupList, function (group) {\n return _c(\n \"AppNavigationItem\",\n {\n key: group.id,\n attrs: {\n exact: true,\n title: group.title,\n to: {\n name: \"group\",\n params: {\n selectedGroup: encodeURIComponent(group.id),\n },\n },\n icon: \"icon-group\",\n },\n },\n [\n group.count\n ? _c(\n \"AppNavigationCounter\",\n { attrs: { slot: \"counter\" }, slot: \"counter\" },\n [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\" +\n _vm._s(group.count) +\n \"\\n\\t\\t\\t\\t\"\n ),\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"template\",\n { slot: \"actions\" },\n [\n group.id !== \"admin\" &&\n group.id !== \"disabled\" &&\n _vm.settings.isAdmin\n ? _c(\n \"ActionButton\",\n {\n attrs: { icon: \"icon-delete\" },\n on: {\n click: function ($event) {\n return _vm.removeGroup(group.id)\n },\n },\n },\n [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\\t\" +\n _vm._s(\n _vm.t(\"settings\", \"Remove group\")\n ) +\n \"\\n\\t\\t\\t\\t\\t\"\n ),\n ]\n )\n : _vm._e(),\n ],\n 1\n ),\n ],\n 2\n )\n }),\n ]\n },\n proxy: true,\n },\n {\n key: \"footer\",\n fn: function () {\n return [\n _c(\"AppNavigationSettings\", [\n _c(\n \"div\",\n [\n _c(\"p\", [\n _vm._v(_vm._s(_vm.t(\"settings\", \"Default quota:\"))),\n ]),\n _vm._v(\" \"),\n _c(\"Multiselect\", {\n attrs: {\n value: _vm.defaultQuota,\n options: _vm.quotaOptions,\n \"tag-placeholder\": \"create\",\n placeholder: _vm.t(\n \"settings\",\n \"Select default quota\"\n ),\n label: \"label\",\n \"track-by\": \"id\",\n \"allow-empty\": false,\n taggable: true,\n },\n on: {\n tag: _vm.validateQuota,\n input: _vm.setDefaultQuota,\n },\n }),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"div\", [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.showLanguages,\n expression: \"showLanguages\",\n },\n ],\n staticClass: \"checkbox\",\n attrs: { id: \"showLanguages\", type: \"checkbox\" },\n domProps: {\n checked: Array.isArray(_vm.showLanguages)\n ? _vm._i(_vm.showLanguages, null) > -1\n : _vm.showLanguages,\n },\n on: {\n change: function ($event) {\n var $$a = _vm.showLanguages,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n (_vm.showLanguages = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.showLanguages = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.showLanguages = $$c\n }\n },\n },\n }),\n _vm._v(\" \"),\n _c(\"label\", { attrs: { for: \"showLanguages\" } }, [\n _vm._v(_vm._s(_vm.t(\"settings\", \"Show Languages\"))),\n ]),\n ]),\n _vm._v(\" \"),\n _c(\"div\", [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.showLastLogin,\n expression: \"showLastLogin\",\n },\n ],\n staticClass: \"checkbox\",\n attrs: { id: \"showLastLogin\", type: \"checkbox\" },\n domProps: {\n checked: Array.isArray(_vm.showLastLogin)\n ? _vm._i(_vm.showLastLogin, null) > -1\n : _vm.showLastLogin,\n },\n on: {\n change: function ($event) {\n var $$a = _vm.showLastLogin,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n (_vm.showLastLogin = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.showLastLogin = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.showLastLogin = $$c\n }\n },\n },\n }),\n _vm._v(\" \"),\n _c(\"label\", { attrs: { for: \"showLastLogin\" } }, [\n _vm._v(_vm._s(_vm.t(\"settings\", \"Show last login\"))),\n ]),\n ]),\n _vm._v(\" \"),\n _c(\"div\", [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.showUserBackend,\n expression: \"showUserBackend\",\n },\n ],\n staticClass: \"checkbox\",\n attrs: { id: \"showUserBackend\", type: \"checkbox\" },\n domProps: {\n checked: Array.isArray(_vm.showUserBackend)\n ? _vm._i(_vm.showUserBackend, null) > -1\n : _vm.showUserBackend,\n },\n on: {\n change: function ($event) {\n var $$a = _vm.showUserBackend,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n (_vm.showUserBackend = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.showUserBackend = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.showUserBackend = $$c\n }\n },\n },\n }),\n _vm._v(\" \"),\n _c(\"label\", { attrs: { for: \"showUserBackend\" } }, [\n _vm._v(_vm._s(_vm.t(\"settings\", \"Show user backend\"))),\n ]),\n ]),\n _vm._v(\" \"),\n _c(\"div\", [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.showStoragePath,\n expression: \"showStoragePath\",\n },\n ],\n staticClass: \"checkbox\",\n attrs: { id: \"showStoragePath\", type: \"checkbox\" },\n domProps: {\n checked: Array.isArray(_vm.showStoragePath)\n ? _vm._i(_vm.showStoragePath, null) > -1\n : _vm.showStoragePath,\n },\n on: {\n change: function ($event) {\n var $$a = _vm.showStoragePath,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n (_vm.showStoragePath = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.showStoragePath = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.showStoragePath = $$c\n }\n },\n },\n }),\n _vm._v(\" \"),\n _c(\"label\", { attrs: { for: \"showStoragePath\" } }, [\n _vm._v(_vm._s(_vm.t(\"settings\", \"Show storage path\"))),\n ]),\n ]),\n _vm._v(\" \"),\n _c(\"div\", [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.sendWelcomeMail,\n expression: \"sendWelcomeMail\",\n },\n ],\n staticClass: \"checkbox\",\n attrs: {\n id: \"sendWelcomeMail\",\n disabled: _vm.loadingSendMail,\n type: \"checkbox\",\n },\n domProps: {\n checked: Array.isArray(_vm.sendWelcomeMail)\n ? _vm._i(_vm.sendWelcomeMail, null) > -1\n : _vm.sendWelcomeMail,\n },\n on: {\n change: function ($event) {\n var $$a = _vm.sendWelcomeMail,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n (_vm.sendWelcomeMail = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.sendWelcomeMail = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.sendWelcomeMail = $$c\n }\n },\n },\n }),\n _vm._v(\" \"),\n _c(\"label\", { attrs: { for: \"sendWelcomeMail\" } }, [\n _vm._v(\n _vm._s(_vm.t(\"settings\", \"Send email to new user\"))\n ),\n ]),\n ]),\n ]),\n ]\n },\n proxy: true,\n },\n ]),\n },\n [\n _c(\"AppNavigationNew\", {\n attrs: {\n \"button-id\": \"new-user-button\",\n text: _vm.t(\"settings\", \"New user\"),\n \"button-class\": \"icon-add\",\n },\n on: {\n click: _vm.showNewUserMenu,\n keyup: [\n function ($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")\n ) {\n return null\n }\n return _vm.showNewUserMenu.apply(null, arguments)\n },\n function ($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"space\", 32, $event.key, [\n \" \",\n \"Spacebar\",\n ])\n ) {\n return null\n }\n return _vm.showNewUserMenu.apply(null, arguments)\n },\n ],\n },\n }),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"AppContent\",\n [\n _c(\"UserList\", {\n attrs: {\n users: _vm.users,\n \"show-config\": _vm.showConfig,\n \"selected-group\": _vm.selectedGroupDecoded,\n \"external-actions\": _vm.externalActions,\n },\n }),\n ],\n 1\n ),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"],"mappings":";;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;A;;;;;;;;;;;;;;;;;;;AClNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;A;;;;;;;;;;;;;;;;;;AC5mBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;A;;;;;;;;;;;;;;;;;;;;ACh4BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;A;;;;;;;;;;;;AC7lBA;AACA;AACA;AACA;AACA;AACA;AACA;;;A;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;;A;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;;A;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;;A;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;A;;;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;A;;;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;A;;;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;A;;;;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAiBA;AACA;AACA;;A;;;;;;;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAiBA;AACA;AACA;;A;;;;;;;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAiBA;AACA;AACA;;A;;;;;;;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAiBA;AACA;AACA;;A;;;;;;;;;;;ACvCA;;A;;;;;;;;;;;ACAA;;A;;;;;;;;;;;ACAA;;A;;;;;;;;;;;ACAA;;A;;;;;;;;;;;;;A;;;;;;;;;;;;;A;;;;;;;;;;;;;A;;;;;;;;;;;;;A;;;;;;;;;;;;;;;;;A;;;;;;;;;;;;;;;;;A;;;;;;;;;;;;;;;;;A;;;;;;;;;;;;;;;;;A;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;A;;;;;;;;;;;;;;AC1fA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;A;;;;;;;;;;;;;;ACnfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;A;;;;;;;;;;;;;;ACnQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;A;;A","sourceRoot":""} \ No newline at end of file
diff --git a/dist/user-status-modal-299.js.LICENSE.txt b/dist/user-status-modal-299.js.LICENSE.txt
deleted file mode 100644
index de72ae1f265..00000000000
--- a/dist/user-status-modal-299.js.LICENSE.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-/**
- * @copyright Copyright (c) 2020 Georg Ehrke
- *
- * @author Georg Ehrke <oc.list@georgehrke.com>
- *
- * @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 <http://www.gnu.org/licenses/>.
- *
- */
diff --git a/dist/user-status-modal-user-status-modal.js b/dist/user-status-modal-user-status-modal.js
index badb0d9c7e0..7cdc4584e43 100644
--- a/dist/user-status-modal-user-status-modal.js
+++ b/dist/user-status-modal-user-status-modal.js
@@ -1,4 +1,3 @@
-"use strict";
(self["webpackChunknextcloud"] = self["webpackChunknextcloud"] || []).push([["user-status-modal"],{
/***/ "./apps/user_status/src/filters/clearAtFilter.js":
@@ -7,6 +6,7 @@
\*******************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "clearAtFilter": function() { return /* binding */ clearAtFilter; }
@@ -90,6 +90,7 @@ var clearAtFilter = function clearAtFilter(clearAt) {
\****************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "getAllClearAtOptions": function() { return /* binding */ getAllClearAtOptions; }
@@ -170,6 +171,7 @@ var getAllClearAtOptions = function getAllClearAtOptions() {
\***************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "getAllStatusOptions": function() { return /* binding */ getAllStatusOptions; }
@@ -236,6 +238,7 @@ var getAllStatusOptions = function getAllStatusOptions() {
\****************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _nextcloud_vue_dist_Components_Multiselect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @nextcloud/vue/dist/Components/Multiselect */ "./node_modules/@nextcloud/vue/dist/Components/Multiselect.js");
/* harmony import */ var _nextcloud_vue_dist_Components_Multiselect__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_nextcloud_vue_dist_Components_Multiselect__WEBPACK_IMPORTED_MODULE_0__);
@@ -333,6 +336,7 @@ __webpack_require__.r(__webpack_exports__);
\*********************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
//
//
@@ -414,6 +418,7 @@ __webpack_require__.r(__webpack_exports__);
\*********************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
//
//
@@ -495,6 +500,7 @@ __webpack_require__.r(__webpack_exports__);
\*******************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _filters_clearAtFilter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../filters/clearAtFilter */ "./apps/user_status/src/filters/clearAtFilter.js");
//
@@ -579,6 +585,7 @@ __webpack_require__.r(__webpack_exports__);
\*************************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _PredefinedStatus__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./PredefinedStatus */ "./apps/user_status/src/components/PredefinedStatus.vue");
/* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vuex */ "./node_modules/vuex/dist/vuex.esm.js");
@@ -634,7 +641,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
/* harmony default export */ __webpack_exports__["default"] = ({
name: 'PredefinedStatusesList',
components: {
- PredefinedStatus: _PredefinedStatus__WEBPACK_IMPORTED_MODULE_0__["default"]
+ PredefinedStatus: _PredefinedStatus__WEBPACK_IMPORTED_MODULE_0__.default
},
computed: _objectSpread(_objectSpread({}, (0,vuex__WEBPACK_IMPORTED_MODULE_1__.mapState)({
predefinedStatuses: function predefinedStatuses(state) {
@@ -678,6 +685,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
\*****************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _nextcloud_dialogs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @nextcloud/dialogs */ "./node_modules/@nextcloud/dialogs/dist/index.es.js");
/* harmony import */ var _nextcloud_vue_dist_Components_EmojiPicker__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @nextcloud/vue/dist/Components/EmojiPicker */ "./node_modules/@nextcloud/vue/dist/Components/EmojiPicker.js");
@@ -779,14 +787,14 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
/* harmony default export */ __webpack_exports__["default"] = ({
name: 'SetStatusModal',
components: {
- ClearAtSelect: _ClearAtSelect__WEBPACK_IMPORTED_MODULE_7__["default"],
- CustomMessageInput: _CustomMessageInput__WEBPACK_IMPORTED_MODULE_6__["default"],
+ ClearAtSelect: _ClearAtSelect__WEBPACK_IMPORTED_MODULE_7__.default,
+ CustomMessageInput: _CustomMessageInput__WEBPACK_IMPORTED_MODULE_6__.default,
EmojiPicker: (_nextcloud_vue_dist_Components_EmojiPicker__WEBPACK_IMPORTED_MODULE_1___default()),
Modal: (_nextcloud_vue_dist_Components_Modal__WEBPACK_IMPORTED_MODULE_2___default()),
- OnlineStatusSelect: _OnlineStatusSelect__WEBPACK_IMPORTED_MODULE_8__["default"],
- PredefinedStatusesList: _PredefinedStatusesList__WEBPACK_IMPORTED_MODULE_5__["default"]
+ OnlineStatusSelect: _OnlineStatusSelect__WEBPACK_IMPORTED_MODULE_8__.default,
+ PredefinedStatusesList: _PredefinedStatusesList__WEBPACK_IMPORTED_MODULE_5__.default
},
- mixins: [_mixins_OnlineStatusMixin__WEBPACK_IMPORTED_MODULE_4__["default"]],
+ mixins: [_mixins_OnlineStatusMixin__WEBPACK_IMPORTED_MODULE_4__.default],
data: function data() {
return {
clearAt: null,
@@ -1003,6 +1011,7 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
\**********************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);
@@ -1023,6 +1032,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".clear-at-select[data-v-16308054] {\n
\***************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);
@@ -1043,6 +1053,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".custom-input__form[data-v-f8ff5dac] {
\***************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);
@@ -1063,6 +1074,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".user-status-online-select__input[data
\*************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);
@@ -1083,6 +1095,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".predefined-status[data-v-2b4a822e] {\
\*******************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);
@@ -1103,6 +1116,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".predefined-statuses-list[data-v-31790
\***********************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);
@@ -1123,6 +1137,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, "[data-v-1a4980a2] .modal-wrapper .prev
\**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js");
/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);
@@ -1135,11 +1150,11 @@ var options = {};
options.insert = "head";
options.singleton = false;
-var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ClearAtSelect_vue_vue_type_style_index_0_id_16308054_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__["default"], options);
+var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ClearAtSelect_vue_vue_type_style_index_0_id_16308054_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__.default, options);
-/* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ClearAtSelect_vue_vue_type_style_index_0_id_16308054_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {});
+/* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ClearAtSelect_vue_vue_type_style_index_0_id_16308054_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__.default.locals || {});
/***/ }),
@@ -1149,6 +1164,7 @@ var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js
\*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js");
/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);
@@ -1161,11 +1177,11 @@ var options = {};
options.insert = "head";
options.singleton = false;
-var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_CustomMessageInput_vue_vue_type_style_index_0_id_f8ff5dac_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__["default"], options);
+var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_CustomMessageInput_vue_vue_type_style_index_0_id_f8ff5dac_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__.default, options);
-/* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_CustomMessageInput_vue_vue_type_style_index_0_id_f8ff5dac_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {});
+/* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_CustomMessageInput_vue_vue_type_style_index_0_id_f8ff5dac_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__.default.locals || {});
/***/ }),
@@ -1175,6 +1191,7 @@ var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js
\*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js");
/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);
@@ -1187,11 +1204,11 @@ var options = {};
options.insert = "head";
options.singleton = false;
-var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_OnlineStatusSelect_vue_vue_type_style_index_0_id_08b51a17_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__["default"], options);
+var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_OnlineStatusSelect_vue_vue_type_style_index_0_id_08b51a17_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__.default, options);
-/* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_OnlineStatusSelect_vue_vue_type_style_index_0_id_08b51a17_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {});
+/* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_OnlineStatusSelect_vue_vue_type_style_index_0_id_08b51a17_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__.default.locals || {});
/***/ }),
@@ -1201,6 +1218,7 @@ var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js
\*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js");
/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);
@@ -1213,11 +1231,11 @@ var options = {};
options.insert = "head";
options.singleton = false;
-var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PredefinedStatus_vue_vue_type_style_index_0_id_2b4a822e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__["default"], options);
+var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PredefinedStatus_vue_vue_type_style_index_0_id_2b4a822e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__.default, options);
-/* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PredefinedStatus_vue_vue_type_style_index_0_id_2b4a822e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {});
+/* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PredefinedStatus_vue_vue_type_style_index_0_id_2b4a822e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__.default.locals || {});
/***/ }),
@@ -1227,6 +1245,7 @@ var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js
\***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js");
/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);
@@ -1239,11 +1258,11 @@ var options = {};
options.insert = "head";
options.singleton = false;
-var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PredefinedStatusesList_vue_vue_type_style_index_0_id_31790e1a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__["default"], options);
+var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PredefinedStatusesList_vue_vue_type_style_index_0_id_31790e1a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__.default, options);
-/* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PredefinedStatusesList_vue_vue_type_style_index_0_id_31790e1a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {});
+/* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PredefinedStatusesList_vue_vue_type_style_index_0_id_31790e1a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__.default.locals || {});
/***/ }),
@@ -1253,6 +1272,7 @@ var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js
\***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js");
/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);
@@ -1265,11 +1285,11 @@ var options = {};
options.insert = "head";
options.singleton = false;
-var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_SetStatusModal_vue_vue_type_style_index_0_id_1a4980a2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__["default"], options);
+var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_SetStatusModal_vue_vue_type_style_index_0_id_1a4980a2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__.default, options);
-/* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_SetStatusModal_vue_vue_type_style_index_0_id_1a4980a2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {});
+/* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_SetStatusModal_vue_vue_type_style_index_0_id_1a4980a2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_1__.default.locals || {});
/***/ }),
@@ -1279,6 +1299,7 @@ var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js
\***********************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _ClearAtSelect_vue_vue_type_template_id_16308054_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ClearAtSelect.vue?vue&type=template&id=16308054&scoped=true& */ "./apps/user_status/src/components/ClearAtSelect.vue?vue&type=template&id=16308054&scoped=true&");
/* harmony import */ var _ClearAtSelect_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ClearAtSelect.vue?vue&type=script&lang=js& */ "./apps/user_status/src/components/ClearAtSelect.vue?vue&type=script&lang=js&");
@@ -1292,8 +1313,8 @@ __webpack_require__.r(__webpack_exports__);
/* normalize component */
-var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
- _ClearAtSelect_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
+var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__.default)(
+ _ClearAtSelect_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__.default,
_ClearAtSelect_vue_vue_type_template_id_16308054_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render,
_ClearAtSelect_vue_vue_type_template_id_16308054_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,
false,
@@ -1316,6 +1337,7 @@ component.options.__file = "apps/user_status/src/components/ClearAtSelect.vue"
\****************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _CustomMessageInput_vue_vue_type_template_id_f8ff5dac_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CustomMessageInput.vue?vue&type=template&id=f8ff5dac&scoped=true& */ "./apps/user_status/src/components/CustomMessageInput.vue?vue&type=template&id=f8ff5dac&scoped=true&");
/* harmony import */ var _CustomMessageInput_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CustomMessageInput.vue?vue&type=script&lang=js& */ "./apps/user_status/src/components/CustomMessageInput.vue?vue&type=script&lang=js&");
@@ -1329,8 +1351,8 @@ __webpack_require__.r(__webpack_exports__);
/* normalize component */
-var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
- _CustomMessageInput_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
+var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__.default)(
+ _CustomMessageInput_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__.default,
_CustomMessageInput_vue_vue_type_template_id_f8ff5dac_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render,
_CustomMessageInput_vue_vue_type_template_id_f8ff5dac_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,
false,
@@ -1353,6 +1375,7 @@ component.options.__file = "apps/user_status/src/components/CustomMessageInput.v
\****************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _OnlineStatusSelect_vue_vue_type_template_id_08b51a17_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./OnlineStatusSelect.vue?vue&type=template&id=08b51a17&scoped=true& */ "./apps/user_status/src/components/OnlineStatusSelect.vue?vue&type=template&id=08b51a17&scoped=true&");
/* harmony import */ var _OnlineStatusSelect_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./OnlineStatusSelect.vue?vue&type=script&lang=js& */ "./apps/user_status/src/components/OnlineStatusSelect.vue?vue&type=script&lang=js&");
@@ -1366,8 +1389,8 @@ __webpack_require__.r(__webpack_exports__);
/* normalize component */
-var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
- _OnlineStatusSelect_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
+var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__.default)(
+ _OnlineStatusSelect_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__.default,
_OnlineStatusSelect_vue_vue_type_template_id_08b51a17_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render,
_OnlineStatusSelect_vue_vue_type_template_id_08b51a17_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,
false,
@@ -1390,6 +1413,7 @@ component.options.__file = "apps/user_status/src/components/OnlineStatusSelect.v
\**************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _PredefinedStatus_vue_vue_type_template_id_2b4a822e_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./PredefinedStatus.vue?vue&type=template&id=2b4a822e&scoped=true& */ "./apps/user_status/src/components/PredefinedStatus.vue?vue&type=template&id=2b4a822e&scoped=true&");
/* harmony import */ var _PredefinedStatus_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PredefinedStatus.vue?vue&type=script&lang=js& */ "./apps/user_status/src/components/PredefinedStatus.vue?vue&type=script&lang=js&");
@@ -1403,8 +1427,8 @@ __webpack_require__.r(__webpack_exports__);
/* normalize component */
-var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
- _PredefinedStatus_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
+var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__.default)(
+ _PredefinedStatus_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__.default,
_PredefinedStatus_vue_vue_type_template_id_2b4a822e_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render,
_PredefinedStatus_vue_vue_type_template_id_2b4a822e_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,
false,
@@ -1427,6 +1451,7 @@ component.options.__file = "apps/user_status/src/components/PredefinedStatus.vue
\********************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _PredefinedStatusesList_vue_vue_type_template_id_31790e1a_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./PredefinedStatusesList.vue?vue&type=template&id=31790e1a&scoped=true& */ "./apps/user_status/src/components/PredefinedStatusesList.vue?vue&type=template&id=31790e1a&scoped=true&");
/* harmony import */ var _PredefinedStatusesList_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PredefinedStatusesList.vue?vue&type=script&lang=js& */ "./apps/user_status/src/components/PredefinedStatusesList.vue?vue&type=script&lang=js&");
@@ -1440,8 +1465,8 @@ __webpack_require__.r(__webpack_exports__);
/* normalize component */
-var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
- _PredefinedStatusesList_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
+var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__.default)(
+ _PredefinedStatusesList_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__.default,
_PredefinedStatusesList_vue_vue_type_template_id_31790e1a_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render,
_PredefinedStatusesList_vue_vue_type_template_id_31790e1a_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,
false,
@@ -1464,6 +1489,7 @@ component.options.__file = "apps/user_status/src/components/PredefinedStatusesLi
\************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _SetStatusModal_vue_vue_type_template_id_1a4980a2_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SetStatusModal.vue?vue&type=template&id=1a4980a2&scoped=true& */ "./apps/user_status/src/components/SetStatusModal.vue?vue&type=template&id=1a4980a2&scoped=true&");
/* harmony import */ var _SetStatusModal_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SetStatusModal.vue?vue&type=script&lang=js& */ "./apps/user_status/src/components/SetStatusModal.vue?vue&type=script&lang=js&");
@@ -1477,8 +1503,8 @@ __webpack_require__.r(__webpack_exports__);
/* normalize component */
-var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
- _SetStatusModal_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
+var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__.default)(
+ _SetStatusModal_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__.default,
_SetStatusModal_vue_vue_type_template_id_1a4980a2_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render,
_SetStatusModal_vue_vue_type_template_id_1a4980a2_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,
false,
@@ -1501,9 +1527,10 @@ component.options.__file = "apps/user_status/src/components/SetStatusModal.vue"
\************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ClearAtSelect_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClearAtSelect.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/user_status/src/components/ClearAtSelect.vue?vue&type=script&lang=js&");
- /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ClearAtSelect_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]);
+ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ClearAtSelect_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__.default);
/***/ }),
@@ -1513,9 +1540,10 @@ __webpack_require__.r(__webpack_exports__);
\*****************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_CustomMessageInput_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomMessageInput.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/user_status/src/components/CustomMessageInput.vue?vue&type=script&lang=js&");
- /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_CustomMessageInput_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]);
+ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_CustomMessageInput_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__.default);
/***/ }),
@@ -1525,9 +1553,10 @@ __webpack_require__.r(__webpack_exports__);
\*****************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_OnlineStatusSelect_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OnlineStatusSelect.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/user_status/src/components/OnlineStatusSelect.vue?vue&type=script&lang=js&");
- /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_OnlineStatusSelect_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]);
+ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_OnlineStatusSelect_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__.default);
/***/ }),
@@ -1537,9 +1566,10 @@ __webpack_require__.r(__webpack_exports__);
\***************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PredefinedStatus_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredefinedStatus.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/user_status/src/components/PredefinedStatus.vue?vue&type=script&lang=js&");
- /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PredefinedStatus_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]);
+ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PredefinedStatus_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__.default);
/***/ }),
@@ -1549,9 +1579,10 @@ __webpack_require__.r(__webpack_exports__);
\*********************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PredefinedStatusesList_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredefinedStatusesList.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/user_status/src/components/PredefinedStatusesList.vue?vue&type=script&lang=js&");
- /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PredefinedStatusesList_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]);
+ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PredefinedStatusesList_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__.default);
/***/ }),
@@ -1561,9 +1592,10 @@ __webpack_require__.r(__webpack_exports__);
\*************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_SetStatusModal_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SetStatusModal.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/user_status/src/components/SetStatusModal.vue?vue&type=script&lang=js&");
- /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_SetStatusModal_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]);
+ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_SetStatusModal_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__.default);
/***/ }),
@@ -1573,6 +1605,7 @@ __webpack_require__.r(__webpack_exports__);
\*********************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_ClearAtSelect_vue_vue_type_style_index_0_id_16308054_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClearAtSelect.vue?vue&type=style&index=0&id=16308054&lang=scss&scoped=true& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/user_status/src/components/ClearAtSelect.vue?vue&type=style&index=0&id=16308054&lang=scss&scoped=true&");
@@ -1585,6 +1618,7 @@ __webpack_require__.r(__webpack_exports__);
\**************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_CustomMessageInput_vue_vue_type_style_index_0_id_f8ff5dac_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomMessageInput.vue?vue&type=style&index=0&id=f8ff5dac&lang=scss&scoped=true& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/user_status/src/components/CustomMessageInput.vue?vue&type=style&index=0&id=f8ff5dac&lang=scss&scoped=true&");
@@ -1597,6 +1631,7 @@ __webpack_require__.r(__webpack_exports__);
\**************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_OnlineStatusSelect_vue_vue_type_style_index_0_id_08b51a17_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OnlineStatusSelect.vue?vue&type=style&index=0&id=08b51a17&lang=scss&scoped=true& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/user_status/src/components/OnlineStatusSelect.vue?vue&type=style&index=0&id=08b51a17&lang=scss&scoped=true&");
@@ -1609,6 +1644,7 @@ __webpack_require__.r(__webpack_exports__);
\************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PredefinedStatus_vue_vue_type_style_index_0_id_2b4a822e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredefinedStatus.vue?vue&type=style&index=0&id=2b4a822e&lang=scss&scoped=true& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/user_status/src/components/PredefinedStatus.vue?vue&type=style&index=0&id=2b4a822e&lang=scss&scoped=true&");
@@ -1621,6 +1657,7 @@ __webpack_require__.r(__webpack_exports__);
\******************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_PredefinedStatusesList_vue_vue_type_style_index_0_id_31790e1a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredefinedStatusesList.vue?vue&type=style&index=0&id=31790e1a&lang=scss&scoped=true& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/user_status/src/components/PredefinedStatusesList.vue?vue&type=style&index=0&id=31790e1a&lang=scss&scoped=true&");
@@ -1633,6 +1670,7 @@ __webpack_require__.r(__webpack_exports__);
\**********************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_SetStatusModal_vue_vue_type_style_index_0_id_1a4980a2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SetStatusModal.vue?vue&type=style&index=0&id=1a4980a2&lang=scss&scoped=true& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/vue-loader/lib/index.js??vue-loader-options!./apps/user_status/src/components/SetStatusModal.vue?vue&type=style&index=0&id=1a4980a2&lang=scss&scoped=true&");
@@ -1645,6 +1683,7 @@ __webpack_require__.r(__webpack_exports__);
\******************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "render": function() { return /* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_ClearAtSelect_vue_vue_type_template_id_16308054_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render; },
@@ -1661,6 +1700,7 @@ __webpack_require__.r(__webpack_exports__);
\***********************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "render": function() { return /* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_CustomMessageInput_vue_vue_type_template_id_f8ff5dac_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render; },
@@ -1677,6 +1717,7 @@ __webpack_require__.r(__webpack_exports__);
\***********************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "render": function() { return /* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_OnlineStatusSelect_vue_vue_type_template_id_08b51a17_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render; },
@@ -1693,6 +1734,7 @@ __webpack_require__.r(__webpack_exports__);
\*********************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "render": function() { return /* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_PredefinedStatus_vue_vue_type_template_id_2b4a822e_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render; },
@@ -1709,6 +1751,7 @@ __webpack_require__.r(__webpack_exports__);
\***************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "render": function() { return /* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_PredefinedStatusesList_vue_vue_type_template_id_31790e1a_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render; },
@@ -1725,6 +1768,7 @@ __webpack_require__.r(__webpack_exports__);
\*******************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "render": function() { return /* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_SetStatusModal_vue_vue_type_template_id_1a4980a2_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render; },
@@ -1741,6 +1785,7 @@ __webpack_require__.r(__webpack_exports__);
\*********************************************************************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "render": function() { return /* binding */ render; },
@@ -1788,6 +1833,7 @@ render._withStripped = true
\**************************************************************************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "render": function() { return /* binding */ render; },
@@ -1850,6 +1896,7 @@ render._withStripped = true
\**************************************************************************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "render": function() { return /* binding */ render; },
@@ -1896,6 +1943,7 @@ render._withStripped = true
\************************************************************************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "render": function() { return /* binding */ render; },
@@ -1964,6 +2012,7 @@ render._withStripped = true
\******************************************************************************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "render": function() { return /* binding */ render; },
@@ -2012,6 +2061,7 @@ render._withStripped = true
\**********************************************************************************************************************************************************************************************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
+"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "render": function() { return /* binding */ render; },
@@ -2138,4 +2188,4 @@ render._withStripped = true
/***/ })
}]);
-//# sourceMappingURL=user-status-modal-user-status-modal.js.map?v=c0bc9bb0757c8706cd9a \ No newline at end of file
+//# sourceMappingURL=user-status-modal-user-status-modal.js.map?v=6a32fa31da9cdc6321d2 \ No newline at end of file
diff --git a/dist/user-status-modal-user-status-modal.js.map b/dist/user-status-modal-user-status-modal.js.map
index b7df50e57cd..e6236031124 100644
--- a/dist/user-status-modal-user-status-modal.js.map
+++ b/dist/user-status-modal-user-status-modal.js.map
@@ -1 +1 @@
-{"version":3,"file":"user-status-modal-user-status-modal.js?v=c0bc9bb0757c8706cd9a","mappings":";;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;AChEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;AChEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AClFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACtEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACtEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACxEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;ACtFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC/SA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;ACvCA;;;;;;;;;;;;ACAA;;;;;;;;;;;;ACAA;;;;;;;;;;;;ACAA;;;;;;;;;;;;ACAA;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AaAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["webpack:///nextcloud/apps/user_status/src/filters/clearAtFilter.js","webpack:///nextcloud/apps/user_status/src/services/clearAtOptionsService.js","webpack:///nextcloud/apps/user_status/src/services/statusOptionsService.js","webpack:///nextcloud/apps/user_status/src/components/ClearAtSelect.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/user_status/src/components/CustomMessageInput.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/user_status/src/components/OnlineStatusSelect.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/user_status/src/components/PredefinedStatus.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/user_status/src/components/PredefinedStatusesList.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/user_status/src/components/SetStatusModal.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/user_status/src/components/ClearAtSelect.vue?vue&type=style&index=0&id=16308054&lang=scss&scoped=true&","webpack:///nextcloud/apps/user_status/src/components/CustomMessageInput.vue?vue&type=style&index=0&id=f8ff5dac&lang=scss&scoped=true&","webpack:///nextcloud/apps/user_status/src/components/OnlineStatusSelect.vue?vue&type=style&index=0&id=08b51a17&lang=scss&scoped=true&","webpack:///nextcloud/apps/user_status/src/components/PredefinedStatus.vue?vue&type=style&index=0&id=2b4a822e&lang=scss&scoped=true&","webpack:///nextcloud/apps/user_status/src/components/PredefinedStatusesList.vue?vue&type=style&index=0&id=31790e1a&lang=scss&scoped=true&","webpack:///nextcloud/apps/user_status/src/components/SetStatusModal.vue?vue&type=style&index=0&id=1a4980a2&lang=scss&scoped=true&","webpack://nextcloud/./apps/user_status/src/components/ClearAtSelect.vue?2db7","webpack://nextcloud/./apps/user_status/src/components/CustomMessageInput.vue?9801","webpack://nextcloud/./apps/user_status/src/components/OnlineStatusSelect.vue?16ea","webpack://nextcloud/./apps/user_status/src/components/PredefinedStatus.vue?e97c","webpack://nextcloud/./apps/user_status/src/components/PredefinedStatusesList.vue?9d19","webpack://nextcloud/./apps/user_status/src/components/SetStatusModal.vue?9478","webpack:///nextcloud/apps/user_status/src/components/ClearAtSelect.vue","webpack:///nextcloud/apps/user_status/src/components/CustomMessageInput.vue","webpack:///nextcloud/apps/user_status/src/components/OnlineStatusSelect.vue","webpack:///nextcloud/apps/user_status/src/components/PredefinedStatus.vue","webpack:///nextcloud/apps/user_status/src/components/PredefinedStatusesList.vue","webpack:///nextcloud/apps/user_status/src/components/SetStatusModal.vue","webpack://nextcloud/./apps/user_status/src/components/ClearAtSelect.vue?65bb","webpack://nextcloud/./apps/user_status/src/components/CustomMessageInput.vue?8a67","webpack://nextcloud/./apps/user_status/src/components/OnlineStatusSelect.vue?0785","webpack://nextcloud/./apps/user_status/src/components/PredefinedStatus.vue?3443","webpack://nextcloud/./apps/user_status/src/components/PredefinedStatusesList.vue?17e0","webpack://nextcloud/./apps/user_status/src/components/SetStatusModal.vue?6451","webpack://nextcloud/./apps/user_status/src/components/ClearAtSelect.vue?086c","webpack://nextcloud/./apps/user_status/src/components/CustomMessageInput.vue?13c0","webpack://nextcloud/./apps/user_status/src/components/OnlineStatusSelect.vue?e4e7","webpack://nextcloud/./apps/user_status/src/components/PredefinedStatus.vue?48da","webpack://nextcloud/./apps/user_status/src/components/PredefinedStatusesList.vue?fb04","webpack://nextcloud/./apps/user_status/src/components/SetStatusModal.vue?be34","webpack:///nextcloud/apps/user_status/src/components/ClearAtSelect.vue?vue&type=template&id=16308054&scoped=true&","webpack:///nextcloud/apps/user_status/src/components/CustomMessageInput.vue?vue&type=template&id=f8ff5dac&scoped=true&","webpack:///nextcloud/apps/user_status/src/components/OnlineStatusSelect.vue?vue&type=template&id=08b51a17&scoped=true&","webpack:///nextcloud/apps/user_status/src/components/PredefinedStatus.vue?vue&type=template&id=2b4a822e&scoped=true&","webpack:///nextcloud/apps/user_status/src/components/PredefinedStatusesList.vue?vue&type=template&id=31790e1a&scoped=true&","webpack:///nextcloud/apps/user_status/src/components/SetStatusModal.vue?vue&type=template&id=1a4980a2&scoped=true&","webpack://nextcloud/./apps/user_status/src/components/ClearAtSelect.vue?ebad","webpack://nextcloud/./apps/user_status/src/components/CustomMessageInput.vue?f010","webpack://nextcloud/./apps/user_status/src/components/OnlineStatusSelect.vue?8090","webpack://nextcloud/./apps/user_status/src/components/PredefinedStatus.vue?4dbb","webpack://nextcloud/./apps/user_status/src/components/PredefinedStatusesList.vue?99c7","webpack://nextcloud/./apps/user_status/src/components/SetStatusModal.vue?2da2"],"sourcesContent":["/**\n * @copyright Copyright (c) 2020 Georg Ehrke\n *\n * @author Georg Ehrke <oc.list@georgehrke.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport { translate as t } from '@nextcloud/l10n';\nimport moment from '@nextcloud/moment';\nimport { dateFactory } from '../services/dateService';\n/**\n * Formats a clearAt object to be human readable\n *\n * @param {object} clearAt The clearAt object\n * @return {string|null}\n */\n\nvar clearAtFilter = function clearAtFilter(clearAt) {\n if (clearAt === null) {\n return t('user_status', 'Don\\'t clear');\n }\n\n if (clearAt.type === 'end-of') {\n switch (clearAt.time) {\n case 'day':\n return t('user_status', 'Today');\n\n case 'week':\n return t('user_status', 'This week');\n\n default:\n return null;\n }\n }\n\n if (clearAt.type === 'period') {\n return moment.duration(clearAt.time * 1000).humanize();\n } // This is not an officially supported type\n // but only used internally to show the remaining time\n // in the Set Status Modal\n\n\n if (clearAt.type === '_time') {\n var momentNow = moment(dateFactory());\n var momentClearAt = moment(clearAt.time, 'X');\n return moment.duration(momentNow.diff(momentClearAt)).humanize();\n }\n\n return null;\n};\n\nexport { clearAtFilter };","/**\n * @copyright Copyright (c) 2020 Georg Ehrke\n *\n * @author Georg Ehrke <oc.list@georgehrke.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport { translate as t } from '@nextcloud/l10n';\n/**\n * Returns an array\n *\n * @return {object[]}\n */\n\nvar getAllClearAtOptions = function getAllClearAtOptions() {\n return [{\n label: t('user_status', 'Don\\'t clear'),\n clearAt: null\n }, {\n label: t('user_status', '30 minutes'),\n clearAt: {\n type: 'period',\n time: 1800\n }\n }, {\n label: t('user_status', '1 hour'),\n clearAt: {\n type: 'period',\n time: 3600\n }\n }, {\n label: t('user_status', '4 hours'),\n clearAt: {\n type: 'period',\n time: 14400\n }\n }, {\n label: t('user_status', 'Today'),\n clearAt: {\n type: 'end-of',\n time: 'day'\n }\n }, {\n label: t('user_status', 'This week'),\n clearAt: {\n type: 'end-of',\n time: 'week'\n }\n }];\n};\n\nexport { getAllClearAtOptions };","/**\n * @copyright Copyright (c) 2020 Georg Ehrke\n *\n * @author Georg Ehrke <oc.list@georgehrke.com>\n * @author Jan C. Borchardt <hey@jancborchardt.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport { translate as t } from '@nextcloud/l10n';\n/**\n * Returns a list of all user-definable statuses\n *\n * @return {object[]}\n */\n\nvar getAllStatusOptions = function getAllStatusOptions() {\n return [{\n type: 'online',\n label: t('user_status', 'Online'),\n icon: 'icon-user-status-online'\n }, {\n type: 'away',\n label: t('user_status', 'Away'),\n icon: 'icon-user-status-away'\n }, {\n type: 'dnd',\n label: t('user_status', 'Do not disturb'),\n subline: t('user_status', 'Mute all notifications'),\n icon: 'icon-user-status-dnd'\n }, {\n type: 'invisible',\n label: t('user_status', 'Invisible'),\n subline: t('user_status', 'Appear offline'),\n icon: 'icon-user-status-invisible'\n }];\n};\n\nexport { getAllStatusOptions };","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport Multiselect from '@nextcloud/vue/dist/Components/Multiselect';\nimport { getAllClearAtOptions } from '../services/clearAtOptionsService';\nimport { clearAtFilter } from '../filters/clearAtFilter';\nexport default {\n name: 'ClearAtSelect',\n components: {\n Multiselect: Multiselect\n },\n props: {\n clearAt: {\n type: Object,\n default: null\n }\n },\n data: function data() {\n return {\n options: getAllClearAtOptions()\n };\n },\n computed: {\n /**\n * Returns an object of the currently selected option\n *\n * @return {object}\n */\n option: function option() {\n return {\n clearAt: this.clearAt,\n label: clearAtFilter(this.clearAt)\n };\n }\n },\n methods: {\n /**\n * Triggered when the user selects a new option.\n *\n * @param {object=} option The new selected option\n */\n select: function select(option) {\n if (!option) {\n return;\n }\n\n this.$emit('select-clear-at', option.clearAt);\n }\n }\n};","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nexport default {\n name: 'CustomMessageInput',\n props: {\n message: {\n type: String,\n required: true,\n default: function _default() {\n return '';\n }\n },\n disabled: {\n type: Boolean,\n default: false\n }\n },\n methods: {\n focus: function focus() {\n this.$refs.input.focus();\n },\n\n /**\n * Notifies the parent component about a changed input\n *\n * @param {Event} event The Change Event\n */\n change: function change(event) {\n this.$emit('change', event.target.value);\n },\n submit: function submit(event) {\n this.$emit('submit', event.target.value);\n }\n }\n};","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nexport default {\n name: 'OnlineStatusSelect',\n props: {\n checked: {\n type: Boolean,\n default: false\n },\n icon: {\n type: String,\n required: true\n },\n type: {\n type: String,\n required: true\n },\n label: {\n type: String,\n required: true\n },\n subline: {\n type: String,\n default: null\n }\n },\n computed: {\n id: function id() {\n return \"user-status-online-status-\".concat(this.type);\n }\n },\n methods: {\n onChange: function onChange() {\n this.$emit('select', this.type);\n }\n }\n};","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport { clearAtFilter } from '../filters/clearAtFilter';\nexport default {\n name: 'PredefinedStatus',\n filters: {\n clearAtFilter: clearAtFilter\n },\n props: {\n messageId: {\n type: String,\n required: true\n },\n icon: {\n type: String,\n required: true\n },\n message: {\n type: String,\n required: true\n },\n clearAt: {\n type: Object,\n required: false,\n default: null\n }\n },\n methods: {\n /**\n * Emits an event when the user clicks the row\n */\n select: function select() {\n this.$emit('select');\n }\n }\n};","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport PredefinedStatus from './PredefinedStatus';\nimport { mapState } from 'vuex';\nexport default {\n name: 'PredefinedStatusesList',\n components: {\n PredefinedStatus: PredefinedStatus\n },\n computed: _objectSpread(_objectSpread({}, mapState({\n predefinedStatuses: function predefinedStatuses(state) {\n return state.predefinedStatuses.predefinedStatuses;\n }\n })), {}, {\n /**\n * Indicator whether the predefined statuses have already been loaded\n *\n * @return {boolean}\n */\n hasLoaded: function hasLoaded() {\n return this.predefinedStatuses.length > 0;\n }\n }),\n\n /**\n * Loads all predefined statuses from the server\n * when this component is mounted\n */\n mounted: function mounted() {\n this.$store.dispatch('loadAllPredefinedStatuses');\n },\n methods: {\n /**\n * Emits an event when the user selects a status\n *\n * @param {object} status The selected status\n */\n selectStatus: function selectStatus(status) {\n this.$emit('select-status', status);\n }\n }\n};","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport { showError } from '@nextcloud/dialogs';\nimport EmojiPicker from '@nextcloud/vue/dist/Components/EmojiPicker';\nimport Modal from '@nextcloud/vue/dist/Components/Modal';\nimport { getAllStatusOptions } from '../services/statusOptionsService';\nimport OnlineStatusMixin from '../mixins/OnlineStatusMixin';\nimport PredefinedStatusesList from './PredefinedStatusesList';\nimport CustomMessageInput from './CustomMessageInput';\nimport ClearAtSelect from './ClearAtSelect';\nimport OnlineStatusSelect from './OnlineStatusSelect';\nexport default {\n name: 'SetStatusModal',\n components: {\n ClearAtSelect: ClearAtSelect,\n CustomMessageInput: CustomMessageInput,\n EmojiPicker: EmojiPicker,\n Modal: Modal,\n OnlineStatusSelect: OnlineStatusSelect,\n PredefinedStatusesList: PredefinedStatusesList\n },\n mixins: [OnlineStatusMixin],\n data: function data() {\n return {\n clearAt: null,\n icon: null,\n message: '',\n messageId: '',\n isSavingStatus: false,\n statuses: getAllStatusOptions()\n };\n },\n computed: {\n /**\n * Returns the user-set icon or a smiley in case no icon is set\n *\n * @return {string}\n */\n visibleIcon: function visibleIcon() {\n return this.icon || '😀';\n }\n },\n\n /**\n * Loads the current status when a user opens dialog\n */\n mounted: function mounted() {\n this.messageId = this.$store.state.userStatus.messageId;\n this.icon = this.$store.state.userStatus.icon;\n this.message = this.$store.state.userStatus.message || '';\n\n if (this.$store.state.userStatus.clearAt !== null) {\n this.clearAt = {\n type: '_time',\n time: this.$store.state.userStatus.clearAt\n };\n }\n },\n methods: {\n /**\n * Closes the Set Status modal\n */\n closeModal: function closeModal() {\n this.$emit('close');\n },\n\n /**\n * Sets a new icon\n *\n * @param {string} icon The new icon\n */\n setIcon: function setIcon(icon) {\n var _this = this;\n\n this.messageId = null;\n this.icon = icon;\n this.$nextTick(function () {\n _this.$refs.customMessageInput.focus();\n });\n },\n\n /**\n * Sets a new message\n *\n * @param {string} message The new message\n */\n setMessage: function setMessage(message) {\n this.messageId = null;\n this.message = message;\n },\n\n /**\n * Sets a new clearAt value\n *\n * @param {object} clearAt The new clearAt object\n */\n setClearAt: function setClearAt(clearAt) {\n this.clearAt = clearAt;\n },\n\n /**\n * Sets new icon/message/clearAt based on a predefined message\n *\n * @param {object} status The predefined status object\n */\n selectPredefinedMessage: function selectPredefinedMessage(status) {\n this.messageId = status.id;\n this.clearAt = status.clearAt;\n this.icon = status.icon;\n this.message = status.message;\n },\n\n /**\n * Saves the status and closes the\n *\n * @return {Promise<void>}\n */\n saveStatus: function saveStatus() {\n var _this2 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!_this2.isSavingStatus) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 2:\n _context.prev = 2;\n _this2.isSavingStatus = true;\n\n if (!(_this2.messageId !== undefined && _this2.messageId !== null)) {\n _context.next = 9;\n break;\n }\n\n _context.next = 7;\n return _this2.$store.dispatch('setPredefinedMessage', {\n messageId: _this2.messageId,\n clearAt: _this2.clearAt\n });\n\n case 7:\n _context.next = 11;\n break;\n\n case 9:\n _context.next = 11;\n return _this2.$store.dispatch('setCustomMessage', {\n message: _this2.message,\n icon: _this2.icon,\n clearAt: _this2.clearAt\n });\n\n case 11:\n _context.next = 19;\n break;\n\n case 13:\n _context.prev = 13;\n _context.t0 = _context[\"catch\"](2);\n showError(_this2.$t('user_status', 'There was an error saving the status'));\n console.debug(_context.t0);\n _this2.isSavingStatus = false;\n return _context.abrupt(\"return\");\n\n case 19:\n _this2.isSavingStatus = false;\n\n _this2.closeModal();\n\n case 21:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[2, 13]]);\n }))();\n },\n\n /**\n *\n * @return {Promise<void>}\n */\n clearStatus: function clearStatus() {\n var _this3 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.prev = 0;\n _this3.isSavingStatus = true;\n _context2.next = 4;\n return _this3.$store.dispatch('clearMessage');\n\n case 4:\n _context2.next = 12;\n break;\n\n case 6:\n _context2.prev = 6;\n _context2.t0 = _context2[\"catch\"](0);\n showError(_this3.$t('user_status', 'There was an error clearing the status'));\n console.debug(_context2.t0);\n _this3.isSavingStatus = false;\n return _context2.abrupt(\"return\");\n\n case 12:\n _this3.isSavingStatus = false;\n\n _this3.closeModal();\n\n case 14:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, null, [[0, 6]]);\n }))();\n }\n }\n};","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".clear-at-select[data-v-16308054] {\\n display: flex;\\n margin-bottom: 10px;\\n align-items: center;\\n}\\n.clear-at-select__label[data-v-16308054] {\\n margin-right: 10px;\\n}\\n.clear-at-select .multiselect[data-v-16308054] {\\n flex-grow: 1;\\n min-width: 130px;\\n}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".custom-input__form[data-v-f8ff5dac] {\\n flex-grow: 1;\\n}\\n.custom-input__form input[data-v-f8ff5dac] {\\n width: 100%;\\n border-radius: 0 var(--border-radius) var(--border-radius) 0;\\n}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".user-status-online-select__input[data-v-08b51a17] {\\n position: absolute;\\n top: auto;\\n left: -10000px;\\n overflow: hidden;\\n width: 1px;\\n height: 1px;\\n}\\n.user-status-online-select__label[data-v-08b51a17] {\\n display: block;\\n margin: 8px;\\n padding: 8px;\\n padding-left: 40px;\\n border: 2px solid var(--color-main-background);\\n border-radius: var(--border-radius-large);\\n background-color: var(--color-background-hover);\\n background-position: 8px center;\\n background-size: 24px;\\n}\\n.user-status-online-select__label span[data-v-08b51a17], .user-status-online-select__label[data-v-08b51a17] {\\n cursor: pointer;\\n}\\n.user-status-online-select__input:checked + .user-status-online-select__label[data-v-08b51a17], .user-status-online-select__input:focus + .user-status-online-select__label[data-v-08b51a17], .user-status-online-select__label[data-v-08b51a17]:hover {\\n border-color: var(--color-primary);\\n}\\n.user-status-online-select__subline[data-v-08b51a17] {\\n display: block;\\n color: var(--color-text-lighter);\\n}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".predefined-status[data-v-2b4a822e] {\\n display: flex;\\n flex-wrap: nowrap;\\n justify-content: flex-start;\\n flex-basis: 100%;\\n border-radius: var(--border-radius);\\n align-items: center;\\n min-height: 44px;\\n}\\n.predefined-status[data-v-2b4a822e]:hover, .predefined-status[data-v-2b4a822e]:focus {\\n background-color: var(--color-background-hover);\\n}\\n.predefined-status__icon[data-v-2b4a822e] {\\n flex-basis: 40px;\\n text-align: center;\\n}\\n.predefined-status__message[data-v-2b4a822e] {\\n font-weight: bold;\\n padding: 0 6px;\\n}\\n.predefined-status__clear-at[data-v-2b4a822e] {\\n opacity: 0.7;\\n}\\n.predefined-status__clear-at[data-v-2b4a822e]::before {\\n content: \\\" - \\\";\\n}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".predefined-statuses-list[data-v-31790e1a] {\\n display: flex;\\n flex-direction: column;\\n margin-bottom: 10px;\\n}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"[data-v-1a4980a2] .modal-wrapper .prev,[data-v-1a4980a2] .modal-wrapper .next {\\n display: none !important;\\n}\\n[data-v-1a4980a2] .modal-wrapper .modal-container {\\n max-height: 100% !important;\\n}\\n[data-v-1a4980a2] .modal-header .modal-title {\\n display: none;\\n}\\n.set-status-modal[data-v-1a4980a2] {\\n min-height: 200px;\\n padding: 8px 20px 20px 20px;\\n max-height: 95vh;\\n overflow: auto;\\n}\\n.set-status-modal__header[data-v-1a4980a2] {\\n text-align: center;\\n font-weight: bold;\\n}\\n.set-status-modal__online-status[data-v-1a4980a2] {\\n display: grid;\\n margin-bottom: 40px;\\n grid-template-columns: 1fr 1fr;\\n}\\n.set-status-modal__custom-input[data-v-1a4980a2] {\\n display: flex;\\n width: 100%;\\n margin-bottom: 10px;\\n}\\n.set-status-modal__custom-input .custom-input__emoji-button[data-v-1a4980a2] {\\n flex-basis: 40px;\\n flex-grow: 0;\\n width: 40px;\\n height: 34px;\\n margin-right: 0;\\n border-right: none;\\n border-radius: var(--border-radius) 0 0 var(--border-radius);\\n}\\n.set-status-modal .status-buttons[data-v-1a4980a2] {\\n display: flex;\\n}\\n.set-status-modal .status-buttons button[data-v-1a4980a2] {\\n flex-basis: 50%;\\n}\\n@media only screen and (max-width: 500px) {\\n.set-status-modal__online-status[data-v-1a4980a2] {\\n grid-template-columns: none !important;\\n}\\n}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClearAtSelect.vue?vue&type=style&index=0&id=16308054&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomMessageInput.vue?vue&type=style&index=0&id=f8ff5dac&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OnlineStatusSelect.vue?vue&type=style&index=0&id=08b51a17&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredefinedStatus.vue?vue&type=style&index=0&id=2b4a822e&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredefinedStatusesList.vue?vue&type=style&index=0&id=31790e1a&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SetStatusModal.vue?vue&type=style&index=0&id=1a4980a2&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./ClearAtSelect.vue?vue&type=template&id=16308054&scoped=true&\"\nimport script from \"./ClearAtSelect.vue?vue&type=script&lang=js&\"\nexport * from \"./ClearAtSelect.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ClearAtSelect.vue?vue&type=style&index=0&id=16308054&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 \"16308054\",\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('16308054')) {\n api.createRecord('16308054', component.options)\n } else {\n api.reload('16308054', component.options)\n }\n module.hot.accept(\"./ClearAtSelect.vue?vue&type=template&id=16308054&scoped=true&\", function () {\n api.rerender('16308054', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"apps/user_status/src/components/ClearAtSelect.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./CustomMessageInput.vue?vue&type=template&id=f8ff5dac&scoped=true&\"\nimport script from \"./CustomMessageInput.vue?vue&type=script&lang=js&\"\nexport * from \"./CustomMessageInput.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CustomMessageInput.vue?vue&type=style&index=0&id=f8ff5dac&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 \"f8ff5dac\",\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('f8ff5dac')) {\n api.createRecord('f8ff5dac', component.options)\n } else {\n api.reload('f8ff5dac', component.options)\n }\n module.hot.accept(\"./CustomMessageInput.vue?vue&type=template&id=f8ff5dac&scoped=true&\", function () {\n api.rerender('f8ff5dac', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"apps/user_status/src/components/CustomMessageInput.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./OnlineStatusSelect.vue?vue&type=template&id=08b51a17&scoped=true&\"\nimport script from \"./OnlineStatusSelect.vue?vue&type=script&lang=js&\"\nexport * from \"./OnlineStatusSelect.vue?vue&type=script&lang=js&\"\nimport style0 from \"./OnlineStatusSelect.vue?vue&type=style&index=0&id=08b51a17&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 \"08b51a17\",\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('08b51a17')) {\n api.createRecord('08b51a17', component.options)\n } else {\n api.reload('08b51a17', component.options)\n }\n module.hot.accept(\"./OnlineStatusSelect.vue?vue&type=template&id=08b51a17&scoped=true&\", function () {\n api.rerender('08b51a17', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"apps/user_status/src/components/OnlineStatusSelect.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./PredefinedStatus.vue?vue&type=template&id=2b4a822e&scoped=true&\"\nimport script from \"./PredefinedStatus.vue?vue&type=script&lang=js&\"\nexport * from \"./PredefinedStatus.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PredefinedStatus.vue?vue&type=style&index=0&id=2b4a822e&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 \"2b4a822e\",\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('2b4a822e')) {\n api.createRecord('2b4a822e', component.options)\n } else {\n api.reload('2b4a822e', component.options)\n }\n module.hot.accept(\"./PredefinedStatus.vue?vue&type=template&id=2b4a822e&scoped=true&\", function () {\n api.rerender('2b4a822e', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"apps/user_status/src/components/PredefinedStatus.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./PredefinedStatusesList.vue?vue&type=template&id=31790e1a&scoped=true&\"\nimport script from \"./PredefinedStatusesList.vue?vue&type=script&lang=js&\"\nexport * from \"./PredefinedStatusesList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PredefinedStatusesList.vue?vue&type=style&index=0&id=31790e1a&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 \"31790e1a\",\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('31790e1a')) {\n api.createRecord('31790e1a', component.options)\n } else {\n api.reload('31790e1a', component.options)\n }\n module.hot.accept(\"./PredefinedStatusesList.vue?vue&type=template&id=31790e1a&scoped=true&\", function () {\n api.rerender('31790e1a', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"apps/user_status/src/components/PredefinedStatusesList.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./SetStatusModal.vue?vue&type=template&id=1a4980a2&scoped=true&\"\nimport script from \"./SetStatusModal.vue?vue&type=script&lang=js&\"\nexport * from \"./SetStatusModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SetStatusModal.vue?vue&type=style&index=0&id=1a4980a2&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 \"1a4980a2\",\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/admin/Docker/server/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('1a4980a2')) {\n api.createRecord('1a4980a2', component.options)\n } else {\n api.reload('1a4980a2', component.options)\n }\n module.hot.accept(\"./SetStatusModal.vue?vue&type=template&id=1a4980a2&scoped=true&\", function () {\n api.rerender('1a4980a2', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"apps/user_status/src/components/SetStatusModal.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClearAtSelect.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!./ClearAtSelect.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!./CustomMessageInput.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!./CustomMessageInput.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!./OnlineStatusSelect.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!./OnlineStatusSelect.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!./PredefinedStatus.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!./PredefinedStatus.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!./PredefinedStatusesList.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!./PredefinedStatusesList.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!./SetStatusModal.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!./SetStatusModal.vue?vue&type=script&lang=js&\"","export * from \"-!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClearAtSelect.vue?vue&type=style&index=0&id=16308054&lang=scss&scoped=true&\"","export * from \"-!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomMessageInput.vue?vue&type=style&index=0&id=f8ff5dac&lang=scss&scoped=true&\"","export * from \"-!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OnlineStatusSelect.vue?vue&type=style&index=0&id=08b51a17&lang=scss&scoped=true&\"","export * from \"-!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredefinedStatus.vue?vue&type=style&index=0&id=2b4a822e&lang=scss&scoped=true&\"","export * from \"-!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredefinedStatusesList.vue?vue&type=style&index=0&id=31790e1a&lang=scss&scoped=true&\"","export * from \"-!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SetStatusModal.vue?vue&type=style&index=0&id=1a4980a2&lang=scss&scoped=true&\"","export * from \"-!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClearAtSelect.vue?vue&type=template&id=16308054&scoped=true&\"","export * from \"-!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomMessageInput.vue?vue&type=template&id=f8ff5dac&scoped=true&\"","export * from \"-!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OnlineStatusSelect.vue?vue&type=template&id=08b51a17&scoped=true&\"","export * from \"-!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredefinedStatus.vue?vue&type=template&id=2b4a822e&scoped=true&\"","export * from \"-!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredefinedStatusesList.vue?vue&type=template&id=31790e1a&scoped=true&\"","export * from \"-!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SetStatusModal.vue?vue&type=template&id=1a4980a2&scoped=true&\"","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"clear-at-select\" },\n [\n _c(\"span\", { staticClass: \"clear-at-select__label\" }, [\n _vm._v(\n \"\\n\\t\\t\" +\n _vm._s(_vm.$t(\"user_status\", \"Clear status message after\")) +\n \"\\n\\t\"\n ),\n ]),\n _vm._v(\" \"),\n _c(\"Multiselect\", {\n attrs: {\n label: \"label\",\n value: _vm.option,\n options: _vm.options,\n \"open-direction\": \"top\",\n },\n on: { select: _vm.select },\n }),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"form\",\n {\n staticClass: \"custom-input__form\",\n on: {\n submit: function ($event) {\n $event.preventDefault()\n },\n },\n },\n [\n _c(\"input\", {\n ref: \"input\",\n attrs: {\n maxlength: \"80\",\n disabled: _vm.disabled,\n placeholder: _vm.$t(\"user_status\", \"What is your status?\"),\n type: \"text\",\n },\n domProps: { value: _vm.message },\n on: {\n change: _vm.change,\n keyup: [\n _vm.change,\n function ($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")\n ) {\n return null\n }\n return _vm.submit.apply(null, arguments)\n },\n ],\n paste: _vm.change,\n },\n }),\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"user-status-online-select\" }, [\n _c(\"input\", {\n staticClass: \"user-status-online-select__input\",\n attrs: { id: _vm.id, type: \"radio\", name: \"user-status-online\" },\n domProps: { checked: _vm.checked },\n on: { change: _vm.onChange },\n }),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n staticClass: \"user-status-online-select__label\",\n class: _vm.icon,\n attrs: { for: _vm.id },\n },\n [\n _vm._v(\"\\n\\t\\t\" + _vm._s(_vm.label) + \"\\n\\t\\t\"),\n _c(\"em\", { staticClass: \"user-status-online-select__subline\" }, [\n _vm._v(_vm._s(_vm.subline)),\n ]),\n ]\n ),\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"predefined-status\",\n attrs: { tabindex: \"0\" },\n on: {\n keyup: [\n function ($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")\n ) {\n return null\n }\n return _vm.select.apply(null, arguments)\n },\n function ($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"space\", 32, $event.key, [\" \", \"Spacebar\"])\n ) {\n return null\n }\n return _vm.select.apply(null, arguments)\n },\n ],\n click: _vm.select,\n },\n },\n [\n _c(\"span\", { staticClass: \"predefined-status__icon\" }, [\n _vm._v(\"\\n\\t\\t\" + _vm._s(_vm.icon) + \"\\n\\t\"),\n ]),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"predefined-status__message\" }, [\n _vm._v(\"\\n\\t\\t\" + _vm._s(_vm.message) + \"\\n\\t\"),\n ]),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"predefined-status__clear-at\" }, [\n _vm._v(\n \"\\n\\t\\t\" + _vm._s(_vm._f(\"clearAtFilter\")(_vm.clearAt)) + \"\\n\\t\"\n ),\n ]),\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm.hasLoaded\n ? _c(\n \"div\",\n { staticClass: \"predefined-statuses-list\" },\n _vm._l(_vm.predefinedStatuses, function (status) {\n return _c(\"PredefinedStatus\", {\n key: status.id,\n attrs: {\n \"message-id\": status.id,\n icon: status.icon,\n message: status.message,\n \"clear-at\": status.clearAt,\n },\n on: {\n select: function ($event) {\n return _vm.selectStatus(status)\n },\n },\n })\n }),\n 1\n )\n : _c(\"div\", { staticClass: \"predefined-statuses-list\" }, [\n _c(\"div\", { staticClass: \"icon icon-loading-small\" }),\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"Modal\",\n {\n attrs: { size: \"normal\", title: _vm.$t(\"user_status\", \"Set status\") },\n on: { close: _vm.closeModal },\n },\n [\n _c(\n \"div\",\n { staticClass: \"set-status-modal\" },\n [\n _c(\"div\", { staticClass: \"set-status-modal__header\" }, [\n _c(\"h3\", [_vm._v(_vm._s(_vm.$t(\"user_status\", \"Online status\")))]),\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"set-status-modal__online-status\" },\n _vm._l(_vm.statuses, function (status) {\n return _c(\n \"OnlineStatusSelect\",\n _vm._b(\n {\n key: status.type,\n attrs: { checked: status.type === _vm.statusType },\n on: { select: _vm.changeStatus },\n },\n \"OnlineStatusSelect\",\n status,\n false\n )\n )\n }),\n 1\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"set-status-modal__header\" }, [\n _c(\"h3\", [_vm._v(_vm._s(_vm.$t(\"user_status\", \"Status message\")))]),\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"set-status-modal__custom-input\" },\n [\n _c(\"EmojiPicker\", { on: { select: _vm.setIcon } }, [\n _c(\"button\", { staticClass: \"custom-input__emoji-button\" }, [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\" + _vm._s(_vm.visibleIcon) + \"\\n\\t\\t\\t\\t\"\n ),\n ]),\n ]),\n _vm._v(\" \"),\n _c(\"CustomMessageInput\", {\n ref: \"customMessageInput\",\n attrs: { message: _vm.message },\n on: { change: _vm.setMessage, submit: _vm.saveStatus },\n }),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"PredefinedStatusesList\", {\n on: { selectStatus: _vm.selectPredefinedMessage },\n }),\n _vm._v(\" \"),\n _c(\"ClearAtSelect\", {\n attrs: { \"clear-at\": _vm.clearAt },\n on: { selectClearAt: _vm.setClearAt },\n }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"status-buttons\" }, [\n _c(\n \"button\",\n {\n staticClass: \"status-buttons__select\",\n attrs: { disabled: _vm.isSavingStatus },\n on: { click: _vm.clearStatus },\n },\n [\n _vm._v(\n \"\\n\\t\\t\\t\\t\" +\n _vm._s(_vm.$t(\"user_status\", \"Clear status message\")) +\n \"\\n\\t\\t\\t\"\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"button\",\n {\n staticClass: \"status-buttons__primary primary\",\n attrs: { disabled: _vm.isSavingStatus },\n on: { click: _vm.saveStatus },\n },\n [\n _vm._v(\n \"\\n\\t\\t\\t\\t\" +\n _vm._s(_vm.$t(\"user_status\", \"Set status message\")) +\n \"\\n\\t\\t\\t\"\n ),\n ]\n ),\n ]),\n ],\n 1\n ),\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"],"names":[],"sourceRoot":""} \ No newline at end of file
+{"version":3,"file":"user-status-modal-user-status-modal.js?v=6a32fa31da9cdc6321d2","sources":["webpack:///nextcloud/apps/user_status/src/filters/clearAtFilter.js","webpack:///nextcloud/apps/user_status/src/services/clearAtOptionsService.js","webpack:///nextcloud/apps/user_status/src/services/statusOptionsService.js","webpack:///nextcloud/apps/user_status/src/components/ClearAtSelect.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/user_status/src/components/CustomMessageInput.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/user_status/src/components/OnlineStatusSelect.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/user_status/src/components/PredefinedStatus.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/user_status/src/components/PredefinedStatusesList.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/user_status/src/components/SetStatusModal.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/user_status/src/components/ClearAtSelect.vue?vue&type=style&index=0&id=16308054&lang=scss&scoped=true&","webpack:///nextcloud/apps/user_status/src/components/CustomMessageInput.vue?vue&type=style&index=0&id=f8ff5dac&lang=scss&scoped=true&","webpack:///nextcloud/apps/user_status/src/components/OnlineStatusSelect.vue?vue&type=style&index=0&id=08b51a17&lang=scss&scoped=true&","webpack:///nextcloud/apps/user_status/src/components/PredefinedStatus.vue?vue&type=style&index=0&id=2b4a822e&lang=scss&scoped=true&","webpack:///nextcloud/apps/user_status/src/components/PredefinedStatusesList.vue?vue&type=style&index=0&id=31790e1a&lang=scss&scoped=true&","webpack:///nextcloud/apps/user_status/src/components/SetStatusModal.vue?vue&type=style&index=0&id=1a4980a2&lang=scss&scoped=true&","webpack://nextcloud/./apps/user_status/src/components/ClearAtSelect.vue?2db7","webpack://nextcloud/./apps/user_status/src/components/CustomMessageInput.vue?9801","webpack://nextcloud/./apps/user_status/src/components/OnlineStatusSelect.vue?16ea","webpack://nextcloud/./apps/user_status/src/components/PredefinedStatus.vue?e97c","webpack://nextcloud/./apps/user_status/src/components/PredefinedStatusesList.vue?9d19","webpack://nextcloud/./apps/user_status/src/components/SetStatusModal.vue?9478","webpack:///nextcloud/apps/user_status/src/components/ClearAtSelect.vue","webpack:///nextcloud/apps/user_status/src/components/CustomMessageInput.vue","webpack:///nextcloud/apps/user_status/src/components/OnlineStatusSelect.vue","webpack:///nextcloud/apps/user_status/src/components/PredefinedStatus.vue","webpack:///nextcloud/apps/user_status/src/components/PredefinedStatusesList.vue","webpack:///nextcloud/apps/user_status/src/components/SetStatusModal.vue","webpack://nextcloud/./apps/user_status/src/components/ClearAtSelect.vue?65bb","webpack://nextcloud/./apps/user_status/src/components/CustomMessageInput.vue?8a67","webpack://nextcloud/./apps/user_status/src/components/OnlineStatusSelect.vue?0785","webpack://nextcloud/./apps/user_status/src/components/PredefinedStatus.vue?3443","webpack://nextcloud/./apps/user_status/src/components/PredefinedStatusesList.vue?17e0","webpack://nextcloud/./apps/user_status/src/components/SetStatusModal.vue?6451","webpack:///nextcloud/apps/user_status/src/components/ClearAtSelect.vue?vue&type=template&id=16308054&scoped=true&","webpack:///nextcloud/apps/user_status/src/components/CustomMessageInput.vue?vue&type=template&id=f8ff5dac&scoped=true&","webpack:///nextcloud/apps/user_status/src/components/OnlineStatusSelect.vue?vue&type=template&id=08b51a17&scoped=true&","webpack:///nextcloud/apps/user_status/src/components/PredefinedStatus.vue?vue&type=template&id=2b4a822e&scoped=true&","webpack:///nextcloud/apps/user_status/src/components/PredefinedStatusesList.vue?vue&type=template&id=31790e1a&scoped=true&","webpack:///nextcloud/apps/user_status/src/components/SetStatusModal.vue?vue&type=template&id=1a4980a2&scoped=true&"],"sourcesContent":["/**\n * @copyright Copyright (c) 2020 Georg Ehrke\n *\n * @author Georg Ehrke <oc.list@georgehrke.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport { translate as t } from '@nextcloud/l10n';\nimport moment from '@nextcloud/moment';\nimport { dateFactory } from '../services/dateService';\n/**\n * Formats a clearAt object to be human readable\n *\n * @param {object} clearAt The clearAt object\n * @return {string|null}\n */\n\nvar clearAtFilter = function clearAtFilter(clearAt) {\n if (clearAt === null) {\n return t('user_status', 'Don\\'t clear');\n }\n\n if (clearAt.type === 'end-of') {\n switch (clearAt.time) {\n case 'day':\n return t('user_status', 'Today');\n\n case 'week':\n return t('user_status', 'This week');\n\n default:\n return null;\n }\n }\n\n if (clearAt.type === 'period') {\n return moment.duration(clearAt.time * 1000).humanize();\n } // This is not an officially supported type\n // but only used internally to show the remaining time\n // in the Set Status Modal\n\n\n if (clearAt.type === '_time') {\n var momentNow = moment(dateFactory());\n var momentClearAt = moment(clearAt.time, 'X');\n return moment.duration(momentNow.diff(momentClearAt)).humanize();\n }\n\n return null;\n};\n\nexport { clearAtFilter };","/**\n * @copyright Copyright (c) 2020 Georg Ehrke\n *\n * @author Georg Ehrke <oc.list@georgehrke.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport { translate as t } from '@nextcloud/l10n';\n/**\n * Returns an array\n *\n * @return {object[]}\n */\n\nvar getAllClearAtOptions = function getAllClearAtOptions() {\n return [{\n label: t('user_status', 'Don\\'t clear'),\n clearAt: null\n }, {\n label: t('user_status', '30 minutes'),\n clearAt: {\n type: 'period',\n time: 1800\n }\n }, {\n label: t('user_status', '1 hour'),\n clearAt: {\n type: 'period',\n time: 3600\n }\n }, {\n label: t('user_status', '4 hours'),\n clearAt: {\n type: 'period',\n time: 14400\n }\n }, {\n label: t('user_status', 'Today'),\n clearAt: {\n type: 'end-of',\n time: 'day'\n }\n }, {\n label: t('user_status', 'This week'),\n clearAt: {\n type: 'end-of',\n time: 'week'\n }\n }];\n};\n\nexport { getAllClearAtOptions };","/**\n * @copyright Copyright (c) 2020 Georg Ehrke\n *\n * @author Georg Ehrke <oc.list@georgehrke.com>\n * @author Jan C. Borchardt <hey@jancborchardt.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport { translate as t } from '@nextcloud/l10n';\n/**\n * Returns a list of all user-definable statuses\n *\n * @return {object[]}\n */\n\nvar getAllStatusOptions = function getAllStatusOptions() {\n return [{\n type: 'online',\n label: t('user_status', 'Online'),\n icon: 'icon-user-status-online'\n }, {\n type: 'away',\n label: t('user_status', 'Away'),\n icon: 'icon-user-status-away'\n }, {\n type: 'dnd',\n label: t('user_status', 'Do not disturb'),\n subline: t('user_status', 'Mute all notifications'),\n icon: 'icon-user-status-dnd'\n }, {\n type: 'invisible',\n label: t('user_status', 'Invisible'),\n subline: t('user_status', 'Appear offline'),\n icon: 'icon-user-status-invisible'\n }];\n};\n\nexport { getAllStatusOptions };","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport Multiselect from '@nextcloud/vue/dist/Components/Multiselect';\nimport { getAllClearAtOptions } from '../services/clearAtOptionsService';\nimport { clearAtFilter } from '../filters/clearAtFilter';\nexport default {\n name: 'ClearAtSelect',\n components: {\n Multiselect: Multiselect\n },\n props: {\n clearAt: {\n type: Object,\n default: null\n }\n },\n data: function data() {\n return {\n options: getAllClearAtOptions()\n };\n },\n computed: {\n /**\n * Returns an object of the currently selected option\n *\n * @return {object}\n */\n option: function option() {\n return {\n clearAt: this.clearAt,\n label: clearAtFilter(this.clearAt)\n };\n }\n },\n methods: {\n /**\n * Triggered when the user selects a new option.\n *\n * @param {object=} option The new selected option\n */\n select: function select(option) {\n if (!option) {\n return;\n }\n\n this.$emit('select-clear-at', option.clearAt);\n }\n }\n};","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nexport default {\n name: 'CustomMessageInput',\n props: {\n message: {\n type: String,\n required: true,\n default: function _default() {\n return '';\n }\n },\n disabled: {\n type: Boolean,\n default: false\n }\n },\n methods: {\n focus: function focus() {\n this.$refs.input.focus();\n },\n\n /**\n * Notifies the parent component about a changed input\n *\n * @param {Event} event The Change Event\n */\n change: function change(event) {\n this.$emit('change', event.target.value);\n },\n submit: function submit(event) {\n this.$emit('submit', event.target.value);\n }\n }\n};","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nexport default {\n name: 'OnlineStatusSelect',\n props: {\n checked: {\n type: Boolean,\n default: false\n },\n icon: {\n type: String,\n required: true\n },\n type: {\n type: String,\n required: true\n },\n label: {\n type: String,\n required: true\n },\n subline: {\n type: String,\n default: null\n }\n },\n computed: {\n id: function id() {\n return \"user-status-online-status-\".concat(this.type);\n }\n },\n methods: {\n onChange: function onChange() {\n this.$emit('select', this.type);\n }\n }\n};","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport { clearAtFilter } from '../filters/clearAtFilter';\nexport default {\n name: 'PredefinedStatus',\n filters: {\n clearAtFilter: clearAtFilter\n },\n props: {\n messageId: {\n type: String,\n required: true\n },\n icon: {\n type: String,\n required: true\n },\n message: {\n type: String,\n required: true\n },\n clearAt: {\n type: Object,\n required: false,\n default: null\n }\n },\n methods: {\n /**\n * Emits an event when the user clicks the row\n */\n select: function select() {\n this.$emit('select');\n }\n }\n};","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport PredefinedStatus from './PredefinedStatus';\nimport { mapState } from 'vuex';\nexport default {\n name: 'PredefinedStatusesList',\n components: {\n PredefinedStatus: PredefinedStatus\n },\n computed: _objectSpread(_objectSpread({}, mapState({\n predefinedStatuses: function predefinedStatuses(state) {\n return state.predefinedStatuses.predefinedStatuses;\n }\n })), {}, {\n /**\n * Indicator whether the predefined statuses have already been loaded\n *\n * @return {boolean}\n */\n hasLoaded: function hasLoaded() {\n return this.predefinedStatuses.length > 0;\n }\n }),\n\n /**\n * Loads all predefined statuses from the server\n * when this component is mounted\n */\n mounted: function mounted() {\n this.$store.dispatch('loadAllPredefinedStatuses');\n },\n methods: {\n /**\n * Emits an event when the user selects a status\n *\n * @param {object} status The selected status\n */\n selectStatus: function selectStatus(status) {\n this.$emit('select-status', status);\n }\n }\n};","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport { showError } from '@nextcloud/dialogs';\nimport EmojiPicker from '@nextcloud/vue/dist/Components/EmojiPicker';\nimport Modal from '@nextcloud/vue/dist/Components/Modal';\nimport { getAllStatusOptions } from '../services/statusOptionsService';\nimport OnlineStatusMixin from '../mixins/OnlineStatusMixin';\nimport PredefinedStatusesList from './PredefinedStatusesList';\nimport CustomMessageInput from './CustomMessageInput';\nimport ClearAtSelect from './ClearAtSelect';\nimport OnlineStatusSelect from './OnlineStatusSelect';\nexport default {\n name: 'SetStatusModal',\n components: {\n ClearAtSelect: ClearAtSelect,\n CustomMessageInput: CustomMessageInput,\n EmojiPicker: EmojiPicker,\n Modal: Modal,\n OnlineStatusSelect: OnlineStatusSelect,\n PredefinedStatusesList: PredefinedStatusesList\n },\n mixins: [OnlineStatusMixin],\n data: function data() {\n return {\n clearAt: null,\n icon: null,\n message: '',\n messageId: '',\n isSavingStatus: false,\n statuses: getAllStatusOptions()\n };\n },\n computed: {\n /**\n * Returns the user-set icon or a smiley in case no icon is set\n *\n * @return {string}\n */\n visibleIcon: function visibleIcon() {\n return this.icon || '😀';\n }\n },\n\n /**\n * Loads the current status when a user opens dialog\n */\n mounted: function mounted() {\n this.messageId = this.$store.state.userStatus.messageId;\n this.icon = this.$store.state.userStatus.icon;\n this.message = this.$store.state.userStatus.message || '';\n\n if (this.$store.state.userStatus.clearAt !== null) {\n this.clearAt = {\n type: '_time',\n time: this.$store.state.userStatus.clearAt\n };\n }\n },\n methods: {\n /**\n * Closes the Set Status modal\n */\n closeModal: function closeModal() {\n this.$emit('close');\n },\n\n /**\n * Sets a new icon\n *\n * @param {string} icon The new icon\n */\n setIcon: function setIcon(icon) {\n var _this = this;\n\n this.messageId = null;\n this.icon = icon;\n this.$nextTick(function () {\n _this.$refs.customMessageInput.focus();\n });\n },\n\n /**\n * Sets a new message\n *\n * @param {string} message The new message\n */\n setMessage: function setMessage(message) {\n this.messageId = null;\n this.message = message;\n },\n\n /**\n * Sets a new clearAt value\n *\n * @param {object} clearAt The new clearAt object\n */\n setClearAt: function setClearAt(clearAt) {\n this.clearAt = clearAt;\n },\n\n /**\n * Sets new icon/message/clearAt based on a predefined message\n *\n * @param {object} status The predefined status object\n */\n selectPredefinedMessage: function selectPredefinedMessage(status) {\n this.messageId = status.id;\n this.clearAt = status.clearAt;\n this.icon = status.icon;\n this.message = status.message;\n },\n\n /**\n * Saves the status and closes the\n *\n * @return {Promise<void>}\n */\n saveStatus: function saveStatus() {\n var _this2 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!_this2.isSavingStatus) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 2:\n _context.prev = 2;\n _this2.isSavingStatus = true;\n\n if (!(_this2.messageId !== undefined && _this2.messageId !== null)) {\n _context.next = 9;\n break;\n }\n\n _context.next = 7;\n return _this2.$store.dispatch('setPredefinedMessage', {\n messageId: _this2.messageId,\n clearAt: _this2.clearAt\n });\n\n case 7:\n _context.next = 11;\n break;\n\n case 9:\n _context.next = 11;\n return _this2.$store.dispatch('setCustomMessage', {\n message: _this2.message,\n icon: _this2.icon,\n clearAt: _this2.clearAt\n });\n\n case 11:\n _context.next = 19;\n break;\n\n case 13:\n _context.prev = 13;\n _context.t0 = _context[\"catch\"](2);\n showError(_this2.$t('user_status', 'There was an error saving the status'));\n console.debug(_context.t0);\n _this2.isSavingStatus = false;\n return _context.abrupt(\"return\");\n\n case 19:\n _this2.isSavingStatus = false;\n\n _this2.closeModal();\n\n case 21:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[2, 13]]);\n }))();\n },\n\n /**\n *\n * @return {Promise<void>}\n */\n clearStatus: function clearStatus() {\n var _this3 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.prev = 0;\n _this3.isSavingStatus = true;\n _context2.next = 4;\n return _this3.$store.dispatch('clearMessage');\n\n case 4:\n _context2.next = 12;\n break;\n\n case 6:\n _context2.prev = 6;\n _context2.t0 = _context2[\"catch\"](0);\n showError(_this3.$t('user_status', 'There was an error clearing the status'));\n console.debug(_context2.t0);\n _this3.isSavingStatus = false;\n return _context2.abrupt(\"return\");\n\n case 12:\n _this3.isSavingStatus = false;\n\n _this3.closeModal();\n\n case 14:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, null, [[0, 6]]);\n }))();\n }\n }\n};","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".clear-at-select[data-v-16308054] {\\n display: flex;\\n margin-bottom: 10px;\\n align-items: center;\\n}\\n.clear-at-select__label[data-v-16308054] {\\n margin-right: 10px;\\n}\\n.clear-at-select .multiselect[data-v-16308054] {\\n flex-grow: 1;\\n min-width: 130px;\\n}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".custom-input__form[data-v-f8ff5dac] {\\n flex-grow: 1;\\n}\\n.custom-input__form input[data-v-f8ff5dac] {\\n width: 100%;\\n border-radius: 0 var(--border-radius) var(--border-radius) 0;\\n}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".user-status-online-select__input[data-v-08b51a17] {\\n position: absolute;\\n top: auto;\\n left: -10000px;\\n overflow: hidden;\\n width: 1px;\\n height: 1px;\\n}\\n.user-status-online-select__label[data-v-08b51a17] {\\n display: block;\\n margin: 8px;\\n padding: 8px;\\n padding-left: 40px;\\n border: 2px solid var(--color-main-background);\\n border-radius: var(--border-radius-large);\\n background-color: var(--color-background-hover);\\n background-position: 8px center;\\n background-size: 24px;\\n}\\n.user-status-online-select__label span[data-v-08b51a17], .user-status-online-select__label[data-v-08b51a17] {\\n cursor: pointer;\\n}\\n.user-status-online-select__input:checked + .user-status-online-select__label[data-v-08b51a17], .user-status-online-select__input:focus + .user-status-online-select__label[data-v-08b51a17], .user-status-online-select__label[data-v-08b51a17]:hover {\\n border-color: var(--color-primary);\\n}\\n.user-status-online-select__subline[data-v-08b51a17] {\\n display: block;\\n color: var(--color-text-lighter);\\n}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".predefined-status[data-v-2b4a822e] {\\n display: flex;\\n flex-wrap: nowrap;\\n justify-content: flex-start;\\n flex-basis: 100%;\\n border-radius: var(--border-radius);\\n align-items: center;\\n min-height: 44px;\\n}\\n.predefined-status[data-v-2b4a822e]:hover, .predefined-status[data-v-2b4a822e]:focus {\\n background-color: var(--color-background-hover);\\n}\\n.predefined-status__icon[data-v-2b4a822e] {\\n flex-basis: 40px;\\n text-align: center;\\n}\\n.predefined-status__message[data-v-2b4a822e] {\\n font-weight: bold;\\n padding: 0 6px;\\n}\\n.predefined-status__clear-at[data-v-2b4a822e] {\\n opacity: 0.7;\\n}\\n.predefined-status__clear-at[data-v-2b4a822e]::before {\\n content: \\\" - \\\";\\n}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".predefined-statuses-list[data-v-31790e1a] {\\n display: flex;\\n flex-direction: column;\\n margin-bottom: 10px;\\n}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"[data-v-1a4980a2] .modal-wrapper .prev,[data-v-1a4980a2] .modal-wrapper .next {\\n display: none !important;\\n}\\n[data-v-1a4980a2] .modal-wrapper .modal-container {\\n max-height: 100% !important;\\n}\\n[data-v-1a4980a2] .modal-header .modal-title {\\n display: none;\\n}\\n.set-status-modal[data-v-1a4980a2] {\\n min-height: 200px;\\n padding: 8px 20px 20px 20px;\\n max-height: 95vh;\\n overflow: auto;\\n}\\n.set-status-modal__header[data-v-1a4980a2] {\\n text-align: center;\\n font-weight: bold;\\n}\\n.set-status-modal__online-status[data-v-1a4980a2] {\\n display: grid;\\n margin-bottom: 40px;\\n grid-template-columns: 1fr 1fr;\\n}\\n.set-status-modal__custom-input[data-v-1a4980a2] {\\n display: flex;\\n width: 100%;\\n margin-bottom: 10px;\\n}\\n.set-status-modal__custom-input .custom-input__emoji-button[data-v-1a4980a2] {\\n flex-basis: 40px;\\n flex-grow: 0;\\n width: 40px;\\n height: 34px;\\n margin-right: 0;\\n border-right: none;\\n border-radius: var(--border-radius) 0 0 var(--border-radius);\\n}\\n.set-status-modal .status-buttons[data-v-1a4980a2] {\\n display: flex;\\n}\\n.set-status-modal .status-buttons button[data-v-1a4980a2] {\\n flex-basis: 50%;\\n}\\n@media only screen and (max-width: 500px) {\\n.set-status-modal__online-status[data-v-1a4980a2] {\\n grid-template-columns: none !important;\\n}\\n}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClearAtSelect.vue?vue&type=style&index=0&id=16308054&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomMessageInput.vue?vue&type=style&index=0&id=f8ff5dac&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OnlineStatusSelect.vue?vue&type=style&index=0&id=08b51a17&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredefinedStatus.vue?vue&type=style&index=0&id=2b4a822e&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredefinedStatusesList.vue?vue&type=style&index=0&id=31790e1a&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SetStatusModal.vue?vue&type=style&index=0&id=1a4980a2&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./ClearAtSelect.vue?vue&type=template&id=16308054&scoped=true&\"\nimport script from \"./ClearAtSelect.vue?vue&type=script&lang=js&\"\nexport * from \"./ClearAtSelect.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ClearAtSelect.vue?vue&type=style&index=0&id=16308054&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 \"16308054\",\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/srv/www/htdocs/server/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('16308054')) {\n api.createRecord('16308054', component.options)\n } else {\n api.reload('16308054', component.options)\n }\n module.hot.accept(\"./ClearAtSelect.vue?vue&type=template&id=16308054&scoped=true&\", function () {\n api.rerender('16308054', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"apps/user_status/src/components/ClearAtSelect.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./CustomMessageInput.vue?vue&type=template&id=f8ff5dac&scoped=true&\"\nimport script from \"./CustomMessageInput.vue?vue&type=script&lang=js&\"\nexport * from \"./CustomMessageInput.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CustomMessageInput.vue?vue&type=style&index=0&id=f8ff5dac&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 \"f8ff5dac\",\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/srv/www/htdocs/server/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('f8ff5dac')) {\n api.createRecord('f8ff5dac', component.options)\n } else {\n api.reload('f8ff5dac', component.options)\n }\n module.hot.accept(\"./CustomMessageInput.vue?vue&type=template&id=f8ff5dac&scoped=true&\", function () {\n api.rerender('f8ff5dac', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"apps/user_status/src/components/CustomMessageInput.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./OnlineStatusSelect.vue?vue&type=template&id=08b51a17&scoped=true&\"\nimport script from \"./OnlineStatusSelect.vue?vue&type=script&lang=js&\"\nexport * from \"./OnlineStatusSelect.vue?vue&type=script&lang=js&\"\nimport style0 from \"./OnlineStatusSelect.vue?vue&type=style&index=0&id=08b51a17&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 \"08b51a17\",\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/srv/www/htdocs/server/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('08b51a17')) {\n api.createRecord('08b51a17', component.options)\n } else {\n api.reload('08b51a17', component.options)\n }\n module.hot.accept(\"./OnlineStatusSelect.vue?vue&type=template&id=08b51a17&scoped=true&\", function () {\n api.rerender('08b51a17', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"apps/user_status/src/components/OnlineStatusSelect.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./PredefinedStatus.vue?vue&type=template&id=2b4a822e&scoped=true&\"\nimport script from \"./PredefinedStatus.vue?vue&type=script&lang=js&\"\nexport * from \"./PredefinedStatus.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PredefinedStatus.vue?vue&type=style&index=0&id=2b4a822e&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 \"2b4a822e\",\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/srv/www/htdocs/server/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('2b4a822e')) {\n api.createRecord('2b4a822e', component.options)\n } else {\n api.reload('2b4a822e', component.options)\n }\n module.hot.accept(\"./PredefinedStatus.vue?vue&type=template&id=2b4a822e&scoped=true&\", function () {\n api.rerender('2b4a822e', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"apps/user_status/src/components/PredefinedStatus.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./PredefinedStatusesList.vue?vue&type=template&id=31790e1a&scoped=true&\"\nimport script from \"./PredefinedStatusesList.vue?vue&type=script&lang=js&\"\nexport * from \"./PredefinedStatusesList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PredefinedStatusesList.vue?vue&type=style&index=0&id=31790e1a&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 \"31790e1a\",\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/srv/www/htdocs/server/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('31790e1a')) {\n api.createRecord('31790e1a', component.options)\n } else {\n api.reload('31790e1a', component.options)\n }\n module.hot.accept(\"./PredefinedStatusesList.vue?vue&type=template&id=31790e1a&scoped=true&\", function () {\n api.rerender('31790e1a', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"apps/user_status/src/components/PredefinedStatusesList.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./SetStatusModal.vue?vue&type=template&id=1a4980a2&scoped=true&\"\nimport script from \"./SetStatusModal.vue?vue&type=script&lang=js&\"\nexport * from \"./SetStatusModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SetStatusModal.vue?vue&type=style&index=0&id=1a4980a2&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 \"1a4980a2\",\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/srv/www/htdocs/server/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('1a4980a2')) {\n api.createRecord('1a4980a2', component.options)\n } else {\n api.reload('1a4980a2', component.options)\n }\n module.hot.accept(\"./SetStatusModal.vue?vue&type=template&id=1a4980a2&scoped=true&\", function () {\n api.rerender('1a4980a2', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"apps/user_status/src/components/SetStatusModal.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClearAtSelect.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!./ClearAtSelect.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!./CustomMessageInput.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!./CustomMessageInput.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!./OnlineStatusSelect.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!./OnlineStatusSelect.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!./PredefinedStatus.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!./PredefinedStatus.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!./PredefinedStatusesList.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!./PredefinedStatusesList.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!./SetStatusModal.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!./SetStatusModal.vue?vue&type=script&lang=js&\"","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"clear-at-select\" },\n [\n _c(\"span\", { staticClass: \"clear-at-select__label\" }, [\n _vm._v(\n \"\\n\\t\\t\" +\n _vm._s(_vm.$t(\"user_status\", \"Clear status message after\")) +\n \"\\n\\t\"\n ),\n ]),\n _vm._v(\" \"),\n _c(\"Multiselect\", {\n attrs: {\n label: \"label\",\n value: _vm.option,\n options: _vm.options,\n \"open-direction\": \"top\",\n },\n on: { select: _vm.select },\n }),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"form\",\n {\n staticClass: \"custom-input__form\",\n on: {\n submit: function ($event) {\n $event.preventDefault()\n },\n },\n },\n [\n _c(\"input\", {\n ref: \"input\",\n attrs: {\n maxlength: \"80\",\n disabled: _vm.disabled,\n placeholder: _vm.$t(\"user_status\", \"What is your status?\"),\n type: \"text\",\n },\n domProps: { value: _vm.message },\n on: {\n change: _vm.change,\n keyup: [\n _vm.change,\n function ($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")\n ) {\n return null\n }\n return _vm.submit.apply(null, arguments)\n },\n ],\n paste: _vm.change,\n },\n }),\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"user-status-online-select\" }, [\n _c(\"input\", {\n staticClass: \"user-status-online-select__input\",\n attrs: { id: _vm.id, type: \"radio\", name: \"user-status-online\" },\n domProps: { checked: _vm.checked },\n on: { change: _vm.onChange },\n }),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n staticClass: \"user-status-online-select__label\",\n class: _vm.icon,\n attrs: { for: _vm.id },\n },\n [\n _vm._v(\"\\n\\t\\t\" + _vm._s(_vm.label) + \"\\n\\t\\t\"),\n _c(\"em\", { staticClass: \"user-status-online-select__subline\" }, [\n _vm._v(_vm._s(_vm.subline)),\n ]),\n ]\n ),\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"predefined-status\",\n attrs: { tabindex: \"0\" },\n on: {\n keyup: [\n function ($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")\n ) {\n return null\n }\n return _vm.select.apply(null, arguments)\n },\n function ($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"space\", 32, $event.key, [\" \", \"Spacebar\"])\n ) {\n return null\n }\n return _vm.select.apply(null, arguments)\n },\n ],\n click: _vm.select,\n },\n },\n [\n _c(\"span\", { staticClass: \"predefined-status__icon\" }, [\n _vm._v(\"\\n\\t\\t\" + _vm._s(_vm.icon) + \"\\n\\t\"),\n ]),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"predefined-status__message\" }, [\n _vm._v(\"\\n\\t\\t\" + _vm._s(_vm.message) + \"\\n\\t\"),\n ]),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"predefined-status__clear-at\" }, [\n _vm._v(\n \"\\n\\t\\t\" + _vm._s(_vm._f(\"clearAtFilter\")(_vm.clearAt)) + \"\\n\\t\"\n ),\n ]),\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm.hasLoaded\n ? _c(\n \"div\",\n { staticClass: \"predefined-statuses-list\" },\n _vm._l(_vm.predefinedStatuses, function (status) {\n return _c(\"PredefinedStatus\", {\n key: status.id,\n attrs: {\n \"message-id\": status.id,\n icon: status.icon,\n message: status.message,\n \"clear-at\": status.clearAt,\n },\n on: {\n select: function ($event) {\n return _vm.selectStatus(status)\n },\n },\n })\n }),\n 1\n )\n : _c(\"div\", { staticClass: \"predefined-statuses-list\" }, [\n _c(\"div\", { staticClass: \"icon icon-loading-small\" }),\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"Modal\",\n {\n attrs: { size: \"normal\", title: _vm.$t(\"user_status\", \"Set status\") },\n on: { close: _vm.closeModal },\n },\n [\n _c(\n \"div\",\n { staticClass: \"set-status-modal\" },\n [\n _c(\"div\", { staticClass: \"set-status-modal__header\" }, [\n _c(\"h3\", [_vm._v(_vm._s(_vm.$t(\"user_status\", \"Online status\")))]),\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"set-status-modal__online-status\" },\n _vm._l(_vm.statuses, function (status) {\n return _c(\n \"OnlineStatusSelect\",\n _vm._b(\n {\n key: status.type,\n attrs: { checked: status.type === _vm.statusType },\n on: { select: _vm.changeStatus },\n },\n \"OnlineStatusSelect\",\n status,\n false\n )\n )\n }),\n 1\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"set-status-modal__header\" }, [\n _c(\"h3\", [_vm._v(_vm._s(_vm.$t(\"user_status\", \"Status message\")))]),\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"set-status-modal__custom-input\" },\n [\n _c(\"EmojiPicker\", { on: { select: _vm.setIcon } }, [\n _c(\"button\", { staticClass: \"custom-input__emoji-button\" }, [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\" + _vm._s(_vm.visibleIcon) + \"\\n\\t\\t\\t\\t\"\n ),\n ]),\n ]),\n _vm._v(\" \"),\n _c(\"CustomMessageInput\", {\n ref: \"customMessageInput\",\n attrs: { message: _vm.message },\n on: { change: _vm.setMessage, submit: _vm.saveStatus },\n }),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"PredefinedStatusesList\", {\n on: { selectStatus: _vm.selectPredefinedMessage },\n }),\n _vm._v(\" \"),\n _c(\"ClearAtSelect\", {\n attrs: { \"clear-at\": _vm.clearAt },\n on: { selectClearAt: _vm.setClearAt },\n }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"status-buttons\" }, [\n _c(\n \"button\",\n {\n staticClass: \"status-buttons__select\",\n attrs: { disabled: _vm.isSavingStatus },\n on: { click: _vm.clearStatus },\n },\n [\n _vm._v(\n \"\\n\\t\\t\\t\\t\" +\n _vm._s(_vm.$t(\"user_status\", \"Clear status message\")) +\n \"\\n\\t\\t\\t\"\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"button\",\n {\n staticClass: \"status-buttons__primary primary\",\n attrs: { disabled: _vm.isSavingStatus },\n on: { click: _vm.saveStatus },\n },\n [\n _vm._v(\n \"\\n\\t\\t\\t\\t\" +\n _vm._s(_vm.$t(\"user_status\", \"Set status message\")) +\n \"\\n\\t\\t\\t\"\n ),\n ]\n ),\n ]),\n ],\n 1\n ),\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;A;;;;;;;;;;;;;;AChEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;A;;;;;;;;;;;;;;AChEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;A;;;;;;;;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;A;;;;;;;;;;AClFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;A;;;;;;;;;;ACtEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;A;;;;;;;;;;;ACtEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;A;;;;;;;;;;;;ACxEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;A;;;;;;;;;;;;;;;;;;;;;ACtFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;A;;;;;;;;;;;;AC/SA;AACA;AACA;AACA;AACA;AACA;AACA;;;A;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;;A;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;;A;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;;A;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;;A;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;;A;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;A;;;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;A;;;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;A;;;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;A;;;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;A;;;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;A;;;;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAiBA;AACA;AACA;;A;;;;;;;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAiBA;AACA;AACA;;A;;;;;;;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAiBA;AACA;AACA;;A;;;;;;;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAiBA;AACA;AACA;;A;;;;;;;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAiBA;AACA;AACA;;A;;;;;;;;;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAiBA;AACA;AACA;;A;;;;;;;;;;;ACvCA;;A;;;;;;;;;;;ACAA;;A;;;;;;;;;;;ACAA;;A;;;;;;;;;;;ACAA;;A;;;;;;;;;;;ACAA;;A;;;;;;;;;;;ACAA;;A;;;;;;;;;;;;;A;;;;;;;;;;;;;A;;;;;;;;;;;;;A;;;;;;;;;;;;;A;;;;;;;;;;;;;A;;;;;;;;;;;;;A;;;;;;;;;;;;;;;;;A;;;;;;;;;;;;;;;;;A;;;;;;;;;;;;;;;;;A;;;;;;;;;;;;;;;;;A;;;;;;;;;;;;;;;;;A;;;;;;;;;;;;;;;;;A;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;A;;;;;;;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;A;;;;;;;;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;A;;;;;;;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;A;;;;;;;;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;A;;;;;;;;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;A;;A","sourceRoot":""} \ No newline at end of file