bartbutenaers / node-red-contrib-blockly

A Node Red node for visual programming a function using Blockly
Apache License 2.0
89 stars 22 forks source link

Move language dropdown to config node #68

Closed bartbutenaers closed 3 years ago

bartbutenaers commented 3 years ago

Morning @cymplecy, @jsccjj,

Seems a bit weird now that we have a config node, and that the language dropdown is on our main node's config screen...

So I propose to move the language dropdown to the config node's config screen. Then all our settings are nicely together on a single screen. When a user e.g. wants to use Blockly in Japanese, he simply has to setup his config node once and use that one in all his blockly nodes.

The only issue that I can see, is that the users need to configure there language once again for existing nodes as soon as they have installed this new version. Because there existing language selection will be reset to the default of English.

However I'm tempting to publish this version as 2.0.0 (instead of 1.1.0) due to the large number of changes. And then we have a major version change, and we put a "small" breaking change notification on top of our readme screen. After all, there flows will be running normally, it is only a minor breaking change ...

P.S. The "old" language will still be available in the existing config nodes, even if we remove the dropdown in the node's config screen. So we could use the node's old language setting when there is no config node selected, to avoid that users loose there old language setting. But I wouldn't do that becomes it will become very confusing: for old nodes they e.g. get Japanese when no config screen is selected, but for new Blockly nodes they would get the default english when no config screen is selected. So I think that would be a very bad idea, which we will regret in the near future....

Is this ok to implement? Bart

cymplecy commented 3 years ago

"Seems a bit weird now that we have a config node, and that the language dropdown is on our main node's config screen..."

Testing latest - I'm confused by this - its not an issue for me but I'd like to clear up my confusion :)

Where is this "language dropdown"?

bartbutenaers commented 3 years ago

Where is this "language dropdown"?

@cymplecy, We have added that 3 years ago at the bottom of our config screen:

image

cymplecy commented 3 years ago

Sorry - I just found it :) It doesn't appear on my screen as its too far down :) image

bartbutenaers commented 3 years ago

Now I understand why you want a fullscreen mode :-) Is it ok for you to move the dropdown to the config node?

cymplecy commented 3 years ago

absolutely fine :)

bartbutenaers commented 3 years ago

@cymplecy, I have pushed following changes to Github:

  1. The language dropdown has been moved to the config node:

    blockly_language

  2. Before I load the translation files, I now extra first load the english files. Because I had errors due to missing translations, and this is now fixed because missing translations will automatically be displayed in english. For example the Russian translation (which I added today) had no translation yet for our new option (which resulted in errors):

    image

P.S. For your existing config node, the language field will be empty. But for new config nodes it should be default empty. I have not added code to migrate existing config nodes, since only you will have this problem not other users ...

cymplecy commented 3 years ago

I am making clean installs every time you do a new version

cymplecy commented 3 years ago

Just tried it out - works for me

except that the toolbox categories aren't translated

image

bartbutenaers commented 3 years ago

except that the toolbox categories aren't translated

Yes indeed, I have never implemented that since Blockly doesn't support it out of the box... Since it is a new feature, I have created a new issue, to make sure I don't forget things.

Just tried it out - works for me

Ok, thanks for confirming. Then I will close this issue.