Skip to content

Instantly share code, notes, and snippets.

@mauritslamers
Created April 14, 2013 20:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mauritslamers/5384031 to your computer and use it in GitHub Desktop.
Save mauritslamers/5384031 to your computer and use it in GitHub Desktop.
example for load from disk
MyApp.statechart.sendEvent("loadData",[{ folder: "name": files: ["filename1.js"] }]);
MyApp.statechart = SC.Statechart.create({
rootState: SC.State.design({
initialSubstate: 'LOAD_DIR_STRUCTURE',
LOAD_DIR_STRUCTURE: SC.State.design({
enterState: function(){
MyApp.loadingPane.append();
return SC.Async.perform('load');
},
script: null,
load: function(){
// inject script tag
var script = document.createElement('script');
script.type= 'text/javascript';
script.src= 'helper.js';
this.script = script;
document.appendChild(script);
},
loadData: function(data){
if(!data) throw "False data";
data.forEach(function(rec){
var id = rec.folder;
MyApp.store.pushRetrieve(MyApp.myModel,id,rec);
});
this.resumeGotoState();
document.removeChild(this.script);
this.script = null; // prevent leak
this.gotoState('MAIN');
}
}),
MAIN: SC.State.design({
})
})
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment