Skip to content

Commit 89c1f8b

Browse files
committed
feat: CDataTable, row-clicked event - add event object as argument
1 parent ea4a5bd commit 89c1f8b

File tree

2 files changed

+12
-7
lines changed

2 files changed

+12
-7
lines changed

src/components/table/CDataTable.vue

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@
122122
</tr>
123123
<tr
124124
v-if="$scopedSlots.details"
125-
@click="rowClicked(item, itemIndex + firstItemIndex)"
125+
@click="rowClicked(item, itemIndex + firstItemIndex, $event, true)"
126126
class="p-0"
127127
style="border:none !important"
128128
:key="'details' + itemIndex"
@@ -516,16 +516,18 @@ export default {
516516
}
517517
return style
518518
},
519-
rowClicked (item, index, e) {
520-
this.$emit('row-clicked', item, index, this.getClickedColumnName(e))
519+
rowClicked (item, index, e, detailsClick = false) {
520+
this.$emit(
521+
'row-clicked', item, index, this.getClickedColumnName(e, detailsClick), e
522+
)
521523
},
522-
getClickedColumnName (e) {
523-
if (e) {
524+
getClickedColumnName (e, detailsClick) {
525+
if (detailsClick) {
526+
return 'details'
527+
} else {
524528
const children = Array.from(e.target.closest('tr').children)
525529
const clickedCell = children.filter(child => child.contains(e.target))[0]
526530
return this.rawColumnNames[children.indexOf(clickedCell)]
527-
} else {
528-
return 'details'
529531
}
530532
},
531533
getIconState (index) {

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,9 @@ describe(ComponentName, () => {
9898
expect(customWrapper.emitted()['row-clicked'][0][2]).toBe('username')
9999
customWrapper.find('.details').trigger('click')
100100
expect(customWrapper.emitted()['row-clicked'][1][2]).toBe('details')
101+
expect(
102+
customWrapper.emitted()['row-clicked'][1][3] instanceof Event
103+
).toBe(true)
101104
})
102105
it('emits page-change event when clicked on computedPage change', () => {
103106
customWrapper.setData({ page: 2 })

0 commit comments

Comments
 (0)