summaryrefslogtreecommitdiffstats
path: root/examples/modular-backbone/js
diff options
context:
space:
mode:
authorbrandon flowers <brandonflowers@gmail.com>2012-11-14 10:01:32 -0500
committerbrandon flowers <brandonflowers@gmail.com>2012-11-14 10:01:32 -0500
commit4d2ce08903fbfa8da61668642d98944bf3488ea3 (patch)
tree00accd4abb519d3829dddb05c296e20ba052c63e /examples/modular-backbone/js
parent3c2636d722c3ba4e1e547f729b87ae8bad38e984 (diff)
downloadbackbonetutorials-4d2ce08903fbfa8da61668642d98944bf3488ea3.zip
backbonetutorials-4d2ce08903fbfa8da61668642d98944bf3488ea3.tar.gz
backbonetutorials-4d2ce08903fbfa8da61668642d98944bf3488ea3.tar.bz2
needed to reset medalist arrays
Diffstat (limited to 'examples/modular-backbone/js')
-rw-r--r--examples/modular-backbone/js/router.js10
-rw-r--r--examples/modular-backbone/js/views/contributors/ContributorsListView.js38
-rw-r--r--examples/modular-backbone/js/views/contributors/ContributorsView.js14
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();
},