From daa38af58c8ea52c42a13f2ffab6bef81f6da2dc Mon Sep 17 00:00:00 2001 From: Ibrahim Awwal Date: Mon, 17 Sep 2012 18:55:52 -0700 Subject: [PATCH] Convert DiscussionFilter to coffeescript. --- .../src/discussion/discussion_filter.coffee | 28 +++++++ lms/static/js/discussion-filter.js | 82 ------------------- 2 files changed, 28 insertions(+), 82 deletions(-) create mode 100644 lms/static/coffee/src/discussion/discussion_filter.coffee delete mode 100644 lms/static/js/discussion-filter.js diff --git a/lms/static/coffee/src/discussion/discussion_filter.coffee b/lms/static/coffee/src/discussion/discussion_filter.coffee new file mode 100644 index 0000000000..6b3ab03689 --- /dev/null +++ b/lms/static/coffee/src/discussion/discussion_filter.coffee @@ -0,0 +1,28 @@ +class @DiscussionFilter + @filterDrop: (e) -> + $drop = $(e.target).parents('.topic_menu_wrapper, .browse-topic-drop-menu-wrapper') + query = $(e.target).val() + $items = $drop.find('a') + + if(query.length == 0) + $items.removeClass('hidden') + return; + + $items.addClass('hidden') + $items.each (i) -> + thisText = $(this).not('.unread').text() + $(this).parents('ul').siblings('a').not('.unread').each (i) -> + thisText = thisText + ' ' + $(this).text(); + + test = true + terms = thisText.split(' ') + + if(thisText.toLowerCase().search(query.toLowerCase()) == -1) + test = false + + if(test) + $(this).removeClass('hidden') + # show children + $(this).parent().find('a').removeClass('hidden'); + # show parents + $(this).parents('ul').siblings('a').removeClass('hidden'); diff --git a/lms/static/js/discussion-filter.js b/lms/static/js/discussion-filter.js deleted file mode 100644 index 31ef3a8a07..0000000000 --- a/lms/static/js/discussion-filter.js +++ /dev/null @@ -1,82 +0,0 @@ -var DiscussionFilter = DiscussionFilter || {}; - -DiscussionFilter.filterDrop = function (e) { - /* - * multiple queries - */ - - // var $drop = $(e.target).parents('.form-topic-drop-menu-wrapper, .browse-topic-drop-menu-wrapper'); - // var queries = $(this).val().split(' '); - // var $items = $drop.find('a'); - - // if(queries.length == 0) { - // $items.show(); - // return; - // } - - // $items.hide(); - // $items.each(function(i) { - // var thisText = $(this).children().not('.unread').text(); - // $(this).parents('ul').siblings('a').not('.unread').each(function(i) { - // thisText = thisText + ' ' + $(this).text(); - // }); - - // var test = true; - // var terms = thisText.split(' '); - - // for(var i = 0; i < queries.length; i++) { - // if(thisText.toLowerCase().search(queries[i].toLowerCase()) == -1) { - // test = false; - // } - // } - - // if(test) { - // $(this).show(); - - // // show children - // $(this).parent().find('a').show(); - - // // show parents - // $(this).parents('ul').siblings('a').show(); - // } - // }); - - - - /* - * single query - */ - var $drop = $(e.target).parents('.topic_menu_wrapper, .browse-topic-drop-menu-wrapper'); - var query = $(e.target).val(); - var $items = $drop.find('a'); - - if(query.length == 0) { - $items.removeClass('hidden'); - return; - } - - $items.addClass('hidden'); - $items.each(function(i) { - var thisText = $(this).not('.unread').text(); - $(this).parents('ul').siblings('a').not('.unread').each(function(i) { - thisText = thisText + ' ' + $(this).text(); - }); - - var test = true; - var terms = thisText.split(' '); - - if(thisText.toLowerCase().search(query.toLowerCase()) == -1) { - test = false; - } - - if(test) { - $(this).removeClass('hidden'); - - // show children - $(this).parent().find('a').removeClass('hidden'); - - // show parents - $(this).parents('ul').siblings('a').removeClass('hidden'); - } - }); -}