Advertisement
Guest User

Untitled

a guest
Apr 1st, 2015
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.77 KB | None | 0 0
  1. // VIEW
  2. App.MyComposite.View = Backbone.Marionette.CompositeView.extend({
  3. // TEMPLATE
  4. template: Handlebars.compile(templates.find('#composite-template').html()),
  5. // ITEM VIEW
  6. itemView: App.Item.View,
  7. // ITEM VIEW CONTAINER
  8. itemViewContainer: '#collection-block',
  9.  
  10. //INITIALIZE
  11. initialize: function() {
  12. this.bindTo(this,'render',this.afterRender);
  13. },
  14.  
  15. afterRender: function () {
  16. //THIS IS EXECUTED TWICE...
  17. }
  18.  
  19. });
  20.  
  21. // VIEW
  22. App.MyComposite.View = Backbone.Marionette.CompositeView.extend({
  23.  
  24. //INITIALIZE
  25. initialize: function() {
  26. //this.bindTo(this,'render',this.afterRender);
  27. this.firstRender = true;
  28. },
  29.  
  30. onRender: function () {
  31. if (firstRender) {
  32. //DO STUFF HERE..............
  33. this.firstRender = false;
  34.  
  35. }
  36. }
  37.  
  38. });
  39.  
  40. // VIEW
  41. App.MyComposite.View = Backbone.Marionette.CompositeView.extend({
  42. // TEMPLATE
  43. template: Handlebars.compile(templates.find('#composite-template').html()),
  44. // ITEM VIEW
  45. itemView: App.Item.View,
  46. // ITEM VIEW CONTAINER
  47. itemViewContainer: '#collection-block',
  48.  
  49. //INITIALIZE
  50. initialize: function() {
  51. // this.bindTo(this,'render',this.afterRender); // <-- not needed
  52. },
  53.  
  54. onRender: function () {
  55. // do stuff after it renders, here
  56. }
  57.  
  58. });
  59.  
  60. NoItemsFoundView = ItemView.extend({
  61. // ...
  62. });
  63.  
  64. CompositeView.extend({
  65.  
  66. emptyView: NoItemsFoundView
  67.  
  68. });
  69.  
  70. CompositeView.extend({
  71.  
  72. onRender: function(){
  73. if (this.collection && this.collection.length === 0) {
  74. // do stuff here because the collection was not rendered
  75. }
  76. }
  77.  
  78. });
  79.  
  80. Backbone.Marionette.ItemView.extend({
  81. onShow: function(){
  82. // react to when a view has been shown
  83. }
  84. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement