pages.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. App.Pages.init = function()
  2. {
  3. App.Ajax.request('MAIN.getInitial', {}, function(reply) {
  4. App.Env.initialParams = reply.data;
  5. App.Helpers.updateInitial();
  6. });
  7. App.Pages.prepareHTML();
  8. $('.section.active').removeClass('active');
  9. $('#'+App.Env.world).addClass('active');
  10. if (cookieEnabled()) {
  11. setCookie('tab', App.Env.world);
  12. }
  13. }
  14. App.Pages.prepareHTML = function()
  15. {
  16. $('.active').removeClass('active');
  17. if ('undefined' != typeof App.Pages[App.Env.world].prepareHTML) {
  18. App.Pages[App.Env.world].prepareHTML();
  19. }
  20. else {
  21. App.Model[App.Env.world].loadList();
  22. }
  23. $('#new-entry-keyword').text(App.Helpers.getHumanTabName());
  24. document.title = 'Vesta | ' + App.Helpers.getHumanTabName();
  25. }
  26. App.Pages.DNS.showSubform = function(ref)
  27. {
  28. App.Helpers.showLoading();
  29. var data = ref.find('.source:first').val();
  30. App.Ajax.request('DNS.getListRecords', {
  31. spell: data
  32. }, function(reply) {
  33. var tpl = App.Templates.get('SUBFORM', 'dns');
  34. var tpl_records = App.HTML.Build.dns_records(reply.data);
  35. tpl.set(':SUBRECORDS', tpl_records);
  36. $(ref).find('.show-records').addClass('hidden');
  37. $(ref).after(tpl.finalize());
  38. App.Helpers.updateScreen();
  39. });
  40. }
  41. App.Pages.USER.new_entry = function(evt)
  42. {
  43. var form_id = App.Constants[App.Env.world + '_FORM_ID'];
  44. $('#'+form_id).remove();
  45. var build_method = App.Env.getWorldName() + '_form';
  46. var tpl = App.HTML.Build[build_method]({}, form_id);
  47. var box = $('<div>').html(tpl);
  48. $(box).find('.suspended').addClass('hidden');
  49. App.Ref.CONTENT.prepend($(box).html());
  50. App.Helpers.updateScreen();
  51. $('#'+form_id).find('.ns-entry, .additional-ns-add').addClass('hidden');
  52. }
  53. App.Pages.WEB_DOMAIN.new_entry = function(evt)
  54. {
  55. var form_id = App.Constants[App.Env.world + '_FORM_ID'];
  56. $('#'+form_id).remove();
  57. var build_method = App.Env.getWorldName() + '_form';
  58. var tpl = App.HTML.Build[build_method]({}, form_id);
  59. var box = $('<div>').html(tpl);
  60. $(box).find('.suspended').addClass('hidden');
  61. App.Ref.CONTENT.prepend($(box).html());
  62. //App.Ref.CONTENT.prepend(tpl);
  63. App.Helpers.updateScreen();
  64. $('#'+form_id).find('.ns-entry, .additional-ns-add').addClass('hidden');
  65. var ssl_key_upload = App.HTML.Build.ssl_key_file();
  66. var ssl_cert_upload = App.HTML.Build.ssl_cert_file();
  67. $('#'+form_id).find('.ssl-key-input-dummy:first').replaceWith(ssl_key_upload);
  68. $('#'+form_id).find('.ssl-cert-input-dummy:first').replaceWith(ssl_cert_upload);
  69. }
  70. App.Pages.WEB_DOMAIN.edit = function(evt)
  71. {
  72. var elm = $(evt.target);
  73. elm = elm.hasClass('row') ? elm : elm.parents('.row');
  74. var options = elm.find('.source').val();
  75. var build_method = App.Env.getWorldName() + '_form';
  76. var tpl = App.HTML.Build[build_method](options);
  77. // ssls uploads
  78. var ssl_key_upload = App.HTML.Build.ssl_key_file();
  79. var ssl_cert_upload = App.HTML.Build.ssl_cert_file();
  80. tpl = tpl.replace('<span class="ssl-key-input-dummy">...</span>', ssl_key_upload);
  81. tpl = tpl.replace('<span class="ssl-cert-input-dummy">...</span>', ssl_cert_upload);
  82. elm.replaceWith(tpl);
  83. App.Helpers.disableNotEditable();
  84. App.Helpers.updateScreen();
  85. }
  86. App.Pages.WEB_DOMAIN.setSSL = function(type, frame)
  87. {
  88. var txt = App.Helpers.evalJSON(content);
  89. var ref = frame.frameElement;
  90. $(ref).next('textarea').val(frame.document.getElementById('result').value);
  91. }
  92. App.Pages.loadBackups = function()
  93. {
  94. App.Env.world = 'BACKUPS';
  95. App.Pages.prepareHTML();
  96. }
  97. App.Pages.BACKUPS.prepareHTML = function()
  98. {
  99. $('#primary-nav-box .active').removeClass('active');
  100. $('#BACKUPS').addClass('active');
  101. $('#new-entry-keyword').text(App.Helpers.getHumanTabName());
  102. document.title = 'Vesta | ' + App.Helpers.getHumanTabName();
  103. App.Ajax.request('MAIN.getBackups', {}, function(reply) {
  104. if (!reply.result) {
  105. App.Herlers.alert('Backups list failed to load. Please try again a bit later');
  106. }
  107. App.Ref.CONTENT.html(App.HTML.Build.backup_list(reply.data));
  108. App.Helpers.updateScreen();
  109. //$('#content').html(App.HTML.Build.backup_list(reply.data));
  110. });
  111. }