From 772665ead1d708e68901f20d24dc9e7b2671cfbf Mon Sep 17 00:00:00 2001 From: kee nam Date: Mon, 18 Dec 2017 12:06:29 -0800 Subject: [PATCH 01/31] Added movie model, movie_list collection, and related view files --- src/app.js | 5 +++++ src/collections/movie_list.js | 8 ++++++++ src/models/movie.js | 12 ++++++++++++ src/views/movie_list_view.js | 14 ++++++++++++++ src/views/movie_view.js | 13 +++++++++++++ 5 files changed, 52 insertions(+) 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/src/app.js b/src/app.js index 30c00d594..4152f39e4 100644 --- a/src/app.js +++ b/src/app.js @@ -6,6 +6,11 @@ import './css/styles.css'; import $ from 'jquery'; import _ from 'underscore'; +// Models and views +import MovieList from './collections/movie_list'; +import MovieView from './views/movie_view'; +import MovieListView from './views/movie_list_view'; + // ready to go $(document).ready(function() { diff --git a/src/collections/movie_list.js b/src/collections/movie_list.js new file mode 100644 index 000000000..c0e72dcc8 --- /dev/null +++ b/src/collections/movie_list.js @@ -0,0 +1,8 @@ +import Backbone from 'backbone'; +import Movie from 'models/movie'; + +const MovieList = Backbone.Collection.extend({ + model: Movie, +}); + +export default MovieList; diff --git a/src/models/movie.js b/src/models/movie.js new file mode 100644 index 000000000..e9351fa45 --- /dev/null +++ b/src/models/movie.js @@ -0,0 +1,12 @@ +import Backbone from 'backbone'; + +const Movie = Backbone.Model.extend({ + defaults: { + }, + initialize(attributes) { + }, + validate(attributes) { + }, +}); + +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..3b93d7ca7 --- /dev/null +++ b/src/views/movie_list_view.js @@ -0,0 +1,14 @@ +import Backbone from 'backbone'; +import MovieView from './movie_view'; +import Movie from '../models/movie'; + +const MovieListView = Backbone.View.extend({ + initialize(params) { + }, + render() { + }, + events: { + }, +}); + +export default MovieListView; diff --git a/src/views/movie_view.js b/src/views/movie_view.js new file mode 100644 index 000000000..5d2f1ee3f --- /dev/null +++ b/src/views/movie_view.js @@ -0,0 +1,13 @@ +import Backbone from 'backbone'; +import Movie from '../models/movie'; + +const MovieView = Backbone.View.extend({ + initialize(params) { + }, + render() { + }, + events: { + }, +}); + +export default MovieView; From 9185dacbbb7d36e833b6beaf713f18ba1f69d51f Mon Sep 17 00:00:00 2001 From: Iuliia Chikulaeva Date: Mon, 18 Dec 2017 12:22:00 -0800 Subject: [PATCH 02/31] Add form for searching movies to index.html --- dist/index.html | 22 +++++++++++++++++++++- src/css/styles.css | 10 ++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/dist/index.html b/dist/index.html index 559b18ecd..5976465ca 100644 --- a/dist/index.html +++ b/dist/index.html @@ -3,10 +3,30 @@ Backbone Baseline + + + + + +
+

Search with JKMovie

+
+ + +
- +
+ + +
+
+ +
diff --git a/src/css/styles.css b/src/css/styles.css index 68a79a569..0502e069d 100644 --- a/src/css/styles.css +++ b/src/css/styles.css @@ -42,3 +42,13 @@ div { border-style: solid; } */ + + +/* MY STYLES */ +#search { + +} + +nav { + display: none; +} From bba8b669a0ee3d5cde87e777e4a78a347b82b2e4 Mon Sep 17 00:00:00 2001 From: Iuliia Chikulaeva Date: Mon, 18 Dec 2017 13:51:52 -0800 Subject: [PATCH 03/31] Fix home page --- dist/index.html | 16 +++++++++------- src/css/styles.css | 19 +++++++++++++++---- 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/dist/index.html b/dist/index.html index 5976465ca..798e45c37 100644 --- a/dist/index.html +++ b/dist/index.html @@ -11,21 +11,23 @@
-

Search with JKMovie

+

JKMovies

-
- - -
+
+
diff --git a/src/css/styles.css b/src/css/styles.css index 0502e069d..b0dab370e 100644 --- a/src/css/styles.css +++ b/src/css/styles.css @@ -44,11 +44,22 @@ div { */ -/* MY STYLES */ -#search { +/* OUR STYLES */ +/* SEARCH FORM ON MAIN PAGE */ +#search-form { + display: inline-block; } -nav { - display: none; +#search-form input, #search, #movies { + height: 3rem; + display: inline-block; +} + +#search-form input { + width: 15rem; +} + +#search, #movies { + margin-top: .8rem; } From dd2f8a28d12f742b1712370058b070433a4331ac Mon Sep 17 00:00:00 2001 From: kee nam Date: Mon, 18 Dec 2017 13:56:34 -0800 Subject: [PATCH 04/31] Added URL to movie.js and movie_list.js --- src/collections/movie_list.js | 4 ++++ src/models/movie.js | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/src/collections/movie_list.js b/src/collections/movie_list.js index c0e72dcc8..f3f77a40c 100644 --- a/src/collections/movie_list.js +++ b/src/collections/movie_list.js @@ -3,6 +3,10 @@ import Movie from 'models/movie'; const MovieList = Backbone.Collection.extend({ model: Movie, + urlRoot: `http://localhost:3000/movies`, + parse: function(response) { + return response; + }, }); export default MovieList; diff --git a/src/models/movie.js b/src/models/movie.js index e9351fa45..52596a7a7 100644 --- a/src/models/movie.js +++ b/src/models/movie.js @@ -7,6 +7,11 @@ const Movie = Backbone.Model.extend({ }, validate(attributes) { }, + urlRoot: `http://localhost:3000/movies/`, + parse: function(response) { + return response; + }, + comparator: 'title', }); export default Movie; From 33bd92d6c01b722ff1e108d75b64e4d301709392 Mon Sep 17 00:00:00 2001 From: Iuliia Chikulaeva Date: Mon, 18 Dec 2017 14:08:31 -0800 Subject: [PATCH 05/31] Add movie-template --- dist/index.html | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/dist/index.html b/dist/index.html index 798e45c37..2375ce957 100644 --- a/dist/index.html +++ b/dist/index.html @@ -25,6 +25,7 @@

JKMovies

+
    @@ -32,6 +33,14 @@

    JKMovies

    + + From a0bd4ae984969e69374bede76a0649780cc44313 Mon Sep 17 00:00:00 2001 From: kee nam Date: Mon, 18 Dec 2017 14:19:27 -0800 Subject: [PATCH 06/31] Trying to render rental movie list --- dist/index.html | 2 +- src/app.js | 18 +++++++++++++++++- src/collections/movie_list.js | 2 +- src/views/movie_list_view.js | 17 +++++++++++++++++ src/views/movie_view.js | 5 +++++ 5 files changed, 41 insertions(+), 3 deletions(-) diff --git a/dist/index.html b/dist/index.html index 2375ce957..44da0082e 100644 --- a/dist/index.html +++ b/dist/index.html @@ -39,7 +39,7 @@

    JKMovies

    <%- title %>

    <%- release_date %>

    - + diff --git a/src/app.js b/src/app.js index 4152f39e4..50569c913 100644 --- a/src/app.js +++ b/src/app.js @@ -11,9 +11,25 @@ import MovieList from './collections/movie_list'; import MovieView from './views/movie_view'; import MovieListView from './views/movie_list_view'; -// ready to go +// Define Variables +let movieTemplate; + +// Ready to go $(document).ready(function() { + // Templates + movieTemplate = _.template($('#movie-template').html()); + + const movieList = new MovieList(); + + const movieListView = new MovieListView({ + el: $('main'), + model: movies, + template: movieTemplate, + }); + + movieListView.render(); $('#main-content').append('

    Hello World!

    '); + }); diff --git a/src/collections/movie_list.js b/src/collections/movie_list.js index f3f77a40c..4462e0740 100644 --- a/src/collections/movie_list.js +++ b/src/collections/movie_list.js @@ -1,5 +1,5 @@ import Backbone from 'backbone'; -import Movie from 'models/movie'; +import Movie from '../models/movie'; const MovieList = Backbone.Collection.extend({ model: Movie, diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index 3b93d7ca7..94da8ccd1 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -4,8 +4,25 @@ import Movie from '../models/movie'; const MovieListView = Backbone.View.extend({ initialize(params) { + this.template = params.template; }, render() { + this.$('section.movies').empty(); + + console.log(this); + + this.model.forEach((movie) => { + const movieView = new MovieView({ + model: movie, + template: this.template, + tagName: 'li', + className: 'movie', + }); + this.$('section.movies').append(movieView.render().$el); + }); + + return this; + }, events: { }, diff --git a/src/views/movie_view.js b/src/views/movie_view.js index 5d2f1ee3f..6e1fc433d 100644 --- a/src/views/movie_view.js +++ b/src/views/movie_view.js @@ -3,8 +3,13 @@ import Movie from '../models/movie'; const MovieView = Backbone.View.extend({ initialize(params) { + this.template = params.template; }, render() { + const compiledTemplate = this.template(this.model.toJSON()); + this.$el.html(compiledTemplate); + + return this; }, events: { }, From 99dd8894991ec3adf15e244ba7141245d51236c5 Mon Sep 17 00:00:00 2001 From: Iuliia Chikulaeva Date: Mon, 18 Dec 2017 14:20:22 -0800 Subject: [PATCH 07/31] Comment out foundation link --- dist/index.html | 4 ++-- src/app.js | 2 +- src/css/styles.css | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dist/index.html b/dist/index.html index 2375ce957..9111a2d3f 100644 --- a/dist/index.html +++ b/dist/index.html @@ -3,7 +3,7 @@ Backbone Baseline - + @@ -39,7 +39,7 @@

    JKMovies

    <%- title %>

    <%- release_date %>

    - + diff --git a/src/app.js b/src/app.js index 4152f39e4..266171001 100644 --- a/src/app.js +++ b/src/app.js @@ -1,6 +1,6 @@ import 'css/_settings.css'; import 'foundation-sites/dist/css/foundation.css'; -import './css/styles.css'; +import 'css/styles.css'; // Import jQuery & Underscore import $ from 'jquery'; diff --git a/src/css/styles.css b/src/css/styles.css index b0dab370e..06be07cf7 100644 --- a/src/css/styles.css +++ b/src/css/styles.css @@ -1,4 +1,4 @@ -@include foundation-everything; +/* @include foundation-everything; */ main { background: lightblue; From 3567bd055996d44123db27f315293137c30e01ad Mon Sep 17 00:00:00 2001 From: kee nam Date: Mon, 18 Dec 2017 14:44:54 -0800 Subject: [PATCH 08/31] Rendered list of movies in rental library --- src/app.js | 5 ++++- src/collections/movie_list.js | 2 +- src/models/movie.js | 4 ++-- src/views/movie_list_view.js | 8 +++----- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/app.js b/src/app.js index 50569c913..e59c60051 100644 --- a/src/app.js +++ b/src/app.js @@ -7,6 +7,7 @@ import $ from 'jquery'; import _ from 'underscore'; // Models and views +// import Movie from './models/movie'; import MovieList from './collections/movie_list'; import MovieView from './views/movie_view'; import MovieListView from './views/movie_list_view'; @@ -20,13 +21,15 @@ $(document).ready(function() { movieTemplate = _.template($('#movie-template').html()); const movieList = new MovieList(); + console.log(`Fetching from ${ movieList.url }`); const movieListView = new MovieListView({ el: $('main'), - model: movies, + model: movieList, template: movieTemplate, }); + movieList.fetch(); movieListView.render(); $('#main-content').append('

    Hello World!

    '); diff --git a/src/collections/movie_list.js b/src/collections/movie_list.js index 4462e0740..bba95a229 100644 --- a/src/collections/movie_list.js +++ b/src/collections/movie_list.js @@ -3,7 +3,7 @@ import Movie from '../models/movie'; const MovieList = Backbone.Collection.extend({ model: Movie, - urlRoot: `http://localhost:3000/movies`, + url: `http://localhost:3000/movies`, parse: function(response) { return response; }, diff --git a/src/models/movie.js b/src/models/movie.js index 52596a7a7..a3728c704 100644 --- a/src/models/movie.js +++ b/src/models/movie.js @@ -7,11 +7,11 @@ const Movie = Backbone.Model.extend({ }, validate(attributes) { }, - urlRoot: `http://localhost:3000/movies/`, + url: `http://localhost:3000/movies/`, parse: function(response) { return response; }, - comparator: 'title', + // comparator: 'title', }); export default Movie; diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index 94da8ccd1..280d28950 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -5,11 +5,10 @@ import Movie from '../models/movie'; const MovieListView = Backbone.View.extend({ initialize(params) { this.template = params.template; + this.listenTo(this.model, 'update', this.render); }, render() { - this.$('section.movies').empty(); - - console.log(this); + this.$('section.movies ul').empty(); this.model.forEach((movie) => { const movieView = new MovieView({ @@ -18,11 +17,10 @@ const MovieListView = Backbone.View.extend({ tagName: 'li', className: 'movie', }); - this.$('section.movies').append(movieView.render().$el); + this.$('section.movies ul').append(movieView.render().$el); }); return this; - }, events: { }, From a4708bc919850c8e21009e3a5f8ae3bbea4c9117 Mon Sep 17 00:00:00 2001 From: kee nam Date: Mon, 18 Dec 2017 14:45:19 -0800 Subject: [PATCH 09/31] Unsaved changes? --- dist/index.html | 6 +++--- src/app.js | 2 +- src/models/movie.js | 2 +- src/views/movie_list_view.js | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/dist/index.html b/dist/index.html index 44da0082e..d071cdfc8 100644 --- a/dist/index.html +++ b/dist/index.html @@ -35,11 +35,11 @@

    JKMovies

    diff --git a/src/app.js b/src/app.js index e59c60051..56022cc90 100644 --- a/src/app.js +++ b/src/app.js @@ -24,7 +24,7 @@ $(document).ready(function() { console.log(`Fetching from ${ movieList.url }`); const movieListView = new MovieListView({ - el: $('main'), + el: $('.movies'), model: movieList, template: movieTemplate, }); diff --git a/src/models/movie.js b/src/models/movie.js index a3728c704..887257e1d 100644 --- a/src/models/movie.js +++ b/src/models/movie.js @@ -11,7 +11,7 @@ const Movie = Backbone.Model.extend({ parse: function(response) { return response; }, - // comparator: 'title', + comparator: 'title', }); export default Movie; diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index 280d28950..00f2971bb 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -8,7 +8,7 @@ const MovieListView = Backbone.View.extend({ this.listenTo(this.model, 'update', this.render); }, render() { - this.$('section.movies ul').empty(); + this.$('ul').empty(); this.model.forEach((movie) => { const movieView = new MovieView({ @@ -17,7 +17,7 @@ const MovieListView = Backbone.View.extend({ tagName: 'li', className: 'movie', }); - this.$('section.movies ul').append(movieView.render().$el); + this.$(' ul').append(movieView.render().$el); }); return this; From 5aaff89ae331d813d7985c9a8c5c61145afde210 Mon Sep 17 00:00:00 2001 From: Iuliia Chikulaeva Date: Mon, 18 Dec 2017 14:45:45 -0800 Subject: [PATCH 10/31] Something --- dist/index.html | 7 ++++--- src/app.js | 4 ++-- src/views/movie_list_view.js | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/dist/index.html b/dist/index.html index 9111a2d3f..6f218cf36 100644 --- a/dist/index.html +++ b/dist/index.html @@ -20,7 +20,8 @@

    JKMovies

    - + +
    @@ -35,11 +36,11 @@

    JKMovies

    diff --git a/src/app.js b/src/app.js index ab51d615a..0a2307de6 100644 --- a/src/app.js +++ b/src/app.js @@ -22,8 +22,8 @@ $(document).ready(function() { const movieList = new MovieList(); const movieListView = new MovieListView({ - el: $('main'), - model: movies, + el: $('.movies'), + model: movieList, template: movieTemplate, }); diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index 94da8ccd1..54c1b8916 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -7,7 +7,7 @@ const MovieListView = Backbone.View.extend({ this.template = params.template; }, render() { - this.$('section.movies').empty(); + this.$('ul').empty(); console.log(this); From 6462b19a41c3bae6e74c4481b4112b315e2fe861 Mon Sep 17 00:00:00 2001 From: Iuliia Chikulaeva Date: Mon, 18 Dec 2017 14:47:45 -0800 Subject: [PATCH 11/31] Resolve merge conflict --- src/views/movie_list_view.js | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index 3e2ba30cb..00f2971bb 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -9,11 +9,6 @@ const MovieListView = Backbone.View.extend({ }, render() { this.$('ul').empty(); -<<<<<<< HEAD - - console.log(this); -======= ->>>>>>> a4708bc919850c8e21009e3a5f8ae3bbea4c9117 this.model.forEach((movie) => { const movieView = new MovieView({ From 48d07a20d9056e08b644e9490b6a08f4e92b8853 Mon Sep 17 00:00:00 2001 From: kee nam Date: Mon, 18 Dec 2017 16:39:46 -0800 Subject: [PATCH 12/31] Working on rendering search results --- src/app.js | 19 +++++++++++++++++++ src/models/movie.js | 15 ++++++++++++++- src/views/movie_list_view.js | 7 +++++++ 3 files changed, 40 insertions(+), 1 deletion(-) diff --git a/src/app.js b/src/app.js index 56022cc90..0ee23f257 100644 --- a/src/app.js +++ b/src/app.js @@ -32,6 +32,25 @@ $(document).ready(function() { movieList.fetch(); movieListView.render(); + $('#search-form button').on('click', function() { + let query = getSearchQuery(); + let searchURL = movieListView.search(query); + + movieList.set('url', searchURL); + data = movieList.fetch(); + console.log(movieList.url); + console.log(data); + clearSearchQuery(); + }); + + const getSearchQuery = function() { + const val = $('#search-form input').val(); + return val; + }; + const clearSearchQuery = function() { + const val = $('#search-form input').val(''); + } + $('#main-content').append('

    Hello World!

    '); diff --git a/src/models/movie.js b/src/models/movie.js index 887257e1d..73882aa79 100644 --- a/src/models/movie.js +++ b/src/models/movie.js @@ -4,12 +4,25 @@ const Movie = Backbone.Model.extend({ defaults: { }, initialize(attributes) { + // title: attributes["title"]; + // overview: attributes["overview"]; + // release_date: attributes["release_date"]; + // image_url: attributes["poster_path"]; + // external_id: attributes["id"]; }, validate(attributes) { }, url: `http://localhost:3000/movies/`, parse: function(response) { - return response; + let movie = { + title: response["title"], + overview: response["overview"], + release_date: response["release_date"], + image_url: response["poster_path"], + external_id: response["id"], + } + console.log(movie); + return movie; }, comparator: 'title', }); diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index 00f2971bb..9bb364f4f 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -5,7 +5,9 @@ import Movie from '../models/movie'; const MovieListView = Backbone.View.extend({ initialize(params) { this.template = params.template; + this.listenTo(this.model, 'update', this.render); + this.listenTo(); }, render() { this.$('ul').empty(); @@ -23,7 +25,12 @@ const MovieListView = Backbone.View.extend({ return this; }, events: { + 'click button#search': 'search', }, + search(query) { + let movieURL = "http://localhost:3000/movies?query=" + query; + console.log(movieURL); + } }); export default MovieListView; From 3b402356e5d11b603169290cc4814191d000c4cd Mon Sep 17 00:00:00 2001 From: Iuliia Chikulaeva Date: Mon, 18 Dec 2017 22:00:37 -0800 Subject: [PATCH 13/31] Add id to search button --- dist/index.html | 3 +-- src/app.js | 2 -- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/dist/index.html b/dist/index.html index 2de836875..e4bb27007 100644 --- a/dist/index.html +++ b/dist/index.html @@ -20,8 +20,7 @@

    JKMovies

    - - +
    diff --git a/src/app.js b/src/app.js index 3214b7061..d2903cdf1 100644 --- a/src/app.js +++ b/src/app.js @@ -32,7 +32,5 @@ $(document).ready(function() { movieList.fetch(); movieListView.render(); - $('#main-content').append('

    Hello World!

    '); - }); From bec55137d2c42515f78d42bce7b6b5ba7758ae00 Mon Sep 17 00:00:00 2001 From: kee nam Date: Tue, 19 Dec 2017 11:12:57 -0800 Subject: [PATCH 14/31] Added search model; get responses when using search --- src/app.js | 19 +++++++++++++++---- src/collections/search_list.js | 24 ++++++++++++++++++++++++ src/models/movie.js | 21 ++++++++++++--------- src/models/search.js | 24 ++++++++++++++++++++++++ src/views/movie_list_view.js | 10 +++++----- src/views/search_list_view.js | 0 src/views/search_view.js | 18 ++++++++++++++++++ 7 files changed, 98 insertions(+), 18 deletions(-) create mode 100644 src/collections/search_list.js create mode 100644 src/models/search.js create mode 100644 src/views/search_list_view.js create mode 100644 src/views/search_view.js diff --git a/src/app.js b/src/app.js index 7059fd07a..7871ed0b3 100644 --- a/src/app.js +++ b/src/app.js @@ -11,6 +11,8 @@ import _ from 'underscore'; import MovieList from './collections/movie_list'; import MovieView from './views/movie_view'; import MovieListView from './views/movie_list_view'; +import Search from './models/search'; +import SearchList from './collections/search_list'; // Define Variables let movieTemplate; @@ -34,17 +36,26 @@ $(document).ready(function() { $('#search-form button').on('click', function() { let query = getSearchQuery(); - let searchURL = movieListView.search(query); + let search = new Search({ + query: query, + }); + // let results = new SearchList(); - movieList.set('url', searchURL); - data = movieList.fetch(); - console.log(movieList.url); + let data = search.fetch(); + + console.log(search); console.log(data); + + // data = movieList.fetch(); + // console.log("******"); + // + // console.log(data); clearSearchQuery(); }); const getSearchQuery = function() { const val = $('#search-form input').val(); + console.log(val); return val; }; const clearSearchQuery = function() { diff --git a/src/collections/search_list.js b/src/collections/search_list.js new file mode 100644 index 000000000..f5f6acc87 --- /dev/null +++ b/src/collections/search_list.js @@ -0,0 +1,24 @@ +import Backbone from 'backbone'; +import Search from '../models/search'; + +const SearchList = Backbone.Collection.extend({ + model: Search, + url: `http://localhost:3000/movies?query=`, + parse: function(response) { + // console.log(response); + // console.log(response["poster_path"]); + // let movie = { + // title: response["title"], + // overview: response["overview"], + // release_date: response["release_date"], + // image_url: response["poster_path"], + // external_id: response["id"], + // } + // console.log(movie); + // console.log(movie.image_url); + // return movie; + return response; + }, +}); + +export default SearchList; diff --git a/src/models/movie.js b/src/models/movie.js index 73882aa79..8877956b4 100644 --- a/src/models/movie.js +++ b/src/models/movie.js @@ -14,15 +14,18 @@ const Movie = Backbone.Model.extend({ }, url: `http://localhost:3000/movies/`, parse: function(response) { - let movie = { - title: response["title"], - overview: response["overview"], - release_date: response["release_date"], - image_url: response["poster_path"], - external_id: response["id"], - } - console.log(movie); - return movie; + // console.log(response); + // console.log(response["poster_path"]); + // let movie = { + // title: response["title"], + // overview: response["overview"], + // release_date: response["release_date"], + // image_url: response["poster_path"], + // external_id: response["id"], + // } + // console.log(movie); + // console.log(movie.image_url); + return response; }, comparator: 'title', }); diff --git a/src/models/search.js b/src/models/search.js new file mode 100644 index 000000000..007ae9d1b --- /dev/null +++ b/src/models/search.js @@ -0,0 +1,24 @@ +import Backbone from 'backbone'; + +const Search = Backbone.Model.extend({ + defaults: { + }, + initialize(attributes) { + this.query = attributes.query; + }, + validate(attributes) { + }, + // url: `http://localhost:3000/movies?query=` + this.query, + url: function(){ + let url = 'http://localhost:3000/movies?query='+this.query; + console.log(url); + return url; + }, + parse: function(response) { + console.log(response); + return response; + }, + comparator: 'title', +}); + +export default Search; diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index 9bb364f4f..a47c267ba 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -6,7 +6,7 @@ const MovieListView = Backbone.View.extend({ initialize(params) { this.template = params.template; - this.listenTo(this.model, 'update', this.render); + // this.listenTo(this.model, 'update', this.render); this.listenTo(); }, render() { @@ -27,10 +27,10 @@ const MovieListView = Backbone.View.extend({ events: { 'click button#search': 'search', }, - search(query) { - let movieURL = "http://localhost:3000/movies?query=" + query; - console.log(movieURL); - } + // search(query) { + // let movieURL = "http://localhost:3000/movies?query=" + query; + // console.log(movieURL); + // } }); export default MovieListView; diff --git a/src/views/search_list_view.js b/src/views/search_list_view.js new file mode 100644 index 000000000..e69de29bb diff --git a/src/views/search_view.js b/src/views/search_view.js new file mode 100644 index 000000000..7af3f3b03 --- /dev/null +++ b/src/views/search_view.js @@ -0,0 +1,18 @@ +import Backbone from 'backbone'; +import Search from '../models/search'; + +const SearchView = Backbone.View.extend({ + initialize(params) { + this.template = params.template; + }, + render() { + const compiledTemplate = this.template(this.model.toJSON()); + this.$el.html(compiledTemplate); + + return this; + }, + events: { + }, +}); + +export default SearchView; From 12e716cec97ec5ab1728bf10d1811ef784558a31 Mon Sep 17 00:00:00 2001 From: Iuliia Chikulaeva Date: Tue, 19 Dec 2017 11:27:07 -0800 Subject: [PATCH 15/31] Comment out some lines --- src/app.js | 5 ++--- src/models/movie.js | 19 ++++++++++--------- src/views/movie_list_view.js | 2 ++ 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/app.js b/src/app.js index 7059fd07a..0f2cecf8e 100644 --- a/src/app.js +++ b/src/app.js @@ -35,11 +35,10 @@ $(document).ready(function() { $('#search-form button').on('click', function() { let query = getSearchQuery(); let searchURL = movieListView.search(query); - movieList.set('url', searchURL); - data = movieList.fetch(); console.log(movieList.url); - console.log(data); + movieList.fetch(); + movieListView.render(); clearSearchQuery(); }); diff --git a/src/models/movie.js b/src/models/movie.js index 73882aa79..0b718b837 100644 --- a/src/models/movie.js +++ b/src/models/movie.js @@ -14,15 +14,16 @@ const Movie = Backbone.Model.extend({ }, url: `http://localhost:3000/movies/`, parse: function(response) { - let movie = { - title: response["title"], - overview: response["overview"], - release_date: response["release_date"], - image_url: response["poster_path"], - external_id: response["id"], - } - console.log(movie); - return movie; + // let movie = { + // title: response["title"], + // overview: response["overview"], + // release_date: response["release_date"], + // image_url: response["poster_path"], + // external_id: response["id"], + // } + // console.log(movie); + // return movie; + return response; }, comparator: 'title', }); diff --git a/src/views/movie_list_view.js b/src/views/movie_list_view.js index 9bb364f4f..277d41202 100644 --- a/src/views/movie_list_view.js +++ b/src/views/movie_list_view.js @@ -13,6 +13,7 @@ const MovieListView = Backbone.View.extend({ this.$('ul').empty(); this.model.forEach((movie) => { + console.log(movie); const movieView = new MovieView({ model: movie, template: this.template, @@ -30,6 +31,7 @@ const MovieListView = Backbone.View.extend({ search(query) { let movieURL = "http://localhost:3000/movies?query=" + query; console.log(movieURL); + return movieURL; } }); From a4d04fed508ad7bd4986c99cd325f1b2bdf697db Mon Sep 17 00:00:00 2001 From: kee nam Date: Tue, 19 Dec 2017 13:43:32 -0800 Subject: [PATCH 16/31] Editing search in movie_list_view; got response --- dist/index.html | 8 ++++++-- src/app.js | 31 +++---------------------------- src/models/movie.js | 15 --------------- src/models/search.js | 10 ---------- src/views/movie_list_view.js | 33 +++++++++++++++++++++++++++------ src/views/search_list_view.js | 30 ++++++++++++++++++++++++++++++ src/views/search_view.js | 6 ++++++ 7 files changed, 72 insertions(+), 61 deletions(-) diff --git a/dist/index.html b/dist/index.html index 2de836875..6495bfaaf 100644 --- a/dist/index.html +++ b/dist/index.html @@ -15,10 +15,10 @@

    JKMovies