vault/ui/lib/pki/addon/components/pki-key-parameters.hbs
Angel Garbarino bfde310ec0
UI/vault 9268/pki component tests (#17609)
* wip

* work in progress

* pki-role-form-test

* clean up

* radio-select-ttl-or-string test

* clean up

* add yielded check

* 12 to 13

* add pki-key-usage test

* remove meep

* key-params test

* clean up

* clean up

* pr comments
2022-10-25 13:58:11 -06:00

67 lines
2.7 KiB
Handlebars

{{#let (camelize (concat "show" @group)) as |prop|}}
<ToggleButton
@isOpen={{get @model prop}}
@openLabel={{concat "Hide " @group}}
@closedLabel={{@group}}
@onClick={{fn (mut (get @model prop))}}
class="is-block"
data-test-toggle-group={{@group}}
/>
{{#if (get @model prop)}}
<div class="box is-tall is-marginless">
<FormFieldLabel
for="keyParametersLabel"
@subText="These are the parameters for generating or validating the certificate's key material."
/>
{{#each @model.fieldGroups as |fieldGroup|}}
{{#each-in fieldGroup as |group fields|}}
{{#if (eq group "Key parameters")}}
{{#each fields as |attr|}}
{{#if (eq attr.name "keyBits")}}
<div class="field">
<FormFieldLabel for={{attr.name}} @label={{attr.options.label}} />
<div class="control is-expanded">
<div class="select is-fullwidth">
<select
name={{attr.name}}
id={{attr.name}}
onchange={{this.onKeyBitsChange}}
data-test-input={{attr.name}}
>
{{#each this.keyBitOptions as |val|}}
<option selected={{eq (get @model this.valuePath) (or val.value val)}} value={{val}}>
{{val}}
</option>
{{/each}}
</select>
</div>
</div>
</div>
{{else}}
<div class="field">
<FormFieldLabel for={{attr.name}} @label={{attr.options.label}} />
<div class="control is-expanded">
<div class="select is-fullwidth">
<select
name={{attr.name}}
id={{attr.name}}
onchange={{fn this.onSignatureBitsOrKeyTypeChange attr.name}}
data-test-input={{attr.name}}
>
{{#each (path-or-array attr.options.possibleValues @model) as |val|}}
<option selected={{eq (get @model this.valuePath) (or val.value val)}} value={{val.value}}>
{{or val.displayName val}}
</option>
{{/each}}
</select>
</div>
</div>
</div>
{{/if}}
{{/each}}
{{/if}}
{{/each-in}}
{{/each}}
</div>
{{/if}}
{{/let}}