blob: e61b5ef91bde9a8a24a5b6641f40b3ffd87916a6 [file] [log] [blame]
Anand Doshi951d8ec2012-05-10 14:19:11 +05301
2/*
3 * erpnext/utilities/page/kb_common/kb_common.js
4 */
5KBItemToolbar=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();if(this.with_tags)
6this.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>';}}
9this.make_tags=function(){this.line1.innerHTML+=' | '
10this.tags_area=$a(this.line1,'span','kb-tags')
11this.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)}
12this.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()});});}
13this.make();}
14EditableText=function(args){$.extend(this,args);var me=this;me.$w=$(repl('<div class="ed-text">\
15 <div class="ed-text-display %(disp_class)s"></div>\
16 <a class="ed-text-edit" style="cursor: pointer; float: right; margin-top: -16px;">[edit]</a>\
17 <textarea class="ed-text-input %(inp_class)s hide"></textarea>\
18 <div class="help hide"><br>Formatted as <a href="http://en.wikipedia.org/wiki/Markdown#Syntax_examples"\
19 target="_blank">markdown</a></div>\
20 <button class="btn btn-small btn-info hide ed-text-save">Save</button>\
21 <a class="ed-text-cancel hide" style="cursor: pointer;">Cancel</a>\
22 </div>',args)).appendTo(me.parent);this.set_display=function(txt){me.$w.find('.ed-text-display').html(wn.markdown(txt));me.text=txt;}
23this.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();})
24me.$w.find('.ed-text-save').click(function(){var v=me.$w.find('.ed-text-input').val();if(!v){msgprint('Please write something!');return;}
25var 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;}
26me.set_display(v);me.show_as_text();});})
27me.$w.find('.ed-text-cancel').click(function(){me.show_as_text();})
28this.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);}
29this.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);}}