in reply to Free nodelet hack: Consideration shortcuts

For completeness, I stole the idea of the $() function from the Prototype Javascript library I think.

The way to eliminate the 6 br tags for me would be to put them into the insertBefore loop, and make input creation another function:

function createInput(name,visual,callback) { var input = hue_create_radio(name,callback); var text = document.createTextNode(visual); var br = document.createElement('br'); return [input,text,br]; }; var to_insert = [ createInput('other','Other',hue_set_other), createInput('reap','Reap duplicate/empty',hue_set_reap), createInput('retitle','Retitle',hue_set_retitle), createInput('readmore','Add readmore tags', hue_set_readmore), createInput('code','Add code tags', hue_set_code), ]; for (var i=0; i<to_insert.length;i++) { var arr = to_insert`[i`]; for (var j=2; j>-1; j<to_;j--) { form.insertBefore (arr`[j`], checkbox.nextSibling); }; };

Replies are listed 'Best First'.
Re^2: Free nodelet hack: Consideration shortcuts
by ikegami (Patriarch) on Oct 12, 2006 at 19:46 UTC
    • The controls are no longer listed backwards in the source.
    • I put the br creation in the loop (as you suggested).
    • I replaced the hardcoded 2 with arr.length.
    function createInput(name, visual, callback) { var input = hue_create_radio(name, callback); var text = document.createTextNode(visual); return [ input, text ]; } var to_insert = [ createInput('code', 'Add code tags', hue_set_code), createInput('readmore', 'Add readmore tags', hue_set_readmore), createInput('retitle', 'Retitle', hue_set_retitle), createInput('reap', 'Reap duplicate/empty', hue_set_reap), createInput('other', 'Other', hue_set_other), ]; form.insertBefore( document.createElement('br'), checkbox.nextSibling ); for (var i=to_insert.length; i--; ) { var arr = to_insert[i]; for (var j=arr.length; j--; ) { form.insertBefore(arr[j], checkbox.nextSibling); } form.insertBefore( document.createElement('br'), checkbox.nextSibling ); }