mirror of
https://github.com/optim-enterprises-bv/vault.git
synced 2025-10-29 17:52:32 +00:00
* UI: Part 1 - hds adoption replace <Modal> (#23363) * replace policy-form modal * replace clients/attribution modal * clients/config modal * scope form odal * remove button type * include toolbar to match other example templates * rotate credentials modal * add toolbar button class for hds buttons * transformation-edit modal * add back test selector * add route arg to button! * update link status * fix link-status tests * remove prevent default * update db tests * update tests * use page alert for hcp link status banner * fix scopy button selector * fix sidebar test * change to neutral banner * UI: Part 2 - hds adoption replace <Modal> (#23398) * upgrade HDS library (adds support for snippet containers * cleanup flight icons * replace transit key action modals * re-add deps as devDeps * remove line * address transit tests * UI: Part 3 - hds adoption replace <Modal> (#23415) * cleanup css * cleanup extra type attr * masked input download modal * use Hds::Button in download button" * fix size of modal * tiny icon fix * refactor download button to always render download icon * update tests * UI: Part 3.5 - hds adoption replace <Modal> (#23448) * replication-promote modal * replication component modals * replication add secondary modal * move update text for diff * UI: Part 4 - hds adoption replace <Modal> (#23451) * k8 configure modal * kv delete modal * ldap modals * pki modals * add trash icon * move deps * UI: Part 5 - hds adoption replace <Modal> (#23471) * replace confirmation modals --------- * UI: Part 6 - hds adoption replace <Modal> (#23484) * search select with modal * policy search select modal * replace date dropdown for client dashboard * change padding to top * update policy example args * lolllll test typo wow * update dropdown tests * shamir flow modals! * add one more container * update test selectors * UI: Final hds adoption replace <Modal> cleanup PR (#23522) * search select with modal * policy search select modal * replace date dropdown for client dashboard * change padding to top * update policy example args * lolllll test typo wow * update dropdown tests * shamir flow modals! * add one more container * update test selectors * remove wormhole and modal component * fix selectors * uninstall wormhole * remove shamir-modal-flow class * fix confirm modal test * fix pki and kv test * fix toolbar selector kv * client and download button test * fix-confirmation-modal-padding * fix replication modal tests so relevant modal opens (#23540) * more confirmation modal tests * adds changelog
104 lines
3.7 KiB
Handlebars
104 lines
3.7 KiB
Handlebars
<KvPageHeader @breadcrumbs={{@breadcrumbs}} @pageTitle={{@path}}>
|
|
<:tabLinks>
|
|
<LinkTo @route="secret.details" data-test-secrets-tab="Secret">Secret</LinkTo>
|
|
<LinkTo @route="secret.metadata.index" data-test-secrets-tab="Metadata">Metadata</LinkTo>
|
|
<LinkTo @route="secret.paths" data-test-secrets-tab="Paths">Paths</LinkTo>
|
|
{{#if @secret.canReadMetadata}}
|
|
<LinkTo @route="secret.metadata.versions" data-test-secrets-tab="Version History">Version History</LinkTo>
|
|
{{/if}}
|
|
</:tabLinks>
|
|
|
|
<:toolbarFilters>
|
|
{{#unless this.emptyState}}
|
|
<Toggle
|
|
@name="json"
|
|
@status="success"
|
|
@size="small"
|
|
@checked={{this.showJsonView}}
|
|
@onChange={{fn (mut this.showJsonView)}}
|
|
>
|
|
<span class="has-text-grey">JSON</span>
|
|
</Toggle>
|
|
{{/unless}}
|
|
</:toolbarFilters>
|
|
<:toolbarActions>
|
|
{{#if this.showUndelete}}
|
|
<button data-test-kv-delete="undelete" type="button" class="toolbar-link" {{on "click" this.undelete}}>
|
|
Undelete
|
|
</button>
|
|
{{/if}}
|
|
{{#if this.showDelete}}
|
|
<KvDeleteModal
|
|
@mode="delete"
|
|
@secret={{@secret}}
|
|
@metadata={{@metadata}}
|
|
@onDelete={{this.handleDestruction}}
|
|
@version={{this.version}}
|
|
/>
|
|
{{/if}}
|
|
{{#if this.showDestroy}}
|
|
<KvDeleteModal @mode="destroy" @secret={{@secret}} @onDelete={{this.handleDestruction}} @version={{this.version}} />
|
|
{{/if}}
|
|
{{#if (or @secret.canReadData @secret.canReadMetadata @secret.canEditData)}}
|
|
<div class="toolbar-separator"></div>
|
|
{{/if}}
|
|
{{#if (and @secret.canReadData (eq @secret.state "created"))}}
|
|
<CopySecretDropdown
|
|
@clipboardText={{stringify @secret.secretData}}
|
|
@onWrap={{perform this.wrapSecret}}
|
|
@isWrapping={{this.wrapSecret.isRunning}}
|
|
@wrappedData={{this.wrappedData}}
|
|
@onClose={{this.clearWrappedData}}
|
|
/>
|
|
{{/if}}
|
|
{{#if @secret.canReadMetadata}}
|
|
<KvVersionDropdown @displayVersion={{this.version}} @metadata={{@metadata}} @onClose={{this.closeVersionMenu}} />
|
|
{{/if}}
|
|
{{#if @secret.canEditData}}
|
|
<ToolbarLink data-test-create-new-version @route="secret.details.edit" @type="add">Create new version</ToolbarLink>
|
|
{{/if}}
|
|
</:toolbarActions>
|
|
</KvPageHeader>
|
|
|
|
{{#if (or @secret.isSecretDeleted (not this.emptyState))}}
|
|
<div class="info-table-row-header">
|
|
<div class="info-table-row thead {{if this.showJsonView 'is-shadowless'}} ">
|
|
{{#unless this.hideHeaders}}
|
|
<div class="th column is-one-quarter">
|
|
Key
|
|
</div>
|
|
<div class="th column">
|
|
Value
|
|
</div>
|
|
{{/unless}}
|
|
<div class="th column justify-right">
|
|
{{#if (or @secret.isSecretDeleted @secret.createdTime)}}
|
|
<KvTooltipTimestamp
|
|
@text="Version {{if @secret.version @secret.version}} {{@secret.state}}"
|
|
@timestamp={{(if @secret.isSecretDeleted @secret.deletionTime @secret.createdTime)}}
|
|
/>
|
|
{{/if}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{{/if}}
|
|
|
|
{{#if this.emptyState}}
|
|
<EmptyState @title={{this.emptyState.title}} @message={{this.emptyState.message}}>
|
|
{{#if this.emptyState.link}}
|
|
<DocLink @path={{this.emptyState.link}}>Learn more</DocLink>
|
|
{{/if}}
|
|
</EmptyState>
|
|
{{else}}
|
|
{{#if this.showJsonView}}
|
|
<JsonEditor @title="Version data" @value={{stringify @secret.secretData}} @readOnly={{true}} />
|
|
{{else}}
|
|
{{#each-in @secret.secretData as |key value|}}
|
|
<InfoTableRow @label={{key}} @value={{value}} @alwaysRender={{true}}>
|
|
<MaskedInput @name={{key}} @value={{value}} @displayOnly={{true}} @allowCopy={{true}} @allowDownload={{true}} />
|
|
</InfoTableRow>
|
|
{{else}}
|
|
<InfoTableRow @label="" @value="" @alwaysRender={{true}} />
|
|
{{/each-in}}
|
|
{{/if}}
|
|
{{/if}} |