I was just about to submit a patch to trac so instead I bring it up here for discussion. Since we already have the Builder in script.aculo.us I don't think is necessary to bring an advanced builder into core. I've been using this code in my recent project and it is lightweight and reads out very well.
First we add Element.writeAttributes (or whatever it should be named but since we already have readAttribute I thought this name should match) to let chaining works when settings an element's attribute(s): Element.addMethods({ // ... writeAttributes: function(element, properties) { element = $(element); for (var property in properties) element[property] = properties[property]; return element; }, // ... }); Then replace the current: var Element = new Object(); with something like: function Element(tagName, options) { return Element.extend(document.createElement(tagName)).writeAttributes(options || {}); } This way it would be really easy to create new elements when you don't need the full functionallity from Builder with all it's fixes and tweaks: var myHeader = new Element('div', {id: 'header'}); $('container').appendChild(myHeader); What do you think? I would happily provide a patch with tests if you like this approach. Btw, is there any way to view Sam's proposition for us without account on the rails basecamp site? On 2/3/07, Tobie Langel <[EMAIL PROTECTED]> wrote: > > Sam's proposition for changing element update (see basecamp: http:// > rails.updatelog.com/projects/279620/msg/cat/1905466/3314374/comments) > doubles the functionality of a DOM builder IMO. > > > > > > > -- burnfield.com/martin --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Prototype: Core" group. To post to this group, send email to prototype-core@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/prototype-core?hl=en -~----------~----~----~----~------~----~------~--~---