Make sure lead section exists before accessing its method

The `getLeadSectionElement` method of `Page` may return a `null`. Do
not try to access the `text` method of the returned object if it's
`null`.

Bug: T157995
Change-Id: Ia752fa52d1b09a307dc4b803a6b7e1bdcfe7f867
This commit is contained in:
Baha 2017-07-31 15:16:30 -04:00
parent 1be831129a
commit 6f8b3d040c

View file

@ -123,7 +123,8 @@
* @param {Page} page The page to edit.
*/
function setupEditor( page ) {
var isNewPage = page.options.id === 0;
var isNewPage = page.options.id === 0,
leadSection = page.getLeadSectionElement();
if ( mw.util.getParamValue( 'undo' ) ) {
// TODO: Replace with an OOUI dialog
@ -249,11 +250,11 @@
$( '.nojs-edit' ).removeClass( 'nojs-edit' );
$( '#ca-edit a' ).remove();
// FIXME: unfortunately the main page is special cased.
if ( mw.config.get( 'wgIsMainPage' ) || isNewPage || page.getLeadSectionElement().text() ) {
if ( mw.config.get( 'wgIsMainPage' ) || isNewPage || ( leadSection && leadSection.text() ) ) {
// if lead section is not empty, open editor with lead section
addEditButton( 0, '#ca-edit' );
} else {
// if lead section is empty, open editor with first section
// if lead section is empty or does not exist, open editor with first section
addEditButton( 1, '#ca-edit' );
}
}