Merge branch 'handlerupdate' of github.com:webnotes/wnframework into handlerupdate
This commit is contained in:
commit
dcc201c4dc
6 changed files with 27 additions and 18 deletions
|
|
@ -33,10 +33,12 @@ div.list-row table {
|
|||
|
||||
div.list-row table td {
|
||||
overflow: hidden;
|
||||
padding-right: 3px;
|
||||
/*padding-right: 3px;*/
|
||||
padding: 0px 3px;
|
||||
vertical-align: middle;
|
||||
height: 24px;
|
||||
max-height: 24px;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
div.paging-button {
|
||||
|
|
|
|||
14
js/core.min.js
vendored
14
js/core.min.js
vendored
|
|
@ -250,7 +250,7 @@ this.listview.parent=this;},init_list:function(){this.make({method:'webnotes.wid
|
|||
<i class="icon-remove"></i> Delete</a>',function(){me.delete_items();},'.btn-filter')}},delete_items:function(){var me=this;var dl=$.map(me.$page.find('.list-delete:checked'),function(e){return $(e).data('name');});if(!dl.length)
|
||||
return;if(!confirm('This is PERMANENT action and you cannot undo. Continue?')){return;}
|
||||
me.set_working(true);wn.call({method:'webnotes.widgets.doclistview.delete_items',args:{items:dl,doctype:me.doctype},callback:function(){me.set_working(false);me.refresh();}})},init_stats:function(){var me=this
|
||||
wn.call({method:'webnotes.widgets.doclistview.get_stats',args:{stats:me.listview.stats,doctype:me.doctype},callback:function(r){$.each(r.message,function(field,stat){me.render_stat(field,stat);});}});},render_stat:function(field,stat){var me=this;if(!stat||!stat.length){if(field=='_user_tags'){this.$page.find('.layout-side-section').append('<div class="stat-wrapper"><h4>Tags</h4>\
|
||||
wn.call({method:'webnotes.widgets.doclistview.get_stats',args:{stats:me.listview.stats,doctype:me.doctype},callback:function(r){$.each(me.listview.stats,function(i,v){me.render_stat(v,r.message[v]);});}});},render_stat:function(field,stat){var me=this;if(!stat||!stat.length){if(field=='_user_tags'){this.$page.find('.layout-side-section').append('<div class="stat-wrapper"><h4>Tags</h4>\
|
||||
<div class="help small"><i>No records tagged.</i><br><br> \
|
||||
To add a tag, open the document and click on \
|
||||
"Add Tag" on the sidebar</div></div>');}
|
||||
|
|
@ -271,16 +271,16 @@ args.label=v[0];args.width=flt(v[1])/max*100;args.count=v[1];args.field=field;$i
|
|||
this.run();}});wn.views.ListView=Class.extend({init:function(doclistview){this.doclistview=doclistview;this.doctype=doclistview.doctype;var t="`tab"+this.doctype+"`.";this.fields=[t+'name',t+'owner',t+'docstatus',t+'_user_tags',t+'modified'];this.stats=['_user_tags'];if(!this.doclistview.can_delete){this.columns=$.map(this.columns,function(v,i){if(v.content!='check')return v});}},columns:[{width:'3%',content:'check'},{width:'4%',content:'avatar'},{width:'3%',content:'docstatus',css:{"text-align":"center"}},{width:'35%',content:'name'},{width:'40%',content:'tags',css:{'color':'#aaa'}},{width:'15%',content:'modified',css:{'text-align':'right','color':'#777'}}],render_column:function(data,parent,opts){var me=this;if(opts.css){$.each(opts.css,function(k,v){$(parent).css(k,v)});}
|
||||
if(opts.content.indexOf&&opts.content.indexOf('+')!=-1){$.map(opts.content.split('+'),function(v){me.render_column(data,parent,{content:v});});return;}
|
||||
if(typeof opts.content=='function'){opts.content(parent,data);}
|
||||
else if(opts.content=='name'){$(parent).html(repl('<a href="#!Form/%(doctype)s/%(name)s">%(name)s</a>',data));}
|
||||
else if(opts.content=='avatar'){$(parent).html(repl('<span class="avatar-small"><img src="%(avatar)s" \
|
||||
else if(opts.content=='name'){$(parent).append(repl('<a href="#!Form/%(doctype)s/%(name)s">%(name)s</a>',data));}
|
||||
else if(opts.content=='avatar'){$(parent).append(repl('<span class="avatar-small"><img src="%(avatar)s" \
|
||||
title="%(fullname)s"/></span>',data));}
|
||||
else if(opts.content=='check'){$(parent).html('<input class="list-delete" type="checkbox">');$(parent).find('input').data('name',data.name);}
|
||||
else if(opts.content=='docstatus'){$(parent).html(repl('<span class="docstatus"><i class="%(docstatus_icon)s" \
|
||||
else if(opts.content=='check'){$(parent).append('<input class="list-delete" type="checkbox">');$(parent).find('input').data('name',data.name);}
|
||||
else if(opts.content=='docstatus'){$(parent).append(repl('<span class="docstatus"><i class="%(docstatus_icon)s" \
|
||||
title="%(docstatus_title)s"></i></span>',data));}
|
||||
else if(opts.content=='tags'){this.add_user_tags(parent,data);}
|
||||
else if(opts.content=='modified'){$(parent).append(data.when);}
|
||||
else if(opts.type=='bar-graph'){args={percent:data[opts.content],fully_delivered:(data[opts.content]>99?'bar-complete':''),label:opts.label}
|
||||
$(parent).html(repl('<span class="bar-outer" style="width: 30px; float: right" \
|
||||
$(parent).append(repl('<span class="bar-outer" style="width: 30px; float: right" \
|
||||
title="%(percent)s% %(label)s">\
|
||||
<span class="bar-inner %(fully_delivered)s" \
|
||||
style="width: %(percent)s%;"></span>\
|
||||
|
|
@ -318,7 +318,7 @@ throw"Incomplete Request";}}
|
|||
wn.request.cleanup=function(opts,r){if(opts.btn)$(opts.btn).done_working();if(opts.show_spinner)hide_loading();if(opts.freeze)unfreeze();if(wn.boot.sid&&wn.get_cookie('sid')!=wn.boot.sid){msgprint('Session expired');setTimeout('redirect_to_login()',3000);return;}
|
||||
if(r.server_messages)msgprint(r.server_messages)
|
||||
if(r.exc){errprint(r.exc);console.log(r.exc);};if(r.docs)LocalDB.sync(r.docs);}
|
||||
wn.request.call=function(opts){wn.request.prepare(opts);$.ajax({url:opts.url||wn.request.url,data:opts.args,type:opts.type||'POST',dataType:opts.dataType||'json',success:function(r,xhr){wn.request.cleanup(opts,r);opts.success(r,xhr.responseText);},error:function(xhr,textStatus){wn.request.cleanup(opts,{});msgprint('Unable to complete request: '+textStatus)
|
||||
wn.request.call=function(opts){wn.request.prepare(opts);$.ajax({url:opts.url||wn.request.url,data:opts.args,type:opts.type||'POST',dataType:opts.dataType||'json',success:function(r,xhr){wn.request.cleanup(opts,r);opts.success(r,xhr.responseText);},error:function(xhr,textStatus){wn.request.cleanup(opts,{});show_alert('Unable to complete request: '+textStatus)
|
||||
if(opts.error)opts.error(xhr)}})}
|
||||
wn.call=function(opts){var args=$.extend({},opts.args)
|
||||
if(opts.module&&opts.page){args.cmd=opts.module+'.page.'+opts.page+'.'+opts.page+'.'+opts.method}else if(opts.method){args.cmd=opts.method;}
|
||||
|
|
|
|||
|
|
@ -200,8 +200,8 @@ var rstrip = function(s, chars) {
|
|||
if(!chars) chars = ['\n', '\t', ' '];
|
||||
var last_char = s.substr(s.length-1);
|
||||
while(in_list(chars, last_char)) {
|
||||
var s = s.substr(0, this.length-1);
|
||||
last_char = s.substr(this.length-1);
|
||||
var s = s.substr(0, s.length-1);
|
||||
last_char = s.substr(s.length-1);
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ wn.request.call = function(opts) {
|
|||
},
|
||||
error: function(xhr, textStatus) {
|
||||
wn.request.cleanup(opts, {});
|
||||
msgprint('Unable to complete request: ' + textStatus)
|
||||
show_alert('Unable to complete request: ' + textStatus)
|
||||
if(opts.error)opts.error(xhr)
|
||||
}
|
||||
})
|
||||
|
|
|
|||
|
|
@ -195,9 +195,16 @@ wn.views.DocListView = wn.ui.Listing.extend({
|
|||
doctype: me.doctype
|
||||
},
|
||||
callback: function(r) {
|
||||
// This gives a predictable stats order
|
||||
$.each(me.listview.stats, function(i, v) {
|
||||
me.render_stat(v, r.message[v]);
|
||||
});
|
||||
|
||||
// This doesn't give a predictable stats order
|
||||
/*
|
||||
$.each(r.message, function(field, stat) {
|
||||
me.render_stat(field, stat);
|
||||
});
|
||||
});*/
|
||||
}
|
||||
});
|
||||
},
|
||||
|
|
@ -338,19 +345,19 @@ wn.views.ListView = Class.extend({
|
|||
opts.content(parent, data);
|
||||
}
|
||||
else if(opts.content=='name') {
|
||||
$(parent).html(repl('<a href="#!Form/%(doctype)s/%(name)s">%(name)s</a>', data));
|
||||
$(parent).append(repl('<a href="#!Form/%(doctype)s/%(name)s">%(name)s</a>', data));
|
||||
}
|
||||
else if(opts.content=='avatar') {
|
||||
$(parent).html(repl('<span class="avatar-small"><img src="%(avatar)s" \
|
||||
$(parent).append(repl('<span class="avatar-small"><img src="%(avatar)s" \
|
||||
title="%(fullname)s"/></span>',
|
||||
data));
|
||||
}
|
||||
else if(opts.content=='check') {
|
||||
$(parent).html('<input class="list-delete" type="checkbox">');
|
||||
$(parent).append('<input class="list-delete" type="checkbox">');
|
||||
$(parent).find('input').data('name', data.name);
|
||||
}
|
||||
else if(opts.content=='docstatus') {
|
||||
$(parent).html(repl('<span class="docstatus"><i class="%(docstatus_icon)s" \
|
||||
$(parent).append(repl('<span class="docstatus"><i class="%(docstatus_icon)s" \
|
||||
title="%(docstatus_title)s"></i></span>', data));
|
||||
}
|
||||
else if(opts.content=='tags') {
|
||||
|
|
@ -365,7 +372,7 @@ wn.views.ListView = Class.extend({
|
|||
fully_delivered: (data[opts.content] > 99 ? 'bar-complete' : ''),
|
||||
label: opts.label
|
||||
}
|
||||
$(parent).html(repl('<span class="bar-outer" style="width: 30px; float: right" \
|
||||
$(parent).append(repl('<span class="bar-outer" style="width: 30px; float: right" \
|
||||
title="%(percent)s% %(label)s">\
|
||||
<span class="bar-inner %(fully_delivered)s" \
|
||||
style="width: %(percent)s%;"></span>\
|
||||
|
|
|
|||
|
|
@ -134,4 +134,4 @@ def scrub_user_tags(tagcount):
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue