Quantcast
Channel: SmartClient Forums
Viewing all articles
Browse latest Browse all 4756

Third-party incompatibility: it's changing __nativeType

$
0
0
I've been having problems integrating a 3rd party tool with my Smartclient app, and I've finally boiled it down to something communicable via forum post.

Smartclient includes this line in modules-debug/ISC_Core.js:
Code:

Boolean.__nativeType = 6;
However, after my 3rd party tool builds its widget (as the result of user manipulation), I can verify that the values of several built-in classes have been reset:
Code:

var obs = [Date,String,Number,Boolean];
for(var i=0; i<obs.length; i++){
  console.log(obs[i].name,obs[i].__nativeType);
}
Date 1
String 1
Number 1
Boolean 1

I'm also noticing that if I define my own variable:
Code:

Function.prototype.__nitroamos = 1;
Boolean.__nitroamos = 6;

so it appears that the widget I'm using is reverting __nativeType to Function.prototype.__nativeType.

This is resulting in an infinite recursion in _serialize/_serializeObject. The widget I'm including uses jQuery and it includes JavaScript code produced by Java2Script. I haven't been able to find the place in their code where __nativeType is reset (I'm not sure what to search for).

I can put a callback in the 3rd party library and reset the __nativeType values, but that would require me to "undo" the minification process in ISC_Core.js.

Any suggested work-arounds?

Viewing all articles
Browse latest Browse all 4756

Trending Articles