PageRenderTime 24ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 0ms

/js-orig/delegate.js

https://bitbucket.org/restorehc/rdi
JavaScript | 455 lines | 255 code | 161 blank | 39 comment | 27 complexity | c9f3899856d23604ff16db581b01a19c MD5 | raw file
  1. /* delegates */
  2. $(document).ready(function(){
  3. /* refillQ */
  4. $("body").delegate('.func_unfilled_rx', click_event, function(href) { href.preventDefault(); display_refillQ(acct.refill_reqs); });
  5. $('body').delegate('.rfg_refillLine', click_event, function() {
  6. var rfpid=$(this).dataset('patientid');
  7. $('#refillQ_area .rfqx.pat_' + rfpid).slideDown();
  8. $('#refillQ_area .rfql.pat_' + rfpid).hide();
  9. });
  10. $('body').delegate('#ma .pat_ div:nth-child(2) .child2-close', click_event, function() {
  11. var rfpid=$(this).dataset('patientid');
  12. $('#refillQ_area .rfqx.pat_' + rfpid).hide();
  13. $('#refillQ_area .rfql.pat_' + rfpid).show();
  14. });
  15. $("body").delegate('.rq_form', 'submit', function(elm) {
  16. elm.preventDefault();
  17. if(this.dorefill.checked || this.dnr.checked || this.patContact.checked ) {
  18. sendRefillQ(this);
  19. this.style.background='#E0ECE1';
  20. $('#submit-' + this.rxn.value)[0].style.color='#999';
  21. } else {
  22. display_errs([{msg: 'Please check to authoize, decline, or have the patient contact you', type: 'warning'}]);
  23. }
  24. } );
  25. $("body").delegate('.func_goto_chart', click_event, function(elm) {
  26. elm.preventDefault(); activate_patientchart($(this).dataset('patientid') || rd.patientid);
  27. } );
  28. $("body").delegate('.func_goto_dashboard', click_event, function(elm) {
  29. elm.preventDefault(); display_dashboard();
  30. } );
  31. $("body").delegate('.func_patient_list', click_event, function(elm) {
  32. elm.preventDefault(); display_patient_list();
  33. } );
  34. $("body").delegate('.func_patient_chart', click_event, function(elm) {
  35. elm.preventDefault(); activate_patientchart($(this).dataset('patientid'));
  36. } );
  37. $("body").delegate('.func_view_lab_report', click_event, function(elm) {
  38. elm.preventDefault(); view_lab_report($(this).dataset('rxn'));
  39. } );
  40. $("body").delegate('.func_view_note_file', click_event, function(elm) {
  41. elm.preventDefault(); view_note_file($(this).dataset());
  42. } );
  43. $("body").delegate('.func_add_note', click_event, function(elm) {
  44. elm.preventDefault(); add_note_prompt($(this).dataset());
  45. } );
  46. $("body").delegate('.func_choose_note_type', click_event, function(elm) {
  47. elm.preventDefault(); $('.note_type_area').hide(); $('#' + $(this).val() ).show('slow');
  48. } );
  49. $("body").delegate('.func_cancel_note', click_event, function(elm) {
  50. elm.preventDefault();
  51. $('#pc_notes').empty();
  52. stored_notes.appendTo('#pc_notes');
  53. });
  54. $("body").delegate('.func_save_note', click_event, function(elm) {
  55. elm.preventDefault();
  56. var new_note='';
  57. var n_n=$(this).dataset();
  58. $(".fresheditable").fresheditor("save", function(id, content) {
  59. new_note+='<div id="'+ ( id || '') +'">' + ( content || '' ) + '</div>';
  60. } );
  61. n_n['note_content']=new_note;
  62. n_n['note_type']='Patient';
  63. console.log(n_n);
  64. $.postJSON('/api/v1/addPatientNote', n_n, function(data) {
  65. if (data.success && data.data.noteID) {
  66. rd.pobj.notes.push(data.data);
  67. $('#add_note_form').find(':input:not(:disabled)').prop('disabled',true);
  68. // show success
  69. // fade
  70. $('#add_note_form').fadeOut("slow");
  71. // reinstate stored_notes
  72. stored_notes.appendTo('#pc_notes');
  73. // redraw them
  74. var new_data = toTableArray( jQuery.map([data.data], function(k,v) {
  75. var knt=$('<span>' + k['noteText'] + '</span>').text();
  76. k['noteText_s'] = ( knt.length > 27 ? knt.substr(0,24) + '...' : knt);
  77. k['noteFile_f']='' ; if (k['noteFile']) { k['noteFile_f']='<a class="func_view_note_file" style="z-index:19;" data-notefile="' + encodeURIComponent(k['noteFile']) + '" data-filename="' + encodeURIComponent(k['filename']) + '" data-noteid="' + encodeURIComponent(k['noteID']) + '" ><img class="file_icon" src="/images/file.png" /></a>'; } return k; }), ['noteText_s', 'dateEntered_f', 'author', 'noteFile_f', 'data' ]);
  78. pn_table.fnAddData(new_data);
  79. } else {
  80. //show failure! via display_errs
  81. }
  82. $('#add_note_form').remove();
  83. } );
  84. });
  85. $("body").delegate('.func_save_note_mobile', click_event, function(elm) {
  86. elm.preventDefault();
  87. var new_note='';
  88. var n_n=$(this).dataset();
  89. var newnotes= $('#add_note_form').serializeObject() ;
  90. if (newnotes.note_type == "decaf_area") { new_note+='<div id="decaf_area">' + ( newnotes.decaf_area || '' ) + '</div>'; }
  91. else {
  92. var soaps=['soap_s', 'soap_o','soap_a','soap_p'];
  93. jQuery.each( soaps, function(i, id) {
  94. new_note+='<div class="soap_note" id="'+ ( id || '') +'">' + ( newnotes[id] || '' ) + '</div>';
  95. });
  96. }
  97. n_n['note_content']=new_note;
  98. n_n['note_type']='Patient';
  99. $.postJSON('/api/v1/addPatientNote', n_n, function(data) {
  100. if (data.success && data.data.noteID) {
  101. rd.pobj.notes.push(data.data);
  102. $('#add_note_form').find(':input:not(:disabled)').prop('disabled',true);
  103. // show success
  104. // fade
  105. $('#add_note_form').fadeOut("slow");
  106. // reinstate stored_notes
  107. stored_notes.appendTo('#pc_notes');
  108. // redraw them
  109. var new_data = toTableArray( jQuery.map([data.data], function(k,v) {
  110. var knt=$('<span>' + k['noteText'] + '</span>').text();
  111. k['noteText_s'] = ( knt.length > 27 ? knt.substr(0,24) + '...' : knt);
  112. k['noteFile_f']='' ; if (k['noteFile']) { k['noteFile_f']='<a class="func_view_note_file" style="z-index:19;" data-notefile="' + encodeURIComponent(k['noteFile']) + '" data-filename="' + encodeURIComponent(k['filename']) + '" data-noteid="' + encodeURIComponent(k['noteID']) + '" ><img class="file_icon" src="/images/file.png" /></a>'; } return k; }), ['noteText_s', 'dateEntered_f', 'author', 'noteFile_f', 'data' ]);
  113. pn_table.fnAddData(new_data);
  114. } else {
  115. //show failure! via display_errs
  116. }
  117. $('#add_note_form').remove();
  118. } );
  119. });
  120. $("body").delegate('.func_cancel_note_mobile', click_event, function(elm) {
  121. elm.preventDefault();
  122. var new_note='';
  123. $('#add_note_form').find(':input:not(:disabled)').prop('disabled',true);
  124. // show success
  125. // fade
  126. $('#add_note_form').fadeOut("slow");
  127. // reinstate stored_notes
  128. stored_notes.appendTo('#pc_notes');
  129. $('.note_type_area').hide();
  130. $('#add_note_form').remove();
  131. });
  132. $("body").delegate('.func_view_lab_chart', click_event, function(elm) { var tmp_arr=new Array(); var tmp_sc=$(this).dataset('lab'); tmp_arr = tmp_sc.split(','); view_lab_chart({labs:tmp_arr});
  133. $('html, body').animate({scrollTop: $("#lab_graphing_area").offset().top}, 1200);
  134. } );
  135. $("body").delegate('#order_labs_saliva_frm', 'submit', function(elm) { elm.preventDefault(); var data=$(this).serializeObject(); data.patientid=rd.patientid; order_labs(data); return 1; } );
  136. $("body").delegate('#order_labs_serum_frm', 'submit', function(elm) { elm.preventDefault(); var data=$(this).serializeObject(); data.patientid=rd.patientid; order_labs(data); return 1; } );
  137. $("body").delegate('#order_otc_frm', 'submit', function(elm) { elm.preventDefault(); var data=$(this).serializeObject(); data.patientid=rd.patientid; order_otcs(data); return 1; } );
  138. $("body").undelegate('#order_otc_frm', 'submit', function(elm) { elm.preventDefault(); var data=$(this).serializeObject(); data.patientid=rd.patientid; order_otcs(data); return 1; } );
  139. $("body").delegate('.label_check, .label_radio', click_event, function(href) { setupLabel(); });
  140. setupLabel();
  141. $("body").delegate('.func_view_refill_req', click_event, function(elm) {elm.preventDefault(); show_patient_refill($(this).dataset('rfqn')); });
  142. $("body").delegate('.func_focus_hormone', click_event, function(elm) {elm.preventDefault(); focusHormone( $(this).dataset('def')); });
  143. $('body').delegate('.qselector', 'mouseover', function(elm) {
  144. if (training_mode) {
  145. $(this).qtip($.extend({}, sharedq, {
  146. overwrite: false,
  147. content: qt2_msg(this),
  148. show: {
  149. event: event.type,
  150. ready: true
  151. }
  152. }));
  153. }
  154. });
  155. /*
  156. $(this).qtip($.extend({}, sharedq, {
  157. overwrite: false,
  158. content: qt2_msg(this),
  159. show: {
  160. event: event.type,
  161. ready: true
  162. }
  163. }));
  164. */
  165. /* from nathan.js */
  166. $("body").delegate('.tmpl_checkbox', click_event, function(elm) { $(this).parents('form').toggleClass("rxtmp_active"); } );
  167. /* rxpad */
  168. /* hijacks */
  169. $("body").delegate('#return_to_pc_summary', click_event, function(elm) { elm.preventDefault(); activate_patientchart(rd.patientid, {pobj: rd.pobj}); } );
  170. $("body").delegate('#return_to_pc_full_chart', click_event, function(elm) { elm.preventDefault(); activate_patientchart(rd.patientid, {pobj: rd.pobj, active_tab: 'pc_full_chart'}); } );
  171. $("body").delegate('#return_to_pc_history', click_event, function(elm) { elm.preventDefault(); activate_patientchart(rd.patientid, {pobj: rd.pobj, active_tab: 'pc_history'}); } );
  172. $("body").delegate('#return_to_pc_pinfo', click_event, function(elm) { elm.preventDefault(); activate_patientchart(rd.patientid, {pobj: rd.pobj, active_tab: 'pc_pinfo_area'}); } );
  173. /* physioage */
  174. $('body').delegate( 'div.contentbox', 'patient_chart_built', function(elm) {
  175. $('<table id="ups_track_tbl"></table>').appendTo( "#notes_storage" );
  176. activate_ups_tracking_window(rd.pobj.shipments);
  177. // make date pickers
  178. $('.use_datepicker').datepicker();
  179. });
  180. $('body').delegate( 'div.contentbox', 'patient_messages_update', function(elm) {
  181. $.postJSON('/api/v1/getPatientMessages', {patientID: rd.patientid, patientid: rd.patientid}, function(data) {
  182. if (data.success && (typeof data.data =='object' || typeof data.data =='array')) {
  183. rd.pobj.messages=data.data;
  184. // rebuild summary
  185. $('#pc_msg_hist').html('');
  186. $('#tmpl_msg_hist').tmpl(rd.pobj).appendTo('#pc_msg_hist');
  187. // rebuild table
  188. activate_messages_tbl(rd.pobj.messages);
  189. }
  190. });
  191. });
  192. $('body').delegate( '.func_pb_tracking', click_event, function(elm) {
  193. var data=$(this).dataset();
  194. if (! data.trackNum) {data.trackNum=data.tracknum;}
  195. elm.preventDefault(); get_ups_track_info(data);
  196. });
  197. $("body").delegate('#get_ins_frm', 'submit', function(elm) { elm.preventDefault(); var data=$(this).serializeObject(); store_billing(data); return 1; } );
  198. $('body').delegate( '.func_view_pmsg', click_event, function(elm) {
  199. var data=$(this).dataset();
  200. elm.preventDefault(); pt_msg_popup(data);
  201. });
  202. $('body').delegate( '.func_take_to_message_hist', click_event, function(elm) {
  203. var data=$(this).dataset();
  204. elm.preventDefault();
  205. $( "#ma_parent" ).tabs('select', '#pc_history');
  206. $( "#pc_history" ).tabs('select', '#pc_hist_messages');
  207. });
  208. /* addresses */
  209. $("body").delegate(".add_address_button", "click", function(elm) {
  210. elm.preventDefault(); add_address_prompt($(this).dataset());
  211. });
  212. $("body").delegate(".add_address_form_post", "submit", function(elm) {
  213. var data=$(this).serializeObject();
  214. elm.preventDefault();
  215. if(data.addresstype == 'primary') {save_new_address(data);}
  216. else {add_adr(data);}
  217. });
  218. $("body").delegate(".func_add_alt_address", "submit", function(elm) {
  219. var data=$(this).serializeObject();
  220. elm.preventDefault(); add_adr(data);
  221. });
  222. $("body").delegate(".func_del_alt_address", "click", function(elm) {
  223. var data=$(this).dataset();
  224. elm.preventDefault(); del_adr_confirm(data);
  225. });
  226. $("body").delegate(".func_confirmed_del_adr", "click", function(elm) {
  227. var data=$(this).dataset();
  228. elm.preventDefault(); del_adr(data);
  229. });
  230. $("body").delegate(".func_edit_alt_address", "submit", function(elm) {
  231. var data=$(this).serializeObject();
  232. elm.preventDefault(); edit_adr(data);
  233. });
  234. $("body").delegate(".func_add_alt_address_date", "submit", function(elm) {
  235. var data=$(this).serializeObject();
  236. elm.preventDefault(); add_adr_date(data);
  237. });
  238. $("body").delegate(".func_del_alt_address_date", "submit", function(elm) {
  239. var data=$(this).serializeObject();
  240. elm.preventDefault(); del_adr_date(data);
  241. });
  242. $("body").delegate(".toggle_edit_alt_address", "click", function(elm) {
  243. elm.preventDefault();
  244. var aid = $(this).dataset('id');
  245. $('#alt_add_' + aid).hide();
  246. $('#alt_add_form_' + aid).show();
  247. $('#toggle_save_alt_address_' + aid).show();
  248. $(this).hide();
  249. });
  250. $("body").delegate(".toggle_save_alt_address", "click", function(elm) {
  251. elm.preventDefault();
  252. var aid = $(this).dataset('id');
  253. $('#alt_add_' + aid).show();
  254. var aform=$('#address_alt_' + aid);
  255. var data=aform.serializeObject();
  256. console.log(aform);
  257. console.log(data);
  258. aform.hide();
  259. $('#toggle_edit_alt_address_' + aid).show();
  260. $(this).hide();
  261. // save form:
  262. edit_adr(data);
  263. });
  264. $("body").delegate(".toggle_edit_pri_address", "click", function(elm) {
  265. elm.preventDefault();
  266. $('#pri_add').hide();
  267. $('#address_primary').show();
  268. $('#toggle_save_pri_address').show();
  269. $(this).hide();
  270. });
  271. $("body").delegate(".toggle_save_pri_address", "click", function(elm) {
  272. elm.preventDefault();
  273. $('#pri_add').show();
  274. var aform=$('#address_primary');
  275. var data=aform.serializeObject();
  276. aform.hide();
  277. $('#toggle_edit_pri_address').show();
  278. $(this).hide();
  279. // save form:
  280. edit_adr(data);
  281. });
  282. $("body").delegate('.clear_on_click', click_event, function(elm) {$(this).val('');} );
  283. /* fixes */
  284. /* broken */
  285. $("body").delegate('#tb_pc_rxp', click_event, function(elm) {
  286. console.log('delegate.js 241');
  287. elm.preventDefault();
  288. display_rxpad({patientid:rd.patientid}); } );
  289. /* fix tiny sb */
  290. $("body").delegate('.jqscrollbar .thumb', 'hover', function(elm) {
  291. console.log( $(this).parent().parent().parent().tinyscrollbar_update('relative') );
  292. } );
  293. });
  294. /* END fixes */