@tolgee/core 2.5.1 → 2.7.0

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.
package/README.md CHANGED
@@ -1,10 +1,11 @@
1
+ # Tolgee core library
1
2
  ![test workflow](https://github.com/tolgee/tolgee-js/actions/workflows/test.yml/badge.svg)
2
3
  ![@tolgee/core version](https://img.shields.io/npm/v/@tolgee/core?label=%40tolgee%2Fcore)
3
4
  ![types typescript](https://img.shields.io/badge/Types-Typescript-blue)
4
5
  [![twitter](https://img.shields.io/twitter/follow/Tolgee_i18n?style=social)](https://twitter.com/Tolgee_i18n)
5
6
  [![github stars](https://img.shields.io/github/stars/tolgee/tolgee-js?style=social)](https://github.com/tolgee/tolgee-js)
6
7
 
7
- # Tolgee core library
8
+
8
9
 
9
10
  [<img src="https://raw.githubusercontent.com/tolgee/documentation/main/tolgee_logo_text.svg" alt="Tolgee" width="200" />](https://tolgee.io)
10
11
 
@@ -3785,40 +3785,26 @@ var TranslationHighlighter = /** @class */ (function () {
3785
3785
  var _this = this;
3786
3786
  this.dependencies = dependencies;
3787
3787
  this.translationEdit = function (e, element) { return __awaiter(_this, void 0, void 0, function () {
3788
- var key;
3788
+ var renderer, key;
3789
3789
  return __generator(this, function (_a) {
3790
3790
  switch (_a.label) {
3791
- case 0:
3792
- if (!(typeof this.renderer === 'object')) return [3 /*break*/, 2];
3793
- return [4 /*yield*/, this.getKeyAndDefault(e, element)];
3791
+ case 0: return [4 /*yield*/, this.getRenderer()];
3794
3792
  case 1:
3793
+ renderer = _a.sent();
3794
+ if (!(typeof renderer === 'object')) return [3 /*break*/, 3];
3795
+ return [4 /*yield*/, this.getKeyAndDefault(e, element)];
3796
+ case 2:
3795
3797
  key = _a.sent();
3796
3798
  if (key) {
3797
- this.renderer.renderViewer(key.key, key.defaultValue);
3799
+ renderer.renderViewer(key.key, key.defaultValue);
3798
3800
  return [2 /*return*/];
3799
3801
  }
3800
3802
  return [2 /*return*/];
3801
- case 2:
3802
- // eslint-disable-next-line no-console
3803
- console.warn('Tolgee UI is not provided. To translate interactively provide tolgee ui constructor to "ui" configuration property. ' +
3804
- 'To disable highlighting use production mode.');
3805
- return [2 /*return*/];
3803
+ case 3: return [2 /*return*/];
3806
3804
  }
3807
3805
  });
3808
3806
  }); };
3809
3807
  }
3810
- Object.defineProperty(TranslationHighlighter.prototype, "renderer", {
3811
- get: function () {
3812
- if (this._renderer === undefined) {
3813
- if (typeof this.dependencies.properties.config.ui === 'function') {
3814
- this._renderer = new this.dependencies.properties.config.ui(this.dependencies);
3815
- }
3816
- }
3817
- return this._renderer;
3818
- },
3819
- enumerable: false,
3820
- configurable: true
3821
- });
3822
3808
  TranslationHighlighter.getKeyOptions = function (node) {
3823
3809
  var nodes = Array.from(node._tolgee.nodes);
3824
3810
  return nodes.reduce(function (acc, curr) { return __spreadArray(__spreadArray([], __read(acc), false), __read(curr._tolgee.keys.map(function (k) { return ({
@@ -3836,9 +3822,70 @@ var TranslationHighlighter = /** @class */ (function () {
3836
3822
  }
3837
3823
  }); }); });
3838
3824
  };
3825
+ TranslationHighlighter.prototype.getRenderer = function () {
3826
+ return __awaiter(this, void 0, void 0, function () {
3827
+ var possibleProviders, possibleProviders_1, possibleProviders_1_1, possibleProvider, constructorProvider, constructor, constructor, e_2_1;
3828
+ var e_2, _a;
3829
+ return __generator(this, function (_b) {
3830
+ switch (_b.label) {
3831
+ case 0:
3832
+ if (!(this._renderer === undefined)) return [3 /*break*/, 11];
3833
+ possibleProviders = [
3834
+ this.dependencies.properties.config.ui,
3835
+ window['@tolgee/ui'],
3836
+ ];
3837
+ _b.label = 1;
3838
+ case 1:
3839
+ _b.trys.push([1, 8, 9, 10]);
3840
+ possibleProviders_1 = __values(possibleProviders), possibleProviders_1_1 = possibleProviders_1.next();
3841
+ _b.label = 2;
3842
+ case 2:
3843
+ if (!!possibleProviders_1_1.done) return [3 /*break*/, 7];
3844
+ possibleProvider = possibleProviders_1_1.value;
3845
+ if (!(typeof possibleProvider === 'function')) return [3 /*break*/, 6];
3846
+ _b.label = 3;
3847
+ case 3:
3848
+ _b.trys.push([3, 5, , 6]);
3849
+ constructorProvider = possibleProvider;
3850
+ return [4 /*yield*/, constructorProvider()];
3851
+ case 4:
3852
+ constructor = _b.sent();
3853
+ this._renderer = new constructor(this.dependencies);
3854
+ return [3 /*break*/, 6];
3855
+ case 5:
3856
+ _b.sent();
3857
+ constructor = possibleProvider;
3858
+ this._renderer = new constructor(this.dependencies);
3859
+ return [3 /*break*/, 6];
3860
+ case 6:
3861
+ possibleProviders_1_1 = possibleProviders_1.next();
3862
+ return [3 /*break*/, 2];
3863
+ case 7: return [3 /*break*/, 10];
3864
+ case 8:
3865
+ e_2_1 = _b.sent();
3866
+ e_2 = { error: e_2_1 };
3867
+ return [3 /*break*/, 10];
3868
+ case 9:
3869
+ try {
3870
+ if (possibleProviders_1_1 && !possibleProviders_1_1.done && (_a = possibleProviders_1.return)) _a.call(possibleProviders_1);
3871
+ }
3872
+ finally { if (e_2) throw e_2.error; }
3873
+ return [7 /*endfinally*/];
3874
+ case 10:
3875
+ if (this._renderer === undefined) {
3876
+ // eslint-disable-next-line no-console
3877
+ console.warn('Tolgee UI is not provided. To translate interactively provide tolgee ui constructor to "ui" configuration property. ' +
3878
+ 'To disable highlighting use production mode.');
3879
+ }
3880
+ _b.label = 11;
3881
+ case 11: return [2 /*return*/, this._renderer];
3882
+ }
3883
+ });
3884
+ });
3885
+ };
3839
3886
  TranslationHighlighter.prototype.getKeyAndDefault = function (mouseEvent, element) {
3840
3887
  return __awaiter(this, void 0, void 0, function () {
3841
- var keysWithDefaults, keySet, selectedKey_1, found;
3888
+ var keysWithDefaults, keySet, renderer, selectedKey_1, found;
3842
3889
  return __generator(this, function (_a) {
3843
3890
  switch (_a.label) {
3844
3891
  case 0:
@@ -3850,19 +3897,22 @@ var TranslationHighlighter = /** @class */ (function () {
3850
3897
  }
3851
3898
  keysWithDefaults = TranslationHighlighter.getKeyOptions(element);
3852
3899
  keySet = new Set(keysWithDefaults.map(function (keyWithDefault) { return keyWithDefault.key; }));
3853
- if (!(keySet.size > 1)) return [3 /*break*/, 2];
3854
- return [4 /*yield*/, this.renderer.getKey({
3900
+ if (!(keySet.size > 1)) return [3 /*break*/, 3];
3901
+ return [4 /*yield*/, this.getRenderer()];
3902
+ case 1:
3903
+ renderer = _a.sent();
3904
+ return [4 /*yield*/, renderer.getKey({
3855
3905
  keys: keySet,
3856
3906
  openEvent: mouseEvent,
3857
3907
  })];
3858
- case 1:
3908
+ case 2:
3859
3909
  selectedKey_1 = _a.sent();
3860
3910
  found = keysWithDefaults.find(function (kwd) { return kwd.key === selectedKey_1; });
3861
3911
  if (found) {
3862
3912
  return [2 /*return*/, found];
3863
3913
  }
3864
- _a.label = 2;
3865
- case 2:
3914
+ _a.label = 3;
3915
+ case 3:
3866
3916
  if (keySet.size === 1) {
3867
3917
  return [2 /*return*/, keysWithDefaults[0]];
3868
3918
  }