summaryrefslogtreecommitdiffhomepage
path: root/common
diff options
context:
space:
mode:
Diffstat (limited to 'common')
-rw-r--r--common/examples.css3
-rw-r--r--common/examples.js16
-rw-r--r--common/libs/jquery.throttle-debounce.js252
3 files changed, 9 insertions, 262 deletions
diff --git a/common/examples.css b/common/examples.css
index fd41d6f..65ba8ad 100644
--- a/common/examples.css
+++ b/common/examples.css
@@ -4,7 +4,8 @@
#filter_menu { width:820px; height:80px; margin-left:15px; }
#filter_function_label { margin-top: 2rem; }
-#filter_function { display: block; margin-left:15px; margin-bottom: 2rem; }
+#filter_function { display: block; height: 1rem; margin-left:15px; margin-bottom: 2rem; }
+#matches_counter { display: inline; margin-bottom: 2rem; }
.legendButton { float:left; margin-right:8px; margin-bottom:20px; width:84px; height:78px; text-align:right; line-height:130px; cursor: pointer; transition: 0.125s; }
#core { background-color:#e1e1e1; color:#5c5a5a; border:5px solid #898888; }
diff --git a/common/examples.js b/common/examples.js
index c0ecad2..992c46e 100644
--- a/common/examples.js
+++ b/common/examples.js
@@ -23,19 +23,17 @@ $(document).ready(function() {
var filterText = functionName.toLowerCase()
if (filterText === "") {
$('#container').mixItUp('filter', exampleDivs);
- $('#occurences_counter').hide();
+ $('#matches_counter').hide();
return
}
- $('#occurences_counter').show();
+ $('#matches_counter').show();
- var occurences = 0;
const filteredExamples = []
for (var functionName in functionUsages) {
if (!functionName.toLowerCase().includes(filterText)) continue;
- occurences += functionUsages[functionName].length
for (var usage of functionUsages[functionName]) {
- const exampleIndex = findExampleIndexByName(exampleData, usage.exampleName)
+ const exampleIndex = findExampleIndexByName(exampleData, usage)
if (!filteredExamples.includes(exampleIndex)) {
filteredExamples.push(exampleIndex)
}
@@ -44,7 +42,7 @@ $(document).ready(function() {
const filteredDivs = filteredExamples.map(index => exampleDivs[index]);
$('#container').mixItUp('filter', filteredDivs);
- $('#occurences_counter').text(`Occurences: ${occurences} (${filteredExamples.length} examples)`);
+ $('#matches_counter').text(`Found ${filteredExamples.length} examples`);
}
var exampleData = [
@@ -203,7 +201,7 @@ $(document).ready(function() {
$.getJSON('examples/function_usages.json', function(functionUsagesData) {
// Filter out function usages of examples, which don't have a page
for (var functionName in functionUsagesData) {
- functionUsages[functionName] = functionUsagesData[functionName].filter(usage => findExampleByName(exampleData, usage.exampleName))
+ functionUsages[functionName] = functionUsagesData[functionName].filter(usage => findExampleByName(exampleData, usage))
}
// While the JSON file was loaded, user could have entered text.
@@ -213,9 +211,9 @@ $(document).ready(function() {
}
// From now listen for input update events
- filterFunctionInput.on("input", $.debounce(200, function(event) {
+ filterFunctionInput.on("input", function(event) {
applyByFunctionFilter(event.target.value)
- }));
+ });
})
// Instantiate MixItUp:
diff --git a/common/libs/jquery.throttle-debounce.js b/common/libs/jquery.throttle-debounce.js
deleted file mode 100644
index f39717c..0000000
--- a/common/libs/jquery.throttle-debounce.js
+++ /dev/null
@@ -1,252 +0,0 @@
-/*!
- * jQuery throttle / debounce - v1.1 - 3/7/2010
- * http://benalman.com/projects/jquery-throttle-debounce-plugin/
- *
- * Copyright (c) 2010 "Cowboy" Ben Alman
- * Dual licensed under the MIT and GPL licenses.
- * http://benalman.com/about/license/
- */
-
-// Script: jQuery throttle / debounce: Sometimes, less is more!
-//
-// *Version: 1.1, Last updated: 3/7/2010*
-//
-// Project Home - http://benalman.com/projects/jquery-throttle-debounce-plugin/
-// GitHub - http://github.com/cowboy/jquery-throttle-debounce/
-// Source - http://github.com/cowboy/jquery-throttle-debounce/raw/master/jquery.ba-throttle-debounce.js
-// (Minified) - http://github.com/cowboy/jquery-throttle-debounce/raw/master/jquery.ba-throttle-debounce.min.js (0.7kb)
-//
-// About: License
-//
-// Copyright (c) 2010 "Cowboy" Ben Alman,
-// Dual licensed under the MIT and GPL licenses.
-// http://benalman.com/about/license/
-//
-// About: Examples
-//
-// These working examples, complete with fully commented code, illustrate a few
-// ways in which this plugin can be used.
-//
-// Throttle - http://benalman.com/code/projects/jquery-throttle-debounce/examples/throttle/
-// Debounce - http://benalman.com/code/projects/jquery-throttle-debounce/examples/debounce/
-//
-// About: Support and Testing
-//
-// Information about what version or versions of jQuery this plugin has been
-// tested with, what browsers it has been tested in, and where the unit tests
-// reside (so you can test it yourself).
-//
-// jQuery Versions - none, 1.3.2, 1.4.2
-// Browsers Tested - Internet Explorer 6-8, Firefox 2-3.6, Safari 3-4, Chrome 4-5, Opera 9.6-10.1.
-// Unit Tests - http://benalman.com/code/projects/jquery-throttle-debounce/unit/
-//
-// About: Release History
-//
-// 1.1 - (3/7/2010) Fixed a bug in <jQuery.throttle> where trailing callbacks
-// executed later than they should. Reworked a fair amount of internal
-// logic as well.
-// 1.0 - (3/6/2010) Initial release as a stand-alone project. Migrated over
-// from jquery-misc repo v0.4 to jquery-throttle repo v1.0, added the
-// no_trailing throttle parameter and debounce functionality.
-//
-// Topic: Note for non-jQuery users
-//
-// jQuery isn't actually required for this plugin, because nothing internal
-// uses any jQuery methods or properties. jQuery is just used as a namespace
-// under which these methods can exist.
-//
-// Since jQuery isn't actually required for this plugin, if jQuery doesn't exist
-// when this plugin is loaded, the method described below will be created in
-// the `Cowboy` namespace. Usage will be exactly the same, but instead of
-// $.method() or jQuery.method(), you'll need to use Cowboy.method().
-
-(function(window,undefined){
- '$:nomunge'; // Used by YUI compressor.
-
- // Since jQuery really isn't required for this plugin, use `jQuery` as the
- // namespace only if it already exists, otherwise use the `Cowboy` namespace,
- // creating it if necessary.
- var $ = window.jQuery || window.Cowboy || ( window.Cowboy = {} ),
-
- // Internal method reference.
- jq_throttle;
-
- // Method: jQuery.throttle
- //
- // Throttle execution of a function. Especially useful for rate limiting
- // execution of handlers on events like resize and scroll. If you want to
- // rate-limit execution of a function to a single time, see the
- // <jQuery.debounce> method.
- //
- // In this visualization, | is a throttled-function call and X is the actual
- // callback execution:
- //
- // > Throttled with `no_trailing` specified as false or unspecified:
- // > ||||||||||||||||||||||||| (pause) |||||||||||||||||||||||||
- // > X X X X X X X X X X X X
- // >
- // > Throttled with `no_trailing` specified as true:
- // > ||||||||||||||||||||||||| (pause) |||||||||||||||||||||||||
- // > X X X X X X X X X X
- //
- // Usage:
- //
- // > var throttled = jQuery.throttle( delay, [ no_trailing, ] callback );
- // >
- // > jQuery('selector').bind( 'someevent', throttled );
- // > jQuery('selector').unbind( 'someevent', throttled );
- //
- // This also works in jQuery 1.4+:
- //
- // > jQuery('selector').bind( 'someevent', jQuery.throttle( delay, [ no_trailing, ] callback ) );
- // > jQuery('selector').unbind( 'someevent', callback );
- //
- // Arguments:
- //
- // delay - (Number) A zero-or-greater delay in milliseconds. For event
- // callbacks, values around 100 or 250 (or even higher) are most useful.
- // no_trailing - (Boolean) Optional, defaults to false. If no_trailing is
- // true, callback will only execute every `delay` milliseconds while the
- // throttled-function is being called. If no_trailing is false or
- // unspecified, callback will be executed one final time after the last
- // throttled-function call. (After the throttled-function has not been
- // called for `delay` milliseconds, the internal counter is reset)
- // callback - (Function) A function to be executed after delay milliseconds.
- // The `this` context and all arguments are passed through, as-is, to
- // `callback` when the throttled-function is executed.
- //
- // Returns:
- //
- // (Function) A new, throttled, function.
-
- $.throttle = jq_throttle = function( delay, no_trailing, callback, debounce_mode ) {
- // After wrapper has stopped being called, this timeout ensures that
- // `callback` is executed at the proper times in `throttle` and `end`
- // debounce modes.
- var timeout_id,
-
- // Keep track of the last time `callback` was executed.
- last_exec = 0;
-
- // `no_trailing` defaults to falsy.
- if ( typeof no_trailing !== 'boolean' ) {
- debounce_mode = callback;
- callback = no_trailing;
- no_trailing = undefined;
- }
-
- // The `wrapper` function encapsulates all of the throttling / debouncing
- // functionality and when executed will limit the rate at which `callback`
- // is executed.
- function wrapper() {
- var that = this,
- elapsed = +new Date() - last_exec,
- args = arguments;
-
- // Execute `callback` and update the `last_exec` timestamp.
- function exec() {
- last_exec = +new Date();
- callback.apply( that, args );
- };
-
- // If `debounce_mode` is true (at_begin) this is used to clear the flag
- // to allow future `callback` executions.
- function clear() {
- timeout_id = undefined;
- };
-
- if ( debounce_mode && !timeout_id ) {
- // Since `wrapper` is being called for the first time and
- // `debounce_mode` is true (at_begin), execute `callback`.
- exec();
- }
-
- // Clear any existing timeout.
- timeout_id && clearTimeout( timeout_id );
-
- if ( debounce_mode === undefined && elapsed > delay ) {
- // In throttle mode, if `delay` time has been exceeded, execute
- // `callback`.
- exec();
-
- } else if ( no_trailing !== true ) {
- // In trailing throttle mode, since `delay` time has not been
- // exceeded, schedule `callback` to execute `delay` ms after most
- // recent execution.
- //
- // If `debounce_mode` is true (at_begin), schedule `clear` to execute
- // after `delay` ms.
- //
- // If `debounce_mode` is false (at end), schedule `callback` to
- // execute after `delay` ms.
- timeout_id = setTimeout( debounce_mode ? clear : exec, debounce_mode === undefined ? delay - elapsed : delay );
- }
- };
-
- // Set the guid of `wrapper` function to the same of original callback, so
- // it can be removed in jQuery 1.4+ .unbind or .die by using the original
- // callback as a reference.
- if ( $.guid ) {
- wrapper.guid = callback.guid = callback.guid || $.guid++;
- }
-
- // Return the wrapper function.
- return wrapper;
- };
-
- // Method: jQuery.debounce
- //
- // Debounce execution of a function. Debouncing, unlike throttling,
- // guarantees that a function is only executed a single time, either at the
- // very beginning of a series of calls, or at the very end. If you want to
- // simply rate-limit execution of a function, see the <jQuery.throttle>
- // method.
- //
- // In this visualization, | is a debounced-function call and X is the actual
- // callback execution:
- //
- // > Debounced with `at_begin` specified as false or unspecified:
- // > ||||||||||||||||||||||||| (pause) |||||||||||||||||||||||||
- // > X X
- // >
- // > Debounced with `at_begin` specified as true:
- // > ||||||||||||||||||||||||| (pause) |||||||||||||||||||||||||
- // > X X
- //
- // Usage:
- //
- // > var debounced = jQuery.debounce( delay, [ at_begin, ] callback );
- // >
- // > jQuery('selector').bind( 'someevent', debounced );
- // > jQuery('selector').unbind( 'someevent', debounced );
- //
- // This also works in jQuery 1.4+:
- //
- // > jQuery('selector').bind( 'someevent', jQuery.debounce( delay, [ at_begin, ] callback ) );
- // > jQuery('selector').unbind( 'someevent', callback );
- //
- // Arguments:
- //
- // delay - (Number) A zero-or-greater delay in milliseconds. For event
- // callbacks, values around 100 or 250 (or even higher) are most useful.
- // at_begin - (Boolean) Optional, defaults to false. If at_begin is false or
- // unspecified, callback will only be executed `delay` milliseconds after
- // the last debounced-function call. If at_begin is true, callback will be
- // executed only at the first debounced-function call. (After the
- // throttled-function has not been called for `delay` milliseconds, the
- // internal counter is reset)
- // callback - (Function) A function to be executed after delay milliseconds.
- // The `this` context and all arguments are passed through, as-is, to
- // `callback` when the debounced-function is executed.
- //
- // Returns:
- //
- // (Function) A new, debounced, function.
-
- $.debounce = function( delay, at_begin, callback ) {
- return callback === undefined
- ? jq_throttle( delay, at_begin, false )
- : jq_throttle( delay, callback, at_begin !== false );
- };
-
-})(this);