dialog.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. /***
  2. * This file will handle the dialog boxes as they and their associated configurations and function binding
  3. */
  4. if (!dialog){
  5. var dialog = {}
  6. }
  7. dialog.open = function(title,msg,pointer){
  8. if (sessionStorage.dialog == null){
  9. var http = HttpClient.instance()
  10. http.get(sessionStorage.io_context+'/static/dialog.html',function(x){
  11. var html = x.responseText
  12. jx.modal.show({html:html,id:'dialog'})
  13. $('.dialog .title').text(title)
  14. $('.dialog .message .text').text(msg)
  15. dialog.status.ask()
  16. $('.dialog .action .active-button').on('click',pointer)
  17. $('.dialog .title-bar .close').on('click',function(){dialog.close(0)})
  18. })
  19. }else{
  20. var html = sessionStorage.dialog
  21. jx.modal.show({html:html,id:'dialog'})
  22. dialog.status.ask()
  23. $('.dialog .action .active-button').on('click',pointer)
  24. $('.dialog .title-bar .close').on('click',function(){dialog.close(0)})
  25. }
  26. }
  27. dialog.bind = function(pointer){
  28. if (pointer == null){
  29. pointer = dialog.close
  30. }
  31. $('.dialog .action .active-button').off()
  32. $('.dialog .action .active-button').on('click',pointer)
  33. }
  34. dialog.close = function(delay){
  35. delay = (delay == null)?1750:delay
  36. setTimeout(function(){
  37. if ( $('.dialog').length > 0){
  38. jx.modal.close()
  39. }
  40. },delay)
  41. }
  42. dialog.status = {}
  43. dialog.status.wait = function(){
  44. $('.dialog .action .active-button').hide()
  45. }
  46. dialog.status.confirm = function(){
  47. $('.dialog .action .active-button').show()
  48. }
  49. dialog.status.busy = function(){
  50. $('.dialog .message #msg-icon').removeClass()
  51. $('.dialog .message #msg-icon').addClass('fas fa-cog fa-4x fa-spin')
  52. }
  53. dialog.status.fail = function(){
  54. $('.dialog .message #msg-icon').removeClass()
  55. $('.dialog .message #msg-icon').addClass('fas fa-times fa-4x')
  56. }
  57. dialog.status.ask = function(){
  58. $('.dialog .message #msg-icon').removeClass()
  59. $('.dialog .message #msg-icon').addClass('far fa-question-circle fa-4x')
  60. }
  61. dialog.status.warn = function(){
  62. $('.dialog .message #msg-icon').removeClass()
  63. $('.dialog .message #msg-icon').addClass('fas fa-exclamation-triangle fa-4x')
  64. }
  65. dialog.status.success = function(){
  66. $('.dialog .message #msg-icon').removeClass()
  67. $('.dialog .message #msg-icon').addClass('fas fa-check fa-4x')
  68. }