@seniorsistemas/platform-components 5.3.0 → 5.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -260,6 +260,7 @@
260
260
 
261
261
  var TranslationsConfig = new core.InjectionToken('translationConfig');
262
262
  var USER_INFO = 'com.senior.token';
263
+ var LENGTH_DEFAULT = 2;
263
264
  var TranslationsModule = /** @class */ (function () {
264
265
  function TranslationsModule() {
265
266
  }
@@ -309,7 +310,7 @@
309
310
  return new Promise(function (resolve) {
310
311
  var locationInitialized = injector.get(common.LOCATION_INITIALIZED, Promise.resolve(null));
311
312
  locationInitialized.then(function () { return __awaiter(_this, void 0, void 0, function () {
312
- var locale, configs, userData, ex_1, fallback, defaultsLanguages_1, fallbackByLocale_1, languages, foundLocaleUser, translationsPromises, err_1;
313
+ var locale, configs, userData, ex_1, fallback, defaultsLanguages, configTranslate_1, translationsPromises, err_1;
313
314
  return __generator(this, function (_a) {
314
315
  switch (_a.label) {
315
316
  case 0:
@@ -322,55 +323,32 @@
322
323
  case 2:
323
324
  _a.trys.push([2, 5, , 6]);
324
325
  userData = JSON.parse(cookieService.get(USER_INFO));
325
- if (!(!userData || Object.keys(userData).length === 0)) return [3 /*break*/, 4];
326
+ if (!userDataIsNull(userData)) return [3 /*break*/, 4];
326
327
  return [4 /*yield*/, seniorPlatformData.user.getUserData()];
327
328
  case 3:
328
329
  userData = _a.sent();
329
330
  _a.label = 4;
330
331
  case 4:
331
- locale = userData.locale || 'pt-BR';
332
+ locale = getLocale(userData);
332
333
  return [3 /*break*/, 6];
333
334
  case 5:
334
335
  ex_1 = _a.sent();
335
336
  console.warn('Unable to obtain user locale');
336
337
  return [3 /*break*/, 6];
337
338
  case 6:
338
- fallback = configs
339
- .reduce(function (result, configs) { return (__assign(__assign({}, result), configs.fallback)); }, {});
340
- defaultsLanguages_1 = configs
341
- .reduce(function (result, configs) { return (__assign(__assign({}, result), configs.defaultsLanguages)); }, {});
339
+ fallback = configs.reduce(function (result, configs) { return (__assign(__assign({}, result), configs.fallback)); }, {});
340
+ defaultsLanguages = configs.reduce(function (result, configs) { return (__assign(__assign({}, result), configs.defaultsLanguages)); }, {});
342
341
  translate.setTranslation(locale, fallback);
343
342
  translate.setDefaultLang(locale);
344
- fallbackByLocale_1 = {};
345
- if (defaultsLanguages_1) {
346
- languages = Object.keys(defaultsLanguages_1).map(function (key) {
347
- var language = {};
348
- language['locale'] = key.replace('_', '-');
349
- language['translation'] = defaultsLanguages_1[key];
350
- return language;
351
- }, []);
352
- foundLocaleUser = languages.find(function (results) { return results.locale === locale; });
353
- if (!foundLocaleUser) {
354
- foundLocaleUser = languages.find(function (results) {
355
- return results.locale.length === 2 && results.locale === locale.split('-')[0];
356
- });
357
- }
358
- if (foundLocaleUser) {
359
- fallbackByLocale_1 = foundLocaleUser['translation'];
360
- }
343
+ configTranslate_1 = {};
344
+ if (defaultsLanguages) {
345
+ configTranslate_1 = getConfigTranslate(defaultsLanguages, locale);
361
346
  }
362
347
  translationsPromises = configs.map(function (config) { return getTranslationsRequest(config, locale); });
363
348
  return [4 /*yield*/, Promise.all(translationsPromises).then(function (results) {
364
- results.forEach(function (file) {
365
- var usedFallback = translate['overriden'];
366
- if (usedFallback) {
367
- file['content'] && translate.setTranslation(locale, file['content'], true);
368
- translate.setTranslation(locale, fallbackByLocale_1, true);
369
- }
370
- else {
371
- translate.setTranslation(locale, fallbackByLocale_1, true);
372
- file['content'] && translate.setTranslation(locale, file['content'], true);
373
- }
349
+ var usedFallback = translate['overriden'];
350
+ results.forEach(function (file, index) {
351
+ setTranslations(file['content'], usedFallback, locale, index, configTranslate_1.fallbackByLocale);
374
352
  });
375
353
  return translate.use(locale).toPromise();
376
354
  })];
@@ -381,7 +359,10 @@
381
359
  case 8:
382
360
  err_1 = _a.sent();
383
361
  console.warn('Error setting translations. Using local fallback.', err_1);
384
- translate.use(locale).toPromise().then(function () {
362
+ translate
363
+ .use(locale)
364
+ .toPromise()
365
+ .then(function () {
385
366
  resolve();
386
367
  });
387
368
  return [3 /*break*/, 9];
@@ -391,6 +372,18 @@
391
372
  }); });
392
373
  });
393
374
  };
375
+ function setTranslations(content, usedFallback, locale, index, fallbackByLocale) {
376
+ if (usedFallback) {
377
+ content && translate.setTranslation(locale, content, true);
378
+ translate.setTranslation(locale, fallbackByLocale, true);
379
+ }
380
+ else {
381
+ if (index === 0) {
382
+ translate.setTranslation(locale, fallbackByLocale, true);
383
+ }
384
+ content && translate.setTranslation(locale, content, true);
385
+ }
386
+ }
394
387
  function getTranslationsRequest(_a, language) {
395
388
  var _this = this;
396
389
  var domain = _a.domain, service = _a.service;
@@ -403,17 +396,17 @@
403
396
  if (!domain && !service) {
404
397
  throw new Error("domain and service not found");
405
398
  }
406
- params = new http.HttpParams()
407
- .set('domainName', domain)
408
- .set('serviceName', service)
409
- .set('format', 'FLAT_JSON');
399
+ params = new http.HttpParams().set('domainName', domain).set('serviceName', service).set('format', 'FLAT_JSON');
410
400
  _b = (_a = new http.HttpHeaders()).set;
411
401
  _c = ['Authorization'];
412
402
  return [4 /*yield*/, seniorPlatformData.user.getAuthHeader()];
413
403
  case 1:
414
404
  headers = _b.apply(_a, _c.concat([_d.sent()]));
415
405
  url = 'platform/translation_hub/queries/getTranslationBundle';
416
- return [4 /*yield*/, http$1.get(url, { headers: headers, params: params }).toPromise().then(function (res) { return res.bundleFiles; })];
406
+ return [4 /*yield*/, http$1
407
+ .get(url, { headers: headers, params: params })
408
+ .toPromise()
409
+ .then(function (res) { return res.bundleFiles; })];
417
410
  case 2:
418
411
  bundleFiles = _d.sent();
419
412
  languageBundle = language && bundleFiles.find(function (bundle) { return bundle.language === language; });
@@ -456,6 +449,31 @@
456
449
  return __spread(result, [item]);
457
450
  }, []);
458
451
  }
452
+ function userDataIsNull(data) {
453
+ return !data || Object.keys(data).length === 0;
454
+ }
455
+ function getConfigTranslate(defaultsLanguages, locale) {
456
+ var languages = Object.keys(defaultsLanguages).map(function (key) {
457
+ var language = {};
458
+ language['locale'] = key.replace('_', '-');
459
+ language['translation'] = defaultsLanguages[key];
460
+ return language;
461
+ }, []);
462
+ var result = { languages: languages };
463
+ result['foundLocaleUser'] = languages.find(function (results) { return results.locale === locale; });
464
+ if (!result['foundLocaleUser']) {
465
+ result['foundLocaleUser'] = languages.find(function (results) {
466
+ return results.locale.length === LENGTH_DEFAULT && results.locale === locale.split('-')[0];
467
+ });
468
+ }
469
+ if (result['foundLocaleUser']) {
470
+ result['fallbackByLocale'] = result['foundLocaleUser']['translation'];
471
+ }
472
+ return result;
473
+ }
474
+ function getLocale(userData) {
475
+ return userData.locale || 'pt-BR';
476
+ }
459
477
  }
460
478
 
461
479
  var fallback = {
@@ -2667,6 +2685,7 @@
2667
2685
  exports.Filter = Filter;
2668
2686
  exports.FormFilter = FormFilter;
2669
2687
  exports.HttpInterceptorModule = HttpInterceptorModule;
2688
+ exports.LENGTH_DEFAULT = LENGTH_DEFAULT;
2670
2689
  exports.PermissionsModule = PermissionsModule;
2671
2690
  exports.PermissionsService = PermissionsService;
2672
2691
  exports.RestUrl = RestUrl;