Page MenuHomeWickedGov Phorge

init.js
No OneTemporary

Size
4 KB
Referenced Files
None
Subscribers
None
mw.editcheck = {
config: require( './config.json' ),
ecenable: !!( new URL( location.href ).searchParams.get( 'ecenable' ) || window.MWVE_FORCE_EDIT_CHECK_ENABLED )
};
require( './EditCheckDialog.js' );
require( './EditCheckGutterSidebarDialog.js' );
require( './EditCheckFactory.js' );
require( './EditCheckAction.js' );
require( './BaseEditCheck.js' );
require( './editchecks/AddReferenceEditCheck.js' );
if ( mw.config.get( 'wgVisualEditorConfig' ).editCheckExperimental ) {
mw.loader.using( 'ext.visualEditor.editCheck.experimental' );
}
/**
* Check if the document has content needing a reference, for AddReferenceEditCheck
*
* @param {ve.dm.Document} documentModel
* @param {boolean} includeReferencedContent Include contents that already contains a reference
* @return {boolean}
*/
mw.editcheck.hasAddedContentNeedingReference = function ( documentModel, includeReferencedContent ) {
// helper for ve.init.mw.ArticleTarget save-tagging, keep logic below in-sync with AddReferenceEditCheck.
// This is bypassing the normal "should this check apply?" logic for creation, so we need to manually
// apply the "only the main namespace" rule.
if ( mw.config.get( 'wgNamespaceNumber' ) !== mw.config.get( 'wgNamespaceIds' )[ '' ] ) {
return false;
}
const check = mw.editcheck.editCheckFactory.create( 'addReference', null, mw.editcheck.config.addReference );
// TODO: This should be factored out into a static method so we don't have to construct a dummy check
return check.findAddedContent( documentModel, includeReferencedContent ).length > 0;
};
mw.editcheck.refCheckShown = false;
if ( mw.config.get( 'wgVisualEditorConfig' ).editCheckTagging ) {
mw.hook( 've.activationComplete' ).add( () => {
const target = ve.init.target;
function getRefNodes() {
// The firstNodes list is a numerically indexed array of reference nodes in the document.
// The list is append only, and removed references are set to undefined in place.
// To check if a new reference is being published, we just need to know if a reference
// with an index beyond the initial list (initLength) is still set.
const internalList = target.getSurface().getModel().getDocument().getInternalList();
const group = internalList.getNodeGroup( 'mwReference/' );
return group ? group.firstNodes || [] : [];
}
const initLength = getRefNodes().length;
target.saveFields.vetags = function () {
const refNodes = getRefNodes();
const newLength = refNodes.length;
let newNodesInDoc = false;
for ( let i = initLength; i < newLength; i++ ) {
if ( refNodes[ i ] ) {
newNodesInDoc = true;
break;
}
}
const tags = [];
if ( newNodesInDoc ) {
tags.push( 'editcheck-newreference' );
}
if ( mw.editcheck.refCheckShown ) {
tags.push( 'editcheck-references-shown' );
}
return tags.join( ',' );
};
} );
mw.hook( 've.deactivationComplete' ).add( () => {
const target = ve.init.target;
delete target.saveFields.vetags;
} );
}
if ( mw.config.get( 'wgVisualEditorConfig' ).editCheck || mw.editcheck.ecenable ) {
const Controller = require( './controller.js' ).Controller;
mw.hook( 've.newTarget' ).add( ( target ) => {
if ( target.constructor.static.name !== 'article' ) {
return;
}
const controller = new Controller( target );
controller.setup();
} );
}
// This is for the toolbar:
ve.ui.EditCheckBack = function VeUiEditCheckBack() {
// Parent constructor
ve.ui.EditCheckBack.super.apply( this, arguments );
this.setDisabled( false );
};
OO.inheritClass( ve.ui.EditCheckBack, ve.ui.Tool );
ve.ui.EditCheckBack.static.name = 'editCheckBack';
ve.ui.EditCheckBack.static.icon = 'previous';
ve.ui.EditCheckBack.static.autoAddToCatchall = false;
ve.ui.EditCheckBack.static.autoAddToGroup = false;
ve.ui.EditCheckBack.static.title =
OO.ui.deferMsg( 'visualeditor-backbutton-tooltip' );
ve.ui.EditCheckBack.prototype.onSelect = function () {
const surface = this.toolbar.getSurface();
surface.getContext().hide();
surface.execute( 'window', 'close', 'fixedEditCheckDialog' );
this.setActive( false );
ve.track( 'activity.' + this.getName(), { action: 'tool-used' } );
};
ve.ui.EditCheckBack.prototype.onUpdateState = function () {
this.setDisabled( false );
};
ve.ui.toolFactory.register( ve.ui.EditCheckBack );
ve.ui.EditCheckSaveDisabled = function VeUiEditCheckSaveDisabled() {
// Parent constructor
ve.ui.EditCheckSaveDisabled.super.apply( this, arguments );
};
OO.inheritClass( ve.ui.EditCheckSaveDisabled, ve.ui.MWSaveTool );
ve.ui.EditCheckSaveDisabled.static.name = 'showSaveDisabled';
ve.ui.EditCheckSaveDisabled.static.autoAddToCatchall = false;
ve.ui.EditCheckSaveDisabled.static.autoAddToGroup = false;
ve.ui.EditCheckSaveDisabled.prototype.onUpdateState = function () {
this.setDisabled( true );
};
ve.ui.toolFactory.register( ve.ui.EditCheckSaveDisabled );

File Metadata

Mime Type
text/plain
Expires
Tue, Aug 18, 16:44 (3 w, 4 d ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
75/05/ffc0b0601f57b63c1d9e32cb8685
Default Alt Text
init.js (4 KB)

Event Timeline