Skip to content

Commit c2b5adc

Browse files
committed
Added config w/ options for REST or localStorage.
1 parent 918e8ea commit c2b5adc

4 files changed

Lines changed: 49 additions & 19 deletions

File tree

Gruntfile.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ module.exports = function (grunt) {
5959
separator: ';\n'
6060
},
6161
src: [
62+
'js/dico/config.js',
63+
6264
'js/dico/ui.js',
6365
'js/dico/ui-*.js',
6466
'js/i18n/EN.js',
@@ -70,7 +72,6 @@ module.exports = function (grunt) {
7072
'js/view-one/one.js',
7173
'js/view-one/one-*.js',
7274
'!js/view-one/one-wizard.js', // NOT ! here
73-
7475
//'js/view-action/action.js',
7576
'js/view-action/action-*.js',
7677

js/dico/app.js

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -158,15 +158,32 @@ Evol.App = Backbone.View.extend({
158158
},
159159

160160
createEntity: function($v, uiModel, data, defaultView, options, cb){
161-
var that=this,
162-
lc = new Backbone.LocalStorage(this.prefix+uiModel.id),
163-
M = Backbone.Model.extend({
164-
localStorage: lc
165-
}),
166-
Ms = Backbone.Collection.extend({
167-
model: M,
168-
localStorage: lc
169-
});
161+
var that=this, url, M, Ms;
162+
163+
if(Evol.Config){
164+
if(Evol.Config.localStorage){
165+
var lc = new Backbone.LocalStorage(this.prefix+uiModel.id);
166+
M = Backbone.Model.extend({
167+
localStorage: lc
168+
});
169+
Ms = Backbone.Collection.extend({
170+
model: M,
171+
localStorage: lc
172+
});
173+
}else{
174+
url = Evol.Config.url+uiModel.id;
175+
M = Backbone.Model.extend({
176+
url: url,
177+
urlRoot: url
178+
});
179+
Ms = Backbone.Collection.extend({
180+
model: M,
181+
url: url
182+
});
183+
}
184+
}else{
185+
alert('Error: missing config file.');
186+
}
170187

171188
var ms = new Ms();
172189
ms.fetch({

js/dico/config.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
2+
var Evol = Evol || {};
3+
4+
Evol.Config = {
5+
localStorage: true,
6+
url: 'http://localhost:3000/api/v1/evol/'
7+
};

js/dico/toolbar.js

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,6 @@ return Backbone.View.extend({
129129
that=this,
130130
eUIm=eUI.menu,
131131
tb=this.buttons,
132-
endMenu='</ul></li>',
133132
menuDevider='<li class="divider" data-cardi="1"></li>',
134133
menuDeviderH='<li class="divider-h"></li>';
135134

@@ -171,7 +170,7 @@ return Backbone.View.extend({
171170
h.push(menuDevider);
172171
link2h('new-field','New Field','plus');
173172
link2h('new-panel','New Panel','plus');
174-
h+=endMenu;
173+
h+='</ul></li>';
175174
} */
176175

177176
}
@@ -551,12 +550,14 @@ return Backbone.View.extend({
551550
},
552551

553552
setModelById: function(id){
554-
var m=this.collection.get(id);
553+
var m = this.collection.get(id);
554+
//var m = new Backbone.Model();
555+
//m.fetch(id);
555556
if(_.isUndefined(m)){
556557
alert('Error: Invalid model ID.');
557558
//TODO: do something
558559
}else{
559-
this.model=m;
560+
this.model = m;
560561
if(this.curView.cardinality!='1'){
561562
this.setView('browse');//(this._prevViewOne || 'edit');
562563
}
@@ -644,14 +645,16 @@ return Backbone.View.extend({
644645
}
645646
}else{
646647
// TODO fix bug w/ insert when filter applied => dup record
647-
this.model.set(this.getData(true));
648-
this.model.save('','',{
648+
var updateModel = this.getData(true);
649+
//this.model.set(updateModel);
650+
this.model.save(updateModel, {
651+
//patch: true,
649652
success: function(m){
650653
fnSuccess(m);
651654
that.setMessage(i18n.getLabel('saved', eUI.capitalize(entityName)), i18n.getLabel('msg.updated', eUI.capitalize(entityName), _.escape(vw.getTitle())), 'success');
652655
},
653-
error:function(m, err){
654-
alert('error in "saveItem"');
656+
error: function(m, err){
657+
alert('Error '+err.status+' - '+err.statusText);
655658
}
656659
});
657660
}
@@ -679,11 +682,12 @@ return Backbone.View.extend({
679682

680683
deleteItem: function(){
681684
var that=this,
685+
uimId=this.uiModel.id,
682686
entityName=this.uiModel.name,
683687
entityValue=this.curView.getTitle();
684688

685689
if(this.curView.cardinality==='1'){
686-
var delModel=this.curView.model;
690+
var delModel=this.model;
687691
if(delModel){
688692
eUI.modal.confirm(
689693
'delete',
@@ -710,6 +714,7 @@ return Backbone.View.extend({
710714
newModel.collection = collec;
711715
}
712716
delModel.destroy({
717+
url: that.model.url+'/'+delModel.id,
713718
success:function(){
714719
if(newModel===null || collec.length===0){
715720
that.curView.clear();

0 commit comments

Comments
 (0)