From f714212423012f45ec48e9394c3474e6a483e393 Mon Sep 17 00:00:00 2001 From: Devin Howard Date: Sat, 16 Mar 2013 13:30:54 -0400 Subject: [PATCH] implement synapse autocomplete controller function to make the results distinct. fixes #139 --- .../javascripts/Jit/graphsettings-event-handlers.js | 3 +++ app/controllers/synapses_controller.rb | 12 +++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/app/assets/javascripts/Jit/graphsettings-event-handlers.js b/app/assets/javascripts/Jit/graphsettings-event-handlers.js index 80136c18..52f12e20 100644 --- a/app/assets/javascripts/Jit/graphsettings-event-handlers.js +++ b/app/assets/javascripts/Jit/graphsettings-event-handlers.js @@ -61,6 +61,9 @@ function nodeDoubleClickHandler(node, e) { }//doubleClickNodeHandler +/* + * Returns a boolean saying if the node was double clicked in our understanding of the word + */ function nodeWasDoubleClicked() { //grab the timestamp of the click var storedTime = MetamapsModel.lastNodeClick; diff --git a/app/controllers/synapses_controller.rb b/app/controllers/synapses_controller.rb index 4a4910ab..e1fe3f90 100644 --- a/app/controllers/synapses_controller.rb +++ b/app/controllers/synapses_controller.rb @@ -5,7 +5,17 @@ class SynapsesController < ApplicationController respond_to :html, :js, :json - autocomplete :synapse, :desc, :full => true + def autocomplete_synapse_desc + term = params[:term] + if term && !term.empty? + items = Synapse.select('DISTINCT "desc"'). + where('LOWER("desc") like ?', term.downcase + '%'). + limit(10).order('"desc"') + else + items = {} + end + render :json => json_for_autocomplete(items, :desc) + end # GET synapses # or GET users/:user_id/synapses