@@ -10,16 +10,12 @@ app.config(function ($stateProvider) {
1010 url : '' ,
1111 templateUrl : 'modules/browser/views/models.html' ,
1212 controllerAs : 'ctrl' ,
13- controller : [ 'Meta' , 'models' ,
14- function ( Meta , models ) {
15- this . models = models ;
16- }
17- ] ,
13+ controller : [ 'models' , function ( models ) {
14+ this . models = models ;
15+ } ] ,
1816 resolve : {
19- models : [ 'Meta' , function ( Meta ) {
20- return Meta . getModels ( ) . $promise . then ( function ( res ) {
21- return res ;
22- } ) ;
17+ models : [ 'MetaService' , function ( MetaService ) {
18+ return MetaService . find ( ) ;
2319 } ]
2420 }
2521 } ) . state ( 'app.browser.models.info' , {
@@ -30,10 +26,8 @@ app.config(function ($stateProvider) {
3026 this . model = model ;
3127 } ] ,
3228 resolve : {
33- model : [ '$stateParams' , 'Meta' , function ( $stateParams , Meta ) {
34- return Meta . getModelById ( {
35- name : $stateParams . modelName
36- } ) . $promise ;
29+ model : [ '$stateParams' , 'MetaService' , function ( $stateParams , MetaService ) {
30+ return MetaService . findById ( $stateParams . modelName ) ;
3731 } ]
3832 }
3933 } ) . state ( 'app.browser.models.items' , {
@@ -49,18 +43,11 @@ app.config(function ($stateProvider) {
4943 }
5044 } ] ,
5145 resolve : {
52- model : [ '$stateParams' , 'Meta' , function ( $stateParams , Meta ) {
53- return Meta . getModelById ( {
54- name : $stateParams . modelName
55- } ) . $promise ;
46+ model : [ '$stateParams' , 'MetaService' , function ( $stateParams , MetaService ) {
47+ return MetaService . findById ( $stateParams . modelName ) ;
5648 } ] ,
57- items : [ '$stateParams' , '$injector' , 'Meta' , function ( $stateParams , $injector ) {
58- var Model = $injector . get ( $stateParams . modelName ) ;
59- if ( typeof Model . find !== 'function' ) {
60- return false ;
61- } else {
62- return Model . find ( ) . $promise ;
63- }
49+ items : [ '$stateParams' , 'MetaService' , function ( $stateParams , MetaService ) {
50+ return MetaService . getModelItems ( $stateParams . modelName ) ;
6451 } ]
6552 }
6653 } ) . state ( 'app.browser.models.items.view' , {
@@ -72,158 +59,60 @@ app.config(function ($stateProvider) {
7259 this . itemKeys = Object . keys ( this . item ) ;
7360 } ] ,
7461 resolve : {
75- item : [ '$stateParams' , '$injector' , function ( $stateParams , $injector ) {
76- var Model = $injector . get ( $stateParams . modelName ) ;
77- if ( typeof Model . find !== 'function' ) {
78- return false ;
79- } else {
80- return Model . findOne ( {
81- filter : {
82- where : {
83- id : $stateParams . modelId
84- }
85- }
86- } ) . $promise ;
87- }
62+ item : [ '$stateParams' , 'MetaService' , function ( $stateParams , MetaService ) {
63+ return MetaService . getModelItem ( $stateParams . modelName , $stateParams . modelId ) ;
8864 } ]
8965 }
9066 } ) . state ( 'app.browser.models.items.edit' , {
9167 url : '/:modelId/edit' ,
9268 templateUrl : 'modules/browser/views/models.items.edit.html' ,
9369 controllerAs : 'edit' ,
94- controller : [ '$state' , 'SweetAlert' , 'Model ', 'model' , 'item' , 'itemFields' ,
95- function ( $state , SweetAlert , Model , model , item , itemFields ) {
70+ controller : [ '$state' , 'MetaService ' , 'model' , 'item' , 'itemFields' ,
71+ function ( $state , MetaService , model , item , itemFields ) {
9672 this . item = item ;
9773 this . itemFields = itemFields ;
9874 this . submit = function ( ) {
99- Model . upsert ( this . item ) . $promise . then ( function ( res ) {
100- SweetAlert . swal ( 'Saved!' , 'The item is saved.' , 'success' ) ;
101- $state . go ( 'app.browser.models.items.view' , { modelName : model . name , modelId : res . id } , { reload : true } ) ;
75+ MetaService . upsert ( model . name , this . item ) . then ( function ( ) {
76+ $state . go ( 'app.browser.models.items' , { modelName : model . name } , { reload : true } ) ;
10277 } ) ;
10378 } ;
10479 } ] ,
10580 resolve : {
106- Model : [ '$stateParams' , '$injector' ,
107- function ( $stateParams , $injector ) {
108- return $injector . get ( $stateParams . modelName ) ;
109- } ] ,
110- item : [ '$stateParams' , 'Model' ,
111- function ( $stateParams , Model ) {
112- if ( typeof Model . find !== 'function' ) {
113- return false ;
114- } else {
115- return Model . findOne ( {
116- filter : {
117- where : {
118- id : $stateParams . modelId
119- }
120- }
121- } ) . $promise ;
122- }
123- } ] ,
124- itemFields : [ 'model' ,
125- function ( model ) {
126- var result = [ ] ;
127- angular . forEach ( model . properties , function ( value , property ) {
128- if ( property !== 'id' ) {
129- var itemField = {
130- key : property ,
131- type : 'input' ,
132- templateOptions : {
133- label : property
134- }
135- } ;
136- result . push ( itemField ) ;
137- }
138- } ) ;
139- return result ;
140- } ]
81+ item : [ '$stateParams' , 'MetaService' , function ( $stateParams , MetaService ) {
82+ return MetaService . getModelItem ( $stateParams . modelName , $stateParams . modelId ) ;
83+ } ] ,
84+ itemFields : [ '$stateParams' , 'MetaService' , 'model' , function ( $stateParams , MetaService , model ) {
85+ return MetaService . getModelFields ( model ) ;
86+ } ]
14187 }
14288 } ) . state ( 'app.browser.models.items.add' , {
14389 url : '/add' ,
14490 templateUrl : 'modules/browser/views/models.items.add.html' ,
14591 controllerAs : 'add' ,
146- controller : [ '$state' , 'SweetAlert' , 'Model ', 'model' , 'itemFields' ,
147- function ( $state , SweetAlert , Model , model , itemFields ) {
92+ controller : [ '$state' , 'MetaService ' , 'model' , 'itemFields' ,
93+ function ( $state , MetaService , model , itemFields ) {
14894 this . item = { } ;
14995 this . itemFields = itemFields ;
15096 this . submit = function ( ) {
151- Model . upsert ( this . item ) . $promise . then ( function ( res ) {
152- SweetAlert . swal ( 'Saved!' , 'The item is saved.' , 'success' ) ;
153- $state . go ( 'app.browser.models.items.view' , { modelName : model . name , modelId : res . id } , { reload : true } ) ;
97+ MetaService . upsert ( model . name , this . item ) . then ( function ( ) {
98+ $state . go ( 'app.browser.models.items' , { modelName : model . name } , { reload : true } ) ;
15499 } ) ;
155100 } ;
156101 } ] ,
157102 resolve : {
158- Model : [ '$stateParams' , '$injector' ,
159- function ( $stateParams , $injector ) {
160- return $injector . get ( $stateParams . modelName ) ;
161- } ] ,
162- itemFields : [ 'model' , function ( model ) {
163- var result = [ ] ;
164- angular . forEach ( model . properties , function ( value , property ) {
165- if ( property !== 'id' ) {
166- var itemField = {
167- key : property ,
168- type : 'input' ,
169- templateOptions : {
170- label : property
171- }
172- } ;
173- result . push ( itemField ) ;
174- }
175- } ) ;
176- return result ;
103+ itemFields : [ '$stateParams' , 'MetaService' , 'model' , function ( $stateParams , MetaService , model ) {
104+ return MetaService . getModelFields ( model ) ;
177105 } ]
178106 }
179107 } ) . state ( 'app.browser.models.items.delete' , {
180108 url : '/:modelId/delete' ,
181109 template : '' ,
182- controller : [ '$state' , 'SweetAlert' , 'Model' , 'model' , 'item' ,
183- function ( $state , SweetAlert , Model , model , item ) {
184- SweetAlert . swal ( {
185- title : 'Are you sure?' ,
186- text : 'Your will not be able to recover this item!' ,
187- type : 'warning' ,
188- showCancelButton : true ,
189- confirmButtonColor : '#DD6B55' , confirmButtonText : 'Yes' ,
190- cancelButtonText : 'No' ,
191- closeOnConfirm : false ,
192- closeOnCancel : true
193- } ,
194- function ( isConfirm ) {
195- if ( isConfirm ) {
196- Model . deleteById ( { id : item . id } ) . $promise . then ( function ( ) {
197- SweetAlert . swal ( 'Deleted!' , 'The item is deleted.' , 'success' ) ;
198- $state . go ( 'app.browser.models.items' , { modelName : model . name } , { reload : true } ) ;
199- } ) ;
200- } else {
201- $state . go ( 'app.browser.models.items.view' , { modelName : model . name , modelId : item . id } , { reload : true } ) ;
202- }
203- }
204- ) ;
205- }
206- ] ,
207- resolve : {
208- Model : [ '$stateParams' , '$injector' ,
209- function ( $stateParams , $injector ) {
210- return $injector . get ( $stateParams . modelName ) ;
211- } ] ,
212- item : [ '$stateParams' , 'Model' ,
213- function ( $stateParams , Model ) {
214- if ( typeof Model . find !== 'function' ) {
215- return false ;
216- } else {
217- return Model . findOne ( {
218- filter : {
219- where : {
220- id : $stateParams . modelId
221- }
222- }
223- } ) . $promise ;
224- }
225- }
226- ]
227- }
110+ controller : [ '$state' , '$stateParams' , 'MetaService' , 'model' , function ( $state , $stateParams , MetaService , model ) {
111+ MetaService . delete ( model . name , $stateParams . modelId , function ( ) {
112+ $state . go ( 'app.browser.models.items' , { modelName : model . name } , { reload : true } ) ;
113+ } , function ( ) {
114+ $state . go ( 'app.browser.models.items' , { modelName : model . name } , { reload : true } ) ;
115+ } ) ;
116+ } ]
228117 } ) ;
229118} ) ;
0 commit comments