Split mediawiki.toolbar from mediawiki.action.edit
authorTimo Tijhof <krinklemail@gmail.com>
Sun, 21 Sep 2014 03:06:58 +0000 (20:06 -0700)
committerTimo Tijhof <krinklemail@gmail.com>
Thu, 2 Oct 2014 20:49:42 +0000 (13:49 -0700)
Follows-up 285c52039bf4d2f9b.

Get rid of mediawiki.mediawiki.action.toolbar. Not keeping a
backwards-compat alias since this module is not supposed to be used
publicly in its current form.

Change-Id: I403216c6916e1f4d29216a55c3fe6c92eb68400b

69 files changed:
includes/EditPage.php
maintenance/jsduck/config.json
resources/Resources.php
resources/src/mediawiki.action/mediawiki.action.edit.js
resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ar/button_bold.png [deleted file]
resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ar/button_headline.png [deleted file]
resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ar/button_italic.png [deleted file]
resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ar/button_link.png [deleted file]
resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ar/button_nowiki.png [deleted file]
resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/be-tarask/button_bold.png [deleted file]
resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/be-tarask/button_italic.png [deleted file]
resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/be-tarask/button_link.png [deleted file]
resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/de/button_bold.png [deleted file]
resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/de/button_italic.png [deleted file]
resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_bold.png [deleted file]
resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_extlink.png [deleted file]
resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_headline.png [deleted file]
resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_hr.png [deleted file]
resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_image.png [deleted file]
resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_italic.png [deleted file]
resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_link.png [deleted file]
resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_media.png [deleted file]
resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_nowiki.png [deleted file]
resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_sig.png [deleted file]
resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/fa/button_bold.png [deleted file]
resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/fa/button_headline.png [deleted file]
resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/fa/button_italic.png [deleted file]
resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/fa/button_link.png [deleted file]
resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/fa/button_nowiki.png [deleted file]
resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ksh/LICENSE [deleted file]
resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ksh/button_italic.png [deleted file]
resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ru/LICENSE [deleted file]
resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ru/button_bold.png [deleted file]
resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ru/button_italic.png [deleted file]
resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ru/button_link.png [deleted file]
resources/src/mediawiki.action/mediawiki.action.edit.toolbar/mediawiki.action.edit.toolbar.less [deleted file]
resources/src/mediawiki.toolbar/images/ar/button_bold.png [new file with mode: 0644]
resources/src/mediawiki.toolbar/images/ar/button_headline.png [new file with mode: 0644]
resources/src/mediawiki.toolbar/images/ar/button_italic.png [new file with mode: 0644]
resources/src/mediawiki.toolbar/images/ar/button_link.png [new file with mode: 0644]
resources/src/mediawiki.toolbar/images/ar/button_nowiki.png [new file with mode: 0644]
resources/src/mediawiki.toolbar/images/be-tarask/button_bold.png [new file with mode: 0644]
resources/src/mediawiki.toolbar/images/be-tarask/button_italic.png [new file with mode: 0644]
resources/src/mediawiki.toolbar/images/be-tarask/button_link.png [new file with mode: 0644]
resources/src/mediawiki.toolbar/images/de/button_bold.png [new file with mode: 0644]
resources/src/mediawiki.toolbar/images/de/button_italic.png [new file with mode: 0644]
resources/src/mediawiki.toolbar/images/en/button_bold.png [new file with mode: 0644]
resources/src/mediawiki.toolbar/images/en/button_extlink.png [new file with mode: 0644]
resources/src/mediawiki.toolbar/images/en/button_headline.png [new file with mode: 0644]
resources/src/mediawiki.toolbar/images/en/button_hr.png [new file with mode: 0644]
resources/src/mediawiki.toolbar/images/en/button_image.png [new file with mode: 0644]
resources/src/mediawiki.toolbar/images/en/button_italic.png [new file with mode: 0644]
resources/src/mediawiki.toolbar/images/en/button_link.png [new file with mode: 0644]
resources/src/mediawiki.toolbar/images/en/button_media.png [new file with mode: 0644]
resources/src/mediawiki.toolbar/images/en/button_nowiki.png [new file with mode: 0644]
resources/src/mediawiki.toolbar/images/en/button_sig.png [new file with mode: 0644]
resources/src/mediawiki.toolbar/images/fa/button_bold.png [new file with mode: 0644]
resources/src/mediawiki.toolbar/images/fa/button_headline.png [new file with mode: 0644]
resources/src/mediawiki.toolbar/images/fa/button_italic.png [new file with mode: 0644]
resources/src/mediawiki.toolbar/images/fa/button_link.png [new file with mode: 0644]
resources/src/mediawiki.toolbar/images/fa/button_nowiki.png [new file with mode: 0644]
resources/src/mediawiki.toolbar/images/ksh/LICENSE [new file with mode: 0644]
resources/src/mediawiki.toolbar/images/ksh/button_italic.png [new file with mode: 0644]
resources/src/mediawiki.toolbar/images/ru/LICENSE [new file with mode: 0644]
resources/src/mediawiki.toolbar/images/ru/button_bold.png [new file with mode: 0644]
resources/src/mediawiki.toolbar/images/ru/button_italic.png [new file with mode: 0644]
resources/src/mediawiki.toolbar/images/ru/button_link.png [new file with mode: 0644]
resources/src/mediawiki.toolbar/toolbar.js [new file with mode: 0644]
resources/src/mediawiki.toolbar/toolbar.less [new file with mode: 0644]

index 8a55b1d..fab5c14 100644 (file)
@@ -3636,7 +3636,7 @@ HTML
                        )
                );
 
-               $script = 'mw.loader.using("mediawiki.action.edit", function() {';
+               $script = 'mw.loader.using("mediawiki.toolbar", function () {';
                foreach ( $toolarray as $tool ) {
                        if ( !$tool ) {
                                continue;
index e97f292..3a74804 100644 (file)
@@ -17,6 +17,7 @@
                "../../resources/src/mediawiki.language",
                "../../resources/src/mediawiki.page",
                "../../resources/src/mediawiki.special",
+               "../../resources/src/mediawiki.toolbar",
                "../../resources/src/jquery/jquery.accessKeyLabel.js",
                "../../resources/src/jquery/jquery.arrowSteps.js",
                "../../resources/src/jquery/jquery.autoEllipsis.js",
index 28be1df..4b3e356 100644 (file)
@@ -985,6 +985,11 @@ return array(
                        'jquery.cookie',
                ),
        ),
+       'mediawiki.toolbar' => array(
+               'class' => 'ResourceLoaderEditToolbarModule',
+               'scripts' => 'resources/src/mediawiki.toolbar/toolbar.js',
+               'styles' => 'resources/src/mediawiki.toolbar/toolbar.less',
+       ),
 
        /* MediaWiki Action */
 
@@ -993,7 +998,7 @@ return array(
                'styles' => 'resources/src/mediawiki.action/mediawiki.action.edit.css',
                'dependencies' => array(
                        'mediawiki.action.edit.styles',
-                       'mediawiki.action.edit.toolbar',
+                       'mediawiki.toolbar',
                        'jquery.textSelection',
                        'jquery.byteLimit',
                ),
@@ -1003,10 +1008,6 @@ return array(
                'styles' => 'resources/src/mediawiki.action/mediawiki.action.edit.styles.css',
                'position' => 'top',
        ),
-       'mediawiki.action.edit.toolbar' => array(
-               'class' => 'ResourceLoaderEditToolbarModule',
-               'styles' => 'resources/src/mediawiki.action/mediawiki.action.edit.toolbar/mediawiki.action.edit.toolbar.less',
-       ),
        'mediawiki.action.edit.collapsibleFooter' => array(
                'scripts' => 'resources/src/mediawiki.action/mediawiki.action.edit.collapsibleFooter.js',
                'styles' => 'resources/src/mediawiki.action/mediawiki.action.edit.collapsibleFooter.css',
index 4519b04..f88b836 100644 (file)
-/**
- * Interface for the classic edit toolbar.
- *
- * @class mw.toolbar
- * @singleton
+/*!
+ * Scripts for action=edit
  */
 ( function ( mw, $ ) {
-       var toolbar, isReady, $toolbar, queue, slice, $currentFocused;
-
-       /**
-        * Internal helper that does the actual insertion of the button into the toolbar.
-        *
-        * See #addButton for parameter documentation.
-        *
-        * @private
-        */
-       function insertButton( b, speedTip, tagOpen, tagClose, sampleText, imageId ) {
-               var $button;
-
-               // Backwards compatibility
-               if ( typeof b !== 'object' ) {
-                       b = {
-                               imageFile: b,
-                               speedTip: speedTip,
-                               tagOpen: tagOpen,
-                               tagClose: tagClose,
-                               sampleText: sampleText,
-                               imageId: imageId
-                       };
-               }
-
-               if ( b.imageFile ) {
-                       $button = $( '<img>' ).attr( {
-                       src: b.imageFile,
-                       alt: b.speedTip,
-                       title: b.speedTip,
-                       id: b.imageId || undefined,
-                       'class': 'mw-toolbar-editbutton'
-                       } );
-               } else {
-                       $button = $( '<div>' ).attr( {
-                               title: b.speedTip,
-                               id: b.imageId || undefined,
-                               'class': 'mw-toolbar-editbutton'
-                       } );
-               }
-
-               $button.click( function ( e ) {
-                       if ( b.onClick !== undefined ) {
-                               b.onClick( e );
-                       } else {
-                               toolbar.insertTags( b.tagOpen, b.tagClose, b.sampleText );
-                       }
-
-                       return false;
-               } );
-
-               $toolbar.append( $button );
-       }
-
-       isReady = false;
-       $toolbar = false;
-
-       /**
-        * @private
-        * @property {Array}
-        * Contains button objects (and for backwards compatibilty, it can
-        * also contains an arguments array for insertButton).
-        */
-       queue = [];
-       slice = queue.slice;
-
-       toolbar = {
-
-               /**
-                * Add buttons to the toolbar.
-                *
-                * Takes care of race conditions and time-based dependencies
-                * by placing buttons in a queue if this method is called before
-                * the toolbar is created.
-                *
-                * For backwards-compatibility, passing `imageFile`, `speedTip`, `tagOpen`, `tagClose`,
-                * `sampleText` and `imageId` as separate arguments (in this order) is also supported.
-                *
-                * @param {Object} button Object with the following properties.
-                *  You are required to provide *either* the `onClick` parameter, or the three parameters
-                *  `tagOpen`, `tagClose` and `sampleText`, but not both (they're mutually exclusive).
-                * @param {string} [button.imageFile] Image to use for the button.
-                * @param {string} button.speedTip Tooltip displayed when user mouses over the button.
-                * @param {Function} [button.onClick] Function to be executed when the button is clicked.
-                * @param {string} [button.tagOpen]
-                * @param {string} [button.tagClose]
-                * @param {string} [button.sampleText] Alternative to `onClick`. `tagOpen`, `tagClose` and
-                *  `sampleText` together provide the markup that should be inserted into page text at
-                *  current cursor position.
-                * @param {string} [button.imageId] `id` attribute of the button HTML element. Can be
-         *  used to define the image with CSS if it's not provided as `imageFile`.
-                */
-               addButton: function () {
-                       if ( isReady ) {
-                               insertButton.apply( toolbar, arguments );
-                       } else {
-                               // Convert arguments list to array
-                               queue.push( slice.call( arguments ) );
-                       }
-               },
-               /**
-                * Add multiple buttons to the toolbar (see also #addButton).
-                *
-                * Example usage:
-                *
-                *     addButtons( [ { .. }, { .. }, { .. } ] );
-                *     addButtons( { .. }, { .. } );
-                *
-                * @param {Object|Array...} [buttons] An array of button objects or the first
-                *  button object in a list of variadic arguments.
-                */
-               addButtons: function ( buttons ) {
-                       if ( !$.isArray( buttons ) ) {
-                               buttons = slice.call( arguments );
-                       }
-                       if ( isReady ) {
-                               $.each( buttons, function () {
-                                       insertButton( this );
-                               } );
-                       } else {
-                               // Push each button into the queue
-                               queue.push.apply( queue, buttons );
-                       }
-               },
-
-               /**
-                * Apply tagOpen/tagClose to selection in currently focused textarea.
-                *
-                * Uses `sampleText` if selection is empty.
-                *
-                * @param {string} tagOpen
-                * @param {string} tagClose
-                * @param {string} sampleText
-                */
-               insertTags: function ( tagOpen, tagClose, sampleText ) {
-                       if ( $currentFocused && $currentFocused.length ) {
-                               $currentFocused.textSelection(
-                                       'encapsulateSelection', {
-                                               pre: tagOpen,
-                                               peri: sampleText,
-                                               post: tagClose
-                                       }
-                               );
-                       }
-               },
-
-               // For backwards compatibility,
-               // Called from EditPage.php, maybe in other places as well.
-               init: function () {}
-       };
-
-       // Legacy (for compatibility with the code previously in skins/common.edit.js)
-       mw.log.deprecate( window, 'addButton', toolbar.addButton, 'Use mw.toolbar.addButton instead.' );
-       mw.log.deprecate( window, 'insertTags', toolbar.insertTags, 'Use mw.toolbar.insertTags instead.' );
-
-       // Expose API publicly
-       mw.toolbar = toolbar;
 
        $( function () {
-               var i, b, editBox, scrollTop, $editForm;
-
-               // Used to determine where to insert tags
-               $currentFocused = $( '#wpTextbox1' );
-
-               // Populate the selector cache for $toolbar
-               $toolbar = $( '#toolbar' );
-
-               for ( i = 0; i < queue.length; i++ ) {
-                       b = queue[i];
-                       if ( $.isArray( b ) ) {
-                               // Forwarded arguments array from mw.toolbar.addButton
-                               insertButton.apply( toolbar, b );
-                       } else {
-                               // Raw object from mw.toolbar.addButtons
-                               insertButton( b );
-                       }
-               }
-
-               // Clear queue
-               queue.length = 0;
-
-               // This causes further calls to addButton to go to insertion directly
-               // instead of to the queue.
-               // It is important that this is after the one and only loop through
-               // the the queue
-               isReady = true;
+               var editBox, scrollTop, $editForm;
 
                // Make sure edit summary does not exceed byte limit
                $( '#wpSummary' ).byteLimit( 255 );
                                scrollTop.value = editBox.scrollTop;
                        } );
                }
-
-               // Apply to dynamically created textboxes as well as normal ones
-               $( document ).on( 'focus', 'textarea, input:text', function () {
-                       $currentFocused = $( this );
-               } );
        } );
 
 }( mediaWiki, jQuery ) );
diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ar/button_bold.png b/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ar/button_bold.png
deleted file mode 100644 (file)
index e524f6c..0000000
Binary files a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ar/button_bold.png and /dev/null differ
diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ar/button_headline.png b/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ar/button_headline.png
deleted file mode 100644 (file)
index 398e561..0000000
Binary files a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ar/button_headline.png and /dev/null differ
diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ar/button_italic.png b/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ar/button_italic.png
deleted file mode 100644 (file)
index 6ec73e9..0000000
Binary files a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ar/button_italic.png and /dev/null differ
diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ar/button_link.png b/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ar/button_link.png
deleted file mode 100644 (file)
index c9c63f6..0000000
Binary files a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ar/button_link.png and /dev/null differ
diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ar/button_nowiki.png b/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ar/button_nowiki.png
deleted file mode 100644 (file)
index 743ea61..0000000
Binary files a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ar/button_nowiki.png and /dev/null differ
diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/be-tarask/button_bold.png b/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/be-tarask/button_bold.png
deleted file mode 100644 (file)
index 5c10cfe..0000000
Binary files a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/be-tarask/button_bold.png and /dev/null differ
diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/be-tarask/button_italic.png b/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/be-tarask/button_italic.png
deleted file mode 100644 (file)
index 72209d7..0000000
Binary files a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/be-tarask/button_italic.png and /dev/null differ
diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/be-tarask/button_link.png b/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/be-tarask/button_link.png
deleted file mode 100644 (file)
index 09c86fb..0000000
Binary files a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/be-tarask/button_link.png and /dev/null differ
diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/de/button_bold.png b/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/de/button_bold.png
deleted file mode 100644 (file)
index 367d5bc..0000000
Binary files a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/de/button_bold.png and /dev/null differ
diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/de/button_italic.png b/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/de/button_italic.png
deleted file mode 100644 (file)
index fdd8c9f..0000000
Binary files a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/de/button_italic.png and /dev/null differ
diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_bold.png b/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_bold.png
deleted file mode 100644 (file)
index 75c3f10..0000000
Binary files a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_bold.png and /dev/null differ
diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_extlink.png b/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_extlink.png
deleted file mode 100644 (file)
index 458943c..0000000
Binary files a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_extlink.png and /dev/null differ
diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_headline.png b/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_headline.png
deleted file mode 100644 (file)
index 9cf751d..0000000
Binary files a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_headline.png and /dev/null differ
diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_hr.png b/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_hr.png
deleted file mode 100644 (file)
index 47e1ca4..0000000
Binary files a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_hr.png and /dev/null differ
diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_image.png b/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_image.png
deleted file mode 100644 (file)
index 6919296..0000000
Binary files a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_image.png and /dev/null differ
diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_italic.png b/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_italic.png
deleted file mode 100644 (file)
index 527fbd1..0000000
Binary files a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_italic.png and /dev/null differ
diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_link.png b/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_link.png
deleted file mode 100644 (file)
index eb5634b..0000000
Binary files a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_link.png and /dev/null differ
diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_media.png b/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_media.png
deleted file mode 100644 (file)
index 4194ec1..0000000
Binary files a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_media.png and /dev/null differ
diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_nowiki.png b/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_nowiki.png
deleted file mode 100644 (file)
index 2ba818d..0000000
Binary files a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_nowiki.png and /dev/null differ
diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_sig.png b/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_sig.png
deleted file mode 100644 (file)
index fe34b3f..0000000
Binary files a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/en/button_sig.png and /dev/null differ
diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/fa/button_bold.png b/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/fa/button_bold.png
deleted file mode 100644 (file)
index c54d094..0000000
Binary files a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/fa/button_bold.png and /dev/null differ
diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/fa/button_headline.png b/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/fa/button_headline.png
deleted file mode 100644 (file)
index 9890d15..0000000
Binary files a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/fa/button_headline.png and /dev/null differ
diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/fa/button_italic.png b/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/fa/button_italic.png
deleted file mode 100644 (file)
index 33f91ed..0000000
Binary files a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/fa/button_italic.png and /dev/null differ
diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/fa/button_link.png b/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/fa/button_link.png
deleted file mode 100644 (file)
index 76b939e..0000000
Binary files a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/fa/button_link.png and /dev/null differ
diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/fa/button_nowiki.png b/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/fa/button_nowiki.png
deleted file mode 100644 (file)
index 743ea61..0000000
Binary files a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/fa/button_nowiki.png and /dev/null differ
diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ksh/LICENSE b/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ksh/LICENSE
deleted file mode 100644 (file)
index 47ecfe4..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-
-button_italic.png
--------------------
-Source : http://commons.wikimedia.org/wiki/Image:Button_S_italic.png
-License: Public domain
-Author : Purodha Blissenbach, http://ksh.wikipedia.org/wiki/User:Purodha
-
diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ksh/button_italic.png b/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ksh/button_italic.png
deleted file mode 100644 (file)
index 15496c0..0000000
Binary files a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ksh/button_italic.png and /dev/null differ
diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ru/LICENSE b/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ru/LICENSE
deleted file mode 100644 (file)
index bedcec6..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-button_bold.png
----------------
-Source : http://commons.wikimedia.org/wiki/Image:Button_bold_ukr.png
-License: Public domain
-Author : Alexey Belomoev
-
-button_italic.png
-------------------------
-Source : http://commons.wikimedia.org/wiki/Image:Button_italic_ukr.png
-License: Public domain
-Author : Alexey Belomoev
-
-button_link.png
------------------
-Source : http://commons.wikimedia.org/wiki/Image:Button_internal_link_ukr.png
-License: GPL
-Author : Saproj, Erik Möller
diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ru/button_bold.png b/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ru/button_bold.png
deleted file mode 100644 (file)
index eae30d9..0000000
Binary files a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ru/button_bold.png and /dev/null differ
diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ru/button_italic.png b/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ru/button_italic.png
deleted file mode 100644 (file)
index b958d22..0000000
Binary files a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ru/button_italic.png and /dev/null differ
diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ru/button_link.png b/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ru/button_link.png
deleted file mode 100644 (file)
index 12ad373..0000000
Binary files a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/images/ru/button_link.png and /dev/null differ
diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/mediawiki.action.edit.toolbar.less b/resources/src/mediawiki.action/mediawiki.action.edit.toolbar/mediawiki.action.edit.toolbar.less
deleted file mode 100644 (file)
index d65b284..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-@import "mediawiki.mixins";
-
-#mw-editbutton-bold {
-       .background-image("images/@{button-bold}");
-}
-
-#mw-editbutton-italic {
-       .background-image("images/@{button-italic}");
-}
-
-#mw-editbutton-link {
-       .background-image("images/@{button-link}");
-}
-
-#mw-editbutton-extlink {
-       .background-image("images/@{button-extlink}");
-}
-
-#mw-editbutton-headline {
-       .background-image("images/@{button-headline}");
-}
-
-#mw-editbutton-image {
-       .background-image("images/@{button-image}");
-}
-
-#mw-editbutton-media {
-       .background-image("images/@{button-media}");
-}
-
-#mw-editbutton-nowiki {
-       .background-image("images/@{button-nowiki}");
-}
-
-// Who decided to make only this single one different than the name of the data item?
-#mw-editbutton-signature {
-       .background-image("images/@{button-sig}");
-}
-
-#mw-editbutton-hr {
-       .background-image("images/@{button-hr}");
-}
diff --git a/resources/src/mediawiki.toolbar/images/ar/button_bold.png b/resources/src/mediawiki.toolbar/images/ar/button_bold.png
new file mode 100644 (file)
index 0000000..e524f6c
Binary files /dev/null and b/resources/src/mediawiki.toolbar/images/ar/button_bold.png differ
diff --git a/resources/src/mediawiki.toolbar/images/ar/button_headline.png b/resources/src/mediawiki.toolbar/images/ar/button_headline.png
new file mode 100644 (file)
index 0000000..398e561
Binary files /dev/null and b/resources/src/mediawiki.toolbar/images/ar/button_headline.png differ
diff --git a/resources/src/mediawiki.toolbar/images/ar/button_italic.png b/resources/src/mediawiki.toolbar/images/ar/button_italic.png
new file mode 100644 (file)
index 0000000..6ec73e9
Binary files /dev/null and b/resources/src/mediawiki.toolbar/images/ar/button_italic.png differ
diff --git a/resources/src/mediawiki.toolbar/images/ar/button_link.png b/resources/src/mediawiki.toolbar/images/ar/button_link.png
new file mode 100644 (file)
index 0000000..c9c63f6
Binary files /dev/null and b/resources/src/mediawiki.toolbar/images/ar/button_link.png differ
diff --git a/resources/src/mediawiki.toolbar/images/ar/button_nowiki.png b/resources/src/mediawiki.toolbar/images/ar/button_nowiki.png
new file mode 100644 (file)
index 0000000..743ea61
Binary files /dev/null and b/resources/src/mediawiki.toolbar/images/ar/button_nowiki.png differ
diff --git a/resources/src/mediawiki.toolbar/images/be-tarask/button_bold.png b/resources/src/mediawiki.toolbar/images/be-tarask/button_bold.png
new file mode 100644 (file)
index 0000000..5c10cfe
Binary files /dev/null and b/resources/src/mediawiki.toolbar/images/be-tarask/button_bold.png differ
diff --git a/resources/src/mediawiki.toolbar/images/be-tarask/button_italic.png b/resources/src/mediawiki.toolbar/images/be-tarask/button_italic.png
new file mode 100644 (file)
index 0000000..72209d7
Binary files /dev/null and b/resources/src/mediawiki.toolbar/images/be-tarask/button_italic.png differ
diff --git a/resources/src/mediawiki.toolbar/images/be-tarask/button_link.png b/resources/src/mediawiki.toolbar/images/be-tarask/button_link.png
new file mode 100644 (file)
index 0000000..09c86fb
Binary files /dev/null and b/resources/src/mediawiki.toolbar/images/be-tarask/button_link.png differ
diff --git a/resources/src/mediawiki.toolbar/images/de/button_bold.png b/resources/src/mediawiki.toolbar/images/de/button_bold.png
new file mode 100644 (file)
index 0000000..367d5bc
Binary files /dev/null and b/resources/src/mediawiki.toolbar/images/de/button_bold.png differ
diff --git a/resources/src/mediawiki.toolbar/images/de/button_italic.png b/resources/src/mediawiki.toolbar/images/de/button_italic.png
new file mode 100644 (file)
index 0000000..fdd8c9f
Binary files /dev/null and b/resources/src/mediawiki.toolbar/images/de/button_italic.png differ
diff --git a/resources/src/mediawiki.toolbar/images/en/button_bold.png b/resources/src/mediawiki.toolbar/images/en/button_bold.png
new file mode 100644 (file)
index 0000000..75c3f10
Binary files /dev/null and b/resources/src/mediawiki.toolbar/images/en/button_bold.png differ
diff --git a/resources/src/mediawiki.toolbar/images/en/button_extlink.png b/resources/src/mediawiki.toolbar/images/en/button_extlink.png
new file mode 100644 (file)
index 0000000..458943c
Binary files /dev/null and b/resources/src/mediawiki.toolbar/images/en/button_extlink.png differ
diff --git a/resources/src/mediawiki.toolbar/images/en/button_headline.png b/resources/src/mediawiki.toolbar/images/en/button_headline.png
new file mode 100644 (file)
index 0000000..9cf751d
Binary files /dev/null and b/resources/src/mediawiki.toolbar/images/en/button_headline.png differ
diff --git a/resources/src/mediawiki.toolbar/images/en/button_hr.png b/resources/src/mediawiki.toolbar/images/en/button_hr.png
new file mode 100644 (file)
index 0000000..47e1ca4
Binary files /dev/null and b/resources/src/mediawiki.toolbar/images/en/button_hr.png differ
diff --git a/resources/src/mediawiki.toolbar/images/en/button_image.png b/resources/src/mediawiki.toolbar/images/en/button_image.png
new file mode 100644 (file)
index 0000000..6919296
Binary files /dev/null and b/resources/src/mediawiki.toolbar/images/en/button_image.png differ
diff --git a/resources/src/mediawiki.toolbar/images/en/button_italic.png b/resources/src/mediawiki.toolbar/images/en/button_italic.png
new file mode 100644 (file)
index 0000000..527fbd1
Binary files /dev/null and b/resources/src/mediawiki.toolbar/images/en/button_italic.png differ
diff --git a/resources/src/mediawiki.toolbar/images/en/button_link.png b/resources/src/mediawiki.toolbar/images/en/button_link.png
new file mode 100644 (file)
index 0000000..eb5634b
Binary files /dev/null and b/resources/src/mediawiki.toolbar/images/en/button_link.png differ
diff --git a/resources/src/mediawiki.toolbar/images/en/button_media.png b/resources/src/mediawiki.toolbar/images/en/button_media.png
new file mode 100644 (file)
index 0000000..4194ec1
Binary files /dev/null and b/resources/src/mediawiki.toolbar/images/en/button_media.png differ
diff --git a/resources/src/mediawiki.toolbar/images/en/button_nowiki.png b/resources/src/mediawiki.toolbar/images/en/button_nowiki.png
new file mode 100644 (file)
index 0000000..2ba818d
Binary files /dev/null and b/resources/src/mediawiki.toolbar/images/en/button_nowiki.png differ
diff --git a/resources/src/mediawiki.toolbar/images/en/button_sig.png b/resources/src/mediawiki.toolbar/images/en/button_sig.png
new file mode 100644 (file)
index 0000000..fe34b3f
Binary files /dev/null and b/resources/src/mediawiki.toolbar/images/en/button_sig.png differ
diff --git a/resources/src/mediawiki.toolbar/images/fa/button_bold.png b/resources/src/mediawiki.toolbar/images/fa/button_bold.png
new file mode 100644 (file)
index 0000000..c54d094
Binary files /dev/null and b/resources/src/mediawiki.toolbar/images/fa/button_bold.png differ
diff --git a/resources/src/mediawiki.toolbar/images/fa/button_headline.png b/resources/src/mediawiki.toolbar/images/fa/button_headline.png
new file mode 100644 (file)
index 0000000..9890d15
Binary files /dev/null and b/resources/src/mediawiki.toolbar/images/fa/button_headline.png differ
diff --git a/resources/src/mediawiki.toolbar/images/fa/button_italic.png b/resources/src/mediawiki.toolbar/images/fa/button_italic.png
new file mode 100644 (file)
index 0000000..33f91ed
Binary files /dev/null and b/resources/src/mediawiki.toolbar/images/fa/button_italic.png differ
diff --git a/resources/src/mediawiki.toolbar/images/fa/button_link.png b/resources/src/mediawiki.toolbar/images/fa/button_link.png
new file mode 100644 (file)
index 0000000..76b939e
Binary files /dev/null and b/resources/src/mediawiki.toolbar/images/fa/button_link.png differ
diff --git a/resources/src/mediawiki.toolbar/images/fa/button_nowiki.png b/resources/src/mediawiki.toolbar/images/fa/button_nowiki.png
new file mode 100644 (file)
index 0000000..743ea61
Binary files /dev/null and b/resources/src/mediawiki.toolbar/images/fa/button_nowiki.png differ
diff --git a/resources/src/mediawiki.toolbar/images/ksh/LICENSE b/resources/src/mediawiki.toolbar/images/ksh/LICENSE
new file mode 100644 (file)
index 0000000..47ecfe4
--- /dev/null
@@ -0,0 +1,7 @@
+
+button_italic.png
+-------------------
+Source : http://commons.wikimedia.org/wiki/Image:Button_S_italic.png
+License: Public domain
+Author : Purodha Blissenbach, http://ksh.wikipedia.org/wiki/User:Purodha
+
diff --git a/resources/src/mediawiki.toolbar/images/ksh/button_italic.png b/resources/src/mediawiki.toolbar/images/ksh/button_italic.png
new file mode 100644 (file)
index 0000000..15496c0
Binary files /dev/null and b/resources/src/mediawiki.toolbar/images/ksh/button_italic.png differ
diff --git a/resources/src/mediawiki.toolbar/images/ru/LICENSE b/resources/src/mediawiki.toolbar/images/ru/LICENSE
new file mode 100644 (file)
index 0000000..bedcec6
--- /dev/null
@@ -0,0 +1,17 @@
+button_bold.png
+---------------
+Source : http://commons.wikimedia.org/wiki/Image:Button_bold_ukr.png
+License: Public domain
+Author : Alexey Belomoev
+
+button_italic.png
+------------------------
+Source : http://commons.wikimedia.org/wiki/Image:Button_italic_ukr.png
+License: Public domain
+Author : Alexey Belomoev
+
+button_link.png
+-----------------
+Source : http://commons.wikimedia.org/wiki/Image:Button_internal_link_ukr.png
+License: GPL
+Author : Saproj, Erik Möller
diff --git a/resources/src/mediawiki.toolbar/images/ru/button_bold.png b/resources/src/mediawiki.toolbar/images/ru/button_bold.png
new file mode 100644 (file)
index 0000000..eae30d9
Binary files /dev/null and b/resources/src/mediawiki.toolbar/images/ru/button_bold.png differ
diff --git a/resources/src/mediawiki.toolbar/images/ru/button_italic.png b/resources/src/mediawiki.toolbar/images/ru/button_italic.png
new file mode 100644 (file)
index 0000000..b958d22
Binary files /dev/null and b/resources/src/mediawiki.toolbar/images/ru/button_italic.png differ
diff --git a/resources/src/mediawiki.toolbar/images/ru/button_link.png b/resources/src/mediawiki.toolbar/images/ru/button_link.png
new file mode 100644 (file)
index 0000000..12ad373
Binary files /dev/null and b/resources/src/mediawiki.toolbar/images/ru/button_link.png differ
diff --git a/resources/src/mediawiki.toolbar/toolbar.js b/resources/src/mediawiki.toolbar/toolbar.js
new file mode 100644 (file)
index 0000000..77938db
--- /dev/null
@@ -0,0 +1,200 @@
+/**
+ * Interface for the classic edit toolbar.
+ *
+ * @class mw.toolbar
+ * @singleton
+ */
+( function ( mw, $ ) {
+       var toolbar, isReady, $toolbar, queue, slice, $currentFocused;
+
+       /**
+        * Internal helper that does the actual insertion of the button into the toolbar.
+        *
+        * See #addButton for parameter documentation.
+        *
+        * @private
+        */
+       function insertButton( b, speedTip, tagOpen, tagClose, sampleText, imageId ) {
+               var $button;
+
+               // Backwards compatibility
+               if ( typeof b !== 'object' ) {
+                       b = {
+                               imageFile: b,
+                               speedTip: speedTip,
+                               tagOpen: tagOpen,
+                               tagClose: tagClose,
+                               sampleText: sampleText,
+                               imageId: imageId
+                       };
+               }
+
+               if ( b.imageFile ) {
+                       $button = $( '<img>' ).attr( {
+                       src: b.imageFile,
+                       alt: b.speedTip,
+                       title: b.speedTip,
+                       id: b.imageId || undefined,
+                       'class': 'mw-toolbar-editbutton'
+                       } );
+               } else {
+                       $button = $( '<div>' ).attr( {
+                               title: b.speedTip,
+                               id: b.imageId || undefined,
+                               'class': 'mw-toolbar-editbutton'
+                       } );
+               }
+
+               $button.click( function ( e ) {
+                       if ( b.onClick !== undefined ) {
+                               b.onClick( e );
+                       } else {
+                               toolbar.insertTags( b.tagOpen, b.tagClose, b.sampleText );
+                       }
+
+                       return false;
+               } );
+
+               $toolbar.append( $button );
+       }
+
+       isReady = false;
+       $toolbar = false;
+
+       /**
+        * @private
+        * @property {Array}
+        * Contains button objects (and for backwards compatibilty, it can
+        * also contains an arguments array for insertButton).
+        */
+       queue = [];
+       slice = queue.slice;
+
+       toolbar = {
+
+               /**
+                * Add buttons to the toolbar.
+                *
+                * Takes care of race conditions and time-based dependencies
+                * by placing buttons in a queue if this method is called before
+                * the toolbar is created.
+                *
+                * For backwards-compatibility, passing `imageFile`, `speedTip`, `tagOpen`, `tagClose`,
+                * `sampleText` and `imageId` as separate arguments (in this order) is also supported.
+                *
+                * @param {Object} button Object with the following properties.
+                *  You are required to provide *either* the `onClick` parameter, or the three parameters
+                *  `tagOpen`, `tagClose` and `sampleText`, but not both (they're mutually exclusive).
+                * @param {string} [button.imageFile] Image to use for the button.
+                * @param {string} button.speedTip Tooltip displayed when user mouses over the button.
+                * @param {Function} [button.onClick] Function to be executed when the button is clicked.
+                * @param {string} [button.tagOpen]
+                * @param {string} [button.tagClose]
+                * @param {string} [button.sampleText] Alternative to `onClick`. `tagOpen`, `tagClose` and
+                *  `sampleText` together provide the markup that should be inserted into page text at
+                *  current cursor position.
+                * @param {string} [button.imageId] `id` attribute of the button HTML element. Can be
+         *  used to define the image with CSS if it's not provided as `imageFile`.
+                */
+               addButton: function () {
+                       if ( isReady ) {
+                               insertButton.apply( toolbar, arguments );
+                       } else {
+                               // Convert arguments list to array
+                               queue.push( slice.call( arguments ) );
+                       }
+               },
+               /**
+                * Add multiple buttons to the toolbar (see also #addButton).
+                *
+                * Example usage:
+                *
+                *     addButtons( [ { .. }, { .. }, { .. } ] );
+                *     addButtons( { .. }, { .. } );
+                *
+                * @param {Object|Array...} [buttons] An array of button objects or the first
+                *  button object in a list of variadic arguments.
+                */
+               addButtons: function ( buttons ) {
+                       if ( !$.isArray( buttons ) ) {
+                               buttons = slice.call( arguments );
+                       }
+                       if ( isReady ) {
+                               $.each( buttons, function () {
+                                       insertButton( this );
+                               } );
+                       } else {
+                               // Push each button into the queue
+                               queue.push.apply( queue, buttons );
+                       }
+               },
+
+               /**
+                * Apply tagOpen/tagClose to selection in currently focused textarea.
+                *
+                * Uses `sampleText` if selection is empty.
+                *
+                * @param {string} tagOpen
+                * @param {string} tagClose
+                * @param {string} sampleText
+                */
+               insertTags: function ( tagOpen, tagClose, sampleText ) {
+                       if ( $currentFocused && $currentFocused.length ) {
+                               $currentFocused.textSelection(
+                                       'encapsulateSelection', {
+                                               pre: tagOpen,
+                                               peri: sampleText,
+                                               post: tagClose
+                                       }
+                               );
+                       }
+               },
+
+               // For backwards compatibility,
+               // Called from EditPage.php, maybe in other places as well.
+               init: function () {}
+       };
+
+       // Legacy (for compatibility with the code previously in skins/common.edit.js)
+       mw.log.deprecate( window, 'addButton', toolbar.addButton, 'Use mw.toolbar.addButton instead.' );
+       mw.log.deprecate( window, 'insertTags', toolbar.insertTags, 'Use mw.toolbar.insertTags instead.' );
+
+       // Expose API publicly
+       mw.toolbar = toolbar;
+
+       $( function () {
+               var i, b;
+
+               // Used to determine where to insert tags
+               $currentFocused = $( '#wpTextbox1' );
+
+               // Populate the selector cache for $toolbar
+               $toolbar = $( '#toolbar' );
+
+               for ( i = 0; i < queue.length; i++ ) {
+                       b = queue[i];
+                       if ( $.isArray( b ) ) {
+                               // Forwarded arguments array from mw.toolbar.addButton
+                               insertButton.apply( toolbar, b );
+                       } else {
+                               // Raw object from mw.toolbar.addButtons
+                               insertButton( b );
+                       }
+               }
+
+               // Clear queue
+               queue.length = 0;
+
+               // This causes further calls to addButton to go to insertion directly
+               // instead of to the queue.
+               // It is important that this is after the one and only loop through
+               // the the queue
+               isReady = true;
+
+               // Apply to dynamically created textboxes as well as normal ones
+               $( document ).on( 'focus', 'textarea, input:text', function () {
+                       $currentFocused = $( this );
+               } );
+       } );
+
+}( mediaWiki, jQuery ) );
diff --git a/resources/src/mediawiki.toolbar/toolbar.less b/resources/src/mediawiki.toolbar/toolbar.less
new file mode 100644 (file)
index 0000000..d65b284
--- /dev/null
@@ -0,0 +1,42 @@
+@import "mediawiki.mixins";
+
+#mw-editbutton-bold {
+       .background-image("images/@{button-bold}");
+}
+
+#mw-editbutton-italic {
+       .background-image("images/@{button-italic}");
+}
+
+#mw-editbutton-link {
+       .background-image("images/@{button-link}");
+}
+
+#mw-editbutton-extlink {
+       .background-image("images/@{button-extlink}");
+}
+
+#mw-editbutton-headline {
+       .background-image("images/@{button-headline}");
+}
+
+#mw-editbutton-image {
+       .background-image("images/@{button-image}");
+}
+
+#mw-editbutton-media {
+       .background-image("images/@{button-media}");
+}
+
+#mw-editbutton-nowiki {
+       .background-image("images/@{button-nowiki}");
+}
+
+// Who decided to make only this single one different than the name of the data item?
+#mw-editbutton-signature {
+       .background-image("images/@{button-sig}");
+}
+
+#mw-editbutton-hr {
+       .background-image("images/@{button-hr}");
+}