DEV: supports for form-kit changes (#1203)

form.Object and form.Collection have been changed. Most importantly formObject doesnt yield name but data. It's not your responsibility to build an array of fields.
This commit is contained in:
Joffrey JAFFEUX 2025-03-19 15:01:14 +01:00 committed by GitHub
parent de8624416a
commit 75a1ade441
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 71 additions and 83 deletions

View File

@ -1,3 +1,4 @@
< 3.5.0.beta2-dev: de8624416a15b3d8e7ad350b083cc1420451ccec
< 3.5.0.beta1-dev: bdef136080074a993e7c4f5ca562edc31a8ba756 < 3.5.0.beta1-dev: bdef136080074a993e7c4f5ca562edc31a8ba756
< 3.4.0.beta4-dev: a53719ab8eb071459f215227421b3ea4987e5f87 < 3.4.0.beta4-dev: a53719ab8eb071459f215227421b3ea4987e5f87
< 3.4.0.beta4-dev: 20612fde52d3f740cad64823ef8aadb0748b567f < 3.4.0.beta4-dev: 20612fde52d3f740cad64823ef8aadb0748b567f

View File

@ -493,8 +493,8 @@ export default class AiEmbeddingEditor extends Component {
{{! provider-specific content }} {{! provider-specific content }}
{{#if this.currentProvider}} {{#if this.currentProvider}}
{{#if data.provider_params}} <form.Object @name="provider_params" as |object providerData|>
<form.Object @name="provider_params" as |object name|> {{#each-in providerData as |name|}}
{{#let (get this.providerParams name) as |params|}} {{#let (get this.providerParams name) as |params|}}
{{#if params}} {{#if params}}
<object.Field <object.Field
@ -523,8 +523,8 @@ export default class AiEmbeddingEditor extends Component {
</object.Field> </object.Field>
{{/if}} {{/if}}
{{/let}} {{/let}}
</form.Object> {{/each-in}}
{{/if}} </form.Object>
{{/if}} {{/if}}
<form.Actions class="ai-embedding-editor__action_panel"> <form.Actions class="ai-embedding-editor__action_panel">
@ -550,33 +550,24 @@ export default class AiEmbeddingEditor extends Component {
</form.Actions> </form.Actions>
{{#if this.displayTestResult}} {{#if this.displayTestResult}}
<form.Field <form.Container @format="full" class="ai-embedding-editor-tests">
@showTitle={{false}} <ConditionalLoadingSpinner
@name="test_results" @size="small"
@title="test_results" @condition={{this.testRunning}}
@format="full" >
class="ai-embedding-editor-tests" {{#if this.testResult}}
as |field| <div class="ai-embedding-editor-tests__success">
> {{icon "check"}}
<field.Custom> {{i18n "discourse_ai.embeddings.tests.success"}}
<ConditionalLoadingSpinner </div>
@size="small" {{else}}
@condition={{this.testRunning}} <div class="ai-embedding-editor-tests__failure">
> {{icon "xmark"}}
{{#if this.testResult}} {{this.testErrorMessage}}
<div class="ai-embedding-editor-tests__success"> </div>
{{icon "check"}} {{/if}}
{{i18n "discourse_ai.embeddings.tests.success"}} </ConditionalLoadingSpinner>
</div> </form.Container>
{{else}}
<div class="ai-embedding-editor-tests__failure">
{{icon "xmark"}}
{{this.testErrorMessage}}
</div>
{{/if}}
</ConditionalLoadingSpinner>
</field.Custom>
</form.Field>
{{/if}} {{/if}}
</Form> </Form>
{{/if}} {{/if}}

View File

@ -334,32 +334,36 @@ export default class AiLlmEditorForm extends Component {
<field.Password /> <field.Password />
</form.Field> </form.Field>
<form.Object @name="provider_params" as |object name|> <form.Object @name="provider_params" as |object providerParamsData|>
{{#let {{#each-in providerParamsData as |name|}}
(get (this.metaProviderParams data.provider) name) {{#let
as |params| (get (this.metaProviderParams data.provider) name)
}} as |params|
<object.Field }}
@name={{name}} <object.Field
@title={{i18n (concat "discourse_ai.llms.provider_fields." name)}} @name={{name}}
@format="large" @title={{i18n
as |field| (concat "discourse_ai.llms.provider_fields." name)
> }}
{{#if (eq params.type "enum")}} @format="large"
<field.Select @includeNone={{false}} as |select|> as |field|
{{#each params.values as |option|}} >
<select.Option {{#if (eq params.type "enum")}}
@value={{option.id}} <field.Select @includeNone={{false}} as |select|>
>{{option.name}}</select.Option> {{#each params.values as |option|}}
{{/each}} <select.Option
</field.Select> @value={{option.id}}
{{else if (eq params.type "checkbox")}} >{{option.name}}</select.Option>
<field.Checkbox /> {{/each}}
{{else}} </field.Select>
<field.Input @type={{params.type}} /> {{else if (eq params.type "checkbox")}}
{{/if}} <field.Checkbox />
</object.Field> {{else}}
{{/let}} <field.Input @type={{params.type}} />
{{/if}}
</object.Field>
{{/let}}
{{/each-in}}
</form.Object> </form.Object>
<form.Field <form.Field
@ -555,32 +559,24 @@ export default class AiLlmEditorForm extends Component {
{{/unless}} {{/unless}}
{{#if this.displayTestResult}} {{#if this.displayTestResult}}
<form.Field <form.Container @format="full">
@showTitle={{false}} <ConditionalLoadingSpinner
@name="test_results" @size="small"
@title="test_results" @condition={{this.testRunning}}
@format="full" >
as |field| {{#if this.testResult}}
> <div class="ai-llm-editor-tests__success">
<field.Custom> {{icon "check"}}
<ConditionalLoadingSpinner {{i18n "discourse_ai.llms.tests.success"}}
@size="small" </div>
@condition={{this.testRunning}} {{else}}
> <div class="ai-llm-editor-tests__failure">
{{#if this.testResult}} {{icon "xmark"}}
<div class="ai-llm-editor-tests__success"> {{this.testErrorMessage}}
{{icon "check"}} </div>
{{i18n "discourse_ai.llms.tests.success"}} {{/if}}
</div> </ConditionalLoadingSpinner>
{{else}} </form.Container>
<div class="ai-llm-editor-tests__failure">
{{icon "xmark"}}
{{this.testErrorMessage}}
</div>
{{/if}}
</ConditionalLoadingSpinner>
</field.Custom>
</form.Field>
{{/if}} {{/if}}
</Form> </Form>
</template> </template>