Browse Source

feat: add option to select all records in current page

re #817

Signed-off-by: Pranav C <pranavxc@gmail.com>
pull/863/head
Pranav C 3 years ago
parent
commit
ec66664e83
  1. 23
      packages/nc-gui/components/project/spreadsheet/views/xcGridView.vue

23
packages/nc-gui/components/project/spreadsheet/views/xcGridView.vue

@ -19,7 +19,18 @@
:class="$store.state.windows.darkTheme ? 'grey darken-3 grey--text text--lighten-1' : 'grey lighten-4 grey--text text--darken-2'"
style="width: 65px"
>
#
<div class="d-flex align-center">
<span v-if="!selectAll" class="row-no">#</span>
<template v-if="!isPublicView">
<v-checkbox
v-model="selectAll"
class="row-checkbox pt-0 align-self-center my-auto"
:class="{active : selectAll}"
dense
/>
</template>
<div class="d-flex align-center" />
</div>
</th>
<th
v-for="(col) in availableColumns"
@ -318,6 +329,16 @@ export default {
dragOver: false
}),
computed: {
selectAll: {
get() {
return this.data.every(d => d.rowMeta && d.rowMeta.selected)
},
set(v) {
for (const d of this.data) {
this.$set(d.rowMeta, 'selected', v)
}
}
},
ids() {
return this.data.map(({ oldRow }) => this.meta.columns.filter(c => c.pk).map(c => oldRow[c._cn]).join('___'))
},

Loading…
Cancel
Save