The transition from R2017b to R2018a caused some functionality to break. For example, running TableDemo and pressing the button now yields the following error:
Error using matlab.internal.webwindow/executeJS (line 730)
Error executing JavaScript command:
JavaScript error: Uncaught TypeError: Cannot read property 'style' of null at line 111 column 385 in
https://localhost:31515/toolbox/matlab/uitools/uifigureappjs/release/dojo/dojo.js
Error in mlapptools.setStyle (line 279)
win.executeJS(styleSetStr);
Error in TableDemo/ButtonPushed (line 27)
mlapptools.setStyle(...
Error using matlab.ui.control.internal.controller.ComponentController/executeUserCallback (line 309)
Error while evaluating Button PrivateButtonPushedFcn.
If we run on R2017b and R2018a the following code:
T = TableDemo;
H = mlapptools.getHTML(T.UIFigure);
We get the two results R2017b.html and R2018a.html. On first glance the files have different length - 31710 and 32039 chars (before formatting), respectively.
Although DIFFing these files reveals some noteworthy changes,
A certain top-level widget, <div id="dijit__WidgetBase_0" widgetid="dijit__WidgetBase_0">, is gone.
Input fields now have a spellcheck field is set to false by default. This should be investigated further.
...they unfortunately do not explain the source of the issue.
mlapptools.aboutJSLibs() returns the same exact output in both versions, so a library version change is also not to blame.
When debugging TableDemo>ButtonPushed, we can see that the widget list w filtered from the registry is 1 element longer in R2018a (although as we recall, the HTML is missing a certain widget div), which itself should not be a problem, but this additional widget cannot be found by dojo.query, which leads to an error later on when evaluating dojo.style.
I don't know if it's worth investigating the deeper reason here, but surely the demo could be fixed to perform better filtering and not return this problematic result...
The transition from R2017b to R2018a caused some functionality to break. For example, running
TableDemo
and pressing the button now yields the following error:If we run on R2017b and R2018a the following code:
We get the two results R2017b.html and R2018a.html. On first glance the files have different length - 31710 and 32039 chars (before formatting), respectively.
Although DIFFing these files reveals some noteworthy changes,
<div id="dijit__WidgetBase_0" widgetid="dijit__WidgetBase_0">
, is gone.spellcheck
field is set tofalse
by default. This should be investigated further....they unfortunately do not explain the source of the issue.
mlapptools.aboutJSLibs()
returns the same exact output in both versions, so a library version change is also not to blame.When debugging
TableDemo>ButtonPushed
, we can see that the widget listw
filtered from the registry is 1 element longer in R2018a (although as we recall, the HTML is missing a certain widgetdiv
), which itself should not be a problem, but this additional widget cannot be found bydojo.query
, which leads to an error later on when evaluatingdojo.style
.I don't know if it's worth investigating the deeper reason here, but surely the demo could be fixed to perform better filtering and not return this problematic result...