Update from GitHub
Utils refactoring CSS lint bug 39932: Clicking twice in a region moves the focus to the Worldwide region Change-Id: I7853700a077db8de7dbe3c57fd71b829784f2fe6
This commit is contained in:
@@ -180,7 +180,7 @@ input:focus#languagefilter {
|
|||||||
float: right;
|
float: right;
|
||||||
}
|
}
|
||||||
|
|
||||||
span#languagefilter-clear {
|
#languagefilter-clear {
|
||||||
/* @embed */
|
/* @embed */
|
||||||
background: url('../images/clear.png') no-repeat scroll left center
|
background: url('../images/clear.png') no-repeat scroll left center
|
||||||
transparent;
|
transparent;
|
||||||
@@ -553,7 +553,7 @@ img {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.uls-language-block ul {
|
.uls-language-block ul {
|
||||||
margin: 0px 0px 1.6em;
|
margin: 0 0 1.6em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.uls-language-list ul li {
|
.uls-language-list ul li {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/*! jquery.uls - v0.1.0 - 2012-10-07
|
/*! jquery.uls - v0.1.0 - 2012-10-08
|
||||||
* https://github.com/wikimedia/jquery.uls
|
* https://github.com/wikimedia/jquery.uls
|
||||||
* Copyright (c) 2012 Santhosh Thottingal; Licensed GPL, MIT */
|
* Copyright (c) 2012 Santhosh Thottingal; Licensed GPL, MIT */
|
||||||
|
|
||||||
@@ -30,52 +30,81 @@
|
|||||||
( function ( $ ) {
|
( function ( $ ) {
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log deprecated functions
|
||||||
|
*/
|
||||||
|
function deprecated( oldFunc, newFunc ) {
|
||||||
|
if ( window.console && window.console.log ) {
|
||||||
|
window.console.log( oldFunc + " is deprecated. Please use " + newFunc );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the script of the language.
|
* Returns the script of the language.
|
||||||
* @param string language code
|
* @param string language code
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
$.uls.data.script = function( language ) {
|
$.uls.data.getScript = function( language ) {
|
||||||
return $.uls.data.languages[language][0];
|
return $.uls.data.languages[language][0];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
$.uls.data.script = function( language ) { // deprecated
|
||||||
|
deprecated( "script", "getScript" );
|
||||||
|
return $.uls.data.getScript( language );
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the regions in which a language is spoken.
|
* Returns the regions in which a language is spoken.
|
||||||
* @param string language code
|
* @param string language code
|
||||||
* @return array of strings
|
* @return array|string 'UNKNOWN'
|
||||||
*/
|
*/
|
||||||
$.uls.data.regions = function( language ) {
|
$.uls.data.getRegions = function( language ) {
|
||||||
return ( $.uls.data.languages[language] && $.uls.data.languages[language][1] ) || 'UNKNOWN';
|
return ( $.uls.data.languages[language] && $.uls.data.languages[language][1] ) || 'UNKNOWN';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
$.uls.data.regions = function( language ) { // deprecated
|
||||||
|
deprecated( "regions", "getRegions" );
|
||||||
|
return $.uls.data.getRegions( language );
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the autonym of the language.
|
* Returns the autonym of the language.
|
||||||
* @param string language code
|
* @param string language code
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
$.uls.data.autonym = function( language ) {
|
$.uls.data.getAutonym = function( language ) {
|
||||||
return ( $.uls.data.languages[language] && $.uls.data.languages[language][2] ) || language;
|
return ( $.uls.data.languages[language] && $.uls.data.languages[language][2] ) || language;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
$.uls.data.autonym = function( language ) { // deprecated
|
||||||
|
deprecated( "autonym", "getAutonym" );
|
||||||
|
return $.uls.data.getAutonym( language );
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns all language codes and corresponding autonyms
|
* Returns all language codes and corresponding autonyms
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
$.uls.data.autonyms = function() {
|
$.uls.data.getAutonyms = function() {
|
||||||
var autonymsByCode = {};
|
var autonymsByCode = {};
|
||||||
|
|
||||||
for ( var language in $.uls.data.languages ) {
|
for ( var language in $.uls.data.languages ) {
|
||||||
autonymsByCode[language] = $.uls.data.autonym( language );
|
autonymsByCode[language] = $.uls.data.getAutonym( language );
|
||||||
}
|
}
|
||||||
|
|
||||||
return autonymsByCode;
|
return autonymsByCode;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
$.uls.data.autonyms = function() { // deprecated
|
||||||
|
deprecated( "autonyms", "getAutonyms" );
|
||||||
|
return $.uls.data.getAutonyms();
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns an array of all region codes.
|
* Returns an array of all region codes.
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
$.uls.data.allRegions = function() {
|
$.uls.data.getAllRegions = function() {
|
||||||
var allRegions = [];
|
var allRegions = [];
|
||||||
|
|
||||||
for( var region in $.uls.data.regiongroups ) {
|
for( var region in $.uls.data.regiongroups ) {
|
||||||
@@ -85,26 +114,36 @@
|
|||||||
return allRegions;
|
return allRegions;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
$.uls.data.allRegions = function() { // deprecated
|
||||||
|
deprecated( "allRegions", "getAllRegions" );
|
||||||
|
return $.uls.data.getAllRegions();
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns all languages written in script.
|
* Returns all languages written in script.
|
||||||
* @param script string
|
* @param script string
|
||||||
* @return array of strings (languages codes)
|
* @return array of strings (languages codes)
|
||||||
*/
|
*/
|
||||||
$.uls.data.languagesInScript = function( script ) {
|
$.uls.data.getLanguagesInScript = function( script ) {
|
||||||
return $.uls.data.languagesInScripts( [ script ] );
|
return $.uls.data.languagesInScripts( [ script ] );
|
||||||
};
|
};
|
||||||
|
|
||||||
|
$.uls.data.languagesInScript = function( script ) { // deprecated
|
||||||
|
deprecated( "languagesInScript", "getLanguagesInScript" );
|
||||||
|
return $.uls.data.getLanguagesInScript( script );
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns all languages written in the given scripts.
|
* Returns all languages written in the given scripts.
|
||||||
* @param scripts array of strings
|
* @param scripts array of strings
|
||||||
* @return array of strings (languages codes)
|
* @return array of strings (languages codes)
|
||||||
*/
|
*/
|
||||||
$.uls.data.languagesInScripts = function( scripts ) {
|
$.uls.data.getLanguagesInScripts = function( scripts ) {
|
||||||
var languagesInScripts = [];
|
var languagesInScripts = [];
|
||||||
|
|
||||||
for ( var language in $.uls.data.languages ) {
|
for ( var language in $.uls.data.languages ) {
|
||||||
for ( var i = 0; i < scripts.length; i++ ) {
|
for ( var i = 0; i < scripts.length; i++ ) {
|
||||||
if ( scripts[i] === $.uls.data.script(language) ) {
|
if ( scripts[i] === $.uls.data.getScript( language ) ) {
|
||||||
languagesInScripts.push( language );
|
languagesInScripts.push( language );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -114,13 +153,23 @@
|
|||||||
return languagesInScripts;
|
return languagesInScripts;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
$.uls.data.languagesInScripts = function( scripts ) { // deprecated
|
||||||
|
deprecated( "languagesInScripts", "getLanguagesInScripts" );
|
||||||
|
return $.uls.data.getLanguagesInScripts( scripts );
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns all languages in a given region.
|
* Returns all languages in a given region.
|
||||||
* @param region string
|
* @param region string
|
||||||
* @return array of strings (languages codes)
|
* @return array of strings (languages codes)
|
||||||
*/
|
*/
|
||||||
$.uls.data.languagesInRegion = function( region ) {
|
$.uls.data.getLanguagesInRegion = function( region ) {
|
||||||
return $.uls.data.languagesInRegions( [ region ] );
|
return $.uls.data.getLanguagesInRegions( [ region ] );
|
||||||
|
};
|
||||||
|
|
||||||
|
$.uls.data.languagesInRegion = function( region ) { // deprecated
|
||||||
|
deprecated( "languagesInRegion", "getLanguagesInRegion" );
|
||||||
|
return $.uls.data.getLanguagesInRegion( region );
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -128,12 +177,12 @@
|
|||||||
* @param region array of strings.
|
* @param region array of strings.
|
||||||
* @return array of strings (languages codes)
|
* @return array of strings (languages codes)
|
||||||
*/
|
*/
|
||||||
$.uls.data.languagesInRegions = function( regions ) {
|
$.uls.data.getLanguagesInRegions = function( regions ) {
|
||||||
var languagesInRegions = [];
|
var languagesInRegions = [];
|
||||||
|
|
||||||
for ( var language in $.uls.data.languages ) {
|
for ( var language in $.uls.data.languages ) {
|
||||||
for ( var i = 0; i < regions.length; i++ ) {
|
for ( var i = 0; i < regions.length; i++ ) {
|
||||||
if ( $.inArray( regions[i], $.uls.data.regions( language ) ) !== -1 ) {
|
if ( $.inArray( regions[i], $.uls.data.getRegions( language ) ) !== -1 ) {
|
||||||
languagesInRegions.push( language );
|
languagesInRegions.push( language );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -143,13 +192,23 @@
|
|||||||
return languagesInRegions;
|
return languagesInRegions;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
$.uls.data.languagesInRegions = function( regions ) { // deprecated
|
||||||
|
deprecated( "languagesInRegions", "getLanguagesInRegions" );
|
||||||
|
return $.uls.data.getLanguagesInRegions( regions );
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns all languages in a region group.
|
* Returns all languages in a region group.
|
||||||
* @param groupNum number.
|
* @param groupNum number.
|
||||||
* @return array of strings (languages codes)
|
* @return array of strings (languages codes)
|
||||||
*/
|
*/
|
||||||
$.uls.data.languagesInRegionGroup = function( groupNum ) {
|
$.uls.data.getLanguagesInRegionGroup = function( groupNum ) {
|
||||||
return $.uls.data.languagesInRegions( $.uls.data.regionsInGroup( groupNum ) );
|
return $.uls.data.getLanguagesInRegions( $.uls.data.getRegionsInGroup( groupNum ) );
|
||||||
|
};
|
||||||
|
|
||||||
|
$.uls.data.languagesInRegionGroup = function( groupNum ) { // deprecated
|
||||||
|
deprecated( "languagesInRegionGroup", "getLanguagesInRegionGroup" );
|
||||||
|
return $.uls.data.getLanguagesInRegionGroup( groupNum );
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -158,12 +217,12 @@
|
|||||||
* @param string region code
|
* @param string region code
|
||||||
* @return associative array
|
* @return associative array
|
||||||
*/
|
*/
|
||||||
$.uls.data.languagesByScriptInRegion = function( region ) {
|
$.uls.data.getLanguagesByScriptInRegion = function( region ) {
|
||||||
var languagesByScriptInRegion = {};
|
var languagesByScriptInRegion = {};
|
||||||
|
|
||||||
for ( var language in $.uls.data.languages ) {
|
for ( var language in $.uls.data.languages ) {
|
||||||
if ( $.inArray( region, $.uls.data.regions( language ) ) !== -1 ) {
|
if ( $.inArray( region, $.uls.data.getRegions( language ) ) !== -1 ) {
|
||||||
var script = $.uls.data.script( language );
|
var script = $.uls.data.getScript( language );
|
||||||
if ( languagesByScriptInRegion[script] === undefined ) {
|
if ( languagesByScriptInRegion[script] === undefined ) {
|
||||||
languagesByScriptInRegion[script] = [];
|
languagesByScriptInRegion[script] = [];
|
||||||
}
|
}
|
||||||
@@ -174,14 +233,24 @@
|
|||||||
return languagesByScriptInRegion;
|
return languagesByScriptInRegion;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
$.uls.data.languagesByScriptInRegion = function( region ) { // deprecated
|
||||||
|
deprecated( "languagesByScriptInRegion", "getLanguagesByScriptInRegion" );
|
||||||
|
return $.uls.data.getLanguagesByScriptInRegion( region );
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns an associative array of languages in a region,
|
* Returns an associative array of languages in a region,
|
||||||
* grouped by script group.
|
* grouped by script group.
|
||||||
* @param string region code
|
* @param string region code
|
||||||
* @return associative array
|
* @return associative array
|
||||||
*/
|
*/
|
||||||
$.uls.data.languagesByScriptGroupInRegion = function( region ) {
|
$.uls.data.getLanguagesByScriptGroupInRegion = function( region ) {
|
||||||
return $.uls.data.languagesByScriptGroupInRegions( [ region ] );
|
return $.uls.data.getLanguagesByScriptGroupInRegions( [ region ] );
|
||||||
|
};
|
||||||
|
|
||||||
|
$.uls.data.languagesByScriptGroupInRegion = function( region ) { // deprecated
|
||||||
|
deprecated( "languagesByScriptGroupInRegion", "getLanguagesByScriptGroupInRegion" );
|
||||||
|
return $.uls.data.getLanguagesByScriptGroupInRegion( region );
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -189,8 +258,13 @@
|
|||||||
* grouped by script group.
|
* grouped by script group.
|
||||||
* @return associative array
|
* @return associative array
|
||||||
*/
|
*/
|
||||||
$.uls.data.allLanguagesByScriptGroup = function() {
|
$.uls.data.getAllLanguagesByScriptGroup = function() {
|
||||||
return $.uls.data.languagesByScriptGroupInRegions( $.uls.data.allRegions() );
|
return $.uls.data.getLanguagesByScriptGroupInRegions( $.uls.data.getAllRegions() );
|
||||||
|
};
|
||||||
|
|
||||||
|
$.uls.data.allLanguagesByScriptGroup = function() { // deprecated
|
||||||
|
deprecated( "allLanguagesByScriptGroup", "getAllLanguagesByScriptGroup" );
|
||||||
|
return $.uls.data.getAllLanguagesByScriptGroup();
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -198,7 +272,7 @@
|
|||||||
* @param languages Array of language codes
|
* @param languages Array of language codes
|
||||||
* @return {Object} Array of languages indexed by script codes
|
* @return {Object} Array of languages indexed by script codes
|
||||||
*/
|
*/
|
||||||
$.uls.data.languagesByScriptGroup = function( languages ) {
|
$.uls.data.getLanguagesByScriptGroup = function( languages ) {
|
||||||
var languagesByScriptGroup = {},
|
var languagesByScriptGroup = {},
|
||||||
scriptGroup,
|
scriptGroup,
|
||||||
language,
|
language,
|
||||||
@@ -206,7 +280,7 @@
|
|||||||
|
|
||||||
for ( scriptGroup in $.uls.data.scriptgroups ) {
|
for ( scriptGroup in $.uls.data.scriptgroups ) {
|
||||||
for ( language in languages ) {
|
for ( language in languages ) {
|
||||||
langScriptGroup = $.uls.data.scriptGroupOfLanguage( language );
|
langScriptGroup = $.uls.data.getScriptGroupOfLanguage( language );
|
||||||
if( langScriptGroup !== scriptGroup ) {
|
if( langScriptGroup !== scriptGroup ) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@@ -220,19 +294,24 @@
|
|||||||
return languagesByScriptGroup;
|
return languagesByScriptGroup;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
$.uls.data.languagesByScriptGroup = function( languages ) { // deprecated
|
||||||
|
deprecated( "languagesByScriptGroup", "getLanguagesByScriptGroup" );
|
||||||
|
return $.uls.data.getLanguagesByScriptGroup( languages );
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns an associative array of languages in several regions,
|
* Returns an associative array of languages in several regions,
|
||||||
* grouped by script group.
|
* grouped by script group.
|
||||||
* @param array of strings - region codes
|
* @param array of strings - region codes
|
||||||
* @return associative array
|
* @return associative array
|
||||||
*/
|
*/
|
||||||
$.uls.data.languagesByScriptGroupInRegions = function( regions ) {
|
$.uls.data.getLanguagesByScriptGroupInRegions = function( regions ) {
|
||||||
var languagesByScriptGroupInRegions = {};
|
var languagesByScriptGroupInRegions = {};
|
||||||
|
|
||||||
for ( var language in $.uls.data.languages ) {
|
for ( var language in $.uls.data.languages ) {
|
||||||
for ( var i = 0; i < regions.length; i++ ) {
|
for ( var i = 0; i < regions.length; i++ ) {
|
||||||
if ( $.inArray( regions[i], $.uls.data.regions( language ) ) !== -1 ) {
|
if ( $.inArray( regions[i], $.uls.data.getRegions( language ) ) !== -1 ) {
|
||||||
var scriptGroup = $.uls.data.scriptGroupOfLanguage( language );
|
var scriptGroup = $.uls.data.getScriptGroupOfLanguage( language );
|
||||||
if ( languagesByScriptGroupInRegions[scriptGroup] === undefined ) {
|
if ( languagesByScriptGroupInRegions[scriptGroup] === undefined ) {
|
||||||
languagesByScriptGroupInRegions[scriptGroup] = [];
|
languagesByScriptGroupInRegions[scriptGroup] = [];
|
||||||
}
|
}
|
||||||
@@ -245,12 +324,17 @@
|
|||||||
return languagesByScriptGroupInRegions;
|
return languagesByScriptGroupInRegions;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
$.uls.data.languagesByScriptGroupInRegions = function( regions ) { // deprecated
|
||||||
|
deprecated( "languagesByScriptGroupInRegions", "getLanguagesByScriptGroupInRegions" );
|
||||||
|
return $.uls.data.getLanguagesByScriptGroupInRegions( regions );
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns an array of languages grouped by region group,
|
* Returns an array of languages grouped by region group,
|
||||||
* region, script group and script.
|
* region, script group and script.
|
||||||
* @return associative array
|
* @return associative array
|
||||||
*/
|
*/
|
||||||
$.uls.data.allLanguagesByRegionAndScript = function() {
|
$.uls.data.getAllLanguagesByRegionAndScript = function() {
|
||||||
var allLanguagesByRegionAndScript = {},
|
var allLanguagesByRegionAndScript = {},
|
||||||
region,
|
region,
|
||||||
regionGroup;
|
regionGroup;
|
||||||
@@ -264,9 +348,9 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
for ( var language in $.uls.data.languages ) {
|
for ( var language in $.uls.data.languages ) {
|
||||||
var script = $.uls.data.script( language );
|
var script = $.uls.data.getScript( language );
|
||||||
var scriptGroup = $.uls.data.groupOfScript( script );
|
var scriptGroup = $.uls.data.getGroupOfScript( script );
|
||||||
var regions = $.uls.data.regions( language );
|
var regions = $.uls.data.getRegions( language );
|
||||||
|
|
||||||
for ( var regionNum = 0; regionNum < regions.length; regionNum++ ) {
|
for ( var regionNum = 0; regionNum < regions.length; regionNum++ ) {
|
||||||
region = regions[regionNum];
|
region = regions[regionNum];
|
||||||
@@ -287,12 +371,17 @@
|
|||||||
return allLanguagesByRegionAndScript;
|
return allLanguagesByRegionAndScript;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
$.uls.data.allLanguagesByRegionAndScript = function() { // deprecated
|
||||||
|
deprecated( "allLanguagesByRegionAndScript", "getAllLanguagesByRegionAndScript" );
|
||||||
|
return $.uls.data.getAllLanguagesByRegionAndScript();
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns all regions in a region group.
|
* Returns all regions in a region group.
|
||||||
* @param number groupNum
|
* @param number groupNum
|
||||||
* @return array of strings
|
* @return array of strings
|
||||||
*/
|
*/
|
||||||
$.uls.data.regionsInGroup = function( groupNum ) {
|
$.uls.data.getRegionsInGroup = function( groupNum ) {
|
||||||
var regionsInGroup = [];
|
var regionsInGroup = [];
|
||||||
|
|
||||||
for ( var region in $.uls.data.regiongroups ) {
|
for ( var region in $.uls.data.regiongroups ) {
|
||||||
@@ -304,13 +393,18 @@
|
|||||||
return regionsInGroup;
|
return regionsInGroup;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
$.uls.data.regionsInGroup = function( groupNum ) { // deprecated
|
||||||
|
deprecated( "regionsInGroup", "getRegionsInGroup" );
|
||||||
|
return $.uls.data.getRegionsInGroup( groupNum );
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the script group of a script or 'Other' if it doesn't
|
* Returns the script group of a script or 'Other' if it doesn't
|
||||||
* belong to any group.
|
* belong to any group.
|
||||||
* @param string script code
|
* @param string script code
|
||||||
* @return string script group name
|
* @return string script group name
|
||||||
*/
|
*/
|
||||||
$.uls.data.groupOfScript = function( script ) {
|
$.uls.data.getGroupOfScript = function( script ) {
|
||||||
for ( var group in $.uls.data.scriptgroups ) {
|
for ( var group in $.uls.data.scriptgroups ) {
|
||||||
if ( $.inArray( script, $.uls.data.scriptgroups[group] ) !== -1 ) {
|
if ( $.inArray( script, $.uls.data.scriptgroups[group] ) !== -1 ) {
|
||||||
return group;
|
return group;
|
||||||
@@ -320,13 +414,23 @@
|
|||||||
return 'Other';
|
return 'Other';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
$.uls.data.groupOfScript = function( script ) { // deprecated
|
||||||
|
deprecated( "groupOfScript", "getGroupOfScript" );
|
||||||
|
return $.uls.data.getGroupOfScript( script );
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the script group of a language.
|
* Returns the script group of a language.
|
||||||
* @param string language code
|
* @param string language code
|
||||||
* @return string script group name
|
* @return string script group name
|
||||||
*/
|
*/
|
||||||
$.uls.data.scriptGroupOfLanguage = function( language ) {
|
$.uls.data.getScriptGroupOfLanguage = function( language ) {
|
||||||
return $.uls.data.groupOfScript( $.uls.data.script( language ) );
|
return $.uls.data.getGroupOfScript( $.uls.data.getScript( language ) );
|
||||||
|
};
|
||||||
|
|
||||||
|
$.uls.data.scriptGroupOfLanguage = function( language ) { // deprecated
|
||||||
|
deprecated( "scriptGroupOfLanguage", "getScriptGroupOfLanguage" );
|
||||||
|
return $.uls.data.getScriptGroupOfLanguage( language );
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -335,8 +439,8 @@
|
|||||||
* @param two language codes
|
* @param two language codes
|
||||||
*/
|
*/
|
||||||
$.uls.data.sortByAutonym = function( a, b ) {
|
$.uls.data.sortByAutonym = function( a, b ) {
|
||||||
var autonymA = $.uls.data.autonym( a ) || a,
|
var autonymA = $.uls.data.getAutonym( a ) || a,
|
||||||
autonymB = $.uls.data.autonym( b ) || b;
|
autonymB = $.uls.data.getAutonym( b ) || b;
|
||||||
return ( autonymA.toLowerCase() < autonymB.toLowerCase() ) ? -1 : 1;
|
return ( autonymA.toLowerCase() < autonymB.toLowerCase() ) ? -1 : 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -346,7 +450,7 @@
|
|||||||
* @return boolean
|
* @return boolean
|
||||||
*/
|
*/
|
||||||
$.uls.data.isRtl = function( language ) {
|
$.uls.data.isRtl = function( language ) {
|
||||||
return $.inArray( $.uls.data.script( language ), $.uls.data.rtlscripts ) !== -1;
|
return $.inArray( $.uls.data.getScript( language ), $.uls.data.rtlscripts ) !== -1;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -363,9 +467,14 @@
|
|||||||
* @param string Territory code
|
* @param string Territory code
|
||||||
* @return list of language codes
|
* @return list of language codes
|
||||||
*/
|
*/
|
||||||
$.uls.data.languagesInTerritory = function( territory ) {
|
$.uls.data.getLanguagesInTerritory = function( territory ) {
|
||||||
return $.uls.data.territories[territory];
|
return $.uls.data.territories[territory];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
$.uls.data.languagesInTerritory = function( territory ) { // deprecated
|
||||||
|
deprecated( "languagesInTerritory", "getLanguagesInTerritory" );
|
||||||
|
return $.uls.data.getLanguagesInTerritory( territory );
|
||||||
|
};
|
||||||
} ( jQuery ) );
|
} ( jQuery ) );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -444,13 +553,13 @@
|
|||||||
addToRegion: function( langCode, region ) {
|
addToRegion: function( langCode, region ) {
|
||||||
var that = this;
|
var that = this;
|
||||||
var language = that.options.languages[langCode],
|
var language = that.options.languages[langCode],
|
||||||
langName = $.uls.data.autonym( langCode ) || language || langCode,
|
langName = $.uls.data.getAutonym( langCode ) || language || langCode,
|
||||||
regions = [];
|
regions = [];
|
||||||
|
|
||||||
if ( region ) {
|
if ( region ) {
|
||||||
regions.push( region );
|
regions.push( region );
|
||||||
} else {
|
} else {
|
||||||
regions = $.uls.data.regions( langCode );
|
regions = $.uls.data.getRegions( langCode );
|
||||||
}
|
}
|
||||||
|
|
||||||
// World wide languages need not be repeated in all regions.
|
// World wide languages need not be repeated in all regions.
|
||||||
@@ -476,8 +585,8 @@
|
|||||||
var lastLanguage = $column.find( 'li:last' ).data( 'code' );
|
var lastLanguage = $column.find( 'li:last' ).data( 'code' );
|
||||||
|
|
||||||
if ( lastLanguage ) {
|
if ( lastLanguage ) {
|
||||||
var lastScriptGroup = $.uls.data.scriptGroupOfLanguage( lastLanguage ),
|
var lastScriptGroup = $.uls.data.getScriptGroupOfLanguage( lastLanguage ),
|
||||||
currentScriptGroup = $.uls.data.scriptGroupOfLanguage( langCode );
|
currentScriptGroup = $.uls.data.getScriptGroupOfLanguage( langCode );
|
||||||
|
|
||||||
if ( lastScriptGroup !== currentScriptGroup ) {
|
if ( lastScriptGroup !== currentScriptGroup ) {
|
||||||
if ( $column.find( 'li' ).length > 2 ) {
|
if ( $column.find( 'li' ).length > 2 ) {
|
||||||
@@ -576,7 +685,7 @@
|
|||||||
var $column = this.getColumn( 'quick', i % 4 === 0 );
|
var $column = this.getColumn( 'quick', i % 4 === 0 );
|
||||||
var langCode = quickList[i];
|
var langCode = quickList[i];
|
||||||
var language = this.options.languages[langCode];
|
var language = this.options.languages[langCode];
|
||||||
var langName = $.uls.data.autonym( langCode ) || language || langCode;
|
var langName = $.uls.data.getAutonym( langCode ) || language || langCode;
|
||||||
var $li = $( '<li>' )
|
var $li = $( '<li>' )
|
||||||
.data( 'code', langCode )
|
.data( 'code', langCode )
|
||||||
.attr( {
|
.attr( {
|
||||||
@@ -812,7 +921,7 @@
|
|||||||
|
|
||||||
search: function() {
|
search: function() {
|
||||||
var query = $.trim( this.$element.val() ),
|
var query = $.trim( this.$element.val() ),
|
||||||
languages = $.uls.data.languagesByScriptGroup( this.options.languages ),
|
languages = $.uls.data.getLanguagesByScriptGroup( this.options.languages ),
|
||||||
scriptGroup, langNum, langCode;
|
scriptGroup, langNum, langCode;
|
||||||
this.resultCount = 0;
|
this.resultCount = 0;
|
||||||
for ( scriptGroup in languages ) {
|
for ( scriptGroup in languages ) {
|
||||||
@@ -885,7 +994,7 @@
|
|||||||
suggestion = userInput + languageName.substring( userInput.length, languageName.length );
|
suggestion = userInput + languageName.substring( userInput.length, languageName.length );
|
||||||
if ( suggestion.toLowerCase() !== languageName.toLowerCase() ) {
|
if ( suggestion.toLowerCase() !== languageName.toLowerCase() ) {
|
||||||
// see if it was autonym match
|
// see if it was autonym match
|
||||||
autonym = $.uls.data.autonym( langCode ) || '';
|
autonym = $.uls.data.getAutonym( langCode ) || '';
|
||||||
suggestion = userInput + autonym.substring( userInput.length, autonym.length );
|
suggestion = userInput + autonym.substring( userInput.length, autonym.length );
|
||||||
if ( suggestion !== autonym ) {
|
if ( suggestion !== autonym ) {
|
||||||
// Give up. It may be iso/script code match.
|
// Give up. It may be iso/script code match.
|
||||||
@@ -924,9 +1033,9 @@
|
|||||||
var matcher = new RegExp( "^" + this.escapeRegex( searchTerm ), 'i' ),
|
var matcher = new RegExp( "^" + this.escapeRegex( searchTerm ), 'i' ),
|
||||||
languageName = this.options.languages[langCode];
|
languageName = this.options.languages[langCode];
|
||||||
return matcher.test( languageName ) ||
|
return matcher.test( languageName ) ||
|
||||||
matcher.test( $.uls.data.autonym( langCode ) ) ||
|
matcher.test( $.uls.data.getAutonym( langCode ) ) ||
|
||||||
matcher.test( langCode ) ||
|
matcher.test( langCode ) ||
|
||||||
matcher.test( $.uls.data.script( langCode ) );
|
matcher.test( $.uls.data.getScript( langCode ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
@@ -993,7 +1102,7 @@
|
|||||||
* @licence MIT License
|
* @licence MIT License
|
||||||
*/
|
*/
|
||||||
|
|
||||||
(function ( $ ) {
|
( function ( $ ) {
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
/* RegionSelector plugin definition */
|
/* RegionSelector plugin definition */
|
||||||
@@ -1020,14 +1129,14 @@
|
|||||||
|
|
||||||
init: function() {
|
init: function() {
|
||||||
var region = this.$element.data( 'region' );
|
var region = this.$element.data( 'region' );
|
||||||
this.regions = $.uls.data.regionsInGroup( this.regionGroup );
|
this.regions = $.uls.data.getRegionsInGroup( this.regionGroup );
|
||||||
if ( region ) {
|
if ( region ) {
|
||||||
this.regions.push( region );
|
this.regions.push( region );
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
test: function( langCode ) {
|
test: function( langCode ) {
|
||||||
var langRegions = $.uls.data.regions( langCode ),
|
var langRegions = $.uls.data.getRegions( langCode ),
|
||||||
region;
|
region;
|
||||||
|
|
||||||
for ( var i = 0; i < this.regions.length; i++ ) {
|
for ( var i = 0; i < this.regions.length; i++ ) {
|
||||||
@@ -1050,7 +1159,7 @@
|
|||||||
} else {
|
} else {
|
||||||
this.cache = {};
|
this.cache = {};
|
||||||
// Get the languages grouped by script group
|
// Get the languages grouped by script group
|
||||||
var languagesByScriptGroup = $.uls.data.languagesByScriptGroup( this.options.languages );
|
var languagesByScriptGroup = $.uls.data.getLanguagesByScriptGroup( this.options.languages );
|
||||||
for ( var scriptGroup in languagesByScriptGroup ) {
|
for ( var scriptGroup in languagesByScriptGroup ) {
|
||||||
// Get the languages for the script group
|
// Get the languages for the script group
|
||||||
var languages = languagesByScriptGroup[scriptGroup];
|
var languages = languagesByScriptGroup[scriptGroup];
|
||||||
@@ -1101,12 +1210,11 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
click: function( e ) {
|
click: function( e ) {
|
||||||
|
// Don't do anything if a region is selected already
|
||||||
if( this.$element.hasClass( 'active' ) ) {
|
if( this.$element.hasClass( 'active' ) ) {
|
||||||
this.$element.removeClass( 'active' );
|
return;
|
||||||
if ( this.options.noresults ) {
|
|
||||||
this.options.noresults.call();
|
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
// Re-populate the list of languages
|
// Re-populate the list of languages
|
||||||
this.options.$target.empty();
|
this.options.$target.empty();
|
||||||
this.show();
|
this.show();
|
||||||
@@ -1117,7 +1225,6 @@
|
|||||||
this.$element.addClass( 'active' );
|
this.$element.addClass( 'active' );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/* RegionSelector plugin definition */
|
/* RegionSelector plugin definition */
|
||||||
@@ -1475,7 +1582,7 @@
|
|||||||
menu: template,
|
menu: template,
|
||||||
onSelect: null, // Callback function to be called when a language is selected
|
onSelect: null, // Callback function to be called when a language is selected
|
||||||
searchAPI: null, // Language search API
|
searchAPI: null, // Language search API
|
||||||
languages: $.uls.data.autonyms(), // Languages to be used for ULS, default is all languages
|
languages: $.uls.data.getAutonyms(), // Languages to be used for ULS, default is all languages
|
||||||
quickList: null // Array of language codes of function that returns such
|
quickList: null // Array of language codes of function that returns such
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user