diff options
author | Marcel Klehr <mklehr@gmx.net> | 2023-07-25 14:47:27 +0200 |
---|---|---|
committer | Julien Veyssier <julien-nc@posteo.net> | 2023-08-02 12:37:35 +0200 |
commit | 112268a48aebf2f2025ee106f41fd6186b08bb59 (patch) | |
tree | 093f68e2918be0c31e616966e8cd509121425d47 | |
parent | 4ec150c9b6d24e877a7843fc005cfb6b8997363b (diff) | |
download | nextcloud-server-112268a48aebf2f2025ee106f41fd6186b08bb59.tar.gz nextcloud-server-112268a48aebf2f2025ee106f41fd6186b08bb59.zip |
AI admin settings: lint:fix
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
20 files changed, 99 insertions, 56 deletions
diff --git a/apps/settings/src/admin.js b/apps/settings/src/admin.js index 3bbfb564763..c8d04049ded 100644 --- a/apps/settings/src/admin.js +++ b/apps/settings/src/admin.js @@ -242,7 +242,7 @@ window.addEventListener('DOMContentLoaded', () => { OC.SetupChecks.checkSetup(), OC.SetupChecks.checkGeneric(), OC.SetupChecks.checkWOFF2Loading(OC.filePath('core', '', 'fonts/NotoSans-Regular-latin.woff2'), OC.theme.docPlaceholderUrl), - OC.SetupChecks.checkDataProtected() + OC.SetupChecks.checkDataProtected(), ).then((check1, check2, check3, check4, check5, check6, check7, check8, check9, check10, check11) => { const messages = [].concat(check1, check2, check3, check4, check5, check6, check7, check8, check9, check10, check11) const $el = $('#postsetupchecks') diff --git a/apps/settings/src/components/AdminAI.vue b/apps/settings/src/components/AdminAI.vue index 5461e3f69d8..05175bb7988 100644 --- a/apps/settings/src/components/AdminAI.vue +++ b/apps/settings/src/components/AdminAI.vue @@ -88,7 +88,7 @@ export default { methods: { async saveChanges() { this.loading = true - const data = {settings: this.settings} + const data = { settings: this.settings } try { await axios.put(generateUrl('/settings/api/admin/ai'), data) } catch (err) { diff --git a/apps/settings/src/components/AdminDelegation/GroupSelect.vue b/apps/settings/src/components/AdminDelegation/GroupSelect.vue index 82b5e51fb45..91593516760 100644 --- a/apps/settings/src/components/AdminDelegation/GroupSelect.vue +++ b/apps/settings/src/components/AdminDelegation/GroupSelect.vue @@ -1,6 +1,6 @@ <template> - <NcSelect :input-id="setting.id" - v-model="selected" + <NcSelect v-model="selected" + :input-id="setting.id" class="group-select" :placeholder="t('settings', 'None')" label="displayName" diff --git a/apps/settings/src/components/AdminTwoFactor.vue b/apps/settings/src/components/AdminTwoFactor.vue index 27e1b2f4e84..d45e7f7f6ff 100644 --- a/apps/settings/src/components/AdminTwoFactor.vue +++ b/apps/settings/src/components/AdminTwoFactor.vue @@ -22,8 +22,8 @@ <label for="enforcedGroups"> <span>{{ t('settings', 'Enforced groups') }}</span> </label> - <NcSelect input-id="enforcedGroups" - v-model="enforcedGroups" + <NcSelect v-model="enforcedGroups" + input-id="enforcedGroups" :options="groups" :disabled="loading" :multiple="true" @@ -38,8 +38,8 @@ <label for="excludedGroups"> <span>{{ t('settings', 'Excluded groups') }}</span> </label> - <NcSelect input-id="excludedGroups" - v-model="excludedGroups" + <NcSelect v-model="excludedGroups" + input-id="excludedGroups" :options="groups" :disabled="loading" :multiple="true" diff --git a/apps/settings/src/components/AuthTokenSection.vue b/apps/settings/src/components/AuthTokenSection.vue index 01a85f4ae1b..bb9bd3fb065 100644 --- a/apps/settings/src/components/AuthTokenSection.vue +++ b/apps/settings/src/components/AuthTokenSection.vue @@ -49,7 +49,7 @@ const confirm = () => { t('settings', 'Do you really want to wipe your data from this device?'), t('settings', 'Confirm wipe'), resolve, - true + true, ) }) } diff --git a/apps/settings/src/components/Markdown.vue b/apps/settings/src/components/Markdown.vue index fbbbf7456a1..dcbd44b186b 100644 --- a/apps/settings/src/components/Markdown.vue +++ b/apps/settings/src/components/Markdown.vue @@ -100,7 +100,7 @@ export default { 'del', 'blockquote', ], - } + }, ) }, }, diff --git a/apps/settings/src/components/PersonalInfo/AvatarSection.vue b/apps/settings/src/components/PersonalInfo/AvatarSection.vue index a69cf368d9f..d6fa8d52367 100644 --- a/apps/settings/src/components/PersonalInfo/AvatarSection.vue +++ b/apps/settings/src/components/PersonalInfo/AvatarSection.vue @@ -22,7 +22,9 @@ <template> <section id="vue-avatar-section"> - <h3 class="hidden-visually"> {{ t('settings', 'Your profile information') }} </h3> + <h3 class="hidden-visually"> + {{ t('settings', 'Your profile information') }} + </h3> <HeaderBar :input-id="avatarChangeSupported ? inputId : null" :readable="avatar.readable" :scope.sync="avatar.scope" /> @@ -30,13 +32,13 @@ <div v-if="!showCropper" class="avatar__container"> <div class="avatar__preview"> <NcAvatar v-if="!loading" + :key="version" :user="userId" :aria-label="t('settings', 'Your profile picture')" :disabled-menu="true" :disabled-tooltip="true" :show-user-status="false" - :size="180" - :key="version" /> + :size="180" /> <div v-else class="icon-loading" /> </div> <template v-if="avatarChangeSupported"> @@ -62,8 +64,8 @@ </NcButton> </div> <span>{{ t('settings', 'The file must be a PNG or JPG') }}</span> - <input ref="input" - :id="inputId" + <input :id="inputId" + ref="input" type="file" :accept="validMimeTypes.join(',')" @change="onChange"> diff --git a/apps/settings/src/components/PersonalInfo/DetailsSection.vue b/apps/settings/src/components/PersonalInfo/DetailsSection.vue index 10f9b757220..075ed6f71e2 100644 --- a/apps/settings/src/components/PersonalInfo/DetailsSection.vue +++ b/apps/settings/src/components/PersonalInfo/DetailsSection.vue @@ -29,7 +29,9 @@ <Account :size="20" /> <div class="details__groups-info"> <p>{{ t('settings', 'You are a member of the following groups:') }}</p> - <p class="details__groups-list">{{ groups.join(', ') }}</p> + <p class="details__groups-list"> + {{ groups.join(', ') }} + </p> </div> </div> <div class="details__quota"> @@ -69,6 +71,13 @@ export default { NcProgressBar, }, + data() { + return { + groups, + usageRelative, + } + }, + computed: { quotaText() { if (quota === SPACE_UNLIMITED) { @@ -79,14 +88,7 @@ export default { 'You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)', { usage, totalSpace, usageRelative }, ) - } - }, - - data() { - return { - groups, - usageRelative, - } + }, }, } </script> diff --git a/apps/settings/src/components/PersonalInfo/DisplayNameSection.vue b/apps/settings/src/components/PersonalInfo/DisplayNameSection.vue index b88f52e0df4..00a629c4d54 100644 --- a/apps/settings/src/components/PersonalInfo/DisplayNameSection.vue +++ b/apps/settings/src/components/PersonalInfo/DisplayNameSection.vue @@ -66,6 +66,6 @@ export default { } emit('settings:display-name:updated', value) }, - } + }, } </script> diff --git a/apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue b/apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue index 613b90356c3..980af3e62b0 100644 --- a/apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue +++ b/apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue @@ -153,7 +153,7 @@ export default { this.handleResponse( 'error', t('settings', 'Unable to update primary email address'), - e + e, ) } }, @@ -166,7 +166,7 @@ export default { this.handleResponse( 'error', t('settings', 'Unable to delete additional email address'), - e + e, ) } }, @@ -178,7 +178,7 @@ export default { this.handleResponse( 'error', t('settings', 'Unable to delete additional email address'), - {} + {}, ) } }, diff --git a/apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue b/apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue index 959e7153e17..bacc687c58e 100644 --- a/apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue +++ b/apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue @@ -88,7 +88,7 @@ export default { allLanguages() { return Object.freeze( [...this.commonLanguages, ...this.otherLanguages] - .reduce((acc, { code, name }) => ({ ...acc, [code]: name }), {}) + .reduce((acc, { code, name }) => ({ ...acc, [code]: name }), {}), ) }, }, diff --git a/apps/settings/src/components/PersonalInfo/LocaleSection/Locale.vue b/apps/settings/src/components/PersonalInfo/LocaleSection/Locale.vue index 7bb78f74cc2..6f296a6c124 100644 --- a/apps/settings/src/components/PersonalInfo/LocaleSection/Locale.vue +++ b/apps/settings/src/components/PersonalInfo/LocaleSection/Locale.vue @@ -50,7 +50,7 @@ <span>{{ example.time }}</span> </p> <p> - {{ t('settings', 'Week starts on {firstDayOfWeek}', { firstDayOfWeek: this.example.firstDayOfWeek }) }} + {{ t('settings', 'Week starts on {firstDayOfWeek}', { firstDayOfWeek: example.firstDayOfWeek }) }} </p> </div> </div> @@ -107,7 +107,7 @@ export default { allLocales() { return Object.freeze( [...this.localesForLanguage, ...this.otherLocales] - .reduce((acc, { code, name }) => ({ ...acc, [code]: name }), {}) + .reduce((acc, { code, name }) => ({ ...acc, [code]: name }), {}), ) }, }, diff --git a/apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue b/apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue index 2329cf123f5..59cccc54714 100644 --- a/apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue +++ b/apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue @@ -38,8 +38,8 @@ autocorrect="off" @input="onPropertyChange" /> <input v-else - ref="input" :id="inputId" + ref="input" :placeholder="placeholder" :type="type" :value="value" diff --git a/apps/settings/src/components/PersonalInfo/shared/HeaderBar.vue b/apps/settings/src/components/PersonalInfo/shared/HeaderBar.vue index 8db2a43f6bc..b149d8405f4 100644 --- a/apps/settings/src/components/PersonalInfo/shared/HeaderBar.vue +++ b/apps/settings/src/components/PersonalInfo/shared/HeaderBar.vue @@ -100,7 +100,7 @@ export default { isHeading: { type: Boolean, default: false, - } + }, }, data() { diff --git a/apps/settings/src/components/UserList.vue b/apps/settings/src/components/UserList.vue index d79d695f771..9fcf4d4e526 100644 --- a/apps/settings/src/components/UserList.vue +++ b/apps/settings/src/components/UserList.vue @@ -42,9 +42,9 @@ </NcEmptyContent> <RecycleScroller v-else + ref="scroller" class="user-list" :style="style" - ref="scroller" :items="filteredUsers" key-field="id" role="table" @@ -55,7 +55,6 @@ :item-size="rowHeight" @hook:mounted="handleMounted" @scroll-end="handleScrollEnd"> - <template #before> <caption class="hidden-visually"> {{ t('settings', 'List of users. This list is not fully rendered for performance reasons. The users will be rendered as you navigate through the list.') }} @@ -79,7 +78,6 @@ <UserListFooter :loading="loading.users" :filtered-users="filteredUsers" /> </template> - </RecycleScroller> </Fragment> </template> diff --git a/apps/settings/src/components/Users/NewUserModal.vue b/apps/settings/src/components/Users/NewUserModal.vue index d8a9eb64a3e..00ce7c92600 100644 --- a/apps/settings/src/components/Users/NewUserModal.vue +++ b/apps/settings/src/components/Users/NewUserModal.vue @@ -29,8 +29,8 @@ :disabled="loading.all" @submit.prevent="createUser"> <h2>{{ t('settings', 'New user') }}</h2> - <NcTextField class="modal__item" - ref="username" + <NcTextField ref="username" + class="modal__item" data-test="username" :value.sync="newUser.id" :disabled="settings.newUserGenerateUserID" @@ -50,12 +50,12 @@ autocomplete="off" autocorrect="off" /> <span v-if="!settings.newUserRequireEmail" - class="modal__hint" - id="password-email-hint"> + id="password-email-hint" + class="modal__hint"> {{ t('settings', 'Either password or email is required') }} </span> - <NcPasswordField class="modal__item" - ref="password" + <NcPasswordField ref="password" + class="modal__item" data-test="password" :value.sync="newUser.password" :minlength="minPasswordLength" @@ -81,8 +81,8 @@ <div class="modal__item"> <!-- hidden input trick for vanilla html5 form validation --> <NcTextField v-if="!settings.isAdmin" - tabindex="-1" id="new-user-groups-input" + tabindex="-1" :class="{ 'icon-loading-small': loading.groups }" :value="newUser.groups" :required="!settings.isAdmin" /> @@ -112,11 +112,11 @@ for="new-user-sub-admin"> {{ t('settings', 'Administered groups') }} </label> - <NcSelect class="modal__select" + <NcSelect v-model="newUser.subAdminsGroups" + class="modal__select" input-id="new-user-sub-admin" :placeholder="t('settings', 'Set user as admin for …')" :options="subAdminsGroups" - v-model="newUser.subAdminsGroups" :close-on-select="false" :multiple="true" label="name" /> @@ -126,11 +126,11 @@ for="new-user-quota"> {{ t('settings', 'Quota') }} </label> - <NcSelect class="modal__select" + <NcSelect v-model="newUser.quota" + class="modal__select" input-id="new-user-quota" :placeholder="t('settings', 'Set user quota')" :options="quotaOptions" - v-model="newUser.quota" :clearable="false" :taggable="true" :create-option="validateQuota" /> @@ -141,14 +141,14 @@ for="new-user-language"> {{ t('settings', 'Language') }} </label> - <NcSelect class="modal__select" + <NcSelect v-model="newUser.language" + class="modal__select" input-id="new-user-language" :placeholder="t('settings', 'Set default language')" :clearable="false" :selectable="option => !option.languages" :filter-by="languageFilterBy" :options="languages" - v-model="newUser.language" label="name" /> </div> <div :class="['modal__item managers', { 'icon-loading-small': loading.manager }]"> @@ -157,11 +157,11 @@ <!-- TRANSLATORS This string describes a manager in the context of an organization --> {{ t('settings', 'Manager') }} </label> - <NcSelect class="modal__select" + <NcSelect v-model="newUser.manager" + class="modal__select" input-id="new-user-manager" :placeholder="managerLabel" :options="possibleManagers" - v-model="newUser.manager" :user-select="true" label="displayname" @search="searchUserManager" /> @@ -366,7 +366,7 @@ export default { // Show group header of the language if (option.languages) { return option.languages.some( - ({ name }) => name.toLocaleLowerCase().includes(search.toLocaleLowerCase()) + ({ name }) => name.toLocaleLowerCase().includes(search.toLocaleLowerCase()), ) } diff --git a/apps/settings/src/components/Users/UserRow.vue b/apps/settings/src/components/Users/UserRow.vue index fcd9829db1e..b230e9a9bf8 100644 --- a/apps/settings/src/components/Users/UserRow.vue +++ b/apps/settings/src/components/Users/UserRow.vue @@ -44,8 +44,8 @@ {{ t('settings', 'Edit display name') }} </label> <NcTextField :id="'displayName' + uniqueId" - data-test="displayNameField" ref="displayNameField" + data-test="displayNameField" :show-trailing-button="true" class="user-row-text-field" :class="{ 'icon-loading-small': idState.loading.displayName }" @@ -202,8 +202,8 @@ </template> <template v-else-if="!isObfuscated"> <label :for="'quota-progress' + uniqueId">{{ userQuota }} ({{ usedSpace }})</label> - <NcProgressBar class="row__progress" - :id="'quota-progress' + uniqueId" + <NcProgressBar :id="'quota-progress' + uniqueId" + class="row__progress" :class="{ 'row__progress--warn': usedQuota > 80, }" diff --git a/apps/settings/src/main-admin-ai.js b/apps/settings/src/main-admin-ai.js new file mode 100644 index 00000000000..485b219ed78 --- /dev/null +++ b/apps/settings/src/main-admin-ai.js @@ -0,0 +1,39 @@ +/** + * @copyright Copyright (c) 2016 Christoph Wurst <christoph@winzerhof-wurst.at> + * + * @author Christoph Wurst <christoph@winzerhof-wurst.at> + * @author John Molakvoæ <skjnldsv@protonmail.com> + * @author Roeland Jago Douma <roeland@famdouma.nl> + * + * @license AGPL-3.0-or-later + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +import Vue from 'vue' + +import ArtificialIntelligence from './components/AdminAI.vue' + +// eslint-disable-next-line camelcase +__webpack_nonce__ = btoa(OC.requestToken) + +Vue.prototype.t = t + +// Not used here but required for legacy templates +window.OC = window.OC || {} +window.OC.Settings = window.OC.Settings || {} + +const View = Vue.extend(ArtificialIntelligence) +new View().$mount('#ai-settings') diff --git a/apps/settings/src/main-admin-security.js b/apps/settings/src/main-admin-security.js index f3279f45c93..a5c239683e7 100644 --- a/apps/settings/src/main-admin-security.js +++ b/apps/settings/src/main-admin-security.js @@ -39,7 +39,7 @@ window.OC = window.OC || {} window.OC.Settings = window.OC.Settings || {} store.replaceState( - loadState('settings', 'mandatory2FAState') + loadState('settings', 'mandatory2FAState'), ) const View = Vue.extend(AdminTwoFactor) diff --git a/apps/settings/src/utils/userUtils.ts b/apps/settings/src/utils/userUtils.ts index eff8315b693..b6c96624139 100644 --- a/apps/settings/src/utils/userUtils.ts +++ b/apps/settings/src/utils/userUtils.ts @@ -33,6 +33,8 @@ export const defaultQuota = { /** * Return `true` if the logged in user does not have permissions to view the * data of `user` + * @param user + * @param user.id */ export const isObfuscated = (user: { id: string, [key: string]: any }) => { const keys = Object.keys(user) |