@@ -81,7 +81,6 @@ | |||||
"lib/public/js/legacy/widgets/dialog.js", | "lib/public/js/legacy/widgets/dialog.js", | ||||
"lib/public/js/legacy/webpage/page_header.js", | "lib/public/js/legacy/webpage/page_header.js", | ||||
"lib/public/js/legacy/webpage/loaders.js", | "lib/public/js/legacy/webpage/loaders.js", | ||||
"lib/public/js/legacy/wn/widgets/footer.js", | |||||
"lib/public/js/legacy/model/local_data.js", | "lib/public/js/legacy/model/local_data.js", | ||||
"lib/public/js/legacy/model/doclist.js", | "lib/public/js/legacy/model/doclist.js", | ||||
"lib/public/js/wn/app.js" | "lib/public/js/wn/app.js" | ||||
@@ -43,9 +43,9 @@ Field.prototype.make_body = function() { | |||||
// parent element | // parent element | ||||
if(this.parent) | if(this.parent) | ||||
this.wrapper = $a(this.parent, (this.with_label ? 'div' : 'span')); | |||||
this.wrapper = $a(this.parent, (this.with_label || this.df.fieldtype=="HTML" ? 'div' : 'span')); | |||||
else | else | ||||
this.wrapper = document.createElement((this.with_label ? 'div' : 'span')); | |||||
this.wrapper = document.createElement((this.with_label || this.df.fieldtype=="HTML" ? 'div' : 'span')); | |||||
this.label_area = $a(this.wrapper, 'div', '', {margin:'0px 0px 2px 0px', minHeight:'1em'}); | this.label_area = $a(this.wrapper, 'div', '', {margin:'0px 0px 2px 0px', minHeight:'1em'}); | ||||
@@ -1,48 +0,0 @@ | |||||
// Copyright (c) 2012 Web Notes Technologies Pvt Ltd (http://erpnext.com) | |||||
// | |||||
// MIT License (MIT) | |||||
// | |||||
// Permission is hereby granted, free of charge, to any person obtaining a | |||||
// copy of this software and associated documentation files (the "Software"), | |||||
// to deal in the Software without restriction, including without limitation | |||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense, | |||||
// and/or sell copies of the Software, and to permit persons to whom the | |||||
// Software is furnished to do so, subject to the following conditions: | |||||
// | |||||
// The above copyright notice and this permission notice shall be included in | |||||
// all copies or substantial portions of the Software. | |||||
// | |||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, | |||||
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A | |||||
// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | |||||
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF | |||||
// CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE | |||||
// OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | |||||
// | |||||
// a simple footer | |||||
// args - parent, columns, items | |||||
// items as [{column:1, label:'x', description:'y', onclick:function}] | |||||
wn.widgets.Footer = function(args) { | |||||
$.extend(this, args); | |||||
this.make = function() { | |||||
this.wrapper = $a(this.parent, 'div', 'std-footer'); | |||||
this.table = make_table(this.wrapper, 1, this.columns, [], {width:100/this.columns + '%'}); | |||||
this.render_items(); | |||||
} | |||||
this.render_items = function() { | |||||
for(var i=0; i<this.items.length; i++) { | |||||
var item = this.items[i]; | |||||
var div = $a($td(this.table,0,item.column), 'div', 'std-footer-item'); | |||||
div.label = $a($a(div,'div'),'span','link_type','',item.label); | |||||
div.label.onclick = item.onclick; | |||||
if(item.description) { | |||||
div.description = $a(div,'div','field_description','',item.description); | |||||
} | |||||
} | |||||
} | |||||
if(this.items) | |||||
this.make(); | |||||
} |
@@ -1,23 +1,36 @@ | |||||
wn.provide('wn.utils'); | wn.provide('wn.utils'); | ||||
wn.utils.comma_or = function(list) { | |||||
return wn.utils.comma_sep(list, " or "); | |||||
} | |||||
wn.utils.comma_and = function(list) { | |||||
return wn.utils.comma_sep(list, " and "); | |||||
} | |||||
wn.utils.comma_sep = function(list, sep) { | |||||
if(list instanceof Array) { | |||||
if(list.length==0) { | |||||
return ""; | |||||
} else if (list.length==1) { | |||||
return list[0]; | |||||
wn.utils = { | |||||
filter_dict: function(dict, filters) { | |||||
var ret = []; | |||||
if(typeof filters=='string') { | |||||
return [dict[filters]] | |||||
} | |||||
$.each(dict, function(i, d) { | |||||
for(key in filters) { | |||||
if(d[key]!=filters[key]) return; | |||||
} | |||||
ret.push(d); | |||||
}); | |||||
return ret; | |||||
}, | |||||
comma_or: function(list) { | |||||
return wn.utils.comma_sep(list, " or "); | |||||
}, | |||||
comma_and: function(list) { | |||||
return wn.utils.comma_sep(list, " and "); | |||||
}, | |||||
comma_sep: function(list, sep) { | |||||
if(list instanceof Array) { | |||||
if(list.length==0) { | |||||
return ""; | |||||
} else if (list.length==1) { | |||||
return list[0]; | |||||
} else { | |||||
return list.slice(0, list.length-1).join(", ") + sep + list.slice(-1)[0]; | |||||
} | |||||
} else { | } else { | ||||
return list.slice(0, list.length-1).join(", ") + sep + list.slice(-1)[0]; | |||||
return list; | |||||
} | } | ||||
} else { | |||||
return list; | |||||
} | } | ||||
} | } |
@@ -105,5 +105,10 @@ wn.model = { | |||||
var ret = !is_null(val); | var ret = !is_null(val); | ||||
} | } | ||||
return ret ? true : false; | return ret ? true : false; | ||||
} | |||||
}, | |||||
get: function(doctype, filters) { | |||||
if(!locals[doctype]) return []; | |||||
return wn.utils.filter_dict(locals[doctype], filters); | |||||
}, | |||||
} | } |
@@ -265,6 +265,10 @@ def doc(doctype=None, name=None, fielddata=None): | |||||
from webnotes.model.doc import Document | from webnotes.model.doc import Document | ||||
return Document(doctype, name, fielddata) | return Document(doctype, name, fielddata) | ||||
def doclist(lst=None): | |||||
from webnotes.model.doclist import DocList | |||||
return DocList(lst) | |||||
def model_wrapper(doctype, name=None): | def model_wrapper(doctype, name=None): | ||||
from webnotes.model.wrapper import ModelWrapper | from webnotes.model.wrapper import ModelWrapper | ||||
return ModelWrapper(doctype, name) | return ModelWrapper(doctype, name) | ||||
@@ -93,8 +93,10 @@ def load_single_doc(dt, dn, user): | |||||
so, r = webnotes.model.code.get_server_obj(dl[0], dl), None | so, r = webnotes.model.code.get_server_obj(dl[0], dl), None | ||||
if hasattr(so, 'onload'): | if hasattr(so, 'onload'): | ||||
r = webnotes.model.code.run_server_obj(so, 'onload') | r = webnotes.model.code.run_server_obj(so, 'onload') | ||||
dl = so.doclist | |||||
if hasattr(so, 'custom_onload'): | if hasattr(so, 'custom_onload'): | ||||
r = webnotes.model.code.run_server_obj(so, 'custom_onload') | r = webnotes.model.code.run_server_obj(so, 'custom_onload') | ||||
dl = so.doclist | |||||
if r: | if r: | ||||
webnotes.msgprint(r) | webnotes.msgprint(r) | ||||
except Exception, e: | except Exception, e: | ||||