Files
threshold-ui/ui/admin/app/components/form/target/details/index.hbs
T
Devon Anderson fb89cbb4cf fix: 🐛 refactor info-field component (#1525)
* fix: 🐛 refactor info-field component

Overall context of how the `<InfoField/>` was changed to the correct
order.  Corrected css grid to have the order of
`label,input-field,helper-text`. Also refactored all component instances
affected by the change.

* refactor: 💡 refactor styling for icon to be center

refactor will get the icon as close to center as possible.
2022-12-13 15:49:22 -05:00

164 lines
4.7 KiB
Handlebars

<Rose::Form
@onSubmit={{@submit}}
@cancel={{@cancel}}
@disabled={{@model.isSaving}}
@showEditToggle={{if @model.isNew false true}}
as |form|
>
<form.input
@name='name'
@type='text'
@value={{@model.name}}
@label={{t 'form.name.label'}}
@helperText={{t 'form.name.help'}}
@error={{@model.errors.name}}
as |field|
>
{{#if @model.errors.name}}
<field.errors as |errors|>
{{#each @model.errors.name as |error|}}
<errors.message>{{error.message}}</errors.message>
{{/each}}
</field.errors>
{{/if}}
</form.input>
<form.textarea
@name='description'
@type='text'
@value={{@model.description}}
@label={{t 'form.description.label'}}
@helperText={{t 'form.description.help'}}
@error={{@model.errors.description}}
as |field|
>
{{#if @model.errors.description}}
<field.errors as |errors|>
{{#each @model.errors.description as |error|}}
<errors.message>{{error.message}}</errors.message>
{{/each}}
</field.errors>
{{/if}}
</form.textarea>
{{#if (and @model.isNew (feature-flag 'ssh-target'))}}
<Hds::Form::RadioCard::Group @name='types' @alignment='center' as |G|>
<G.Legend>{{t 'form.type.label'}}</G.Legend>
{{#each-in this.mapResourceTypeWithIcon as |targetType icon|}}
<G.RadioCard
@name={{targetType}}
@value={{targetType}}
@maxWidth='20rem'
@checked={{eq targetType @model.type}}
{{on 'input' (fn @changeType targetType)}}
as |R|
>
<R.Label>{{t (concat 'resources.target.types.' targetType)}}</R.Label>
<R.Description>{{t
(concat 'resources.target.help.' targetType)
}}</R.Description>
<R.Icon @name={{icon}} />
</G.RadioCard>
{{/each-in}}
</Hds::Form::RadioCard::Group>
{{else}}
<InfoField
@value={{t (concat 'resources.target.types.' @model.type)}}
@icon={{this.icon}}
as |F|
>
<F.Label>{{t 'form.type.label'}}</F.Label>
<F.HelperText>{{t (concat 'resources.target.help.' @model.type)}}
</F.HelperText>
</InfoField>
{{/if}}
<form.input
@name='session_max_seconds'
@type='number'
@value={{@model.session_max_seconds}}
@label={{t 'form.session_max_seconds.label'}}
@error={{@model.errors.session_max_seconds}}
@helperText={{t 'form.session_max_seconds.help'}}
min='0'
step='1'
as |field|
>
{{#if @model.errors.session_max_seconds}}
<field.errors as |errors|>
{{#each @model.errors.session_max_seconds as |error|}}
<errors.message>{{error.message}}</errors.message>
{{/each}}
</field.errors>
{{/if}}
</form.input>
<form.input
@name='session_connection_limit'
@type='number'
@value={{@model.session_connection_limit}}
@label={{t 'form.session_connection_limit.label'}}
@error={{@model.errors.session_connection_limit}}
@helperText={{t 'form.session_connection_limit.help'}}
min='-1'
step='1'
as |field|
>
{{#if @model.errors.session_connection_limit}}
<field.errors as |errors|>
{{#each @model.errors.session_connection_limit as |error|}}
<errors.message>{{error.message}}</errors.message>
{{/each}}
</field.errors>
{{/if}}
</form.input>
<form.input
@name='worker_filter'
@type='text'
@value={{@model.worker_filter}}
@label={{t 'form.worker_filter.label'}}
@error={{@model.errors.worker_filter}}
@helperText={{t 'form.worker_filter.help'}}
@linkText={{t 'actions.learn-more'}}
@link={{doc-url 'target.worker-filters'}}
as |field|
>
{{#if @model.errors.worker_filter}}
<field.errors as |errors|>
{{#each @model.errors.worker_filter as |error|}}
<errors.message>{{error.message}}</errors.message>
{{/each}}
</field.errors>
{{/if}}
</form.input>
<form.input
@name='default_port'
@type='number'
@value={{@model.default_port}}
@label={{t 'form.default_port.label'}}
@error={{@model.errors.default_port}}
@helperText={{t 'form.default_port.help'}}
placeholder={{@defaultPort}}
min='0'
step='1'
as |field|
>
{{#if @model.errors.default_port}}
<field.errors as |errors|>
{{#each @model.errors.default_port as |error|}}
<errors.message>{{error.message}}</errors.message>
{{/each}}
</field.errors>
{{/if}}
</form.input>
{{#if (can 'save model' @model)}}
<form.actions
@enableEditText={{t 'actions.edit-form'}}
@submitText={{t 'actions.save'}}
@cancelText={{t 'actions.cancel'}}
/>
{{/if}}
</Rose::Form>