mirror of
https://github.com/hashicorp/vault.git
synced 2025-08-28 10:01:11 +02:00
* selector things and addressing flakiness in secret-test * replace and update the data test selectors for info-table-row * fix a selector * skip the replication test that borks it all, I have a follow up ticket and replication works still. * remove the uneeded data-test-div thing * missed one * fix replication selector * fix ci test failures * pull in clicktrigger * update transit test
104 lines
3.9 KiB
Handlebars
104 lines
3.9 KiB
Handlebars
{{!
|
|
Copyright (c) HashiCorp, Inc.
|
|
SPDX-License-Identifier: BUSL-1.1
|
|
}}
|
|
|
|
<Hds::Card::Container @hasBorder={{true}} class="has-padding-l" data-test-card="quick-actions">
|
|
<h2 class="title is-4">Quick actions</h2>
|
|
{{#if this.filteredSecretEngines}}
|
|
<div class="has-top-margin-m has-bottom-margin-m">
|
|
<h3 class="title is-marginless is-6" data-test-card-subtitle="secrets-engines">Secrets engines</h3>
|
|
<p class="is-size-8 has-top-margin-xxs has-bottom-margin-s has-text-grey">Supported engines include databases, KV
|
|
version 2, and PKI.</p>
|
|
<SearchSelect
|
|
@id="type-to-select-a-mount"
|
|
@options={{this.mountOptions}}
|
|
@selectLimit="1"
|
|
@disallowNewItems={{true}}
|
|
@fallbackComponent="input-search"
|
|
@onChange={{this.handleSearchEngineSelect}}
|
|
@placeholder="Type to select a mount"
|
|
@displayInherit={{true}}
|
|
@shouldRenderName={{true}}
|
|
@passObject={{true}}
|
|
@objectKeys={{array "type" "version"}}
|
|
class="is-marginless"
|
|
data-test-search-select="secrets-engines"
|
|
/>
|
|
</div>
|
|
|
|
{{#if this.selectedEngine}}
|
|
<h3 id="action-select-title" class="title is-6" data-test-card-subtitle="secrets-engines">Action</h3>
|
|
<Select
|
|
@name="action-select"
|
|
@options={{this.actionOptions}}
|
|
@isFullwidth={{true}}
|
|
@selectedValue={{this.selectedAction}}
|
|
@onChange={{this.setSelectedAction}}
|
|
@noDefault={{true}}
|
|
@ariaLabel="Action"
|
|
/>
|
|
|
|
{{#if this.searchSelectParams.model}}
|
|
{{! use special input to allow searching for KVv2 secrets inside a directory }}
|
|
{{#if (eq this.selectedEngine.type "kv")}}
|
|
<KvSuggestionInput
|
|
@label="Secret Path"
|
|
@value={{this.paramValue}}
|
|
@mountPath={{this.selectedEngine.id}}
|
|
@onChange={{fn (mut this.paramValue)}}
|
|
/>
|
|
{{else}}
|
|
<h3 class="title is-6" data-test-card-subtitle="param">{{this.searchSelectParams.title}}</h3>
|
|
|
|
<SearchSelect
|
|
class="is-flex-grow-1"
|
|
@ariaLabel={{this.searchSelectParams.title}}
|
|
@selectLimit="1"
|
|
@models={{array this.searchSelectParams.model}}
|
|
@placeholder={{this.searchSelectParams.placeholder}}
|
|
@disallowNewItems={{true}}
|
|
@onChange={{this.handleActionSelect}}
|
|
@fallbackComponent="input-search"
|
|
@disabled={{not this.searchSelectParams.model}}
|
|
@nameKey={{this.searchSelectParams.nameKey}}
|
|
@queryObject={{this.searchSelectParams.queryObject}}
|
|
@objectKeys={{this.searchSelectParams.objectKeys}}
|
|
@passObject={{true}}
|
|
@shouldRenderName={{this.searchSelectParams.nameKey}}
|
|
data-test-search-select="params"
|
|
/>
|
|
{{/if}}
|
|
<div>
|
|
<Hds::Button
|
|
@text={{this.searchSelectParams.buttonText}}
|
|
class="has-top-margin-m"
|
|
disabled={{(not (and this.selectedAction this.selectedEngine this.paramValue))}}
|
|
{{on "click" this.navigateToPage}}
|
|
data-test-button={{this.searchSelectParams.buttonText}}
|
|
/>
|
|
</div>
|
|
{{/if}}
|
|
{{else}}
|
|
<EmptyState
|
|
@title="No mount selected"
|
|
@message="Select a mount above to get started."
|
|
data-test-empty-state="no-mount-selected"
|
|
/>
|
|
{{/if}}
|
|
{{else}}
|
|
|
|
<EmptyState
|
|
@title="Welcome to quick actions"
|
|
@message="Access secret engine actions easily. Enable a compatible secret engine (such as database, KV version 2, or PKI) to get started."
|
|
data-test-empty-state="quick-actions"
|
|
>
|
|
<Hds::Link::Standalone
|
|
@icon="chevron-right"
|
|
@iconPosition="trailing"
|
|
@text="Enable a secrets engine"
|
|
@route="vault.cluster.settings.mount-secret-backend"
|
|
/>
|
|
</EmptyState>
|
|
{{/if}}
|
|
</Hds::Card::Container> |