mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
DEV: Clean up TreeNode
component (#31069)
1. use `constructor` instead of `didInsert` 2. remove non-existent `unregisterInputFieldObserver` arg usage 3. don't curry `@index` arg twice in `@onClick` 4. use `@bind` 5. use `concatClass` 6. `dIcon` -> `icon`
This commit is contained in:
parent
dbdcd7cf67
commit
d1c33076f3
@ -118,11 +118,6 @@ export default class SchemaThemeSettingNewEditor extends Component {
|
|||||||
this.inputFieldObserver[index] = callback;
|
this.inputFieldObserver[index] = callback;
|
||||||
}
|
}
|
||||||
|
|
||||||
@action
|
|
||||||
unregisterInputFieldObserver(index) {
|
|
||||||
delete this.inputFieldObserver[index];
|
|
||||||
}
|
|
||||||
|
|
||||||
descriptions(fieldName, key) {
|
descriptions(fieldName, key) {
|
||||||
// The `property_descriptions` metadata is an object with keys in the following format as an example:
|
// The `property_descriptions` metadata is an object with keys in the following format as an example:
|
||||||
//
|
//
|
||||||
@ -279,7 +274,6 @@ export default class SchemaThemeSettingNewEditor extends Component {
|
|||||||
@addChildItem={{this.addChildItem}}
|
@addChildItem={{this.addChildItem}}
|
||||||
@generateSchemaTitle={{this.generateSchemaTitle}}
|
@generateSchemaTitle={{this.generateSchemaTitle}}
|
||||||
@registerInputFieldObserver={{this.registerInputFieldObserver}}
|
@registerInputFieldObserver={{this.registerInputFieldObserver}}
|
||||||
@unregisterInputFieldObserver={{this.unregisterInputFieldObserver}}
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<div class="schema-theme-setting-editor__footer">
|
<div class="schema-theme-setting-editor__footer">
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
import Component from "@glimmer/component";
|
import Component from "@glimmer/component";
|
||||||
import { tracked } from "@glimmer/tracking";
|
import { tracked } from "@glimmer/tracking";
|
||||||
import { fn, get } from "@ember/helper";
|
import { get } from "@ember/helper";
|
||||||
import { on } from "@ember/modifier";
|
import { on } from "@ember/modifier";
|
||||||
import { action } from "@ember/object";
|
|
||||||
import didInsert from "@ember/render-modifiers/modifiers/did-insert";
|
|
||||||
import { gt } from "truth-helpers";
|
import { gt } from "truth-helpers";
|
||||||
import dIcon from "discourse/helpers/d-icon";
|
import concatClass from "discourse/helpers/concat-class";
|
||||||
|
import icon from "discourse/helpers/d-icon";
|
||||||
|
import { bind } from "discourse/lib/decorators";
|
||||||
import ChildTree from "admin/components/schema-theme-setting/editor/child-tree";
|
import ChildTree from "admin/components/schema-theme-setting/editor/child-tree";
|
||||||
|
|
||||||
export default class SchemaThemeSettingNewEditorTreeNode extends Component {
|
export default class SchemaThemeSettingNewEditorTreeNode extends Component {
|
||||||
@ -17,18 +17,12 @@ export default class SchemaThemeSettingNewEditorTreeNode extends Component {
|
|||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
super(...arguments);
|
super(...arguments);
|
||||||
this.#setText();
|
this.setText();
|
||||||
|
this.args.registerInputFieldObserver(this.args.index, this.setText);
|
||||||
}
|
}
|
||||||
|
|
||||||
@action
|
@bind
|
||||||
registerInputFieldObserver() {
|
setText() {
|
||||||
this.args.registerInputFieldObserver(
|
|
||||||
this.args.index,
|
|
||||||
this.#setText.bind(this)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
#setText() {
|
|
||||||
this.text = this.args.generateSchemaTitle(
|
this.text = this.args.generateSchemaTitle(
|
||||||
this.args.object,
|
this.args.object,
|
||||||
this.args.schema,
|
this.args.schema,
|
||||||
@ -55,19 +49,20 @@ export default class SchemaThemeSettingNewEditorTreeNode extends Component {
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<li
|
<li
|
||||||
|
{{on "click" @onClick}}
|
||||||
role="link"
|
role="link"
|
||||||
class="schema-theme-setting-editor__tree-node --parent
|
class={{concatClass
|
||||||
{{if @active ' --active'}}"
|
"schema-theme-setting-editor__tree-node --parent"
|
||||||
{{on "click" (fn @onClick @index)}}
|
(if @active "--active")
|
||||||
|
}}
|
||||||
>
|
>
|
||||||
<div class="schema-theme-setting-editor__tree-node-text">
|
<div class="schema-theme-setting-editor__tree-node-text">
|
||||||
<span {{didInsert this.registerInputFieldObserver}}>{{this.text}}</span>
|
<span>{{this.text}}</span>
|
||||||
|
|
||||||
{{#if (gt this.childObjectsProperties.length 0)}}
|
{{#if (gt this.childObjectsProperties.length 0)}}
|
||||||
|
{{icon (if @active "chevron-down" "chevron-right")}}
|
||||||
{{dIcon (if @active "chevron-down" "chevron-right")}}
|
|
||||||
{{else}}
|
{{else}}
|
||||||
{{dIcon "chevron-right"}}
|
{{icon "chevron-right"}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -31,7 +31,6 @@ import TreeNode from "admin/components/schema-theme-setting/editor/tree-node";
|
|||||||
@addChildItem={{@addChildItem}}
|
@addChildItem={{@addChildItem}}
|
||||||
@generateSchemaTitle={{@generateSchemaTitle}}
|
@generateSchemaTitle={{@generateSchemaTitle}}
|
||||||
@registerInputFieldObserver={{@registerInputFieldObserver}}
|
@registerInputFieldObserver={{@registerInputFieldObserver}}
|
||||||
@unregisterInputFieldObserver={{@unregisterInputFieldObserver}}
|
|
||||||
/>
|
/>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user