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

Commit 120a20c

Browse files
DEV: Convert to native class syntax (#981)
1 parent 0cb2c41 commit 120a20c

File tree

6 files changed

+49
-45
lines changed

6 files changed

+49
-45
lines changed
Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
import DiscourseRoute from "discourse/routes/discourse";
22

3-
export default DiscourseRoute.extend({
4-
queryParams: {
3+
export default class AdminPluginsShowDiscourseAiLlmsNew extends DiscourseRoute {
4+
queryParams = {
55
llmTemplate: { refreshModel: true },
6-
},
6+
};
77

88
async model() {
99
const record = this.store.createRecord("ai-llm");
1010
record.provider_params = {};
1111
return record;
12-
},
12+
}
1313

1414
setupController(controller, model) {
15-
this._super(controller, model);
15+
super.setupController(controller, model);
1616
controller.set(
1717
"allLlms",
1818
this.modelFor("adminPlugins.show.discourse-ai-llms")
@@ -21,5 +21,5 @@ export default DiscourseRoute.extend({
2121
"llmTemplate",
2222
this.paramsFor(this.routeName).llmTemplate || null
2323
);
24-
},
25-
});
24+
}
25+
}
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
import DiscourseRoute from "discourse/routes/discourse";
22

3-
export default DiscourseRoute.extend({
3+
export default class AdminPluginsShowDiscourseAiLlmsShow extends DiscourseRoute {
44
async model(params) {
55
const allLlms = this.modelFor("adminPlugins.show.discourse-ai-llms");
66
const id = parseInt(params.id, 10);
77
const record = allLlms.findBy("id", id);
88
record.provider_params = record.provider_params || {};
99
return record;
10-
},
10+
}
1111

1212
setupController(controller, model) {
13-
this._super(controller, model);
13+
super.setupController(controller, model);
1414
controller.set(
1515
"allLlms",
1616
this.modelFor("adminPlugins.show.discourse-ai-llms")
1717
);
18-
},
19-
});
18+
}
19+
}
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { AUTO_GROUPS } from "discourse/lib/constants";
22
import DiscourseRoute from "discourse/routes/discourse";
33

4-
export default DiscourseRoute.extend({
4+
export default class AdminPluginsShowDiscourseAiPersonasNew extends DiscourseRoute {
55
async model() {
66
const record = this.store.createRecord("ai-persona");
77
record.set("allowed_group_ids", [AUTO_GROUPS.trust_level_0.id]);
@@ -13,13 +13,13 @@ export default DiscourseRoute.extend({
1313
record.set("allow_personal_messages", true);
1414
record.set("tool_details", false);
1515
return record;
16-
},
16+
}
1717

1818
setupController(controller, model) {
19-
this._super(controller, model);
19+
super.setupController(controller, model);
2020
controller.set(
2121
"allPersonas",
2222
this.modelFor("adminPlugins.show.discourse-ai-personas")
2323
);
24-
},
25-
});
24+
}
25+
}
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
import DiscourseRoute from "discourse/routes/discourse";
22

3-
export default DiscourseRoute.extend({
3+
export default class AdminPluginsShowDiscourseAiPersonasShow extends DiscourseRoute {
44
async model(params) {
55
const allPersonas = this.modelFor(
66
"adminPlugins.show.discourse-ai-personas"
77
);
88
const id = parseInt(params.id, 10);
99
return allPersonas.findBy("id", id);
10-
},
10+
}
1111

1212
setupController(controller, model) {
13-
this._super(controller, model);
13+
super.setupController(controller, model);
1414
controller.set(
1515
"allPersonas",
1616
this.modelFor("adminPlugins.show.discourse-ai-personas")
1717
);
18-
},
19-
});
18+
}
19+
}
Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,25 @@
1-
import { computed, observer } from "@ember/object";
1+
import { computed } from "@ember/object";
2+
import { observes } from "@ember-decorators/object";
23
import I18n from "discourse-i18n";
34
import ComboBox from "select-kit/components/combo-box";
5+
import { selectKitOptions } from "select-kit/components/select-kit";
46

5-
export default ComboBox.extend({
6-
_modelDisabledChanged: observer("attrs.disabled", function () {
7+
@selectKitOptions({
8+
filterable: true,
9+
})
10+
export default class AiLlmSelector extends ComboBox {
11+
@observes("attrs.disabled")
12+
_modelDisabledChanged() {
713
this.selectKit.options.set("disabled", this.get("attrs.disabled.value"));
8-
}),
14+
}
915

10-
content: computed(function () {
16+
@computed
17+
get content() {
1118
return [
1219
{
1320
id: "blank",
1421
name: I18n.t("discourse_ai.ai_persona.no_llm_selected"),
1522
},
1623
].concat(this.llms);
17-
}),
18-
19-
selectKitOptions: {
20-
filterable: true,
21-
},
22-
});
24+
}
25+
}
Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
1-
import { observer } from "@ember/object";
21
import { readOnly } from "@ember/object/computed";
2+
import { observes } from "@ember-decorators/object";
33
import MultiSelectComponent from "select-kit/components/multi-select";
4+
import { selectKitOptions } from "select-kit/components/select-kit";
45

5-
export default MultiSelectComponent.extend({
6-
_modelDisabledChanged: observer("attrs.disabled", function () {
7-
this.selectKit.options.set("disabled", this.get("attrs.disabled.value"));
8-
}),
9-
10-
content: readOnly("tools"),
6+
@selectKitOptions({
7+
filterable: true,
8+
})
9+
export default class AiToolSelector extends MultiSelectComponent {
10+
@readOnly("tools") content;
1111

12-
value: "",
12+
value = "";
1313

14-
selectKitOptions: {
15-
filterable: true,
16-
},
17-
});
14+
@observes("attrs.disabled")
15+
_modelDisabledChanged() {
16+
this.selectKit.options.set("disabled", this.get("attrs.disabled.value"));
17+
}
18+
}

0 commit comments

Comments
 (0)