From d9bb3256520ec5bdc1adfa3b9cc5ed77264d8ab5 Mon Sep 17 00:00:00 2001 From: Mzhelskiy Maxim Date: Tue, 3 May 2011 14:19:10 +0000 Subject: [PATCH] fix developer-jquery --- .../skin/developer-jquery/js/autocomplete.js | 60 ---------------- templates/skin/developer-jquery/js/main.js | 70 +++++++++++++++++-- .../settings/config/config.php | 1 - 3 files changed, 66 insertions(+), 65 deletions(-) delete mode 100644 templates/skin/developer-jquery/js/autocomplete.js diff --git a/templates/skin/developer-jquery/js/autocomplete.js b/templates/skin/developer-jquery/js/autocomplete.js deleted file mode 100644 index de330483..00000000 --- a/templates/skin/developer-jquery/js/autocomplete.js +++ /dev/null @@ -1,60 +0,0 @@ -function split(val) { return val.split( /,\s*/ ); } -function extractLast(term) { return split(term).pop(); } - -function autocompleteAdd(obj, sPath, multiple) { - if (multiple) { - obj.bind("keydown", function(event) { - if ( event.keyCode === $.ui.keyCode.TAB && $( this ).data( "autocomplete" ).menu.active ) { - event.preventDefault(); - } - }) - .autocomplete({ - source: function(request, response) { - $.ajax({ - url: sPath, - type: 'post', - data: { - value: extractLast(request.term), - security_ls_key: LIVESTREET_SECURITY_KEY - }, - success: function(data) { - response(data.aItems); - } - }); - }, - search: function() { - var term = extractLast(this.value); - if (term.length < 2) { - return false; - } - }, - focus: function() { - return false; - }, - select: function(event, ui) { - var terms = split(this.value); - terms.pop(); - terms.push(ui.item.value); - terms.push(""); - this.value = terms.join(", "); - return false; - } - }); - } else { - obj.autocomplete({ - source: function(request, response) { - $.ajax({ - url: sPath, - type: 'post', - data: { - value: extractLast(request.term), - security_ls_key: LIVESTREET_SECURITY_KEY - }, - success: function(data) { - response(data.aItems); - } - }); - } - }); - } -} diff --git a/templates/skin/developer-jquery/js/main.js b/templates/skin/developer-jquery/js/main.js index 1fafda3a..84ecef17 100644 --- a/templates/skin/developer-jquery/js/main.js +++ b/templates/skin/developer-jquery/js/main.js @@ -130,6 +130,68 @@ ls = (function ($) { +/** +* Автокомплитер +*/ +ls.autocomplete = (function ($) { + /** + * Добавляет автокомплитер к полю ввода + */ + this.add = function(obj, sPath, multiple) { + if (multiple) { + obj.bind("keydown", function(event) { + if ( event.keyCode === $.ui.keyCode.TAB && $( this ).data( "autocomplete" ).menu.active ) { + event.preventDefault(); + } + }) + .autocomplete({ + source: function(request, response) { + ls.ajax(sPath,{value: ls.autocomplete.extractLast(request.term)},function(data){ + response(data.aItems); + }); + }, + search: function() { + var term = ls.autocomplete.extractLast(this.value); + if (term.length < 2) { + return false; + } + }, + focus: function() { + return false; + }, + select: function(event, ui) { + var terms = ls.autocomplete.split(this.value); + terms.pop(); + terms.push(ui.item.value); + terms.push(""); + this.value = terms.join(", "); + return false; + } + }); + } else { + obj.autocomplete({ + source: function(request, response) { + ls.ajax(sPath,{value: ls.autocomplete.extractLast(request.term)},function(data){ + response(data.aItems); + }); + } + }); + } + } + + this.split = function(val) { + return val.split( /,\s*/ ); + } + + this.extractLast = function(term) { + return ls.autocomplete.split(term).pop(); + } + + return this; +}).call(ls.autocomplete || {},jQuery); + + + (ls.options || {}).debug=1; @@ -164,10 +226,10 @@ $(document).ready(function(){ // Автокомплит - autocompleteAdd($(".autocomplete-tags-sep"), aRouter['ajax']+'autocompleter/tag/', true); - autocompleteAdd($(".autocomplete-users"), aRouter['ajax']+'autocompleter/user/', true); - autocompleteAdd($(".autocomplete-city"), aRouter['ajax']+'autocompleter/city/', false); - autocompleteAdd($(".autocomplete-country"), aRouter['ajax']+'autocompleter/country/', false); + ls.autocomplete.add($(".autocomplete-tags-sep"), aRouter['ajax']+'autocompleter/tag/', true); + ls.autocomplete.add($(".autocomplete-users"), aRouter['ajax']+'autocompleter/user/', true); + ls.autocomplete.add($(".autocomplete-city"), aRouter['ajax']+'autocompleter/city/', false); + ls.autocomplete.add($(".autocomplete-country"), aRouter['ajax']+'autocompleter/country/', false); // Скролл diff --git a/templates/skin/developer-jquery/settings/config/config.php b/templates/skin/developer-jquery/settings/config/config.php index dd190805..ad241546 100644 --- a/templates/skin/developer-jquery/settings/config/config.php +++ b/templates/skin/developer-jquery/settings/config/config.php @@ -11,7 +11,6 @@ $config['head']['default']['js'] = array( "___path.static.skin___/js/libs/markitup/jquery.markitup.js", "___path.static.skin___/js/libs/markitup/sets/default/set.js", "___path.static.skin___/js/main.js", - "___path.static.skin___/js/autocomplete.js", "___path.static.skin___/js/favourite.js", "___path.static.skin___/js/blocks.js", "___path.static.skin___/js/talk.js",