diff options
Diffstat (limited to 'templates/content/js/com.cnprog.post.js')
-rw-r--r-- | templates/content/js/com.cnprog.post.js | 166 |
1 files changed, 0 insertions, 166 deletions
diff --git a/templates/content/js/com.cnprog.post.js b/templates/content/js/com.cnprog.post.js index 0d4c52d3..33df1e21 100644 --- a/templates/content/js/com.cnprog.post.js +++ b/templates/content/js/com.cnprog.post.js @@ -670,178 +670,12 @@ function createComments(type) { }; } -function pickedTags(){ - - var sendAjax = function(tagname, reason, action, callback){ - url = scriptUrl; - if (action == 'add'){ - url += $.i18n._('mark-tag/'); - if (reason == 'good'){ - url += $.i18n._('interesting/'); - } - else { - url += $.i18n._('ignored/'); - } - } - else { - url += $.i18n._('unmark-tag/'); - } - url = url + tagname + '/'; - - call_settings = { - type:'POST', - url:url - } - if (callback != false){ - call_settings['success'] = callback; - } - $.ajax(call_settings); - } - - - var unpickTag = function(from_target ,tagname, reason, send_ajax){ - //send ajax request to delete tag - var deleteTagLocally = function(){ - from_target[tagname].remove(); - delete from_target[tagname]; - } - if (send_ajax){ - sendAjax(tagname,reason,'remove',deleteTagLocally); - } - else { - deleteTagLocally(); - } - - } - - var setupTagDeleteEvents = function(obj,tag_store,tagname,reason,send_ajax){ - obj.unbind('mouseover').bind('mouseover', function(){ - $(this).attr('src', scriptUrl + 'content/images/close-small-hover.png'); - }); - obj.unbind('mouseout').bind('mouseout', function(){ - $(this).attr('src', scriptUrl + 'content/images/close-small-dark.png'); - }); - obj.click( function(){ - unpickTag(tag_store,tagname,reason,send_ajax); - }); - } - - var handlePickedTag = function(obj,reason){ - var tagname = $.trim($(obj).prev().attr('value')); - to_target = interestingTags; - from_target = ignoredTags; - if (reason == 'bad'){ - to_target = ignoredTags; - from_target = interestingTags; - to_tag_container = $('div .tags.ignored'); - } - else if (reason != 'good'){ - return; - } - else { - to_tag_container = $('div .tags.interesting'); - } - - if (tagname in from_target){ - unpickTag(from_target,tagname,reason,false); - } - - if (!(tagname in to_target)){ - //send ajax request to pick this tag - - sendAjax(tagname,reason,'add',function(){ - new_tag = $('<span></span>'); - new_tag.addClass('deletable-tag'); - tag_link = $('<a></a>'); - tag_link.attr('rel','tag'); - tag_link.attr('href', scriptUrl + $.i18n._('tags/') + tagname); - tag_link.html(tagname); - del_link = $('<img></img>'); - del_link.addClass('delete-icon'); - del_link.attr('src', scriptUrl + 'content/images/close-small-dark.png'); - - setupTagDeleteEvents(del_link, to_target, tagname, reason, true); - - new_tag.append(tag_link); - new_tag.append(del_link); - to_tag_container.append(new_tag); - - to_target[tagname] = new_tag; - }); - } - } - - var collectPickedTags = function(){ - var good_prefix = 'interesting-tag-'; - var bad_prefix = 'ignored-tag-'; - var good_re = RegExp('^' + good_prefix); - var bad_re = RegExp('^' + bad_prefix); - interestingTags = {}; - ignoredTags = {}; - $('.deletable-tag').each( - function(i,item){ - item_id = $(item).attr('id') - if (good_re.test(item_id)){ - tag_name = item_id.replace(good_prefix,''); - tag_store = interestingTags; - reason = 'good'; - } - else if (bad_re.test(item_id)){ - tag_name = item_id.replace(bad_prefix,''); - tag_store = ignoredTags; - reason = 'bad'; - } - else { - return; - } - tag_store[tag_name] = $(item); - setupTagDeleteEvents($(item).find('img'),tag_store,tag_name,reason,true) - } - ); - } - - var setupHideIgnoredQuestionsControl = function(){ - $('#hideIgnoredTagsCb').unbind('click').click(function(){ - $.ajax({ - type: 'POST', - dataType: 'json', - cache: false, - url: scriptUrl + $.i18n._('command/'), - data: {command:'toggle-ignored-questions'} - }); - }); - } - return { - init: function(){ - collectPickedTags(); - setupHideIgnoredQuestionsControl(); - $("#interestingTagInput, #ignoredTagInput").autocomplete(tags, { - minChars: 1, - matchContains: true, - max: 20, - multiple: true, - multipleSeparator: " ", - formatItem: function(row, i, max) { - return row.n + " ("+ row.c +")"; - }, - formatResult: function(row, i, max){ - return row.n; - } - - }); - $("#interestingTagAdd").click(function(){handlePickedTag(this,'good')}); - $("#ignoredTagAdd").click(function(){handlePickedTag(this,'bad')}); - } - }; -} - var questionComments = createComments('question'); var answerComments = createComments('answer'); $().ready(function() { questionComments.init(); answerComments.init(); - pickedTags().init(); }); var commentsFactory = {'question' : questionComments, 'answer' : answerComments}; |