mirror of https://github.com/status-im/consul.git
78 lines
2.3 KiB
Handlebars
78 lines
2.3 KiB
Handlebars
|
<form class="filter-bar">
|
||
|
<FreetextFilter
|
||
|
@onsearch={{action onsearch}}
|
||
|
@value={{search}}
|
||
|
@placeholder="Search"
|
||
|
/>
|
||
|
<div class="filters">
|
||
|
<PopoverSelect
|
||
|
class="select-dcs"
|
||
|
@position="left"
|
||
|
@onchange={{action onfilter.dc}}
|
||
|
@multiple={{true}}
|
||
|
as |components|>
|
||
|
<BlockSlot @name="selected">
|
||
|
<span>
|
||
|
Datacenters
|
||
|
</span>
|
||
|
</BlockSlot>
|
||
|
<BlockSlot @name="options">
|
||
|
{{#let components.Optgroup components.Option as |Optgroup Option|}}
|
||
|
{{#each dcs as |dc|}}
|
||
|
<Option @value={{dc.Name}} @selected={{contains dc.Name filter.dcs}}>{{dc.Name}}</Option>
|
||
|
{{/each}}
|
||
|
{{/let}}
|
||
|
<DataSource @src="/*/*/datacenters" @loading="lazy" @onchange={{action (mut dcs) value="data"}} />
|
||
|
</BlockSlot>
|
||
|
</PopoverSelect>
|
||
|
<PopoverSelect
|
||
|
class="select-type"
|
||
|
@position="left"
|
||
|
@onchange={{action onfilter.type}}
|
||
|
@multiple={{true}}
|
||
|
as |components|>
|
||
|
<BlockSlot @name="selected">
|
||
|
<span>
|
||
|
Type
|
||
|
</span>
|
||
|
</BlockSlot>
|
||
|
<BlockSlot @name="options">
|
||
|
{{#let components.Optgroup components.Option as |Optgroup Option|}}
|
||
|
<Option @value="global-management" @selected={{contains 'global-management' filter.types}}>Global Management</Option>
|
||
|
<Option @value="standard" @selected={{contains 'standard' filter.types}}>Standard</Option>
|
||
|
{{/let}}
|
||
|
</BlockSlot>
|
||
|
</PopoverSelect>
|
||
|
</div>
|
||
|
<div class="sort">
|
||
|
<PopoverSelect
|
||
|
class="type-sort"
|
||
|
data-test-sort-control
|
||
|
@position="right"
|
||
|
@onchange={{action onsort}}
|
||
|
@multiple={{false}}
|
||
|
as |components|>
|
||
|
<BlockSlot @name="selected">
|
||
|
<span>
|
||
|
{{#let (from-entries (array
|
||
|
(array "Name:asc" "A to Z")
|
||
|
(array "Name:desc" "Z to A")
|
||
|
))
|
||
|
as |selectable|
|
||
|
}}
|
||
|
{{get selectable sort}}
|
||
|
{{/let}}
|
||
|
</span>
|
||
|
</BlockSlot>
|
||
|
<BlockSlot @name="options">
|
||
|
{{#let components.Optgroup components.Option as |Optgroup Option|}}
|
||
|
<Optgroup @label="Name">
|
||
|
<Option @value="Name:asc" @selected={{eq "Name:asc" sort}}>A to Z</Option>
|
||
|
<Option @value="Name:desc" @selected={{eq "Name:desc" sort}}>Z to A</Option>
|
||
|
</Optgroup>
|
||
|
{{/let}}
|
||
|
</BlockSlot>
|
||
|
</PopoverSelect>
|
||
|
</div>
|
||
|
</form>
|