Log Message:
-----------
framework js with sample json parse
Modified Paths:
--------------
0.6/core-framework/compile.sh
0.6/core-framework/oa-drawing.js
0.6/core-framework/oa-parser.js
0.6/core-framework/oa-pkg.js
0.6/sample/config-test/anim.json
0.6/sample/config-test/index.html
Modified: 0.6/core-framework/compile.sh
===================================================================
--- 0.6/core-framework/compile.sh 2010-12-21 11:42:22 UTC (rev 82)
+++ 0.6/core-framework/compile.sh 2010-12-25 04:49:17 UTC (rev 83)
@@ -1,5 +1,5 @@
#!/bin/sh
-
+echo $PWD
rm -rf build && mkdir build
# Merge Order is important
#Static Load
Modified: 0.6/core-framework/oa-drawing.js
===================================================================
--- 0.6/core-framework/oa-drawing.js 2010-12-21 11:42:22 UTC (rev 82)
+++ 0.6/core-framework/oa-drawing.js 2010-12-25 04:49:17 UTC (rev 83)
@@ -121,6 +121,33 @@
delete this._store[id];
}catch(ex) { oa.error('oa:lib_del> Item not found!'); }
};
+
+ this._mystore_config = {};
+ /* Config Getter/Setter */
+ this.config_get = function(key) {
+ oa.log('oa:config_get> ' + key);
+ try {
+ return this._mystore_config[key];
+ }catch(ex) {
+ oa.error('Config Item not found!');
+ return undefined;
+ }
+ };
+ this.config_set = function(key,val) {
+ oa.log('oa:config_set> ' + key + ' ' + val);
+
+ try {
+ if(val == undefined) { oa.error('invalid value'); return false; }
+
+ this._mystore_config[key] = val;
+ return true;
+
+ }catch(e) {
+ oa.error('oa:config_set:ERROR>',e); }
+ return false;
+
+ };
+
};
Modified: 0.6/core-framework/oa-parser.js
===================================================================
--- 0.6/core-framework/oa-parser.js 2010-12-21 11:42:22 UTC (rev 82)
+++ 0.6/core-framework/oa-parser.js 2010-12-25 04:49:17 UTC (rev 83)
@@ -36,18 +36,22 @@
parse: function(curDrawing,args) {
try {
var jsonData = args['jsonData'];
- jsonData = eval("(" + jsonData + ")");
- var siloAll = jsonData.openanimator;
- console.log("siloAll len",siloAll.length);
+ //jsonData = eval("(" + jsonData + ")");
+ jsonData = $.parseJSON(jsonData);
+ var siloAll = jsonData.openanimator.silo;
+ oa.log(siloAll);
+ oa.log("siloAll len",siloAll.length);
//process each silo
for(var i = 0; i< siloAll.length ; i++) {
+ oa.debug("parse " + i);
try {
if(typeof(this.MAPPING[siloAll[i].IDENTITY.TYPE]) != 'undefined') {
- eval(this.MAPPING[siloAll[i].IDENTITY.TYPE])(curDrawing,{'jsonData': siloAll[i]});
+ //eval(this.MAPPING[siloAll[i].IDENTITY.TYPE])(curDrawing,{'jsonData': siloAll[i]});
+ oa.pkg.run_parser(this.MAPPING[ siloAll[i].IDENTITY.TYPE ],curDrawing,{'jsonData':siloAll[i]});
}
}catch(e) { oa.error(e); }
}
}catch(e) { oa.error(e); }
- }
+ }
};
Modified: 0.6/core-framework/oa-pkg.js
===================================================================
--- 0.6/core-framework/oa-pkg.js 2010-12-21 11:42:22 UTC (rev 82)
+++ 0.6/core-framework/oa-pkg.js 2010-12-25 04:49:17 UTC (rev 83)
@@ -23,7 +23,7 @@
oa.namespace("oa.pkg");
oa.pkg = {
- queue : [ {script:"pkg-config.js",callingprefix:"oa.fn.anim_config"} ],
+ queue : [ {script:"pkg-config.js",callingprefix:"oa.fn.anim_config",parserfn:"parser"} ],
init_self: function(oaUrlPath) {
try {
if(oaUrlPath == undefined) oaUrlPath = "../../core-framework/";
@@ -35,9 +35,24 @@
element.type = "text/javascript"; element.src=oaUrlPath + this.queue[i].script; element.id = oa.randomid();
window.document.getElementsByTagName("body")[0].appendChild(element);
}catch(e) {oa.error(e);}
+ }else {
+ if(typeof this.queue[i].parserfn == "string") {
+ try {
+ oa.parser.setMapping(window[ this.queue[i].callingprefix ].MY_TYPE , this.queue[i].callingprefix);
+ }catch(e){oa.error(e);}
+ }
}
}
}catch(e){oa.error(e);}
+ },
+ run_parser: function(prefix,drawing,args) {
+ try {
+ for(var i=0;i<this.queue.length;i++) {
+ if(this.queue[i].callingprefix == prefix) {
+ (window[ prefix ])[ this.queue[i].parserfn ](drawing,args); break;
+ }
+ }
+ }catch(e){oa.error(e);}
}
};
Modified: 0.6/sample/config-test/anim.json
===================================================================
--- 0.6/sample/config-test/anim.json 2010-12-21 11:42:22 UTC (rev 82)
+++ 0.6/sample/config-test/anim.json 2010-12-25 04:49:17 UTC (rev 83)
@@ -1,7 +1,7 @@
{
"openanimator" : {
"silo" : [
- {
+ {
"IDENTITY": { "TYPE" : "anim/config/1.0" },
"window-width" : 600,
"window-height": 400,
Modified: 0.6/sample/config-test/index.html
===================================================================
--- 0.6/sample/config-test/index.html 2010-12-21 11:42:22 UTC (rev 82)
+++ 0.6/sample/config-test/index.html 2010-12-25 04:49:17 UTC (rev 83)
@@ -7,8 +7,11 @@
<script type="text/javascript">
try {
//load animation
-alert("ext:" + oa);
-}catch(e){}
+$.get("anim.json", function(data) {
+ var drawing = new oa.drawing(window.document); window['drawing'] = drawing;
+ oa.parser.parse(drawing, {'jsonData':data});
+} );
+}catch(e){oa.error(e);}
</script>
</body>
</html>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.