Skip to content

Commit 2323eaa

Browse files
committed
feat: CDataTable: add 'external' key to itemsPerPageSelect prop object
1 parent 4d658b2 commit 2323eaa

File tree

3 files changed

+11
-2
lines changed

3 files changed

+11
-2
lines changed

src/components/index.d.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -562,7 +562,9 @@ export declare class CDataTable extends Vue {
562562
hover: boolean
563563
border: boolean
564564
outlined: boolean
565-
itemsPerPageSelect: boolean | { label?: string, values?: number[] }
565+
itemsPerPageSelect: boolean | {
566+
label?: string, values?: number[], external?: boolean
567+
}
566568
sorter: boolean | { external?: boolean, resetable?: boolean }
567569
columnFilter: boolean | { external?: boolean, lazy?: boolean}
568570
tableFilter: boolean | {

src/components/table/CDataTable.vue

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -544,6 +544,9 @@ export default {
544544
},
545545
paginationChange (e) {
546546
this.$emit('pagination-change', Number(e.target.value))
547+
if (this.itemsPerPageSelect.external) {
548+
return
549+
}
547550
this.perPageItems = Number(e.target.value)
548551
},
549552
objectsAreIdentical (obj1, obj2) {

src/components/table/tests/CDataTable.spec.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,11 +188,15 @@ describe(ComponentName, () => {
188188
localWrapper.setProps({
189189
itemsPerPageSelect: {
190190
label: 'new label',
191-
values: [10, 25, 50]
191+
values: [10, 25, 50],
192+
external: true
192193
}
193194
})
194195
expect(localWrapper.vm.paginationSelect.label).toBe('new label')
195196
expect(localWrapper.vm.paginationSelect.values[1]).toBe(25)
197+
localWrapper.find('select').setValue(25)
198+
expect(localWrapper.emitted()['pagination-change'][0][0]).toBe(25)
199+
expect(localWrapper.vm.perPageItems).not.toBe(25)
196200
})
197201
it('Properly sets no items view text', () => {
198202
const localWrapper = createCustomWrapper()

0 commit comments

Comments
 (0)