This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /** | |
| * watch(element, attribute, handler) | |
| * - element (Element): Element whose attribute should be watched for changes. | |
| * - attribute (String): Attribute to watch. | |
| * - handler (Function): Function to execute when the attribute changes. | |
| * | |
| * `watch` allows DOM Nodes to have their attributes watched for changes. | |
| * Internally, this function uses the most efficient mean possible to watch for | |
| * the change (more in the **Configuring** section). | |
| * |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| var createClass = (function () { | |
| 'use strict'; | |
| // Basic no-operation function | |
| var noop = function () { | |
| return; | |
| }, | |
| // Tests to see whether or not regular expressions can be called on |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| var dom = { | |
| toArray: function (nodes) { | |
| var array = []; | |
| if (nodes) { | |
| array = typeof nodes.length === 'number' ? | |
| Array.prototype.slice.call(nodes) : |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /** | |
| * Creates a string of an element, showing the node name and all attributes. | |
| * This is mainly useful for debugging in Internet Explorer where a DOM node | |
| * representation isn't shown in the console. | |
| * | |
| * @param {Element} elem Element to stringify. | |
| * @return {string} String representation of the element. | |
| */ | |
| function stringifyElem(elem) { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /** | |
| * Add a handler to check if a class changes on a given element. | |
| * The handler will get two arguments: the new class and the old class. | |
| * | |
| * @param {Element} element Element whos class changes should be watched. | |
| * @param {Function} func Function to call when the class changes. | |
| */ | |
| var onclasschange = (function () { | |
| 'use strict'; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /*globals $, document */ | |
| /** | |
| * A simple shim for the placeholder attribute. | |
| */ | |
| if (typeof (document.createElement('input')).placeholder !== 'string') { | |
| $(function () { | |
| 'use strict'; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| function forin(obj, fn) { | |
| var prop = ''; | |
| for (prop in obj) { | |
| if (Object.prototype.hasOwnProperty.call(obj, prop)) { | |
| fn.call(null, obj[prop], prop, obj); | |
| } | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* | |
| General notes: | |
| Curly braces around the types seem to be optional. "{number}" works the same as | |
| "number". | |
| */ | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /** | |
| * Extends one object with another. The object in the first argument is | |
| * modified. | |
| * | |
| * @param {Object} source Source object to extend. | |
| * @param {Object} extra Additional properties to add to the source object. | |
| * @return {Object} Modified source object. | |
| */ | |
| function extendObject(source, extra) { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // Detects whether or not a given CSS selector is supported by the current | |
| // browser. | |
| // | |
| // Takes: | |
| // selector (String) The CSS selector to test. | |
| // Returns: | |
| // (Boolean) true if the selector is supported, false | |
| // otherwise. | |
| var supportsSelector = (function () { | |