Skip to content
This repository was archived by the owner on Jul 22, 2025. It is now read-only.

Commit 526b374

Browse files
committed
few form-kit improvements
discourse/discourse#31934
1 parent 94aba16 commit 526b374

File tree

2 files changed

+55
-66
lines changed

2 files changed

+55
-66
lines changed

assets/javascripts/discourse/components/ai-persona-tool-options.gjs

Lines changed: 54 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -35,71 +35,60 @@ export default class AiPersonaToolOptions extends Component {
3535

3636
<template>
3737
{{#if this.showToolOptions}}
38-
<@form.Container @title={{i18n "discourse_ai.ai_persona.tool_options"}}>
39-
<div>
40-
<@form.Object
41-
@name="toolOptions"
42-
@title={{i18n "discourse_ai.ai_persona.tool_options"}}
43-
as |toolObj optsPerTool|
44-
>
45-
{{#each (this.formObjectKeys optsPerTool) as |toolId|}}
46-
<div class="ai-persona-editor__tool-options">
47-
{{#let (get this.toolsMetadata toolId) as |toolMeta|}}
48-
<div class="ai-persona-editor__tool-options-name">
49-
{{toolMeta.name}}
50-
</div>
51-
<toolObj.Object @name={{toolId}} as |optionsObj optionData|>
52-
{{#each (this.formObjectKeys optionData) as |optionName|}}
53-
<div class="ai-persona-editor__tool-option-options">
54-
<div class="control-group">
55-
{{#let (get toolMeta optionName) as |optionMeta|}}
56-
<optionsObj.Field
57-
@name={{optionName}}
58-
@title={{optionMeta.name}}
59-
as |field|
60-
>
61-
{{#if (eq optionMeta.type "enum")}}
62-
<field.Select
63-
@includeNone={{false}}
64-
as |select|
65-
>
66-
{{#each optionsObj.values as |v|}}
67-
<select.Option
68-
@value={{v}}
69-
>{{v}}</select.Option>
70-
{{/each}}
71-
</field.Select>
72-
{{else if (eq optionMeta.type "llm")}}
73-
<field.Custom>
74-
<AiLlmSelector
75-
@value={{field.value}}
76-
@llms={{@llms}}
77-
@onChange={{field.set}}
78-
@class="ai-persona-tool-option-editor__llms"
79-
/>
80-
</field.Custom>
81-
{{else if (eq optionMeta.type "boolean")}}
82-
<field.Checkbox />
83-
{{else}}
84-
<field.Input />
85-
{{/if}}
86-
87-
<div
88-
class="ai-persona-tool-option-editor__instructions"
89-
>
90-
{{optionMeta.description}}
91-
</div>
92-
</optionsObj.Field>
93-
{{/let}}
94-
</div>
95-
</div>
96-
{{/each}}
97-
</toolObj.Object>
98-
{{/let}}
99-
</div>
100-
{{/each}}
101-
</@form.Object>
102-
</div>
38+
<@form.Container
39+
@title={{i18n "discourse_ai.ai_persona.tool_options"}}
40+
@direction="column"
41+
@format="full"
42+
>
43+
<@form.Object
44+
@name="toolOptions"
45+
@title={{i18n "discourse_ai.ai_persona.tool_options"}}
46+
as |toolObj optsPerTool|
47+
>
48+
{{#each (this.formObjectKeys optsPerTool) as |toolId|}}
49+
<div class="ai-persona-editor__tool-options">
50+
{{#let (get this.toolsMetadata toolId) as |toolMeta|}}
51+
<div class="ai-persona-editor__tool-options-name">
52+
{{toolMeta.name}}
53+
</div>
54+
<toolObj.Object @name={{toolId}} as |optionsObj optionData|>
55+
{{#each (this.formObjectKeys optionData) as |optionName|}}
56+
{{#let (get toolMeta optionName) as |optionMeta|}}
57+
<optionsObj.Field
58+
@name={{optionName}}
59+
@title={{optionMeta.name}}
60+
@helpText={{optionMeta.description}}
61+
@format="full"
62+
as |field|
63+
>
64+
{{#if (eq optionMeta.type "enum")}}
65+
<field.Select @includeNone={{false}} as |select|>
66+
{{#each optionsObj.values as |v|}}
67+
<select.Option @value={{v}}>{{v}}</select.Option>
68+
{{/each}}
69+
</field.Select>
70+
{{else if (eq optionMeta.type "llm")}}
71+
<field.Custom>
72+
<AiLlmSelector
73+
@value={{field.value}}
74+
@llms={{@llms}}
75+
@onChange={{field.set}}
76+
@class="ai-persona-tool-option-editor__llms"
77+
/>
78+
</field.Custom>
79+
{{else if (eq optionMeta.type "boolean")}}
80+
<field.Checkbox />
81+
{{else}}
82+
<field.Input />
83+
{{/if}}
84+
</optionsObj.Field>
85+
{{/let}}
86+
{{/each}}
87+
</toolObj.Object>
88+
{{/let}}
89+
</div>
90+
{{/each}}
91+
</@form.Object>
10392
</@form.Container>
10493
{{/if}}
10594
</template>

assets/stylesheets/modules/ai-bot/common/ai-persona.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
padding-left: 0.5em;
4444

4545
&__tool-options {
46-
padding: 5px 10px 5px;
46+
padding: 1em;
4747
border: 1px solid var(--primary-low-mid);
4848
width: 480px;
4949
}

0 commit comments

Comments
 (0)