http://www.mediawiki.org/wiki/Special:Code/MediaWiki/89482

Revision: 89482
Author:   salvatoreingala
Date:     2011-06-04 22:07:22 +0000 (Sat, 04 Jun 2011)
Log Message:
-----------
- Added messages
- Several small fixes and improvements

Modified Paths:
--------------
    branches/salvatoreingala/Gadgets/Gadgets.i18n.php
    branches/salvatoreingala/Gadgets/Gadgets.php
    branches/salvatoreingala/Gadgets/Gadgets_body.php
    branches/salvatoreingala/Gadgets/modules/ext.gadgets.preferences.js
    branches/salvatoreingala/Gadgets/modules/jquery.formBuilder.js

Property Changed:
----------------
    branches/salvatoreingala/Gadgets/
    branches/salvatoreingala/Gadgets/Gadgets_body.php


Property changes on: branches/salvatoreingala/Gadgets
___________________________________________________________________
Modified: svn:mergeinfo
   - /trunk/extensions/Gadgets:88253-88717
   + /trunk/extensions/Gadgets:88253-89450

Modified: branches/salvatoreingala/Gadgets/Gadgets.i18n.php
===================================================================
--- branches/salvatoreingala/Gadgets/Gadgets.i18n.php   2011-06-04 21:56:44 UTC 
(rev 89481)
+++ branches/salvatoreingala/Gadgets/Gadgets.i18n.php   2011-06-04 22:07:22 UTC 
(rev 89482)
@@ -43,9 +43,17 @@
 <pre>$2</pre>
 You must have appropriate permissions on destination wiki (including the right 
to edit system messages) and import from file uploads must be enabled.',
        'gadgets-export-download' => 'Download',
+       'gadgets-configure' => 'Configure',
+       'gadgets-configuration-of' => 'Configuration of $1',
+       'gadgets-unexpected-error' => 'An unexpected error occurred. Please 
check your connection. If the problems persists, please contact the 
developers.',
+       'gadgets-save-success' => 'Settings saved successfully.',
+       'gadgets-save-failed' => 'Failed to save settings. If the problems 
persists, please contact the developers.',   
        'gadgets-ajax-wrongparams' => 'An AJAX request with wrong parameters 
has been made; this is most likely a bug.',
        'gadgets-ajax-wrongsyntax' => 'There was an unexpected error while 
reading the saved gadget\'s configuration description.',
        'gadgets-ajax-unlogged' => 'This action is only allowed to registered, 
logged in users.',
+       'gadgets-formbuilder-required' => 'This field is required.',
+       'gadgets-formbuilder-minlength' => 'Please enter at least $1 
characters.',
+       'gadgets-formbuilder-maxlength' => 'Please enter no more than $1 
characters.',
 );
 
 /** Message documentation (Message documentation)
@@ -510,10 +518,14 @@
        'gadgets-pagetext' => 'Nedenstående er en liste med de specielle 
gadgets som brugere kan aktivere i deres [[Special:Preferences|indstillinger]], 
som defineret i [[MediaWiki:Gadgets-definition|definitionerne]].
 Denne oversigtsside giver simpel adgang til de beskedsider som definerer hver 
gadgets beskrivelse og kode.',
        'gadgets-uses' => 'Bruger',
+       'gadgets-required-rights' => 'Kræver {{PLURAL:$2|rettigheden 
$1|følgende rettigheder: $1}}.',
        'gadgets-default' => 'Aktiveret for alle som standard.',
        'gadgets-export' => 'Eksporter',
        'gadgets-export-title' => 'Eksporter gadget',
        'gadgets-not-found' => 'Gadget "$1" ikke fundet.',
+       'gadgets-export-text' => 'For at eksportere værktøjet $1, klik på 
knappen "{{int:gadgets-export-download}}", gem den downloadede fil, gå til 
Special:Import på destinationswikien og læg den op. Tilføj så følgende til 
siden MediaWiki:Gadgets-definition:
+<pre>$2</pre>
+Du skal have de nødvendige rettigheder på destinationswikien (herunder 
rettigheden til at redigere systemmeddelelser) og importering via oplægning af 
filer skal være slået til.',
        'gadgets-export-download' => 'Download',
 );
 

Modified: branches/salvatoreingala/Gadgets/Gadgets.php
===================================================================
--- branches/salvatoreingala/Gadgets/Gadgets.php        2011-06-04 21:56:44 UTC 
(rev 89481)
+++ branches/salvatoreingala/Gadgets/Gadgets.php        2011-06-04 22:07:22 UTC 
(rev 89482)
@@ -63,7 +63,7 @@
 );
 
 $wgResourceModules['jquery.validate'] = array(
-       'scripts'               => array( 'jquery.validate.js' ), //TODO: 
include i18n scripts?
+       'scripts'               => array( 'jquery.validate.js' ),
        'dependencies'  => array( 'jquery' ),
        'localBasePath' => $dir . 'modules/',
        'remoteExtPath' => 'Gadgets/modules'
@@ -72,13 +72,21 @@
 $wgResourceModules['jquery.formBuilder'] = array(
        'scripts'               => array( 'jquery.formBuilder.js' ),
        'dependencies'  => array( 'jquery', 'jquery.validate' ),
+       'messages'      => array( 'gadgets-formbuilder-required', 
'gadgets-formbuilder-minlength', 'gadgets-formbuilder-maxlength' ),
        'localBasePath' => $dir . 'modules/',
        'remoteExtPath' => 'Gadgets/modules'
 );
 
 $wgResourceModules['ext.gadgets.preferences'] = array(
        'scripts'               => array( 'ext.gadgets.preferences.js' ),
-       'dependencies'  => array( 'jquery', 'jquery.json', 'jquery.ui.dialog', 
'jquery.formBuilder', 'mediawiki.htmlform', 'ext.gadgets' ),
+       'dependencies'  => array(
+               'jquery', 'jquery.json', 'jquery.ui.dialog', 
'jquery.formBuilder',
+               'mediawiki.htmlform', 'ext.gadgets'
+       ),
+       'messages'      => array(
+               'gadgets-configure', 'gadgets-configuration-of', 
'gadgets-unexpected-error',
+               'gadgets-save-success', 'gadgets-save-failed'
+       ),
        'localBasePath' => $dir . 'modules/',
        'remoteExtPath' => 'Gadgets/modules'
 );

Modified: branches/salvatoreingala/Gadgets/Gadgets_body.php
===================================================================
--- branches/salvatoreingala/Gadgets/Gadgets_body.php   2011-06-04 21:56:44 UTC 
(rev 89481)
+++ branches/salvatoreingala/Gadgets/Gadgets_body.php   2011-06-04 22:07:22 UTC 
(rev 89482)
@@ -658,7 +658,7 @@
                        $count = 0; //count of present mandatory members
                        foreach ( $optionDefinition as $fieldName => 
$fieldValue ) {
                                
-                               if ( strcmp( $fieldName, 'type' ) == 0) {
+                               if ( $fieldName == 'type' ) {
                                        continue; //'type' must not be checked
                                }
                                


Property changes on: branches/salvatoreingala/Gadgets/Gadgets_body.php
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/Gadgets-work/Gadgets_body.php:73145-76526
/branches/wmf/1.17wmf1/extensions/Gadgets/Gadgets_body.php:81884
/trunk/extensions/Gadgets/Gadgets_body.php:88253-88717
   + /branches/Gadgets-work/Gadgets_body.php:73145-76526
/branches/wmf/1.17wmf1/extensions/Gadgets/Gadgets_body.php:81884
/trunk/extensions/Gadgets/Gadgets_body.php:88253-89450

Modified: branches/salvatoreingala/Gadgets/modules/ext.gadgets.preferences.js
===================================================================
--- branches/salvatoreingala/Gadgets/modules/ext.gadgets.preferences.js 
2011-06-04 21:56:44 UTC (rev 89481)
+++ branches/salvatoreingala/Gadgets/modules/ext.gadgets.preferences.js 
2011-06-04 22:07:22 UTC (rev 89482)
@@ -18,16 +18,14 @@
                        dataType: "json",
                        success: function( response ) {
                                if ( response === true ) {
-                                       alert( 'Configuration saved 
successfully' );
+                                       alert( mw.msg( 'gadgets-save-success' ) 
);
                                        $dialog.dialog( 'close' );
                                } else {
-                                       //TODO
-                                       alert( 'Something wrong happened' );
+                                       alert( mw.msg( 'gadgets-save-failed' ) 
);
                                }
                        },
                        error: function( response ) {
-                               //TODO
-                               alert( 'Something wrong happened' );
+                               alert( mw.msg( 'gadgets-save-failed' ) );
                        }
                } );
        }
@@ -44,7 +42,7 @@
                        }
 
                        var $link = $( '<a></a>' )
-                               .text( "Configure" ) //TODO: use a message 
instead
+                               .text( mw.msg( 'gadgets-configure' ) )
                                .click( function() {
                                        var postData = 
'action=ajax&rs=GadgetsAjax::getPreferences' +
                                                        '&rsargs[]=gadget|' + 
encodeURIComponent( gadget );
@@ -61,13 +59,16 @@
                                                        
                                                        var dialogBody = $( 
response ).formBuilder();
                                                        
-                                                       //window.validator = $( 
dialogBody ).validate();
+                                                       $( dialogBody ).submit( 
function() {
+                                                               return false; 
//prevent form submission
+                                                       } );
                                                        
+                                                       
                                                        $( dialogBody ).dialog( 
{
                                                                modal: true,
                                                                width: 'auto',
                                                                resizable: 
false,
-                                                               title: 
'Configuration of ' + gadget, //TODO: use messages
+                                                               title: mw.msg( 
'gadgets-configuration-of', gadget ),
                                                                close: 
function() {
                                                                        $( this 
).dialog( 'destroy' ).empty(); //completely destroy on close
                                                                },
@@ -89,8 +90,7 @@
                                                        } );
                                                },
                                                error: function( response ) {
-                                                       //TODO
-                                                       alert( 'Something wrong 
happened' );
+                                                       alert( mw.msg( 
'gadgets-unexpected-error' ) );
                                                }
                                        } );
 

Modified: branches/salvatoreingala/Gadgets/modules/jquery.formBuilder.js
===================================================================
--- branches/salvatoreingala/Gadgets/modules/jquery.formBuilder.js      
2011-06-04 21:56:44 UTC (rev 89481)
+++ branches/salvatoreingala/Gadgets/modules/jquery.formBuilder.js      
2011-06-04 22:07:22 UTC (rev 89482)
@@ -29,7 +29,7 @@
        function EmptyField( name, desc ) {
                //Check existence of compulsory fields
                if ( typeof name == 'undefined' || !desc.type || !desc.label ) {
-                       throw new Error( "Missing arguments" ); //TODO
+                       $.error( "Missing arguments" );
                }
 
                this.$p = $( '<p/>' );
@@ -80,7 +80,7 @@
                LabelField.call( this, name, desc );
 
                if ( typeof desc.value != 'boolean' ) {
-                       throw new Error( "desc.value is invalid" );
+                       $.error( "desc.value is invalid" );
                }
                
                this.$c = $( '<input/>' )
@@ -104,7 +104,7 @@
                LabelField.call( this, name, desc );
 
                if ( typeof desc.value != 'string' ) {
-                       throw new Error( "desc.value is invalid" );
+                       $.error( "desc.value is invalid" );
                }
 
                this.$text = $( '<input/>' )
@@ -121,8 +121,6 @@
        };
 
        StringField.prototype.getValidationSettings = function() {
-               //TODO: messages
-               
                var     settings = {
                                rules: {}
                        },
@@ -136,12 +134,20 @@
                        fieldRules.required = true;
                }
                
-               if ( typeof desc.minLength != 'undefined' ) {
-                       fieldRules.minlength = desc.minLength;
+               if ( typeof desc.minlength != 'undefined' ) {
+                       fieldRules.minlength = desc.minlength;
                }
-               if ( typeof desc.maxLength != 'undefined' ) {
-                       fieldRules.maxlength = desc.maxLength;
+               if ( typeof desc.maxlength != 'undefined' ) {
+                       fieldRules.maxlength = desc.maxlength;
                }
+               
+               settings.messages = {};
+               
+               settings.messages[fieldId] = {
+                       "required": mw.msg( 'gadgets-formbuilder-required' ),
+                       "minlength": mw.msg( 'gadgets-formbuilder-minlength', 
desc.minlength ),
+                       "maxlength": mw.msg( 'gadgets-formbuilder-maxlength', 
desc.maxlength )
+               };
                                
                return settings;
        }
@@ -154,23 +160,17 @@
                "string" : StringField
        };
 
-       function log( message ) {
-               if ( typeof window.console != 'undefined' ) {
-                       console.warn( message );
-               }
-       }
-
        function buildFormBody() {
                var description  = this.get(0);
-               if (typeof description != 'object' ) {
-                       log( "description should be an object, instead of a " + 
typeof description );
+               if ( typeof description != 'object' ) {
+                       mw.log( "description should be an object, instead of a 
" + typeof description );
                        return null;
                }
 
                var $form = $( '<form/>' );
                var $fieldset = $( '<fieldset/>' ).appendTo( $form );
 
-               if (typeof description.label == 'string' ) {
+               if ( typeof description.label == 'string' ) {
                        $( '<legend/>' )
                                .text( $s( description.label ) )
                                .appendTo( $fieldset );
@@ -178,8 +178,8 @@
 
                //TODO: manage form params
 
-               if (typeof description.fields != 'object' ) {
-                       log( "description.fields should be an object, instead 
of a " + typeof description.fields );
+               if ( typeof description.fields != 'object' ) {
+                       mw.log( "description.fields should be an object, 
instead of a " + typeof description.fields );
                        return null;
                }
 
@@ -197,14 +197,14 @@
                                var FieldConstructor = validFields[field.type];
 
                                if ( typeof FieldConstructor != 'function' ) {
-                                       log( "field with invalid type: " + 
field.type );
+                                       mw.log( "field with invalid type: " + 
field.type );
                                        return null;
                                }
 
                                try {
                                        var f = new FieldConstructor( 
fieldName, field );
                                } catch ( e ) {
-                                       log( e );
+                                       mw.log( e );
                                        return null; //constructor failed, 
wrong syntax in field description
                                }
                                
@@ -218,9 +218,6 @@
                                }
                                
                                fields.push( f );
-                               
-                               //TODO: validation of the field
-                               
                        }
                }
 


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

Reply via email to