Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ia-cloud-cnct2] パレット上のノード表示 #70

Open
ryoichi-obara opened this issue Aug 31, 2021 · 4 comments
Open

[ia-cloud-cnct2] パレット上のノード表示 #70

ryoichi-obara opened this issue Aug 31, 2021 · 4 comments
Assignees
Labels
bug Something isn't working

Comments

@ryoichi-obara
Copy link
Member

error-palette

2つのノードについての英語名が設定されていないため、
何のノードなのかわからない状態になっています。

何か名前を考える必要があると思います。

@ryoichi-obara ryoichi-obara added the bug Something isn't working label Aug 31, 2021
@hashisan-atBridge
Copy link
Contributor

リソースのJSONファイルに、editor.paletteLabelのエントリーがないのが第1原因ですが、

paletteLabel: function() {
return this._("editor.paletteLabel") || "ia-cloud CCS";
},

のコードで、this._("editor.paletteLabel")はエントリーのない場合は、"" か undefind あたりが帰るのかと思っていましたが、エントリーキーそのものが帰ってくるのですね。そういえばプロパティ編集画面のリソース参照でもそうですね。
完全にBugです。

return this.("editor.paletteLabel") !== "editor.paletteLabel" ? this.("editor.paletteLabel") : "ia-cloud CCS";

としなければならないですね。ほとんど全てのノードがそうです。
とりあえず、リソースファイルにエントリーがあれば、動作上はOKですが、気持ち悪いですね。
どうしましょうか?

ryoichi-obara added a commit that referenced this issue Aug 31, 2021
@ryoichi-obara
Copy link
Member Author

return this.("editor.paletteLabel") !== "editor.paletteLabel" ? this.("editor.paletteLabel") : "ia-cloud CCS";

は結構冗長なコードな気がしますね。
Node-REDの仕様であるラベルがない場合はキーをそのまま返すという、ちょっと違和感のある動作にも依存していますし。

やはりラベル自体はパレット表示以外についても当然ちゃんと用意すべきということで、
コードでカバーしなくて良いと思います。
そこで、 Pull #71 のように変更するのがいいかなと思いPR出しておきました。

@hashisan-atBridge
Copy link
Contributor

this.("editor.paletteLabel")
は、false を返すことはないようなので、
return this.("editor.paletteLabel") ;
とコード側も修正するのが気持ち良いですが、とりあえずPRマージしました。

本件、Issueに残しますか?

@ryoichi-obara
Copy link
Member Author

そうですね、this.("editor.paletteLabel") がfalseやundefinedを返すのが嬉しいのですが、
現状はそんなことないようですね。

oneditprepare() {
    return this.("editor.paletteLabel");
}

コードにこのように書くのはデフォルトの挙動と変わりないので、記載しないほうが簡潔かと思います。

本件、Issueに残しますか?

この議論(経緯)は今現在Issueでやりとりしているので残っていると思いますが、
全体としてのパレット上ノードのi18n対応とoneditprepare()削除ということでIssueを起票するかどうか?ということであれば私の意見はyesです。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants