Henning Snater has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/174089

Change subject: Factored out error output generation from wbtooltip
......................................................................

Factored out error output generation from wbtooltip

Change-Id: I02a2898f7a9f5ec7b8c9e5ced38fe0a8ca3ed777
---
M lib/resources/jquery.wikibase/jquery.wikibase.wbtooltip.js
M lib/resources/jquery.wikibase/resources.php
M lib/resources/jquery.wikibase/themes/default/jquery.wikibase.wbtooltip.css
M repo/resources/utilities/resources.php
M repo/resources/utilities/wikibase.utilities.ui.css
M repo/resources/utilities/wikibase.utilities.ui.js
6 files changed, 60 insertions(+), 45 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase 
refs/changes/89/174089/1

diff --git a/lib/resources/jquery.wikibase/jquery.wikibase.wbtooltip.js 
b/lib/resources/jquery.wikibase/jquery.wikibase.wbtooltip.js
index b51474e..dc1b0f7 100644
--- a/lib/resources/jquery.wikibase/jquery.wikibase.wbtooltip.js
+++ b/lib/resources/jquery.wikibase/jquery.wikibase.wbtooltip.js
@@ -2,7 +2,7 @@
  * @licence GNU GPL v2+
  * @author H. Snater < [email protected] >
  */
-( function( mw, $ ) {
+( function( mw, wb, $ ) {
 
 'use strict';
 
@@ -12,7 +12,7 @@
  * Tooltip widget enhancing jQuery.tipsy.
  * @since 0.4
  *
- * @option content {string|jQuery|wb.Error} The tooltip balloon's content.
+ * @option content {string|jQuery|Error} The tooltip balloon's content.
  *         (REQUIRED)
  *
  * @option permanent {boolean} Whether the tooltip shall be visible 
permanently (only closing with a
@@ -283,29 +283,8 @@
         * @TODO: Error tooltip should be a separate tooltip derivative.
         */
        _buildErrorTooltip: function() {
-               var $message = $( '<div/>' ).addClass( 'wb-error ' + 
this.widgetFullName + '-error' ),
-                       $mainMessage = $( '<div/>' ).text( 
this.options.content.message ).appendTo( $message );
-
-               // Append detailed error message if given; hide it behind 
toggle:
-               if( this.options.content.detailedMessage ) {
-                       $mainMessage.addClass( this.widgetFullName + 
'-error-top-message' );
-
-                       var $detailedMessage = $( '<div/>', {
-                               'class': this.widgetFullName + '-error-details',
-                               html: this.options.content.detailedMessage
-                       } )
-                       .hide();
-
-                       var $toggler = $( '<a/>' )
-                               .addClass( this.widgetFullName + 
'-error-details-link' )
-                               .text( mw.msg( 'wikibase-tooltip-error-details' 
) )
-                               .toggler( { $subject: $detailedMessage, 
duration: 'fast' } );
-
-                       $toggler.appendTo( $message );
-                       $detailedMessage.appendTo( $message );
-               }
-
-               return $message;
+               return wb.utilities.ui.buildErrorOutput( this.options.content )
+                       .addClass( this.widgetFullName + '-error' );
        },
 
        /**
@@ -321,4 +300,4 @@
 
 } );
 
-} )( mediaWiki, jQuery );
+} )( mediaWiki, wikibase, jQuery );
diff --git a/lib/resources/jquery.wikibase/resources.php 
b/lib/resources/jquery.wikibase/resources.php
index 18cf39d..53f81c5 100644
--- a/lib/resources/jquery.wikibase/resources.php
+++ b/lib/resources/jquery.wikibase/resources.php
@@ -467,11 +467,8 @@
                        ),
                        'dependencies' => array(
                                'jquery.tipsy',
-                               'jquery.ui.toggler',
                                'jquery.ui.widget',
-                       ),
-                       'messages' => array(
-                               'wikibase-tooltip-error-details',
+                               'wikibase.utilities',
                        ),
                ),
 
diff --git 
a/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.wbtooltip.css 
b/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.wbtooltip.css
index 429aef1..47bee02 100644
--- a/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.wbtooltip.css
+++ b/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.wbtooltip.css
@@ -33,19 +33,4 @@
        border-color: #B27631;
 }
 
-.wikibase-wbtooltip-tip .wikibase-wbtooltip-error-top-message {
-       border-bottom:1px dotted #B27631;
-       padding-bottom:1em;
-}
-
-.wikibase-wbtooltip-tip .wikibase-wbtooltip-error-details {
-       margin-top: .2em;
-       margin-bottom: .5em;
-       font-family: 'Courier New', Courier, 'Andale Mono', serif;
-       background-color: #FFF2E4;
-       padding: .2em;
-       border-radius: 5px;
-       font-size: .9em;
-}
-
 /***** /ERROR TOOLTIP *****/
diff --git a/repo/resources/utilities/resources.php 
b/repo/resources/utilities/resources.php
index 841939a..537a846 100644
--- a/repo/resources/utilities/resources.php
+++ b/repo/resources/utilities/resources.php
@@ -49,6 +49,7 @@
                        'dependencies' => array(
                                'wikibase',
                                'jquery.tipsy',
+                               'jquery.ui.toggler',
                                'util.inherit',
                                'mediawiki.language',
                        ),
@@ -60,6 +61,7 @@
                                'wikibase-deletedentity-item',
                                'wikibase-deletedentity-property',
                                'wikibase-deletedentity-query',
+                               'wikibase-tooltip-error-details',
                                'word-separator',
                                'parentheses',
                        ),
diff --git a/repo/resources/utilities/wikibase.utilities.ui.css 
b/repo/resources/utilities/wikibase.utilities.ui.css
index 9a1ad26..7604a3a 100644
--- a/repo/resources/utilities/wikibase.utilities.ui.css
+++ b/repo/resources/utilities/wikibase.utilities.ui.css
@@ -62,3 +62,23 @@
 }
 
 /****** /PENDING-COUNTER ******/
+
+
+/***** ERROR OUTPUT *****/
+
+.wb-error .wb-error-message {
+       border-bottom: 1px dotted #B27631;
+       padding-bottom: 1em;
+}
+
+.wb-error .wb-error-details {
+       margin-top: .2em;
+       margin-bottom: .5em;
+       font-family: 'Courier New', Courier, 'Andale Mono', serif;
+       background-color: #FFF2E4;
+       padding: .2em;
+       border-radius: 5px;
+       font-size: .9em;
+}
+
+/***** /ERROR OUTPUT *****/
diff --git a/repo/resources/utilities/wikibase.utilities.ui.js 
b/repo/resources/utilities/wikibase.utilities.ui.js
index aed9964..e727299 100644
--- a/repo/resources/utilities/wikibase.utilities.ui.js
+++ b/repo/resources/utilities/wikibase.utilities.ui.js
@@ -179,4 +179,36 @@
                return $msg;
        };
 
+       /**
+        * Generates standardized output for errors.
+        *
+        * @param {Error} error
+        * @return {jQuery}
+        */
+       wb.utilities.ui.buildErrorOutput = function( error ) {
+               var $message = $( '<div/>' ).addClass( 'wb-error' );
+
+               $message.append( $( '<div/>' ).addClass( 'wb-error-message' 
).text( error.message ) );
+
+               // Append detailed error message if given; hide it behind 
toggle:
+               if( error.detailedMessage ) {
+                       var $detailedMessage = $( '<div/>', {
+                               'class': 'wb-error-details',
+                               html: error.detailedMessage
+                       } )
+                       .hide();
+
+                       var $toggler = $( '<a/>' )
+                               .addClass( 'wb-error-details-link' )
+                               .text( mw.msg( 'wikibase-tooltip-error-details' 
) )
+                               .toggler( { $subject: $detailedMessage, 
duration: 'fast' } );
+
+                       $message
+                       .append( $toggler )
+                       .append( $detailedMessage );
+               }
+
+               return $message;
+       };
+
 }( mediaWiki, wikibase, jQuery ) );

-- 
To view, visit https://gerrit.wikimedia.org/r/174089
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I02a2898f7a9f5ec7b8c9e5ced38fe0a8ca3ed777
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Henning Snater <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to