blob: 97ad5deb8e5e31f1d59831d075ff076127bf94ab [file] [log] [blame]
Anand Doshi951d8ec2012-05-10 14:19:11 +05301
2/*
3 * erpnext/utilities/page/kb_common/kb_common.js
4 */
Rushabh Mehtac7dbe292012-08-07 12:12:55 +05305KBItemToolbar=function(args,kb){$.extend(this,args);var me=this;this.make=function(){this.wrapper=$a(this.parent,'div','',{});this.line1=$a(this.wrapper,'div','',{color:'#888',fontSize:'11px',margin:'7px 0px'});this.make_timestamp();this.make_answers();if(this.with_tags)
Anand Doshi951d8ec2012-05-10 14:19:11 +05306this.make_tags();this.setup_del();}
7this.make_timestamp=function(){this.line1.innerHTML=repl('By %(name)s | %(when)s',{name:wn.utils.full_name(this.det.first_name,this.det.last_name),when:wn.datetime.comment_when(this.det.modified)});if(has_common(user_roles,['Administrator','System Manager'])){this.line1.innerHTML+=' | <a style="cursor:pointer;"\
8 class="del-link">delete</a>';}}
Rushabh Mehta6252c132012-08-07 12:53:49 +05309this.make_answers=function(){if(this.doctype=='Question'){if(this.det.answers==0){this.line1.innerHTML+=' | no answers';}else if(this.det.answers==1){this.line1.innerHTML+=' | 1 answer';}else{this.line1.innerHTML+=' | '+this.det.answers+' answers';}}}
Anand Doshi951d8ec2012-05-10 14:19:11 +053010this.make_tags=function(){this.line1.innerHTML+=' | '
11this.tags_area=$a(this.line1,'span','kb-tags')
12this.tags=new TagList(this.tags_area,this.det._user_tags&&(this.det._user_tags.split(',')),this.doctype,this.det.name,0,kb.set_tag_filter)}
13this.setup_del=function(){$(this.line1).find('.del-link').click(function(){console.log(1);this.innerHTML='deleting...';this.disabled=1;$c_page('utilities','questions','delete',{dt:me.doctype,dn:me.det.name},function(r,rt){kb.list.run()});});}
14this.make();}
15EditableText=function(args){$.extend(this,args);var me=this;me.$w=$(repl('<div class="ed-text">\
16 <div class="ed-text-display %(disp_class)s"></div>\
17 <a class="ed-text-edit" style="cursor: pointer; float: right; margin-top: -16px;">[edit]</a>\
18 <textarea class="ed-text-input %(inp_class)s hide"></textarea>\
Rushabh Mehta02aab692012-08-07 16:44:36 +053019 <div class="help hide"><br>Formatted as <a href="#markdown-reference"\
Anand Doshi951d8ec2012-05-10 14:19:11 +053020 target="_blank">markdown</a></div>\
21 <button class="btn btn-small btn-info hide ed-text-save">Save</button>\
22 <a class="ed-text-cancel hide" style="cursor: pointer;">Cancel</a>\
23 </div>',args)).appendTo(me.parent);this.set_display=function(txt){me.$w.find('.ed-text-display').html(wn.markdown(txt));me.text=txt;}
24this.set_display(me.text);if(me.height)me.$w.find('.ed-text-input').css('height',me.height);me.$w.find('.ed-text-edit').click(function(){me.$w.find('.ed-text-input').val(me.text);me.show_as_input();})
25me.$w.find('.ed-text-save').click(function(){var v=me.$w.find('.ed-text-input').val();if(!v){msgprint('Please write something!');return;}
26var btn=this;$(btn).set_working();$c_page('utilities','question_view','update_item',{dt:me.dt,dn:me.dn,fn:me.fieldname,text:v},function(r){$(btn).done_working();if(r.exc){msgprint(r.exc);return;}
27me.set_display(v);me.show_as_text();});})
28me.$w.find('.ed-text-cancel').click(function(){me.show_as_text();})
29this.show_as_text=function(){me.$w.find('.ed-text-display, .ed-text-edit').toggle(true);me.$w.find('.ed-text-input, .ed-text-save, .ed-text-cancel, .help').toggle(false);}
30this.show_as_input=function(){me.$w.find('.ed-text-display, .ed-text-edit').toggle(false);me.$w.find('.ed-text-input, .ed-text-save, .ed-text-cancel, .help').toggle(true);}}