Merge pull request #637 from hashicorp/feature-toggle-secret

feat: 🎸 Add toggle secret feature
This commit is contained in:
Susmitha Girumala authored and GitHub committed 2021-07-12 14:27:09 -04:00
commit 4a871134a5
5 files changed
+30 -3

No files matched your search

+2
View File
@@ -95,12 +95,14 @@
p { p {
margin-bottom: 0; margin-bottom: 0;
} }
.rose-table-header-cell { .rose-table-header-cell {
p { p {
color: var(--ui-gray-subtler-1); color: var(--ui-gray-subtler-1);
font-weight: normal; font-weight: normal;
} }
} }
.rose-form-checkbox { .rose-form-checkbox {
margin-bottom: 0; margin-bottom: 0;
@@ -1,9 +1,18 @@
<div class='hidden-secret'> <div class='hidden-secret'>
<Rose::Icon
@name={{if this.isHidden 'visibility-show' 'visibility-hide'}}
@size='medium'
{{on 'click' this.toggleSecretVisibility}}
/>
<Copyable <Copyable
@text={{@secret}} @text={{@secret}}
@buttonText={{t 'actions.copy-to-clipboard'}} @buttonText={{t 'actions.copy-to-clipboard'}}
@acknowledgeText={{t 'states.copied'}} @acknowledgeText={{t 'states.copied'}}
> >
<span>{{this.textMask}}</span> {{#if this.isHidden}}
{{@secret}}
{{else}}
{{this.textMask}}
{{/if}}
</Copyable> </Copyable>
</div> </div>
@@ -1,5 +1,14 @@
import Component from '@glimmer/component'; import Component from '@glimmer/component';
import { action } from '@ember/object';
import { tracked } from '@glimmer/tracking';
export default class HiddenSecretComponent extends Component { export default class HiddenSecretComponent extends Component {
textMask = '■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■'; textMask = '■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■';
@tracked isHidden = false;
@action
toggleSecretVisibility() {
this.isHidden = !this.isHidden;
}
} }
+5
View File
@@ -480,6 +480,11 @@ $chevron-down: url("data:image/svg+xml;utf-8,<svg viewBox='0 0 24 24' fill='%231
align-items: center; align-items: center;
color: var(--ui-gray-subtler-2); color: var(--ui-gray-subtler-2);
.rose-icon {
margin-top: sizing.rems(xxxs);
margin-right: sizing.rems(s);
}
.copyable { .copyable {
display: flex; display: flex;
width: 100%; width: 100%;
@@ -91,7 +91,7 @@
<Rose::Table @style='condensed' as |table|> <Rose::Table @style='condensed' as |table|>
<table.header as |header|> <table.header as |header|>
<header.row as |row|> <header.row as |row|>
<row.headerCell>{{t <row.headerCell @shrink={{true}}>{{t
'form.key.label' 'form.key.label'
}}</row.headerCell> }}</row.headerCell>
<row.headerCell colspan='2'>{{t <row.headerCell colspan='2'>{{t
@@ -102,7 +102,9 @@
<table.body as |body|> <table.body as |body|>
{{#each credential.secrets as |secret|}} {{#each credential.secrets as |secret|}}
<body.row as |row|> <body.row as |row|>
<row.headerCell>{{secret.key}}</row.headerCell> <row.headerCell
@shrink={{true}}
>{{secret.key}}</row.headerCell>
<row.cell colspan='2'> <row.cell colspan='2'>
<HiddenSecret @secret={{secret.value}} /> <HiddenSecret @secret={{secret.value}} />
</row.cell> </row.cell>