b1d5409d1c
Add totals to some listing views, remove healthcheck totals 1. Adds markup to render totals for Services, Nodes, Intentions and v1 ACLs 2. Removes counts from healthcheck filters, and therefore simplify text, moving the copy to the templates 3. Alter test to reflect the fact that the text of the buttons are no static in the component template rather than a dynamic attribute
85 lines
3.8 KiB
Handlebars
85 lines
3.8 KiB
Handlebars
{{#app-view class="intention list"}}
|
|
{{#block-slot 'notification' as |status type|}}
|
|
{{partial 'dc/intentions/notifications'}}
|
|
{{/block-slot}}
|
|
{{#block-slot 'header'}}
|
|
<h1>
|
|
Intentions <em>{{format-number items.length}} total</em>
|
|
</h1>
|
|
<label for="toolbar-toggle"></label>
|
|
{{/block-slot}}
|
|
{{#block-slot 'actions'}}
|
|
<a data-test-create href="{{href-to 'dc.intentions.create'}}" class="type-create">Create</a>
|
|
{{/block-slot}}
|
|
{{#block-slot 'toolbar'}}
|
|
{{#if (gt items.length 0) }}
|
|
{{intention-filter searchable=searchable filters=actionFilters search=filters.s type=filters.action onchange=(action 'filter')}}
|
|
{{/if}}
|
|
{{/block-slot}}
|
|
{{#block-slot 'content'}}
|
|
{{#changeable-set dispatcher=searchable}}
|
|
{{#block-slot 'set' as |filtered|}}
|
|
{{#tabular-collection
|
|
route='dc.intentions.edit'
|
|
key='SourceName'
|
|
items=filtered as |item index|
|
|
}}
|
|
{{#block-slot 'header'}}
|
|
<th>Source</th>
|
|
<th> </th>
|
|
<th>Destination</th>
|
|
<th>Precedence</th>
|
|
{{/block-slot}}
|
|
{{#block-slot 'row'}}
|
|
<td class="source" data-test-intention="{{item.ID}}">
|
|
<a href={{href-to 'dc.intentions.edit' item.ID}} data-test-intention-source="{{item.SourceName}}">
|
|
{{#if (eq item.SourceName '*') }}
|
|
All Services (*)
|
|
{{else}}
|
|
{{item.SourceName}}
|
|
{{/if}}
|
|
</a>
|
|
</td>
|
|
<td class="intent-{{item.Action}}" data-test-intention-action="{{item.Action}}">
|
|
<strong>{{item.Action}}</strong>
|
|
</td>
|
|
<td class="destination" data-test-intention-destination="{{item.DestinationName}}">
|
|
{{#if (eq item.DestinationName '*') }}
|
|
All Services (*)
|
|
{{else}}
|
|
{{item.DestinationName}}
|
|
{{/if}}
|
|
</td>
|
|
<td class="precedence">
|
|
{{item.Precedence}}
|
|
</td>
|
|
{{/block-slot}}
|
|
{{#block-slot 'actions' as |index change checked|}}
|
|
{{#confirmation-dialog confirming=false index=index message='Are you sure you want to delete this intention?'}}
|
|
{{#block-slot 'action' as |confirm|}}
|
|
{{#action-group index=index onchange=(action change) checked=(if (eq checked index) 'checked')}}
|
|
<ul>
|
|
<li>
|
|
<a href={{href-to 'dc.intentions.edit' item.ID}}>Edit</a>
|
|
</li>
|
|
<li>
|
|
<button type="button" class="type-delete" data-test-delete {{action confirm 'delete' item}}>Delete</button>
|
|
</li>
|
|
</ul>
|
|
{{/action-group}}
|
|
{{/block-slot}}
|
|
{{#block-slot 'dialog' as |execute cancel message|}}
|
|
{{delete-confirmation message=message execute=execute cancel=cancel}}
|
|
{{/block-slot}}
|
|
{{/confirmation-dialog}}
|
|
{{/block-slot}}
|
|
{{/tabular-collection}}
|
|
{{/block-slot}}
|
|
{{#block-slot 'empty'}}
|
|
<p>
|
|
There are no intentions.
|
|
</p>
|
|
{{/block-slot}}
|
|
{{/changeable-set}}
|
|
{{/block-slot}}
|
|
{{/app-view}} |