Skip to content

Commit

Permalink
Hook up remaining selectors
Browse files Browse the repository at this point in the history
  • Loading branch information
wenincode committed Nov 6, 2023
1 parent c24758f commit 9974b22
Show file tree
Hide file tree
Showing 6 changed files with 122 additions and 113 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,93 +3,58 @@
SPDX-License-Identifier: BUSL-1.1
}}

{{#if (can "use nspaces")}}
{{#if (can "choose nspaces")}}
{{#let
(or @nspace 'default')
(is-href 'dc.nspaces' @dc.Name)
as |nspace isManaging|}}
<li
class="nspaces"
data-test-nspace-menu
>
<DisclosureMenu
aria-label="Namespace"
@items={{append
(hash
Name="Manage Namespaces"
href=(href-to 'dc.nspaces' @dc.Name)
)
(reject-by 'DeletedAt' @nspaces)
}}
as |disclosure|>
<disclosure.Action
{{on 'click' disclosure.toggle}}
>
{{if isManaging 'Manage Namespaces' nspace}}
</disclosure.Action>
<disclosure.Menu as |panel|>
{{#if (gt @nspaces.length 0)}}
<DataSource
@src={{uri
'/${partition}/*/${dc}/namespaces'
(hash
partition=@partition
dc=@dc.Name
)
}}
@onchange={{fn (optional @onchange)}}
/>
{{else}}
<DataSource
@src={{uri
'/${partition}/*/${dc}/namespaces'
(hash
partition=@partition
dc=@dc.Name
)
}}
@onchange={{fn (optional @onchange)}}
/>
{{/if}}
<panel.Menu as |menu|>
{{#each menu.items as |item|}}

<menu.Item
data-test-main-nav-nspaces={{not-eq item.href undefined}}
aria-current={{if
(or
(and isManaging item.href)
(and (not isManaging) (eq nspace item.Name))
)
'true'
}}
>
<menu.Action
{{on 'click' disclosure.close}}
@href={{if item.href
item.href
(if isManaging
(href-to 'dc.services.index' params=(hash
partition=(if (gt @partition.length 0) @partition undefined)
nspace=item.Name
dc=@dc.Name
))
(href-to '.' params=(hash
partition=(if (gt @partition.length 0) @partition undefined)
nspace=item.Name
))
)
}}
>
{{item.Name}}
</menu.Action>
</menu.Item>
{{/each}}
</panel.Menu>
</disclosure.Menu>
</DisclosureMenu>
</li>
{{/let}}
{{/if}}
{{/if}}
{{#if (and (can "use nspaces") (can "choose nspaces"))}}
<DataSource
@src={{uri
"/${partition}/*/${dc}/namespaces"
(hash partition=@partition dc=@dc.Name)
}}
@onchange={{fn (optional @onchange)}}
/>
{{#let
@list
(if @nspace (hash Name=@nspace) (hash Name="default"))
(is-href "dc.nspaces" @dc.Name)
as |SNL nspace isManaging|
}}
<SNL.Title class="consul-side-nav__selector-title">Namespace</SNL.Title>
<NavSelector
@list={{@list}}
@items={{sort-by "Name:asc" (reject-by "DeletedAt" @nspaces)}}
@item={{nspace}}
@key="Name"
@icon="folder"
@placeholder="Search namespaces"
@footerLink={{href-to "dc.nspaces" @dc.Name}}
@footerLinkText="View all namespaces"
data-test-nspace-menu
as |Dropdown item|
>
<Dropdown.Checkmark
@selected={{eq nspace.Name item.Name}}
@href={{if
isManaging
(href-to
"dc.services.index"
params=(hash
partition=(if (gt @partition.length 0) @partition undefined)
nspace=item.Name
dc=@dc.Name
)
)
(href-to
"."
params=(hash
partition=(if (gt @partition.length 0) @partition undefined)
nspace=item.Name
)
)
}}
@isHrefExternal={{false}}
data-test-nspace-item
>
{{item.Name}}
</Dropdown.Checkmark>
</NavSelector>
{{/let}}
{{/if}}
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,52 @@
}}

{{#let
@list (or @partition (hash Name="default")) (is-href "dc.partitions" @dc.Name)
@list
(if @partition (hash Name=@partition) (hash Name="default"))
(is-href "dc.partitions" @dc.Name)
as |SNL partition isManaging|
}}
{{#if
(and (gt @partitions.length 1) (can "choose partitions" dc=@dc))
}}{{else}}
{{#if (can "choose partitions" dc=@dc)}}
<DataSource
@src={{uri "/*/*/${dc}/partitions" (hash dc=@dc.Name)}}
@onchange={{fn (optional @onchange)}}
/>
<SNL.Title class="consul-side-nav__selector-title">Admin partition</SNL.Title>
<NavSelector
@list={{@list}}
@items={{sort-by "Name:asc" (reject-by "DeletedAt" @partitions)}}
@item={{partition}}
@key="Name"
@icon="users"
@placeholder="Search partitions"
@footerLink={{href-to "dc.partitions" @dc.Name}}
@footerLinkText="View all partitions"
data-test-datacenter-disclosure-menu
as |Dropdown item|
>
<Dropdown.Checkmark
@selected={{eq partition.Name item.Name}}
@href={{if
item.href
item.href
(if
isManaging
(href-to
"dc.services.index"
params=(hash partition=item.Name nspace=undefined dc=@dc.Name)
)
(href-to "." params=(hash partition=item.Name nspace=undefined))
)
}}
@isHrefExternal={{false}}
data-test-partiton-item
>
{{item.Name}}
</Dropdown.Checkmark>
</NavSelector>

{{else}}
<SNL.Title class="consul-side-nav__selector-title">Admin partition</SNL.Title>
<SNL.Item class="consul-side-nav__datacenter">
<FlightIcon
@name="users"
Expand All @@ -18,7 +58,7 @@
<Hds::Text::Display
@size="200"
@color="disabled"
>{{@partition.Name}}</Hds::Text::Display>
>{{partition.Name}}</Hds::Text::Display>
</SNL.Item>
{{/if}}
{{/let}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,14 @@

{{#let @list as |SNL|}}
{{#if (gt @dcs.length 1)}}
<SNL.Title>Datacenter</SNL.Title>
<SNL.Title class='consul-side-nav__selector-title'>Datacenter</SNL.Title>
<NavSelector
@list={{SNL}}
@items={{sort-by 'Primary:desc' 'Local:desc' 'Name:asc' @dcs}}
@item={{@dc}}
@key='Name'
@icon='server-cluster'
@placeholder='Search datacenters'
@footerLink={{href-to
'.'
params=(hash
dc=item.Name partition=undefined nspace=(if (gt @nspace.length 0) @nspace undefined)
)
}}
@footerLinkText='View datacenters'
class='consul-datacenter-selector'
data-test-datacenter-disclosure-menu
as |Dropdown item|
Expand Down
17 changes: 17 additions & 0 deletions ui/packages/consul-ui/app/components/hashicorp-consul/index.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,23 @@
@nspace={{@nspace}}
@dcs={{@dcs}}
/>

<Consul::Partition::Selector
@dc={{@dc}}
@partition={{@partition}}
@nspace={{@nspace}}
@partitions={{this.partitions}}
@list={{SNL}}
@onchange={{action (mut this.partitions) value='data'}}
/>
<Consul::Nspace::Selector
@list={{SNL}}
@dc={{@dc}}
@partition={{@partition}}
@nspace={{@nspace}}
@nspaces={{this.nspaces}}
@onchange={{action (mut this.nspaces) value='data'}}
/>
</Hds::SideNav::List>
<Hds::SideNav::List class='hds-side-nav-hide-when-minimized' as |SNL|>
{{#if (can 'access overview')}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,10 @@
gap: 0.25rem;
}
}

.consul-side-nav__selector-title {
margin-top: 0.5rem;
}
}
}

Expand Down
10 changes: 0 additions & 10 deletions ui/packages/consul-ui/app/components/nav-selector/index.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -30,16 +30,6 @@
</DD.Header>
{{#each this.filteredItems as |item|}}
{{yield DD item}}
{{!-- <DD.Checkmark
@selected={{eq (get @selected @key) (get item @key)}}
@href={{href-to
'.'
params=(hash
dc=item.Name partition=undefined nspace=(if (gt @nspace.length 0) @nspace undefined)
)
}}
@isHrefExternal={{false}}
>{{item.Name}}</DD.Checkmark> --}}
{{/each}}
{{#if @footerLink}}
<DD.Footer @hasDivider={{true}}>
Expand Down

0 comments on commit 9974b22

Please sign in to comment.