Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ForkAwesome/Fork-Awesome.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/assets/js
diff options
context:
space:
mode:
Diffstat (limited to 'assets/js')
-rw-r--r--assets/js/site.js96
-rw-r--r--assets/js/tabcomplete.min.js6
2 files changed, 102 insertions, 0 deletions
diff --git a/assets/js/site.js b/assets/js/site.js
index 731798048..04776b425 100644
--- a/assets/js/site.js
+++ b/assets/js/site.js
@@ -1,6 +1,102 @@
$(function() {
+ var ads = [
+ { quote: "Take your icon game to the next level.", content: "ad_1_next_level"},
+ { quote: "Subset your icons, add your own, and serve up from a CDN.", content: "ad_2_all_value_add"},
+ { quote: "Make your icons load 10x faster!", content: "ad_3_faster_loading"},
+ { quote: "Looking for other great icon sets?", content: "ad_4_more_icons"},
+ { quote: "Need a custom icon in Font Awesome?", content: "ad_5_custom_icons"}
+ ];
+
+ selectFonticonsAd();
+
// start the icon carousel
$('#icon-carousel').carousel({
interval: 5000
});
+
+ var $filter_by = $('#filter-by');
+
+ // Filter icons
+ if($filter_by.length) {
+ var $filter_val = $('#filter-val');
+ var $filter = $('#filter');
+ var $other = $('#new, #web-application, #transportation, #gender, #form-control, #medical, #currency, #text-editor, #directional, #video-player, #brand, #file-type, #spinner, #payment, #chart');
+ var $clear = $('#filter-clear');
+ var $no_results = $('#no-search-results');
+
+ var $icons = $('.filter-icon', $filter);
+
+ // Add tab completion
+ $filter_by.tabcomplete(filterSet, {
+ arrowKeys: true
+ });
+
+ $clear.on('click', function(e) {
+ e.preventDefault();
+ $filter_by
+ .val('')
+ .trigger('input')
+ .trigger('keyup')
+ .focus();
+
+ $clear.addClass('hide'); // Hide clear button
+ });
+
+
+ $filter_by.on('keyup', function() {
+ var $this = $(this);
+ var val = $this.val().toLowerCase();
+ $filter.toggle(!!val);
+ $other.toggle(!val);
+ $clear.toggleClass('hide', !val);
+ $filter_val.text(val);
+
+ if(!val) return;
+
+ var resultsCount = 0;
+ $icons.each(function() {
+ var filter = $(this).attr('data-filter').split('|');
+ var show = inFilter(val, filter);
+ if (!show) {
+ if (val.slice(-1) === 's') {
+ // Try to be smart. Make plural terms singular.
+ show = inFilter(val.slice(0, -1), filter);
+ }
+ }
+ if (show) resultsCount++;
+ $(this).toggle(!!show);
+ });
+
+ if( resultsCount == 0 && val.length != 0 ) {
+ $no_results.find('span').text(val);
+ $no_results.show();
+ } else {
+ $no_results.hide();
+ }
+ });
+ }
+
+ function inFilter(val, filter) {
+ for (var i = 0; i < filter.length; i++) {
+ if (filter[i].match(val)) return true;
+ }
+ return false;
+ }
+
+ $filter_by
+ .val('')
+ .trigger('input')
+ .trigger('keyup');
+
+ if ($clear) {
+ $clear.addClass('hide'); // Hide clear button
+ }
+
+ function selectFonticonsAd() {
+ random_number = Math.floor( Math.random() * ads.length );
+ random_ad = ads[random_number];
+
+ $('#rotating-message').html(random_ad.quote);
+ $('#rotating-url').attr("href", "https://fonticons.com/?utm_source=font_awesome_homepage&utm_medium=display&utm_content=" + random_ad.content + "&utm_campaign=promo_4.3_update");
+ }
});
diff --git a/assets/js/tabcomplete.min.js b/assets/js/tabcomplete.min.js
new file mode 100644
index 000000000..f4c1fdf87
--- /dev/null
+++ b/assets/js/tabcomplete.min.js
@@ -0,0 +1,6 @@
+/*!
+ * tabcomplete
+ * http://github.com/erming/tabcomplete
+ * v1.4.1
+ */
+!function(a){function b(b,c,d){return a.grep(c,function(a){return d?!a.indexOf(b):!a.toLowerCase().indexOf(b.toLowerCase())})}function c(b){var c=this,d=c.prev(".hint");c.css({backgroundColor:"transparent",position:"relative"}),d.length||(c.options.wrapInput&&c.wrap(a("<div>").css({position:"relative",height:c.css("height"),display:c.css("display")})),d=c.clone().attr("tabindex",-1).removeAttr("id name placeholder").addClass("hint").insertBefore(c),d.css({position:"absolute"}));var e="";if("undefined"!=typeof b){var f=c.val();e=f+b.substr(f.split(/ |\n/).pop().length)}d.val(e)}function d(a){var b=this,c=b.val();a&&(b.val(c+a.substr(c.split(/ |\n/).pop().length)),b[0].selectionStart=c.length)}var e={backspace:8,tab:9,up:38,down:40};a.tabcomplete={},a.tabcomplete.defaultOptions={after:"",arrowKeys:!1,hint:"placeholder",match:b,caseSensitive:!1,minLength:1,wrapInput:!0},a.fn.tab=a.fn.tabcomplete=function(b,f){if(this.length>1)return this.each(function(){a(this).tabcomplete(b,f)});var g=this.prop("tagName");if("INPUT"==g||"TEXTAREA"==g){this.options=f=a.extend(a.tabcomplete.defaultOptions,f),this.unbind(".tabcomplete"),this.prev(".hint").remove();var h=this,i=!1,j=-1,k=[],l="",m=a.noop;switch(f.hint){case"placeholder":m=c;break;case"select":m=d}return this.on("input.tabcomplete",function(){var c=h.val(),d=c.split(/ |\n/).pop();j=-1,l="",k=[],h[0].selectionStart==c.length&&d.length&&(k=f.match(d,b,f.caseSensitive),f.after&&(k=a.map(k,function(a){return a+f.after}))),h.trigger("match",k.length),f.hint&&(("select"!=f.hint||!i)&&d.length>=f.minLength?m.call(h,k[0]):m.call(h,"")),i&&(i=!1)}),this.on("keydown.tabcomplete",function(a){var b=a.which;if(b==e.tab||f.arrowKeys&&(b==e.up||b==e.down)){if(a.preventDefault(),b!=e.up)j++;else{if(-1==j)return;0==j?j=k.length-1:j--}var c=k[j%k.length];if(!c)return;var d=h.val();if(l=l||d.split(/ |\n/).pop(),l.length<f.minLength)return;var g="select"==f.hint?d:d.substr(0,h[0].selectionStart-l.length)+c;h.val(g),"select"==f.hint&&(h[0].selectionStart=g.length),l=c,h.trigger("tabcomplete",l),f.hint&&m.call(h,"")}else a.which==e.backspace&&(i=!0,j=-1,l="")}),f.hint&&m.call(this,""),this}}}(jQuery); \ No newline at end of file