@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.
@@ -12,7 +12,7 @@ export declare class TolgeeConfig {
12
12
  fallbackLanguage?: string;
13
13
  filesUrlPrefix?: string;
14
14
  watch?: boolean;
15
- ui?: new (...args: any[]) => any;
15
+ ui?: (new (...args: any[]) => any) | (() => Promise<new (...args: any[]) => any>);
16
16
  targetElement?: Element;
17
17
  tagAttributes?: {
18
18
  [key: string]: string[];
@@ -4,11 +4,11 @@ import { DependencyStore } from '../services/DependencyStore';
4
4
  export declare class TranslationHighlighter {
5
5
  private dependencies;
6
6
  pluginManager: PluginManager;
7
- constructor(dependencies: DependencyStore);
8
7
  private _renderer;
9
- private get renderer();
8
+ constructor(dependencies: DependencyStore);
10
9
  private static getKeyOptions;
11
10
  listen(element: ElementWithMeta & ElementCSSInlineStyle): void;
11
+ private getRenderer;
12
12
  private getKeyAndDefault;
13
13
  private translationEdit;
14
14
  }
@@ -59,45 +59,42 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
59
59
  }
60
60
  return to.concat(ar || Array.prototype.slice.call(from));
61
61
  };
62
+ var __values = (this && this.__values) || function(o) {
63
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
64
+ if (m) return m.call(o);
65
+ if (o && typeof o.length === "number") return {
66
+ next: function () {
67
+ if (o && i >= o.length) o = void 0;
68
+ return { value: o && o[i++], done: !o };
69
+ }
70
+ };
71
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
72
+ };
62
73
  var TranslationHighlighter = /** @class */ (function () {
63
74
  function TranslationHighlighter(dependencies) {
64
75
  var _this = this;
65
76
  this.dependencies = dependencies;
66
77
  this.translationEdit = function (e, element) { return __awaiter(_this, void 0, void 0, function () {
67
- var key;
78
+ var renderer, key;
68
79
  return __generator(this, function (_a) {
69
80
  switch (_a.label) {
70
- case 0:
71
- if (!(typeof this.renderer === 'object')) return [3 /*break*/, 2];
72
- return [4 /*yield*/, this.getKeyAndDefault(e, element)];
81
+ case 0: return [4 /*yield*/, this.getRenderer()];
73
82
  case 1:
83
+ renderer = _a.sent();
84
+ if (!(typeof renderer === 'object')) return [3 /*break*/, 3];
85
+ return [4 /*yield*/, this.getKeyAndDefault(e, element)];
86
+ case 2:
74
87
  key = _a.sent();
75
88
  if (key) {
76
- this.renderer.renderViewer(key.key, key.defaultValue);
89
+ renderer.renderViewer(key.key, key.defaultValue);
77
90
  return [2 /*return*/];
78
91
  }
79
92
  return [2 /*return*/];
80
- case 2:
81
- // eslint-disable-next-line no-console
82
- console.warn('Tolgee UI is not provided. To translate interactively provide tolgee ui constructor to "ui" configuration property. ' +
83
- 'To disable highlighting use production mode.');
84
- return [2 /*return*/];
93
+ case 3: return [2 /*return*/];
85
94
  }
86
95
  });
87
96
  }); };
88
97
  }
89
- Object.defineProperty(TranslationHighlighter.prototype, "renderer", {
90
- get: function () {
91
- if (this._renderer === undefined) {
92
- if (typeof this.dependencies.properties.config.ui === 'function') {
93
- this._renderer = new this.dependencies.properties.config.ui(this.dependencies);
94
- }
95
- }
96
- return this._renderer;
97
- },
98
- enumerable: false,
99
- configurable: true
100
- });
101
98
  TranslationHighlighter.getKeyOptions = function (node) {
102
99
  var nodes = Array.from(node._tolgee.nodes);
103
100
  return nodes.reduce(function (acc, curr) { return __spreadArray(__spreadArray([], __read(acc), false), __read(curr._tolgee.keys.map(function (k) { return ({
@@ -115,9 +112,70 @@ var TranslationHighlighter = /** @class */ (function () {
115
112
  }
116
113
  }); }); });
117
114
  };
115
+ TranslationHighlighter.prototype.getRenderer = function () {
116
+ return __awaiter(this, void 0, void 0, function () {
117
+ var possibleProviders, possibleProviders_1, possibleProviders_1_1, possibleProvider, constructorProvider, constructor, e_1, constructor, e_2_1;
118
+ var e_2, _a;
119
+ return __generator(this, function (_b) {
120
+ switch (_b.label) {
121
+ case 0:
122
+ if (!(this._renderer === undefined)) return [3 /*break*/, 11];
123
+ possibleProviders = [
124
+ this.dependencies.properties.config.ui,
125
+ window['@tolgee/ui'],
126
+ ];
127
+ _b.label = 1;
128
+ case 1:
129
+ _b.trys.push([1, 8, 9, 10]);
130
+ possibleProviders_1 = __values(possibleProviders), possibleProviders_1_1 = possibleProviders_1.next();
131
+ _b.label = 2;
132
+ case 2:
133
+ if (!!possibleProviders_1_1.done) return [3 /*break*/, 7];
134
+ possibleProvider = possibleProviders_1_1.value;
135
+ if (!(typeof possibleProvider === 'function')) return [3 /*break*/, 6];
136
+ _b.label = 3;
137
+ case 3:
138
+ _b.trys.push([3, 5, , 6]);
139
+ constructorProvider = possibleProvider;
140
+ return [4 /*yield*/, constructorProvider()];
141
+ case 4:
142
+ constructor = _b.sent();
143
+ this._renderer = new constructor(this.dependencies);
144
+ return [3 /*break*/, 6];
145
+ case 5:
146
+ e_1 = _b.sent();
147
+ constructor = possibleProvider;
148
+ this._renderer = new constructor(this.dependencies);
149
+ return [3 /*break*/, 6];
150
+ case 6:
151
+ possibleProviders_1_1 = possibleProviders_1.next();
152
+ return [3 /*break*/, 2];
153
+ case 7: return [3 /*break*/, 10];
154
+ case 8:
155
+ e_2_1 = _b.sent();
156
+ e_2 = { error: e_2_1 };
157
+ return [3 /*break*/, 10];
158
+ case 9:
159
+ try {
160
+ if (possibleProviders_1_1 && !possibleProviders_1_1.done && (_a = possibleProviders_1.return)) _a.call(possibleProviders_1);
161
+ }
162
+ finally { if (e_2) throw e_2.error; }
163
+ return [7 /*endfinally*/];
164
+ case 10:
165
+ if (this._renderer === undefined) {
166
+ // eslint-disable-next-line no-console
167
+ console.warn('Tolgee UI is not provided. To translate interactively provide tolgee ui constructor to "ui" configuration property. ' +
168
+ 'To disable highlighting use production mode.');
169
+ }
170
+ _b.label = 11;
171
+ case 11: return [2 /*return*/, this._renderer];
172
+ }
173
+ });
174
+ });
175
+ };
118
176
  TranslationHighlighter.prototype.getKeyAndDefault = function (mouseEvent, element) {
119
177
  return __awaiter(this, void 0, void 0, function () {
120
- var keysWithDefaults, keySet, selectedKey_1, found;
178
+ var keysWithDefaults, keySet, renderer, selectedKey_1, found;
121
179
  return __generator(this, function (_a) {
122
180
  switch (_a.label) {
123
181
  case 0:
@@ -129,19 +187,22 @@ var TranslationHighlighter = /** @class */ (function () {
129
187
  }
130
188
  keysWithDefaults = TranslationHighlighter.getKeyOptions(element);
131
189
  keySet = new Set(keysWithDefaults.map(function (keyWithDefault) { return keyWithDefault.key; }));
132
- if (!(keySet.size > 1)) return [3 /*break*/, 2];
133
- return [4 /*yield*/, this.renderer.getKey({
190
+ if (!(keySet.size > 1)) return [3 /*break*/, 3];
191
+ return [4 /*yield*/, this.getRenderer()];
192
+ case 1:
193
+ renderer = _a.sent();
194
+ return [4 /*yield*/, renderer.getKey({
134
195
  keys: keySet,
135
196
  openEvent: mouseEvent,
136
197
  })];
137
- case 1:
198
+ case 2:
138
199
  selectedKey_1 = _a.sent();
139
200
  found = keysWithDefaults.find(function (kwd) { return kwd.key === selectedKey_1; });
140
201
  if (found) {
141
202
  return [2 /*return*/, found];
142
203
  }
143
- _a.label = 2;
144
- case 2:
204
+ _a.label = 3;
205
+ case 3:
145
206
  if (keySet.size === 1) {
146
207
  return [2 /*return*/, keysWithDefaults[0]];
147
208
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TranslationHighlighter.js","sourceRoot":"","sources":["../../src/highlighter/TranslationHighlighter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TranslationHighlighter.js","sourceRoot":"","sources":["../../src/highlighter/TranslationHighlighter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tolgee/core",
3
- "version": "2.5.1",
3
+ "version": "2.7.0",
4
4
  "description": "Library providing ability to translate messages directly in context of developed application.",
5
5
  "main": "index.js",
6
6
  "module": "./dist/tolgee.esm.js",
@@ -45,7 +45,7 @@
45
45
  "@types/intl-messageformat": "^3.0.0",
46
46
  "@types/jest": "^27.0.2",
47
47
  "@types/node": "^16.10.2",
48
- "concurrently": "6.3.0",
48
+ "concurrently": "6.4.0",
49
49
  "intl-messageformat": "^9.9.1",
50
50
  "jest": "^27.2.4",
51
51
  "jest-fetch-mock": "^3.0.3",
@@ -54,11 +54,11 @@
54
54
  "rollup-plugin-terser": "7.0.2",
55
55
  "ts-jest": "^27.0.5",
56
56
  "tslib": "^2.3.1",
57
- "typedoc": "0.22.8",
57
+ "typedoc": "0.22.9",
58
58
  "typedoc-plugin-markdown": "3.11.3",
59
59
  "typescript": "4.4.4"
60
60
  },
61
- "gitHead": "8a0c1c7a57dbd784cd92b223b728904c8f4d52c8",
61
+ "gitHead": "cecc00aae700041ea652dddda9db8b5af5e0bdf6",
62
62
  "publishConfig": {
63
63
  "access": "public"
64
64
  }