diff options
author | Carl Schwan <carl@carlschwan.eu> | 2022-09-12 19:43:48 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-12 19:43:48 +0200 |
commit | 52dbfcf74cec9c7dcc2ca7492cc6e6af24c9ddff (patch) | |
tree | 34076b859df7bbd5496531998197622084526c11 /apps | |
parent | a1fcee0c99d52c1fd11c11dc178edbff60aa08ed (diff) | |
parent | 3fcb05e9006d078c5acb116bfd46e92b7ba36f5e (diff) | |
download | nextcloud-server-52dbfcf74cec9c7dcc2ca7492cc6e6af24c9ddff.tar.gz nextcloud-server-52dbfcf74cec9c7dcc2ca7492cc6e6af24c9ddff.zip |
Merge pull request #34026 from nextcloud/port-profile-section-checkbox
Port Profile section checbox to NcCheckoxRadioSwitch component
Diffstat (limited to 'apps')
3 files changed, 23 insertions, 32 deletions
diff --git a/apps/files_sharing/src/components/SharingEntry.vue b/apps/files_sharing/src/components/SharingEntry.vue index c77bdd4292a..fccabf4532b 100644 --- a/apps/files_sharing/src/components/SharingEntry.vue +++ b/apps/files_sharing/src/components/SharingEntry.vue @@ -78,9 +78,9 @@ {{ t('files_sharing', 'Allow resharing') }} </NcActionCheckbox> - <NcActionCheckbox ref="canDownload" + <NcActionCheckbox v-if="isSetDownloadButtonVisible" + ref="canDownload" :checked.sync="canDownload" - v-if="isSetDownloadButtonVisible" :disabled="saving || !canSetDownload"> {{ allowDownloadText }} </NcActionCheckbox> diff --git a/apps/settings/src/components/PersonalInfo/ProfileSection/ProfileCheckbox.vue b/apps/settings/src/components/PersonalInfo/ProfileSection/ProfileCheckbox.vue index 0ab9445e1f9..433daa0ca89 100644 --- a/apps/settings/src/components/PersonalInfo/ProfileSection/ProfileCheckbox.vue +++ b/apps/settings/src/components/PersonalInfo/ProfileSection/ProfileCheckbox.vue @@ -22,14 +22,12 @@ <template> <div class="checkbox-container"> - <input id="enable-profile" - class="checkbox" - type="checkbox" - :checked="profileEnabled" - @change="onEnableProfileChange"> - <label for="enable-profile"> + <NcCheckboxRadioSwitch type="switch" + :checked.sync="isProfileEnabled" + :loading="loading" + @update:checked="saveEnableProfile"> {{ t('settings', 'Enable Profile') }} - </label> + </NcCheckboxRadioSwitch> </div> </template> @@ -38,13 +36,17 @@ import { showError } from '@nextcloud/dialogs' import { emit } from '@nextcloud/event-bus' import { savePrimaryAccountProperty } from '../../../service/PersonalInfo/PersonalInfoService.js' -import { validateBoolean } from '../../../utils/validate.js' import { ACCOUNT_PROPERTY_ENUM } from '../../../constants/AccountPropertyConstants.js' import logger from '../../../logger.js' +import NcCheckboxRadioSwitch from '@nextcloud/vue/dist/Components/NcCheckboxRadioSwitch.js' export default { name: 'ProfileCheckbox', + components: { + NcCheckboxRadioSwitch, + }, + props: { profileEnabled: { type: Boolean, @@ -54,25 +56,18 @@ export default { data() { return { - initialProfileEnabled: this.profileEnabled, + isProfileEnabled: this.profileEnabled, + loading: false, } }, methods: { - async onEnableProfileChange(e) { - const isEnabled = e.target.checked - this.$emit('update:profile-enabled', isEnabled) - - if (validateBoolean(isEnabled)) { - await this.updateEnableProfile(isEnabled) - } - }, - - async updateEnableProfile(isEnabled) { + async saveEnableProfile() { + this.loading = true try { - const responseData = await savePrimaryAccountProperty(ACCOUNT_PROPERTY_ENUM.PROFILE_ENABLED, isEnabled) + const responseData = await savePrimaryAccountProperty(ACCOUNT_PROPERTY_ENUM.PROFILE_ENABLED, this.isProfileEnabled) this.handleResponse({ - isEnabled, + isProfileEnabled: this.isProfileEnabled, status: responseData.ocs?.meta?.status, }) } catch (e) { @@ -83,19 +78,15 @@ export default { } }, - handleResponse({ isEnabled, status, errorMessage, error }) { + handleResponse({ isProfileEnabled, status, errorMessage, error }) { if (status === 'ok') { - // Ensure that local state reflects server state - this.initialProfileEnabled = isEnabled - emit('settings:profile-enabled:updated', isEnabled) + emit('settings:profile-enabled:updated', isProfileEnabled) } else { showError(errorMessage) logger.error(errorMessage, error) } + this.loading = false }, }, } </script> - -<style lang="scss" scoped> -</style> diff --git a/apps/user_status/src/components/CustomMessageInput.vue b/apps/user_status/src/components/CustomMessageInput.vue index 731bd6dd91f..d5a25bfb69d 100644 --- a/apps/user_status/src/components/CustomMessageInput.vue +++ b/apps/user_status/src/components/CustomMessageInput.vue @@ -28,8 +28,8 @@ <label class="hidden-visually" for="user_status_message"> {{ t('user_status', 'What is your status?') }} </label> - <input ref="input" - id="user_status_message" + <input id="user_status_message" + ref="input" maxlength="80" :disabled="disabled" :placeholder="$t('user_status', 'What is your status?')" |