Skip to content

Commit d75bc1f

Browse files
committed
Small bug fixes + cleanup.
1 parent ab0bfa6 commit d75bc1f

File tree

6 files changed

+29
-13
lines changed

6 files changed

+29
-13
lines changed

demo/test.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
<body>
2424

2525
<div class="evo-header">
26-
<div class="evo-logo"><a href="../index.html"><span>evol</span>utility<span>.js</span></a></div>
26+
<div class="evo-logo"><a href="../index.html"><span>evol</span>utility</a></div>
2727
<ul class="evo-head-links">
2828
<li><a href="index.html">demo</a></li>
2929
<li><a href="../doc/index.html">doc</a></li>

js/dico/format.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ Evol.Format = {
2727
return '';
2828
},
2929
cr2br: function(v, escape){
30-
if(v==='' || v===null){
30+
if(v==='' || v===null || _.isUndefined(v)){
3131
return '';
3232
}
3333
var txt=escape?_.escape(v):v;
@@ -73,7 +73,13 @@ Evol.Format = {
7373

7474
// --- JSON formats ---
7575
jsonString: function(d, cr2br){
76-
var dd = (_.isString(d) && d!=='') ? $.parseJSON(d) : d;
76+
var dd;
77+
try{
78+
dd=(_.isString(d) && d!=='') ? $.parseJSON(_.unescape(d)) : d;
79+
}catch(err){
80+
alert('Error: format.jsonString'+ err);
81+
dd={"error": "Evol.Format.jsonString"};
82+
}
7783
if(dd===''){
7884
return dd;
7985
}else{

js/view-many/many-bubbles.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ Evol.ViewMany.Bubbles = Evol.View_Many.extend({
4747
uiModel: this.uiModel,
4848
tooltip: function(d){
4949
var h=[],
50-
flds=that.getFields();//(h, fields, model, icon, selectable, route, isTooltip)
50+
flds=that.getFields();
5151
Evol.ViewMany.Cards.prototype.HTMLItem.call(that, h, flds, new Backbone.Model(d), null, null, null, true);
5252
return h.join('');
5353
}

js/view-many/many-cards.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,8 @@ Evol.ViewMany.Cards = Evol.View_Many.extend({
6363
v = '<a href="#'+route+model.id+'">'+
6464
that._HTMLField(f, model.escape(f.attribute || f.id))+
6565
'</a>';
66+
}else if(f.type===fts.json){
67+
v = model.get(f.attribute || f.id);
6668
}else{
6769
v = that._HTMLField(f, model.escape(f.attribute || f.id));
6870
}

js/view-many/many-list.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ Evol.ViewMany.List = Evol.View_Many.extend({
6969
v = input.colorBox(f.id, model.escape(f.attribute || f.id));
7070
}else if(f.type===ft.formula){
7171
v = input.formula(null, f, model);
72-
}else if(f.type===ft.html){
72+
}else if(f.type===ft.json || f.type===ft.html){
7373
v = model.get(f.attribute || f.id);
7474
//if(v && v.length>200){
7575
//v = v.subString(0,200)+'...';

js/view-one/one.js

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ return Backbone.View.extend({
192192
$f.html(uiInput.colorBox(f.id, fv, fv));
193193
break;
194194
case fts.json:
195-
$f.val(Evol.Format.jsonString(fv, true));
195+
$f.val(Evol.Format.jsonString(fv, false));
196196
break;
197197
default:
198198
$f.text(eDico.fieldHTML_RO(f, _.isUndefined(fv)?'':fv, Evol.hashLov, iconsPath) + ' ');
@@ -726,11 +726,15 @@ return Backbone.View.extend({
726726
fv = (mode !== 'new') ? this.model.get(f.id) : f.defaultValue || '';
727727
}
728728
if(f.type===fts.formula){
729-
h.push(Evol.Dico.HTMLFieldLabel(f, mode || 'edit')+
730-
dom.input.formula(this.fieldViewId(f.id), f, this.model));
731-
}else if(f.type===fts.json && mode==='browse'){
732-
h.push(Evol.Dico.HTMLFieldLabel(f, mode)+
733-
dom.input.textM(this.fieldViewId(f.id), Evol.Format.jsonString(fv, false), f.maxLen, f.height, true));
729+
if(!skipLabel){
730+
h.push(Evol.Dico.HTMLFieldLabel(f, mode || 'edit'));
731+
}
732+
h.push(dom.input.formula(this.fieldViewId(f.id), f, this.model));
733+
}else if(f.type===fts.json && (mode==='browse' || f.readOnly)){
734+
if(!skipLabel){
735+
h.push(Evol.Dico.HTMLFieldLabel(f, mode));
736+
}
737+
h.push(dom.input.textM(this.fieldViewId(f.id), Evol.Format.jsonString(fv, false), f.maxLen, f.height, true));
734738
}else{
735739
h.push(eDico.fieldHTML(f, this.fieldViewId(f.id), fv, mode, iconsPath, skipLabel));
736740
}
@@ -752,7 +756,11 @@ return Backbone.View.extend({
752756
setTitle: function (title){
753757
var bdg=this.uiModel.fnBadge;
754758
if(bdg){
755-
bdg=bdg(this.model);
759+
if(_.isString(bdg)){
760+
bdg=this.model.escape(bdg)||'';
761+
}else{
762+
bdg=bdg(this.model);
763+
}
756764
}
757765
return eDico.setViewTitle(this, title, bdg);
758766
},
@@ -776,7 +784,7 @@ return Backbone.View.extend({
776784
scInvalid = 0;
777785
_.each(scData, function(rowData, idx){
778786
_.each(sc.elements, function(f){
779-
if(that.validateField(f, rowData[f.id].substring(0,10))){
787+
if(that.validateField(f, f.type==='date' ? rowData[f.id].substring(0,10) : rowData[f.id])){
780788
trs.eq(idx).find('#'+f.id).parent().addClass('has-error');
781789
scInvalid++;
782790
}

0 commit comments

Comments
 (0)