diff options
author | Thomas Davis <thomasalwyndavis@gmail.com> | 2012-11-14 15:13:08 -0800 |
---|---|---|
committer | Thomas Davis <thomasalwyndavis@gmail.com> | 2012-11-14 15:13:08 -0800 |
commit | 363601fc7c523b6d30bda284adec279e7b02649e (patch) | |
tree | 4f3e6a376236516bf0de7cc8512bd4928bebb903 | |
parent | 3c2636d722c3ba4e1e547f729b87ae8bad38e984 (diff) | |
parent | 57e845675b14a15c5f42cb576a179b85e2b6bc44 (diff) | |
download | backbonetutorials-363601fc7c523b6d30bda284adec279e7b02649e.zip backbonetutorials-363601fc7c523b6d30bda284adec279e7b02649e.tar.gz backbonetutorials-363601fc7c523b6d30bda284adec279e7b02649e.tar.bz2 |
Merge pull request #63 from headwinds/gh-pages
Fixed Duplicated Medalists
3 files changed, 30 insertions, 40 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..12d4bd5 100644 --- a/examples/modular-backbone/js/views/contributors/ContributorsListView.js +++ b/examples/modular-backbone/js/views/contributors/ContributorsListView.js @@ -21,13 +21,13 @@ define([ that.bind("reset", that.clearView); }, - clearListView : function(){ + resetMedalists : function(){ - console.log("clearing sub sub view"); + var that = this; - $("#gold-podium").empty(); - $("#silver-podium").empty(); - $("#bronze-podium").empty(); + that.goldContributors = []; + that.silverContributors = []; + that.bronzeContributors = []; }, @@ -37,7 +37,7 @@ define([ // something to do with how it's animating I think...not sure var that = this; - that.clearListView(); + that.resetMedalists(); that.awardMedals(this.collection.models); @@ -65,30 +65,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(); @@ -143,8 +145,6 @@ define([ var that = this; - console.log("animating..."); - $("#gold-podium").hide(); $("#silver-podium").hide(); $("#bronze-podium").hide(); @@ -172,10 +172,7 @@ define([ $( animateId ).delay(bronzeDelayCount).slideDown('slow'); bronzeDelayCount += bronzeDelayInc; }); - - console.log(bronzeDelayCount); - // animate in silver $("#silver-podium").find(".base").hide(); $("#silver-podium").find(".base").slideDown('slow').delay(bronzeDelayCount); diff --git a/examples/modular-backbone/js/views/contributors/ContributorsView.js b/examples/modular-backbone/js/views/contributors/ContributorsView.js index e05e5a5..7292d93 100644 --- a/examples/modular-backbone/js/views/contributors/ContributorsView.js +++ b/examples/modular-backbone/js/views/contributors/ContributorsView.js @@ -7,7 +7,7 @@ define([ 'text!templates/contributors/contributorsTemplate.html' ], function($, _, Backbone, ContributorsCollection, ContributorsListView, contributorsTemplate){ - var contributorsListView; + //var contributorsListView; var ContributorsView = Backbone.View.extend({ @@ -21,15 +21,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 +42,7 @@ define([ this.$el.html( compiledTemplate ); // sub view - contributorsListView = new ContributorsListView({ collection: this.collection}); + var contributorsListView = new ContributorsListView({ collection: this.collection}); contributorsListView.render(); }, |