Guest User

Untitled

a guest
Jan 22nd, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.66 KB | None | 0 0
  1. var ls = ls || {};
  2.  
  3. /**
  4. * Динамическая подгрузка блоков
  5. */
  6. ls.blocks = (function ($) {
  7. /**
  8. * Опции
  9. */
  10. this.options = {
  11. active: 'active',
  12. loader: DIR_STATIC_SKIN + '/images/loader.gif',
  13. type: {
  14. block_stream_item_comment: {
  15. url: aRouter['ajax']+'stream/comment/'
  16. },
  17. block_stream_item_topic: {
  18. url: aRouter['ajax']+'stream/topic/'
  19. },
  20. block_blogs_item_top: {
  21. url: aRouter['ajax']+'blogs/top/'
  22. },
  23. block_blogs_item_join: {
  24. url: aRouter['ajax']+'blogs/join/'
  25. },
  26. block_blogs_item_self: {
  27. url: aRouter['ajax']+'blogs/self/'
  28. }
  29. }
  30. };
  31.  
  32. /**
  33. * Метод загрузки содержимого блока
  34. */
  35. this.load = function(obj, block, params){
  36. var id = $(obj).attr('id');
  37. params=$.extend(true,{},this.options.type[id].params || {},params || {});
  38.  
  39. var content = $('#'+block+'_content');
  40. this.showProgress(content);
  41.  
  42. $('[id^="'+block+'_item"]').removeClass(this.options.active);
  43. $(obj).addClass(this.options.active);
  44.  
  45. ls.ajax(this.options.type[id].url, params, function(result){
  46. this.onLoad(content,id,result);
  47. }.bind(this));
  48. };
  49.  
  50. /**
  51. * Отображение процесса загрузки
  52. */
  53. this.showProgress = function(content) {
  54. content.html($('<div />').css('text-align','center').append($('<img>', {src: this.options.loader})));
  55. };
  56.  
  57. /**
  58. * Обработка результатов загрузки
  59. */
  60. this.onLoad = function(content,id,result) {
  61. $(this).trigger('load',[content,id,result]);
  62. content.empty();
  63. if (result.bStateError) {
  64. ls.msg.error(null, result.sMsg);
  65. } else {
  66. content.html(result.sText);
  67. }
  68. };
  69.  
  70. return this;
  71. }).call(ls.blocks || {},jQuery);
Add Comment
Please, Sign In to add comment