diff options
author | F. E Noel Nfebe <fenn25.fn@gmail.com> | 2023-10-02 19:26:53 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-02 19:26:53 +0100 |
commit | 8c2ff08fb7363e070dfb4e0a0115fa0523593009 (patch) | |
tree | 4674430a8e6aecd3d61cd8d5ad3a7ce233e53826 /apps | |
parent | cd1d980fbdda9f9fd9ff03413f6c8b6d13c5c730 (diff) | |
parent | 0537bbd331cda5ad7b477c398e652b4c11c4834d (diff) | |
download | nextcloud-server-8c2ff08fb7363e070dfb4e0a0115fa0523593009.tar.gz nextcloud-server-8c2ff08fb7363e070dfb4e0a0115fa0523593009.zip |
Merge pull request #40629 from nextcloud/40438-sharing-cleanup
Updates to new sharing flow
Diffstat (limited to 'apps')
-rw-r--r-- | apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue | 5 | ||||
-rw-r--r-- | apps/files_sharing/src/views/SharingDetailsTab.vue | 69 |
2 files changed, 39 insertions, 35 deletions
diff --git a/apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue b/apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue index b89574a2fca..2bf30533b59 100644 --- a/apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue +++ b/apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue @@ -238,6 +238,7 @@ export default { background-color: var(--color-main-background); border-radius: 8px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); + border: 1px solid var(--color-border); padding: 4px 0; z-index: 1; @@ -256,11 +257,11 @@ export default { text-align: left; &:hover { - background-color: #f2f2f2; + background-color: var(--color-background-dark); } &.selected { - background-color: #f0f0f0; + background-color: var(--color-background-dark); } } } diff --git a/apps/files_sharing/src/views/SharingDetailsTab.vue b/apps/files_sharing/src/views/SharingDetailsTab.vue index e892ca472d8..ca578794d13 100644 --- a/apps/files_sharing/src/views/SharingDetailsTab.vue +++ b/apps/files_sharing/src/views/SharingDetailsTab.vue @@ -36,7 +36,13 @@ type="radio" button-variant-grouped="vertical" @update:checked="toggleCustomPermissions"> - {{ t('files_sharing', 'Allow upload and editing') }} + <template v-if="allowsFileDrop"> + {{ t('files_sharing', 'Allow upload and editing') }} + </template> + <template v-else> + {{ t('files_sharing', 'Allow editing') }} + </template> + <template #icon> <EditIcon :size="20" /> </template> @@ -132,6 +138,9 @@ @update:checked="onPasswordProtectedByTalkChange"> {{ t('file_sharing', 'Video verification') }} </NcCheckboxRadioSwitch> + <NcCheckboxRadioSwitch v-if="!isPublicShare" :disabled="!canSetDownload" :checked.sync="canDownload"> + {{ t('file_sharing', 'Allow download') }} + </NcCheckboxRadioSwitch> <NcCheckboxRadioSwitch :checked.sync="writeNoteToRecipientIsChecked"> {{ t('file_sharing', 'Note to recipient') }} </NcCheckboxRadioSwitch> @@ -145,7 +154,8 @@ {{ t('file_sharing', 'Custom permissions') }} </NcCheckboxRadioSwitch> <section v-if="setCustomPermissions" class="custom-permissions-group"> - <NcCheckboxRadioSwitch :disabled="!allowsFileDrop && share.type === SHARE_TYPES.SHARE_TYPE_LINK" :checked.sync="hasRead"> + <NcCheckboxRadioSwitch :disabled="!allowsFileDrop && share.type === SHARE_TYPES.SHARE_TYPE_LINK" + :checked.sync="hasRead"> {{ t('file_sharing', 'Read') }} </NcCheckboxRadioSwitch> <NcCheckboxRadioSwitch v-if="isFolder" :disabled="!canSetCreate" :checked.sync="canCreate"> @@ -154,12 +164,11 @@ <NcCheckboxRadioSwitch :disabled="!canSetEdit" :checked.sync="canEdit"> {{ t('file_sharing', 'Update') }} </NcCheckboxRadioSwitch> - <NcCheckboxRadioSwitch v-if="config.isResharingAllowed && share.type !== SHARE_TYPES.SHARE_TYPE_LINK" :disabled="!canSetReshare" :checked.sync="canReshare"> + <NcCheckboxRadioSwitch v-if="config.isResharingAllowed && share.type !== SHARE_TYPES.SHARE_TYPE_LINK" + :disabled="!canSetReshare" + :checked.sync="canReshare"> {{ t('file_sharing', 'Share') }} </NcCheckboxRadioSwitch> - <NcCheckboxRadioSwitch v-if="!isPublicShare" :disabled="!canSetDownload" :checked.sync="canDownload"> - {{ t('file_sharing', 'Download') }} - </NcCheckboxRadioSwitch> <NcCheckboxRadioSwitch :disabled="!canSetDelete" :checked.sync="canDelete"> {{ t('file_sharing', 'Delete') }} </NcCheckboxRadioSwitch> @@ -371,13 +380,19 @@ export default { */ hasExpirationDate: { get() { + const isDefaultExpireDateEnabled = this.config.isDefaultExpireDateEnabled + const hasExistingExpirationDate = !!this.share.expireDate || isDefaultExpireDateEnabled + const isDefaultInternalExpireDateEnabled = this.config.isDefaultInternalExpireDateEnabled + const isDefaultRemoteExpireDateEnabled = this.config.isDefaultRemoteExpireDateEnabled if (this.isPublicShare) { - return !!this.share.expireDate || this.config.isDefaultExpireDateEnforced + return hasExistingExpirationDate } + if (this.isRemoteShare) { - return !!this.share.expireDate || this.config.isDefaultInternalExpireDateEnforced || this.config.isDefaultExpireDateEnforced + return hasExistingExpirationDate || isDefaultRemoteExpireDateEnabled } - return !!this.share.expireDate || this.config.isDefaultInternalExpireDateEnforced || this.config.isDefaultExpireDateEnforced + + return hasExistingExpirationDate || isDefaultInternalExpireDateEnabled }, set(enabled) { this.share.expireDate = enabled @@ -542,7 +557,7 @@ export default { return this.share.newPassword !== undefined }, passwordExpirationTime() { - if (this.share.passwordExpirationTime === null) { + if (!this.isValidShareAttribute(this.share.passwordExpirationTime)) { return null } @@ -629,9 +644,6 @@ export default { if (hasPermissions(this.share.permissions, ATOMIC_PERMISSIONS.SHARE)) { perms.push('share') } - if (this.share.hasDownloadPermission) { - perms.push('download') - } const capitalizeFirstAndJoin = array => array.map((item, index) => index === 0 ? item[0].toUpperCase() + item.substring(1) : item).join(', ') return capitalizeFirstAndJoin(perms) @@ -676,7 +688,7 @@ export default { } }, expandCustomPermissions() { - if (!this.advancedSectionAccordionExpanded) { + if (!this.advancedSectionAccordionExpanded) { this.advancedSectionAccordionExpanded = true } this.toggleCustomPermissions() @@ -687,34 +699,24 @@ export default { this.setCustomPermissions = isCustomPermissions }, async initializeAttributes() { - let hasAdvancedAttributes = false if (this.isNewShare) { if (this.isPasswordEnforced && this.isPublicShare) { this.share.newPassword = await GeneratePassword() this.advancedSectionAccordionExpanded = true } + if (this.hasExpirationDate) { + this.share.expireDate = this.defaultExpiryDate + this.advancedSectionAccordionExpanded = true + } return } - if (this.isValidShareAttribute(this.share.note)) { - this.writeNoteToRecipientIsChecked = true - hasAdvancedAttributes = true - } - - if (this.isValidShareAttribute(this.share.password)) { - hasAdvancedAttributes = true - } - - if (this.isValidShareAttribute(this.share.expireDate)) { - hasAdvancedAttributes = true - } - - if (this.isValidShareAttribute(this.share.label)) { - hasAdvancedAttributes = true - } - - if (hasAdvancedAttributes) { + if ( + this.isValidShareAttribute(this.share.password) + || this.isValidShareAttribute(this.share.expireDate) + || this.isValidShareAttribute(this.share.label) + ) { this.advancedSectionAccordionExpanded = true } @@ -1031,6 +1033,7 @@ export default { flex-direction: column; justify-content: space-between; align-items: flex-start; + background: linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--color-main-background)); .button-group { display: flex; |