While test running the beta release for IOS 8 support I run into an issue, generated by the last commit added to alloy 1.5.0 beta 2 before release.
The following piece of code which is used with the nl.fokkezb.drawer:
<Widget platform="ios" id="drawer" src="nl.fokkezb.drawer"> <NavigationWindow module="xp.ui" id="main" role="centerWindow" class="container"> <Require src="list" /> </NavigationWindow> <Require src="menu" id="menu" /> </Widget>generates the following error:
[DEBUG] /usr/local/lib/node_modules/alloy/Alloy/commands/compile/styler.js:582 [DEBUG] var standard = bindingStr.match(/^\s*\'\+(.*)\+\'\s*$/)[1]; [DEBUG] ^ [ERROR] : Cannot read property '1' of nullIn Alloy 1.4.1 this is not an issue, because the binding check will not run into into the matching expression:
__ALLOY_EXPR__--[$.__views.main,$.__views.menu.getViewEx({recurse:true})]The binding check returns null on this string skipping the whole if else found in the styleCollection loop in styler.js. In 1.5.0 there is a complete different approach where this string WILL run into the if else statements, generating a different behavior.
Is this an intended change? Because I think ALOY-1128 requires some more love in that case...
I've tested this with Titanium SDK 3.4.0.v20140905152516, Alloy 1.5.0 beta2 and Titanium 3.4.0 beta