diff --git a/app/controllers/conversations_controller.rb b/app/controllers/conversations_controller.rb
index 634ad3077..2a4008d23 100644
--- a/app/controllers/conversations_controller.rb
+++ b/app/controllers/conversations_controller.rb
@@ -22,7 +22,6 @@ class ConversationsController < ApplicationController
end
def create
- params[:contact_ids] = params[:as_values_contact_ids]
person_ids = Contact.where(:id => params[:contact_ids].split(',')).map! do |contact|
contact.person_id
end
diff --git a/app/controllers/profiles_controller.rb b/app/controllers/profiles_controller.rb
index b293a0474..641355bbc 100644
--- a/app/controllers/profiles_controller.rb
+++ b/app/controllers/profiles_controller.rb
@@ -20,7 +20,7 @@ class ProfilesController < ApplicationController
def update
# upload and set new profile photo
params[:profile] ||= {}
- params[:profile][:tag_string] = (params[:as_values_tags]) ? params[:as_values_tags].gsub(',',' ') : ""
+ params[:profile][:tag_string] = (params[:tags]) ? params[:tags].gsub(',',' ') : ""
params[:profile][:searchable] ||= false
params[:profile][:photo] = Photo.where(:author_id => current_user.person.id,
:id => params[:photo_id]).first if params[:photo_id]
diff --git a/app/controllers/tags_controller.rb b/app/controllers/tags_controller.rb
index d5bbd50d8..05ff9a2fa 100644
--- a/app/controllers/tags_controller.rb
+++ b/app/controllers/tags_controller.rb
@@ -13,18 +13,17 @@ class TagsController < ApplicationController
def index
params[:q].gsub!("#", "")
+ params[:limit] = !params[:limit].blank? ? params[:limit].to_i : 10
if params[:q].length > 1
- @tags = ActsAsTaggableOn::Tag.named_like(params[:q]).limit(params[:limit] || 10)
+ @tags = ActsAsTaggableOn::Tag.named_like(params[:q]).limit(params[:limit] - 1)
@array = []
@tags.each do |obj|
@array << { :name => ("#"+obj.name),
:value => ("#"+obj.name)}
end
- if @array.empty?
- @array << { :name => params[:q],
- :value => ("#"+params[:q])}
- end
+ @array << { :name => ('#' + params[:q]), :value => ("#" + params[:q])}
+ @array.uniq!
respond_to do |format|
format.json{
diff --git a/app/views/conversations/new.haml b/app/views/conversations/new.haml
index b98f771e0..76e1ec122 100644
--- a/app/views/conversations/new.haml
+++ b/app/views/conversations/new.haml
@@ -15,7 +15,7 @@
minChars: 3,
keyDelay: 0,
startText: '',
- emptyText: '#{t('.no_results')}',
+ emptyText: '#{t('no_results')}',
preFill: [{ 'name' : "#{params[:name]}",
'value' : "#{params[:contact_id]}"}]
});
diff --git a/app/views/profiles/_edit_public.html.haml b/app/views/profiles/_edit_public.html.haml
index b51f395bf..2967f4d61 100644
--- a/app/views/profiles/_edit_public.html.haml
+++ b/app/views/profiles/_edit_public.html.haml
@@ -22,12 +22,12 @@
minChars: 2,
keyDelay: 0,
startText: "#{t('profiles.edit.your_tags_placeholder')}",
- emptyText: '#{t('.no_results')}',
+ emptyText: '#{t('no_results')}',
preFill: data
});
autocompleteInput.bind('keydown', function(evt){
- if(evt.keyCode == 13 || evt.keyCode == 32){
+ if(evt.keyCode == 13 || evt.keyCode == 9 || evt.keyCode == 32){
if( $('li.as-result-item.active').length == 0 ){
$('li.as-result-item').first().click();
}
diff --git a/config/locales/diaspora/en.yml b/config/locales/diaspora/en.yml
index cc37554de..a71bd0faa 100644
--- a/config/locales/diaspora/en.yml
+++ b/config/locales/diaspora/en.yml
@@ -31,6 +31,7 @@ en:
previous: "previous"
_comments: "Comments"
all_aspects: "All Aspects"
+ no_results: "No Results Found"
#for reference translation, the real activerecord english transations are actually
@@ -192,7 +193,6 @@ en:
to: "to"
subject: "subject"
send: "Send"
- no_results: "No Results Found"
helper:
new_messages:
zero: "no new messages"
diff --git a/public/javascripts/vendor/jquery.autoSuggest.js b/public/javascripts/vendor/jquery.autoSuggest.js
index 755b4ef12..bafd35cbc 100644
--- a/public/javascripts/vendor/jquery.autoSuggest.js
+++ b/public/javascripts/vendor/jquery.autoSuggest.js
@@ -18,4 +18,355 @@
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*/
-eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('(6($){$.2O.2P=6(7,2f){4 2g={1R:m,1o:"2Q 2H 31",2i:"1Y 2X 2Y",D:{},2h:"1Y 2G 2I 2J 35",Z:"1a",N:"1a",1y:"1a",2B:"q",15:m,2E:"",1e:m,1V:1,1C:2V,2t:G,2d:m,1I:m,20:G,R:6(){},1B:6(1q){},2w:6(1q){},1P:6(1q){1q.36()},1M:m,18:6(h){K h},2z:6(7){K 7},2u:6(7){},2m:6(){}};4 3=$.2q(2g,2f);4 14="26";4 12=0;5(2b 7=="h"){14="h";4 2C=7}s{4 2F=7;O(k 1E 7)5(7.1F(k))12++}5((14=="26"&&12>0)||14=="h"){K d.2W(6(x){5(!3.1R){x=x+""+29.2U(29.2Z()*30);4 1U="c-l-"+x}s{x=3.1R;4 1U=x}3.R.v(d);4 l=$(d);l.1X("34","33").F("c-l").1X("L",1U).b(3.1o);4 C=m;l.25(\'<1g A="c-1W" L="c-1W-\'+x+\'">1g>\').25(\'\');4 n=$("#c-1W-"+x);4 J=$("#c-1O-"+x);4 j=$(\'<1Z A="c-22" L="c-22-\'+x+\'">1Z>\').E();4 I=$(\'<1g A="c-2L">1g>\');4 p=$(\'\');4 u="";5(2b 3.D=="h"){4 1f=3.D.1t(",");O(4 i=0;i<1f.o;i++){4 1L={};1L[3.N]=1f[i];5(1f[i]!=""){17(1L,"27"+i)}}u=3.D}s{u="";4 1d=0;O(k 1E 3.D)5(3.D.1F(k))1d++;5(1d>0){O(4 i=0;i<1d;i++){4 16=3.D[i][3.N];5(16==37){16=""}u=u+16+",";5(16!=""){17(3.D[i],"27"+i)}}}}5(u!=""){l.b("");4 2e=u.3o(u.o-1);5(2e!=","){u=u+","}p.b(","+u);$("f.c-Q-z",n).F("1i").B("M")}l.28(p);n.1b(6(){C=G;l.1p()}).1v(6(){C=m}).28(j);4 P=3t;4 t="";4 3u=0;4 19=m;l.1p(6(){5($(d).b()==3.1o&&p.b()==""){$(d).b("")}s 5(C){$("f.c-Q-z",n).B("1i");5($(d).b()!=""){I.2k("2l",n.2x());j.1H()}}C=G;K G}).1i(6(){5($(d).b()==""&&p.b()==""&&u==""){$(d).b(3.1o)}s 5(C){$("f.c-Q-z",n).F("1i").B("M");j.E()}}).3m(6(e){1k=e.2a;3d=m;3e(e.2a){T 38:e.1m();1A("3n");V;T 3b:e.1m();1A("1T");V;T 8:5(l.b()==""){4 S=p.b().1t(",");S=S[S.o-2];n.2y().39(J.t()).B("M");5(J.t().3a("M")){p.b(p.b().1c(","+S+",",","));3.1P.v(d,J.t())}s{3.1B.v(d,J.t());J.t().F("M")}}5(l.b().o==1){j.E();t=""}5($(":2D",j).o>0){5(P){21(P)}P=23(6(){1D()},3.1C)}V;T 9:T 3f:19=G;4 U=l.b().1c(/(,)/g,"");5(U!=""&&p.b().1x(","+U+",")<0&&U.o>=3.1V){e.1m();4 1n={};1n[3.Z]=U;1n[3.N]=U;4 W=$("f",n).o;17(1n,"3l"+(W+1));l.b("")}T 13:19=m;4 r=$("f.r:24",j);5(r.o>0){r.1b();j.E()}5(3.2d||r.o>0){e.1m()}V;3k:5(3.20){5(3.1I&&$("f.c-Q-z",n).o>=3.1I){I.10(\'\'+3.2h+\'\');j.1H()}s{5(P){21(P)}P=23(6(){1D()},3.1C)}}V}});6 1D(){5(1k==3h||(1k>8&&1k<32)){K j.E()}4 h=l.b().1c(/[\\\\]+|[\\/]+/g,"");5(h==t)K;t=h;5(h.o>=3.1V){n.F("1N");5(14=="h"){4 1j="";5(3.15){1j="&1j="+2A(3.15)}5(3.18){h=3.18.v(d,h)}$.3i(2C+"?"+3.2B+"="+2A(h)+1j+3.2E,6(7){12=0;4 1l=3.2z.v(d,7);O(k 1E 1l)5(1l.1F(k))12++;1J(1l,h)})}s{5(3.18){h=3.18.v(d,h)}1J(2F,h)}}s{n.B("1N");j.E()}}4 1S=0;6 1J(7,Y){5(!3.1e){Y=Y.2o()}4 1r=0;j.10(I.10("")).E();O(4 i=0;i<12;i++){4 w=i;1S++;4 1w=m;5(3.1y=="1a"){4 H=7[w].1a}s{4 H="";4 1u=3.1y.1t(",");O(4 y=0;y<1u.o;y++){4 1z=$.3c(1u[y]);H=H+7[w][1z]+" "}}5(H){5(!3.1e){H=H.2o()}5(H.1x(Y)!=-1&&p.b().1x(","+7[w][3.N]+",")==-1){1w=G}}5(1w){4 11=$(\'\').1b(6(){4 1h=$(d).7("7");4 1G=1h.w;5($("#c-Q-"+1G,n).o<=0&&!19){4 7=1h.2s;l.b("").1p();t="";17(7,1G);3.2u.v(d,1h);j.E()}19=m}).1v(6(){C=m}).3r(6(){$("f",I).B("r");$(d).F("r")}).7("7",{2s:7[w],w:1S});4 X=$.2q({},7[w]);5(!3.1e){4 1Q=2r 2n("(?![^&;]+;)(?!<[^<>]*)("+Y+")(?![^<>]*>)(?![^&;]+;)","3w")}s{4 1Q=2r 2n("(?![^&;]+;)(?!<[^<>]*)("+Y+")(?![^<>]*>)(?![^&;]+;)","g")}5(3.2t){X[3.Z]=X[3.Z].1c(1Q,"<2v>$12v>")}5(!3.1M){11=11.10(X[3.Z])}s{11=3.1M.v(d,X,11)}I.2K(11);2R X;1r++;5(3.15&&3.15==1r){V}}}n.B("1N");5(1r<=0){I.10(\'\'+3.2i+\'\')}I.2k("2l",n.2x());j.1H();3.2m.v(d)}6 17(7,w){p.b(p.b()+7[3.N]+",");4 z=$(\'\').1b(6(){3.1B.v(d,$(d));n.2y().B("M");$(d).F("M")}).1v(6(){C=m});4 1s=$(\'&2T;\').1b(6(){p.b(p.b().1c(","+7[3.N]+",",","));3.1P.v(d,z);C=G;l.1p();K m});J.3q(z.10(7[3.Z]).3v(1s));3.2w.v(d,J.t())}6 1A(1K){5($(":2D",j).o>0){4 W=$("f",j);5(1K=="1T"){4 R=W.3s(0)}s{4 R=W.3j(":S")}4 r=$("f.r:24",j);5(r.o>0){5(1K=="1T"){R=r.3p()}s{R=r.t()}}W.B("r");R.F("r")}}})}}})(3g);',62,219,'|||opts|var|if|function|data||||val|as|this||li||string||results_holder||input|false|selections_holder|length|values_input||active|else|prev|prefill_value|call|num|||item|class|removeClass|input_focus|preFill|hide|addClass|true|str|results_ul|org_li|return|id|selected|selectedValuesProp|for|timeout|selection|start|last|case|i_input|break|lis|this_data|query|selectedItemProp|html|formatted|d_count||d_type|retrieveLimit|new_v|add_selected_item|beforeRetrieve|tab_press|value|click|replace|prefill_count|matchCase|vals|ul|raw_data|blur|limit|lastKeyPressCode|new_data|preventDefault|n_data|startText|focus|elem|matchCount|close|split|names|mousedown|forward|search|searchObjProps|name|moveSelection|selectionClick|keyDelay|keyChange|in|hasOwnProperty|number|show|selectionLimit|processData|direction|v_data|formatList|loading|original|selectionRemoved|regx|asHtmlID|num_count|down|x_id|minChars|selections|attr|No|div|showResultList|clearTimeout|results|setTimeout|first|wrap|object|000|after|Math|keyCode|typeof|values|neverSubmit|lastChar|options|defaults|limitText|emptyText|message|css|width|resultsComplete|RegExp|toLowerCase|result|extend|new|attributes|resultsHighlight|resultClick|em|selectionAdded|outerWidth|children|retrieveComplete|encodeURIComponent|queryParam|req_string|visible|extraParams|org_data|More|Name|Selections|Are|append|list|hidden|as_values_|fn|autoSuggest|Enter|delete|type|times|floor|400|each|Results|Found|random|100|Here||off|autocomplete|Allowed|remove|undefined||not|hasClass|40|trim|first_focus|switch|188|jQuery|46|getJSON|filter|default|00|keydown|up|substring|next|before|mouseover|eq|null|totalSelections|prepend|gi'.split('|'),0,{}))
+
+(function($){
+ $.fn.autoSuggest = function(data, options) {
+ var defaults = {
+ asHtmlID: false,
+ startText: "Enter Name Here",
+ emptyText: "No Results Found",
+ preFill: {},
+ limitText: "No More Selections Are Allowed",
+ selectedItemProp: "value", //name of object property
+ selectedValuesProp: "value", //name of object property
+ searchObjProps: "value", //comma separated list of object property names
+ queryParam: "q",
+ retrieveLimit: false, //number for 'limit' param on ajax request
+ extraParams: "",
+ matchCase: false,
+ minChars: 1,
+ keyDelay: 400,
+ resultsHighlight: true,
+ neverSubmit: false,
+ selectionLimit: false,
+ showResultList: true,
+ start: function(){},
+ selectionClick: function(elem){},
+ selectionAdded: function(elem){},
+ selectionRemoved: function(elem){ elem.remove(); },
+ formatList: false, //callback function
+ beforeRetrieve: function(string){ return string; },
+ retrieveComplete: function(data){ return data; },
+ resultClick: function(data){},
+ resultsComplete: function(){}
+ };
+ var opts = $.extend(defaults, options);
+
+ var d_type = "object";
+ var d_count = 0;
+ if(typeof data == "string") {
+ d_type = "string";
+ var req_string = data;
+ } else {
+ var org_data = data;
+ for (k in data) if (data.hasOwnProperty(k)) d_count++;
+ }
+ if((d_type == "object" && d_count > 0) || d_type == "string"){
+ return this.each(function(x){
+ if(!opts.asHtmlID){
+ x = x+""+Math.floor(Math.random()*100); //this ensures there will be unique IDs on the page if autoSuggest() is called multiple times
+ var x_id = "as-input-"+x;
+ } else {
+ x = opts.asHtmlID;
+ var x_id = x;
+ }
+ opts.start.call(this);
+ var input = $(this);
+ input.attr("autocomplete","off").addClass("as-input").attr("id",x_id).val(opts.startText);
+ var input_focus = false;
+
+ // Setup basic elements and render them to the DOM
+ input.wrap('
').wrap('');
+ var selections_holder = $("#as-selections-"+x);
+ var org_li = $("#as-original-"+x);
+ var results_holder = $('').hide();
+ var results_ul = $('');
+ var values_input = $('');
+ var prefill_value = "";
+ if(typeof opts.preFill == "string"){
+ var vals = opts.preFill.split(",");
+ for(var i=0; i < vals.length; i++){
+ var v_data = {};
+ v_data[opts.selectedValuesProp] = vals[i];
+ if(vals[i] != ""){
+ add_selected_item(v_data, "000"+i);
+ }
+ }
+ prefill_value = opts.preFill;
+ } else {
+ prefill_value = "";
+ var prefill_count = 0;
+ for (k in opts.preFill) if (opts.preFill.hasOwnProperty(k)) prefill_count++;
+ if(prefill_count > 0){
+ for(var i=0; i < prefill_count; i++){
+ var new_v = opts.preFill[i][opts.selectedValuesProp];
+ if(new_v == undefined){ new_v = ""; }
+ prefill_value = prefill_value+new_v+",";
+ if(new_v != ""){
+ add_selected_item(opts.preFill[i], "000"+i);
+ }
+ }
+ }
+ }
+ if(prefill_value != ""){
+ input.val("");
+ var lastChar = prefill_value.substring(prefill_value.length-1);
+ if(lastChar != ","){ prefill_value = prefill_value+","; }
+ values_input.val(","+prefill_value);
+ $("li.as-selection-item", selections_holder).addClass("blur").removeClass("selected");
+ }
+ input.after(values_input);
+ selections_holder.click(function(){
+ input_focus = true;
+ input.focus();
+ }).mousedown(function(){ input_focus = false; }).after(results_holder);
+
+ var timeout = null;
+ var prev = "";
+ var totalSelections = 0;
+ var tab_press = false;
+
+ // Handle input field events
+ input.focus(function(){
+ if($(this).val() == opts.startText && values_input.val() == ""){
+ $(this).val("");
+ } else if(input_focus){
+ $("li.as-selection-item", selections_holder).removeClass("blur");
+ if($(this).val() != ""){
+ results_ul.css("width",selections_holder.outerWidth());
+ results_holder.show();
+ }
+ }
+ input_focus = true;
+ return true;
+ }).blur(function(){
+ if($(this).val() == "" && values_input.val() == "" && prefill_value == ""){
+ $(this).val(opts.startText);
+ } else if(input_focus){
+ $("li.as-selection-item", selections_holder).addClass("blur").removeClass("selected");
+ results_holder.hide();
+ }
+ }).keydown(function(e) {
+ // track last key pressed
+ lastKeyPressCode = e.keyCode;
+ first_focus = false;
+ switch(e.keyCode) {
+ case 38: // up
+ e.preventDefault();
+ moveSelection("up");
+ break;
+ case 40: // down
+ e.preventDefault();
+ moveSelection("down");
+ break;
+ case 8: // delete
+ if(input.val() == ""){
+ var last = values_input.val().split(",");
+ last = last[last.length - 2];
+ selections_holder.children().not(org_li.prev()).removeClass("selected");
+ if(org_li.prev().hasClass("selected")){
+ values_input.val(values_input.val().replace(","+last+",",","));
+ opts.selectionRemoved.call(this, org_li.prev());
+ } else {
+ opts.selectionClick.call(this, org_li.prev());
+ org_li.prev().addClass("selected");
+ }
+ }
+ if(input.val().length == 1){
+ results_holder.hide();
+ prev = "";
+ }
+ if($(":visible",results_holder).length > 0){
+ if (timeout){ clearTimeout(timeout); }
+ timeout = setTimeout(function(){ keyChange(); }, opts.keyDelay);
+ }
+ break;
+ /*case 9: case 188: // tab or comma
+ tab_press = true;
+ var i_input = input.val().replace(/(,)/g, "");
+ if(i_input != "" && values_input.val().search(","+i_input+",") < 0 && i_input.length >= opts.minChars){
+ e.preventDefault();
+ var n_data = {};
+ n_data[opts.selectedItemProp] = i_input;
+ n_data[opts.selectedValuesProp] = i_input;
+ var lis = $("li", selections_holder).length;
+ add_selected_item(n_data, "00"+(lis+1));
+ input.val("");
+ }*/
+ case 9: // tab
+ if(input.val() == ''){
+ break;
+ }
+ case 13: case 188: // return, comma
+ tab_press = false;
+ var active = $("li.active:first", results_holder);
+ if(active.length > 0){
+ active.click();
+ results_holder.hide();
+ }
+ if(opts.neverSubmit || active.length > 0){
+ e.preventDefault();
+ }
+ break;
+ default:
+ if(opts.showResultList){
+ if(opts.selectionLimit && $("li.as-selection-item", selections_holder).length >= opts.selectionLimit){
+ results_ul.html(''+opts.limitText+'');
+ results_holder.show();
+ } else {
+ if (timeout){ clearTimeout(timeout); }
+ timeout = setTimeout(function(){ keyChange(); }, opts.keyDelay);
+ }
+ }
+ break;
+ }
+ });
+
+ function keyChange() {
+ // ignore if the following keys are pressed: [del] [shift] [capslock]
+ if( lastKeyPressCode == 46 || (lastKeyPressCode > 8 && lastKeyPressCode < 32) ){ return results_holder.hide(); }
+ var string = input.val().replace(/[\\]+|[\/]+/g,"");
+ if (string == prev) return;
+ prev = string;
+ if (string.length >= opts.minChars) {
+ selections_holder.addClass("loading");
+ if(d_type == "string"){
+ var limit = "";
+ if(opts.retrieveLimit){
+ limit = "&limit="+encodeURIComponent(opts.retrieveLimit);
+ }
+ if(opts.beforeRetrieve){
+ string = opts.beforeRetrieve.call(this, string);
+ }
+ $.getJSON(req_string+"?"+opts.queryParam+"="+encodeURIComponent(string)+limit+opts.extraParams, function(data){
+ d_count = 0;
+ var new_data = opts.retrieveComplete.call(this, data);
+ for (k in new_data) if (new_data.hasOwnProperty(k)) d_count++;
+ processData(new_data, string);
+ });
+ } else {
+ if(opts.beforeRetrieve){
+ string = opts.beforeRetrieve.call(this, string);
+ }
+ processData(org_data, string);
+ }
+ } else {
+ selections_holder.removeClass("loading");
+ results_holder.hide();
+ }
+ }
+ var num_count = 0;
+ function processData(data, query){
+ if (!opts.matchCase){ query = query.toLowerCase(); }
+ var matchCount = 0;
+ results_holder.html(results_ul.html("")).hide();
+ for(var i=0;i').click(function(){
+ var raw_data = $(this).data("data");
+ var number = raw_data.num;
+ if($("#as-selection-"+number, selections_holder).length <= 0 && !tab_press){
+ var data = raw_data.attributes;
+ input.val("").focus();
+ prev = "";
+ add_selected_item(data, number);
+ opts.resultClick.call(this, raw_data);
+ results_holder.hide();
+ }
+ tab_press = false;
+ }).mousedown(function(){ input_focus = false; }).mouseover(function(){
+ $("li", results_ul).removeClass("active");
+ $(this).addClass("active");
+ }).data("data",{attributes: data[num], num: num_count});
+ var this_data = $.extend({},data[num]);
+ if (!opts.matchCase){
+ var regx = new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + query + ")(?![^<>]*>)(?![^&;]+;)", "gi");
+ } else {
+ var regx = new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + query + ")(?![^<>]*>)(?![^&;]+;)", "g");
+ }
+
+ if(opts.resultsHighlight){
+ this_data[opts.selectedItemProp] = this_data[opts.selectedItemProp].replace(regx,"$1");
+ }
+ if(!opts.formatList){
+ formatted = formatted.html(this_data[opts.selectedItemProp]);
+ } else {
+ formatted = opts.formatList.call(this, this_data, formatted);
+ }
+ results_ul.append(formatted);
+ delete this_data;
+ matchCount++;
+ if(opts.retrieveLimit && opts.retrieveLimit == matchCount ){ break; }
+ }
+ }
+ selections_holder.removeClass("loading");
+ if(matchCount <= 0){
+ results_ul.html(''+opts.emptyText+'');
+ }
+ results_ul.css("width", selections_holder.outerWidth());
+ results_holder.show();
+ opts.resultsComplete.call(this);
+ }
+
+ function add_selected_item(data, num){
+ values_input.val(values_input.val()+data[opts.selectedValuesProp]+",");
+ var item = $('').click(function(){
+ opts.selectionClick.call(this, $(this));
+ selections_holder.children().removeClass("selected");
+ $(this).addClass("selected");
+ }).mousedown(function(){ input_focus = false; });
+ var close = $('×').click(function(){
+ values_input.val(values_input.val().replace(","+data[opts.selectedValuesProp]+",",","));
+ opts.selectionRemoved.call(this, item);
+ input_focus = true;
+ input.focus();
+ return false;
+ });
+ org_li.before(item.html(data[opts.selectedItemProp]).prepend(close));
+ opts.selectionAdded.call(this, org_li.prev());
+ }
+
+ function moveSelection(direction){
+ if($(":visible",results_holder).length > 0){
+ var lis = $("li", results_holder);
+ if(direction == "down"){
+ var start = lis.eq(0);
+ } else {
+ var start = lis.filter(":last");
+ }
+ var active = $("li.active:first", results_holder);
+ if(active.length > 0){
+ if(direction == "down"){
+ start = active.next();
+ } else {
+ start = active.prev();
+ }
+ }
+ lis.removeClass("active");
+ start.addClass("active");
+ }
+ }
+
+ });
+ }
+ }
+})(jQuery);
diff --git a/spec/controllers/conversations_controller_spec.rb b/spec/controllers/conversations_controller_spec.rb
index fe7a792e4..77216148a 100644
--- a/spec/controllers/conversations_controller_spec.rb
+++ b/spec/controllers/conversations_controller_spec.rb
@@ -46,7 +46,7 @@ describe ConversationsController do
:conversation => {
:subject => "secret stuff",
:text => 'text'},
- :as_values_contact_ids => [@alice.contacts.first.id]
+ :contact_ids => [@alice.contacts.first.id]
}
end
diff --git a/spec/controllers/profiles_controller_spec.rb b/spec/controllers/profiles_controller_spec.rb
index ef23b8bd7..21307a615 100644
--- a/spec/controllers/profiles_controller_spec.rb
+++ b/spec/controllers/profiles_controller_spec.rb
@@ -46,7 +46,7 @@ describe ProfilesController do
it 'sets tags' do
params = { :id => @user.person.id,
- :as_values_tags => '#apples #oranges'}
+ :tags => '#apples #oranges'}
put :update, params
@user.person(true).profile.tag_list.to_set.should == ['apples', 'oranges'].to_set