The source code is available, but not yet on GitHub / Bitbucket. You can, however, access all sources by installing them via File > Install KNIME Extensions
and looking for the respective JAR file in the
plugins/ folder of your KNIME installation.
Even the JS nodes are re-executed when you are applying a change.
In short the nodes use two ‘transportation’ objects which need to be JSON-serializable. One we call the view representation is data and settings sent to the view that does not change. The other is called the view value and contains all the settings that can potentially be changed inside a view (e.g. the selection in the scatter plot). When you open the view and changes are made to the view value and you click the ‘Close’ button the framework will ask you what you want to do with the changes. If you then click apply, the view value is sent back to the node model and the node is re-executed (the execute method is run again). You can then use the information of the changed view value to populate the output table.
Hi and thank you for your answers. What I was really looking for is the InteractiveView interface and the rest that comes with it to provide this kind of “view - node model” interactions.
try extending your node model from the org.knime.js.core.node.AbstractWizardNodeModel and your node factory should implement the org.knime.core.node.wizard.WizardNodeFactoryExtension.
Otherwise have a look at the other view’s implementations.