{{#if data-table.isLoading}}
  <tr><td colspan="100%" class="is-loading-data">Loading...</td></tr>
{{else}}
  {{#if content}}
    {{#each wrappedItems as |wrapper index|}}
      <tr class="{{if (contains wrapper.item data-table.selection) 'selected'}}" {{action (optional onClickRow) wrapper.item}}>
        {{#if enableSelection}}
          <td class="center">
            {{input type="checkbox" checked=wrapper.isSelected click=(action "updateSelection" wrapper)}}
          </td>
        {{/if}}
        {{#if enableLineNumbers}}
          <td>{{add index offset}}</td>
        {{/if}}
        {{#if hasBlock}}
          {{yield wrapper.item}}
        {{else}}
          {{default-data-table-content-body item=wrapper.item data-table=data-table}}
        {{/if}}
      </tr>
    {{/each}}
  {{else}}
    <tr><td colspan="100%" class="no-data-message"><p>{{noDataMessage}}</p></td></tr>
  {{/if}}
{{/if}}

{{#if data-table.isLoading}}
  <tr><td colspan="100%" class="is-loading-data">Loading...</td></tr>
{{else}}
  {{#if content}}
    {{#each wrappedItems as |wrapper index|}}
      <tr class="{{if (contains wrapper.item data-table.selection) 'selected'}} {{if onClickRow 'clickable'}}" onclick={{action (optional onClickRow) wrapper.item}}>
        {{#if enableSelection}}
          <td class="center">
            {{input type="checkbox" checked=wrapper.isSelected click=(action "updateSelection" wrapper)}}
          </td>
        {{/if}}
        {{#if enableLineNumbers}}
          <td>{{add index offset}}</td>
        {{/if}}
        {{#if hasBlock}}
          {{yield wrapper.item}}
        {{else}}
          {{default-data-table-content-body item=wrapper.item data-table=data-table}}
        {{/if}}
      </tr>
    {{/each}}
  {{else}}
    <tr><td colspan="100%" class="no-data-message"><p>{{noDataMessage}}</p></td></tr>
  {{/if}}
{{/if}}

Allow nested ember actions on data table row
Allow nested ember actions on data table row

See https://medium.com/square-corner-blog/deep-dive-on-ember-events-cf684fd3b808
