Merge "mediawiki.action.edit: Add styles for edit form's footer"
authorTheDJ <hartman.wiki@gmail.com>
Thu, 15 Aug 2013 18:31:26 +0000 (18:31 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Thu, 15 Aug 2013 18:31:26 +0000 (18:31 +0000)
1  2 
includes/EditPage.php
resources/Resources.php

diff --combined includes/EditPage.php
@@@ -1920,6 -1920,7 +1920,7 @@@ class EditPage 
                global $wgOut, $wgUser;
  
                $wgOut->addModules( 'mediawiki.action.edit' );
+               $wgOut->addModuleStyles( 'mediawiki.action.edit.styles' );
  
                if ( $wgUser->getOption( 'uselivepreview', false ) ) {
                        $wgOut->addModules( 'mediawiki.action.edit.preview' );
                $wgOut->addHTML( Html::rawElement( 'div', array( 'class' => 'hiddencats' ),
                        Linker::formatHiddenCategories( $this->mArticle->getHiddenCategories() ) ) );
  
 +              $wgOut->addHTML( Html::rawElement( 'div', array( 'class' => 'limitreport' ),
 +                      self::getPreviewLimitReport( $this->mParserOutput ) ) );
 +
                $wgOut->addModules( 'mediawiki.action.edit.collapsibleFooter' );
  
                if ( $this->isConflict ) {
                        call_user_func_array( 'wfMessage', $copywarnMsg )->plain() . "\n</div>";
        }
  
 +      /**
 +       * Get the Limit report for page previews
 +       *
 +       * @since 1.22
 +       * @param ParserOutput $output ParserOutput object from the parse
 +       * @return string HTML
 +       */
 +      public static function getPreviewLimitReport( $output ) {
 +              if ( !$output || !$output->getLimitReportData() ) {
 +                      return '';
 +              }
 +
 +              wfProfileIn( __METHOD__ );
 +
 +              $limitReport = Html::rawElement( 'div', array( 'class' => 'mw-limitReportExplanation' ),
 +                      wfMessage( 'limitreport-title' )->parseAsBlock()
 +              );
 +
 +              // Show/hide animation doesn't work correctly on a table, so wrap it in a div.
 +              $limitReport .= Html::openElement( 'div', array( 'class' => 'preview-limit-report-wrapper' ) );
 +
 +              $limitReport .= Html::openElement( 'table', array(
 +                      'class' => 'preview-limit-report wikitable'
 +              ) ) .
 +                      Html::openElement( 'tbody' );
 +
 +              foreach ( $output->getLimitReportData() as $key => $value ) {
 +                      if ( wfRunHooks( 'ParserLimitReportFormat',
 +                              array( $key, $value, &$limitReport, true, true )
 +                      ) ) {
 +                              $keyMsg = wfMessage( $key );
 +                              $valueMsg = wfMessage( array( "$key-value-html", "$key-value" ) );
 +                              if ( !$valueMsg->exists() ) {
 +                                      $valueMsg = new RawMessage( '$1' );
 +                              }
 +                              if ( !$keyMsg->isDisabled() && !$valueMsg->isDisabled() ) {
 +                                      $limitReport .= Html::openElement( 'tr' ) .
 +                                              Html::rawElement( 'th', null, $keyMsg->parse() ) .
 +                                              Html::rawElement( 'td', null, $valueMsg->params( $value )->parse() ) .
 +                                              Html::closeElement( 'tr' );
 +                              }
 +                      }
 +              }
 +
 +              $limitReport .= Html::closeElement( 'tbody' ) .
 +                      Html::closeElement( 'table' ) .
 +                      Html::closeElement( 'div' );
 +
 +              wfProfileOut( __METHOD__ );
 +
 +              return $limitReport;
 +      }
 +
        protected function showStandardInputs( &$tabindex = 2 ) {
                global $wgOut;
                $wgOut->addHTML( "<div class='editOptions'>\n" );
diff --combined resources/Resources.php
@@@ -719,12 -719,17 +719,17 @@@ return array
        'mediawiki.action.edit' => array(
                'scripts' => 'resources/mediawiki.action/mediawiki.action.edit.js',
                'dependencies' => array(
+                       'mediawiki.action.edit.styles',
                        'mediawiki.legacy.wikibits',
                        'jquery.textSelection',
                        'jquery.byteLimit',
                ),
                'position' => 'top',
        ),
+       'mediawiki.action.edit.styles' => array(
+               'styles' => 'resources/mediawiki.action/mediawiki.action.edit.styles.css',
+               'position' => 'top',
+       ),
        'mediawiki.action.edit.collapsibleFooter' => array(
                'scripts' => 'resources/mediawiki.action/mediawiki.action.edit.collapsibleFooter.js',
                'styles' => 'resources/mediawiki.action/mediawiki.action.edit.collapsibleFooter.css',
  
        /* MediaWiki Page */
  
 +      'mediawiki.page.gallery' => array(
 +              'scripts' => 'resources/mediawiki.page/mediawiki.page.gallery.js',
 +      ),
        'mediawiki.page.ready' => array(
                'scripts' => 'resources/mediawiki.page/mediawiki.page.ready.js',
                'dependencies' => array(
                'remoteBasePath' => $GLOBALS['wgStylePath'],
                'localBasePath' => $GLOBALS['wgStyleDirectory'],
                'dependencies' => array(
 +                      'mediawiki.api',
 +                      'mediawiki.Title',
                        'mediawiki.legacy.wikibits',
                        'mediawiki.util',
                ),