aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files/src/components/FileEntry
diff options
context:
space:
mode:
authorChristopher Ng <chrng8@gmail.com>2024-01-18 14:25:53 -0800
committerJohn Molakvoæ <skjnldsv@users.noreply.github.com>2024-01-20 12:23:51 +0100
commit1b0eb2bebd6998b2ebfb8ed177640ea5329bd4ca (patch)
treefa09f59e8e45ea446d2f3a8669b654a3d17d8e50 /apps/files/src/components/FileEntry
parent6f1393d34bd15e22519d3b9e03e2f0d62f2ec823 (diff)
downloadnextcloud-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.vue20
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: {