chore: auto fix ESLint issues

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
pull/56660/head
Ferdinand Thiessen 2025-11-25 14:09:36 +07:00
parent 63b401d872
commit 42112c8d30
80 changed files with 266 additions and 267 deletions

@ -72,7 +72,7 @@
:contenteditable="!loading"
:label="editor ? t('comments', 'New comment') : t('comments', 'Edit comment')"
:placeholder="t('comments', 'Write a comment …')"
:value="localMessage"
:model-value="localMessage"
:user-data="userData"
aria-describedby="tab-comments__editor-description"
@update:value="updateLocalMessage"

@ -5,14 +5,11 @@
import { getCSPNonce } from '@nextcloud/auth'
import { t } from '@nextcloud/l10n'
import VTooltip from '@nextcloud/vue/directives/Tooltip'
import Vue from 'vue'
import DashboardApp from './DashboardApp.vue'
__webpack_nonce__ = getCSPNonce()
Vue.directive('Tooltip', VTooltip)
Vue.prototype.t = t
const Dashboard = Vue.extend(DashboardApp)

@ -205,7 +205,7 @@ export default {
/**
* Debounce getSuggestions
*
* @param {...*} args the arguments
* @param {[string]} args - The arguments
*/
debounceGetSuggestions: debounce(function(...args) {
this.getSuggestions(...args)

@ -6,7 +6,7 @@
<template>
<div class="example-contact-settings">
<NcCheckboxRadioSwitch
:checked="enableDefaultContact"
:model-value="enableDefaultContact"
type="switch"
@update:model-value="updateEnableDefaultContact">
{{ t('dav', "Add example contact to user's address book when they first log in") }}

@ -6,7 +6,7 @@
<template>
<div class="example-event-settings">
<NcCheckboxRadioSwitch
:checked="createExampleEvent"
:model-value="createExampleEvent"
:disabled="savingConfig"
type="switch"
@update:model-value="updateCreateExampleEvent">

@ -8,32 +8,32 @@
:description="t('federatedfilesharing', 'Adjust how people can share between servers. This includes shares between people on this server as well if they are using federated sharing.')"
:doc-url="sharingFederatedDocUrl">
<NcCheckboxRadioSwitch
v-model="outgoingServer2serverShareEnabled"
type="switch"
:checked.sync="outgoingServer2serverShareEnabled"
@update:checked="update('outgoing_server2server_share_enabled', outgoingServer2serverShareEnabled)">
@update:modelValue="update('outgoing_server2server_share_enabled', outgoingServer2serverShareEnabled)">
{{ t('federatedfilesharing', 'Allow people on this server to send shares to other servers (this option also allows WebDAV access to public shares)') }}
</NcCheckboxRadioSwitch>
<NcCheckboxRadioSwitch
v-model="incomingServer2serverShareEnabled"
type="switch"
:checked.sync="incomingServer2serverShareEnabled"
@update:checked="update('incoming_server2server_share_enabled', incomingServer2serverShareEnabled)">
@update:modelValue="update('incoming_server2server_share_enabled', incomingServer2serverShareEnabled)">
{{ t('federatedfilesharing', 'Allow people on this server to receive shares from other servers') }}
</NcCheckboxRadioSwitch>
<NcCheckboxRadioSwitch
v-if="federatedGroupSharingSupported"
v-model="outgoingServer2serverGroupShareEnabled"
type="switch"
:checked.sync="outgoingServer2serverGroupShareEnabled"
@update:checked="update('outgoing_server2server_group_share_enabled', outgoingServer2serverGroupShareEnabled)">
@update:modelValue="update('outgoing_server2server_group_share_enabled', outgoingServer2serverGroupShareEnabled)">
{{ t('federatedfilesharing', 'Allow people on this server to send shares to groups on other servers') }}
</NcCheckboxRadioSwitch>
<NcCheckboxRadioSwitch
v-if="federatedGroupSharingSupported"
v-model="incomingServer2serverGroupShareEnabled"
type="switch"
:checked.sync="incomingServer2serverGroupShareEnabled"
@update:checked="update('incoming_server2server_group_share_enabled', incomingServer2serverGroupShareEnabled)">
@update:modelValue="update('incoming_server2server_group_share_enabled', incomingServer2serverGroupShareEnabled)">
{{ t('federatedfilesharing', 'Allow people on this server to receive group shares from other servers') }}
</NcCheckboxRadioSwitch>
@ -42,17 +42,17 @@
<NcCheckboxRadioSwitch
type="switch"
:checked="lookupServerEnabled"
:model-value="lookupServerEnabled"
disabled
@update:checked="showLookupServerConfirmation">
@update:modelValue="showLookupServerConfirmation">
{{ t('federatedfilesharing', 'Search global and public address book for people') }}
</NcCheckboxRadioSwitch>
<NcCheckboxRadioSwitch
type="switch"
:checked="lookupServerUploadEnabled"
:model-value="lookupServerUploadEnabled"
disabled
@update:checked="showLookupServerUploadConfirmation">
@update:modelValue="showLookupServerUploadConfirmation">
{{ t('federatedfilesharing', 'Allow people to publish their data to a global and public address book') }}
</NcCheckboxRadioSwitch>
</fieldset>
@ -63,9 +63,9 @@
{{ t('federatedfilesharing', 'Trusted federation') }}
</h3>
<NcCheckboxRadioSwitch
v-model="federatedTrustedShareAutoAccept"
type="switch"
:checked.sync="federatedTrustedShareAutoAccept"
@update:checked="update('federatedTrustedShareAutoAccept', federatedTrustedShareAutoAccept)">
@update:modelValue="update('federatedTrustedShareAutoAccept', federatedTrustedShareAutoAccept)">
{{ t('federatedfilesharing', 'Automatically accept shares from trusted federated accounts and groups by default') }}
</NcCheckboxRadioSwitch>
</div>

@ -12,7 +12,7 @@
class="federated-cloud__cloud-id"
readonly
:label="t('federatedfilesharing', 'Your Federated Cloud ID')"
:value="cloudId"
:model-value="cloudId"
:success="isCopied"
show-trailing-button
:trailing-button-label="copyLinkTooltip"

@ -53,9 +53,9 @@ const buttons = computed(() => [
</p>
<NcPasswordField
v-if="passwordRequired"
v-model="password"
class="remote-share-dialog__password"
:label="t('federatedfilesharing', 'Remote share password')"
:value.sync="password" />
:label="t('federatedfilesharing', 'Remote share password')" />
</NcDialog>
</template>

@ -10,7 +10,7 @@
<NcCheckboxRadioSwitch
v-else
:aria-label="ariaLabel"
:checked="isSelected"
:model-value="isSelected"
data-cy-files-list-row-checkbox
@update:checked="onSelectionChange" />
</td>

@ -13,11 +13,11 @@
@submit.prevent.stop="onRename">
<NcTextField
ref="renameInput"
v-model="newName"
:label="renameLabel"
:autofocus="true"
:minlength="1"
:required="true"
:value.sync="newName"
enterkeyhint="done"
@keyup.esc="stopRenaming" />
</form>

@ -25,11 +25,11 @@
@submit.prevent="emit('close', localDefaultName)">
<NcTextField
ref="nameInput"
v-model="localDefaultName"
data-cy-files-new-node-dialog-input
:error="validity !== ''"
:helper-text="validity"
:label="label"
:value.sync="localDefaultName" />
:label="label" />
<!-- Hidden file warning -->
<NcNoteCard

@ -7,7 +7,7 @@
<div class="template-field__checkbox">
<NcCheckboxRadioSwitch
:id="fieldId"
:checked.sync="value"
v-model="value"
type="switch"
@update:checked="input">
{{ fieldLabel }}

@ -11,8 +11,8 @@
<NcTextField
:id="fieldId"
v-model="value"
type="text"
:value.sync="value"
:label="fieldLabel"
:label-outside="true"
:placeholder="field.content"

@ -23,25 +23,25 @@
<!-- Login -->
<NcTextField
ref="login"
v-model="login"
class="external-storage-auth__login"
data-cy-external-storage-auth-dialog-login
:label="t('files_external', 'Login')"
:placeholder="t('files_external', 'Enter the storage login')"
minlength="2"
name="login"
required
:value.sync="login" />
required />
<!-- Password -->
<NcPasswordField
ref="password"
v-model="password"
class="external-storage-auth__password"
data-cy-external-storage-auth-dialog-password
:label="t('files_external', 'Password')"
:placeholder="t('files_external', 'Enter the storage password')"
name="password"
required
:value.sync="password" />
required />
</NcDialog>
</template>

@ -13,11 +13,11 @@
</template>
<NcActionInput
v-if="availableAccounts.length > 1"
v-model="accountFilter"
:label="t('files_sharing', 'Filter accounts')"
:label-outside="false"
:show-trailing-button="false"
type="search"
:value.sync="accountFilter" />
type="search" />
<NcActionButton
v-for="account of shownAccounts"
:key="account.id"

@ -16,7 +16,7 @@
<legend>{{ t('files_sharing', 'When should the request expire?') }}</legend>
<NcCheckboxRadioSwitch
v-show="!isExpirationDateEnforced"
:checked="isExpirationDateEnforced || expirationDate !== null"
:model-value="isExpirationDateEnforced || expirationDate !== null"
:disabled="disabled || isExpirationDateEnforced"
@update:checked="onToggleDeadline">
{{ t('files_sharing', 'Set a submission expiration date') }}
@ -33,7 +33,7 @@
:min="minDate"
:placeholder="t('files_sharing', 'Select a date')"
:required="defaultExpireDateEnforced"
:value="expirationDate"
:model-value="expirationDate"
name="expirationDate"
type="date"
@input="$emit('update:expirationDate', $event)" />
@ -50,7 +50,7 @@
<legend>{{ t('files_sharing', 'What password should be used for the request?') }}</legend>
<NcCheckboxRadioSwitch
v-show="!isPasswordEnforced"
:checked="isPasswordEnforced || password !== null"
:model-value="isPasswordEnforced || password !== null"
:disabled="disabled || isPasswordEnforced"
@update:checked="onTogglePassword">
{{ t('files_sharing', 'Set a password') }}
@ -64,7 +64,7 @@
:label="t('files_sharing', 'Password')"
:placeholder="t('files_sharing', 'Enter a valid password')"
:required="enforcePasswordForPublicLink"
:value="password"
:model-value="password"
name="password"
@update:value="$emit('update:password', $event)" />
<NcButton

@ -13,7 +13,7 @@
<!-- Copy share link -->
<NcInputField
ref="clipboard"
:value="shareLink"
:model-value="shareLink"
:label="t('files_sharing', 'Share link')"
:readonly="true"
:show-trailing-button="true"
@ -30,7 +30,7 @@
<template v-if="isShareByMailEnabled">
<!-- Email share-->
<NcTextField
:value.sync="email"
v-model="email"
:label="t('files_sharing', 'Send link via email')"
:placeholder="t('files_sharing', 'Enter an email address or paste a list')"
data-cy-file-request-dialog-fieldset="email"

@ -11,7 +11,7 @@
{{ t('files_sharing', 'What are you requesting?') }}
</legend>
<NcTextField
:value="label"
:model-value="label"
:disabled="disabled"
:label="t('files_sharing', 'Request subject')"
:placeholder="t('files_sharing', 'Birthday party photos, History assignment…')"
@ -26,7 +26,7 @@
{{ t('files_sharing', 'Where should these files go?') }}
</legend>
<NcTextField
:value="destination"
:model-value="destination"
:disabled="disabled"
:label="t('files_sharing', 'Upload destination')"
:minlength="2/* cannot share root */"
@ -56,7 +56,7 @@
{{ t('files_sharing', 'Add a note') }}
</legend>
<NcTextArea
:value="note"
:model-value="note"
:disabled="disabled"
:label="t('files_sharing', 'Note for recipient')"
:placeholder="t('files_sharing', 'Add a note to help people understand what you are requesting.')"

@ -11,7 +11,7 @@
class="share-folder__picker"
type="text"
:label="t('files_sharing', 'Set default folder for accepted shares')"
:value="readableDirectory"
:model-value="readableDirectory"
@click.prevent="pickFolder" />
<!-- Show reset button if folder is different -->

@ -74,7 +74,7 @@
<!-- password -->
<NcActionCheckbox
v-if="pendingPassword"
:checked.sync="isPasswordProtected"
v-model="isPasswordProtected"
:disabled="config.enforcePasswordForPublicLink || saving"
class="share-link-password-checkbox"
@uncheck="onPasswordDisable">
@ -83,9 +83,9 @@
<NcActionInput
v-if="pendingEnforcedPassword || isPasswordProtected"
v-model="share.newPassword"
class="share-link-password"
:label="t('files_sharing', 'Enter a password')"
:value.sync="share.newPassword"
:disabled="saving"
:required="config.enableLinkPasswordByDefault || config.enforcePasswordForPublicLink"
:minlength="isPasswordPolicyEnabled && config.passwordPolicy.minLength"
@ -98,7 +98,7 @@
<NcActionCheckbox
v-if="pendingDefaultExpirationDate"
:checked.sync="defaultExpirationDateEnabled"
v-model="defaultExpirationDateEnabled"
:disabled="pendingEnforcedExpirationDate || saving"
class="share-link-expiration-date-checkbox"
@update:model-value="onExpirationDateToggleUpdate">
@ -114,7 +114,7 @@
:disabled="saving"
:is-native-picker="true"
:hide-label="true"
:value="new Date(share.expireDate)"
:model-value="new Date(share.expireDate)"
type="date"
:min="dateTomorrow"
:max="maxExpirationDateEnforced"

@ -24,9 +24,9 @@
<div ref="quickPermissions" class="sharingTabDetailsView__quick-permissions">
<div>
<NcCheckboxRadioSwitch
v-model="sharingPermission"
:button-variant="true"
data-cy-files-sharing-share-permissions-bundle="read-only"
:checked.sync="sharingPermission"
:value="bundledPermissions.READ_ONLY.toString()"
name="sharing_permission_radio"
type="radio"
@ -38,9 +38,9 @@
</template>
</NcCheckboxRadioSwitch>
<NcCheckboxRadioSwitch
v-model="sharingPermission"
:button-variant="true"
data-cy-files-sharing-share-permissions-bundle="upload-edit"
:checked.sync="sharingPermission"
:value="allPermissions"
name="sharing_permission_radio"
type="radio"
@ -58,9 +58,9 @@
</NcCheckboxRadioSwitch>
<NcCheckboxRadioSwitch
v-if="allowsFileDrop"
v-model="sharingPermission"
data-cy-files-sharing-share-permissions-bundle="file-drop"
:button-variant="true"
:checked.sync="sharingPermission"
:value="bundledPermissions.FILE_DROP.toString()"
name="sharing_permission_radio"
type="radio"
@ -73,9 +73,9 @@
</template>
</NcCheckboxRadioSwitch>
<NcCheckboxRadioSwitch
v-model="sharingPermission"
:button-variant="true"
data-cy-files-sharing-share-permissions-bundle="custom"
:checked.sync="sharingPermission"
value="custom"
name="sharing_permission_radio"
type="radio"
@ -113,18 +113,18 @@
<section>
<NcInputField
v-if="isPublicShare"
v-model="share.label"
class="sharingTabDetailsView__label"
autocomplete="off"
:label="t('files_sharing', 'Share label')"
:value.sync="share.label" />
:label="t('files_sharing', 'Share label')" />
<NcInputField
v-if="config.allowCustomTokens && isPublicShare && !isNewShare"
v-model="share.token"
autocomplete="off"
:label="t('files_sharing', 'Share link token')"
:helper-text="t('files_sharing', 'Set the public share link token to something easy to remember or generate a new token. It is not recommended to use a guessable token for shares which contain sensitive information.')"
show-trailing-button
:trailing-button-label="loadingToken ? t('files_sharing', 'Generating…') : t('files_sharing', 'Generate new token')"
:value.sync="share.token"
@trailing-button-click="generateNewToken">
<template #trailing-button-icon>
<NcLoadingIcon v-if="loadingToken" />
@ -132,13 +132,13 @@
</template>
</NcInputField>
<template v-if="isPublicShare">
<NcCheckboxRadioSwitch :checked.sync="isPasswordProtected" :disabled="isPasswordEnforced">
<NcCheckboxRadioSwitch v-model="isPasswordProtected" :disabled="isPasswordEnforced">
{{ t('files_sharing', 'Set password') }}
</NcCheckboxRadioSwitch>
<NcPasswordField
v-if="isPasswordProtected"
autocomplete="new-password"
:value="share.newPassword ?? ''"
:model-value="share.newPassword ?? ''"
:error="passwordError"
:helper-text="errorPasswordLabel || passwordHint"
:required="isPasswordEnforced && isNewShare"
@ -155,11 +155,11 @@
</template>
<NcCheckboxRadioSwitch
v-if="canTogglePasswordProtectedByTalkAvailable"
:checked.sync="isPasswordProtectedByTalk"
v-model="isPasswordProtectedByTalk"
@update:checked="onPasswordProtectedByTalkChange">
{{ t('files_sharing', 'Video verification') }}
</NcCheckboxRadioSwitch>
<NcCheckboxRadioSwitch :checked.sync="hasExpirationDate" :disabled="isExpiryDateEnforced">
<NcCheckboxRadioSwitch v-model="hasExpirationDate" :disabled="isExpiryDateEnforced">
{{ isExpiryDateEnforced
? t('files_sharing', 'Expiration date (enforced)')
: t('files_sharing', 'Set expiration date') }}
@ -167,7 +167,7 @@
<NcDateTimePickerNative
v-if="hasExpirationDate"
id="share-date-picker"
:value="new Date(share.expireDate ?? dateTomorrow)"
:model-value="new Date(share.expireDate ?? dateTomorrow)"
:min="dateTomorrow"
:max="maxExpirationDateEnforced"
hide-label
@ -177,30 +177,30 @@
@input="onExpirationChange" />
<NcCheckboxRadioSwitch
v-if="isPublicShare"
v-model="share.hideDownload"
:disabled="canChangeHideDownload"
:checked.sync="share.hideDownload"
@update:checked="queueUpdate('hideDownload')">
{{ t('files_sharing', 'Hide download') }}
</NcCheckboxRadioSwitch>
<NcCheckboxRadioSwitch
v-else
v-model="canDownload"
:disabled="!canSetDownload"
:checked.sync="canDownload"
data-cy-files-sharing-share-permissions-checkbox="download">
{{ t('files_sharing', 'Allow download and sync') }}
</NcCheckboxRadioSwitch>
<NcCheckboxRadioSwitch :checked.sync="writeNoteToRecipientIsChecked">
<NcCheckboxRadioSwitch v-model="writeNoteToRecipientIsChecked">
{{ t('files_sharing', 'Note to recipient') }}
</NcCheckboxRadioSwitch>
<template v-if="writeNoteToRecipientIsChecked">
<NcTextArea
v-model="share.note"
:label="t('files_sharing', 'Note to recipient')"
:placeholder="t('files_sharing', 'Enter a note for the share recipient')"
:value.sync="share.note" />
:placeholder="t('files_sharing', 'Enter a note for the share recipient')" />
</template>
<NcCheckboxRadioSwitch
v-if="isPublicShare && isFolder"
:checked.sync="showInGridView">
v-model="showInGridView">
{{ t('files_sharing', 'Show files in grid view') }}
</NcCheckboxRadioSwitch>
@ -220,39 +220,39 @@
:file-info="fileInfo"
:share="share" />
<NcCheckboxRadioSwitch :checked.sync="setCustomPermissions">
<NcCheckboxRadioSwitch v-model="setCustomPermissions">
{{ t('files_sharing', 'Custom permissions') }}
</NcCheckboxRadioSwitch>
<section v-if="setCustomPermissions" class="custom-permissions-group">
<NcCheckboxRadioSwitch
v-model="hasRead"
:disabled="!canRemoveReadPermission"
:checked.sync="hasRead"
data-cy-files-sharing-share-permissions-checkbox="read">
{{ t('files_sharing', 'Read') }}
</NcCheckboxRadioSwitch>
<NcCheckboxRadioSwitch
v-if="isFolder"
v-model="canCreate"
:disabled="!canSetCreate"
:checked.sync="canCreate"
data-cy-files-sharing-share-permissions-checkbox="create">
{{ t('files_sharing', 'Create') }}
</NcCheckboxRadioSwitch>
<NcCheckboxRadioSwitch
v-model="canEdit"
:disabled="!canSetEdit"
:checked.sync="canEdit"
data-cy-files-sharing-share-permissions-checkbox="update">
{{ t('files_sharing', 'Edit') }}
</NcCheckboxRadioSwitch>
<NcCheckboxRadioSwitch
v-if="resharingIsPossible"
v-model="canReshare"
:disabled="!canSetReshare"
:checked.sync="canReshare"
data-cy-files-sharing-share-permissions-checkbox="share">
{{ t('files_sharing', 'Share') }}
</NcCheckboxRadioSwitch>
<NcCheckboxRadioSwitch
v-model="canDelete"
:disabled="!canSetDelete"
:checked.sync="canDelete"
data-cy-files-sharing-share-permissions-checkbox="delete">
{{ t('files_sharing', 'Delete') }}
</NcCheckboxRadioSwitch>

@ -278,6 +278,10 @@ function resetState() {
versions.value = []
}
/**
* @param payload - The event payload
* @param payload.version - The version to open
*/
function openVersion({ version }: { version: Version }) {
if (fileInfo.value === null) {
return
@ -301,6 +305,10 @@ function openVersion({ version }: { version: Version }) {
})
}
/**
* @param payload - The event payload
* @param payload.version - The version to compare
*/
function compareVersion({ version }: { version: Version }) {
const _versions = versions.value.map((version) => ({ ...version, previewUrl: undefined }))

@ -47,7 +47,7 @@
<form class="oauth2-form" @submit.prevent="addClient">
<NcTextField
id="name"
:value.sync="newClient.name"
v-model="newClient.name"
type="text"
class="oauth2-form--input"
name="name"
@ -55,7 +55,7 @@
:placeholder="t('oauth2', 'Name')" />
<NcTextField
id="redirectUri"
:value.sync="newClient.redirectUri"
v-model="newClient.redirectUri"
type="url"
class="oauth2-form--input"
name="redirectUri"

@ -71,7 +71,7 @@
<template v-for="provider in text2imageProviders">
<NcCheckboxRadioSwitch
:key="provider.id"
:checked.sync="settings['ai.text2image_provider']"
v-model="settings['ai.text2image_provider']"
:value="provider.id"
name="text2image_provider"
type="radio"

@ -5,20 +5,20 @@
<template>
<form class="sharing">
<NcCheckboxRadioSwitch
v-model="settings.enabled"
aria-controls="settings-sharing-api settings-sharing-api-settings settings-sharing-default-permissions settings-sharing-privacy-related"
type="switch"
:checked.sync="settings.enabled">
type="switch">
{{ t('settings', 'Allow apps to use the Share API') }}
</NcCheckboxRadioSwitch>
<div v-show="settings.enabled" id="settings-sharing-api-settings" class="sharing__sub-section">
<NcCheckboxRadioSwitch :checked.sync="settings.allowResharing">
<NcCheckboxRadioSwitch v-model="settings.allowResharing">
{{ t('settings', 'Allow resharing') }}
</NcCheckboxRadioSwitch>
<NcCheckboxRadioSwitch :checked.sync="settings.allowGroupSharing">
<NcCheckboxRadioSwitch v-model="settings.allowGroupSharing">
{{ t('settings', 'Allow sharing with groups') }}
</NcCheckboxRadioSwitch>
<NcCheckboxRadioSwitch :checked.sync="settings.onlyShareWithGroupMembers">
<NcCheckboxRadioSwitch v-model="settings.onlyShareWithGroupMembers">
{{ t('settings', 'Restrict users to only share with users in their groups') }}
</NcCheckboxRadioSwitch>
<div v-show="settings.onlyShareWithGroupMembers" id="settings-sharing-api-excluded-groups" class="sharing__labeled-entry sharing__input">
@ -29,7 +29,7 @@
:label="t('settings', 'Ignore the following groups when checking group membership')"
style="width: 100%" />
</div>
<NcCheckboxRadioSwitch :checked.sync="settings.allowViewWithoutDownload">
<NcCheckboxRadioSwitch v-model="settings.allowViewWithoutDownload">
{{ t('settings', 'Allow users to preview files even if download is disabled') }}
</NcCheckboxRadioSwitch>
<NcNoteCard
@ -43,23 +43,23 @@
<div v-show="settings.enabled" id="settings-sharing-api" class="sharing__section">
<NcCheckboxRadioSwitch
v-model="settings.allowLinks"
type="switch"
aria-controls="settings-sharing-api-public-link"
:checked.sync="settings.allowLinks">
aria-controls="settings-sharing-api-public-link">
{{ t('settings', 'Allow users to share via link and emails') }}
</NcCheckboxRadioSwitch>
<fieldset v-show="settings.allowLinks" id="settings-sharing-api-public-link" class="sharing__sub-section">
<NcCheckboxRadioSwitch :checked.sync="settings.allowPublicUpload">
<NcCheckboxRadioSwitch v-model="settings.allowPublicUpload">
{{ t('settings', 'Allow public uploads') }}
</NcCheckboxRadioSwitch>
<NcCheckboxRadioSwitch v-model="settings.allowFederationOnPublicShares">
{{ t('settings', 'Allow public shares to be added to other clouds by federation.') }}
{{ t('settings', 'This will add share permissions to all newly created link shares.') }}
</NcCheckboxRadioSwitch>
<NcCheckboxRadioSwitch :checked.sync="settings.enableLinkPasswordByDefault">
<NcCheckboxRadioSwitch v-model="settings.enableLinkPasswordByDefault">
{{ t('settings', 'Always ask for a password') }}
</NcCheckboxRadioSwitch>
<NcCheckboxRadioSwitch :checked.sync="settings.enforceLinksPassword" :disabled="!settings.enableLinkPasswordByDefault">
<NcCheckboxRadioSwitch v-model="settings.enforceLinksPassword" :disabled="!settings.enableLinkPasswordByDefault">
{{ t('settings', 'Enforce password protection') }}
</NcCheckboxRadioSwitch>
<label v-if="settings.enforceLinksPasswordExcludedGroupsEnabled" class="sharing__labeled-entry sharing__input">
@ -79,9 +79,9 @@
</fieldset>
<NcCheckboxRadioSwitch
v-model="settings.allowCustomTokens"
type="switch"
aria-describedby="settings-sharing-custom-token-disable-hint settings-sharing-custom-token-access-hint"
:checked.sync="settings.allowCustomTokens">
aria-describedby="settings-sharing-custom-token-disable-hint settings-sharing-custom-token-access-hint">
{{ t('settings', 'Allow users to set custom share link tokens') }}
</NcCheckboxRadioSwitch>
<div class="sharing__sub-section">
@ -102,7 +102,7 @@
<label>{{ t('settings', 'Limit sharing based on groups') }}</label>
<div class="sharing__sub-section">
<NcCheckboxRadioSwitch
:checked.sync="settings.excludeGroups"
v-model="settings.excludeGroups"
name="excludeGroups"
value="no"
type="radio"
@ -110,7 +110,7 @@
{{ t('settings', 'Allow sharing for everyone (default)') }}
</NcCheckboxRadioSwitch>
<NcCheckboxRadioSwitch
:checked.sync="settings.excludeGroups"
v-model="settings.excludeGroups"
name="excludeGroups"
value="yes"
type="radio"
@ -118,7 +118,7 @@
{{ t('settings', 'Exclude some groups from sharing') }}
</NcCheckboxRadioSwitch>
<NcCheckboxRadioSwitch
:checked.sync="settings.excludeGroups"
v-model="settings.excludeGroups"
name="excludeGroups"
value="allow"
type="radio"
@ -138,58 +138,58 @@
</div>
<NcCheckboxRadioSwitch
v-model="settings.defaultInternalExpireDate"
type="switch"
aria-controls="settings-sharing-api-expiration"
:checked.sync="settings.defaultInternalExpireDate">
aria-controls="settings-sharing-api-expiration">
{{ t('settings', 'Set default expiration date for internal shares') }}
</NcCheckboxRadioSwitch>
<fieldset v-show="settings.defaultInternalExpireDate" id="settings-sharing-api-expiration" class="sharing__sub-section">
<NcCheckboxRadioSwitch :checked.sync="settings.enforceInternalExpireDate">
<NcCheckboxRadioSwitch v-model="settings.enforceInternalExpireDate">
{{ t('settings', 'Enforce expiration date') }}
</NcCheckboxRadioSwitch>
<NcTextField
v-model="settings.internalExpireAfterNDays"
type="number"
class="sharing__input"
:label="t('settings', 'Default expiration time of new shares in days')"
:placeholder="t('settings', 'Expire shares after x days')"
:value.sync="settings.internalExpireAfterNDays" />
:placeholder="t('settings', 'Expire shares after x days')" />
</fieldset>
<NcCheckboxRadioSwitch
v-model="settings.defaultRemoteExpireDate"
type="switch"
aria-controls="settings-sharing-remote-api-expiration"
:checked.sync="settings.defaultRemoteExpireDate">
aria-controls="settings-sharing-remote-api-expiration">
{{ t('settings', 'Set default expiration date for shares to other servers') }}
</NcCheckboxRadioSwitch>
<fieldset v-show="settings.defaultRemoteExpireDate" id="settings-sharing-remote-api-expiration" class="sharing__sub-section">
<NcCheckboxRadioSwitch :checked.sync="settings.enforceRemoteExpireDate">
<NcCheckboxRadioSwitch v-model="settings.enforceRemoteExpireDate">
{{ t('settings', 'Enforce expiration date for remote shares') }}
</NcCheckboxRadioSwitch>
<NcTextField
v-model="settings.remoteExpireAfterNDays"
type="number"
class="sharing__input"
:label="t('settings', 'Default expiration time of remote shares in days')"
:placeholder="t('settings', 'Expire remote shares after x days')"
:value.sync="settings.remoteExpireAfterNDays" />
:placeholder="t('settings', 'Expire remote shares after x days')" />
</fieldset>
<NcCheckboxRadioSwitch
v-model="settings.defaultExpireDate"
type="switch"
aria-controls="settings-sharing-api-api-expiration"
:checked.sync="settings.defaultExpireDate"
:disabled="!settings.allowLinks">
{{ t('settings', 'Set default expiration date for shares via link or mail') }}
</NcCheckboxRadioSwitch>
<fieldset v-show="settings.allowLinks && settings.defaultExpireDate" id="settings-sharing-api-api-expiration" class="sharing__sub-section">
<NcCheckboxRadioSwitch :checked.sync="settings.enforceExpireDate">
<NcCheckboxRadioSwitch v-model="settings.enforceExpireDate">
{{ t('settings', 'Enforce expiration date for link or mail shares') }}
</NcCheckboxRadioSwitch>
<NcTextField
v-model="settings.expireAfterNDays"
type="number"
class="sharing__input"
:label="t('settings', 'Default expiration time of shares in days')"
:placeholder="t('settings', 'Expire shares after x days')"
:value.sync="settings.expireAfterNDays" />
:placeholder="t('settings', 'Expire shares after x days')" />
</fieldset>
</div>
@ -197,9 +197,9 @@
<h3>{{ t('settings', 'Privacy settings for sharing') }}</h3>
<NcCheckboxRadioSwitch
v-model="settings.allowShareDialogUserEnumeration"
type="switch"
aria-controls="settings-sharing-privacy-user-enumeration"
:checked.sync="settings.allowShareDialogUserEnumeration">
aria-controls="settings-sharing-privacy-user-enumeration">
{{ t('settings', 'Allow account name autocompletion in share dialog and allow access to the system address book') }}
</NcCheckboxRadioSwitch>
<fieldset v-show="settings.allowShareDialogUserEnumeration" id="settings-sharing-privacy-user-enumeration" class="sharing__sub-section">
@ -209,10 +209,10 @@
<em>
{{ t('settings', 'If autocompletion restrictions for both "same group" and "phonebook integration" are enabled, a match in either is enough to show the user.') }}
</em>
<NcCheckboxRadioSwitch :checked.sync="settings.restrictUserEnumerationToGroup">
<NcCheckboxRadioSwitch v-model="settings.restrictUserEnumerationToGroup">
{{ t('settings', 'Restrict account name autocompletion and system address book access to users within the same groups') }}
</NcCheckboxRadioSwitch>
<NcCheckboxRadioSwitch :checked.sync="settings.restrictUserEnumerationToPhone">
<NcCheckboxRadioSwitch v-model="settings.restrictUserEnumerationToPhone">
{{ t('settings', 'Restrict account name autocompletion to users based on their phonebook') }}
</NcCheckboxRadioSwitch>
</fieldset>
@ -227,18 +227,18 @@
<legend class="hidden-visually">
{{ t('settings', 'Full match autocompletion restrictions') }}
</legend>
<NcCheckboxRadioSwitch :checked.sync="settings.restrictUserEnumerationFullMatchUserId">
<NcCheckboxRadioSwitch v-model="settings.restrictUserEnumerationFullMatchUserId">
{{ t('settings', 'Also allow autocompletion on full match of the user ID') }}
</NcCheckboxRadioSwitch>
<NcCheckboxRadioSwitch :checked.sync="settings.restrictUserEnumerationFullMatchEmail">
<NcCheckboxRadioSwitch v-model="settings.restrictUserEnumerationFullMatchEmail">
{{ t('settings', 'Also allow autocompletion on full match of the user email') }}
</NcCheckboxRadioSwitch>
<NcCheckboxRadioSwitch :checked.sync="settings.restrictUserEnumerationFullMatchIgnoreSecondDN">
<NcCheckboxRadioSwitch v-model="settings.restrictUserEnumerationFullMatchIgnoreSecondDN">
{{ t('settings', 'Do not use second user displayname for full match') }}
</NcCheckboxRadioSwitch>
</fieldset>
<NcCheckboxRadioSwitch type="switch" :checked.sync="publicShareDisclaimerEnabled">
<NcCheckboxRadioSwitch v-model="publicShareDisclaimerEnabled" type="switch">
{{ t('settings', 'Show disclaimer text on the public link upload page (only shown when the file list is hidden)') }}
</NcCheckboxRadioSwitch>
<div
@ -249,7 +249,7 @@
class="sharing__input"
:label="t('settings', 'Disclaimer text')"
aria-describedby="settings-sharing-privacy-related-disclaimer-hint"
:value="settings.publicShareDisclaimerText"
:model-value="settings.publicShareDisclaimerText"
@update:value="onUpdateDisclaimer" />
<em id="settings-sharing-privacy-related-disclaimer-hint" class="sharing__input">
{{ t('settings', 'This text will be shown on the public link upload page when the file list is hidden.') }}

@ -14,7 +14,7 @@
<NcCheckboxRadioSwitch
v-else
id="two-factor-enforced"
:checked.sync="enforced"
v-model="enforced"
type="switch">
{{ t('settings', 'Enforce two-factor authentication') }}
</NcCheckboxRadioSwitch>

@ -24,11 +24,11 @@
{{ t('settings', 'Create group') }}
</NcActionText>
<NcActionInput
v-model="newGroupName"
:label="t('settings', 'Group name')"
data-cy-users-settings-new-group-name
:label-outside="false"
:disabled="loadingAddGroup"
:value.sync="newGroupName"
:error="hasAddGroupError"
:helper-text="hasAddGroupError ? t('settings', 'Please enter a valid group name') : ''"
@submit="createGroup" />

@ -24,7 +24,7 @@
v-for="envVar in environmentVariables"
:key="envVar.envName"
class="deploy-option">
<NcTextField :label="envVar.displayName" :value.sync="deployOptions.environment_variables[envVar.envName]" />
<NcTextField v-model="deployOptions.environment_variables[envVar.envName]" :label="envVar.displayName" />
<p class="deploy-option__hint">
{{ envVar.description }}
</p>
@ -41,7 +41,7 @@
:key="key"
:label="value.displayName ?? key"
:helper-text="value.description"
:value="value.value"
:model-value="value.value"
readonly />
</fieldset>
<template v-else>
@ -61,9 +61,9 @@
:key="mount.hostPath"
class="deploy-option"
style="display: flex; align-items: center; justify-content: space-between; flex-direction: row;">
<NcTextField :label="t('settings', 'Host path')" :value.sync="mount.hostPath" />
<NcTextField :label="t('settings', 'Container path')" :value.sync="mount.containerPath" />
<NcCheckboxRadioSwitch :checked.sync="mount.readonly">
<NcTextField v-model="mount.hostPath" :label="t('settings', 'Host path')" />
<NcTextField v-model="mount.containerPath" :label="t('settings', 'Container path')" />
<NcCheckboxRadioSwitch v-model="mount.readonly">
{{ t('settings', 'Read-only') }}
</NcCheckboxRadioSwitch>
<NcButton
@ -82,15 +82,15 @@
<div style="display: flex; align-items: center; justify-content: space-between; flex-direction: row;">
<NcTextField
ref="newMountHostPath"
v-model="newMountPoint.hostPath"
:label="t('settings', 'Host path')"
:aria-label="t('settings', 'Enter path to host folder')"
:value.sync="newMountPoint.hostPath" />
:aria-label="t('settings', 'Enter path to host folder')" />
<NcTextField
v-model="newMountPoint.containerPath"
:label="t('settings', 'Container path')"
:aria-label="t('settings', 'Enter path to container folder')"
:value.sync="newMountPoint.containerPath" />
:aria-label="t('settings', 'Enter path to container folder')" />
<NcCheckboxRadioSwitch
:checked.sync="newMountPoint.readonly"
v-model="newMountPoint.readonly"
:aria-label="t('settings', 'Toggle read-only mode')">
{{ t('settings', 'Read-only') }}
</NcCheckboxRadioSwitch>
@ -135,9 +135,9 @@
:key="mount.hostPath"
class="deploy-option"
style="display: flex; align-items: center; justify-content: space-between; flex-direction: row;">
<NcTextField :label="t('settings', 'Host path')" :value.sync="mount.hostPath" readonly />
<NcTextField :label="t('settings', 'Container path')" :value.sync="mount.containerPath" readonly />
<NcCheckboxRadioSwitch :checked.sync="mount.readonly" disabled>
<NcTextField v-model="mount.hostPath" :label="t('settings', 'Host path')" readonly />
<NcTextField v-model="mount.containerPath" :label="t('settings', 'Container path')" readonly />
<NcCheckboxRadioSwitch v-model="mount.readonly" disabled>
{{ t('settings', 'Read-only') }}
</NcCheckboxRadioSwitch>
</div>

@ -35,7 +35,7 @@
v-if="isLimitedToGroups(app)"
input-id="limitToGroups"
:options="groups"
:value="appGroups"
:model-value="appGroups"
:limit="5"
label="name"
:multiple="true"
@ -102,7 +102,7 @@
</p>
<NcCheckboxRadioSwitch
v-if="app.canUnInstall"
:checked="removeData"
:model-value="removeData"
:disabled="installing || isLoading || !defaultDeployDaemonAccessible"
@update:checked="toggleRemoveData">
{{ t('settings', 'Delete data on remove') }}

@ -14,7 +14,7 @@
@submit.prevent.stop="rename">
<NcTextField
ref="input"
:value.sync="newName"
v-model="newName"
:label="t('settings', 'Device name')"
:show-trailing-button="true"
:trailing-button-label="t('settings', 'Cancel renaming')"
@ -44,7 +44,7 @@
:open.sync="actionOpen">
<NcActionCheckbox
v-if="canChangeScope"
:checked="token.scope.filesystem"
:model-value="token.scope.filesystem"
@update:checked="updateFileSystemScope">
<!-- TODO: add text/longtext with some description -->
{{ t('settings', 'Allow filesystem access') }}

@ -10,7 +10,7 @@
@submit.prevent="submit">
<!-- Port to TextField component when available -->
<NcTextField
:value.sync="deviceName"
v-model="deviceName"
type="text"
:maxlength="120"
:disabled="loading"

@ -11,7 +11,7 @@
{{ t('settings', 'Use the credentials below to configure your app or device. For security reasons this password will only be shown once.') }}
</p>
<div class="token-dialog__name">
<NcTextField :label="t('settings', 'Login')" :value="loginName" readonly />
<NcTextField :label="t('settings', 'Login')" :model-value="loginName" readonly />
<NcButton
variant="tertiary"
:title="copyLoginNameLabel"
@ -26,7 +26,7 @@
<NcTextField
ref="appPassword"
:label="t('settings', 'Password')"
:value="appPassword"
:model-value="appPassword"
readonly />
<NcButton
variant="tertiary"

@ -31,8 +31,8 @@
</NcNoteCard>
<NcCheckboxRadioSwitch
v-model="backgroundJobsMode"
type="radio"
:checked.sync="backgroundJobsMode"
name="backgroundJobsMode"
value="ajax"
class="ajaxSwitch"
@ -42,8 +42,8 @@
<em>{{ t('settings', 'Execute one task with each page loaded. Use case: Single account instance.') }}</em>
<NcCheckboxRadioSwitch
v-model="backgroundJobsMode"
type="radio"
:checked.sync="backgroundJobsMode"
name="backgroundJobsMode"
value="webcron"
@update:checked="onBackgroundJobModeChanged">
@ -52,9 +52,9 @@
<em>{{ t('settings', 'cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP. Use case: Very small instance (15 accounts depending on the usage).') }}</em>
<NcCheckboxRadioSwitch
v-model="backgroundJobsMode"
type="radio"
:disabled="!cliBasedCronPossible"
:checked.sync="backgroundJobsMode"
value="cron"
name="backgroundJobsMode"
@update:checked="onBackgroundJobModeChanged">

@ -16,8 +16,8 @@
</p>
<NcCheckboxRadioSwitch
v-model="initialProfileEnabledByDefault"
type="switch"
:checked.sync="initialProfileEnabledByDefault"
@update:checked="onProfileDefaultChange">
{{ t('settings', 'Enable') }}
</NcCheckboxRadioSwitch>

@ -24,9 +24,9 @@
<template v-if="isTextFormField(formField)">
<div class="input-wrapper">
<NcInputField
v-model="formFieldsData[formField.id].value"
:type="formField.type"
:label="t(formApp, formField.title)"
:value.sync="formFieldsData[formField.id].value"
:placeholder="t(formApp, formField.placeholder)"
@update:value="onChangeDebounced(formField)"
@submit="updateDeclarativeSettingsValue(formField)" />
@ -42,7 +42,7 @@
:options="formField.options"
:placeholder="t(formApp, formField.placeholder)"
:label-outside="true"
:value="formFieldsData[formField.id].value"
:model-value="formFieldsData[formField.id].value"
@input="(value) => updateFormFieldDataValue(value, formField, true)" />
</div>
<span v-if="formField.description" class="hint">{{ t(formApp, formField.description) }}</span>
@ -57,7 +57,7 @@
:placeholder="t(formApp, formField.placeholder)"
:multiple="true"
:label-outside="true"
:value="formFieldsData[formField.id].value"
:model-value="formFieldsData[formField.id].value"
@input="(value) => {
formFieldsData[formField.id].value = value
updateDeclarativeSettingsValue(formField, JSON.stringify(formFieldsData[formField.id].value))
@ -71,7 +71,7 @@
<label v-if="formField.label" :for="formField.id + '_field'">{{ t(formApp, formField.title) }}</label>
<NcCheckboxRadioSwitch
:id="formField.id + '_field'"
:checked="Boolean(formFieldsData[formField.id].value)"
:model-value="Boolean(formFieldsData[formField.id].value)"
type="switch"
@update:checked="(value) => {
formField.value = value
@ -89,7 +89,7 @@
v-for="option in formField.options"
:id="formField.id + '_field_' + option.value"
:key="option.value"
:checked="formFieldsData[formField.id].value[option.value]"
:model-value="formFieldsData[formField.id].value[option.value]"
@update:checked="(value) => {
formFieldsData[formField.id].value[option.value] = value
// Update without re-generating initial formFieldsData.value object as the link to components are lost
@ -108,7 +108,7 @@
:key="option.value"
:value="option.value"
type="radio"
:checked="formFieldsData[formField.id].value"
:model-value="formFieldsData[formField.id].value"
@update:checked="(value) => updateFormFieldDataValue(value, formField, true)">
{{ t(formApp, option.name) }}
</NcCheckboxRadioSwitch>

@ -130,7 +130,7 @@ async function enableEncryption(): Promise<void> {
<NcCheckboxRadioSwitch
:class="{ disabled: encryptionEnabled }"
:checked="encryptionEnabled"
:model-value="encryptionEnabled"
:aria-disabled="encryptionEnabled ? 'true' : undefined"
:aria-describedby="encryptionEnabled ? 'server-side-encryption-disable-hint' : undefined"
:loading="loadingEncryptionState"
@ -154,7 +154,7 @@ async function enableEncryption(): Promise<void> {
<NcCheckboxRadioSwitch
v-for="module in encryptionModules"
:key="module.id"
:checked.sync="defaultCheckedModule"
v-model="defaultCheckedModule"
:value="module.id"
type="radio"
name="default_encryption_module"

@ -57,7 +57,7 @@
ref="displayNameInput"
:trailing-button-label="t('settings', 'Submit')"
type="text"
:value="name"
:model-value="name"
:label=" t('settings', 'Rename group')"
@submit="renameGroup(id)">
<template #icon>

@ -7,17 +7,17 @@
<form id="passwordform" method="POST" @submit.prevent="changePassword">
<NcPasswordField
id="old-pass"
v-model="oldPass"
:label="t('settings', 'Current password')"
name="oldpassword"
:value.sync="oldPass"
autocomplete="current-password"
autocapitalize="none"
spellcheck="false" />
<NcPasswordField
id="new-pass"
v-model="newPass"
:label="t('settings', 'New password')"
:value.sync="newPass"
:maxlength="469"
autocomplete="new-password"
autocapitalize="none"

@ -13,7 +13,7 @@
:id="inputId"
type="date"
label=""
:value="value"
:model-value="value"
@input="onInput" />
<p class="property__helper-text-message">

@ -23,6 +23,7 @@
:id="inputIdWithDefault"
ref="email"
class="email__input"
v-model="emailAddress"
autocapitalize="none"
autocomplete="email"
:error="hasError || !!helperText"
@ -31,8 +32,7 @@
:placeholder="inputPlaceholder"
spellcheck="false"
:success="isSuccess"
type="email"
:value.sync="emailAddress" />
type="email" />
<div class="email__actions">
<NcActions :aria-label="actionsLabel">

@ -17,7 +17,7 @@
label="label"
label-outside
:options="dayOptions"
:value="valueOption"
:model-value="valueOption"
@option:selected="updateFirstDayOfWeek" />
</section>
</template>

@ -13,7 +13,7 @@
label="name"
label-outside
:options="allLanguages"
:value="language"
:model-value="language"
@option:selected="onLanguageChange" />
<a

@ -13,7 +13,7 @@
label="name"
label-outside
:options="allLocales"
:value="locale"
:model-value="locale"
@option:selected="updateLocale" />
<div class="example">

@ -6,8 +6,8 @@
<template>
<div class="checkbox-container">
<NcCheckboxRadioSwitch
v-model="isProfileEnabled"
type="switch"
:checked.sync="isProfileEnabled"
:loading="loading"
@update:checked="saveEnableProfile">
{{ t('settings', 'Enable profile') }}

@ -15,7 +15,7 @@
class="visibility-container__select"
:clearable="false"
:options="visibilityOptions"
:value="visibilityObject"
:model-value="visibilityObject"
label-outside
@option:selected="onVisibilityChange" />
</div>

@ -16,6 +16,7 @@
<NcTextArea
v-if="multiLine"
:id="inputId"
v-model="inputValue"
autocapitalize="none"
autocomplete="off"
:error="hasError || !!helperText"
@ -24,12 +25,12 @@
:placeholder="placeholder"
rows="8"
spellcheck="false"
:success="isSuccess"
:value.sync="inputValue" />
:success="isSuccess" />
<NcInputField
v-else
:id="inputId"
ref="input"
v-model="inputValue"
autocapitalize="none"
:autocomplete="autocomplete"
:error="hasError || !!helperText"
@ -38,8 +39,7 @@
:placeholder="placeholder"
spellcheck="false"
:success="isSuccess"
:type="type"
:value.sync="inputValue" />
:type="type" />
</div>
<span v-else>
{{ value || t('settings', 'No {property} set', { property: readable.toLocaleLowerCase() }) }}

@ -4,16 +4,16 @@
-->
<template>
<fieldset class="permissions-select">
<NcCheckboxRadioSwitch :checked="canCreate" @update:checked="toggle(PERMISSION_CREATE)">
<NcCheckboxRadioSwitch :model-value="canCreate" @update:checked="toggle(PERMISSION_CREATE)">
{{ t('settings', 'Create') }}
</NcCheckboxRadioSwitch>
<NcCheckboxRadioSwitch :checked="canUpdate" @update:checked="toggle(PERMISSION_UPDATE)">
<NcCheckboxRadioSwitch :model-value="canUpdate" @update:checked="toggle(PERMISSION_UPDATE)">
{{ t('settings', 'Change') }}
</NcCheckboxRadioSwitch>
<NcCheckboxRadioSwitch :checked="canDelete" @update:checked="toggle(PERMISSION_DELETE)">
<NcCheckboxRadioSwitch :model-value="canDelete" @update:checked="toggle(PERMISSION_DELETE)">
{{ t('settings', 'Delete') }}
</NcCheckboxRadioSwitch>
<NcCheckboxRadioSwitch :checked="canShare" @update:checked="toggle(PERMISSION_SHARE)">
<NcCheckboxRadioSwitch :model-value="canShare" @update:checked="toggle(PERMISSION_SHARE)">
{{ t('settings', 'Reshare') }}
</NcCheckboxRadioSwitch>
</fieldset>

@ -18,9 +18,9 @@
@submit.prevent="createUser">
<NcTextField
ref="username"
v-model="newUser.id"
class="dialog__item"
data-test="username"
:value.sync="newUser.id"
:disabled="settings.newUserGenerateUserID"
:label="usernameLabel"
autocapitalize="none"
@ -29,9 +29,9 @@
pattern="[a-zA-Z0-9 _\.@\-']+"
required />
<NcTextField
v-model="newUser.displayName"
class="dialog__item"
data-test="displayName"
:value.sync="newUser.displayName"
:label="t('settings', 'Display name')"
autocapitalize="none"
autocomplete="off"
@ -44,9 +44,9 @@
</span>
<NcPasswordField
ref="password"
v-model="newUser.password"
class="dialog__item"
data-test="password"
:value.sync="newUser.password"
:minlength="minPasswordLength"
:maxlength="469"
aria-describedby="password-email-hint"
@ -56,10 +56,10 @@
spellcheck="false"
:required="newUser.mailAddress === ''" />
<NcTextField
v-model="newUser.mailAddress"
class="dialog__item"
data-test="email"
type="email"
:value.sync="newUser.mailAddress"
aria-describedby="password-email-hint"
:label="newUser.password === '' || settings.newUserRequireEmail ? t('settings', 'Email (required)') : t('settings', 'Email')"
autocapitalize="none"
@ -74,7 +74,7 @@
:placeholder="t('settings', 'Set account groups')"
:disabled="loading.groups || loading.all"
:options="availableGroups"
:value="newUser.groups"
:model-value="newUser.groups"
label="name"
keep-open
:multiple="true"

@ -23,6 +23,7 @@
<template v-if="editing && user.backendCapabilities.setDisplayName">
<NcTextField
ref="displayNameField"
v-model="editedDisplayName"
class="user-row-text-field"
data-cy-user-list-input-displayname
:data-loading="loading.displayName || undefined"
@ -31,8 +32,7 @@
:show-trailing-button="true"
:disabled="loading.displayName || isLoadingField"
:label="t('settings', 'Change display name')"
trailing-button-icon="arrowRight"
:value.sync="editedDisplayName"
trailing-button-icon="arrowEnd"
autocapitalize="off"
autocomplete="off"
spellcheck="false"
@ -57,6 +57,7 @@
<NcTextField
class="user-row-text-field"
data-cy-user-list-input-password
v-model="editedPassword"
:data-loading="loading.password || undefined"
:trailing-button-label="t('settings', 'Submit')"
:class="{ 'icon-loading-small': loading.password }"
@ -65,8 +66,7 @@
:minlength="minPasswordLength"
maxlength="469"
:label="t('settings', 'Set new password')"
trailing-button-icon="arrowRight"
:value.sync="editedPassword"
trailing-button-icon="arrowEnd"
autocapitalize="off"
autocomplete="new-password"
required
@ -82,6 +82,7 @@
<td class="row__cell" data-cy-user-list-cell-email>
<template v-if="editing">
<NcTextField
v-model="editedMail"
class="user-row-text-field"
:class="{ 'icon-loading-small': loading.mailAddress }"
data-cy-user-list-input-email
@ -90,8 +91,7 @@
:trailing-button-label="t('settings', 'Submit')"
:label="t('settings', 'Set new email address')"
:disabled="loading.mailAddress || isLoadingField"
trailing-button-icon="arrowRight"
:value.sync="editedMail"
trailing-button-icon="arrowEnd"
autocapitalize="off"
autocomplete="email"
spellcheck="false"
@ -124,7 +124,7 @@
:options="availableGroups"
:placeholder="t('settings', 'Add account to group')"
:taggable="settings.isAdmin || settings.isDelegatedAdmin"
:value="userGroups"
:model-value="userGroups"
label="name"
:no-wrap="true"
:create-option="(value) => ({ id: value, name: value, isCreating: true })"
@ -163,7 +163,7 @@
:no-wrap="true"
:options="availableSubAdminGroups"
:placeholder="t('settings', 'Set account as admin for')"
:value="userSubAdminGroups"
:model-value="userSubAdminGroups"
@search="searchGroups"
@option:deselected="removeUserSubAdmin"
@option:selected="options => addUserSubAdmin(options.at(-1))" />
@ -230,7 +230,7 @@
:append-to-body="false"
:options="availableLanguages"
:placeholder="t('settings', 'No language set')"
:value="userLanguage"
:model-value="userLanguage"
label="name"
@input="setUserLanguage" />
</template>

@ -12,33 +12,33 @@
id="visibility-settings"
:name="t('settings', 'Visibility')">
<NcCheckboxRadioSwitch
v-model="showLanguages"
type="switch"
data-test="showLanguages"
:checked.sync="showLanguages">
data-test="showLanguages">
{{ t('settings', 'Show language') }}
</NcCheckboxRadioSwitch>
<NcCheckboxRadioSwitch
v-model="showUserBackend"
type="switch"
data-test="showUserBackend"
:checked.sync="showUserBackend">
data-test="showUserBackend">
{{ t('settings', 'Show account backend') }}
</NcCheckboxRadioSwitch>
<NcCheckboxRadioSwitch
v-model="showStoragePath"
type="switch"
data-test="showStoragePath"
:checked.sync="showStoragePath">
data-test="showStoragePath">
{{ t('settings', 'Show storage path') }}
</NcCheckboxRadioSwitch>
<NcCheckboxRadioSwitch
v-model="showFirstLogin"
type="switch"
data-test="showFirstLogin"
:checked.sync="showFirstLogin">
data-test="showFirstLogin">
{{ t('settings', 'Show first login') }}
</NcCheckboxRadioSwitch>
<NcCheckboxRadioSwitch
v-model="showLastLogin"
type="switch"
data-test="showLastLogin"
:checked.sync="showLastLogin">
data-test="showLastLogin">
{{ t('settings', 'Show last login') }}
</NcCheckboxRadioSwitch>
</NcAppSettingsSection>
@ -56,8 +56,8 @@
type="info"
:text="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.')" />
<NcCheckboxRadioSwitch
v-model="groupSorting"
type="radio"
:checked.sync="groupSorting"
data-test="sortGroupsByMemberCount"
:disabled="isGroupSortingEnforced"
name="group-sorting-mode"
@ -65,8 +65,8 @@
{{ t('settings', 'By member count') }}
</NcCheckboxRadioSwitch>
<NcCheckboxRadioSwitch
v-model="groupSorting"
type="radio"
:checked.sync="groupSorting"
data-test="sortGroupsByName"
:disabled="isGroupSortingEnforced"
name="group-sorting-mode"
@ -80,9 +80,9 @@
id="email-settings"
:name="t('settings', 'Send email')">
<NcCheckboxRadioSwitch
v-model="sendWelcomeMail"
type="switch"
data-test="sendWelcomeMail"
:checked.sync="sendWelcomeMail"
:disabled="loadingSendMail">
{{ t('settings', 'Send welcome email to new accounts') }}
</NcCheckboxRadioSwitch>

@ -29,12 +29,12 @@
<form @submit.prevent="submit">
<NcTextField
ref="nameInput"
v-model="name"
class="new-webauthn-device__name"
:label="t('settings', 'Device name')"
:value.sync="name"
show-trailing-button
:trailing-button-label="t('settings', 'Add')"
trailing-button-icon="arrowRight"
trailing-button-icon="arrowEnd"
@trailing-button-click="submit" />
</form>
</div>

@ -5,7 +5,6 @@
<template>
<NcSettingsSection
data-cy-settings-sharing-section
:limit-width="true"
:doc-url="documentationLink"
:name="t('settings', 'Sharing')"
:description="t('settings', 'As admin you can fine-tune the sharing behavior. Please see the documentation for more information.')">

@ -35,7 +35,7 @@
<NcTextField
id="system-tag-name"
ref="tagNameInput"
:value.sync="tagName"
v-model="tagName"
:error="Boolean(errorMessage)"
:helper-text="errorMessage"
label-outside />

@ -27,7 +27,7 @@
<!-- Search or create input -->
<div class="systemtags-picker__input">
<NcTextField
:value.sync="input"
v-model="input"
:label="canEditOrCreateTag ? t('systemtags', 'Search or create tag') : t('systemtags', 'Search tag')"
data-cy-systemtags-picker-input>
<TagIcon :size="20" />
@ -45,7 +45,7 @@
:style="tagListStyle(tag)"
class="systemtags-picker__tag">
<NcCheckboxRadioSwitch
:checked="isChecked(tag)"
:model-value="isChecked(tag)"
:disabled="!tag.canAssign"
:indeterminate="isIndeterminate(tag)"
:label="tag.displayName"
@ -58,7 +58,7 @@
<NcColorPicker
v-if="canEditOrCreateTag"
:data-cy-systemtags-picker-tag-color="tag.id"
:value="`#${tag.color || '000000'}`"
:model-value="`#${tag.color || '000000'}`"
:shown="openedPicker === tag.id"
class="systemtags-picker__tag-color"
@update:value="onColorChange(tag, $event)"

@ -16,7 +16,7 @@
:input-label="t('systemtags', 'Search or create collaborative tags')"
:placeholder="t('systemtags', 'Collaborative tags …')"
:options="sortedTags"
:value="selectedTags"
:model-value="selectedTags"
:create-option="createOption"
:disabled="disabled"
:taggable="true"

@ -14,8 +14,8 @@
</p>
<NcCheckboxRadioSwitch
v-model="systemTagsCreationRestrictedToAdmin"
type="switch"
:checked.sync="systemTagsCreationRestrictedToAdmin"
@update:checked="updateSystemTagsDefault">
{{ t('systemtags', 'Restrict tag creation and editing to administrators') }}
</NcCheckboxRadioSwitch>

@ -39,7 +39,7 @@
<h3>{{ t('theming', 'Misc accessibility options') }}</h3>
<NcCheckboxRadioSwitch
type="checkbox"
:checked="enableBlurFilter === 'yes'"
:model-value="enableBlurFilter === 'yes'"
:indeterminate="enableBlurFilter === ''"
@update:checked="changeEnableBlurFilter">
{{ t('theming', 'Enable blur background filter (may increase GPU load)') }}
@ -73,8 +73,8 @@
:name="t('theming', 'Keyboard shortcuts')"
:description="t('theming', 'In some cases keyboard shortcuts can interfere with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps.')">
<NcCheckboxRadioSwitch
v-model="shortcutsDisabled"
class="theming__preview-toggle"
:checked.sync="shortcutsDisabled"
type="switch"
@change="changeShortcutsDisabled">
{{ t('theming', 'Disable all keyboard shortcuts') }}

@ -17,8 +17,8 @@
<!-- Only show checkbox if we can change themes -->
<NcCheckboxRadioSwitch
v-show="!enforced"
v-model="checked"
class="theming__preview-toggle"
:checked.sync="checked"
:disabled="enforced"
:name="name"
:type="switchType">

@ -9,7 +9,7 @@
{{ t('theming', 'The default app is the app that is e.g. opened after login or when the logo in the menu is clicked.') }}
</p>
<NcCheckboxRadioSwitch :checked.sync="hasCustomDefaultApp" type="switch" data-cy-switch-default-app="">
<NcCheckboxRadioSwitch v-model="hasCustomDefaultApp" type="switch" data-cy-switch-default-app="">
{{ t('theming', 'Use custom default app') }}
</NcCheckboxRadioSwitch>

@ -9,8 +9,8 @@
<div class="field__row">
<NcCheckboxRadioSwitch
:id="id"
v-model="localValue"
type="switch"
:checked.sync="localValue"
@update:checked="save">
{{ label }}
</NcCheckboxRadioSwitch>

@ -8,7 +8,7 @@
<label :for="id">{{ displayName }}</label>
<div class="field__row">
<NcColorPicker
:value.sync="localValue"
v-model="localValue"
:advanced-fields="true"
@update:value="debounceSave">
<NcButton

@ -6,7 +6,7 @@
<template>
<div class="field">
<NcTextField
:value.sync="localValue"
v-model="localValue"
:label="displayName"
:placeholder="placeholder"
:type="type"

@ -10,13 +10,13 @@
<NcTextField
autocomplete="off"
:label="t('user_ldap', 'Backup (Replica) Host')"
:value="ldapConfigProxy.ldapBackupHost"
:model-value="ldapConfigProxy.ldapBackupHost"
:helper-text="t('user_ldap', 'Give an optional backup host. It must be a replica of the main LDAP/AD server.')"
@change="(event) => ldapConfigProxy.ldapBackupHost = event.target.value" />
<NcTextField
type="number"
:value="ldapConfigProxy.ldapBackupPort"
:model-value="ldapConfigProxy.ldapBackupPort"
:label="t('user_ldap', 'Backup (Replica) Port')"
@change="(event) => ldapConfigProxy.ldapBackupPort = event.target.value" />
@ -38,7 +38,7 @@
<NcTextField
type="number"
:label="t('user_ldap', 'Cache Time-To-Live')"
:value="ldapConfigProxy.ldapCacheTTL"
:model-value="ldapConfigProxy.ldapCacheTTL"
:helper-text="t('user_ldap', 'in seconds. A change empties the cache.')"
@change="(event) => ldapConfigProxy.ldapCacheTTL = event.target.value" />
</details>
@ -48,14 +48,14 @@
<NcTextField
autocomplete="off"
:value="ldapConfigProxy.ldapUserDisplayName"
:model-value="ldapConfigProxy.ldapUserDisplayName"
:label="t('user_ldap', 'User Display Name Field')"
:helper-text="t('user_ldap', 'The LDAP attribute to use to generate the user\'s display name.')"
@change="(event) => ldapConfigProxy.ldapUserDisplayName = event.target.value" />
<NcTextField
autocomplete="off"
:value="ldapConfigProxy.ldapUserDisplayName2"
:model-value="ldapConfigProxy.ldapUserDisplayName2"
:label="t('user_ldap', '2nd User Display Name Field')"
:helper-text="t('user_ldap', 'Optional. An LDAP attribute to be added to the display name in brackets. Results in e.g. »John Doe (john.doe@example.org)«.')"
@change="(event) => ldapConfigProxy.ldapUserDisplayName2 = event.target.value" />
@ -81,7 +81,7 @@
<NcTextField
autocomplete="off"
:value="ldapConfigProxy.ldapGroupDisplayName"
:model-value="ldapConfigProxy.ldapGroupDisplayName"
:label="t('user_ldap', 'Group Display Name Field')"
:title="t('user_ldap', 'The LDAP attribute to use to generate the groups\'s display name.')"
@change="(event) => ldapConfigProxy.ldapGroupDisplayName = event.target.value" />
@ -113,7 +113,7 @@
<NcTextField
autocomplete="off"
:label="t('user_ldap', 'Dynamic Group Member URL')"
:value="ldapConfigProxy.ldapDynamicGroupMemberURL"
:model-value="ldapConfigProxy.ldapDynamicGroupMemberURL"
:helper-text="t('user_ldap', 'The LDAP attribute that on group objects contains an LDAP search URL that determines what objects belong to the group. (An empty setting disables dynamic group membership functionality.)')"
@change="(event) => ldapConfigProxy.ldapDynamicGroupMemberURL = event.target.value" />
@ -127,7 +127,7 @@
<NcTextField
type="number"
:label="t('user_ldap', 'Paging chunksize')"
:value="ldapConfigProxy.ldapPagingSize"
:model-value="ldapConfigProxy.ldapPagingSize"
:helper-text="t('user_ldap', 'Chunksize used for paged LDAP searches that may return bulky results like user or group enumeration. (Setting it 0 disables paged LDAP searches in those situations.)')"
@change="(event) => ldapConfigProxy.ldapPagingSize = event.target.value" />
@ -144,7 +144,7 @@
<NcTextField
autocomplete="off"
:label="t('user_ldap', 'Default password policy DN')"
:value="ldapConfigProxy.ldapDefaultPPolicyDN"
:model-value="ldapConfigProxy.ldapDefaultPPolicyDN"
:helper-text="t('user_ldap', 'The DN of a default password policy that will be used for password expiry handling. Works only when LDAP password changes per user are enabled and is only supported by OpenLDAP. Leave empty to disable password expiry handling.')"
@change="(event) => ldapConfigProxy.ldapDefaultPPolicyDN = event.target.value" />
</details>
@ -154,21 +154,21 @@
<NcTextField
autocomplete="off"
:value="ldapConfigProxy.ldapQuotaAttribute"
:model-value="ldapConfigProxy.ldapQuotaAttribute"
:label="t('user_ldap', 'Quota Field')"
:helper-text="t('user_ldap', 'Leave empty for user\'s default quota. Otherwise, specify an LDAP/AD attribute.')"
@change="(event) => ldapConfigProxy.ldapQuotaAttribute = event.target.value" />
<NcTextField
autocomplete="off"
:value="ldapConfigProxy.ldapQuotaDefault"
:model-value="ldapConfigProxy.ldapQuotaDefault"
:label="t('user_ldap', 'Quota Default')"
:helper-text="t('user_ldap', 'Override default quota for LDAP users who do not have a quota set in the Quota Field.')"
@change="(event) => ldapConfigProxy.ldapQuotaDefault = event.target.value" />
<NcTextField
autocomplete="off"
:value="ldapConfigProxy.ldapEmailAttribute"
:model-value="ldapConfigProxy.ldapEmailAttribute"
:label="t('user_ldap', 'Email Field')"
:helper-text="t('user_ldap', 'Set the user\'s email from their LDAP attribute. Leave it empty for default behaviour.')"
@change="(event) => ldapConfigProxy.ldapEmailAttribute = event.target.value" />
@ -176,14 +176,14 @@
<NcTextField
autocomplete="off"
:label="t('user_ldap', 'User Home Folder Naming Rule')"
:value="ldapConfigProxy.homeFolderNamingRule"
:model-value="ldapConfigProxy.homeFolderNamingRule"
:helper-text="t('user_ldap', 'Leave empty for username (default). Otherwise, specify an LDAP/AD attribute.')"
@change="(event) => ldapConfigProxy.homeFolderNamingRule = event.target.value" />
<NcTextField
autocomplete="off"
:label="t('user_ldap', '`$home` Placeholder Field')"
:value="ldapConfigProxy.ldapExtStorageHomeAttribute"
:model-value="ldapConfigProxy.ldapExtStorageHomeAttribute"
:helper-text="t('user_ldap', '$home in an external storage configuration will be replaced with the value of the specified attribute')"
@change="(event) => ldapConfigProxy.ldapExtStorageHomeAttribute = event.target.value" />
</details>
@ -194,70 +194,70 @@
<NcTextField
autocomplete="off"
:label="t('user_ldap', 'Phone Field')"
:value="ldapConfigProxy.ldapAttributePhone"
:model-value="ldapConfigProxy.ldapAttributePhone"
:helper-text="t('user_ldap', 'User profile Phone will be set from the specified attribute')"
@change="(event) => ldapConfigProxy.ldapAttributePhone = event.target.value" />
<NcTextField
autocomplete="off"
:label="t('user_ldap', 'Website Field')"
:value="ldapConfigProxy.ldapAttributeWebsite"
:model-value="ldapConfigProxy.ldapAttributeWebsite"
:helper-text="t('user_ldap', 'User profile Website will be set from the specified attribute')"
@change="(event) => ldapConfigProxy.ldapAttributeWebsite = event.target.value" />
<NcTextField
autocomplete="off"
:label="t('user_ldap', 'Address Field')"
:value="ldapConfigProxy.ldapAttributeAddress"
:model-value="ldapConfigProxy.ldapAttributeAddress"
:helper-text="t('user_ldap', 'User profile Address will be set from the specified attribute')"
@change="(event) => ldapConfigProxy.ldapAttributeAddress = event.target.value" />
<NcTextField
autocomplete="off"
:label="t('user_ldap', 'Twitter Field')"
:value="ldapConfigProxy.ldapAttributeTwitter"
:model-value="ldapConfigProxy.ldapAttributeTwitter"
:helper-text="t('user_ldap', 'User profile Twitter will be set from the specified attribute')"
@change="(event) => ldapConfigProxy.ldapAttributeTwitter = event.target.value" />
<NcTextField
autocomplete="off"
:label="t('user_ldap', 'Fediverse Field')"
:value="ldapConfigProxy.ldapAttributeFediverse"
:model-value="ldapConfigProxy.ldapAttributeFediverse"
:helper-text="t('user_ldap', 'User profile Fediverse will be set from the specified attribute')"
@change="(event) => ldapConfigProxy.ldapAttributeFediverse = event.target.value" />
<NcTextField
autocomplete="off"
:label="t('user_ldap', 'Organisation Field')"
:value="ldapConfigProxy.ldapAttributeOrganisation"
:model-value="ldapConfigProxy.ldapAttributeOrganisation"
:helper-text="t('user_ldap', 'User profile Organisation will be set from the specified attribute')"
@change="(event) => ldapConfigProxy.ldapAttributeOrganisation = event.target.value" />
<NcTextField
autocomplete="off"
:label="t('user_ldap', 'Role Field')"
:value="ldapConfigProxy.ldapAttributeRole"
:model-value="ldapConfigProxy.ldapAttributeRole"
:helper-text="t('user_ldap', 'User profile Role will be set from the specified attribute')"
@change="(event) => ldapConfigProxy.ldapAttributeRole = event.target.value" />
<NcTextField
autocomplete="off"
:label="t('user_ldap', 'Headline Field')"
:value="ldapConfigProxy.ldapAttributeHeadline"
:model-value="ldapConfigProxy.ldapAttributeHeadline"
:helper-text="t('user_ldap', 'User profile Headline will be set from the specified attribute')"
@change="(event) => ldapConfigProxy.ldapAttributeHeadline = event.target.value" />
<NcTextField
autocomplete="off"
:label="t('user_ldap', 'Biography Field')"
:value="ldapConfigProxy.ldapAttributeBiography"
:model-value="ldapConfigProxy.ldapAttributeBiography"
:helper-text="t('user_ldap', 'User profile Biography will be set from the specified attribute')"
@change="(event) => ldapConfigProxy.ldapAttributeBiography = event.target.value" />
<NcTextField
autocomplete="off"
:label="t('user_ldap', 'Birthdate Field')"
:value="ldapConfigProxy.ldapAttributeBirthDate"
:model-value="ldapConfigProxy.ldapAttributeBirthDate"
:helper-text="t('user_ldap', 'User profile Date of birth will be set from the specified attribute')"
@change="(event) => ldapConfigProxy.ldapAttributeBirthDate = event.target.value" />
</details>

@ -13,7 +13,7 @@
aria-describedby="ldap_expert_username_attr"
autocomplete="off"
:label="t('user_ldap', 'Internal Username Attribute:')"
:value="ldapConfigProxy.ldapExpertUsernameAttr"
:model-value="ldapConfigProxy.ldapExpertUsernameAttr"
@change="(event) => ldapConfigProxy.ldapExpertUsernameAttr = event.target.value" />
</div>
@ -26,12 +26,12 @@
aria-describedby="ldap_expert_uuid_user_attr"
autocomplete="off"
:label="t('user_ldap', 'UUID Attribute for Users')"
:value="ldapConfigProxy.ldapExpertUUIDUserAttr"
:model-value="ldapConfigProxy.ldapExpertUUIDUserAttr"
@change="(event) => ldapConfigProxy.ldapExpertUUIDUserAttr = event.target.value" />
<NcTextField
autocomplete="off"
:label="t('user_ldap', 'UUID Attribute for Groups')"
:value="ldapConfigProxy.ldapExpertUUIDGroupAttr"
:model-value="ldapConfigProxy.ldapExpertUUIDGroupAttr"
@change="(event) => ldapConfigProxy.ldapExpertUUIDGroupAttr = event.target.value" />
</div>
</fieldset>

@ -12,7 +12,7 @@
input-id="clearStatus"
class="clear-at-select__select"
:options="options"
:value="option"
:model-value="option"
:clearable="false"
placement="top"
label-outside

@ -19,7 +19,7 @@
maxlength="80"
:disabled="disabled"
:placeholder="t('user_status', 'What is your status?')"
:value="message"
:model-value="message"
type="text"
:label="t('user_status', 'What is your status?')"
@input="onChange" />

@ -73,7 +73,7 @@
:disabled="false"
icon="icon-rename"
type="text"
value=""
model-value=""
@submit="onAddressSubmit" />
<template v-if="favorites.length > 0">
<NcActionCaption :name="t('weather_status', 'Favorites')" />

@ -6,7 +6,7 @@
<div>
<NcSelect
v-model="newValue"
:value="currentValue"
:model-value="currentValue"
:placeholder="t('workflowengine', 'Select a request URL')"
label="label"
:clearable="false"

@ -13,7 +13,7 @@
:disabled="allEvents.length <= 1"
:multiple="true"
:options="allEvents"
:value="currentEvent"
:model-value="currentEvent"
:placeholder="placeholderString"
class="event__trigger"
label="displayName"

@ -51,6 +51,7 @@
</NcButton>
<NcButton
:type="ruleStatus.type"
:title="ruleStatus.tooltip"
@click="saveRule">
<template #icon>
<component :is="ruleStatus.icon" :size="20" />
@ -66,7 +67,6 @@
</template>
<script>
import Tooltip from '@nextcloud/vue/directives/Tooltip'
import NcActionButton from '@nextcloud/vue/components/NcActionButton'
import NcActions from '@nextcloud/vue/components/NcActions'
import NcButton from '@nextcloud/vue/components/NcButton'
@ -79,7 +79,6 @@ import Operation from './Operation.vue'
import { logger } from '../logger.ts'
export default {
/* eslint vue/multi-word-component-names: "warn" */
name: 'Rule',
components: {
Check,
@ -90,10 +89,6 @@ export default {
Operation,
},
directives: {
Tooltip,
},
props: {
rule: {
type: Object,
@ -127,7 +122,7 @@ export default {
title: t('workflowengine', 'The configuration is invalid'),
icon: IconClose,
type: 'warning',
tooltip: { placement: 'bottom', show: true, content: this.error },
tooltip: this.error,
}
}
if (!this.dirty) {

@ -12,18 +12,18 @@
<NcPasswordField
v-if="isPassword"
ref="input"
v-model="inputValue"
autocomplete="new-password"
class="legacy-prompt__input"
:label="name"
:name="inputName"
:value.sync="inputValue" />
:name="inputName" />
<NcTextField
v-else
ref="input"
v-model="inputValue"
class="legacy-prompt__input"
:label="name"
:name="inputName"
:value.sync="inputValue" />
:name="inputName" />
</NcDialog>
</template>

@ -10,10 +10,10 @@
@submit="createFederatedShare">
<NcTextField
ref="input"
v-model="remoteUrl"
:label="t('core', 'Federated user')"
:placeholder="t('core', 'user@your-nextcloud.org')"
required
:value.sync="remoteUrl" />
required />
<template #actions>
<NcButton :disabled="loading" variant="primary" type="submit">
<template v-if="loading" #icon>

@ -13,7 +13,7 @@
</template>
<div class="searchable-list__wrapper">
<NcTextField
:value.sync="searchTerm"
v-model="searchTerm"
:label="labelText"
trailing-button-icon="close"
:show-trailing-button="searchTerm !== ''"

@ -16,7 +16,7 @@
:placeholder="t('core', 'Search in current app')"
show-trailing-button
:trailing-button-label="t('core', 'Clear search')"
:value="query"
:model-value="query"
@update:value="$emit('update:query', $event)"
@trailing-button-click="clearAndCloseSearch">
<template #trailing-button-icon>

@ -24,8 +24,8 @@
<div class="unified-search-modal__header">
<NcInputField
ref="searchInput"
v-model="searchQuery"
data-cy-unified-search-input
:value.sync="searchQuery"
type="text"
:label="t('core', 'Search apps, files, tags, messages') + '...'"
@update:value="debouncedFind" />

@ -54,10 +54,10 @@
<NcTextField
id="user"
ref="user"
v-model="user"
:label="loginText"
name="user"
:maxlength="255"
:value.sync="user"
:class="{ shake: invalidPassword }"
autocapitalize="none"
:spellchecking="false"
@ -71,9 +71,9 @@
<NcPasswordField
id="password"
ref="password"
v-model="password"
name="password"
:class="{ shake: invalidPassword }"
:value.sync="password"
:spellchecking="false"
autocapitalize="none"
:autocomplete="autoCompleteAllowed ? 'current-password' : 'off'"
@ -88,9 +88,9 @@
v-if="remembermeAllowed"
id="rememberme"
ref="rememberme"
v-model="rememberme"
name="rememberme"
value="1"
:checked.sync="rememberme"
data-login-form-input-rememberme>
{{ t('core', 'Remember me') }}
</NcCheckboxRadioSwitch>

@ -17,7 +17,7 @@
<NcTextField
required
:value="user"
:model-value="user"
:autocomplete="autoCompleteAllowed ? 'on' : 'off'"
:error="!validCredentials"
:label="t('core', 'Login or email')"

@ -9,7 +9,7 @@
<NcTextField
id="user"
:value.sync="user"
v-model="user"
name="user"
:maxlength="255"
autocapitalize="off"

@ -30,7 +30,7 @@
</p>
</div>
<NcCheckboxRadioSwitch
:checked="app.isSelected || app.active"
:model-value="app.isSelected || app.active"
:disabled="!app.isCompatible || app.active"
:loading="app.loading"
@update:checked="toggleSelect(app.id)" />

@ -21,7 +21,7 @@
<div class="unified-search__input-row">
<NcTextField
ref="input"
:value.sync="query"
v-model="query"
trailing-button-icon="close"
:label="ariaLabel"
:trailing-button-label="t('core', 'Reset search')"