User:CWii/JB2script.js

This is an old revision of this page, as edited by AzaToth (talk | contribs) at 21:55, 4 June 2008 (again). 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 = document.evaluate('//[@name="work_area]', root, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
	var work_area = null;
 
	switch( value ) {
		case 'yes':
			work_area = new QuickForm.element( { 
				type: 'field',
				label: 'Movable',
				name: 'work_area'
			} );
			work_area.append( {
				type: 'textbox',
				name: 'xfdreason',
				label: 'Reason: '
			} );
			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;
 
	}
}