Skip to content

Instantly share code, notes, and snippets.

@pawelqbera
Created November 2, 2015 12:21
Show Gist options
  • Save pawelqbera/b7706bcf28f3f6fa4dde to your computer and use it in GitHub Desktop.
Save pawelqbera/b7706bcf28f3f6fa4dde to your computer and use it in GitHub Desktop.
MovieAdder app script file as an example of spaghetti jQuery code considered for further evaluation
var movies = [];
var activities = [];
$('#movie-adder').find('form').on('submit', function(event) {
event.preventDefault();
var movie = {
title: $('#movie-adder').find('[name="title"]').val(),
year: $('#movie-adder').find('[name="year"]').val(),
plot: $('#movie-adder').find('[name="plot"]').val(),
director: $('#movie-adder').find('[name="director"]').val(),
genre: $('#movie-adder').find('[name="genre"]').val()
};
var activity = {
title: movie.title,
type: 'add'
};
movies.push(movie);
activities.push(activity);
$('#movie-adder').find('form').trigger("reset");
$('#movie-list').find('.list-wrapper').append('<div class="entry"><h3>' + movie.title + ' ' + '</h3><span>('+ movie.year +')</span><p>Genre: ' + movie.genre + '</p><p>Director: ' + movie.director + '</p><p>Plot: ' + movie.plot + '</p><p><a class="remove">X</a></p></div>');
$('#movie-activity').find('.list-wrapper').append('<p class="entry">User has added <b>' + movie.title + '</b> to the list.</p>');
});
$('#movie-list').find('.list-wrapper').on('click','a.remove', function(event) {
var entry = $(event.target).closest('div.entry');
var index = $('#movie-list').find('.entry').index(entry);
var activity = {
title: movies[index].title,
type: 'remove'
};
activities.push(activity);
$('#movie-activity').find('.list-wrapper').append('<p class="entry">User has removed <b>' + movies[index].title + '</b> from the list.</p>');
entry.remove();
movies.splice(index, 1);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment