Here is the way to add icon to column, using css, but it won't be interactive:
.slash-outlined {
.ng2-smart-title {
display: inline-block;
white-space: nowrap;
&::before {
display: inline-block;
width: 20px;
vertical-align: middle;
margin-right: 5px;
content: url(/assets/images/slash-outline.svg);
}
}
}
Column config:
excludeFromOnlineBooking: {
title: '',
type: 'custom',
filter: false,
sort: false,
class: 'slash-outlined',
renderComponent: NbCustomResourceBookingCellComponent,
titleKey: 'location.resource-list.exclude-from-online-booking',
}
To make icon handle click event, you can try to locate this pseudo element using pure JavaScript in component's AfterViewInit and bind events there.
Here is the issue reference in ng2-smart-table github
https://github.com/akveo/ng2-smart-table/issues?page=2&q=is%3Aopen+is%3Aissue