From 1ae89e55ec0ed32a4d811fa960a900d8f7036169 Mon Sep 17 00:00:00 2001 From: Regan Huff Date: Tue, 13 Jun 2017 16:53:37 -0700 Subject: [PATCH 01/48] Create collection and model files --- src/collections/movie_search_results.js | 0 src/collections/rental_library_list.js | 0 src/models/movie.js | 9 +++++++++ 3 files changed, 9 insertions(+) create mode 100644 src/collections/movie_search_results.js create mode 100644 src/collections/rental_library_list.js create mode 100644 src/models/movie.js diff --git a/src/collections/movie_search_results.js b/src/collections/movie_search_results.js new file mode 100644 index 000000000..e69de29bb diff --git a/src/collections/rental_library_list.js b/src/collections/rental_library_list.js new file mode 100644 index 000000000..e69de29bb diff --git a/src/models/movie.js b/src/models/movie.js new file mode 100644 index 000000000..0cdc9126f --- /dev/null +++ b/src/models/movie.js @@ -0,0 +1,9 @@ +import Backbone from 'backbone'; + +var Movie = Backbone.Model.extend({ + initialize: function(params) { + + } +}); + +export default Movie; From 7f8d7ac0091ab49c946e6786964d39b05c613610 Mon Sep 17 00:00:00 2001 From: Haby Randall Date: Tue, 13 Jun 2017 16:56:27 -0700 Subject: [PATCH 02/48] Starting to lay out index.html stubs --- build/index.html | 47 ++++++++++++++++++++++++++++++++++------------- 1 file changed, 34 insertions(+), 13 deletions(-) diff --git a/build/index.html b/build/index.html index 03869595f..1f338e9fa 100644 --- a/build/index.html +++ b/build/index.html @@ -1,15 +1,36 @@ - - - - - - Backbone Baseline - - - - - - - + + + + + + Backbone Baseline + + +
+

Movies

+
+
+
+
+
+ + + + + + + + + + + + From 070cc801cf2ee14dab9e8c8352e993924ce6c161 Mon Sep 17 00:00:00 2001 From: Haby Randall Date: Wed, 14 Jun 2017 11:30:00 -0700 Subject: [PATCH 03/48] Templates in index.html for rentals --- build/index.html | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/build/index.html b/build/index.html index 1f338e9fa..9d0f1a893 100644 --- a/build/index.html +++ b/build/index.html @@ -17,16 +17,33 @@

Movies

+ + + + + + + From 771f32010cb9e02739e6a6d9a4a97f2482163d5e Mon Sep 17 00:00:00 2001 From: Regan Huff Date: Wed, 14 Jun 2017 11:30:30 -0700 Subject: [PATCH 04/48] Consolidate and rename collection file --- src/collections/{movie_search_results.js => movie_list.js} | 0 src/collections/rental_library_list.js | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename src/collections/{movie_search_results.js => movie_list.js} (100%) delete mode 100644 src/collections/rental_library_list.js diff --git a/src/collections/movie_search_results.js b/src/collections/movie_list.js similarity index 100% rename from src/collections/movie_search_results.js rename to src/collections/movie_list.js diff --git a/src/collections/rental_library_list.js b/src/collections/rental_library_list.js deleted file mode 100644 index e69de29bb..000000000 From b5bb78c634ed5589ae6037823bc60a3952857e6d Mon Sep 17 00:00:00 2001 From: Haby Randall Date: Wed, 14 Jun 2017 12:37:53 -0700 Subject: [PATCH 05/48] Adding movie and movie list view --- src/views/movie_list_view.js | 0 src/views/movie_view.js | 16 ++++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 src/views/movie_list_view.js create mode 100644 src/views/movie_view.js diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js new file mode 100644 index 000000000..e69de29bb diff --git a/src/views/movie_view.js b/src/views/movie_view.js new file mode 100644 index 000000000..1508c92a7 --- /dev/null +++ b/src/views/movie_view.js @@ -0,0 +1,16 @@ +import Backbone from 'backbone'; + +var MovieView = Backbone.View.extend({ + initialize: function(params) { + this.template = params.template; + + this.listenTo(this.model, "change", this.render); + }, + render: function() { + var compiledTemplate = this.template({rental: this.model.toJSON()}); + this.$el.html(compiledTemplate); + return this; + } +}); + +export default MovieView; From 4b2c2eec471ed8e2cf7498164560df6755eb0c4f Mon Sep 17 00:00:00 2001 From: Haby Randall Date: Wed, 14 Jun 2017 12:55:41 -0700 Subject: [PATCH 06/48] Basic movielist view code placed --- src/views/movie_list_view.js | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index e69de29bb..601192f37 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -0,0 +1,29 @@ +import Backbone from 'backbone'; + +import MovieView from './movie_view'; + +var MovieListView = Backbone.View.extend({ + initialize: function(params) { + this.template = params.template; + //add additional needed templates here + + this.listenTo(this.model, "update", this.render); + + var that = this; + this.model.fetch(); + }, + render: function() { + this.$('#rental-list').empty(); + var that = this; + this.model.each((rental) => { + var movieView = new MovieView({ + model: rental, + template: that.template + }); + this.$('#rental-list').append(movieView.render().$el); + }); + return this; + } +}); + +export default MovieListView; From 7a4ca1fb79c38161e00ed6a561f04c4f52e71db5 Mon Sep 17 00:00:00 2001 From: Regan Huff Date: Wed, 14 Jun 2017 12:57:40 -0700 Subject: [PATCH 07/48] Add movie list collection --- src/collections/movie_list.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/collections/movie_list.js b/src/collections/movie_list.js index e69de29bb..37f9578d1 100644 --- a/src/collections/movie_list.js +++ b/src/collections/movie_list.js @@ -0,0 +1,10 @@ +import Backbone from 'backbone'; + +import Movie from '../models/movie'; + +var MovieList = Backbone.Collection.extend({ + model: Movie, + url: "http://localhost:3000/movies" +}); + +export default MovieList; From b5b99cf3d7a126185122479be16e7e6d41616e74 Mon Sep 17 00:00:00 2001 From: Haby Randall Date: Wed, 14 Jun 2017 13:22:46 -0700 Subject: [PATCH 08/48] Added movielist model to app.js --- src/app.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/app.js b/src/app.js index 58b77997c..53c02817d 100644 --- a/src/app.js +++ b/src/app.js @@ -3,10 +3,18 @@ // Import jQuery & Underscore import $ from 'jquery'; import _ from 'underscore'; +import MovieList from './collections/movie_list'; +import MovieListView from './views/movie_list_view'; +var rentalLibraryList = new MovieList({}); + +var rentalLibraryListView = new MovieListView({ + model: rentalLibraryList, + template: _.template($('#rental-card-template').html()), + el: 'main' +}); // ready to go $(document).ready(function() { - $('section.main-content').append('

Hello World!

'); - +rentalLibraryListView.render(); }); From 089b25ece07ee7e22ed89eb6adef25e34e4e9a20 Mon Sep 17 00:00:00 2001 From: Haby Randall Date: Wed, 14 Jun 2017 15:04:39 -0700 Subject: [PATCH 09/48] Trying to add search term --- build/index.html | 6 ++++++ src/views/movie_list_view.js | 21 +++++++++++++++++++-- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/build/index.html b/build/index.html index 9d0f1a893..4a497432b 100644 --- a/build/index.html +++ b/build/index.html @@ -12,6 +12,12 @@

Movies

+ +
+ + +
+
diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index 601192f37..5fb3b38e1 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -1,5 +1,5 @@ import Backbone from 'backbone'; - +import $ from 'jquery'; import MovieView from './movie_view'; var MovieListView = Backbone.View.extend({ @@ -9,9 +9,26 @@ var MovieListView = Backbone.View.extend({ this.listenTo(this.model, "update", this.render); - var that = this; + this.model.fetch(); }, + events: { + 'click #search-movies' : 'fetchMovies' + }, + getQueryForm: function() { + var searchTerm = this.$('#search-query').val(); + this.$('#search-query').val(''); + + return searchTerm; + }, + fetchMovies: function(e) { + e.preventDefault(); + + var searchTerm = this.getQueryForm(); + this.model.fetch({ data: $.param({ page: 1}), reset:true}); + console.log("this is " + searchTerm); + + }, render: function() { this.$('#rental-list').empty(); var that = this; From 5d3e56aa529e31991c006383505d7ed1876765d4 Mon Sep 17 00:00:00 2001 From: Haby Randall Date: Wed, 14 Jun 2017 15:26:08 -0700 Subject: [PATCH 10/48] Working on pulling from video store api --- src/views/movie_list_view.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index 5fb3b38e1..f2ade5381 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -24,9 +24,9 @@ var MovieListView = Backbone.View.extend({ fetchMovies: function(e) { e.preventDefault(); - var searchTerm = this.getQueryForm(); - this.model.fetch({ data: $.param({ page: 1}), reset:true}); - console.log("this is " + searchTerm); + var query = this.getQueryForm(); + this.model.fetch({ data: $.param({ query}), reset:true}); + console.log("this is " + query); }, render: function() { From a4841b5a0ae0687e04c7855dd3e43621394085cd Mon Sep 17 00:00:00 2001 From: Regan Huff Date: Wed, 14 Jun 2017 15:36:29 -0700 Subject: [PATCH 11/48] Remove reset --- src/views/movie_list_view.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index f2ade5381..3b4f2ffe0 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -25,9 +25,7 @@ var MovieListView = Backbone.View.extend({ e.preventDefault(); var query = this.getQueryForm(); - this.model.fetch({ data: $.param({ query}), reset:true}); - console.log("this is " + query); - + this.model.fetch({ data: $.param({query})}); }, render: function() { this.$('#rental-list').empty(); From 4c0106ffb243f6bbf7b490c7d0bab72d8190d542 Mon Sep 17 00:00:00 2001 From: Haby Randall Date: Wed, 14 Jun 2017 16:23:01 -0700 Subject: [PATCH 12/48] Individual rental showing --- build/index.html | 8 +++++--- src/app.js | 3 ++- src/views/movie_list_view.js | 10 ++++++++++ src/views/movie_view.js | 6 ++++++ 4 files changed, 23 insertions(+), 4 deletions(-) diff --git a/build/index.html b/build/index.html index 4a497432b..668a51230 100644 --- a/build/index.html +++ b/build/index.html @@ -17,9 +17,10 @@

Movies

- -
+ +
+ @@ -33,7 +34,8 @@

Movies

Title:<%- rental.title %>

Overview:<%- rental.overview %>

Release Date:<%- rental.release_date %>

-

Image:<%- rental.image_url %>

+ + diff --git a/src/app.js b/src/app.js index 53c02817d..592642d1e 100644 --- a/src/app.js +++ b/src/app.js @@ -11,7 +11,8 @@ var rentalLibraryList = new MovieList({}); var rentalLibraryListView = new MovieListView({ model: rentalLibraryList, template: _.template($('#rental-card-template').html()), - el: 'main' + el: 'main', + detailsTemplate: _.template($('#rental-info-template').html()) }); // ready to go $(document).ready(function() { diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index 3b4f2ffe0..7471013d2 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -5,6 +5,8 @@ import MovieView from './movie_view'; var MovieListView = Backbone.View.extend({ initialize: function(params) { this.template = params.template; + this.detailsTemplate = params.detailsTemplate; + this.$('#rental-details').hide(); //add additional needed templates here this.listenTo(this.model, "update", this.render); @@ -13,6 +15,7 @@ var MovieListView = Backbone.View.extend({ this.model.fetch(); }, events: { + 'click #search-movies' : 'fetchMovies' }, getQueryForm: function() { @@ -36,8 +39,15 @@ var MovieListView = Backbone.View.extend({ template: that.template }); this.$('#rental-list').append(movieView.render().$el); + this.listenTo(movieView, "selected", this.showDetails); }); return this; + }, + showDetails: function(model) { + this.detailsRental = model; + var compiledTemplate = this.detailsTemplate({rental: model.toJSON()}); + this.$('#rental-details').html(compiledTemplate); + this.$('#rental-details').show(); } }); diff --git a/src/views/movie_view.js b/src/views/movie_view.js index 1508c92a7..5527d75cb 100644 --- a/src/views/movie_view.js +++ b/src/views/movie_view.js @@ -6,10 +6,16 @@ var MovieView = Backbone.View.extend({ this.listenTo(this.model, "change", this.render); }, + events: { + 'click': 'showDetails' + }, render: function() { var compiledTemplate = this.template({rental: this.model.toJSON()}); this.$el.html(compiledTemplate); return this; + }, + showDetails: function(event) { + this.trigger("selected", this.model); } }); From 5b6c9cbb0217d20177c7008b7bd54d766a3a2a53 Mon Sep 17 00:00:00 2001 From: Haby Randall Date: Thu, 15 Jun 2017 09:19:38 -0700 Subject: [PATCH 13/48] Movies hidden while showing details for single movie --- build/index.html | 2 +- src/views/movie_list_view.js | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/build/index.html b/build/index.html index 668a51230..7e75068b0 100644 --- a/build/index.html +++ b/build/index.html @@ -29,7 +29,7 @@

Movies

  • <%- rental.title %>
  • - + @@ -35,7 +37,8 @@

    Title:<%- rental.title %>

    Overview:<%- rental.overview %>

    Release Date:<%- rental.release_date %>

    - + movie_img + <%- console.log("This is the show page url " + rental.image_url) %> From 4045589bb23b149604936f8fbbca5e72d6e89874 Mon Sep 17 00:00:00 2001 From: Regan Huff Date: Thu, 15 Jun 2017 09:42:24 -0700 Subject: [PATCH 15/48] Toggle library view and movie search --- build/index.html | 6 ++++++ src/app.js | 6 ++++-- src/views/movie_list_view.js | 16 ++++++++++++++-- 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/build/index.html b/build/index.html index 668a51230..8c1c5d60c 100644 --- a/build/index.html +++ b/build/index.html @@ -10,6 +10,12 @@

    Movies

    +
    diff --git a/src/app.js b/src/app.js index 592642d1e..476b30cf3 100644 --- a/src/app.js +++ b/src/app.js @@ -11,11 +11,13 @@ var rentalLibraryList = new MovieList({}); var rentalLibraryListView = new MovieListView({ model: rentalLibraryList, template: _.template($('#rental-card-template').html()), - el: 'main', + el: 'body', detailsTemplate: _.template($('#rental-info-template').html()) }); // ready to go $(document).ready(function() { -rentalLibraryListView.render(); + rentalLibraryListView.hideForm(); + rentalLibraryListView.render(); + }); diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index 7471013d2..988307258 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -15,8 +15,20 @@ var MovieListView = Backbone.View.extend({ this.model.fetch(); }, events: { - - 'click #search-movies' : 'fetchMovies' + 'click #see_movie_search' : 'showForm', + 'click #search-movies' : 'fetchMovies', + 'click #see_rentals' : 'hideForm' + }, + showForm: function() { + $('#see_movie_search').hide(); + $('#see_rentals').show(); + $('form').show(); + }, + hideForm: function() { + $('#see_movie_search').show(); + $('#see_rentals').hide(); + $('form').hide(); + this.model.fetch(); }, getQueryForm: function() { var searchTerm = this.$('#search-query').val(); From f0c803e459e8598baef230a349ab818e0e0ade2e Mon Sep 17 00:00:00 2001 From: Regan Huff Date: Thu, 15 Jun 2017 10:07:03 -0700 Subject: [PATCH 16/48] Toggle add to rental library button --- build/index.html | 2 +- src/views/movie_list_view.js | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/build/index.html b/build/index.html index be12921b9..90e7c376a 100644 --- a/build/index.html +++ b/build/index.html @@ -45,7 +45,7 @@

    Release Date:<%- rental.release_date %>

    movie_img <%- console.log("This is the show page url " + rental.image_url) %> - + diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index 47769f0a1..1df9fbd8f 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -6,6 +6,7 @@ var MovieListView = Backbone.View.extend({ initialize: function(params) { this.template = params.template; this.detailsTemplate = params.detailsTemplate; + var rentalsShowing = true; this.$('#rental-details').hide(); //add additional needed templates here @@ -23,11 +24,13 @@ var MovieListView = Backbone.View.extend({ $('#see_movie_search').hide(); $('#see_rentals').show(); $('form').show(); + this.rentalsShowing = false; }, hideForm: function() { $('#see_movie_search').show(); $('#see_rentals').hide(); $('form').hide(); + this.rentalsShowing = true; this.model.fetch(); }, getQueryForm: function() { @@ -59,6 +62,9 @@ var MovieListView = Backbone.View.extend({ this.detailsRental = model; var compiledTemplate = this.detailsTemplate({rental: model.toJSON()}); this.$('#rental-details').html(compiledTemplate); + if (this.rentalsShowing) { + this.$('#addRentalButton').hide(); + } this.$('#rental-details').show(); this.$('#rental-list').hide(); } From f88251936092ab6a1afdac20777adb36d0a0701d Mon Sep 17 00:00:00 2001 From: Haby Randall Date: Thu, 15 Jun 2017 10:07:53 -0700 Subject: [PATCH 17/48] Working on showing buttons based on rental or movie --- build/index.html | 1 - 1 file changed, 1 deletion(-) diff --git a/build/index.html b/build/index.html index be12921b9..d0c7f65d0 100644 --- a/build/index.html +++ b/build/index.html @@ -34,7 +34,6 @@

    Movies

    From 5ed65ff4e8c392acb3ac6da39535fc51eb4b1915 Mon Sep 17 00:00:00 2001 From: Regan Huff Date: Fri, 16 Jun 2017 09:52:49 -0700 Subject: [PATCH 18/48] Add hide details function --- src/views/movie_list_view.js | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index 1df9fbd8f..b7fc2bcd8 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -8,17 +8,15 @@ var MovieListView = Backbone.View.extend({ this.detailsTemplate = params.detailsTemplate; var rentalsShowing = true; this.$('#rental-details').hide(); - //add additional needed templates here - this.listenTo(this.model, "update", this.render); - - this.model.fetch(); }, events: { 'click #see_movie_search' : 'showForm', + 'click #see_movie_search' : 'hideDetails', 'click #search-movies' : 'fetchMovies', - 'click #see_rentals' : 'hideForm' + 'click #see_rentals' : 'hideForm', + 'click #see_rentals' : 'hideDetails', }, showForm: function() { $('#see_movie_search').hide(); @@ -33,15 +31,28 @@ var MovieListView = Backbone.View.extend({ this.rentalsShowing = true; this.model.fetch(); }, + showDetails: function(model) { + this.detailsRental = model; + var compiledTemplate = this.detailsTemplate({rental: model.toJSON()}); + this.$('#rental-details').html(compiledTemplate); + if (this.rentalsShowing) { + this.$('#addRentalButton').hide(); + } + this.$('#rental-details').show(); + this.$('#rental-list').hide(); + this.$('#see_rentals').show(); + }, + hideDetails: function() { + this.$('#rental-details').hide(); + this.$('#rental-list').show(); + }, getQueryForm: function() { var searchTerm = this.$('#search-query').val(); this.$('#search-query').val(''); - return searchTerm; }, fetchMovies: function(e) { e.preventDefault(); - var query = this.getQueryForm(); this.model.fetch({ data: $.param({query})}); }, @@ -57,16 +68,6 @@ var MovieListView = Backbone.View.extend({ this.listenTo(movieView, "selected", this.showDetails); }); return this; - }, - showDetails: function(model) { - this.detailsRental = model; - var compiledTemplate = this.detailsTemplate({rental: model.toJSON()}); - this.$('#rental-details').html(compiledTemplate); - if (this.rentalsShowing) { - this.$('#addRentalButton').hide(); - } - this.$('#rental-details').show(); - this.$('#rental-list').hide(); } }); From ffc7cd47087895de1557acfc262631ae870d4cde Mon Sep 17 00:00:00 2001 From: Haby Randall Date: Fri, 16 Jun 2017 10:15:20 -0700 Subject: [PATCH 19/48] Added return home button --- build/index.html | 2 +- src/views/movie_list_view.js | 12 +++++++++--- src/views/movie_view.js | 10 ++++++++-- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/build/index.html b/build/index.html index a257713bb..5252bf68d 100644 --- a/build/index.html +++ b/build/index.html @@ -43,8 +43,8 @@

    Overview:<%- rental.overview %>

    Release Date:<%- rental.release_date %>

    movie_img - <%- console.log("This is the show page url " + rental.image_url) %> + diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index 1df9fbd8f..e96ea71f4 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -18,7 +18,8 @@ var MovieListView = Backbone.View.extend({ events: { 'click #see_movie_search' : 'showForm', 'click #search-movies' : 'fetchMovies', - 'click #see_rentals' : 'hideForm' + 'click #see_rentals' : 'hideForm', + 'click #returnToRentalButton' : 'returnHome' }, showForm: function() { $('#see_movie_search').hide(); @@ -53,8 +54,8 @@ var MovieListView = Backbone.View.extend({ model: rental, template: that.template }); - this.$('#rental-list').append(movieView.render().$el); - this.listenTo(movieView, "selected", this.showDetails); + that.$('#rental-list').append(movieView.render().$el); + that.listenTo(movieView, "selected", this.showDetails); }); return this; }, @@ -67,6 +68,11 @@ var MovieListView = Backbone.View.extend({ } this.$('#rental-details').show(); this.$('#rental-list').hide(); + }, + returnHome: function() { + this.$('#rental-details').empty(); + this.$('#rental-list').show(); + // this.model.fetch(); } }); diff --git a/src/views/movie_view.js b/src/views/movie_view.js index 5527d75cb..7f20a2e7c 100644 --- a/src/views/movie_view.js +++ b/src/views/movie_view.js @@ -7,7 +7,8 @@ var MovieView = Backbone.View.extend({ this.listenTo(this.model, "change", this.render); }, events: { - 'click': 'showDetails' + 'click': 'showDetails', + }, render: function() { var compiledTemplate = this.template({rental: this.model.toJSON()}); @@ -16,7 +17,12 @@ var MovieView = Backbone.View.extend({ }, showDetails: function(event) { this.trigger("selected", this.model); - } + }, + // returnHome: function(event) { + // console.log("I am triggered"); + // this.trigger("home", this.model); + + // } }); export default MovieView; From 209436f054f2a411d99717e322880033181818d9 Mon Sep 17 00:00:00 2001 From: Regan Huff Date: Fri, 16 Jun 2017 10:15:47 -0700 Subject: [PATCH 20/48] Add hideDetails to fetchMovies --- src/views/movie_list_view.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index b7fc2bcd8..27f05f98f 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -13,20 +13,22 @@ var MovieListView = Backbone.View.extend({ }, events: { 'click #see_movie_search' : 'showForm', - 'click #see_movie_search' : 'hideDetails', 'click #search-movies' : 'fetchMovies', 'click #see_rentals' : 'hideForm', - 'click #see_rentals' : 'hideDetails', }, showForm: function() { $('#see_movie_search').hide(); $('#see_rentals').show(); + console.log("showForm"); + this.hideDetails(); $('form').show(); this.rentalsShowing = false; }, hideForm: function() { $('#see_movie_search').show(); $('#see_rentals').hide(); + this.hideDetails(); + console.log("hideForm"); $('form').hide(); this.rentalsShowing = true; this.model.fetch(); @@ -44,6 +46,7 @@ var MovieListView = Backbone.View.extend({ }, hideDetails: function() { this.$('#rental-details').hide(); + console.log("hideDetails"); this.$('#rental-list').show(); }, getQueryForm: function() { @@ -53,6 +56,9 @@ var MovieListView = Backbone.View.extend({ }, fetchMovies: function(e) { e.preventDefault(); + this.hideDetails(); + this.$('#rental-list').show(); + var query = this.getQueryForm(); this.model.fetch({ data: $.param({query})}); }, From 58cde90bd3f63e585218b1c0654e4786ceb9ba33 Mon Sep 17 00:00:00 2001 From: Regan Huff Date: Fri, 16 Jun 2017 17:40:36 -0700 Subject: [PATCH 21/48] First pass addNewRental function --- build/index.html | 2 +- src/views/movie_list_view.js | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/build/index.html b/build/index.html index 5252bf68d..f08dfa4d7 100644 --- a/build/index.html +++ b/build/index.html @@ -5,7 +5,7 @@ - Backbone Baseline + Video Store Movie Manager
    diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index 67ce2dd16..b816f358e 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -15,12 +15,12 @@ var MovieListView = Backbone.View.extend({ 'click #see_movie_search' : 'showForm', 'click #search-movies' : 'fetchMovies', 'click #see_rentals' : 'hideForm', - 'click #returnToRentalButton' : 'returnHome' + 'click #returnToRentalButton' : 'returnHome', + 'click #addRentalButton' : 'addNewRental' }, showForm: function() { $('#see_movie_search').hide(); $('#see_rentals').show(); - console.log("showForm"); this.hideDetails(); $('form').show(); this.rentalsShowing = false; @@ -29,13 +29,12 @@ var MovieListView = Backbone.View.extend({ $('#see_movie_search').show(); $('#see_rentals').hide(); this.hideDetails(); - console.log("hideForm"); $('form').hide(); this.rentalsShowing = true; this.model.fetch(); }, showDetails: function(model) { - this.detailsRental = model; + // this.detailsRental = model; var compiledTemplate = this.detailsTemplate({rental: model.toJSON()}); this.$('#rental-details').html(compiledTemplate); if (this.rentalsShowing) { @@ -47,7 +46,6 @@ var MovieListView = Backbone.View.extend({ }, hideDetails: function() { this.$('#rental-details').hide(); - console.log("hideDetails"); this.$('#rental-list').show(); }, getQueryForm: function() { @@ -79,6 +77,11 @@ var MovieListView = Backbone.View.extend({ returnHome: function() { this.$('#rental-details').empty(); this.$('#rental-list').show(); + }, + addNewRental: function(model) { + // var data = model.toJSON(); + console.log(this.model); + this.model.create(this.model); } }); From 13b650542ab86f4ed15b25dded334d3e2f4133d7 Mon Sep 17 00:00:00 2001 From: Regan Huff Date: Mon, 19 Jun 2017 10:55:06 -0700 Subject: [PATCH 22/48] Comment out code to be replaced by movie details view --- src/views/movie_list_view.js | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index b816f358e..226ef92db 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -14,9 +14,9 @@ var MovieListView = Backbone.View.extend({ events: { 'click #see_movie_search' : 'showForm', 'click #search-movies' : 'fetchMovies', - 'click #see_rentals' : 'hideForm', - 'click #returnToRentalButton' : 'returnHome', - 'click #addRentalButton' : 'addNewRental' + 'click #see_rentals' : 'hideForm'//, + // 'click #returnToRentalButton' : 'returnHome', + // 'click #addRentalButton' : 'addNewRental' }, showForm: function() { $('#see_movie_search').hide(); @@ -73,16 +73,16 @@ var MovieListView = Backbone.View.extend({ that.listenTo(movieView, "selected", this.showDetails); }); return this; - }, - returnHome: function() { - this.$('#rental-details').empty(); - this.$('#rental-list').show(); - }, - addNewRental: function(model) { - // var data = model.toJSON(); - console.log(this.model); - this.model.create(this.model); - } + }//, + // returnHome: function() { + // this.$('#rental-details').empty(); + // this.$('#rental-list').show(); + // }, + // addNewRental: function(model) { + // // var data = model.toJSON(); + // console.log(this.model); + // this.model.create(this.model); + // } }); export default MovieListView; From 6dbb7a06e990c45b6b836c2f41c6f65127034cac Mon Sep 17 00:00:00 2001 From: Regan Huff Date: Mon, 19 Jun 2017 13:24:33 -0700 Subject: [PATCH 23/48] Refactor to use movie details view --- src/views/movie_details_view.js | 26 +++++++++++++++++++++ src/views/movie_list_view.js | 41 +++++++++++++++++++++++++-------- 2 files changed, 57 insertions(+), 10 deletions(-) create mode 100644 src/views/movie_details_view.js diff --git a/src/views/movie_details_view.js b/src/views/movie_details_view.js new file mode 100644 index 000000000..86f4c8543 --- /dev/null +++ b/src/views/movie_details_view.js @@ -0,0 +1,26 @@ +import Backbone from 'backbone'; +import $ from 'jquery'; +import _ from 'underscore'; + +var MovieDetailsView = Backbone.View.extend({ + initialize: function(params) { + this.template = params.template; + }, + events: { + // 'click #returnToRentalButton' : 'returnHome', + 'click #addRentalButton' : 'addNewRental' + }, + render: function() { + var compiledTemplate = this.template({rental: this.model.toJSON()}); + this.$el.html(compiledTemplate); + return this; + }, + addNewRental: function() { + var data = this.model.toJSON(); + console.log(data); + this.model.create(data); + } + +}); + +export default MovieDetailsView; diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index 226ef92db..f537b4ebb 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -1,6 +1,8 @@ import Backbone from 'backbone'; import $ from 'jquery'; +import _ from 'underscore'; import MovieView from './movie_view'; +import MovieDetailsView from './movie_details_view'; var MovieListView = Backbone.View.extend({ initialize: function(params) { @@ -33,16 +35,35 @@ var MovieListView = Backbone.View.extend({ this.rentalsShowing = true; this.model.fetch(); }, - showDetails: function(model) { - // this.detailsRental = model; - var compiledTemplate = this.detailsTemplate({rental: model.toJSON()}); - this.$('#rental-details').html(compiledTemplate); - if (this.rentalsShowing) { - this.$('#addRentalButton').hide(); - } - this.$('#rental-details').show(); - this.$('#rental-list').hide(); - this.$('#see_rentals').show(); + // showDetails: function(model) { + // // this.detailsRental = model; + // var compiledTemplate = this.detailsTemplate({rental: model.toJSON()}); + // this.$('#rental-details').html(compiledTemplate); + // if (this.rentalsShowing) { + // this.$('#addRentalButton').hide(); + // } + // this.$('#rental-details').show(); + // this.$('#rental-list').hide(); + // this.$('#see_rentals').show(); + // }, + showDetails: function(rental) { + this.$('#rental-details').empty(); + var movieDetailsView = new MovieDetailsView({ + model: rental, + // template: _.template($('#rental-info-template').html()) + template: this.detailsTemplate + // el: '#rental-details' + }) + this.$('#rental-details').append(movieDetailsView.render().$el); + + // that.listenTo(movieView, "selected", this.showDetails); + + if (this.rentalsShowing) { + this.$('#addRentalButton').hide(); + } + this.$('#rental-details').show(); + this.$('#rental-list').hide(); + this.$('#see_rentals').show(); }, hideDetails: function() { this.$('#rental-details').hide(); From 779547de3c7cbe18a396119564af82c147011c97 Mon Sep 17 00:00:00 2001 From: Regan Huff Date: Mon, 19 Jun 2017 14:40:12 -0700 Subject: [PATCH 24/48] Trigger in details view calls add rental in list view --- src/views/movie_details_view.js | 9 ++++++--- src/views/movie_list_view.js | 14 +++++++------- src/views/movie_view.js | 7 +------ 3 files changed, 14 insertions(+), 16 deletions(-) diff --git a/src/views/movie_details_view.js b/src/views/movie_details_view.js index 86f4c8543..0b09a4718 100644 --- a/src/views/movie_details_view.js +++ b/src/views/movie_details_view.js @@ -15,10 +15,13 @@ var MovieDetailsView = Backbone.View.extend({ this.$el.html(compiledTemplate); return this; }, + // addNewRental: function() { + // var data = this.model.toJSON(); + // console.log(data); + // this.model.create(data); + // } addNewRental: function() { - var data = this.model.toJSON(); - console.log(data); - this.model.create(data); + this.trigger("new", this.model); } }); diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index f537b4ebb..341e29da6 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -56,7 +56,7 @@ var MovieListView = Backbone.View.extend({ }) this.$('#rental-details').append(movieDetailsView.render().$el); - // that.listenTo(movieView, "selected", this.showDetails); + this.listenTo(movieDetailsView, "new", this.addNewRental); if (this.rentalsShowing) { this.$('#addRentalButton').hide(); @@ -94,16 +94,16 @@ var MovieListView = Backbone.View.extend({ that.listenTo(movieView, "selected", this.showDetails); }); return this; - }//, + }, // returnHome: function() { // this.$('#rental-details').empty(); // this.$('#rental-list').show(); // }, - // addNewRental: function(model) { - // // var data = model.toJSON(); - // console.log(this.model); - // this.model.create(this.model); - // } + addNewRental: function(model) { + var data = model.toJSON(); + console.log(data); + this.model.create(data); + } }); export default MovieListView; diff --git a/src/views/movie_view.js b/src/views/movie_view.js index 7f20a2e7c..77fd7d51b 100644 --- a/src/views/movie_view.js +++ b/src/views/movie_view.js @@ -17,12 +17,7 @@ var MovieView = Backbone.View.extend({ }, showDetails: function(event) { this.trigger("selected", this.model); - }, - // returnHome: function(event) { - // console.log("I am triggered"); - // this.trigger("home", this.model); - - // } + } }); export default MovieView; From da4113c680074a153416986bc714f372f1f12586 Mon Sep 17 00:00:00 2001 From: Haby Randall Date: Mon, 19 Jun 2017 16:37:52 -0700 Subject: [PATCH 25/48] Merhing with Regan --- src/views/movie_list_view.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index 341e29da6..e07a2515e 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -100,9 +100,9 @@ var MovieListView = Backbone.View.extend({ // this.$('#rental-list').show(); // }, addNewRental: function(model) { - var data = model.toJSON(); - console.log(data); - this.model.create(data); + // var data = model.toJSON(); + // console.log(data); + this.model.create(model); } }); From e29dd9143d5e0659495679b1f436d4606ea99f3d Mon Sep 17 00:00:00 2001 From: Regan Huff Date: Mon, 19 Jun 2017 16:50:10 -0700 Subject: [PATCH 26/48] Restore home button function --- src/views/movie_details_view.js | 11 ++++------- src/views/movie_list_view.js | 27 ++++++--------------------- 2 files changed, 10 insertions(+), 28 deletions(-) diff --git a/src/views/movie_details_view.js b/src/views/movie_details_view.js index 0b09a4718..52db50cf8 100644 --- a/src/views/movie_details_view.js +++ b/src/views/movie_details_view.js @@ -7,7 +7,7 @@ var MovieDetailsView = Backbone.View.extend({ this.template = params.template; }, events: { - // 'click #returnToRentalButton' : 'returnHome', + 'click #returnToRentalButton' : 'returnHome', 'click #addRentalButton' : 'addNewRental' }, render: function() { @@ -15,15 +15,12 @@ var MovieDetailsView = Backbone.View.extend({ this.$el.html(compiledTemplate); return this; }, - // addNewRental: function() { - // var data = this.model.toJSON(); - // console.log(data); - // this.model.create(data); - // } addNewRental: function() { this.trigger("new", this.model); + }, + returnHome: function() { + this.trigger("home") } - }); export default MovieDetailsView; diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index e07a2515e..439964839 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -17,8 +17,6 @@ var MovieListView = Backbone.View.extend({ 'click #see_movie_search' : 'showForm', 'click #search-movies' : 'fetchMovies', 'click #see_rentals' : 'hideForm'//, - // 'click #returnToRentalButton' : 'returnHome', - // 'click #addRentalButton' : 'addNewRental' }, showForm: function() { $('#see_movie_search').hide(); @@ -35,28 +33,17 @@ var MovieListView = Backbone.View.extend({ this.rentalsShowing = true; this.model.fetch(); }, - // showDetails: function(model) { - // // this.detailsRental = model; - // var compiledTemplate = this.detailsTemplate({rental: model.toJSON()}); - // this.$('#rental-details').html(compiledTemplate); - // if (this.rentalsShowing) { - // this.$('#addRentalButton').hide(); - // } - // this.$('#rental-details').show(); - // this.$('#rental-list').hide(); - // this.$('#see_rentals').show(); - // }, + showDetails: function(rental) { this.$('#rental-details').empty(); var movieDetailsView = new MovieDetailsView({ model: rental, - // template: _.template($('#rental-info-template').html()) template: this.detailsTemplate - // el: '#rental-details' }) this.$('#rental-details').append(movieDetailsView.render().$el); this.listenTo(movieDetailsView, "new", this.addNewRental); + this.listenTo(movieDetailsView, "home", this.returnHome); if (this.rentalsShowing) { this.$('#addRentalButton').hide(); @@ -95,13 +82,11 @@ var MovieListView = Backbone.View.extend({ }); return this; }, - // returnHome: function() { - // this.$('#rental-details').empty(); - // this.$('#rental-list').show(); - // }, + returnHome: function() { + this.$('#rental-details').empty(); + this.$('#rental-list').show(); + }, addNewRental: function(model) { - // var data = model.toJSON(); - // console.log(data); this.model.create(model); } }); From d6636fbe5d4167345362d0f7ec32c06784fd0aa0 Mon Sep 17 00:00:00 2001 From: Regan Huff Date: Mon, 19 Jun 2017 16:53:04 -0700 Subject: [PATCH 27/48] Change button wording --- build/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/index.html b/build/index.html index f08dfa4d7..dceffd1cd 100644 --- a/build/index.html +++ b/build/index.html @@ -44,7 +44,7 @@

    Release Date:<%- rental.release_date %>

    movie_img - + From cb8aa35a90c46e9cc7e1704f27ec212f1dacaa4c Mon Sep 17 00:00:00 2001 From: Haby Randall Date: Tue, 20 Jun 2017 13:32:08 -0700 Subject: [PATCH 28/48] Adding a movie to rental library takes you back to full library --- src/views/movie_list_view.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index 439964839..6b2f29f69 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -39,7 +39,7 @@ var MovieListView = Backbone.View.extend({ var movieDetailsView = new MovieDetailsView({ model: rental, template: this.detailsTemplate - }) + }); this.$('#rental-details').append(movieDetailsView.render().$el); this.listenTo(movieDetailsView, "new", this.addNewRental); @@ -88,6 +88,10 @@ var MovieListView = Backbone.View.extend({ }, addNewRental: function(model) { this.model.create(model); + this.$('#rental-details').empty(); + this.$('#rental-list').show(); + this.model.fetch(); + alert("Movie was successfully added to the rental library"); } }); From 65d4d27ca75a04497048d7e49db473ca00c834f2 Mon Sep 17 00:00:00 2001 From: Haby Randall Date: Tue, 20 Jun 2017 15:02:05 -0700 Subject: [PATCH 29/48] Trying to show success callback for successful create method --- src/views/movie_list_view.js | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index 6b2f29f69..92f5b043c 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -45,12 +45,12 @@ var MovieListView = Backbone.View.extend({ this.listenTo(movieDetailsView, "new", this.addNewRental); this.listenTo(movieDetailsView, "home", this.returnHome); - if (this.rentalsShowing) { - this.$('#addRentalButton').hide(); - } - this.$('#rental-details').show(); - this.$('#rental-list').hide(); - this.$('#see_rentals').show(); + if (this.rentalsShowing) { + this.$('#addRentalButton').hide(); + } + this.$('#rental-details').show(); + this.$('#rental-list').hide(); + this.$('#see_rentals').show(); }, hideDetails: function() { this.$('#rental-details').hide(); @@ -87,12 +87,18 @@ var MovieListView = Backbone.View.extend({ this.$('#rental-list').show(); }, addNewRental: function(model) { - this.model.create(model); + var newRental = + model.save(null, { + success: function(model, response) { + console.log("success"); + } + }); + this.model.push(newRental); this.$('#rental-details').empty(); this.$('#rental-list').show(); this.model.fetch(); - alert("Movie was successfully added to the rental library"); - } + + }, }); export default MovieListView; From 2ea52d5b09076f57a3143136e15808906983b656 Mon Sep 17 00:00:00 2001 From: Regan Huff Date: Tue, 20 Jun 2017 15:05:45 -0700 Subject: [PATCH 30/48] Add section for messages to user --- build/index.html | 1 + 1 file changed, 1 insertion(+) diff --git a/build/index.html b/build/index.html index dceffd1cd..e7f1098ea 100644 --- a/build/index.html +++ b/build/index.html @@ -18,6 +18,7 @@

    Movies

    +
    From 5db99ed17cbfcc9d783f2536ee47833e833b7298 Mon Sep 17 00:00:00 2001 From: Regan Huff Date: Tue, 20 Jun 2017 15:06:26 -0700 Subject: [PATCH 31/48] Messages for fetch fail and empty search box --- src/views/movie_list_view.js | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index 439964839..5e42a8977 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -11,12 +11,15 @@ var MovieListView = Backbone.View.extend({ var rentalsShowing = true; this.$('#rental-details').hide(); this.listenTo(this.model, "update", this.render); - this.model.fetch(); + this.model.fetch({ + failure: this.fetchFail + }); }, events: { 'click #see_movie_search' : 'showForm', 'click #search-movies' : 'fetchMovies', - 'click #see_rentals' : 'hideForm'//, + 'click #see_rentals' : 'hideForm', + }, showForm: function() { $('#see_movie_search').hide(); @@ -31,7 +34,9 @@ var MovieListView = Backbone.View.extend({ this.hideDetails(); $('form').hide(); this.rentalsShowing = true; - this.model.fetch(); + this.model.fetch({ + failure: this.fetchFail + }); }, showDetails: function(rental) { @@ -67,10 +72,17 @@ var MovieListView = Backbone.View.extend({ this.$('#rental-list').show(); var query = this.getQueryForm(); - this.model.fetch({ data: $.param({query})}); + if (!query) { + $("#message").html("

    A search term is needed.

    "); + } else { + this.model.fetch({ data: $.param({query}), + failure: this.fetchFail + }); + } }, render: function() { this.$('#rental-list').empty(); + this.$('#message').empty(); var that = this; this.model.each((rental) => { var movieView = new MovieView({ @@ -88,6 +100,9 @@ var MovieListView = Backbone.View.extend({ }, addNewRental: function(model) { this.model.create(model); + }, + fetchFail: function(data){ + $("#message").html("

    Unfortunately your request could not be completed.

    "); } }); From baf7b9eef363afe141b1eb701d726285ac3f2c8f Mon Sep 17 00:00:00 2001 From: Regan Huff Date: Tue, 20 Jun 2017 15:31:02 -0700 Subject: [PATCH 32/48] Message when search has no results --- src/views/movie_list_view.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index 86e74930b..f32f96e5f 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -12,7 +12,7 @@ var MovieListView = Backbone.View.extend({ this.$('#rental-details').hide(); this.listenTo(this.model, "update", this.render); this.model.fetch({ - failure: this.fetchFail + error: this.fetchFail }); }, events: { @@ -35,7 +35,7 @@ var MovieListView = Backbone.View.extend({ $('form').hide(); this.rentalsShowing = true; this.model.fetch({ - failure: this.fetchFail + error: this.fetchFail }); }, @@ -76,7 +76,8 @@ var MovieListView = Backbone.View.extend({ $("#message").html("

    A search term is needed.

    "); } else { this.model.fetch({ data: $.param({query}), - failure: this.fetchFail + success: this.fetchSuccess, + error: this.fetchFail }); } }, @@ -109,7 +110,12 @@ var MovieListView = Backbone.View.extend({ this.model.push(newRental); this.$('#rental-details').empty(); this.$('#rental-list').show(); - this.model.fetch(); + this.model.fetch(); + }, + fetchSuccess: function(collection) { + if (collection.length == 0) { + $("#message").html("

    The search had no results.

    "); + } }, fetchFail: function(data){ $("#message").html("

    Unfortunately your request could not be completed.

    "); From c81138b06581813a6710312f64057b00f0d913d7 Mon Sep 17 00:00:00 2001 From: Haby Randall Date: Tue, 20 Jun 2017 15:46:58 -0700 Subject: [PATCH 33/48] Message showing when rendering --- src/views/movie_list_view.js | 73 ++++++++++++++++++------------------ 1 file changed, 37 insertions(+), 36 deletions(-) diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index 86e74930b..52cf41b5b 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -76,44 +76,45 @@ var MovieListView = Backbone.View.extend({ $("#message").html("

    A search term is needed.

    "); } else { this.model.fetch({ data: $.param({query}), - failure: this.fetchFail - }); - } - }, - render: function() { - this.$('#rental-list').empty(); - this.$('#message').empty(); - var that = this; - this.model.each((rental) => { - var movieView = new MovieView({ - model: rental, - template: that.template - }); - that.$('#rental-list').append(movieView.render().$el); - that.listenTo(movieView, "selected", this.showDetails); - }); - return this; - }, - returnHome: function() { - this.$('#rental-details').empty(); - this.$('#rental-list').show(); - }, - addNewRental: function(model) { - - var newRental = - model.save(null, { - success: function(model, response) { - console.log("success"); - } + failure: this.fetchFail }); - this.model.push(newRental); - this.$('#rental-details').empty(); - this.$('#rental-list').show(); - this.model.fetch(); - }, - fetchFail: function(data){ - $("#message").html("

    Unfortunately your request could not be completed.

    "); } +}, +render: function() { + this.$('#rental-list').empty(); + this.$('#message').empty(); + var that = this; + this.model.each((rental) => { + var movieView = new MovieView({ + model: rental, + template: that.template + }); + that.$('#rental-list').append(movieView.render().$el); + that.listenTo(movieView, "selected", this.showDetails); + }); + return this; +}, +returnHome: function() { + this.$('#rental-details').empty(); + this.$('#rental-list').show(); +}, +addNewRental: function(model) { + + var newRental = + model.save(null, { + success: function(model, response) { + $("#message").html("

    Movie successfully added to Video Store

    "); + console.log("I am in success!!"); + } + }); + this.model.push(newRental); + this.$('#rental-details').empty(); + this.$('#rental-list').show(); + // this.model.fetch(); +}, +fetchFail: function(data){ + $("#message").html("

    Unfortunately your request could not be completed.

    "); +} }); export default MovieListView; From 7c388e4e00ae8bb58ed3e3d59245d26a8ff4db58 Mon Sep 17 00:00:00 2001 From: Haby Randall Date: Wed, 21 Jun 2017 11:22:10 -0700 Subject: [PATCH 34/48] Added some foundation classes to rental-list section --- build/index.html | 2 +- src/views/movie_view.js | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/build/index.html b/build/index.html index e7f1098ea..d1caec307 100644 --- a/build/index.html +++ b/build/index.html @@ -26,7 +26,7 @@

    Movies

    -
    +
    diff --git a/src/views/movie_view.js b/src/views/movie_view.js index 77fd7d51b..b74f54715 100644 --- a/src/views/movie_view.js +++ b/src/views/movie_view.js @@ -6,6 +6,10 @@ var MovieView = Backbone.View.extend({ this.listenTo(this.model, "change", this.render); }, + attributes: { + class: 'small-6 medium-4 large-3 columns' + // class: 'column column-block' + }, events: { 'click': 'showDetails', From 27c5e35085db7e3c4adf6c0955da90f79f77c2ef Mon Sep 17 00:00:00 2001 From: Haby Randall Date: Wed, 21 Jun 2017 13:39:32 -0700 Subject: [PATCH 35/48] Adding some styling to rental-list --- build/css/styles.css | 56 +++++++++++++++++++++++---------- build/index.html | 4 +-- src/views/movie_details_view.js | 4 +++ src/views/movie_view.js | 3 +- 4 files changed, 46 insertions(+), 21 deletions(-) diff --git a/build/css/styles.css b/build/css/styles.css index 68a79a569..df2e23c18 100644 --- a/build/css/styles.css +++ b/build/css/styles.css @@ -1,7 +1,7 @@ @include foundation-everything; main { - background: lightblue; + background: lightblue; } header { @@ -9,8 +9,30 @@ header { padding: 0.5rem; } -#completed-checkbox { - display: inline; +li { + list-style: none; +} +/*#completed-checkbox { +display: inline; +}*/ +.movie-card-profile { + /*position: relative; + z-index: 0; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + margin-bottom: 1rem; + border: 0; + border-radius: 0;*/ +} + +.movie-card-profile-img { + width: 400px; + height: 300px; + border-radius: 20px; } label { @@ -22,23 +44,23 @@ button.success { display: inline; } -aside.create-tasklist { - background-color: navy; - color: #FFFFFF; -} -aside label { - color: #FFFFFF; -} +/*aside.create-tasklist { +background-color: navy; +color: #FFFFFF; +}*/ +/*aside label { +color: #FFFFFF; +}*/ -.completed { - text-decoration: line-through; -} +/*.completed { +text-decoration: line-through; +}*/ -div { - display: inline; -} +/*div { +display: inline; +}*/ /* * { - border-style: solid; +border-style: solid; } */ diff --git a/build/index.html b/build/index.html index d1caec307..351bb64ad 100644 --- a/build/index.html +++ b/build/index.html @@ -25,7 +25,7 @@

    Movies

    -
    +
    @@ -33,8 +33,8 @@

    Movies

    diff --git a/src/views/movie_details_view.js b/src/views/movie_details_view.js index 52db50cf8..1dad73d65 100644 --- a/src/views/movie_details_view.js +++ b/src/views/movie_details_view.js @@ -10,6 +10,10 @@ var MovieDetailsView = Backbone.View.extend({ 'click #returnToRentalButton' : 'returnHome', 'click #addRentalButton' : 'addNewRental' }, + attributes: { + class: 'small-6 medium-3 columns' + // class: 'column column-block' + }, render: function() { var compiledTemplate = this.template({rental: this.model.toJSON()}); this.$el.html(compiledTemplate); diff --git a/src/views/movie_view.js b/src/views/movie_view.js index b74f54715..af60aaf9d 100644 --- a/src/views/movie_view.js +++ b/src/views/movie_view.js @@ -7,12 +7,11 @@ var MovieView = Backbone.View.extend({ this.listenTo(this.model, "change", this.render); }, attributes: { - class: 'small-6 medium-4 large-3 columns' + class: 'small-6 medium-3 large-3 columns movie-card-profile' // class: 'column column-block' }, events: { 'click': 'showDetails', - }, render: function() { var compiledTemplate = this.template({rental: this.model.toJSON()}); From 1f8308e9161db8b87b05d9e04d3940045a34f12f Mon Sep 17 00:00:00 2001 From: Haby Randall Date: Wed, 21 Jun 2017 15:50:15 -0700 Subject: [PATCH 36/48] Adding more styling to rental-list --- build/css/styles.css | 49 +++++++++++++++++++++------------ build/index.html | 16 +++++------ src/views/movie_details_view.js | 2 +- 3 files changed, 40 insertions(+), 27 deletions(-) diff --git a/build/css/styles.css b/build/css/styles.css index df2e23c18..71cc96c63 100644 --- a/build/css/styles.css +++ b/build/css/styles.css @@ -1,44 +1,57 @@ @include foundation-everything; +/*Aqua: #6BBAA7 */ +/*Sunshine: #FBA100 */ +/*Lavender: #B6A19E*/ +/*Dusty Rose: #B6A19E*/ + +.wrap { + width: 95%; + max-width: 1100px; + margin: 0 auto; +} + main { - background: lightblue; + background: #F4F4F4; } header { - background-color: lightgreen; + background-color: #6D7993; padding: 0.5rem; + margin: 10px 15px 10px 15px; + /*height: 60%;*/ } li { list-style: none; } -/*#completed-checkbox { -display: inline; -}*/ + +/* Styling rental-list*/ .movie-card-profile { - /*position: relative; - z-index: 0; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; + position: relative; margin-bottom: 1rem; - border: 0; - border-radius: 0;*/ } .movie-card-profile-img { width: 400px; height: 300px; - border-radius: 20px; + border-radius: 5px; } -label { - display: inline; +.movie-card-profile-name { + text-align: center; + margin-bottom: 0; + font-weight: 300; + font-size: 1.5rem; + border-left: 6px solid #6BBAA7; + /*background-color: lightgray;*/ + } +/*Styling Details*/ + + + button.success { margin-right: 1.2rem; display: inline; diff --git a/build/index.html b/build/index.html index 351bb64ad..6e54dc387 100644 --- a/build/index.html +++ b/build/index.html @@ -9,9 +9,9 @@
    -

    Movies

    +

    Movies

    -
    + @@ -48,8 +48,8 @@

    <%- rental.overview %>

    Release Date: <%- rental.release_date %>

    movie_img - - + + From d33931033a3c19748095dcdff005278e8c975878 Mon Sep 17 00:00:00 2001 From: Regan Huff Date: Fri, 23 Jun 2017 13:14:49 -0700 Subject: [PATCH 46/48] Adjust footer margin --- build/css/styles.css | 5 ++++- build/index.html | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/build/css/styles.css b/build/css/styles.css index 4ead3da73..e79ebfcce 100644 --- a/build/css/styles.css +++ b/build/css/styles.css @@ -292,7 +292,10 @@ footer { background-color: #6D7993; padding: 0.5rem; height: 100px; - margin-top: 0px; +} +#main-footer { + margin-top: 20px; + } .movie-attr { diff --git a/build/index.html b/build/index.html index 6aed8201c..d5497ee7d 100644 --- a/build/index.html +++ b/build/index.html @@ -33,7 +33,7 @@

    All the Movies you Care to Rent

    -