The tab indentation is now fixed in svn trunk [1384].
Regarding the createINPUT and createINPUTFunc functions, I think it
would be better with a more generic solution. When creating SVG DOM
nodes I wrote a createDOMFuncExt function that should work here also.
See http://trac.mochikit.com/wiki/MochiKitDOMExtensions for the source
code.
Using that function, the partial versions would instead look like:
FORMBUTTON = createDOMFuncExt(null, "input", null, { type: "button" });
CHECKBOX = createDOMFuncExt(null, "input", null, { type: "checkbox" });
Or if you think form elements should always be provided with a name attribute:
FORMBUTTON = createDOMFuncExt(null, "input", ["name"], { type: "button" });
CHECKBOX = createDOMFuncExt(null, "input", ["name"], { type: "checkbox" });
Either way, I'd like to push this to MochiKit 1.5. I'm currently
mostly doing bug fixes in svn trunk so that we can get to a release of
1.4 as soon as possible.
Cheers,
/Per
On Tue, Jun 10, 2008 at 10:37 PM, machineghost <[EMAIL PROTECTED]> wrote:
>
> I mentioned the idea of a createINPUT function awhile ago, but no one
> seemed terribly interested so I've been slacking on submitting it.
> However, I think a lot of createDOM fans could find createINPUT
> similarly useful, and with the recent flurry of submissions I figured
> now was as good of a time as any to submit it.
>
> For those of you who missed my previous posts, the idea behind
> createINPUT (and all of its partial versions) is to do the same thing
> for the different sub-types of INPUT that createDOM did for every
> other element, as these sub-types are practically different elements.
>
> So, with (the various partial forms of) createINPUT, you can do stuff
> like:
>
> var oldWay = INPUT({"type":"hidden"});
> var newWay = HIDDEN();
> // oldWay.outerHTML == newWay.outerHTML
>
> var oldWay2 = INPUT({"type":"text", "name":"someName"});
> var newWay2 = TEXT("someName");
> // oldWay2.outerHTML == newWay2.outerHTML
>
> var oldWay2 = INPUT({"type":"checkbox", "name":"someName",
> "class":"someClass"});
> var newWay2 = CHECKBOX({"name":"someName", "class":"someClass"});
> // oldWay2.outerHTML == newWay2.outerHTML
>
> Since there is already an HTML element called button, I named the
> <INPUT type="button"> function "FORMBUTTON"; the rest of the aliases
> are just their type .toUpperCase().
>
>
> Here's the diff:
> 32a33,34
>> "createINPUT",
>> "createINPUTFunc",
> 83a86,95
>> "FORMBUTTON",
>> "CHECKBOX",
>> "FILE",
>> "HIDDEN",
>> "IMAGE",
>> "PASSWORD",
>> "RADIO",
>> "RESET",
>> "TEXT",
>> "SUBMIT",
> 627a640,658
>>
>> /** @id MochiKit.DOM.createINPUTFunc */
>> createINPUT: function (type, otherattrs) {
>> var m = MochiKit.Base;
>> if (typeof(otherattrs) == "string" || typeof(otherattrs) == "number")
>> return MochiKit.DOM.createDOM("input", {"name":otherattrs,
>> "type":type});
>> return MochiKit.DOM.createDOM("input", m.update(otherattrs,
>> {"type":type}));
>>
>> },
>>
>> /** @id MochiKit.DOM.createINPUTFunc */
>> createINPUTFunc: function (/* type, otherattrs */) {
>> var m = MochiKit.Base;
>> return m.partial.apply(
>> this,
>> m.extend([MochiKit.DOM.createINPUT], arguments)
>> );
>>
>> },
> 1254a1286,1306
>> var createINPUTFunc = this.createINPUTFunc;
>> /** @id MochiKit.DOM.FORMBUTTON = */
>> this.FORMBUTTON = createINPUTFunc("button");
>> /** @id MochiKit.DOM.CHECKBOX */
>> this.CHECKBOX = createINPUTFunc("checkbox");
>> /** @id MochiKit.DOM.FILE */
>> this.FILE = createINPUTFunc("file");
>> /** @id MochiKit.DOM.HIDDEN */
>> this.HIDDEN = createINPUTFunc("hidden");
>> /** @id MochiKit.DOM.IMAGE */
>> this.IMAGE = createINPUTFunc("image");
>> /** @id MochiKit.DOM.PASSWORD */
>> this.PASSWORD = createINPUTFunc("password");
>> /** @id MochiKit.DOM.RADIO */
>> this.RADIO = createINPUTFunc("radio");
>> /** @id MochiKit.DOM.RESET */
>> this.RESET = createINPUTFunc("reset");
>> /** @id MochiKit.DOM.TEXT */
>> this.TEXT = createINPUTFunc("text");
>> /** @id MochiKit.DOM.SUBMIT */
>> this.SUBMIT = createINPUTFunc("submit");
>
>
> Also, while I was working in DOM.js I noticed that the entire file
> uses spaces, EXCEPT for three tabs; the following diff converts these
> tabs to spaces:
> 1181c1212
> < /** @id MochiKit.DOM.DL */
> ---
>> /** @id MochiKit.DOM.DL */
> 1183c1214
> < /** @id MochiKit.DOM.DT */
> ---
>> /** @id MochiKit.DOM.DT */
> 1185c1216
> < /** @id MochiKit.DOM.DD */
> ---
>> /** @id MochiKit.DOM.DD */
> >
>
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---