From 3f024d0b95e3adf1aba49bd33cf3b528ebee4381 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Mon, 28 Nov 2016 00:12:50 -0500 Subject: [PATCH] Replace hardcoded RTL list with detected language lookup from dataLocales --- modules/core/context.js | 4 ++-- modules/util/detect.js | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/modules/core/context.js b/modules/core/context.js index be2218da9..a6b9249be 100644 --- a/modules/core/context.js +++ b/modules/core/context.js @@ -307,7 +307,7 @@ export function coreContext() { }; context.loadLocale = function(callback) { - if (locale && locale !== 'en' && dataLocales.indexOf(locale) !== -1) { + if (locale && locale !== 'en' && dataLocales.hasOwnProperty(locale)) { localePath = localePath || context.asset('locales/' + locale + '.json'); d3.json(localePath, function(err, result) { if (!err) { @@ -351,7 +351,7 @@ export function coreContext() { context.projection = geoRawMercator(); locale = utilDetect().locale; - if (locale && dataLocales.indexOf(locale) === -1) { + if (locale && !dataLocales.hasOwnProperty(locale)) { locale = locale.split('-')[0]; } diff --git a/modules/util/detect.js b/modules/util/detect.js index d3a002fe0..a4cf24d7d 100644 --- a/modules/util/detect.js +++ b/modules/util/detect.js @@ -1,4 +1,5 @@ import { currentLocale, setTextDirection } from './locale'; +import { dataLocales } from '../../data/index'; import { utilStringQs } from './index'; var detected; @@ -70,7 +71,8 @@ export function utilDetect(force) { // detect text direction var q = utilStringQs(window.location.hash.substring(1)); - if (['ar', 'fa', 'iw', 'he', 'dv'].indexOf(detected.locale.split('-')[0]) > -1 || q.hasOwnProperty('rtl')) { + var lang = dataLocales[detected.locale]; + if ((lang && lang.rtl) || q.hasOwnProperty('rtl')) { detected.textDirection = 'rtl'; } else { detected.textDirection = 'ltr';