Jump to content

User:The Transhumanist/ScriptCreator.js

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by The Transhumanist (talk | contribs) at 20:07, 5 October 2017 (clean up). 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.
// <syntaxhighlight lang="javascript">

/*

(Script under development - not yet functional)

CreateScript.js = 

Development notes:
* should only work after a menu item is clicked
* Declare a variable for script's mode
* Declare a variable for script page title
* Declare a variable for script's talk page title
* Specify script title, then press enter.
* Set script title variable
* Set script talk page title variable
* If script page exists, skip this section
* Create script page in edit mode
* Add script template
* Manual save?
* If script talk page exists, clear local storage and terminate script
* Create script talk page in edit mode
* Add talk page template
* Manual save?

Brief comments are provided within the source code below. For extensive explanatory 
notes on what the source code does and how it works, see the Script's workshop on 
the talk page.

*/

// ============== Set up ==============

// Start off with a bodyguard function to reserve the aliases mw and $
( function ( mw, $ ) {

    // we can now rely on mw and $ within the safety of our “bodyguard” function, to mean 
    // "mediawiki" and "jQuery", respectively

    // ============== ready() event listener/handler ==============
    // below is jQuery short-hand for $(document).ready(function() { ... });
    // it makes the rest of the script wait until the page's DOM is loaded and ready
    $(function() {
        
		// ============== activation filters ==============
        // Only activate on Vector skin
        if ( mw.config.get( 'skin' ) === 'vector' ) {

	        // Run this script only if "Outline " is in the page title
			// if (document.title.indexOf("Outline ") != -1) {

				// End of set up
			
        	    // =================== Prep work =====================
				
				// Variable declarations, etc., go here

            	// ================= Core program ================= 

                $( function() {

					// BODY OF PROGRAM GOES HERE

					// Create linked menu item
					var portletlink = mw.util.addPortletLink('p-tb', '#', 'Create script', 'cr-script', 'Start new script and workshop page');
					// Bind click handler
					$(portletlink).click( function(e) {
						e.preventDefault();

						// Do some stuff when clicked...
						// Default parameters, and begin script on regular view of article

						// Check if in edit page, if so, prompt You must leave edit mode before making a wish

						// Prompt for title
						var scripttitle = prompt ( "Enter name of script you would like to create" );

						// Save title in localstorage
						localStorage.setItem("scripttitle", title);

						// Create script page
						location = "https://en.wikipedia.org/w/index.php?title=Wikipedia:WikiProject_Outlines/Wish_list_(alpha)&action=edit";

						if ( title === "" ) {
							alert ( "Nothing done." );
						} else {

						// Put the otherwise stuff here
						}
					} );

				} );
			// }
        }
    } );
}( mediaWiki, jQuery ) );

// </syntaxhighlight>