From dc20b4bc78eb22f34e07bdf9f4a535896e42ca9c Mon Sep 17 00:00:00 2001 From: Bennett Rahn Date: Mon, 18 Dec 2017 12:01:19 -0800 Subject: [PATCH 01/19] add basic models, collections, views to render the movies list --- dist/index.html | 17 ++++++++++++++++- src/app.js | 26 +++++++++++++++++++++++++- src/collections/movie_list.js | 9 +++++++++ src/models/movie.js | 6 ++++++ src/views/movie_list_view.js | 34 ++++++++++++++++++++++++++++++++++ src/views/movie_view.js | 21 +++++++++++++++++++++ 6 files changed, 111 insertions(+), 2 deletions(-) create mode 100644 src/collections/movie_list.js create mode 100644 src/models/movie.js create mode 100644 src/views/movie_list_view.js create mode 100644 src/views/movie_view.js diff --git a/dist/index.html b/dist/index.html index 559b18ecd..ab6ea22ea 100644 --- a/dist/index.html +++ b/dist/index.html @@ -6,9 +6,24 @@
- +
+
    + +
+
+
+ + diff --git a/src/app.js b/src/app.js index 30c00d594..01ccbe34d 100644 --- a/src/app.js +++ b/src/app.js @@ -5,10 +5,34 @@ import './css/styles.css'; // Import jQuery & Underscore import $ from 'jquery'; import _ from 'underscore'; +import Backbone from 'backbone' + +import MovieList from 'collections/movie_list'; +import MovieListView from './views/movie_list_view'; + +let movieTemplate; // ready to go $(document).ready(function() { + // $('#main-content').append('

Hello World!

'); + // let bus = {}; + // bus = _.extend(bus, Backbone.Events) + + // const quotes = new QuoteList(quoteData, {bus: bus, data: 'hello from options'}); + const movieList = new MovieList(); + // movieList.fetch(); + + movieTemplate = _.template($('#movie-template').html()); + + + const movieListView = new MovieListView({ + el: '#movies-container', + model: movieList, + // bus: bus, + template: movieTemplate, + }); + + movieListView.render(); - $('#main-content').append('

Hello World!

'); }); diff --git a/src/collections/movie_list.js b/src/collections/movie_list.js new file mode 100644 index 000000000..851a46cc7 --- /dev/null +++ b/src/collections/movie_list.js @@ -0,0 +1,9 @@ +import Backbone from 'backbone'; +import Movie from 'models/movie'; + +const MovieList = Backbone.Collection.extend({ + model: Movie, + url: 'http://localhost:3000/movies', +}); + +export default MovieList; diff --git a/src/models/movie.js b/src/models/movie.js new file mode 100644 index 000000000..5f58da6db --- /dev/null +++ b/src/models/movie.js @@ -0,0 +1,6 @@ +import Backbone from 'backbone'; + +const Movie = Backbone.Model.extend({ +}); + +export default Movie; diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js new file mode 100644 index 000000000..a2b299970 --- /dev/null +++ b/src/views/movie_list_view.js @@ -0,0 +1,34 @@ +import Backbone from 'backbone'; +import MovieView from './movie_view'; +import Movie from '../models/movie'; + +const MovieListView = Backbone.View.extend({ + initialize(params) { + this.template = params.template; + // this.bus = params.bus; + + this.listenTo(this.model, 'update', this.render); + // this.listenTo(this.bus, 'quote_change_price', this.buySellQuote); + }, + + render() { + this.$('#movies-list').empty(); + + this.model.fetch(); + + this.model.each((movie) => { + const movieView = new MovieView({ + model: movie, + // bus: this.bus, + template: this.template, + tagName: 'li', + className: 'movie', + }); + this.$('#movies-list').append(movieView.render().$el); + }); + + return this; + }, +}); + +export default MovieListView; diff --git a/src/views/movie_view.js b/src/views/movie_view.js new file mode 100644 index 000000000..0fc065842 --- /dev/null +++ b/src/views/movie_view.js @@ -0,0 +1,21 @@ +import Backbone from 'backbone'; +import Movie from '../models/movie'; + +const MovieView = Backbone.View.extend({ + initialize(params) { + this.template = params.template; + // this.bus = params.bus; + this.listenTo(this.model, 'change', this.render); //superfluous? + }, + render() { + const compiledTemplate = this.template(this.model.toJSON()); + + this.$el.html(compiledTemplate); + + return this + }, + +}); + + +export default MovieView; From 81e28af49f42b0f84fb785dee813b4f3229366d2 Mon Sep 17 00:00:00 2001 From: Bennett Rahn Date: Mon, 18 Dec 2017 13:52:54 -0800 Subject: [PATCH 02/19] add externalmovielist collection --- dist/index.html | 1 + src/collections/external_movie_list.js | 9 +++++++++ 2 files changed, 10 insertions(+) create mode 100644 src/collections/external_movie_list.js diff --git a/dist/index.html b/dist/index.html index ab6ea22ea..2719aa58e 100644 --- a/dist/index.html +++ b/dist/index.html @@ -7,6 +7,7 @@
+

Movies List

diff --git a/src/collections/external_movie_list.js b/src/collections/external_movie_list.js new file mode 100644 index 000000000..a57f4a5d9 --- /dev/null +++ b/src/collections/external_movie_list.js @@ -0,0 +1,9 @@ +import Backbone from 'backbone'; +import Movie from 'models/movie'; + +const ExternalMovieList = Backbone.Collection.extend({ + model: Movie, + urlRoot: `http://localhost:3000/movies/?query=${ this.title }`, +}); + +export default ExternalMovieList; From 75691540d39fb76afa56b9669bb2da4584d82a17 Mon Sep 17 00:00:00 2001 From: Tanisha Date: Mon, 18 Dec 2017 14:16:59 -0800 Subject: [PATCH 03/19] render movie from rental library on button click --- dist/index.html | 7 ++++++- src/app.js | 13 ++++++------- src/views/main_view.js | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 44 insertions(+), 8 deletions(-) create mode 100644 src/views/main_view.js diff --git a/dist/index.html b/dist/index.html index 2719aa58e..0da213d76 100644 --- a/dist/index.html +++ b/dist/index.html @@ -6,8 +6,13 @@
+

Movies List

+ + + +
-

Movies List

+
diff --git a/src/app.js b/src/app.js index 01ccbe34d..4478e8376 100644 --- a/src/app.js +++ b/src/app.js @@ -9,6 +9,8 @@ import Backbone from 'backbone' import MovieList from 'collections/movie_list'; import MovieListView from './views/movie_list_view'; +import MainView from 'views/main_view'; + let movieTemplate; @@ -25,14 +27,11 @@ $(document).ready(function() { movieTemplate = _.template($('#movie-template').html()); - const movieListView = new MovieListView({ - el: '#movies-container', - model: movieList, - // bus: bus, - template: movieTemplate, + const mainView = new MainView({ + el: '#main-content', + movieTemplate: movieTemplate, + movieList: movieList, }); - movieListView.render(); - }); diff --git a/src/views/main_view.js b/src/views/main_view.js new file mode 100644 index 000000000..9e98a05fb --- /dev/null +++ b/src/views/main_view.js @@ -0,0 +1,32 @@ +import Backbone from 'backbone'; +import MovieView from './movie_view'; +import Movie from '../models/movie'; +import MovieListView from './movie_list_view'; + +const MainView = Backbone.View.extend({ + initialize(params) { + this.movieTemplate = params.movieTemplate; + this.movieList = params.movieList; + }, + events: { + 'click button#our-movies' : 'renderOurMovies', + 'click button#all-movies' : 'renderAllMovies' + }, + renderOurMovies() { + const movieListView = new MovieListView({ + el: '#movies-container', + model: this.movieList, + // bus: bus, + template: this.movieTemplate, + }); + + movieListView.render(); + }, + renderAllMovies() { + }, +}); + + + + +export default MainView; From 589bc55fcae906af73013a1f6307c0e3533d6b64 Mon Sep 17 00:00:00 2001 From: Bennett Rahn Date: Mon, 18 Dec 2017 14:24:50 -0800 Subject: [PATCH 04/19] fix the render loop --- src/views/main_view.js | 2 +- src/views/movie_list_view.js | 2 +- src/views/movie_view.js | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/views/main_view.js b/src/views/main_view.js index 9e98a05fb..485a1a350 100644 --- a/src/views/main_view.js +++ b/src/views/main_view.js @@ -20,7 +20,7 @@ const MainView = Backbone.View.extend({ template: this.movieTemplate, }); - movieListView.render(); + movieListView.model.fetch(); }, renderAllMovies() { }, diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index a2b299970..3e3dd0ae5 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -14,7 +14,7 @@ const MovieListView = Backbone.View.extend({ render() { this.$('#movies-list').empty(); - this.model.fetch(); + // this.model.fetch(); this.model.each((movie) => { const movieView = new MovieView({ diff --git a/src/views/movie_view.js b/src/views/movie_view.js index 0fc065842..e52805e43 100644 --- a/src/views/movie_view.js +++ b/src/views/movie_view.js @@ -5,11 +5,11 @@ const MovieView = Backbone.View.extend({ initialize(params) { this.template = params.template; // this.bus = params.bus; - this.listenTo(this.model, 'change', this.render); //superfluous? + // this.listenTo(this.model, 'change', this.render); //superfluous? }, render() { const compiledTemplate = this.template(this.model.toJSON()); - + this.$el.html(compiledTemplate); return this From 77c829c1b16df1e101563608b96fd0795b90afbc Mon Sep 17 00:00:00 2001 From: Tanisha Date: Mon, 18 Dec 2017 14:28:54 -0800 Subject: [PATCH 05/19] add form template --- dist/index.html | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/dist/index.html b/dist/index.html index 0da213d76..c099e8e9e 100644 --- a/dist/index.html +++ b/dist/index.html @@ -20,6 +20,7 @@

Movies List

+ + + From e6086ba5f7b4f6f55391c286a4bc9c0264a54abc Mon Sep 17 00:00:00 2001 From: Tanisha Date: Mon, 18 Dec 2017 14:33:52 -0800 Subject: [PATCH 06/19] compile form template --- src/app.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/app.js b/src/app.js index 4478e8376..4e8c8d772 100644 --- a/src/app.js +++ b/src/app.js @@ -30,6 +30,7 @@ $(document).ready(function() { const mainView = new MainView({ el: '#main-content', movieTemplate: movieTemplate, + formTemplate: _.template($('#form-template').html()), movieList: movieList, }); From 22feb8b5130b2ef666adb603a6c32e66d8607be2 Mon Sep 17 00:00:00 2001 From: Tanisha Date: Mon, 18 Dec 2017 15:00:30 -0800 Subject: [PATCH 07/19] add render form function to main view --- dist/index.html | 6 ++++-- src/views/main_view.js | 8 ++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/dist/index.html b/dist/index.html index c099e8e9e..7f6614335 100644 --- a/dist/index.html +++ b/dist/index.html @@ -10,6 +10,7 @@

Movies List

+
@@ -33,8 +34,9 @@

<%- title %>

diff --git a/src/views/main_view.js b/src/views/main_view.js index 9e98a05fb..e10e4e584 100644 --- a/src/views/main_view.js +++ b/src/views/main_view.js @@ -6,22 +6,26 @@ import MovieListView from './movie_list_view'; const MainView = Backbone.View.extend({ initialize(params) { this.movieTemplate = params.movieTemplate; + this.formTemplate = params.formTemplate; this.movieList = params.movieList; }, events: { 'click button#our-movies' : 'renderOurMovies', - 'click button#all-movies' : 'renderAllMovies' + 'click button#all-movies' : 'renderForm', + 'click button#submit' : 'renderAllMovies' }, renderOurMovies() { const movieListView = new MovieListView({ el: '#movies-container', model: this.movieList, - // bus: bus, template: this.movieTemplate, }); movieListView.render(); }, + renderForm() { + this.$('.form').append(this.formTemplate); + }, renderAllMovies() { }, }); From f301976a4496e5a922bb0a998bfd86c21355a0bc Mon Sep 17 00:00:00 2001 From: Bennett Rahn Date: Mon, 18 Dec 2017 15:01:35 -0800 Subject: [PATCH 08/19] add search function call to apit --- src/collections/external_movie_list.js | 9 ++++++++- src/views/main_view.js | 18 +++++++++++++++++- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/src/collections/external_movie_list.js b/src/collections/external_movie_list.js index a57f4a5d9..334b56864 100644 --- a/src/collections/external_movie_list.js +++ b/src/collections/external_movie_list.js @@ -2,8 +2,15 @@ import Backbone from 'backbone'; import Movie from 'models/movie'; const ExternalMovieList = Backbone.Collection.extend({ + initialize (attributes) { + this.title = attributes.title; + }, model: Movie, - urlRoot: `http://localhost:3000/movies/?query=${ this.title }`, + url() { + console.log(this.title); + return `http://localhost:3000/movies/?query=${ this.title }` + }, + }); export default ExternalMovieList; diff --git a/src/views/main_view.js b/src/views/main_view.js index 485a1a350..93aa1397f 100644 --- a/src/views/main_view.js +++ b/src/views/main_view.js @@ -2,6 +2,7 @@ import Backbone from 'backbone'; import MovieView from './movie_view'; import Movie from '../models/movie'; import MovieListView from './movie_list_view'; +import ExternalMovieList from '../collections/external_movie_list'; const MainView = Backbone.View.extend({ initialize(params) { @@ -16,13 +17,28 @@ const MainView = Backbone.View.extend({ const movieListView = new MovieListView({ el: '#movies-container', model: this.movieList, - // bus: bus, template: this.movieTemplate, }); movieListView.model.fetch(); }, renderAllMovies() { + this.search('Jaws'); + + }, + + search(title) { + let externalMovieList = new ExternalMovieList({ + title: title + }); + + const movieListView = new MovieListView({ + el: '#movies-container', + model: externalMovieList, + template: this.movieTemplate, + }); + + movieListView.model.fetch(); }, }); From 82ae1c37060f4f939b866bc8480b64e98b10fcc0 Mon Sep 17 00:00:00 2001 From: Bennett Rahn Date: Mon, 18 Dec 2017 15:07:12 -0800 Subject: [PATCH 09/19] sync up form and search --- src/collections/external_movie_list.js | 1 - src/views/main_view.js | 5 +++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/collections/external_movie_list.js b/src/collections/external_movie_list.js index 334b56864..3deef298d 100644 --- a/src/collections/external_movie_list.js +++ b/src/collections/external_movie_list.js @@ -7,7 +7,6 @@ const ExternalMovieList = Backbone.Collection.extend({ }, model: Movie, url() { - console.log(this.title); return `http://localhost:3000/movies/?query=${ this.title }` }, diff --git a/src/views/main_view.js b/src/views/main_view.js index 80ee8a481..a5f6efc2f 100644 --- a/src/views/main_view.js +++ b/src/views/main_view.js @@ -27,8 +27,9 @@ const MainView = Backbone.View.extend({ renderForm() { this.$('.form').append(this.formTemplate); }, - renderAllMovies() { - this.search('Jaws'); + renderAllMovies(event) { + const title = this.$('input').val(); + this.search(title); }, From 32d2154974d01bcde226d45c59984f634849fe07 Mon Sep 17 00:00:00 2001 From: Bennett Rahn Date: Tue, 19 Dec 2017 11:29:55 -0800 Subject: [PATCH 10/19] add movies to rental library --- src/collections/external_movie_list.js | 7 ++++--- src/collections/movie_list.js | 5 ++++- src/models/movie.js | 1 + src/views/main_view.js | 1 + src/views/movie_list_view.js | 2 ++ src/views/movie_view.js | 24 ++++++++++++++++++++++++ 6 files changed, 36 insertions(+), 4 deletions(-) diff --git a/src/collections/external_movie_list.js b/src/collections/external_movie_list.js index 3deef298d..5dcd55f7c 100644 --- a/src/collections/external_movie_list.js +++ b/src/collections/external_movie_list.js @@ -1,13 +1,14 @@ import Backbone from 'backbone'; import Movie from 'models/movie'; +import MovieList from 'collections/movie_list'; -const ExternalMovieList = Backbone.Collection.extend({ +const ExternalMovieList = MovieList.extend({ initialize (attributes) { this.title = attributes.title; }, - model: Movie, url() { - return `http://localhost:3000/movies/?query=${ this.title }` + console.log(this.baseUrl); + return this.baseUrl + `/?query=${ this.title }` }, }); diff --git a/src/collections/movie_list.js b/src/collections/movie_list.js index 851a46cc7..896d4689e 100644 --- a/src/collections/movie_list.js +++ b/src/collections/movie_list.js @@ -3,7 +3,10 @@ import Movie from 'models/movie'; const MovieList = Backbone.Collection.extend({ model: Movie, - url: 'http://localhost:3000/movies', + baseUrl: 'http://localhost:3000/movies', + url() { + return this.baseUrl + } }); export default MovieList; diff --git a/src/models/movie.js b/src/models/movie.js index 5f58da6db..f68ee8db8 100644 --- a/src/models/movie.js +++ b/src/models/movie.js @@ -1,6 +1,7 @@ import Backbone from 'backbone'; const Movie = Backbone.Model.extend({ + url: 'http://localhost:3000/movies', }); export default Movie; diff --git a/src/views/main_view.js b/src/views/main_view.js index a5f6efc2f..62f9c3061 100644 --- a/src/views/main_view.js +++ b/src/views/main_view.js @@ -42,6 +42,7 @@ const MainView = Backbone.View.extend({ el: '#movies-container', model: externalMovieList, template: this.movieTemplate, + external: true }); movieListView.model.fetch(); diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index 3e3dd0ae5..e99ff3d95 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -5,6 +5,7 @@ import Movie from '../models/movie'; const MovieListView = Backbone.View.extend({ initialize(params) { this.template = params.template; + this.external = params.external; // this.bus = params.bus; this.listenTo(this.model, 'update', this.render); @@ -21,6 +22,7 @@ const MovieListView = Backbone.View.extend({ model: movie, // bus: this.bus, template: this.template, + external: this.external, tagName: 'li', className: 'movie', }); diff --git a/src/views/movie_view.js b/src/views/movie_view.js index e52805e43..fb3fb7f3e 100644 --- a/src/views/movie_view.js +++ b/src/views/movie_view.js @@ -4,6 +4,7 @@ import Movie from '../models/movie'; const MovieView = Backbone.View.extend({ initialize(params) { this.template = params.template; + this.external = params.external; // this.bus = params.bus; // this.listenTo(this.model, 'change', this.render); //superfluous? }, @@ -12,9 +13,32 @@ const MovieView = Backbone.View.extend({ this.$el.html(compiledTemplate); + if (this.external) { + this.$el.append('') + } + return this }, + events: { + 'click button.add-movie': 'addMovie', + }, + + addMovie(event) { + // console.log(this); + this.model.save({}, { + success: (model, response) => { + console.log('success'); + console.log(model); + console.log(response); + }, + error: (model, response) => { + console.log('error'); + console.log(model); + console.log(response); + } + }); + }, }); From f4c6af518aa61d518193c28997728245cbc75d22 Mon Sep 17 00:00:00 2001 From: Bennett Rahn Date: Tue, 19 Dec 2017 12:09:49 -0800 Subject: [PATCH 11/19] clear the movie-list --- src/views/main_view.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/views/main_view.js b/src/views/main_view.js index 62f9c3061..e8a560e05 100644 --- a/src/views/main_view.js +++ b/src/views/main_view.js @@ -16,6 +16,8 @@ const MainView = Backbone.View.extend({ 'click button#submit' : 'renderAllMovies' }, renderOurMovies() { + this.$('#movies-list').empty(); + const movieListView = new MovieListView({ el: '#movies-container', model: this.movieList, @@ -25,6 +27,8 @@ const MainView = Backbone.View.extend({ movieListView.model.fetch(); }, renderForm() { + this.$('#movies-container').empty(); + this.$('.form').append(this.formTemplate); }, renderAllMovies(event) { @@ -38,6 +42,7 @@ const MainView = Backbone.View.extend({ title: title }); + // this.$('#movies-list').empty(); const movieListView = new MovieListView({ el: '#movies-container', model: externalMovieList, From 8fd4b8a21ae0f1bc127712ae6421919ad9b300df Mon Sep 17 00:00:00 2001 From: Tanisha Date: Tue, 19 Dec 2017 12:16:52 -0800 Subject: [PATCH 12/19] change the way form render so it only render once upon click --- src/views/main_view.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/views/main_view.js b/src/views/main_view.js index e8a560e05..01ee8fd9d 100644 --- a/src/views/main_view.js +++ b/src/views/main_view.js @@ -28,8 +28,7 @@ const MainView = Backbone.View.extend({ }, renderForm() { this.$('#movies-container').empty(); - - this.$('.form').append(this.formTemplate); + this.$('.form').html(this.formTemplate); }, renderAllMovies(event) { const title = this.$('input').val(); From eaff68c76fcf980239bb1277d9f8514c2d18e85c Mon Sep 17 00:00:00 2001 From: Bennett Rahn Date: Tue, 19 Dec 2017 12:18:14 -0800 Subject: [PATCH 13/19] fix all to ours toggle --- src/views/main_view.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/main_view.js b/src/views/main_view.js index 01ee8fd9d..7eb11e3d5 100644 --- a/src/views/main_view.js +++ b/src/views/main_view.js @@ -27,7 +27,7 @@ const MainView = Backbone.View.extend({ movieListView.model.fetch(); }, renderForm() { - this.$('#movies-container').empty(); + this.$('#movies-list').empty(); this.$('.form').html(this.formTemplate); }, renderAllMovies(event) { From a7cad70e925baee7c59611acdf0d01ff43ff905f Mon Sep 17 00:00:00 2001 From: Bennett Rahn Date: Tue, 19 Dec 2017 12:34:00 -0800 Subject: [PATCH 14/19] make search a form so enter works --- dist/index.html | 6 ++++-- src/views/main_view.js | 8 +++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/dist/index.html b/dist/index.html index 7f6614335..8bb76bfca 100644 --- a/dist/index.html +++ b/dist/index.html @@ -10,7 +10,7 @@

Movies List

-
+
@@ -34,9 +34,11 @@

<%- title %>

diff --git a/src/views/main_view.js b/src/views/main_view.js index 7eb11e3d5..43f58e31b 100644 --- a/src/views/main_view.js +++ b/src/views/main_view.js @@ -13,7 +13,7 @@ const MainView = Backbone.View.extend({ events: { 'click button#our-movies' : 'renderOurMovies', 'click button#all-movies' : 'renderForm', - 'click button#submit' : 'renderAllMovies' + 'click button#submit' : 'renderAllMovies', }, renderOurMovies() { this.$('#movies-list').empty(); @@ -28,10 +28,12 @@ const MainView = Backbone.View.extend({ }, renderForm() { this.$('#movies-list').empty(); - this.$('.form').html(this.formTemplate); + this.$('#search-form').html(this.formTemplate); }, renderAllMovies(event) { - const title = this.$('input').val(); + event.preventDefault(); + console.log('in renderAllMovies'); + const title = this.$('form input').val(); this.search(title); }, From 5ee0f6185024da7cef0de0fd070cb1f25071eaa7 Mon Sep 17 00:00:00 2001 From: Bennett Rahn Date: Tue, 19 Dec 2017 12:35:57 -0800 Subject: [PATCH 15/19] add searching --- src/views/main_view.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/main_view.js b/src/views/main_view.js index 43f58e31b..1ae5f4193 100644 --- a/src/views/main_view.js +++ b/src/views/main_view.js @@ -32,8 +32,8 @@ const MainView = Backbone.View.extend({ }, renderAllMovies(event) { event.preventDefault(); - console.log('in renderAllMovies'); const title = this.$('form input').val(); + this.$('#movies-list').html('

Searching...

'); this.search(title); }, From 3ab3cab8b1922e38d623b067f7ce822d25873177 Mon Sep 17 00:00:00 2001 From: Bennett Rahn Date: Wed, 20 Dec 2017 09:52:33 -0800 Subject: [PATCH 16/19] remove search bar for our movies --- src/views/main_view.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/views/main_view.js b/src/views/main_view.js index 1ae5f4193..992b2a9be 100644 --- a/src/views/main_view.js +++ b/src/views/main_view.js @@ -16,6 +16,7 @@ const MainView = Backbone.View.extend({ 'click button#submit' : 'renderAllMovies', }, renderOurMovies() { + this.$('#search-form').html(''); this.$('#movies-list').empty(); const movieListView = new MovieListView({ From 4ee9b3a7f616e86bad7ae15d4a9598c4afe80d76 Mon Sep 17 00:00:00 2001 From: Tanisha Date: Wed, 20 Dec 2017 10:53:04 -0800 Subject: [PATCH 17/19] add styles --- dist/index.html | 18 +++++++++++++++--- movie.jpg | Bin 0 -> 54368 bytes src/css/styles.css | 36 ++++++++++++++++++++++++++++++------ 3 files changed, 45 insertions(+), 9 deletions(-) create mode 100644 movie.jpg diff --git a/dist/index.html b/dist/index.html index 8bb76bfca..4b7dc6257 100644 --- a/dist/index.html +++ b/dist/index.html @@ -3,13 +3,25 @@ Backbone Baseline + +
-

Movies List

+
+ +

Video Store

+ + + +
+ + - -
diff --git a/movie.jpg b/movie.jpg new file mode 100644 index 0000000000000000000000000000000000000000..35def5f66c0192436825b907142f772f0e8e581b GIT binary patch literal 54368 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 Date: Wed, 20 Dec 2017 11:03:09 -0800 Subject: [PATCH 18/19] a tiny bit of error handling --- src/views/movie_list_view.js | 10 ++++++---- src/views/movie_view.js | 6 +++--- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index e99ff3d95..634feb989 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -6,21 +6,23 @@ const MovieListView = Backbone.View.extend({ initialize(params) { this.template = params.template; this.external = params.external; - // this.bus = params.bus; this.listenTo(this.model, 'update', this.render); - // this.listenTo(this.bus, 'quote_change_price', this.buySellQuote); }, render() { this.$('#movies-list').empty(); - // this.model.fetch(); + if (this.model.length === 0) { + this.$('#movies-list').append('

No results found, please try again.

') + } this.model.each((movie) => { + if (this.movieList.contains(movie)) { + console.log(movie); + } const movieView = new MovieView({ model: movie, - // bus: this.bus, template: this.template, external: this.external, tagName: 'li', diff --git a/src/views/movie_view.js b/src/views/movie_view.js index fb3fb7f3e..69b9d8e07 100644 --- a/src/views/movie_view.js +++ b/src/views/movie_view.js @@ -29,13 +29,13 @@ const MovieView = Backbone.View.extend({ this.model.save({}, { success: (model, response) => { console.log('success'); - console.log(model); + // console.log(model); console.log(response); }, error: (model, response) => { console.log('error'); - console.log(model); - console.log(response); + // console.log(model); + console.log(response.responseText); } }); }, From 1f4b896722bd18db3e8168041b734ce231f0e61a Mon Sep 17 00:00:00 2001 From: Bennett Rahn Date: Wed, 20 Dec 2017 11:05:12 -0800 Subject: [PATCH 19/19] fix bug --- 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 634feb989..8a7ae5fd1 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -18,9 +18,9 @@ const MovieListView = Backbone.View.extend({ } this.model.each((movie) => { - if (this.movieList.contains(movie)) { - console.log(movie); - } + // if (this.movieList.contains(movie)) { + // console.log(movie); + // } const movieView = new MovieView({ model: movie, template: this.template,