diff options
author | Christopher Ng <chrng8@gmail.com> | 2024-01-18 14:25:53 -0800 |
---|---|---|
committer | John Molakvoæ <skjnldsv@users.noreply.github.com> | 2024-01-20 12:23:51 +0100 |
commit | 1b0eb2bebd6998b2ebfb8ed177640ea5329bd4ca (patch) | |
tree | fa09f59e8e45ea446d2f3a8669b654a3d17d8e50 /apps/files/src/components/FileEntry | |
parent | 6f1393d34bd15e22519d3b9e03e2f0d62f2ec823 (diff) | |
download | nextcloud-server-1b0eb2bebd6998b2ebfb8ed177640ea5329bd4ca.tar.gz nextcloud-server-1b0eb2bebd6998b2ebfb8ed177640ea5329bd4ca.zip |
fix(files): Fix checkbox state semantics
Signed-off-by: Christopher Ng <chrng8@gmail.com>
Diffstat (limited to 'apps/files/src/components/FileEntry')
-rw-r--r-- | apps/files/src/components/FileEntry/FileEntryCheckbox.vue | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/apps/files/src/components/FileEntry/FileEntryCheckbox.vue b/apps/files/src/components/FileEntry/FileEntryCheckbox.vue index ff88b461737..bb851ed1e0e 100644 --- a/apps/files/src/components/FileEntry/FileEntryCheckbox.vue +++ b/apps/files/src/components/FileEntry/FileEntryCheckbox.vue @@ -24,14 +24,14 @@ @keyup.esc.exact="resetSelection"> <NcLoadingIcon v-if="isLoading" /> <NcCheckboxRadioSwitch v-else - :aria-label="t('files', 'Select the row for {displayName}', { displayName })" + :aria-label="ariaLabel" :checked="isSelected" @update:checked="onSelectionChange" /> </td> </template> <script lang="ts"> -import { Node } from '@nextcloud/files' +import { Node, FileType } from '@nextcloud/files' import { translate as t } from '@nextcloud/l10n' import Vue, { PropType } from 'vue' @@ -51,10 +51,6 @@ export default Vue.extend({ }, props: { - displayName: { - type: String, - required: true, - }, fileid: { type: String, required: true, @@ -67,6 +63,10 @@ export default Vue.extend({ type: Array as PropType<Node[]>, required: true, }, + source: { + type: Object as PropType<Node>, + required: true, + }, }, setup() { @@ -88,6 +88,14 @@ export default Vue.extend({ index() { return this.nodes.findIndex((node: Node) => node.fileid === parseInt(this.fileid)) }, + isFile() { + return this.source.type === FileType.File + }, + ariaLabel() { + return this.isFile + ? t('files', 'Toggle selection for file "{displayName}"', { displayName: this.source.basename }) + : t('files', 'Toggle selection for folder "{displayName}"', { displayName: this.source.basename }) + }, }, methods: { |