You can subscribe to this list here.
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(2) |
---|
From: <tw...@us...> - 2009-12-27 02:09:52
|
Revision: 3 http://mootoolsdocgen.svn.sourceforge.net/mootoolsdocgen/?rev=3&view=rev Author: twigboy Date: 2009-12-27 02:09:43 +0000 (Sun, 27 Dec 2009) Log Message: ----------- [project] - forgot to commit deletion of input/Source/scripts.json Removed Paths: ------------- input/Source/scripts.json Deleted: input/Source/scripts.json =================================================================== --- input/Source/scripts.json 2009-12-27 02:06:55 UTC (rev 2) +++ input/Source/scripts.json 2009-12-27 02:09:43 UTC (rev 3) @@ -1,553 +0,0 @@ -{ - - "Core": { - - "Core": { - "deps": ["Core"], - "desc": "The core of MooTools, contains all the base functions and the Native and Hash implementations. Required by all the other scripts." - }, - - "Browser": { - "deps": ["Core"], - "desc": "The Browser Core. Contains Browser initialization, Window and Document, and the Browser Hash." - }, - - "More": { - "deps": ["Core"], - "desc": "Defines MooTools.More.version." - }, - - "Lang": { - "deps": ["More", "Class.Extras"], - "desc": "Enables classes to contain text that can be localized to specific languages." - }, - - "Log": { - "deps": ["Class"], - "desc": "A default logger for MooTools. Logs to Firebug or a similar console unless it is not present." - } - - }, - - "Native": { - - "Array": { - "deps": ["Core"], - "desc": "Contains Array Prototypes like each, contains, and erase." - }, - - "Function": { - "deps": ["Core"], - "desc": "Contains Function Prototypes like create, bind, pass, and delay." - }, - - "Number": { - "deps": ["Core"], - "desc": "Contains Number Prototypes like limit, round, times, and ceil." - }, - - "String": { - "deps": ["Core"], - "desc": "Contains String Prototypes like camelCase, capitalize, test, and toInt." - }, - - "Hash": { - "deps": ["Core"], - "desc": "Contains Hash Prototypes. Provides a means for overcoming the JavaScript practical impossibility of extending native Objects." - }, - - "Event": { - "deps": ["Browser", "Array", "Function", "Number", "String", "Hash"], - "desc": "Contains the Event Class, to make the event object Crossbrowser." - }, - - "Array.Extras": { - "deps": ["More", "Core", "Array"], - "desc": "Extends the Array native object to include useful methods to work with arrays." - }, - - "Date": { - "deps": ["More", "Core", "String", "Number", "Array", "Lang", "Date.English.US"], - "desc": "Extends the Date native object to include methods useful in managing dates." - }, - - "Date.Extras": { - "deps": ["More", "Date"], - "desc": "Extends the Date native object to include extra methods (on top of those in Date.js)." - }, - - "Hash.Extras": { - "deps": ["More", "Core"], - "desc": "Extends the Hash native object to include getFromPath which allows a path notation to child elements." - }, - - "String.Extras": { - "deps": ["More", "String", "Array", "Hash.Extras"], - "desc": "Extends the String native object to include methods useful in managing strings (query strings, urls, etc)." - }, - - "String.QueryString": { - "deps": ["More", "String", "Array"], - "desc": "..." - }, - - "URI": { - "deps": ["More", "Function", "Array", "Hash", "Class.Refactor"], - "desc": "Provides methods useful in managing the window location and uris." - }, - - "URI.Relative": { - "deps": ["URI"], - "desc": "Extends the URI class to add methods for computing relative and absolute urls." - } - - }, - - "Class": { - - "Class": { - "deps": ["Core", "Array", "String", "Function", "Number", "Hash"], - "desc": "Contains the Class Function for easily creating, extending, and implementing reusable Classes." - }, - - "Class.Extras": { - "deps": ["Class"], - "desc": "Contains Utility Classes that can be implemented into your own Classes to ease the execution of many common tasks." - }, - - "Class.Refactor": { - "deps": ["More", "Class"], - "desc": "Allows for a class to extend itself without damaging it's namespace." - }, - - "Class.Binds": { - "deps": ["More", "Class"], - "desc": "Adds the Binds Mutator to all classes." - }, - - "Class.Occlude": { - "deps": ["More", "Class", "Element"], - "desc": "Mixin class for preventing a class from applying itself to the same element twice." - }, - - "Chain.Wait": { - "deps": ["More", "Class.Extras"], - "desc": "Adds a delay method for chaining that allows you to easily introduce pauses." - } - - }, - - "Element": { - - "Element": { - "deps": ["Browser", "Array", "String", "Function", "Number", "Hash"], - "desc": "One of the most important items in MooTools. Contains the dollar function, the dollars function, and an handful of cross-browser, time-saver methods to let you easily work with HTML Elements." - }, - - "Element.Event": { - "deps": ["Element", "Event"], - "desc": "Contains Element methods for dealing with events. This file also includes mouseenter and mouseleave custom Element Events." - }, - - "Element.Style": { - "deps": ["Element"], - "desc": "Contains methods for interacting with the styles of Elements in a fashionable way." - }, - - "Element.Dimensions": { - "deps": ["Element"], - "desc": "Contains methods to work with size, scroll, or positioning of Elements and the window object." - }, - - "Element.Forms": { - "deps": ["More", "Element"], - "desc": "Extends the Element native object to include methods useful in managing inputs." - }, - - "Element.Measure": { - "deps": ["More", "Element.Style"], - "desc": "Extends the Element native object to include methods useful in measuring dimensions." - }, - - "Element.Pin": { - "deps": ["More", "Element.Event", "Element.Dimensions", "Element.Style"], - "desc": "Extends the Element native object to include the pin method useful for fixed positioning for elements." - }, - - "Element.Position": { - "deps": ["More", "Element.Dimensions", "Element.Measure"], - "desc": "Extends the Element native object to include methods useful positioning elements relative to others." - }, - - "Element.Shortcuts": { - "deps": ["More", "Element.Style"], - "desc": "Extends the Element native object to include some shortcut methods." - } - - }, - - - "Utilities": { - - "Selectors": { - "deps": ["Element"], - "desc": "Adds advanced CSS-style querying capabilities for targeting HTML Elements. Includes pseudo selectors." - }, - - "DomReady": { - "deps": ["Element.Event"], - "desc": "Contains the custom event domready." - }, - - "JSON": { - "deps": ["Array", "String", "Function", "Number", "Hash"], - "desc": "JSON encoder and decoder." - }, - - "Cookie": { - "deps": ["Browser", "Class", "Class.Extras"], - "desc": "Class for creating, reading, and deleting browser Cookies." - }, - - "Swiff": { - "deps": ["Class.Extras"], - "desc": "Wrapper for embedding SWF movies. Supports External Interface Communication." - }, - - "Assets": { - "deps": ["More", "Element.Event"], - "desc": "Provides methods to dynamically load JavaScript, CSS, and Image files into the document." - }, - - "Color": { - "deps": ["More", "Core", "Array", "String", "Function", "Number", "Hash"], - "desc": "Class for creating and manipulating colors in JavaScript. Supports HSB -> RGB Conversions and vice versa." - }, - - "Group": { - "deps": ["More", "Class.Extras"], - "desc": "Class for monitoring collections of events." - }, - - "Hash.Cookie": { - "deps": ["More", "Class.Extras", "Cookie", "JSON"], - "desc": "Class for creating, reading, and deleting browser Cookies in JSON format." - }, - - "IframeShim": { - "deps": ["More", "Element.Position", "Element.Event", "Element.Style", "Class.Extras", "Class.Occlude"], - "desc": "Creates a transparent iframe to mask out items not drawn by the browser (flash, select lists, etc) for IE6." - } - - }, - - "Fx": { - - "Fx": { - "deps": ["Class.Extras"], - "desc": "Contains the basic animation logic to be extended by all other Fx Classes." - }, - - "Fx.CSS": { - "deps": ["Fx", "Element.Style"], - "desc": "Contains the CSS animation logic. Used by Fx.Tween, Fx.Morph, Fx.Elements." - }, - - "Fx.Tween": { - "deps": ["Fx.CSS"], - "desc": "Formerly Fx.Style, effect to transition any CSS property for an element." - }, - - "Fx.Morph": { - "deps": ["Fx.CSS"], - "desc": "Formerly Fx.Styles, effect to transition any number of CSS properties for an element using an object of rules, or CSS based selector rules." - }, - - "Fx.Transitions": { - "deps": ["Fx"], - "desc": "Contains a set of advanced transitions to be used with any of the Fx Classes." - }, - - "Fx.Elements": { - "deps": ["More", "Fx.CSS"], - "desc": "Effect to change any number of CSS properties of any number of Elements." - }, - - "Fx.Accordion": { - "deps": ["More", "Fx.Elements", "Element.Event"], - "desc": "An Fx.Elements extension which allows you to easily create accordion type controls." - }, - - "Fx.Move": { - "deps": ["More", "Fx.Morph", "Element.Position"], - "desc": "Moves an element to another location (relative to another element) with a transition." - }, - - "Fx.Reveal": { - "deps": ["More", "Fx.Morph", "Element.Shortcuts", "Element.Measure"], - "desc": "Executes a transition from display:block to display:none and vice versa." - }, - - "Fx.Scroll": { - "deps": ["More", "Fx", "Element.Event", "Element.Dimensions"], - "desc": "Effect to smoothly scroll any element, including the window." - }, - - "Fx.Slide": { - "deps": ["More", "Fx", "Element.Style"], - "desc": "Effect to slide an element in and out of view." - }, - - "Fx.SmoothScroll": { - "deps": ["More", "Fx.Scroll", "Selectors"], - "desc": "Class for creating a smooth scrolling effect to all internal links on the page." - }, - - "Fx.Sort": { - "deps": ["More", "Fx.Elements", "Element.Dimensions", "Element.Measure"], - "desc": "Reorders a group of items with a transition." - } - - }, - - "Request": { - - "Request": { - "deps": ["Class.Extras", "Element"], - "desc": "Powerful all purpose Request Class. Uses XMLHTTPRequest." - }, - - "Request.HTML": { - "deps": ["Request", "Element"], - "desc": "Extends the basic Request Class with additional methods for interacting with HTML responses." - }, - - "Request.JSON": { - "deps": ["Request", "JSON"], - "desc": "Extends the basic Request Class with additional methods for sending and receiving JSON data." - }, - - "Request.JSONP": { - "deps": ["More", "Log", "Browser", "Element", "Request", "Class.Extras"], - "desc": "Creates a Json request using a script tag include and handles the callbacks for you." - }, - - "Request.Queue": { - "deps": ["More", "Request"], - "desc": "Manages a group of Request instances so that connections are queued." - }, - - "Request.Periodical": { - "deps": ["More", "Request", "Class.Refactor"], - "desc": "Requests the same url at a time interval that increases when no data is returned from the requested server." - } - - }, - - "Forms": { - - "FormValidator": { - "deps": ["More", "Lang", "Class.Extras", "Class.Binds", "Selectors", "Element.Event", "Element.Style", "JSON", "Date", "Element.Forms", "FormValidator.English"], - "desc": "A css-class based form validation system." - }, - - "FormValidator.Inline": { - "deps": ["More", "FormValidator"], - "desc": "A css-class based form validation system." - }, - - "FormValidator.Extras": { - "deps": ["More", "FormValidator"], - "desc": "Additional validators for FormValidator." - }, - - "OverText": { - "deps": ["More", "Class.Extras", "Element.Event", "Class.Binds", "Class.Occlude", "Element.Position", "Element.Shortcuts"], - "desc": "Displays text over empty inputs until the user focuses the input or adds information." - } - - }, - - "Drag": { - - "Drag": { - "deps": ["More", "Class.Extras", "Element.Event", "Element.Style"], - "desc": "The base Drag Class. Can be used to drag and resize Elements using mouse events." - }, - - "Drag.Move": { - "deps": ["More", "Drag", "Element.Dimensions"], - "desc": "A Drag extension that provides support for the constraining of draggables to containers and droppables." - }, - - "Slider": { - "deps": ["More", "Class.Binds", "Drag", "Element.Dimensions"], - "desc": "Class for creating horizontal and vertical slider controls." - }, - - "Sortables": { - "deps": ["More", "Drag.Move"], - "desc": "Class for creating a drag and drop sorting interface for lists of items." - } - - }, - - "Interface": { - - "Scroller": { - "deps": ["More", "Class.Extras", "Element.Event", "Element.Dimensions"], - "desc": "Class which scrolls the contents of any Element (including the window) when the mouse reaches the Element's boundaries." - }, - - "Tips": { - "deps": ["More", "Class.Extras", "Element.Event", "Element.Style", "Element.Dimensions"], - "desc": "Class for creating nice tooltips that follow the mouse cursor when hovering over an element." - } - - }, - - "Localization":{ - - "Date.English.US": { - "deps": ["More", "Lang"], - "desc": "Date messages in English (with conventions for the US)." - }, - - "FormValidator.English": { - "deps": ["More", "Lang"], - "desc": "FormValidator messages in English." - }, - - "Date.Catalan": { - "deps": ["Lang"], - "desc": "Date messages in Catalan." - }, - - "Date.Danish": { - "deps": ["Lang"], - "desc": "Date messages in Danish." - }, - - "Date.Dutch": { - "deps": ["Lang"], - "desc": "Date messages in Dutch." - }, - - "Date.English.GB": { - "deps": ["Lang"], - "desc": "Date messages in English (with conventions for Great Britain)." - }, - - "Date.Estonian": { - "deps": ["Lang"], - "desc": "Date messages in Estonian." - }, - - "Date.French": { - "deps": ["Lang"], - "desc": "Date messages in French." - }, - - "Date.Italian": { - "deps": ["Lang"], - "desc": "Date messages in Italian." - }, - - "Date.Norwegian": { - "deps": ["Lang"], - "desc": "Date messages in Norwegian." - }, - - "Date.Polish": { - "deps": ["Lang"], - "desc": "Date messages in Polish." - }, - - "Date.Portuguese.BR": { - "deps": ["Lang"], - "desc": "Date messages in Portuguese for Brazil." - }, - - "Date.Spanish": { - "deps": ["Lang"], - "desc": "Date messages in Spanish." - }, - - "Date.Swedish": { - "deps": ["Lang"], - "desc": "Date messages in Swedish." - }, - - "FormValidator.Arabic": { - "deps": ["Lang"], - "desc": "FormValidator messages in Arabic." - }, - - "FormValidator.Catalan": { - "deps": ["Lang"], - "desc": "FormValidator messages in Catalan." - }, - - "FormValidator.Chinese": { - "deps": ["Lang"], - "desc": "FormValidator messages in Chinese." - }, - - "FormValidator.Dutch": { - "deps": ["Lang"], - "desc": "FormValidator messages in Dutch." - }, - - "FormValidator.Estonian": { - "deps": ["Lang"], - "desc": "FormValidator messages in Estonian." - }, - - "FormValidator.French": { - "deps": ["Lang"], - "desc": "FormValidator messages in French." - }, - - "FormValidator.Italian": { - "deps": ["Lang"], - "desc": "FormValidator messages in Italian." - }, - - "FormValidator.Norwegian": { - "deps": ["Lang"], - "desc": "FormValidator messages in Norwegian." - }, - - "FormValidator.Polish": { - "deps": ["Lang"], - "desc": "FormValidator messages in Polish." - }, - - "FormValidator.Portuguese": { - "deps": ["Lang"], - "desc": "FormValidator messages in Portuguese." - }, - - "FormValidator.Portuguese.BR": { - "deps": ["Lang"], - "desc": "FormValidator messages in Portuguese localized for Brazil." - }, - - "FormValidator.Russian": { - "deps": ["Lang"], - "desc": "FormValidator messages in Russian." - }, - - "FormValidator.Spanish": { - "deps": ["Lang"], - "desc": "FormValidator messages in Spanish." - }, - - "FormValidator.Swedish": { - "deps": ["Lang"], - "desc": "FormValidator messages in Swedish." - } - - } - -} \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tw...@us...> - 2009-12-27 02:07:06
|
Revision: 2 http://mootoolsdocgen.svn.sourceforge.net/mootoolsdocgen/?rev=2&view=rev Author: twigboy Date: 2009-12-27 02:06:55 +0000 (Sun, 27 Dec 2009) Log Message: ----------- [project] - added some basic usage tips in generate.php - added input/Scripts/ folder for placing scripts.json files (got sick of copy pasting stuff) - now displays an error message if it fails to parse the scripts.json file - updated to v1.2.4 - deleted input/Source/scripts.json - added output/index.html - updated README.txt [header.inc] - added link to Forge in header Modified Paths: -------------- generate.php inc/header.inc input/Docs/Class/Class.Occlude.md input/Docs/Class/Class.md input/Docs/Core/Core.md input/Docs/Core/Log.md input/Docs/Drag/Drag.md input/Docs/Drag/Slider.md input/Docs/Drag/Sortables.md input/Docs/Element/Element.Dimensions.md input/Docs/Element/Element.Position.md input/Docs/Element/Element.Shortcuts.md input/Docs/Element/Element.md input/Docs/Forms/OverText.md input/Docs/Fx/Fx.Accordion.md input/Docs/Fx/Fx.Reveal.md input/Docs/Fx/Fx.Slide.md input/Docs/Fx/Fx.SmoothScroll.md input/Docs/Interface/Tips.md input/Docs/Localization/Date.Catalan.md input/Docs/Localization/Date.Danish.md input/Docs/Localization/Date.Dutch.md input/Docs/Localization/Date.English.GB.md input/Docs/Localization/Date.English.US.md input/Docs/Localization/Date.Estonian.md input/Docs/Localization/Date.French.md input/Docs/Localization/Date.German.CH.md input/Docs/Localization/Date.German.md input/Docs/Localization/Date.Italian.md input/Docs/Localization/Date.Norwegian.md input/Docs/Localization/Date.Polish.md input/Docs/Localization/Date.Portuguese.BR.md input/Docs/Localization/Date.Spanish.md input/Docs/Localization/Date.Swedish.md input/Docs/Native/Date.Extras.md input/Docs/Native/Date.md input/Docs/Native/Function.md input/Docs/Native/String.Extras.md input/Docs/Native/URI.md input/Docs/Request/Request.HTML.md input/Docs/Request/Request.JSONP.md input/Docs/Request/Request.Periodical.md input/Docs/Request/Request.Queue.md input/Docs/Request/Request.md input/Docs/Utilities/Assets.md input/Docs/Utilities/IframeShim.md input/Docs/Utilities/Selectors.md output/README.txt Added Paths: ----------- input/Docs/Core/Depender.md input/Docs/Element/Element.Delegation.md input/Docs/Element/Elements.From.md input/Docs/Forms/Form.Request.Append.md input/Docs/Forms/Form.Request.md input/Docs/Forms/Form.Validator.Extras.md input/Docs/Forms/Form.Validator.Inline.md input/Docs/Forms/Form.Validator.md input/Docs/Interface/HtmlTable.Select.md input/Docs/Interface/HtmlTable.Sort.md input/Docs/Interface/HtmlTable.Zebra.md input/Docs/Interface/HtmlTable.md input/Docs/Interface/Keyboard.md input/Docs/Interface/Mask.md input/Docs/Interface/Spinner.md input/Docs/Localization/Date.Ukrainian.md input/Docs/Localization/Form.Validator.Arabic.md input/Docs/Localization/Form.Validator.Catalan.md input/Docs/Localization/Form.Validator.Chinese.md input/Docs/Localization/Form.Validator.Danish.md input/Docs/Localization/Form.Validator.Dutch.md input/Docs/Localization/Form.Validator.English.md input/Docs/Localization/Form.Validator.Estonian.md input/Docs/Localization/Form.Validator.French.md input/Docs/Localization/Form.Validator.German.CH.md input/Docs/Localization/Form.Validator.German.md input/Docs/Localization/Form.Validator.Italian.md input/Docs/Localization/Form.Validator.Norwegian.md input/Docs/Localization/Form.Validator.Polish.md input/Docs/Localization/Form.Validator.Portuguese.BR.md input/Docs/Localization/Form.Validator.Portuguese.md input/Docs/Localization/Form.Validator.Russian.md input/Docs/Localization/Form.Validator.Spanish.md input/Docs/Localization/Form.Validator.Swedish.md input/Docs/Localization/Form.Validator.Ukrainian.md input/Docs/Localization/FormValidator.Protuguese.BR.md input/Scripts/ input/Scripts/Core/ input/Scripts/Core/scripts.json input/Scripts/Lang/ input/Scripts/Lang/scripts.json input/Scripts/More/ input/Scripts/More/scripts.json input/Source/Class/ input/Source/Class/Chain.Wait.js input/Source/Class/Class.Binds.js input/Source/Class/Class.Extras.js input/Source/Class/Class.Occlude.js input/Source/Class/Class.Refactor.js input/Source/Class/Class.js input/Source/Core/ input/Source/Core/Browser.js input/Source/Core/Core.js input/Source/Core/Depender.js input/Source/Core/Lang.js input/Source/Core/Log.js input/Source/Core/More.js input/Source/Drag/ input/Source/Drag/Drag.Move.js input/Source/Drag/Drag.js input/Source/Drag/Slider.js input/Source/Drag/Sortables.js input/Source/Element/ input/Source/Element/Element.Delegation.js input/Source/Element/Element.Dimensions.js input/Source/Element/Element.Event.js input/Source/Element/Element.Forms.js input/Source/Element/Element.Measure.js input/Source/Element/Element.Pin.js input/Source/Element/Element.Position.js input/Source/Element/Element.Shortcuts.js input/Source/Element/Element.Style.js input/Source/Element/Element.js input/Source/Element/Elements.From.js input/Source/Forms/ input/Source/Forms/Form.Request.Append.js input/Source/Forms/Form.Request.js input/Source/Forms/Form.Validator.Extras.js input/Source/Forms/Form.Validator.Inline.js input/Source/Forms/Form.Validator.js input/Source/Forms/FormValidator.Extras.js input/Source/Forms/FormValidator.Inline.js input/Source/Forms/FormValidator.js input/Source/Forms/OverText.js input/Source/Fx/ input/Source/Fx/Fx.Accordion.js input/Source/Fx/Fx.CSS.js input/Source/Fx/Fx.Elements.js input/Source/Fx/Fx.Morph.js input/Source/Fx/Fx.Move.js input/Source/Fx/Fx.Reveal.js input/Source/Fx/Fx.Scroll.js input/Source/Fx/Fx.Slide.js input/Source/Fx/Fx.SmoothScroll.js input/Source/Fx/Fx.Sort.js input/Source/Fx/Fx.Transitions.js input/Source/Fx/Fx.Tween.js input/Source/Fx/Fx.js input/Source/Interface/ input/Source/Interface/HtmlTable.Select.js input/Source/Interface/HtmlTable.Sort.js input/Source/Interface/HtmlTable.Zebra.js input/Source/Interface/HtmlTable.js input/Source/Interface/Keyboard.js input/Source/Interface/Mask.js input/Source/Interface/Scroller.js input/Source/Interface/Spinner.js input/Source/Interface/Tips.js input/Source/Localization/ input/Source/Localization/Date.Catalan.js input/Source/Localization/Date.Czech.js input/Source/Localization/Date.Danish.js input/Source/Localization/Date.Dutch.js input/Source/Localization/Date.English.GB.js input/Source/Localization/Date.English.US.js input/Source/Localization/Date.Estonian.js input/Source/Localization/Date.French.js input/Source/Localization/Date.German.CH.js input/Source/Localization/Date.German.js input/Source/Localization/Date.Italian.js input/Source/Localization/Date.Norwegian.js input/Source/Localization/Date.Polish.js input/Source/Localization/Date.Portuguese.BR.js input/Source/Localization/Date.Russian.js input/Source/Localization/Date.Spanish.js input/Source/Localization/Date.Swedish.js input/Source/Localization/Date.Ukrainian.js input/Source/Localization/Form.Validator.Arabic.js input/Source/Localization/Form.Validator.Catalan.js input/Source/Localization/Form.Validator.Chinese.js input/Source/Localization/Form.Validator.Czech.js input/Source/Localization/Form.Validator.Danish.js input/Source/Localization/Form.Validator.Dutch.js input/Source/Localization/Form.Validator.English.js input/Source/Localization/Form.Validator.Estonian.js input/Source/Localization/Form.Validator.French.js input/Source/Localization/Form.Validator.German.CH.js input/Source/Localization/Form.Validator.German.js input/Source/Localization/Form.Validator.Italian.js input/Source/Localization/Form.Validator.Norwegian.js input/Source/Localization/Form.Validator.Polish.js input/Source/Localization/Form.Validator.Portuguese.BR.js input/Source/Localization/Form.Validator.Portuguese.js input/Source/Localization/Form.Validator.Russian.js input/Source/Localization/Form.Validator.Spanish.js input/Source/Localization/Form.Validator.Swedish.js input/Source/Localization/Form.Validator.Ukrainian.js input/Source/Localization/FormValidator.Arabic.js input/Source/Localization/FormValidator.Catalan.js input/Source/Localization/FormValidator.Chinese.js input/Source/Localization/FormValidator.Danish.js input/Source/Localization/FormValidator.Dutch.js input/Source/Localization/FormValidator.English.js input/Source/Localization/FormValidator.Estonian.js input/Source/Localization/FormValidator.French.js input/Source/Localization/FormValidator.German.CH.js input/Source/Localization/FormValidator.German.js input/Source/Localization/FormValidator.Italian.js input/Source/Localization/FormValidator.Norwegian.js input/Source/Localization/FormValidator.Polish.js input/Source/Localization/FormValidator.Portuguese.BR.js input/Source/Localization/FormValidator.Portuguese.js input/Source/Localization/FormValidator.Protuguese.BR.js input/Source/Localization/FormValidator.Russian.js input/Source/Localization/FormValidator.Spanish.js input/Source/Localization/FormValidator.Swedish.js input/Source/Native/ input/Source/Native/Array.Extras.js input/Source/Native/Array.js input/Source/Native/Date.Extras.js input/Source/Native/Date.js input/Source/Native/Event.js input/Source/Native/Function.js input/Source/Native/Hash.Extras.js input/Source/Native/Hash.js input/Source/Native/Number.js input/Source/Native/String.Extras.js input/Source/Native/String.QueryString.js input/Source/Native/String.js input/Source/Native/URI.Relative.js input/Source/Native/URI.js input/Source/Request/ input/Source/Request/Request.HTML.js input/Source/Request/Request.JSON.js input/Source/Request/Request.JSONP.js input/Source/Request/Request.Periodical.js input/Source/Request/Request.Queue.js input/Source/Request/Request.js input/Source/Utilities/ input/Source/Utilities/Assets.js input/Source/Utilities/Color.js input/Source/Utilities/Cookie.js input/Source/Utilities/DomReady.js input/Source/Utilities/Group.js input/Source/Utilities/Hash.Cookie.js input/Source/Utilities/IframeShim.js input/Source/Utilities/JSON.js input/Source/Utilities/Selectors.js input/Source/Utilities/Swiff.js output/index.html Property Changed: ---------------- / Property changes on: ___________________________________________________________________ Modified: svn:ignore - .settings .project .buildpath + .settings .project .buildpath mootools_src Modified: generate.php =================================================================== --- generate.php 2009-07-05 06:47:31 UTC (rev 1) +++ generate.php 2009-12-27 02:06:55 UTC (rev 2) @@ -5,6 +5,25 @@ // The output folder $output_path = './output/'; +/* + * How to use this script + * ---------------------- + * + * Download the source files from + * - http://github.com/mootools/mootools-core + * - http://github.com/mootools/mootools-more + * - http://github.com/mootools/mootools-lang + * + * Copy the contents of [mootools-archive]/Source/scripts.json to the appropriate subfolder + * in $input_path/Scripts/[mootools-archive]/scripts.json + * + * Now copy all + * - [mootools-archive]/Docs/ folders to $input_path/Docs + * - [mootools-archive]/Source/ folders to $input_path/Source + * + * These files are automatically parsed when this script is run. + */ + // includes include_once('libs/markdown.php'); include_once('libs/geshi/geshi.php'); @@ -26,9 +45,20 @@ return $doc->find('pre'); } -// import -$json = json_decode(File::read($input_path . 'Source/scripts.json'), true); +// Iterate through the JSON files +$json = array(); +foreach (glob($input_path . "Scripts/*/*.json") as $filename) { + $js = json_decode(file_get_contents($filename), true); + + if (!$js) { + echo "Invalid JSON input at: $filename"; + exit(); + } + + $json = array_merge_recursive($json, $js); +} + // Build the navigation menu $navigation_html = ''; Modified: inc/header.inc =================================================================== --- inc/header.inc 2009-07-05 06:47:31 UTC (rev 1) +++ inc/header.inc 2009-12-27 02:06:55 UTC (rev 2) @@ -9,6 +9,7 @@ <a href="http://mootools.net/" class="first">Home</a> <a href="http://mootools.net/download">Download</a> <a href="/">Docs</a> + <a href="http://mootools.net/forge">Forge</a> <a href="http://mootools.net/blog">Blog</a> <a href="http://demos.mootools.net">Demos</a> </div> Modified: input/Docs/Class/Class.Occlude.md =================================================================== --- input/Docs/Class/Class.Occlude.md 2009-07-05 06:47:31 UTC (rev 1) +++ input/Docs/Class/Class.Occlude.md 2009-12-27 02:06:55 UTC (rev 2) @@ -50,14 +50,11 @@ this.element = $(element); if (this.occlude()) return this.occluded; //returns the instance already bound to the element and exits - }, - toElement: function(){ - return this.element; } }); ### Note -In the example above, because we have a *toElement* method and because we define the *property* property in the class, the method *occlude* doesn't require any arguments as it uses these by default. +In the example above, because we have a *this.element* property and because we define the *this.property* property in the class, the method *occlude* doesn't require any arguments as it uses these by default. [Element.Storage]: http://mootools.net/docs/core/Element/Element#Element:store \ No newline at end of file Modified: input/Docs/Class/Class.md =================================================================== --- input/Docs/Class/Class.md 2009-07-05 06:47:31 UTC (rev 1) +++ input/Docs/Class/Class.md 2009-12-27 02:06:55 UTC (rev 2) @@ -12,13 +12,15 @@ ### Arguments: -1. properties - (*object*) The collection of properties that apply to the Class. Also accepts some special properties such as Extends, Implements, and initialize (see below). +1. properties - Can be one of the following types: + * (*object*) The collection of properties that apply to the Class. Also accepts some special properties such as Extends, Implements, and initialize (see below). + * (*function*) The initialize function (see below). #### Property: Extends * (*class*) The Class that this class will extend. -The methods of This Class that have the same name as the Extends Class, will have a parent property, that allows you to call the other overridden method. +The methods of this Class that have the same name as the Extends Class, will have a parent property, that allows you to call the other overridden method. The Extends property should be the first. #### Property: Implements @@ -26,8 +28,8 @@ * (*class*) The properties of a passed Class will be copied into the target Class. * (*array*) An array of objects or Classes, the properties of which will be copied into this Class. -Implements is similar to Extends, except that it overrides properties without inheritance. -Useful when implementing a default set of properties in multiple Classes. +Implements is similar to Extends, except that it adopts properties from one or more other classes without inheritance. +Useful when implementing a default set of properties in multiple Classes. The Implements property should come after Extends but before all other properties. #### Property: initialize @@ -54,7 +56,6 @@ alert('moooo'); } }); - var Effie = new Cow($empty); //Will not alert 'moooo', because the initialize method is overridden by the $empty function. #### Extends Example: Modified: input/Docs/Core/Core.md =================================================================== --- input/Docs/Core/Core.md 2009-07-05 06:47:31 UTC (rev 1) +++ input/Docs/Core/Core.md 2009-12-27 02:06:55 UTC (rev 2) @@ -417,6 +417,7 @@ * 'collection' - (*string*) If object is a native htmlelements collection, such as childNodes, getElementsByTagName, etc. * 'window' - (*string*) If object is the window object. * 'document' - (*string*) If object is the document object. +* 'event' - (*string*) If object is an event. * false - (*boolean*) If object is undefined, null, NaN or none of the above. ### Example: Added: input/Docs/Core/Depender.md =================================================================== --- input/Docs/Core/Depender.md (rev 0) +++ input/Docs/Core/Depender.md 2009-12-27 02:06:55 UTC (rev 2) @@ -0,0 +1,227 @@ +Singleton: Depender {#Depender} +========================== + +Loads dependencies from MooTools script repositories. + +### Implements: + +* [Events][], [Options][] + +Depender Method: setOptions {#Depender:setOptions} +-------------------------------------------------- + +This is the setOptions method from [Options][]. As Depender is not a class, you must call this method directly to configure it. + +### Options + +* target - (*mixed*) A DOM Element or its ID - the target where the scripts are to be injected. Defaults to *document.head*. +* loadedScripts - (*array*) This is a list of scripts already loaded into the document. By default, it is an array of the scripts on which Depender depends (*Core*, *Browser*, *Array*, *String*, *Function*, *Number*, *Hash*, *Element*, *Event*, *Element.Event*, *Class*, *Class.Extras*, *Request*, *JSON*, *Request.JSON*, *More*, *Log*, and *Depender*). +* loadedSources - (*array*) An array of lib keys that are loaded in their entirety. For example, if your libs.json object has a definition for 'mootools-core' and you have all of core loaded, you can just define *loadedLibs: ['mootools-core']* and all the files in that source will be marked as having been loaded. +* noCache - (*boolean*) this setting is passed along to [Request][] to prevent caching. This is useful in development where scripts are changing often but should be left disabled for production. Defaults to *false*. +* useScriptInjection - (*boolean*) if *false*, scripts are loaded with [Request][] and evaluated. If *true* (the default), script tags are injected into the document.head (or the target specified in the options). The advantage of using [Request][] is that the requests are asynchronous, so other activities are not blocked. The downside to using [Request][] is that errors in your external script files are hard to find (as there is no line number reported) and the scripts *must* be on the same domain as your web app (this is not the case with the [Depender Server][]). +* serial - (*boolean*) if *true*, Depender will ensure that all calls to [require][] are loaded in order and that the callbacks are loaded in order. For example, let's say you require scripts *A*, *B*, and *C* to load and when they are loaded you wish to execute the function *X*. You then require script *B* in a separate call to the [require][] method and, when it is loaded, you wish to execute function *Y*. When *B* loads, *Y* will execute, *before* *X* because, *X* is still waiting on *C*. If you set serial to *true*, it will wait for *X* to be executed before running *Y*, even though *Y*'s requirements are met earlier. It defaults to *false*. + +### Events + +* require - (*function*) callback executed whenever new requirements are passed in to be loaded. Passed the object that is passed to the [require][] method. +* requirementLoaded - (*function*) callback executed anytime the current set of requirements is loaded. Passed the object that is passed to the [require][] method. +* scriptLoaded - (*function*) callback executed whenever a script loads. Passed an object with the following properties: +** script: the script loaded, +** totalLoaded: the % loaded of total dependencies, +** currentLoaded: the % of the current batch (so if you load a group of scripts, and then later require a second group, the third argument here is the percent of that 2nd batch loaded), +** loaded: and an array of all the loaded scripts. + +### Notes + +* No two scripts in any of the libs should have the same name. So if one library has *Foo.js*, no other library should either. This is a remnant of the MooTools scripts.json, which wasn't designed originally to work with other scripts.json files. This naming requirement will be removed with MooTools 2.0. +* Note that you can create 3 different types of loading progress bars: +** a progress bar that shows a percentage of ALL dependencies loading. This means that if you load one batch with, say, 2 items in it, it will go 0%-50%-100%. If you load a second batch at some later point, that has another 2 scripts, your progress bar will start at 50% (2 loaded, 2 to go) and go 50%-75%-100%. A subsequent load statement of 2 more scripts would produce 66%-83%-100%. This can be created with the *totalLoaded* value in the *onRequirementLoaded* callback. +** a progress bar that shows a percentage of the current *batch*. Whenever you require a set of scripts, the Depender starts loading them. When all dependencies are loaded, it resets its "batch" counter. If you then later require additional scripts, the counter starts going up until all requirements are loaded. Note that if Depender is loading requirements and you call the *require* method again and the total requirements to load grows in size, you'll see the counter go down, as now there are more files to load. You can create this progress bar using the *currentLoaded* value in the *onRequirementLoaded* callback. +** a progress bar for a specific requirement. This could be useful if you want to show numerous loading bars at once. This is created using the *onStep* callback in the *[require][]* method's argument. + + +### See also + +You might also consider the [Depender.Client], which integrates with the [Depender Server][]. It works very similarly to this library, but instead of loading each script individually the server side component concatenates and compresses the response into a single file. The result is a much faster experience for the user. + +Depender Method: include {#Depender:include} +-------------------------------------------- + +Includes a collection of scripts. + +### Syntax + + Depender.include(libs); + +### Arguments + +1. libs - (*mixed*) either a string (a url to fetch a json object) or an object (the data itself - see below). + +### Returns: + +* *object* - the *Depender* object. + +### Libs + +This class works when it is supplied with a list of pointers to *scripts.json* files similar to the one used in MooTools. This means that in order to use this class you must organize your own scripts in a similar fashion. The libs argument that you pass to [Depender][] must be an object or a url to a JSON file of that object that lists the location of each *scripts.json* in your dependency map. Here's an example libs.json file or object: + + { + "core": { + "scripts": "/core/Source", + "path": "http://mycdn.com/mootools/core/Source" + }, + "more": { + "scripts": "/more/Source", + "path": "http://mycdn.com/mootools/more/Source" + }, + "myLibrary": { + "scripts": "/Source" + } + } + +This implies you have your files organized like so in your web document root: + + /core/Source/scripts.json + /more/Source/scripts.json + /Source/scripts.json << your scripts + +Note that these locations must be accessible locally (i.e. via ajax) as these json files are fetched with [Request][]. + +The "path" values for "core" and "more" tell Depender that rather than looking for the scripts in the same place as the scripts.json file, it must prepend the file paths with the given path. This allows you to include scripts from a different domain (note: only if you have the option *useScriptInjection* set to *true* - the default). + +If you want to pass the libs object directly to Depender you can. Simply pass the object instead of the url to the object. + + Depender.include('/libs.json'); + //OR + Depender.include({ + core: { + scripts: '/core/Source' + }, + etc... + }); + +### Scripts + +Inside each directory that you link to there must be a scripts.json. Examples of these documents can be found inside of MooTools Core and MooTools More. Here is a very brief example of what one might look like. (Note that the MooTools *scripts.json* files include descriptions and perhaps other data, but all that is required is the dependency values). + + { + "UI": { + "Widget": { + "deps": ["Class", "Element", "Fx.Morph"] + }, + "DatePicker": { + "deps": ["Widget", "Date"] + } + }, + "Util": { + "Logger": { + "deps": ["Class"] + }, + "Logger.Extended": { + "deps": ["Logger"] + } + } + } + + +### Returns + + * *object* - This instance of [Depender][]. + +Depender method: require {#Depender:require} +-------------------------------------------- + +Loads required scripts and executes a callback when they are ready. + +### Syntax + + Depender.require(options); + +### Arguments + +1. options - (*object*) a key/value set of options + +### Options + +* scripts - (*mixed*) an *array* of script names (*strings*) to load. If you have only one script required, it can be a *string*. +* sources - (*mixed*) an *array* of source names (*strings*) to load. If you have only one source required, it can be a *string*. The source name should map to the names defined in your libs argument passed to the *include* method. From the previous section's example, you could include "core" for example, and this would load all the scripts in the MooTools Core. +* onStep - (*function*) callback executed every time a dependency for this call to [require][] is made. Even if other scripts are loaded, if they are not dependencies of this call, the *onStep* method will not be called. It is passed an object with two values: percent - a 1-100 integer of the percentage of dependencies loaded, and scripts: an array of all the names of the scripts thus-far loaded. +* callback - (*function*) callback executed when all scripts that are required for this call are loaded. If the option *serial* is set to true, then the callback may be delayed if there were any previous requirements on the stack before this one. + +### Returns + +* *object* - This instance of [Depender][]. + +Example Usage {#Depender:Example} +--------------------------------- + + Depender.setOptions({ + scriptLoaded: function(data){ + //here you could, for example, show a % loaded message + //or check loadedScripts for a specific dependency and fire off some logic + //as soon as its ready + //data is + //{ + // script: script name, + // percentOfTotal: 1-100 integer, + // percentOfThisBatch: 1-100 integer, + // loadedScripts: array of available scripts + //} + }, + onRequire: function(requiredScripts) { + //this will happen every time a new batch is required + $('loadingSpinner').setStyle('display', 'none'); + }, + onRequirementLoaded: function(loadedScripts) { + //this will happen every time a batch is completed loading + $('loadingSpinner').setStyle('display', 'none'); + } + }).include({ + //add these resources + core: { + scripts: "/core/Source" + }, + more: { + scripts: "/more/Source" + }, + myproject: { + scripts: "/Source" + } + }).require({ + scripts: ['DatePicker', 'Logger.Extended'], //array or single string for one item + sources: 'core', //include ALL of core; this can be an array or a single string for one item + callback: function() { + //your startup code that needs DatePicker and Logger.Extended + //this method will only run once, even if you require more + //scripts later + }, + onStep: function(data){ + //function executed every time a dependency of this specific requirement is loaded + //data is: + //{ + // percent: 1-100 percentage loaded of THIS requirement + // scripts: array of all available scripts + //} + } + }); + //later, you need to load more dependencies... + Depender.require({ + scripts: 'Fx.Reveal', //array or single string for one item + callback: function(){ + //if, for some reason, Fx.Reveal is available already, + //or it is loaded before the requirements for the previous + //require statements are met, then this function will load, + //meaning that it may run before the methods above + //UNLESS you set the *serial* option to *true* + $('someElement').reveal(); + } + }); + + + +[Events]: /core/Class/Class.Extras#Events +[Options]: /core/Class/Class.Extras#Options +[Request]: /core/Request/Request +[require]: #Depender:require +[Depender Server]: http://github.com/anutron/mootools-depender/tree/ +[Depender Client]: http://github.com/anutron/mootools-depender/tree/ \ No newline at end of file Modified: input/Docs/Core/Log.md =================================================================== --- input/Docs/Core/Log.md 2009-07-05 06:47:31 UTC (rev 1) +++ input/Docs/Core/Log.md 2009-12-27 02:06:55 UTC (rev 2) @@ -11,7 +11,7 @@ #### For existing classes: - MyClass.implement(Log); + MyClass.implement(new Log); #### Stand alone @@ -21,15 +21,15 @@ var Test = new Class({ Implements: Log, - initialize: function(){ - this.log('Initializing test') - } + initialize: function(){ + this.enableLog().log('Initializing test'); + } }); ### Notes -- Log.logger is an unique global callback to which all instances of Log report. Its default behavior is to relay the message via console.log (if present), and stack the messages in Log.logged -- Log.logged stores all logged messages for the session. If you use a bookmarklet-based logger, make sure to iterate it and print the messages once it loads. +- Log.log is an unique global callback to which all instances of Log report. Its default behavior is to relay the message via console.log (if present), and stack the messages in Log.logged +- If you use a bookmarklet-based logger, make sure to call Log.enableLog() once it has loaded. ### See Also: @@ -42,10 +42,37 @@ ### Syntax: - myClass.log(msg[, msg[, msg[, ...]]]) + myClass.log(msg[, msg[, msg[, ...]]]); ### Arguments: 1. Any number of arguments. +Log Method: enableLog {#Log:enableLog} +-------------------------------------- + +Enabled logging to the console, logs everything in the stack, and then clears the stack. + +### Syntax: + + myClass.enableLog(); + +Log Method: disableLog {#Log:disableLog} +---------------------------------------- + +Disables logging to the console and instead subsequent calls to [log][Log:log] will be stored on the stack. + +### Syntax: + + myClass.disableLog(); + +Log Method: resetLog {#Log:resetLog} +------------------------------------ + +Clears the log stack. + +### Syntax: + + myClass.resetLog(); + [Class]: /Class/Class \ No newline at end of file Modified: input/Docs/Drag/Drag.md =================================================================== --- input/Docs/Drag/Drag.md 2009-07-05 06:47:31 UTC (rev 1) +++ input/Docs/Drag/Drag.md 2009-12-27 02:06:55 UTC (rev 2) @@ -5,7 +5,7 @@ ### Implements: -[Events][], [Chain], [Options][] +[Events][], [Chain][], [Options][] Drag Method: constructor {#Drag:constructor} @@ -22,14 +22,16 @@ ### Options: -* grid - (*integer*: defaults to false) Distance in pixels for snap-to-grid dragging. -* handle - (*element*: defaults to the element passed in) The Element to act as the handle for the draggable element. -* invert - (*boolean*: defaults to false) Whether or not to invert the values reported on start and drag. -* limit - (*object*: defaults to false) An object with x and y dimensions used to limit the movement of the Element. -* modifiers - (*object*: defaults to {'x': 'left', 'y': 'top'}) An object with x and y properties used to indicate the CSS modifiers (i.e. 'left'). -* snap - (*integer*: defaults to 6) The distance to drag before the Element starts to respond to the drag. -* style - (*boolean*: defaults to true) Whether or not to set the modifier as a style property of the element. -* unit - (*string*: defaults to 'px') A string indicating the CSS unit to append to all integer values. +* grid - (*integer*: defaults to false) Distance in pixels for snap-to-grid dragging. +* handle - (*element*: defaults to the element passed in) The Element to act as the handle for the draggable element. +* invert - (*boolean*: defaults to false) Whether or not to invert the values reported on start and drag. +* limit - (*object*: defaults to false) An object with x and y dimensions used to limit the movement of the Element. +* modifiers - (*object*: defaults to {'x': 'left', 'y': 'top'}) An object with x and y properties used to indicate the CSS modifiers (i.e. 'left'). +* snap - (*integer*: defaults to 6) The distance to drag before the Element starts to respond to the drag. +* style - (*boolean*: defaults to true) Whether or not to set the modifier as a style property of the element. +* unit - (*string*: defaults to 'px') A string indicating the CSS unit to append to all integer values. +* prevenDefault - (*boolean*: defaults to false) Calls preventDefault on the event while dragging. See [Event:preventDefault] +* stopPropagation - (*boolean*: defaults to false) Prevents the event from "bubbling" up in the DOM tree. See [Event:stopPropagation] ### Events: @@ -193,6 +195,8 @@ [Element:addEvent]: /core/Element/Element.Event/#Element:addEvent [Element:makeDraggable]: /more/Drag/Drag.Move/#Element:makeDraggable [Events]: /core/Class/Class.Extras#Events +[Event:preventDefault]: /core/Native/Event#Event:prevenDefault +[Event:stopPropagation]: /core/Native/Event#Event:stopPropagation [Chain]: /core/Class/Class.Extras#Chain [Options]: /core/Class/Class.Extras#Options -[W3Schools: CSS Units]: http://www.w3schools.com/css/css_units.asp \ No newline at end of file +[W3Schools: CSS Units]: http://www.w3schools.com/css/css_units.asp Modified: input/Docs/Drag/Slider.md =================================================================== --- input/Docs/Drag/Slider.md 2009-07-05 06:47:31 UTC (rev 1) +++ input/Docs/Drag/Slider.md 2009-12-27 02:06:55 UTC (rev 2) @@ -25,13 +25,19 @@ 4. wheel - (*boolean*: defaults to false) True if you want the ability to move the knob by mousewheeling. 5. steps - (*number*: defaults to 100) The number of steps the Slider should move/tick. 6. mode - (*string*: defaults to horizontal) The type of Slider can be either 'horizontal' or 'vertical' in movement. +6. initialStep - (*number*: defaults to 0) The step the slider will start at. ### Notes: - Range option allows an array of numbers. Numbers can be negative and positive. +- If snap is enabled, the width of the bar in which the slider resides must fit an equation for the steps to line up just right at it's end value. The equation is: + (Math.ceil(barWidth/numSteps - knobWidth/numSteps) * numSteps) + knobWidth +For instance, if you had a bar that is 300px wide and a knob that is 15px wide, and have snap enabled and 10 steps specified, then the bar's width divided by the number of steps (300 / 10 = 30) minus room for the knob (15 / 10 = 1.5) gives you the value of each step (28.5). Slider must round this value, and it rounds up (29). Take this and multiply times the number of steps and you get 290, but there must also be room for the knob, which adds 15, yielding 305. The result is that our knob can't be dragged to the 10th position because there isn't room for it; so it stops at the 9th. This takes a little tweaking in your css. Just add a few pixels until you can drag it all the way (or change the knob width). + + Slider Event: change {#Slider:change} ----------------------------------------- Modified: input/Docs/Drag/Sortables.md =================================================================== --- input/Docs/Drag/Sortables.md 2009-07-05 06:47:31 UTC (rev 1) +++ input/Docs/Drag/Sortables.md 2009-12-27 02:06:55 UTC (rev 2) @@ -49,7 +49,7 @@ #### complete -Fired when the item ends dragging. +Fired when the item ends dragging. Note: fires even if the sort has not changed. ##### Signature: Added: input/Docs/Element/Element.Delegation.md =================================================================== --- input/Docs/Element/Element.Delegation.md (rev 0) +++ input/Docs/Element/Element.Delegation.md 2009-12-27 02:06:55 UTC (rev 2) @@ -0,0 +1,175 @@ +Native: Element {#Element} +========================== + +Extends the [Element][] native object to include delegations in the addEvent and addEvents methods. + +### Note + +This library recreates in portion the functionality coming in MooTools 2.0 that supports event delegation and mirrors 2.0's syntax. Also note that this library does not support all custom events nor does it support *focus* and *blur* events. + +### Credits + +Event checking based on the work of [Daniel Steigerwald](http://daniel.steigerwald.cz) found here [originally](http://gist.github.com/9989). +License: MIT-style license. +Copyright: Copyright (c) 2008 Daniel Steigerwald, [daniel.steigerwald.cz](http://daniel.steigerwald.cz) + +Element method: addEvent {#Element:addEvent} +-------------------------------------------- + +Delegates the methods of an element's children to the parent element for greater efficiency when a filter is provided. Otherwise works normally as [addEvent][] always does. + +### Syntax + + myElement.addEvent(typeSelector, fn); + +### Arguments + +2. typeSelector - (*string*) An event name (click, mouseover, mouseenter, etc) that should be monitored paired with a selector (see example) to limit functionality to child elements. +3. fn - (*function*) The callback to execute when the event occurs (passed the event just like any other [addEvent][] usage). + + +### Example + + $(element).addEvent('click:relay(a)', function(){ + alert('you clicked a link!'); + }); + +### Returns + +* *element* - This element. + +### Notes + +* By delegating events to parent objects you can dramatically increase the efficiency of your pages. Consider the example above. You could attach events to every link on a page - which may be hundreds of DOM elements - or you can delegate the event to the document body, evaluating your code only when the user actually clicks a link (instead of on page load/domready). +* Include [Selectors.js][] to use more complex selectors. +* You can use any selector in combination with any event +* You cannot delegate the *blur* or *focus* events for elements. This is a limitation in how MooTools manages events internally (and prevents memory leaks) and these two events cannot be delegated until this code is refactored. Look for it in MooTools 2.0. + +Element method: addEvents {#Element:addEvents} +------------------------------------------------ + +Delegates the events to the parent just as with addEvent above. + +### Syntax + + myElement.addEvents(events); + +### Arguments + +1. events - (*events*) A key/value set of event names and methods to attach as event listeners + +### Example + + + myElement.addEvents({ + //monitor an element for mouseover + mouseover: fn, + //but only monitor child links for click + 'click:relay(a)':fn2 + }); + +Element method: removeEvent {#Element:removeEvent} +------------------------------------------------ + +Removes a method from an element as [removeEvent][] always does. Provided here just for clarity. + +### Syntax + + myElement.removeEvent(type, fn); + +### Arguments + +1. type - (*string*) An event name (*click*, *click:relay(selector)*, etc) that should was originally added. +3. fn - (*function*; optional) A pointer to the original call back passed when the event was originally added. + +### Example + + var monitor = function(){ alert('you clicked a link!')}; + $(element).addEvent('click:relay(a)', monitor); + //link clicks are delegated to element + //...now we remove the delegation: + $(element).removeEvent('click:relay(a)', monitor); + +### Returns + +* *element* - This element. + +### Notes + +This syntax is *exactly* the same as [removeEvent][] always works. If your method was used to delegate that event previously, the delegation will be removed. + +Element method: removeEvents {#Element:removeEvents} +------------------------------------------------ + +Removes a series of methods from delegation if the functions were used for delegation or else works as [removeEvents][] always does. Provided here for clarity. + +### Syntax + + myElement.removeEvents(events, fn); + +### Arguments + +1. events - (*mixed*) If a string (like 'click' or 'click:relay(a)'), all click events are removed as [removeEvents][] normally works. Otherwise each method defined in the key/value set of event types/functions is removed. If the method was used for delegation, the delegation is removed. +3. fn - (*function*) A pointer to the original call back passed when the event was originally added. + +### Example + + var monitor = function(){ alert('you clicked or moused over a link!')}; + $(element).addEvents({ + 'mouseover:relay(a)': monitor, + 'click:relay(a)': monitor + }); + //link clicks are delegated to element + //...now we remove the delegation: + $(element).removeEvents({ + 'mouseover:relay(a)': monitor, + 'click:relay(a)': monitor + }); + //or we could remove all click:relay(a) events + $(element).removeEvents('click:relay(a)'); + +### Returns + +* *element* - This element. + +### Notes + +This syntax is *exactly* the same as [removeEvents][] always works. If your methods were used to delegate those events previously, the delegations will be removed. + +Element method: set {#Element:set} +---------------------------------- + +Adds delegation when you pass in an object with selector/events pairs, otherwise works normally as *element.set({events...})* always does. + +### Examples + + //same as MooTools events with set always work: + myElement.set({ + events: { + click: function1, + mouseover: function2 + } + }); + //delegation: + myElement.set({ + events: { + 'click:relay(a)': function1, + 'mouseover:relay(a)': function2 + } + }); + //mixed + myElement.set({ + events: { + 'click:relay(a)': function1, + mouseover: function2 + } + }); + + + +[Element]: http://mootools.net/docs/Element/Element +[addEvent]: http://mootools.net/docs/Element/Element.Event#Element:addEvent +[addEvents]: http://mootools.net/docs/Element/Element.Event#Element:addEvents +[removeEvent]: http://mootools.net/docs/Element/Element.Event#Element:removeEvent +[removeEvents]: http://mootools.net/docs/Element/Element.Event#Element:removeEvents +[Selectors.js]: http://mootools.net/docs/Utilities/Selectors \ No newline at end of file Modified: input/Docs/Element/Element.Dimensions.md =================================================================== --- input/Docs/Element/Element.Dimensions.md 2009-07-05 06:47:31 UTC (rev 1) +++ input/Docs/Element/Element.Dimensions.md 2009-12-27 02:06:55 UTC (rev 2) @@ -3,10 +3,10 @@ Custom Native to allow all of its methods to be used with any DOM element via the dollar function [$][]. -### Note: +### Notes: -These methods don't take into consideration the body element margins and borders. -If you need margin/borders on the body, consider adding a wrapper div, but always reset the margin and borders of body to 0. +* These methods don't take into consideration the body element margins and borders. If you need margin/borders on the body, consider adding a wrapper div, but always reset the margin and borders of body to 0. +* If you need to measure the properties of elements that are not displayed (either their display style is none or one of their parents display style is none), you will need to use [Element.measure][] to expose it. ### Credits: @@ -59,7 +59,9 @@ var size = myElement.getSize(); alert("The element is "+size.x+" pixels wide and "+size.y+"pixels high."); +### Note: +If you need to measure the properties of elements that are not displayed (either their display style is none or one of their parents display style is none), you will need to use [Element.measure][] to expose it. Element Method: getScrollSize {#Element:getScrollSize} @@ -85,8 +87,11 @@ - [MDC Element:scrollLeft][], [MDC Element:scrollTop][], [MDC Element:offsetWidth][], [MDC Element:offsetHeight][], [MDC Element:scrollWidth][], [MDC Element:scrollHeight][] +### Note: +If you need to measure the properties of elements that are not displayed (either their display style is none or one of their parents display style is none), you will need to use [Element.measure][] to expose it. + Element Method: getScroll {#Element:getScroll} ---------------------------------------------- @@ -106,7 +111,10 @@ var scroll = $('myElement').getScroll(); alert('My element is scrolled down ' + scroll.y + 'px'); //alerts 'My element is scrolled down to 620px' +### Note: +If you need to measure the properties of elements that are not displayed (either their display style is none or one of their parents display style is none), you will need to use [Element.measure][] to expose it. + Element Method: getPosition {#Element:getPosition} -------------------------------------------------- @@ -132,6 +140,10 @@ - [QuirksMode: Find position](http://www.quirksmode.org/js/findpos.html) +### Note: + +If you need to measure the properties of elements that are not displayed (either their display style is none or one of their parents display style is none), you will need to use [Element.measure][] to expose it. + Element Method: setPosition {#Element:setPosition} -------------------------------------------------- @@ -189,7 +201,10 @@ [Element:getPosition](#Element:getPosition) +### Note: +If you need to measure the properties of elements that are not displayed (either their display style is none or one of their parents display style is none), you will need to use [Element.measure][] to expose it. + Element Method: getOffsetParent {#Element:getOffsetParent} ---------------------------------------------------------- @@ -209,4 +224,5 @@ [MDC Element:offsetWidth]: http://developer.mozilla.org/en/docs/DOM:element.offsetWidth [MDC Element:offsetHeight]: http://developer.mozilla.org/en/docs/DOM:element.offsetHeight [MDC Element:scrollWidth]: http://developer.mozilla.org/en/docs/DOM:element.scrollWidth -[MDC Element:scrollHeight]: http://developer.mozilla.org/en/docs/DOM:element.scrollHeight \ No newline at end of file +[MDC Element:scrollHeight]: http://developer.mozilla.org/en/docs/DOM:element.scrollHeight +[Element.measure]: /more/Element/Element.Measure \ No newline at end of file Modified: input/Docs/Element/Element.Position.md =================================================================== --- input/Docs/Element/Element.Position.md 2009-07-05 06:47:31 UTC (rev 1) +++ input/Docs/Element/Element.Position.md 2009-12-27 02:06:55 UTC (rev 2) @@ -22,19 +22,23 @@ ### Options -1. relativeTo - (*element*) the element relative to which to position this one; defaults to *document.body*. -2. position - (*string* OR *object*) the aspect of the relativeTo element that this element should be positioned. See position section below. -3. edge - (*string* OR *object*) the edge of the element to set relative to the relative element's corner; this way you can specify to position this element's upper right corner to the bottom left corner of the relative element. This is optional; the default behavior positions the element's upper left corner to the relative element unless position == center, in which case it positions the center of the element to the center of the relative element. See position section below. -4. offset - (*object*) x/y coordinates for the offset (i.e. {x: 10, y:100} will move it down 100 and to the right 10). Negative values are allowed. -5. returnPos - (*boolean*) don't move the element, but instead just return the position object ({top: '#', left: '#'}); defaults to *false* -6. relFixedPosition - (*boolean*) *true*: adds the scroll position of the window to the location to account for a fixed position relativeTo item; defaults to *false* -7. ignoreMargins - (*boolean*) you can have the position calculate the offsets added margins if you like; defaults to *false*. If *true*, the corner of the element will be used EXCLUDING the margin. +* relativeTo - (*element*) the element relative to which to position this one; defaults to *document.body*. +* position - (*string* OR *object*) the aspect of the relativeTo element that this element should be positioned. See position section below. +* edge - (*string* OR *object*) the edge of the element to set relative to the relative element's corner; this way you can specify to position this element's upper right corner to the bottom left corner of the relative element. This is optional; the default behavior positions the element's upper left corner to the relative element unless position == center, in which case it positions the center of the element to the center of the relative element. See position section below. +* offset - (*object*) x/y coordinates for the offset (i.e. {x: 10, y:100} will move it down 100 and to the right 10). Negative values are allowed. +* returnPos - (*boolean*) don't move the element, but instead just return the position object ({top: '#', left: '#'}); defaults to *false* +* relFixedPosition - (*boolean*) *true*: adds the scroll position of the window to the location to account for a fixed position relativeTo item; defaults to *false* +* ignoreMargins - (*boolean*) you can have the position calculate the offsets added margins if you like; defaults to *false*. If *true*, the corner of the element will be used EXCLUDING the margin. +* ignoreScroll - (*boolean*) if *true*, the scroll offset of the parent is ignored. defaults to *false*. +* allowNegative - (*boolean*) if *true* (the default), AND the element is not a descendent of an element that is positioned (relative or absolute), then the position will not allow negative values. +* minimum - (*object*) *x* and *y* values (*integers*) for hard minimum limits on the position. Unlike allowNegative, these are not conditional; if you give zero values for the x/y values, they will be obeyed regardless of any other setting. +* maximum - (*object*) *x* and *y* values (*integers*) for hard maximum limits on the position. ### Position & Edge Options There are two ways to specify the position: strings and objects. The strings are combinations of "left", "right", and "center" with "top" (or "upper"), "bottom", and "center". These are case insensitive. These translate to: -* upperLeft, topLeft (same thing) - or upperleft, leftupper, LEFTUPPER whatever. +* upperLeft, topLeft (same thing) - or upperleft, leftupper, LEFTUPPER etc. * bottomLeft * centerLeft * upperRight, topRight (same thing) Modified: input/Docs/Element/Element.Shortcuts.md =================================================================== --- input/Docs/Element/Element.Shortcuts.md 2009-07-05 06:47:31 UTC (rev 1) +++ input/Docs/Element/Element.Shortcuts.md 2009-12-27 02:06:55 UTC (rev 2) @@ -19,6 +19,19 @@ ### Returns +* (*boolean*) true = display != "none", false = display == "none". + +Element Method: isVisible {#Element:isVisible} +---------------------------------------------- + +Determines if an element is displayed using offset height/width. If both of these are zero it usually means the element is not displayed or one of its parent's is not. + +### Syntax + + myElement.isVisible(); + +### Returns + * (*boolean*) true = visible, false = not visible. Element Method: toggle {#Element:toggle} @@ -72,16 +85,16 @@ Element Method: swapClass {#Element:swapClass} ---------------------------------------------- -Adds one class and removes the other. If the one to remove is not found the one to add is still added. +Removes one class and adds the other. If the one to remove is not found the one to add is still added. ### Syntax - myElement.swapClass(addClass, removeClass); + myElement.swapClass(removeClass, addClass); ### Arguments -1. addClass - (*string*) the css class to add. -2. removeClass - (*string*) the css class to remove. +1. removeClass - (*string*) the css class to remove. +2. addClass - (*string*) the css class to add. ### Returns @@ -89,7 +102,7 @@ ### Example - $(id).swapClass('green', 'blue'); //adds green, removes blue + $(id).swapClass('green', 'blue'); // removes green, adds blue [Element:hide]: #Element:hide [Element]: /core/Element/Element Modified: input/Docs/Element/Element.md =================================================================== --- input/Docs/Element/Element.md 2009-07-05 06:47:31 UTC (rev 1) +++ input/Docs/Element/Element.md 2009-12-27 02:06:55 UTC (rev 2) @@ -733,7 +733,7 @@ ##### JavaScript //Clones the Element and appends the clone after the Element. - var clone = $('myElement').clone().injectAfter('myElement'); + var clone = $('myElement').clone().inject('myElement','after'); ##### Resulting HTML @@ -1452,7 +1452,7 @@ ### Syntax: - myElement.retrieve(key); + myElement.eliminate(key); ### Arguments: Added: input/Docs/Element/Elements.From.md =================================================================== --- input/Docs/Element/Elements.From.md (rev 0) +++ input/Docs/Element/Elements.From.md 2009-12-27 02:06:55 UTC (rev 2) @@ -0,0 +1,32 @@ +Native: Elements {#Elements} +========================== + +Extends the [Elements][] object to add a static method that returns a collection of elements from a string of html. + +Elements Static Method: from {#Elements:from} +---------------------------------------------- + +Returns a collection of elements from a string of html. + +### Syntax + + Elements.from(str, excludeScripts); + +### Arguments + +1. str - (*string*) an html string. +2. excludeScripts - (*boolean*) if *true*, the default, scripts are not included in the element collection returned. + +### Example + + var els = Elements.from("<p>this is a <i>string</i> of <b>HTML</b>.</p><p>It has two paragraphs.</p>"); + els.each(function(paragraph){ + console.log(paragraph); //logs each paragraph + }); + els.inject(document.body); //injects both paragraphs into the document body + +### Returns + +* (*array*) an array of elements (i.e. a collection) - an instance of [Elements][]. + +[Elements]: /core/Element/Element#Elements \ No newline at end of file Added: input/Docs/Forms/Form.Request.Append.md =================================================================== --- input/Docs/Forms/Form.Request.Append.md (rev 0) +++ input/Docs/Forms/Form.Request.Append.md 2009-12-27 02:06:55 UTC (rev 2) @@ -0,0 +1,36 @@ +Class: Form.Request.Append {#Form-Request-Append} +======================================= + +Updates a DOM element with the response from the submission of a form (via Ajax). The result is appended to the DOM element instead of replacing its contents. + +### Extends + +- [Form.Request][] + +Form.Request.Append Method: constructor {#Form-Request-Append:constructor} +-------------------------------------------------- + +### Syntax + + new Form.Request.Append(form, update[, options]); + +### Arguments + +* The same as [Form.Request][] + +### Options + +* The same as [Form.Request][] in addition to: +* useReveal - (*boolean*) Use [Fx.Reveal][] to transition the result in to the appended DOM element; defaults to *true*. +* revealOptions - (*object*) Options passed along to [Fx.Reveal][]. +* inject - (*string*) The injection location for the returned content (see [Element.inject][]) into the *update* element specified in the arguments; defaults to 'bottom'. + + +### Events + +* onBeforeEffect - (*function*) callback executed before the new element begins its reveal; passed as arguments the container that is revealing. +* onSuccess - (*function*) callback executed after the new element is visible. Passed container of the new content, the container into which it is injected, and (passed along from Request.HTML's onSuccess method) the response tree, the response elements, the response html, and the response javascript + +[Form.Request]: /more/Forms/Form.Request +[Fx.Reveal]: /more/Fx/Fx.Reveal +[Element.inject]: /core/Element/Element#Element:inject \ No newline at end of file Added: input/Docs/Forms/Form.Request.md =================================================================== --- input/Docs/Forms/Form.Request.md (rev 0) +++ input/Docs/Forms/Form.Request.md 2009-12-27 02:06:55 UTC (rev 2) @@ -0,0 +1,84 @@ +Class: Form.Request {#Form-Request} +========================= +Updates a DOM element with the response from the submission of a form (via Ajax). + +### Implements + +- [Options][], [Events][], [Class.Occlude][] + +Form.Request Method: constructor {#Form-Request:constructor} +-------------------------------------------------- + +### Syntax + + new Form.Request(form, update[, options]); + +### Arguments + +1. form - (*mixed*) A form Element or the string id of a form Element to manage submissions. +2. update - (*mixed*) An Element or the string id of an Element to update with the response. +3. options - (*object*, optional) The options object described below: + +### Options + +* requestOptions - (*object*) The options passed on to the instance of [Request.HTML] created by the class that sends the form. Defaults to *{evalScripts: true, useSpinner: true, url: <the form url>, emulation: false, spinnerTarget: <the update argument>}*. +* extraData - (*object*) An optional set of key/value pairs to be included with the form data submitted to the server. If keys in this collide with data in the form, the form values will be preserved and the *extraData* discarded. +* resetForm - (*boolean*) If *true* (the default), the form is reset when the request is sent. + +### Events + +* onSend - (*function*) The function to execute when the request is sent. Passed the form being submitted and the data (an *object*) being submited. +* onFailure - (*function*) The function to execute when the request fails. Passed the xhr that is returned by *Request* on failure. +* onSuccess - (*function*) The function to execute when the request succeeds. Passed the target being updated, the request text, and the request xml. + +Form.Request and Form.Validator {#Form-Request:Form-Validator} +------------------------------------------------- + +*Form.Request* integrates with [Form.Validator][] to prevent the ajax being sent if the validation fails. It retrieves the *Form.Validator* instance from the form, so all that is required is that you instantiate the *Form.Validator* before you instantiate the instance of *Fudpate*. If the instance of *Form.Validator* has the *stopOnFailure* option set to *true* (the default) then *Form.Request* will not send the ajax request if the validator fails. + +Form.Request Method: send {#Form-Request:send} +-------------------------------------- + +Sends the form. + +### Syntax + + myFormRequest.send(); + +### Returns + +* (*object*) - This instance of [Form.Request][] + +Form.Request Method: disable {#Form-Request:disable} +-------------------------------------- + +Detaches the Form.Request from the form (disabling the ajax). + +### Syntax + + myFormRequest.disable(); + +### Returns + +* (*object*) - This instance of [Form.Request][] + +Form.Request Method: disable {#Form-Request:enable} +-------------------------------------- + +Attaches the Form.Request to the form (enabling the ajax). Note that this is done on instantiation, so you only need to use this method if you disable the [Form.Request][] instance and want to re-enable it. + +### Syntax + + myFormRequest.enable(); + +### Returns + +* (*object*) - This instance of [Form.Request][] + + +[Chain]: /core/Class/Class.Extras#Chain +[Events]: /core/Class/Class.Extras#Events +[Options]: /core/Class/Class.Extras#Options +[Class.Occlude]: /more/Class/Class.Occlude +[Form.Request]: #Form-Request +[... [truncated message content] |