Updates jquery.uls to upstream
This makes the functional change of grouping languages in each
region by script group.
Updating to
2c1b2dd1b8
Bug: T189090
Change-Id: Ia0947e2ac6601ddc2da2448bff3a47af12f2fcac
This commit is contained in:
@@ -145,25 +145,22 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the given list of languages grouped by script.
|
* Get the given list of languages grouped by script.
|
||||||
* @param {string} languages Array of language codes
|
* @param {string[]} languages Array of language codes to group
|
||||||
* @return {Object} Array of languages indexed by script codes
|
* @return {string[]} Array of language codes
|
||||||
*/
|
*/
|
||||||
$.uls.data.getLanguagesByScriptGroup = function ( languages ) {
|
$.uls.data.getLanguagesByScriptGroup = function ( languages ) {
|
||||||
var languagesByScriptGroup = {},
|
var languagesByScriptGroup = {},
|
||||||
language, resolvedRedirect, langScriptGroup;
|
language, languageIndex, resolvedRedirect, langScriptGroup;
|
||||||
|
|
||||||
for ( language in languages ) {
|
for ( languageIndex = 0; languageIndex < languages.length; languageIndex++ ) {
|
||||||
|
language = languages[ languageIndex ];
|
||||||
resolvedRedirect = $.uls.data.isRedirect( language ) || language;
|
resolvedRedirect = $.uls.data.isRedirect( language ) || language;
|
||||||
|
|
||||||
langScriptGroup = $.uls.data.getScriptGroupOfLanguage( resolvedRedirect );
|
langScriptGroup = $.uls.data.getScriptGroupOfLanguage( resolvedRedirect );
|
||||||
|
|
||||||
if ( !languagesByScriptGroup[ langScriptGroup ] ) {
|
if ( !languagesByScriptGroup[ langScriptGroup ] ) {
|
||||||
languagesByScriptGroup[ langScriptGroup ] = [];
|
languagesByScriptGroup[ langScriptGroup ] = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
languagesByScriptGroup[ langScriptGroup ].push( language );
|
languagesByScriptGroup[ langScriptGroup ].push( language );
|
||||||
}
|
}
|
||||||
|
|
||||||
return languagesByScriptGroup;
|
return languagesByScriptGroup;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -226,6 +223,25 @@
|
|||||||
return $.uls.data.getGroupOfScript( $.uls.data.getScript( language ) );
|
return $.uls.data.getGroupOfScript( $.uls.data.getScript( language ) );
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the list of languages sorted by script groups.
|
||||||
|
* @param {string[]} languages Array of language codes to sort
|
||||||
|
* @return {string[]} Array of language codes
|
||||||
|
*/
|
||||||
|
$.uls.data.sortByScriptGroup = function ( languages ) {
|
||||||
|
var groupedLanguages, scriptGroups, i,
|
||||||
|
allLanguages = [];
|
||||||
|
|
||||||
|
groupedLanguages = $.uls.data.getLanguagesByScriptGroup( languages );
|
||||||
|
scriptGroups = Object.keys( groupedLanguages ).sort();
|
||||||
|
|
||||||
|
for ( i = 0; i < scriptGroups.length; i++ ) {
|
||||||
|
allLanguages = allLanguages.concat( groupedLanguages[ scriptGroups[ i ] ] );
|
||||||
|
}
|
||||||
|
|
||||||
|
return allLanguages;
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A callback for sorting languages by autonym.
|
* A callback for sorting languages by autonym.
|
||||||
* Can be used as an argument to a sort function.
|
* Can be used as an argument to a sort function.
|
||||||
|
|||||||
@@ -229,6 +229,10 @@
|
|||||||
columns = [],
|
columns = [],
|
||||||
rows = [];
|
rows = [];
|
||||||
|
|
||||||
|
languages = $.uls.data.sortByScriptGroup(
|
||||||
|
languages.sort( $.uls.data.sortByAutonym )
|
||||||
|
);
|
||||||
|
|
||||||
if ( columnsPerRow === 1 ) {
|
if ( columnsPerRow === 1 ) {
|
||||||
columnsClasses = 'twelve columns';
|
columnsClasses = 'twelve columns';
|
||||||
} else if ( columnsPerRow === 2 ) {
|
} else if ( columnsPerRow === 2 ) {
|
||||||
|
|||||||
Reference in New Issue
Block a user