John Cowen 49ec61e523
ui: Remove WithEventSource mixin, use a component instead (#7953)
The WithEventSource mixin was responsible for catching EventSource
errors and cleaning up events sources then the user left a Controller.

As we are trying to avoid mixin usage, we moved this all to an
`EventSource` component, which can clean up when the component is
removed from the page, and also fires an onerror event.

Moving to a component firing an onerror event means we can also remove
all of our custom computed property work that we were using previously
to catch errors (thrown when a service etc. is removed)
2020-06-17 14:19:50 +01:00

35 lines
1.1 KiB
Handlebars

{{yield}}
<table class="with-details has-actions">
<thead>
<tr>
<YieldSlot @name="header">{{yield}}</YieldSlot>
<th class="actions">Actions</th>
</tr>
</thead>
<tbody>
{{#let (concat 'tabular-details-' name '-toggle-' guid '_') as |inputId|}}
{{#each items as |item index|}}
<tr data-test-tabular-row onclick={{action 'click'}}>
<YieldSlot @name="row">{{yield item index}}</YieldSlot>
<td class="actions">
<label for={{concat inputId index}}><span>Show details</span></label>
</td>
</tr>
<tr>
<td colspan="3">
<input type="checkbox" checked={{ not (is-empty item.closed) }} value={{index}} name={{name}} id={{concat inputId index}} onchange={{action 'change' item items}} />
<div>
<label for={{concat inputId index}}><span>Hide details</span></label>
<div>
<YieldSlot @name="details">
{{yield item index}}
</YieldSlot>
</div>
</div>
</td>
</tr>
{{/each}}
{{/let}}
</tbody>
</table>