Fandom

Wikia Developers Wiki

NullEditButton

888pages on
this wiki
Add New Page
Talk41 Share

NullEditButton adds a "Null Edit" option to page controls. A "Null Edit" is in a way similar to purging, but better. It forces the server to rebuild the page using new data.

Advantage

  • All other purge methods do not apply to categorization and what links here changes from template edits, but a null edit does.
  • It's extremely useful for wikis using Semantic Mediawiki
    • The properties, filterable lists, etc generally require a null edit to get the data updated.
    • A normal ?action=purge doesn't usually work.
  • Very useful for DPL forums where a purge wouldn't work.
  • High coverage
    • Works with the old Visual Editor, source and monobook.
    • Should work nicely with the new RTE.

The Button

Oasis

The button is added to the drop-down besides the Edit Button. In case the arrow doesn't exist like while viewing diffs, the null edit is added below Back to page link instead.

Monobook

The button is added to the MonoBook top bar, on the right side, along with the actions like "Edit", "History", and "Rename".

The button has an access key 0 (zero).

Installation

See also: Help:JavaScript and CSS Cheatsheet, Help:Including additional JavaScript and CSS
dev:NullEditButton/code.js
  • For personal use, add the code snippet below to your global.js page (for use on all wikis) or your common.js page on your wiki (for use on a single wiki).
importArticles({
    type: 'script',
    articles: [
        'u:dev:NullEditButton/code.js',
    ]
});
importArticles — Best Practices for installing JavaScript on Fandom
The importArticles statement is designed to combine multiple HTTP requests into a single data transfer, allowing multiple scripts to load and execute faster. If you've been installing several different scripts, your JavaScript file has probably accumulated unnecessary import statements. Click "Expand" to learn how to efficiently batch import scripts to speed up performance and make your code look cleaner. One other approach is by using the MediaWiki:ImportJS.
If your JavaScript file has several lines of code that say importScript, importScriptPage, or importArticles, you may be able to combine them! By batch importing a collection of scripts with a single import, your JavaScript code will load faster and look cleaner. Consider the example below. On the left is an example of what your JavaScript file might currently look like. On the right is how you could improve that code.
Multiple imports — messy and slow One import — clean and efficient
importScriptPage('AjaxRC/code.js','dev');
 
importScript('MediaWiki:localScript.js');
 
importArticle({
  type: 'script',
  article: 'u:dev:FloatingToc/code.js'
});
 
importScriptPage('page1.js', 'wikiname');
 
importScriptPage('page2.js', 'wikiname');
importArticles({
    type: 'script',
    articles: [
        'u:dev:AjaxRC/code.js',
        'MediaWiki:localScript.js',
        'u:dev:FloatingToc/code.js',
        'u:wikiname:page1.js',
        'u:wikiname:page2.js'
    ]
});
Note: In this example, pay close attention to the placement of commas and other punctuation. For people who aren't familiar with programming (and even those who are!), a common mistake when writing code is to accidentally delete, forget, or misplace critical symbols like commas or quotation marks. This can cause a syntax error that breaks the code. Carefully follow the convention shown here when using importArticles.
But there's much more to importArticles than just this! For more examples and advanced usage, see the help page at Help:Including additional JavaScript and CSS.

Callback functions

  • If you have functions that modify the content that's reloaded, they won't work after the first refresh unless you run them again after the content has loaded. You can do this by adding them to the NullEditCallAgain variable, like this:
window.NullEditCallAgain = window.NullEditCallAgain || [];
window.NullEditCallAgain.push(function1, function2, function3);
Using configuration options with Fandom Open Source Library scripts
The instructions on this page describe how to use configuration options with a script. Here on the Fandom Open Source Library, many scripts provide optional configuration settings as a mean to alter or enhance the default behavior of the script. When installing configuration options in your JavaScript file, please note that they need to go above the import statement in order to work — unless the directions say otherwise.
Configuration options load too late, don't work
Proper placement of configuration options
// 1. AjaxRC import statement
importScriptPage('AjaxRC/code.js','dev');
 
// 2. AjaxRC configuration option
var ajaxRefresh = 30000;
// 1. AjaxRC configuration option
var ajaxRefresh = 30000;
 
// 2. AjaxRC import statement
importScriptPage('AjaxRC/code.js','dev');

Translation

Post translations on the talk page or add them directly to the code, please!

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.