Little bit late to this discussion, but I am happy to see discussion about `Mochichit Extensions` here. I too don't like mixing up two different JS libraries while my preferred library (MK) is capable enough to do what the others can. I like the jQuery very much for it's powerful DOM manipulation and traversing functions but it's not good enough for other generic usages. That's why, I have started making something similar to jQuery for MochiKit. If you compare both, you would found that MochiKit.Query tries to implement most of the DOM traversing & iterating functions using MochiKit whenever possible and contains little code from jQuery where it can't (that's why, I have released ME under the GPL/MIT licences. Though, personally I always prefer FSF approved licenses).
Regards -- Amit Mendapara On Oct 27, 2:49 pm, "Per Cederberg" <[EMAIL PROTECTED]> wrote: > Hi everyone, > > Development of MochiKit 1.5 is about to start. But before we open the > flood-gates, it might be useful to have a look at a summary of all > proposed API:s. Below you'll find a comprehensive list of all API > additions that I've found (so far). > > # Note 1. I've included everything, regardless of whether the > author/originator actually suggested them for inclusion into MochiKit > or not. > > # Note 2. In some cases the source code exists and has been tested. > Not so in others. > > # Note 3. Some of these API suggestions might be duplicates of > something already in MochiKit. Or are perhaps better implemented as > improvements to existing functions. Some of them might just be common > usage patterns that either deserve proper documentation or perhaps an > alias function. > > So, in summary, please don't get too agitated about individual entries > on the list below. Nothing is set in stone and I'm only looking to > collect statistics, ideas, clarified names, generalizations, random > thoughts and such. See this as my attempt to collect your thoughts and > votes about what you want from MochiKit in the future. > > I'm holding off a bit on my own analysis. Will post my comments on > individual suggestions later on. > > Cheers, > > /Per > > Source Notations: > [trac] Enhancement suggestions in MochiKit Trac, usually without a > proposed implementation. > http://trac.mochikit.com/report/3 > [me] Patches from the MochiKit Extensions project on LaunchPad > https://launchpad.net/mochikit-ext > [mp] Patches from the mochikit-patches project on GitHub. > http://github.com/cederberg/mochikit-patches/tree/master > [other] Random thoughts found elsewhere (don't know where) > > MochiKit.Base > o rbind -- [trac] binds a function, but adds new args before bound ones > o rpartial -- [trac] binds a function, but adds new args before bound ones > o extendURL -- [trac] merges name and values into a URL query string > o isFalse -- [mp] check for false, with wide interpretation > o defaultValue -- [mp] returns first non-undefined value > o dict -- [mp] merges keys and values to dictionary object > o select -- [mp] copies listed keys (and values) from an object > o mask -- [mp] removes listed keys (and values) from an object > o functionName -- [mp] returns the name of a function > o registerFunctionNames -- [mp] registers function names > - should probably be merged into nameFunctions > o stackTrace -- [mp] returns current execution stack trace > o injectStackTrace -- [mp] injects stack trace for a function > o version -- [other] returns an object for browser detection & such > > MochiKit.Async > o postSimpleXMLHttpRequest -- [trac] uses POST for a simple request > o postJSONDoc -- [trac] same as above and also eval:s response data > o sendJSONPrequest -- [trac] similar to the above, but different API > o loadScript -- [trac] loads a JavaScript file > > MochiKit.DateTime > o MILLIS_PER_SECOND -- [mp] constant millisecond value > o MILLIS_PER_MINUTE -- [mp] constant millisecond value > o MILLIS_PER_HOUR -- [mp] constant millisecond value > o MILLIS_PER_DAY -- [mp] constant millisecond value > o MILLIS_PER_WEEK -- [mp] constant millisecond value > o TimePeriod -- [mp] creates a new time period object > (with days, hours, minutes, seconds & millis) > o toApproxPeriod -- [mp] converts millis to an approximate time period > > MochiKit.DOM: > o NBSP -- [trac] creates a non-breaking space node > o unescapeHTML -- [trac] creates a DOM tree from an HTML string > o selectRange -- [trac] selects text in a text box or field > o NS.XHTML -- [mp] namespace constant > o NS.XLINK -- [mp] namespace constant > o NS.SVG -- [mp] namespace constant > o NS.XUL -- [mp] namespace constant > o NS.HTML -- [mp] namespace constant > o isDOM -- [mp] checks if an object looks like a DOM node > o isHTML -- [mp] checks if an object looks like an HTML or XHTML DOM node > o reprDOM -- [mp] creates debug representation of a DOM node > o attributeArray -- [mp] make existing impl. public > o childNode -- [mp] returns an immediate child node > o createDOMExt -- [mp] creates a DOM node with a namespace > o createTextNode -- [mp] creates a DOM text node > o createDOMFuncExt -- [mp] returns function for creating DOM nodes > o blurAll -- [mp] blurs (unfocuses) a DOM node and all relevant children > > MochiKit.Format > o truncate -- [mp] returns a right-truncated copy of a string > o formatter -- [mp] creates a generic formatter function > o format -- [mp] formats the arguments with a formatter pattern > o FormatPatternError -- [mp] a format pattern error class > > MochiKit.Style > o setPositionFixed -- [trac] sets fixed position in cross-browser way > o getContainingBlock -- [trac] returns the containing (layout) parent node > o getMarginBox -- [trac] returns the margin widths for an HTML DOM node > o getBorderBox -- [mp] returns the border widths for an HTML DOM node > o getPaddingBox -- [mp] returns the padding widths for an HTML DOM node > o getScrollOffset -- [mp] returns the scroll offset for an HTML DOM node > o setScrollOffset -- [mp] sets the scroll offset for an HTML DOM node > o resetScrollOffset -- [mp] resets the scroll offsets to zero > o adjustScrollOffset -- [mp] ensures optimal visibility for a box > o registerSizeConstraints -- [mp] registers algebraic constraints for an > element width, height and aspect ratio > o resizeElements -- [mp] resizes DOM nodes using parent sizes and registered > constraints > > MochiKit.Signal > o connectEventMap -- [trac] connect signals through a declarative map > > MochiKit.Visual > o slideOnLeft -- [trac] slides an element while moving from right to left > o slideOnRight -- [trac] variation of the theme above > o slideOffLeft -- [trac] variation of the theme above > o slideOffRight -- [trac] variation of the theme above > o slidePairLeft -- [trac] variation of the theme above > o slidePairRight -- [trac] variation of the theme above > o slidePair -- [trac] variation of the theme above > > MochiKit.Test -- publish & improve existing module [trac] > > MochiKit.Cookie -- new module in [trac] > o getCookie -- [trac] retrieves an HTTP cookie value > o setCookie -- [trac] sets an HTTP cookie value > > MochiKit.Queue, Stack and AsyncQueue -- new modules in [trac] > -- these are suggested data structures, should perhaps be placed in > a Data module or similar. > > MochiKit.String -- new module in [me], here only missing MochiKit > functions are presented > o isalnum -- [me] checks if a string contains only alphanumeric characters > o isalpha -- [me] checks if a string contains only A-Z characters > o isdigit -- [me] checks if a string contains only numeric characters > o isupper -- [me] checks if a string contains only upper-case characters > o islower -- [me] checks if a string contains only lower-case characters > o istitle -- [me] checks if a string is in title-case (is this same > as camelCase?) > o startswith -- [me] checks if a string starts with a substring > o endswith -- [me] checks if a string ends with a substring > o capitalize -- [me] converts the first character to upper-case and > the rest to lower-case > o swapcase -- [me] swaps the character case for a string > o title -- [me] converts a string to title case > o center -- [me] centers a string inside the specified width, > padding with spaces > o ljust -- [me] left-justifies a string inside the specified width, > padding with spaces > o rjust -- [me] right-justifies a string inside the specified width, > padding with spaces > > MochiKit.Ajax -- new module in [me], names not exported (so no collisions) > o bind -- [me] connects a signal for HTTP responses > o unbind -- [me] disconnects a signal for HTTP responses > o request -- [me] sends an HTTP request > o get -- [me] sends an HTTP GET request > o post -- [me] sends an HTTP POST request > > MochiKit.Query -- new module in [me] > -- I won't document this module here, but it seems (mostly?) API > compatible with jQuery. It uses MochiKit to implement (part of) that > API. > > MochiKit.SVG -- new module in [mp] > o SVG -- [mp] creates an SVG document node > o DEFS -- [mp] creates an SVG definitions node > o G -- [mp] creates an SVG group node > o LINE -- [mp] creates an SVG line node > o RECT -- [mp] creates an SVG rectangle node > o CIRCLE -- [mp] creates an SVG circle node > o PATH -- [mp] creates an SVG path node > o TEXT -- [mp] creates an SVG text node > o RADIALGRADIENT -- [mp] creates an SVG radial gradient node > o STOP -- [mp] creates an SVG gradient stop node > o moveToTop -- [mp] moves a node to the top of the SVG drawing order > o moveToBottom -- [mp] moves a node to the bottom of the SVG drawing order > o rotate -- [mp] adds a rotation transform to an SVG DOM node > > MochiKit.Widget -- new module in [mp] > o isWidget -- [mp] checks if an object is a widget > o isFormField -- [mp] checks if an object is a form field > o createWidget -- [mp] creates a new widget > o createWidgetTree -- [mp] creates a tree of DOM nodes and widgets > o destroyWidget -- [mp] destroys a widget or a DOM node > o Widget -- [mp] prototype widget object, not used directly > o Button -- [mp] creates a new button widget > o Dialog -- [mp] creates a new dialog widget > o Field -- [mp] creates a new field widget > o Form -- [mp] creates a new form widget > o FormValidator -- [mp] creates a new form validator widget > o Icon -- [mp] creates a new icon widget > o Overlay -- [mp] creates a new overlay widget > o Pane -- [mp] creates a new pane widget > o Popup -- [mp] creates a new popup widget > o ProgressBar -- [mp] creates a new progress bar widget > o TabContainer -- [mp] creates a new tab container widget > o Table -- [mp] creates a new data table widget > o TableColumn -- [mp] creates a new data table column widget > o TextArea -- [mp] creates a new text area (or text box) widget > o TextField -- [mp] creates a new text field widget > o Tree -- [mp] creates a new tree widget > o TreeNode -- [mp] creates a new tree node widget. > o Wizard -- [mp] creates a new wizard widget --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "MochiKit" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/mochikit?hl=en -~----------~----~----~----~------~----~------~--~---
