7690fda6ba
* chore: prettify gutter-menu * chore: add portal packages * styling: add styles sidebar and portal behavior * ui: sidebar component * ui: create and implement statechart for evals * ui: actor-relationship service and provider component * ui: d3 hierarchy computation * chore: add render-modifiers and curved arrows * ui: create evaluation actor div * fix related evaluations schema * ui: register/deregister evaluation divs * ui: handle resize behavior * bug: infinite re-render cycle * fix: conditional logic to prevent infinite render of flex resizing * ui: related evaluations schema and request param * ui: fix testing for evaluations * refact: make related-evals a proper has-many * chore: don't pauseTest * temp: debug d3 hierarchy * ui: move derived state logic into backing component class for detail * ui: deprecated related evaluations logic in statechart * ui: update evaluation models * ui: update logic to paint svg in non-viewable scroll region * ui: update styling * ui: testing for eval detail view * ui: delete detail from template directory * ui: break detail component down * ui: static data for /evaluation/:id endpoint * ui: fix styling of d3 viz * ui: add query parameter adapter for evals * ui: last minute design requests * wip: address browser updating detail view behavior * refact: handle query-state change in statechart * conditional class looking for currentEval equality (#12411) * F UI/evaluation detail sidebar rel evals (#12415) * ui: remove busy id alias from statechart * ui: edit related evaluations viz error message * ui: bug fixes on related evaluations view (#12423) * ui: remove busy id alias from statechart * ui: edit related evaluations viz error message * ui: update error state * ui: related evaluation outline styling * Related evaluation stylefile and non-link if it matches the active sidebar (#12428) * Adds tabbable and keyboard pressable evaluation table rows (#12433) * ui: fix failing eval list tests (#12437) * ui: move styling into classes (#12438) * fix test failures (#12444) * ui: move styling into classes * ui: eslint disable * ui: allocations have evaluations as async relationships * ui: fix evaluation refresh button (#12447) * ui: move styling into classes * ui: eslint disable * ui: allocations have evaluations as async relationships * ui: refresh bug * ui: final touches on sidebar (#12462) * chore: turn off template linting rules Temporarily turning off template linting because we dont have a set CSS convention and the release needs to go out ASAP. * doc: deprecate out of date comments and vars * ui: edit mirage server fetch logic * ui: style sidebar relative * Modification to mocked related evals and manually set 100% height on svg (#12460) * F UI/evaluation detail sidebar final touches (#12463) * chore: turn off template linting rules Temporarily turning off template linting because we dont have a set CSS convention and the release needs to go out ASAP. * doc: deprecate out of date comments and vars * ui: edit mirage server fetch logic * ui: style sidebar relative * ui: account for new related eval added to chain Co-authored-by: Michael Klein <michael@firstiwaslike.com> Co-authored-by: Phil Renaud <phil@riotindustries.com>
141 lines
3.3 KiB
Handlebars
141 lines
3.3 KiB
Handlebars
<div
|
|
data-test-gutter-menu
|
|
class="page-column is-left {{if this.isOpen "is-open"}}"
|
|
>
|
|
<div class="gutter {{if this.isOpen "is-open"}}">
|
|
<header class="collapsed-menu {{if this.isOpen "is-open"}}">
|
|
<span
|
|
data-test-gutter-gutter-toggle
|
|
class="gutter-toggle"
|
|
aria-label="menu"
|
|
onclick={{action this.onHamburgerClick}}
|
|
>
|
|
<HamburgerMenu />
|
|
</span>
|
|
<span class="logo-container">
|
|
<NomadLogo />
|
|
</span>
|
|
</header>
|
|
<aside class="menu">
|
|
{{#if this.system.shouldShowRegions}}
|
|
<div class="collapsed-only">
|
|
<p class="menu-label">
|
|
Region
|
|
{{if this.system.shouldShowNamespaces "& Namespace"}}
|
|
</p>
|
|
<ul class="menu-list">
|
|
<li>
|
|
<div class="menu-item is-wide">
|
|
<RegionSwitcher />
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
{{/if}}
|
|
<p class="menu-label">
|
|
Workload
|
|
</p>
|
|
<ul class="menu-list">
|
|
<li>
|
|
<LinkTo
|
|
@route="jobs"
|
|
@activeClass="is-active"
|
|
data-test-gutter-link="jobs"
|
|
>
|
|
Jobs
|
|
</LinkTo>
|
|
</li>
|
|
{{#if (can "accept recommendation")}}
|
|
<li>
|
|
<LinkTo
|
|
@route="optimize"
|
|
@activeClass="is-active"
|
|
data-test-gutter-link="optimize"
|
|
>
|
|
Optimize
|
|
</LinkTo>
|
|
</li>
|
|
{{/if}}
|
|
</ul>
|
|
<p class="menu-label is-minor">
|
|
Integrations
|
|
</p>
|
|
<ul class="menu-list">
|
|
<li>
|
|
<LinkTo
|
|
@route="csi"
|
|
@activeClass="is-active"
|
|
data-test-gutter-link="storage"
|
|
>
|
|
Storage
|
|
<span class="tag is-small">
|
|
Beta
|
|
</span>
|
|
</LinkTo>
|
|
</li>
|
|
</ul>
|
|
<p class="menu-label">
|
|
Cluster
|
|
</p>
|
|
<ul class="menu-list">
|
|
<li>
|
|
<LinkTo
|
|
@route="clients"
|
|
@activeClass="is-active"
|
|
data-test-gutter-link="clients"
|
|
>
|
|
Clients
|
|
</LinkTo>
|
|
</li>
|
|
<li>
|
|
<LinkTo
|
|
@route="servers"
|
|
@activeClass="is-active"
|
|
data-test-gutter-link="servers"
|
|
>
|
|
Servers
|
|
</LinkTo>
|
|
</li>
|
|
<li>
|
|
<LinkTo
|
|
@route="topology"
|
|
@activeClass="is-active"
|
|
data-test-gutter-link="topology"
|
|
>
|
|
Topology
|
|
</LinkTo>
|
|
</li>
|
|
</ul>
|
|
<p class="menu-label">
|
|
Debugging
|
|
</p>
|
|
<ul class="menu-list">
|
|
<li>
|
|
<LinkTo
|
|
@route="evaluations"
|
|
@activeClass="is-active"
|
|
data-test-gutter-link="evaluations"
|
|
>
|
|
Evaluations
|
|
</LinkTo>
|
|
</li>
|
|
</ul>
|
|
</aside>
|
|
{{#if this.system.agent.version}}
|
|
<footer class="gutter-footer">
|
|
<span class="is-faded">
|
|
v
|
|
{{this.system.agent.version}}
|
|
</span>
|
|
</footer>
|
|
{{/if}}
|
|
</div>
|
|
</div>
|
|
<div data-test-page-content class="page-column is-right">
|
|
{{yield}}
|
|
</div>
|
|
<div
|
|
data-test-gutter-backdrop
|
|
class="gutter-backdrop {{if this.isOpen "is-open"}}"
|
|
onclick={{action this.onHamburgerClick}}
|
|
></div> |