From 0049ae88d1715f1b7fde2aa855ab1a1927ba2767 Mon Sep 17 00:00:00 2001 From: Devin Howard Date: Sat, 16 Mar 2013 12:51:56 -0400 Subject: [PATCH 1/3] hide synapse autocomplete after synapse creation - didn't we fix this already? --- app/views/synapses/create.js.erb | 1 + 1 file changed, 1 insertion(+) diff --git a/app/views/synapses/create.js.erb b/app/views/synapses/create.js.erb index 0814e363..faf77cac 100644 --- a/app/views/synapses/create.js.erb +++ b/app/views/synapses/create.js.erb @@ -5,6 +5,7 @@ $('#new_synapse').fadeOut('fast'); $('#synapse_desc').attr('value',''); $('#synapse_desc').autocomplete('disable'); +$('#synapse_desc').fadeOut('fast'); $('#synapse_topic1id').attr('value','0'); $('#synapse_topic2id').attr('value','0'); From 6ed19db3ec52150e7fcc930aba89d207bb30ad4b Mon Sep 17 00:00:00 2001 From: Devin Howard Date: Sat, 16 Mar 2013 12:56:26 -0400 Subject: [PATCH 2/3] undo the bug I introduced in the last commit; also change selectNodeOnClickHandler to selectNode to prevent a couple errors in topics/create.js.erb --- app/views/synapses/create.js.erb | 1 - app/views/topics/create.js.erb | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/app/views/synapses/create.js.erb b/app/views/synapses/create.js.erb index faf77cac..0814e363 100644 --- a/app/views/synapses/create.js.erb +++ b/app/views/synapses/create.js.erb @@ -5,7 +5,6 @@ $('#new_synapse').fadeOut('fast'); $('#synapse_desc').attr('value',''); $('#synapse_desc').autocomplete('disable'); -$('#synapse_desc').fadeOut('fast'); $('#synapse_topic1id').attr('value','0'); $('#synapse_topic2id').attr('value','0'); diff --git a/app/views/topics/create.js.erb b/app/views/topics/create.js.erb index 19a1cee2..18cb397d 100644 --- a/app/views/topics/create.js.erb +++ b/app/views/topics/create.js.erb @@ -72,7 +72,7 @@ if (!$.isEmptyObject(Mconsole.graph.nodes)) { modes: ['node-property:dim'], duration: 500, onComplete: function() { - selectNodeOnClickHandler(temp); + selectNode(temp); } }); @@ -101,7 +101,7 @@ if (!$.isEmptyObject(Mconsole.graph.nodes)) { modes: ['node-property:dim'], duration: 500, onComplete: function() { - selectNodeOnClickHandler(temp); + selectNode(temp); } }); } From f714212423012f45ec48e9394c3474e6a483e393 Mon Sep 17 00:00:00 2001 From: Devin Howard Date: Sat, 16 Mar 2013 13:30:54 -0400 Subject: [PATCH 3/3] 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