From c6f72f1624cc48f6689aff7a2c2b6861eab4b160 Mon Sep 17 00:00:00 2001 From: "U-ACTIMIND\\gorbach" Date: Tue, 24 Jan 2017 17:52:40 +0300 Subject: [PATCH 1/2] add urlbuilder --- src/localization.js | 9 ++++----- src/localization.urlBuilder.js | 14 ++++++++++++++ 2 files changed, 18 insertions(+), 5 deletions(-) create mode 100755 src/localization.urlBuilder.js diff --git a/src/localization.js b/src/localization.js index 16a83ae..b7bb928 100644 --- a/src/localization.js +++ b/src/localization.js @@ -1,5 +1,5 @@ angular.module('ngLocalize') - .service('locale', function ($injector, $http, $q, $log, $rootScope, $window, localeConf, localeEvents, localeSupported, localeFallbacks) { + .service('locale', function ($injector, $http, $q, $log, $rootScope, $window, localeConf, localeEvents, localeSupported, localeFallbacks, urlBuilder) { var TOKEN_REGEX = localeConf.validTokens || new RegExp('^[\\w\\.-]+\\.[\\w\\s\\.-]+\\w(:.*)?$'), $html = angular.element(document.body).parent(), currentLocale, @@ -82,7 +82,6 @@ angular.module('ngLocalize') root = bundles, parent, locale = currentLocale, - url = localeConf.basePath + '/' + locale, ref, i; @@ -94,16 +93,16 @@ angular.module('ngLocalize') } parent = root; root = root[ref]; - url += '/' + ref; } if (isFrozen(root)) { root = angular.extend({}, root); } + if (!root._loading) { root._loading = true; - - url += localeConf.fileExtension; + + var url = urlBuilder.build(localeConf.basePath, locale, path.slice(0, -1), localeConf.fileExtension); $http.get(url) .then(function (response) { diff --git a/src/localization.urlBuilder.js b/src/localization.urlBuilder.js new file mode 100755 index 0000000..90b8b53 --- /dev/null +++ b/src/localization.urlBuilder.js @@ -0,0 +1,14 @@ +angular.module('ngLocalize.UrlBuilder', []) + .value('urlBuilder', { + build: function(basePath, locale, refs, fileExtension) { + if (!angular.isArray(refs)) + refs = [refs]; + + var delimiter = '/'; + + return basePath + + delimiter + locale + + delimiter + refs.join(delimiter) + + fileExtension; + } + }); \ No newline at end of file From d9dd54c80f830181a9e10e8fb8ac8b11564c1edc Mon Sep 17 00:00:00 2001 From: "U-ACTIMIND\\gorbach" Date: Tue, 24 Jan 2017 18:15:11 +0300 Subject: [PATCH 2/2] lint fix --- src/localization.urlBuilder.js | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/localization.urlBuilder.js b/src/localization.urlBuilder.js index 90b8b53..3e44d3e 100755 --- a/src/localization.urlBuilder.js +++ b/src/localization.urlBuilder.js @@ -1,14 +1,12 @@ angular.module('ngLocalize.UrlBuilder', []) .value('urlBuilder', { build: function(basePath, locale, refs, fileExtension) { - if (!angular.isArray(refs)) + if (!angular.isArray(refs)) { refs = [refs]; + } var delimiter = '/'; - return basePath - + delimiter + locale - + delimiter + refs.join(delimiter) - + fileExtension; + return basePath + delimiter + locale + delimiter + refs.join(delimiter) + fileExtension; } }); \ No newline at end of file