pages.js 5.4 KB

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