From 2ed29f518f135b5c8a100f2127c9f967e04d7343 Mon Sep 17 00:00:00 2001 From: Arsalan Ul Haq Sohni Date: Tue, 23 Dec 2025 11:03:55 +0100 Subject: [PATCH 1/2] fix(NewUserDialog): update group selection to prevent admin group from being assigned as subadmin Signed-off-by: Arsalan Ul Haq Sohni --- apps/settings/src/components/Users/NewUserDialog.vue | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/settings/src/components/Users/NewUserDialog.vue b/apps/settings/src/components/Users/NewUserDialog.vue index e3a8f322811bd..edec7261e0cdf 100644 --- a/apps/settings/src/components/Users/NewUserDialog.vue +++ b/apps/settings/src/components/Users/NewUserDialog.vue @@ -87,7 +87,7 @@ :input-label="t('settings', 'Admin of the following groups')" :placeholder="t('settings', 'Set account as admin for …')" :disabled="loading.groups || loading.all" - :options="availableGroups" + :options="availableSubAdminGroups" :close-on-select="false" :multiple="true" label="name" @@ -218,6 +218,10 @@ export default { return groups.filter(group => group.id !== '__nc_internal_recent' && group.id !== 'disabled') }, + availableSubAdminGroups() { + return this.availableGroups.filter((group) => group.id !== 'admin') + }, + languages() { return [ { From d9749b5130de6364236240d912fb1f03bb3ee680 Mon Sep 17 00:00:00 2001 From: nextcloud-command Date: Wed, 7 Jan 2026 09:58:52 +0000 Subject: [PATCH 2/2] chore(assets): Recompile assets Signed-off-by: nextcloud-command --- dist/settings-users-3239.js | 4 ++-- dist/settings-users-3239.js.map | 2 +- dist/settings-vue-settings-apps-users-management.js | 4 ++-- dist/settings-vue-settings-apps-users-management.js.map | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/dist/settings-users-3239.js b/dist/settings-users-3239.js index a426ab7c3d002..a2c1b8da97915 100644 --- a/dist/settings-users-3239.js +++ b/dist/settings-users-3239.js @@ -1,2 +1,2 @@ -"use strict";(globalThis.webpackChunknextcloud=globalThis.webpackChunknextcloud||[]).push([[3239,7471],{7515(t,e,s){s.d(e,{A:()=>o});var a=s(71354),i=s.n(a),n=s(76314),r=s.n(n)()(i());r.push([t.id,".dialog__note[data-v-29922c80]{font-weight:normal}fieldset[data-v-29922c80]{font-weight:bold}","",{version:3,sources:["webpack://./apps/settings/src/components/Users/UserSettingsDialog.vue"],names:[],mappings:"AAEC,+BACC,kBAAA,CAIF,0BACC,gBAAA",sourcesContent:["\n.dialog {\n\t&__note {\n\t\tfont-weight: normal;\n\t}\n}\n\nfieldset {\n\tfont-weight: bold;\n}\n"],sourceRoot:""}]);const o=r},11196(t,e,s){s.d(e,{A:()=>o});var a=s(71354),i=s.n(a),n=s(76314),r=s.n(n)()(i());r.push([t.id,".app-content[data-v-4684ed00]{display:flex;overflow:hidden;flex-direction:column;max-height:100%}","",{version:3,sources:["webpack://./apps/settings/src/views/UserManagement.vue"],names:[],mappings:"AACA,8BAEC,YAAA,CACA,eAAA,CACA,qBAAA,CACA,eAAA",sourcesContent:["\n.app-content {\n\t// Virtual list needs to be full height and is scrollable\n\tdisplay: flex;\n\toverflow: hidden;\n\tflex-direction: column;\n\tmax-height: 100%;\n}\n"],sourceRoot:""}]);const o=r},18033(t,e,s){s.d(e,{A:()=>o});var a=s(71354),i=s.n(a),n=s(76314),r=s.n(n)()(i());r.push([t.id,".footer[data-v-20636959]{position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background)}.footer__cell[data-v-20636959]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.footer__cell strong[data-v-20636959],.footer__cell span[data-v-20636959],.footer__cell label[data-v-20636959]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.footer__cell--avatar[data-v-20636959],.footer__cell--displayname[data-v-20636959]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.footer__cell--avatar[data-v-20636959]{inset-inline-start:0}.footer__cell--displayname[data-v-20636959]{inset-inline-start:var(--avatar-cell-width);border-inline-end:1px solid var(--color-border)}}.footer__cell--username[data-v-20636959]{padding-inline-start:calc(var(--default-grid-baseline)*3)}.footer__cell--avatar[data-v-20636959]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.footer__cell--multiline span[data-v-20636959]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.footer__cell--multiline span[data-v-20636959]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.footer__cell--large[data-v-20636959]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.footer__cell--obfuscated[data-v-20636959]{min-width:400px;width:400px}.footer__cell--fill[data-v-20636959]{min-width:var(--cell-width-large);width:100%}.footer__cell--actions[data-v-20636959]{position:sticky;inset-inline-end:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-inline-start:1px solid var(--color-border)}.footer__subtitle[data-v-20636959]{color:var(--color-text-maxcontrast)}.footer__cell[data-v-20636959]{position:sticky;color:var(--color-text-maxcontrast)}.footer__cell--loading[data-v-20636959]{inset-inline-start:0;min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0}.footer__cell--count[data-v-20636959]{inset-inline-start:var(--avatar-cell-width);min-width:var(--cell-width);width:var(--cell-width)}","",{version:3,sources:["webpack://./apps/settings/src/components/Users/UserListFooter.vue","webpack://./apps/settings/src/components/Users/shared/styles.scss"],names:[],mappings:"AAGA,yBCGC,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CAIA,+BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,+GAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,mFAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,uCACC,oBAAA,CAGD,4CACC,2CAAA,CACA,+CAAA,CAAA,CAIF,yCACC,yDAAA,CAGD,uCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,+CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,+CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,sCACC,iCAAA,CACA,6BAAA,CAGD,2CACC,eAAA,CACA,WAAA,CAID,qCACC,iCAAA,CACA,UAAA,CAGD,wCACC,eAAA,CACA,kBAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,iDAAA,CAIF,mCACC,mCAAA,CDpGD,+BACC,eAAA,CACA,mCAAA,CAEA,wCACC,oBAAA,CACA,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CAGD,sCACC,2CAAA,CACA,2BAAA,CACA,uBAAA",sourcesContent:["\n@use './shared/styles';\n\n.footer {\n\t@include styles.row;\n\t@include styles.cell;\n\n\t&__cell {\n\t\tposition: sticky;\n\t\tcolor: var(--color-text-maxcontrast);\n\n\t\t&--loading {\n\t\t\tinset-inline-start: 0;\n\t\t\tmin-width: var(--avatar-cell-width);\n\t\t\twidth: var(--avatar-cell-width);\n\t\t\talign-items: center;\n\t\t\tpadding: 0;\n\t\t}\n\n\t\t&--count {\n\t\t\tinset-inline-start: var(--avatar-cell-width);\n\t\t\tmin-width: var(--cell-width);\n\t\t\twidth: var(--cell-width);\n\t\t}\n\t}\n}\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n@mixin row {\n\tposition: relative;\n\tdisplay: flex;\n\tmin-width: 100%;\n\twidth: fit-content;\n\theight: var(--row-height);\n\tbackground-color: var(--color-main-background);\n}\n\n@mixin cell {\n\t&__cell {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\tpadding: 0 var(--cell-padding);\n\t\tmin-width: var(--cell-width);\n\t\twidth: var(--cell-width);\n\t\tcolor: var(--color-main-text);\n\n\t\tstrong,\n\t\tspan,\n\t\tlabel {\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t\toverflow-wrap: anywhere;\n\t\t}\n\n\t\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\n\t\t\t&--avatar,\n\t\t\t&--displayname {\n\t\t\t\tposition: sticky;\n\t\t\t\tz-index: var(--sticky-column-z-index);\n\t\t\t\tbackground-color: var(--color-main-background);\n\t\t\t}\n\n\t\t\t&--avatar {\n\t\t\t\tinset-inline-start: 0;\n\t\t\t}\n\n\t\t\t&--displayname {\n\t\t\t\tinset-inline-start: var(--avatar-cell-width);\n\t\t\t\tborder-inline-end: 1px solid var(--color-border);\n\t\t\t}\n\t\t}\n\n\t\t&--username {\n\t\t\tpadding-inline-start: calc(var(--default-grid-baseline) * 3);\n\t\t}\n\n\t\t&--avatar {\n\t\t\tmin-width: var(--avatar-cell-width);\n\t\t\twidth: var(--avatar-cell-width);\n\t\t\talign-items: center;\n\t\t\tpadding: 0;\n\t\t\tuser-select: none;\n\t\t}\n\n\t\t&--multiline {\n\t\t\tspan {\n\t\t\t\tline-height: 1.3em;\n\t\t\t\twhite-space: unset;\n\n\t\t\t\t@supports (-webkit-line-clamp: 2) {\n\t\t\t\t\tdisplay: -webkit-box;\n\t\t\t\t\t-webkit-line-clamp: 2;\n\t\t\t\t\t-webkit-box-orient: vertical;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&--large {\n\t\t\tmin-width: var(--cell-width-large);\n\t\t\twidth: var(--cell-width-large);\n\t\t}\n\n\t\t&--obfuscated {\n\t\t\tmin-width: 400px;\n\t\t\twidth: 400px;\n\t\t}\n\n\t\t// Fill remaining row space with cell\n\t\t&--fill {\n\t\t\tmin-width: var(--cell-width-large);\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t&--actions {\n\t\t\tposition: sticky;\n\t\t\tinset-inline-end: 0;\n\t\t\tz-index: var(--sticky-column-z-index);\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: row;\n\t\t\talign-items: center;\n\t\t\tmin-width: 110px;\n\t\t\twidth: 110px;\n\t\t\tbackground-color: var(--color-main-background);\n\t\t\tborder-inline-start: 1px solid var(--color-border);\n\t\t}\n\t}\n\n\t&__subtitle {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n}\n"],sourceRoot:""}]);const o=r},24882(t,e,s){s.d(e,{A:()=>o});var a=s(71354),i=s.n(a),n=s(76314),r=s.n(n)()(i());r.push([t.id,".header[data-v-5c0f8828]{border-bottom:1px solid var(--color-border);position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background)}.header__cell[data-v-5c0f8828]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.header__cell strong[data-v-5c0f8828],.header__cell span[data-v-5c0f8828],.header__cell label[data-v-5c0f8828]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.header__cell--avatar[data-v-5c0f8828],.header__cell--displayname[data-v-5c0f8828]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.header__cell--avatar[data-v-5c0f8828]{inset-inline-start:0}.header__cell--displayname[data-v-5c0f8828]{inset-inline-start:var(--avatar-cell-width);border-inline-end:1px solid var(--color-border)}}.header__cell--username[data-v-5c0f8828]{padding-inline-start:calc(var(--default-grid-baseline)*3)}.header__cell--avatar[data-v-5c0f8828]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.header__cell--multiline span[data-v-5c0f8828]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.header__cell--multiline span[data-v-5c0f8828]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.header__cell--large[data-v-5c0f8828]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.header__cell--obfuscated[data-v-5c0f8828]{min-width:400px;width:400px}.header__cell--fill[data-v-5c0f8828]{min-width:var(--cell-width-large);width:100%}.header__cell--actions[data-v-5c0f8828]{position:sticky;inset-inline-end:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-inline-start:1px solid var(--color-border)}.header__subtitle[data-v-5c0f8828]{color:var(--color-text-maxcontrast)}","",{version:3,sources:["webpack://./apps/settings/src/components/Users/UserListHeader.vue","webpack://./apps/settings/src/components/Users/shared/styles.scss"],names:[],mappings:"AAGA,yBACC,2CAAA,CCEA,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CAIA,+BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,+GAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,mFAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,uCACC,oBAAA,CAGD,4CACC,2CAAA,CACA,+CAAA,CAAA,CAIF,yCACC,yDAAA,CAGD,uCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,+CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,+CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,sCACC,iCAAA,CACA,6BAAA,CAGD,2CACC,eAAA,CACA,WAAA,CAID,qCACC,iCAAA,CACA,UAAA,CAGD,wCACC,eAAA,CACA,kBAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,iDAAA,CAIF,mCACC,mCAAA",sourcesContent:["\n@use './shared/styles';\n\n.header {\n\tborder-bottom: 1px solid var(--color-border);\n\n\t@include styles.row;\n\t@include styles.cell;\n}\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n@mixin row {\n\tposition: relative;\n\tdisplay: flex;\n\tmin-width: 100%;\n\twidth: fit-content;\n\theight: var(--row-height);\n\tbackground-color: var(--color-main-background);\n}\n\n@mixin cell {\n\t&__cell {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\tpadding: 0 var(--cell-padding);\n\t\tmin-width: var(--cell-width);\n\t\twidth: var(--cell-width);\n\t\tcolor: var(--color-main-text);\n\n\t\tstrong,\n\t\tspan,\n\t\tlabel {\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t\toverflow-wrap: anywhere;\n\t\t}\n\n\t\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\n\t\t\t&--avatar,\n\t\t\t&--displayname {\n\t\t\t\tposition: sticky;\n\t\t\t\tz-index: var(--sticky-column-z-index);\n\t\t\t\tbackground-color: var(--color-main-background);\n\t\t\t}\n\n\t\t\t&--avatar {\n\t\t\t\tinset-inline-start: 0;\n\t\t\t}\n\n\t\t\t&--displayname {\n\t\t\t\tinset-inline-start: var(--avatar-cell-width);\n\t\t\t\tborder-inline-end: 1px solid var(--color-border);\n\t\t\t}\n\t\t}\n\n\t\t&--username {\n\t\t\tpadding-inline-start: calc(var(--default-grid-baseline) * 3);\n\t\t}\n\n\t\t&--avatar {\n\t\t\tmin-width: var(--avatar-cell-width);\n\t\t\twidth: var(--avatar-cell-width);\n\t\t\talign-items: center;\n\t\t\tpadding: 0;\n\t\t\tuser-select: none;\n\t\t}\n\n\t\t&--multiline {\n\t\t\tspan {\n\t\t\t\tline-height: 1.3em;\n\t\t\t\twhite-space: unset;\n\n\t\t\t\t@supports (-webkit-line-clamp: 2) {\n\t\t\t\t\tdisplay: -webkit-box;\n\t\t\t\t\t-webkit-line-clamp: 2;\n\t\t\t\t\t-webkit-box-orient: vertical;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&--large {\n\t\t\tmin-width: var(--cell-width-large);\n\t\t\twidth: var(--cell-width-large);\n\t\t}\n\n\t\t&--obfuscated {\n\t\t\tmin-width: 400px;\n\t\t\twidth: 400px;\n\t\t}\n\n\t\t// Fill remaining row space with cell\n\t\t&--fill {\n\t\t\tmin-width: var(--cell-width-large);\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t&--actions {\n\t\t\tposition: sticky;\n\t\t\tinset-inline-end: 0;\n\t\t\tz-index: var(--sticky-column-z-index);\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: row;\n\t\t\talign-items: center;\n\t\t\tmin-width: 110px;\n\t\t\twidth: 110px;\n\t\t\tbackground-color: var(--color-main-background);\n\t\t\tborder-inline-start: 1px solid var(--color-border);\n\t\t}\n\t}\n\n\t&__subtitle {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n}\n"],sourceRoot:""}]);const o=r},27514(t){t.exports="data:image/svg+xml,%3c%21--%20-%20SPDX-FileCopyrightText:%202020%20Google%20Inc.%20-%20SPDX-License-Identifier:%20Apache-2.0%20--%3e%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M18.4%207.4L17%206l-6%206%206%206%201.4-1.4-4.6-4.6%204.6-4.6m-6%200L11%206l-6%206%206%206%201.4-1.4L7.8%2012l4.6-4.6z%27/%3e%3c/svg%3e"},27518(t){t.exports="data:image/svg+xml,%3c%21--%20-%20SPDX-FileCopyrightText:%202020%20Google%20Inc.%20-%20SPDX-License-Identifier:%20Apache-2.0%20--%3e%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M15.4%2016.6L10.8%2012l4.6-4.6L14%206l-6%206%206%206%201.4-1.4z%27/%3e%3c/svg%3e"},35176(t,e,s){s.d(e,{A:()=>o});var a=s(71354),i=s.n(a),n=s(76314),r=s.n(n)()(i());r.push([t.id,".user-list[data-v-21942da5]{--avatar-cell-width: 48px;--cell-padding: 7px;--cell-width: 200px;--cell-width-large: 300px;--cell-min-width: calc(var(--cell-width) - (2 * var(--cell-padding)));--sticky-column-z-index: calc(var(--vs-dropdown-z-index) + 1);display:block;overflow:auto;height:100%;will-change:scroll-position}.user-list__header[data-v-21942da5],.user-list__footer[data-v-21942da5]{position:sticky;display:block}.user-list__header[data-v-21942da5]{top:0;z-index:calc(var(--sticky-column-z-index) + 1)}.user-list__footer[data-v-21942da5]{inset-inline-start:0}.user-list__body[data-v-21942da5]{display:flex;flex-direction:column;width:100%}","",{version:3,sources:["webpack://./apps/settings/src/components/Users/VirtualList.vue"],names:[],mappings:"AACA,4BACC,yBAAA,CACA,mBAAA,CACA,mBAAA,CACA,yBAAA,CACA,qEAAA,CACA,6DAAA,CAGA,aAAA,CACA,aAAA,CACA,WAAA,CACA,2BAAA,CAEA,wEAEC,eAAA,CAEA,aAAA,CAGD,oCACC,KAAA,CACA,8CAAA,CAGD,oCACC,oBAAA,CAGD,kCACC,YAAA,CACA,qBAAA,CACA,UAAA",sourcesContent:["\n.user-list {\n\t--avatar-cell-width: 48px;\n\t--cell-padding: 7px;\n\t--cell-width: 200px;\n\t--cell-width-large: 300px;\n\t--cell-min-width: calc(var(--cell-width) - (2 * var(--cell-padding)));\n\t--sticky-column-z-index: calc(var(--vs-dropdown-z-index) + 1); // Keep the sticky column on top of the select dropdown\n\n\t// Necessary for virtual scroll optimized rendering\n\tdisplay: block;\n\toverflow: auto;\n\theight: 100%;\n\twill-change: scroll-position;\n\n\t&__header,\n\t&__footer {\n\t\tposition: sticky;\n\t\t// Fix sticky positioning in Firefox\n\t\tdisplay: block;\n\t}\n\n\t&__header {\n\t\ttop: 0;\n\t\tz-index: calc(var(--sticky-column-z-index) + 1);\n\t}\n\n\t&__footer {\n\t\tinset-inline-start: 0;\n\t}\n\n\t&__body {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\twidth: 100%;\n\t}\n}\n"],sourceRoot:""}]);const o=r},38775(t,e,s){s.d(e,{A:()=>o});var a=s(71354),i=s.n(a),n=s(76314),r=s.n(n)()(i());r.push([t.id,".modal__header[data-v-0540d351]{margin:0}.modal__content[data-v-0540d351]{display:flex;flex-direction:column;align-items:center;padding:20px;gap:4px 0}.modal__button-row[data-v-0540d351]{display:flex;width:100%;justify-content:space-between}","",{version:3,sources:["webpack://./apps/settings/src/components/GroupListItem.vue"],names:[],mappings:"AAEC,gCACC,QAAA,CAGD,iCACC,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,YAAA,CACA,SAAA,CAGD,oCACC,YAAA,CACA,UAAA,CACA,6BAAA",sourcesContent:["\n.modal {\n\t&__header {\n\t\tmargin: 0;\n\t}\n\n\t&__content {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\tpadding: 20px;\n\t\tgap: 4px 0;\n\t}\n\n\t&__button-row {\n\t\tdisplay: flex;\n\t\twidth: 100%;\n\t\tjustify-content: space-between;\n\t}\n}\n"],sourceRoot:""}]);const o=r},46984(t,e,s){s.d(e,{FF:()=>d,Iu:()=>l,N_:()=>o});var a=s(19051),i=s(63814),n=s(36117);const r=t=>({id:t.id,name:t.displayname,usercount:t.usercount,disabled:t.disabled,canAdd:t.canAdd,canRemove:t.canRemove}),o=({search:t,offset:e,limit:s})=>{const o=new AbortController;return new n.CancelablePromise((async(n,l,d)=>{d((()=>o.abort()));try{const{data:l}=await a.Ay.get((0,i.KT)("/cloud/groups/details?search={search}&offset={offset}&limit={limit}",{search:t,offset:e,limit:s}),{signal:o.signal});n((l.ocs?.data?.groups??[]).map(r))}catch(t){l(t)}}))},l=async({userId:t})=>{const e=(0,i.KT)("/cloud/users/{userId}/groups/details",{userId:t}),{data:s}=await a.Ay.get(e);return(s.ocs?.data?.groups??[]).map(r)},d=async({userId:t})=>{const e=(0,i.KT)("/cloud/users/{userId}/subadmins/details",{userId:t}),{data:s}=await a.Ay.get(e);return(s.ocs?.data?.groups??[]).map(r)}},58688(t,e,s){s.d(e,{A:()=>o});var a=s(71354),i=s.n(a),n=s(76314),r=s.n(n)()(i());r.push([t.id,".account-management__navigation[data-v-539a4ad0] .app-navigation__body{will-change:scroll-position}.account-management__system-list[data-v-539a4ad0]{height:auto !important;overflow:visible !important}.account-management__group-list[data-v-539a4ad0]{height:100% !important}.account-management__settings-toggle[data-v-539a4ad0]{margin-bottom:12px}","",{version:3,sources:["webpack://./apps/settings/src/views/UserManagementNavigation.vue"],names:[],mappings:"AAGE,uEACC,2BAAA,CAGF,kDACC,sBAAA,CACA,2BAAA,CAGD,iDACC,sBAAA,CAGD,sDACC,kBAAA",sourcesContent:["\n.account-management {\n\t&__navigation {\n\t\t:deep(.app-navigation__body) {\n\t\t\twill-change: scroll-position;\n\t\t}\n\t}\n\t&__system-list {\n\t\theight: auto !important;\n\t\toverflow: visible !important;\n\t}\n\n\t&__group-list {\n\t\theight: 100% !important;\n\t}\n\n\t&__settings-toggle {\n\t\tmargin-bottom: 12px;\n\t}\n}\n"],sourceRoot:""}]);const o=r},63764(t,e,s){s.d(e,{A:()=>o});var a=s(71354),i=s.n(a),n=s(76314),r=s.n(n)()(i());r.push([t.id,".dialog__form[data-v-3d23637c]{display:flex;flex-direction:column;align-items:center;padding:0 8px;gap:4px 0}.dialog__item[data-v-3d23637c]{width:100%}.dialog__item[data-v-3d23637c]:not(:focus):not(:active){border-color:var(--color-border-dark)}.dialog__hint[data-v-3d23637c]{color:var(--color-text-maxcontrast);margin-top:8px;align-self:flex-start}.dialog__label[data-v-3d23637c]{display:block;padding:4px 0}.dialog__select[data-v-3d23637c]{width:100%}.dialog__managers[data-v-3d23637c]{margin-bottom:12px}.dialog__submit[data-v-3d23637c]{margin-top:4px;margin-bottom:8px}.dialog[data-v-3d23637c] .dialog__actions{margin:auto}","",{version:3,sources:["webpack://./apps/settings/src/components/Users/NewUserDialog.vue"],names:[],mappings:"AAEC,+BACC,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,aAAA,CACA,SAAA,CAGD,+BACC,UAAA,CAEA,wDACC,qCAAA,CAIF,+BACC,mCAAA,CACA,cAAA,CACA,qBAAA,CAGD,gCACC,aAAA,CACA,aAAA,CAGD,iCACC,UAAA,CAGD,mCACC,kBAAA,CAGD,iCACC,cAAA,CACA,iBAAA,CAIA,0CACC,WAAA",sourcesContent:["\n.dialog {\n\t&__form {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\tpadding: 0 8px;\n\t\tgap: 4px 0;\n\t}\n\n\t&__item {\n\t\twidth: 100%;\n\n\t\t&:not(:focus):not(:active) {\n\t\t\tborder-color: var(--color-border-dark);\n\t\t}\n\t}\n\n\t&__hint {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tmargin-top: 8px;\n\t\talign-self: flex-start;\n\t}\n\n\t&__label {\n\t\tdisplay: block;\n\t\tpadding: 4px 0;\n\t}\n\n\t&__select {\n\t\twidth: 100%;\n\t}\n\n\t&__managers {\n\t\tmargin-bottom: 12px;\n\t}\n\n\t&__submit {\n\t\tmargin-top: 4px;\n\t\tmargin-bottom: 8px;\n\t}\n\n\t:deep {\n\t\t.dialog__actions {\n\t\t\tmargin: auto;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const o=r},65821(e,s,a){a.r(s),a.d(s,{default:()=>mt});var i=a(85471),n=a(9165),r=a(53334),o=a(42530),l=a(52439),d=a(27345),c=a(49595),u=a(74095),g=a(85947),A=a(6695),p=a(35810),h=a(63814),m=a(19051),C=a(83096),v=a(83600),w=a(32073),_=a(371),f=a(67607),b=a(15916),y=a(95668),x=a(36620);const N={name:"UserSettingsDialog",components:{NcAppSettingsDialog:C.N,NcAppSettingsSection:v.N,NcCheckboxRadioSwitch:w.A,NcNoteCard:_.A,NcSelect:f.default},props:{open:{type:Boolean,required:!0}},data:()=>({selectedQuota:!1,loadingSendMail:!1}),computed:{groupSorting:{get(){return this.$store.getters.getGroupSorting===b.q.GroupName?"name":"member-count"},set(t){this.$store.commit("setGroupSorting","name"===t?b.q.GroupName:b.q.UserCount)}},isGroupSortingEnforced(){return this.$store.getters.getServerData.forceSortGroupByName},isModalOpen:{get(){return this.open},set(t){this.$emit("update:open",t)}},showConfig(){return this.$store.getters.getShowConfig},settings(){return this.$store.getters.getServerData},showLanguages:{get(){return this.showConfig.showLanguages},set(t){this.setShowConfig("showLanguages",t)}},showFirstLogin:{get(){return this.showConfig.showFirstLogin},set(t){this.setShowConfig("showFirstLogin",t)}},showLastLogin:{get(){return this.showConfig.showLastLogin},set(t){this.setShowConfig("showLastLogin",t)}},showUserBackend:{get(){return this.showConfig.showUserBackend},set(t){this.setShowConfig("showUserBackend",t)}},showStoragePath:{get(){return this.showConfig.showStoragePath},set(t){this.setShowConfig("showStoragePath",t)}},quotaOptions(){const t=this.settings.quotaPreset.reduce(((t,e)=>t.concat({id:e,label:e})),[]);return this.settings.allowUnlimitedQuota&&t.unshift(y.SA),t},defaultQuota:{get(){return!1!==this.selectedQuota?this.selectedQuota:this.settings.defaultQuota!==y.SA.id&&OC.Util.computerFileSize(this.settings.defaultQuota)>=0?{id:this.settings.defaultQuota,label:this.settings.defaultQuota}:y.SA},set(t){this.selectedQuota=t}},sendWelcomeMail:{get(){return this.settings.newUserSendEmail},async set(t){try{this.loadingSendMail=!0,this.$store.commit("setServerData",{...this.settings,newUserSendEmail:t}),await m.Ay.post((0,h.Jv)("/settings/users/preferences/newUser.sendEmail"),{value:t?"yes":"no"})}catch(t){x.A.error("Could not update newUser.sendEmail preference",{error:t})}finally{this.loadingSendMail=!1}}}},methods:{filterQuotas(t,e,s){const a=s.toLocaleLowerCase().replaceAll(/\s/g,"");return(e||"").toLocaleLowerCase().replaceAll(/\s/g,"").indexOf(a)>-1},setShowConfig(t,e){this.$store.commit("setShowConfig",{key:t,value:e})},validateQuota(t){"object"==typeof t&&(t=t?.id||t.label);const e=(0,p.lT)(t,!0);return null===e?y.SA:{id:t=(0,p.v7)(e),label:t}},setDefaultQuota(t="none"){"none"===t&&(t=y.SA),this.$store.dispatch("setAppConfig",{app:"files",key:"default_quota",value:t.id?t.id:t}).then((()=>{"object"!=typeof t&&(t={id:t,label:t}),this.defaultQuota=t}))}}};var k=a(85072),G=a.n(k),S=a(97825),U=a.n(S),L=a(77659),D=a.n(L),B=a(55056),I=a.n(B),q=a(10540),O=a.n(q),M=a(41113),$=a.n(M),F=a(7515),T={};T.styleTagTransform=$(),T.setAttributes=I(),T.insert=D().bind(null,"head"),T.domAPI=U(),T.insertStyleElement=O(),G()(F.A,T),F.A&&F.A.locals&&F.A.locals;var E=a(14486);const P=(0,E.A)(N,(function(){var t=this,e=t._self._c;return e("NcAppSettingsDialog",{attrs:{open:t.isModalOpen,"show-navigation":!0,name:t.t("settings","Account management settings")},on:{"update:open":function(e){t.isModalOpen=e}}},[e("NcAppSettingsSection",{attrs:{id:"visibility-settings",name:t.t("settings","Visibility")}},[e("NcCheckboxRadioSwitch",{attrs:{type:"switch","data-test":"showLanguages",checked:t.showLanguages},on:{"update:checked":function(e){t.showLanguages=e}}},[t._v("\n\t\t\t"+t._s(t.t("settings","Show language"))+"\n\t\t")]),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{type:"switch","data-test":"showUserBackend",checked:t.showUserBackend},on:{"update:checked":function(e){t.showUserBackend=e}}},[t._v("\n\t\t\t"+t._s(t.t("settings","Show account backend"))+"\n\t\t")]),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{type:"switch","data-test":"showStoragePath",checked:t.showStoragePath},on:{"update:checked":function(e){t.showStoragePath=e}}},[t._v("\n\t\t\t"+t._s(t.t("settings","Show storage path"))+"\n\t\t")]),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{type:"switch","data-test":"showFirstLogin",checked:t.showFirstLogin},on:{"update:checked":function(e){t.showFirstLogin=e}}},[t._v("\n\t\t\t"+t._s(t.t("settings","Show first login"))+"\n\t\t")]),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{type:"switch","data-test":"showLastLogin",checked:t.showLastLogin},on:{"update:checked":function(e){t.showLastLogin=e}}},[t._v("\n\t\t\t"+t._s(t.t("settings","Show last login"))+"\n\t\t")])],1),t._v(" "),e("NcAppSettingsSection",{attrs:{id:"groups-sorting",name:t.t("settings","Sorting")}},[t.isGroupSortingEnforced?e("NcNoteCard",{attrs:{type:"warning"}},[t._v("\n\t\t\t"+t._s(t.t("settings","The system config enforces sorting the groups by name. This also disables showing the member count."))+"\n\t\t")]):t._e(),t._v(" "),e("fieldset",[e("legend",[t._v(t._s(t.t("settings","Group list sorting")))]),t._v(" "),e("NcNoteCard",{staticClass:"dialog__note",attrs:{type:"info",text:t.t("settings","Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list.")}}),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{type:"radio",checked:t.groupSorting,"data-test":"sortGroupsByMemberCount",disabled:t.isGroupSortingEnforced,name:"group-sorting-mode",value:"member-count"},on:{"update:checked":function(e){t.groupSorting=e}}},[t._v("\n\t\t\t\t"+t._s(t.t("settings","By member count"))+"\n\t\t\t")]),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{type:"radio",checked:t.groupSorting,"data-test":"sortGroupsByName",disabled:t.isGroupSortingEnforced,name:"group-sorting-mode",value:"name"},on:{"update:checked":function(e){t.groupSorting=e}}},[t._v("\n\t\t\t\t"+t._s(t.t("settings","By name"))+"\n\t\t\t")])],1)],1),t._v(" "),e("NcAppSettingsSection",{attrs:{id:"email-settings",name:t.t("settings","Send email")}},[e("NcCheckboxRadioSwitch",{attrs:{type:"switch","data-test":"sendWelcomeMail",checked:t.sendWelcomeMail,disabled:t.loadingSendMail},on:{"update:checked":function(e){t.sendWelcomeMail=e}}},[t._v("\n\t\t\t"+t._s(t.t("settings","Send welcome email to new accounts"))+"\n\t\t")])],1),t._v(" "),e("NcAppSettingsSection",{attrs:{id:"default-settings",name:t.t("settings","Defaults")}},[e("NcSelect",{attrs:{clearable:!1,"create-option":t.validateQuota,"filter-by":t.filterQuotas,"input-label":t.t("settings","Default quota"),options:t.quotaOptions,placement:"top",placeholder:t.t("settings","Select default quota"),taggable:""},on:{"option:selected":t.setDefaultQuota},model:{value:t.defaultQuota,callback:function(e){t.defaultQuota=e},expression:"defaultQuota"}})],1)],1)}),[],!1,null,"29922c80",null).exports;var z=a(85168),R=a(13073),Q=a(54914),W=a(24387),H=a(44131),K=a(71711),j=a(70851),Y=a(22601),X=a(88289),V=a(57505),J=a(42486),Z=a(43261),tt=a(79759),et=a(2413);const st={name:"GroupListItem",components:{AccountGroup:Z.A,Delete:tt.A,Fragment:Q.F,NcActionButton:V.A,NcActionInput:H.A,NcAppNavigationItem:l.A,NcButton:u.A,NcCounterBubble:g.A,NcModal:J.A,NcNoteCard:_.A,Pencil:et.A},props:{active:{type:Boolean,required:!0},count:{type:Number,default:null},id:{type:String,required:!0},name:{type:String,required:!0}},data:()=>({loadingRenameGroup:!1,openGroupMenu:!1,showRemoveGroupModal:!1}),computed:{settings(){return this.$store.getters.getServerData}},methods:{handleGroupMenuOpen(){this.openGroupMenu=!0},async renameGroup(t){if(""===t.trim())return;const e=this.$refs.displayNameInput.$el.querySelector('input[type="text"]').value;if(""!==e.trim())try{this.openGroupMenu=!1,this.loadingRenameGroup=!0,await this.$store.dispatch("renameGroup",{groupid:t.trim(),displayName:e.trim()}),this.loadingRenameGroup=!1}catch{this.openGroupMenu=!0,this.loadingRenameGroup=!1}},async removeGroup(){try{await this.$store.dispatch("removeGroup",this.id),this.showRemoveGroupModal=!1}catch(e){(0,z.Qg)(t("settings",'Failed to delete group "{group}"',{group:this.name}))}}}};var at=a(38775),it={};it.styleTagTransform=$(),it.setAttributes=I(),it.insert=D().bind(null,"head"),it.domAPI=U(),it.insertStyleElement=O(),G()(at.A,it),at.A&&at.A.locals&&at.A.locals;const nt=(0,E.A)(st,(function(){var t=this,e=t._self._c;return e("Fragment",[t.showRemoveGroupModal?e("NcModal",{on:{close:function(e){t.showRemoveGroupModal=!1}}},[e("div",{staticClass:"modal__content"},[e("h2",{staticClass:"modal__header"},[t._v("\n\t\t\t\t"+t._s(t.t("settings","Please confirm the group removal"))+"\n\t\t\t")]),t._v(" "),e("NcNoteCard",{attrs:{type:"warning","show-alert":""}},[t._v("\n\t\t\t\t"+t._s(t.t("settings",'You are about to delete the group "{group}". The accounts will NOT be deleted.',{group:t.name}))+"\n\t\t\t")]),t._v(" "),e("div",{staticClass:"modal__button-row"},[e("NcButton",{attrs:{type:"secondary"},on:{click:function(e){t.showRemoveGroupModal=!1}}},[t._v("\n\t\t\t\t\t"+t._s(t.t("settings","Cancel"))+"\n\t\t\t\t")]),t._v(" "),e("NcButton",{attrs:{type:"primary"},on:{click:t.removeGroup}},[t._v("\n\t\t\t\t\t"+t._s(t.t("settings","Confirm"))+"\n\t\t\t\t")])],1)],1)]):t._e(),t._v(" "),e("NcAppNavigationItem",{key:t.id,ref:"listItem",attrs:{exact:!0,name:t.name,to:{name:"group",params:{selectedGroup:encodeURIComponent(t.id)}},loading:t.loadingRenameGroup,"menu-open":t.openGroupMenu},on:{"update:menuOpen":t.handleGroupMenuOpen},scopedSlots:t._u([{key:"icon",fn:function(){return[e("AccountGroup",{attrs:{size:20}})]},proxy:!0},{key:"counter",fn:function(){return[t.count?e("NcCounterBubble",{attrs:{type:t.active?"highlighted":void 0}},[t._v("\n\t\t\t\t"+t._s(t.count)+"\n\t\t\t")]):t._e()]},proxy:!0},{key:"actions",fn:function(){return["admin"!==t.id&&"disabled"!==t.id&&(t.settings.isAdmin||t.settings.isDelegatedAdmin)?e("NcActionInput",{ref:"displayNameInput",attrs:{"trailing-button-label":t.t("settings","Submit"),type:"text",value:t.name,label:t.t("settings","Rename group")},on:{submit:function(e){return t.renameGroup(t.id)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Pencil",{attrs:{size:20}})]},proxy:!0}],null,!1,580569589)}):t._e(),t._v(" "),"admin"!==t.id&&"disabled"!==t.id&&(t.settings.isAdmin||t.settings.isDelegatedAdmin)?e("NcActionButton",{on:{click:function(e){t.showRemoveGroupModal=!0}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Delete",{attrs:{size:20}})]},proxy:!0}],null,!1,2705356561)},[t._v("\n\t\t\t\t"+t._s(t.t("settings","Delete group"))+"\n\t\t\t")]):t._e()]},proxy:!0}])})],1)}),[],!1,null,"0540d351",null).exports;function rt(t){return void 0===t?null:{id:t.id,title:t.name,usercount:t.usercount??0,count:Math.max(0,(t.usercount??0)-(t.disabled??0))}}const ot=t=>{const e=(0,i.EW)((()=>t.value.filter((t=>"disabled"!==t.id&&"__nc_internal_recent"!==t.id&&"admin"!==t.id)).map((t=>rt(t))).filter((t=>null!==t)))),s=(0,i.EW)((()=>rt(t.value.find((t=>"admin"===t.id))))),a=(0,i.EW)((()=>rt(t.value.find((t=>"disabled"===t.id)))));return{adminGroup:s,recentGroup:(0,i.EW)((()=>rt(t.value.find((t=>"__nc_internal_recent"===t.id))))),disabledGroup:a,userGroups:e}};var lt=a(14744),dt=a(46984);const ct=(0,i.pM)({__name:"AppNavigationGroupList",setup(t){const e=(0,lt.P)(),s=(0,W.lq)(),a=(0,W.rd)();(0,i.KC)((async()=>{await S()}));const o=(0,i.EW)((()=>s.params?.selectedGroup)),l=(0,i.EW)((()=>o.value?decodeURIComponent(o.value):null)),c=(0,i.EW)((()=>p.value?e.getters.getSortedGroups:e.getters.getSubAdminGroups)),{userGroups:u}=ot(c),g=(0,i.EW)((()=>e.getters.getServerData)),p=(0,i.EW)((()=>g.value.isAdmin||g.value.isDelegatedAdmin)),h=(0,i.KR)(!1),m=(0,i.KR)(!1),C=(0,i.KR)(!1),v=(0,i.KR)(""),w=(0,i.KR)(!1),_=(0,i.KR)(0),f=(0,i.KR)(""),b=(0,i.EW)((()=>{if(p.value)return u.value;const t=f.value.toLowerCase();return u.value.filter((e=>-1!==e.id.toLowerCase().search(t)||-1!==e.title.toLowerCase().search(t)))})),y=(0,i.KR)([]),N=(0,i.EW)((()=>y.value.findLast((t=>t?.$vnode?.key===u.value?.at(-1)?.id))?.$refs?.listItem?.$el)),k=(0,R.ITo)(N);(0,i.wB)(k,(async()=>{k.value&&await S()})),(0,i.wB)(f,(async()=>{e.commit("resetGroups"),_.value=0,await S()}));const G=(0,i.KR)();async function S(){if(p.value){G.value&&G.value.cancel(),w.value=!0;try{G.value=(0,dt.N_)({search:f.value,offset:_.value,limit:25});const t=await G.value;t.length>0&&(_.value+=25);for(const s of t)e.commit("addGroup",s)}catch(t){x.A.error((0,r.t)("settings","Failed to load groups"),{error:t})}G.value=void 0,w.value=!1}}return{__sfc:!0,store:e,route:s,router:a,selectedGroup:o,selectedGroupDecoded:l,groups:c,userGroups:u,settings:g,isAdminOrDelegatedAdmin:p,isAddGroupOpen:h,loadingAddGroup:m,hasAddGroupError:C,newGroupName:v,loadingGroups:w,offset:_,groupsSearchQuery:f,filteredGroups:b,groupListItems:y,lastGroupListItem:N,isLastGroupVisible:k,promise:G,loadGroups:S,createGroup:async function(){C.value=!1;const t=v.value.trim();if(""!==t){h.value=!1,m.value=!0;try{await e.dispatch("addGroup",t),await a.push({name:"group",params:{selectedGroup:encodeURIComponent(t)}});const s=y.value.findLast((e=>e?.$vnode?.key===t));s?.$refs?.listItem?.$el?.scrollIntoView({behavior:"smooth",block:"nearest"}),v.value=""}catch{(0,z.Qg)((0,r.t)("settings","Failed to create group"))}m.value=!1}else C.value=!0},mdiAccountGroup:n.n7C,mdiPlus:n.biz,t:r.t,Fragment:Q.F,NcActionInput:H.A,NcActionText:K.A,NcAppNavigationCaption:j.N,NcAppNavigationList:d.A,NcAppNavigationSearch:Y.N,NcIconSvgWrapper:A.A,NcLoadingIcon:X.A,GroupListItem:nt}}}),ut=(0,E.A)(ct,(function(){var t=this,e=t._self._c,s=t._self._setupProxy;return e(s.Fragment,[e(s.NcAppNavigationCaption,{attrs:{name:s.t("settings","Groups"),disabled:s.loadingAddGroup,"aria-label":s.loadingAddGroup?s.t("settings","Creating group…"):s.t("settings","Create group"),"force-menu":"","is-heading":"",open:s.isAddGroupOpen},on:{"update:open":function(t){s.isAddGroupOpen=t}},scopedSlots:t._u([s.isAdminOrDelegatedAdmin?{key:"actionsTriggerIcon",fn:function(){return[s.loadingAddGroup?e(s.NcLoadingIcon):e(s.NcIconSvgWrapper,{attrs:{path:s.mdiPlus}})]},proxy:!0}:null,s.isAdminOrDelegatedAdmin?{key:"actions",fn:function(){return[e(s.NcActionText,{scopedSlots:t._u([{key:"icon",fn:function(){return[e(s.NcIconSvgWrapper,{attrs:{path:s.mdiAccountGroup}})]},proxy:!0}],null,!1,3607647275)},[t._v("\n\t\t\t\t"+t._s(s.t("settings","Create group"))+"\n\t\t\t")]),t._v(" "),e(s.NcActionInput,{attrs:{label:s.t("settings","Group name"),"data-cy-users-settings-new-group-name":"","label-outside":!1,disabled:s.loadingAddGroup,value:s.newGroupName,error:s.hasAddGroupError,"helper-text":s.hasAddGroupError?s.t("settings","Please enter a valid group name"):""},on:{"update:value":function(t){s.newGroupName=t},submit:s.createGroup}})]},proxy:!0}:null],null,!0)}),t._v(" "),e(s.NcAppNavigationSearch,{attrs:{label:s.t("settings","Search groups…")},model:{value:s.groupsSearchQuery,callback:function(t){s.groupsSearchQuery=t},expression:"groupsSearchQuery"}}),t._v(" "),e("p",{staticClass:"hidden-visually",attrs:{id:"group-list-desc"}},[t._v("\n\t\t"+t._s(s.t("settings","List of groups. This list is not fully populated for performance reasons. The groups will be loaded as you navigate or search through the list."))+"\n\t")]),t._v(" "),e(s.NcAppNavigationList,{staticClass:"account-management__group-list",attrs:{"aria-describedby":"group-list-desc","data-cy-users-settings-navigation-groups":"custom"}},[t._l(s.filteredGroups,(function(t){return e(s.GroupListItem,{key:t.id,ref:"groupListItems",refInFor:!0,attrs:{id:t.id,active:s.selectedGroupDecoded===t.id,name:t.title,count:t.count}})})),t._v(" "),s.loadingGroups?e("div",{attrs:{role:"note"}},[e(s.NcLoadingIcon,{attrs:{name:s.t("settings","Loading groups…")}})],1):t._e()],2)],1)}),[],!1,null,null,null).exports,gt=(0,i.pM)({__name:"UserManagementNavigation",setup(t){const e=(0,W.lq)(),s=(0,lt.P)(),a=(0,i.KR)(!1),p=(0,i.EW)((()=>e.params?.selectedGroup)),h=(0,i.EW)((()=>p.value?decodeURIComponent(p.value):null)),m=(0,i.EW)((()=>s.getters.getUserCount)),C=(0,i.EW)((()=>s.getters.getSortedGroups)),{adminGroup:v,recentGroup:w,disabledGroup:_}=ot(C),f=(0,i.EW)((()=>s.getters.getServerData)),b=(0,i.EW)((()=>f.value.isAdmin||f.value.isDelegatedAdmin));return{__sfc:!0,route:e,store:s,isDialogOpen:a,selectedGroup:p,selectedGroupDecoded:h,userCount:m,groups:C,adminGroup:v,recentGroup:w,disabledGroup:_,settings:f,isAdminOrDelegatedAdmin:b,showNewUserMenu:function(){s.commit("setShowConfig",{key:"showNewUserForm",value:!0})},mdiAccount:n.Gbn,mdiAccountOff:n.lBC,mdiCog:n.CZ3,mdiPlus:n.biz,mdiShieldAccount:n.Jey,mdiHistory:n.LP2,t:r.Tl,NcAppNavigation:o.A,NcAppNavigationItem:l.A,NcAppNavigationList:d.A,NcAppNavigationNew:c.N,NcButton:u.A,NcCounterBubble:g.A,NcIconSvgWrapper:A.A,UserSettingsDialog:P,AppNavigationGroupList:ut}}});var At=a(58688),pt={};pt.styleTagTransform=$(),pt.setAttributes=I(),pt.insert=D().bind(null,"head"),pt.domAPI=U(),pt.insertStyleElement=O(),G()(At.A,pt),At.A&&At.A.locals&&At.A.locals;var ht=(0,E.A)(gt,(function(){var t=this,e=t._self._c,s=t._self._setupProxy;return e(s.NcAppNavigation,{staticClass:"account-management__navigation",attrs:{"aria-label":s.t("settings","Account management")},scopedSlots:t._u([{key:"footer",fn:function(){return[e(s.NcButton,{staticClass:"account-management__settings-toggle",attrs:{type:"tertiary"},on:{click:function(t){s.isDialogOpen=!0}},scopedSlots:t._u([{key:"icon",fn:function(){return[e(s.NcIconSvgWrapper,{attrs:{path:s.mdiCog}})]},proxy:!0}])},[t._v("\n\t\t\t"+t._s(s.t("settings","Account management settings"))+"\n\t\t")]),t._v(" "),e(s.UserSettingsDialog,{attrs:{open:s.isDialogOpen},on:{"update:open":function(t){s.isDialogOpen=t}}})]},proxy:!0}])},[e(s.NcAppNavigationNew,{attrs:{"button-id":"new-user-button",text:s.t("settings","New account")},on:{click:s.showNewUserMenu,keyup:[function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:s.showNewUserMenu.apply(null,arguments)},function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"space",32,e.key,[" ","Spacebar"])?null:s.showNewUserMenu.apply(null,arguments)}]},scopedSlots:t._u([{key:"icon",fn:function(){return[e(s.NcIconSvgWrapper,{attrs:{path:s.mdiPlus}})]},proxy:!0}])}),t._v(" "),e(s.NcAppNavigationList,{staticClass:"account-management__system-list",attrs:{"data-cy-users-settings-navigation-groups":"system"}},[e(s.NcAppNavigationItem,{attrs:{id:"everyone",exact:!0,name:s.t("settings","All accounts"),to:{name:"users"}},scopedSlots:t._u([{key:"icon",fn:function(){return[e(s.NcIconSvgWrapper,{attrs:{path:s.mdiAccount}})]},proxy:!0},{key:"counter",fn:function(){return[s.userCount?e(s.NcCounterBubble,{attrs:{type:s.selectedGroupDecoded?void 0:"highlighted"}},[t._v("\n\t\t\t\t\t"+t._s(s.userCount)+"\n\t\t\t\t")]):t._e()]},proxy:!0}])}),t._v(" "),s.settings.isAdmin?e(s.NcAppNavigationItem,{attrs:{id:"admin",exact:!0,name:s.t("settings","Admins"),to:{name:"group",params:{selectedGroup:"admin"}}},scopedSlots:t._u([{key:"icon",fn:function(){return[e(s.NcIconSvgWrapper,{attrs:{path:s.mdiShieldAccount}})]},proxy:!0},{key:"counter",fn:function(){return[s.adminGroup&&s.adminGroup.count>0?e(s.NcCounterBubble,{attrs:{type:"admin"===s.selectedGroupDecoded?"highlighted":void 0}},[t._v("\n\t\t\t\t\t"+t._s(s.adminGroup.count)+"\n\t\t\t\t")]):t._e()]},proxy:!0}],null,!1,2218088905)}):t._e(),t._v(" "),s.isAdminOrDelegatedAdmin?e(s.NcAppNavigationItem,{attrs:{id:"recent",exact:!0,name:s.t("settings","Recently active"),to:{name:"group",params:{selectedGroup:"__nc_internal_recent"}}},scopedSlots:t._u([{key:"icon",fn:function(){return[e(s.NcIconSvgWrapper,{attrs:{path:s.mdiHistory}})]},proxy:!0},{key:"counter",fn:function(){return[s.recentGroup?.usercount?e(s.NcCounterBubble,{attrs:{type:"__nc_internal_recent"===s.selectedGroupDecoded?"highlighted":void 0}},[t._v("\n\t\t\t\t\t"+t._s(s.recentGroup.usercount)+"\n\t\t\t\t")]):t._e()]},proxy:!0}],null,!1,2299424282)}):t._e(),t._v(" "),s.disabledGroup&&(s.disabledGroup.usercount>0||-1===s.disabledGroup.usercount)?e(s.NcAppNavigationItem,{attrs:{id:"disabled",exact:!0,name:s.t("settings","Disabled accounts"),to:{name:"group",params:{selectedGroup:"disabled"}}},scopedSlots:t._u([{key:"icon",fn:function(){return[e(s.NcIconSvgWrapper,{attrs:{path:s.mdiAccountOff}})]},proxy:!0},s.disabledGroup.usercount>0?{key:"counter",fn:function(){return[e(s.NcCounterBubble,{attrs:{type:"disabled"===s.selectedGroupDecoded?"highlighted":void 0}},[t._v("\n\t\t\t\t\t"+t._s(s.disabledGroup.usercount)+"\n\t\t\t\t")])]},proxy:!0}:null],null,!0)}):t._e()],1),t._v(" "),e(s.AppNavigationGroupList)],1)}),[],!1,null,"539a4ad0",null);const mt=ht.exports},68747(e,s,a){a.r(s),a.d(s,{default:()=>ms});var i=a(53334),n=a(61338),r=a(85471),o=a(18195),l=a(9165),d=a(85168),c=a(54914),u=a(42507),g=a(6695),A=a(88289),p=a(55042),h=a(17334),m=a.n(h),C=a(36620);r.Ay.directive("elementVisibility",p.Zx);const v=r.Ay.extend({name:"VirtualList",props:{dataComponent:{type:[Object,Function],required:!0},dataKey:{type:String,required:!0},dataSources:{type:Array,required:!0},itemHeight:{type:Number,required:!0},extraProps:{type:Object,default:()=>({})}},data:()=>({bufferItems:3,index:0,headerHeight:0,tableHeight:0,resizeObserver:null}),computed:{startIndex(){return Math.max(0,this.index-3)},shownItems(){return Math.ceil((this.tableHeight-this.headerHeight)/this.itemHeight)+6},renderedItems(){return this.dataSources.slice(this.startIndex,this.startIndex+this.shownItems)},tbodyStyle(){const t=this.startIndex+this.shownItems>this.dataSources.length,e=this.dataSources.length-this.startIndex-this.shownItems,s=Math.min(this.dataSources.length-this.startIndex,e);return{paddingTop:this.startIndex*this.itemHeight+"px",paddingBottom:t?0:s*this.itemHeight+"px"}}},mounted(){const t=this.$el,e=this.$refs?.tfoot,s=this.$refs?.thead;this.resizeObserver=new ResizeObserver(m()((()=>{this.headerHeight=s?.clientHeight??0,this.tableHeight=t?.clientHeight??0,C.A.debug("VirtualList resizeObserver updated"),this.onScroll()}),100,!1)),this.resizeObserver.observe(t),this.resizeObserver.observe(e),this.resizeObserver.observe(s),this.$el.addEventListener("scroll",this.onScroll)},beforeDestroy(){this.resizeObserver&&this.resizeObserver.disconnect()},methods:{handleFooterVisibility(t){t&&this.$emit("scroll-end")},onScroll(){this.index=Math.max(0,Math.round(this.$el.scrollTop/this.itemHeight))}}});var w=a(85072),_=a.n(w),f=a(97825),b=a.n(f),y=a(77659),x=a.n(y),N=a(55056),k=a.n(N),G=a(10540),S=a.n(G),U=a(41113),L=a.n(U),D=a(35176),B={};B.styleTagTransform=L(),B.setAttributes=k(),B.insert=x().bind(null,"head"),B.domAPI=b(),B.insertStyleElement=S(),_()(D.A,B),D.A&&D.A.locals&&D.A.locals;var I=a(14486);const q=(0,I.A)(v,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("table",{staticClass:"user-list"},[t._t("before"),t._v(" "),e("thead",{ref:"thead",staticClass:"user-list__header",attrs:{role:"rowgroup"}},[t._t("header")],2),t._v(" "),e("tbody",{staticClass:"user-list__body",style:t.tbodyStyle},t._l(t.renderedItems,(function(s,a){return e(t.dataComponent,t._b({key:s[t.dataKey],tag:"component",attrs:{user:s,visible:(a>=t.bufferItems||t.index<=t.bufferItems)&&a({possibleManagers:[],managerInputLabel:t("settings","Manager"),managerLabel:t("settings","Set line manager"),promise:null}),computed:{showConfig(){return this.$store.getters.getShowConfig},settings(){return this.$store.getters.getServerData},usernameLabel(){return this.settings.newUserGenerateUserID?t("settings","Account name will be autogenerated"):t("settings","Account name (required)")},minPasswordLength(){return this.$store.getters.getPasswordPolicyMinLength},availableGroups(){return(this.settings.isAdmin||this.settings.isDelegatedAdmin?this.$store.getters.getSortedGroups:this.$store.getters.getSubAdminGroups).filter((t=>"__nc_internal_recent"!==t.id&&"disabled"!==t.id))},languages(){return[{name:t("settings","Common languages"),languages:this.settings.languages.commonLanguages},...this.settings.languages.commonLanguages,{name:t("settings","Other languages"),languages:this.settings.languages.otherLanguages},...this.settings.languages.otherLanguages]}},async beforeMount(){await this.searchUserManager()},mounted(){this.$refs.username?.focus?.()},methods:{async createUser(){this.loading.all=!0;try{await this.$store.dispatch("addUser",{userid:this.newUser.id,password:this.newUser.password,displayName:this.newUser.displayName,email:this.newUser.mailAddress,groups:this.newUser.groups.map((t=>t.id)),subadmin:this.newUser.subAdminsGroups.map((t=>t.id)),quota:this.newUser.quota.id,language:this.newUser.language.code,manager:this.newUser.manager.id}),this.$emit("reset"),this.$refs.username?.focus?.(),this.$emit("closing")}catch(t){if(this.loading.all=!1,t.response&&t.response.data&&t.response.data.ocs&&t.response.data.ocs.meta){const e=t.response.data.ocs.meta.statuscode;102===e?this.$refs.username?.focus?.():107===e&&this.$refs.password?.focus?.()}}},async searchGroups(e,s){if(this.settings.isAdmin||this.settings.isDelegatedAdmin){this.promise&&this.promise.cancel(),s(!0);try{this.promise=(0,P.N_)({search:e,offset:0,limit:25});const t=await this.promise;for(const e of t)this.$store.commit("addGroup",e)}catch(e){C.A.error(t("settings","Failed to search groups"),{error:e})}this.promise=null,s(!1)}},async createGroup({name:e}){this.loading.groups=!0;try{await this.$store.dispatch("addGroup",e),this.newUser.groups.push({id:e,name:e})}catch(e){C.A.error(t("settings","Failed to create group"),{error:e})}this.loading.groups=!1},async addGroup(t){t.isCreating||!1!==t.canAdd&&this.newUser.groups.push(t)},removeGroup(t){!1!==t.canRemove&&(this.newUser.groups=this.newUser.groups.filter((e=>e.id!==t.id)))},validateQuota(t){const e=OC.Util.computerFileSize(t);return null!==e&&e>=0?(t=(0,O.v7)((0,O.lT)(t,!0)),this.newUser.quota={id:t,label:t},this.newUser.quota):(this.newUser.quota=this.quotaOptions[0],this.quotaOptions[0])},languageFilterBy:(t,e,s)=>t.languages?t.languages.some((({name:t})=>t.toLocaleLowerCase().includes(s.toLocaleLowerCase()))):(e||"").toLocaleLowerCase().includes(s.toLocaleLowerCase()),async searchUserManager(t){await this.$store.dispatch("searchUsers",{offset:0,limit:10,search:t}).then((t=>{const e=t?.data?Object.values(t?.data.ocs.data.users):[];e.length>0&&(this.possibleManagers=e)}))}}};var R=a(63764),Q={};Q.styleTagTransform=L(),Q.setAttributes=k(),Q.insert=x().bind(null,"head"),Q.domAPI=b(),Q.insertStyleElement=S(),_()(R.A,Q),R.A&&R.A.locals&&R.A.locals;var W=(0,I.A)(z,(function(){var t=this,e=t._self._c;return e("NcDialog",t._g({staticClass:"dialog",attrs:{size:"small",name:t.t("settings","New account"),"out-transition":""},scopedSlots:t._u([{key:"actions",fn:function(){return[e("NcButton",{staticClass:"dialog__submit",attrs:{"data-test":"submit",form:"new-user-form",type:"primary","native-type":"submit"}},[t._v("\n\t\t\t"+t._s(t.t("settings","Add new account"))+"\n\t\t")])]},proxy:!0}])},t.$listeners),[e("form",{staticClass:"dialog__form",attrs:{id:"new-user-form","data-test":"form",disabled:t.loading.all},on:{submit:function(e){return e.preventDefault(),t.createUser.apply(null,arguments)}}},[e("NcTextField",{ref:"username",staticClass:"dialog__item",attrs:{"data-test":"username",value:t.newUser.id,disabled:t.settings.newUserGenerateUserID,label:t.usernameLabel,autocapitalize:"none",autocomplete:"off",spellcheck:"false",pattern:"[a-zA-Z0-9 _\\.@\\-']+",required:""},on:{"update:value":function(e){return t.$set(t.newUser,"id",e)}}}),t._v(" "),e("NcTextField",{staticClass:"dialog__item",attrs:{"data-test":"displayName",value:t.newUser.displayName,label:t.t("settings","Display name"),autocapitalize:"none",autocomplete:"off",spellcheck:"false"},on:{"update:value":function(e){return t.$set(t.newUser,"displayName",e)}}}),t._v(" "),t.settings.newUserRequireEmail?t._e():e("span",{staticClass:"dialog__hint",attrs:{id:"password-email-hint"}},[t._v("\n\t\t\t"+t._s(t.t("settings","Either password or email is required"))+"\n\t\t")]),t._v(" "),e("NcPasswordField",{ref:"password",staticClass:"dialog__item",attrs:{"data-test":"password",value:t.newUser.password,minlength:t.minPasswordLength,maxlength:469,"aria-describedby":"password-email-hint",label:""===t.newUser.mailAddress?t.t("settings","Password (required)"):t.t("settings","Password"),autocapitalize:"none",autocomplete:"new-password",spellcheck:"false",required:""===t.newUser.mailAddress},on:{"update:value":function(e){return t.$set(t.newUser,"password",e)}}}),t._v(" "),e("NcTextField",{staticClass:"dialog__item",attrs:{"data-test":"email",type:"email",value:t.newUser.mailAddress,"aria-describedby":"password-email-hint",label:""===t.newUser.password||t.settings.newUserRequireEmail?t.t("settings","Email (required)"):t.t("settings","Email"),autocapitalize:"none",autocomplete:"off",spellcheck:"false",required:""===t.newUser.password||t.settings.newUserRequireEmail},on:{"update:value":function(e){return t.$set(t.newUser,"mailAddress",e)}}}),t._v(" "),e("div",{staticClass:"dialog__item"},[e("NcSelect",{staticClass:"dialog__select",attrs:{"data-test":"groups","input-label":t.settings.isAdmin||t.settings.isDelegatedAdmin?t.t("settings","Member of the following groups"):t.t("settings","Member of the following groups (required)"),placeholder:t.t("settings","Set account groups"),disabled:t.loading.groups||t.loading.all,options:t.availableGroups,value:t.newUser.groups,label:"name","close-on-select":!1,multiple:!0,taggable:t.settings.isAdmin||t.settings.isDelegatedAdmin,required:!t.settings.isAdmin&&!t.settings.isDelegatedAdmin,"create-option":t=>({id:t,name:t,isCreating:!0})},on:{search:t.searchGroups,"option:created":t.createGroup,"option:deselected":t.removeGroup,"option:selected":e=>t.addGroup(e.at(-1))}})],1),t._v(" "),e("div",{staticClass:"dialog__item"},[e("NcSelect",{staticClass:"dialog__select",attrs:{"input-label":t.t("settings","Admin of the following groups"),placeholder:t.t("settings","Set account as admin for …"),disabled:t.loading.groups||t.loading.all,options:t.availableGroups,"close-on-select":!1,multiple:!0,label:"name"},on:{search:t.searchGroups},model:{value:t.newUser.subAdminsGroups,callback:function(e){t.$set(t.newUser,"subAdminsGroups",e)},expression:"newUser.subAdminsGroups"}})],1),t._v(" "),e("div",{staticClass:"dialog__item"},[e("NcSelect",{staticClass:"dialog__select",attrs:{"input-label":t.t("settings","Quota"),placeholder:t.t("settings","Set account quota"),options:t.quotaOptions,clearable:!1,taggable:!0,"create-option":t.validateQuota},model:{value:t.newUser.quota,callback:function(e){t.$set(t.newUser,"quota",e)},expression:"newUser.quota"}})],1),t._v(" "),t.showConfig.showLanguages?e("div",{staticClass:"dialog__item"},[e("NcSelect",{staticClass:"dialog__select",attrs:{"input-label":t.t("settings","Language"),placeholder:t.t("settings","Set default language"),clearable:!1,selectable:t=>!t.languages,"filter-by":t.languageFilterBy,options:t.languages,label:"name"},model:{value:t.newUser.language,callback:function(e){t.$set(t.newUser,"language",e)},expression:"newUser.language"}})],1):t._e(),t._v(" "),e("div",{class:["dialog__item dialog__managers",{"icon-loading-small":t.loading.manager}]},[e("NcSelect",{staticClass:"dialog__select",attrs:{"input-label":t.managerInputLabel,placeholder:t.managerLabel,options:t.possibleManagers,"user-select":!0,label:"displayname"},on:{search:t.searchUserManager},model:{value:t.newUser.manager,callback:function(e){t.$set(t.newUser,"manager",e)},expression:"newUser.manager"}})],1)],1)])}),[],!1,null,"3d23637c",null);const H=W.exports,K=r.Ay.extend({name:"UserListFooter",components:{NcLoadingIcon:A.A},props:{loading:{type:Boolean,required:!0},filteredUsers:{type:Array,required:!0}},computed:{userCount(){return this.loading?this.n("settings","{userCount} account …","{userCount} accounts …",this.filteredUsers.length,{userCount:this.filteredUsers.length}):this.n("settings","{userCount} account","{userCount} accounts",this.filteredUsers.length,{userCount:this.filteredUsers.length})}},methods:{t:i.Tl,n:i.zw}});var j=a(18033),Y={};Y.styleTagTransform=L(),Y.setAttributes=k(),Y.insert=x().bind(null,"head"),Y.domAPI=b(),Y.insertStyleElement=S(),_()(j.A,Y),j.A&&j.A.locals&&j.A.locals;const X=(0,I.A)(K,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("tr",{staticClass:"footer"},[e("th",{attrs:{scope:"row"}},[e("span",{staticClass:"hidden-visually"},[t._v(t._s(t.t("settings","Total rows summary")))])]),t._v(" "),e("td",{staticClass:"footer__cell footer__cell--loading"},[t.loading?e("NcLoadingIcon",{attrs:{title:t.t("settings","Loading accounts …"),size:32}}):t._e()],1),t._v(" "),e("td",{staticClass:"footer__cell footer__cell--count footer__cell--multiline"},[e("span",{attrs:{"aria-describedby":"user-count-desc"}},[t._v(t._s(t.userCount))]),t._v(" "),e("span",{staticClass:"hidden-visually",attrs:{id:"user-count-desc"}},[t._v("\n\t\t\t"+t._s(t.t("settings","Scroll to load more rows"))+"\n\t\t")])])])}),[],!1,null,"20636959",null).exports,V=r.Ay.extend({name:"UserListHeader",props:{hasObfuscated:{type:Boolean,required:!0}},computed:{showConfig(){return this.$store.getters.getShowConfig},settings(){return this.$store.getters.getServerData},passwordLabel(){return this.hasObfuscated?(0,i.Tl)("settings","Password or insufficient permissions message"):(0,i.Tl)("settings","Password")}},methods:{t:i.Tl}});var J=a(24882),Z={};Z.styleTagTransform=L(),Z.setAttributes=k(),Z.insert=x().bind(null,"head"),Z.domAPI=b(),Z.insertStyleElement=S(),_()(J.A,Z),J.A&&J.A.locals&&J.A.locals;const tt=(0,I.A)(V,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("tr",{staticClass:"header"},[e("th",{staticClass:"header__cell header__cell--avatar",attrs:{"data-cy-user-list-header-avatar":"",scope:"col"}},[e("span",{staticClass:"hidden-visually"},[t._v("\n\t\t\t"+t._s(t.t("settings","Avatar"))+"\n\t\t")])]),t._v(" "),e("th",{staticClass:"header__cell header__cell--displayname",attrs:{"data-cy-user-list-header-displayname":"",scope:"col"}},[e("strong",[t._v("\n\t\t\t"+t._s(t.t("settings","Display name"))+"\n\t\t")])]),t._v(" "),e("th",{staticClass:"header__cell header__cell--username",attrs:{"data-cy-user-list-header-username":"",scope:"col"}},[e("span",[t._v("\n\t\t\t"+t._s(t.t("settings","Account name"))+"\n\t\t")])]),t._v(" "),e("th",{staticClass:"header__cell",class:{"header__cell--obfuscated":t.hasObfuscated},attrs:{"data-cy-user-list-header-password":"",scope:"col"}},[e("span",[t._v(t._s(t.passwordLabel))])]),t._v(" "),e("th",{staticClass:"header__cell",attrs:{"data-cy-user-list-header-email":"",scope:"col"}},[e("span",[t._v(t._s(t.t("settings","Email")))])]),t._v(" "),e("th",{staticClass:"header__cell header__cell--large",attrs:{"data-cy-user-list-header-groups":"",scope:"col"}},[e("span",[t._v(t._s(t.t("settings","Groups")))])]),t._v(" "),t.settings.isAdmin||t.settings.isDelegatedAdmin?e("th",{staticClass:"header__cell header__cell--large",attrs:{"data-cy-user-list-header-subadmins":"",scope:"col"}},[e("span",[t._v(t._s(t.t("settings","Group admin for")))])]):t._e(),t._v(" "),e("th",{staticClass:"header__cell",attrs:{"data-cy-user-list-header-quota":"",scope:"col"}},[e("span",[t._v(t._s(t.t("settings","Quota")))])]),t._v(" "),t.showConfig.showLanguages?e("th",{staticClass:"header__cell header__cell--large",attrs:{"data-cy-user-list-header-languages":"",scope:"col"}},[e("span",[t._v(t._s(t.t("settings","Language")))])]):t._e(),t._v(" "),t.showConfig.showUserBackend||t.showConfig.showStoragePath?e("th",{staticClass:"header__cell header__cell--large",attrs:{"data-cy-user-list-header-storage-location":"",scope:"col"}},[t.showConfig.showUserBackend?e("span",[t._v("\n\t\t\t"+t._s(t.t("settings","Account backend"))+"\n\t\t")]):t._e(),t._v(" "),t.showConfig.showStoragePath?e("span",{staticClass:"header__subtitle"},[t._v("\n\t\t\t"+t._s(t.t("settings","Storage location"))+"\n\t\t")]):t._e()]):t._e(),t._v(" "),t.showConfig.showFirstLogin?e("th",{staticClass:"header__cell",attrs:{"data-cy-user-list-header-first-login":"",scope:"col"}},[e("span",[t._v(t._s(t.t("settings","First login")))])]):t._e(),t._v(" "),t.showConfig.showLastLogin?e("th",{staticClass:"header__cell",attrs:{"data-cy-user-list-header-last-login":"",scope:"col"}},[e("span",[t._v(t._s(t.t("settings","Last login")))])]):t._e(),t._v(" "),e("th",{staticClass:"header__cell header__cell--large header__cell--fill",attrs:{"data-cy-user-list-header-manager":"",scope:"col"}},[e("span",[t._v(t._s(t.t("settings","Manager")))])]),t._v(" "),e("th",{staticClass:"header__cell header__cell--actions",attrs:{"data-cy-user-list-header-actions":"",scope:"col"}},[e("span",{staticClass:"hidden-visually"},[t._v("\n\t\t\t"+t._s(t.t("settings","Account actions"))+"\n\t\t")])])])}),[],!1,null,"5c0f8828",null).exports;var et=a(21777),st=a(56760),at=a(41944),it=a(95101),nt=a(86454),rt=a(57505),ot=a(24764),lt=a(65659),dt=a(19664);const ct=(0,r.pM)({components:{NcActionButton:rt.A,NcActions:ot.A,NcIconSvgWrapper:g.A},props:{actions:{type:Array,required:!0},disabled:{type:Boolean,required:!0},edit:{type:Boolean,required:!0},user:{type:Object,required:!0}},computed:{editSvg(){return this.edit?lt:dt},enabledActions(){return this.actions.filter((t=>"function"!=typeof t.enabled||t.enabled(this.user)))}},methods:{isSvg:function(t){if("string"!=typeof t)throw new TypeError(`Expected a \`string\`, got \`${typeof t}\``);if(0===(t=t.trim()).length)return!1;if(!0!==nt.XMLValidator.validate(t))return!1;let e;const s=new nt.XMLParser;try{e=s.parse(t)}catch{return!1}return!!e&&!!Object.keys(e).some((t=>"svg"===t.toLowerCase()))},toggleEdit(){this.$emit("update:edit",!this.edit)}}}),ut=(0,I.A)(ct,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("NcActions",{attrs:{"aria-label":t.t("settings","Toggle account actions menu"),disabled:t.disabled,inline:1}},[e("NcActionButton",{attrs:{"data-cy-user-list-action-toggle-edit":`${t.edit}`,disabled:t.disabled},on:{click:t.toggleEdit},scopedSlots:t._u([{key:"icon",fn:function(){return[e("NcIconSvgWrapper",{key:t.editSvg,attrs:{svg:t.editSvg,"aria-hidden":"true"}})]},proxy:!0}])},[t._v("\n\t\t"+t._s(t.edit?t.t("settings","Done"):t.t("settings","Edit"))+"\n\t\t")]),t._v(" "),t._l(t.enabledActions,(function({action:s,icon:a,text:i},n){return e("NcActionButton",{key:n,attrs:{disabled:t.disabled,"aria-label":i,icon:a,"close-after-click":""},on:{click:e=>s(e,{...t.user})},scopedSlots:t._u([t.isSvg(a)?{key:"icon",fn:function(){return[e("NcIconSvgWrapper",{attrs:{svg:a,"aria-hidden":"true"}})]},proxy:!0}:null],null,!0)},[t._v("\n\t\t"+t._s(i)+"\n\t\t")])}))],2)}),[],!1,null,null,null).exports;var gt=a(95831),At=a(90435),pt=a(61744),ht=a(73891),mt=a(37443),Ct=a(57908),vt=a(97453),wt=a(59915),_t=a(57090),ft=a(15502),bt=a(71711),yt=a(85809),xt=a(10694),Nt=a(47611),kt=a(10363),Gt=a(94160),St=a(70851),Ut=a(54048),Lt=a(93429),Dt=a(27345),Bt=a(49595),It=a(75301),qt=a(22601),Ot=a(74381),Mt=a(542),$t=a(83096),Ft=a(83600),Tt=a(51166),Et=a(43946),Pt=a(50017),zt=a(60258),Rt=a(51595),Qt=a(48091),Wt=a(93831),Ht=a(94978),Kt=a(67025),jt=a(12908),Yt=a(30176),Xt=a(94294),Vt=a(72704),Jt=a(34811),Zt=a(20422),te=a(2308),ee=a(90429),se=a(61061),ae=a(23863),ie=a(44025),ne=a(43694),re=a(48198),oe=a(68982),le=a(29227),de=a(83194),ce=a(27679),ue=a(15862),ge=a(78663),Ae=a(29330),pe=a(71985),he=a(18177),me=a(66768),Ce=a(8633),ve=a(97398),we=a(51550),_e=a(31942),fe=a(50909),be=a(48191),ye=a(15441),xe=a(96839),Ne=a(67256),ke=a(42486),Ge=a(371),Se=a(23617),Ue=a(60451),Le=a(35290),De=a(31213),Be=a(89816),Ie=a(83412),qe=a(36079),Oe=a(88275),Me=(a(19051),a(47114),a(52781),a(3168),a(44242)),$e=a(39351),Fe=a(21286),Te=a(71639),Ee=a(76533),Pe=a(34731),ze=a(65415),Re=a(71178),Qe=a(48776),We=a(33520),He=a(18127),Ke=a(55167),je=a(52228),Ye=a(71795),Xe=a(23610),Ve=a(55581),Je=(a(94205),a(95462),a(23020),a(53429),a(23739),a(16343),a(29928),a(64660),a(18547),a(42892)),Ze=a(69885),ts=(a(59656),a(75105),a(92471),a(16406),a(2508));gt.N,At.N,pt.A,ht.N,mt.N,Ct.A,vt.N,wt.A,ft.A,bt.A,yt.N,_t.N,xt.N,Nt.A,kt.A,Gt.N,St.N,Ut.A,Lt.N,Dt.A,Bt.N,It.N,qt.N,Ot.N,Mt.A,$t.N,Ft.N,Tt.N,Tt.N,Et.N,Pt.N,zt.A,Rt.N,Qt.A,Wt.N,Oe.N,Ht.N,Kt.N,jt.N,Yt.N,Xt.N,Vt.N,Jt.N,Zt.N,te.N,ee.N,se.N,ae.N,ie.N,ne.default,re.A,oe.N,le.N,de.A,ce.N,u.A,ue.N,ge.N,Ae.N,pe.N,he.N,me.A,Ce.N,ve.N,we.N,_e.N,fe.N,be.N,ye.N,xe.N,Ne.N,A.A,qe.N,ke.A,Ge.A,Se.N,Ue.N,Le.N,De.N,Be.N,Ie.N,Oe.a,Me.N,Te.N,$e.N,Ee.N,Pe.N,ze.N,Re.N,Qe.N,We.N,Fe.N,He.N,Ke.N,je.N,Ye.N,Xe.A,Symbol.toStringTag,Je.A,Ze.A,ts.yw,Symbol.toStringTag;const es={props:{user:{type:Object,required:!0},settings:{type:Object,default:()=>({})},quotaOptions:{type:Array,default:()=>[]},languages:{type:Array,required:!0},externalActions:{type:Array,default:()=>[]}},setup(t){const{formattedFullTime:e}=(0,Ve.m7)(1e3*t.user.firstLoginTimestamp,{relativeTime:!1,format:{timeStyle:"short",dateStyle:"short"}});return{formattedFullTime:e}},data(){return{selectedGroups:this.user.groups.map((t=>({id:t,name:t}))),selectedSubAdminGroups:this.user.subadmin.map((t=>({id:t,name:t}))),userGroups:this.user.groups.map((t=>({id:t,name:t}))),userSubAdminGroups:this.user.subadmin.map((t=>({id:t,name:t})))}},computed:{showConfig(){return this.$store.getters.getShowConfig},usedSpace(){const e=this.user.quota.used>0?this.user.quota.used:0;return t("settings","{size} used",{size:(0,O.v7)(e,!0)})},usedQuota(){let t=this.user.quota.quota;return t=t>0?Math.min(100,Math.round(this.user.quota.used/t*100)):95*(1-1/(this.user.quota.used/(10*Math.pow(2,30))+1)),isNaN(t)?0:t},userQuota(){if(this.user.quota.quota>=0){const t=(0,O.v7)(this.user.quota.quota);return this.quotaOptions.find((e=>e.id===t))||{id:t,label:t}}return"default"===this.user.quota.quota?this.quotaOptions[0]:this.quotaOptions[1]},minPasswordLength(){return this.$store.getters.getPasswordPolicyMinLength},userLanguage(){const t=this.languages[0].languages.concat(this.languages[1].languages).find((t=>t.code===this.user.language));return"object"!=typeof t&&""!==this.user.language?{code:this.user.language,name:this.user.language}:""!==this.user.language&&t},userFirstLogin(){return this.user.firstLoginTimestamp>0?this.formattedFullTime:this.user.firstLoginTimestamp<0?t("settings","Unknown"):t("settings","Never")},userLastLoginTooltip(){return this.user.lastLoginTimestamp>0?OC.Util.formatDate(1e3*this.user.lastLoginTimestamp):""},userLastLogin(){return this.user.lastLoginTimestamp>0?OC.Util.relativeModifiedDate(1e3*this.user.lastLoginTimestamp):t("settings","Never")}}};var ss=a(95668);const as={name:"UserRow",components:{NcAvatar:at.A,NcLoadingIcon:A.A,NcProgressBar:it.A,NcSelect:T.default,NcTextField:E.A,UserRowActions:ut},mixins:[es],props:{user:{type:Object,required:!0},visible:{type:Boolean,required:!0},users:{type:Array,required:!0},hasObfuscated:{type:Boolean,required:!0},quotaOptions:{type:Array,required:!0},languages:{type:Array,required:!0},settings:{type:Object,required:!0},externalActions:{type:Array,default:()=>[]}},data(){return{selectedQuota:!1,rand:Math.random().toString(36).substring(2),loadingPossibleManagers:!1,possibleManagers:[],currentManager:"",editing:!1,loading:{all:!1,displayName:!1,password:!1,mailAddress:!1,groups:!1,groupsDetails:!1,subAdminGroupsDetails:!1,subadmins:!1,quota:!1,delete:!1,disable:!1,languages:!1,wipe:!1,manager:!1},editedDisplayName:this.user.displayname,editedPassword:"",editedMail:this.user.email??"",promise:null}},computed:{managerLabel:()=>t("settings","Set line manager"),isObfuscated(){return(0,ss.HK)(this.user)},showConfig(){return this.$store.getters.getShowConfig},isLoadingUser(){return this.loading.delete||this.loading.disable||this.loading.wipe},isLoadingField(){return this.loading.delete||this.loading.disable||this.loading.all},uniqueId(){return encodeURIComponent(this.user.id+this.rand)},availableGroups(){return(this.settings.isAdmin||this.settings.isDelegatedAdmin?this.$store.getters.getSortedGroups:this.$store.getters.getSubAdminGroups).filter((t=>"__nc_internal_recent"!==t.id&&"disabled"!==t.id))},availableSubAdminGroups(){return this.availableGroups.filter((t=>"admin"!==t.id))},userGroupsLabels(){return this.userGroups.map((t=>{const e=this.availableGroups.find((e=>e.id===t.id));return e?.name??t.name??t.id})).join(", ")},userSubAdminGroupsLabels(){return this.userSubAdminGroups.map((t=>{const e=this.availableSubAdminGroups.find((e=>e.id===t.id));return e?.name??t.name??t.id})).join(", ")},usedSpace(){return this.user.quota?.used?t("settings","{size} used",{size:(0,O.v7)(this.user.quota?.used)}):t("settings","{size} used",{size:(0,O.v7)(0)})},canEdit(){return(0,et.HW)().uid!==this.user.id||this.settings.isAdmin||this.settings.isDelegatedAdmin},userQuota(){let e=this.user.quota?.quota;return"default"===e&&(e=this.settings.defaultQuota,"none"!==e&&(e=(0,O.lT)(e,!0))),"none"===e||-3===e?t("settings","Unlimited"):e>=0?(0,O.v7)(e):(0,O.v7)(0)},userActions(){const e=[{icon:"icon-delete",text:t("settings","Delete account"),action:this.deleteUser},{icon:"icon-delete",text:t("settings","Disconnect all devices and delete local data"),action:this.wipeUserDevices},{icon:this.user.enabled?"icon-close":"icon-add",text:this.user.enabled?t("settings","Disable account"):t("settings","Enable account"),action:this.enableDisableUser}];return null!==this.user.email&&""!==this.user.email&&e.push({icon:"icon-mail",text:t("settings","Resend welcome email"),action:this.sendWelcomeMail}),e.concat(this.externalActions)},editedUserQuota:{get(){return!1!==this.selectedQuota?this.selectedQuota:this.settings.defaultQuota!==ss.SA.id&&(0,O.lT)(this.settings.defaultQuota,!0)>=0?{id:this.settings.defaultQuota,label:this.settings.defaultQuota}:ss.SA},set(t){this.selectedQuota=t}},availableLanguages(){return this.languages[0].languages.concat(this.languages[1].languages)}},async beforeMount(){this.user.manager&&await this.initManager(this.user.manager)},methods:{async wipeUserDevices(){const e=this.user.id;await(0,st.C5)(),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.",{userid:e}),t("settings","Remote wipe of devices"),{type:OC.dialogs.YES_NO_BUTTONS,confirm:t("settings","Wipe {userid}'s devices",{userid:e}),confirmClasses:"error",cancel:t("settings","Cancel")},(s=>{s&&(this.loading.wipe=!0,this.loading.all=!0,this.$store.dispatch("wipeUserDevices",e).then((()=>(0,d.Te)(t("settings","Wiped {userid}'s devices",{userid:e}))),{timeout:2e3}).finally((()=>{this.loading.wipe=!1,this.loading.all=!1})))}),!0)},filterManagers(t){return t.filter((t=>t.id!==this.user.id))},async initManager(t){await this.$store.dispatch("getUser",t).then((t=>{this.currentManager=t?.data.ocs.data}))},async searchInitialUserManager(){this.loadingPossibleManagers=!0,await this.searchUserManager(),this.loadingPossibleManagers=!1},async loadGroupsDetails(){this.loading.groups=!0,this.loading.groupsDetails=!0;try{const t=await(0,P.Iu)({userId:this.user.id});for(const e of t)this.$store.commit("addGroup",e);this.selectedGroups=this.selectedGroups.map((e=>t.find((t=>t.id===e.id))??e))}catch(e){C.A.error(t("settings","Failed to load groups with details"),{error:e})}this.loading.groups=!1,this.loading.groupsDetails=!1},async loadSubAdminGroupsDetails(){this.loading.subadmins=!0,this.loading.subAdminGroupsDetails=!0;try{const t=await(0,P.FF)({userId:this.user.id});for(const e of t)this.$store.commit("addGroup",e);this.selectedSubAdminGroups=this.selectedSubAdminGroups.map((e=>t.find((t=>t.id===e.id))??e))}catch(e){C.A.error(t("settings","Failed to load subadmin groups with details"),{error:e})}this.loading.subadmins=!1,this.loading.subAdminGroupsDetails=!1},async searchGroups(e,s){if(""!==e){this.promise&&this.promise.cancel(),s(!0);try{this.promise=await(0,P.N_)({search:e,offset:0,limit:25});const t=await this.promise;for(const e of t)this.$store.commit("addGroup",e)}catch(e){C.A.error(t("settings","Failed to search groups"),{error:e})}this.promise=null,s(!1)}},async searchUserManager(t){await this.$store.dispatch("searchUsers",{offset:0,limit:10,search:t}).then((t=>{const e=t?.data?this.filterManagers(Object.values(t?.data.ocs.data.users)):[];e.length>0&&(this.possibleManagers=e)}))},async updateUserManager(){this.loading.manager=!0;const e=this.user.manager;try{await this.$store.dispatch("setUserData",{userid:this.user.id,key:"manager",value:this.currentManager?this.currentManager.id:""})}catch(s){(0,d.Qg)(t("settings","Failed to update line manager")),C.A.error("Failed to update manager:",{error:s}),this.currentManager=e}finally{this.loading.manager=!1}},async deleteUser(){const e=this.user.id;await(0,st.C5)(),OC.dialogs.confirmDestructive(t("settings","Fully delete {userid}'s account including all their personal files, app data, etc.",{userid:e}),t("settings","Account deletion"),{type:OC.dialogs.YES_NO_BUTTONS,confirm:t("settings","Delete {userid}'s account",{userid:e}),confirmClasses:"error",cancel:t("settings","Cancel")},(t=>{if(t)return this.loading.delete=!0,this.loading.all=!0,this.$store.dispatch("deleteUser",e).then((()=>{this.loading.delete=!1,this.loading.all=!1}))}),!0)},enableDisableUser(){this.loading.delete=!0,this.loading.all=!0;const t=this.user.id,e=!this.user.enabled;return this.$store.dispatch("enableDisableUser",{userid:t,enabled:e}).then((()=>{this.loading.delete=!1,this.loading.all=!1}))},async updateDisplayName(){this.loading.displayName=!0;try{await this.$store.dispatch("setUserData",{userid:this.user.id,key:"displayname",value:this.editedDisplayName}),this.editedDisplayName===this.user.displayname&&(0,d.Te)(t("settings","Display name was successfully changed"))}finally{this.loading.displayName=!1}},async updatePassword(){if(this.loading.password=!0,0===this.editedPassword.length)(0,d.Qg)(t("settings","Password can't be empty")),this.loading.password=!1;else try{await this.$store.dispatch("setUserData",{userid:this.user.id,key:"password",value:this.editedPassword}),this.editedPassword="",(0,d.Te)(t("settings","Password was successfully changed"))}finally{this.loading.password=!1}},async updateEmail(){if(this.loading.mailAddress=!0,""===this.editedMail)(0,d.Qg)(t("settings","Email can't be empty")),this.loading.mailAddress=!1,this.editedMail=this.user.email;else try{await this.$store.dispatch("setUserData",{userid:this.user.id,key:"email",value:this.editedMail}),this.editedMail===this.user.email&&(0,d.Te)(t("settings","Email was successfully changed"))}finally{this.loading.mailAddress=!1}},async createGroup({name:e}){this.loading.groups=!0;try{await this.$store.dispatch("addGroup",e);const t=this.user.id;await this.$store.dispatch("addUserGroup",{userid:t,gid:e}),this.userGroups.push({id:e,name:e})}catch(e){C.A.error(t("settings","Failed to create group"),{error:e})}this.loading.groups=!1},async addUserGroup(t){if(t.isCreating)return;const e=this.user.id,s=t.id;if(!1!==t.canAdd){this.loading.groups=!0;try{await this.$store.dispatch("addUserGroup",{userid:e,gid:s}),this.userGroups.push(t)}catch(t){console.error(t)}this.loading.groups=!1}},async removeUserGroup(t){if(!1===t.canRemove)return!1;this.loading.groups=!0;const e=this.user.id,s=t.id;try{await this.$store.dispatch("removeUserGroup",{userid:e,gid:s}),this.userGroups=this.userGroups.filter((t=>t.id!==s)),this.loading.groups=!1,this.$route.params.selectedGroup===s&&this.$store.commit("deleteUser",e)}catch{this.loading.groups=!1}},async addUserSubAdmin(t){this.loading.subadmins=!0;const e=this.user.id,s=t.id;try{await this.$store.dispatch("addUserSubAdmin",{userid:e,gid:s}),this.userSubAdminGroups.push(t)}catch(t){console.error(t)}this.loading.subadmins=!1},async removeUserSubAdmin(t){this.loading.subadmins=!0;const e=this.user.id,s=t.id;try{await this.$store.dispatch("removeUserSubAdmin",{userid:e,gid:s}),this.userSubAdminGroups=this.userSubAdminGroups.filter((t=>t.id!==s))}catch(t){console.error(t)}finally{this.loading.subadmins=!1}},async setUserQuota(t="none"){"none"===t&&(t=ss.SA),this.loading.quota=!0,t=t.id?t.id:t;try{const e=((0,O.lT)(t,!0)||t).toString();await this.$store.dispatch("setUserData",{userid:this.user.id,key:"quota",value:e})}catch(t){console.error(t)}finally{this.loading.quota=!1}return t},validateQuota:t=>("object"==typeof t&&(t=t?.id||t.label),null===(0,O.lT)(t,!0)?ss.SA:{id:t=(0,O.v7)((0,O.lT)(t,!0)),label:t}),async setUserLanguage(t){this.loading.languages=!0;try{await this.$store.dispatch("setUserData",{userid:this.user.id,key:"language",value:t.code}),this.loading.languages=!1}catch(t){console.error(t)}return t},sendWelcomeMail(){this.loading.all=!0,this.$store.dispatch("sendWelcomeMail",this.user.id).then((()=>(0,d.Te)(t("settings","Welcome mail sent!"),{timeout:2e3}))).finally((()=>{this.loading.all=!1}))},async toggleEdit(){this.editing=!this.editing,this.editing&&(await this.$nextTick(),this.$refs.displayNameField?.$refs?.inputField?.$refs?.input?.focus(),this.loadGroupsDetails(),this.loadSubAdminGroupsDetails()),this.editedDisplayName!==this.user.displayname?this.editedDisplayName=this.user.displayname:this.editedMail!==this.user.email&&(this.editedMail=this.user.email??"")}}};var is=a(78897),ns={};ns.styleTagTransform=L(),ns.setAttributes=k(),ns.insert=x().bind(null,"head"),ns.domAPI=b(),ns.insertStyleElement=S(),_()(is.A,ns),is.A&&is.A.locals&&is.A.locals;var rs=(0,I.A)(as,(function(){var t=this,e=t._self._c;return e("tr",{staticClass:"user-list__row",attrs:{"data-cy-user-row":t.user.id}},[e("td",{staticClass:"row__cell row__cell--avatar",attrs:{"data-cy-user-list-cell-avatar":""}},[t.isLoadingUser?e("NcLoadingIcon",{attrs:{name:t.t("settings","Loading account …"),size:32}}):t.visible?e("NcAvatar",{attrs:{"disable-menu":"","show-user-status":!1,user:t.user.id}}):t._e()],1),t._v(" "),e("td",{staticClass:"row__cell row__cell--displayname",attrs:{"data-cy-user-list-cell-displayname":""}},[t.editing&&t.user.backendCapabilities.setDisplayName?[e("NcTextField",{ref:"displayNameField",staticClass:"user-row-text-field",class:{"icon-loading-small":t.loading.displayName},attrs:{"data-cy-user-list-input-displayname":"","data-loading":t.loading.displayName||void 0,"trailing-button-label":t.t("settings","Submit"),"show-trailing-button":!0,disabled:t.loading.displayName||t.isLoadingField,label:t.t("settings","Change display name"),"trailing-button-icon":"arrowRight",value:t.editedDisplayName,autocapitalize:"off",autocomplete:"off",spellcheck:"false"},on:{"update:value":function(e){t.editedDisplayName=e},"trailing-button-click":t.updateDisplayName}})]:t.isObfuscated?t._e():e("strong",{attrs:{title:t.user.displayname?.length>20?t.user.displayname:null}},[t._v("\n\t\t\t"+t._s(t.user.displayname)+"\n\t\t")])],2),t._v(" "),e("td",{staticClass:"row__cell row__cell--username",attrs:{"data-cy-user-list-cell-username":""}},[e("span",{staticClass:"row__subtitle"},[t._v(t._s(t.user.id))])]),t._v(" "),e("td",{staticClass:"row__cell",class:{"row__cell--obfuscated":t.hasObfuscated},attrs:{"data-cy-user-list-cell-password":""}},[t.editing&&t.settings.canChangePassword&&t.user.backendCapabilities.setPassword?[e("NcTextField",{staticClass:"user-row-text-field",class:{"icon-loading-small":t.loading.password},attrs:{"data-cy-user-list-input-password":"","data-loading":t.loading.password||void 0,"trailing-button-label":t.t("settings","Submit"),"show-trailing-button":!0,disabled:t.loading.password||t.isLoadingField,minlength:t.minPasswordLength,maxlength:"469",label:t.t("settings","Set new password"),"trailing-button-icon":"arrowRight",value:t.editedPassword,autocapitalize:"off",autocomplete:"new-password",required:"",spellcheck:"false",type:"password"},on:{"update:value":function(e){t.editedPassword=e},"trailing-button-click":t.updatePassword}})]:t.isObfuscated?e("span",[t._v("\n\t\t\t"+t._s(t.t("settings","You do not have permissions to see the details of this account"))+"\n\t\t")]):t._e()],2),t._v(" "),e("td",{staticClass:"row__cell",attrs:{"data-cy-user-list-cell-email":""}},[t.editing?[e("NcTextField",{staticClass:"user-row-text-field",class:{"icon-loading-small":t.loading.mailAddress},attrs:{"data-cy-user-list-input-email":"","data-loading":t.loading.mailAddress||void 0,"show-trailing-button":!0,"trailing-button-label":t.t("settings","Submit"),label:t.t("settings","Set new email address"),disabled:t.loading.mailAddress||t.isLoadingField,"trailing-button-icon":"arrowRight",value:t.editedMail,autocapitalize:"off",autocomplete:"email",spellcheck:"false",type:"email"},on:{"update:value":function(e){t.editedMail=e},"trailing-button-click":t.updateEmail}})]:t.isObfuscated?t._e():e("span",{attrs:{title:t.user.email?.length>20?t.user.email:null}},[t._v("\n\t\t\t"+t._s(t.user.email)+"\n\t\t")])],2),t._v(" "),e("td",{staticClass:"row__cell row__cell--large row__cell--multiline",attrs:{"data-cy-user-list-cell-groups":""}},[t.editing?[e("label",{staticClass:"hidden-visually",attrs:{for:"groups"+t.uniqueId}},[t._v("\n\t\t\t\t"+t._s(t.t("settings","Add account to group"))+"\n\t\t\t")]),t._v(" "),e("NcSelect",{attrs:{"data-cy-user-list-input-groups":"","data-loading":t.loading.groups||void 0,"input-id":"groups"+t.uniqueId,"close-on-select":!1,disabled:t.isLoadingField||t.loading.groupsDetails,loading:t.loading.groups,multiple:!0,"append-to-body":!1,options:t.availableGroups,placeholder:t.t("settings","Add account to group"),taggable:t.settings.isAdmin||t.settings.isDelegatedAdmin,value:t.userGroups,label:"name","no-wrap":!0,"create-option":t=>({id:t,name:t,isCreating:!0})},on:{search:t.searchGroups,"option:created":t.createGroup,"option:selected":e=>t.addUserGroup(e.at(-1)),"option:deselected":t.removeUserGroup}})]:t.isObfuscated?t._e():e("span",{attrs:{title:t.userGroupsLabels?.length>40?t.userGroupsLabels:null}},[t._v("\n\t\t\t"+t._s(t.userGroupsLabels)+"\n\t\t")])],2),t._v(" "),t.settings.isAdmin||t.settings.isDelegatedAdmin?e("td",{staticClass:"row__cell row__cell--large row__cell--multiline",attrs:{"data-cy-user-list-cell-subadmins":""}},[t.editing&&(t.settings.isAdmin||t.settings.isDelegatedAdmin)?[e("label",{staticClass:"hidden-visually",attrs:{for:"subadmins"+t.uniqueId}},[t._v("\n\t\t\t\t"+t._s(t.t("settings","Set account as admin for"))+"\n\t\t\t")]),t._v(" "),e("NcSelect",{attrs:{"data-cy-user-list-input-subadmins":"","data-loading":t.loading.subadmins||void 0,"input-id":"subadmins"+t.uniqueId,"close-on-select":!1,disabled:t.isLoadingField||t.loading.subAdminGroupsDetails,loading:t.loading.subadmins,label:"name","append-to-body":!1,multiple:!0,"no-wrap":!0,options:t.availableSubAdminGroups,placeholder:t.t("settings","Set account as admin for"),value:t.userSubAdminGroups},on:{search:t.searchGroups,"option:deselected":t.removeUserSubAdmin,"option:selected":e=>t.addUserSubAdmin(e.at(-1))}})]:t.isObfuscated?t._e():e("span",{attrs:{title:t.userSubAdminGroupsLabels?.length>40?t.userSubAdminGroupsLabels:null}},[t._v("\n\t\t\t"+t._s(t.userSubAdminGroupsLabels)+"\n\t\t")])],2):t._e(),t._v(" "),e("td",{staticClass:"row__cell",attrs:{"data-cy-user-list-cell-quota":""}},[t.editing?[e("label",{staticClass:"hidden-visually",attrs:{for:"quota"+t.uniqueId}},[t._v("\n\t\t\t\t"+t._s(t.t("settings","Select account quota"))+"\n\t\t\t")]),t._v(" "),e("NcSelect",{attrs:{"close-on-select":!0,"create-option":t.validateQuota,"data-cy-user-list-input-quota":"","data-loading":t.loading.quota||void 0,disabled:t.isLoadingField,loading:t.loading.quota,"append-to-body":!1,clearable:!1,"input-id":"quota"+t.uniqueId,options:t.quotaOptions,placeholder:t.t("settings","Select account quota"),taggable:!0},on:{"option:selected":t.setUserQuota},model:{value:t.editedUserQuota,callback:function(e){t.editedUserQuota=e},expression:"editedUserQuota"}})]:t.isObfuscated?t._e():[e("span",{attrs:{id:"quota-progress"+t.uniqueId}},[t._v(t._s(t.userQuota)+" ("+t._s(t.usedSpace)+")")]),t._v(" "),e("NcProgressBar",{staticClass:"row__progress",class:{"row__progress--warn":t.usedQuota>80},attrs:{"aria-labelledby":"quota-progress"+t.uniqueId,value:t.usedQuota}})]],2),t._v(" "),t.showConfig.showLanguages?e("td",{staticClass:"row__cell row__cell--large",attrs:{"data-cy-user-list-cell-language":""}},[t.editing?[e("label",{staticClass:"hidden-visually",attrs:{for:"language"+t.uniqueId}},[t._v("\n\t\t\t\t"+t._s(t.t("settings","Set the language"))+"\n\t\t\t")]),t._v(" "),e("NcSelect",{attrs:{id:"language"+t.uniqueId,"data-cy-user-list-input-language":"","data-loading":t.loading.languages||void 0,"allow-empty":!1,disabled:t.isLoadingField,loading:t.loading.languages,clearable:!1,"append-to-body":!1,options:t.availableLanguages,placeholder:t.t("settings","No language set"),value:t.userLanguage,label:"name"},on:{input:t.setUserLanguage}})]:t.isObfuscated?t._e():e("span",[t._v("\n\t\t\t"+t._s(t.userLanguage.name)+"\n\t\t")])],2):t._e(),t._v(" "),t.showConfig.showUserBackend||t.showConfig.showStoragePath?e("td",{staticClass:"row__cell row__cell--large",attrs:{"data-cy-user-list-cell-storage-location":""}},[t.isObfuscated?t._e():[t.showConfig.showUserBackend?e("span",[t._v(t._s(t.user.backend))]):t._e(),t._v(" "),t.showConfig.showStoragePath?e("span",{staticClass:"row__subtitle",attrs:{title:t.user.storageLocation}},[t._v("\n\t\t\t\t"+t._s(t.user.storageLocation)+"\n\t\t\t")]):t._e()]],2):t._e(),t._v(" "),t.showConfig.showFirstLogin?e("td",{staticClass:"row__cell",attrs:{"data-cy-user-list-cell-first-login":""}},[t.isObfuscated?t._e():e("span",[t._v(t._s(t.userFirstLogin))])]):t._e(),t._v(" "),t.showConfig.showLastLogin?e("td",{staticClass:"row__cell",attrs:{title:t.userLastLoginTooltip,"data-cy-user-list-cell-last-login":""}},[t.isObfuscated?t._e():e("span",[t._v(t._s(t.userLastLogin))])]):t._e(),t._v(" "),e("td",{staticClass:"row__cell row__cell--large row__cell--fill",attrs:{"data-cy-user-list-cell-manager":""}},[t.editing?[e("label",{staticClass:"hidden-visually",attrs:{for:"manager"+t.uniqueId}},[t._v("\n\t\t\t\t"+t._s(t.managerLabel)+"\n\t\t\t")]),t._v(" "),e("NcSelect",{staticClass:"select--fill",attrs:{"data-cy-user-list-input-manager":"","data-loading":t.loading.manager||void 0,"input-id":"manager"+t.uniqueId,disabled:t.isLoadingField,loading:t.loadingPossibleManagers||t.loading.manager,options:t.possibleManagers,placeholder:t.managerLabel,label:"displayname",filterable:!1,"internal-search":!1,clearable:!0},on:{open:t.searchInitialUserManager,search:t.searchUserManager,"update:model-value":t.updateUserManager},model:{value:t.currentManager,callback:function(e){t.currentManager=e},expression:"currentManager"}})]:t.isObfuscated?t._e():e("span",[t._v("\n\t\t\t"+t._s(t.user.manager)+"\n\t\t")])],2),t._v(" "),e("td",{staticClass:"row__cell row__cell--actions",attrs:{"data-cy-user-list-cell-actions":""}},[t.visible&&!t.isObfuscated&&t.canEdit&&!t.loading.all?e("UserRowActions",{attrs:{actions:t.userActions,disabled:t.isLoadingField,edit:t.editing,user:t.user},on:{"update:edit":t.toggleEdit}}):t._e()],1)])}),[],!1,null,"549fcd14",null);const os=rs.exports,ls=Object.freeze({id:"",displayName:"",password:"",mailAddress:"",groups:[],manager:"",subAdminsGroups:[],quota:ss.MY,language:{code:"en",name:t("settings","Default language")}}),ds={name:"UserList",components:{Fragment:c.F,NcEmptyContent:u.A,NcIconSvgWrapper:g.A,NcLoadingIcon:A.A,NewUserDialog:H,UserListFooter:X,UserListHeader:tt,VirtualList:q},props:{selectedGroup:{type:String,default:null},externalActions:{type:Array,default:()=>[]}},setup:()=>({mdiAccountGroup:l.n7C,rowHeight:55,UserRow:os}),data:()=>({loading:{all:!1,groups:!1,users:!1},newUser:{...ls},isInitialLoad:!0,searchQuery:""}),computed:{showConfig(){return this.$store.getters.getShowConfig},settings(){return this.$store.getters.getServerData},style(){return{"--row-height":`${this.rowHeight}px`}},hasObfuscated(){return this.filteredUsers.some((t=>(0,ss.HK)(t)))},users(){return this.$store.getters.getUsers},filteredUsers(){return"disabled"===this.selectedGroup?this.users.filter((t=>!1===t.enabled)):this.users.filter((t=>!1!==t.enabled))},groups(){return this.$store.getters.getSortedGroups.filter((t=>"__nc_internal_recent"!==t.id&&"disabled"!==t.id))},quotaOptions(){const t=this.settings.quotaPreset.reduce(((t,e)=>t.concat({id:e,label:e})),[]);return this.settings.allowUnlimitedQuota&&t.unshift(ss.SA),t.unshift(ss.MY),t},usersOffset(){return this.$store.getters.getUsersOffset},usersLimit(){return this.$store.getters.getUsersLimit},disabledUsersOffset(){return this.$store.getters.getDisabledUsersOffset},disabledUsersLimit(){return this.$store.getters.getDisabledUsersLimit},usersCount(){return this.users.length},languages(){return[{label:t("settings","Common languages"),languages:this.settings.languages.commonLanguages},{label:t("settings","Other languages"),languages:this.settings.languages.otherLanguages}]}},watch:{async selectedGroup(t){this.isInitialLoad=!0,await this.redirectIfDisabled(),this.$store.commit("resetUsers"),await this.loadUsers(),this.setNewUserDefaultGroup(t)},filteredUsers(t){C.A.debug(`${t.length} filtered user(s)`)}},async created(){await this.loadUsers()},async mounted(){this.settings.canChangePassword||OC.Notification.showTemporary(t("settings","Password change is disabled because the master key is disabled")),this.resetForm(),(0,n.B1)("nextcloud:unified-search.search",this.search),(0,n.B1)("nextcloud:unified-search.reset",this.resetSearch),await this.redirectIfDisabled()},beforeDestroy(){(0,n.al)("nextcloud:unified-search.search",this.search),(0,n.al)("nextcloud:unified-search.reset",this.resetSearch)},methods:{async handleScrollEnd(){await this.loadUsers()},async loadUsers(){this.loading.users=!0;try{"disabled"===this.selectedGroup?await this.$store.dispatch("getDisabledUsers",{offset:this.disabledUsersOffset,limit:this.disabledUsersLimit,search:this.searchQuery}):"__nc_internal_recent"===this.selectedGroup?await this.$store.dispatch("getRecentUsers",{offset:this.usersOffset,limit:this.usersLimit,search:this.searchQuery}):await this.$store.dispatch("getUsers",{offset:this.usersOffset,limit:this.usersLimit,group:this.selectedGroup,search:this.searchQuery}),C.A.debug(`${this.users.length} total user(s) loaded`)}catch(t){C.A.error("Failed to load accounts",{error:t}),(0,d.Qg)("Failed to load accounts")}this.loading.users=!1,this.isInitialLoad=!1},closeDialog(){this.$store.commit("setShowConfig",{key:"showNewUserForm",value:!1})},async search({query:t}){this.searchQuery=t,this.$store.commit("resetUsers"),await this.loadUsers()},resetSearch(){this.search({query:""})},resetForm(){this.newUser=Object.assign({},ls),this.settings.defaultLanguage&&r.Ay.set(this.newUser.language,"code",this.settings.defaultLanguage),this.setNewUserDefaultGroup(this.selectedGroup),this.loading.all=!1},setNewUserDefaultGroup(t){if(t||this.settings.isAdmin||this.settings.isDelegatedAdmin){if(t){const e=this.groups.find((e=>e.id===t));if(e)return void(this.newUser.groups=[e])}this.newUser.groups=[]}else{const t=this.$store.getters.getSubAdminGroups;1===t.length&&(this.newUser.groups=[...t])}},async redirectIfDisabled(){const t=this.$store.getters.getGroups;"disabled"===this.selectedGroup&&t.findIndex((t=>"disabled"===t.id&&0===t.usercount))>-1&&(this.$router.push({name:"users"}),await this.loadUsers())}}};var cs=a(91544),us={};us.styleTagTransform=L(),us.setAttributes=k(),us.insert=x().bind(null,"head"),us.domAPI=b(),us.insertStyleElement=S(),_()(cs.A,us),cs.A&&cs.A.locals&&cs.A.locals;const gs=(0,I.A)(ds,(function(){var t=this,e=t._self._c;return e("Fragment",[t.showConfig.showNewUserForm?e("NewUserDialog",{attrs:{loading:t.loading,"new-user":t.newUser,"quota-options":t.quotaOptions},on:{reset:t.resetForm,closing:t.closeDialog}}):t._e(),t._v(" "),0===t.filteredUsers.length?e("NcEmptyContent",{staticClass:"empty",attrs:{name:t.isInitialLoad&&t.loading.users?null:t.t("settings","No accounts")},scopedSlots:t._u([{key:"icon",fn:function(){return[t.isInitialLoad&&t.loading.users?e("NcLoadingIcon",{attrs:{name:t.t("settings","Loading accounts …"),size:64}}):e("NcIconSvgWrapper",{attrs:{path:t.mdiAccountGroup,size:64}})]},proxy:!0}],null,!1,226056511)}):e("VirtualList",{style:t.style,attrs:{"data-component":t.UserRow,"data-sources":t.filteredUsers,"data-key":"id","data-cy-user-list":"","item-height":t.rowHeight,"extra-props":{users:t.users,settings:t.settings,hasObfuscated:t.hasObfuscated,quotaOptions:t.quotaOptions,languages:t.languages,externalActions:t.externalActions}},on:{"scroll-end":t.handleScrollEnd},scopedSlots:t._u([{key:"before",fn:function(){return[e("caption",{staticClass:"hidden-visually"},[t._v("\n\t\t\t\t"+t._s(t.t("settings","List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list."))+"\n\t\t\t")])]},proxy:!0},{key:"header",fn:function(){return[e("UserListHeader",{attrs:{"has-obfuscated":t.hasObfuscated}})]},proxy:!0},{key:"footer",fn:function(){return[e("UserListFooter",{attrs:{loading:t.loading.users,"filtered-users":t.filteredUsers}})]},proxy:!0}])})],1)}),[],!1,null,"73fd953a",null).exports,As=(0,r.pM)({name:"UserManagement",components:{NcAppContent:o.A,UserList:gs},data:()=>({externalActions:[]}),computed:{pageHeading(){return null===this.selectedGroupDecoded?(0,i.Tl)("settings","All accounts"):{admin:(0,i.Tl)("settings","Admins"),disabled:(0,i.Tl)("settings","Disabled accounts")}[this.selectedGroupDecoded]??(0,i.Tl)("settings","Account group: {group}",{group:this.selectedGroupDecoded})},selectedGroup(){return this.$route.params.selectedGroup},selectedGroupDecoded(){return this.selectedGroup?decodeURIComponent(this.selectedGroup):null}},beforeMount(){this.$store.dispatch("getPasswordPolicyMinLength")},created(){window.OCA=window.OCA??{},window.OCA.Settings=window.OCA.Settings??{},window.OCA.Settings.UserList=window.OCA.Settings.UserList??{},window.OCA.Settings.UserList.registerAction=this.registerAction,(0,n.Ic)("settings:user-management:loaded")},methods:{t:i.Tl,registerAction(t,e,s,a){return this.externalActions.push({icon:t,text:e,action:s,enabled:a}),this.externalActions}}});var ps=a(11196),hs={};hs.styleTagTransform=L(),hs.setAttributes=k(),hs.insert=x().bind(null,"head"),hs.domAPI=b(),hs.insertStyleElement=S(),_()(ps.A,hs),ps.A&&ps.A.locals&&ps.A.locals;const ms=(0,I.A)(As,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("NcAppContent",{attrs:{"page-heading":t.pageHeading}},[e("UserList",{attrs:{"selected-group":t.selectedGroupDecoded,"external-actions":t.externalActions}})],1)}),[],!1,null,"4684ed00",null).exports},78897(t,e,s){s.d(e,{A:()=>o});var a=s(71354),i=s.n(a),n=s(76314),r=s.n(n)()(i());r.push([t.id,".user-list__row[data-v-549fcd14]{position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background)}.user-list__row[data-v-549fcd14]:hover{background-color:var(--color-background-hover)}.user-list__row:hover .row__cell[data-v-549fcd14]:not(.row__cell--actions){background-color:var(--color-background-hover)}.user-list__row .select--fill[data-v-549fcd14]{max-width:calc(var(--cell-width-large) - 2*var(--cell-padding))}.row__cell[data-v-549fcd14]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.row__cell strong[data-v-549fcd14],.row__cell span[data-v-549fcd14],.row__cell label[data-v-549fcd14]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.row__cell--avatar[data-v-549fcd14],.row__cell--displayname[data-v-549fcd14]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.row__cell--avatar[data-v-549fcd14]{inset-inline-start:0}.row__cell--displayname[data-v-549fcd14]{inset-inline-start:var(--avatar-cell-width);border-inline-end:1px solid var(--color-border)}}.row__cell--username[data-v-549fcd14]{padding-inline-start:calc(var(--default-grid-baseline)*3)}.row__cell--avatar[data-v-549fcd14]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.row__cell--multiline span[data-v-549fcd14]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.row__cell--multiline span[data-v-549fcd14]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.row__cell--large[data-v-549fcd14]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.row__cell--obfuscated[data-v-549fcd14]{min-width:400px;width:400px}.row__cell--fill[data-v-549fcd14]{min-width:var(--cell-width-large);width:100%}.row__cell--actions[data-v-549fcd14]{position:sticky;inset-inline-end:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-inline-start:1px solid var(--color-border)}.row__subtitle[data-v-549fcd14]{color:var(--color-text-maxcontrast)}.row__cell[data-v-549fcd14]{border-bottom:1px solid var(--color-border)}.row__cell[data-v-549fcd14] .v-select.select{min-width:var(--cell-min-width)}.row__progress[data-v-549fcd14]{margin-top:4px}.row__progress--warn[data-v-549fcd14]::-moz-progress-bar{background:var(--color-warning) !important}.row__progress--warn[data-v-549fcd14]::-webkit-progress-value{background:var(--color-warning) !important}","",{version:3,sources:["webpack://./apps/settings/src/components/Users/UserRow.vue","webpack://./apps/settings/src/components/Users/shared/styles.scss"],names:[],mappings:"AAGA,iCCGC,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CDLA,uCACC,8CAAA,CAEA,2EACC,8CAAA,CAKF,+CACC,+DAAA,CCDD,4BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,sGAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,6EAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,oCACC,oBAAA,CAGD,yCACC,2CAAA,CACA,+CAAA,CAAA,CAIF,sCACC,yDAAA,CAGD,oCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,4CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,4CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,mCACC,iCAAA,CACA,6BAAA,CAGD,wCACC,eAAA,CACA,WAAA,CAID,kCACC,iCAAA,CACA,UAAA,CAGD,qCACC,eAAA,CACA,kBAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,iDAAA,CAIF,gCACC,mCAAA,CDpFD,4BACC,2CAAA,CAGC,6CACC,+BAAA,CAKH,gCACC,cAAA,CAGC,yDACC,0CAAA,CAED,8DACC,0CAAA",sourcesContent:["\n@use './shared/styles';\n\n.user-list__row {\n\t@include styles.row;\n\n\t&:hover {\n\t\tbackground-color: var(--color-background-hover);\n\n\t\t.row__cell:not(.row__cell--actions) {\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\t}\n\n\t// Limit width of select in fill cell\n\t.select--fill {\n\t\tmax-width: calc(var(--cell-width-large) - (2 * var(--cell-padding)));\n\t}\n}\n\n.row {\n\t@include styles.cell;\n\n\t&__cell {\n\t\tborder-bottom: 1px solid var(--color-border);\n\n\t\t:deep {\n\t\t\t.v-select.select {\n\t\t\t\tmin-width: var(--cell-min-width);\n\t\t\t}\n\t\t}\n\t}\n\n\t&__progress {\n\t\tmargin-top: 4px;\n\n\t\t&--warn {\n\t\t\t&::-moz-progress-bar {\n\t\t\t\tbackground: var(--color-warning) !important;\n\t\t\t}\n\t\t\t&::-webkit-progress-value {\n\t\t\t\tbackground: var(--color-warning) !important;\n\t\t\t}\n\t\t}\n\t}\n}\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n@mixin row {\n\tposition: relative;\n\tdisplay: flex;\n\tmin-width: 100%;\n\twidth: fit-content;\n\theight: var(--row-height);\n\tbackground-color: var(--color-main-background);\n}\n\n@mixin cell {\n\t&__cell {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\tpadding: 0 var(--cell-padding);\n\t\tmin-width: var(--cell-width);\n\t\twidth: var(--cell-width);\n\t\tcolor: var(--color-main-text);\n\n\t\tstrong,\n\t\tspan,\n\t\tlabel {\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t\toverflow-wrap: anywhere;\n\t\t}\n\n\t\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\n\t\t\t&--avatar,\n\t\t\t&--displayname {\n\t\t\t\tposition: sticky;\n\t\t\t\tz-index: var(--sticky-column-z-index);\n\t\t\t\tbackground-color: var(--color-main-background);\n\t\t\t}\n\n\t\t\t&--avatar {\n\t\t\t\tinset-inline-start: 0;\n\t\t\t}\n\n\t\t\t&--displayname {\n\t\t\t\tinset-inline-start: var(--avatar-cell-width);\n\t\t\t\tborder-inline-end: 1px solid var(--color-border);\n\t\t\t}\n\t\t}\n\n\t\t&--username {\n\t\t\tpadding-inline-start: calc(var(--default-grid-baseline) * 3);\n\t\t}\n\n\t\t&--avatar {\n\t\t\tmin-width: var(--avatar-cell-width);\n\t\t\twidth: var(--avatar-cell-width);\n\t\t\talign-items: center;\n\t\t\tpadding: 0;\n\t\t\tuser-select: none;\n\t\t}\n\n\t\t&--multiline {\n\t\t\tspan {\n\t\t\t\tline-height: 1.3em;\n\t\t\t\twhite-space: unset;\n\n\t\t\t\t@supports (-webkit-line-clamp: 2) {\n\t\t\t\t\tdisplay: -webkit-box;\n\t\t\t\t\t-webkit-line-clamp: 2;\n\t\t\t\t\t-webkit-box-orient: vertical;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&--large {\n\t\t\tmin-width: var(--cell-width-large);\n\t\t\twidth: var(--cell-width-large);\n\t\t}\n\n\t\t&--obfuscated {\n\t\t\tmin-width: 400px;\n\t\t\twidth: 400px;\n\t\t}\n\n\t\t// Fill remaining row space with cell\n\t\t&--fill {\n\t\t\tmin-width: var(--cell-width-large);\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t&--actions {\n\t\t\tposition: sticky;\n\t\t\tinset-inline-end: 0;\n\t\t\tz-index: var(--sticky-column-z-index);\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: row;\n\t\t\talign-items: center;\n\t\t\tmin-width: 110px;\n\t\t\twidth: 110px;\n\t\t\tbackground-color: var(--color-main-background);\n\t\t\tborder-inline-start: 1px solid var(--color-border);\n\t\t}\n\t}\n\n\t&__subtitle {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n}\n"],sourceRoot:""}]);const o=r},79722(t){t.exports="data:image/svg+xml,%3c%21--%20-%20SPDX-FileCopyrightText:%202020%20Google%20Inc.%20-%20SPDX-License-Identifier:%20Apache-2.0%20--%3e%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M5.6%207.4L7%206l6%206-6%206-1.4-1.4%204.6-4.6-4.6-4.6m6%200L13%206l6%206-6%206-1.4-1.4%204.6-4.6-4.6-4.6z%27/%3e%3c/svg%3e"},86886(t){t.exports="data:image/svg+xml,%3c%21--%20-%20SPDX-FileCopyrightText:%202020%20Google%20Inc.%20-%20SPDX-License-Identifier:%20Apache-2.0%20--%3e%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M8.6%2016.6l4.6-4.6-4.6-4.6L10%206l6%206-6%206-1.4-1.4z%27/%3e%3c/svg%3e"},91544(t,e,s){s.d(e,{A:()=>o});var a=s(71354),i=s.n(a),n=s(76314),r=s.n(n)()(i());r.push([t.id,".empty[data-v-73fd953a] .icon-vue{width:64px;height:64px}.empty[data-v-73fd953a] .icon-vue svg{max-width:64px;max-height:64px}","",{version:3,sources:["webpack://./apps/settings/src/components/UserList.vue"],names:[],mappings:"AAKE,kCACC,UAAA,CACA,WAAA,CAEA,sCACC,cAAA,CACA,eAAA",sourcesContent:["\n@use './Users/shared/styles' as *;\n\n.empty {\n\t:deep {\n\t\t.icon-vue {\n\t\t\twidth: 64px;\n\t\t\theight: 64px;\n\n\t\t\tsvg {\n\t\t\t\tmax-width: 64px;\n\t\t\t\tmax-height: 64px;\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const o=r},95668(t,e,s){s.d(e,{HK:()=>r,MY:()=>n,SA:()=>i});var a=s(53334);const i={id:"none",label:(0,a.Tl)("settings","Unlimited")},n={id:"default",label:(0,a.Tl)("settings","Default quota")},r=t=>{const e=Object.keys(t);return 1===e.length&&"id"===e.at(0)}}}]); -//# sourceMappingURL=settings-users-3239.js.map?v=fe608f6534aac97efb13 \ No newline at end of file +"use strict";(globalThis.webpackChunknextcloud=globalThis.webpackChunknextcloud||[]).push([[3239,7471],{7515(t,e,s){s.d(e,{A:()=>o});var a=s(71354),i=s.n(a),n=s(76314),r=s.n(n)()(i());r.push([t.id,".dialog__note[data-v-29922c80]{font-weight:normal}fieldset[data-v-29922c80]{font-weight:bold}","",{version:3,sources:["webpack://./apps/settings/src/components/Users/UserSettingsDialog.vue"],names:[],mappings:"AAEC,+BACC,kBAAA,CAIF,0BACC,gBAAA",sourcesContent:["\n.dialog {\n\t&__note {\n\t\tfont-weight: normal;\n\t}\n}\n\nfieldset {\n\tfont-weight: bold;\n}\n"],sourceRoot:""}]);const o=r},11196(t,e,s){s.d(e,{A:()=>o});var a=s(71354),i=s.n(a),n=s(76314),r=s.n(n)()(i());r.push([t.id,".app-content[data-v-4684ed00]{display:flex;overflow:hidden;flex-direction:column;max-height:100%}","",{version:3,sources:["webpack://./apps/settings/src/views/UserManagement.vue"],names:[],mappings:"AACA,8BAEC,YAAA,CACA,eAAA,CACA,qBAAA,CACA,eAAA",sourcesContent:["\n.app-content {\n\t// Virtual list needs to be full height and is scrollable\n\tdisplay: flex;\n\toverflow: hidden;\n\tflex-direction: column;\n\tmax-height: 100%;\n}\n"],sourceRoot:""}]);const o=r},15272(e,s,a){a.r(s),a.d(s,{default:()=>ms});var i=a(53334),n=a(61338),r=a(85471),o=a(18195),l=a(9165),d=a(85168),c=a(54914),u=a(42507),g=a(6695),A=a(88289),p=a(55042),h=a(17334),m=a.n(h),C=a(36620);r.Ay.directive("elementVisibility",p.Zx);const v=r.Ay.extend({name:"VirtualList",props:{dataComponent:{type:[Object,Function],required:!0},dataKey:{type:String,required:!0},dataSources:{type:Array,required:!0},itemHeight:{type:Number,required:!0},extraProps:{type:Object,default:()=>({})}},data:()=>({bufferItems:3,index:0,headerHeight:0,tableHeight:0,resizeObserver:null}),computed:{startIndex(){return Math.max(0,this.index-3)},shownItems(){return Math.ceil((this.tableHeight-this.headerHeight)/this.itemHeight)+6},renderedItems(){return this.dataSources.slice(this.startIndex,this.startIndex+this.shownItems)},tbodyStyle(){const t=this.startIndex+this.shownItems>this.dataSources.length,e=this.dataSources.length-this.startIndex-this.shownItems,s=Math.min(this.dataSources.length-this.startIndex,e);return{paddingTop:this.startIndex*this.itemHeight+"px",paddingBottom:t?0:s*this.itemHeight+"px"}}},mounted(){const t=this.$el,e=this.$refs?.tfoot,s=this.$refs?.thead;this.resizeObserver=new ResizeObserver(m()((()=>{this.headerHeight=s?.clientHeight??0,this.tableHeight=t?.clientHeight??0,C.A.debug("VirtualList resizeObserver updated"),this.onScroll()}),100,!1)),this.resizeObserver.observe(t),this.resizeObserver.observe(e),this.resizeObserver.observe(s),this.$el.addEventListener("scroll",this.onScroll)},beforeDestroy(){this.resizeObserver&&this.resizeObserver.disconnect()},methods:{handleFooterVisibility(t){t&&this.$emit("scroll-end")},onScroll(){this.index=Math.max(0,Math.round(this.$el.scrollTop/this.itemHeight))}}});var w=a(85072),f=a.n(w),_=a(97825),b=a.n(_),y=a(77659),x=a.n(y),N=a(55056),k=a.n(N),G=a(10540),S=a.n(G),U=a(41113),L=a.n(U),D=a(35176),B={};B.styleTagTransform=L(),B.setAttributes=k(),B.insert=x().bind(null,"head"),B.domAPI=b(),B.insertStyleElement=S(),f()(D.A,B),D.A&&D.A.locals&&D.A.locals;var I=a(14486);const q=(0,I.A)(v,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("table",{staticClass:"user-list"},[t._t("before"),t._v(" "),e("thead",{ref:"thead",staticClass:"user-list__header",attrs:{role:"rowgroup"}},[t._t("header")],2),t._v(" "),e("tbody",{staticClass:"user-list__body",style:t.tbodyStyle},t._l(t.renderedItems,(function(s,a){return e(t.dataComponent,t._b({key:s[t.dataKey],tag:"component",attrs:{user:s,visible:(a>=t.bufferItems||t.index<=t.bufferItems)&&a({possibleManagers:[],managerInputLabel:t("settings","Manager"),managerLabel:t("settings","Set line manager"),promise:null}),computed:{showConfig(){return this.$store.getters.getShowConfig},settings(){return this.$store.getters.getServerData},usernameLabel(){return this.settings.newUserGenerateUserID?t("settings","Account name will be autogenerated"):t("settings","Account name (required)")},minPasswordLength(){return this.$store.getters.getPasswordPolicyMinLength},availableGroups(){return(this.settings.isAdmin||this.settings.isDelegatedAdmin?this.$store.getters.getSortedGroups:this.$store.getters.getSubAdminGroups).filter((t=>"__nc_internal_recent"!==t.id&&"disabled"!==t.id))},availableSubAdminGroups(){return this.availableGroups.filter((t=>"admin"!==t.id))},languages(){return[{name:t("settings","Common languages"),languages:this.settings.languages.commonLanguages},...this.settings.languages.commonLanguages,{name:t("settings","Other languages"),languages:this.settings.languages.otherLanguages},...this.settings.languages.otherLanguages]}},async beforeMount(){await this.searchUserManager()},mounted(){this.$refs.username?.focus?.()},methods:{async createUser(){this.loading.all=!0;try{await this.$store.dispatch("addUser",{userid:this.newUser.id,password:this.newUser.password,displayName:this.newUser.displayName,email:this.newUser.mailAddress,groups:this.newUser.groups.map((t=>t.id)),subadmin:this.newUser.subAdminsGroups.map((t=>t.id)),quota:this.newUser.quota.id,language:this.newUser.language.code,manager:this.newUser.manager.id}),this.$emit("reset"),this.$refs.username?.focus?.(),this.$emit("closing")}catch(t){if(this.loading.all=!1,t.response&&t.response.data&&t.response.data.ocs&&t.response.data.ocs.meta){const e=t.response.data.ocs.meta.statuscode;102===e?this.$refs.username?.focus?.():107===e&&this.$refs.password?.focus?.()}}},async searchGroups(e,s){if(this.settings.isAdmin||this.settings.isDelegatedAdmin){this.promise&&this.promise.cancel(),s(!0);try{this.promise=(0,P.N_)({search:e,offset:0,limit:25});const t=await this.promise;for(const e of t)this.$store.commit("addGroup",e)}catch(e){C.A.error(t("settings","Failed to search groups"),{error:e})}this.promise=null,s(!1)}},async createGroup({name:e}){this.loading.groups=!0;try{await this.$store.dispatch("addGroup",e),this.newUser.groups.push({id:e,name:e})}catch(e){C.A.error(t("settings","Failed to create group"),{error:e})}this.loading.groups=!1},async addGroup(t){t.isCreating||!1!==t.canAdd&&this.newUser.groups.push(t)},removeGroup(t){!1!==t.canRemove&&(this.newUser.groups=this.newUser.groups.filter((e=>e.id!==t.id)))},validateQuota(t){const e=OC.Util.computerFileSize(t);return null!==e&&e>=0?(t=(0,O.v7)((0,O.lT)(t,!0)),this.newUser.quota={id:t,label:t},this.newUser.quota):(this.newUser.quota=this.quotaOptions[0],this.quotaOptions[0])},languageFilterBy:(t,e,s)=>t.languages?t.languages.some((({name:t})=>t.toLocaleLowerCase().includes(s.toLocaleLowerCase()))):(e||"").toLocaleLowerCase().includes(s.toLocaleLowerCase()),async searchUserManager(t){await this.$store.dispatch("searchUsers",{offset:0,limit:10,search:t}).then((t=>{const e=t?.data?Object.values(t?.data.ocs.data.users):[];e.length>0&&(this.possibleManagers=e)}))}}};var R=a(41992),Q={};Q.styleTagTransform=L(),Q.setAttributes=k(),Q.insert=x().bind(null,"head"),Q.domAPI=b(),Q.insertStyleElement=S(),f()(R.A,Q),R.A&&R.A.locals&&R.A.locals;var W=(0,I.A)(z,(function(){var t=this,e=t._self._c;return e("NcDialog",t._g({staticClass:"dialog",attrs:{size:"small",name:t.t("settings","New account"),"out-transition":""},scopedSlots:t._u([{key:"actions",fn:function(){return[e("NcButton",{staticClass:"dialog__submit",attrs:{"data-test":"submit",form:"new-user-form",type:"primary","native-type":"submit"}},[t._v("\n\t\t\t"+t._s(t.t("settings","Add new account"))+"\n\t\t")])]},proxy:!0}])},t.$listeners),[e("form",{staticClass:"dialog__form",attrs:{id:"new-user-form","data-test":"form",disabled:t.loading.all},on:{submit:function(e){return e.preventDefault(),t.createUser.apply(null,arguments)}}},[e("NcTextField",{ref:"username",staticClass:"dialog__item",attrs:{"data-test":"username",value:t.newUser.id,disabled:t.settings.newUserGenerateUserID,label:t.usernameLabel,autocapitalize:"none",autocomplete:"off",spellcheck:"false",pattern:"[a-zA-Z0-9 _\\.@\\-']+",required:""},on:{"update:value":function(e){return t.$set(t.newUser,"id",e)}}}),t._v(" "),e("NcTextField",{staticClass:"dialog__item",attrs:{"data-test":"displayName",value:t.newUser.displayName,label:t.t("settings","Display name"),autocapitalize:"none",autocomplete:"off",spellcheck:"false"},on:{"update:value":function(e){return t.$set(t.newUser,"displayName",e)}}}),t._v(" "),t.settings.newUserRequireEmail?t._e():e("span",{staticClass:"dialog__hint",attrs:{id:"password-email-hint"}},[t._v("\n\t\t\t"+t._s(t.t("settings","Either password or email is required"))+"\n\t\t")]),t._v(" "),e("NcPasswordField",{ref:"password",staticClass:"dialog__item",attrs:{"data-test":"password",value:t.newUser.password,minlength:t.minPasswordLength,maxlength:469,"aria-describedby":"password-email-hint",label:""===t.newUser.mailAddress?t.t("settings","Password (required)"):t.t("settings","Password"),autocapitalize:"none",autocomplete:"new-password",spellcheck:"false",required:""===t.newUser.mailAddress},on:{"update:value":function(e){return t.$set(t.newUser,"password",e)}}}),t._v(" "),e("NcTextField",{staticClass:"dialog__item",attrs:{"data-test":"email",type:"email",value:t.newUser.mailAddress,"aria-describedby":"password-email-hint",label:""===t.newUser.password||t.settings.newUserRequireEmail?t.t("settings","Email (required)"):t.t("settings","Email"),autocapitalize:"none",autocomplete:"off",spellcheck:"false",required:""===t.newUser.password||t.settings.newUserRequireEmail},on:{"update:value":function(e){return t.$set(t.newUser,"mailAddress",e)}}}),t._v(" "),e("div",{staticClass:"dialog__item"},[e("NcSelect",{staticClass:"dialog__select",attrs:{"data-test":"groups","input-label":t.settings.isAdmin||t.settings.isDelegatedAdmin?t.t("settings","Member of the following groups"):t.t("settings","Member of the following groups (required)"),placeholder:t.t("settings","Set account groups"),disabled:t.loading.groups||t.loading.all,options:t.availableGroups,value:t.newUser.groups,label:"name","close-on-select":!1,multiple:!0,taggable:t.settings.isAdmin||t.settings.isDelegatedAdmin,required:!t.settings.isAdmin&&!t.settings.isDelegatedAdmin,"create-option":t=>({id:t,name:t,isCreating:!0})},on:{search:t.searchGroups,"option:created":t.createGroup,"option:deselected":t.removeGroup,"option:selected":e=>t.addGroup(e.at(-1))}})],1),t._v(" "),e("div",{staticClass:"dialog__item"},[e("NcSelect",{staticClass:"dialog__select",attrs:{"input-label":t.t("settings","Admin of the following groups"),placeholder:t.t("settings","Set account as admin for …"),disabled:t.loading.groups||t.loading.all,options:t.availableSubAdminGroups,"close-on-select":!1,multiple:!0,label:"name"},on:{search:t.searchGroups},model:{value:t.newUser.subAdminsGroups,callback:function(e){t.$set(t.newUser,"subAdminsGroups",e)},expression:"newUser.subAdminsGroups"}})],1),t._v(" "),e("div",{staticClass:"dialog__item"},[e("NcSelect",{staticClass:"dialog__select",attrs:{"input-label":t.t("settings","Quota"),placeholder:t.t("settings","Set account quota"),options:t.quotaOptions,clearable:!1,taggable:!0,"create-option":t.validateQuota},model:{value:t.newUser.quota,callback:function(e){t.$set(t.newUser,"quota",e)},expression:"newUser.quota"}})],1),t._v(" "),t.showConfig.showLanguages?e("div",{staticClass:"dialog__item"},[e("NcSelect",{staticClass:"dialog__select",attrs:{"input-label":t.t("settings","Language"),placeholder:t.t("settings","Set default language"),clearable:!1,selectable:t=>!t.languages,"filter-by":t.languageFilterBy,options:t.languages,label:"name"},model:{value:t.newUser.language,callback:function(e){t.$set(t.newUser,"language",e)},expression:"newUser.language"}})],1):t._e(),t._v(" "),e("div",{class:["dialog__item dialog__managers",{"icon-loading-small":t.loading.manager}]},[e("NcSelect",{staticClass:"dialog__select",attrs:{"input-label":t.managerInputLabel,placeholder:t.managerLabel,options:t.possibleManagers,"user-select":!0,label:"displayname"},on:{search:t.searchUserManager},model:{value:t.newUser.manager,callback:function(e){t.$set(t.newUser,"manager",e)},expression:"newUser.manager"}})],1)],1)])}),[],!1,null,"0cf68bf0",null);const H=W.exports,K=r.Ay.extend({name:"UserListFooter",components:{NcLoadingIcon:A.A},props:{loading:{type:Boolean,required:!0},filteredUsers:{type:Array,required:!0}},computed:{userCount(){return this.loading?this.n("settings","{userCount} account …","{userCount} accounts …",this.filteredUsers.length,{userCount:this.filteredUsers.length}):this.n("settings","{userCount} account","{userCount} accounts",this.filteredUsers.length,{userCount:this.filteredUsers.length})}},methods:{t:i.Tl,n:i.zw}});var j=a(18033),Y={};Y.styleTagTransform=L(),Y.setAttributes=k(),Y.insert=x().bind(null,"head"),Y.domAPI=b(),Y.insertStyleElement=S(),f()(j.A,Y),j.A&&j.A.locals&&j.A.locals;const X=(0,I.A)(K,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("tr",{staticClass:"footer"},[e("th",{attrs:{scope:"row"}},[e("span",{staticClass:"hidden-visually"},[t._v(t._s(t.t("settings","Total rows summary")))])]),t._v(" "),e("td",{staticClass:"footer__cell footer__cell--loading"},[t.loading?e("NcLoadingIcon",{attrs:{title:t.t("settings","Loading accounts …"),size:32}}):t._e()],1),t._v(" "),e("td",{staticClass:"footer__cell footer__cell--count footer__cell--multiline"},[e("span",{attrs:{"aria-describedby":"user-count-desc"}},[t._v(t._s(t.userCount))]),t._v(" "),e("span",{staticClass:"hidden-visually",attrs:{id:"user-count-desc"}},[t._v("\n\t\t\t"+t._s(t.t("settings","Scroll to load more rows"))+"\n\t\t")])])])}),[],!1,null,"20636959",null).exports,V=r.Ay.extend({name:"UserListHeader",props:{hasObfuscated:{type:Boolean,required:!0}},computed:{showConfig(){return this.$store.getters.getShowConfig},settings(){return this.$store.getters.getServerData},passwordLabel(){return this.hasObfuscated?(0,i.Tl)("settings","Password or insufficient permissions message"):(0,i.Tl)("settings","Password")}},methods:{t:i.Tl}});var J=a(24882),Z={};Z.styleTagTransform=L(),Z.setAttributes=k(),Z.insert=x().bind(null,"head"),Z.domAPI=b(),Z.insertStyleElement=S(),f()(J.A,Z),J.A&&J.A.locals&&J.A.locals;const tt=(0,I.A)(V,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("tr",{staticClass:"header"},[e("th",{staticClass:"header__cell header__cell--avatar",attrs:{"data-cy-user-list-header-avatar":"",scope:"col"}},[e("span",{staticClass:"hidden-visually"},[t._v("\n\t\t\t"+t._s(t.t("settings","Avatar"))+"\n\t\t")])]),t._v(" "),e("th",{staticClass:"header__cell header__cell--displayname",attrs:{"data-cy-user-list-header-displayname":"",scope:"col"}},[e("strong",[t._v("\n\t\t\t"+t._s(t.t("settings","Display name"))+"\n\t\t")])]),t._v(" "),e("th",{staticClass:"header__cell header__cell--username",attrs:{"data-cy-user-list-header-username":"",scope:"col"}},[e("span",[t._v("\n\t\t\t"+t._s(t.t("settings","Account name"))+"\n\t\t")])]),t._v(" "),e("th",{staticClass:"header__cell",class:{"header__cell--obfuscated":t.hasObfuscated},attrs:{"data-cy-user-list-header-password":"",scope:"col"}},[e("span",[t._v(t._s(t.passwordLabel))])]),t._v(" "),e("th",{staticClass:"header__cell",attrs:{"data-cy-user-list-header-email":"",scope:"col"}},[e("span",[t._v(t._s(t.t("settings","Email")))])]),t._v(" "),e("th",{staticClass:"header__cell header__cell--large",attrs:{"data-cy-user-list-header-groups":"",scope:"col"}},[e("span",[t._v(t._s(t.t("settings","Groups")))])]),t._v(" "),t.settings.isAdmin||t.settings.isDelegatedAdmin?e("th",{staticClass:"header__cell header__cell--large",attrs:{"data-cy-user-list-header-subadmins":"",scope:"col"}},[e("span",[t._v(t._s(t.t("settings","Group admin for")))])]):t._e(),t._v(" "),e("th",{staticClass:"header__cell",attrs:{"data-cy-user-list-header-quota":"",scope:"col"}},[e("span",[t._v(t._s(t.t("settings","Quota")))])]),t._v(" "),t.showConfig.showLanguages?e("th",{staticClass:"header__cell header__cell--large",attrs:{"data-cy-user-list-header-languages":"",scope:"col"}},[e("span",[t._v(t._s(t.t("settings","Language")))])]):t._e(),t._v(" "),t.showConfig.showUserBackend||t.showConfig.showStoragePath?e("th",{staticClass:"header__cell header__cell--large",attrs:{"data-cy-user-list-header-storage-location":"",scope:"col"}},[t.showConfig.showUserBackend?e("span",[t._v("\n\t\t\t"+t._s(t.t("settings","Account backend"))+"\n\t\t")]):t._e(),t._v(" "),t.showConfig.showStoragePath?e("span",{staticClass:"header__subtitle"},[t._v("\n\t\t\t"+t._s(t.t("settings","Storage location"))+"\n\t\t")]):t._e()]):t._e(),t._v(" "),t.showConfig.showFirstLogin?e("th",{staticClass:"header__cell",attrs:{"data-cy-user-list-header-first-login":"",scope:"col"}},[e("span",[t._v(t._s(t.t("settings","First login")))])]):t._e(),t._v(" "),t.showConfig.showLastLogin?e("th",{staticClass:"header__cell",attrs:{"data-cy-user-list-header-last-login":"",scope:"col"}},[e("span",[t._v(t._s(t.t("settings","Last login")))])]):t._e(),t._v(" "),e("th",{staticClass:"header__cell header__cell--large header__cell--fill",attrs:{"data-cy-user-list-header-manager":"",scope:"col"}},[e("span",[t._v(t._s(t.t("settings","Manager")))])]),t._v(" "),e("th",{staticClass:"header__cell header__cell--actions",attrs:{"data-cy-user-list-header-actions":"",scope:"col"}},[e("span",{staticClass:"hidden-visually"},[t._v("\n\t\t\t"+t._s(t.t("settings","Account actions"))+"\n\t\t")])])])}),[],!1,null,"5c0f8828",null).exports;var et=a(21777),st=a(56760),at=a(41944),it=a(95101),nt=a(86454),rt=a(57505),ot=a(24764),lt=a(65659),dt=a(19664);const ct=(0,r.pM)({components:{NcActionButton:rt.A,NcActions:ot.A,NcIconSvgWrapper:g.A},props:{actions:{type:Array,required:!0},disabled:{type:Boolean,required:!0},edit:{type:Boolean,required:!0},user:{type:Object,required:!0}},computed:{editSvg(){return this.edit?lt:dt},enabledActions(){return this.actions.filter((t=>"function"!=typeof t.enabled||t.enabled(this.user)))}},methods:{isSvg:function(t){if("string"!=typeof t)throw new TypeError(`Expected a \`string\`, got \`${typeof t}\``);if(0===(t=t.trim()).length)return!1;if(!0!==nt.XMLValidator.validate(t))return!1;let e;const s=new nt.XMLParser;try{e=s.parse(t)}catch{return!1}return!!e&&!!Object.keys(e).some((t=>"svg"===t.toLowerCase()))},toggleEdit(){this.$emit("update:edit",!this.edit)}}}),ut=(0,I.A)(ct,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("NcActions",{attrs:{"aria-label":t.t("settings","Toggle account actions menu"),disabled:t.disabled,inline:1}},[e("NcActionButton",{attrs:{"data-cy-user-list-action-toggle-edit":`${t.edit}`,disabled:t.disabled},on:{click:t.toggleEdit},scopedSlots:t._u([{key:"icon",fn:function(){return[e("NcIconSvgWrapper",{key:t.editSvg,attrs:{svg:t.editSvg,"aria-hidden":"true"}})]},proxy:!0}])},[t._v("\n\t\t"+t._s(t.edit?t.t("settings","Done"):t.t("settings","Edit"))+"\n\t\t")]),t._v(" "),t._l(t.enabledActions,(function({action:s,icon:a,text:i},n){return e("NcActionButton",{key:n,attrs:{disabled:t.disabled,"aria-label":i,icon:a,"close-after-click":""},on:{click:e=>s(e,{...t.user})},scopedSlots:t._u([t.isSvg(a)?{key:"icon",fn:function(){return[e("NcIconSvgWrapper",{attrs:{svg:a,"aria-hidden":"true"}})]},proxy:!0}:null],null,!0)},[t._v("\n\t\t"+t._s(i)+"\n\t\t")])}))],2)}),[],!1,null,null,null).exports;var gt=a(95831),At=a(90435),pt=a(61744),ht=a(73891),mt=a(37443),Ct=a(57908),vt=a(97453),wt=a(59915),ft=a(57090),_t=a(15502),bt=a(71711),yt=a(85809),xt=a(10694),Nt=a(47611),kt=a(10363),Gt=a(94160),St=a(70851),Ut=a(54048),Lt=a(93429),Dt=a(27345),Bt=a(49595),It=a(75301),qt=a(22601),Ot=a(74381),Mt=a(542),$t=a(83096),Ft=a(83600),Tt=a(51166),Et=a(43946),Pt=a(50017),zt=a(60258),Rt=a(51595),Qt=a(48091),Wt=a(93831),Ht=a(94978),Kt=a(67025),jt=a(12908),Yt=a(30176),Xt=a(94294),Vt=a(72704),Jt=a(34811),Zt=a(20422),te=a(2308),ee=a(90429),se=a(61061),ae=a(23863),ie=a(44025),ne=a(43694),re=a(48198),oe=a(68982),le=a(29227),de=a(83194),ce=a(27679),ue=a(15862),ge=a(78663),Ae=a(29330),pe=a(71985),he=a(18177),me=a(66768),Ce=a(8633),ve=a(97398),we=a(51550),fe=a(31942),_e=a(50909),be=a(48191),ye=a(15441),xe=a(96839),Ne=a(67256),ke=a(42486),Ge=a(371),Se=a(23617),Ue=a(60451),Le=a(35290),De=a(31213),Be=a(89816),Ie=a(83412),qe=a(36079),Oe=a(88275),Me=(a(19051),a(47114),a(52781),a(3168),a(44242)),$e=a(39351),Fe=a(21286),Te=a(71639),Ee=a(76533),Pe=a(34731),ze=a(65415),Re=a(71178),Qe=a(48776),We=a(33520),He=a(18127),Ke=a(55167),je=a(52228),Ye=a(71795),Xe=a(23610),Ve=a(55581),Je=(a(94205),a(95462),a(23020),a(53429),a(23739),a(16343),a(29928),a(64660),a(18547),a(42892)),Ze=a(69885),ts=(a(59656),a(75105),a(92471),a(16406),a(2508));gt.N,At.N,pt.A,ht.N,mt.N,Ct.A,vt.N,wt.A,_t.A,bt.A,yt.N,ft.N,xt.N,Nt.A,kt.A,Gt.N,St.N,Ut.A,Lt.N,Dt.A,Bt.N,It.N,qt.N,Ot.N,Mt.A,$t.N,Ft.N,Tt.N,Tt.N,Et.N,Pt.N,zt.A,Rt.N,Qt.A,Wt.N,Oe.N,Ht.N,Kt.N,jt.N,Yt.N,Xt.N,Vt.N,Jt.N,Zt.N,te.N,ee.N,se.N,ae.N,ie.N,ne.default,re.A,oe.N,le.N,de.A,ce.N,u.A,ue.N,ge.N,Ae.N,pe.N,he.N,me.A,Ce.N,ve.N,we.N,fe.N,_e.N,be.N,ye.N,xe.N,Ne.N,A.A,qe.N,ke.A,Ge.A,Se.N,Ue.N,Le.N,De.N,Be.N,Ie.N,Oe.a,Me.N,Te.N,$e.N,Ee.N,Pe.N,ze.N,Re.N,Qe.N,We.N,Fe.N,He.N,Ke.N,je.N,Ye.N,Xe.A,Symbol.toStringTag,Je.A,Ze.A,ts.yw,Symbol.toStringTag;const es={props:{user:{type:Object,required:!0},settings:{type:Object,default:()=>({})},quotaOptions:{type:Array,default:()=>[]},languages:{type:Array,required:!0},externalActions:{type:Array,default:()=>[]}},setup(t){const{formattedFullTime:e}=(0,Ve.m7)(1e3*t.user.firstLoginTimestamp,{relativeTime:!1,format:{timeStyle:"short",dateStyle:"short"}});return{formattedFullTime:e}},data(){return{selectedGroups:this.user.groups.map((t=>({id:t,name:t}))),selectedSubAdminGroups:this.user.subadmin.map((t=>({id:t,name:t}))),userGroups:this.user.groups.map((t=>({id:t,name:t}))),userSubAdminGroups:this.user.subadmin.map((t=>({id:t,name:t})))}},computed:{showConfig(){return this.$store.getters.getShowConfig},usedSpace(){const e=this.user.quota.used>0?this.user.quota.used:0;return t("settings","{size} used",{size:(0,O.v7)(e,!0)})},usedQuota(){let t=this.user.quota.quota;return t=t>0?Math.min(100,Math.round(this.user.quota.used/t*100)):95*(1-1/(this.user.quota.used/(10*Math.pow(2,30))+1)),isNaN(t)?0:t},userQuota(){if(this.user.quota.quota>=0){const t=(0,O.v7)(this.user.quota.quota);return this.quotaOptions.find((e=>e.id===t))||{id:t,label:t}}return"default"===this.user.quota.quota?this.quotaOptions[0]:this.quotaOptions[1]},minPasswordLength(){return this.$store.getters.getPasswordPolicyMinLength},userLanguage(){const t=this.languages[0].languages.concat(this.languages[1].languages).find((t=>t.code===this.user.language));return"object"!=typeof t&&""!==this.user.language?{code:this.user.language,name:this.user.language}:""!==this.user.language&&t},userFirstLogin(){return this.user.firstLoginTimestamp>0?this.formattedFullTime:this.user.firstLoginTimestamp<0?t("settings","Unknown"):t("settings","Never")},userLastLoginTooltip(){return this.user.lastLoginTimestamp>0?OC.Util.formatDate(1e3*this.user.lastLoginTimestamp):""},userLastLogin(){return this.user.lastLoginTimestamp>0?OC.Util.relativeModifiedDate(1e3*this.user.lastLoginTimestamp):t("settings","Never")}}};var ss=a(95668);const as={name:"UserRow",components:{NcAvatar:at.A,NcLoadingIcon:A.A,NcProgressBar:it.A,NcSelect:T.default,NcTextField:E.A,UserRowActions:ut},mixins:[es],props:{user:{type:Object,required:!0},visible:{type:Boolean,required:!0},users:{type:Array,required:!0},hasObfuscated:{type:Boolean,required:!0},quotaOptions:{type:Array,required:!0},languages:{type:Array,required:!0},settings:{type:Object,required:!0},externalActions:{type:Array,default:()=>[]}},data(){return{selectedQuota:!1,rand:Math.random().toString(36).substring(2),loadingPossibleManagers:!1,possibleManagers:[],currentManager:"",editing:!1,loading:{all:!1,displayName:!1,password:!1,mailAddress:!1,groups:!1,groupsDetails:!1,subAdminGroupsDetails:!1,subadmins:!1,quota:!1,delete:!1,disable:!1,languages:!1,wipe:!1,manager:!1},editedDisplayName:this.user.displayname,editedPassword:"",editedMail:this.user.email??"",promise:null}},computed:{managerLabel:()=>t("settings","Set line manager"),isObfuscated(){return(0,ss.HK)(this.user)},showConfig(){return this.$store.getters.getShowConfig},isLoadingUser(){return this.loading.delete||this.loading.disable||this.loading.wipe},isLoadingField(){return this.loading.delete||this.loading.disable||this.loading.all},uniqueId(){return encodeURIComponent(this.user.id+this.rand)},availableGroups(){return(this.settings.isAdmin||this.settings.isDelegatedAdmin?this.$store.getters.getSortedGroups:this.$store.getters.getSubAdminGroups).filter((t=>"__nc_internal_recent"!==t.id&&"disabled"!==t.id))},availableSubAdminGroups(){return this.availableGroups.filter((t=>"admin"!==t.id))},userGroupsLabels(){return this.userGroups.map((t=>{const e=this.availableGroups.find((e=>e.id===t.id));return e?.name??t.name??t.id})).join(", ")},userSubAdminGroupsLabels(){return this.userSubAdminGroups.map((t=>{const e=this.availableSubAdminGroups.find((e=>e.id===t.id));return e?.name??t.name??t.id})).join(", ")},usedSpace(){return this.user.quota?.used?t("settings","{size} used",{size:(0,O.v7)(this.user.quota?.used)}):t("settings","{size} used",{size:(0,O.v7)(0)})},canEdit(){return(0,et.HW)().uid!==this.user.id||this.settings.isAdmin||this.settings.isDelegatedAdmin},userQuota(){let e=this.user.quota?.quota;return"default"===e&&(e=this.settings.defaultQuota,"none"!==e&&(e=(0,O.lT)(e,!0))),"none"===e||-3===e?t("settings","Unlimited"):e>=0?(0,O.v7)(e):(0,O.v7)(0)},userActions(){const e=[{icon:"icon-delete",text:t("settings","Delete account"),action:this.deleteUser},{icon:"icon-delete",text:t("settings","Disconnect all devices and delete local data"),action:this.wipeUserDevices},{icon:this.user.enabled?"icon-close":"icon-add",text:this.user.enabled?t("settings","Disable account"):t("settings","Enable account"),action:this.enableDisableUser}];return null!==this.user.email&&""!==this.user.email&&e.push({icon:"icon-mail",text:t("settings","Resend welcome email"),action:this.sendWelcomeMail}),e.concat(this.externalActions)},editedUserQuota:{get(){return!1!==this.selectedQuota?this.selectedQuota:this.settings.defaultQuota!==ss.SA.id&&(0,O.lT)(this.settings.defaultQuota,!0)>=0?{id:this.settings.defaultQuota,label:this.settings.defaultQuota}:ss.SA},set(t){this.selectedQuota=t}},availableLanguages(){return this.languages[0].languages.concat(this.languages[1].languages)}},async beforeMount(){this.user.manager&&await this.initManager(this.user.manager)},methods:{async wipeUserDevices(){const e=this.user.id;await(0,st.C5)(),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.",{userid:e}),t("settings","Remote wipe of devices"),{type:OC.dialogs.YES_NO_BUTTONS,confirm:t("settings","Wipe {userid}'s devices",{userid:e}),confirmClasses:"error",cancel:t("settings","Cancel")},(s=>{s&&(this.loading.wipe=!0,this.loading.all=!0,this.$store.dispatch("wipeUserDevices",e).then((()=>(0,d.Te)(t("settings","Wiped {userid}'s devices",{userid:e}))),{timeout:2e3}).finally((()=>{this.loading.wipe=!1,this.loading.all=!1})))}),!0)},filterManagers(t){return t.filter((t=>t.id!==this.user.id))},async initManager(t){await this.$store.dispatch("getUser",t).then((t=>{this.currentManager=t?.data.ocs.data}))},async searchInitialUserManager(){this.loadingPossibleManagers=!0,await this.searchUserManager(),this.loadingPossibleManagers=!1},async loadGroupsDetails(){this.loading.groups=!0,this.loading.groupsDetails=!0;try{const t=await(0,P.Iu)({userId:this.user.id});for(const e of t)this.$store.commit("addGroup",e);this.selectedGroups=this.selectedGroups.map((e=>t.find((t=>t.id===e.id))??e))}catch(e){C.A.error(t("settings","Failed to load groups with details"),{error:e})}this.loading.groups=!1,this.loading.groupsDetails=!1},async loadSubAdminGroupsDetails(){this.loading.subadmins=!0,this.loading.subAdminGroupsDetails=!0;try{const t=await(0,P.FF)({userId:this.user.id});for(const e of t)this.$store.commit("addGroup",e);this.selectedSubAdminGroups=this.selectedSubAdminGroups.map((e=>t.find((t=>t.id===e.id))??e))}catch(e){C.A.error(t("settings","Failed to load subadmin groups with details"),{error:e})}this.loading.subadmins=!1,this.loading.subAdminGroupsDetails=!1},async searchGroups(e,s){if(""!==e){this.promise&&this.promise.cancel(),s(!0);try{this.promise=await(0,P.N_)({search:e,offset:0,limit:25});const t=await this.promise;for(const e of t)this.$store.commit("addGroup",e)}catch(e){C.A.error(t("settings","Failed to search groups"),{error:e})}this.promise=null,s(!1)}},async searchUserManager(t){await this.$store.dispatch("searchUsers",{offset:0,limit:10,search:t}).then((t=>{const e=t?.data?this.filterManagers(Object.values(t?.data.ocs.data.users)):[];e.length>0&&(this.possibleManagers=e)}))},async updateUserManager(){this.loading.manager=!0;const e=this.user.manager;try{await this.$store.dispatch("setUserData",{userid:this.user.id,key:"manager",value:this.currentManager?this.currentManager.id:""})}catch(s){(0,d.Qg)(t("settings","Failed to update line manager")),C.A.error("Failed to update manager:",{error:s}),this.currentManager=e}finally{this.loading.manager=!1}},async deleteUser(){const e=this.user.id;await(0,st.C5)(),OC.dialogs.confirmDestructive(t("settings","Fully delete {userid}'s account including all their personal files, app data, etc.",{userid:e}),t("settings","Account deletion"),{type:OC.dialogs.YES_NO_BUTTONS,confirm:t("settings","Delete {userid}'s account",{userid:e}),confirmClasses:"error",cancel:t("settings","Cancel")},(t=>{if(t)return this.loading.delete=!0,this.loading.all=!0,this.$store.dispatch("deleteUser",e).then((()=>{this.loading.delete=!1,this.loading.all=!1}))}),!0)},enableDisableUser(){this.loading.delete=!0,this.loading.all=!0;const t=this.user.id,e=!this.user.enabled;return this.$store.dispatch("enableDisableUser",{userid:t,enabled:e}).then((()=>{this.loading.delete=!1,this.loading.all=!1}))},async updateDisplayName(){this.loading.displayName=!0;try{await this.$store.dispatch("setUserData",{userid:this.user.id,key:"displayname",value:this.editedDisplayName}),this.editedDisplayName===this.user.displayname&&(0,d.Te)(t("settings","Display name was successfully changed"))}finally{this.loading.displayName=!1}},async updatePassword(){if(this.loading.password=!0,0===this.editedPassword.length)(0,d.Qg)(t("settings","Password can't be empty")),this.loading.password=!1;else try{await this.$store.dispatch("setUserData",{userid:this.user.id,key:"password",value:this.editedPassword}),this.editedPassword="",(0,d.Te)(t("settings","Password was successfully changed"))}finally{this.loading.password=!1}},async updateEmail(){if(this.loading.mailAddress=!0,""===this.editedMail)(0,d.Qg)(t("settings","Email can't be empty")),this.loading.mailAddress=!1,this.editedMail=this.user.email;else try{await this.$store.dispatch("setUserData",{userid:this.user.id,key:"email",value:this.editedMail}),this.editedMail===this.user.email&&(0,d.Te)(t("settings","Email was successfully changed"))}finally{this.loading.mailAddress=!1}},async createGroup({name:e}){this.loading.groups=!0;try{await this.$store.dispatch("addGroup",e);const t=this.user.id;await this.$store.dispatch("addUserGroup",{userid:t,gid:e}),this.userGroups.push({id:e,name:e})}catch(e){C.A.error(t("settings","Failed to create group"),{error:e})}this.loading.groups=!1},async addUserGroup(t){if(t.isCreating)return;const e=this.user.id,s=t.id;if(!1!==t.canAdd){this.loading.groups=!0;try{await this.$store.dispatch("addUserGroup",{userid:e,gid:s}),this.userGroups.push(t)}catch(t){console.error(t)}this.loading.groups=!1}},async removeUserGroup(t){if(!1===t.canRemove)return!1;this.loading.groups=!0;const e=this.user.id,s=t.id;try{await this.$store.dispatch("removeUserGroup",{userid:e,gid:s}),this.userGroups=this.userGroups.filter((t=>t.id!==s)),this.loading.groups=!1,this.$route.params.selectedGroup===s&&this.$store.commit("deleteUser",e)}catch{this.loading.groups=!1}},async addUserSubAdmin(t){this.loading.subadmins=!0;const e=this.user.id,s=t.id;try{await this.$store.dispatch("addUserSubAdmin",{userid:e,gid:s}),this.userSubAdminGroups.push(t)}catch(t){console.error(t)}this.loading.subadmins=!1},async removeUserSubAdmin(t){this.loading.subadmins=!0;const e=this.user.id,s=t.id;try{await this.$store.dispatch("removeUserSubAdmin",{userid:e,gid:s}),this.userSubAdminGroups=this.userSubAdminGroups.filter((t=>t.id!==s))}catch(t){console.error(t)}finally{this.loading.subadmins=!1}},async setUserQuota(t="none"){"none"===t&&(t=ss.SA),this.loading.quota=!0,t=t.id?t.id:t;try{const e=((0,O.lT)(t,!0)||t).toString();await this.$store.dispatch("setUserData",{userid:this.user.id,key:"quota",value:e})}catch(t){console.error(t)}finally{this.loading.quota=!1}return t},validateQuota:t=>("object"==typeof t&&(t=t?.id||t.label),null===(0,O.lT)(t,!0)?ss.SA:{id:t=(0,O.v7)((0,O.lT)(t,!0)),label:t}),async setUserLanguage(t){this.loading.languages=!0;try{await this.$store.dispatch("setUserData",{userid:this.user.id,key:"language",value:t.code}),this.loading.languages=!1}catch(t){console.error(t)}return t},sendWelcomeMail(){this.loading.all=!0,this.$store.dispatch("sendWelcomeMail",this.user.id).then((()=>(0,d.Te)(t("settings","Welcome mail sent!"),{timeout:2e3}))).finally((()=>{this.loading.all=!1}))},async toggleEdit(){this.editing=!this.editing,this.editing&&(await this.$nextTick(),this.$refs.displayNameField?.$refs?.inputField?.$refs?.input?.focus(),this.loadGroupsDetails(),this.loadSubAdminGroupsDetails()),this.editedDisplayName!==this.user.displayname?this.editedDisplayName=this.user.displayname:this.editedMail!==this.user.email&&(this.editedMail=this.user.email??"")}}};var is=a(78897),ns={};ns.styleTagTransform=L(),ns.setAttributes=k(),ns.insert=x().bind(null,"head"),ns.domAPI=b(),ns.insertStyleElement=S(),f()(is.A,ns),is.A&&is.A.locals&&is.A.locals;var rs=(0,I.A)(as,(function(){var t=this,e=t._self._c;return e("tr",{staticClass:"user-list__row",attrs:{"data-cy-user-row":t.user.id}},[e("td",{staticClass:"row__cell row__cell--avatar",attrs:{"data-cy-user-list-cell-avatar":""}},[t.isLoadingUser?e("NcLoadingIcon",{attrs:{name:t.t("settings","Loading account …"),size:32}}):t.visible?e("NcAvatar",{attrs:{"disable-menu":"","show-user-status":!1,user:t.user.id}}):t._e()],1),t._v(" "),e("td",{staticClass:"row__cell row__cell--displayname",attrs:{"data-cy-user-list-cell-displayname":""}},[t.editing&&t.user.backendCapabilities.setDisplayName?[e("NcTextField",{ref:"displayNameField",staticClass:"user-row-text-field",class:{"icon-loading-small":t.loading.displayName},attrs:{"data-cy-user-list-input-displayname":"","data-loading":t.loading.displayName||void 0,"trailing-button-label":t.t("settings","Submit"),"show-trailing-button":!0,disabled:t.loading.displayName||t.isLoadingField,label:t.t("settings","Change display name"),"trailing-button-icon":"arrowRight",value:t.editedDisplayName,autocapitalize:"off",autocomplete:"off",spellcheck:"false"},on:{"update:value":function(e){t.editedDisplayName=e},"trailing-button-click":t.updateDisplayName}})]:t.isObfuscated?t._e():e("strong",{attrs:{title:t.user.displayname?.length>20?t.user.displayname:null}},[t._v("\n\t\t\t"+t._s(t.user.displayname)+"\n\t\t")])],2),t._v(" "),e("td",{staticClass:"row__cell row__cell--username",attrs:{"data-cy-user-list-cell-username":""}},[e("span",{staticClass:"row__subtitle"},[t._v(t._s(t.user.id))])]),t._v(" "),e("td",{staticClass:"row__cell",class:{"row__cell--obfuscated":t.hasObfuscated},attrs:{"data-cy-user-list-cell-password":""}},[t.editing&&t.settings.canChangePassword&&t.user.backendCapabilities.setPassword?[e("NcTextField",{staticClass:"user-row-text-field",class:{"icon-loading-small":t.loading.password},attrs:{"data-cy-user-list-input-password":"","data-loading":t.loading.password||void 0,"trailing-button-label":t.t("settings","Submit"),"show-trailing-button":!0,disabled:t.loading.password||t.isLoadingField,minlength:t.minPasswordLength,maxlength:"469",label:t.t("settings","Set new password"),"trailing-button-icon":"arrowRight",value:t.editedPassword,autocapitalize:"off",autocomplete:"new-password",required:"",spellcheck:"false",type:"password"},on:{"update:value":function(e){t.editedPassword=e},"trailing-button-click":t.updatePassword}})]:t.isObfuscated?e("span",[t._v("\n\t\t\t"+t._s(t.t("settings","You do not have permissions to see the details of this account"))+"\n\t\t")]):t._e()],2),t._v(" "),e("td",{staticClass:"row__cell",attrs:{"data-cy-user-list-cell-email":""}},[t.editing?[e("NcTextField",{staticClass:"user-row-text-field",class:{"icon-loading-small":t.loading.mailAddress},attrs:{"data-cy-user-list-input-email":"","data-loading":t.loading.mailAddress||void 0,"show-trailing-button":!0,"trailing-button-label":t.t("settings","Submit"),label:t.t("settings","Set new email address"),disabled:t.loading.mailAddress||t.isLoadingField,"trailing-button-icon":"arrowRight",value:t.editedMail,autocapitalize:"off",autocomplete:"email",spellcheck:"false",type:"email"},on:{"update:value":function(e){t.editedMail=e},"trailing-button-click":t.updateEmail}})]:t.isObfuscated?t._e():e("span",{attrs:{title:t.user.email?.length>20?t.user.email:null}},[t._v("\n\t\t\t"+t._s(t.user.email)+"\n\t\t")])],2),t._v(" "),e("td",{staticClass:"row__cell row__cell--large row__cell--multiline",attrs:{"data-cy-user-list-cell-groups":""}},[t.editing?[e("label",{staticClass:"hidden-visually",attrs:{for:"groups"+t.uniqueId}},[t._v("\n\t\t\t\t"+t._s(t.t("settings","Add account to group"))+"\n\t\t\t")]),t._v(" "),e("NcSelect",{attrs:{"data-cy-user-list-input-groups":"","data-loading":t.loading.groups||void 0,"input-id":"groups"+t.uniqueId,"close-on-select":!1,disabled:t.isLoadingField||t.loading.groupsDetails,loading:t.loading.groups,multiple:!0,"append-to-body":!1,options:t.availableGroups,placeholder:t.t("settings","Add account to group"),taggable:t.settings.isAdmin||t.settings.isDelegatedAdmin,value:t.userGroups,label:"name","no-wrap":!0,"create-option":t=>({id:t,name:t,isCreating:!0})},on:{search:t.searchGroups,"option:created":t.createGroup,"option:selected":e=>t.addUserGroup(e.at(-1)),"option:deselected":t.removeUserGroup}})]:t.isObfuscated?t._e():e("span",{attrs:{title:t.userGroupsLabels?.length>40?t.userGroupsLabels:null}},[t._v("\n\t\t\t"+t._s(t.userGroupsLabels)+"\n\t\t")])],2),t._v(" "),t.settings.isAdmin||t.settings.isDelegatedAdmin?e("td",{staticClass:"row__cell row__cell--large row__cell--multiline",attrs:{"data-cy-user-list-cell-subadmins":""}},[t.editing&&(t.settings.isAdmin||t.settings.isDelegatedAdmin)?[e("label",{staticClass:"hidden-visually",attrs:{for:"subadmins"+t.uniqueId}},[t._v("\n\t\t\t\t"+t._s(t.t("settings","Set account as admin for"))+"\n\t\t\t")]),t._v(" "),e("NcSelect",{attrs:{"data-cy-user-list-input-subadmins":"","data-loading":t.loading.subadmins||void 0,"input-id":"subadmins"+t.uniqueId,"close-on-select":!1,disabled:t.isLoadingField||t.loading.subAdminGroupsDetails,loading:t.loading.subadmins,label:"name","append-to-body":!1,multiple:!0,"no-wrap":!0,options:t.availableSubAdminGroups,placeholder:t.t("settings","Set account as admin for"),value:t.userSubAdminGroups},on:{search:t.searchGroups,"option:deselected":t.removeUserSubAdmin,"option:selected":e=>t.addUserSubAdmin(e.at(-1))}})]:t.isObfuscated?t._e():e("span",{attrs:{title:t.userSubAdminGroupsLabels?.length>40?t.userSubAdminGroupsLabels:null}},[t._v("\n\t\t\t"+t._s(t.userSubAdminGroupsLabels)+"\n\t\t")])],2):t._e(),t._v(" "),e("td",{staticClass:"row__cell",attrs:{"data-cy-user-list-cell-quota":""}},[t.editing?[e("label",{staticClass:"hidden-visually",attrs:{for:"quota"+t.uniqueId}},[t._v("\n\t\t\t\t"+t._s(t.t("settings","Select account quota"))+"\n\t\t\t")]),t._v(" "),e("NcSelect",{attrs:{"close-on-select":!0,"create-option":t.validateQuota,"data-cy-user-list-input-quota":"","data-loading":t.loading.quota||void 0,disabled:t.isLoadingField,loading:t.loading.quota,"append-to-body":!1,clearable:!1,"input-id":"quota"+t.uniqueId,options:t.quotaOptions,placeholder:t.t("settings","Select account quota"),taggable:!0},on:{"option:selected":t.setUserQuota},model:{value:t.editedUserQuota,callback:function(e){t.editedUserQuota=e},expression:"editedUserQuota"}})]:t.isObfuscated?t._e():[e("span",{attrs:{id:"quota-progress"+t.uniqueId}},[t._v(t._s(t.userQuota)+" ("+t._s(t.usedSpace)+")")]),t._v(" "),e("NcProgressBar",{staticClass:"row__progress",class:{"row__progress--warn":t.usedQuota>80},attrs:{"aria-labelledby":"quota-progress"+t.uniqueId,value:t.usedQuota}})]],2),t._v(" "),t.showConfig.showLanguages?e("td",{staticClass:"row__cell row__cell--large",attrs:{"data-cy-user-list-cell-language":""}},[t.editing?[e("label",{staticClass:"hidden-visually",attrs:{for:"language"+t.uniqueId}},[t._v("\n\t\t\t\t"+t._s(t.t("settings","Set the language"))+"\n\t\t\t")]),t._v(" "),e("NcSelect",{attrs:{id:"language"+t.uniqueId,"data-cy-user-list-input-language":"","data-loading":t.loading.languages||void 0,"allow-empty":!1,disabled:t.isLoadingField,loading:t.loading.languages,clearable:!1,"append-to-body":!1,options:t.availableLanguages,placeholder:t.t("settings","No language set"),value:t.userLanguage,label:"name"},on:{input:t.setUserLanguage}})]:t.isObfuscated?t._e():e("span",[t._v("\n\t\t\t"+t._s(t.userLanguage.name)+"\n\t\t")])],2):t._e(),t._v(" "),t.showConfig.showUserBackend||t.showConfig.showStoragePath?e("td",{staticClass:"row__cell row__cell--large",attrs:{"data-cy-user-list-cell-storage-location":""}},[t.isObfuscated?t._e():[t.showConfig.showUserBackend?e("span",[t._v(t._s(t.user.backend))]):t._e(),t._v(" "),t.showConfig.showStoragePath?e("span",{staticClass:"row__subtitle",attrs:{title:t.user.storageLocation}},[t._v("\n\t\t\t\t"+t._s(t.user.storageLocation)+"\n\t\t\t")]):t._e()]],2):t._e(),t._v(" "),t.showConfig.showFirstLogin?e("td",{staticClass:"row__cell",attrs:{"data-cy-user-list-cell-first-login":""}},[t.isObfuscated?t._e():e("span",[t._v(t._s(t.userFirstLogin))])]):t._e(),t._v(" "),t.showConfig.showLastLogin?e("td",{staticClass:"row__cell",attrs:{title:t.userLastLoginTooltip,"data-cy-user-list-cell-last-login":""}},[t.isObfuscated?t._e():e("span",[t._v(t._s(t.userLastLogin))])]):t._e(),t._v(" "),e("td",{staticClass:"row__cell row__cell--large row__cell--fill",attrs:{"data-cy-user-list-cell-manager":""}},[t.editing?[e("label",{staticClass:"hidden-visually",attrs:{for:"manager"+t.uniqueId}},[t._v("\n\t\t\t\t"+t._s(t.managerLabel)+"\n\t\t\t")]),t._v(" "),e("NcSelect",{staticClass:"select--fill",attrs:{"data-cy-user-list-input-manager":"","data-loading":t.loading.manager||void 0,"input-id":"manager"+t.uniqueId,disabled:t.isLoadingField,loading:t.loadingPossibleManagers||t.loading.manager,options:t.possibleManagers,placeholder:t.managerLabel,label:"displayname",filterable:!1,"internal-search":!1,clearable:!0},on:{open:t.searchInitialUserManager,search:t.searchUserManager,"update:model-value":t.updateUserManager},model:{value:t.currentManager,callback:function(e){t.currentManager=e},expression:"currentManager"}})]:t.isObfuscated?t._e():e("span",[t._v("\n\t\t\t"+t._s(t.user.manager)+"\n\t\t")])],2),t._v(" "),e("td",{staticClass:"row__cell row__cell--actions",attrs:{"data-cy-user-list-cell-actions":""}},[t.visible&&!t.isObfuscated&&t.canEdit&&!t.loading.all?e("UserRowActions",{attrs:{actions:t.userActions,disabled:t.isLoadingField,edit:t.editing,user:t.user},on:{"update:edit":t.toggleEdit}}):t._e()],1)])}),[],!1,null,"549fcd14",null);const os=rs.exports,ls=Object.freeze({id:"",displayName:"",password:"",mailAddress:"",groups:[],manager:"",subAdminsGroups:[],quota:ss.MY,language:{code:"en",name:t("settings","Default language")}}),ds={name:"UserList",components:{Fragment:c.F,NcEmptyContent:u.A,NcIconSvgWrapper:g.A,NcLoadingIcon:A.A,NewUserDialog:H,UserListFooter:X,UserListHeader:tt,VirtualList:q},props:{selectedGroup:{type:String,default:null},externalActions:{type:Array,default:()=>[]}},setup:()=>({mdiAccountGroup:l.n7C,rowHeight:55,UserRow:os}),data:()=>({loading:{all:!1,groups:!1,users:!1},newUser:{...ls},isInitialLoad:!0,searchQuery:""}),computed:{showConfig(){return this.$store.getters.getShowConfig},settings(){return this.$store.getters.getServerData},style(){return{"--row-height":`${this.rowHeight}px`}},hasObfuscated(){return this.filteredUsers.some((t=>(0,ss.HK)(t)))},users(){return this.$store.getters.getUsers},filteredUsers(){return"disabled"===this.selectedGroup?this.users.filter((t=>!1===t.enabled)):this.users.filter((t=>!1!==t.enabled))},groups(){return this.$store.getters.getSortedGroups.filter((t=>"__nc_internal_recent"!==t.id&&"disabled"!==t.id))},quotaOptions(){const t=this.settings.quotaPreset.reduce(((t,e)=>t.concat({id:e,label:e})),[]);return this.settings.allowUnlimitedQuota&&t.unshift(ss.SA),t.unshift(ss.MY),t},usersOffset(){return this.$store.getters.getUsersOffset},usersLimit(){return this.$store.getters.getUsersLimit},disabledUsersOffset(){return this.$store.getters.getDisabledUsersOffset},disabledUsersLimit(){return this.$store.getters.getDisabledUsersLimit},usersCount(){return this.users.length},languages(){return[{label:t("settings","Common languages"),languages:this.settings.languages.commonLanguages},{label:t("settings","Other languages"),languages:this.settings.languages.otherLanguages}]}},watch:{async selectedGroup(t){this.isInitialLoad=!0,await this.redirectIfDisabled(),this.$store.commit("resetUsers"),await this.loadUsers(),this.setNewUserDefaultGroup(t)},filteredUsers(t){C.A.debug(`${t.length} filtered user(s)`)}},async created(){await this.loadUsers()},async mounted(){this.settings.canChangePassword||OC.Notification.showTemporary(t("settings","Password change is disabled because the master key is disabled")),this.resetForm(),(0,n.B1)("nextcloud:unified-search.search",this.search),(0,n.B1)("nextcloud:unified-search.reset",this.resetSearch),await this.redirectIfDisabled()},beforeDestroy(){(0,n.al)("nextcloud:unified-search.search",this.search),(0,n.al)("nextcloud:unified-search.reset",this.resetSearch)},methods:{async handleScrollEnd(){await this.loadUsers()},async loadUsers(){this.loading.users=!0;try{"disabled"===this.selectedGroup?await this.$store.dispatch("getDisabledUsers",{offset:this.disabledUsersOffset,limit:this.disabledUsersLimit,search:this.searchQuery}):"__nc_internal_recent"===this.selectedGroup?await this.$store.dispatch("getRecentUsers",{offset:this.usersOffset,limit:this.usersLimit,search:this.searchQuery}):await this.$store.dispatch("getUsers",{offset:this.usersOffset,limit:this.usersLimit,group:this.selectedGroup,search:this.searchQuery}),C.A.debug(`${this.users.length} total user(s) loaded`)}catch(t){C.A.error("Failed to load accounts",{error:t}),(0,d.Qg)("Failed to load accounts")}this.loading.users=!1,this.isInitialLoad=!1},closeDialog(){this.$store.commit("setShowConfig",{key:"showNewUserForm",value:!1})},async search({query:t}){this.searchQuery=t,this.$store.commit("resetUsers"),await this.loadUsers()},resetSearch(){this.search({query:""})},resetForm(){this.newUser=Object.assign({},ls),this.settings.defaultLanguage&&r.Ay.set(this.newUser.language,"code",this.settings.defaultLanguage),this.setNewUserDefaultGroup(this.selectedGroup),this.loading.all=!1},setNewUserDefaultGroup(t){if(t||this.settings.isAdmin||this.settings.isDelegatedAdmin){if(t){const e=this.groups.find((e=>e.id===t));if(e)return void(this.newUser.groups=[e])}this.newUser.groups=[]}else{const t=this.$store.getters.getSubAdminGroups;1===t.length&&(this.newUser.groups=[...t])}},async redirectIfDisabled(){const t=this.$store.getters.getGroups;"disabled"===this.selectedGroup&&t.findIndex((t=>"disabled"===t.id&&0===t.usercount))>-1&&(this.$router.push({name:"users"}),await this.loadUsers())}}};var cs=a(91544),us={};us.styleTagTransform=L(),us.setAttributes=k(),us.insert=x().bind(null,"head"),us.domAPI=b(),us.insertStyleElement=S(),f()(cs.A,us),cs.A&&cs.A.locals&&cs.A.locals;const gs=(0,I.A)(ds,(function(){var t=this,e=t._self._c;return e("Fragment",[t.showConfig.showNewUserForm?e("NewUserDialog",{attrs:{loading:t.loading,"new-user":t.newUser,"quota-options":t.quotaOptions},on:{reset:t.resetForm,closing:t.closeDialog}}):t._e(),t._v(" "),0===t.filteredUsers.length?e("NcEmptyContent",{staticClass:"empty",attrs:{name:t.isInitialLoad&&t.loading.users?null:t.t("settings","No accounts")},scopedSlots:t._u([{key:"icon",fn:function(){return[t.isInitialLoad&&t.loading.users?e("NcLoadingIcon",{attrs:{name:t.t("settings","Loading accounts …"),size:64}}):e("NcIconSvgWrapper",{attrs:{path:t.mdiAccountGroup,size:64}})]},proxy:!0}],null,!1,226056511)}):e("VirtualList",{style:t.style,attrs:{"data-component":t.UserRow,"data-sources":t.filteredUsers,"data-key":"id","data-cy-user-list":"","item-height":t.rowHeight,"extra-props":{users:t.users,settings:t.settings,hasObfuscated:t.hasObfuscated,quotaOptions:t.quotaOptions,languages:t.languages,externalActions:t.externalActions}},on:{"scroll-end":t.handleScrollEnd},scopedSlots:t._u([{key:"before",fn:function(){return[e("caption",{staticClass:"hidden-visually"},[t._v("\n\t\t\t\t"+t._s(t.t("settings","List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list."))+"\n\t\t\t")])]},proxy:!0},{key:"header",fn:function(){return[e("UserListHeader",{attrs:{"has-obfuscated":t.hasObfuscated}})]},proxy:!0},{key:"footer",fn:function(){return[e("UserListFooter",{attrs:{loading:t.loading.users,"filtered-users":t.filteredUsers}})]},proxy:!0}])})],1)}),[],!1,null,"73fd953a",null).exports,As=(0,r.pM)({name:"UserManagement",components:{NcAppContent:o.A,UserList:gs},data:()=>({externalActions:[]}),computed:{pageHeading(){return null===this.selectedGroupDecoded?(0,i.Tl)("settings","All accounts"):{admin:(0,i.Tl)("settings","Admins"),disabled:(0,i.Tl)("settings","Disabled accounts")}[this.selectedGroupDecoded]??(0,i.Tl)("settings","Account group: {group}",{group:this.selectedGroupDecoded})},selectedGroup(){return this.$route.params.selectedGroup},selectedGroupDecoded(){return this.selectedGroup?decodeURIComponent(this.selectedGroup):null}},beforeMount(){this.$store.dispatch("getPasswordPolicyMinLength")},created(){window.OCA=window.OCA??{},window.OCA.Settings=window.OCA.Settings??{},window.OCA.Settings.UserList=window.OCA.Settings.UserList??{},window.OCA.Settings.UserList.registerAction=this.registerAction,(0,n.Ic)("settings:user-management:loaded")},methods:{t:i.Tl,registerAction(t,e,s,a){return this.externalActions.push({icon:t,text:e,action:s,enabled:a}),this.externalActions}}});var ps=a(11196),hs={};hs.styleTagTransform=L(),hs.setAttributes=k(),hs.insert=x().bind(null,"head"),hs.domAPI=b(),hs.insertStyleElement=S(),f()(ps.A,hs),ps.A&&ps.A.locals&&ps.A.locals;const ms=(0,I.A)(As,(function(){var t=this,e=t._self._c;return t._self._setupProxy,e("NcAppContent",{attrs:{"page-heading":t.pageHeading}},[e("UserList",{attrs:{"selected-group":t.selectedGroupDecoded,"external-actions":t.externalActions}})],1)}),[],!1,null,"4684ed00",null).exports},18033(t,e,s){s.d(e,{A:()=>o});var a=s(71354),i=s.n(a),n=s(76314),r=s.n(n)()(i());r.push([t.id,".footer[data-v-20636959]{position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background)}.footer__cell[data-v-20636959]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.footer__cell strong[data-v-20636959],.footer__cell span[data-v-20636959],.footer__cell label[data-v-20636959]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.footer__cell--avatar[data-v-20636959],.footer__cell--displayname[data-v-20636959]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.footer__cell--avatar[data-v-20636959]{inset-inline-start:0}.footer__cell--displayname[data-v-20636959]{inset-inline-start:var(--avatar-cell-width);border-inline-end:1px solid var(--color-border)}}.footer__cell--username[data-v-20636959]{padding-inline-start:calc(var(--default-grid-baseline)*3)}.footer__cell--avatar[data-v-20636959]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.footer__cell--multiline span[data-v-20636959]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.footer__cell--multiline span[data-v-20636959]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.footer__cell--large[data-v-20636959]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.footer__cell--obfuscated[data-v-20636959]{min-width:400px;width:400px}.footer__cell--fill[data-v-20636959]{min-width:var(--cell-width-large);width:100%}.footer__cell--actions[data-v-20636959]{position:sticky;inset-inline-end:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-inline-start:1px solid var(--color-border)}.footer__subtitle[data-v-20636959]{color:var(--color-text-maxcontrast)}.footer__cell[data-v-20636959]{position:sticky;color:var(--color-text-maxcontrast)}.footer__cell--loading[data-v-20636959]{inset-inline-start:0;min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0}.footer__cell--count[data-v-20636959]{inset-inline-start:var(--avatar-cell-width);min-width:var(--cell-width);width:var(--cell-width)}","",{version:3,sources:["webpack://./apps/settings/src/components/Users/UserListFooter.vue","webpack://./apps/settings/src/components/Users/shared/styles.scss"],names:[],mappings:"AAGA,yBCGC,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CAIA,+BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,+GAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,mFAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,uCACC,oBAAA,CAGD,4CACC,2CAAA,CACA,+CAAA,CAAA,CAIF,yCACC,yDAAA,CAGD,uCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,+CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,+CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,sCACC,iCAAA,CACA,6BAAA,CAGD,2CACC,eAAA,CACA,WAAA,CAID,qCACC,iCAAA,CACA,UAAA,CAGD,wCACC,eAAA,CACA,kBAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,iDAAA,CAIF,mCACC,mCAAA,CDpGD,+BACC,eAAA,CACA,mCAAA,CAEA,wCACC,oBAAA,CACA,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CAGD,sCACC,2CAAA,CACA,2BAAA,CACA,uBAAA",sourcesContent:["\n@use './shared/styles';\n\n.footer {\n\t@include styles.row;\n\t@include styles.cell;\n\n\t&__cell {\n\t\tposition: sticky;\n\t\tcolor: var(--color-text-maxcontrast);\n\n\t\t&--loading {\n\t\t\tinset-inline-start: 0;\n\t\t\tmin-width: var(--avatar-cell-width);\n\t\t\twidth: var(--avatar-cell-width);\n\t\t\talign-items: center;\n\t\t\tpadding: 0;\n\t\t}\n\n\t\t&--count {\n\t\t\tinset-inline-start: var(--avatar-cell-width);\n\t\t\tmin-width: var(--cell-width);\n\t\t\twidth: var(--cell-width);\n\t\t}\n\t}\n}\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n@mixin row {\n\tposition: relative;\n\tdisplay: flex;\n\tmin-width: 100%;\n\twidth: fit-content;\n\theight: var(--row-height);\n\tbackground-color: var(--color-main-background);\n}\n\n@mixin cell {\n\t&__cell {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\tpadding: 0 var(--cell-padding);\n\t\tmin-width: var(--cell-width);\n\t\twidth: var(--cell-width);\n\t\tcolor: var(--color-main-text);\n\n\t\tstrong,\n\t\tspan,\n\t\tlabel {\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t\toverflow-wrap: anywhere;\n\t\t}\n\n\t\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\n\t\t\t&--avatar,\n\t\t\t&--displayname {\n\t\t\t\tposition: sticky;\n\t\t\t\tz-index: var(--sticky-column-z-index);\n\t\t\t\tbackground-color: var(--color-main-background);\n\t\t\t}\n\n\t\t\t&--avatar {\n\t\t\t\tinset-inline-start: 0;\n\t\t\t}\n\n\t\t\t&--displayname {\n\t\t\t\tinset-inline-start: var(--avatar-cell-width);\n\t\t\t\tborder-inline-end: 1px solid var(--color-border);\n\t\t\t}\n\t\t}\n\n\t\t&--username {\n\t\t\tpadding-inline-start: calc(var(--default-grid-baseline) * 3);\n\t\t}\n\n\t\t&--avatar {\n\t\t\tmin-width: var(--avatar-cell-width);\n\t\t\twidth: var(--avatar-cell-width);\n\t\t\talign-items: center;\n\t\t\tpadding: 0;\n\t\t\tuser-select: none;\n\t\t}\n\n\t\t&--multiline {\n\t\t\tspan {\n\t\t\t\tline-height: 1.3em;\n\t\t\t\twhite-space: unset;\n\n\t\t\t\t@supports (-webkit-line-clamp: 2) {\n\t\t\t\t\tdisplay: -webkit-box;\n\t\t\t\t\t-webkit-line-clamp: 2;\n\t\t\t\t\t-webkit-box-orient: vertical;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&--large {\n\t\t\tmin-width: var(--cell-width-large);\n\t\t\twidth: var(--cell-width-large);\n\t\t}\n\n\t\t&--obfuscated {\n\t\t\tmin-width: 400px;\n\t\t\twidth: 400px;\n\t\t}\n\n\t\t// Fill remaining row space with cell\n\t\t&--fill {\n\t\t\tmin-width: var(--cell-width-large);\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t&--actions {\n\t\t\tposition: sticky;\n\t\t\tinset-inline-end: 0;\n\t\t\tz-index: var(--sticky-column-z-index);\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: row;\n\t\t\talign-items: center;\n\t\t\tmin-width: 110px;\n\t\t\twidth: 110px;\n\t\t\tbackground-color: var(--color-main-background);\n\t\t\tborder-inline-start: 1px solid var(--color-border);\n\t\t}\n\t}\n\n\t&__subtitle {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n}\n"],sourceRoot:""}]);const o=r},24882(t,e,s){s.d(e,{A:()=>o});var a=s(71354),i=s.n(a),n=s(76314),r=s.n(n)()(i());r.push([t.id,".header[data-v-5c0f8828]{border-bottom:1px solid var(--color-border);position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background)}.header__cell[data-v-5c0f8828]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.header__cell strong[data-v-5c0f8828],.header__cell span[data-v-5c0f8828],.header__cell label[data-v-5c0f8828]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.header__cell--avatar[data-v-5c0f8828],.header__cell--displayname[data-v-5c0f8828]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.header__cell--avatar[data-v-5c0f8828]{inset-inline-start:0}.header__cell--displayname[data-v-5c0f8828]{inset-inline-start:var(--avatar-cell-width);border-inline-end:1px solid var(--color-border)}}.header__cell--username[data-v-5c0f8828]{padding-inline-start:calc(var(--default-grid-baseline)*3)}.header__cell--avatar[data-v-5c0f8828]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.header__cell--multiline span[data-v-5c0f8828]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.header__cell--multiline span[data-v-5c0f8828]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.header__cell--large[data-v-5c0f8828]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.header__cell--obfuscated[data-v-5c0f8828]{min-width:400px;width:400px}.header__cell--fill[data-v-5c0f8828]{min-width:var(--cell-width-large);width:100%}.header__cell--actions[data-v-5c0f8828]{position:sticky;inset-inline-end:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-inline-start:1px solid var(--color-border)}.header__subtitle[data-v-5c0f8828]{color:var(--color-text-maxcontrast)}","",{version:3,sources:["webpack://./apps/settings/src/components/Users/UserListHeader.vue","webpack://./apps/settings/src/components/Users/shared/styles.scss"],names:[],mappings:"AAGA,yBACC,2CAAA,CCEA,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CAIA,+BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,+GAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,mFAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,uCACC,oBAAA,CAGD,4CACC,2CAAA,CACA,+CAAA,CAAA,CAIF,yCACC,yDAAA,CAGD,uCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,+CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,+CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,sCACC,iCAAA,CACA,6BAAA,CAGD,2CACC,eAAA,CACA,WAAA,CAID,qCACC,iCAAA,CACA,UAAA,CAGD,wCACC,eAAA,CACA,kBAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,iDAAA,CAIF,mCACC,mCAAA",sourcesContent:["\n@use './shared/styles';\n\n.header {\n\tborder-bottom: 1px solid var(--color-border);\n\n\t@include styles.row;\n\t@include styles.cell;\n}\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n@mixin row {\n\tposition: relative;\n\tdisplay: flex;\n\tmin-width: 100%;\n\twidth: fit-content;\n\theight: var(--row-height);\n\tbackground-color: var(--color-main-background);\n}\n\n@mixin cell {\n\t&__cell {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\tpadding: 0 var(--cell-padding);\n\t\tmin-width: var(--cell-width);\n\t\twidth: var(--cell-width);\n\t\tcolor: var(--color-main-text);\n\n\t\tstrong,\n\t\tspan,\n\t\tlabel {\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t\toverflow-wrap: anywhere;\n\t\t}\n\n\t\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\n\t\t\t&--avatar,\n\t\t\t&--displayname {\n\t\t\t\tposition: sticky;\n\t\t\t\tz-index: var(--sticky-column-z-index);\n\t\t\t\tbackground-color: var(--color-main-background);\n\t\t\t}\n\n\t\t\t&--avatar {\n\t\t\t\tinset-inline-start: 0;\n\t\t\t}\n\n\t\t\t&--displayname {\n\t\t\t\tinset-inline-start: var(--avatar-cell-width);\n\t\t\t\tborder-inline-end: 1px solid var(--color-border);\n\t\t\t}\n\t\t}\n\n\t\t&--username {\n\t\t\tpadding-inline-start: calc(var(--default-grid-baseline) * 3);\n\t\t}\n\n\t\t&--avatar {\n\t\t\tmin-width: var(--avatar-cell-width);\n\t\t\twidth: var(--avatar-cell-width);\n\t\t\talign-items: center;\n\t\t\tpadding: 0;\n\t\t\tuser-select: none;\n\t\t}\n\n\t\t&--multiline {\n\t\t\tspan {\n\t\t\t\tline-height: 1.3em;\n\t\t\t\twhite-space: unset;\n\n\t\t\t\t@supports (-webkit-line-clamp: 2) {\n\t\t\t\t\tdisplay: -webkit-box;\n\t\t\t\t\t-webkit-line-clamp: 2;\n\t\t\t\t\t-webkit-box-orient: vertical;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&--large {\n\t\t\tmin-width: var(--cell-width-large);\n\t\t\twidth: var(--cell-width-large);\n\t\t}\n\n\t\t&--obfuscated {\n\t\t\tmin-width: 400px;\n\t\t\twidth: 400px;\n\t\t}\n\n\t\t// Fill remaining row space with cell\n\t\t&--fill {\n\t\t\tmin-width: var(--cell-width-large);\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t&--actions {\n\t\t\tposition: sticky;\n\t\t\tinset-inline-end: 0;\n\t\t\tz-index: var(--sticky-column-z-index);\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: row;\n\t\t\talign-items: center;\n\t\t\tmin-width: 110px;\n\t\t\twidth: 110px;\n\t\t\tbackground-color: var(--color-main-background);\n\t\t\tborder-inline-start: 1px solid var(--color-border);\n\t\t}\n\t}\n\n\t&__subtitle {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n}\n"],sourceRoot:""}]);const o=r},27514(t){t.exports="data:image/svg+xml,%3c%21--%20-%20SPDX-FileCopyrightText:%202020%20Google%20Inc.%20-%20SPDX-License-Identifier:%20Apache-2.0%20--%3e%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M18.4%207.4L17%206l-6%206%206%206%201.4-1.4-4.6-4.6%204.6-4.6m-6%200L11%206l-6%206%206%206%201.4-1.4L7.8%2012l4.6-4.6z%27/%3e%3c/svg%3e"},27518(t){t.exports="data:image/svg+xml,%3c%21--%20-%20SPDX-FileCopyrightText:%202020%20Google%20Inc.%20-%20SPDX-License-Identifier:%20Apache-2.0%20--%3e%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M15.4%2016.6L10.8%2012l4.6-4.6L14%206l-6%206%206%206%201.4-1.4z%27/%3e%3c/svg%3e"},35176(t,e,s){s.d(e,{A:()=>o});var a=s(71354),i=s.n(a),n=s(76314),r=s.n(n)()(i());r.push([t.id,".user-list[data-v-21942da5]{--avatar-cell-width: 48px;--cell-padding: 7px;--cell-width: 200px;--cell-width-large: 300px;--cell-min-width: calc(var(--cell-width) - (2 * var(--cell-padding)));--sticky-column-z-index: calc(var(--vs-dropdown-z-index) + 1);display:block;overflow:auto;height:100%;will-change:scroll-position}.user-list__header[data-v-21942da5],.user-list__footer[data-v-21942da5]{position:sticky;display:block}.user-list__header[data-v-21942da5]{top:0;z-index:calc(var(--sticky-column-z-index) + 1)}.user-list__footer[data-v-21942da5]{inset-inline-start:0}.user-list__body[data-v-21942da5]{display:flex;flex-direction:column;width:100%}","",{version:3,sources:["webpack://./apps/settings/src/components/Users/VirtualList.vue"],names:[],mappings:"AACA,4BACC,yBAAA,CACA,mBAAA,CACA,mBAAA,CACA,yBAAA,CACA,qEAAA,CACA,6DAAA,CAGA,aAAA,CACA,aAAA,CACA,WAAA,CACA,2BAAA,CAEA,wEAEC,eAAA,CAEA,aAAA,CAGD,oCACC,KAAA,CACA,8CAAA,CAGD,oCACC,oBAAA,CAGD,kCACC,YAAA,CACA,qBAAA,CACA,UAAA",sourcesContent:["\n.user-list {\n\t--avatar-cell-width: 48px;\n\t--cell-padding: 7px;\n\t--cell-width: 200px;\n\t--cell-width-large: 300px;\n\t--cell-min-width: calc(var(--cell-width) - (2 * var(--cell-padding)));\n\t--sticky-column-z-index: calc(var(--vs-dropdown-z-index) + 1); // Keep the sticky column on top of the select dropdown\n\n\t// Necessary for virtual scroll optimized rendering\n\tdisplay: block;\n\toverflow: auto;\n\theight: 100%;\n\twill-change: scroll-position;\n\n\t&__header,\n\t&__footer {\n\t\tposition: sticky;\n\t\t// Fix sticky positioning in Firefox\n\t\tdisplay: block;\n\t}\n\n\t&__header {\n\t\ttop: 0;\n\t\tz-index: calc(var(--sticky-column-z-index) + 1);\n\t}\n\n\t&__footer {\n\t\tinset-inline-start: 0;\n\t}\n\n\t&__body {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\twidth: 100%;\n\t}\n}\n"],sourceRoot:""}]);const o=r},38775(t,e,s){s.d(e,{A:()=>o});var a=s(71354),i=s.n(a),n=s(76314),r=s.n(n)()(i());r.push([t.id,".modal__header[data-v-0540d351]{margin:0}.modal__content[data-v-0540d351]{display:flex;flex-direction:column;align-items:center;padding:20px;gap:4px 0}.modal__button-row[data-v-0540d351]{display:flex;width:100%;justify-content:space-between}","",{version:3,sources:["webpack://./apps/settings/src/components/GroupListItem.vue"],names:[],mappings:"AAEC,gCACC,QAAA,CAGD,iCACC,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,YAAA,CACA,SAAA,CAGD,oCACC,YAAA,CACA,UAAA,CACA,6BAAA",sourcesContent:["\n.modal {\n\t&__header {\n\t\tmargin: 0;\n\t}\n\n\t&__content {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\tpadding: 20px;\n\t\tgap: 4px 0;\n\t}\n\n\t&__button-row {\n\t\tdisplay: flex;\n\t\twidth: 100%;\n\t\tjustify-content: space-between;\n\t}\n}\n"],sourceRoot:""}]);const o=r},41992(t,e,s){s.d(e,{A:()=>o});var a=s(71354),i=s.n(a),n=s(76314),r=s.n(n)()(i());r.push([t.id,".dialog__form[data-v-0cf68bf0]{display:flex;flex-direction:column;align-items:center;padding:0 8px;gap:4px 0}.dialog__item[data-v-0cf68bf0]{width:100%}.dialog__item[data-v-0cf68bf0]:not(:focus):not(:active){border-color:var(--color-border-dark)}.dialog__hint[data-v-0cf68bf0]{color:var(--color-text-maxcontrast);margin-top:8px;align-self:flex-start}.dialog__label[data-v-0cf68bf0]{display:block;padding:4px 0}.dialog__select[data-v-0cf68bf0]{width:100%}.dialog__managers[data-v-0cf68bf0]{margin-bottom:12px}.dialog__submit[data-v-0cf68bf0]{margin-top:4px;margin-bottom:8px}.dialog[data-v-0cf68bf0] .dialog__actions{margin:auto}","",{version:3,sources:["webpack://./apps/settings/src/components/Users/NewUserDialog.vue"],names:[],mappings:"AAEC,+BACC,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,aAAA,CACA,SAAA,CAGD,+BACC,UAAA,CAEA,wDACC,qCAAA,CAIF,+BACC,mCAAA,CACA,cAAA,CACA,qBAAA,CAGD,gCACC,aAAA,CACA,aAAA,CAGD,iCACC,UAAA,CAGD,mCACC,kBAAA,CAGD,iCACC,cAAA,CACA,iBAAA,CAIA,0CACC,WAAA",sourcesContent:["\n.dialog {\n\t&__form {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\tpadding: 0 8px;\n\t\tgap: 4px 0;\n\t}\n\n\t&__item {\n\t\twidth: 100%;\n\n\t\t&:not(:focus):not(:active) {\n\t\t\tborder-color: var(--color-border-dark);\n\t\t}\n\t}\n\n\t&__hint {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tmargin-top: 8px;\n\t\talign-self: flex-start;\n\t}\n\n\t&__label {\n\t\tdisplay: block;\n\t\tpadding: 4px 0;\n\t}\n\n\t&__select {\n\t\twidth: 100%;\n\t}\n\n\t&__managers {\n\t\tmargin-bottom: 12px;\n\t}\n\n\t&__submit {\n\t\tmargin-top: 4px;\n\t\tmargin-bottom: 8px;\n\t}\n\n\t:deep {\n\t\t.dialog__actions {\n\t\t\tmargin: auto;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const o=r},46984(t,e,s){s.d(e,{FF:()=>d,Iu:()=>l,N_:()=>o});var a=s(19051),i=s(63814),n=s(36117);const r=t=>({id:t.id,name:t.displayname,usercount:t.usercount,disabled:t.disabled,canAdd:t.canAdd,canRemove:t.canRemove}),o=({search:t,offset:e,limit:s})=>{const o=new AbortController;return new n.CancelablePromise((async(n,l,d)=>{d((()=>o.abort()));try{const{data:l}=await a.Ay.get((0,i.KT)("/cloud/groups/details?search={search}&offset={offset}&limit={limit}",{search:t,offset:e,limit:s}),{signal:o.signal});n((l.ocs?.data?.groups??[]).map(r))}catch(t){l(t)}}))},l=async({userId:t})=>{const e=(0,i.KT)("/cloud/users/{userId}/groups/details",{userId:t}),{data:s}=await a.Ay.get(e);return(s.ocs?.data?.groups??[]).map(r)},d=async({userId:t})=>{const e=(0,i.KT)("/cloud/users/{userId}/subadmins/details",{userId:t}),{data:s}=await a.Ay.get(e);return(s.ocs?.data?.groups??[]).map(r)}},58688(t,e,s){s.d(e,{A:()=>o});var a=s(71354),i=s.n(a),n=s(76314),r=s.n(n)()(i());r.push([t.id,".account-management__navigation[data-v-539a4ad0] .app-navigation__body{will-change:scroll-position}.account-management__system-list[data-v-539a4ad0]{height:auto !important;overflow:visible !important}.account-management__group-list[data-v-539a4ad0]{height:100% !important}.account-management__settings-toggle[data-v-539a4ad0]{margin-bottom:12px}","",{version:3,sources:["webpack://./apps/settings/src/views/UserManagementNavigation.vue"],names:[],mappings:"AAGE,uEACC,2BAAA,CAGF,kDACC,sBAAA,CACA,2BAAA,CAGD,iDACC,sBAAA,CAGD,sDACC,kBAAA",sourcesContent:["\n.account-management {\n\t&__navigation {\n\t\t:deep(.app-navigation__body) {\n\t\t\twill-change: scroll-position;\n\t\t}\n\t}\n\t&__system-list {\n\t\theight: auto !important;\n\t\toverflow: visible !important;\n\t}\n\n\t&__group-list {\n\t\theight: 100% !important;\n\t}\n\n\t&__settings-toggle {\n\t\tmargin-bottom: 12px;\n\t}\n}\n"],sourceRoot:""}]);const o=r},65821(e,s,a){a.r(s),a.d(s,{default:()=>mt});var i=a(85471),n=a(9165),r=a(53334),o=a(42530),l=a(52439),d=a(27345),c=a(49595),u=a(74095),g=a(85947),A=a(6695),p=a(35810),h=a(63814),m=a(19051),C=a(83096),v=a(83600),w=a(32073),f=a(371),_=a(67607),b=a(15916),y=a(95668),x=a(36620);const N={name:"UserSettingsDialog",components:{NcAppSettingsDialog:C.N,NcAppSettingsSection:v.N,NcCheckboxRadioSwitch:w.A,NcNoteCard:f.A,NcSelect:_.default},props:{open:{type:Boolean,required:!0}},data:()=>({selectedQuota:!1,loadingSendMail:!1}),computed:{groupSorting:{get(){return this.$store.getters.getGroupSorting===b.q.GroupName?"name":"member-count"},set(t){this.$store.commit("setGroupSorting","name"===t?b.q.GroupName:b.q.UserCount)}},isGroupSortingEnforced(){return this.$store.getters.getServerData.forceSortGroupByName},isModalOpen:{get(){return this.open},set(t){this.$emit("update:open",t)}},showConfig(){return this.$store.getters.getShowConfig},settings(){return this.$store.getters.getServerData},showLanguages:{get(){return this.showConfig.showLanguages},set(t){this.setShowConfig("showLanguages",t)}},showFirstLogin:{get(){return this.showConfig.showFirstLogin},set(t){this.setShowConfig("showFirstLogin",t)}},showLastLogin:{get(){return this.showConfig.showLastLogin},set(t){this.setShowConfig("showLastLogin",t)}},showUserBackend:{get(){return this.showConfig.showUserBackend},set(t){this.setShowConfig("showUserBackend",t)}},showStoragePath:{get(){return this.showConfig.showStoragePath},set(t){this.setShowConfig("showStoragePath",t)}},quotaOptions(){const t=this.settings.quotaPreset.reduce(((t,e)=>t.concat({id:e,label:e})),[]);return this.settings.allowUnlimitedQuota&&t.unshift(y.SA),t},defaultQuota:{get(){return!1!==this.selectedQuota?this.selectedQuota:this.settings.defaultQuota!==y.SA.id&&OC.Util.computerFileSize(this.settings.defaultQuota)>=0?{id:this.settings.defaultQuota,label:this.settings.defaultQuota}:y.SA},set(t){this.selectedQuota=t}},sendWelcomeMail:{get(){return this.settings.newUserSendEmail},async set(t){try{this.loadingSendMail=!0,this.$store.commit("setServerData",{...this.settings,newUserSendEmail:t}),await m.Ay.post((0,h.Jv)("/settings/users/preferences/newUser.sendEmail"),{value:t?"yes":"no"})}catch(t){x.A.error("Could not update newUser.sendEmail preference",{error:t})}finally{this.loadingSendMail=!1}}}},methods:{filterQuotas(t,e,s){const a=s.toLocaleLowerCase().replaceAll(/\s/g,"");return(e||"").toLocaleLowerCase().replaceAll(/\s/g,"").indexOf(a)>-1},setShowConfig(t,e){this.$store.commit("setShowConfig",{key:t,value:e})},validateQuota(t){"object"==typeof t&&(t=t?.id||t.label);const e=(0,p.lT)(t,!0);return null===e?y.SA:{id:t=(0,p.v7)(e),label:t}},setDefaultQuota(t="none"){"none"===t&&(t=y.SA),this.$store.dispatch("setAppConfig",{app:"files",key:"default_quota",value:t.id?t.id:t}).then((()=>{"object"!=typeof t&&(t={id:t,label:t}),this.defaultQuota=t}))}}};var k=a(85072),G=a.n(k),S=a(97825),U=a.n(S),L=a(77659),D=a.n(L),B=a(55056),I=a.n(B),q=a(10540),O=a.n(q),M=a(41113),$=a.n(M),F=a(7515),T={};T.styleTagTransform=$(),T.setAttributes=I(),T.insert=D().bind(null,"head"),T.domAPI=U(),T.insertStyleElement=O(),G()(F.A,T),F.A&&F.A.locals&&F.A.locals;var E=a(14486);const P=(0,E.A)(N,(function(){var t=this,e=t._self._c;return e("NcAppSettingsDialog",{attrs:{open:t.isModalOpen,"show-navigation":!0,name:t.t("settings","Account management settings")},on:{"update:open":function(e){t.isModalOpen=e}}},[e("NcAppSettingsSection",{attrs:{id:"visibility-settings",name:t.t("settings","Visibility")}},[e("NcCheckboxRadioSwitch",{attrs:{type:"switch","data-test":"showLanguages",checked:t.showLanguages},on:{"update:checked":function(e){t.showLanguages=e}}},[t._v("\n\t\t\t"+t._s(t.t("settings","Show language"))+"\n\t\t")]),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{type:"switch","data-test":"showUserBackend",checked:t.showUserBackend},on:{"update:checked":function(e){t.showUserBackend=e}}},[t._v("\n\t\t\t"+t._s(t.t("settings","Show account backend"))+"\n\t\t")]),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{type:"switch","data-test":"showStoragePath",checked:t.showStoragePath},on:{"update:checked":function(e){t.showStoragePath=e}}},[t._v("\n\t\t\t"+t._s(t.t("settings","Show storage path"))+"\n\t\t")]),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{type:"switch","data-test":"showFirstLogin",checked:t.showFirstLogin},on:{"update:checked":function(e){t.showFirstLogin=e}}},[t._v("\n\t\t\t"+t._s(t.t("settings","Show first login"))+"\n\t\t")]),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{type:"switch","data-test":"showLastLogin",checked:t.showLastLogin},on:{"update:checked":function(e){t.showLastLogin=e}}},[t._v("\n\t\t\t"+t._s(t.t("settings","Show last login"))+"\n\t\t")])],1),t._v(" "),e("NcAppSettingsSection",{attrs:{id:"groups-sorting",name:t.t("settings","Sorting")}},[t.isGroupSortingEnforced?e("NcNoteCard",{attrs:{type:"warning"}},[t._v("\n\t\t\t"+t._s(t.t("settings","The system config enforces sorting the groups by name. This also disables showing the member count."))+"\n\t\t")]):t._e(),t._v(" "),e("fieldset",[e("legend",[t._v(t._s(t.t("settings","Group list sorting")))]),t._v(" "),e("NcNoteCard",{staticClass:"dialog__note",attrs:{type:"info",text:t.t("settings","Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list.")}}),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{type:"radio",checked:t.groupSorting,"data-test":"sortGroupsByMemberCount",disabled:t.isGroupSortingEnforced,name:"group-sorting-mode",value:"member-count"},on:{"update:checked":function(e){t.groupSorting=e}}},[t._v("\n\t\t\t\t"+t._s(t.t("settings","By member count"))+"\n\t\t\t")]),t._v(" "),e("NcCheckboxRadioSwitch",{attrs:{type:"radio",checked:t.groupSorting,"data-test":"sortGroupsByName",disabled:t.isGroupSortingEnforced,name:"group-sorting-mode",value:"name"},on:{"update:checked":function(e){t.groupSorting=e}}},[t._v("\n\t\t\t\t"+t._s(t.t("settings","By name"))+"\n\t\t\t")])],1)],1),t._v(" "),e("NcAppSettingsSection",{attrs:{id:"email-settings",name:t.t("settings","Send email")}},[e("NcCheckboxRadioSwitch",{attrs:{type:"switch","data-test":"sendWelcomeMail",checked:t.sendWelcomeMail,disabled:t.loadingSendMail},on:{"update:checked":function(e){t.sendWelcomeMail=e}}},[t._v("\n\t\t\t"+t._s(t.t("settings","Send welcome email to new accounts"))+"\n\t\t")])],1),t._v(" "),e("NcAppSettingsSection",{attrs:{id:"default-settings",name:t.t("settings","Defaults")}},[e("NcSelect",{attrs:{clearable:!1,"create-option":t.validateQuota,"filter-by":t.filterQuotas,"input-label":t.t("settings","Default quota"),options:t.quotaOptions,placement:"top",placeholder:t.t("settings","Select default quota"),taggable:""},on:{"option:selected":t.setDefaultQuota},model:{value:t.defaultQuota,callback:function(e){t.defaultQuota=e},expression:"defaultQuota"}})],1)],1)}),[],!1,null,"29922c80",null).exports;var z=a(85168),R=a(13073),Q=a(54914),W=a(24387),H=a(44131),K=a(71711),j=a(70851),Y=a(22601),X=a(88289),V=a(57505),J=a(42486),Z=a(43261),tt=a(79759),et=a(2413);const st={name:"GroupListItem",components:{AccountGroup:Z.A,Delete:tt.A,Fragment:Q.F,NcActionButton:V.A,NcActionInput:H.A,NcAppNavigationItem:l.A,NcButton:u.A,NcCounterBubble:g.A,NcModal:J.A,NcNoteCard:f.A,Pencil:et.A},props:{active:{type:Boolean,required:!0},count:{type:Number,default:null},id:{type:String,required:!0},name:{type:String,required:!0}},data:()=>({loadingRenameGroup:!1,openGroupMenu:!1,showRemoveGroupModal:!1}),computed:{settings(){return this.$store.getters.getServerData}},methods:{handleGroupMenuOpen(){this.openGroupMenu=!0},async renameGroup(t){if(""===t.trim())return;const e=this.$refs.displayNameInput.$el.querySelector('input[type="text"]').value;if(""!==e.trim())try{this.openGroupMenu=!1,this.loadingRenameGroup=!0,await this.$store.dispatch("renameGroup",{groupid:t.trim(),displayName:e.trim()}),this.loadingRenameGroup=!1}catch{this.openGroupMenu=!0,this.loadingRenameGroup=!1}},async removeGroup(){try{await this.$store.dispatch("removeGroup",this.id),this.showRemoveGroupModal=!1}catch(e){(0,z.Qg)(t("settings",'Failed to delete group "{group}"',{group:this.name}))}}}};var at=a(38775),it={};it.styleTagTransform=$(),it.setAttributes=I(),it.insert=D().bind(null,"head"),it.domAPI=U(),it.insertStyleElement=O(),G()(at.A,it),at.A&&at.A.locals&&at.A.locals;const nt=(0,E.A)(st,(function(){var t=this,e=t._self._c;return e("Fragment",[t.showRemoveGroupModal?e("NcModal",{on:{close:function(e){t.showRemoveGroupModal=!1}}},[e("div",{staticClass:"modal__content"},[e("h2",{staticClass:"modal__header"},[t._v("\n\t\t\t\t"+t._s(t.t("settings","Please confirm the group removal"))+"\n\t\t\t")]),t._v(" "),e("NcNoteCard",{attrs:{type:"warning","show-alert":""}},[t._v("\n\t\t\t\t"+t._s(t.t("settings",'You are about to delete the group "{group}". The accounts will NOT be deleted.',{group:t.name}))+"\n\t\t\t")]),t._v(" "),e("div",{staticClass:"modal__button-row"},[e("NcButton",{attrs:{type:"secondary"},on:{click:function(e){t.showRemoveGroupModal=!1}}},[t._v("\n\t\t\t\t\t"+t._s(t.t("settings","Cancel"))+"\n\t\t\t\t")]),t._v(" "),e("NcButton",{attrs:{type:"primary"},on:{click:t.removeGroup}},[t._v("\n\t\t\t\t\t"+t._s(t.t("settings","Confirm"))+"\n\t\t\t\t")])],1)],1)]):t._e(),t._v(" "),e("NcAppNavigationItem",{key:t.id,ref:"listItem",attrs:{exact:!0,name:t.name,to:{name:"group",params:{selectedGroup:encodeURIComponent(t.id)}},loading:t.loadingRenameGroup,"menu-open":t.openGroupMenu},on:{"update:menuOpen":t.handleGroupMenuOpen},scopedSlots:t._u([{key:"icon",fn:function(){return[e("AccountGroup",{attrs:{size:20}})]},proxy:!0},{key:"counter",fn:function(){return[t.count?e("NcCounterBubble",{attrs:{type:t.active?"highlighted":void 0}},[t._v("\n\t\t\t\t"+t._s(t.count)+"\n\t\t\t")]):t._e()]},proxy:!0},{key:"actions",fn:function(){return["admin"!==t.id&&"disabled"!==t.id&&(t.settings.isAdmin||t.settings.isDelegatedAdmin)?e("NcActionInput",{ref:"displayNameInput",attrs:{"trailing-button-label":t.t("settings","Submit"),type:"text",value:t.name,label:t.t("settings","Rename group")},on:{submit:function(e){return t.renameGroup(t.id)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Pencil",{attrs:{size:20}})]},proxy:!0}],null,!1,580569589)}):t._e(),t._v(" "),"admin"!==t.id&&"disabled"!==t.id&&(t.settings.isAdmin||t.settings.isDelegatedAdmin)?e("NcActionButton",{on:{click:function(e){t.showRemoveGroupModal=!0}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Delete",{attrs:{size:20}})]},proxy:!0}],null,!1,2705356561)},[t._v("\n\t\t\t\t"+t._s(t.t("settings","Delete group"))+"\n\t\t\t")]):t._e()]},proxy:!0}])})],1)}),[],!1,null,"0540d351",null).exports;function rt(t){return void 0===t?null:{id:t.id,title:t.name,usercount:t.usercount??0,count:Math.max(0,(t.usercount??0)-(t.disabled??0))}}const ot=t=>{const e=(0,i.EW)((()=>t.value.filter((t=>"disabled"!==t.id&&"__nc_internal_recent"!==t.id&&"admin"!==t.id)).map((t=>rt(t))).filter((t=>null!==t)))),s=(0,i.EW)((()=>rt(t.value.find((t=>"admin"===t.id))))),a=(0,i.EW)((()=>rt(t.value.find((t=>"disabled"===t.id)))));return{adminGroup:s,recentGroup:(0,i.EW)((()=>rt(t.value.find((t=>"__nc_internal_recent"===t.id))))),disabledGroup:a,userGroups:e}};var lt=a(14744),dt=a(46984);const ct=(0,i.pM)({__name:"AppNavigationGroupList",setup(t){const e=(0,lt.P)(),s=(0,W.lq)(),a=(0,W.rd)();(0,i.KC)((async()=>{await S()}));const o=(0,i.EW)((()=>s.params?.selectedGroup)),l=(0,i.EW)((()=>o.value?decodeURIComponent(o.value):null)),c=(0,i.EW)((()=>p.value?e.getters.getSortedGroups:e.getters.getSubAdminGroups)),{userGroups:u}=ot(c),g=(0,i.EW)((()=>e.getters.getServerData)),p=(0,i.EW)((()=>g.value.isAdmin||g.value.isDelegatedAdmin)),h=(0,i.KR)(!1),m=(0,i.KR)(!1),C=(0,i.KR)(!1),v=(0,i.KR)(""),w=(0,i.KR)(!1),f=(0,i.KR)(0),_=(0,i.KR)(""),b=(0,i.EW)((()=>{if(p.value)return u.value;const t=_.value.toLowerCase();return u.value.filter((e=>-1!==e.id.toLowerCase().search(t)||-1!==e.title.toLowerCase().search(t)))})),y=(0,i.KR)([]),N=(0,i.EW)((()=>y.value.findLast((t=>t?.$vnode?.key===u.value?.at(-1)?.id))?.$refs?.listItem?.$el)),k=(0,R.ITo)(N);(0,i.wB)(k,(async()=>{k.value&&await S()})),(0,i.wB)(_,(async()=>{e.commit("resetGroups"),f.value=0,await S()}));const G=(0,i.KR)();async function S(){if(p.value){G.value&&G.value.cancel(),w.value=!0;try{G.value=(0,dt.N_)({search:_.value,offset:f.value,limit:25});const t=await G.value;t.length>0&&(f.value+=25);for(const s of t)e.commit("addGroup",s)}catch(t){x.A.error((0,r.t)("settings","Failed to load groups"),{error:t})}G.value=void 0,w.value=!1}}return{__sfc:!0,store:e,route:s,router:a,selectedGroup:o,selectedGroupDecoded:l,groups:c,userGroups:u,settings:g,isAdminOrDelegatedAdmin:p,isAddGroupOpen:h,loadingAddGroup:m,hasAddGroupError:C,newGroupName:v,loadingGroups:w,offset:f,groupsSearchQuery:_,filteredGroups:b,groupListItems:y,lastGroupListItem:N,isLastGroupVisible:k,promise:G,loadGroups:S,createGroup:async function(){C.value=!1;const t=v.value.trim();if(""!==t){h.value=!1,m.value=!0;try{await e.dispatch("addGroup",t),await a.push({name:"group",params:{selectedGroup:encodeURIComponent(t)}});const s=y.value.findLast((e=>e?.$vnode?.key===t));s?.$refs?.listItem?.$el?.scrollIntoView({behavior:"smooth",block:"nearest"}),v.value=""}catch{(0,z.Qg)((0,r.t)("settings","Failed to create group"))}m.value=!1}else C.value=!0},mdiAccountGroup:n.n7C,mdiPlus:n.biz,t:r.t,Fragment:Q.F,NcActionInput:H.A,NcActionText:K.A,NcAppNavigationCaption:j.N,NcAppNavigationList:d.A,NcAppNavigationSearch:Y.N,NcIconSvgWrapper:A.A,NcLoadingIcon:X.A,GroupListItem:nt}}}),ut=(0,E.A)(ct,(function(){var t=this,e=t._self._c,s=t._self._setupProxy;return e(s.Fragment,[e(s.NcAppNavigationCaption,{attrs:{name:s.t("settings","Groups"),disabled:s.loadingAddGroup,"aria-label":s.loadingAddGroup?s.t("settings","Creating group…"):s.t("settings","Create group"),"force-menu":"","is-heading":"",open:s.isAddGroupOpen},on:{"update:open":function(t){s.isAddGroupOpen=t}},scopedSlots:t._u([s.isAdminOrDelegatedAdmin?{key:"actionsTriggerIcon",fn:function(){return[s.loadingAddGroup?e(s.NcLoadingIcon):e(s.NcIconSvgWrapper,{attrs:{path:s.mdiPlus}})]},proxy:!0}:null,s.isAdminOrDelegatedAdmin?{key:"actions",fn:function(){return[e(s.NcActionText,{scopedSlots:t._u([{key:"icon",fn:function(){return[e(s.NcIconSvgWrapper,{attrs:{path:s.mdiAccountGroup}})]},proxy:!0}],null,!1,3607647275)},[t._v("\n\t\t\t\t"+t._s(s.t("settings","Create group"))+"\n\t\t\t")]),t._v(" "),e(s.NcActionInput,{attrs:{label:s.t("settings","Group name"),"data-cy-users-settings-new-group-name":"","label-outside":!1,disabled:s.loadingAddGroup,value:s.newGroupName,error:s.hasAddGroupError,"helper-text":s.hasAddGroupError?s.t("settings","Please enter a valid group name"):""},on:{"update:value":function(t){s.newGroupName=t},submit:s.createGroup}})]},proxy:!0}:null],null,!0)}),t._v(" "),e(s.NcAppNavigationSearch,{attrs:{label:s.t("settings","Search groups…")},model:{value:s.groupsSearchQuery,callback:function(t){s.groupsSearchQuery=t},expression:"groupsSearchQuery"}}),t._v(" "),e("p",{staticClass:"hidden-visually",attrs:{id:"group-list-desc"}},[t._v("\n\t\t"+t._s(s.t("settings","List of groups. This list is not fully populated for performance reasons. The groups will be loaded as you navigate or search through the list."))+"\n\t")]),t._v(" "),e(s.NcAppNavigationList,{staticClass:"account-management__group-list",attrs:{"aria-describedby":"group-list-desc","data-cy-users-settings-navigation-groups":"custom"}},[t._l(s.filteredGroups,(function(t){return e(s.GroupListItem,{key:t.id,ref:"groupListItems",refInFor:!0,attrs:{id:t.id,active:s.selectedGroupDecoded===t.id,name:t.title,count:t.count}})})),t._v(" "),s.loadingGroups?e("div",{attrs:{role:"note"}},[e(s.NcLoadingIcon,{attrs:{name:s.t("settings","Loading groups…")}})],1):t._e()],2)],1)}),[],!1,null,null,null).exports,gt=(0,i.pM)({__name:"UserManagementNavigation",setup(t){const e=(0,W.lq)(),s=(0,lt.P)(),a=(0,i.KR)(!1),p=(0,i.EW)((()=>e.params?.selectedGroup)),h=(0,i.EW)((()=>p.value?decodeURIComponent(p.value):null)),m=(0,i.EW)((()=>s.getters.getUserCount)),C=(0,i.EW)((()=>s.getters.getSortedGroups)),{adminGroup:v,recentGroup:w,disabledGroup:f}=ot(C),_=(0,i.EW)((()=>s.getters.getServerData)),b=(0,i.EW)((()=>_.value.isAdmin||_.value.isDelegatedAdmin));return{__sfc:!0,route:e,store:s,isDialogOpen:a,selectedGroup:p,selectedGroupDecoded:h,userCount:m,groups:C,adminGroup:v,recentGroup:w,disabledGroup:f,settings:_,isAdminOrDelegatedAdmin:b,showNewUserMenu:function(){s.commit("setShowConfig",{key:"showNewUserForm",value:!0})},mdiAccount:n.Gbn,mdiAccountOff:n.lBC,mdiCog:n.CZ3,mdiPlus:n.biz,mdiShieldAccount:n.Jey,mdiHistory:n.LP2,t:r.Tl,NcAppNavigation:o.A,NcAppNavigationItem:l.A,NcAppNavigationList:d.A,NcAppNavigationNew:c.N,NcButton:u.A,NcCounterBubble:g.A,NcIconSvgWrapper:A.A,UserSettingsDialog:P,AppNavigationGroupList:ut}}});var At=a(58688),pt={};pt.styleTagTransform=$(),pt.setAttributes=I(),pt.insert=D().bind(null,"head"),pt.domAPI=U(),pt.insertStyleElement=O(),G()(At.A,pt),At.A&&At.A.locals&&At.A.locals;var ht=(0,E.A)(gt,(function(){var t=this,e=t._self._c,s=t._self._setupProxy;return e(s.NcAppNavigation,{staticClass:"account-management__navigation",attrs:{"aria-label":s.t("settings","Account management")},scopedSlots:t._u([{key:"footer",fn:function(){return[e(s.NcButton,{staticClass:"account-management__settings-toggle",attrs:{type:"tertiary"},on:{click:function(t){s.isDialogOpen=!0}},scopedSlots:t._u([{key:"icon",fn:function(){return[e(s.NcIconSvgWrapper,{attrs:{path:s.mdiCog}})]},proxy:!0}])},[t._v("\n\t\t\t"+t._s(s.t("settings","Account management settings"))+"\n\t\t")]),t._v(" "),e(s.UserSettingsDialog,{attrs:{open:s.isDialogOpen},on:{"update:open":function(t){s.isDialogOpen=t}}})]},proxy:!0}])},[e(s.NcAppNavigationNew,{attrs:{"button-id":"new-user-button",text:s.t("settings","New account")},on:{click:s.showNewUserMenu,keyup:[function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:s.showNewUserMenu.apply(null,arguments)},function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"space",32,e.key,[" ","Spacebar"])?null:s.showNewUserMenu.apply(null,arguments)}]},scopedSlots:t._u([{key:"icon",fn:function(){return[e(s.NcIconSvgWrapper,{attrs:{path:s.mdiPlus}})]},proxy:!0}])}),t._v(" "),e(s.NcAppNavigationList,{staticClass:"account-management__system-list",attrs:{"data-cy-users-settings-navigation-groups":"system"}},[e(s.NcAppNavigationItem,{attrs:{id:"everyone",exact:!0,name:s.t("settings","All accounts"),to:{name:"users"}},scopedSlots:t._u([{key:"icon",fn:function(){return[e(s.NcIconSvgWrapper,{attrs:{path:s.mdiAccount}})]},proxy:!0},{key:"counter",fn:function(){return[s.userCount?e(s.NcCounterBubble,{attrs:{type:s.selectedGroupDecoded?void 0:"highlighted"}},[t._v("\n\t\t\t\t\t"+t._s(s.userCount)+"\n\t\t\t\t")]):t._e()]},proxy:!0}])}),t._v(" "),s.settings.isAdmin?e(s.NcAppNavigationItem,{attrs:{id:"admin",exact:!0,name:s.t("settings","Admins"),to:{name:"group",params:{selectedGroup:"admin"}}},scopedSlots:t._u([{key:"icon",fn:function(){return[e(s.NcIconSvgWrapper,{attrs:{path:s.mdiShieldAccount}})]},proxy:!0},{key:"counter",fn:function(){return[s.adminGroup&&s.adminGroup.count>0?e(s.NcCounterBubble,{attrs:{type:"admin"===s.selectedGroupDecoded?"highlighted":void 0}},[t._v("\n\t\t\t\t\t"+t._s(s.adminGroup.count)+"\n\t\t\t\t")]):t._e()]},proxy:!0}],null,!1,2218088905)}):t._e(),t._v(" "),s.isAdminOrDelegatedAdmin?e(s.NcAppNavigationItem,{attrs:{id:"recent",exact:!0,name:s.t("settings","Recently active"),to:{name:"group",params:{selectedGroup:"__nc_internal_recent"}}},scopedSlots:t._u([{key:"icon",fn:function(){return[e(s.NcIconSvgWrapper,{attrs:{path:s.mdiHistory}})]},proxy:!0},{key:"counter",fn:function(){return[s.recentGroup?.usercount?e(s.NcCounterBubble,{attrs:{type:"__nc_internal_recent"===s.selectedGroupDecoded?"highlighted":void 0}},[t._v("\n\t\t\t\t\t"+t._s(s.recentGroup.usercount)+"\n\t\t\t\t")]):t._e()]},proxy:!0}],null,!1,2299424282)}):t._e(),t._v(" "),s.disabledGroup&&(s.disabledGroup.usercount>0||-1===s.disabledGroup.usercount)?e(s.NcAppNavigationItem,{attrs:{id:"disabled",exact:!0,name:s.t("settings","Disabled accounts"),to:{name:"group",params:{selectedGroup:"disabled"}}},scopedSlots:t._u([{key:"icon",fn:function(){return[e(s.NcIconSvgWrapper,{attrs:{path:s.mdiAccountOff}})]},proxy:!0},s.disabledGroup.usercount>0?{key:"counter",fn:function(){return[e(s.NcCounterBubble,{attrs:{type:"disabled"===s.selectedGroupDecoded?"highlighted":void 0}},[t._v("\n\t\t\t\t\t"+t._s(s.disabledGroup.usercount)+"\n\t\t\t\t")])]},proxy:!0}:null],null,!0)}):t._e()],1),t._v(" "),e(s.AppNavigationGroupList)],1)}),[],!1,null,"539a4ad0",null);const mt=ht.exports},78897(t,e,s){s.d(e,{A:()=>o});var a=s(71354),i=s.n(a),n=s(76314),r=s.n(n)()(i());r.push([t.id,".user-list__row[data-v-549fcd14]{position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background)}.user-list__row[data-v-549fcd14]:hover{background-color:var(--color-background-hover)}.user-list__row:hover .row__cell[data-v-549fcd14]:not(.row__cell--actions){background-color:var(--color-background-hover)}.user-list__row .select--fill[data-v-549fcd14]{max-width:calc(var(--cell-width-large) - 2*var(--cell-padding))}.row__cell[data-v-549fcd14]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.row__cell strong[data-v-549fcd14],.row__cell span[data-v-549fcd14],.row__cell label[data-v-549fcd14]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.row__cell--avatar[data-v-549fcd14],.row__cell--displayname[data-v-549fcd14]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.row__cell--avatar[data-v-549fcd14]{inset-inline-start:0}.row__cell--displayname[data-v-549fcd14]{inset-inline-start:var(--avatar-cell-width);border-inline-end:1px solid var(--color-border)}}.row__cell--username[data-v-549fcd14]{padding-inline-start:calc(var(--default-grid-baseline)*3)}.row__cell--avatar[data-v-549fcd14]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.row__cell--multiline span[data-v-549fcd14]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.row__cell--multiline span[data-v-549fcd14]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.row__cell--large[data-v-549fcd14]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.row__cell--obfuscated[data-v-549fcd14]{min-width:400px;width:400px}.row__cell--fill[data-v-549fcd14]{min-width:var(--cell-width-large);width:100%}.row__cell--actions[data-v-549fcd14]{position:sticky;inset-inline-end:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-inline-start:1px solid var(--color-border)}.row__subtitle[data-v-549fcd14]{color:var(--color-text-maxcontrast)}.row__cell[data-v-549fcd14]{border-bottom:1px solid var(--color-border)}.row__cell[data-v-549fcd14] .v-select.select{min-width:var(--cell-min-width)}.row__progress[data-v-549fcd14]{margin-top:4px}.row__progress--warn[data-v-549fcd14]::-moz-progress-bar{background:var(--color-warning) !important}.row__progress--warn[data-v-549fcd14]::-webkit-progress-value{background:var(--color-warning) !important}","",{version:3,sources:["webpack://./apps/settings/src/components/Users/UserRow.vue","webpack://./apps/settings/src/components/Users/shared/styles.scss"],names:[],mappings:"AAGA,iCCGC,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CDLA,uCACC,8CAAA,CAEA,2EACC,8CAAA,CAKF,+CACC,+DAAA,CCDD,4BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,sGAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,6EAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,oCACC,oBAAA,CAGD,yCACC,2CAAA,CACA,+CAAA,CAAA,CAIF,sCACC,yDAAA,CAGD,oCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,4CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,4CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,mCACC,iCAAA,CACA,6BAAA,CAGD,wCACC,eAAA,CACA,WAAA,CAID,kCACC,iCAAA,CACA,UAAA,CAGD,qCACC,eAAA,CACA,kBAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,iDAAA,CAIF,gCACC,mCAAA,CDpFD,4BACC,2CAAA,CAGC,6CACC,+BAAA,CAKH,gCACC,cAAA,CAGC,yDACC,0CAAA,CAED,8DACC,0CAAA",sourcesContent:["\n@use './shared/styles';\n\n.user-list__row {\n\t@include styles.row;\n\n\t&:hover {\n\t\tbackground-color: var(--color-background-hover);\n\n\t\t.row__cell:not(.row__cell--actions) {\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\t}\n\n\t// Limit width of select in fill cell\n\t.select--fill {\n\t\tmax-width: calc(var(--cell-width-large) - (2 * var(--cell-padding)));\n\t}\n}\n\n.row {\n\t@include styles.cell;\n\n\t&__cell {\n\t\tborder-bottom: 1px solid var(--color-border);\n\n\t\t:deep {\n\t\t\t.v-select.select {\n\t\t\t\tmin-width: var(--cell-min-width);\n\t\t\t}\n\t\t}\n\t}\n\n\t&__progress {\n\t\tmargin-top: 4px;\n\n\t\t&--warn {\n\t\t\t&::-moz-progress-bar {\n\t\t\t\tbackground: var(--color-warning) !important;\n\t\t\t}\n\t\t\t&::-webkit-progress-value {\n\t\t\t\tbackground: var(--color-warning) !important;\n\t\t\t}\n\t\t}\n\t}\n}\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n@mixin row {\n\tposition: relative;\n\tdisplay: flex;\n\tmin-width: 100%;\n\twidth: fit-content;\n\theight: var(--row-height);\n\tbackground-color: var(--color-main-background);\n}\n\n@mixin cell {\n\t&__cell {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\tpadding: 0 var(--cell-padding);\n\t\tmin-width: var(--cell-width);\n\t\twidth: var(--cell-width);\n\t\tcolor: var(--color-main-text);\n\n\t\tstrong,\n\t\tspan,\n\t\tlabel {\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t\toverflow-wrap: anywhere;\n\t\t}\n\n\t\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\n\t\t\t&--avatar,\n\t\t\t&--displayname {\n\t\t\t\tposition: sticky;\n\t\t\t\tz-index: var(--sticky-column-z-index);\n\t\t\t\tbackground-color: var(--color-main-background);\n\t\t\t}\n\n\t\t\t&--avatar {\n\t\t\t\tinset-inline-start: 0;\n\t\t\t}\n\n\t\t\t&--displayname {\n\t\t\t\tinset-inline-start: var(--avatar-cell-width);\n\t\t\t\tborder-inline-end: 1px solid var(--color-border);\n\t\t\t}\n\t\t}\n\n\t\t&--username {\n\t\t\tpadding-inline-start: calc(var(--default-grid-baseline) * 3);\n\t\t}\n\n\t\t&--avatar {\n\t\t\tmin-width: var(--avatar-cell-width);\n\t\t\twidth: var(--avatar-cell-width);\n\t\t\talign-items: center;\n\t\t\tpadding: 0;\n\t\t\tuser-select: none;\n\t\t}\n\n\t\t&--multiline {\n\t\t\tspan {\n\t\t\t\tline-height: 1.3em;\n\t\t\t\twhite-space: unset;\n\n\t\t\t\t@supports (-webkit-line-clamp: 2) {\n\t\t\t\t\tdisplay: -webkit-box;\n\t\t\t\t\t-webkit-line-clamp: 2;\n\t\t\t\t\t-webkit-box-orient: vertical;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&--large {\n\t\t\tmin-width: var(--cell-width-large);\n\t\t\twidth: var(--cell-width-large);\n\t\t}\n\n\t\t&--obfuscated {\n\t\t\tmin-width: 400px;\n\t\t\twidth: 400px;\n\t\t}\n\n\t\t// Fill remaining row space with cell\n\t\t&--fill {\n\t\t\tmin-width: var(--cell-width-large);\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t&--actions {\n\t\t\tposition: sticky;\n\t\t\tinset-inline-end: 0;\n\t\t\tz-index: var(--sticky-column-z-index);\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: row;\n\t\t\talign-items: center;\n\t\t\tmin-width: 110px;\n\t\t\twidth: 110px;\n\t\t\tbackground-color: var(--color-main-background);\n\t\t\tborder-inline-start: 1px solid var(--color-border);\n\t\t}\n\t}\n\n\t&__subtitle {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n}\n"],sourceRoot:""}]);const o=r},79722(t){t.exports="data:image/svg+xml,%3c%21--%20-%20SPDX-FileCopyrightText:%202020%20Google%20Inc.%20-%20SPDX-License-Identifier:%20Apache-2.0%20--%3e%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M5.6%207.4L7%206l6%206-6%206-1.4-1.4%204.6-4.6-4.6-4.6m6%200L13%206l6%206-6%206-1.4-1.4%204.6-4.6-4.6-4.6z%27/%3e%3c/svg%3e"},86886(t){t.exports="data:image/svg+xml,%3c%21--%20-%20SPDX-FileCopyrightText:%202020%20Google%20Inc.%20-%20SPDX-License-Identifier:%20Apache-2.0%20--%3e%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%2724%27%20height=%2724%27%20fill=%27%23222%27%3e%3cpath%20d=%27M8.6%2016.6l4.6-4.6-4.6-4.6L10%206l6%206-6%206-1.4-1.4z%27/%3e%3c/svg%3e"},91544(t,e,s){s.d(e,{A:()=>o});var a=s(71354),i=s.n(a),n=s(76314),r=s.n(n)()(i());r.push([t.id,".empty[data-v-73fd953a] .icon-vue{width:64px;height:64px}.empty[data-v-73fd953a] .icon-vue svg{max-width:64px;max-height:64px}","",{version:3,sources:["webpack://./apps/settings/src/components/UserList.vue"],names:[],mappings:"AAKE,kCACC,UAAA,CACA,WAAA,CAEA,sCACC,cAAA,CACA,eAAA",sourcesContent:["\n@use './Users/shared/styles' as *;\n\n.empty {\n\t:deep {\n\t\t.icon-vue {\n\t\t\twidth: 64px;\n\t\t\theight: 64px;\n\n\t\t\tsvg {\n\t\t\t\tmax-width: 64px;\n\t\t\t\tmax-height: 64px;\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const o=r},95668(t,e,s){s.d(e,{HK:()=>r,MY:()=>n,SA:()=>i});var a=s(53334);const i={id:"none",label:(0,a.Tl)("settings","Unlimited")},n={id:"default",label:(0,a.Tl)("settings","Default quota")},r=t=>{const e=Object.keys(t);return 1===e.length&&"id"===e.at(0)}}}]); +//# sourceMappingURL=settings-users-3239.js.map?v=80fab087698056c0943d \ No newline at end of file diff --git a/dist/settings-users-3239.js.map b/dist/settings-users-3239.js.map index e2d7a1bca0547..680cef6e7ed18 100644 --- a/dist/settings-users-3239.js.map +++ b/dist/settings-users-3239.js.map @@ -1 +1 @@ -{"version":3,"file":"settings-users-3239.js?v=fe608f6534aac97efb13","mappings":"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AMY,GAAO,CAACnS,IAAI,OAAOoE,GAAG,WAAW,MAAO,CAAClD,EAAG,mBAAmB,CAACE,MAAM,CAAC,IAAM+Q,EAAK,cAAc,UAAU,EAAE9N,OAAM,GAAM,MAAM,MAAK,IAAO,CAACrD,EAAIQ,GAAG,SAASR,EAAIS,GAAG2Q,GAAM,WAAW,KAAI,EAC7jC,GACsB,IGSpB,EACA,KACA,KACA,M,+yCCsHc,KACK,KACJ,KACC,KACH,KACD,KACC,KACC,KACG,KACL,KACQ,KACX,KACG,KACO,KACH,KACD,KACO,KACG,KACN,KACA,KACD,KACI,KACD,KACE,KACF,KACF,KACC,KACW,GAAAE,EACF,KACjB,KACM,KACH,KACE,KACC,KACH,KACK,KACZ,KACE,KACE,KACC,KACL,KACa,KACL,KACH,KACJ,KACM,KACE,KACI,KACX,KACM,WACM,KACd,KACM,KACI,KACL,KACC,IACL,KACM,KACI,KACJ,KACJ,KACG,KACA,KACF,KACD,KACH,KACI,KACI,KACJ,KACF,KACI,KACD,IACE,KACR,KACG,KACK,KACN,KACI,KACD,KACM,KACK,KACF,KACX,KACW,KACb,KACI,KACC,KACM,KACF,KACI,KACX,KACC,KACI,KACC,KACJ,KACI,KACR,KACPC,OAAOC,YAGD,KACE,KACA,MACRD,OAAOC,YAzGV,MC1HA,IACCrW,MAAO,CACN6U,KAAM,CACL3U,KAAMgO,OACN9N,UAAU,GAEXqB,SAAU,CACTvB,KAAMgO,OACNxH,QAASA,KAAA,CAAS,IAEnBzE,aAAc,CACb/B,KAAMoO,MACN5H,QAASA,IAAM,IAEhBsL,UAAW,CACV9R,KAAMoO,MACNlO,UAAU,GAEXkW,gBAAiB,CAChBpW,KAAMoO,MACN5H,QAASA,IAAM,KAGjByC,KAAAA,CAAMnJ,GACL,MAAM,kBAAEuW,IAAsBC,EAAAA,GAAAA,IAAmD,IAAjCxW,EAAM6U,KAAK4B,oBAA4B,CACtFC,cAAc,EACdC,OAAQ,CACPC,UAAW,QACXC,UAAW,WAGb,MAAO,CACNN,oBAEF,EACA1X,IAAAA,GACC,MAAO,CACNiY,eAAgBhS,KAAK+P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","sources":["webpack:///nextcloud/apps/settings/src/components/Users/UserSettingsDialog.vue?vue&type=style&index=0&id=29922c80&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/views/UserManagement.vue?vue&type=style&index=0&id=4684ed00&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/components/Users/UserListFooter.vue?vue&type=style&index=0&id=20636959&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/components/Users/UserListHeader.vue?vue&type=style&index=0&id=5c0f8828&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/components/Users/VirtualList.vue?vue&type=style&index=0&id=21942da5&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/components/GroupListItem.vue?vue&type=style&index=0&id=0540d351&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/service/groups.ts","webpack:///nextcloud/apps/settings/src/views/UserManagementNavigation.vue?vue&type=style&index=0&id=539a4ad0&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/components/Users/NewUserDialog.vue?vue&type=style&index=0&id=3d23637c&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/views/UserManagementNavigation.vue","webpack:///nextcloud/apps/settings/src/components/Users/UserSettingsDialog.vue","webpack:///nextcloud/apps/settings/src/components/Users/UserSettingsDialog.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/Users/UserSettingsDialog.vue?d90e","webpack://nextcloud/./apps/settings/src/components/Users/UserSettingsDialog.vue?f361","webpack://nextcloud/./apps/settings/src/components/Users/UserSettingsDialog.vue?824e","webpack:///nextcloud/apps/settings/src/components/AppNavigationGroupList.vue","webpack:///nextcloud/apps/settings/src/components/GroupListItem.vue","webpack:///nextcloud/apps/settings/src/components/GroupListItem.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/GroupListItem.vue?1540","webpack://nextcloud/./apps/settings/src/components/GroupListItem.vue?7b19","webpack://nextcloud/./apps/settings/src/components/GroupListItem.vue?9f48","webpack:///nextcloud/apps/settings/src/composables/useGroupsNavigation.ts","webpack:///nextcloud/apps/settings/src/components/AppNavigationGroupList.vue?vue&type=script&setup=true&lang=ts","webpack://nextcloud/./apps/settings/src/components/AppNavigationGroupList.vue?c74f","webpack:///nextcloud/apps/settings/src/views/UserManagementNavigation.vue?vue&type=script&setup=true&lang=ts","webpack://nextcloud/./apps/settings/src/views/UserManagementNavigation.vue?0ca3","webpack://nextcloud/./apps/settings/src/views/UserManagementNavigation.vue?28b6","webpack://nextcloud/./apps/settings/src/views/UserManagement.vue?4b28","webpack:///nextcloud/apps/settings/src/components/Users/VirtualList.vue","webpack:///nextcloud/apps/settings/src/components/Users/VirtualList.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/settings/src/components/Users/VirtualList.vue?7ade","webpack://nextcloud/./apps/settings/src/components/Users/VirtualList.vue?1915","webpack://nextcloud/./apps/settings/src/components/Users/NewUserDialog.vue?dc2d","webpack:///nextcloud/apps/settings/src/components/Users/NewUserDialog.vue","webpack:///nextcloud/apps/settings/src/components/Users/NewUserDialog.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/Users/NewUserDialog.vue?fb0b","webpack://nextcloud/./apps/settings/src/components/Users/NewUserDialog.vue?64c6","webpack:///nextcloud/apps/settings/src/components/Users/UserListFooter.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/settings/src/components/Users/UserListFooter.vue","webpack://nextcloud/./apps/settings/src/components/Users/UserListFooter.vue?c0ec","webpack://nextcloud/./apps/settings/src/components/Users/UserListFooter.vue?b843","webpack:///nextcloud/apps/settings/src/components/Users/UserListHeader.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/settings/src/components/Users/UserListHeader.vue","webpack://nextcloud/./apps/settings/src/components/Users/UserListHeader.vue?e7ff","webpack://nextcloud/./apps/settings/src/components/Users/UserListHeader.vue?758a","webpack://nextcloud/./apps/settings/src/components/Users/UserRow.vue?5434","webpack:///nextcloud/apps/settings/src/components/Users/UserRowActions.vue","webpack:///nextcloud/apps/settings/src/components/Users/UserRowActions.vue?vue&type=script&lang=ts","webpack:///nextcloud/node_modules/is-svg/index.js","webpack://nextcloud/./apps/settings/src/components/Users/UserRowActions.vue?3c2a","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/index.mjs","webpack:///nextcloud/apps/settings/src/mixins/UserRowMixin.js","webpack:///nextcloud/apps/settings/src/components/Users/UserRow.vue","webpack:///nextcloud/apps/settings/src/components/Users/UserRow.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/Users/UserRow.vue?2b0f","webpack://nextcloud/./apps/settings/src/components/Users/UserRow.vue?eb6e","webpack:///nextcloud/apps/settings/src/components/UserList.vue","webpack:///nextcloud/apps/settings/src/components/UserList.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/UserList.vue?6d31","webpack://nextcloud/./apps/settings/src/components/UserList.vue?02a4","webpack://nextcloud/./apps/settings/src/components/UserList.vue?c96e","webpack:///nextcloud/apps/settings/src/views/UserManagement.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/settings/src/views/UserManagement.vue","webpack://nextcloud/./apps/settings/src/views/UserManagement.vue?4758","webpack://nextcloud/./apps/settings/src/views/UserManagement.vue?fd5a","webpack:///nextcloud/apps/settings/src/components/Users/UserRow.vue?vue&type=style&index=0&id=549fcd14&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/components/UserList.vue?vue&type=style&index=0&id=73fd953a&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/utils/userUtils.ts"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.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, `.dialog__note[data-v-29922c80]{font-weight:normal}fieldset[data-v-29922c80]{font-weight:bold}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/UserSettingsDialog.vue\"],\"names\":[],\"mappings\":\"AAEC,+BACC,kBAAA,CAIF,0BACC,gBAAA\",\"sourcesContent\":[\"\\n.dialog {\\n\\t&__note {\\n\\t\\tfont-weight: normal;\\n\\t}\\n}\\n\\nfieldset {\\n\\tfont-weight: bold;\\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/sourceMaps.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, `.app-content[data-v-4684ed00]{display:flex;overflow:hidden;flex-direction:column;max-height:100%}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/views/UserManagement.vue\"],\"names\":[],\"mappings\":\"AACA,8BAEC,YAAA,CACA,eAAA,CACA,qBAAA,CACA,eAAA\",\"sourcesContent\":[\"\\n.app-content {\\n\\t// Virtual list needs to be full height and is scrollable\\n\\tdisplay: flex;\\n\\toverflow: hidden;\\n\\tflex-direction: column;\\n\\tmax-height: 100%;\\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/sourceMaps.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, `.footer[data-v-20636959]{position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background)}.footer__cell[data-v-20636959]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.footer__cell strong[data-v-20636959],.footer__cell span[data-v-20636959],.footer__cell label[data-v-20636959]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.footer__cell--avatar[data-v-20636959],.footer__cell--displayname[data-v-20636959]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.footer__cell--avatar[data-v-20636959]{inset-inline-start:0}.footer__cell--displayname[data-v-20636959]{inset-inline-start:var(--avatar-cell-width);border-inline-end:1px solid var(--color-border)}}.footer__cell--username[data-v-20636959]{padding-inline-start:calc(var(--default-grid-baseline)*3)}.footer__cell--avatar[data-v-20636959]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.footer__cell--multiline span[data-v-20636959]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.footer__cell--multiline span[data-v-20636959]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.footer__cell--large[data-v-20636959]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.footer__cell--obfuscated[data-v-20636959]{min-width:400px;width:400px}.footer__cell--fill[data-v-20636959]{min-width:var(--cell-width-large);width:100%}.footer__cell--actions[data-v-20636959]{position:sticky;inset-inline-end:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-inline-start:1px solid var(--color-border)}.footer__subtitle[data-v-20636959]{color:var(--color-text-maxcontrast)}.footer__cell[data-v-20636959]{position:sticky;color:var(--color-text-maxcontrast)}.footer__cell--loading[data-v-20636959]{inset-inline-start:0;min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0}.footer__cell--count[data-v-20636959]{inset-inline-start:var(--avatar-cell-width);min-width:var(--cell-width);width:var(--cell-width)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/UserListFooter.vue\",\"webpack://./apps/settings/src/components/Users/shared/styles.scss\"],\"names\":[],\"mappings\":\"AAGA,yBCGC,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CAIA,+BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,+GAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,mFAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,uCACC,oBAAA,CAGD,4CACC,2CAAA,CACA,+CAAA,CAAA,CAIF,yCACC,yDAAA,CAGD,uCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,+CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,+CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,sCACC,iCAAA,CACA,6BAAA,CAGD,2CACC,eAAA,CACA,WAAA,CAID,qCACC,iCAAA,CACA,UAAA,CAGD,wCACC,eAAA,CACA,kBAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,iDAAA,CAIF,mCACC,mCAAA,CDpGD,+BACC,eAAA,CACA,mCAAA,CAEA,wCACC,oBAAA,CACA,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CAGD,sCACC,2CAAA,CACA,2BAAA,CACA,uBAAA\",\"sourcesContent\":[\"\\n@use './shared/styles';\\n\\n.footer {\\n\\t@include styles.row;\\n\\t@include styles.cell;\\n\\n\\t&__cell {\\n\\t\\tposition: sticky;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\n\\t\\t&--loading {\\n\\t\\t\\tinset-inline-start: 0;\\n\\t\\t\\tmin-width: var(--avatar-cell-width);\\n\\t\\t\\twidth: var(--avatar-cell-width);\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\n\\t\\t&--count {\\n\\t\\t\\tinset-inline-start: var(--avatar-cell-width);\\n\\t\\t\\tmin-width: var(--cell-width);\\n\\t\\t\\twidth: var(--cell-width);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n\\n@mixin row {\\n\\tposition: relative;\\n\\tdisplay: flex;\\n\\tmin-width: 100%;\\n\\twidth: fit-content;\\n\\theight: var(--row-height);\\n\\tbackground-color: var(--color-main-background);\\n}\\n\\n@mixin cell {\\n\\t&__cell {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tpadding: 0 var(--cell-padding);\\n\\t\\tmin-width: var(--cell-width);\\n\\t\\twidth: var(--cell-width);\\n\\t\\tcolor: var(--color-main-text);\\n\\n\\t\\tstrong,\\n\\t\\tspan,\\n\\t\\tlabel {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\toverflow-wrap: anywhere;\\n\\t\\t}\\n\\n\\t\\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\\n\\t\\t\\t&--avatar,\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tposition: sticky;\\n\\t\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--avatar {\\n\\t\\t\\t\\tinset-inline-start: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tinset-inline-start: var(--avatar-cell-width);\\n\\t\\t\\t\\tborder-inline-end: 1px solid var(--color-border);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--username {\\n\\t\\t\\tpadding-inline-start: calc(var(--default-grid-baseline) * 3);\\n\\t\\t}\\n\\n\\t\\t&--avatar {\\n\\t\\t\\tmin-width: var(--avatar-cell-width);\\n\\t\\t\\twidth: var(--avatar-cell-width);\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tuser-select: none;\\n\\t\\t}\\n\\n\\t\\t&--multiline {\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tline-height: 1.3em;\\n\\t\\t\\t\\twhite-space: unset;\\n\\n\\t\\t\\t\\t@supports (-webkit-line-clamp: 2) {\\n\\t\\t\\t\\t\\tdisplay: -webkit-box;\\n\\t\\t\\t\\t\\t-webkit-line-clamp: 2;\\n\\t\\t\\t\\t\\t-webkit-box-orient: vertical;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--large {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: var(--cell-width-large);\\n\\t\\t}\\n\\n\\t\\t&--obfuscated {\\n\\t\\t\\tmin-width: 400px;\\n\\t\\t\\twidth: 400px;\\n\\t\\t}\\n\\n\\t\\t// Fill remaining row space with cell\\n\\t\\t&--fill {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t&--actions {\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\tinset-inline-end: 0;\\n\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: row;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tmin-width: 110px;\\n\\t\\t\\twidth: 110px;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tborder-inline-start: 1px solid var(--color-border);\\n\\t\\t}\\n\\t}\\n\\n\\t&__subtitle {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\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/sourceMaps.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, `.header[data-v-5c0f8828]{border-bottom:1px solid var(--color-border);position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background)}.header__cell[data-v-5c0f8828]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.header__cell strong[data-v-5c0f8828],.header__cell span[data-v-5c0f8828],.header__cell label[data-v-5c0f8828]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.header__cell--avatar[data-v-5c0f8828],.header__cell--displayname[data-v-5c0f8828]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.header__cell--avatar[data-v-5c0f8828]{inset-inline-start:0}.header__cell--displayname[data-v-5c0f8828]{inset-inline-start:var(--avatar-cell-width);border-inline-end:1px solid var(--color-border)}}.header__cell--username[data-v-5c0f8828]{padding-inline-start:calc(var(--default-grid-baseline)*3)}.header__cell--avatar[data-v-5c0f8828]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.header__cell--multiline span[data-v-5c0f8828]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.header__cell--multiline span[data-v-5c0f8828]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.header__cell--large[data-v-5c0f8828]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.header__cell--obfuscated[data-v-5c0f8828]{min-width:400px;width:400px}.header__cell--fill[data-v-5c0f8828]{min-width:var(--cell-width-large);width:100%}.header__cell--actions[data-v-5c0f8828]{position:sticky;inset-inline-end:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-inline-start:1px solid var(--color-border)}.header__subtitle[data-v-5c0f8828]{color:var(--color-text-maxcontrast)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/UserListHeader.vue\",\"webpack://./apps/settings/src/components/Users/shared/styles.scss\"],\"names\":[],\"mappings\":\"AAGA,yBACC,2CAAA,CCEA,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CAIA,+BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,+GAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,mFAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,uCACC,oBAAA,CAGD,4CACC,2CAAA,CACA,+CAAA,CAAA,CAIF,yCACC,yDAAA,CAGD,uCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,+CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,+CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,sCACC,iCAAA,CACA,6BAAA,CAGD,2CACC,eAAA,CACA,WAAA,CAID,qCACC,iCAAA,CACA,UAAA,CAGD,wCACC,eAAA,CACA,kBAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,iDAAA,CAIF,mCACC,mCAAA\",\"sourcesContent\":[\"\\n@use './shared/styles';\\n\\n.header {\\n\\tborder-bottom: 1px solid var(--color-border);\\n\\n\\t@include styles.row;\\n\\t@include styles.cell;\\n}\\n\",\"/**\\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n\\n@mixin row {\\n\\tposition: relative;\\n\\tdisplay: flex;\\n\\tmin-width: 100%;\\n\\twidth: fit-content;\\n\\theight: var(--row-height);\\n\\tbackground-color: var(--color-main-background);\\n}\\n\\n@mixin cell {\\n\\t&__cell {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tpadding: 0 var(--cell-padding);\\n\\t\\tmin-width: var(--cell-width);\\n\\t\\twidth: var(--cell-width);\\n\\t\\tcolor: var(--color-main-text);\\n\\n\\t\\tstrong,\\n\\t\\tspan,\\n\\t\\tlabel {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\toverflow-wrap: anywhere;\\n\\t\\t}\\n\\n\\t\\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\\n\\t\\t\\t&--avatar,\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tposition: sticky;\\n\\t\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--avatar {\\n\\t\\t\\t\\tinset-inline-start: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tinset-inline-start: var(--avatar-cell-width);\\n\\t\\t\\t\\tborder-inline-end: 1px solid var(--color-border);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--username {\\n\\t\\t\\tpadding-inline-start: calc(var(--default-grid-baseline) * 3);\\n\\t\\t}\\n\\n\\t\\t&--avatar {\\n\\t\\t\\tmin-width: var(--avatar-cell-width);\\n\\t\\t\\twidth: var(--avatar-cell-width);\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tuser-select: none;\\n\\t\\t}\\n\\n\\t\\t&--multiline {\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tline-height: 1.3em;\\n\\t\\t\\t\\twhite-space: unset;\\n\\n\\t\\t\\t\\t@supports (-webkit-line-clamp: 2) {\\n\\t\\t\\t\\t\\tdisplay: -webkit-box;\\n\\t\\t\\t\\t\\t-webkit-line-clamp: 2;\\n\\t\\t\\t\\t\\t-webkit-box-orient: vertical;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--large {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: var(--cell-width-large);\\n\\t\\t}\\n\\n\\t\\t&--obfuscated {\\n\\t\\t\\tmin-width: 400px;\\n\\t\\t\\twidth: 400px;\\n\\t\\t}\\n\\n\\t\\t// Fill remaining row space with cell\\n\\t\\t&--fill {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t&--actions {\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\tinset-inline-end: 0;\\n\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: row;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tmin-width: 110px;\\n\\t\\t\\twidth: 110px;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tborder-inline-start: 1px solid var(--color-border);\\n\\t\\t}\\n\\t}\\n\\n\\t&__subtitle {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\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/sourceMaps.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, `.user-list[data-v-21942da5]{--avatar-cell-width: 48px;--cell-padding: 7px;--cell-width: 200px;--cell-width-large: 300px;--cell-min-width: calc(var(--cell-width) - (2 * var(--cell-padding)));--sticky-column-z-index: calc(var(--vs-dropdown-z-index) + 1);display:block;overflow:auto;height:100%;will-change:scroll-position}.user-list__header[data-v-21942da5],.user-list__footer[data-v-21942da5]{position:sticky;display:block}.user-list__header[data-v-21942da5]{top:0;z-index:calc(var(--sticky-column-z-index) + 1)}.user-list__footer[data-v-21942da5]{inset-inline-start:0}.user-list__body[data-v-21942da5]{display:flex;flex-direction:column;width:100%}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/VirtualList.vue\"],\"names\":[],\"mappings\":\"AACA,4BACC,yBAAA,CACA,mBAAA,CACA,mBAAA,CACA,yBAAA,CACA,qEAAA,CACA,6DAAA,CAGA,aAAA,CACA,aAAA,CACA,WAAA,CACA,2BAAA,CAEA,wEAEC,eAAA,CAEA,aAAA,CAGD,oCACC,KAAA,CACA,8CAAA,CAGD,oCACC,oBAAA,CAGD,kCACC,YAAA,CACA,qBAAA,CACA,UAAA\",\"sourcesContent\":[\"\\n.user-list {\\n\\t--avatar-cell-width: 48px;\\n\\t--cell-padding: 7px;\\n\\t--cell-width: 200px;\\n\\t--cell-width-large: 300px;\\n\\t--cell-min-width: calc(var(--cell-width) - (2 * var(--cell-padding)));\\n\\t--sticky-column-z-index: calc(var(--vs-dropdown-z-index) + 1); // Keep the sticky column on top of the select dropdown\\n\\n\\t// Necessary for virtual scroll optimized rendering\\n\\tdisplay: block;\\n\\toverflow: auto;\\n\\theight: 100%;\\n\\twill-change: scroll-position;\\n\\n\\t&__header,\\n\\t&__footer {\\n\\t\\tposition: sticky;\\n\\t\\t// Fix sticky positioning in Firefox\\n\\t\\tdisplay: block;\\n\\t}\\n\\n\\t&__header {\\n\\t\\ttop: 0;\\n\\t\\tz-index: calc(var(--sticky-column-z-index) + 1);\\n\\t}\\n\\n\\t&__footer {\\n\\t\\tinset-inline-start: 0;\\n\\t}\\n\\n\\t&__body {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\twidth: 100%;\\n\\t}\\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/sourceMaps.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, `.modal__header[data-v-0540d351]{margin:0}.modal__content[data-v-0540d351]{display:flex;flex-direction:column;align-items:center;padding:20px;gap:4px 0}.modal__button-row[data-v-0540d351]{display:flex;width:100%;justify-content:space-between}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/GroupListItem.vue\"],\"names\":[],\"mappings\":\"AAEC,gCACC,QAAA,CAGD,iCACC,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,YAAA,CACA,SAAA,CAGD,oCACC,YAAA,CACA,UAAA,CACA,6BAAA\",\"sourcesContent\":[\"\\n.modal {\\n\\t&__header {\\n\\t\\tmargin: 0;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\talign-items: center;\\n\\t\\tpadding: 20px;\\n\\t\\tgap: 4px 0;\\n\\t}\\n\\n\\t&__button-row {\\n\\t\\tdisplay: flex;\\n\\t\\twidth: 100%;\\n\\t\\tjustify-content: space-between;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","/**\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport axios from '@nextcloud/axios';\nimport { generateOcsUrl } from '@nextcloud/router';\nimport { CancelablePromise } from 'cancelable-promise';\nconst formatGroup = (group) => ({\n id: group.id,\n name: group.displayname,\n usercount: group.usercount,\n disabled: group.disabled,\n canAdd: group.canAdd,\n canRemove: group.canRemove,\n});\n/**\n * Search groups\n *\n * @param {object} options Options\n * @param {string} options.search Search query\n * @param {number} options.offset Offset\n * @param {number} options.limit Limit\n */\nexport const searchGroups = ({ search, offset, limit }) => {\n const controller = new AbortController();\n return new CancelablePromise(async (resolve, reject, onCancel) => {\n onCancel(() => controller.abort());\n try {\n const { data } = await axios.get(generateOcsUrl('/cloud/groups/details?search={search}&offset={offset}&limit={limit}', { search, offset, limit }), {\n signal: controller.signal,\n });\n const groups = data.ocs?.data?.groups ?? [];\n const formattedGroups = groups.map(formatGroup);\n resolve(formattedGroups);\n }\n catch (error) {\n reject(error);\n }\n });\n};\n/**\n * Load user groups\n *\n * @param {object} options Options\n * @param {string} options.userId User id\n */\nexport const loadUserGroups = async ({ userId }) => {\n const url = generateOcsUrl('/cloud/users/{userId}/groups/details', { userId });\n const { data } = await axios.get(url);\n const groups = data.ocs?.data?.groups ?? [];\n const formattedGroups = groups.map(formatGroup);\n return formattedGroups;\n};\n/**\n * Load user subadmin groups\n *\n * @param {object} options Options\n * @param {string} options.userId User id\n */\nexport const loadUserSubAdminGroups = async ({ userId }) => {\n const url = generateOcsUrl('/cloud/users/{userId}/subadmins/details', { userId });\n const { data } = await axios.get(url);\n const groups = data.ocs?.data?.groups ?? [];\n const formattedGroups = groups.map(formatGroup);\n return formattedGroups;\n};\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.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, `.account-management__navigation[data-v-539a4ad0] .app-navigation__body{will-change:scroll-position}.account-management__system-list[data-v-539a4ad0]{height:auto !important;overflow:visible !important}.account-management__group-list[data-v-539a4ad0]{height:100% !important}.account-management__settings-toggle[data-v-539a4ad0]{margin-bottom:12px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/views/UserManagementNavigation.vue\"],\"names\":[],\"mappings\":\"AAGE,uEACC,2BAAA,CAGF,kDACC,sBAAA,CACA,2BAAA,CAGD,iDACC,sBAAA,CAGD,sDACC,kBAAA\",\"sourcesContent\":[\"\\n.account-management {\\n\\t&__navigation {\\n\\t\\t:deep(.app-navigation__body) {\\n\\t\\t\\twill-change: scroll-position;\\n\\t\\t}\\n\\t}\\n\\t&__system-list {\\n\\t\\theight: auto !important;\\n\\t\\toverflow: visible !important;\\n\\t}\\n\\n\\t&__group-list {\\n\\t\\theight: 100% !important;\\n\\t}\\n\\n\\t&__settings-toggle {\\n\\t\\tmargin-bottom: 12px;\\n\\t}\\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/sourceMaps.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, `.dialog__form[data-v-3d23637c]{display:flex;flex-direction:column;align-items:center;padding:0 8px;gap:4px 0}.dialog__item[data-v-3d23637c]{width:100%}.dialog__item[data-v-3d23637c]:not(:focus):not(:active){border-color:var(--color-border-dark)}.dialog__hint[data-v-3d23637c]{color:var(--color-text-maxcontrast);margin-top:8px;align-self:flex-start}.dialog__label[data-v-3d23637c]{display:block;padding:4px 0}.dialog__select[data-v-3d23637c]{width:100%}.dialog__managers[data-v-3d23637c]{margin-bottom:12px}.dialog__submit[data-v-3d23637c]{margin-top:4px;margin-bottom:8px}.dialog[data-v-3d23637c] .dialog__actions{margin:auto}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/NewUserDialog.vue\"],\"names\":[],\"mappings\":\"AAEC,+BACC,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,aAAA,CACA,SAAA,CAGD,+BACC,UAAA,CAEA,wDACC,qCAAA,CAIF,+BACC,mCAAA,CACA,cAAA,CACA,qBAAA,CAGD,gCACC,aAAA,CACA,aAAA,CAGD,iCACC,UAAA,CAGD,mCACC,kBAAA,CAGD,iCACC,cAAA,CACA,iBAAA,CAIA,0CACC,WAAA\",\"sourcesContent\":[\"\\n.dialog {\\n\\t&__form {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\talign-items: center;\\n\\t\\tpadding: 0 8px;\\n\\t\\tgap: 4px 0;\\n\\t}\\n\\n\\t&__item {\\n\\t\\twidth: 100%;\\n\\n\\t\\t&:not(:focus):not(:active) {\\n\\t\\t\\tborder-color: var(--color-border-dark);\\n\\t\\t}\\n\\t}\\n\\n\\t&__hint {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tmargin-top: 8px;\\n\\t\\talign-self: flex-start;\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: block;\\n\\t\\tpadding: 4px 0;\\n\\t}\\n\\n\\t&__select {\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t&__managers {\\n\\t\\tmargin-bottom: 12px;\\n\\t}\\n\\n\\t&__submit {\\n\\t\\tmargin-top: 4px;\\n\\t\\tmargin-bottom: 8px;\\n\\t}\\n\\n\\t:deep {\\n\\t\\t.dialog__actions {\\n\\t\\t\\tmargin: auto;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.NcAppNavigation,{staticClass:\"account-management__navigation\",attrs:{\"aria-label\":_setup.t('settings', 'Account management')},scopedSlots:_vm._u([{key:\"footer\",fn:function(){return [_c(_setup.NcButton,{staticClass:\"account-management__settings-toggle\",attrs:{\"type\":\"tertiary\"},on:{\"click\":function($event){_setup.isDialogOpen = true}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiCog}})]},proxy:true}])},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_setup.t('settings', 'Account management settings'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c(_setup.UserSettingsDialog,{attrs:{\"open\":_setup.isDialogOpen},on:{\"update:open\":function($event){_setup.isDialogOpen=$event}}})]},proxy:true}])},[_c(_setup.NcAppNavigationNew,{attrs:{\"button-id\":\"new-user-button\",\"text\":_setup.t('settings','New account')},on:{\"click\":_setup.showNewUserMenu,\"keyup\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _setup.showNewUserMenu.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"]))return null;return _setup.showNewUserMenu.apply(null, arguments)}]},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiPlus}})]},proxy:true}])}),_vm._v(\" \"),_c(_setup.NcAppNavigationList,{staticClass:\"account-management__system-list\",attrs:{\"data-cy-users-settings-navigation-groups\":\"system\"}},[_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"everyone\",\"exact\":true,\"name\":_setup.t('settings', 'All accounts'),\"to\":{ name: 'users' }},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiAccount}})]},proxy:true},{key:\"counter\",fn:function(){return [(_setup.userCount)?_c(_setup.NcCounterBubble,{attrs:{\"type\":!_setup.selectedGroupDecoded ? 'highlighted' : undefined}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_setup.userCount)+\"\\n\\t\\t\\t\\t\")]):_vm._e()]},proxy:true}])}),_vm._v(\" \"),(_setup.settings.isAdmin)?_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"admin\",\"exact\":true,\"name\":_setup.t('settings', 'Admins'),\"to\":{ name: 'group', params: { selectedGroup: 'admin' } }},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiShieldAccount}})]},proxy:true},{key:\"counter\",fn:function(){return [(_setup.adminGroup && _setup.adminGroup.count > 0)?_c(_setup.NcCounterBubble,{attrs:{\"type\":_setup.selectedGroupDecoded === 'admin' ? 'highlighted' : undefined}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_setup.adminGroup.count)+\"\\n\\t\\t\\t\\t\")]):_vm._e()]},proxy:true}],null,false,2218088905)}):_vm._e(),_vm._v(\" \"),(_setup.isAdminOrDelegatedAdmin)?_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"recent\",\"exact\":true,\"name\":_setup.t('settings', 'Recently active'),\"to\":{ name: 'group', params: { selectedGroup: '__nc_internal_recent' } }},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiHistory}})]},proxy:true},{key:\"counter\",fn:function(){return [(_setup.recentGroup?.usercount)?_c(_setup.NcCounterBubble,{attrs:{\"type\":_setup.selectedGroupDecoded === '__nc_internal_recent' ? 'highlighted' : undefined}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_setup.recentGroup.usercount)+\"\\n\\t\\t\\t\\t\")]):_vm._e()]},proxy:true}],null,false,2299424282)}):_vm._e(),_vm._v(\" \"),(_setup.disabledGroup && (_setup.disabledGroup.usercount > 0 || _setup.disabledGroup.usercount === -1))?_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"disabled\",\"exact\":true,\"name\":_setup.t('settings', 'Disabled accounts'),\"to\":{ name: 'group', params: { selectedGroup: 'disabled' } }},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiAccountOff}})]},proxy:true},(_setup.disabledGroup.usercount > 0)?{key:\"counter\",fn:function(){return [_c(_setup.NcCounterBubble,{attrs:{\"type\":_setup.selectedGroupDecoded === 'disabled' ? 'highlighted' : undefined}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_setup.disabledGroup.usercount)+\"\\n\\t\\t\\t\\t\")])]},proxy:true}:null],null,true)}):_vm._e()],1),_vm._v(\" \"),_c(_setup.AppNavigationGroupList)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserSettingsDialog.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!./UserSettingsDialog.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport 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!./UserSettingsDialog.vue?vue&type=style&index=0&id=29922c80&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * 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!./UserSettingsDialog.vue?vue&type=style&index=0&id=29922c80&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserSettingsDialog.vue?vue&type=template&id=29922c80&scoped=true\"\nimport script from \"./UserSettingsDialog.vue?vue&type=script&lang=js\"\nexport * from \"./UserSettingsDialog.vue?vue&type=script&lang=js\"\nimport style0 from \"./UserSettingsDialog.vue?vue&type=style&index=0&id=29922c80&prod&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 \"29922c80\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcAppSettingsDialog',{attrs:{\"open\":_vm.isModalOpen,\"show-navigation\":true,\"name\":_vm.t('settings', 'Account management settings')},on:{\"update:open\":function($event){_vm.isModalOpen=$event}}},[_c('NcAppSettingsSection',{attrs:{\"id\":\"visibility-settings\",\"name\":_vm.t('settings', 'Visibility')}},[_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showLanguages\",\"checked\":_vm.showLanguages},on:{\"update:checked\":function($event){_vm.showLanguages=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show language'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showUserBackend\",\"checked\":_vm.showUserBackend},on:{\"update:checked\":function($event){_vm.showUserBackend=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show account backend'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showStoragePath\",\"checked\":_vm.showStoragePath},on:{\"update:checked\":function($event){_vm.showStoragePath=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show storage path'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showFirstLogin\",\"checked\":_vm.showFirstLogin},on:{\"update:checked\":function($event){_vm.showFirstLogin=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show first login'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showLastLogin\",\"checked\":_vm.showLastLogin},on:{\"update:checked\":function($event){_vm.showLastLogin=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show last login'))+\"\\n\\t\\t\")])],1),_vm._v(\" \"),_c('NcAppSettingsSection',{attrs:{\"id\":\"groups-sorting\",\"name\":_vm.t('settings', 'Sorting')}},[(_vm.isGroupSortingEnforced)?_c('NcNoteCard',{attrs:{\"type\":\"warning\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'The system config enforces sorting the groups by name. This also disables showing the member count.'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('fieldset',[_c('legend',[_vm._v(_vm._s(_vm.t('settings', 'Group list sorting')))]),_vm._v(\" \"),_c('NcNoteCard',{staticClass:\"dialog__note\",attrs:{\"type\":\"info\",\"text\":_vm.t('settings', 'Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list.')}}),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"radio\",\"checked\":_vm.groupSorting,\"data-test\":\"sortGroupsByMemberCount\",\"disabled\":_vm.isGroupSortingEnforced,\"name\":\"group-sorting-mode\",\"value\":\"member-count\"},on:{\"update:checked\":function($event){_vm.groupSorting=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'By member count'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"radio\",\"checked\":_vm.groupSorting,\"data-test\":\"sortGroupsByName\",\"disabled\":_vm.isGroupSortingEnforced,\"name\":\"group-sorting-mode\",\"value\":\"name\"},on:{\"update:checked\":function($event){_vm.groupSorting=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'By name'))+\"\\n\\t\\t\\t\")])],1)],1),_vm._v(\" \"),_c('NcAppSettingsSection',{attrs:{\"id\":\"email-settings\",\"name\":_vm.t('settings', 'Send email')}},[_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"sendWelcomeMail\",\"checked\":_vm.sendWelcomeMail,\"disabled\":_vm.loadingSendMail},on:{\"update:checked\":function($event){_vm.sendWelcomeMail=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Send welcome email to new accounts'))+\"\\n\\t\\t\")])],1),_vm._v(\" \"),_c('NcAppSettingsSection',{attrs:{\"id\":\"default-settings\",\"name\":_vm.t('settings', 'Defaults')}},[_c('NcSelect',{attrs:{\"clearable\":false,\"create-option\":_vm.validateQuota,\"filter-by\":_vm.filterQuotas,\"input-label\":_vm.t('settings', 'Default quota'),\"options\":_vm.quotaOptions,\"placement\":\"top\",\"placeholder\":_vm.t('settings', 'Select default quota'),\"taggable\":\"\"},on:{\"option:selected\":_vm.setDefaultQuota},model:{value:(_vm.defaultQuota),callback:function ($$v) {_vm.defaultQuota=$$v},expression:\"defaultQuota\"}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.Fragment,[_c(_setup.NcAppNavigationCaption,{attrs:{\"name\":_setup.t('settings', 'Groups'),\"disabled\":_setup.loadingAddGroup,\"aria-label\":_setup.loadingAddGroup ? _setup.t('settings', 'Creating group…') : _setup.t('settings', 'Create group'),\"force-menu\":\"\",\"is-heading\":\"\",\"open\":_setup.isAddGroupOpen},on:{\"update:open\":function($event){_setup.isAddGroupOpen=$event}},scopedSlots:_vm._u([(_setup.isAdminOrDelegatedAdmin)?{key:\"actionsTriggerIcon\",fn:function(){return [(_setup.loadingAddGroup)?_c(_setup.NcLoadingIcon):_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiPlus}})]},proxy:true}:null,(_setup.isAdminOrDelegatedAdmin)?{key:\"actions\",fn:function(){return [_c(_setup.NcActionText,{scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiAccountGroup}})]},proxy:true}],null,false,3607647275)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_setup.t('settings', 'Create group'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c(_setup.NcActionInput,{attrs:{\"label\":_setup.t('settings', 'Group name'),\"data-cy-users-settings-new-group-name\":\"\",\"label-outside\":false,\"disabled\":_setup.loadingAddGroup,\"value\":_setup.newGroupName,\"error\":_setup.hasAddGroupError,\"helper-text\":_setup.hasAddGroupError ? _setup.t('settings', 'Please enter a valid group name') : ''},on:{\"update:value\":function($event){_setup.newGroupName=$event},\"submit\":_setup.createGroup}})]},proxy:true}:null],null,true)}),_vm._v(\" \"),_c(_setup.NcAppNavigationSearch,{attrs:{\"label\":_setup.t('settings', 'Search groups…')},model:{value:(_setup.groupsSearchQuery),callback:function ($$v) {_setup.groupsSearchQuery=$$v},expression:\"groupsSearchQuery\"}}),_vm._v(\" \"),_c('p',{staticClass:\"hidden-visually\",attrs:{\"id\":\"group-list-desc\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_setup.t('settings', 'List of groups. This list is not fully populated for performance reasons. The groups will be loaded as you navigate or search through the list.'))+\"\\n\\t\")]),_vm._v(\" \"),_c(_setup.NcAppNavigationList,{staticClass:\"account-management__group-list\",attrs:{\"aria-describedby\":\"group-list-desc\",\"data-cy-users-settings-navigation-groups\":\"custom\"}},[_vm._l((_setup.filteredGroups),function(group){return _c(_setup.GroupListItem,{key:group.id,ref:\"groupListItems\",refInFor:true,attrs:{\"id\":group.id,\"active\":_setup.selectedGroupDecoded === group.id,\"name\":group.title,\"count\":group.count}})}),_vm._v(\" \"),(_setup.loadingGroups)?_c('div',{attrs:{\"role\":\"note\"}},[_c(_setup.NcLoadingIcon,{attrs:{\"name\":_setup.t('settings', 'Loading groups…')}})],1):_vm._e()],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupListItem.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!./GroupListItem.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport 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!./GroupListItem.vue?vue&type=style&index=0&id=0540d351&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * 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!./GroupListItem.vue?vue&type=style&index=0&id=0540d351&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./GroupListItem.vue?vue&type=template&id=0540d351&scoped=true\"\nimport script from \"./GroupListItem.vue?vue&type=script&lang=js\"\nexport * from \"./GroupListItem.vue?vue&type=script&lang=js\"\nimport style0 from \"./GroupListItem.vue?vue&type=style&index=0&id=0540d351&prod&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 \"0540d351\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Fragment',[(_vm.showRemoveGroupModal)?_c('NcModal',{on:{\"close\":function($event){_vm.showRemoveGroupModal = false}}},[_c('div',{staticClass:\"modal__content\"},[_c('h2',{staticClass:\"modal__header\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Please confirm the group removal'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcNoteCard',{attrs:{\"type\":\"warning\",\"show-alert\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'You are about to delete the group \"{group}\". The accounts will NOT be deleted.', { group: _vm.name }))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('div',{staticClass:\"modal__button-row\"},[_c('NcButton',{attrs:{\"type\":\"secondary\"},on:{\"click\":function($event){_vm.showRemoveGroupModal = false}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Cancel'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcButton',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.removeGroup}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Confirm'))+\"\\n\\t\\t\\t\\t\")])],1)],1)]):_vm._e(),_vm._v(\" \"),_c('NcAppNavigationItem',{key:_vm.id,ref:\"listItem\",attrs:{\"exact\":true,\"name\":_vm.name,\"to\":{ name: 'group', params: { selectedGroup: encodeURIComponent(_vm.id) } },\"loading\":_vm.loadingRenameGroup,\"menu-open\":_vm.openGroupMenu},on:{\"update:menuOpen\":_vm.handleGroupMenuOpen},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('AccountGroup',{attrs:{\"size\":20}})]},proxy:true},{key:\"counter\",fn:function(){return [(_vm.count)?_c('NcCounterBubble',{attrs:{\"type\":_vm.active ? 'highlighted' : undefined}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.count)+\"\\n\\t\\t\\t\")]):_vm._e()]},proxy:true},{key:\"actions\",fn:function(){return [(_vm.id !== 'admin' && _vm.id !== 'disabled' && (_vm.settings.isAdmin || _vm.settings.isDelegatedAdmin))?_c('NcActionInput',{ref:\"displayNameInput\",attrs:{\"trailing-button-label\":_vm.t('settings', 'Submit'),\"type\":\"text\",\"value\":_vm.name,\"label\":_vm.t('settings', 'Rename group')},on:{\"submit\":function($event){return _vm.renameGroup(_vm.id)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Pencil',{attrs:{\"size\":20}})]},proxy:true}],null,false,580569589)}):_vm._e(),_vm._v(\" \"),(_vm.id !== 'admin' && _vm.id !== 'disabled' && (_vm.settings.isAdmin || _vm.settings.isDelegatedAdmin))?_c('NcActionButton',{on:{\"click\":function($event){_vm.showRemoveGroupModal = true}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Delete',{attrs:{\"size\":20}})]},proxy:true}],null,false,2705356561)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Delete group'))+\"\\n\\t\\t\\t\")]):_vm._e()]},proxy:true}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { computed } from 'vue';\n/**\n * Format a group to a menu entry\n *\n * @param group the group\n */\nfunction formatGroupMenu(group) {\n if (typeof group === 'undefined') {\n return null;\n }\n return {\n id: group.id,\n title: group.name,\n usercount: group.usercount ?? 0,\n count: Math.max(0, (group.usercount ?? 0) - (group.disabled ?? 0)),\n };\n}\nexport const useFormatGroups = (groups) => {\n /**\n * All non-disabled non-admin groups\n */\n const userGroups = computed(() => {\n const formatted = groups.value\n // filter out disabled and admin\n .filter(group => group.id !== 'disabled' && group.id !== '__nc_internal_recent' && group.id !== 'admin')\n // format group\n .map(group => formatGroupMenu(group))\n // remove invalid\n .filter(group => group !== null);\n return formatted;\n });\n /**\n * The admin group if found otherwise null\n */\n const adminGroup = computed(() => formatGroupMenu(groups.value.find(group => group.id === 'admin')));\n /**\n * The group of disabled users\n */\n const disabledGroup = computed(() => formatGroupMenu(groups.value.find(group => group.id === 'disabled')));\n /**\n * The group of recent users\n */\n const recentGroup = computed(() => formatGroupMenu(groups.value.find(group => group.id === '__nc_internal_recent')));\n return { adminGroup, recentGroup, disabledGroup, userGroups };\n};\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppNavigationGroupList.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppNavigationGroupList.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./AppNavigationGroupList.vue?vue&type=template&id=49ad50e4\"\nimport script from \"./AppNavigationGroupList.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppNavigationGroupList.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserManagementNavigation.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserManagementNavigation.vue?vue&type=script&setup=true&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport 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!./UserManagementNavigation.vue?vue&type=style&index=0&id=539a4ad0&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * 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!./UserManagementNavigation.vue?vue&type=style&index=0&id=539a4ad0&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserManagementNavigation.vue?vue&type=template&id=539a4ad0&scoped=true\"\nimport script from \"./UserManagementNavigation.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserManagementNavigation.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./UserManagementNavigation.vue?vue&type=style&index=0&id=539a4ad0&prod&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 \"539a4ad0\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcAppContent',{attrs:{\"page-heading\":_vm.pageHeading}},[_c('UserList',{attrs:{\"selected-group\":_vm.selectedGroupDecoded,\"external-actions\":_vm.externalActions}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('table',{staticClass:\"user-list\"},[_vm._t(\"before\"),_vm._v(\" \"),_c('thead',{ref:\"thead\",staticClass:\"user-list__header\",attrs:{\"role\":\"rowgroup\"}},[_vm._t(\"header\")],2),_vm._v(\" \"),_c('tbody',{staticClass:\"user-list__body\",style:(_vm.tbodyStyle)},_vm._l((_vm.renderedItems),function(item,i){return _c(_vm.dataComponent,_vm._b({key:item[_vm.dataKey],tag:\"component\",attrs:{\"user\":item,\"visible\":(i >= _vm.bufferItems || _vm.index <= _vm.bufferItems) && (i < _vm.shownItems - _vm.bufferItems)}},'component',_vm.extraProps,false))}),1),_vm._v(\" \"),_c('tfoot',{directives:[{name:\"element-visibility\",rawName:\"v-element-visibility\",value:(_vm.handleFooterVisibility),expression:\"handleFooterVisibility\"}],ref:\"tfoot\",staticClass:\"user-list__footer\",attrs:{\"role\":\"rowgroup\"}},[_vm._t(\"footer\")],2)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VirtualList.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VirtualList.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport 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!./VirtualList.vue?vue&type=style&index=0&id=21942da5&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * 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!./VirtualList.vue?vue&type=style&index=0&id=21942da5&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./VirtualList.vue?vue&type=template&id=21942da5&scoped=true\"\nimport script from \"./VirtualList.vue?vue&type=script&lang=ts\"\nexport * from \"./VirtualList.vue?vue&type=script&lang=ts\"\nimport style0 from \"./VirtualList.vue?vue&type=style&index=0&id=21942da5&prod&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 \"21942da5\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcDialog',_vm._g({staticClass:\"dialog\",attrs:{\"size\":\"small\",\"name\":_vm.t('settings', 'New account'),\"out-transition\":\"\"},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [_c('NcButton',{staticClass:\"dialog__submit\",attrs:{\"data-test\":\"submit\",\"form\":\"new-user-form\",\"type\":\"primary\",\"native-type\":\"submit\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Add new account'))+\"\\n\\t\\t\")])]},proxy:true}])},_vm.$listeners),[_c('form',{staticClass:\"dialog__form\",attrs:{\"id\":\"new-user-form\",\"data-test\":\"form\",\"disabled\":_vm.loading.all},on:{\"submit\":function($event){$event.preventDefault();return _vm.createUser.apply(null, arguments)}}},[_c('NcTextField',{ref:\"username\",staticClass:\"dialog__item\",attrs:{\"data-test\":\"username\",\"value\":_vm.newUser.id,\"disabled\":_vm.settings.newUserGenerateUserID,\"label\":_vm.usernameLabel,\"autocapitalize\":\"none\",\"autocomplete\":\"off\",\"spellcheck\":\"false\",\"pattern\":\"[a-zA-Z0-9 _\\\\.@\\\\-']+\",\"required\":\"\"},on:{\"update:value\":function($event){return _vm.$set(_vm.newUser, \"id\", $event)}}}),_vm._v(\" \"),_c('NcTextField',{staticClass:\"dialog__item\",attrs:{\"data-test\":\"displayName\",\"value\":_vm.newUser.displayName,\"label\":_vm.t('settings', 'Display name'),\"autocapitalize\":\"none\",\"autocomplete\":\"off\",\"spellcheck\":\"false\"},on:{\"update:value\":function($event){return _vm.$set(_vm.newUser, \"displayName\", $event)}}}),_vm._v(\" \"),(!_vm.settings.newUserRequireEmail)?_c('span',{staticClass:\"dialog__hint\",attrs:{\"id\":\"password-email-hint\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Either password or email is required'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcPasswordField',{ref:\"password\",staticClass:\"dialog__item\",attrs:{\"data-test\":\"password\",\"value\":_vm.newUser.password,\"minlength\":_vm.minPasswordLength,\"maxlength\":469,\"aria-describedby\":\"password-email-hint\",\"label\":_vm.newUser.mailAddress === '' ? _vm.t('settings', 'Password (required)') : _vm.t('settings', 'Password'),\"autocapitalize\":\"none\",\"autocomplete\":\"new-password\",\"spellcheck\":\"false\",\"required\":_vm.newUser.mailAddress === ''},on:{\"update:value\":function($event){return _vm.$set(_vm.newUser, \"password\", $event)}}}),_vm._v(\" \"),_c('NcTextField',{staticClass:\"dialog__item\",attrs:{\"data-test\":\"email\",\"type\":\"email\",\"value\":_vm.newUser.mailAddress,\"aria-describedby\":\"password-email-hint\",\"label\":_vm.newUser.password === '' || _vm.settings.newUserRequireEmail ? _vm.t('settings', 'Email (required)') : _vm.t('settings', 'Email'),\"autocapitalize\":\"none\",\"autocomplete\":\"off\",\"spellcheck\":\"false\",\"required\":_vm.newUser.password === '' || _vm.settings.newUserRequireEmail},on:{\"update:value\":function($event){return _vm.$set(_vm.newUser, \"mailAddress\", $event)}}}),_vm._v(\" \"),_c('div',{staticClass:\"dialog__item\"},[_c('NcSelect',{staticClass:\"dialog__select\",attrs:{\"data-test\":\"groups\",\"input-label\":!_vm.settings.isAdmin && !_vm.settings.isDelegatedAdmin ? _vm.t('settings', 'Member of the following groups (required)') : _vm.t('settings', 'Member of the following groups'),\"placeholder\":_vm.t('settings', 'Set account groups'),\"disabled\":_vm.loading.groups || _vm.loading.all,\"options\":_vm.availableGroups,\"value\":_vm.newUser.groups,\"label\":\"name\",\"close-on-select\":false,\"multiple\":true,\"taggable\":_vm.settings.isAdmin || _vm.settings.isDelegatedAdmin,\"required\":!_vm.settings.isAdmin && !_vm.settings.isDelegatedAdmin,\"create-option\":(value) => ({ id: value, name: value, isCreating: true })},on:{\"search\":_vm.searchGroups,\"option:created\":_vm.createGroup,\"option:deselected\":_vm.removeGroup,\"option:selected\":options => _vm.addGroup(options.at(-1))}})],1),_vm._v(\" \"),_c('div',{staticClass:\"dialog__item\"},[_c('NcSelect',{staticClass:\"dialog__select\",attrs:{\"input-label\":_vm.t('settings', 'Admin of the following groups'),\"placeholder\":_vm.t('settings', 'Set account as admin for …'),\"disabled\":_vm.loading.groups || _vm.loading.all,\"options\":_vm.availableGroups,\"close-on-select\":false,\"multiple\":true,\"label\":\"name\"},on:{\"search\":_vm.searchGroups},model:{value:(_vm.newUser.subAdminsGroups),callback:function ($$v) {_vm.$set(_vm.newUser, \"subAdminsGroups\", $$v)},expression:\"newUser.subAdminsGroups\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"dialog__item\"},[_c('NcSelect',{staticClass:\"dialog__select\",attrs:{\"input-label\":_vm.t('settings', 'Quota'),\"placeholder\":_vm.t('settings', 'Set account quota'),\"options\":_vm.quotaOptions,\"clearable\":false,\"taggable\":true,\"create-option\":_vm.validateQuota},model:{value:(_vm.newUser.quota),callback:function ($$v) {_vm.$set(_vm.newUser, \"quota\", $$v)},expression:\"newUser.quota\"}})],1),_vm._v(\" \"),(_vm.showConfig.showLanguages)?_c('div',{staticClass:\"dialog__item\"},[_c('NcSelect',{staticClass:\"dialog__select\",attrs:{\"input-label\":_vm.t('settings', 'Language'),\"placeholder\":_vm.t('settings', 'Set default language'),\"clearable\":false,\"selectable\":option => !option.languages,\"filter-by\":_vm.languageFilterBy,\"options\":_vm.languages,\"label\":\"name\"},model:{value:(_vm.newUser.language),callback:function ($$v) {_vm.$set(_vm.newUser, \"language\", $$v)},expression:\"newUser.language\"}})],1):_vm._e(),_vm._v(\" \"),_c('div',{class:['dialog__item dialog__managers', { 'icon-loading-small': _vm.loading.manager }]},[_c('NcSelect',{staticClass:\"dialog__select\",attrs:{\"input-label\":_vm.managerInputLabel,\"placeholder\":_vm.managerLabel,\"options\":_vm.possibleManagers,\"user-select\":true,\"label\":\"displayname\"},on:{\"search\":_vm.searchUserManager},model:{value:(_vm.newUser.manager),callback:function ($$v) {_vm.$set(_vm.newUser, \"manager\", $$v)},expression:\"newUser.manager\"}})],1)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewUserDialog.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!./NewUserDialog.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport 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!./NewUserDialog.vue?vue&type=style&index=0&id=3d23637c&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * 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!./NewUserDialog.vue?vue&type=style&index=0&id=3d23637c&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./NewUserDialog.vue?vue&type=template&id=3d23637c&scoped=true\"\nimport script from \"./NewUserDialog.vue?vue&type=script&lang=js\"\nexport * from \"./NewUserDialog.vue?vue&type=script&lang=js\"\nimport style0 from \"./NewUserDialog.vue?vue&type=style&index=0&id=3d23637c&prod&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 \"3d23637c\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListFooter.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListFooter.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',{staticClass:\"footer\"},[_c('th',{attrs:{\"scope\":\"row\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Total rows summary')))])]),_vm._v(\" \"),_c('td',{staticClass:\"footer__cell footer__cell--loading\"},[(_vm.loading)?_c('NcLoadingIcon',{attrs:{\"title\":_vm.t('settings', 'Loading accounts …'),\"size\":32}}):_vm._e()],1),_vm._v(\" \"),_c('td',{staticClass:\"footer__cell footer__cell--count footer__cell--multiline\"},[_c('span',{attrs:{\"aria-describedby\":\"user-count-desc\"}},[_vm._v(_vm._s(_vm.userCount))]),_vm._v(\" \"),_c('span',{staticClass:\"hidden-visually\",attrs:{\"id\":\"user-count-desc\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Scroll to load more rows'))+\"\\n\\t\\t\")])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport 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!./UserListFooter.vue?vue&type=style&index=0&id=20636959&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * 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!./UserListFooter.vue?vue&type=style&index=0&id=20636959&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserListFooter.vue?vue&type=template&id=20636959&scoped=true\"\nimport script from \"./UserListFooter.vue?vue&type=script&lang=ts\"\nexport * from \"./UserListFooter.vue?vue&type=script&lang=ts\"\nimport style0 from \"./UserListFooter.vue?vue&type=style&index=0&id=20636959&prod&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 \"20636959\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListHeader.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListHeader.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',{staticClass:\"header\"},[_c('th',{staticClass:\"header__cell header__cell--avatar\",attrs:{\"data-cy-user-list-header-avatar\":\"\",\"scope\":\"col\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Avatar'))+\"\\n\\t\\t\")])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--displayname\",attrs:{\"data-cy-user-list-header-displayname\":\"\",\"scope\":\"col\"}},[_c('strong',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Display name'))+\"\\n\\t\\t\")])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--username\",attrs:{\"data-cy-user-list-header-username\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Account name'))+\"\\n\\t\\t\")])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell\",class:{ 'header__cell--obfuscated': _vm.hasObfuscated },attrs:{\"data-cy-user-list-header-password\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.passwordLabel))])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell\",attrs:{\"data-cy-user-list-header-email\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Email')))])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--large\",attrs:{\"data-cy-user-list-header-groups\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Groups')))])]),_vm._v(\" \"),(_vm.settings.isAdmin || _vm.settings.isDelegatedAdmin)?_c('th',{staticClass:\"header__cell header__cell--large\",attrs:{\"data-cy-user-list-header-subadmins\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Group admin for')))])]):_vm._e(),_vm._v(\" \"),_c('th',{staticClass:\"header__cell\",attrs:{\"data-cy-user-list-header-quota\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Quota')))])]),_vm._v(\" \"),(_vm.showConfig.showLanguages)?_c('th',{staticClass:\"header__cell header__cell--large\",attrs:{\"data-cy-user-list-header-languages\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Language')))])]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showUserBackend || _vm.showConfig.showStoragePath)?_c('th',{staticClass:\"header__cell header__cell--large\",attrs:{\"data-cy-user-list-header-storage-location\":\"\",\"scope\":\"col\"}},[(_vm.showConfig.showUserBackend)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Account backend'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showStoragePath)?_c('span',{staticClass:\"header__subtitle\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Storage location'))+\"\\n\\t\\t\")]):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showFirstLogin)?_c('th',{staticClass:\"header__cell\",attrs:{\"data-cy-user-list-header-first-login\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'First login')))])]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showLastLogin)?_c('th',{staticClass:\"header__cell\",attrs:{\"data-cy-user-list-header-last-login\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Last login')))])]):_vm._e(),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--large header__cell--fill\",attrs:{\"data-cy-user-list-header-manager\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Manager')))])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--actions\",attrs:{\"data-cy-user-list-header-actions\":\"\",\"scope\":\"col\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Account actions'))+\"\\n\\t\\t\")])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport 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!./UserListHeader.vue?vue&type=style&index=0&id=5c0f8828&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * 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!./UserListHeader.vue?vue&type=style&index=0&id=5c0f8828&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserListHeader.vue?vue&type=template&id=5c0f8828&scoped=true\"\nimport script from \"./UserListHeader.vue?vue&type=script&lang=ts\"\nexport * from \"./UserListHeader.vue?vue&type=script&lang=ts\"\nimport style0 from \"./UserListHeader.vue?vue&type=style&index=0&id=5c0f8828&prod&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 \"5c0f8828\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('tr',{staticClass:\"user-list__row\",attrs:{\"data-cy-user-row\":_vm.user.id}},[_c('td',{staticClass:\"row__cell row__cell--avatar\",attrs:{\"data-cy-user-list-cell-avatar\":\"\"}},[(_vm.isLoadingUser)?_c('NcLoadingIcon',{attrs:{\"name\":_vm.t('settings', 'Loading account …'),\"size\":32}}):(_vm.visible)?_c('NcAvatar',{attrs:{\"disable-menu\":\"\",\"show-user-status\":false,\"user\":_vm.user.id}}):_vm._e()],1),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--displayname\",attrs:{\"data-cy-user-list-cell-displayname\":\"\"}},[(_vm.editing && _vm.user.backendCapabilities.setDisplayName)?[_c('NcTextField',{ref:\"displayNameField\",staticClass:\"user-row-text-field\",class:{ 'icon-loading-small': _vm.loading.displayName },attrs:{\"data-cy-user-list-input-displayname\":\"\",\"data-loading\":_vm.loading.displayName || undefined,\"trailing-button-label\":_vm.t('settings', 'Submit'),\"show-trailing-button\":true,\"disabled\":_vm.loading.displayName || _vm.isLoadingField,\"label\":_vm.t('settings', 'Change display name'),\"trailing-button-icon\":\"arrowRight\",\"value\":_vm.editedDisplayName,\"autocapitalize\":\"off\",\"autocomplete\":\"off\",\"spellcheck\":\"false\"},on:{\"update:value\":function($event){_vm.editedDisplayName=$event},\"trailing-button-click\":_vm.updateDisplayName}})]:(!_vm.isObfuscated)?_c('strong',{attrs:{\"title\":_vm.user.displayname?.length > 20 ? _vm.user.displayname : null}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.user.displayname)+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--username\",attrs:{\"data-cy-user-list-cell-username\":\"\"}},[_c('span',{staticClass:\"row__subtitle\"},[_vm._v(_vm._s(_vm.user.id))])]),_vm._v(\" \"),_c('td',{staticClass:\"row__cell\",class:{ 'row__cell--obfuscated': _vm.hasObfuscated },attrs:{\"data-cy-user-list-cell-password\":\"\"}},[(_vm.editing && _vm.settings.canChangePassword && _vm.user.backendCapabilities.setPassword)?[_c('NcTextField',{staticClass:\"user-row-text-field\",class:{'icon-loading-small': _vm.loading.password},attrs:{\"data-cy-user-list-input-password\":\"\",\"data-loading\":_vm.loading.password || undefined,\"trailing-button-label\":_vm.t('settings', 'Submit'),\"show-trailing-button\":true,\"disabled\":_vm.loading.password || _vm.isLoadingField,\"minlength\":_vm.minPasswordLength,\"maxlength\":\"469\",\"label\":_vm.t('settings', 'Set new password'),\"trailing-button-icon\":\"arrowRight\",\"value\":_vm.editedPassword,\"autocapitalize\":\"off\",\"autocomplete\":\"new-password\",\"required\":\"\",\"spellcheck\":\"false\",\"type\":\"password\"},on:{\"update:value\":function($event){_vm.editedPassword=$event},\"trailing-button-click\":_vm.updatePassword}})]:(_vm.isObfuscated)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'You do not have permissions to see the details of this account'))+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),_c('td',{staticClass:\"row__cell\",attrs:{\"data-cy-user-list-cell-email\":\"\"}},[(_vm.editing)?[_c('NcTextField',{staticClass:\"user-row-text-field\",class:{'icon-loading-small': _vm.loading.mailAddress},attrs:{\"data-cy-user-list-input-email\":\"\",\"data-loading\":_vm.loading.mailAddress || undefined,\"show-trailing-button\":true,\"trailing-button-label\":_vm.t('settings', 'Submit'),\"label\":_vm.t('settings', 'Set new email address'),\"disabled\":_vm.loading.mailAddress || _vm.isLoadingField,\"trailing-button-icon\":\"arrowRight\",\"value\":_vm.editedMail,\"autocapitalize\":\"off\",\"autocomplete\":\"email\",\"spellcheck\":\"false\",\"type\":\"email\"},on:{\"update:value\":function($event){_vm.editedMail=$event},\"trailing-button-click\":_vm.updateEmail}})]:(!_vm.isObfuscated)?_c('span',{attrs:{\"title\":_vm.user.email?.length > 20 ? _vm.user.email : null}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.user.email)+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--large row__cell--multiline\",attrs:{\"data-cy-user-list-cell-groups\":\"\"}},[(_vm.editing)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'groups' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Add account to group'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"data-cy-user-list-input-groups\":\"\",\"data-loading\":_vm.loading.groups || undefined,\"input-id\":'groups' + _vm.uniqueId,\"close-on-select\":false,\"disabled\":_vm.isLoadingField || _vm.loading.groupsDetails,\"loading\":_vm.loading.groups,\"multiple\":true,\"append-to-body\":false,\"options\":_vm.availableGroups,\"placeholder\":_vm.t('settings', 'Add account to group'),\"taggable\":_vm.settings.isAdmin || _vm.settings.isDelegatedAdmin,\"value\":_vm.userGroups,\"label\":\"name\",\"no-wrap\":true,\"create-option\":(value) => ({ id: value, name: value, isCreating: true })},on:{\"search\":_vm.searchGroups,\"option:created\":_vm.createGroup,\"option:selected\":options => _vm.addUserGroup(options.at(-1)),\"option:deselected\":_vm.removeUserGroup}})]:(!_vm.isObfuscated)?_c('span',{attrs:{\"title\":_vm.userGroupsLabels?.length > 40 ? _vm.userGroupsLabels : null}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.userGroupsLabels)+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),(_vm.settings.isAdmin || _vm.settings.isDelegatedAdmin)?_c('td',{staticClass:\"row__cell row__cell--large row__cell--multiline\",attrs:{\"data-cy-user-list-cell-subadmins\":\"\"}},[(_vm.editing && (_vm.settings.isAdmin || _vm.settings.isDelegatedAdmin))?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'subadmins' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Set account as admin for'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"data-cy-user-list-input-subadmins\":\"\",\"data-loading\":_vm.loading.subadmins || undefined,\"input-id\":'subadmins' + _vm.uniqueId,\"close-on-select\":false,\"disabled\":_vm.isLoadingField || _vm.loading.subAdminGroupsDetails,\"loading\":_vm.loading.subadmins,\"label\":\"name\",\"append-to-body\":false,\"multiple\":true,\"no-wrap\":true,\"options\":_vm.availableSubAdminGroups,\"placeholder\":_vm.t('settings', 'Set account as admin for'),\"value\":_vm.userSubAdminGroups},on:{\"search\":_vm.searchGroups,\"option:deselected\":_vm.removeUserSubAdmin,\"option:selected\":options => _vm.addUserSubAdmin(options.at(-1))}})]:(!_vm.isObfuscated)?_c('span',{attrs:{\"title\":_vm.userSubAdminGroupsLabels?.length > 40 ? _vm.userSubAdminGroupsLabels : null}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.userSubAdminGroupsLabels)+\"\\n\\t\\t\")]):_vm._e()],2):_vm._e(),_vm._v(\" \"),_c('td',{staticClass:\"row__cell\",attrs:{\"data-cy-user-list-cell-quota\":\"\"}},[(_vm.editing)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'quota' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Select account quota'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"close-on-select\":true,\"create-option\":_vm.validateQuota,\"data-cy-user-list-input-quota\":\"\",\"data-loading\":_vm.loading.quota || undefined,\"disabled\":_vm.isLoadingField,\"loading\":_vm.loading.quota,\"append-to-body\":false,\"clearable\":false,\"input-id\":'quota' + _vm.uniqueId,\"options\":_vm.quotaOptions,\"placeholder\":_vm.t('settings', 'Select account quota'),\"taggable\":true},on:{\"option:selected\":_vm.setUserQuota},model:{value:(_vm.editedUserQuota),callback:function ($$v) {_vm.editedUserQuota=$$v},expression:\"editedUserQuota\"}})]:(!_vm.isObfuscated)?[_c('span',{attrs:{\"id\":'quota-progress' + _vm.uniqueId}},[_vm._v(_vm._s(_vm.userQuota)+\" (\"+_vm._s(_vm.usedSpace)+\")\")]),_vm._v(\" \"),_c('NcProgressBar',{staticClass:\"row__progress\",class:{\n\t\t\t\t\t'row__progress--warn': _vm.usedQuota > 80,\n\t\t\t\t},attrs:{\"aria-labelledby\":'quota-progress' + _vm.uniqueId,\"value\":_vm.usedQuota}})]:_vm._e()],2),_vm._v(\" \"),(_vm.showConfig.showLanguages)?_c('td',{staticClass:\"row__cell row__cell--large\",attrs:{\"data-cy-user-list-cell-language\":\"\"}},[(_vm.editing)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'language' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Set the language'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"id\":'language' + _vm.uniqueId,\"data-cy-user-list-input-language\":\"\",\"data-loading\":_vm.loading.languages || undefined,\"allow-empty\":false,\"disabled\":_vm.isLoadingField,\"loading\":_vm.loading.languages,\"clearable\":false,\"append-to-body\":false,\"options\":_vm.availableLanguages,\"placeholder\":_vm.t('settings', 'No language set'),\"value\":_vm.userLanguage,\"label\":\"name\"},on:{\"input\":_vm.setUserLanguage}})]:(!_vm.isObfuscated)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.userLanguage.name)+\"\\n\\t\\t\")]):_vm._e()],2):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showUserBackend || _vm.showConfig.showStoragePath)?_c('td',{staticClass:\"row__cell row__cell--large\",attrs:{\"data-cy-user-list-cell-storage-location\":\"\"}},[(!_vm.isObfuscated)?[(_vm.showConfig.showUserBackend)?_c('span',[_vm._v(_vm._s(_vm.user.backend))]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showStoragePath)?_c('span',{staticClass:\"row__subtitle\",attrs:{\"title\":_vm.user.storageLocation}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.user.storageLocation)+\"\\n\\t\\t\\t\")]):_vm._e()]:_vm._e()],2):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showFirstLogin)?_c('td',{staticClass:\"row__cell\",attrs:{\"data-cy-user-list-cell-first-login\":\"\"}},[(!_vm.isObfuscated)?_c('span',[_vm._v(_vm._s(_vm.userFirstLogin))]):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showLastLogin)?_c('td',{staticClass:\"row__cell\",attrs:{\"title\":_vm.userLastLoginTooltip,\"data-cy-user-list-cell-last-login\":\"\"}},[(!_vm.isObfuscated)?_c('span',[_vm._v(_vm._s(_vm.userLastLogin))]):_vm._e()]):_vm._e(),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--large row__cell--fill\",attrs:{\"data-cy-user-list-cell-manager\":\"\"}},[(_vm.editing)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'manager' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.managerLabel)+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{staticClass:\"select--fill\",attrs:{\"data-cy-user-list-input-manager\":\"\",\"data-loading\":_vm.loading.manager || undefined,\"input-id\":'manager' + _vm.uniqueId,\"disabled\":_vm.isLoadingField,\"loading\":_vm.loadingPossibleManagers || _vm.loading.manager,\"options\":_vm.possibleManagers,\"placeholder\":_vm.managerLabel,\"label\":\"displayname\",\"filterable\":false,\"internal-search\":false,\"clearable\":true},on:{\"open\":_vm.searchInitialUserManager,\"search\":_vm.searchUserManager,\"update:model-value\":_vm.updateUserManager},model:{value:(_vm.currentManager),callback:function ($$v) {_vm.currentManager=$$v},expression:\"currentManager\"}})]:(!_vm.isObfuscated)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.user.manager)+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--actions\",attrs:{\"data-cy-user-list-cell-actions\":\"\"}},[(_vm.visible && !_vm.isObfuscated && _vm.canEdit && !_vm.loading.all)?_c('UserRowActions',{attrs:{\"actions\":_vm.userActions,\"disabled\":_vm.isLoadingField,\"edit\":_vm.editing,\"user\":_vm.user},on:{\"update:edit\":_vm.toggleEdit}}):_vm._e()],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcActions',{attrs:{\"aria-label\":_vm.t('settings', 'Toggle account actions menu'),\"disabled\":_vm.disabled,\"inline\":1}},[_c('NcActionButton',{attrs:{\"data-cy-user-list-action-toggle-edit\":`${_vm.edit}`,\"disabled\":_vm.disabled},on:{\"click\":_vm.toggleEdit},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{key:_vm.editSvg,attrs:{\"svg\":_vm.editSvg,\"aria-hidden\":\"true\"}})]},proxy:true}])},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.edit ? _vm.t('settings', 'Done') : _vm.t('settings', 'Edit'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_vm._l((_vm.enabledActions),function({ action, icon, text },index){return _c('NcActionButton',{key:index,attrs:{\"disabled\":_vm.disabled,\"aria-label\":text,\"icon\":icon,\"close-after-click\":\"\"},on:{\"click\":(event) => action(event, { ..._vm.user })},scopedSlots:_vm._u([(_vm.isSvg(icon))?{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"svg\":icon,\"aria-hidden\":\"true\"}})]},proxy:true}:null],null,true)},[_vm._v(\"\\n\\t\\t\"+_vm._s(text)+\"\\n\\t\\t\")])})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRowActions.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRowActions.vue?vue&type=script&lang=ts\"","import {XMLParser, XMLValidator} from 'fast-xml-parser';\n\nexport default function isSvg(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(`Expected a \\`string\\`, got \\`${typeof string}\\``);\n\t}\n\n\tstring = string.trim();\n\n\tif (string.length === 0) {\n\t\treturn false;\n\t}\n\n\t// Has to be `!==` as it can also return an object with error info.\n\tif (XMLValidator.validate(string) !== true) {\n\t\treturn false;\n\t}\n\n\tlet jsonObject;\n\tconst parser = new XMLParser();\n\n\ttry {\n\t\tjsonObject = parser.parse(string);\n\t} catch {\n\t\treturn false;\n\t}\n\n\tif (!jsonObject) {\n\t\treturn false;\n\t}\n\n\tif (!Object.keys(jsonObject).some(x => x.toLowerCase() === 'svg')) {\n\t\treturn false;\n\t}\n\n\treturn true;\n}\n","import { render, staticRenderFns } from \"./UserRowActions.vue?vue&type=template&id=7e1868f4\"\nimport script from \"./UserRowActions.vue?vue&type=script&lang=ts\"\nexport * from \"./UserRowActions.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { N as NcActionButton } from \"./chunks/NcActionButton-CECxOkhK.mjs\";\nimport { N as NcActionButtonGroup } from \"./chunks/NcActionButtonGroup-D_ldp8Lw.mjs\";\nimport NcActionCaption from \"./Components/NcActionCaption.mjs\";\nimport { N as NcActionCheckbox } from \"./chunks/NcActionCheckbox-D9aQuEYw.mjs\";\nimport { N as NcActionInput } from \"./chunks/NcActionInput-CB9jcc0_.mjs\";\nimport NcActionLink from \"./Components/NcActionLink.mjs\";\nimport { N as NcActionRadio } from \"./chunks/NcActionRadio-BmVR-lhZ.mjs\";\nimport NcActionRouter from \"./Components/NcActionRouter.mjs\";\nimport { N as NcActions } from \"./chunks/NcActions-C-CwY6XQ.mjs\";\nimport NcActionSeparator from \"./Components/NcActionSeparator.mjs\";\nimport NcActionText from \"./Components/NcActionText.mjs\";\nimport { N as NcActionTextEditable } from \"./chunks/NcActionTextEditable-CNEW3Fav.mjs\";\nimport { N as NcAppContent } from \"./chunks/NcAppContent-BvgsOP0K.mjs\";\nimport NcAppContentDetails from \"./Components/NcAppContentDetails.mjs\";\nimport NcAppContentList from \"./Components/NcAppContentList.mjs\";\nimport { N as NcAppNavigation } from \"./chunks/NcAppNavigation-DgekTp_z.mjs\";\nimport { N as NcAppNavigationCaption } from \"./chunks/NcAppNavigationCaption-D7mH8K7B.mjs\";\nimport NcAppNavigationIconBullet from \"./Components/NcAppNavigationIconBullet.mjs\";\nimport { N as NcAppNavigationItem } from \"./chunks/NcAppNavigationItem-B6YKr1n2.mjs\";\nimport NcAppNavigationList from \"./Components/NcAppNavigationList.mjs\";\nimport { N as NcAppNavigationNew } from \"./chunks/NcAppNavigationNew-t3Rkrwjh.mjs\";\nimport { N as NcAppNavigationNewItem } from \"./chunks/NcAppNavigationNewItem-C96AER1b.mjs\";\nimport { N as NcAppNavigationSearch } from \"./chunks/NcAppNavigationSearch-CuqE2exX.mjs\";\nimport { N as NcAppNavigationSettings } from \"./chunks/NcAppNavigationSettings-Ba8OcJxl.mjs\";\nimport NcAppNavigationSpacer from \"./Components/NcAppNavigationSpacer.mjs\";\nimport { N as NcAppSettingsDialog } from \"./chunks/NcAppSettingsDialog-PRGGDKCy.mjs\";\nimport { N as NcAppSettingsSection } from \"./chunks/NcAppSettingsSection-Cq1VIzMR.mjs\";\nimport { N as NcAppSettingsShortcutsSection } from \"./chunks/NcAppSettingsShortcutsSection-BGMDhIXI.mjs\";\nimport { N as NcAppSidebar } from \"./chunks/NcAppSidebar-1Q4AznUI.mjs\";\nimport { N as NcAppSidebarHeader } from \"./chunks/NcAppSidebarHeader-CBE4tNYb.mjs\";\nimport NcAppSidebarTab from \"./Components/NcAppSidebarTab.mjs\";\nimport { N as NcAssistantButton } from \"./chunks/NcAssistantButton-BPXX2mz6.mjs\";\nimport NcAssistantContent from \"./Components/NcAssistantContent.mjs\";\nimport { N as NcAssistantIcon } from \"./chunks/NcAssistantIcon-CKWZRzXg.mjs\";\nimport { N as NcAvatar } from \"./chunks/NcAvatar-4h0wo9uv.mjs\";\nimport { u } from \"./chunks/NcAvatar-4h0wo9uv.mjs\";\nimport { N as NcBlurHash } from \"./chunks/NcBlurHash-DZmsBU0q.mjs\";\nimport { N as NcBreadcrumb } from \"./chunks/NcBreadcrumb-CcKJsew_.mjs\";\nimport { N as NcBreadcrumbs } from \"./chunks/NcBreadcrumbs-bDlnNcz1.mjs\";\nimport { N as NcButton } from \"./chunks/NcButton-Dz2O6cSU.mjs\";\nimport { N as NcCheckboxRadioSwitch } from \"./chunks/NcCheckboxRadioSwitch-CX3HXCEk.mjs\";\nimport { N as NcCollectionList } from \"./chunks/NcCollectionList-CejmntlL.mjs\";\nimport { N as NcColorPicker } from \"./chunks/NcColorPicker-BERjJHgc.mjs\";\nimport { N as NcContent } from \"./chunks/NcContent-yW5m-Mj5.mjs\";\nimport { N as NcCounterBubble } from \"./chunks/NcCounterBubble-oxV8oMlX.mjs\";\nimport { N as NcDashboardWidget } from \"./chunks/NcDashboardWidget-Bk6i__T-.mjs\";\nimport { N as NcDashboardWidgetItem } from \"./chunks/NcDashboardWidgetItem--NyYqf1-.mjs\";\nimport { N as NcDateTime } from \"./chunks/NcDateTime-enXYuwj8.mjs\";\nimport NcDateTimePicker from \"./Components/NcDateTimePicker.mjs\";\nimport NcDateTimePickerNative from \"./Components/NcDateTimePickerNative.mjs\";\nimport { N as NcDialog } from \"./chunks/NcDialog-8ipQ69_t.mjs\";\nimport { N as NcDialogButton } from \"./chunks/NcDialogButton-CSC8PAz-.mjs\";\nimport NcEllipsisedOption from \"./Components/NcEllipsisedOption.mjs\";\nimport { N as NcEmojiPicker } from \"./chunks/NcEmojiPicker-DlizXqla.mjs\";\nimport NcEmptyContent from \"./Components/NcEmptyContent.mjs\";\nimport { N as NcFormBox } from \"./chunks/NcFormBox-DL435pbV.mjs\";\nimport { N as NcFormBoxButton } from \"./chunks/NcFormBoxButton-DR_OMvmB.mjs\";\nimport { N as NcFormBoxCopyButton } from \"./chunks/NcFormBoxCopyButton-BQt4cqDo.mjs\";\nimport { N as NcFormBoxSwitch } from \"./chunks/NcFormBoxSwitch-BqbGsapa.mjs\";\nimport { N as NcFormGroup } from \"./chunks/NcFormGroup-BfsPo9aC.mjs\";\nimport NcGuestContent from \"./Components/NcGuestContent.mjs\";\nimport { N as NcHeaderButton } from \"./chunks/NcHeaderButton-Dvo1_Bwc.mjs\";\nimport { N as NcHeaderMenu } from \"./chunks/NcHeaderMenu-Cuh8ay0F.mjs\";\nimport { N as NcHighlight } from \"./chunks/index-CxTT94_h.mjs\";\nimport { N as NcHotkey } from \"./chunks/NcHotkey-DcpG5Pla.mjs\";\nimport { N as NcHotkeyList } from \"./chunks/NcHotkeyList-CV_FJXF8.mjs\";\nimport { N as NcIconSvgWrapper } from \"./chunks/NcIconSvgWrapper-Bui9PhAS.mjs\";\nimport { N as NcInputField } from \"./chunks/NcInputField-CZRuRX_c.mjs\";\nimport { N as NcListItem } from \"./chunks/NcListItem-DP0kl2g5.mjs\";\nimport { N as NcListItemIcon } from \"./chunks/NcListItemIcon-D41xabRp.mjs\";\nimport NcLoadingIcon from \"./Components/NcLoadingIcon.mjs\";\nimport NcModal from \"./Components/NcModal.mjs\";\nimport NcNoteCard from \"./Components/NcNoteCard.mjs\";\nimport { N as NcPasswordField } from \"./chunks/NcPasswordField-D2xXHnvI.mjs\";\nimport { N as NcPopover } from \"./chunks/NcPopover-gxcAqoEb.mjs\";\nimport { N as NcProgressBar } from \"./chunks/NcProgressBar-D7zYeXBH.mjs\";\nimport { N as NcRadioGroup } from \"./chunks/NcRadioGroup-D0rC63G8.mjs\";\nimport { N as NcRadioGroupButton } from \"./chunks/NcRadioGroupButton-3Pu4Iqdf.mjs\";\nimport { N as NcRelatedResourcesPanel } from \"./chunks/NcRelatedResourcesPanel-BbjG2Qvg.mjs\";\nimport { N as NcMentionBubble } from \"./chunks/index-TmAR7I2T.mjs\";\nimport { r } from \"./chunks/index-TmAR7I2T.mjs\";\nimport { N as NcAutoCompleteResult, a as NcRichContenteditable } from \"./chunks/NcRichContenteditable-S7ASR6NI.mjs\";\nimport \"@nextcloud/auth\";\nimport \"@nextcloud/axios\";\nimport \"@nextcloud/router\";\nimport \"@nextcloud/sharing/public\";\nimport \"@vueuse/core\";\nimport \"vue\";\nimport \"vue-router\";\nimport { a, g, b, c, s, d } from \"./chunks/referencePickerModal-eu8fU-gn.mjs\";\nimport { N, h, c as c2, i, e, r as r2, f, a as a2 } from \"./chunks/customPickerElements-DLFtgReB.mjs\";\nimport \"unist-builder\";\nimport \"unist-util-visit\";\nimport \"./chunks/logger-D3RVzcfQ.mjs\";\nimport { N as NcRichText } from \"./chunks/NcRichText-C7k_8zuH.mjs\";\nimport { N as NcSelect } from \"./chunks/NcSelect-CkB50N9T.mjs\";\nimport { N as NcTextField } from \"./chunks/NcTextField-CijJWC3h.mjs\";\nimport \"@nextcloud/event-bus\";\nimport { N as NcSavingIndicatorIcon } from \"./chunks/NcSavingIndicatorIcon-U7AIamCl.mjs\";\nimport { N as NcSelectTags } from \"./chunks/NcSelectTags-DrDrZUA6.mjs\";\nimport { N as NcSelectUsers } from \"./chunks/NcSelectUsers-HmMuAP19.mjs\";\nimport { N as NcSettingsInputText } from \"./chunks/NcSettingsInputText-wFKkjw2t.mjs\";\nimport { N as NcSettingsSection } from \"./chunks/NcSettingsSection-ZV3KIsxm.mjs\";\nimport { N as NcSettingsSelectGroup } from \"./chunks/NcSettingsSelectGroup-CXGxufce.mjs\";\nimport { N as NcTextArea } from \"./chunks/NcTextArea-CIgfjLRv.mjs\";\nimport { N as NcThemeProvider } from \"./chunks/NcThemeProvider-25ResoIv.mjs\";\nimport { N as NcTimezonePicker } from \"./chunks/NcTimezonePicker-DOSucwRx.mjs\";\nimport { N as NcUserBubble } from \"./chunks/NcUserBubble-CSGX6IdN.mjs\";\nimport { N as NcUserStatusIcon } from \"./chunks/NcUserStatusIcon-Dfd_lPCI.mjs\";\nimport NcVNodes from \"./Components/NcVNodes.mjs\";\nimport { useFormatDateTime, useFormatRelativeTime, useFormatTime } from \"./Composables/useFormatDateTime.mjs\";\nimport { useHotKey } from \"./Composables/useHotKey.mjs\";\nimport { useIsDarkTheme, useIsDarkThemeElement } from \"./Composables/useIsDarkTheme.mjs\";\nimport { isFullscreenState, useIsFullscreen } from \"./Composables/useIsFullscreen.mjs\";\nimport { MOBILE_BREAKPOINT, MOBILE_SMALL_BREAKPOINT, isMobileState, useIsMobile, useIsSmallMobile } from \"./Composables/useIsMobile.mjs\";\nimport { isA11yActivation } from \"./Functions/a11y.mjs\";\nimport { getEnabledContactsMenuActions, registerContactsMenuAction } from \"./Functions/contactsMenu.mjs\";\nimport { spawnDialog } from \"./Functions/dialog.mjs\";\nimport { E, a as a3, e as e2, g as g2, s as s2 } from \"./chunks/emoji-BY_D0V5K.mjs\";\nimport { checkIfDarkTheme, isDarkTheme } from \"./Functions/isDarkTheme.mjs\";\nimport { preloadImage } from \"./Functions/preloadImage.mjs\";\nimport { usernameToColor } from \"./Functions/usernameToColor.mjs\";\nimport directive from \"./Directives/Focus.mjs\";\nimport directive$1 from \"./Directives/Linkify.mjs\";\nimport \"./Directives/Tooltip.mjs\";\nimport { default as default2 } from \"./Mixins/clickOutsideOptions.mjs\";\nimport { default as default3 } from \"./Mixins/isFullscreen.mjs\";\nimport { default as default4 } from \"./Mixins/isMobile.mjs\";\nimport { VTooltip } from \"floating-vue\";\nimport { VTooltip as VTooltip2 } from \"floating-vue\";\nconst NcComponents = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n NcActionButton,\n NcActionButtonGroup,\n NcActionCaption,\n NcActionCheckbox,\n NcActionInput,\n NcActionLink,\n NcActionRadio,\n NcActionRouter,\n NcActionSeparator,\n NcActionText,\n NcActionTextEditable,\n NcActions,\n NcAppContent,\n NcAppContentDetails,\n NcAppContentList,\n NcAppNavigation,\n NcAppNavigationCaption,\n NcAppNavigationIconBullet,\n NcAppNavigationItem,\n NcAppNavigationList,\n NcAppNavigationNew,\n NcAppNavigationNewItem,\n NcAppNavigationSearch,\n NcAppNavigationSettings,\n NcAppNavigationSpacer,\n NcAppSettingsDialog,\n NcAppSettingsSection,\n NcAppSettingsSectionShortcuts: NcAppSettingsShortcutsSection,\n NcAppSettingsShortcutsSection,\n NcAppSidebar,\n NcAppSidebarHeader,\n NcAppSidebarTab,\n NcAssistantButton,\n NcAssistantContent,\n NcAssistantIcon,\n NcAutoCompleteResult,\n NcAvatar,\n NcBlurHash,\n NcBreadcrumb,\n NcBreadcrumbs,\n NcButton,\n NcCheckboxRadioSwitch,\n NcCollectionList,\n NcColorPicker,\n NcContent,\n NcCounterBubble,\n NcDashboardWidget,\n NcDashboardWidgetItem,\n NcDateTime,\n NcDateTimePicker,\n NcDateTimePickerNative,\n NcDialog,\n NcDialogButton,\n NcEllipsisedOption,\n NcEmojiPicker,\n NcEmptyContent,\n NcFormBox,\n NcFormBoxButton,\n NcFormBoxCopyButton,\n NcFormBoxSwitch,\n NcFormGroup,\n NcGuestContent,\n NcHeaderButton,\n NcHeaderMenu,\n NcHighlight,\n NcHotkey,\n NcHotkeyList,\n NcIconSvgWrapper,\n NcInputField,\n NcListItem,\n NcListItemIcon,\n NcLoadingIcon,\n NcMentionBubble,\n NcModal,\n NcNoteCard,\n NcPasswordField,\n NcPopover,\n NcProgressBar,\n NcRadioGroup,\n NcRadioGroupButton,\n NcRelatedResourcesPanel,\n NcRichContenteditable,\n NcRichText,\n NcSavingIndicatorIcon,\n NcSelect,\n NcSelectTags,\n NcSelectUsers,\n NcSettingsInputText,\n NcSettingsSection,\n NcSettingsSelectGroup,\n NcTextArea,\n NcTextField,\n NcThemeProvider,\n NcTimezonePicker,\n NcUserBubble,\n NcUserStatusIcon,\n NcVNodes\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst NcDirectives = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n Focus: directive,\n Linkify: directive$1,\n Tooltip: VTooltip\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst NextcloudVuePlugin = {\n install(Vue) {\n Object.entries(NcComponents).forEach(([name, component]) => {\n Vue.component(component.name || name, component);\n });\n Object.entries(NcDirectives).forEach(([name, directive2]) => {\n Vue.directive(name, directive2);\n });\n }\n};\nexport {\n E as EmojiSkinTone,\n directive as Focus,\n directive$1 as Linkify,\n MOBILE_BREAKPOINT,\n MOBILE_SMALL_BREAKPOINT,\n NcActionButton,\n NcActionButtonGroup,\n NcActionCaption,\n NcActionCheckbox,\n NcActionInput,\n NcActionLink,\n NcActionRadio,\n NcActionRouter,\n NcActionSeparator,\n NcActionText,\n NcActionTextEditable,\n NcActions,\n NcAppContent,\n NcAppContentDetails,\n NcAppContentList,\n NcAppNavigation,\n NcAppNavigationCaption,\n NcAppNavigationIconBullet,\n NcAppNavigationItem,\n NcAppNavigationList,\n NcAppNavigationNew,\n NcAppNavigationNewItem,\n NcAppNavigationSearch,\n NcAppNavigationSettings,\n NcAppNavigationSpacer,\n NcAppSettingsDialog,\n NcAppSettingsSection,\n NcAppSettingsShortcutsSection as NcAppSettingsSectionShortcuts,\n NcAppSettingsShortcutsSection,\n NcAppSidebar,\n NcAppSidebarHeader,\n NcAppSidebarTab,\n NcAssistantButton,\n NcAssistantContent,\n NcAssistantIcon,\n NcAutoCompleteResult,\n NcAvatar,\n NcBlurHash,\n NcBreadcrumb,\n NcBreadcrumbs,\n NcButton,\n NcCheckboxRadioSwitch,\n NcCollectionList,\n NcColorPicker,\n NcContent,\n NcCounterBubble,\n N as NcCustomPickerRenderResult,\n NcDashboardWidget,\n NcDashboardWidgetItem,\n NcDateTime,\n NcDateTimePicker,\n NcDateTimePickerNative,\n NcDialog,\n NcDialogButton,\n NcEllipsisedOption,\n NcEmojiPicker,\n NcEmptyContent,\n NcFormBox,\n NcFormBoxButton,\n NcFormBoxCopyButton,\n NcFormBoxSwitch,\n NcFormGroup,\n NcGuestContent,\n NcHeaderButton,\n NcHeaderMenu,\n NcHighlight,\n NcHotkey,\n NcHotkeyList,\n NcIconSvgWrapper,\n NcInputField,\n NcListItem,\n NcListItemIcon,\n NcLoadingIcon,\n NcMentionBubble,\n NcModal,\n NcNoteCard,\n NcPasswordField,\n NcPopover,\n NcProgressBar,\n NcRadioGroup,\n NcRadioGroupButton,\n NcRelatedResourcesPanel,\n NcRichContenteditable,\n NcRichText,\n NcSavingIndicatorIcon,\n NcSelect,\n NcSelectTags,\n NcSelectUsers,\n NcSettingsInputText,\n NcSettingsSection,\n NcSettingsSelectGroup,\n NcTextArea,\n NcTextField,\n NcThemeProvider,\n NcTimezonePicker,\n NcUserBubble,\n NcUserStatusIcon,\n NcVNodes,\n NextcloudVuePlugin,\n VTooltip2 as Tooltip,\n a as anyLinkProviderId,\n checkIfDarkTheme,\n default2 as clickOutsideOptions,\n a3 as emojiAddRecent,\n e2 as emojiSearch,\n g2 as getCurrentSkinTone,\n getEnabledContactsMenuActions,\n g as getLinkWithPicker,\n b as getProvider,\n c as getProviders,\n h as hasInteractiveView,\n isA11yActivation,\n c2 as isCustomPickerElementRegistered,\n isDarkTheme,\n default3 as isFullscreen,\n isFullscreenState,\n default4 as isMobile,\n isMobileState,\n i as isWidgetRegistered,\n preloadImage,\n registerContactsMenuAction,\n e as registerCustomPickerElement,\n r2 as registerWidget,\n f as renderCustomPickerElement,\n a2 as renderWidget,\n r as richEditor,\n s as searchProvider,\n s2 as setCurrentSkinTone,\n d as sortProviders,\n spawnDialog,\n useFormatDateTime,\n useFormatRelativeTime,\n useFormatTime,\n useHotKey,\n useIsDarkTheme,\n useIsDarkThemeElement,\n useIsFullscreen,\n useIsMobile,\n useIsSmallMobile,\n u as userStatus,\n usernameToColor\n};\n//# sourceMappingURL=index.mjs.map\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { formatFileSize } from '@nextcloud/files'\nimport { useFormatDateTime } from '@nextcloud/vue'\n\nexport default {\n\tprops: {\n\t\tuser: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\tsettings: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({}),\n\t\t},\n\t\tquotaOptions: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t\tlanguages: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\texternalActions: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t},\n\tsetup(props) {\n\t\tconst { formattedFullTime } = useFormatDateTime(props.user.firstLoginTimestamp * 1000, {\n\t\t\trelativeTime: false,\n\t\t\tformat: {\n\t\t\t\ttimeStyle: 'short',\n\t\t\t\tdateStyle: 'short',\n\t\t\t},\n\t\t})\n\t\treturn {\n\t\t\tformattedFullTime,\n\t\t}\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tselectedGroups: this.user.groups.map(id => ({ id, name: id })),\n\t\t\tselectedSubAdminGroups: this.user.subadmin.map(id => ({ id, name: id })),\n\t\t\tuserGroups: this.user.groups.map(id => ({ id, name: id })),\n\t\t\tuserSubAdminGroups: this.user.subadmin.map(id => ({ id, name: id })),\n\t\t}\n\t},\n\tcomputed: {\n\t\tshowConfig() {\n\t\t\treturn this.$store.getters.getShowConfig\n\t\t},\n\n\t\t/* QUOTA MANAGEMENT */\n\t\tusedSpace() {\n\t\t\tconst quotaUsed = this.user.quota.used > 0 ? this.user.quota.used : 0\n\t\t\treturn t('settings', '{size} used', { size: formatFileSize(quotaUsed, true) })\n\t\t},\n\n\t\tusedQuota() {\n\t\t\tlet quota = this.user.quota.quota\n\t\t\tif (quota > 0) {\n\t\t\t\tquota = Math.min(100, Math.round(this.user.quota.used / quota * 100))\n\t\t\t} else {\n\t\t\t\tconst usedInGB = this.user.quota.used / (10 * Math.pow(2, 30))\n\t\t\t\t// asymptotic curve approaching 50% at 10GB to visualize used stace with infinite quota\n\t\t\t\tquota = 95 * (1 - (1 / (usedInGB + 1)))\n\t\t\t}\n\t\t\treturn isNaN(quota) ? 0 : quota\n\t\t},\n\n\t\t// Mapping saved values to objects\n\t\tuserQuota() {\n\t\t\tif (this.user.quota.quota >= 0) {\n\t\t\t\t// if value is valid, let's map the quotaOptions or return custom quota\n\t\t\t\tconst humanQuota = formatFileSize(this.user.quota.quota)\n\t\t\t\tconst userQuota = this.quotaOptions.find(quota => quota.id === humanQuota)\n\t\t\t\treturn userQuota || { id: humanQuota, label: humanQuota }\n\t\t\t} else if (this.user.quota.quota === 'default') {\n\t\t\t\t// default quota is replaced by the proper value on load\n\t\t\t\treturn this.quotaOptions[0]\n\t\t\t}\n\t\t\treturn this.quotaOptions[1] // unlimited\n\t\t},\n\n\t\t/* PASSWORD POLICY? */\n\t\tminPasswordLength() {\n\t\t\treturn this.$store.getters.getPasswordPolicyMinLength\n\t\t},\n\n\t\t/* LANGUAGE */\n\t\tuserLanguage() {\n\t\t\tconst availableLanguages = this.languages[0].languages.concat(this.languages[1].languages)\n\t\t\tconst userLang = availableLanguages.find(lang => lang.code === this.user.language)\n\t\t\tif (typeof userLang !== 'object' && this.user.language !== '') {\n\t\t\t\treturn {\n\t\t\t\t\tcode: this.user.language,\n\t\t\t\t\tname: this.user.language,\n\t\t\t\t}\n\t\t\t} else if (this.user.language === '') {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn userLang\n\t\t},\n\n\t\tuserFirstLogin() {\n\t\t\tif (this.user.firstLoginTimestamp > 0) {\n\t\t\t\treturn this.formattedFullTime\n\t\t\t}\n\t\t\tif (this.user.firstLoginTimestamp < 0) {\n\t\t\t\treturn t('settings', 'Unknown')\n\t\t\t}\n\t\t\treturn t('settings', 'Never')\n\t\t},\n\n\t\t/* LAST LOGIN */\n\t\tuserLastLoginTooltip() {\n\t\t\tif (this.user.lastLoginTimestamp > 0) {\n\t\t\t\treturn OC.Util.formatDate(this.user.lastLoginTimestamp * 1000)\n\t\t\t}\n\t\t\treturn ''\n\t\t},\n\t\tuserLastLogin() {\n\t\t\tif (this.user.lastLoginTimestamp > 0) {\n\t\t\t\treturn OC.Util.relativeModifiedDate(this.user.lastLoginTimestamp * 1000)\n\t\t\t}\n\t\t\treturn t('settings', 'Never')\n\t\t},\n\t},\n}\n","\n\n\n\n\n\n\n","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\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport 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=549fcd14&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * 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=549fcd14&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserRow.vue?vue&type=template&id=549fcd14&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=549fcd14&prod&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 \"549fcd14\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n","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\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport 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!./UserList.vue?vue&type=style&index=0&id=73fd953a&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * 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!./UserList.vue?vue&type=style&index=0&id=73fd953a&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserList.vue?vue&type=template&id=73fd953a&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=73fd953a&prod&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 \"73fd953a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Fragment',[(_vm.showConfig.showNewUserForm)?_c('NewUserDialog',{attrs:{\"loading\":_vm.loading,\"new-user\":_vm.newUser,\"quota-options\":_vm.quotaOptions},on:{\"reset\":_vm.resetForm,\"closing\":_vm.closeDialog}}):_vm._e(),_vm._v(\" \"),(_vm.filteredUsers.length === 0)?_c('NcEmptyContent',{staticClass:\"empty\",attrs:{\"name\":_vm.isInitialLoad && _vm.loading.users ? null : _vm.t('settings', 'No accounts')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.isInitialLoad && _vm.loading.users)?_c('NcLoadingIcon',{attrs:{\"name\":_vm.t('settings', 'Loading accounts …'),\"size\":64}}):_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiAccountGroup,\"size\":64}})]},proxy:true}],null,false,226056511)}):_c('VirtualList',{style:(_vm.style),attrs:{\"data-component\":_vm.UserRow,\"data-sources\":_vm.filteredUsers,\"data-key\":\"id\",\"data-cy-user-list\":\"\",\"item-height\":_vm.rowHeight,\"extra-props\":{\n\t\t\tusers: _vm.users,\n\t\t\tsettings: _vm.settings,\n\t\t\thasObfuscated: _vm.hasObfuscated,\n\t\t\tquotaOptions: _vm.quotaOptions,\n\t\t\tlanguages: _vm.languages,\n\t\t\texternalActions: _vm.externalActions,\n\t\t}},on:{\"scroll-end\":_vm.handleScrollEnd},scopedSlots:_vm._u([{key:\"before\",fn:function(){return [_c('caption',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list.'))+\"\\n\\t\\t\\t\")])]},proxy:true},{key:\"header\",fn:function(){return [_c('UserListHeader',{attrs:{\"has-obfuscated\":_vm.hasObfuscated}})]},proxy:true},{key:\"footer\",fn:function(){return [_c('UserListFooter',{attrs:{\"loading\":_vm.loading.users,\"filtered-users\":_vm.filteredUsers}})]},proxy:true}])})],1)\n}\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!./UserManagement.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!./UserManagement.vue?vue&type=script&lang=js\"","\n\n\n\n\n\n\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport 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!./UserManagement.vue?vue&type=style&index=0&id=4684ed00&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * 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!./UserManagement.vue?vue&type=style&index=0&id=4684ed00&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserManagement.vue?vue&type=template&id=4684ed00&scoped=true\"\nimport script from \"./UserManagement.vue?vue&type=script&lang=js\"\nexport * from \"./UserManagement.vue?vue&type=script&lang=js\"\nimport style0 from \"./UserManagement.vue?vue&type=style&index=0&id=4684ed00&prod&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 \"4684ed00\",\n null\n \n)\n\nexport default component.exports","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.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, `.user-list__row[data-v-549fcd14]{position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background)}.user-list__row[data-v-549fcd14]:hover{background-color:var(--color-background-hover)}.user-list__row:hover .row__cell[data-v-549fcd14]:not(.row__cell--actions){background-color:var(--color-background-hover)}.user-list__row .select--fill[data-v-549fcd14]{max-width:calc(var(--cell-width-large) - 2*var(--cell-padding))}.row__cell[data-v-549fcd14]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.row__cell strong[data-v-549fcd14],.row__cell span[data-v-549fcd14],.row__cell label[data-v-549fcd14]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.row__cell--avatar[data-v-549fcd14],.row__cell--displayname[data-v-549fcd14]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.row__cell--avatar[data-v-549fcd14]{inset-inline-start:0}.row__cell--displayname[data-v-549fcd14]{inset-inline-start:var(--avatar-cell-width);border-inline-end:1px solid var(--color-border)}}.row__cell--username[data-v-549fcd14]{padding-inline-start:calc(var(--default-grid-baseline)*3)}.row__cell--avatar[data-v-549fcd14]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.row__cell--multiline span[data-v-549fcd14]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.row__cell--multiline span[data-v-549fcd14]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.row__cell--large[data-v-549fcd14]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.row__cell--obfuscated[data-v-549fcd14]{min-width:400px;width:400px}.row__cell--fill[data-v-549fcd14]{min-width:var(--cell-width-large);width:100%}.row__cell--actions[data-v-549fcd14]{position:sticky;inset-inline-end:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-inline-start:1px solid var(--color-border)}.row__subtitle[data-v-549fcd14]{color:var(--color-text-maxcontrast)}.row__cell[data-v-549fcd14]{border-bottom:1px solid var(--color-border)}.row__cell[data-v-549fcd14] .v-select.select{min-width:var(--cell-min-width)}.row__progress[data-v-549fcd14]{margin-top:4px}.row__progress--warn[data-v-549fcd14]::-moz-progress-bar{background:var(--color-warning) !important}.row__progress--warn[data-v-549fcd14]::-webkit-progress-value{background:var(--color-warning) !important}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/UserRow.vue\",\"webpack://./apps/settings/src/components/Users/shared/styles.scss\"],\"names\":[],\"mappings\":\"AAGA,iCCGC,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CDLA,uCACC,8CAAA,CAEA,2EACC,8CAAA,CAKF,+CACC,+DAAA,CCDD,4BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,sGAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,6EAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,oCACC,oBAAA,CAGD,yCACC,2CAAA,CACA,+CAAA,CAAA,CAIF,sCACC,yDAAA,CAGD,oCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,4CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,4CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,mCACC,iCAAA,CACA,6BAAA,CAGD,wCACC,eAAA,CACA,WAAA,CAID,kCACC,iCAAA,CACA,UAAA,CAGD,qCACC,eAAA,CACA,kBAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,iDAAA,CAIF,gCACC,mCAAA,CDpFD,4BACC,2CAAA,CAGC,6CACC,+BAAA,CAKH,gCACC,cAAA,CAGC,yDACC,0CAAA,CAED,8DACC,0CAAA\",\"sourcesContent\":[\"\\n@use './shared/styles';\\n\\n.user-list__row {\\n\\t@include styles.row;\\n\\n\\t&:hover {\\n\\t\\tbackground-color: var(--color-background-hover);\\n\\n\\t\\t.row__cell:not(.row__cell--actions) {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n\\n\\t// Limit width of select in fill cell\\n\\t.select--fill {\\n\\t\\tmax-width: calc(var(--cell-width-large) - (2 * var(--cell-padding)));\\n\\t}\\n}\\n\\n.row {\\n\\t@include styles.cell;\\n\\n\\t&__cell {\\n\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\n\\t\\t:deep {\\n\\t\\t\\t.v-select.select {\\n\\t\\t\\t\\tmin-width: var(--cell-min-width);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__progress {\\n\\t\\tmargin-top: 4px;\\n\\n\\t\\t&--warn {\\n\\t\\t\\t&::-moz-progress-bar {\\n\\t\\t\\t\\tbackground: var(--color-warning) !important;\\n\\t\\t\\t}\\n\\t\\t\\t&::-webkit-progress-value {\\n\\t\\t\\t\\tbackground: var(--color-warning) !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n\\n@mixin row {\\n\\tposition: relative;\\n\\tdisplay: flex;\\n\\tmin-width: 100%;\\n\\twidth: fit-content;\\n\\theight: var(--row-height);\\n\\tbackground-color: var(--color-main-background);\\n}\\n\\n@mixin cell {\\n\\t&__cell {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tpadding: 0 var(--cell-padding);\\n\\t\\tmin-width: var(--cell-width);\\n\\t\\twidth: var(--cell-width);\\n\\t\\tcolor: var(--color-main-text);\\n\\n\\t\\tstrong,\\n\\t\\tspan,\\n\\t\\tlabel {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\toverflow-wrap: anywhere;\\n\\t\\t}\\n\\n\\t\\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\\n\\t\\t\\t&--avatar,\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tposition: sticky;\\n\\t\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--avatar {\\n\\t\\t\\t\\tinset-inline-start: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tinset-inline-start: var(--avatar-cell-width);\\n\\t\\t\\t\\tborder-inline-end: 1px solid var(--color-border);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--username {\\n\\t\\t\\tpadding-inline-start: calc(var(--default-grid-baseline) * 3);\\n\\t\\t}\\n\\n\\t\\t&--avatar {\\n\\t\\t\\tmin-width: var(--avatar-cell-width);\\n\\t\\t\\twidth: var(--avatar-cell-width);\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tuser-select: none;\\n\\t\\t}\\n\\n\\t\\t&--multiline {\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tline-height: 1.3em;\\n\\t\\t\\t\\twhite-space: unset;\\n\\n\\t\\t\\t\\t@supports (-webkit-line-clamp: 2) {\\n\\t\\t\\t\\t\\tdisplay: -webkit-box;\\n\\t\\t\\t\\t\\t-webkit-line-clamp: 2;\\n\\t\\t\\t\\t\\t-webkit-box-orient: vertical;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--large {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: var(--cell-width-large);\\n\\t\\t}\\n\\n\\t\\t&--obfuscated {\\n\\t\\t\\tmin-width: 400px;\\n\\t\\t\\twidth: 400px;\\n\\t\\t}\\n\\n\\t\\t// Fill remaining row space with cell\\n\\t\\t&--fill {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t&--actions {\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\tinset-inline-end: 0;\\n\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: row;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tmin-width: 110px;\\n\\t\\t\\twidth: 110px;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tborder-inline-start: 1px solid var(--color-border);\\n\\t\\t}\\n\\t}\\n\\n\\t&__subtitle {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\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/sourceMaps.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, `.empty[data-v-73fd953a] .icon-vue{width:64px;height:64px}.empty[data-v-73fd953a] .icon-vue svg{max-width:64px;max-height:64px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/UserList.vue\"],\"names\":[],\"mappings\":\"AAKE,kCACC,UAAA,CACA,WAAA,CAEA,sCACC,cAAA,CACA,eAAA\",\"sourcesContent\":[\"\\n@use './Users/shared/styles' as *;\\n\\n.empty {\\n\\t:deep {\\n\\t\\t.icon-vue {\\n\\t\\t\\twidth: 64px;\\n\\t\\t\\theight: 64px;\\n\\n\\t\\t\\tsvg {\\n\\t\\t\\t\\tmax-width: 64px;\\n\\t\\t\\t\\tmax-height: 64px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { translate as t } from '@nextcloud/l10n';\nexport const unlimitedQuota = {\n id: 'none',\n label: t('settings', 'Unlimited'),\n};\nexport const defaultQuota = {\n id: 'default',\n label: t('settings', 'Default quota'),\n};\n/**\n * Return `true` if the logged in user does not have permissions to view the\n * data of `user`\n * @param user The user to check\n * @param user.id Id of the user\n */\nexport const isObfuscated = (user) => {\n const keys = Object.keys(user);\n return keys.length === 1 && keys.at(0) === 'id';\n};\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","formatGroup","group","name","displayname","usercount","disabled","canAdd","canRemove","searchGroups","search","offset","limit","controller","AbortController","CancelablePromise","async","resolve","reject","onCancel","abort","data","axios","get","generateOcsUrl","signal","ocs","groups","map","error","loadUserGroups","userId","url","loadUserSubAdminGroups","components","NcAppSettingsDialog","NcAppSettingsSection","NcCheckboxRadioSwitch","NcNoteCard","NcSelect","props","open","type","Boolean","required","selectedQuota","loadingSendMail","computed","groupSorting","$store","getters","getGroupSorting","GroupSorting","GroupName","set","sorting","commit","UserCount","isGroupSortingEnforced","getServerData","forceSortGroupByName","isModalOpen","$emit","showConfig","getShowConfig","settings","showLanguages","status","setShowConfig","showFirstLogin","showLastLogin","showUserBackend","showStoragePath","quotaOptions","quotaPreset","reduce","acc","cur","concat","label","allowUnlimitedQuota","unshift","unlimitedQuota","defaultQuota","OC","Util","computerFileSize","quota","sendWelcomeMail","newUserSendEmail","value","post","generateUrl","logger","methods","filterQuotas","option","searchValue","toLocaleLowerCase","replaceAll","indexOf","key","validateQuota","validQuota","parseFileSize","formatFileSize","setDefaultQuota","dispatch","app","then","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_vm","this","_c","_self","attrs","t","on","$event","_v","_s","_e","staticClass","model","callback","$$v","expression","AccountGroup","Delete","Fragment","NcActionButton","NcActionInput","NcAppNavigationItem","NcButton","NcCounterBubble","NcModal","Pencil","active","count","Number","default","String","loadingRenameGroup","openGroupMenu","showRemoveGroupModal","handleGroupMenuOpen","renameGroup","gid","trim","displayName","$refs","displayNameInput","$el","querySelector","groupid","removeGroup","showError","ref","params","selectedGroup","encodeURIComponent","scopedSlots","_u","fn","proxy","undefined","isAdmin","isDelegatedAdmin","formatGroupMenu","title","Math","max","useFormatGroups","userGroups","filter","adminGroup","find","disabledGroup","recentGroup","_defineComponent","__name","setup","__props","store","useStore","route","useRoute","router","useRouter","onBeforeMount","loadGroups","selectedGroupDecoded","decodeURIComponent","isAdminOrDelegatedAdmin","getSortedGroups","getSubAdminGroups","isAddGroupOpen","loadingAddGroup","hasAddGroupError","newGroupName","loadingGroups","groupsSearchQuery","filteredGroups","substring","toLowerCase","groupListItems","lastGroupListItem","findLast","component","$vnode","at","listItem","isLastGroupVisible","useElementVisibility","watch","promise","cancel","length","__sfc","createGroup","groupId","newGroupListItem","scrollIntoView","behavior","block","mdiAccountGroup","mdiPlus","NcActionText","NcAppNavigationCaption","NcAppNavigationList","NcAppNavigationSearch","NcIconSvgWrapper","NcLoadingIcon","GroupListItem","_setup","_setupProxy","_l","refInFor","isDialogOpen","userCount","getUserCount","showNewUserMenu","mdiAccount","mdiAccountOff","mdiCog","mdiShieldAccount","mdiHistory","NcAppNavigation","NcAppNavigationNew","UserSettingsDialog","AppNavigationGroupList","_k","keyCode","apply","arguments","Vue","directive","vElementVisibility","extend","dataComponent","Object","Function","dataKey","dataSources","Array","itemHeight","extraProps","bufferItems","index","headerHeight","tableHeight","resizeObserver","startIndex","shownItems","ceil","renderedItems","slice","tbodyStyle","isOverScrolled","lastIndex","hiddenAfterItems","min","paddingTop","paddingBottom","mounted","root","tfoot","thead","ResizeObserver","debounce","clientHeight","debug","onScroll","observe","addEventListener","beforeDestroy","disconnect","handleFooterVisibility","visible","round","scrollTop","_t","style","item","i","_b","tag","directives","rawName","NcDialog","NcPasswordField","NcTextField","loading","newUser","possibleManagers","managerInputLabel","managerLabel","usernameLabel","newUserGenerateUserID","minPasswordLength","getPasswordPolicyMinLength","availableGroups","languages","commonLanguages","otherLanguages","beforeMount","searchUserManager","username","focus","createUser","all","userid","password","email","mailAddress","subadmin","subAdminsGroups","language","code","manager","response","meta","statuscode","query","toggleLoading","addGroup","isCreating","g","languageFilterBy","some","includes","users","values","_g","$listeners","preventDefault","$set","newUserRequireEmail","class","filteredUsers","n","hasObfuscated","passwordLabel","defineComponent","NcActions","actions","edit","user","editSvg","SvgCheck","SvgPencil","enabledActions","action","enabled","isSvg","string","TypeError","XMLValidator","validate","jsonObject","parser","XMLParser","parse","keys","x","toggleEdit","icon","text","event","N","Symbol","toStringTag","externalActions","formattedFullTime","useFormatDateTime","firstLoginTimestamp","relativeTime","format","timeStyle","dateStyle","selectedGroups","selectedSubAdminGroups","userSubAdminGroups","usedSpace","quotaUsed","used","size","usedQuota","pow","isNaN","userQuota","humanQuota","userLanguage","userLang","lang","userFirstLogin","userLastLoginTooltip","lastLoginTimestamp","formatDate","userLastLogin","relativeModifiedDate","NcAvatar","NcProgressBar","UserRowActions","mixins","UserRowMixin","rand","random","toString","loadingPossibleManagers","currentManager","editing","groupsDetails","subAdminGroupsDetails","subadmins","delete","disable","wipe","editedDisplayName","editedPassword","editedMail","isObfuscated","isLoadingUser","isLoadingField","uniqueId","availableSubAdminGroups","userGroupsLabels","availableGroup","join","userSubAdminGroupsLabels","canEdit","getCurrentUser","uid","userActions","deleteUser","wipeUserDevices","enableDisableUser","editedUserQuota","availableLanguages","initManager","confirmPassword","dialogs","confirmDestructive","YES_NO_BUTTONS","confirm","confirmClasses","result","showSuccess","timeout","finally","filterManagers","managers","searchInitialUserManager","loadGroupsDetails","loadSubAdminGroupsDetails","updateUserManager","previousManager","updateDisplayName","updatePassword","updateEmail","addUserGroup","console","removeUserGroup","$route","addUserSubAdmin","removeUserSubAdmin","setUserQuota","setUserLanguage","$nextTick","displayNameField","inputField","input","backendCapabilities","setDisplayName","canChangePassword","setPassword","backend","storageLocation","freeze","NcEmptyContent","NewUserDialog","UserListFooter","UserListHeader","VirtualList","rowHeight","UserRow","isInitialLoad","searchQuery","getUsers","usersOffset","getUsersOffset","usersLimit","getUsersLimit","disabledUsersOffset","getDisabledUsersOffset","disabledUsersLimit","getDisabledUsersLimit","usersCount","val","redirectIfDisabled","loadUsers","setNewUserDefaultGroup","created","Notification","showTemporary","resetForm","subscribe","resetSearch","unsubscribe","handleScrollEnd","closeDialog","assign","defaultLanguage","currentGroup","allGroups","getGroups","findIndex","$router","showNewUserForm","NcAppContent","UserList","pageHeading","admin","window","OCA","Settings","registerAction","emit"],"ignoreList":[],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"settings-users-3239.js?v=80fab087698056c0943d","mappings":"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","sources":["webpack:///nextcloud/apps/settings/src/components/Users/UserSettingsDialog.vue?vue&type=style&index=0&id=29922c80&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/views/UserManagement.vue?vue&type=style&index=0&id=4684ed00&prod&lang=scss&scoped=true","webpack://nextcloud/./apps/settings/src/views/UserManagement.vue?4b28","webpack:///nextcloud/apps/settings/src/components/Users/VirtualList.vue","webpack:///nextcloud/apps/settings/src/components/Users/VirtualList.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/settings/src/components/Users/VirtualList.vue?7ade","webpack://nextcloud/./apps/settings/src/components/Users/VirtualList.vue?1915","webpack://nextcloud/./apps/settings/src/components/Users/NewUserDialog.vue?dc2d","webpack:///nextcloud/apps/settings/src/components/Users/NewUserDialog.vue","webpack:///nextcloud/apps/settings/src/components/Users/NewUserDialog.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/Users/NewUserDialog.vue?c4a6","webpack://nextcloud/./apps/settings/src/components/Users/NewUserDialog.vue?64c6","webpack:///nextcloud/apps/settings/src/components/Users/UserListFooter.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/settings/src/components/Users/UserListFooter.vue","webpack://nextcloud/./apps/settings/src/components/Users/UserListFooter.vue?c0ec","webpack://nextcloud/./apps/settings/src/components/Users/UserListFooter.vue?b843","webpack:///nextcloud/apps/settings/src/components/Users/UserListHeader.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/settings/src/components/Users/UserListHeader.vue","webpack://nextcloud/./apps/settings/src/components/Users/UserListHeader.vue?e7ff","webpack://nextcloud/./apps/settings/src/components/Users/UserListHeader.vue?758a","webpack://nextcloud/./apps/settings/src/components/Users/UserRow.vue?5434","webpack:///nextcloud/apps/settings/src/components/Users/UserRowActions.vue","webpack:///nextcloud/apps/settings/src/components/Users/UserRowActions.vue?vue&type=script&lang=ts","webpack:///nextcloud/node_modules/is-svg/index.js","webpack://nextcloud/./apps/settings/src/components/Users/UserRowActions.vue?3c2a","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/index.mjs","webpack:///nextcloud/apps/settings/src/mixins/UserRowMixin.js","webpack:///nextcloud/apps/settings/src/components/Users/UserRow.vue","webpack:///nextcloud/apps/settings/src/components/Users/UserRow.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/Users/UserRow.vue?2b0f","webpack://nextcloud/./apps/settings/src/components/Users/UserRow.vue?eb6e","webpack:///nextcloud/apps/settings/src/components/UserList.vue","webpack:///nextcloud/apps/settings/src/components/UserList.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/UserList.vue?6d31","webpack://nextcloud/./apps/settings/src/components/UserList.vue?02a4","webpack://nextcloud/./apps/settings/src/components/UserList.vue?c96e","webpack:///nextcloud/apps/settings/src/views/UserManagement.vue?vue&type=script&lang=js","webpack:///nextcloud/apps/settings/src/views/UserManagement.vue","webpack://nextcloud/./apps/settings/src/views/UserManagement.vue?4758","webpack://nextcloud/./apps/settings/src/views/UserManagement.vue?fd5a","webpack:///nextcloud/apps/settings/src/components/Users/UserListFooter.vue?vue&type=style&index=0&id=20636959&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/components/Users/UserListHeader.vue?vue&type=style&index=0&id=5c0f8828&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/components/Users/VirtualList.vue?vue&type=style&index=0&id=21942da5&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/components/GroupListItem.vue?vue&type=style&index=0&id=0540d351&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/components/Users/NewUserDialog.vue?vue&type=style&index=0&id=0cf68bf0&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/service/groups.ts","webpack:///nextcloud/apps/settings/src/views/UserManagementNavigation.vue?vue&type=style&index=0&id=539a4ad0&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/views/UserManagementNavigation.vue","webpack:///nextcloud/apps/settings/src/components/Users/UserSettingsDialog.vue","webpack:///nextcloud/apps/settings/src/components/Users/UserSettingsDialog.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/Users/UserSettingsDialog.vue?d90e","webpack://nextcloud/./apps/settings/src/components/Users/UserSettingsDialog.vue?f361","webpack://nextcloud/./apps/settings/src/components/Users/UserSettingsDialog.vue?824e","webpack:///nextcloud/apps/settings/src/components/AppNavigationGroupList.vue","webpack:///nextcloud/apps/settings/src/components/GroupListItem.vue","webpack:///nextcloud/apps/settings/src/components/GroupListItem.vue?vue&type=script&lang=js","webpack://nextcloud/./apps/settings/src/components/GroupListItem.vue?1540","webpack://nextcloud/./apps/settings/src/components/GroupListItem.vue?7b19","webpack://nextcloud/./apps/settings/src/components/GroupListItem.vue?9f48","webpack:///nextcloud/apps/settings/src/composables/useGroupsNavigation.ts","webpack:///nextcloud/apps/settings/src/components/AppNavigationGroupList.vue?vue&type=script&setup=true&lang=ts","webpack://nextcloud/./apps/settings/src/components/AppNavigationGroupList.vue?c74f","webpack:///nextcloud/apps/settings/src/views/UserManagementNavigation.vue?vue&type=script&setup=true&lang=ts","webpack://nextcloud/./apps/settings/src/views/UserManagementNavigation.vue?0ca3","webpack://nextcloud/./apps/settings/src/views/UserManagementNavigation.vue?28b6","webpack:///nextcloud/apps/settings/src/components/Users/UserRow.vue?vue&type=style&index=0&id=549fcd14&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/components/UserList.vue?vue&type=style&index=0&id=73fd953a&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/utils/userUtils.ts"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.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, `.dialog__note[data-v-29922c80]{font-weight:normal}fieldset[data-v-29922c80]{font-weight:bold}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/UserSettingsDialog.vue\"],\"names\":[],\"mappings\":\"AAEC,+BACC,kBAAA,CAIF,0BACC,gBAAA\",\"sourcesContent\":[\"\\n.dialog {\\n\\t&__note {\\n\\t\\tfont-weight: normal;\\n\\t}\\n}\\n\\nfieldset {\\n\\tfont-weight: bold;\\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/sourceMaps.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, `.app-content[data-v-4684ed00]{display:flex;overflow:hidden;flex-direction:column;max-height:100%}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/views/UserManagement.vue\"],\"names\":[],\"mappings\":\"AACA,8BAEC,YAAA,CACA,eAAA,CACA,qBAAA,CACA,eAAA\",\"sourcesContent\":[\"\\n.app-content {\\n\\t// Virtual list needs to be full height and is scrollable\\n\\tdisplay: flex;\\n\\toverflow: hidden;\\n\\tflex-direction: column;\\n\\tmax-height: 100%;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcAppContent',{attrs:{\"page-heading\":_vm.pageHeading}},[_c('UserList',{attrs:{\"selected-group\":_vm.selectedGroupDecoded,\"external-actions\":_vm.externalActions}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('table',{staticClass:\"user-list\"},[_vm._t(\"before\"),_vm._v(\" \"),_c('thead',{ref:\"thead\",staticClass:\"user-list__header\",attrs:{\"role\":\"rowgroup\"}},[_vm._t(\"header\")],2),_vm._v(\" \"),_c('tbody',{staticClass:\"user-list__body\",style:(_vm.tbodyStyle)},_vm._l((_vm.renderedItems),function(item,i){return _c(_vm.dataComponent,_vm._b({key:item[_vm.dataKey],tag:\"component\",attrs:{\"user\":item,\"visible\":(i >= _vm.bufferItems || _vm.index <= _vm.bufferItems) && (i < _vm.shownItems - _vm.bufferItems)}},'component',_vm.extraProps,false))}),1),_vm._v(\" \"),_c('tfoot',{directives:[{name:\"element-visibility\",rawName:\"v-element-visibility\",value:(_vm.handleFooterVisibility),expression:\"handleFooterVisibility\"}],ref:\"tfoot\",staticClass:\"user-list__footer\",attrs:{\"role\":\"rowgroup\"}},[_vm._t(\"footer\")],2)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VirtualList.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VirtualList.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport 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!./VirtualList.vue?vue&type=style&index=0&id=21942da5&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * 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!./VirtualList.vue?vue&type=style&index=0&id=21942da5&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./VirtualList.vue?vue&type=template&id=21942da5&scoped=true\"\nimport script from \"./VirtualList.vue?vue&type=script&lang=ts\"\nexport * from \"./VirtualList.vue?vue&type=script&lang=ts\"\nimport style0 from \"./VirtualList.vue?vue&type=style&index=0&id=21942da5&prod&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 \"21942da5\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcDialog',_vm._g({staticClass:\"dialog\",attrs:{\"size\":\"small\",\"name\":_vm.t('settings', 'New account'),\"out-transition\":\"\"},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [_c('NcButton',{staticClass:\"dialog__submit\",attrs:{\"data-test\":\"submit\",\"form\":\"new-user-form\",\"type\":\"primary\",\"native-type\":\"submit\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Add new account'))+\"\\n\\t\\t\")])]},proxy:true}])},_vm.$listeners),[_c('form',{staticClass:\"dialog__form\",attrs:{\"id\":\"new-user-form\",\"data-test\":\"form\",\"disabled\":_vm.loading.all},on:{\"submit\":function($event){$event.preventDefault();return _vm.createUser.apply(null, arguments)}}},[_c('NcTextField',{ref:\"username\",staticClass:\"dialog__item\",attrs:{\"data-test\":\"username\",\"value\":_vm.newUser.id,\"disabled\":_vm.settings.newUserGenerateUserID,\"label\":_vm.usernameLabel,\"autocapitalize\":\"none\",\"autocomplete\":\"off\",\"spellcheck\":\"false\",\"pattern\":\"[a-zA-Z0-9 _\\\\.@\\\\-']+\",\"required\":\"\"},on:{\"update:value\":function($event){return _vm.$set(_vm.newUser, \"id\", $event)}}}),_vm._v(\" \"),_c('NcTextField',{staticClass:\"dialog__item\",attrs:{\"data-test\":\"displayName\",\"value\":_vm.newUser.displayName,\"label\":_vm.t('settings', 'Display name'),\"autocapitalize\":\"none\",\"autocomplete\":\"off\",\"spellcheck\":\"false\"},on:{\"update:value\":function($event){return _vm.$set(_vm.newUser, \"displayName\", $event)}}}),_vm._v(\" \"),(!_vm.settings.newUserRequireEmail)?_c('span',{staticClass:\"dialog__hint\",attrs:{\"id\":\"password-email-hint\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Either password or email is required'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('NcPasswordField',{ref:\"password\",staticClass:\"dialog__item\",attrs:{\"data-test\":\"password\",\"value\":_vm.newUser.password,\"minlength\":_vm.minPasswordLength,\"maxlength\":469,\"aria-describedby\":\"password-email-hint\",\"label\":_vm.newUser.mailAddress === '' ? _vm.t('settings', 'Password (required)') : _vm.t('settings', 'Password'),\"autocapitalize\":\"none\",\"autocomplete\":\"new-password\",\"spellcheck\":\"false\",\"required\":_vm.newUser.mailAddress === ''},on:{\"update:value\":function($event){return _vm.$set(_vm.newUser, \"password\", $event)}}}),_vm._v(\" \"),_c('NcTextField',{staticClass:\"dialog__item\",attrs:{\"data-test\":\"email\",\"type\":\"email\",\"value\":_vm.newUser.mailAddress,\"aria-describedby\":\"password-email-hint\",\"label\":_vm.newUser.password === '' || _vm.settings.newUserRequireEmail ? _vm.t('settings', 'Email (required)') : _vm.t('settings', 'Email'),\"autocapitalize\":\"none\",\"autocomplete\":\"off\",\"spellcheck\":\"false\",\"required\":_vm.newUser.password === '' || _vm.settings.newUserRequireEmail},on:{\"update:value\":function($event){return _vm.$set(_vm.newUser, \"mailAddress\", $event)}}}),_vm._v(\" \"),_c('div',{staticClass:\"dialog__item\"},[_c('NcSelect',{staticClass:\"dialog__select\",attrs:{\"data-test\":\"groups\",\"input-label\":!_vm.settings.isAdmin && !_vm.settings.isDelegatedAdmin ? _vm.t('settings', 'Member of the following groups (required)') : _vm.t('settings', 'Member of the following groups'),\"placeholder\":_vm.t('settings', 'Set account groups'),\"disabled\":_vm.loading.groups || _vm.loading.all,\"options\":_vm.availableGroups,\"value\":_vm.newUser.groups,\"label\":\"name\",\"close-on-select\":false,\"multiple\":true,\"taggable\":_vm.settings.isAdmin || _vm.settings.isDelegatedAdmin,\"required\":!_vm.settings.isAdmin && !_vm.settings.isDelegatedAdmin,\"create-option\":(value) => ({ id: value, name: value, isCreating: true })},on:{\"search\":_vm.searchGroups,\"option:created\":_vm.createGroup,\"option:deselected\":_vm.removeGroup,\"option:selected\":options => _vm.addGroup(options.at(-1))}})],1),_vm._v(\" \"),_c('div',{staticClass:\"dialog__item\"},[_c('NcSelect',{staticClass:\"dialog__select\",attrs:{\"input-label\":_vm.t('settings', 'Admin of the following groups'),\"placeholder\":_vm.t('settings', 'Set account as admin for …'),\"disabled\":_vm.loading.groups || _vm.loading.all,\"options\":_vm.availableSubAdminGroups,\"close-on-select\":false,\"multiple\":true,\"label\":\"name\"},on:{\"search\":_vm.searchGroups},model:{value:(_vm.newUser.subAdminsGroups),callback:function ($$v) {_vm.$set(_vm.newUser, \"subAdminsGroups\", $$v)},expression:\"newUser.subAdminsGroups\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"dialog__item\"},[_c('NcSelect',{staticClass:\"dialog__select\",attrs:{\"input-label\":_vm.t('settings', 'Quota'),\"placeholder\":_vm.t('settings', 'Set account quota'),\"options\":_vm.quotaOptions,\"clearable\":false,\"taggable\":true,\"create-option\":_vm.validateQuota},model:{value:(_vm.newUser.quota),callback:function ($$v) {_vm.$set(_vm.newUser, \"quota\", $$v)},expression:\"newUser.quota\"}})],1),_vm._v(\" \"),(_vm.showConfig.showLanguages)?_c('div',{staticClass:\"dialog__item\"},[_c('NcSelect',{staticClass:\"dialog__select\",attrs:{\"input-label\":_vm.t('settings', 'Language'),\"placeholder\":_vm.t('settings', 'Set default language'),\"clearable\":false,\"selectable\":option => !option.languages,\"filter-by\":_vm.languageFilterBy,\"options\":_vm.languages,\"label\":\"name\"},model:{value:(_vm.newUser.language),callback:function ($$v) {_vm.$set(_vm.newUser, \"language\", $$v)},expression:\"newUser.language\"}})],1):_vm._e(),_vm._v(\" \"),_c('div',{class:['dialog__item dialog__managers', { 'icon-loading-small': _vm.loading.manager }]},[_c('NcSelect',{staticClass:\"dialog__select\",attrs:{\"input-label\":_vm.managerInputLabel,\"placeholder\":_vm.managerLabel,\"options\":_vm.possibleManagers,\"user-select\":true,\"label\":\"displayname\"},on:{\"search\":_vm.searchUserManager},model:{value:(_vm.newUser.manager),callback:function ($$v) {_vm.$set(_vm.newUser, \"manager\", $$v)},expression:\"newUser.manager\"}})],1)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewUserDialog.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!./NewUserDialog.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport 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!./NewUserDialog.vue?vue&type=style&index=0&id=0cf68bf0&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * 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!./NewUserDialog.vue?vue&type=style&index=0&id=0cf68bf0&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./NewUserDialog.vue?vue&type=template&id=0cf68bf0&scoped=true\"\nimport script from \"./NewUserDialog.vue?vue&type=script&lang=js\"\nexport * from \"./NewUserDialog.vue?vue&type=script&lang=js\"\nimport style0 from \"./NewUserDialog.vue?vue&type=style&index=0&id=0cf68bf0&prod&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 \"0cf68bf0\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListFooter.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListFooter.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',{staticClass:\"footer\"},[_c('th',{attrs:{\"scope\":\"row\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(_vm._s(_vm.t('settings', 'Total rows summary')))])]),_vm._v(\" \"),_c('td',{staticClass:\"footer__cell footer__cell--loading\"},[(_vm.loading)?_c('NcLoadingIcon',{attrs:{\"title\":_vm.t('settings', 'Loading accounts …'),\"size\":32}}):_vm._e()],1),_vm._v(\" \"),_c('td',{staticClass:\"footer__cell footer__cell--count footer__cell--multiline\"},[_c('span',{attrs:{\"aria-describedby\":\"user-count-desc\"}},[_vm._v(_vm._s(_vm.userCount))]),_vm._v(\" \"),_c('span',{staticClass:\"hidden-visually\",attrs:{\"id\":\"user-count-desc\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Scroll to load more rows'))+\"\\n\\t\\t\")])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport 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!./UserListFooter.vue?vue&type=style&index=0&id=20636959&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * 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!./UserListFooter.vue?vue&type=style&index=0&id=20636959&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserListFooter.vue?vue&type=template&id=20636959&scoped=true\"\nimport script from \"./UserListFooter.vue?vue&type=script&lang=ts\"\nexport * from \"./UserListFooter.vue?vue&type=script&lang=ts\"\nimport style0 from \"./UserListFooter.vue?vue&type=style&index=0&id=20636959&prod&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 \"20636959\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListHeader.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserListHeader.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',{staticClass:\"header\"},[_c('th',{staticClass:\"header__cell header__cell--avatar\",attrs:{\"data-cy-user-list-header-avatar\":\"\",\"scope\":\"col\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Avatar'))+\"\\n\\t\\t\")])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--displayname\",attrs:{\"data-cy-user-list-header-displayname\":\"\",\"scope\":\"col\"}},[_c('strong',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Display name'))+\"\\n\\t\\t\")])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--username\",attrs:{\"data-cy-user-list-header-username\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Account name'))+\"\\n\\t\\t\")])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell\",class:{ 'header__cell--obfuscated': _vm.hasObfuscated },attrs:{\"data-cy-user-list-header-password\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.passwordLabel))])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell\",attrs:{\"data-cy-user-list-header-email\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Email')))])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--large\",attrs:{\"data-cy-user-list-header-groups\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Groups')))])]),_vm._v(\" \"),(_vm.settings.isAdmin || _vm.settings.isDelegatedAdmin)?_c('th',{staticClass:\"header__cell header__cell--large\",attrs:{\"data-cy-user-list-header-subadmins\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Group admin for')))])]):_vm._e(),_vm._v(\" \"),_c('th',{staticClass:\"header__cell\",attrs:{\"data-cy-user-list-header-quota\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Quota')))])]),_vm._v(\" \"),(_vm.showConfig.showLanguages)?_c('th',{staticClass:\"header__cell header__cell--large\",attrs:{\"data-cy-user-list-header-languages\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Language')))])]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showUserBackend || _vm.showConfig.showStoragePath)?_c('th',{staticClass:\"header__cell header__cell--large\",attrs:{\"data-cy-user-list-header-storage-location\":\"\",\"scope\":\"col\"}},[(_vm.showConfig.showUserBackend)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Account backend'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showStoragePath)?_c('span',{staticClass:\"header__subtitle\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Storage location'))+\"\\n\\t\\t\")]):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showFirstLogin)?_c('th',{staticClass:\"header__cell\",attrs:{\"data-cy-user-list-header-first-login\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'First login')))])]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showLastLogin)?_c('th',{staticClass:\"header__cell\",attrs:{\"data-cy-user-list-header-last-login\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Last login')))])]):_vm._e(),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--large header__cell--fill\",attrs:{\"data-cy-user-list-header-manager\":\"\",\"scope\":\"col\"}},[_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Manager')))])]),_vm._v(\" \"),_c('th',{staticClass:\"header__cell header__cell--actions\",attrs:{\"data-cy-user-list-header-actions\":\"\",\"scope\":\"col\"}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Account actions'))+\"\\n\\t\\t\")])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport 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!./UserListHeader.vue?vue&type=style&index=0&id=5c0f8828&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * 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!./UserListHeader.vue?vue&type=style&index=0&id=5c0f8828&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserListHeader.vue?vue&type=template&id=5c0f8828&scoped=true\"\nimport script from \"./UserListHeader.vue?vue&type=script&lang=ts\"\nexport * from \"./UserListHeader.vue?vue&type=script&lang=ts\"\nimport style0 from \"./UserListHeader.vue?vue&type=style&index=0&id=5c0f8828&prod&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 \"5c0f8828\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('tr',{staticClass:\"user-list__row\",attrs:{\"data-cy-user-row\":_vm.user.id}},[_c('td',{staticClass:\"row__cell row__cell--avatar\",attrs:{\"data-cy-user-list-cell-avatar\":\"\"}},[(_vm.isLoadingUser)?_c('NcLoadingIcon',{attrs:{\"name\":_vm.t('settings', 'Loading account …'),\"size\":32}}):(_vm.visible)?_c('NcAvatar',{attrs:{\"disable-menu\":\"\",\"show-user-status\":false,\"user\":_vm.user.id}}):_vm._e()],1),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--displayname\",attrs:{\"data-cy-user-list-cell-displayname\":\"\"}},[(_vm.editing && _vm.user.backendCapabilities.setDisplayName)?[_c('NcTextField',{ref:\"displayNameField\",staticClass:\"user-row-text-field\",class:{ 'icon-loading-small': _vm.loading.displayName },attrs:{\"data-cy-user-list-input-displayname\":\"\",\"data-loading\":_vm.loading.displayName || undefined,\"trailing-button-label\":_vm.t('settings', 'Submit'),\"show-trailing-button\":true,\"disabled\":_vm.loading.displayName || _vm.isLoadingField,\"label\":_vm.t('settings', 'Change display name'),\"trailing-button-icon\":\"arrowRight\",\"value\":_vm.editedDisplayName,\"autocapitalize\":\"off\",\"autocomplete\":\"off\",\"spellcheck\":\"false\"},on:{\"update:value\":function($event){_vm.editedDisplayName=$event},\"trailing-button-click\":_vm.updateDisplayName}})]:(!_vm.isObfuscated)?_c('strong',{attrs:{\"title\":_vm.user.displayname?.length > 20 ? _vm.user.displayname : null}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.user.displayname)+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--username\",attrs:{\"data-cy-user-list-cell-username\":\"\"}},[_c('span',{staticClass:\"row__subtitle\"},[_vm._v(_vm._s(_vm.user.id))])]),_vm._v(\" \"),_c('td',{staticClass:\"row__cell\",class:{ 'row__cell--obfuscated': _vm.hasObfuscated },attrs:{\"data-cy-user-list-cell-password\":\"\"}},[(_vm.editing && _vm.settings.canChangePassword && _vm.user.backendCapabilities.setPassword)?[_c('NcTextField',{staticClass:\"user-row-text-field\",class:{'icon-loading-small': _vm.loading.password},attrs:{\"data-cy-user-list-input-password\":\"\",\"data-loading\":_vm.loading.password || undefined,\"trailing-button-label\":_vm.t('settings', 'Submit'),\"show-trailing-button\":true,\"disabled\":_vm.loading.password || _vm.isLoadingField,\"minlength\":_vm.minPasswordLength,\"maxlength\":\"469\",\"label\":_vm.t('settings', 'Set new password'),\"trailing-button-icon\":\"arrowRight\",\"value\":_vm.editedPassword,\"autocapitalize\":\"off\",\"autocomplete\":\"new-password\",\"required\":\"\",\"spellcheck\":\"false\",\"type\":\"password\"},on:{\"update:value\":function($event){_vm.editedPassword=$event},\"trailing-button-click\":_vm.updatePassword}})]:(_vm.isObfuscated)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'You do not have permissions to see the details of this account'))+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),_c('td',{staticClass:\"row__cell\",attrs:{\"data-cy-user-list-cell-email\":\"\"}},[(_vm.editing)?[_c('NcTextField',{staticClass:\"user-row-text-field\",class:{'icon-loading-small': _vm.loading.mailAddress},attrs:{\"data-cy-user-list-input-email\":\"\",\"data-loading\":_vm.loading.mailAddress || undefined,\"show-trailing-button\":true,\"trailing-button-label\":_vm.t('settings', 'Submit'),\"label\":_vm.t('settings', 'Set new email address'),\"disabled\":_vm.loading.mailAddress || _vm.isLoadingField,\"trailing-button-icon\":\"arrowRight\",\"value\":_vm.editedMail,\"autocapitalize\":\"off\",\"autocomplete\":\"email\",\"spellcheck\":\"false\",\"type\":\"email\"},on:{\"update:value\":function($event){_vm.editedMail=$event},\"trailing-button-click\":_vm.updateEmail}})]:(!_vm.isObfuscated)?_c('span',{attrs:{\"title\":_vm.user.email?.length > 20 ? _vm.user.email : null}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.user.email)+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--large row__cell--multiline\",attrs:{\"data-cy-user-list-cell-groups\":\"\"}},[(_vm.editing)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'groups' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Add account to group'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"data-cy-user-list-input-groups\":\"\",\"data-loading\":_vm.loading.groups || undefined,\"input-id\":'groups' + _vm.uniqueId,\"close-on-select\":false,\"disabled\":_vm.isLoadingField || _vm.loading.groupsDetails,\"loading\":_vm.loading.groups,\"multiple\":true,\"append-to-body\":false,\"options\":_vm.availableGroups,\"placeholder\":_vm.t('settings', 'Add account to group'),\"taggable\":_vm.settings.isAdmin || _vm.settings.isDelegatedAdmin,\"value\":_vm.userGroups,\"label\":\"name\",\"no-wrap\":true,\"create-option\":(value) => ({ id: value, name: value, isCreating: true })},on:{\"search\":_vm.searchGroups,\"option:created\":_vm.createGroup,\"option:selected\":options => _vm.addUserGroup(options.at(-1)),\"option:deselected\":_vm.removeUserGroup}})]:(!_vm.isObfuscated)?_c('span',{attrs:{\"title\":_vm.userGroupsLabels?.length > 40 ? _vm.userGroupsLabels : null}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.userGroupsLabels)+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),(_vm.settings.isAdmin || _vm.settings.isDelegatedAdmin)?_c('td',{staticClass:\"row__cell row__cell--large row__cell--multiline\",attrs:{\"data-cy-user-list-cell-subadmins\":\"\"}},[(_vm.editing && (_vm.settings.isAdmin || _vm.settings.isDelegatedAdmin))?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'subadmins' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Set account as admin for'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"data-cy-user-list-input-subadmins\":\"\",\"data-loading\":_vm.loading.subadmins || undefined,\"input-id\":'subadmins' + _vm.uniqueId,\"close-on-select\":false,\"disabled\":_vm.isLoadingField || _vm.loading.subAdminGroupsDetails,\"loading\":_vm.loading.subadmins,\"label\":\"name\",\"append-to-body\":false,\"multiple\":true,\"no-wrap\":true,\"options\":_vm.availableSubAdminGroups,\"placeholder\":_vm.t('settings', 'Set account as admin for'),\"value\":_vm.userSubAdminGroups},on:{\"search\":_vm.searchGroups,\"option:deselected\":_vm.removeUserSubAdmin,\"option:selected\":options => _vm.addUserSubAdmin(options.at(-1))}})]:(!_vm.isObfuscated)?_c('span',{attrs:{\"title\":_vm.userSubAdminGroupsLabels?.length > 40 ? _vm.userSubAdminGroupsLabels : null}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.userSubAdminGroupsLabels)+\"\\n\\t\\t\")]):_vm._e()],2):_vm._e(),_vm._v(\" \"),_c('td',{staticClass:\"row__cell\",attrs:{\"data-cy-user-list-cell-quota\":\"\"}},[(_vm.editing)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'quota' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Select account quota'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"close-on-select\":true,\"create-option\":_vm.validateQuota,\"data-cy-user-list-input-quota\":\"\",\"data-loading\":_vm.loading.quota || undefined,\"disabled\":_vm.isLoadingField,\"loading\":_vm.loading.quota,\"append-to-body\":false,\"clearable\":false,\"input-id\":'quota' + _vm.uniqueId,\"options\":_vm.quotaOptions,\"placeholder\":_vm.t('settings', 'Select account quota'),\"taggable\":true},on:{\"option:selected\":_vm.setUserQuota},model:{value:(_vm.editedUserQuota),callback:function ($$v) {_vm.editedUserQuota=$$v},expression:\"editedUserQuota\"}})]:(!_vm.isObfuscated)?[_c('span',{attrs:{\"id\":'quota-progress' + _vm.uniqueId}},[_vm._v(_vm._s(_vm.userQuota)+\" (\"+_vm._s(_vm.usedSpace)+\")\")]),_vm._v(\" \"),_c('NcProgressBar',{staticClass:\"row__progress\",class:{\n\t\t\t\t\t'row__progress--warn': _vm.usedQuota > 80,\n\t\t\t\t},attrs:{\"aria-labelledby\":'quota-progress' + _vm.uniqueId,\"value\":_vm.usedQuota}})]:_vm._e()],2),_vm._v(\" \"),(_vm.showConfig.showLanguages)?_c('td',{staticClass:\"row__cell row__cell--large\",attrs:{\"data-cy-user-list-cell-language\":\"\"}},[(_vm.editing)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'language' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Set the language'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{attrs:{\"id\":'language' + _vm.uniqueId,\"data-cy-user-list-input-language\":\"\",\"data-loading\":_vm.loading.languages || undefined,\"allow-empty\":false,\"disabled\":_vm.isLoadingField,\"loading\":_vm.loading.languages,\"clearable\":false,\"append-to-body\":false,\"options\":_vm.availableLanguages,\"placeholder\":_vm.t('settings', 'No language set'),\"value\":_vm.userLanguage,\"label\":\"name\"},on:{\"input\":_vm.setUserLanguage}})]:(!_vm.isObfuscated)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.userLanguage.name)+\"\\n\\t\\t\")]):_vm._e()],2):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showUserBackend || _vm.showConfig.showStoragePath)?_c('td',{staticClass:\"row__cell row__cell--large\",attrs:{\"data-cy-user-list-cell-storage-location\":\"\"}},[(!_vm.isObfuscated)?[(_vm.showConfig.showUserBackend)?_c('span',[_vm._v(_vm._s(_vm.user.backend))]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showStoragePath)?_c('span',{staticClass:\"row__subtitle\",attrs:{\"title\":_vm.user.storageLocation}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.user.storageLocation)+\"\\n\\t\\t\\t\")]):_vm._e()]:_vm._e()],2):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showFirstLogin)?_c('td',{staticClass:\"row__cell\",attrs:{\"data-cy-user-list-cell-first-login\":\"\"}},[(!_vm.isObfuscated)?_c('span',[_vm._v(_vm._s(_vm.userFirstLogin))]):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.showConfig.showLastLogin)?_c('td',{staticClass:\"row__cell\",attrs:{\"title\":_vm.userLastLoginTooltip,\"data-cy-user-list-cell-last-login\":\"\"}},[(!_vm.isObfuscated)?_c('span',[_vm._v(_vm._s(_vm.userLastLogin))]):_vm._e()]):_vm._e(),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--large row__cell--fill\",attrs:{\"data-cy-user-list-cell-manager\":\"\"}},[(_vm.editing)?[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":'manager' + _vm.uniqueId}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.managerLabel)+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcSelect',{staticClass:\"select--fill\",attrs:{\"data-cy-user-list-input-manager\":\"\",\"data-loading\":_vm.loading.manager || undefined,\"input-id\":'manager' + _vm.uniqueId,\"disabled\":_vm.isLoadingField,\"loading\":_vm.loadingPossibleManagers || _vm.loading.manager,\"options\":_vm.possibleManagers,\"placeholder\":_vm.managerLabel,\"label\":\"displayname\",\"filterable\":false,\"internal-search\":false,\"clearable\":true},on:{\"open\":_vm.searchInitialUserManager,\"search\":_vm.searchUserManager,\"update:model-value\":_vm.updateUserManager},model:{value:(_vm.currentManager),callback:function ($$v) {_vm.currentManager=$$v},expression:\"currentManager\"}})]:(!_vm.isObfuscated)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.user.manager)+\"\\n\\t\\t\")]):_vm._e()],2),_vm._v(\" \"),_c('td',{staticClass:\"row__cell row__cell--actions\",attrs:{\"data-cy-user-list-cell-actions\":\"\"}},[(_vm.visible && !_vm.isObfuscated && _vm.canEdit && !_vm.loading.all)?_c('UserRowActions',{attrs:{\"actions\":_vm.userActions,\"disabled\":_vm.isLoadingField,\"edit\":_vm.editing,\"user\":_vm.user},on:{\"update:edit\":_vm.toggleEdit}}):_vm._e()],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcActions',{attrs:{\"aria-label\":_vm.t('settings', 'Toggle account actions menu'),\"disabled\":_vm.disabled,\"inline\":1}},[_c('NcActionButton',{attrs:{\"data-cy-user-list-action-toggle-edit\":`${_vm.edit}`,\"disabled\":_vm.disabled},on:{\"click\":_vm.toggleEdit},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{key:_vm.editSvg,attrs:{\"svg\":_vm.editSvg,\"aria-hidden\":\"true\"}})]},proxy:true}])},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.edit ? _vm.t('settings', 'Done') : _vm.t('settings', 'Edit'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_vm._l((_vm.enabledActions),function({ action, icon, text },index){return _c('NcActionButton',{key:index,attrs:{\"disabled\":_vm.disabled,\"aria-label\":text,\"icon\":icon,\"close-after-click\":\"\"},on:{\"click\":(event) => action(event, { ..._vm.user })},scopedSlots:_vm._u([(_vm.isSvg(icon))?{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"svg\":icon,\"aria-hidden\":\"true\"}})]},proxy:true}:null],null,true)},[_vm._v(\"\\n\\t\\t\"+_vm._s(text)+\"\\n\\t\\t\")])})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRowActions.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserRowActions.vue?vue&type=script&lang=ts\"","import {XMLParser, XMLValidator} from 'fast-xml-parser';\n\nexport default function isSvg(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(`Expected a \\`string\\`, got \\`${typeof string}\\``);\n\t}\n\n\tstring = string.trim();\n\n\tif (string.length === 0) {\n\t\treturn false;\n\t}\n\n\t// Has to be `!==` as it can also return an object with error info.\n\tif (XMLValidator.validate(string) !== true) {\n\t\treturn false;\n\t}\n\n\tlet jsonObject;\n\tconst parser = new XMLParser();\n\n\ttry {\n\t\tjsonObject = parser.parse(string);\n\t} catch {\n\t\treturn false;\n\t}\n\n\tif (!jsonObject) {\n\t\treturn false;\n\t}\n\n\tif (!Object.keys(jsonObject).some(x => x.toLowerCase() === 'svg')) {\n\t\treturn false;\n\t}\n\n\treturn true;\n}\n","import { render, staticRenderFns } from \"./UserRowActions.vue?vue&type=template&id=7e1868f4\"\nimport script from \"./UserRowActions.vue?vue&type=script&lang=ts\"\nexport * from \"./UserRowActions.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { N as NcActionButton } from \"./chunks/NcActionButton-CECxOkhK.mjs\";\nimport { N as NcActionButtonGroup } from \"./chunks/NcActionButtonGroup-D_ldp8Lw.mjs\";\nimport NcActionCaption from \"./Components/NcActionCaption.mjs\";\nimport { N as NcActionCheckbox } from \"./chunks/NcActionCheckbox-D9aQuEYw.mjs\";\nimport { N as NcActionInput } from \"./chunks/NcActionInput-CB9jcc0_.mjs\";\nimport NcActionLink from \"./Components/NcActionLink.mjs\";\nimport { N as NcActionRadio } from \"./chunks/NcActionRadio-BmVR-lhZ.mjs\";\nimport NcActionRouter from \"./Components/NcActionRouter.mjs\";\nimport { N as NcActions } from \"./chunks/NcActions-C-CwY6XQ.mjs\";\nimport NcActionSeparator from \"./Components/NcActionSeparator.mjs\";\nimport NcActionText from \"./Components/NcActionText.mjs\";\nimport { N as NcActionTextEditable } from \"./chunks/NcActionTextEditable-CNEW3Fav.mjs\";\nimport { N as NcAppContent } from \"./chunks/NcAppContent-BvgsOP0K.mjs\";\nimport NcAppContentDetails from \"./Components/NcAppContentDetails.mjs\";\nimport NcAppContentList from \"./Components/NcAppContentList.mjs\";\nimport { N as NcAppNavigation } from \"./chunks/NcAppNavigation-DgekTp_z.mjs\";\nimport { N as NcAppNavigationCaption } from \"./chunks/NcAppNavigationCaption-D7mH8K7B.mjs\";\nimport NcAppNavigationIconBullet from \"./Components/NcAppNavigationIconBullet.mjs\";\nimport { N as NcAppNavigationItem } from \"./chunks/NcAppNavigationItem-B6YKr1n2.mjs\";\nimport NcAppNavigationList from \"./Components/NcAppNavigationList.mjs\";\nimport { N as NcAppNavigationNew } from \"./chunks/NcAppNavigationNew-t3Rkrwjh.mjs\";\nimport { N as NcAppNavigationNewItem } from \"./chunks/NcAppNavigationNewItem-C96AER1b.mjs\";\nimport { N as NcAppNavigationSearch } from \"./chunks/NcAppNavigationSearch-CuqE2exX.mjs\";\nimport { N as NcAppNavigationSettings } from \"./chunks/NcAppNavigationSettings-Ba8OcJxl.mjs\";\nimport NcAppNavigationSpacer from \"./Components/NcAppNavigationSpacer.mjs\";\nimport { N as NcAppSettingsDialog } from \"./chunks/NcAppSettingsDialog-PRGGDKCy.mjs\";\nimport { N as NcAppSettingsSection } from \"./chunks/NcAppSettingsSection-Cq1VIzMR.mjs\";\nimport { N as NcAppSettingsShortcutsSection } from \"./chunks/NcAppSettingsShortcutsSection-BGMDhIXI.mjs\";\nimport { N as NcAppSidebar } from \"./chunks/NcAppSidebar-1Q4AznUI.mjs\";\nimport { N as NcAppSidebarHeader } from \"./chunks/NcAppSidebarHeader-CBE4tNYb.mjs\";\nimport NcAppSidebarTab from \"./Components/NcAppSidebarTab.mjs\";\nimport { N as NcAssistantButton } from \"./chunks/NcAssistantButton-BPXX2mz6.mjs\";\nimport NcAssistantContent from \"./Components/NcAssistantContent.mjs\";\nimport { N as NcAssistantIcon } from \"./chunks/NcAssistantIcon-CKWZRzXg.mjs\";\nimport { N as NcAvatar } from \"./chunks/NcAvatar-4h0wo9uv.mjs\";\nimport { u } from \"./chunks/NcAvatar-4h0wo9uv.mjs\";\nimport { N as NcBlurHash } from \"./chunks/NcBlurHash-DZmsBU0q.mjs\";\nimport { N as NcBreadcrumb } from \"./chunks/NcBreadcrumb-CcKJsew_.mjs\";\nimport { N as NcBreadcrumbs } from \"./chunks/NcBreadcrumbs-bDlnNcz1.mjs\";\nimport { N as NcButton } from \"./chunks/NcButton-Dz2O6cSU.mjs\";\nimport { N as NcCheckboxRadioSwitch } from \"./chunks/NcCheckboxRadioSwitch-CX3HXCEk.mjs\";\nimport { N as NcCollectionList } from \"./chunks/NcCollectionList-CejmntlL.mjs\";\nimport { N as NcColorPicker } from \"./chunks/NcColorPicker-BERjJHgc.mjs\";\nimport { N as NcContent } from \"./chunks/NcContent-yW5m-Mj5.mjs\";\nimport { N as NcCounterBubble } from \"./chunks/NcCounterBubble-oxV8oMlX.mjs\";\nimport { N as NcDashboardWidget } from \"./chunks/NcDashboardWidget-Bk6i__T-.mjs\";\nimport { N as NcDashboardWidgetItem } from \"./chunks/NcDashboardWidgetItem--NyYqf1-.mjs\";\nimport { N as NcDateTime } from \"./chunks/NcDateTime-enXYuwj8.mjs\";\nimport NcDateTimePicker from \"./Components/NcDateTimePicker.mjs\";\nimport NcDateTimePickerNative from \"./Components/NcDateTimePickerNative.mjs\";\nimport { N as NcDialog } from \"./chunks/NcDialog-8ipQ69_t.mjs\";\nimport { N as NcDialogButton } from \"./chunks/NcDialogButton-CSC8PAz-.mjs\";\nimport NcEllipsisedOption from \"./Components/NcEllipsisedOption.mjs\";\nimport { N as NcEmojiPicker } from \"./chunks/NcEmojiPicker-DlizXqla.mjs\";\nimport NcEmptyContent from \"./Components/NcEmptyContent.mjs\";\nimport { N as NcFormBox } from \"./chunks/NcFormBox-DL435pbV.mjs\";\nimport { N as NcFormBoxButton } from \"./chunks/NcFormBoxButton-DR_OMvmB.mjs\";\nimport { N as NcFormBoxCopyButton } from \"./chunks/NcFormBoxCopyButton-BQt4cqDo.mjs\";\nimport { N as NcFormBoxSwitch } from \"./chunks/NcFormBoxSwitch-BqbGsapa.mjs\";\nimport { N as NcFormGroup } from \"./chunks/NcFormGroup-BfsPo9aC.mjs\";\nimport NcGuestContent from \"./Components/NcGuestContent.mjs\";\nimport { N as NcHeaderButton } from \"./chunks/NcHeaderButton-Dvo1_Bwc.mjs\";\nimport { N as NcHeaderMenu } from \"./chunks/NcHeaderMenu-Cuh8ay0F.mjs\";\nimport { N as NcHighlight } from \"./chunks/index-CxTT94_h.mjs\";\nimport { N as NcHotkey } from \"./chunks/NcHotkey-DcpG5Pla.mjs\";\nimport { N as NcHotkeyList } from \"./chunks/NcHotkeyList-CV_FJXF8.mjs\";\nimport { N as NcIconSvgWrapper } from \"./chunks/NcIconSvgWrapper-Bui9PhAS.mjs\";\nimport { N as NcInputField } from \"./chunks/NcInputField-CZRuRX_c.mjs\";\nimport { N as NcListItem } from \"./chunks/NcListItem-DP0kl2g5.mjs\";\nimport { N as NcListItemIcon } from \"./chunks/NcListItemIcon-D41xabRp.mjs\";\nimport NcLoadingIcon from \"./Components/NcLoadingIcon.mjs\";\nimport NcModal from \"./Components/NcModal.mjs\";\nimport NcNoteCard from \"./Components/NcNoteCard.mjs\";\nimport { N as NcPasswordField } from \"./chunks/NcPasswordField-D2xXHnvI.mjs\";\nimport { N as NcPopover } from \"./chunks/NcPopover-gxcAqoEb.mjs\";\nimport { N as NcProgressBar } from \"./chunks/NcProgressBar-D7zYeXBH.mjs\";\nimport { N as NcRadioGroup } from \"./chunks/NcRadioGroup-D0rC63G8.mjs\";\nimport { N as NcRadioGroupButton } from \"./chunks/NcRadioGroupButton-3Pu4Iqdf.mjs\";\nimport { N as NcRelatedResourcesPanel } from \"./chunks/NcRelatedResourcesPanel-BbjG2Qvg.mjs\";\nimport { N as NcMentionBubble } from \"./chunks/index-TmAR7I2T.mjs\";\nimport { r } from \"./chunks/index-TmAR7I2T.mjs\";\nimport { N as NcAutoCompleteResult, a as NcRichContenteditable } from \"./chunks/NcRichContenteditable-S7ASR6NI.mjs\";\nimport \"@nextcloud/auth\";\nimport \"@nextcloud/axios\";\nimport \"@nextcloud/router\";\nimport \"@nextcloud/sharing/public\";\nimport \"@vueuse/core\";\nimport \"vue\";\nimport \"vue-router\";\nimport { a, g, b, c, s, d } from \"./chunks/referencePickerModal-eu8fU-gn.mjs\";\nimport { N, h, c as c2, i, e, r as r2, f, a as a2 } from \"./chunks/customPickerElements-DLFtgReB.mjs\";\nimport \"unist-builder\";\nimport \"unist-util-visit\";\nimport \"./chunks/logger-D3RVzcfQ.mjs\";\nimport { N as NcRichText } from \"./chunks/NcRichText-C7k_8zuH.mjs\";\nimport { N as NcSelect } from \"./chunks/NcSelect-CkB50N9T.mjs\";\nimport { N as NcTextField } from \"./chunks/NcTextField-CijJWC3h.mjs\";\nimport \"@nextcloud/event-bus\";\nimport { N as NcSavingIndicatorIcon } from \"./chunks/NcSavingIndicatorIcon-U7AIamCl.mjs\";\nimport { N as NcSelectTags } from \"./chunks/NcSelectTags-DrDrZUA6.mjs\";\nimport { N as NcSelectUsers } from \"./chunks/NcSelectUsers-HmMuAP19.mjs\";\nimport { N as NcSettingsInputText } from \"./chunks/NcSettingsInputText-wFKkjw2t.mjs\";\nimport { N as NcSettingsSection } from \"./chunks/NcSettingsSection-ZV3KIsxm.mjs\";\nimport { N as NcSettingsSelectGroup } from \"./chunks/NcSettingsSelectGroup-CXGxufce.mjs\";\nimport { N as NcTextArea } from \"./chunks/NcTextArea-CIgfjLRv.mjs\";\nimport { N as NcThemeProvider } from \"./chunks/NcThemeProvider-25ResoIv.mjs\";\nimport { N as NcTimezonePicker } from \"./chunks/NcTimezonePicker-DOSucwRx.mjs\";\nimport { N as NcUserBubble } from \"./chunks/NcUserBubble-CSGX6IdN.mjs\";\nimport { N as NcUserStatusIcon } from \"./chunks/NcUserStatusIcon-Dfd_lPCI.mjs\";\nimport NcVNodes from \"./Components/NcVNodes.mjs\";\nimport { useFormatDateTime, useFormatRelativeTime, useFormatTime } from \"./Composables/useFormatDateTime.mjs\";\nimport { useHotKey } from \"./Composables/useHotKey.mjs\";\nimport { useIsDarkTheme, useIsDarkThemeElement } from \"./Composables/useIsDarkTheme.mjs\";\nimport { isFullscreenState, useIsFullscreen } from \"./Composables/useIsFullscreen.mjs\";\nimport { MOBILE_BREAKPOINT, MOBILE_SMALL_BREAKPOINT, isMobileState, useIsMobile, useIsSmallMobile } from \"./Composables/useIsMobile.mjs\";\nimport { isA11yActivation } from \"./Functions/a11y.mjs\";\nimport { getEnabledContactsMenuActions, registerContactsMenuAction } from \"./Functions/contactsMenu.mjs\";\nimport { spawnDialog } from \"./Functions/dialog.mjs\";\nimport { E, a as a3, e as e2, g as g2, s as s2 } from \"./chunks/emoji-BY_D0V5K.mjs\";\nimport { checkIfDarkTheme, isDarkTheme } from \"./Functions/isDarkTheme.mjs\";\nimport { preloadImage } from \"./Functions/preloadImage.mjs\";\nimport { usernameToColor } from \"./Functions/usernameToColor.mjs\";\nimport directive from \"./Directives/Focus.mjs\";\nimport directive$1 from \"./Directives/Linkify.mjs\";\nimport \"./Directives/Tooltip.mjs\";\nimport { default as default2 } from \"./Mixins/clickOutsideOptions.mjs\";\nimport { default as default3 } from \"./Mixins/isFullscreen.mjs\";\nimport { default as default4 } from \"./Mixins/isMobile.mjs\";\nimport { VTooltip } from \"floating-vue\";\nimport { VTooltip as VTooltip2 } from \"floating-vue\";\nconst NcComponents = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n NcActionButton,\n NcActionButtonGroup,\n NcActionCaption,\n NcActionCheckbox,\n NcActionInput,\n NcActionLink,\n NcActionRadio,\n NcActionRouter,\n NcActionSeparator,\n NcActionText,\n NcActionTextEditable,\n NcActions,\n NcAppContent,\n NcAppContentDetails,\n NcAppContentList,\n NcAppNavigation,\n NcAppNavigationCaption,\n NcAppNavigationIconBullet,\n NcAppNavigationItem,\n NcAppNavigationList,\n NcAppNavigationNew,\n NcAppNavigationNewItem,\n NcAppNavigationSearch,\n NcAppNavigationSettings,\n NcAppNavigationSpacer,\n NcAppSettingsDialog,\n NcAppSettingsSection,\n NcAppSettingsSectionShortcuts: NcAppSettingsShortcutsSection,\n NcAppSettingsShortcutsSection,\n NcAppSidebar,\n NcAppSidebarHeader,\n NcAppSidebarTab,\n NcAssistantButton,\n NcAssistantContent,\n NcAssistantIcon,\n NcAutoCompleteResult,\n NcAvatar,\n NcBlurHash,\n NcBreadcrumb,\n NcBreadcrumbs,\n NcButton,\n NcCheckboxRadioSwitch,\n NcCollectionList,\n NcColorPicker,\n NcContent,\n NcCounterBubble,\n NcDashboardWidget,\n NcDashboardWidgetItem,\n NcDateTime,\n NcDateTimePicker,\n NcDateTimePickerNative,\n NcDialog,\n NcDialogButton,\n NcEllipsisedOption,\n NcEmojiPicker,\n NcEmptyContent,\n NcFormBox,\n NcFormBoxButton,\n NcFormBoxCopyButton,\n NcFormBoxSwitch,\n NcFormGroup,\n NcGuestContent,\n NcHeaderButton,\n NcHeaderMenu,\n NcHighlight,\n NcHotkey,\n NcHotkeyList,\n NcIconSvgWrapper,\n NcInputField,\n NcListItem,\n NcListItemIcon,\n NcLoadingIcon,\n NcMentionBubble,\n NcModal,\n NcNoteCard,\n NcPasswordField,\n NcPopover,\n NcProgressBar,\n NcRadioGroup,\n NcRadioGroupButton,\n NcRelatedResourcesPanel,\n NcRichContenteditable,\n NcRichText,\n NcSavingIndicatorIcon,\n NcSelect,\n NcSelectTags,\n NcSelectUsers,\n NcSettingsInputText,\n NcSettingsSection,\n NcSettingsSelectGroup,\n NcTextArea,\n NcTextField,\n NcThemeProvider,\n NcTimezonePicker,\n NcUserBubble,\n NcUserStatusIcon,\n NcVNodes\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst NcDirectives = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n Focus: directive,\n Linkify: directive$1,\n Tooltip: VTooltip\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst NextcloudVuePlugin = {\n install(Vue) {\n Object.entries(NcComponents).forEach(([name, component]) => {\n Vue.component(component.name || name, component);\n });\n Object.entries(NcDirectives).forEach(([name, directive2]) => {\n Vue.directive(name, directive2);\n });\n }\n};\nexport {\n E as EmojiSkinTone,\n directive as Focus,\n directive$1 as Linkify,\n MOBILE_BREAKPOINT,\n MOBILE_SMALL_BREAKPOINT,\n NcActionButton,\n NcActionButtonGroup,\n NcActionCaption,\n NcActionCheckbox,\n NcActionInput,\n NcActionLink,\n NcActionRadio,\n NcActionRouter,\n NcActionSeparator,\n NcActionText,\n NcActionTextEditable,\n NcActions,\n NcAppContent,\n NcAppContentDetails,\n NcAppContentList,\n NcAppNavigation,\n NcAppNavigationCaption,\n NcAppNavigationIconBullet,\n NcAppNavigationItem,\n NcAppNavigationList,\n NcAppNavigationNew,\n NcAppNavigationNewItem,\n NcAppNavigationSearch,\n NcAppNavigationSettings,\n NcAppNavigationSpacer,\n NcAppSettingsDialog,\n NcAppSettingsSection,\n NcAppSettingsShortcutsSection as NcAppSettingsSectionShortcuts,\n NcAppSettingsShortcutsSection,\n NcAppSidebar,\n NcAppSidebarHeader,\n NcAppSidebarTab,\n NcAssistantButton,\n NcAssistantContent,\n NcAssistantIcon,\n NcAutoCompleteResult,\n NcAvatar,\n NcBlurHash,\n NcBreadcrumb,\n NcBreadcrumbs,\n NcButton,\n NcCheckboxRadioSwitch,\n NcCollectionList,\n NcColorPicker,\n NcContent,\n NcCounterBubble,\n N as NcCustomPickerRenderResult,\n NcDashboardWidget,\n NcDashboardWidgetItem,\n NcDateTime,\n NcDateTimePicker,\n NcDateTimePickerNative,\n NcDialog,\n NcDialogButton,\n NcEllipsisedOption,\n NcEmojiPicker,\n NcEmptyContent,\n NcFormBox,\n NcFormBoxButton,\n NcFormBoxCopyButton,\n NcFormBoxSwitch,\n NcFormGroup,\n NcGuestContent,\n NcHeaderButton,\n NcHeaderMenu,\n NcHighlight,\n NcHotkey,\n NcHotkeyList,\n NcIconSvgWrapper,\n NcInputField,\n NcListItem,\n NcListItemIcon,\n NcLoadingIcon,\n NcMentionBubble,\n NcModal,\n NcNoteCard,\n NcPasswordField,\n NcPopover,\n NcProgressBar,\n NcRadioGroup,\n NcRadioGroupButton,\n NcRelatedResourcesPanel,\n NcRichContenteditable,\n NcRichText,\n NcSavingIndicatorIcon,\n NcSelect,\n NcSelectTags,\n NcSelectUsers,\n NcSettingsInputText,\n NcSettingsSection,\n NcSettingsSelectGroup,\n NcTextArea,\n NcTextField,\n NcThemeProvider,\n NcTimezonePicker,\n NcUserBubble,\n NcUserStatusIcon,\n NcVNodes,\n NextcloudVuePlugin,\n VTooltip2 as Tooltip,\n a as anyLinkProviderId,\n checkIfDarkTheme,\n default2 as clickOutsideOptions,\n a3 as emojiAddRecent,\n e2 as emojiSearch,\n g2 as getCurrentSkinTone,\n getEnabledContactsMenuActions,\n g as getLinkWithPicker,\n b as getProvider,\n c as getProviders,\n h as hasInteractiveView,\n isA11yActivation,\n c2 as isCustomPickerElementRegistered,\n isDarkTheme,\n default3 as isFullscreen,\n isFullscreenState,\n default4 as isMobile,\n isMobileState,\n i as isWidgetRegistered,\n preloadImage,\n registerContactsMenuAction,\n e as registerCustomPickerElement,\n r2 as registerWidget,\n f as renderCustomPickerElement,\n a2 as renderWidget,\n r as richEditor,\n s as searchProvider,\n s2 as setCurrentSkinTone,\n d as sortProviders,\n spawnDialog,\n useFormatDateTime,\n useFormatRelativeTime,\n useFormatTime,\n useHotKey,\n useIsDarkTheme,\n useIsDarkThemeElement,\n useIsFullscreen,\n useIsMobile,\n useIsSmallMobile,\n u as userStatus,\n usernameToColor\n};\n//# sourceMappingURL=index.mjs.map\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { formatFileSize } from '@nextcloud/files'\nimport { useFormatDateTime } from '@nextcloud/vue'\n\nexport default {\n\tprops: {\n\t\tuser: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\tsettings: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({}),\n\t\t},\n\t\tquotaOptions: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t\tlanguages: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\texternalActions: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t},\n\tsetup(props) {\n\t\tconst { formattedFullTime } = useFormatDateTime(props.user.firstLoginTimestamp * 1000, {\n\t\t\trelativeTime: false,\n\t\t\tformat: {\n\t\t\t\ttimeStyle: 'short',\n\t\t\t\tdateStyle: 'short',\n\t\t\t},\n\t\t})\n\t\treturn {\n\t\t\tformattedFullTime,\n\t\t}\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tselectedGroups: this.user.groups.map(id => ({ id, name: id })),\n\t\t\tselectedSubAdminGroups: this.user.subadmin.map(id => ({ id, name: id })),\n\t\t\tuserGroups: this.user.groups.map(id => ({ id, name: id })),\n\t\t\tuserSubAdminGroups: this.user.subadmin.map(id => ({ id, name: id })),\n\t\t}\n\t},\n\tcomputed: {\n\t\tshowConfig() {\n\t\t\treturn this.$store.getters.getShowConfig\n\t\t},\n\n\t\t/* QUOTA MANAGEMENT */\n\t\tusedSpace() {\n\t\t\tconst quotaUsed = this.user.quota.used > 0 ? this.user.quota.used : 0\n\t\t\treturn t('settings', '{size} used', { size: formatFileSize(quotaUsed, true) })\n\t\t},\n\n\t\tusedQuota() {\n\t\t\tlet quota = this.user.quota.quota\n\t\t\tif (quota > 0) {\n\t\t\t\tquota = Math.min(100, Math.round(this.user.quota.used / quota * 100))\n\t\t\t} else {\n\t\t\t\tconst usedInGB = this.user.quota.used / (10 * Math.pow(2, 30))\n\t\t\t\t// asymptotic curve approaching 50% at 10GB to visualize used stace with infinite quota\n\t\t\t\tquota = 95 * (1 - (1 / (usedInGB + 1)))\n\t\t\t}\n\t\t\treturn isNaN(quota) ? 0 : quota\n\t\t},\n\n\t\t// Mapping saved values to objects\n\t\tuserQuota() {\n\t\t\tif (this.user.quota.quota >= 0) {\n\t\t\t\t// if value is valid, let's map the quotaOptions or return custom quota\n\t\t\t\tconst humanQuota = formatFileSize(this.user.quota.quota)\n\t\t\t\tconst userQuota = this.quotaOptions.find(quota => quota.id === humanQuota)\n\t\t\t\treturn userQuota || { id: humanQuota, label: humanQuota }\n\t\t\t} else if (this.user.quota.quota === 'default') {\n\t\t\t\t// default quota is replaced by the proper value on load\n\t\t\t\treturn this.quotaOptions[0]\n\t\t\t}\n\t\t\treturn this.quotaOptions[1] // unlimited\n\t\t},\n\n\t\t/* PASSWORD POLICY? */\n\t\tminPasswordLength() {\n\t\t\treturn this.$store.getters.getPasswordPolicyMinLength\n\t\t},\n\n\t\t/* LANGUAGE */\n\t\tuserLanguage() {\n\t\t\tconst availableLanguages = this.languages[0].languages.concat(this.languages[1].languages)\n\t\t\tconst userLang = availableLanguages.find(lang => lang.code === this.user.language)\n\t\t\tif (typeof userLang !== 'object' && this.user.language !== '') {\n\t\t\t\treturn {\n\t\t\t\t\tcode: this.user.language,\n\t\t\t\t\tname: this.user.language,\n\t\t\t\t}\n\t\t\t} else if (this.user.language === '') {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn userLang\n\t\t},\n\n\t\tuserFirstLogin() {\n\t\t\tif (this.user.firstLoginTimestamp > 0) {\n\t\t\t\treturn this.formattedFullTime\n\t\t\t}\n\t\t\tif (this.user.firstLoginTimestamp < 0) {\n\t\t\t\treturn t('settings', 'Unknown')\n\t\t\t}\n\t\t\treturn t('settings', 'Never')\n\t\t},\n\n\t\t/* LAST LOGIN */\n\t\tuserLastLoginTooltip() {\n\t\t\tif (this.user.lastLoginTimestamp > 0) {\n\t\t\t\treturn OC.Util.formatDate(this.user.lastLoginTimestamp * 1000)\n\t\t\t}\n\t\t\treturn ''\n\t\t},\n\t\tuserLastLogin() {\n\t\t\tif (this.user.lastLoginTimestamp > 0) {\n\t\t\t\treturn OC.Util.relativeModifiedDate(this.user.lastLoginTimestamp * 1000)\n\t\t\t}\n\t\t\treturn t('settings', 'Never')\n\t\t},\n\t},\n}\n","\n\n\n\n\n\n\n","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\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport 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=549fcd14&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * 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=549fcd14&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserRow.vue?vue&type=template&id=549fcd14&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=549fcd14&prod&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 \"549fcd14\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n","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\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport 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!./UserList.vue?vue&type=style&index=0&id=73fd953a&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * 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!./UserList.vue?vue&type=style&index=0&id=73fd953a&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserList.vue?vue&type=template&id=73fd953a&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=73fd953a&prod&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 \"73fd953a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Fragment',[(_vm.showConfig.showNewUserForm)?_c('NewUserDialog',{attrs:{\"loading\":_vm.loading,\"new-user\":_vm.newUser,\"quota-options\":_vm.quotaOptions},on:{\"reset\":_vm.resetForm,\"closing\":_vm.closeDialog}}):_vm._e(),_vm._v(\" \"),(_vm.filteredUsers.length === 0)?_c('NcEmptyContent',{staticClass:\"empty\",attrs:{\"name\":_vm.isInitialLoad && _vm.loading.users ? null : _vm.t('settings', 'No accounts')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.isInitialLoad && _vm.loading.users)?_c('NcLoadingIcon',{attrs:{\"name\":_vm.t('settings', 'Loading accounts …'),\"size\":64}}):_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiAccountGroup,\"size\":64}})]},proxy:true}],null,false,226056511)}):_c('VirtualList',{style:(_vm.style),attrs:{\"data-component\":_vm.UserRow,\"data-sources\":_vm.filteredUsers,\"data-key\":\"id\",\"data-cy-user-list\":\"\",\"item-height\":_vm.rowHeight,\"extra-props\":{\n\t\t\tusers: _vm.users,\n\t\t\tsettings: _vm.settings,\n\t\t\thasObfuscated: _vm.hasObfuscated,\n\t\t\tquotaOptions: _vm.quotaOptions,\n\t\t\tlanguages: _vm.languages,\n\t\t\texternalActions: _vm.externalActions,\n\t\t}},on:{\"scroll-end\":_vm.handleScrollEnd},scopedSlots:_vm._u([{key:\"before\",fn:function(){return [_c('caption',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'List of accounts. This list is not fully rendered for performance reasons. The accounts will be rendered as you navigate through the list.'))+\"\\n\\t\\t\\t\")])]},proxy:true},{key:\"header\",fn:function(){return [_c('UserListHeader',{attrs:{\"has-obfuscated\":_vm.hasObfuscated}})]},proxy:true},{key:\"footer\",fn:function(){return [_c('UserListFooter',{attrs:{\"loading\":_vm.loading.users,\"filtered-users\":_vm.filteredUsers}})]},proxy:true}])})],1)\n}\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!./UserManagement.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!./UserManagement.vue?vue&type=script&lang=js\"","\n\n\n\n\n\n\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport 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!./UserManagement.vue?vue&type=style&index=0&id=4684ed00&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * 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!./UserManagement.vue?vue&type=style&index=0&id=4684ed00&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserManagement.vue?vue&type=template&id=4684ed00&scoped=true\"\nimport script from \"./UserManagement.vue?vue&type=script&lang=js\"\nexport * from \"./UserManagement.vue?vue&type=script&lang=js\"\nimport style0 from \"./UserManagement.vue?vue&type=style&index=0&id=4684ed00&prod&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 \"4684ed00\",\n null\n \n)\n\nexport default component.exports","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.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, `.footer[data-v-20636959]{position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background)}.footer__cell[data-v-20636959]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.footer__cell strong[data-v-20636959],.footer__cell span[data-v-20636959],.footer__cell label[data-v-20636959]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.footer__cell--avatar[data-v-20636959],.footer__cell--displayname[data-v-20636959]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.footer__cell--avatar[data-v-20636959]{inset-inline-start:0}.footer__cell--displayname[data-v-20636959]{inset-inline-start:var(--avatar-cell-width);border-inline-end:1px solid var(--color-border)}}.footer__cell--username[data-v-20636959]{padding-inline-start:calc(var(--default-grid-baseline)*3)}.footer__cell--avatar[data-v-20636959]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.footer__cell--multiline span[data-v-20636959]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.footer__cell--multiline span[data-v-20636959]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.footer__cell--large[data-v-20636959]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.footer__cell--obfuscated[data-v-20636959]{min-width:400px;width:400px}.footer__cell--fill[data-v-20636959]{min-width:var(--cell-width-large);width:100%}.footer__cell--actions[data-v-20636959]{position:sticky;inset-inline-end:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-inline-start:1px solid var(--color-border)}.footer__subtitle[data-v-20636959]{color:var(--color-text-maxcontrast)}.footer__cell[data-v-20636959]{position:sticky;color:var(--color-text-maxcontrast)}.footer__cell--loading[data-v-20636959]{inset-inline-start:0;min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0}.footer__cell--count[data-v-20636959]{inset-inline-start:var(--avatar-cell-width);min-width:var(--cell-width);width:var(--cell-width)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/UserListFooter.vue\",\"webpack://./apps/settings/src/components/Users/shared/styles.scss\"],\"names\":[],\"mappings\":\"AAGA,yBCGC,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CAIA,+BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,+GAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,mFAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,uCACC,oBAAA,CAGD,4CACC,2CAAA,CACA,+CAAA,CAAA,CAIF,yCACC,yDAAA,CAGD,uCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,+CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,+CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,sCACC,iCAAA,CACA,6BAAA,CAGD,2CACC,eAAA,CACA,WAAA,CAID,qCACC,iCAAA,CACA,UAAA,CAGD,wCACC,eAAA,CACA,kBAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,iDAAA,CAIF,mCACC,mCAAA,CDpGD,+BACC,eAAA,CACA,mCAAA,CAEA,wCACC,oBAAA,CACA,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CAGD,sCACC,2CAAA,CACA,2BAAA,CACA,uBAAA\",\"sourcesContent\":[\"\\n@use './shared/styles';\\n\\n.footer {\\n\\t@include styles.row;\\n\\t@include styles.cell;\\n\\n\\t&__cell {\\n\\t\\tposition: sticky;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\n\\t\\t&--loading {\\n\\t\\t\\tinset-inline-start: 0;\\n\\t\\t\\tmin-width: var(--avatar-cell-width);\\n\\t\\t\\twidth: var(--avatar-cell-width);\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\n\\t\\t&--count {\\n\\t\\t\\tinset-inline-start: var(--avatar-cell-width);\\n\\t\\t\\tmin-width: var(--cell-width);\\n\\t\\t\\twidth: var(--cell-width);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n\\n@mixin row {\\n\\tposition: relative;\\n\\tdisplay: flex;\\n\\tmin-width: 100%;\\n\\twidth: fit-content;\\n\\theight: var(--row-height);\\n\\tbackground-color: var(--color-main-background);\\n}\\n\\n@mixin cell {\\n\\t&__cell {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tpadding: 0 var(--cell-padding);\\n\\t\\tmin-width: var(--cell-width);\\n\\t\\twidth: var(--cell-width);\\n\\t\\tcolor: var(--color-main-text);\\n\\n\\t\\tstrong,\\n\\t\\tspan,\\n\\t\\tlabel {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\toverflow-wrap: anywhere;\\n\\t\\t}\\n\\n\\t\\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\\n\\t\\t\\t&--avatar,\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tposition: sticky;\\n\\t\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--avatar {\\n\\t\\t\\t\\tinset-inline-start: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tinset-inline-start: var(--avatar-cell-width);\\n\\t\\t\\t\\tborder-inline-end: 1px solid var(--color-border);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--username {\\n\\t\\t\\tpadding-inline-start: calc(var(--default-grid-baseline) * 3);\\n\\t\\t}\\n\\n\\t\\t&--avatar {\\n\\t\\t\\tmin-width: var(--avatar-cell-width);\\n\\t\\t\\twidth: var(--avatar-cell-width);\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tuser-select: none;\\n\\t\\t}\\n\\n\\t\\t&--multiline {\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tline-height: 1.3em;\\n\\t\\t\\t\\twhite-space: unset;\\n\\n\\t\\t\\t\\t@supports (-webkit-line-clamp: 2) {\\n\\t\\t\\t\\t\\tdisplay: -webkit-box;\\n\\t\\t\\t\\t\\t-webkit-line-clamp: 2;\\n\\t\\t\\t\\t\\t-webkit-box-orient: vertical;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--large {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: var(--cell-width-large);\\n\\t\\t}\\n\\n\\t\\t&--obfuscated {\\n\\t\\t\\tmin-width: 400px;\\n\\t\\t\\twidth: 400px;\\n\\t\\t}\\n\\n\\t\\t// Fill remaining row space with cell\\n\\t\\t&--fill {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t&--actions {\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\tinset-inline-end: 0;\\n\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: row;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tmin-width: 110px;\\n\\t\\t\\twidth: 110px;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tborder-inline-start: 1px solid var(--color-border);\\n\\t\\t}\\n\\t}\\n\\n\\t&__subtitle {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\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/sourceMaps.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, `.header[data-v-5c0f8828]{border-bottom:1px solid var(--color-border);position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background)}.header__cell[data-v-5c0f8828]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.header__cell strong[data-v-5c0f8828],.header__cell span[data-v-5c0f8828],.header__cell label[data-v-5c0f8828]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.header__cell--avatar[data-v-5c0f8828],.header__cell--displayname[data-v-5c0f8828]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.header__cell--avatar[data-v-5c0f8828]{inset-inline-start:0}.header__cell--displayname[data-v-5c0f8828]{inset-inline-start:var(--avatar-cell-width);border-inline-end:1px solid var(--color-border)}}.header__cell--username[data-v-5c0f8828]{padding-inline-start:calc(var(--default-grid-baseline)*3)}.header__cell--avatar[data-v-5c0f8828]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.header__cell--multiline span[data-v-5c0f8828]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.header__cell--multiline span[data-v-5c0f8828]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.header__cell--large[data-v-5c0f8828]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.header__cell--obfuscated[data-v-5c0f8828]{min-width:400px;width:400px}.header__cell--fill[data-v-5c0f8828]{min-width:var(--cell-width-large);width:100%}.header__cell--actions[data-v-5c0f8828]{position:sticky;inset-inline-end:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-inline-start:1px solid var(--color-border)}.header__subtitle[data-v-5c0f8828]{color:var(--color-text-maxcontrast)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/UserListHeader.vue\",\"webpack://./apps/settings/src/components/Users/shared/styles.scss\"],\"names\":[],\"mappings\":\"AAGA,yBACC,2CAAA,CCEA,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CAIA,+BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,+GAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,mFAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,uCACC,oBAAA,CAGD,4CACC,2CAAA,CACA,+CAAA,CAAA,CAIF,yCACC,yDAAA,CAGD,uCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,+CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,+CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,sCACC,iCAAA,CACA,6BAAA,CAGD,2CACC,eAAA,CACA,WAAA,CAID,qCACC,iCAAA,CACA,UAAA,CAGD,wCACC,eAAA,CACA,kBAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,iDAAA,CAIF,mCACC,mCAAA\",\"sourcesContent\":[\"\\n@use './shared/styles';\\n\\n.header {\\n\\tborder-bottom: 1px solid var(--color-border);\\n\\n\\t@include styles.row;\\n\\t@include styles.cell;\\n}\\n\",\"/**\\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n\\n@mixin row {\\n\\tposition: relative;\\n\\tdisplay: flex;\\n\\tmin-width: 100%;\\n\\twidth: fit-content;\\n\\theight: var(--row-height);\\n\\tbackground-color: var(--color-main-background);\\n}\\n\\n@mixin cell {\\n\\t&__cell {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tpadding: 0 var(--cell-padding);\\n\\t\\tmin-width: var(--cell-width);\\n\\t\\twidth: var(--cell-width);\\n\\t\\tcolor: var(--color-main-text);\\n\\n\\t\\tstrong,\\n\\t\\tspan,\\n\\t\\tlabel {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\toverflow-wrap: anywhere;\\n\\t\\t}\\n\\n\\t\\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\\n\\t\\t\\t&--avatar,\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tposition: sticky;\\n\\t\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--avatar {\\n\\t\\t\\t\\tinset-inline-start: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tinset-inline-start: var(--avatar-cell-width);\\n\\t\\t\\t\\tborder-inline-end: 1px solid var(--color-border);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--username {\\n\\t\\t\\tpadding-inline-start: calc(var(--default-grid-baseline) * 3);\\n\\t\\t}\\n\\n\\t\\t&--avatar {\\n\\t\\t\\tmin-width: var(--avatar-cell-width);\\n\\t\\t\\twidth: var(--avatar-cell-width);\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tuser-select: none;\\n\\t\\t}\\n\\n\\t\\t&--multiline {\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tline-height: 1.3em;\\n\\t\\t\\t\\twhite-space: unset;\\n\\n\\t\\t\\t\\t@supports (-webkit-line-clamp: 2) {\\n\\t\\t\\t\\t\\tdisplay: -webkit-box;\\n\\t\\t\\t\\t\\t-webkit-line-clamp: 2;\\n\\t\\t\\t\\t\\t-webkit-box-orient: vertical;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--large {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: var(--cell-width-large);\\n\\t\\t}\\n\\n\\t\\t&--obfuscated {\\n\\t\\t\\tmin-width: 400px;\\n\\t\\t\\twidth: 400px;\\n\\t\\t}\\n\\n\\t\\t// Fill remaining row space with cell\\n\\t\\t&--fill {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t&--actions {\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\tinset-inline-end: 0;\\n\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: row;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tmin-width: 110px;\\n\\t\\t\\twidth: 110px;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tborder-inline-start: 1px solid var(--color-border);\\n\\t\\t}\\n\\t}\\n\\n\\t&__subtitle {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\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/sourceMaps.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, `.user-list[data-v-21942da5]{--avatar-cell-width: 48px;--cell-padding: 7px;--cell-width: 200px;--cell-width-large: 300px;--cell-min-width: calc(var(--cell-width) - (2 * var(--cell-padding)));--sticky-column-z-index: calc(var(--vs-dropdown-z-index) + 1);display:block;overflow:auto;height:100%;will-change:scroll-position}.user-list__header[data-v-21942da5],.user-list__footer[data-v-21942da5]{position:sticky;display:block}.user-list__header[data-v-21942da5]{top:0;z-index:calc(var(--sticky-column-z-index) + 1)}.user-list__footer[data-v-21942da5]{inset-inline-start:0}.user-list__body[data-v-21942da5]{display:flex;flex-direction:column;width:100%}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/VirtualList.vue\"],\"names\":[],\"mappings\":\"AACA,4BACC,yBAAA,CACA,mBAAA,CACA,mBAAA,CACA,yBAAA,CACA,qEAAA,CACA,6DAAA,CAGA,aAAA,CACA,aAAA,CACA,WAAA,CACA,2BAAA,CAEA,wEAEC,eAAA,CAEA,aAAA,CAGD,oCACC,KAAA,CACA,8CAAA,CAGD,oCACC,oBAAA,CAGD,kCACC,YAAA,CACA,qBAAA,CACA,UAAA\",\"sourcesContent\":[\"\\n.user-list {\\n\\t--avatar-cell-width: 48px;\\n\\t--cell-padding: 7px;\\n\\t--cell-width: 200px;\\n\\t--cell-width-large: 300px;\\n\\t--cell-min-width: calc(var(--cell-width) - (2 * var(--cell-padding)));\\n\\t--sticky-column-z-index: calc(var(--vs-dropdown-z-index) + 1); // Keep the sticky column on top of the select dropdown\\n\\n\\t// Necessary for virtual scroll optimized rendering\\n\\tdisplay: block;\\n\\toverflow: auto;\\n\\theight: 100%;\\n\\twill-change: scroll-position;\\n\\n\\t&__header,\\n\\t&__footer {\\n\\t\\tposition: sticky;\\n\\t\\t// Fix sticky positioning in Firefox\\n\\t\\tdisplay: block;\\n\\t}\\n\\n\\t&__header {\\n\\t\\ttop: 0;\\n\\t\\tz-index: calc(var(--sticky-column-z-index) + 1);\\n\\t}\\n\\n\\t&__footer {\\n\\t\\tinset-inline-start: 0;\\n\\t}\\n\\n\\t&__body {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\twidth: 100%;\\n\\t}\\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/sourceMaps.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, `.modal__header[data-v-0540d351]{margin:0}.modal__content[data-v-0540d351]{display:flex;flex-direction:column;align-items:center;padding:20px;gap:4px 0}.modal__button-row[data-v-0540d351]{display:flex;width:100%;justify-content:space-between}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/GroupListItem.vue\"],\"names\":[],\"mappings\":\"AAEC,gCACC,QAAA,CAGD,iCACC,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,YAAA,CACA,SAAA,CAGD,oCACC,YAAA,CACA,UAAA,CACA,6BAAA\",\"sourcesContent\":[\"\\n.modal {\\n\\t&__header {\\n\\t\\tmargin: 0;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\talign-items: center;\\n\\t\\tpadding: 20px;\\n\\t\\tgap: 4px 0;\\n\\t}\\n\\n\\t&__button-row {\\n\\t\\tdisplay: flex;\\n\\t\\twidth: 100%;\\n\\t\\tjustify-content: space-between;\\n\\t}\\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/sourceMaps.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, `.dialog__form[data-v-0cf68bf0]{display:flex;flex-direction:column;align-items:center;padding:0 8px;gap:4px 0}.dialog__item[data-v-0cf68bf0]{width:100%}.dialog__item[data-v-0cf68bf0]:not(:focus):not(:active){border-color:var(--color-border-dark)}.dialog__hint[data-v-0cf68bf0]{color:var(--color-text-maxcontrast);margin-top:8px;align-self:flex-start}.dialog__label[data-v-0cf68bf0]{display:block;padding:4px 0}.dialog__select[data-v-0cf68bf0]{width:100%}.dialog__managers[data-v-0cf68bf0]{margin-bottom:12px}.dialog__submit[data-v-0cf68bf0]{margin-top:4px;margin-bottom:8px}.dialog[data-v-0cf68bf0] .dialog__actions{margin:auto}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/NewUserDialog.vue\"],\"names\":[],\"mappings\":\"AAEC,+BACC,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,aAAA,CACA,SAAA,CAGD,+BACC,UAAA,CAEA,wDACC,qCAAA,CAIF,+BACC,mCAAA,CACA,cAAA,CACA,qBAAA,CAGD,gCACC,aAAA,CACA,aAAA,CAGD,iCACC,UAAA,CAGD,mCACC,kBAAA,CAGD,iCACC,cAAA,CACA,iBAAA,CAIA,0CACC,WAAA\",\"sourcesContent\":[\"\\n.dialog {\\n\\t&__form {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\talign-items: center;\\n\\t\\tpadding: 0 8px;\\n\\t\\tgap: 4px 0;\\n\\t}\\n\\n\\t&__item {\\n\\t\\twidth: 100%;\\n\\n\\t\\t&:not(:focus):not(:active) {\\n\\t\\t\\tborder-color: var(--color-border-dark);\\n\\t\\t}\\n\\t}\\n\\n\\t&__hint {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tmargin-top: 8px;\\n\\t\\talign-self: flex-start;\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: block;\\n\\t\\tpadding: 4px 0;\\n\\t}\\n\\n\\t&__select {\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t&__managers {\\n\\t\\tmargin-bottom: 12px;\\n\\t}\\n\\n\\t&__submit {\\n\\t\\tmargin-top: 4px;\\n\\t\\tmargin-bottom: 8px;\\n\\t}\\n\\n\\t:deep {\\n\\t\\t.dialog__actions {\\n\\t\\t\\tmargin: auto;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","/**\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport axios from '@nextcloud/axios';\nimport { generateOcsUrl } from '@nextcloud/router';\nimport { CancelablePromise } from 'cancelable-promise';\nconst formatGroup = (group) => ({\n id: group.id,\n name: group.displayname,\n usercount: group.usercount,\n disabled: group.disabled,\n canAdd: group.canAdd,\n canRemove: group.canRemove,\n});\n/**\n * Search groups\n *\n * @param {object} options Options\n * @param {string} options.search Search query\n * @param {number} options.offset Offset\n * @param {number} options.limit Limit\n */\nexport const searchGroups = ({ search, offset, limit }) => {\n const controller = new AbortController();\n return new CancelablePromise(async (resolve, reject, onCancel) => {\n onCancel(() => controller.abort());\n try {\n const { data } = await axios.get(generateOcsUrl('/cloud/groups/details?search={search}&offset={offset}&limit={limit}', { search, offset, limit }), {\n signal: controller.signal,\n });\n const groups = data.ocs?.data?.groups ?? [];\n const formattedGroups = groups.map(formatGroup);\n resolve(formattedGroups);\n }\n catch (error) {\n reject(error);\n }\n });\n};\n/**\n * Load user groups\n *\n * @param {object} options Options\n * @param {string} options.userId User id\n */\nexport const loadUserGroups = async ({ userId }) => {\n const url = generateOcsUrl('/cloud/users/{userId}/groups/details', { userId });\n const { data } = await axios.get(url);\n const groups = data.ocs?.data?.groups ?? [];\n const formattedGroups = groups.map(formatGroup);\n return formattedGroups;\n};\n/**\n * Load user subadmin groups\n *\n * @param {object} options Options\n * @param {string} options.userId User id\n */\nexport const loadUserSubAdminGroups = async ({ userId }) => {\n const url = generateOcsUrl('/cloud/users/{userId}/subadmins/details', { userId });\n const { data } = await axios.get(url);\n const groups = data.ocs?.data?.groups ?? [];\n const formattedGroups = groups.map(formatGroup);\n return formattedGroups;\n};\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.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, `.account-management__navigation[data-v-539a4ad0] .app-navigation__body{will-change:scroll-position}.account-management__system-list[data-v-539a4ad0]{height:auto !important;overflow:visible !important}.account-management__group-list[data-v-539a4ad0]{height:100% !important}.account-management__settings-toggle[data-v-539a4ad0]{margin-bottom:12px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/views/UserManagementNavigation.vue\"],\"names\":[],\"mappings\":\"AAGE,uEACC,2BAAA,CAGF,kDACC,sBAAA,CACA,2BAAA,CAGD,iDACC,sBAAA,CAGD,sDACC,kBAAA\",\"sourcesContent\":[\"\\n.account-management {\\n\\t&__navigation {\\n\\t\\t:deep(.app-navigation__body) {\\n\\t\\t\\twill-change: scroll-position;\\n\\t\\t}\\n\\t}\\n\\t&__system-list {\\n\\t\\theight: auto !important;\\n\\t\\toverflow: visible !important;\\n\\t}\\n\\n\\t&__group-list {\\n\\t\\theight: 100% !important;\\n\\t}\\n\\n\\t&__settings-toggle {\\n\\t\\tmargin-bottom: 12px;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.NcAppNavigation,{staticClass:\"account-management__navigation\",attrs:{\"aria-label\":_setup.t('settings', 'Account management')},scopedSlots:_vm._u([{key:\"footer\",fn:function(){return [_c(_setup.NcButton,{staticClass:\"account-management__settings-toggle\",attrs:{\"type\":\"tertiary\"},on:{\"click\":function($event){_setup.isDialogOpen = true}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiCog}})]},proxy:true}])},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_setup.t('settings', 'Account management settings'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c(_setup.UserSettingsDialog,{attrs:{\"open\":_setup.isDialogOpen},on:{\"update:open\":function($event){_setup.isDialogOpen=$event}}})]},proxy:true}])},[_c(_setup.NcAppNavigationNew,{attrs:{\"button-id\":\"new-user-button\",\"text\":_setup.t('settings','New account')},on:{\"click\":_setup.showNewUserMenu,\"keyup\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _setup.showNewUserMenu.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"]))return null;return _setup.showNewUserMenu.apply(null, arguments)}]},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiPlus}})]},proxy:true}])}),_vm._v(\" \"),_c(_setup.NcAppNavigationList,{staticClass:\"account-management__system-list\",attrs:{\"data-cy-users-settings-navigation-groups\":\"system\"}},[_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"everyone\",\"exact\":true,\"name\":_setup.t('settings', 'All accounts'),\"to\":{ name: 'users' }},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiAccount}})]},proxy:true},{key:\"counter\",fn:function(){return [(_setup.userCount)?_c(_setup.NcCounterBubble,{attrs:{\"type\":!_setup.selectedGroupDecoded ? 'highlighted' : undefined}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_setup.userCount)+\"\\n\\t\\t\\t\\t\")]):_vm._e()]},proxy:true}])}),_vm._v(\" \"),(_setup.settings.isAdmin)?_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"admin\",\"exact\":true,\"name\":_setup.t('settings', 'Admins'),\"to\":{ name: 'group', params: { selectedGroup: 'admin' } }},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiShieldAccount}})]},proxy:true},{key:\"counter\",fn:function(){return [(_setup.adminGroup && _setup.adminGroup.count > 0)?_c(_setup.NcCounterBubble,{attrs:{\"type\":_setup.selectedGroupDecoded === 'admin' ? 'highlighted' : undefined}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_setup.adminGroup.count)+\"\\n\\t\\t\\t\\t\")]):_vm._e()]},proxy:true}],null,false,2218088905)}):_vm._e(),_vm._v(\" \"),(_setup.isAdminOrDelegatedAdmin)?_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"recent\",\"exact\":true,\"name\":_setup.t('settings', 'Recently active'),\"to\":{ name: 'group', params: { selectedGroup: '__nc_internal_recent' } }},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiHistory}})]},proxy:true},{key:\"counter\",fn:function(){return [(_setup.recentGroup?.usercount)?_c(_setup.NcCounterBubble,{attrs:{\"type\":_setup.selectedGroupDecoded === '__nc_internal_recent' ? 'highlighted' : undefined}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_setup.recentGroup.usercount)+\"\\n\\t\\t\\t\\t\")]):_vm._e()]},proxy:true}],null,false,2299424282)}):_vm._e(),_vm._v(\" \"),(_setup.disabledGroup && (_setup.disabledGroup.usercount > 0 || _setup.disabledGroup.usercount === -1))?_c(_setup.NcAppNavigationItem,{attrs:{\"id\":\"disabled\",\"exact\":true,\"name\":_setup.t('settings', 'Disabled accounts'),\"to\":{ name: 'group', params: { selectedGroup: 'disabled' } }},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiAccountOff}})]},proxy:true},(_setup.disabledGroup.usercount > 0)?{key:\"counter\",fn:function(){return [_c(_setup.NcCounterBubble,{attrs:{\"type\":_setup.selectedGroupDecoded === 'disabled' ? 'highlighted' : undefined}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_setup.disabledGroup.usercount)+\"\\n\\t\\t\\t\\t\")])]},proxy:true}:null],null,true)}):_vm._e()],1),_vm._v(\" \"),_c(_setup.AppNavigationGroupList)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserSettingsDialog.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!./UserSettingsDialog.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport 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!./UserSettingsDialog.vue?vue&type=style&index=0&id=29922c80&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * 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!./UserSettingsDialog.vue?vue&type=style&index=0&id=29922c80&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserSettingsDialog.vue?vue&type=template&id=29922c80&scoped=true\"\nimport script from \"./UserSettingsDialog.vue?vue&type=script&lang=js\"\nexport * from \"./UserSettingsDialog.vue?vue&type=script&lang=js\"\nimport style0 from \"./UserSettingsDialog.vue?vue&type=style&index=0&id=29922c80&prod&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 \"29922c80\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcAppSettingsDialog',{attrs:{\"open\":_vm.isModalOpen,\"show-navigation\":true,\"name\":_vm.t('settings', 'Account management settings')},on:{\"update:open\":function($event){_vm.isModalOpen=$event}}},[_c('NcAppSettingsSection',{attrs:{\"id\":\"visibility-settings\",\"name\":_vm.t('settings', 'Visibility')}},[_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showLanguages\",\"checked\":_vm.showLanguages},on:{\"update:checked\":function($event){_vm.showLanguages=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show language'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showUserBackend\",\"checked\":_vm.showUserBackend},on:{\"update:checked\":function($event){_vm.showUserBackend=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show account backend'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showStoragePath\",\"checked\":_vm.showStoragePath},on:{\"update:checked\":function($event){_vm.showStoragePath=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show storage path'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showFirstLogin\",\"checked\":_vm.showFirstLogin},on:{\"update:checked\":function($event){_vm.showFirstLogin=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show first login'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"showLastLogin\",\"checked\":_vm.showLastLogin},on:{\"update:checked\":function($event){_vm.showLastLogin=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show last login'))+\"\\n\\t\\t\")])],1),_vm._v(\" \"),_c('NcAppSettingsSection',{attrs:{\"id\":\"groups-sorting\",\"name\":_vm.t('settings', 'Sorting')}},[(_vm.isGroupSortingEnforced)?_c('NcNoteCard',{attrs:{\"type\":\"warning\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'The system config enforces sorting the groups by name. This also disables showing the member count.'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('fieldset',[_c('legend',[_vm._v(_vm._s(_vm.t('settings', 'Group list sorting')))]),_vm._v(\" \"),_c('NcNoteCard',{staticClass:\"dialog__note\",attrs:{\"type\":\"info\",\"text\":_vm.t('settings', 'Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list.')}}),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"radio\",\"checked\":_vm.groupSorting,\"data-test\":\"sortGroupsByMemberCount\",\"disabled\":_vm.isGroupSortingEnforced,\"name\":\"group-sorting-mode\",\"value\":\"member-count\"},on:{\"update:checked\":function($event){_vm.groupSorting=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'By member count'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"radio\",\"checked\":_vm.groupSorting,\"data-test\":\"sortGroupsByName\",\"disabled\":_vm.isGroupSortingEnforced,\"name\":\"group-sorting-mode\",\"value\":\"name\"},on:{\"update:checked\":function($event){_vm.groupSorting=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'By name'))+\"\\n\\t\\t\\t\")])],1)],1),_vm._v(\" \"),_c('NcAppSettingsSection',{attrs:{\"id\":\"email-settings\",\"name\":_vm.t('settings', 'Send email')}},[_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"data-test\":\"sendWelcomeMail\",\"checked\":_vm.sendWelcomeMail,\"disabled\":_vm.loadingSendMail},on:{\"update:checked\":function($event){_vm.sendWelcomeMail=$event}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Send welcome email to new accounts'))+\"\\n\\t\\t\")])],1),_vm._v(\" \"),_c('NcAppSettingsSection',{attrs:{\"id\":\"default-settings\",\"name\":_vm.t('settings', 'Defaults')}},[_c('NcSelect',{attrs:{\"clearable\":false,\"create-option\":_vm.validateQuota,\"filter-by\":_vm.filterQuotas,\"input-label\":_vm.t('settings', 'Default quota'),\"options\":_vm.quotaOptions,\"placement\":\"top\",\"placeholder\":_vm.t('settings', 'Select default quota'),\"taggable\":\"\"},on:{\"option:selected\":_vm.setDefaultQuota},model:{value:(_vm.defaultQuota),callback:function ($$v) {_vm.defaultQuota=$$v},expression:\"defaultQuota\"}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.Fragment,[_c(_setup.NcAppNavigationCaption,{attrs:{\"name\":_setup.t('settings', 'Groups'),\"disabled\":_setup.loadingAddGroup,\"aria-label\":_setup.loadingAddGroup ? _setup.t('settings', 'Creating group…') : _setup.t('settings', 'Create group'),\"force-menu\":\"\",\"is-heading\":\"\",\"open\":_setup.isAddGroupOpen},on:{\"update:open\":function($event){_setup.isAddGroupOpen=$event}},scopedSlots:_vm._u([(_setup.isAdminOrDelegatedAdmin)?{key:\"actionsTriggerIcon\",fn:function(){return [(_setup.loadingAddGroup)?_c(_setup.NcLoadingIcon):_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiPlus}})]},proxy:true}:null,(_setup.isAdminOrDelegatedAdmin)?{key:\"actions\",fn:function(){return [_c(_setup.NcActionText,{scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcIconSvgWrapper,{attrs:{\"path\":_setup.mdiAccountGroup}})]},proxy:true}],null,false,3607647275)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_setup.t('settings', 'Create group'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c(_setup.NcActionInput,{attrs:{\"label\":_setup.t('settings', 'Group name'),\"data-cy-users-settings-new-group-name\":\"\",\"label-outside\":false,\"disabled\":_setup.loadingAddGroup,\"value\":_setup.newGroupName,\"error\":_setup.hasAddGroupError,\"helper-text\":_setup.hasAddGroupError ? _setup.t('settings', 'Please enter a valid group name') : ''},on:{\"update:value\":function($event){_setup.newGroupName=$event},\"submit\":_setup.createGroup}})]},proxy:true}:null],null,true)}),_vm._v(\" \"),_c(_setup.NcAppNavigationSearch,{attrs:{\"label\":_setup.t('settings', 'Search groups…')},model:{value:(_setup.groupsSearchQuery),callback:function ($$v) {_setup.groupsSearchQuery=$$v},expression:\"groupsSearchQuery\"}}),_vm._v(\" \"),_c('p',{staticClass:\"hidden-visually\",attrs:{\"id\":\"group-list-desc\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_setup.t('settings', 'List of groups. This list is not fully populated for performance reasons. The groups will be loaded as you navigate or search through the list.'))+\"\\n\\t\")]),_vm._v(\" \"),_c(_setup.NcAppNavigationList,{staticClass:\"account-management__group-list\",attrs:{\"aria-describedby\":\"group-list-desc\",\"data-cy-users-settings-navigation-groups\":\"custom\"}},[_vm._l((_setup.filteredGroups),function(group){return _c(_setup.GroupListItem,{key:group.id,ref:\"groupListItems\",refInFor:true,attrs:{\"id\":group.id,\"active\":_setup.selectedGroupDecoded === group.id,\"name\":group.title,\"count\":group.count}})}),_vm._v(\" \"),(_setup.loadingGroups)?_c('div',{attrs:{\"role\":\"note\"}},[_c(_setup.NcLoadingIcon,{attrs:{\"name\":_setup.t('settings', 'Loading groups…')}})],1):_vm._e()],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupListItem.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!./GroupListItem.vue?vue&type=script&lang=js\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport 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!./GroupListItem.vue?vue&type=style&index=0&id=0540d351&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * 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!./GroupListItem.vue?vue&type=style&index=0&id=0540d351&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./GroupListItem.vue?vue&type=template&id=0540d351&scoped=true\"\nimport script from \"./GroupListItem.vue?vue&type=script&lang=js\"\nexport * from \"./GroupListItem.vue?vue&type=script&lang=js\"\nimport style0 from \"./GroupListItem.vue?vue&type=style&index=0&id=0540d351&prod&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 \"0540d351\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Fragment',[(_vm.showRemoveGroupModal)?_c('NcModal',{on:{\"close\":function($event){_vm.showRemoveGroupModal = false}}},[_c('div',{staticClass:\"modal__content\"},[_c('h2',{staticClass:\"modal__header\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Please confirm the group removal'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcNoteCard',{attrs:{\"type\":\"warning\",\"show-alert\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'You are about to delete the group \"{group}\". The accounts will NOT be deleted.', { group: _vm.name }))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('div',{staticClass:\"modal__button-row\"},[_c('NcButton',{attrs:{\"type\":\"secondary\"},on:{\"click\":function($event){_vm.showRemoveGroupModal = false}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Cancel'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcButton',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.removeGroup}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Confirm'))+\"\\n\\t\\t\\t\\t\")])],1)],1)]):_vm._e(),_vm._v(\" \"),_c('NcAppNavigationItem',{key:_vm.id,ref:\"listItem\",attrs:{\"exact\":true,\"name\":_vm.name,\"to\":{ name: 'group', params: { selectedGroup: encodeURIComponent(_vm.id) } },\"loading\":_vm.loadingRenameGroup,\"menu-open\":_vm.openGroupMenu},on:{\"update:menuOpen\":_vm.handleGroupMenuOpen},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('AccountGroup',{attrs:{\"size\":20}})]},proxy:true},{key:\"counter\",fn:function(){return [(_vm.count)?_c('NcCounterBubble',{attrs:{\"type\":_vm.active ? 'highlighted' : undefined}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.count)+\"\\n\\t\\t\\t\")]):_vm._e()]},proxy:true},{key:\"actions\",fn:function(){return [(_vm.id !== 'admin' && _vm.id !== 'disabled' && (_vm.settings.isAdmin || _vm.settings.isDelegatedAdmin))?_c('NcActionInput',{ref:\"displayNameInput\",attrs:{\"trailing-button-label\":_vm.t('settings', 'Submit'),\"type\":\"text\",\"value\":_vm.name,\"label\":_vm.t('settings', 'Rename group')},on:{\"submit\":function($event){return _vm.renameGroup(_vm.id)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Pencil',{attrs:{\"size\":20}})]},proxy:true}],null,false,580569589)}):_vm._e(),_vm._v(\" \"),(_vm.id !== 'admin' && _vm.id !== 'disabled' && (_vm.settings.isAdmin || _vm.settings.isDelegatedAdmin))?_c('NcActionButton',{on:{\"click\":function($event){_vm.showRemoveGroupModal = true}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Delete',{attrs:{\"size\":20}})]},proxy:true}],null,false,2705356561)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Delete group'))+\"\\n\\t\\t\\t\")]):_vm._e()]},proxy:true}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { computed } from 'vue';\n/**\n * Format a group to a menu entry\n *\n * @param group the group\n */\nfunction formatGroupMenu(group) {\n if (typeof group === 'undefined') {\n return null;\n }\n return {\n id: group.id,\n title: group.name,\n usercount: group.usercount ?? 0,\n count: Math.max(0, (group.usercount ?? 0) - (group.disabled ?? 0)),\n };\n}\nexport const useFormatGroups = (groups) => {\n /**\n * All non-disabled non-admin groups\n */\n const userGroups = computed(() => {\n const formatted = groups.value\n // filter out disabled and admin\n .filter(group => group.id !== 'disabled' && group.id !== '__nc_internal_recent' && group.id !== 'admin')\n // format group\n .map(group => formatGroupMenu(group))\n // remove invalid\n .filter(group => group !== null);\n return formatted;\n });\n /**\n * The admin group if found otherwise null\n */\n const adminGroup = computed(() => formatGroupMenu(groups.value.find(group => group.id === 'admin')));\n /**\n * The group of disabled users\n */\n const disabledGroup = computed(() => formatGroupMenu(groups.value.find(group => group.id === 'disabled')));\n /**\n * The group of recent users\n */\n const recentGroup = computed(() => formatGroupMenu(groups.value.find(group => group.id === '__nc_internal_recent')));\n return { adminGroup, recentGroup, disabledGroup, userGroups };\n};\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppNavigationGroupList.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppNavigationGroupList.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./AppNavigationGroupList.vue?vue&type=template&id=49ad50e4\"\nimport script from \"./AppNavigationGroupList.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppNavigationGroupList.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserManagementNavigation.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserManagementNavigation.vue?vue&type=script&setup=true&lang=ts\"","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport 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!./UserManagementNavigation.vue?vue&type=style&index=0&id=539a4ad0&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * 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!./UserManagementNavigation.vue?vue&type=style&index=0&id=539a4ad0&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UserManagementNavigation.vue?vue&type=template&id=539a4ad0&scoped=true\"\nimport script from \"./UserManagementNavigation.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserManagementNavigation.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./UserManagementNavigation.vue?vue&type=style&index=0&id=539a4ad0&prod&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 \"539a4ad0\",\n null\n \n)\n\nexport default component.exports","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.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, `.user-list__row[data-v-549fcd14]{position:relative;display:flex;min-width:100%;width:fit-content;height:var(--row-height);background-color:var(--color-main-background)}.user-list__row[data-v-549fcd14]:hover{background-color:var(--color-background-hover)}.user-list__row:hover .row__cell[data-v-549fcd14]:not(.row__cell--actions){background-color:var(--color-background-hover)}.user-list__row .select--fill[data-v-549fcd14]{max-width:calc(var(--cell-width-large) - 2*var(--cell-padding))}.row__cell[data-v-549fcd14]{display:flex;flex-direction:column;justify-content:center;padding:0 var(--cell-padding);min-width:var(--cell-width);width:var(--cell-width);color:var(--color-main-text)}.row__cell strong[data-v-549fcd14],.row__cell span[data-v-549fcd14],.row__cell label[data-v-549fcd14]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:anywhere}@media(min-width: 670px){.row__cell--avatar[data-v-549fcd14],.row__cell--displayname[data-v-549fcd14]{position:sticky;z-index:var(--sticky-column-z-index);background-color:var(--color-main-background)}.row__cell--avatar[data-v-549fcd14]{inset-inline-start:0}.row__cell--displayname[data-v-549fcd14]{inset-inline-start:var(--avatar-cell-width);border-inline-end:1px solid var(--color-border)}}.row__cell--username[data-v-549fcd14]{padding-inline-start:calc(var(--default-grid-baseline)*3)}.row__cell--avatar[data-v-549fcd14]{min-width:var(--avatar-cell-width);width:var(--avatar-cell-width);align-items:center;padding:0;user-select:none}.row__cell--multiline span[data-v-549fcd14]{line-height:1.3em;white-space:unset}@supports(-webkit-line-clamp: 2){.row__cell--multiline span[data-v-549fcd14]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.row__cell--large[data-v-549fcd14]{min-width:var(--cell-width-large);width:var(--cell-width-large)}.row__cell--obfuscated[data-v-549fcd14]{min-width:400px;width:400px}.row__cell--fill[data-v-549fcd14]{min-width:var(--cell-width-large);width:100%}.row__cell--actions[data-v-549fcd14]{position:sticky;inset-inline-end:0;z-index:var(--sticky-column-z-index);display:flex;flex-direction:row;align-items:center;min-width:110px;width:110px;background-color:var(--color-main-background);border-inline-start:1px solid var(--color-border)}.row__subtitle[data-v-549fcd14]{color:var(--color-text-maxcontrast)}.row__cell[data-v-549fcd14]{border-bottom:1px solid var(--color-border)}.row__cell[data-v-549fcd14] .v-select.select{min-width:var(--cell-min-width)}.row__progress[data-v-549fcd14]{margin-top:4px}.row__progress--warn[data-v-549fcd14]::-moz-progress-bar{background:var(--color-warning) !important}.row__progress--warn[data-v-549fcd14]::-webkit-progress-value{background:var(--color-warning) !important}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/Users/UserRow.vue\",\"webpack://./apps/settings/src/components/Users/shared/styles.scss\"],\"names\":[],\"mappings\":\"AAGA,iCCGC,iBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,wBAAA,CACA,6CAAA,CDLA,uCACC,8CAAA,CAEA,2EACC,8CAAA,CAKF,+CACC,+DAAA,CCDD,4BACC,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,6BAAA,CACA,2BAAA,CACA,uBAAA,CACA,4BAAA,CAEA,sGAGC,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,sBAAA,CAGD,yBACC,6EAEC,eAAA,CACA,oCAAA,CACA,6CAAA,CAGD,oCACC,oBAAA,CAGD,yCACC,2CAAA,CACA,+CAAA,CAAA,CAIF,sCACC,yDAAA,CAGD,oCACC,kCAAA,CACA,8BAAA,CACA,kBAAA,CACA,SAAA,CACA,gBAAA,CAIA,4CACC,iBAAA,CACA,iBAAA,CAEA,iCAJD,4CAKE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,mCACC,iCAAA,CACA,6BAAA,CAGD,wCACC,eAAA,CACA,WAAA,CAID,kCACC,iCAAA,CACA,UAAA,CAGD,qCACC,eAAA,CACA,kBAAA,CACA,oCAAA,CACA,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA,CACA,WAAA,CACA,6CAAA,CACA,iDAAA,CAIF,gCACC,mCAAA,CDpFD,4BACC,2CAAA,CAGC,6CACC,+BAAA,CAKH,gCACC,cAAA,CAGC,yDACC,0CAAA,CAED,8DACC,0CAAA\",\"sourcesContent\":[\"\\n@use './shared/styles';\\n\\n.user-list__row {\\n\\t@include styles.row;\\n\\n\\t&:hover {\\n\\t\\tbackground-color: var(--color-background-hover);\\n\\n\\t\\t.row__cell:not(.row__cell--actions) {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n\\n\\t// Limit width of select in fill cell\\n\\t.select--fill {\\n\\t\\tmax-width: calc(var(--cell-width-large) - (2 * var(--cell-padding)));\\n\\t}\\n}\\n\\n.row {\\n\\t@include styles.cell;\\n\\n\\t&__cell {\\n\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\n\\t\\t:deep {\\n\\t\\t\\t.v-select.select {\\n\\t\\t\\t\\tmin-width: var(--cell-min-width);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__progress {\\n\\t\\tmargin-top: 4px;\\n\\n\\t\\t&--warn {\\n\\t\\t\\t&::-moz-progress-bar {\\n\\t\\t\\t\\tbackground: var(--color-warning) !important;\\n\\t\\t\\t}\\n\\t\\t\\t&::-webkit-progress-value {\\n\\t\\t\\t\\tbackground: var(--color-warning) !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n\\n@mixin row {\\n\\tposition: relative;\\n\\tdisplay: flex;\\n\\tmin-width: 100%;\\n\\twidth: fit-content;\\n\\theight: var(--row-height);\\n\\tbackground-color: var(--color-main-background);\\n}\\n\\n@mixin cell {\\n\\t&__cell {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tpadding: 0 var(--cell-padding);\\n\\t\\tmin-width: var(--cell-width);\\n\\t\\twidth: var(--cell-width);\\n\\t\\tcolor: var(--color-main-text);\\n\\n\\t\\tstrong,\\n\\t\\tspan,\\n\\t\\tlabel {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\toverflow-wrap: anywhere;\\n\\t\\t}\\n\\n\\t\\t@media (min-width: 670px) { /* Show one &--large column between stickied columns */\\n\\t\\t\\t&--avatar,\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tposition: sticky;\\n\\t\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--avatar {\\n\\t\\t\\t\\tinset-inline-start: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--displayname {\\n\\t\\t\\t\\tinset-inline-start: var(--avatar-cell-width);\\n\\t\\t\\t\\tborder-inline-end: 1px solid var(--color-border);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--username {\\n\\t\\t\\tpadding-inline-start: calc(var(--default-grid-baseline) * 3);\\n\\t\\t}\\n\\n\\t\\t&--avatar {\\n\\t\\t\\tmin-width: var(--avatar-cell-width);\\n\\t\\t\\twidth: var(--avatar-cell-width);\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tuser-select: none;\\n\\t\\t}\\n\\n\\t\\t&--multiline {\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tline-height: 1.3em;\\n\\t\\t\\t\\twhite-space: unset;\\n\\n\\t\\t\\t\\t@supports (-webkit-line-clamp: 2) {\\n\\t\\t\\t\\t\\tdisplay: -webkit-box;\\n\\t\\t\\t\\t\\t-webkit-line-clamp: 2;\\n\\t\\t\\t\\t\\t-webkit-box-orient: vertical;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--large {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: var(--cell-width-large);\\n\\t\\t}\\n\\n\\t\\t&--obfuscated {\\n\\t\\t\\tmin-width: 400px;\\n\\t\\t\\twidth: 400px;\\n\\t\\t}\\n\\n\\t\\t// Fill remaining row space with cell\\n\\t\\t&--fill {\\n\\t\\t\\tmin-width: var(--cell-width-large);\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t&--actions {\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\tinset-inline-end: 0;\\n\\t\\t\\tz-index: var(--sticky-column-z-index);\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: row;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tmin-width: 110px;\\n\\t\\t\\twidth: 110px;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tborder-inline-start: 1px solid var(--color-border);\\n\\t\\t}\\n\\t}\\n\\n\\t&__subtitle {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\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/sourceMaps.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, `.empty[data-v-73fd953a] .icon-vue{width:64px;height:64px}.empty[data-v-73fd953a] .icon-vue svg{max-width:64px;max-height:64px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/UserList.vue\"],\"names\":[],\"mappings\":\"AAKE,kCACC,UAAA,CACA,WAAA,CAEA,sCACC,cAAA,CACA,eAAA\",\"sourcesContent\":[\"\\n@use './Users/shared/styles' as *;\\n\\n.empty {\\n\\t:deep {\\n\\t\\t.icon-vue {\\n\\t\\t\\twidth: 64px;\\n\\t\\t\\theight: 64px;\\n\\n\\t\\t\\tsvg {\\n\\t\\t\\t\\tmax-width: 64px;\\n\\t\\t\\t\\tmax-height: 64px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { translate as t } from '@nextcloud/l10n';\nexport const unlimitedQuota = {\n id: 'none',\n label: t('settings', 'Unlimited'),\n};\nexport const defaultQuota = {\n id: 'default',\n label: t('settings', 'Default quota'),\n};\n/**\n * Return `true` if the logged in user does not have permissions to view the\n * data of `user`\n * @param user The user to check\n * @param user.id Id of the user\n */\nexport const isObfuscated = (user) => {\n const keys = Object.keys(user);\n return keys.length === 1 && keys.at(0) === 'id';\n};\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","Vue","directive","vElementVisibility","extend","name","props","dataComponent","type","Object","Function","required","dataKey","String","dataSources","Array","itemHeight","Number","extraProps","default","data","bufferItems","index","headerHeight","tableHeight","resizeObserver","computed","startIndex","Math","max","shownItems","ceil","renderedItems","slice","tbodyStyle","isOverScrolled","length","lastIndex","hiddenAfterItems","min","paddingTop","paddingBottom","mounted","root","$el","tfoot","$refs","thead","ResizeObserver","debounce","clientHeight","logger","debug","onScroll","observe","addEventListener","beforeDestroy","disconnect","methods","handleFooterVisibility","visible","$emit","round","scrollTop","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_vm","this","_c","_self","_setupProxy","staticClass","_t","_v","ref","attrs","style","_l","item","i","_b","key","tag","directives","rawName","value","expression","components","NcButton","NcDialog","NcPasswordField","NcSelect","NcTextField","loading","newUser","quotaOptions","possibleManagers","managerInputLabel","t","managerLabel","promise","showConfig","$store","getters","getShowConfig","settings","getServerData","usernameLabel","newUserGenerateUserID","minPasswordLength","getPasswordPolicyMinLength","availableGroups","isAdmin","isDelegatedAdmin","getSortedGroups","getSubAdminGroups","filter","group","availableSubAdminGroups","languages","commonLanguages","otherLanguages","beforeMount","searchUserManager","username","focus","createUser","all","dispatch","userid","password","displayName","email","mailAddress","groups","map","subadmin","subAdminsGroups","quota","language","code","manager","error","response","ocs","meta","statuscode","searchGroups","query","toggleLoading","cancel","search","offset","limit","commit","createGroup","gid","addGroup","isCreating","canAdd","removeGroup","canRemove","g","validateQuota","validQuota","OC","Util","computerFileSize","formatFileSize","parseFileSize","label","languageFilterBy","option","some","toLocaleLowerCase","includes","then","users","values","_g","scopedSlots","_u","fn","_s","proxy","$listeners","on","$event","preventDefault","apply","arguments","$set","newUserRequireEmail","_e","at","model","callback","$$v","showLanguages","class","NcLoadingIcon","Boolean","filteredUsers","userCount","n","hasObfuscated","passwordLabel","showUserBackend","showStoragePath","showFirstLogin","showLastLogin","defineComponent","NcActionButton","NcActions","NcIconSvgWrapper","actions","disabled","edit","user","editSvg","SvgCheck","SvgPencil","enabledActions","action","enabled","isSvg","string","TypeError","trim","XMLValidator","validate","jsonObject","parser","XMLParser","parse","keys","x","toLowerCase","toggleEdit","icon","text","event","N","Symbol","toStringTag","externalActions","setup","formattedFullTime","useFormatDateTime","firstLoginTimestamp","relativeTime","format","timeStyle","dateStyle","selectedGroups","selectedSubAdminGroups","userGroups","userSubAdminGroups","usedSpace","quotaUsed","used","size","usedQuota","pow","isNaN","userQuota","humanQuota","find","userLanguage","userLang","concat","lang","userFirstLogin","userLastLoginTooltip","lastLoginTimestamp","formatDate","userLastLogin","relativeModifiedDate","NcAvatar","NcProgressBar","UserRowActions","mixins","UserRowMixin","selectedQuota","rand","random","toString","substring","loadingPossibleManagers","currentManager","editing","groupsDetails","subAdminGroupsDetails","subadmins","delete","disable","wipe","editedDisplayName","displayname","editedPassword","editedMail","isObfuscated","isLoadingUser","isLoadingField","uniqueId","encodeURIComponent","userGroupsLabels","availableGroup","join","userSubAdminGroupsLabels","canEdit","getCurrentUser","uid","defaultQuota","userActions","deleteUser","wipeUserDevices","enableDisableUser","sendWelcomeMail","editedUserQuota","get","unlimitedQuota","set","availableLanguages","initManager","confirmPassword","dialogs","confirmDestructive","YES_NO_BUTTONS","confirm","confirmClasses","result","showSuccess","timeout","finally","filterManagers","managers","userId","searchInitialUserManager","loadGroupsDetails","loadUserGroups","selectedGroup","loadSubAdminGroupsDetails","loadUserSubAdminGroups","updateUserManager","previousManager","showError","updateDisplayName","updatePassword","updateEmail","addUserGroup","console","removeUserGroup","$route","params","addUserSubAdmin","removeUserSubAdmin","setUserQuota","setUserLanguage","$nextTick","displayNameField","inputField","input","backendCapabilities","setDisplayName","undefined","canChangePassword","setPassword","backend","storageLocation","freeze","Fragment","NcEmptyContent","NewUserDialog","UserListFooter","UserListHeader","VirtualList","mdiAccountGroup","rowHeight","UserRow","isInitialLoad","searchQuery","getUsers","quotaPreset","reduce","acc","cur","allowUnlimitedQuota","unshift","usersOffset","getUsersOffset","usersLimit","getUsersLimit","disabledUsersOffset","getDisabledUsersOffset","disabledUsersLimit","getDisabledUsersLimit","usersCount","watch","val","redirectIfDisabled","loadUsers","setNewUserDefaultGroup","created","Notification","showTemporary","resetForm","subscribe","resetSearch","unsubscribe","handleScrollEnd","closeDialog","assign","defaultLanguage","currentGroup","allGroups","getGroups","findIndex","usercount","$router","showNewUserForm","NcAppContent","UserList","pageHeading","selectedGroupDecoded","admin","decodeURIComponent","window","OCA","Settings","registerAction","emit","formatGroup","controller","AbortController","CancelablePromise","async","resolve","reject","onCancel","abort","axios","generateOcsUrl","signal","url","NcAppSettingsDialog","NcAppSettingsSection","NcCheckboxRadioSwitch","NcNoteCard","open","loadingSendMail","groupSorting","getGroupSorting","GroupSorting","GroupName","sorting","UserCount","isGroupSortingEnforced","forceSortGroupByName","isModalOpen","status","setShowConfig","newUserSendEmail","post","generateUrl","filterQuotas","searchValue","replaceAll","indexOf","setDefaultQuota","app","AccountGroup","Delete","NcActionInput","NcAppNavigationItem","NcCounterBubble","NcModal","Pencil","active","count","loadingRenameGroup","openGroupMenu","showRemoveGroupModal","handleGroupMenuOpen","renameGroup","displayNameInput","querySelector","groupid","formatGroupMenu","title","useFormatGroups","adminGroup","disabledGroup","recentGroup","_defineComponent","__name","__props","store","useStore","route","useRoute","router","useRouter","onBeforeMount","loadGroups","isAdminOrDelegatedAdmin","isAddGroupOpen","loadingAddGroup","hasAddGroupError","newGroupName","loadingGroups","groupsSearchQuery","filteredGroups","groupListItems","lastGroupListItem","findLast","component","$vnode","listItem","isLastGroupVisible","useElementVisibility","__sfc","groupId","newGroupListItem","scrollIntoView","behavior","block","mdiPlus","NcActionText","NcAppNavigationCaption","NcAppNavigationList","NcAppNavigationSearch","GroupListItem","_setup","refInFor","isDialogOpen","getUserCount","showNewUserMenu","mdiAccount","mdiAccountOff","mdiCog","mdiShieldAccount","mdiHistory","NcAppNavigation","NcAppNavigationNew","UserSettingsDialog","AppNavigationGroupList","_k","keyCode"],"ignoreList":[],"sourceRoot":""} \ No newline at end of file diff --git a/dist/settings-vue-settings-apps-users-management.js b/dist/settings-vue-settings-apps-users-management.js index fd26689b5785c..b4184b7b3008a 100644 --- a/dist/settings-vue-settings-apps-users-management.js +++ b/dist/settings-vue-settings-apps-users-management.js @@ -1,2 +1,2 @@ -(()=>{var e,s,r,a={6028(e,t,s){"use strict";s.d(t,{A:()=>i});var r=s(19051),a=s(56760);s(51257);const o=function(e){return e.replace(/\/$/,"")},i={requireAdmin:()=>(0,a.C5)(),get:(e,t)=>r.Ay.get(o(e),t),post:(e,t)=>r.Ay.post(o(e),t),patch:(e,t)=>r.Ay.patch(o(e),t),put:(e,t)=>r.Ay.put(o(e),t),delete:(e,t)=>r.Ay.delete(o(e),{params:t})}},14744(e,s,r){"use strict";r.d(s,{P:()=>K});var a=r(95353),o=r(80474),i=r(87485),n=r(35810),d=r(85168),c=r(63814),u=r(32981),p=r(19051),l=r(15916),m=r(53334);const g=Intl.Collator([(0,m.Z0)(),(0,m.lO)()],{numeric:!0,usage:"sort"});var h=r(6028),A=r(36620);const f=(0,u.C)("settings","usersSettings",{}),b=(0,o.c0)("settings").persist(!0).build(),y={id:"",name:"",usercount:0,disabled:0,canAdd:!0,canRemove:!0},I={users:[],groups:[...f.getSubAdminGroups??[],...f.systemGroups??[]],orderBy:f.sortGroups??l.q.UserCount,minPasswordLength:0,usersOffset:0,usersLimit:25,disabledUsersOffset:0,disabledUsersLimit:25,userCount:f.userCount??0,showConfig:{showStoragePath:"true"===b.getItem("account_settings__showStoragePath"),showUserBackend:"true"===b.getItem("account_settings__showUserBackend"),showFirstLogin:"true"===b.getItem("account_settings__showFirstLogin"),showLastLogin:"true"===b.getItem("account_settings__showLastLogin"),showNewUserForm:"true"===b.getItem("account_settings__showNewUserForm"),showLanguages:"true"===b.getItem("account_settings__showLanguages")}},U={appendUsers(e,t){const s=e.users.map((({id:e})=>e)),r=Object.values(t).filter((({id:e})=>!s.includes(e))),a=e.users.concat(r);e.usersOffset+=e.usersLimit,e.users=a},updateDisabledUsers(e,t){e.disabledUsersOffset+=e.disabledUsersLimit},setPasswordPolicyMinLength(e,t){e.minPasswordLength=""!==t?t:0},addGroup(e,t){try{if(void 0!==e.groups.find((e=>e.id===t.id)))return;const s=Object.assign({},y,t);e.groups.unshift(s)}catch(e){console.error("Can't create group",e)}},renameGroup(e,{gid:t,displayName:s}){const r=e.groups.findIndex((e=>e.id===t));if(r>=0){const t=e.groups[r];t.name=s,e.groups.splice(r,1,t)}},removeGroup(e,t){const s=e.groups.findIndex((e=>e.id===t));s>=0&&e.groups.splice(s,1)},addUserGroup(e,{userid:t,gid:s}){const r=e.groups.find((e=>e.id===s)),a=e.users.find((e=>e.id===t));r&&a.enabled&&e.userCount>0&&r.usercount++,a.groups.push(s)},removeUserGroup(e,{userid:t,gid:s}){const r=e.groups.find((e=>e.id===s)),a=e.users.find((e=>e.id===t));r&&a.enabled&&e.userCount>0&&r.usercount--;const o=a.groups;o.splice(o.indexOf(s),1)},addUserSubAdmin(e,{userid:t,gid:s}){e.users.find((e=>e.id===t)).subadmin.push(s)},removeUserSubAdmin(e,{userid:t,gid:s}){const r=e.users.find((e=>e.id===t)).subadmin;r.splice(r.indexOf(s),1)},deleteUser(e,t){const s=e.users.findIndex((e=>e.id===t));this.commit("updateUserCounts",{user:e.users[s],actionType:"remove"}),e.users.splice(s,1)},addUserData(e,t){const s=t.data.ocs.data;e.users.unshift(s),this.commit("updateUserCounts",{user:s,actionType:"create"})},enableDisableUser(e,{userid:t,enabled:s}){const r=e.users.find((e=>e.id===t));r.enabled=s,this.commit("updateUserCounts",{user:r,actionType:s?"enable":"disable"})},updateUserCounts(e,{user:t,actionType:s}){if(0===e.userCount)return;const r=e.groups.find((e=>"__nc_internal_recent"===e.id)),a=e.groups.find((e=>"disabled"===e.id));switch(s){case"enable":case"disable":a.usercount+=t.enabled?-1:1,r.usercount+=t.enabled?1:-1,e.userCount+=t.enabled?1:-1,t.groups.forEach((s=>{const r=e.groups.find((e=>e.id===s));r&&(r.disabled+=t.enabled?-1:1)}));break;case"create":r.usercount++,e.userCount++,t.groups.forEach((t=>{const s=e.groups.find((e=>e.id===t));s&&s.usercount++}));break;case"remove":t.enabled?(r.usercount--,e.userCount--,t.groups.forEach((t=>{const s=e.groups.find((e=>e.id===t));s?s.usercount--:console.warn("User group "+t+" does not exist during user removal")}))):(a.usercount--,t.groups.forEach((t=>{const s=e.groups.find((e=>e.id===t));s&&s.disabled--})));break;default:A.A.error(`Unknown action type in updateUserCounts: '${s}'`)}},setUserData(e,{userid:t,key:s,value:r}){if("quota"===s){const a=(0,n.lT)(r,!0);e.users.find((e=>e.id===t))[s][s]=null!==a?a:r}else e.users.find((e=>e.id===t))[s]=r},resetUsers(e){e.users=[],e.usersOffset=0,e.disabledUsersOffset=0},resetGroups(e){e.groups=[...f.getSubAdminGroups??[],...f.systemGroups??[]]},setShowConfig(e,{key:t,value:s}){b.setItem(`account_settings__${t}`,JSON.stringify(s)),e.showConfig[t]=s},setGroupSorting(e,s){const r=e.orderBy;e.orderBy=s,p.Ay.post((0,c.Jv)("/settings/users/preferences/group.sortBy"),{value:String(s)}).catch((s=>{e.orderBy=r,(0,d.Qg)(t("settings","Could not set group sorting")),A.A.error(s)}))}},v={getUsers:e=>e.users,getGroups:e=>e.groups,getSubAdminGroups:()=>f.subAdminGroups??[],getSortedGroups(e){const t=[...e.groups];return e.orderBy===l.q.UserCount?t.sort(((e,t)=>{const s=e.usercount-e.disabled,r=t.usercount-t.disabled;return sg.compare(e.name,t.name)))},getGroupSorting:e=>e.orderBy,getPasswordPolicyMinLength:e=>e.minPasswordLength,getUsersOffset:e=>e.usersOffset,getUsersLimit:e=>e.usersLimit,getDisabledUsersOffset:e=>e.disabledUsersOffset,getDisabledUsersLimit:e=>e.disabledUsersLimit,getUserCount:e=>e.userCount,getShowConfig:e=>e.showConfig},L=p.Ay.CancelToken;let _=null;const w={state:I,mutations:U,getters:v,actions:{searchUsers:(e,{offset:t,limit:s,search:r})=>(r="string"==typeof r?r:"",h.A.get((0,c.KT)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:t,limit:s,search:r})).catch((t=>{p.Ay.isCancel(t)||e.commit("API_FAILURE",t)}))),getUser:(e,t)=>h.A.get((0,c.KT)(`cloud/users/${t}`)).catch((t=>{p.Ay.isCancel(t)||e.commit("API_FAILURE",t)})),getUsers:(e,{offset:t,limit:s,search:r,group:a})=>(_&&_.cancel("Operation canceled by another search request."),_=L.source(),r=(r="string"==typeof r?r:"").replace(/in:[^\s]+/g,"").trim(),""!==(a="string"==typeof a?a:"")?h.A.get((0,c.KT)("cloud/groups/{group}/users/details?offset={offset}&limit={limit}&search={search}",{group:encodeURIComponent(a),offset:t,limit:s,search:r}),{cancelToken:_.token}).then((t=>{const s=Object.keys(t.data.ocs.data.users).length;return s>0&&e.commit("appendUsers",t.data.ocs.data.users),s})).catch((t=>{p.Ay.isCancel(t)||e.commit("API_FAILURE",t)})):h.A.get((0,c.KT)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:t,limit:s,search:r}),{cancelToken:_.token}).then((t=>{const s=Object.keys(t.data.ocs.data.users).length;return s>0&&e.commit("appendUsers",t.data.ocs.data.users),s})).catch((t=>{p.Ay.isCancel(t)||e.commit("API_FAILURE",t)}))),async getRecentUsers(e,{offset:t,limit:s,search:r}){const a=(0,c.KT)("cloud/users/recent?offset={offset}&limit={limit}&search={search}",{offset:t,limit:s,search:r});try{const t=await h.A.get(a),s=Object.keys(t.data.ocs.data.users).length;return s>0&&e.commit("appendUsers",t.data.ocs.data.users),s}catch(t){e.commit("API_FAILURE",t)}},async getDisabledUsers(e,{offset:t,limit:s,search:r}){const a=(0,c.KT)("cloud/users/disabled?offset={offset}&limit={limit}&search={search}",{offset:t,limit:s,search:r});try{const t=await h.A.get(a),s=Object.keys(t.data.ocs.data.users).length;return s>0&&(e.commit("appendUsers",t.data.ocs.data.users),e.commit("updateDisabledUsers",t.data.ocs.data.users)),s}catch(t){e.commit("API_FAILURE",t)}},getGroups(e,{offset:t,limit:s,search:r}){r="string"==typeof r?r:"";const a=-1===s?"":`&limit=${s}`;return h.A.get((0,c.KT)("cloud/groups?offset={offset}&search={search}",{offset:t,search:r})+a).then((t=>Object.keys(t.data.ocs.data.groups).length>0&&(t.data.ocs.data.groups.forEach((function(t){e.commit("addGroup",{id:t,name:t})})),!0))).catch((t=>e.commit("API_FAILURE",t)))},getUsersFromList:(e,{offset:t,limit:s,search:r})=>(r="string"==typeof r?r:"",h.A.get((0,c.KT)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:t,limit:s,search:r})).then((t=>Object.keys(t.data.ocs.data.users).length>0&&(e.commit("appendUsers",t.data.ocs.data.users),!0))).catch((t=>e.commit("API_FAILURE",t)))),getUsersFromGroup:(e,{groupid:t,offset:s,limit:r})=>h.A.get((0,c.KT)("cloud/users/{groupId}/details?offset={offset}&limit={limit}",{groupId:encodeURIComponent(t),offset:s,limit:r})).then((t=>e.commit("getUsersFromList",t.data.ocs.data.users))).catch((t=>e.commit("API_FAILURE",t))),getPasswordPolicyMinLength:e=>!(!(0,i.F)().password_policy||!(0,i.F)().password_policy.minLength)&&(e.commit("setPasswordPolicyMinLength",(0,i.F)().password_policy.minLength),(0,i.F)().password_policy.minLength),addGroup:(e,t)=>h.A.requireAdmin().then((s=>h.A.post((0,c.KT)("cloud/groups"),{groupid:t}).then((s=>(e.commit("addGroup",{id:t,name:t}),{gid:t,displayName:t}))).catch((e=>{throw e})))).catch((s=>{throw e.commit("API_FAILURE",{gid:t,error:s}),s})),renameGroup:(e,{groupid:t,displayName:s})=>h.A.requireAdmin().then((r=>h.A.put((0,c.KT)("cloud/groups/{groupId}",{groupId:encodeURIComponent(t)}),{key:"displayname",value:s}).then((r=>(e.commit("renameGroup",{gid:t,displayName:s}),{groupid:t,displayName:s}))).catch((e=>{throw e})))).catch((s=>{throw e.commit("API_FAILURE",{groupid:t,error:s}),s})),removeGroup:(e,t)=>h.A.requireAdmin().then((s=>h.A.delete((0,c.KT)("cloud/groups/{groupId}",{groupId:encodeURIComponent(t)})).then((s=>e.commit("removeGroup",t))).catch((e=>{throw e})))).catch((s=>e.commit("API_FAILURE",{gid:t,error:s}))),addUserGroup:(e,{userid:t,gid:s})=>h.A.requireAdmin().then((r=>h.A.post((0,c.KT)("cloud/users/{userid}/groups",{userid:t}),{groupid:s}).then((r=>e.commit("addUserGroup",{userid:t,gid:s}))).catch((e=>{throw e})))).catch((s=>e.commit("API_FAILURE",{userid:t,error:s}))),removeUserGroup:(e,{userid:t,gid:s})=>h.A.requireAdmin().then((r=>h.A.delete((0,c.KT)("cloud/users/{userid}/groups",{userid:t}),{groupid:s}).then((r=>e.commit("removeUserGroup",{userid:t,gid:s}))).catch((e=>{throw e})))).catch((s=>{throw e.commit("API_FAILURE",{userid:t,error:s}),s})),addUserSubAdmin:(e,{userid:t,gid:s})=>h.A.requireAdmin().then((r=>h.A.post((0,c.KT)("cloud/users/{userid}/subadmins",{userid:t}),{groupid:s}).then((r=>e.commit("addUserSubAdmin",{userid:t,gid:s}))).catch((e=>{throw e})))).catch((s=>e.commit("API_FAILURE",{userid:t,error:s}))),removeUserSubAdmin:(e,{userid:t,gid:s})=>h.A.requireAdmin().then((r=>h.A.delete((0,c.KT)("cloud/users/{userid}/subadmins",{userid:t}),{groupid:s}).then((r=>e.commit("removeUserSubAdmin",{userid:t,gid:s}))).catch((e=>{throw e})))).catch((s=>e.commit("API_FAILURE",{userid:t,error:s}))),async wipeUserDevices(e,t){try{return await h.A.requireAdmin(),await h.A.post((0,c.KT)("cloud/users/{userid}/wipe",{userid:t}))}catch(s){return e.commit("API_FAILURE",{userid:t,error:s}),Promise.reject(new Error("Failed to wipe user devices"))}},deleteUser:(e,t)=>h.A.requireAdmin().then((s=>h.A.delete((0,c.KT)("cloud/users/{userid}",{userid:t})).then((s=>e.commit("deleteUser",t))).catch((e=>{throw e})))).catch((s=>e.commit("API_FAILURE",{userid:t,error:s}))),addUser:({commit:e,dispatch:t},{userid:s,password:r,displayName:a,email:o,groups:i,subadmin:n,quota:d,language:u,manager:p})=>h.A.requireAdmin().then((e=>h.A.post((0,c.KT)("cloud/users"),{userid:s,password:r,displayName:a,email:o,groups:i,subadmin:n,quota:d,language:u,manager:p}).then((e=>t("addUserData",s||e.data.ocs.data.id))).catch((e=>{throw e})))).catch((t=>{throw e("API_FAILURE",{userid:s,error:t}),t})),addUserData:(e,t)=>h.A.requireAdmin().then((s=>h.A.get((0,c.KT)("cloud/users/{userid}",{userid:t})).then((t=>e.commit("addUserData",t))).catch((e=>{throw e})))).catch((s=>e.commit("API_FAILURE",{userid:t,error:s}))),enableDisableUser(e,{userid:t,enabled:s=!0}){const r=s?"enable":"disable";return h.A.requireAdmin().then((a=>h.A.put((0,c.KT)("cloud/users/{userid}/{userStatus}",{userid:t,userStatus:r})).then((r=>e.commit("enableDisableUser",{userid:t,enabled:s}))).catch((e=>{throw e})))).catch((s=>e.commit("API_FAILURE",{userid:t,error:s})))},async setUserData(e,{userid:t,key:s,value:r}){if(!["email","language","quota","displayname","password","manager"].includes(s))throw new Error("Invalid request data");if(""===r&&!["email","displayname","manager"].includes(s))throw new Error("Value cannot be empty for this field");try{return await h.A.requireAdmin(),await h.A.put((0,c.KT)("cloud/users/{userid}",{userid:t}),{key:s,value:r}),e.commit("setUserData",{userid:t,key:s,value:r})}catch(s){throw e.commit("API_FAILURE",{userid:t,error:s}),s}},sendWelcomeMail:(e,t)=>h.A.requireAdmin().then((e=>h.A.post((0,c.KT)("cloud/users/{userid}/welcome",{userid:t})).then((e=>!0)).catch((e=>{throw e})))).catch((s=>e.commit("API_FAILURE",{userid:t,error:s})))}};var P=r(85471);const E={apps:[],bundles:(0,u.C)("settings","appstoreBundles",[]),categories:[],updateCount:(0,u.C)("settings","appstoreUpdateCount",0),loading:{},gettingCategoriesPromise:null,appApiEnabled:(0,u.C)("settings","appApiEnabled",!1)},C={APPS_API_FAILURE(e,s){(0,d.Qg)(t("settings","An error occurred during the request. Unable to proceed.")+"
"+s.error.response.data.data.message,{isHTML:!0}),console.error(e,s)},initCategories(e,{categories:t,updateCount:s}){e.categories=t,e.updateCount=s},updateCategories(e,t){e.gettingCategoriesPromise=t},setUpdateCount(e,t){e.updateCount=t},addCategory(e,t){e.categories.push(t)},appendCategories(e,t){e.categories=t},setAllApps(e,t){e.apps=t},setError(e,{appId:t,error:s}){Array.isArray(t)||(t=[t]),t.forEach((t=>{e.apps.find((e=>e.id===t)).error=s}))},clearError(e,{appId:t,error:s}){e.apps.find((e=>e.id===t)).error=null},enableApp(e,{appId:t,groups:s}){const r=e.apps.find((e=>e.id===t));r.active=!0,P.Ay.set(r,"groups",[...s]),"app_api"===r.id&&(e.appApiEnabled=!0)},setInstallState(e,{appId:t,canInstall:s}){const r=e.apps.find((e=>e.id===t));r&&(r.canInstall=!0===s)},disableApp(e,t){const s=e.apps.find((e=>e.id===t));s.active=!1,s.groups=[],s.removable&&(s.canUnInstall=!0),"app_api"===s.id&&(e.appApiEnabled=!1)},uninstallApp(e,t){e.apps.find((e=>e.id===t)).active=!1,e.apps.find((e=>e.id===t)).groups=[],e.apps.find((e=>e.id===t)).needsDownload=!0,e.apps.find((e=>e.id===t)).installed=!1,e.apps.find((e=>e.id===t)).canUnInstall=!1,e.apps.find((e=>e.id===t)).canInstall=!0,"app_api"===t&&(e.appApiEnabled=!1)},updateApp(e,t){const s=e.apps.find((e=>e.id===t)),r=s.update;s.update=null,s.version=r,e.updateCount--},resetApps(e){e.apps=[]},reset(e){e.apps=[],e.categories=[],e.updateCount=0},startLoading(e,t){Array.isArray(t)?t.forEach((t=>{P.Ay.set(e.loading,t,!0)})):P.Ay.set(e.loading,t,!0)},stopLoading(e,t){Array.isArray(t)?t.forEach((t=>{P.Ay.set(e.loading,t,!1)})):P.Ay.set(e.loading,t,!1)}},T={enableApp(e,{appId:s,groups:r}){let a;return a=Array.isArray(s)?s:[s],h.A.requireAdmin().then((o=>{e.commit("startLoading",a),e.commit("startLoading","install");const i={};return a.forEach((t=>{const s=e.state.apps.find((e=>e.id===t));s&&(i[t]={active:s.active,groups:[...s.groups||[]]},e.commit("enableApp",{appId:t,groups:r}))})),h.A.post((0,c.Jv)("settings/apps/enable"),{appIds:a,groups:r}).then((o=>(e.commit("stopLoading",a),e.commit("stopLoading","install"),a.forEach((t=>{e.commit("enableApp",{appId:t,groups:r})})),p.Ay.get((0,c.Jv)("apps/files/")).then((()=>{o.data.update_required&&((0,d.cf)(t("settings","The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds."),{onClick:()=>window.location.reload(),close:!1}),setTimeout((function(){location.reload()}),5e3))})).catch((()=>{Array.isArray(s)||((0,d.Qg)(t("settings","Error: This app cannot be enabled because it makes the server unstable")),e.commit("setError",{appId:a,error:t("settings","Error: This app cannot be enabled because it makes the server unstable")}),e.dispatch("disableApp",{appId:s}))}))))).catch((t=>{e.commit("stopLoading",a),e.commit("stopLoading","install"),a.forEach((t=>{i[t]&&(e.commit("enableApp",{appId:t,groups:i[t].groups}),i[t].active||e.commit("disableApp",t))})),e.commit("setError",{appId:a,error:t.response.data.data.message}),e.commit("APPS_API_FAILURE",{appId:s,error:t})}))})).catch((t=>e.commit("API_FAILURE",{appId:s,error:t})))},forceEnableApp(e,{appId:t,groups:s}){let r;return r=Array.isArray(t)?t:[t],h.A.requireAdmin().then((()=>(e.commit("startLoading",r),e.commit("startLoading","install"),h.A.post((0,c.Jv)("settings/apps/force"),{appId:t}).then((s=>{e.commit("setInstallState",{appId:t,canInstall:!0})})).catch((s=>{e.commit("stopLoading",r),e.commit("stopLoading","install"),e.commit("setError",{appId:r,error:s.response.data.data.message}),e.commit("APPS_API_FAILURE",{appId:t,error:s})})).finally((()=>{e.commit("stopLoading",r),e.commit("stopLoading","install")}))))).catch((s=>e.commit("API_FAILURE",{appId:t,error:s})))},disableApp(e,{appId:t}){let s;return s=Array.isArray(t)?t:[t],h.A.requireAdmin().then((r=>(e.commit("startLoading",s),h.A.post((0,c.Jv)("settings/apps/disable"),{appIds:s}).then((t=>(e.commit("stopLoading",s),s.forEach((t=>{e.commit("disableApp",t)})),!0))).catch((r=>{e.commit("stopLoading",s),e.commit("APPS_API_FAILURE",{appId:t,error:r})}))))).catch((s=>e.commit("API_FAILURE",{appId:t,error:s})))},uninstallApp:(e,{appId:t})=>h.A.requireAdmin().then((s=>(e.commit("startLoading",t),h.A.get((0,c.Jv)(`settings/apps/uninstall/${t}`)).then((s=>(e.commit("stopLoading",t),e.commit("uninstallApp",t),!0))).catch((s=>{e.commit("stopLoading",t),e.commit("APPS_API_FAILURE",{appId:t,error:s})}))))).catch((s=>e.commit("API_FAILURE",{appId:t,error:s}))),updateApp:(e,{appId:t})=>h.A.requireAdmin().then((s=>(e.commit("startLoading",t),e.commit("startLoading","install"),h.A.get((0,c.Jv)(`settings/apps/update/${t}`)).then((s=>(e.commit("stopLoading","install"),e.commit("stopLoading",t),e.commit("updateApp",t),!0))).catch((s=>{e.commit("stopLoading",t),e.commit("stopLoading","install"),e.commit("APPS_API_FAILURE",{appId:t,error:s})}))))).catch((s=>e.commit("API_FAILURE",{appId:t,error:s}))),getAllApps:e=>(e.commit("startLoading","list"),h.A.get((0,c.Jv)("settings/apps/list")).then((t=>(e.commit("setAllApps",t.data.apps),e.commit("stopLoading","list"),!0))).catch((t=>e.commit("API_FAILURE",t)))),async getCategories(e,{shouldRefetchCategories:t=!1}={}){if(t||!e.state.gettingCategoriesPromise){e.commit("startLoading","categories");try{const t=h.A.get((0,c.Jv)("settings/apps/categories"));e.commit("updateCategories",t);const s=await t;return s.data.length>0?(e.commit("appendCategories",s.data),e.commit("stopLoading","categories"),!0):(e.commit("stopLoading","categories"),!1)}catch(t){e.commit("API_FAILURE",t)}}return e.state.gettingCategoriesPromise}},R={state:E,mutations:C,getters:{isAppApiEnabled:e=>e.appApiEnabled,loading:e=>function(t){return e.loading[t]},getCategories:e=>e.categories,getAllApps:e=>e.apps,getAppBundles:e=>e.bundles,getUpdateCount:e=>e.updateCount,getCategoryById:e=>t=>e.categories.find((e=>e.id===t))},actions:T},F={serverData:(0,u.C)("settings","usersSettings",{})},k={setServerData(e,t){e.serverData=t}},S={state:F,mutations:k,getters:{getServerData:e=>e.serverData},actions:{}},O={state:{},mutations:{},getters:{},actions:{setAppConfig:(e,{app:t,key:s,value:r})=>h.A.requireAdmin().then((e=>h.A.post((0,c.KT)("apps/provisioning_api/api/v1/config/apps/{app}/{key}",{app:t,key:s}),{value:r}).catch((e=>{throw e})))).catch((a=>e.commit("API_FAILURE",{app:t,key:s,value:r,error:a})))}},q={API_FAILURE(e,s){try{const e=s.error.response.data.ocs.meta.message;(0,d.Qg)(t("settings","An error occurred during the request. Unable to proceed.")+"
"+e,{isHTML:!0})}catch(e){(0,d.Qg)(t("settings","An error occurred during the request. Unable to proceed."))}console.error(e,s)}};let G=null;const K=()=>(null===G&&(G=new a.il({modules:{users:w,apps:R,settings:S,oc:O},strict:!1,mutations:q})),G)},15916(e,t,s){"use strict";var r;s.d(t,{q:()=>r}),function(e){e[e.UserCount=1]="UserCount",e[e.GroupName=2]="GroupName"}(r||(r={}))},18539(e,t,s){"use strict";var r=s(85471),a=s(95353),o=s(80284),i=s(58723),n=s(53334),d=s(22378);const c=(0,r.pM)({__name:"SettingsApp",setup:e=>({__sfc:!0,NcContent:d.A})}),u=(0,s(14486).A)(c,(function(){var e=this,t=e._self._c;return t(e._self._setupProxy.NcContent,{attrs:{"app-name":"settings"}},[t("router-view",{attrs:{name:"navigation"}}),e._v(" "),t("router-view"),e._v(" "),t("router-view",{attrs:{name:"sidebar"}})],1)}),[],!1,null,null,null).exports;var p=s(40173),l=s(63814);const m=[{name:"users",path:"/:index(index.php/)?settings/users",components:{default:()=>Promise.all([s.e(4208),s.e(7265),s.e(3239)]).then(s.bind(s,68747)),navigation:()=>Promise.all([s.e(4208),s.e(7265),s.e(3239)]).then(s.bind(s,65821))},props:!0,children:[{path:":selectedGroup",name:"group"}]},{path:"/:index(index.php/)?settings/apps",name:"apps",redirect:{name:"apps-category",params:{category:(0,s(32981).C)("settings","appstoreEnabled",!0)?"discover":"installed"}},components:{default:()=>Promise.all([s.e(4208),s.e(7265),s.e(4529)]).then(s.bind(s,79852)),navigation:()=>Promise.all([s.e(4208),s.e(7265),s.e(4529)]).then(s.bind(s,28372)),sidebar:()=>Promise.all([s.e(4208),s.e(7265),s.e(4529)]).then(s.bind(s,37058))},children:[{path:":category",name:"apps-category",children:[{path:":id",name:"apps-details"}]}]}];r.Ay.use(p.Ay);const g=new p.Ay({mode:"history",base:(0,l.Jv)(""),linkActiveClass:"active",routes:m});var h=s(14744),A=s(21777),f=s(65899);s.nc=(0,A.aV)(),r.Ay.prototype.t=n.t,r.Ay.prototype.n=n.n,r.Ay.use(f.R2),r.Ay.use(o.Ay,{defaultHtml:!1}),r.Ay.use(a.Ay);const b=(0,h.P)();(0,i.O)(b,g);const y=(0,f.Ey)();new r.Ay({router:g,store:b,pinia:y,render:e=>e(u),el:"#content"})},36620(e,t,s){"use strict";s.d(t,{A:()=>r});const r=(0,s(35947).YK)().setApp("settings").detectUser().build()},58723(e,t){function s(e,t){var r={name:e.name,path:e.path,hash:e.hash,query:e.query,params:e.params,fullPath:e.fullPath,meta:e.meta};return t&&(r.from=s(t)),Object.freeze(r)}t.O=function(e,t,r){var a=(r||{}).moduleName||"route";e.registerModule(a,{namespaced:!0,state:s(t.currentRoute),mutations:{ROUTE_CHANGED:function(t,r){e.state[a]=s(r.to,r.from)}}});var o,i=!1,n=e.watch((function(e){return e[a]}),(function(e){var s=e.fullPath;s!==o&&(null!=o&&(i=!0,t.push(e)),o=s)}),{sync:!0}),d=t.afterEach((function(t,s){i?i=!1:(o=t.fullPath,e.commit(a+"/ROUTE_CHANGED",{to:t,from:s}))}));return function(){null!=d&&d(),null!=n&&n(),e.unregisterModule(a)}}}},o={};function i(e){var t=o[e];if(void 0!==t)return t.exports;var s=o[e]={id:e,loaded:!1,exports:{}};return a[e].call(s.exports,s,s.exports,i),s.loaded=!0,s.exports}i.m=a,e=[],i.O=(t,s,r,a)=>{if(!s){var o=1/0;for(u=0;u=a)&&Object.keys(i.O).every((e=>i.O[e](s[d])))?s.splice(d--,1):(n=!1,a0&&e[u-1][2]>a;u--)e[u]=e[u-1];e[u]=[s,r,a]},i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var s in t)i.o(t,s)&&!i.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,s)=>(i.f[s](e,t),t)),[])),i.u=e=>(({3239:"settings-users",4529:"settings-apps-view"}[e]||e)+"-"+e+".js?v="+{256:"a0a66d8a483323fceabd",3239:"fe608f6534aac97efb13",3303:"96b90b1ba78ea11d9e36",3731:"03a157235c000f83910a",4529:"1c2c3542f9da32ca3184",5862:"10fe36062cea7941d5a0",6329:"da6ad198a7ca85dde977",7265:"d7160b14ff5971255399",7471:"806ad727bd04144ac45f",8737:"d1c9f189cbfe0cd1ba97",9972:"440f2099df705a3b52ad"}[e]),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),s={},r="nextcloud:",i.l=(e,t,a,o)=>{if(s[e])s[e].push(t);else{var n,d;if(void 0!==a)for(var c=document.getElementsByTagName("script"),u=0;u{n.onerror=n.onload=null,clearTimeout(m);var a=s[e];if(delete s[e],n.parentNode&&n.parentNode.removeChild(n),a&&a.forEach((e=>e(r))),t)return t(r)},m=setTimeout(l.bind(null,void 0,{type:"timeout",target:n}),12e4);n.onerror=l.bind(null,n.onerror),n.onload=l.bind(null,n.onload),d&&document.head.appendChild(n)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),i.j=2689,(()=>{var e;globalThis.importScripts&&(e=globalThis.location+"");var t=globalThis.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var s=t.getElementsByTagName("script");if(s.length)for(var r=s.length-1;r>-1&&(!e||!/^http(s?):/.test(e));)e=s[r--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),i.p=e})(),(()=>{i.b="undefined"!=typeof document&&document.baseURI||self.location.href;var e={2689:0};i.f.j=(t,s)=>{var r=i.o(e,t)?e[t]:void 0;if(0!==r)if(r)s.push(r[2]);else{var a=new Promise(((s,a)=>r=e[t]=[s,a]));s.push(r[2]=a);var o=i.p+i.u(t),n=new Error;i.l(o,(s=>{if(i.o(e,t)&&(0!==(r=e[t])&&(e[t]=void 0),r)){var a=s&&("load"===s.type?"missing":s.type),o=s&&s.target&&s.target.src;n.message="Loading chunk "+t+" failed.\n("+a+": "+o+")",n.name="ChunkLoadError",n.type=a,n.request=o,r[1](n)}}),"chunk-"+t,t)}},i.O.j=t=>0===e[t];var t=(t,s)=>{var r,a,[o,n,d]=s,c=0;if(o.some((t=>0!==e[t]))){for(r in n)i.o(n,r)&&(i.m[r]=n[r]);if(d)var u=d(i)}for(t&&t(s);ci(18539)));n=i.O(n)})(); -//# sourceMappingURL=settings-vue-settings-apps-users-management.js.map?v=3e72a1fbdcae0ffc3eb9 \ No newline at end of file +(()=>{var e,s,r,a={6028(e,t,s){"use strict";s.d(t,{A:()=>i});var r=s(19051),a=s(56760);s(51257);const o=function(e){return e.replace(/\/$/,"")},i={requireAdmin:()=>(0,a.C5)(),get:(e,t)=>r.Ay.get(o(e),t),post:(e,t)=>r.Ay.post(o(e),t),patch:(e,t)=>r.Ay.patch(o(e),t),put:(e,t)=>r.Ay.put(o(e),t),delete:(e,t)=>r.Ay.delete(o(e),{params:t})}},14744(e,s,r){"use strict";r.d(s,{P:()=>K});var a=r(95353),o=r(80474),i=r(87485),n=r(35810),d=r(85168),c=r(63814),u=r(32981),p=r(19051),l=r(15916),m=r(53334);const g=Intl.Collator([(0,m.Z0)(),(0,m.lO)()],{numeric:!0,usage:"sort"});var h=r(6028),A=r(36620);const f=(0,u.C)("settings","usersSettings",{}),b=(0,o.c0)("settings").persist(!0).build(),y={id:"",name:"",usercount:0,disabled:0,canAdd:!0,canRemove:!0},I={users:[],groups:[...f.getSubAdminGroups??[],...f.systemGroups??[]],orderBy:f.sortGroups??l.q.UserCount,minPasswordLength:0,usersOffset:0,usersLimit:25,disabledUsersOffset:0,disabledUsersLimit:25,userCount:f.userCount??0,showConfig:{showStoragePath:"true"===b.getItem("account_settings__showStoragePath"),showUserBackend:"true"===b.getItem("account_settings__showUserBackend"),showFirstLogin:"true"===b.getItem("account_settings__showFirstLogin"),showLastLogin:"true"===b.getItem("account_settings__showLastLogin"),showNewUserForm:"true"===b.getItem("account_settings__showNewUserForm"),showLanguages:"true"===b.getItem("account_settings__showLanguages")}},U={appendUsers(e,t){const s=e.users.map((({id:e})=>e)),r=Object.values(t).filter((({id:e})=>!s.includes(e))),a=e.users.concat(r);e.usersOffset+=e.usersLimit,e.users=a},updateDisabledUsers(e,t){e.disabledUsersOffset+=e.disabledUsersLimit},setPasswordPolicyMinLength(e,t){e.minPasswordLength=""!==t?t:0},addGroup(e,t){try{if(void 0!==e.groups.find((e=>e.id===t.id)))return;const s=Object.assign({},y,t);e.groups.unshift(s)}catch(e){console.error("Can't create group",e)}},renameGroup(e,{gid:t,displayName:s}){const r=e.groups.findIndex((e=>e.id===t));if(r>=0){const t=e.groups[r];t.name=s,e.groups.splice(r,1,t)}},removeGroup(e,t){const s=e.groups.findIndex((e=>e.id===t));s>=0&&e.groups.splice(s,1)},addUserGroup(e,{userid:t,gid:s}){const r=e.groups.find((e=>e.id===s)),a=e.users.find((e=>e.id===t));r&&a.enabled&&e.userCount>0&&r.usercount++,a.groups.push(s)},removeUserGroup(e,{userid:t,gid:s}){const r=e.groups.find((e=>e.id===s)),a=e.users.find((e=>e.id===t));r&&a.enabled&&e.userCount>0&&r.usercount--;const o=a.groups;o.splice(o.indexOf(s),1)},addUserSubAdmin(e,{userid:t,gid:s}){e.users.find((e=>e.id===t)).subadmin.push(s)},removeUserSubAdmin(e,{userid:t,gid:s}){const r=e.users.find((e=>e.id===t)).subadmin;r.splice(r.indexOf(s),1)},deleteUser(e,t){const s=e.users.findIndex((e=>e.id===t));this.commit("updateUserCounts",{user:e.users[s],actionType:"remove"}),e.users.splice(s,1)},addUserData(e,t){const s=t.data.ocs.data;e.users.unshift(s),this.commit("updateUserCounts",{user:s,actionType:"create"})},enableDisableUser(e,{userid:t,enabled:s}){const r=e.users.find((e=>e.id===t));r.enabled=s,this.commit("updateUserCounts",{user:r,actionType:s?"enable":"disable"})},updateUserCounts(e,{user:t,actionType:s}){if(0===e.userCount)return;const r=e.groups.find((e=>"__nc_internal_recent"===e.id)),a=e.groups.find((e=>"disabled"===e.id));switch(s){case"enable":case"disable":a.usercount+=t.enabled?-1:1,r.usercount+=t.enabled?1:-1,e.userCount+=t.enabled?1:-1,t.groups.forEach((s=>{const r=e.groups.find((e=>e.id===s));r&&(r.disabled+=t.enabled?-1:1)}));break;case"create":r.usercount++,e.userCount++,t.groups.forEach((t=>{const s=e.groups.find((e=>e.id===t));s&&s.usercount++}));break;case"remove":t.enabled?(r.usercount--,e.userCount--,t.groups.forEach((t=>{const s=e.groups.find((e=>e.id===t));s?s.usercount--:console.warn("User group "+t+" does not exist during user removal")}))):(a.usercount--,t.groups.forEach((t=>{const s=e.groups.find((e=>e.id===t));s&&s.disabled--})));break;default:A.A.error(`Unknown action type in updateUserCounts: '${s}'`)}},setUserData(e,{userid:t,key:s,value:r}){if("quota"===s){const a=(0,n.lT)(r,!0);e.users.find((e=>e.id===t))[s][s]=null!==a?a:r}else e.users.find((e=>e.id===t))[s]=r},resetUsers(e){e.users=[],e.usersOffset=0,e.disabledUsersOffset=0},resetGroups(e){e.groups=[...f.getSubAdminGroups??[],...f.systemGroups??[]]},setShowConfig(e,{key:t,value:s}){b.setItem(`account_settings__${t}`,JSON.stringify(s)),e.showConfig[t]=s},setGroupSorting(e,s){const r=e.orderBy;e.orderBy=s,p.Ay.post((0,c.Jv)("/settings/users/preferences/group.sortBy"),{value:String(s)}).catch((s=>{e.orderBy=r,(0,d.Qg)(t("settings","Could not set group sorting")),A.A.error(s)}))}},v={getUsers:e=>e.users,getGroups:e=>e.groups,getSubAdminGroups:()=>f.subAdminGroups??[],getSortedGroups(e){const t=[...e.groups];return e.orderBy===l.q.UserCount?t.sort(((e,t)=>{const s=e.usercount-e.disabled,r=t.usercount-t.disabled;return sg.compare(e.name,t.name)))},getGroupSorting:e=>e.orderBy,getPasswordPolicyMinLength:e=>e.minPasswordLength,getUsersOffset:e=>e.usersOffset,getUsersLimit:e=>e.usersLimit,getDisabledUsersOffset:e=>e.disabledUsersOffset,getDisabledUsersLimit:e=>e.disabledUsersLimit,getUserCount:e=>e.userCount,getShowConfig:e=>e.showConfig},L=p.Ay.CancelToken;let _=null;const w={state:I,mutations:U,getters:v,actions:{searchUsers:(e,{offset:t,limit:s,search:r})=>(r="string"==typeof r?r:"",h.A.get((0,c.KT)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:t,limit:s,search:r})).catch((t=>{p.Ay.isCancel(t)||e.commit("API_FAILURE",t)}))),getUser:(e,t)=>h.A.get((0,c.KT)(`cloud/users/${t}`)).catch((t=>{p.Ay.isCancel(t)||e.commit("API_FAILURE",t)})),getUsers:(e,{offset:t,limit:s,search:r,group:a})=>(_&&_.cancel("Operation canceled by another search request."),_=L.source(),r=(r="string"==typeof r?r:"").replace(/in:[^\s]+/g,"").trim(),""!==(a="string"==typeof a?a:"")?h.A.get((0,c.KT)("cloud/groups/{group}/users/details?offset={offset}&limit={limit}&search={search}",{group:encodeURIComponent(a),offset:t,limit:s,search:r}),{cancelToken:_.token}).then((t=>{const s=Object.keys(t.data.ocs.data.users).length;return s>0&&e.commit("appendUsers",t.data.ocs.data.users),s})).catch((t=>{p.Ay.isCancel(t)||e.commit("API_FAILURE",t)})):h.A.get((0,c.KT)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:t,limit:s,search:r}),{cancelToken:_.token}).then((t=>{const s=Object.keys(t.data.ocs.data.users).length;return s>0&&e.commit("appendUsers",t.data.ocs.data.users),s})).catch((t=>{p.Ay.isCancel(t)||e.commit("API_FAILURE",t)}))),async getRecentUsers(e,{offset:t,limit:s,search:r}){const a=(0,c.KT)("cloud/users/recent?offset={offset}&limit={limit}&search={search}",{offset:t,limit:s,search:r});try{const t=await h.A.get(a),s=Object.keys(t.data.ocs.data.users).length;return s>0&&e.commit("appendUsers",t.data.ocs.data.users),s}catch(t){e.commit("API_FAILURE",t)}},async getDisabledUsers(e,{offset:t,limit:s,search:r}){const a=(0,c.KT)("cloud/users/disabled?offset={offset}&limit={limit}&search={search}",{offset:t,limit:s,search:r});try{const t=await h.A.get(a),s=Object.keys(t.data.ocs.data.users).length;return s>0&&(e.commit("appendUsers",t.data.ocs.data.users),e.commit("updateDisabledUsers",t.data.ocs.data.users)),s}catch(t){e.commit("API_FAILURE",t)}},getGroups(e,{offset:t,limit:s,search:r}){r="string"==typeof r?r:"";const a=-1===s?"":`&limit=${s}`;return h.A.get((0,c.KT)("cloud/groups?offset={offset}&search={search}",{offset:t,search:r})+a).then((t=>Object.keys(t.data.ocs.data.groups).length>0&&(t.data.ocs.data.groups.forEach((function(t){e.commit("addGroup",{id:t,name:t})})),!0))).catch((t=>e.commit("API_FAILURE",t)))},getUsersFromList:(e,{offset:t,limit:s,search:r})=>(r="string"==typeof r?r:"",h.A.get((0,c.KT)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:t,limit:s,search:r})).then((t=>Object.keys(t.data.ocs.data.users).length>0&&(e.commit("appendUsers",t.data.ocs.data.users),!0))).catch((t=>e.commit("API_FAILURE",t)))),getUsersFromGroup:(e,{groupid:t,offset:s,limit:r})=>h.A.get((0,c.KT)("cloud/users/{groupId}/details?offset={offset}&limit={limit}",{groupId:encodeURIComponent(t),offset:s,limit:r})).then((t=>e.commit("getUsersFromList",t.data.ocs.data.users))).catch((t=>e.commit("API_FAILURE",t))),getPasswordPolicyMinLength:e=>!(!(0,i.F)().password_policy||!(0,i.F)().password_policy.minLength)&&(e.commit("setPasswordPolicyMinLength",(0,i.F)().password_policy.minLength),(0,i.F)().password_policy.minLength),addGroup:(e,t)=>h.A.requireAdmin().then((s=>h.A.post((0,c.KT)("cloud/groups"),{groupid:t}).then((s=>(e.commit("addGroup",{id:t,name:t}),{gid:t,displayName:t}))).catch((e=>{throw e})))).catch((s=>{throw e.commit("API_FAILURE",{gid:t,error:s}),s})),renameGroup:(e,{groupid:t,displayName:s})=>h.A.requireAdmin().then((r=>h.A.put((0,c.KT)("cloud/groups/{groupId}",{groupId:encodeURIComponent(t)}),{key:"displayname",value:s}).then((r=>(e.commit("renameGroup",{gid:t,displayName:s}),{groupid:t,displayName:s}))).catch((e=>{throw e})))).catch((s=>{throw e.commit("API_FAILURE",{groupid:t,error:s}),s})),removeGroup:(e,t)=>h.A.requireAdmin().then((s=>h.A.delete((0,c.KT)("cloud/groups/{groupId}",{groupId:encodeURIComponent(t)})).then((s=>e.commit("removeGroup",t))).catch((e=>{throw e})))).catch((s=>e.commit("API_FAILURE",{gid:t,error:s}))),addUserGroup:(e,{userid:t,gid:s})=>h.A.requireAdmin().then((r=>h.A.post((0,c.KT)("cloud/users/{userid}/groups",{userid:t}),{groupid:s}).then((r=>e.commit("addUserGroup",{userid:t,gid:s}))).catch((e=>{throw e})))).catch((s=>e.commit("API_FAILURE",{userid:t,error:s}))),removeUserGroup:(e,{userid:t,gid:s})=>h.A.requireAdmin().then((r=>h.A.delete((0,c.KT)("cloud/users/{userid}/groups",{userid:t}),{groupid:s}).then((r=>e.commit("removeUserGroup",{userid:t,gid:s}))).catch((e=>{throw e})))).catch((s=>{throw e.commit("API_FAILURE",{userid:t,error:s}),s})),addUserSubAdmin:(e,{userid:t,gid:s})=>h.A.requireAdmin().then((r=>h.A.post((0,c.KT)("cloud/users/{userid}/subadmins",{userid:t}),{groupid:s}).then((r=>e.commit("addUserSubAdmin",{userid:t,gid:s}))).catch((e=>{throw e})))).catch((s=>e.commit("API_FAILURE",{userid:t,error:s}))),removeUserSubAdmin:(e,{userid:t,gid:s})=>h.A.requireAdmin().then((r=>h.A.delete((0,c.KT)("cloud/users/{userid}/subadmins",{userid:t}),{groupid:s}).then((r=>e.commit("removeUserSubAdmin",{userid:t,gid:s}))).catch((e=>{throw e})))).catch((s=>e.commit("API_FAILURE",{userid:t,error:s}))),async wipeUserDevices(e,t){try{return await h.A.requireAdmin(),await h.A.post((0,c.KT)("cloud/users/{userid}/wipe",{userid:t}))}catch(s){return e.commit("API_FAILURE",{userid:t,error:s}),Promise.reject(new Error("Failed to wipe user devices"))}},deleteUser:(e,t)=>h.A.requireAdmin().then((s=>h.A.delete((0,c.KT)("cloud/users/{userid}",{userid:t})).then((s=>e.commit("deleteUser",t))).catch((e=>{throw e})))).catch((s=>e.commit("API_FAILURE",{userid:t,error:s}))),addUser:({commit:e,dispatch:t},{userid:s,password:r,displayName:a,email:o,groups:i,subadmin:n,quota:d,language:u,manager:p})=>h.A.requireAdmin().then((e=>h.A.post((0,c.KT)("cloud/users"),{userid:s,password:r,displayName:a,email:o,groups:i,subadmin:n,quota:d,language:u,manager:p}).then((e=>t("addUserData",s||e.data.ocs.data.id))).catch((e=>{throw e})))).catch((t=>{throw e("API_FAILURE",{userid:s,error:t}),t})),addUserData:(e,t)=>h.A.requireAdmin().then((s=>h.A.get((0,c.KT)("cloud/users/{userid}",{userid:t})).then((t=>e.commit("addUserData",t))).catch((e=>{throw e})))).catch((s=>e.commit("API_FAILURE",{userid:t,error:s}))),enableDisableUser(e,{userid:t,enabled:s=!0}){const r=s?"enable":"disable";return h.A.requireAdmin().then((a=>h.A.put((0,c.KT)("cloud/users/{userid}/{userStatus}",{userid:t,userStatus:r})).then((r=>e.commit("enableDisableUser",{userid:t,enabled:s}))).catch((e=>{throw e})))).catch((s=>e.commit("API_FAILURE",{userid:t,error:s})))},async setUserData(e,{userid:t,key:s,value:r}){if(!["email","language","quota","displayname","password","manager"].includes(s))throw new Error("Invalid request data");if(""===r&&!["email","displayname","manager"].includes(s))throw new Error("Value cannot be empty for this field");try{return await h.A.requireAdmin(),await h.A.put((0,c.KT)("cloud/users/{userid}",{userid:t}),{key:s,value:r}),e.commit("setUserData",{userid:t,key:s,value:r})}catch(s){throw e.commit("API_FAILURE",{userid:t,error:s}),s}},sendWelcomeMail:(e,t)=>h.A.requireAdmin().then((e=>h.A.post((0,c.KT)("cloud/users/{userid}/welcome",{userid:t})).then((e=>!0)).catch((e=>{throw e})))).catch((s=>e.commit("API_FAILURE",{userid:t,error:s})))}};var P=r(85471);const E={apps:[],bundles:(0,u.C)("settings","appstoreBundles",[]),categories:[],updateCount:(0,u.C)("settings","appstoreUpdateCount",0),loading:{},gettingCategoriesPromise:null,appApiEnabled:(0,u.C)("settings","appApiEnabled",!1)},C={APPS_API_FAILURE(e,s){(0,d.Qg)(t("settings","An error occurred during the request. Unable to proceed.")+"
"+s.error.response.data.data.message,{isHTML:!0}),console.error(e,s)},initCategories(e,{categories:t,updateCount:s}){e.categories=t,e.updateCount=s},updateCategories(e,t){e.gettingCategoriesPromise=t},setUpdateCount(e,t){e.updateCount=t},addCategory(e,t){e.categories.push(t)},appendCategories(e,t){e.categories=t},setAllApps(e,t){e.apps=t},setError(e,{appId:t,error:s}){Array.isArray(t)||(t=[t]),t.forEach((t=>{e.apps.find((e=>e.id===t)).error=s}))},clearError(e,{appId:t,error:s}){e.apps.find((e=>e.id===t)).error=null},enableApp(e,{appId:t,groups:s}){const r=e.apps.find((e=>e.id===t));r.active=!0,P.Ay.set(r,"groups",[...s]),"app_api"===r.id&&(e.appApiEnabled=!0)},setInstallState(e,{appId:t,canInstall:s}){const r=e.apps.find((e=>e.id===t));r&&(r.canInstall=!0===s)},disableApp(e,t){const s=e.apps.find((e=>e.id===t));s.active=!1,s.groups=[],s.removable&&(s.canUnInstall=!0),"app_api"===s.id&&(e.appApiEnabled=!1)},uninstallApp(e,t){e.apps.find((e=>e.id===t)).active=!1,e.apps.find((e=>e.id===t)).groups=[],e.apps.find((e=>e.id===t)).needsDownload=!0,e.apps.find((e=>e.id===t)).installed=!1,e.apps.find((e=>e.id===t)).canUnInstall=!1,e.apps.find((e=>e.id===t)).canInstall=!0,"app_api"===t&&(e.appApiEnabled=!1)},updateApp(e,t){const s=e.apps.find((e=>e.id===t)),r=s.update;s.update=null,s.version=r,e.updateCount--},resetApps(e){e.apps=[]},reset(e){e.apps=[],e.categories=[],e.updateCount=0},startLoading(e,t){Array.isArray(t)?t.forEach((t=>{P.Ay.set(e.loading,t,!0)})):P.Ay.set(e.loading,t,!0)},stopLoading(e,t){Array.isArray(t)?t.forEach((t=>{P.Ay.set(e.loading,t,!1)})):P.Ay.set(e.loading,t,!1)}},T={enableApp(e,{appId:s,groups:r}){let a;return a=Array.isArray(s)?s:[s],h.A.requireAdmin().then((o=>{e.commit("startLoading",a),e.commit("startLoading","install");const i={};return a.forEach((t=>{const s=e.state.apps.find((e=>e.id===t));s&&(i[t]={active:s.active,groups:[...s.groups||[]]},e.commit("enableApp",{appId:t,groups:r}))})),h.A.post((0,c.Jv)("settings/apps/enable"),{appIds:a,groups:r}).then((o=>(e.commit("stopLoading",a),e.commit("stopLoading","install"),a.forEach((t=>{e.commit("enableApp",{appId:t,groups:r})})),p.Ay.get((0,c.Jv)("apps/files/")).then((()=>{o.data.update_required&&((0,d.cf)(t("settings","The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds."),{onClick:()=>window.location.reload(),close:!1}),setTimeout((function(){location.reload()}),5e3))})).catch((()=>{Array.isArray(s)||((0,d.Qg)(t("settings","Error: This app cannot be enabled because it makes the server unstable")),e.commit("setError",{appId:a,error:t("settings","Error: This app cannot be enabled because it makes the server unstable")}),e.dispatch("disableApp",{appId:s}))}))))).catch((t=>{e.commit("stopLoading",a),e.commit("stopLoading","install"),a.forEach((t=>{i[t]&&(e.commit("enableApp",{appId:t,groups:i[t].groups}),i[t].active||e.commit("disableApp",t))})),e.commit("setError",{appId:a,error:t.response.data.data.message}),e.commit("APPS_API_FAILURE",{appId:s,error:t})}))})).catch((t=>e.commit("API_FAILURE",{appId:s,error:t})))},forceEnableApp(e,{appId:t,groups:s}){let r;return r=Array.isArray(t)?t:[t],h.A.requireAdmin().then((()=>(e.commit("startLoading",r),e.commit("startLoading","install"),h.A.post((0,c.Jv)("settings/apps/force"),{appId:t}).then((s=>{e.commit("setInstallState",{appId:t,canInstall:!0})})).catch((s=>{e.commit("stopLoading",r),e.commit("stopLoading","install"),e.commit("setError",{appId:r,error:s.response.data.data.message}),e.commit("APPS_API_FAILURE",{appId:t,error:s})})).finally((()=>{e.commit("stopLoading",r),e.commit("stopLoading","install")}))))).catch((s=>e.commit("API_FAILURE",{appId:t,error:s})))},disableApp(e,{appId:t}){let s;return s=Array.isArray(t)?t:[t],h.A.requireAdmin().then((r=>(e.commit("startLoading",s),h.A.post((0,c.Jv)("settings/apps/disable"),{appIds:s}).then((t=>(e.commit("stopLoading",s),s.forEach((t=>{e.commit("disableApp",t)})),!0))).catch((r=>{e.commit("stopLoading",s),e.commit("APPS_API_FAILURE",{appId:t,error:r})}))))).catch((s=>e.commit("API_FAILURE",{appId:t,error:s})))},uninstallApp:(e,{appId:t})=>h.A.requireAdmin().then((s=>(e.commit("startLoading",t),h.A.get((0,c.Jv)(`settings/apps/uninstall/${t}`)).then((s=>(e.commit("stopLoading",t),e.commit("uninstallApp",t),!0))).catch((s=>{e.commit("stopLoading",t),e.commit("APPS_API_FAILURE",{appId:t,error:s})}))))).catch((s=>e.commit("API_FAILURE",{appId:t,error:s}))),updateApp:(e,{appId:t})=>h.A.requireAdmin().then((s=>(e.commit("startLoading",t),e.commit("startLoading","install"),h.A.get((0,c.Jv)(`settings/apps/update/${t}`)).then((s=>(e.commit("stopLoading","install"),e.commit("stopLoading",t),e.commit("updateApp",t),!0))).catch((s=>{e.commit("stopLoading",t),e.commit("stopLoading","install"),e.commit("APPS_API_FAILURE",{appId:t,error:s})}))))).catch((s=>e.commit("API_FAILURE",{appId:t,error:s}))),getAllApps:e=>(e.commit("startLoading","list"),h.A.get((0,c.Jv)("settings/apps/list")).then((t=>(e.commit("setAllApps",t.data.apps),e.commit("stopLoading","list"),!0))).catch((t=>e.commit("API_FAILURE",t)))),async getCategories(e,{shouldRefetchCategories:t=!1}={}){if(t||!e.state.gettingCategoriesPromise){e.commit("startLoading","categories");try{const t=h.A.get((0,c.Jv)("settings/apps/categories"));e.commit("updateCategories",t);const s=await t;return s.data.length>0?(e.commit("appendCategories",s.data),e.commit("stopLoading","categories"),!0):(e.commit("stopLoading","categories"),!1)}catch(t){e.commit("API_FAILURE",t)}}return e.state.gettingCategoriesPromise}},R={state:E,mutations:C,getters:{isAppApiEnabled:e=>e.appApiEnabled,loading:e=>function(t){return e.loading[t]},getCategories:e=>e.categories,getAllApps:e=>e.apps,getAppBundles:e=>e.bundles,getUpdateCount:e=>e.updateCount,getCategoryById:e=>t=>e.categories.find((e=>e.id===t))},actions:T},F={serverData:(0,u.C)("settings","usersSettings",{})},k={setServerData(e,t){e.serverData=t}},S={state:F,mutations:k,getters:{getServerData:e=>e.serverData},actions:{}},O={state:{},mutations:{},getters:{},actions:{setAppConfig:(e,{app:t,key:s,value:r})=>h.A.requireAdmin().then((e=>h.A.post((0,c.KT)("apps/provisioning_api/api/v1/config/apps/{app}/{key}",{app:t,key:s}),{value:r}).catch((e=>{throw e})))).catch((a=>e.commit("API_FAILURE",{app:t,key:s,value:r,error:a})))}},q={API_FAILURE(e,s){try{const e=s.error.response.data.ocs.meta.message;(0,d.Qg)(t("settings","An error occurred during the request. Unable to proceed.")+"
"+e,{isHTML:!0})}catch(e){(0,d.Qg)(t("settings","An error occurred during the request. Unable to proceed."))}console.error(e,s)}};let G=null;const K=()=>(null===G&&(G=new a.il({modules:{users:w,apps:R,settings:S,oc:O},strict:!1,mutations:q})),G)},15916(e,t,s){"use strict";var r;s.d(t,{q:()=>r}),function(e){e[e.UserCount=1]="UserCount",e[e.GroupName=2]="GroupName"}(r||(r={}))},18539(e,t,s){"use strict";var r=s(85471),a=s(95353),o=s(80284),i=s(58723),n=s(53334),d=s(22378);const c=(0,r.pM)({__name:"SettingsApp",setup:e=>({__sfc:!0,NcContent:d.A})}),u=(0,s(14486).A)(c,(function(){var e=this,t=e._self._c;return t(e._self._setupProxy.NcContent,{attrs:{"app-name":"settings"}},[t("router-view",{attrs:{name:"navigation"}}),e._v(" "),t("router-view"),e._v(" "),t("router-view",{attrs:{name:"sidebar"}})],1)}),[],!1,null,null,null).exports;var p=s(40173),l=s(63814);const m=[{name:"users",path:"/:index(index.php/)?settings/users",components:{default:()=>Promise.all([s.e(4208),s.e(7265),s.e(3239)]).then(s.bind(s,15272)),navigation:()=>Promise.all([s.e(4208),s.e(7265),s.e(3239)]).then(s.bind(s,65821))},props:!0,children:[{path:":selectedGroup",name:"group"}]},{path:"/:index(index.php/)?settings/apps",name:"apps",redirect:{name:"apps-category",params:{category:(0,s(32981).C)("settings","appstoreEnabled",!0)?"discover":"installed"}},components:{default:()=>Promise.all([s.e(4208),s.e(7265),s.e(4529)]).then(s.bind(s,79852)),navigation:()=>Promise.all([s.e(4208),s.e(7265),s.e(4529)]).then(s.bind(s,28372)),sidebar:()=>Promise.all([s.e(4208),s.e(7265),s.e(4529)]).then(s.bind(s,37058))},children:[{path:":category",name:"apps-category",children:[{path:":id",name:"apps-details"}]}]}];r.Ay.use(p.Ay);const g=new p.Ay({mode:"history",base:(0,l.Jv)(""),linkActiveClass:"active",routes:m});var h=s(14744),A=s(21777),f=s(65899);s.nc=(0,A.aV)(),r.Ay.prototype.t=n.t,r.Ay.prototype.n=n.n,r.Ay.use(f.R2),r.Ay.use(o.Ay,{defaultHtml:!1}),r.Ay.use(a.Ay);const b=(0,h.P)();(0,i.O)(b,g);const y=(0,f.Ey)();new r.Ay({router:g,store:b,pinia:y,render:e=>e(u),el:"#content"})},36620(e,t,s){"use strict";s.d(t,{A:()=>r});const r=(0,s(35947).YK)().setApp("settings").detectUser().build()},58723(e,t){function s(e,t){var r={name:e.name,path:e.path,hash:e.hash,query:e.query,params:e.params,fullPath:e.fullPath,meta:e.meta};return t&&(r.from=s(t)),Object.freeze(r)}t.O=function(e,t,r){var a=(r||{}).moduleName||"route";e.registerModule(a,{namespaced:!0,state:s(t.currentRoute),mutations:{ROUTE_CHANGED:function(t,r){e.state[a]=s(r.to,r.from)}}});var o,i=!1,n=e.watch((function(e){return e[a]}),(function(e){var s=e.fullPath;s!==o&&(null!=o&&(i=!0,t.push(e)),o=s)}),{sync:!0}),d=t.afterEach((function(t,s){i?i=!1:(o=t.fullPath,e.commit(a+"/ROUTE_CHANGED",{to:t,from:s}))}));return function(){null!=d&&d(),null!=n&&n(),e.unregisterModule(a)}}}},o={};function i(e){var t=o[e];if(void 0!==t)return t.exports;var s=o[e]={id:e,loaded:!1,exports:{}};return a[e].call(s.exports,s,s.exports,i),s.loaded=!0,s.exports}i.m=a,e=[],i.O=(t,s,r,a)=>{if(!s){var o=1/0;for(u=0;u=a)&&Object.keys(i.O).every((e=>i.O[e](s[d])))?s.splice(d--,1):(n=!1,a0&&e[u-1][2]>a;u--)e[u]=e[u-1];e[u]=[s,r,a]},i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var s in t)i.o(t,s)&&!i.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,s)=>(i.f[s](e,t),t)),[])),i.u=e=>(({3239:"settings-users",4529:"settings-apps-view"}[e]||e)+"-"+e+".js?v="+{256:"a0a66d8a483323fceabd",3239:"80fab087698056c0943d",3303:"96b90b1ba78ea11d9e36",3731:"03a157235c000f83910a",4529:"1c2c3542f9da32ca3184",5862:"10fe36062cea7941d5a0",6329:"da6ad198a7ca85dde977",7265:"d7160b14ff5971255399",7471:"806ad727bd04144ac45f",8737:"d1c9f189cbfe0cd1ba97",9972:"440f2099df705a3b52ad"}[e]),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),s={},r="nextcloud:",i.l=(e,t,a,o)=>{if(s[e])s[e].push(t);else{var n,d;if(void 0!==a)for(var c=document.getElementsByTagName("script"),u=0;u{n.onerror=n.onload=null,clearTimeout(m);var a=s[e];if(delete s[e],n.parentNode&&n.parentNode.removeChild(n),a&&a.forEach((e=>e(r))),t)return t(r)},m=setTimeout(l.bind(null,void 0,{type:"timeout",target:n}),12e4);n.onerror=l.bind(null,n.onerror),n.onload=l.bind(null,n.onload),d&&document.head.appendChild(n)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),i.j=2689,(()=>{var e;globalThis.importScripts&&(e=globalThis.location+"");var t=globalThis.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var s=t.getElementsByTagName("script");if(s.length)for(var r=s.length-1;r>-1&&(!e||!/^http(s?):/.test(e));)e=s[r--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),i.p=e})(),(()=>{i.b="undefined"!=typeof document&&document.baseURI||self.location.href;var e={2689:0};i.f.j=(t,s)=>{var r=i.o(e,t)?e[t]:void 0;if(0!==r)if(r)s.push(r[2]);else{var a=new Promise(((s,a)=>r=e[t]=[s,a]));s.push(r[2]=a);var o=i.p+i.u(t),n=new Error;i.l(o,(s=>{if(i.o(e,t)&&(0!==(r=e[t])&&(e[t]=void 0),r)){var a=s&&("load"===s.type?"missing":s.type),o=s&&s.target&&s.target.src;n.message="Loading chunk "+t+" failed.\n("+a+": "+o+")",n.name="ChunkLoadError",n.type=a,n.request=o,r[1](n)}}),"chunk-"+t,t)}},i.O.j=t=>0===e[t];var t=(t,s)=>{var r,a,[o,n,d]=s,c=0;if(o.some((t=>0!==e[t]))){for(r in n)i.o(n,r)&&(i.m[r]=n[r]);if(d)var u=d(i)}for(t&&t(s);ci(18539)));n=i.O(n)})(); +//# sourceMappingURL=settings-vue-settings-apps-users-management.js.map?v=f1dacfa595f2b39461ff \ No newline at end of file diff --git a/dist/settings-vue-settings-apps-users-management.js.map b/dist/settings-vue-settings-apps-users-management.js.map index b18381f88279c..f79d86437a782 100644 --- a/dist/settings-vue-settings-apps-users-management.js.map +++ b/dist/settings-vue-settings-apps-users-management.js.map @@ -1 +1 @@ -{"version":3,"file":"settings-vue-settings-apps-users-management.js?v=3e72a1fbdcae0ffc3eb9","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/apps/settings/src/store/api.js","webpack:///nextcloud/apps/settings/src/utils/sorting.ts","webpack:///nextcloud/apps/settings/src/store/users.js","webpack:///nextcloud/apps/settings/src/store/apps.js","webpack:///nextcloud/apps/settings/src/store/users-settings.js","webpack:///nextcloud/apps/settings/src/store/oc.js","webpack:///nextcloud/apps/settings/src/store/index.js","webpack:///nextcloud/apps/settings/src/constants/GroupManagement.ts","webpack:///nextcloud/apps/settings/src/views/SettingsApp.vue","webpack:///nextcloud/apps/settings/src/views/SettingsApp.vue?vue&type=script&setup=true&lang=ts","webpack://nextcloud/./apps/settings/src/views/SettingsApp.vue?3a67","webpack:///nextcloud/apps/settings/src/router/routes.ts","webpack:///nextcloud/apps/settings/src/router/index.ts","webpack:///nextcloud/apps/settings/src/main-apps-users-management.ts","webpack:///nextcloud/apps/settings/src/logger.ts","webpack:///nextcloud/node_modules/vuex-router-sync/index.js","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","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/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["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, fn, priority] = deferred[i];\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};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport axios from '@nextcloud/axios'\nimport { confirmPassword } from '@nextcloud/password-confirmation'\nimport '@nextcloud/password-confirmation/dist/style.css'\n\nconst sanitize = function(url) {\n\treturn url.replace(/\\/$/, '') // Remove last url slash\n}\n\nexport default {\n\n\t/**\n\t * This Promise is used to chain a request that require an admin password confirmation\n\t * Since chaining Promise have a very precise behavior concerning catch and then,\n\t * you'll need to be careful when using it.\n\t * e.g\n\t * // store\n\t * action(context) {\n\t * return api.requireAdmin().then((response) => {\n\t * return api.get('url')\n\t * .then((response) => {API success})\n\t * .catch((error) => {API failure});\n\t * }).catch((error) => {requireAdmin failure});\n\t * }\n\t * // vue\n\t * this.$store.dispatch('action').then(() => {always executed})\n\t *\n\t * Since Promise.then().catch().then() will always execute the last then\n\t * this.$store.dispatch('action').then will always be executed\n\t *\n\t * If you want requireAdmin failure to also catch the API request failure\n\t * you will need to throw a new error in the api.get.catch()\n\t *\n\t * e.g\n\t * api.requireAdmin().then((response) => {\n\t * api.get('url')\n\t * .then((response) => {API success})\n\t * .catch((error) => {throw error;});\n\t * }).catch((error) => {requireAdmin OR API failure});\n\t *\n\t * @return {Promise}\n\t */\n\trequireAdmin() {\n\t\treturn confirmPassword()\n\t},\n\tget(url, options) {\n\t\treturn axios.get(sanitize(url), options)\n\t},\n\tpost(url, data) {\n\t\treturn axios.post(sanitize(url), data)\n\t},\n\tpatch(url, data) {\n\t\treturn axios.patch(sanitize(url), data)\n\t},\n\tput(url, data) {\n\t\treturn axios.put(sanitize(url), data)\n\t},\n\tdelete(url, data) {\n\t\treturn axios.delete(sanitize(url), { params: data })\n\t},\n}\n","/**\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getCanonicalLocale, getLanguage } from '@nextcloud/l10n';\nexport const naturalCollator = Intl.Collator([getLanguage(), getCanonicalLocale()], {\n numeric: true,\n usage: 'sort',\n});\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getBuilder } from '@nextcloud/browser-storage'\nimport { getCapabilities } from '@nextcloud/capabilities'\nimport { parseFileSize } from '@nextcloud/files'\nimport { showError } from '@nextcloud/dialogs'\nimport { generateOcsUrl, generateUrl } from '@nextcloud/router'\nimport { loadState } from '@nextcloud/initial-state'\nimport axios from '@nextcloud/axios'\n\nimport { GroupSorting } from '../constants/GroupManagement.ts'\nimport { naturalCollator } from '../utils/sorting.ts'\nimport api from './api.js'\nimport logger from '../logger.ts'\n\nconst usersSettings = loadState('settings', 'usersSettings', {})\n\nconst localStorage = getBuilder('settings').persist(true).build()\n\nconst defaults = {\n\t/**\n\t * @type {import('../views/user-types').IGroup}\n\t */\n\tgroup: {\n\t\tid: '',\n\t\tname: '',\n\t\tusercount: 0,\n\t\tdisabled: 0,\n\t\tcanAdd: true,\n\t\tcanRemove: true,\n\t},\n}\n\nconst state = {\n\tusers: [],\n\tgroups: [\n\t\t...(usersSettings.getSubAdminGroups ?? []),\n\t\t...(usersSettings.systemGroups ?? []),\n\t],\n\torderBy: usersSettings.sortGroups ?? GroupSorting.UserCount,\n\tminPasswordLength: 0,\n\tusersOffset: 0,\n\tusersLimit: 25,\n\tdisabledUsersOffset: 0,\n\tdisabledUsersLimit: 25,\n\tuserCount: usersSettings.userCount ?? 0,\n\tshowConfig: {\n\t\tshowStoragePath: localStorage.getItem('account_settings__showStoragePath') === 'true',\n\t\tshowUserBackend: localStorage.getItem('account_settings__showUserBackend') === 'true',\n\t\tshowFirstLogin: localStorage.getItem('account_settings__showFirstLogin') === 'true',\n\t\tshowLastLogin: localStorage.getItem('account_settings__showLastLogin') === 'true',\n\t\tshowNewUserForm: localStorage.getItem('account_settings__showNewUserForm') === 'true',\n\t\tshowLanguages: localStorage.getItem('account_settings__showLanguages') === 'true',\n\t},\n}\n\nconst mutations = {\n\tappendUsers(state, usersObj) {\n\t\tconst existingUsers = state.users.map(({ id }) => id)\n\t\tconst newUsers = Object.values(usersObj)\n\t\t\t.filter(({ id }) => !existingUsers.includes(id))\n\n\t\tconst users = state.users.concat(newUsers)\n\t\tstate.usersOffset += state.usersLimit\n\t\tstate.users = users\n\t},\n\tupdateDisabledUsers(state, _usersObj) {\n\t\tstate.disabledUsersOffset += state.disabledUsersLimit\n\t},\n\tsetPasswordPolicyMinLength(state, length) {\n\t\tstate.minPasswordLength = length !== '' ? length : 0\n\t},\n\t/**\n\t * @param {object} state store state\n\t * @param {import('../views/user-types.js').IGroup} newGroup new group\n\t */\n\taddGroup(state, newGroup) {\n\t\ttry {\n\t\t\tif (typeof state.groups.find((group) => group.id === newGroup.id) !== 'undefined') {\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// extend group to default values\n\t\t\tconst group = Object.assign({}, defaults.group, newGroup)\n\t\t\tstate.groups.unshift(group)\n\t\t} catch (e) {\n\t\t\tconsole.error('Can\\'t create group', e)\n\t\t}\n\t},\n\trenameGroup(state, { gid, displayName }) {\n\t\tconst groupIndex = state.groups.findIndex(groupSearch => groupSearch.id === gid)\n\t\tif (groupIndex >= 0) {\n\t\t\tconst updatedGroup = state.groups[groupIndex]\n\t\t\tupdatedGroup.name = displayName\n\t\t\tstate.groups.splice(groupIndex, 1, updatedGroup)\n\t\t}\n\t},\n\tremoveGroup(state, gid) {\n\t\tconst groupIndex = state.groups.findIndex(groupSearch => groupSearch.id === gid)\n\t\tif (groupIndex >= 0) {\n\t\t\tstate.groups.splice(groupIndex, 1)\n\t\t}\n\t},\n\taddUserGroup(state, { userid, gid }) {\n\t\tconst group = state.groups.find(groupSearch => groupSearch.id === gid)\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\t// increase count if user is enabled\n\t\tif (group && user.enabled && state.userCount > 0) {\n\t\t\tgroup.usercount++\n\t\t}\n\t\tconst groups = user.groups\n\t\tgroups.push(gid)\n\t},\n\tremoveUserGroup(state, { userid, gid }) {\n\t\tconst group = state.groups.find(groupSearch => groupSearch.id === gid)\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\t// lower count if user is enabled\n\t\tif (group && user.enabled && state.userCount > 0) {\n\t\t\tgroup.usercount--\n\t\t}\n\t\tconst groups = user.groups\n\t\tgroups.splice(groups.indexOf(gid), 1)\n\t},\n\taddUserSubAdmin(state, { userid, gid }) {\n\t\tconst groups = state.users.find(user => user.id === userid).subadmin\n\t\tgroups.push(gid)\n\t},\n\tremoveUserSubAdmin(state, { userid, gid }) {\n\t\tconst groups = state.users.find(user => user.id === userid).subadmin\n\t\tgroups.splice(groups.indexOf(gid), 1)\n\t},\n\tdeleteUser(state, userid) {\n\t\tconst userIndex = state.users.findIndex(user => user.id === userid)\n\t\tthis.commit('updateUserCounts', { user: state.users[userIndex], actionType: 'remove' })\n\t\tstate.users.splice(userIndex, 1)\n\t},\n\taddUserData(state, response) {\n\t\tconst user = response.data.ocs.data\n\t\tstate.users.unshift(user)\n\t\tthis.commit('updateUserCounts', { user, actionType: 'create' })\n\t},\n\tenableDisableUser(state, { userid, enabled }) {\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\tuser.enabled = enabled\n\t\tthis.commit('updateUserCounts', { user, actionType: enabled ? 'enable' : 'disable' })\n\t},\n\t// update active/disabled counts, groups counts\n\tupdateUserCounts(state, { user, actionType }) {\n\t\t// 0 is a special value\n\t\tif (state.userCount === 0) {\n\t\t\treturn\n\t\t}\n\n\t\tconst recentGroup = state.groups.find(group => group.id === '__nc_internal_recent')\n\t\tconst disabledGroup = state.groups.find(group => group.id === 'disabled')\n\t\tswitch (actionType) {\n\t\tcase 'enable':\n\t\tcase 'disable':\n\t\t\tdisabledGroup.usercount += user.enabled ? -1 : 1 // update Disabled Users count\n\t\t\trecentGroup.usercount += user.enabled ? 1 : -1\n\t\t\tstate.userCount += user.enabled ? 1 : -1 // update Active Users count\n\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\tif (!group) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tgroup.disabled += user.enabled ? -1 : 1 // update group disabled count\n\t\t\t})\n\t\t\tbreak\n\t\tcase 'create':\n\t\t\trecentGroup.usercount++\n\t\t\tstate.userCount++ // increment Active Users count\n\n\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\tif (!group) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tgroup.usercount++ // increment group total count\n\t\t\t})\n\t\t\tbreak\n\t\tcase 'remove':\n\t\t\tif (user.enabled) {\n\t\t\t\trecentGroup.usercount--\n\t\t\t\tstate.userCount-- // decrement Active Users count\n\t\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\t\tif (!group) {\n\t\t\t\t\t\tconsole.warn('User group ' + userGroup + ' does not exist during user removal')\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tgroup.usercount-- // decrement group total count\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tdisabledGroup.usercount-- // decrement Disabled Users count\n\t\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\t\tif (!group) {\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tgroup.disabled-- // decrement group disabled count\n\t\t\t\t})\n\t\t\t}\n\t\t\tbreak\n\t\tdefault:\n\t\t\tlogger.error(`Unknown action type in updateUserCounts: '${actionType}'`)\n\t\t\t// not throwing error to interrupt execution as this is not fatal\n\t\t}\n\t},\n\tsetUserData(state, { userid, key, value }) {\n\t\tif (key === 'quota') {\n\t\t\tconst humanValue = parseFileSize(value, true)\n\t\t\tstate.users.find(user => user.id === userid)[key][key] = humanValue !== null ? humanValue : value\n\t\t} else {\n\t\t\tstate.users.find(user => user.id === userid)[key] = value\n\t\t}\n\t},\n\n\t/**\n\t * Reset users list\n\t *\n\t * @param {object} state the store state\n\t */\n\tresetUsers(state) {\n\t\tstate.users = []\n\t\tstate.usersOffset = 0\n\t\tstate.disabledUsersOffset = 0\n\t},\n\n\t/**\n\t * Reset group list\n\t *\n\t * @param {object} state the store state\n\t */\n\tresetGroups(state) {\n\t\tstate.groups = [\n\t\t\t...(usersSettings.getSubAdminGroups ?? []),\n\t\t\t...(usersSettings.systemGroups ?? []),\n\t\t]\n\t},\n\n\tsetShowConfig(state, { key, value }) {\n\t\tlocalStorage.setItem(`account_settings__${key}`, JSON.stringify(value))\n\t\tstate.showConfig[key] = value\n\t},\n\n\tsetGroupSorting(state, sorting) {\n\t\tconst oldValue = state.orderBy\n\t\tstate.orderBy = sorting\n\n\t\t// Persist the value on the server\n\t\taxios.post(\n\t\t\tgenerateUrl('/settings/users/preferences/group.sortBy'),\n\t\t\t{\n\t\t\t\tvalue: String(sorting),\n\t\t\t},\n\t\t).catch((error) => {\n\t\t\tstate.orderBy = oldValue\n\t\t\tshowError(t('settings', 'Could not set group sorting'))\n\t\t\tlogger.error(error)\n\t\t})\n\t},\n}\n\nconst getters = {\n\tgetUsers(state) {\n\t\treturn state.users\n\t},\n\tgetGroups(state) {\n\t\treturn state.groups\n\t},\n\tgetSubAdminGroups() {\n\t\treturn usersSettings.subAdminGroups ?? []\n\t},\n\n\tgetSortedGroups(state) {\n\t\tconst groups = [...state.groups]\n\t\tif (state.orderBy === GroupSorting.UserCount) {\n\t\t\treturn groups.sort((a, b) => {\n\t\t\t\tconst numA = a.usercount - a.disabled\n\t\t\t\tconst numB = b.usercount - b.disabled\n\t\t\t\treturn (numA < numB) ? 1 : (numB < numA ? -1 : naturalCollator.compare(a.name, b.name))\n\t\t\t})\n\t\t} else {\n\t\t\treturn groups.sort((a, b) => naturalCollator.compare(a.name, b.name))\n\t\t}\n\t},\n\tgetGroupSorting(state) {\n\t\treturn state.orderBy\n\t},\n\tgetPasswordPolicyMinLength(state) {\n\t\treturn state.minPasswordLength\n\t},\n\tgetUsersOffset(state) {\n\t\treturn state.usersOffset\n\t},\n\tgetUsersLimit(state) {\n\t\treturn state.usersLimit\n\t},\n\tgetDisabledUsersOffset(state) {\n\t\treturn state.disabledUsersOffset\n\t},\n\tgetDisabledUsersLimit(state) {\n\t\treturn state.disabledUsersLimit\n\t},\n\tgetUserCount(state) {\n\t\treturn state.userCount\n\t},\n\tgetShowConfig(state) {\n\t\treturn state.showConfig\n\t},\n}\n\nconst CancelToken = axios.CancelToken\nlet searchRequestCancelSource = null\n\nconst actions = {\n\n\t/**\n\t * search users\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search Search amongst users\n\t * @return {Promise}\n\t */\n\tsearchUsers(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search })).catch((error) => {\n\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t}\n\t\t})\n\t},\n\n\t/**\n\t * Get user details\n\t *\n\t * @param {object} context store context\n\t * @param {string} userId user id\n\t * @return {Promise}\n\t */\n\tgetUser(context, userId) {\n\t\treturn api.get(generateOcsUrl(`cloud/users/${userId}`)).catch((error) => {\n\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t}\n\t\t})\n\t},\n\n\t/**\n\t * Get all users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search Search amongst users\n\t * @param {string} options.group Get users from group\n\t * @return {Promise}\n\t */\n\tgetUsers(context, { offset, limit, search, group }) {\n\t\tif (searchRequestCancelSource) {\n\t\t\tsearchRequestCancelSource.cancel('Operation canceled by another search request.')\n\t\t}\n\t\tsearchRequestCancelSource = CancelToken.source()\n\t\tsearch = typeof search === 'string' ? search : ''\n\n\t\t/**\n\t\t * Adding filters in the search bar such as in:files, in:users, etc.\n\t\t * collides with this particular search, so we need to remove them\n\t\t * here and leave only the original search query\n\t\t */\n\t\tsearch = search.replace(/in:[^\\s]+/g, '').trim()\n\n\t\tgroup = typeof group === 'string' ? group : ''\n\t\tif (group !== '') {\n\t\t\treturn api.get(generateOcsUrl('cloud/groups/{group}/users/details?offset={offset}&limit={limit}&search={search}', { group: encodeURIComponent(group), offset, limit, search }), {\n\t\t\t\tcancelToken: searchRequestCancelSource.token,\n\t\t\t})\n\t\t\t\t.then((response) => {\n\t\t\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\t\t\tif (usersCount > 0) {\n\t\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t\t}\n\t\t\t\t\treturn usersCount\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t}\n\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search }), {\n\t\t\tcancelToken: searchRequestCancelSource.token,\n\t\t})\n\t\t\t.then((response) => {\n\t\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\t\tif (usersCount > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t}\n\t\t\t\treturn usersCount\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t\t}\n\t\t\t})\n\t},\n\n\t/**\n\t * Get recent users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search Search query\n\t * @return {Promise}\n\t */\n\tasync getRecentUsers(context, { offset, limit, search }) {\n\t\tconst url = generateOcsUrl('cloud/users/recent?offset={offset}&limit={limit}&search={search}', { offset, limit, search })\n\t\ttry {\n\t\t\tconst response = await api.get(url)\n\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\tif (usersCount > 0) {\n\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t}\n\t\t\treturn usersCount\n\t\t} catch (error) {\n\t\t\tcontext.commit('API_FAILURE', error)\n\t\t}\n\t},\n\n\t/**\n\t * Get disabled users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param options.search\n\t * @return {Promise}\n\t */\n\tasync getDisabledUsers(context, { offset, limit, search }) {\n\t\tconst url = generateOcsUrl('cloud/users/disabled?offset={offset}&limit={limit}&search={search}', { offset, limit, search })\n\t\ttry {\n\t\t\tconst response = await api.get(url)\n\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\tif (usersCount > 0) {\n\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\tcontext.commit('updateDisabledUsers', response.data.ocs.data.users)\n\t\t\t}\n\t\t\treturn usersCount\n\t\t} catch (error) {\n\t\t\tcontext.commit('API_FAILURE', error)\n\t\t}\n\t},\n\n\tgetGroups(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\t\tconst limitParam = limit === -1 ? '' : `&limit=${limit}`\n\t\treturn api.get(generateOcsUrl('cloud/groups?offset={offset}&search={search}', { offset, search }) + limitParam)\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.groups).length > 0) {\n\t\t\t\t\tresponse.data.ocs.data.groups.forEach(function(group) {\n\t\t\t\t\t\tcontext.commit('addGroup', { id: group, name: group })\n\t\t\t\t\t})\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\t/**\n\t * Get all users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search -\n\t * @return {Promise}\n\t */\n\tgetUsersFromList(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search }))\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.users).length > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\t/**\n\t * Get all users with full details from a groupid\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.groupid -\n\t * @return {Promise}\n\t */\n\tgetUsersFromGroup(context, { groupid, offset, limit }) {\n\t\treturn api.get(generateOcsUrl('cloud/users/{groupId}/details?offset={offset}&limit={limit}', { groupId: encodeURIComponent(groupid), offset, limit }))\n\t\t\t.then((response) => context.commit('getUsersFromList', response.data.ocs.data.users))\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\tgetPasswordPolicyMinLength(context) {\n\t\tif (getCapabilities().password_policy && getCapabilities().password_policy.minLength) {\n\t\t\tcontext.commit('setPasswordPolicyMinLength', getCapabilities().password_policy.minLength)\n\t\t\treturn getCapabilities().password_policy.minLength\n\t\t}\n\t\treturn false\n\t},\n\n\t/**\n\t * Add group\n\t *\n\t * @param {object} context store context\n\t * @param {string} gid Group id\n\t * @return {Promise}\n\t */\n\taddGroup(context, gid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/groups'), { groupid: gid })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('addGroup', { id: gid, name: gid })\n\t\t\t\t\treturn { gid, displayName: gid }\n\t\t\t\t})\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { gid, error })\n\t\t\t// let's throw one more time to prevent the view\n\t\t\t// from adding the user to a group that doesn't exists\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Rename group\n\t *\n\t * @param {object} context store context\n\t * @param {string} groupid Group id\n\t * @param {string} displayName Group display name\n\t * @return {Promise}\n\t */\n\trenameGroup(context, { groupid, displayName }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.put(generateOcsUrl('cloud/groups/{groupId}', { groupId: encodeURIComponent(groupid) }), { key: 'displayname', value: displayName })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('renameGroup', { gid: groupid, displayName })\n\t\t\t\t\treturn { groupid, displayName }\n\t\t\t\t})\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { groupid, error })\n\t\t\t// let's throw one more time to prevent the view\n\t\t\t// from renaming the group\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Remove group\n\t *\n\t * @param {object} context store context\n\t * @param {string} gid Group id\n\t * @return {Promise}\n\t */\n\tremoveGroup(context, gid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/groups/{groupId}', { groupId: encodeURIComponent(gid) }))\n\t\t\t\t.then((response) => context.commit('removeGroup', gid))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { gid, error }))\n\t},\n\n\t/**\n\t * Add user to group\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\taddUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/groups', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('addUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Remove user from group\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\tremoveUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}/groups', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('removeUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { userid, error })\n\t\t\t// let's throw one more time to prevent\n\t\t\t// the view from removing the user row on failure\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Add user to group admin\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\taddUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/subadmins', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('addUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Remove user from group admin\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\tremoveUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}/subadmins', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('removeUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Mark all user devices for remote wipe\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\tasync wipeUserDevices(context, userid) {\n\t\ttry {\n\t\t\tawait api.requireAdmin()\n\t\t\treturn await api.post(generateOcsUrl('cloud/users/{userid}/wipe', { userid }))\n\t\t} catch (error) {\n\t\t\tcontext.commit('API_FAILURE', { userid, error })\n\t\t\treturn Promise.reject(new Error('Failed to wipe user devices'))\n\t\t}\n\t},\n\n\t/**\n\t * Delete a user\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\tdeleteUser(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}', { userid }))\n\t\t\t\t.then((response) => context.commit('deleteUser', userid))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Add a user\n\t *\n\t * @param {object} context store context\n\t * @param {Function} context.commit -\n\t * @param {Function} context.dispatch -\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.password User password\n\t * @param {string} options.displayName User display name\n\t * @param {string} options.email User email\n\t * @param {string} options.groups User groups\n\t * @param {string} options.subadmin User subadmin groups\n\t * @param {string} options.quota User email\n\t * @param {string} options.language User language\n\t * @param {string} options.manager User manager\n\t * @return {Promise}\n\t */\n\taddUser({ commit, dispatch }, { userid, password, displayName, email, groups, subadmin, quota, language, manager }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users'), { userid, password, displayName, email, groups, subadmin, quota, language, manager })\n\t\t\t\t.then((response) => dispatch('addUserData', userid || response.data.ocs.data.id))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcommit('API_FAILURE', { userid, error })\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Get user data and commit addition\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\taddUserData(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.get(generateOcsUrl('cloud/users/{userid}', { userid }))\n\t\t\t\t.then((response) => context.commit('addUserData', response))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Enable or disable user\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {boolean} options.enabled User enablement status\n\t * @return {Promise}\n\t */\n\tenableDisableUser(context, { userid, enabled = true }) {\n\t\tconst userStatus = enabled ? 'enable' : 'disable'\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.put(generateOcsUrl('cloud/users/{userid}/{userStatus}', { userid, userStatus }))\n\t\t\t\t.then((response) => context.commit('enableDisableUser', { userid, enabled }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Edit user data\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.key User field to edit\n\t * @param {string} options.value Value of the change\n\t * @return {Promise}\n\t */\n\tasync setUserData(context, { userid, key, value }) {\n\t\tconst allowedEmpty = ['email', 'displayname', 'manager']\n\t\tconst validKeys = ['email', 'language', 'quota', 'displayname', 'password', 'manager']\n\n\t\tif (!validKeys.includes(key)) {\n\t\t\tthrow new Error('Invalid request data')\n\t\t}\n\n\t\t// If value is empty and the key doesn't allow empty values, throw error\n\t\tif (value === '' && !allowedEmpty.includes(key)) {\n\t\t\tthrow new Error('Value cannot be empty for this field')\n\t\t}\n\n\t\ttry {\n\t\t\tawait api.requireAdmin()\n\t\t\tawait api.put(generateOcsUrl('cloud/users/{userid}', { userid }), { key, value })\n\t\t\treturn context.commit('setUserData', { userid, key, value })\n\t\t} catch (error) {\n\t\t\tcontext.commit('API_FAILURE', { userid, error })\n\t\t\tthrow error\n\t\t}\n\t},\n\n\t/**\n\t * Send welcome mail\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\tsendWelcomeMail(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/welcome', { userid }))\n\t\t\t\t.then(response => true)\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport api from './api.js'\nimport Vue from 'vue'\nimport axios from '@nextcloud/axios'\nimport { generateUrl } from '@nextcloud/router'\nimport { showError, showInfo } from '@nextcloud/dialogs'\nimport { loadState } from '@nextcloud/initial-state'\n\nconst state = {\n\tapps: [],\n\tbundles: loadState('settings', 'appstoreBundles', []),\n\tcategories: [],\n\tupdateCount: loadState('settings', 'appstoreUpdateCount', 0),\n\tloading: {},\n\tgettingCategoriesPromise: null,\n\tappApiEnabled: loadState('settings', 'appApiEnabled', false),\n}\n\nconst mutations = {\n\n\tAPPS_API_FAILURE(state, error) {\n\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.') + '
' + error.error.response.data.data.message, { isHTML: true })\n\t\tconsole.error(state, error)\n\t},\n\n\tinitCategories(state, { categories, updateCount }) {\n\t\tstate.categories = categories\n\t\tstate.updateCount = updateCount\n\t},\n\n\tupdateCategories(state, categoriesPromise) {\n\t\tstate.gettingCategoriesPromise = categoriesPromise\n\t},\n\n\tsetUpdateCount(state, updateCount) {\n\t\tstate.updateCount = updateCount\n\t},\n\n\taddCategory(state, category) {\n\t\tstate.categories.push(category)\n\t},\n\n\tappendCategories(state, categoriesArray) {\n\t\t// convert obj to array\n\t\tstate.categories = categoriesArray\n\t},\n\n\tsetAllApps(state, apps) {\n\t\tstate.apps = apps\n\t},\n\n\tsetError(state, { appId, error }) {\n\t\tif (!Array.isArray(appId)) {\n\t\t\tappId = [appId]\n\t\t}\n\t\tappId.forEach((_id) => {\n\t\t\tconst app = state.apps.find(app => app.id === _id)\n\t\t\tapp.error = error\n\t\t})\n\t},\n\n\tclearError(state, { appId, error }) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.error = null\n\t},\n\n\tenableApp(state, { appId, groups }) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.active = true\n\t\tVue.set(app, 'groups', [...groups])\n\t\tif (app.id === 'app_api') {\n\t\t\tstate.appApiEnabled = true\n\t\t}\n\t},\n\n\tsetInstallState(state, { appId, canInstall }) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tif (app) {\n\t\t\tapp.canInstall = canInstall === true\n\t\t}\n\t},\n\n\tdisableApp(state, appId) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.active = false\n\t\tapp.groups = []\n\t\tif (app.removable) {\n\t\t\tapp.canUnInstall = true\n\t\t}\n\t\tif (app.id === 'app_api') {\n\t\t\tstate.appApiEnabled = false\n\t\t}\n\t},\n\n\tuninstallApp(state, appId) {\n\t\tstate.apps.find(app => app.id === appId).active = false\n\t\tstate.apps.find(app => app.id === appId).groups = []\n\t\tstate.apps.find(app => app.id === appId).needsDownload = true\n\t\tstate.apps.find(app => app.id === appId).installed = false\n\t\tstate.apps.find(app => app.id === appId).canUnInstall = false\n\t\tstate.apps.find(app => app.id === appId).canInstall = true\n\t\tif (appId === 'app_api') {\n\t\t\tstate.appApiEnabled = false\n\t\t}\n\t},\n\n\tupdateApp(state, appId) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tconst version = app.update\n\t\tapp.update = null\n\t\tapp.version = version\n\t\tstate.updateCount--\n\n\t},\n\n\tresetApps(state) {\n\t\tstate.apps = []\n\t},\n\treset(state) {\n\t\tstate.apps = []\n\t\tstate.categories = []\n\t\tstate.updateCount = 0\n\t},\n\tstartLoading(state, id) {\n\t\tif (Array.isArray(id)) {\n\t\t\tid.forEach((_id) => {\n\t\t\t\tVue.set(state.loading, _id, true)\n\t\t\t})\n\t\t} else {\n\t\t\tVue.set(state.loading, id, true)\n\t\t}\n\t},\n\tstopLoading(state, id) {\n\t\tif (Array.isArray(id)) {\n\t\t\tid.forEach((_id) => {\n\t\t\t\tVue.set(state.loading, _id, false)\n\t\t\t})\n\t\t} else {\n\t\t\tVue.set(state.loading, id, false)\n\t\t}\n\t},\n}\n\nconst getters = {\n\tisAppApiEnabled(state) {\n\t\treturn state.appApiEnabled\n\t},\n\tloading(state) {\n\t\treturn function(id) {\n\t\t\treturn state.loading[id]\n\t\t}\n\t},\n\tgetCategories(state) {\n\t\treturn state.categories\n\t},\n\tgetAllApps(state) {\n\t\treturn state.apps\n\t},\n\tgetAppBundles(state) {\n\t\treturn state.bundles\n\t},\n\tgetUpdateCount(state) {\n\t\treturn state.updateCount\n\t},\n\tgetCategoryById: (state) => (selectedCategoryId) => {\n\t\treturn state.categories.find((category) => category.id === selectedCategoryId)\n\t},\n}\n\nconst actions = {\n\n\tenableApp(context, { appId, groups }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\tcontext.commit('startLoading', 'install')\n\n\t\t\tconst previousState = {}\n\t\t\tapps.forEach((_appId) => {\n\t\t\t\tconst app = context.state.apps.find((app) => app.id === _appId)\n\t\t\t\tif (app) {\n\t\t\t\t\tpreviousState[_appId] = {\n\t\t\t\t\t\tactive: app.active,\n\t\t\t\t\t\tgroups: [...(app.groups || [])],\n\t\t\t\t\t}\n\t\t\t\t\tcontext.commit('enableApp', { appId: _appId, groups })\n\t\t\t\t}\n\t\t\t})\n\n\t\t\treturn api.post(generateUrl('settings/apps/enable'), { appIds: apps, groups })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tapps.forEach(_appId => {\n\t\t\t\t\t\tcontext.commit('enableApp', { appId: _appId, groups })\n\t\t\t\t\t})\n\n\t\t\t\t\t// check for server health\n\t\t\t\t\treturn axios.get(generateUrl('apps/files/'))\n\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\tif (response.data.update_required) {\n\t\t\t\t\t\t\t\tshowInfo(\n\t\t\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t\t\t'settings',\n\t\t\t\t\t\t\t\t\t\t'The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds.',\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tonClick: () => window.location.reload(),\n\t\t\t\t\t\t\t\t\t\tclose: false,\n\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\t\t\t\tlocation.reload()\n\t\t\t\t\t\t\t\t}, 5000)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\t\tif (!Array.isArray(appId)) {\n\t\t\t\t\t\t\t\tshowError(t('settings', 'Error: This app cannot be enabled because it makes the server unstable'))\n\t\t\t\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\t\t\t\terror: t('settings', 'Error: This app cannot be enabled because it makes the server unstable'),\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\tcontext.dispatch('disableApp', { appId })\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\n\t\t\t\t\tapps.forEach((_appId) => {\n\t\t\t\t\t\tif (previousState[_appId]) {\n\t\t\t\t\t\t\tcontext.commit('enableApp', {\n\t\t\t\t\t\t\t\tappId: _appId,\n\t\t\t\t\t\t\t\tgroups: previousState[_appId].groups,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\tif (!previousState[_appId].active) {\n\t\t\t\t\t\t\t\tcontext.commit('disableApp', _appId)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\n\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\terror: error.response.data.data.message,\n\t\t\t\t\t})\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tforceEnableApp(context, { appId, groups }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then(() => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.post(generateUrl('settings/apps/force'), { appId })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('setInstallState', { appId, canInstall: true })\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\terror: error.response.data.data.message,\n\t\t\t\t\t})\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tdisableApp(context, { appId }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\treturn api.post(generateUrl('settings/apps/disable'), { appIds: apps })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tapps.forEach(_appId => {\n\t\t\t\t\t\tcontext.commit('disableApp', _appId)\n\t\t\t\t\t})\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tuninstallApp(context, { appId }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', appId)\n\t\t\treturn api.get(generateUrl(`settings/apps/uninstall/${appId}`))\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('uninstallApp', appId)\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\n\tupdateApp(context, { appId }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', appId)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.get(generateUrl(`settings/apps/update/${appId}`))\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('updateApp', appId)\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\n\tgetAllApps(context) {\n\t\tcontext.commit('startLoading', 'list')\n\t\treturn api.get(generateUrl('settings/apps/list'))\n\t\t\t.then((response) => {\n\t\t\t\tcontext.commit('setAllApps', response.data.apps)\n\t\t\t\tcontext.commit('stopLoading', 'list')\n\t\t\t\treturn true\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\tasync getCategories(context, { shouldRefetchCategories = false } = {}) {\n\t\tif (shouldRefetchCategories || !context.state.gettingCategoriesPromise) {\n\t\t\tcontext.commit('startLoading', 'categories')\n\t\t\ttry {\n\t\t\t\tconst categoriesPromise = api.get(generateUrl('settings/apps/categories'))\n\t\t\t\tcontext.commit('updateCategories', categoriesPromise)\n\t\t\t\tconst categoriesPromiseResponse = await categoriesPromise\n\t\t\t\tif (categoriesPromiseResponse.data.length > 0) {\n\t\t\t\t\tcontext.commit('appendCategories', categoriesPromiseResponse.data)\n\t\t\t\t\tcontext.commit('stopLoading', 'categories')\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\tcontext.commit('stopLoading', 'categories')\n\t\t\t\treturn false\n\t\t\t} catch (error) {\n\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t}\n\t\t}\n\t\treturn context.state.gettingCategoriesPromise\n\t},\n\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { loadState } from '@nextcloud/initial-state'\n\nconst state = {\n\tserverData: loadState('settings', 'usersSettings', {}),\n}\nconst mutations = {\n\tsetServerData(state, data) {\n\t\tstate.serverData = data\n\t},\n}\nconst getters = {\n\tgetServerData(state) {\n\t\treturn state.serverData\n\t},\n}\nconst actions = {}\n\nexport default { state, mutations, getters, actions }\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport api from './api.js'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nconst state = {}\nconst mutations = {}\nconst getters = {}\nconst actions = {\n\t/**\n\t * Set application config in database\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.app Application name\n\t * @param {boolean} options.key Config key\n\t * @param {boolean} options.value Value to set\n\t * @return {Promise}\n\t */\n\tsetAppConfig(context, { app, key, value }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('apps/provisioning_api/api/v1/config/apps/{app}/{key}', { app, key }), { value })\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { app, key, value, error }))\n\t},\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { Store } from 'vuex'\nimport users from './users.js'\nimport apps from './apps.js'\nimport settings from './users-settings.js'\nimport oc from './oc.js'\nimport { showError } from '@nextcloud/dialogs'\n\nconst debug = process.env.NODE_ENV !== 'production'\n\nconst mutations = {\n\tAPI_FAILURE(state, error) {\n\t\ttry {\n\t\t\tconst message = error.error.response.data.ocs.meta.message\n\t\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.') + '
' + message, { isHTML: true })\n\t\t} catch (e) {\n\t\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.'))\n\t\t}\n\t\tconsole.error(state, error)\n\t},\n}\n\nlet store = null\n\nexport const useStore = () => {\n\tif (store === null) {\n\t\tstore = new Store({\n\t\t\tmodules: {\n\t\t\t\tusers,\n\t\t\t\tapps,\n\t\t\t\tsettings,\n\t\t\t\toc,\n\t\t\t},\n\t\t\tstrict: debug,\n\t\t\tmutations,\n\t\t})\n\t}\n\treturn store\n}\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * https://github.com/nextcloud/server/blob/208e38e84e1a07a49699aa90dc5b7272d24489f0/lib/private/Group/MetaData.php#L34\n */\nexport var GroupSorting;\n(function (GroupSorting) {\n GroupSorting[GroupSorting[\"UserCount\"] = 1] = \"UserCount\";\n GroupSorting[GroupSorting[\"GroupName\"] = 2] = \"GroupName\";\n})(GroupSorting || (GroupSorting = {}));\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.NcContent,{attrs:{\"app-name\":\"settings\"}},[_c('router-view',{attrs:{\"name\":\"navigation\"}}),_vm._v(\" \"),_c('router-view'),_vm._v(\" \"),_c('router-view',{attrs:{\"name\":\"sidebar\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsApp.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsApp.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./SettingsApp.vue?vue&type=template&id=02c6e0e9\"\nimport script from \"./SettingsApp.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./SettingsApp.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { loadState } from '@nextcloud/initial-state';\nconst appstoreEnabled = loadState('settings', 'appstoreEnabled', true);\n// Dynamic loading\nconst AppStore = () => import(/* webpackChunkName: 'settings-apps-view' */ '../views/AppStore.vue');\nconst AppStoreNavigation = () => import(/* webpackChunkName: 'settings-apps-view' */ '../views/AppStoreNavigation.vue');\nconst AppStoreSidebar = () => import(/* webpackChunkName: 'settings-apps-view' */ '../views/AppStoreSidebar.vue');\nconst UserManagement = () => import(/* webpackChunkName: 'settings-users' */ '../views/UserManagement.vue');\nconst UserManagementNavigation = () => import(/* webpackChunkName: 'settings-users' */ '../views/UserManagementNavigation.vue');\nconst routes = [\n {\n name: 'users',\n path: '/:index(index.php/)?settings/users',\n components: {\n default: UserManagement,\n navigation: UserManagementNavigation,\n },\n props: true,\n children: [\n {\n path: ':selectedGroup',\n name: 'group',\n },\n ],\n },\n {\n path: '/:index(index.php/)?settings/apps',\n name: 'apps',\n redirect: {\n name: 'apps-category',\n params: {\n category: appstoreEnabled ? 'discover' : 'installed',\n },\n },\n components: {\n default: AppStore,\n navigation: AppStoreNavigation,\n sidebar: AppStoreSidebar,\n },\n children: [\n {\n path: ':category',\n name: 'apps-category',\n children: [\n {\n path: ':id',\n name: 'apps-details',\n },\n ],\n },\n ],\n },\n];\nexport default routes;\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport Vue from 'vue';\nimport Router from 'vue-router';\nimport { generateUrl } from '@nextcloud/router';\nimport routes from './routes.ts';\nVue.use(Router);\nconst router = new Router({\n mode: 'history',\n // if index.php is in the url AND we got this far, then it's working:\n // let's keep using index.php in the url\n base: generateUrl(''),\n linkActiveClass: 'active',\n routes,\n});\nexport default router;\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport Vue from 'vue';\nimport Vuex from 'vuex';\nimport VTooltipPlugin from 'v-tooltip';\nimport { sync } from 'vuex-router-sync';\nimport { t, n } from '@nextcloud/l10n';\nimport SettingsApp from './views/SettingsApp.vue';\nimport router from './router/index.ts';\nimport { useStore } from './store/index.js';\nimport { getCSPNonce } from '@nextcloud/auth';\nimport { PiniaVuePlugin, createPinia } from 'pinia';\n// CSP config for webpack dynamic chunk loading\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = getCSPNonce();\n// bind to window\nVue.prototype.t = t;\nVue.prototype.n = n;\nVue.use(PiniaVuePlugin);\nVue.use(VTooltipPlugin, { defaultHtml: false });\nVue.use(Vuex);\nconst store = useStore();\nsync(store, router);\nconst pinia = createPinia();\nexport default new Vue({\n router,\n store,\n pinia,\n render: h => h(SettingsApp),\n el: '#content',\n});\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getLoggerBuilder } from '@nextcloud/logger';\nexport default getLoggerBuilder()\n .setApp('settings')\n .detectUser()\n .build();\n","exports.sync = function (store, router, options) {\n var moduleName = (options || {}).moduleName || 'route'\n\n store.registerModule(moduleName, {\n namespaced: true,\n state: cloneRoute(router.currentRoute),\n mutations: {\n 'ROUTE_CHANGED': function ROUTE_CHANGED (state, transition) {\n store.state[moduleName] = cloneRoute(transition.to, transition.from)\n }\n }\n })\n\n var isTimeTraveling = false\n var currentPath\n\n // sync router on store change\n var storeUnwatch = store.watch(\n function (state) { return state[moduleName]; },\n function (route) {\n var fullPath = route.fullPath;\n if (fullPath === currentPath) {\n return\n }\n if (currentPath != null) {\n isTimeTraveling = true\n router.push(route)\n }\n currentPath = fullPath\n },\n { sync: true }\n )\n\n // sync store on router navigation\n var afterEachUnHook = router.afterEach(function (to, from) {\n if (isTimeTraveling) {\n isTimeTraveling = false\n return\n }\n currentPath = to.fullPath\n store.commit(moduleName + '/ROUTE_CHANGED', { to: to, from: from })\n })\n\n return function unsync () {\n // On unsync, remove router hook\n if (afterEachUnHook != null) {\n afterEachUnHook()\n }\n\n // On unsync, remove store watch\n if (storeUnwatch != null) {\n storeUnwatch()\n }\n\n // On unsync, unregister Module with store\n store.unregisterModule(moduleName)\n }\n}\n\nfunction cloneRoute (to, from) {\n var clone = {\n name: to.name,\n path: to.path,\n hash: to.hash,\n query: to.query,\n params: to.params,\n fullPath: to.fullPath,\n meta: to.meta\n }\n if (from) {\n clone.from = cloneRoute(from)\n }\n return Object.freeze(clone)\n}\n\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","// 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__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + ({\"3239\":\"settings-users\",\"4529\":\"settings-apps-view\"}[chunkId] || chunkId) + \"-\" + chunkId + \".js?v=\" + {\"256\":\"a0a66d8a483323fceabd\",\"3239\":\"fe608f6534aac97efb13\",\"3303\":\"96b90b1ba78ea11d9e36\",\"3731\":\"03a157235c000f83910a\",\"4529\":\"1c2c3542f9da32ca3184\",\"5862\":\"10fe36062cea7941d5a0\",\"6329\":\"da6ad198a7ca85dde977\",\"7265\":\"d7160b14ff5971255399\",\"7471\":\"806ad727bd04144ac45f\",\"8737\":\"d1c9f189cbfe0cd1ba97\",\"9972\":\"440f2099df705a3b52ad\"}[chunkId] + \"\";\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};","__webpack_require__.j = 2689;","var scriptUrl;\nif (globalThis.importScripts) scriptUrl = globalThis.location + \"\";\nvar document = globalThis.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/^blob:/, \"\").replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = (typeof document !== 'undefined' && document.baseURI) || self.location.href;\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\t2689: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\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, moreModules, runtime] = data;\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[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = globalThis[\"webpackChunknextcloud\"] = globalThis[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// 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, [4208], () => (__webpack_require__(18539)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","sanitize","url","replace","requireAdmin","confirmPassword","get","options","axios","post","data","patch","put","delete","params","naturalCollator","Intl","Collator","getLanguage","getCanonicalLocale","numeric","usage","usersSettings","loadState","localStorage","getBuilder","persist","build","defaults","id","name","usercount","disabled","canAdd","canRemove","state","users","groups","getSubAdminGroups","systemGroups","orderBy","sortGroups","GroupSorting","UserCount","minPasswordLength","usersOffset","usersLimit","disabledUsersOffset","disabledUsersLimit","userCount","showConfig","showStoragePath","getItem","showUserBackend","showFirstLogin","showLastLogin","showNewUserForm","showLanguages","mutations","appendUsers","usersObj","existingUsers","map","newUsers","Object","values","filter","includes","concat","updateDisabledUsers","_usersObj","setPasswordPolicyMinLength","length","addGroup","newGroup","find","group","assign","unshift","e","console","error","renameGroup","gid","displayName","groupIndex","findIndex","groupSearch","updatedGroup","splice","removeGroup","addUserGroup","userid","user","enabled","push","removeUserGroup","indexOf","addUserSubAdmin","subadmin","removeUserSubAdmin","deleteUser","userIndex","this","commit","actionType","addUserData","response","ocs","enableDisableUser","updateUserCounts","recentGroup","disabledGroup","forEach","userGroup","warn","logger","setUserData","key","value","humanValue","parseFileSize","resetUsers","resetGroups","setShowConfig","setItem","JSON","stringify","setGroupSorting","sorting","oldValue","generateUrl","String","catch","showError","t","getters","getUsers","getGroups","subAdminGroups","getSortedGroups","sort","a","b","numA","numB","compare","getGroupSorting","getPasswordPolicyMinLength","getUsersOffset","getUsersLimit","getDisabledUsersOffset","getDisabledUsersLimit","getUserCount","getShowConfig","CancelToken","searchRequestCancelSource","actions","searchUsers","context","offset","limit","search","api","generateOcsUrl","getUser","userId","cancel","source","trim","encodeURIComponent","cancelToken","token","then","usersCount","keys","getRecentUsers","getDisabledUsers","limitParam","getUsersFromList","getUsersFromGroup","groupid","groupId","getCapabilities","password_policy","minLength","wipeUserDevices","Promise","reject","Error","addUser","dispatch","password","email","quota","language","manager","userStatus","sendWelcomeMail","apps","bundles","categories","updateCount","loading","gettingCategoriesPromise","appApiEnabled","APPS_API_FAILURE","message","isHTML","initCategories","updateCategories","categoriesPromise","setUpdateCount","addCategory","category","appendCategories","categoriesArray","setAllApps","setError","appId","Array","isArray","_id","app","clearError","enableApp","active","Vue","setInstallState","canInstall","disableApp","removable","canUnInstall","uninstallApp","needsDownload","installed","updateApp","version","update","resetApps","reset","startLoading","stopLoading","previousState","_appId","appIds","update_required","showInfo","onClick","window","location","reload","close","setTimeout","forceEnableApp","finally","getAllApps","getCategories","shouldRefetchCategories","categoriesPromiseResponse","isAppApiEnabled","getAppBundles","getUpdateCount","getCategoryById","selectedCategoryId","serverData","setServerData","getServerData","setAppConfig","API_FAILURE","meta","store","useStore","Store","modules","settings","oc","strict","process","_defineComponent","__name","setup","__props","__sfc","NcContent","_vm","_c","_self","_setupProxy","attrs","_v","path","components","default","UserManagement","navigation","UserManagementNavigation","props","children","redirect","AppStore","AppStoreNavigation","sidebar","AppStoreSidebar","use","Router","mode","base","linkActiveClass","routes","__webpack_nonce__","getCSPNonce","prototype","n","PiniaVuePlugin","VTooltipPlugin","defaultHtml","Vuex","sync","router","pinia","createPinia","render","h","SettingsApp","el","getLoggerBuilder","setApp","detectUser","cloneRoute","to","from","clone","hash","query","fullPath","freeze","exports","moduleName","registerModule","namespaced","currentRoute","transition","currentPath","isTimeTraveling","storeUnwatch","watch","route","afterEachUnHook","afterEach","unregisterModule","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","module","loaded","__webpack_modules__","call","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","every","r","getter","__esModule","d","definition","o","defineProperty","enumerable","f","chunkId","all","reduce","promises","u","obj","prop","hasOwnProperty","l","done","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","timeout","doneFns","parentNode","removeChild","bind","type","target","head","appendChild","Symbol","toStringTag","nmd","paths","scriptUrl","globalThis","importScripts","currentScript","tagName","toUpperCase","test","p","baseURI","self","href","installedChunks","installedChunkData","promise","resolve","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"ignoreList":[],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"settings-vue-settings-apps-users-management.js?v=f1dacfa595f2b39461ff","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/apps/settings/src/store/api.js","webpack:///nextcloud/apps/settings/src/utils/sorting.ts","webpack:///nextcloud/apps/settings/src/store/users.js","webpack:///nextcloud/apps/settings/src/store/apps.js","webpack:///nextcloud/apps/settings/src/store/users-settings.js","webpack:///nextcloud/apps/settings/src/store/oc.js","webpack:///nextcloud/apps/settings/src/store/index.js","webpack:///nextcloud/apps/settings/src/constants/GroupManagement.ts","webpack:///nextcloud/apps/settings/src/views/SettingsApp.vue","webpack:///nextcloud/apps/settings/src/views/SettingsApp.vue?vue&type=script&setup=true&lang=ts","webpack://nextcloud/./apps/settings/src/views/SettingsApp.vue?3a67","webpack:///nextcloud/apps/settings/src/router/routes.ts","webpack:///nextcloud/apps/settings/src/router/index.ts","webpack:///nextcloud/apps/settings/src/main-apps-users-management.ts","webpack:///nextcloud/apps/settings/src/logger.ts","webpack:///nextcloud/node_modules/vuex-router-sync/index.js","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","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/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["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, fn, priority] = deferred[i];\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};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport axios from '@nextcloud/axios'\nimport { confirmPassword } from '@nextcloud/password-confirmation'\nimport '@nextcloud/password-confirmation/dist/style.css'\n\nconst sanitize = function(url) {\n\treturn url.replace(/\\/$/, '') // Remove last url slash\n}\n\nexport default {\n\n\t/**\n\t * This Promise is used to chain a request that require an admin password confirmation\n\t * Since chaining Promise have a very precise behavior concerning catch and then,\n\t * you'll need to be careful when using it.\n\t * e.g\n\t * // store\n\t * action(context) {\n\t * return api.requireAdmin().then((response) => {\n\t * return api.get('url')\n\t * .then((response) => {API success})\n\t * .catch((error) => {API failure});\n\t * }).catch((error) => {requireAdmin failure});\n\t * }\n\t * // vue\n\t * this.$store.dispatch('action').then(() => {always executed})\n\t *\n\t * Since Promise.then().catch().then() will always execute the last then\n\t * this.$store.dispatch('action').then will always be executed\n\t *\n\t * If you want requireAdmin failure to also catch the API request failure\n\t * you will need to throw a new error in the api.get.catch()\n\t *\n\t * e.g\n\t * api.requireAdmin().then((response) => {\n\t * api.get('url')\n\t * .then((response) => {API success})\n\t * .catch((error) => {throw error;});\n\t * }).catch((error) => {requireAdmin OR API failure});\n\t *\n\t * @return {Promise}\n\t */\n\trequireAdmin() {\n\t\treturn confirmPassword()\n\t},\n\tget(url, options) {\n\t\treturn axios.get(sanitize(url), options)\n\t},\n\tpost(url, data) {\n\t\treturn axios.post(sanitize(url), data)\n\t},\n\tpatch(url, data) {\n\t\treturn axios.patch(sanitize(url), data)\n\t},\n\tput(url, data) {\n\t\treturn axios.put(sanitize(url), data)\n\t},\n\tdelete(url, data) {\n\t\treturn axios.delete(sanitize(url), { params: data })\n\t},\n}\n","/**\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getCanonicalLocale, getLanguage } from '@nextcloud/l10n';\nexport const naturalCollator = Intl.Collator([getLanguage(), getCanonicalLocale()], {\n numeric: true,\n usage: 'sort',\n});\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getBuilder } from '@nextcloud/browser-storage'\nimport { getCapabilities } from '@nextcloud/capabilities'\nimport { parseFileSize } from '@nextcloud/files'\nimport { showError } from '@nextcloud/dialogs'\nimport { generateOcsUrl, generateUrl } from '@nextcloud/router'\nimport { loadState } from '@nextcloud/initial-state'\nimport axios from '@nextcloud/axios'\n\nimport { GroupSorting } from '../constants/GroupManagement.ts'\nimport { naturalCollator } from '../utils/sorting.ts'\nimport api from './api.js'\nimport logger from '../logger.ts'\n\nconst usersSettings = loadState('settings', 'usersSettings', {})\n\nconst localStorage = getBuilder('settings').persist(true).build()\n\nconst defaults = {\n\t/**\n\t * @type {import('../views/user-types').IGroup}\n\t */\n\tgroup: {\n\t\tid: '',\n\t\tname: '',\n\t\tusercount: 0,\n\t\tdisabled: 0,\n\t\tcanAdd: true,\n\t\tcanRemove: true,\n\t},\n}\n\nconst state = {\n\tusers: [],\n\tgroups: [\n\t\t...(usersSettings.getSubAdminGroups ?? []),\n\t\t...(usersSettings.systemGroups ?? []),\n\t],\n\torderBy: usersSettings.sortGroups ?? GroupSorting.UserCount,\n\tminPasswordLength: 0,\n\tusersOffset: 0,\n\tusersLimit: 25,\n\tdisabledUsersOffset: 0,\n\tdisabledUsersLimit: 25,\n\tuserCount: usersSettings.userCount ?? 0,\n\tshowConfig: {\n\t\tshowStoragePath: localStorage.getItem('account_settings__showStoragePath') === 'true',\n\t\tshowUserBackend: localStorage.getItem('account_settings__showUserBackend') === 'true',\n\t\tshowFirstLogin: localStorage.getItem('account_settings__showFirstLogin') === 'true',\n\t\tshowLastLogin: localStorage.getItem('account_settings__showLastLogin') === 'true',\n\t\tshowNewUserForm: localStorage.getItem('account_settings__showNewUserForm') === 'true',\n\t\tshowLanguages: localStorage.getItem('account_settings__showLanguages') === 'true',\n\t},\n}\n\nconst mutations = {\n\tappendUsers(state, usersObj) {\n\t\tconst existingUsers = state.users.map(({ id }) => id)\n\t\tconst newUsers = Object.values(usersObj)\n\t\t\t.filter(({ id }) => !existingUsers.includes(id))\n\n\t\tconst users = state.users.concat(newUsers)\n\t\tstate.usersOffset += state.usersLimit\n\t\tstate.users = users\n\t},\n\tupdateDisabledUsers(state, _usersObj) {\n\t\tstate.disabledUsersOffset += state.disabledUsersLimit\n\t},\n\tsetPasswordPolicyMinLength(state, length) {\n\t\tstate.minPasswordLength = length !== '' ? length : 0\n\t},\n\t/**\n\t * @param {object} state store state\n\t * @param {import('../views/user-types.js').IGroup} newGroup new group\n\t */\n\taddGroup(state, newGroup) {\n\t\ttry {\n\t\t\tif (typeof state.groups.find((group) => group.id === newGroup.id) !== 'undefined') {\n\t\t\t\treturn\n\t\t\t}\n\t\t\t// extend group to default values\n\t\t\tconst group = Object.assign({}, defaults.group, newGroup)\n\t\t\tstate.groups.unshift(group)\n\t\t} catch (e) {\n\t\t\tconsole.error('Can\\'t create group', e)\n\t\t}\n\t},\n\trenameGroup(state, { gid, displayName }) {\n\t\tconst groupIndex = state.groups.findIndex(groupSearch => groupSearch.id === gid)\n\t\tif (groupIndex >= 0) {\n\t\t\tconst updatedGroup = state.groups[groupIndex]\n\t\t\tupdatedGroup.name = displayName\n\t\t\tstate.groups.splice(groupIndex, 1, updatedGroup)\n\t\t}\n\t},\n\tremoveGroup(state, gid) {\n\t\tconst groupIndex = state.groups.findIndex(groupSearch => groupSearch.id === gid)\n\t\tif (groupIndex >= 0) {\n\t\t\tstate.groups.splice(groupIndex, 1)\n\t\t}\n\t},\n\taddUserGroup(state, { userid, gid }) {\n\t\tconst group = state.groups.find(groupSearch => groupSearch.id === gid)\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\t// increase count if user is enabled\n\t\tif (group && user.enabled && state.userCount > 0) {\n\t\t\tgroup.usercount++\n\t\t}\n\t\tconst groups = user.groups\n\t\tgroups.push(gid)\n\t},\n\tremoveUserGroup(state, { userid, gid }) {\n\t\tconst group = state.groups.find(groupSearch => groupSearch.id === gid)\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\t// lower count if user is enabled\n\t\tif (group && user.enabled && state.userCount > 0) {\n\t\t\tgroup.usercount--\n\t\t}\n\t\tconst groups = user.groups\n\t\tgroups.splice(groups.indexOf(gid), 1)\n\t},\n\taddUserSubAdmin(state, { userid, gid }) {\n\t\tconst groups = state.users.find(user => user.id === userid).subadmin\n\t\tgroups.push(gid)\n\t},\n\tremoveUserSubAdmin(state, { userid, gid }) {\n\t\tconst groups = state.users.find(user => user.id === userid).subadmin\n\t\tgroups.splice(groups.indexOf(gid), 1)\n\t},\n\tdeleteUser(state, userid) {\n\t\tconst userIndex = state.users.findIndex(user => user.id === userid)\n\t\tthis.commit('updateUserCounts', { user: state.users[userIndex], actionType: 'remove' })\n\t\tstate.users.splice(userIndex, 1)\n\t},\n\taddUserData(state, response) {\n\t\tconst user = response.data.ocs.data\n\t\tstate.users.unshift(user)\n\t\tthis.commit('updateUserCounts', { user, actionType: 'create' })\n\t},\n\tenableDisableUser(state, { userid, enabled }) {\n\t\tconst user = state.users.find(user => user.id === userid)\n\t\tuser.enabled = enabled\n\t\tthis.commit('updateUserCounts', { user, actionType: enabled ? 'enable' : 'disable' })\n\t},\n\t// update active/disabled counts, groups counts\n\tupdateUserCounts(state, { user, actionType }) {\n\t\t// 0 is a special value\n\t\tif (state.userCount === 0) {\n\t\t\treturn\n\t\t}\n\n\t\tconst recentGroup = state.groups.find(group => group.id === '__nc_internal_recent')\n\t\tconst disabledGroup = state.groups.find(group => group.id === 'disabled')\n\t\tswitch (actionType) {\n\t\tcase 'enable':\n\t\tcase 'disable':\n\t\t\tdisabledGroup.usercount += user.enabled ? -1 : 1 // update Disabled Users count\n\t\t\trecentGroup.usercount += user.enabled ? 1 : -1\n\t\t\tstate.userCount += user.enabled ? 1 : -1 // update Active Users count\n\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\tif (!group) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tgroup.disabled += user.enabled ? -1 : 1 // update group disabled count\n\t\t\t})\n\t\t\tbreak\n\t\tcase 'create':\n\t\t\trecentGroup.usercount++\n\t\t\tstate.userCount++ // increment Active Users count\n\n\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\tif (!group) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tgroup.usercount++ // increment group total count\n\t\t\t})\n\t\t\tbreak\n\t\tcase 'remove':\n\t\t\tif (user.enabled) {\n\t\t\t\trecentGroup.usercount--\n\t\t\t\tstate.userCount-- // decrement Active Users count\n\t\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\t\tif (!group) {\n\t\t\t\t\t\tconsole.warn('User group ' + userGroup + ' does not exist during user removal')\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tgroup.usercount-- // decrement group total count\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tdisabledGroup.usercount-- // decrement Disabled Users count\n\t\t\t\tuser.groups.forEach(userGroup => {\n\t\t\t\t\tconst group = state.groups.find(groupSearch => groupSearch.id === userGroup)\n\t\t\t\t\tif (!group) {\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tgroup.disabled-- // decrement group disabled count\n\t\t\t\t})\n\t\t\t}\n\t\t\tbreak\n\t\tdefault:\n\t\t\tlogger.error(`Unknown action type in updateUserCounts: '${actionType}'`)\n\t\t\t// not throwing error to interrupt execution as this is not fatal\n\t\t}\n\t},\n\tsetUserData(state, { userid, key, value }) {\n\t\tif (key === 'quota') {\n\t\t\tconst humanValue = parseFileSize(value, true)\n\t\t\tstate.users.find(user => user.id === userid)[key][key] = humanValue !== null ? humanValue : value\n\t\t} else {\n\t\t\tstate.users.find(user => user.id === userid)[key] = value\n\t\t}\n\t},\n\n\t/**\n\t * Reset users list\n\t *\n\t * @param {object} state the store state\n\t */\n\tresetUsers(state) {\n\t\tstate.users = []\n\t\tstate.usersOffset = 0\n\t\tstate.disabledUsersOffset = 0\n\t},\n\n\t/**\n\t * Reset group list\n\t *\n\t * @param {object} state the store state\n\t */\n\tresetGroups(state) {\n\t\tstate.groups = [\n\t\t\t...(usersSettings.getSubAdminGroups ?? []),\n\t\t\t...(usersSettings.systemGroups ?? []),\n\t\t]\n\t},\n\n\tsetShowConfig(state, { key, value }) {\n\t\tlocalStorage.setItem(`account_settings__${key}`, JSON.stringify(value))\n\t\tstate.showConfig[key] = value\n\t},\n\n\tsetGroupSorting(state, sorting) {\n\t\tconst oldValue = state.orderBy\n\t\tstate.orderBy = sorting\n\n\t\t// Persist the value on the server\n\t\taxios.post(\n\t\t\tgenerateUrl('/settings/users/preferences/group.sortBy'),\n\t\t\t{\n\t\t\t\tvalue: String(sorting),\n\t\t\t},\n\t\t).catch((error) => {\n\t\t\tstate.orderBy = oldValue\n\t\t\tshowError(t('settings', 'Could not set group sorting'))\n\t\t\tlogger.error(error)\n\t\t})\n\t},\n}\n\nconst getters = {\n\tgetUsers(state) {\n\t\treturn state.users\n\t},\n\tgetGroups(state) {\n\t\treturn state.groups\n\t},\n\tgetSubAdminGroups() {\n\t\treturn usersSettings.subAdminGroups ?? []\n\t},\n\n\tgetSortedGroups(state) {\n\t\tconst groups = [...state.groups]\n\t\tif (state.orderBy === GroupSorting.UserCount) {\n\t\t\treturn groups.sort((a, b) => {\n\t\t\t\tconst numA = a.usercount - a.disabled\n\t\t\t\tconst numB = b.usercount - b.disabled\n\t\t\t\treturn (numA < numB) ? 1 : (numB < numA ? -1 : naturalCollator.compare(a.name, b.name))\n\t\t\t})\n\t\t} else {\n\t\t\treturn groups.sort((a, b) => naturalCollator.compare(a.name, b.name))\n\t\t}\n\t},\n\tgetGroupSorting(state) {\n\t\treturn state.orderBy\n\t},\n\tgetPasswordPolicyMinLength(state) {\n\t\treturn state.minPasswordLength\n\t},\n\tgetUsersOffset(state) {\n\t\treturn state.usersOffset\n\t},\n\tgetUsersLimit(state) {\n\t\treturn state.usersLimit\n\t},\n\tgetDisabledUsersOffset(state) {\n\t\treturn state.disabledUsersOffset\n\t},\n\tgetDisabledUsersLimit(state) {\n\t\treturn state.disabledUsersLimit\n\t},\n\tgetUserCount(state) {\n\t\treturn state.userCount\n\t},\n\tgetShowConfig(state) {\n\t\treturn state.showConfig\n\t},\n}\n\nconst CancelToken = axios.CancelToken\nlet searchRequestCancelSource = null\n\nconst actions = {\n\n\t/**\n\t * search users\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search Search amongst users\n\t * @return {Promise}\n\t */\n\tsearchUsers(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search })).catch((error) => {\n\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t}\n\t\t})\n\t},\n\n\t/**\n\t * Get user details\n\t *\n\t * @param {object} context store context\n\t * @param {string} userId user id\n\t * @return {Promise}\n\t */\n\tgetUser(context, userId) {\n\t\treturn api.get(generateOcsUrl(`cloud/users/${userId}`)).catch((error) => {\n\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t}\n\t\t})\n\t},\n\n\t/**\n\t * Get all users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search Search amongst users\n\t * @param {string} options.group Get users from group\n\t * @return {Promise}\n\t */\n\tgetUsers(context, { offset, limit, search, group }) {\n\t\tif (searchRequestCancelSource) {\n\t\t\tsearchRequestCancelSource.cancel('Operation canceled by another search request.')\n\t\t}\n\t\tsearchRequestCancelSource = CancelToken.source()\n\t\tsearch = typeof search === 'string' ? search : ''\n\n\t\t/**\n\t\t * Adding filters in the search bar such as in:files, in:users, etc.\n\t\t * collides with this particular search, so we need to remove them\n\t\t * here and leave only the original search query\n\t\t */\n\t\tsearch = search.replace(/in:[^\\s]+/g, '').trim()\n\n\t\tgroup = typeof group === 'string' ? group : ''\n\t\tif (group !== '') {\n\t\t\treturn api.get(generateOcsUrl('cloud/groups/{group}/users/details?offset={offset}&limit={limit}&search={search}', { group: encodeURIComponent(group), offset, limit, search }), {\n\t\t\t\tcancelToken: searchRequestCancelSource.token,\n\t\t\t})\n\t\t\t\t.then((response) => {\n\t\t\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\t\t\tif (usersCount > 0) {\n\t\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t\t}\n\t\t\t\t\treturn usersCount\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t}\n\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search }), {\n\t\t\tcancelToken: searchRequestCancelSource.token,\n\t\t})\n\t\t\t.then((response) => {\n\t\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\t\tif (usersCount > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t}\n\t\t\t\treturn usersCount\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tif (!axios.isCancel(error)) {\n\t\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t\t}\n\t\t\t})\n\t},\n\n\t/**\n\t * Get recent users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search Search query\n\t * @return {Promise}\n\t */\n\tasync getRecentUsers(context, { offset, limit, search }) {\n\t\tconst url = generateOcsUrl('cloud/users/recent?offset={offset}&limit={limit}&search={search}', { offset, limit, search })\n\t\ttry {\n\t\t\tconst response = await api.get(url)\n\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\tif (usersCount > 0) {\n\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t}\n\t\t\treturn usersCount\n\t\t} catch (error) {\n\t\t\tcontext.commit('API_FAILURE', error)\n\t\t}\n\t},\n\n\t/**\n\t * Get disabled users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param options.search\n\t * @return {Promise}\n\t */\n\tasync getDisabledUsers(context, { offset, limit, search }) {\n\t\tconst url = generateOcsUrl('cloud/users/disabled?offset={offset}&limit={limit}&search={search}', { offset, limit, search })\n\t\ttry {\n\t\t\tconst response = await api.get(url)\n\t\t\tconst usersCount = Object.keys(response.data.ocs.data.users).length\n\t\t\tif (usersCount > 0) {\n\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\tcontext.commit('updateDisabledUsers', response.data.ocs.data.users)\n\t\t\t}\n\t\t\treturn usersCount\n\t\t} catch (error) {\n\t\t\tcontext.commit('API_FAILURE', error)\n\t\t}\n\t},\n\n\tgetGroups(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\t\tconst limitParam = limit === -1 ? '' : `&limit=${limit}`\n\t\treturn api.get(generateOcsUrl('cloud/groups?offset={offset}&search={search}', { offset, search }) + limitParam)\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.groups).length > 0) {\n\t\t\t\t\tresponse.data.ocs.data.groups.forEach(function(group) {\n\t\t\t\t\t\tcontext.commit('addGroup', { id: group, name: group })\n\t\t\t\t\t})\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\t/**\n\t * Get all users with full details\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.search -\n\t * @return {Promise}\n\t */\n\tgetUsersFromList(context, { offset, limit, search }) {\n\t\tsearch = typeof search === 'string' ? search : ''\n\t\treturn api.get(generateOcsUrl('cloud/users/details?offset={offset}&limit={limit}&search={search}', { offset, limit, search }))\n\t\t\t.then((response) => {\n\t\t\t\tif (Object.keys(response.data.ocs.data.users).length > 0) {\n\t\t\t\t\tcontext.commit('appendUsers', response.data.ocs.data.users)\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\t/**\n\t * Get all users with full details from a groupid\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {number} options.offset List offset to request\n\t * @param {number} options.limit List number to return from offset\n\t * @param {string} options.groupid -\n\t * @return {Promise}\n\t */\n\tgetUsersFromGroup(context, { groupid, offset, limit }) {\n\t\treturn api.get(generateOcsUrl('cloud/users/{groupId}/details?offset={offset}&limit={limit}', { groupId: encodeURIComponent(groupid), offset, limit }))\n\t\t\t.then((response) => context.commit('getUsersFromList', response.data.ocs.data.users))\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\tgetPasswordPolicyMinLength(context) {\n\t\tif (getCapabilities().password_policy && getCapabilities().password_policy.minLength) {\n\t\t\tcontext.commit('setPasswordPolicyMinLength', getCapabilities().password_policy.minLength)\n\t\t\treturn getCapabilities().password_policy.minLength\n\t\t}\n\t\treturn false\n\t},\n\n\t/**\n\t * Add group\n\t *\n\t * @param {object} context store context\n\t * @param {string} gid Group id\n\t * @return {Promise}\n\t */\n\taddGroup(context, gid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/groups'), { groupid: gid })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('addGroup', { id: gid, name: gid })\n\t\t\t\t\treturn { gid, displayName: gid }\n\t\t\t\t})\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { gid, error })\n\t\t\t// let's throw one more time to prevent the view\n\t\t\t// from adding the user to a group that doesn't exists\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Rename group\n\t *\n\t * @param {object} context store context\n\t * @param {string} groupid Group id\n\t * @param {string} displayName Group display name\n\t * @return {Promise}\n\t */\n\trenameGroup(context, { groupid, displayName }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.put(generateOcsUrl('cloud/groups/{groupId}', { groupId: encodeURIComponent(groupid) }), { key: 'displayname', value: displayName })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('renameGroup', { gid: groupid, displayName })\n\t\t\t\t\treturn { groupid, displayName }\n\t\t\t\t})\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { groupid, error })\n\t\t\t// let's throw one more time to prevent the view\n\t\t\t// from renaming the group\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Remove group\n\t *\n\t * @param {object} context store context\n\t * @param {string} gid Group id\n\t * @return {Promise}\n\t */\n\tremoveGroup(context, gid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/groups/{groupId}', { groupId: encodeURIComponent(gid) }))\n\t\t\t\t.then((response) => context.commit('removeGroup', gid))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { gid, error }))\n\t},\n\n\t/**\n\t * Add user to group\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\taddUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/groups', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('addUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Remove user from group\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\tremoveUserGroup(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}/groups', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('removeUserGroup', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcontext.commit('API_FAILURE', { userid, error })\n\t\t\t// let's throw one more time to prevent\n\t\t\t// the view from removing the user row on failure\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Add user to group admin\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\taddUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/subadmins', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('addUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Remove user from group admin\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.gid Group id\n\t * @return {Promise}\n\t */\n\tremoveUserSubAdmin(context, { userid, gid }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}/subadmins', { userid }), { groupid: gid })\n\t\t\t\t.then((response) => context.commit('removeUserSubAdmin', { userid, gid }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Mark all user devices for remote wipe\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\tasync wipeUserDevices(context, userid) {\n\t\ttry {\n\t\t\tawait api.requireAdmin()\n\t\t\treturn await api.post(generateOcsUrl('cloud/users/{userid}/wipe', { userid }))\n\t\t} catch (error) {\n\t\t\tcontext.commit('API_FAILURE', { userid, error })\n\t\t\treturn Promise.reject(new Error('Failed to wipe user devices'))\n\t\t}\n\t},\n\n\t/**\n\t * Delete a user\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\tdeleteUser(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.delete(generateOcsUrl('cloud/users/{userid}', { userid }))\n\t\t\t\t.then((response) => context.commit('deleteUser', userid))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Add a user\n\t *\n\t * @param {object} context store context\n\t * @param {Function} context.commit -\n\t * @param {Function} context.dispatch -\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.password User password\n\t * @param {string} options.displayName User display name\n\t * @param {string} options.email User email\n\t * @param {string} options.groups User groups\n\t * @param {string} options.subadmin User subadmin groups\n\t * @param {string} options.quota User email\n\t * @param {string} options.language User language\n\t * @param {string} options.manager User manager\n\t * @return {Promise}\n\t */\n\taddUser({ commit, dispatch }, { userid, password, displayName, email, groups, subadmin, quota, language, manager }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users'), { userid, password, displayName, email, groups, subadmin, quota, language, manager })\n\t\t\t\t.then((response) => dispatch('addUserData', userid || response.data.ocs.data.id))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => {\n\t\t\tcommit('API_FAILURE', { userid, error })\n\t\t\tthrow error\n\t\t})\n\t},\n\n\t/**\n\t * Get user data and commit addition\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\taddUserData(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.get(generateOcsUrl('cloud/users/{userid}', { userid }))\n\t\t\t\t.then((response) => context.commit('addUserData', response))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Enable or disable user\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {boolean} options.enabled User enablement status\n\t * @return {Promise}\n\t */\n\tenableDisableUser(context, { userid, enabled = true }) {\n\t\tconst userStatus = enabled ? 'enable' : 'disable'\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.put(generateOcsUrl('cloud/users/{userid}/{userStatus}', { userid, userStatus }))\n\t\t\t\t.then((response) => context.commit('enableDisableUser', { userid, enabled }))\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n\n\t/**\n\t * Edit user data\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.userid User id\n\t * @param {string} options.key User field to edit\n\t * @param {string} options.value Value of the change\n\t * @return {Promise}\n\t */\n\tasync setUserData(context, { userid, key, value }) {\n\t\tconst allowedEmpty = ['email', 'displayname', 'manager']\n\t\tconst validKeys = ['email', 'language', 'quota', 'displayname', 'password', 'manager']\n\n\t\tif (!validKeys.includes(key)) {\n\t\t\tthrow new Error('Invalid request data')\n\t\t}\n\n\t\t// If value is empty and the key doesn't allow empty values, throw error\n\t\tif (value === '' && !allowedEmpty.includes(key)) {\n\t\t\tthrow new Error('Value cannot be empty for this field')\n\t\t}\n\n\t\ttry {\n\t\t\tawait api.requireAdmin()\n\t\t\tawait api.put(generateOcsUrl('cloud/users/{userid}', { userid }), { key, value })\n\t\t\treturn context.commit('setUserData', { userid, key, value })\n\t\t} catch (error) {\n\t\t\tcontext.commit('API_FAILURE', { userid, error })\n\t\t\tthrow error\n\t\t}\n\t},\n\n\t/**\n\t * Send welcome mail\n\t *\n\t * @param {object} context store context\n\t * @param {string} userid User id\n\t * @return {Promise}\n\t */\n\tsendWelcomeMail(context, userid) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('cloud/users/{userid}/welcome', { userid }))\n\t\t\t\t.then(response => true)\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { userid, error }))\n\t},\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport api from './api.js'\nimport Vue from 'vue'\nimport axios from '@nextcloud/axios'\nimport { generateUrl } from '@nextcloud/router'\nimport { showError, showInfo } from '@nextcloud/dialogs'\nimport { loadState } from '@nextcloud/initial-state'\n\nconst state = {\n\tapps: [],\n\tbundles: loadState('settings', 'appstoreBundles', []),\n\tcategories: [],\n\tupdateCount: loadState('settings', 'appstoreUpdateCount', 0),\n\tloading: {},\n\tgettingCategoriesPromise: null,\n\tappApiEnabled: loadState('settings', 'appApiEnabled', false),\n}\n\nconst mutations = {\n\n\tAPPS_API_FAILURE(state, error) {\n\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.') + '
' + error.error.response.data.data.message, { isHTML: true })\n\t\tconsole.error(state, error)\n\t},\n\n\tinitCategories(state, { categories, updateCount }) {\n\t\tstate.categories = categories\n\t\tstate.updateCount = updateCount\n\t},\n\n\tupdateCategories(state, categoriesPromise) {\n\t\tstate.gettingCategoriesPromise = categoriesPromise\n\t},\n\n\tsetUpdateCount(state, updateCount) {\n\t\tstate.updateCount = updateCount\n\t},\n\n\taddCategory(state, category) {\n\t\tstate.categories.push(category)\n\t},\n\n\tappendCategories(state, categoriesArray) {\n\t\t// convert obj to array\n\t\tstate.categories = categoriesArray\n\t},\n\n\tsetAllApps(state, apps) {\n\t\tstate.apps = apps\n\t},\n\n\tsetError(state, { appId, error }) {\n\t\tif (!Array.isArray(appId)) {\n\t\t\tappId = [appId]\n\t\t}\n\t\tappId.forEach((_id) => {\n\t\t\tconst app = state.apps.find(app => app.id === _id)\n\t\t\tapp.error = error\n\t\t})\n\t},\n\n\tclearError(state, { appId, error }) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.error = null\n\t},\n\n\tenableApp(state, { appId, groups }) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.active = true\n\t\tVue.set(app, 'groups', [...groups])\n\t\tif (app.id === 'app_api') {\n\t\t\tstate.appApiEnabled = true\n\t\t}\n\t},\n\n\tsetInstallState(state, { appId, canInstall }) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tif (app) {\n\t\t\tapp.canInstall = canInstall === true\n\t\t}\n\t},\n\n\tdisableApp(state, appId) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tapp.active = false\n\t\tapp.groups = []\n\t\tif (app.removable) {\n\t\t\tapp.canUnInstall = true\n\t\t}\n\t\tif (app.id === 'app_api') {\n\t\t\tstate.appApiEnabled = false\n\t\t}\n\t},\n\n\tuninstallApp(state, appId) {\n\t\tstate.apps.find(app => app.id === appId).active = false\n\t\tstate.apps.find(app => app.id === appId).groups = []\n\t\tstate.apps.find(app => app.id === appId).needsDownload = true\n\t\tstate.apps.find(app => app.id === appId).installed = false\n\t\tstate.apps.find(app => app.id === appId).canUnInstall = false\n\t\tstate.apps.find(app => app.id === appId).canInstall = true\n\t\tif (appId === 'app_api') {\n\t\t\tstate.appApiEnabled = false\n\t\t}\n\t},\n\n\tupdateApp(state, appId) {\n\t\tconst app = state.apps.find(app => app.id === appId)\n\t\tconst version = app.update\n\t\tapp.update = null\n\t\tapp.version = version\n\t\tstate.updateCount--\n\n\t},\n\n\tresetApps(state) {\n\t\tstate.apps = []\n\t},\n\treset(state) {\n\t\tstate.apps = []\n\t\tstate.categories = []\n\t\tstate.updateCount = 0\n\t},\n\tstartLoading(state, id) {\n\t\tif (Array.isArray(id)) {\n\t\t\tid.forEach((_id) => {\n\t\t\t\tVue.set(state.loading, _id, true)\n\t\t\t})\n\t\t} else {\n\t\t\tVue.set(state.loading, id, true)\n\t\t}\n\t},\n\tstopLoading(state, id) {\n\t\tif (Array.isArray(id)) {\n\t\t\tid.forEach((_id) => {\n\t\t\t\tVue.set(state.loading, _id, false)\n\t\t\t})\n\t\t} else {\n\t\t\tVue.set(state.loading, id, false)\n\t\t}\n\t},\n}\n\nconst getters = {\n\tisAppApiEnabled(state) {\n\t\treturn state.appApiEnabled\n\t},\n\tloading(state) {\n\t\treturn function(id) {\n\t\t\treturn state.loading[id]\n\t\t}\n\t},\n\tgetCategories(state) {\n\t\treturn state.categories\n\t},\n\tgetAllApps(state) {\n\t\treturn state.apps\n\t},\n\tgetAppBundles(state) {\n\t\treturn state.bundles\n\t},\n\tgetUpdateCount(state) {\n\t\treturn state.updateCount\n\t},\n\tgetCategoryById: (state) => (selectedCategoryId) => {\n\t\treturn state.categories.find((category) => category.id === selectedCategoryId)\n\t},\n}\n\nconst actions = {\n\n\tenableApp(context, { appId, groups }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\tcontext.commit('startLoading', 'install')\n\n\t\t\tconst previousState = {}\n\t\t\tapps.forEach((_appId) => {\n\t\t\t\tconst app = context.state.apps.find((app) => app.id === _appId)\n\t\t\t\tif (app) {\n\t\t\t\t\tpreviousState[_appId] = {\n\t\t\t\t\t\tactive: app.active,\n\t\t\t\t\t\tgroups: [...(app.groups || [])],\n\t\t\t\t\t}\n\t\t\t\t\tcontext.commit('enableApp', { appId: _appId, groups })\n\t\t\t\t}\n\t\t\t})\n\n\t\t\treturn api.post(generateUrl('settings/apps/enable'), { appIds: apps, groups })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tapps.forEach(_appId => {\n\t\t\t\t\t\tcontext.commit('enableApp', { appId: _appId, groups })\n\t\t\t\t\t})\n\n\t\t\t\t\t// check for server health\n\t\t\t\t\treturn axios.get(generateUrl('apps/files/'))\n\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\tif (response.data.update_required) {\n\t\t\t\t\t\t\t\tshowInfo(\n\t\t\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t\t\t'settings',\n\t\t\t\t\t\t\t\t\t\t'The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds.',\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tonClick: () => window.location.reload(),\n\t\t\t\t\t\t\t\t\t\tclose: false,\n\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\t\t\t\tlocation.reload()\n\t\t\t\t\t\t\t\t}, 5000)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\t\tif (!Array.isArray(appId)) {\n\t\t\t\t\t\t\t\tshowError(t('settings', 'Error: This app cannot be enabled because it makes the server unstable'))\n\t\t\t\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\t\t\t\terror: t('settings', 'Error: This app cannot be enabled because it makes the server unstable'),\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\tcontext.dispatch('disableApp', { appId })\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\n\t\t\t\t\tapps.forEach((_appId) => {\n\t\t\t\t\t\tif (previousState[_appId]) {\n\t\t\t\t\t\t\tcontext.commit('enableApp', {\n\t\t\t\t\t\t\t\tappId: _appId,\n\t\t\t\t\t\t\t\tgroups: previousState[_appId].groups,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\tif (!previousState[_appId].active) {\n\t\t\t\t\t\t\t\tcontext.commit('disableApp', _appId)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\n\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\terror: error.response.data.data.message,\n\t\t\t\t\t})\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tforceEnableApp(context, { appId, groups }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then(() => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.post(generateUrl('settings/apps/force'), { appId })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('setInstallState', { appId, canInstall: true })\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('setError', {\n\t\t\t\t\t\tappId: apps,\n\t\t\t\t\t\terror: error.response.data.data.message,\n\t\t\t\t\t})\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tdisableApp(context, { appId }) {\n\t\tlet apps\n\t\tif (Array.isArray(appId)) {\n\t\t\tapps = appId\n\t\t} else {\n\t\t\tapps = [appId]\n\t\t}\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', apps)\n\t\t\treturn api.post(generateUrl('settings/apps/disable'), { appIds: apps })\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tapps.forEach(_appId => {\n\t\t\t\t\t\tcontext.commit('disableApp', _appId)\n\t\t\t\t\t})\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', apps)\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\tuninstallApp(context, { appId }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', appId)\n\t\t\treturn api.get(generateUrl(`settings/apps/uninstall/${appId}`))\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('uninstallApp', appId)\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\n\tupdateApp(context, { appId }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\tcontext.commit('startLoading', appId)\n\t\t\tcontext.commit('startLoading', 'install')\n\t\t\treturn api.get(generateUrl(`settings/apps/update/${appId}`))\n\t\t\t\t.then((response) => {\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('updateApp', appId)\n\t\t\t\t\treturn true\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tcontext.commit('stopLoading', appId)\n\t\t\t\t\tcontext.commit('stopLoading', 'install')\n\t\t\t\t\tcontext.commit('APPS_API_FAILURE', { appId, error })\n\t\t\t\t})\n\t\t}).catch((error) => context.commit('API_FAILURE', { appId, error }))\n\t},\n\n\tgetAllApps(context) {\n\t\tcontext.commit('startLoading', 'list')\n\t\treturn api.get(generateUrl('settings/apps/list'))\n\t\t\t.then((response) => {\n\t\t\t\tcontext.commit('setAllApps', response.data.apps)\n\t\t\t\tcontext.commit('stopLoading', 'list')\n\t\t\t\treturn true\n\t\t\t})\n\t\t\t.catch((error) => context.commit('API_FAILURE', error))\n\t},\n\n\tasync getCategories(context, { shouldRefetchCategories = false } = {}) {\n\t\tif (shouldRefetchCategories || !context.state.gettingCategoriesPromise) {\n\t\t\tcontext.commit('startLoading', 'categories')\n\t\t\ttry {\n\t\t\t\tconst categoriesPromise = api.get(generateUrl('settings/apps/categories'))\n\t\t\t\tcontext.commit('updateCategories', categoriesPromise)\n\t\t\t\tconst categoriesPromiseResponse = await categoriesPromise\n\t\t\t\tif (categoriesPromiseResponse.data.length > 0) {\n\t\t\t\t\tcontext.commit('appendCategories', categoriesPromiseResponse.data)\n\t\t\t\t\tcontext.commit('stopLoading', 'categories')\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\tcontext.commit('stopLoading', 'categories')\n\t\t\t\treturn false\n\t\t\t} catch (error) {\n\t\t\t\tcontext.commit('API_FAILURE', error)\n\t\t\t}\n\t\t}\n\t\treturn context.state.gettingCategoriesPromise\n\t},\n\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { loadState } from '@nextcloud/initial-state'\n\nconst state = {\n\tserverData: loadState('settings', 'usersSettings', {}),\n}\nconst mutations = {\n\tsetServerData(state, data) {\n\t\tstate.serverData = data\n\t},\n}\nconst getters = {\n\tgetServerData(state) {\n\t\treturn state.serverData\n\t},\n}\nconst actions = {}\n\nexport default { state, mutations, getters, actions }\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport api from './api.js'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nconst state = {}\nconst mutations = {}\nconst getters = {}\nconst actions = {\n\t/**\n\t * Set application config in database\n\t *\n\t * @param {object} context store context\n\t * @param {object} options destructuring object\n\t * @param {string} options.app Application name\n\t * @param {boolean} options.key Config key\n\t * @param {boolean} options.value Value to set\n\t * @return {Promise}\n\t */\n\tsetAppConfig(context, { app, key, value }) {\n\t\treturn api.requireAdmin().then((response) => {\n\t\t\treturn api.post(generateOcsUrl('apps/provisioning_api/api/v1/config/apps/{app}/{key}', { app, key }), { value })\n\t\t\t\t.catch((error) => { throw error })\n\t\t}).catch((error) => context.commit('API_FAILURE', { app, key, value, error }))\n\t},\n}\n\nexport default { state, mutations, getters, actions }\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { Store } from 'vuex'\nimport users from './users.js'\nimport apps from './apps.js'\nimport settings from './users-settings.js'\nimport oc from './oc.js'\nimport { showError } from '@nextcloud/dialogs'\n\nconst debug = process.env.NODE_ENV !== 'production'\n\nconst mutations = {\n\tAPI_FAILURE(state, error) {\n\t\ttry {\n\t\t\tconst message = error.error.response.data.ocs.meta.message\n\t\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.') + '
' + message, { isHTML: true })\n\t\t} catch (e) {\n\t\t\tshowError(t('settings', 'An error occurred during the request. Unable to proceed.'))\n\t\t}\n\t\tconsole.error(state, error)\n\t},\n}\n\nlet store = null\n\nexport const useStore = () => {\n\tif (store === null) {\n\t\tstore = new Store({\n\t\t\tmodules: {\n\t\t\t\tusers,\n\t\t\t\tapps,\n\t\t\t\tsettings,\n\t\t\t\toc,\n\t\t\t},\n\t\t\tstrict: debug,\n\t\t\tmutations,\n\t\t})\n\t}\n\treturn store\n}\n","/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n/**\n * https://github.com/nextcloud/server/blob/208e38e84e1a07a49699aa90dc5b7272d24489f0/lib/private/Group/MetaData.php#L34\n */\nexport var GroupSorting;\n(function (GroupSorting) {\n GroupSorting[GroupSorting[\"UserCount\"] = 1] = \"UserCount\";\n GroupSorting[GroupSorting[\"GroupName\"] = 2] = \"GroupName\";\n})(GroupSorting || (GroupSorting = {}));\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.NcContent,{attrs:{\"app-name\":\"settings\"}},[_c('router-view',{attrs:{\"name\":\"navigation\"}}),_vm._v(\" \"),_c('router-view'),_vm._v(\" \"),_c('router-view',{attrs:{\"name\":\"sidebar\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsApp.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsApp.vue?vue&type=script&setup=true&lang=ts\"","import { render, staticRenderFns } from \"./SettingsApp.vue?vue&type=template&id=02c6e0e9\"\nimport script from \"./SettingsApp.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./SettingsApp.vue?vue&type=script&setup=true&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { loadState } from '@nextcloud/initial-state';\nconst appstoreEnabled = loadState('settings', 'appstoreEnabled', true);\n// Dynamic loading\nconst AppStore = () => import(/* webpackChunkName: 'settings-apps-view' */ '../views/AppStore.vue');\nconst AppStoreNavigation = () => import(/* webpackChunkName: 'settings-apps-view' */ '../views/AppStoreNavigation.vue');\nconst AppStoreSidebar = () => import(/* webpackChunkName: 'settings-apps-view' */ '../views/AppStoreSidebar.vue');\nconst UserManagement = () => import(/* webpackChunkName: 'settings-users' */ '../views/UserManagement.vue');\nconst UserManagementNavigation = () => import(/* webpackChunkName: 'settings-users' */ '../views/UserManagementNavigation.vue');\nconst routes = [\n {\n name: 'users',\n path: '/:index(index.php/)?settings/users',\n components: {\n default: UserManagement,\n navigation: UserManagementNavigation,\n },\n props: true,\n children: [\n {\n path: ':selectedGroup',\n name: 'group',\n },\n ],\n },\n {\n path: '/:index(index.php/)?settings/apps',\n name: 'apps',\n redirect: {\n name: 'apps-category',\n params: {\n category: appstoreEnabled ? 'discover' : 'installed',\n },\n },\n components: {\n default: AppStore,\n navigation: AppStoreNavigation,\n sidebar: AppStoreSidebar,\n },\n children: [\n {\n path: ':category',\n name: 'apps-category',\n children: [\n {\n path: ':id',\n name: 'apps-details',\n },\n ],\n },\n ],\n },\n];\nexport default routes;\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport Vue from 'vue';\nimport Router from 'vue-router';\nimport { generateUrl } from '@nextcloud/router';\nimport routes from './routes.ts';\nVue.use(Router);\nconst router = new Router({\n mode: 'history',\n // if index.php is in the url AND we got this far, then it's working:\n // let's keep using index.php in the url\n base: generateUrl(''),\n linkActiveClass: 'active',\n routes,\n});\nexport default router;\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport Vue from 'vue';\nimport Vuex from 'vuex';\nimport VTooltipPlugin from 'v-tooltip';\nimport { sync } from 'vuex-router-sync';\nimport { t, n } from '@nextcloud/l10n';\nimport SettingsApp from './views/SettingsApp.vue';\nimport router from './router/index.ts';\nimport { useStore } from './store/index.js';\nimport { getCSPNonce } from '@nextcloud/auth';\nimport { PiniaVuePlugin, createPinia } from 'pinia';\n// CSP config for webpack dynamic chunk loading\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = getCSPNonce();\n// bind to window\nVue.prototype.t = t;\nVue.prototype.n = n;\nVue.use(PiniaVuePlugin);\nVue.use(VTooltipPlugin, { defaultHtml: false });\nVue.use(Vuex);\nconst store = useStore();\nsync(store, router);\nconst pinia = createPinia();\nexport default new Vue({\n router,\n store,\n pinia,\n render: h => h(SettingsApp),\n el: '#content',\n});\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getLoggerBuilder } from '@nextcloud/logger';\nexport default getLoggerBuilder()\n .setApp('settings')\n .detectUser()\n .build();\n","exports.sync = function (store, router, options) {\n var moduleName = (options || {}).moduleName || 'route'\n\n store.registerModule(moduleName, {\n namespaced: true,\n state: cloneRoute(router.currentRoute),\n mutations: {\n 'ROUTE_CHANGED': function ROUTE_CHANGED (state, transition) {\n store.state[moduleName] = cloneRoute(transition.to, transition.from)\n }\n }\n })\n\n var isTimeTraveling = false\n var currentPath\n\n // sync router on store change\n var storeUnwatch = store.watch(\n function (state) { return state[moduleName]; },\n function (route) {\n var fullPath = route.fullPath;\n if (fullPath === currentPath) {\n return\n }\n if (currentPath != null) {\n isTimeTraveling = true\n router.push(route)\n }\n currentPath = fullPath\n },\n { sync: true }\n )\n\n // sync store on router navigation\n var afterEachUnHook = router.afterEach(function (to, from) {\n if (isTimeTraveling) {\n isTimeTraveling = false\n return\n }\n currentPath = to.fullPath\n store.commit(moduleName + '/ROUTE_CHANGED', { to: to, from: from })\n })\n\n return function unsync () {\n // On unsync, remove router hook\n if (afterEachUnHook != null) {\n afterEachUnHook()\n }\n\n // On unsync, remove store watch\n if (storeUnwatch != null) {\n storeUnwatch()\n }\n\n // On unsync, unregister Module with store\n store.unregisterModule(moduleName)\n }\n}\n\nfunction cloneRoute (to, from) {\n var clone = {\n name: to.name,\n path: to.path,\n hash: to.hash,\n query: to.query,\n params: to.params,\n fullPath: to.fullPath,\n meta: to.meta\n }\n if (from) {\n clone.from = cloneRoute(from)\n }\n return Object.freeze(clone)\n}\n\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","// 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__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + ({\"3239\":\"settings-users\",\"4529\":\"settings-apps-view\"}[chunkId] || chunkId) + \"-\" + chunkId + \".js?v=\" + {\"256\":\"a0a66d8a483323fceabd\",\"3239\":\"80fab087698056c0943d\",\"3303\":\"96b90b1ba78ea11d9e36\",\"3731\":\"03a157235c000f83910a\",\"4529\":\"1c2c3542f9da32ca3184\",\"5862\":\"10fe36062cea7941d5a0\",\"6329\":\"da6ad198a7ca85dde977\",\"7265\":\"d7160b14ff5971255399\",\"7471\":\"806ad727bd04144ac45f\",\"8737\":\"d1c9f189cbfe0cd1ba97\",\"9972\":\"440f2099df705a3b52ad\"}[chunkId] + \"\";\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};","__webpack_require__.j = 2689;","var scriptUrl;\nif (globalThis.importScripts) scriptUrl = globalThis.location + \"\";\nvar document = globalThis.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/^blob:/, \"\").replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = (typeof document !== 'undefined' && document.baseURI) || self.location.href;\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\t2689: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\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, moreModules, runtime] = data;\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[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = globalThis[\"webpackChunknextcloud\"] = globalThis[\"webpackChunknextcloud\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// 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, [4208], () => (__webpack_require__(18539)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","sanitize","url","replace","requireAdmin","confirmPassword","get","options","axios","post","data","patch","put","delete","params","naturalCollator","Intl","Collator","getLanguage","getCanonicalLocale","numeric","usage","usersSettings","loadState","localStorage","getBuilder","persist","build","defaults","id","name","usercount","disabled","canAdd","canRemove","state","users","groups","getSubAdminGroups","systemGroups","orderBy","sortGroups","GroupSorting","UserCount","minPasswordLength","usersOffset","usersLimit","disabledUsersOffset","disabledUsersLimit","userCount","showConfig","showStoragePath","getItem","showUserBackend","showFirstLogin","showLastLogin","showNewUserForm","showLanguages","mutations","appendUsers","usersObj","existingUsers","map","newUsers","Object","values","filter","includes","concat","updateDisabledUsers","_usersObj","setPasswordPolicyMinLength","length","addGroup","newGroup","find","group","assign","unshift","e","console","error","renameGroup","gid","displayName","groupIndex","findIndex","groupSearch","updatedGroup","splice","removeGroup","addUserGroup","userid","user","enabled","push","removeUserGroup","indexOf","addUserSubAdmin","subadmin","removeUserSubAdmin","deleteUser","userIndex","this","commit","actionType","addUserData","response","ocs","enableDisableUser","updateUserCounts","recentGroup","disabledGroup","forEach","userGroup","warn","logger","setUserData","key","value","humanValue","parseFileSize","resetUsers","resetGroups","setShowConfig","setItem","JSON","stringify","setGroupSorting","sorting","oldValue","generateUrl","String","catch","showError","t","getters","getUsers","getGroups","subAdminGroups","getSortedGroups","sort","a","b","numA","numB","compare","getGroupSorting","getPasswordPolicyMinLength","getUsersOffset","getUsersLimit","getDisabledUsersOffset","getDisabledUsersLimit","getUserCount","getShowConfig","CancelToken","searchRequestCancelSource","actions","searchUsers","context","offset","limit","search","api","generateOcsUrl","getUser","userId","cancel","source","trim","encodeURIComponent","cancelToken","token","then","usersCount","keys","getRecentUsers","getDisabledUsers","limitParam","getUsersFromList","getUsersFromGroup","groupid","groupId","getCapabilities","password_policy","minLength","wipeUserDevices","Promise","reject","Error","addUser","dispatch","password","email","quota","language","manager","userStatus","sendWelcomeMail","apps","bundles","categories","updateCount","loading","gettingCategoriesPromise","appApiEnabled","APPS_API_FAILURE","message","isHTML","initCategories","updateCategories","categoriesPromise","setUpdateCount","addCategory","category","appendCategories","categoriesArray","setAllApps","setError","appId","Array","isArray","_id","app","clearError","enableApp","active","Vue","setInstallState","canInstall","disableApp","removable","canUnInstall","uninstallApp","needsDownload","installed","updateApp","version","update","resetApps","reset","startLoading","stopLoading","previousState","_appId","appIds","update_required","showInfo","onClick","window","location","reload","close","setTimeout","forceEnableApp","finally","getAllApps","getCategories","shouldRefetchCategories","categoriesPromiseResponse","isAppApiEnabled","getAppBundles","getUpdateCount","getCategoryById","selectedCategoryId","serverData","setServerData","getServerData","setAppConfig","API_FAILURE","meta","store","useStore","Store","modules","settings","oc","strict","process","_defineComponent","__name","setup","__props","__sfc","NcContent","_vm","_c","_self","_setupProxy","attrs","_v","path","components","default","UserManagement","navigation","UserManagementNavigation","props","children","redirect","AppStore","AppStoreNavigation","sidebar","AppStoreSidebar","use","Router","mode","base","linkActiveClass","routes","__webpack_nonce__","getCSPNonce","prototype","n","PiniaVuePlugin","VTooltipPlugin","defaultHtml","Vuex","sync","router","pinia","createPinia","render","h","SettingsApp","el","getLoggerBuilder","setApp","detectUser","cloneRoute","to","from","clone","hash","query","fullPath","freeze","exports","moduleName","registerModule","namespaced","currentRoute","transition","currentPath","isTimeTraveling","storeUnwatch","watch","route","afterEachUnHook","afterEach","unregisterModule","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","module","loaded","__webpack_modules__","call","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","every","r","getter","__esModule","d","definition","o","defineProperty","enumerable","f","chunkId","all","reduce","promises","u","obj","prop","hasOwnProperty","l","done","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","timeout","doneFns","parentNode","removeChild","bind","type","target","head","appendChild","Symbol","toStringTag","nmd","paths","scriptUrl","globalThis","importScripts","currentScript","tagName","toUpperCase","test","p","baseURI","self","href","installedChunks","installedChunkData","promise","resolve","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"ignoreList":[],"sourceRoot":""} \ No newline at end of file