open-vault/ui/app/templates/components/cluster-info.hbs
Angel Garbarino eba46e0d4d
Some folder restructuring to help with route loading states (#14022)
* initial reshuffle to use outlet and remove dashboard and index replace with higher level parent clients

* loading

* clean up

* test clean up

* clean up
2022-02-11 15:15:12 -07:00

167 lines
7.2 KiB
Handlebars

<div class="popup-menu-content">
<div class="box">
{{#unless this.version.isOSS}}
{{#if (and this.activeCluster.unsealed this.auth.currentToken)}}
{{#if @cluster.dr.isSecondary}}
{{#if (has-permission "status" routeParams="replication")}}
<nav class="menu">
<p class="menu-label">Replication</p>
<ul>
{{#if @cluster.anyReplicationEnabled}}
<li>
{{! template-lint-disable no-unknown-arguments-for-builtin-components }}
<LinkTo
@route="vault.cluster.replication-dr-promote.details"
disabled={{not this.auth.currentToken}}
@invokeAction={{@onLinkClick}}
>
<ReplicationModeSummary @mode="dr" @display="menu" @cluster={{@cluster}} />
</LinkTo>
{{! template-lint-enable }}
</li>
{{/if}}
</ul>
</nav>
<hr />
{{/if}}
{{else}}
{{#if (has-permission "status" routeParams="replication")}}
<nav class="menu">
<p class="menu-label">Replication</p>
<ul>
{{#if @cluster.anyReplicationEnabled}}
<li>
{{! invokeAction is provided by ember-link-action addon -- should consider removing in favor of on modifier }}
{{! template-lint-disable no-unknown-arguments-for-builtin-components }}
<LinkTo
@route="vault.cluster.replication.mode.index"
@model="dr"
disabled={{not this.auth.currentToken}}
@invokeAction={{@onLinkClick}}
>
<ReplicationModeSummary @mode="dr" @display="menu" @cluster={{@cluster}} />
</LinkTo>
{{! template-lint-enable }}
</li>
<li>
{{#if (has-feature "Performance Replication")}}
{{! template-lint-disable no-unknown-arguments-for-builtin-components }}
<LinkTo
@route="vault.cluster.replication.mode.index"
@model="performance"
disabled={{not this.auth.currentToken}}
@invokeAction={{@onLinkClick}}
>
<ReplicationModeSummary @mode="performance" @display="menu" @cluster={{@cluster}} @tagName="span" />
</LinkTo>
{{! template-lint-enable }}
{{else}}
<ReplicationModeSummary @mode="performance" @display="menu" @cluster={{@cluster}} @class="menu-item" />
{{/if}}
</li>
{{else}}
<li>
{{! template-lint-disable no-unknown-arguments-for-builtin-components }}
<LinkTo @route="vault.cluster.replication" @invokeAction={{@onLinkClick}}>
<div class="level is-mobile">
<span class="level-left">Enable</span>
<Icon @name="plus-circle" class="has-text-grey-light level-right" />
</div>
</LinkTo>
{{! template-lint-enable }}
</li>
{{/if}}
</ul>
</nav>
<hr />
{{/if}}
{{/if}}
{{/if}}
{{/unless}}
<nav class="menu">
<div class="menu-label">
Server
</div>
<ul class="menu-list">
<li class="action">
{{#if this.activeCluster.unsealed}}
{{#if (and (has-permission "status" routeParams="seal") (not @cluster.dr.isSecondary))}}
{{! template-lint-disable no-unknown-arguments-for-builtin-components }}
<LinkTo @route="vault.cluster.settings.seal" @model={{@cluster.name}} @invokeAction={{@onLinkClick}}>
<div class="level is-mobile">
<span class="level-left">Unsealed</span>
<Icon @name="check-circle" class="has-text-success level-right" />
</div>
</LinkTo>
{{! template-lint-enable }}
{{else}}
<span class="menu-item">
<div class="level is-mobile">
<span class="level-left">Unsealed</span>
<Icon @name="check-circle" class="has-text-success level-right" />
</div>
</span>
{{/if}}
{{else}}
<span class="menu-item">
<div class="level is-mobile">
<span class="level-left has-text-danger">Sealed</span>
<Icon @name="x-circle" class="has-text-danger level-right" />
</div>
</span>
{{/if}}
</li>
</ul>
{{#if
(and
(or
(and this.version.features (has-permission "status" routeParams="license"))
(and @cluster.usingRaft (has-permission "status" routeParams="raft"))
)
(not @cluster.dr.isSecondary)
)
}}
<ul class="menu-list">
{{#if (and this.version.features (has-permission "status" routeParams="license") (not @cluster.dr.isSecondary))}}
<li class="action">
{{! template-lint-disable no-unknown-arguments-for-builtin-components }}
<LinkTo @route="vault.cluster.license" @model={{this.activeCluster.name}} @invokeAction={{@onLinkClick}}>
<div class="level is-mobile">
<span class="level-left">License</span>
<Chevron class="has-text-grey-light level-right" />
</div>
</LinkTo>
{{! template-lint-enable }}
</li>
{{/if}}
{{#if (and @cluster.usingRaft (has-permission "status" routeParams="raft"))}}
<li class="action">
{{! template-lint-disable no-unknown-arguments-for-builtin-components }}
<LinkTo @route="vault.cluster.storage" @model={{this.activeCluster.name}} @invokeAction={{@onLinkClick}}>
<div class="level is-mobile">
<span class="level-left">Raft Storage</span>
<Chevron class="has-text-grey-light level-right" />
</div>
</LinkTo>
{{! template-lint-enable }}
</li>
{{/if}}
</ul>
{{/if}}
{{#if (and (has-permission "clients" routeParams="activity") (not @cluster.dr.isSecondary) this.auth.currentToken)}}
<ul class="menu-list">
<li class="action">
{{! template-lint-disable no-unknown-arguments-for-builtin-components }}
<LinkTo @route="vault.cluster.clients.current" @invokeAction={{@onLinkClick}}>
<div class="level is-mobile">
<span class="level-left">Client count</span>
<Chevron class="has-text-grey-light level-right" />
</div>
</LinkTo>
{{! template-lint-enable }}
</li>
</ul>
{{/if}}
</nav>
</div>
</div>