vault/ui/app/components/tools/unwrap.hbs
claire bontempo 4617af328b
UI: Refactor tool actions form (#27406)
* rename wrap test

* refactor tool hash component

* whoops fix component syntax

* random refactor

* rewrap component

* unwrap component

* lookup refactor

* wrap refactor

* update selectors

* delete tool action form component

* co-locate templates

* Revert "co-locate templates"

This reverts commit c52bb9875284a4ee78c773c794f4fe572ae7a7f4.

* fix component jsdoc syntax

* rename tracked property

* rename rewrap token input selector

* remove parseint now that input is typed as a number

* nvm convert to number

* co-locate templates

* move to tools/ folder

* add flash message to test
2024-06-11 01:47:36 +00:00

73 lines
2.2 KiB
Handlebars

{{!
Copyright (c) HashiCorp, Inc.
SPDX-License-Identifier: BUSL-1.1
~}}
<PageHeader as |p|>
<p.levelLeft>
<h1 class="title is-3">
Unwrap Data
</h1>
</p.levelLeft>
</PageHeader>
{{#if this.unwrapData}}
<Hds::Tabs as |T|>
<T.Tab data-test-tab="data">Data</T.Tab>
<T.Tab data-test-tab="details">Wrap Details</T.Tab>
<T.Panel>
<JsonEditor
class="has-top-padding-m"
@title="Unwrapped Data"
@value={{stringify this.unwrapData}}
@readOnly={{true}}
@container=".toolbar-actions"
/>
</T.Panel>
<T.Panel>
<div class="has-top-padding-m">
{{#each-in this.unwrapDetails as |key detail|}}
<InfoTableRow @label={{key}} @value={{detail}} />
{{/each-in}}
</div>
</T.Panel>
</Hds::Tabs>
<Hds::ButtonSet class="has-top-padding-m">
<Hds::Copy::Button
@text="Copy unwrapped data"
@textToCopy={{stringify this.unwrapData}}
@onError={{fn (set-flash-message "Clipboard copy failed. The Clipboard API requires a secure context." "danger")}}
class="primary"
/>
<Hds::Button {{on "click" this.reset}} @color="secondary" @text="Done" data-test-button="Done" />
</Hds::ButtonSet>
{{else}}
<form {{on "submit" this.handleSubmit}}>
<div class="box is-sideless is-fullwidth is-marginless">
<NamespaceReminder @mode="perform" @noun="unwrap" />
<MessageError @errorMessage={{this.errorMessage}} />
<div class="field">
<label for="token" class="is-label">Wrapped token</label>
<div class="has-text-grey is-size-8 has-bottom-margin-xs">
Enter your wrapped token here to unwrap it and return its original value.
</div>
<div class="control">
<Input
@value={{this.token}}
class="input"
id="token"
name="token"
autocomplete="off"
spellcheck="false"
data-test-tools-input="unwrap-token"
/>
</div>
</div>
</div>
<div class="field is-grouped box is-fullwidth is-bottomless">
<div class="control">
<Hds::Button @text="Unwrap data" type="submit" data-test-tools-submit />
</div>
</div>
</form>
{{/if}}