vault/ui/app/components/generate-credentials-database.hbs
Vault Automation 0845606fe3
UI: Adopt HDS tooltip (#9967) (#10326)
* replace instances of ToolTip component with HDS tooltip

* Replace InfoTooltip component instances with HDS tooltip

* update tests

* remove remaining custom tooltip code

* remove rich tooltip with copy

* update test and update toolbar link with styling to remove extra link

* Apply suggestions from code review



* update test and remove setRunOptions now that tooltip violations are addressed

* Revert "Apply suggestions from code review"

This reverts commit 90f01c653be68f23b6dbd75f252d227e38dbe53f.

* Remove unused disabled tooltip code

* add comment and TODO explaining conditional modifier pattern

---------

Co-authored-by: lane-wetmore <lane.wetmore@hashicorp.com>
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
2025-10-22 18:24:50 +00:00

79 lines
2.9 KiB
Handlebars

{{!
Copyright IBM Corp. 2016, 2025
SPDX-License-Identifier: BUSL-1.1
}}
<PageHeader as |p|>
<p.top>
<Hds::Breadcrumb>
<Hds::Breadcrumb::Item
@text={{@backendPath}}
@route="vault.cluster.secrets.backend.overview"
@model={{@backendPath}}
/>
<Hds::Breadcrumb::Item @text={{@roleName}} @current={{true}} />
</Hds::Breadcrumb>
</p.top>
<p.levelLeft>
<h1 data-test-title class="title is-3">
{{@roleName}}
</h1>
</p.levelLeft>
</PageHeader>
<div class={{if @roleType "box is-fullwidth is-sideless is-marginless"}}>
{{! If no role type, that means both static and dynamic requests returned an error }}
{{#unless @roleType}}
<EmptyState
@title={{this.errorTitle}}
@subTitle="Error {{@model.errorHttpStatus}}"
@icon="alert-circle"
@bottomBorder={{true}}
@message={{@model.errorMessage}}
>
<Hds::Link::Standalone
@iconPosition="trailing"
@icon="docs-link"
@text="Database documentation"
@href={{doc-link "/vault/api-docs/secret/databases"}}
/>
</EmptyState>
{{/unless}}
{{#if (and (not @model.errorMessage) (eq @roleType "dynamic"))}}
<Hds::Alert @type="inline" @color="warning" class="has-top-bottom-margin" data-test-credentials-warning as |A|>
<A.Title>Warning</A.Title>
<A.Description>
You will not be able to access these credentials later, so please copy them now.
</A.Description>
</Hds::Alert>
{{/if}}
{{! DYNAMIC ROLE }}
{{#if (and (eq @roleType "dynamic") @model.username)}}
<InfoTableRow @label="Username" @value={{@model.username}}>
<MaskedInput @value={{@model.username}} @name="Username" @displayOnly={{true}} @allowCopy={{true}} />
</InfoTableRow>
<InfoTableRow @label="Password" @value={{@model.password}}>
<MaskedInput @value={{@model.password}} @name="Password" @displayOnly={{true}} @allowCopy={{true}} />
</InfoTableRow>
<InfoTableRow @label="Lease ID" @value={{@model.leaseId}} />
<InfoTableRow @label="Lease Duration" @value={{format-duration @model.leaseDuration}} />
{{/if}}
{{! STATIC ROLE }}
{{#if (and (eq @roleType "static") @model.username)}}
<InfoTableRow
@label="Last Vault rotation"
@value={{date-format @model.lastVaultRotation "MMMM d yyyy, h:mm:ss a"}}
@tooltipText={{@model.lastVaultRotation}}
@addCopyButton={{true}}
/>
<InfoTableRow @label="Password" @value={{@model.password}}>
<MaskedInput @value={{@model.password}} @name="Password" @displayOnly={{true}} @allowCopy={{true}} />
</InfoTableRow>
<InfoTableRow @label="Username" @value={{@model.username}} />
<InfoTableRow @label="Rotation Period" @value={{format-duration @model.rotationPeriod}} />
<InfoTableRow @label="Time Remaining" @value={{format-duration @model.ttl}} />
{{/if}}
</div>
<div class="has-top-bottom-margin">
<Hds::Button @text="Back" {{on "click" (action "redirectPreviousPage")}} />
</div>