e0326c3b0a
This gives more prominence to 'Service Instances' as opposed to 'Services'. It also begins to surface Connect related 'nouns' such as 'Proxies' and 'Upstreams' and begins to interconnect them giving more visibility to operators. Various smaller changes: 1. Move healthcheck-status component to healthcheck-output 2. Create a new healthcheck-status component for showing the number of checks plus its icon 3. Create a new healthcheck-info component to group multiple statuses plus a different view if there are no checks 4. Componentize tag-list
56 lines
2.2 KiB
Handlebars
56 lines
2.2 KiB
Handlebars
{{#if (gt items.length 0) }}
|
|
<input type="checkbox" id="toolbar-toggle" />
|
|
<form class="filter-bar">
|
|
{{freetext-filter searchable=searchable value=s placeholder="Search"}}
|
|
</form>
|
|
{{/if}}
|
|
{{#changeable-set dispatcher=searchable}}
|
|
{{#block-slot 'set' as |filtered|}}
|
|
{{#tabular-collection
|
|
data-test-instances
|
|
items=filtered as |item index|
|
|
}}
|
|
{{#block-slot 'header'}}
|
|
<th>ID</th>
|
|
<th>Node</th>
|
|
<th>Address</th>
|
|
<th>Node Checks</th>
|
|
<th>Service Checks</th>
|
|
{{/block-slot}}
|
|
{{#block-slot 'row'}}
|
|
<td data-test-id="{{item.Service.ID}}">
|
|
<a href={{href-to 'dc.services.instance' item.Service.Service (or item.Service.ID item.Service.Service )}}>
|
|
<span data-test-external-source="{{service/external-source item.Service}}" style={{{ concat 'background-image: ' (css-var (concat '--' (service/external-source item.Service) '-color-svg') 'none')}}}></span>
|
|
{{ or item.Service.ID item.Service.Service }}
|
|
</a>
|
|
</td>
|
|
<td data-test-node>
|
|
<a href={{href-to 'dc.nodes.show' item.Node.Node}}>{{item.Node.Node}}</a>
|
|
</td>
|
|
<td data-test-address>
|
|
{{item.Service.Address}}:{{item.Service.Port}}
|
|
</td>
|
|
<td>
|
|
{{#with (reject-by 'ServiceID' '' item.Checks) as |checks|}}
|
|
{{healthcheck-info
|
|
passing=(filter-by 'Status' 'passing' checks) warning=(filter-by 'Status' 'warning' checks) critical=(filter-by 'Status' 'critical' checks)
|
|
}}
|
|
{{/with}}
|
|
</td>
|
|
<td>
|
|
{{#with (filter-by 'ServiceID' '' item.Checks) as |checks|}}
|
|
{{healthcheck-info
|
|
passing=(filter-by 'Status' 'passing' checks) warning=(filter-by 'Status' 'warning' checks) critical=(filter-by 'Status' 'critical' checks)
|
|
}}
|
|
{{/with}}
|
|
</td>
|
|
{{/block-slot}}
|
|
{{/tabular-collection}}
|
|
{{/block-slot}}
|
|
{{#block-slot 'empty'}}
|
|
<p>
|
|
There are no services.
|
|
</p>
|
|
{{/block-slot}}
|
|
{{/changeable-set}}
|