147 lines
4.2 KiB
Handlebars
147 lines
4.2 KiB
Handlebars
{{!
|
|
Copyright IBM Corp. 2021, 2026
|
|
SPDX-License-Identifier: BUSL-1.1
|
|
}}
|
|
|
|
<Rose::Form
|
|
@edit={{@edit}}
|
|
@onSubmit={{@submit}}
|
|
@cancel={{@cancel}}
|
|
@disabled={{@model.isSaving}}
|
|
@showEditToggle={{if @model.isNew false true}}
|
|
as |form|
|
|
>
|
|
|
|
<Hds::Form::TextInput::Field
|
|
name='name'
|
|
@value={{@model.name}}
|
|
@isOptional={{true}}
|
|
@isInvalid={{@model.errors.name}}
|
|
disabled={{form.disabled}}
|
|
{{on 'input' (set-from-event @model 'name')}}
|
|
as |F|
|
|
>
|
|
<F.Label>{{t 'form.name.label'}}</F.Label>
|
|
<F.HelperText>{{t 'form.name.help'}}</F.HelperText>
|
|
{{#if @model.errors.name}}
|
|
<F.Error as |E|>
|
|
{{#each @model.errors.name as |error|}}
|
|
<E.Message data-test-error-message-name>{{error.message}}</E.Message>
|
|
{{/each}}
|
|
</F.Error>
|
|
{{/if}}
|
|
</Hds::Form::TextInput::Field>
|
|
|
|
<Hds::Form::Textarea::Field
|
|
name='description'
|
|
@value={{@model.description}}
|
|
@isOptional={{true}}
|
|
@isInvalid={{@model.errors.description}}
|
|
disabled={{form.disabled}}
|
|
as |F|
|
|
>
|
|
<F.Label>{{t 'form.description.label'}}</F.Label>
|
|
<F.HelperText>{{t 'form.description.help'}}</F.HelperText>
|
|
{{#if @model.errors.description}}
|
|
<F.Error as |E|>
|
|
{{#each @model.errors.description as |error|}}
|
|
<E.Message>{{error.message}}</E.Message>
|
|
{{/each}}
|
|
</F.Error>
|
|
{{/if}}
|
|
</Hds::Form::Textarea::Field>
|
|
|
|
<InfoField @value={{@model.type}} as |F|>
|
|
<F.Label>{{t 'form.type.label'}}</F.Label>
|
|
</InfoField>
|
|
|
|
<InfoField @value={{t 'descriptions.provider'}} @icon='aws-color' as |F|>
|
|
<F.Label>{{t 'titles.provider'}}</F.Label>
|
|
<F.HelperText>
|
|
{{t 'resources.host-catalog.types.aws'}}
|
|
</F.HelperText>
|
|
</InfoField>
|
|
|
|
<Form::Field::KeyValue
|
|
@name='preferred_endpoints'
|
|
@model={{@model}}
|
|
@properties={{array 'value'}}
|
|
@data={{@model.preferred_endpoints}}
|
|
@legend={{t 'resources.host-set.form.preferred_endpoints.label'}}
|
|
@helperText={{t 'resources.host-set.form.preferred_endpoints.help'}}
|
|
@errors={{@model.errors.preferred_endpoints}}
|
|
@disabled={{form.disabled}}
|
|
@isOptional={{true}}
|
|
>
|
|
<:row as |R|>
|
|
<R.Field as |F|>
|
|
<F.TextInput
|
|
data-test-value-input
|
|
@value={{R.rowData.value}}
|
|
{{on 'input' (fn R.updateRow 'value')}}
|
|
/>
|
|
</R.Field>
|
|
{{#if R.canDelete}}
|
|
<R.DeleteRowButton data-test-delete-button @onClick={{R.removeRow}} />
|
|
{{/if}}
|
|
</:row>
|
|
</Form::Field::KeyValue>
|
|
|
|
<Form::Field::KeyValue
|
|
@name='filters'
|
|
@model={{@model}}
|
|
@properties={{array 'value'}}
|
|
@data={{@model.filters}}
|
|
@legend={{t 'resources.host-set.form.filter.label'}}
|
|
@helperText={{t 'resources.host-set.form.filter.aws.help'}}
|
|
@errors={{@model.errors.filters}}
|
|
@disabled={{form.disabled}}
|
|
@isOptional={{true}}
|
|
>
|
|
<:row as |R|>
|
|
<R.Field as |F|>
|
|
<F.TextInput
|
|
data-test-value-input
|
|
@value={{R.rowData.value}}
|
|
{{on 'input' (fn R.updateRow 'value')}}
|
|
/>
|
|
</R.Field>
|
|
{{#if R.canDelete}}
|
|
<R.DeleteRowButton data-test-delete-button @onClick={{R.removeRow}} />
|
|
{{/if}}
|
|
</:row>
|
|
</Form::Field::KeyValue>
|
|
|
|
<Hds::Form::TextInput::Field
|
|
name='sync_interval_seconds'
|
|
@value={{@model.sync_interval_seconds}}
|
|
@isInvalid={{@model.errors.sync_interval_seconds}}
|
|
@isOptional={{true}}
|
|
disabled={{form.disabled}}
|
|
{{on 'input' (set-from-event @model 'sync_interval_seconds')}}
|
|
as |F|
|
|
>
|
|
<F.Label>{{t 'form.sync-interval.label'}}</F.Label>
|
|
<F.HelperText>
|
|
{{t 'form.sync-interval.help'}}
|
|
<Hds::Link::Inline @href={{doc-url 'host-set.sync-interval-seconds'}}>
|
|
{{t 'actions.learn-more'}}
|
|
</Hds::Link::Inline>
|
|
</F.HelperText>
|
|
{{#if @model.errors.sync_interval_seconds}}
|
|
<F.Error as |E|>
|
|
{{#each @model.errors.sync_interval_seconds as |error|}}
|
|
<E.Message>{{error.message}}</E.Message>
|
|
{{/each}}
|
|
</F.Error>
|
|
{{/if}}
|
|
</Hds::Form::TextInput::Field>
|
|
|
|
{{#if (can 'save model' @model)}}
|
|
<form.actions
|
|
@enableEditText={{t 'actions.edit-form'}}
|
|
@submitText={{t 'actions.save'}}
|
|
@cancelText={{t 'actions.cancel'}}
|
|
/>
|
|
{{/if}}
|
|
</Rose::Form> |