'ajax-add-category-summary' => 'Add category "$1"',
'ajax-edit-category-summary' => 'Change category "$1" to "$2"',
'ajax-remove-category-summary' => 'Remove category "$1"',
+'ajax-add-category-question' => 'Why do you want to add category "$1"?',
+'ajax-edit-category-question' => 'Why do you want to change category "$1" to "$2"?',
+'ajax-remove-category-question'=> 'Why do you want to remove category "$1"?',
'ajax-confirm-actionsummary' => 'Action to take:',
'ajax-error-title' => 'Error',
'ajax-error-dismiss' => 'OK',
'ajax-add-category-summary',
'ajax-edit-category-summary',
'ajax-remove-category-summary',
+ 'ajax-add-category-question',
+ 'ajax-edit-category-question',
+ 'ajax-remove-category-question',
'ajax-confirm-actionsummary',
'ajax-error-title',
'ajax-error-dismiss',
'ajax-add-category-summary',
'ajax-remove-category-summary',
'ajax-edit-category-summary',
+ 'ajax-add-category-question',
+ 'ajax-edit-category-question',
+ 'ajax-remove-category-question',
'ajax-confirm-actionsummary',
'ajax-error-title',
'ajax-error-dismiss',
// strip out bad characters
cat = _stripIllegals ( cat );
- if ( $.isEmpty( cat ) || _containsCat( cat ) ) {
+ if ( $.isEmpty( cat ) || this.containsCat( cat ) ) {
return;
}
*
* @return boolean True for exists
*/
- _containsCat = function ( cat ) {
+ this.containsCat = function ( cat ) {
return _getCats().filter( function() { return $.ucFirst(this) == $.ucFirst(cat); } ).length !== 0;
};
var category = $( this ).parent().find( '.mw-addcategory-input' ).val();
category = $.ucFirst( category );
- if ( _containsCat(category) ) {
+ if ( this.containsCat(category) ) {
_showError( mw.msg( 'ajax-category-already-present', category ) );
return;
}
},
summary,
function() {
+ $container.find( '#mw-normal-catlinks>.mw-addcategory-prompt' ).toggle();
_insertCatDOM( category, false );
}
);
// Now make a new version
mw.ajaxCategories = new ajaxCategories();
-// Executing only on doc.ready, so that everyone
-// gets a chance to set mw.config.set('disableAJAXCategories')
-$( document ).ready( mw.ajaxCategories.setup() );
-
} )( jQuery, mediaWiki );
\ No newline at end of file
$tocToggleLink.click();
}
}
+ /* Ajax Categories */
+ if ( mw.ajaxCategories ) {
+ // Execute only on doc.ready, so that everyone
+ // gets a chance to set mw.config.set('disableAJAXCategories')
+ mw.ajaxCategories.setup()
+ }
} );
return true;
<script src="../../resources/jquery/jquery.localize.js"></script>
<script src="../../resources/jquery/jquery.tabIndex.js"></script>
<script src="../../resources/jquery/jquery.tablesorter.js"></script>
+ <script src="../../resources/jquery/jquery.suggestions.js"></script>
<script src="../../resources/mediawiki/mediawiki.Title.js"></script>
<script src="../../resources/mediawiki.special/mediawiki.special.js"></script>
<script src="../../resources/mediawiki.special/mediawiki.special.recentchanges.js"></script>
+ <script src="../../resources/mediawiki.page/mediawiki.page.ajaxCategories.js"></script>
<!-- QUnit: Load framework -->
<link rel="stylesheet" href="../../resources/jquery/jquery.qunit.css" />
<script src="suites/resources/jquery/jquery.tablesorter.test.js" charset="UTF-8"></script>
<script src="suites/resources/mediawiki/mediawiki.Title.js"></script>
<script src="suites/resources/mediawiki.special/mediawiki.special.recentchanges.js"></script>
+ <!--<script src="suites/resources/mediawiki.page/mediawiki.page.ajaxCategories.js"></script>-->
</head>
<body>
<h1 id="qunit-header">MediaWiki JavaScript Test Suite</h1>
<h2 id="qunit-userAgent"></h2>
<ol id="qunit-tests"></ol>
-<!-- Scripts inserting stuff here shall remove it themselfs! -->
+<!-- Scripts inserting stuff here shall remove it themselves! -->
<div id="content"></div>
</body>
</html>
--- /dev/null
+(function( mw ) {
+
+module( 'mediawiki.page.ajaxCategories.js' );
+mw.config.set( 'wgNamespaceIds', {'category' : 14} );
+test( '-- Initial check', function() {
+ expect(1);
+ ok( mw.ajaxCategories, 'mw.ajaxCategories defined' );
+});
+
+/**
+ * Create a category list like the one found below articles.
+ * @param {String[]} categories
+ * @return jQuery
+ */
+var listCreate = function( categories ) {
+ var $container = $('<div id="catlinks" class="catlinks"><div id="mw-normal-catlinks"><ul></ul></div></div>'),
+ $ul = $container.find('ul');
+ $.each( categories, function(i, str) {
+ var $li = $('<li>');
+ $li.text(str).appendTo($ul);
+ });
+
+ return $container;
+};
+catList1 = ['Earth satellites', 'Space stations', 'astronauts'];
+
+test( 'Testing containsCat', function() {
+ expect(1);
+ $( 'body' ).append( listCreate(catList1) );
+ mw.ajaxCategories.setup();
+ var ret = mw.ajaxCategories.containsCat('Earth satellites')
+
+ equal(ret, true);
+});
+
+})( mediaWiki );
\ No newline at end of file