User:CWii/JB2script.js

This is an old revision of this page, as edited by CWii (talk | contribs) at 16:10, 5 June 2008 (wow.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
function jb2script () {
    if( wgNamespaceNumber == 6 ) {
        addPortletLink( 'p-cactions', "javascript:jb2script.callback()", "JB2", "jb2script", "Tag for moval by John Bot II", "");
    }
}
addOnloadHook(jb2script);
 
jb2script.callback = function jb2scriptCallback() {
    var Window = new SimpleWindow( 600, 300 );
    Window.setTitle( "John Bot II image moval b" );
    var form = new QuickForm( jb2script.callback.evaluate );
    var categories = form.append( {
            type: 'select',
            name: 'movable',
            label: 'Is the image movable? ',
            tooltip: 'meh',
            event: jb2script.callback.change_category
        } );
    categories.append( {
            type: 'option',
            label: 'Yes - It can be moved by John Bot II',
            selected: true,
            value: 'yes'
        } );
    categories.append( {
            type: 'option',
            label: "No - It can't be moved by John Bot II",
            selected: false,
            value: 'no'
        } );
    categories.append( {
            type: 'option',
            label: "Not by a bot - It can't be moved by a robot",
            selected: false,
            value: 'notBot'
        } );
    form.append( {
            type: 'field',
            label:'Work area',
            name: 'work_area'
        } );
    var result = form.render();
    Window.setContent( result );
    Window.display();
 
    // We must init the
    var evt = document.createEvent( "Event" );
    evt.initEvent( 'change', true, true );
    result.movable.dispatchEvent( evt );
}
 
jb2script.callback.change_category = function jb2scriptCallbackChangeCategory(e) {
    var value = e.target.value;
    var root = e.target.form;
    var old_area;
    var childNodes = root.childNodes;
    for( var i = 0; i < childNodes.length; ++i ) {
        var node = childNodes[i];
        if( 
            node instanceof Element &&
            node.getAttribute( 'name' ) == 'work_area' 
        ) {
            old_area = node;
            break;
        }
    }
    var work_area = null;
 
    switch( value ) {
        case 'yes':
            work_area = new QuickForm.element( { 
                type: 'field',
                label: 'Movable',
                name: 'work_area'
            } );
            work_area.append( {
                type: 'input',
                name: 'newname',
                label: 'New name: '
            } );
            work_area.append( { type:'submit' } );
            work_area = work_area.render();
            old_area.parentNode.replaceChild( work_area, old_area );
            break;
        default:
            work_area = new QuickForm.element( { 
                    type: 'field',
                    label: 'Nothing for anything',
                    name: 'work_area'
                } );
            work_area = work_area.render();
            old_area.parentNode.replaceChild( work_area, old_area );
            break;
     
    }
}

jb2script.callbacks = {
    yes: {