mirror of https://github.com/status-im/consul.git
95 lines
2.4 KiB
Handlebars
95 lines
2.4 KiB
Handlebars
{{!
|
|
Copyright (c) HashiCorp, Inc.
|
|
SPDX-License-Identifier: BUSL-1.1
|
|
}}
|
|
|
|
<Route
|
|
@name={{routeName}}
|
|
as |route|>
|
|
<div class="tab-section">
|
|
{{#let
|
|
|
|
(hash
|
|
value=(or sortBy "Status:asc")
|
|
change=(action (mut sortBy) value="target.selected")
|
|
)
|
|
|
|
(hash
|
|
status=(hash
|
|
value=(if status (split status ',') undefined)
|
|
change=(action (mut status) value="target.selectedItems")
|
|
)
|
|
source=(hash
|
|
value=(if source (split source ',') undefined)
|
|
change=(action (mut source) value="target.selectedItems")
|
|
)
|
|
searchproperty=(hash
|
|
value=(if (not-eq searchproperty undefined)
|
|
(split searchproperty ',')
|
|
searchProperties
|
|
)
|
|
change=(action (mut searchproperty) value="target.selectedItems")
|
|
default=searchProperties
|
|
)
|
|
)
|
|
|
|
route.model.items
|
|
route.model.proxies.firstObject
|
|
|
|
as |sort filters items proxyMeta|}}
|
|
{{#if (gt items.length 0) }}
|
|
<input type="checkbox" id="toolbar-toggle" />
|
|
<Consul::ServiceInstance::SearchBar
|
|
@sources={{get (collection items) 'ExternalSources'}}
|
|
@search={{search}}
|
|
@onsearch={{action (mut search) value="target.value"}}
|
|
|
|
@sort={{sort}}
|
|
|
|
@filter={{filters}}
|
|
/>
|
|
{{/if}}
|
|
{{#if proxyMeta.ServiceName}}
|
|
<DataSource
|
|
@src={{uri '/${partition}/${nspace}/${dc}/service-instances/for-service/${name}/${peer}'
|
|
(hash
|
|
partition=route.params.partition
|
|
nspace=route.params.nspace
|
|
dc=route.params.dc
|
|
name=proxyMeta.ServiceName
|
|
peer=route.params.peer
|
|
)
|
|
}}
|
|
@onchange={{action (mut proxies) value="data"}}
|
|
/>
|
|
{{/if}}
|
|
{{! Service > Service Instance view doesn't require filtering of proxies }}
|
|
<DataCollection
|
|
@type="service-instance"
|
|
@sort={{sort.value}}
|
|
@filters={{filters}}
|
|
@search={{search}}
|
|
@items={{items}}
|
|
as |collection|>
|
|
<collection.Collection>
|
|
<Consul::ServiceInstance::List
|
|
@routeName="dc.services.instance"
|
|
@items={{collection.items}}
|
|
@proxies={{proxies}}
|
|
/>
|
|
</collection.Collection>
|
|
<collection.Empty>
|
|
<EmptyState>
|
|
<BlockSlot @name="body">
|
|
{{t "routes.dc.services.show.instances.empty"
|
|
items=items.length
|
|
htmlSafe=true
|
|
}}
|
|
</BlockSlot>
|
|
</EmptyState>
|
|
</collection.Empty>
|
|
</DataCollection>
|
|
{{/let}}
|
|
</div>
|
|
</Route>
|