diff --git a/packages/components/src/components/hds/advanced-table/index.ts b/packages/components/src/components/hds/advanced-table/index.ts index 048c4fedb00..8f65ddb3e78 100644 --- a/packages/components/src/components/hds/advanced-table/index.ts +++ b/packages/components/src/components/hds/advanced-table/index.ts @@ -237,19 +237,25 @@ export default class HdsAdvancedTable extends Component((acc, row) => { - if (row.checkbox.checked) { - acc.push(row.selectionKey); - } + + if (typeof onSelectionChange !== 'function') return; + + onSelectionChange({ + selectionKey: selectionKey, + selectionCheckboxElement: checkbox, + selectedRowsKeys: this._selectableRows.reduce((acc, row) => { + if (row.checkbox.checked) { + acc.push(row.selectionKey); + } + return acc; + }, []), + selectableRowsStates: this._selectableRows.reduce( + ( + acc: { selectionKey: string; isSelected: boolean | undefined }[], + row + ) => { + acc.push({ + selectionKey: row.selectionKey, + isSelected: row.checkbox.checked, + }); return acc; - }, []), - selectableRowsStates: this._selectableRows.reduce( - ( - acc: { selectionKey: string; isSelected: boolean | undefined }[], - row - ) => { - acc.push({ - selectionKey: row.selectionKey, - isSelected: row.checkbox.checked, - }); - return acc; - }, - [] - ), - }); - } + }, + [] + ), + }); } @action