From 8ce893c8b35d6376fd0149bae0780a110f36fd2e Mon Sep 17 00:00:00 2001 From: Brian Smith Date: Sat, 2 Feb 2013 18:53:57 -0500 Subject: [PATCH] added keyword search to find session --- app/assets/javascripts/findSession.js | 19 ++++++++++++++++++- app/assets/javascripts/sessionList.js | 4 ++-- .../api_music_sessions_controller.rb | 2 +- app/views/clients/_findSession.html.erb | 2 +- 4 files changed, 22 insertions(+), 5 deletions(-) diff --git a/app/assets/javascripts/findSession.js b/app/assets/javascripts/findSession.js index 4c23e0e21..4e280d62d 100644 --- a/app/assets/javascripts/findSession.js +++ b/app/assets/javascripts/findSession.js @@ -57,7 +57,15 @@ queryString += "genres=" + genres.join(','); } - // TODO: keyword filter + // keyword filter + var keyword = $('#session-keyword-srch').val(); + if (keyword != null && keyword.length > 0) { + if (queryString.length > 0) { + queryString += "&"; + } + + queryString += "keyword=" + $('#session-keyword-srch').val(); + } if (queryString.length > 0) { $.ajax({ @@ -219,6 +227,15 @@ //$('#findSession-tableBody').on("click", '[action="delete"]', deleteSession); $('#musician-list-header').on("click", toggleMusicianBox); $('#musician-list-arrow').on("click", toggleMusicianBox); + + $('#session-keyword-srch').focus(function() { + $(this).val(''); + }); + + // $('#session-keyword-srch').blur(function() { + // $(this).val('Search by Keyword'); + // }); + $('#btn-refresh').on("click", search); } diff --git a/app/assets/javascripts/sessionList.js b/app/assets/javascripts/sessionList.js index 8976b869c..74ce288b8 100644 --- a/app/assets/javascripts/sessionList.js +++ b/app/assets/javascripts/sessionList.js @@ -15,7 +15,7 @@ MUSICIANS_ONLY:"Musicians Only" }; - var instrument_logos = { "accordion": '', + var instrument_logo_map = { "accordion": '', "acoustic guitar": '', "banjo": '', "bass guitar": '', @@ -86,7 +86,7 @@ // loop through the tracks to get the instruments for (j=0; j < participant.tracks.length; j++) { var track = participant.tracks[j]; - instrumentLogoHtml += ' '; + instrumentLogoHtml += ' '; } var id = participant.user.id; diff --git a/app/controllers/api_music_sessions_controller.rb b/app/controllers/api_music_sessions_controller.rb index 3ce4d0a5f..2c9982a86 100644 --- a/app/controllers/api_music_sessions_controller.rb +++ b/app/controllers/api_music_sessions_controller.rb @@ -12,7 +12,7 @@ class ApiMusicSessionsController < ApiController # params[:friends_only] does the obvious. # params[:my_bands_only] also does the obvious. # Importantly, friends and my_bands are ORed not ANDed. So, if you specify both as true, you'll get more results, not fewer. - @music_sessions = MusicSession.index(current_user, params[:participants], params[:genres], params[:friends_only], params[:my_bands_only]) + @music_sessions = MusicSession.index(current_user, params[:participants], params[:genres], params[:friends_only], params[:my_bands_only], params[:keyword]) end def create diff --git a/app/views/clients/_findSession.html.erb b/app/views/clients/_findSession.html.erb index c1a42d428..fe5ad369c 100644 --- a/app/views/clients/_findSession.html.erb +++ b/app/views/clients/_findSession.html.erb @@ -34,7 +34,7 @@
REFRESH