diff options
author | brandon flowers <brandonflowers@gmail.com> | 2012-11-14 10:01:32 -0500 |
---|---|---|
committer | brandon flowers <brandonflowers@gmail.com> | 2012-11-14 10:01:32 -0500 |
commit | 4d2ce08903fbfa8da61668642d98944bf3488ea3 (patch) | |
tree | 00accd4abb519d3829dddb05c296e20ba052c63e /examples/modular-backbone/js | |
parent | 3c2636d722c3ba4e1e547f729b87ae8bad38e984 (diff) | |
download | backbonetutorials-4d2ce08903fbfa8da61668642d98944bf3488ea3.zip backbonetutorials-4d2ce08903fbfa8da61668642d98944bf3488ea3.tar.gz backbonetutorials-4d2ce08903fbfa8da61668642d98944bf3488ea3.tar.bz2 |
needed to reset medalist arrays
Diffstat (limited to 'examples/modular-backbone/js')
3 files changed, 32 insertions, 30 deletions
diff --git a/examples/modular-backbone/js/router.js b/examples/modular-backbone/js/router.js index 3c3973f..5621f2f 100644 --- a/examples/modular-backbone/js/router.js +++ b/examples/modular-backbone/js/router.js @@ -9,8 +9,6 @@ define([ 'views/footer/FooterView' ], function($, _, Backbone, HomeView, ProjectsView, ContributorsView, FooterView) { - var contributorsView; - var AppRouter = Backbone.Router.extend({ routes: { // Define some URL routes @@ -36,15 +34,9 @@ define([ app_router.on('route:showContributors', function () { - // there is a problem here -- when it draws the first everything is fine - // but when it returns to this view, it adds the items to the list again - // even though the collection has the same number of models - // why won't it empty the divs?! I can do it in the console... - if ( String(contributorsView) !== "undefined" ) contributorsView.clearListView(); - // Like above, call render but know that this view has nested sub views which // handle loading and displaying data from the GitHub API - contributorsView = new ContributorsView(); + var contributorsView = new ContributorsView(); }); app_router.on('route:defaultAction', function (actions) { diff --git a/examples/modular-backbone/js/views/contributors/ContributorsListView.js b/examples/modular-backbone/js/views/contributors/ContributorsListView.js index 2bb4ec4..de598c0 100644 --- a/examples/modular-backbone/js/views/contributors/ContributorsListView.js +++ b/examples/modular-backbone/js/views/contributors/ContributorsListView.js @@ -23,11 +23,17 @@ define([ clearListView : function(){ + var that = this; + console.log("clearing sub sub view"); $("#gold-podium").empty(); $("#silver-podium").empty(); $("#bronze-podium").empty(); + + that.goldContributors = []; + that.silverContributors = []; + that.bronzeContributors = []; }, @@ -65,30 +71,32 @@ define([ achievement: '1 - 5 Contributions' } - var data = { contributors: that.goldContributors, _: _, podium : goldPodium - }; + }; + + // render bronze list + data.contributors = that.bronzeContributors; + data.podium = bronzePodium; + + var bronzeCompiledTemplate = _.template( contributorListTemplate, data ); + $("#bronze-podium").html( bronzeCompiledTemplate ); - // render gold list - data.contributors = that.goldContributors; - data.podium = goldPodium; - var compiledTemplate = _.template( contributorListTemplate, data ); - $("#gold-podium").html( compiledTemplate ); - // render silver list data.contributors = that.silverContributors; data.podium = silverPodium; - var compiledTemplate = _.template( contributorListTemplate, data ); - $("#silver-podium").html( compiledTemplate ); - // render bronze list - data.contributors = that.bronzeContributors; - data.podium = bronzePodium; - var compiledTemplate = _.template( contributorListTemplate, data ); - $("#bronze-podium").html( compiledTemplate ); + var silverCompiledTemplate = _.template( contributorListTemplate, data ); + + $("#silver-podium").html( silverCompiledTemplate ); + + // render gold list + data.contributors = that.goldContributors; + data.podium = goldPodium; + var goldCompiledTemplate = _.template( contributorListTemplate, data ); + $("#gold-podium").html( goldCompiledTemplate ); that.animate(); diff --git a/examples/modular-backbone/js/views/contributors/ContributorsView.js b/examples/modular-backbone/js/views/contributors/ContributorsView.js index e05e5a5..5d126c5 100644 --- a/examples/modular-backbone/js/views/contributors/ContributorsView.js +++ b/examples/modular-backbone/js/views/contributors/ContributorsView.js @@ -4,10 +4,11 @@ define([ 'backbone', 'collections/contributors/ContributorsCollection', 'views/contributors/ContributorsListView', + 'events/contributors/ContributorsEvent', 'text!templates/contributors/contributorsTemplate.html' -], function($, _, Backbone, ContributorsCollection, ContributorsListView, contributorsTemplate){ +], function($, _, Backbone, ContributorsCollection, ContributorsListView, ContributorsEvent, contributorsTemplate){ - var contributorsListView; + //var contributorsListView; var ContributorsView = Backbone.View.extend({ @@ -21,15 +22,16 @@ define([ that.render(); } - this.collection = new ContributorsCollection([]); - this.collection.fetch({ success : onDataHandler, dataType: "jsonp" }); - + that.collection = new ContributorsCollection([]); + that.collection.fetch({ success : onDataHandler, dataType: "jsonp" }); + }, render: function(){ $('.menu li').removeClass('active'); $('.menu li a[href="'+window.location.hash+'"]').parent().addClass('active'); + var total_contributions = this.getTotalContributions(this.collection.models); var total_contributors = this.collection.models.length; @@ -41,7 +43,7 @@ define([ this.$el.html( compiledTemplate ); // sub view - contributorsListView = new ContributorsListView({ collection: this.collection}); + var contributorsListView = new ContributorsListView({ collection: this.collection}); contributorsListView.render(); }, |