1 |
|
2 | var stringNEWSTATE = "//%NEW_STATE";
|
3 | var stringDEFAULT ="//%DEFAULT_STATE";
|
4 | exports.loadState = function(fs){
|
5 | var ret = fs.existsSync("./state.json");
|
6 | if(ret){
|
7 | return JSON.parse(fs.readFileSync('./state.json', 'utf8'));
|
8 | }else{
|
9 | return ret;
|
10 | }
|
11 | }
|
12 |
|
13 | exports.saveState = function(fs,state){
|
14 |
|
15 | fs.open("./state.json",'w+',function(err,fd){
|
16 | fs.write(fd,JSON.stringify(state));
|
17 | })
|
18 |
|
19 | }
|
20 |
|
21 | exports.createNewState = function(fs,stateData,config,isAbstract,defaultState){
|
22 |
|
23 | var file = fs.readFileSync('settings/config.routes.js','utf8');
|
24 |
|
25 |
|
26 |
|
27 | var str = file.replace(stringNEWSTATE,genStateApp(stateData,isAbstract));
|
28 | if(defaultState){
|
29 | str = str.replace(stringDEFAULT,genDefaultState(stateData));
|
30 | }
|
31 |
|
32 | fs.open("settings/config.routes.js",'w+',function(err,fd){
|
33 | fs.write(fd,str);
|
34 | })
|
35 |
|
36 |
|
37 |
|
38 | }
|
39 |
|
40 |
|
41 | exports.updateControllerFile = function(usageModule,fs,states){
|
42 |
|
43 |
|
44 | states.forEach(function(val,id){
|
45 | if(id!=0){
|
46 | var file = fs.readFileSync("js/"+val.name+"CTRL.js","utf8");
|
47 | file = file.replace("$scope","$scope,"+usageModule);
|
48 | fs.open("js/"+val.name+"CTRL.js","w+",function(err,fd){
|
49 | fs.write(fd,file);
|
50 | });
|
51 | }
|
52 | })
|
53 |
|
54 |
|
55 | }
|
56 |
|
57 |
|
58 | function genDefaultState(stateData){
|
59 | var jsDefault ="$urlRouterProvider.otherwise("+stateData.url+");\n";
|
60 | return jsDefault
|
61 | }
|
62 |
|
63 | function genStateApp(state,isAbstract){
|
64 |
|
65 | var statejs = ".state('"+state.name+"',{\n\t\t\t\t\turl:"+state.url+
|
66 | ",\n\t\t\t\t\ttemplateUrl:"+state.templateUrl+
|
67 | ",\n\t\t\t\t\tcontroller:"+state.controller+""
|
68 | if(isAbstract){
|
69 | statejs+=",\n\t\t\t\t\tabstract:true";
|
70 | }
|
71 |
|
72 | statejs += "\n\t\t\t\t}\n\t\t\t)\n\t\t\t"+stringNEWSTATE+"\n";
|
73 | return statejs;
|
74 | } |
\ | No newline at end of file |