@tolgee/core 2.5.1 → 2.8.2
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 +2 -1
- package/dist/tolgee.cjs.js +156 -100
- package/dist/tolgee.cjs.js.map +1 -1
- package/dist/tolgee.cjs.min.js +1 -1
- package/dist/tolgee.cjs.min.js.map +1 -1
- package/dist/tolgee.esm.js +1 -1
- package/dist/tolgee.esm.js.map +1 -1
- package/dist/tolgee.umd.js +156 -100
- package/dist/tolgee.umd.js.map +1 -1
- package/dist/tolgee.umd.min.js +1 -1
- package/dist/tolgee.umd.min.js.map +1 -1
- package/lib/Observer.test.d.ts +2 -0
- package/lib/Observer.test.js +190 -0
- package/lib/Observer.test.js.map +1 -0
- package/lib/Properties.d.ts +1 -0
- package/lib/Properties.js.map +1 -1
- package/lib/Properties.test.d.ts +1 -0
- package/lib/Properties.test.js +77 -0
- package/lib/Properties.test.js.map +1 -0
- package/lib/Tolgee.d.ts +1 -1
- package/lib/Tolgee.js +11 -11
- package/lib/Tolgee.js.map +1 -1
- package/lib/Tolgee.test.d.ts +1 -0
- package/lib/Tolgee.test.js +482 -0
- package/lib/Tolgee.test.js.map +1 -0
- package/lib/TolgeeConfig.d.ts +1 -1
- package/lib/TolgeeConfig.test.d.ts +1 -0
- package/lib/TolgeeConfig.test.js +18 -0
- package/lib/TolgeeConfig.test.js.map +1 -0
- package/lib/__testFixtures/classMock.d.ts +3 -0
- package/lib/__testFixtures/classMock.js +8 -0
- package/lib/__testFixtures/classMock.js.map +1 -0
- package/lib/__testFixtures/createElement.d.ts +2 -0
- package/lib/__testFixtures/createElement.js +58 -0
- package/lib/__testFixtures/createElement.js.map +1 -0
- package/lib/__testFixtures/createTestDom.d.ts +9 -0
- package/lib/__testFixtures/createTestDom.js +18 -0
- package/lib/__testFixtures/createTestDom.js.map +1 -0
- package/lib/__testFixtures/mocked.d.ts +20 -0
- package/lib/__testFixtures/mocked.js +24 -0
- package/lib/__testFixtures/mocked.js.map +1 -0
- package/lib/__testFixtures/setupAfterEnv.d.ts +8 -0
- package/lib/__testFixtures/setupAfterEnv.js +23 -0
- package/lib/__testFixtures/setupAfterEnv.js.map +1 -0
- package/lib/handlers/AbstractHandler.js +1 -1
- package/lib/handlers/AbstractHandler.js.map +1 -1
- package/lib/handlers/AttributeHandler.js +1 -1
- package/lib/handlers/AttributeHandler.js.map +1 -1
- package/lib/handlers/AttributeHandler.test.d.ts +1 -0
- package/lib/handlers/AttributeHandler.test.js +177 -0
- package/lib/handlers/AttributeHandler.test.js.map +1 -0
- package/lib/handlers/CoreHandler.test.d.ts +1 -0
- package/lib/handlers/CoreHandler.test.js +148 -0
- package/lib/handlers/CoreHandler.test.js.map +1 -0
- package/lib/handlers/TextHandler.js +1 -1
- package/lib/handlers/TextHandler.js.map +1 -1
- package/lib/handlers/TextHandler.test.d.ts +1 -0
- package/lib/handlers/TextHandler.test.js +270 -0
- package/lib/handlers/TextHandler.test.js.map +1 -0
- package/lib/handlers/WrappedHandler.js +1 -1
- package/lib/handlers/WrappedHandler.js.map +1 -1
- package/lib/helpers/NodeHelper.d.ts +1 -1
- package/lib/helpers/NodeHelper.js +19 -18
- package/lib/helpers/NodeHelper.js.map +1 -1
- package/lib/helpers/TextHelper.test.d.ts +1 -0
- package/lib/helpers/TextHelper.test.js +107 -0
- package/lib/helpers/TextHelper.test.js.map +1 -0
- package/lib/highlighter/HighlightFunctionsInitializer.test.d.ts +1 -0
- package/lib/highlighter/HighlightFunctionsInitializer.test.js +81 -0
- package/lib/highlighter/HighlightFunctionsInitializer.test.js.map +1 -0
- package/lib/highlighter/MouseEventHandler.js +4 -2
- package/lib/highlighter/MouseEventHandler.js.map +1 -1
- package/lib/highlighter/MouseEventHandler.test.d.ts +1 -0
- package/lib/highlighter/MouseEventHandler.test.js +215 -0
- package/lib/highlighter/MouseEventHandler.test.js.map +1 -0
- package/lib/highlighter/TranslationHighlighter.d.ts +2 -2
- package/lib/highlighter/TranslationHighlighter.js +89 -28
- package/lib/highlighter/TranslationHighlighter.js.map +1 -1
- package/lib/highlighter/TranslationHighlighter.test.d.ts +1 -0
- package/lib/highlighter/TranslationHighlighter.test.js +287 -0
- package/lib/highlighter/TranslationHighlighter.test.js.map +1 -0
- package/lib/services/ApiHttpService.js +1 -1
- package/lib/services/ApiHttpService.js.map +1 -1
- package/lib/services/CoreService.d.ts +3 -1
- package/lib/services/CoreService.js +2 -3
- package/lib/services/CoreService.js.map +1 -1
- package/lib/services/CoreService.test.d.ts +1 -0
- package/lib/services/CoreService.test.js +178 -0
- package/lib/services/CoreService.test.js.map +1 -0
- package/lib/services/DependencyStore.test.d.ts +1 -0
- package/lib/services/DependencyStore.test.js +67 -0
- package/lib/services/DependencyStore.test.js.map +1 -0
- package/lib/services/ElementRegistrar.js +13 -9
- package/lib/services/ElementRegistrar.js.map +1 -1
- package/lib/services/ElementRegistrar.test.d.ts +1 -0
- package/lib/services/ElementRegistrar.test.js +215 -0
- package/lib/services/ElementRegistrar.test.js.map +1 -0
- package/lib/services/ScreenshotService.js +1 -1
- package/lib/services/ScreenshotService.js.map +1 -1
- package/lib/services/TextService.js +5 -5
- package/lib/services/TextService.js.map +1 -1
- package/lib/services/TextService.test.d.ts +1 -0
- package/lib/services/TextService.test.js +430 -0
- package/lib/services/TextService.test.js.map +1 -0
- package/lib/services/TranslationService.js +7 -7
- package/lib/services/TranslationService.js.map +1 -1
- package/lib/services/TranslationService.test.d.ts +1 -0
- package/lib/services/TranslationService.test.js +649 -0
- package/lib/services/TranslationService.test.js.map +1 -0
- package/lib/services/__mocks__/CoreService.d.ts +2 -0
- package/lib/services/__mocks__/CoreService.js +49 -0
- package/lib/services/__mocks__/CoreService.js.map +1 -0
- package/lib/toolsManager/Messages.test.d.ts +1 -0
- package/lib/toolsManager/Messages.test.js +114 -0
- package/lib/toolsManager/Messages.test.js.map +1 -0
- package/lib/toolsManager/PluginManager.test.d.ts +1 -0
- package/lib/toolsManager/PluginManager.test.js +120 -0
- package/lib/toolsManager/PluginManager.test.js.map +1 -0
- package/lib/types.d.ts +11 -0
- package/package.json +7 -7
package/dist/tolgee.umd.js
CHANGED
|
@@ -131,23 +131,6 @@
|
|
|
131
131
|
var NodeHelper = /** @class */ (function () {
|
|
132
132
|
function NodeHelper() {
|
|
133
133
|
}
|
|
134
|
-
NodeHelper.evaluateGenerator = function (expression, targetNode) {
|
|
135
|
-
var node, evaluated;
|
|
136
|
-
return __generator(this, function (_a) {
|
|
137
|
-
switch (_a.label) {
|
|
138
|
-
case 0:
|
|
139
|
-
evaluated = document.evaluate(expression, targetNode, undefined, XPathResult.ANY_TYPE);
|
|
140
|
-
_a.label = 1;
|
|
141
|
-
case 1:
|
|
142
|
-
if (!((node = evaluated.iterateNext()) !== null)) return [3 /*break*/, 3];
|
|
143
|
-
return [4 /*yield*/, node];
|
|
144
|
-
case 2:
|
|
145
|
-
_a.sent();
|
|
146
|
-
return [3 /*break*/, 1];
|
|
147
|
-
case 3: return [2 /*return*/];
|
|
148
|
-
}
|
|
149
|
-
});
|
|
150
|
-
};
|
|
151
134
|
NodeHelper.evaluate = function () {
|
|
152
135
|
var args = [];
|
|
153
136
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
@@ -197,13 +180,31 @@
|
|
|
197
180
|
return true;
|
|
198
181
|
}
|
|
199
182
|
if (node instanceof Attr) {
|
|
200
|
-
var ownerContainsAttr =
|
|
183
|
+
var ownerContainsAttr = node.ownerElement &&
|
|
184
|
+
Object.values(node.ownerElement.attributes).indexOf(node) > -1;
|
|
201
185
|
if (descendant.contains(node.ownerElement) && ownerContainsAttr) {
|
|
202
186
|
return true;
|
|
203
187
|
}
|
|
204
188
|
}
|
|
205
189
|
return false;
|
|
206
190
|
};
|
|
191
|
+
NodeHelper.evaluateGenerator = function (expression, targetNode) {
|
|
192
|
+
var node, evaluated;
|
|
193
|
+
return __generator(this, function (_a) {
|
|
194
|
+
switch (_a.label) {
|
|
195
|
+
case 0:
|
|
196
|
+
evaluated = document.evaluate(expression, targetNode, undefined, XPathResult.ANY_TYPE);
|
|
197
|
+
_a.label = 1;
|
|
198
|
+
case 1:
|
|
199
|
+
if (!((node = evaluated.iterateNext()) !== null)) return [3 /*break*/, 3];
|
|
200
|
+
return [4 /*yield*/, node];
|
|
201
|
+
case 2:
|
|
202
|
+
_a.sent();
|
|
203
|
+
return [3 /*break*/, 1];
|
|
204
|
+
case 3: return [2 /*return*/];
|
|
205
|
+
}
|
|
206
|
+
});
|
|
207
|
+
};
|
|
207
208
|
return NodeHelper;
|
|
208
209
|
}());
|
|
209
210
|
|
|
@@ -523,7 +524,7 @@
|
|
|
523
524
|
};
|
|
524
525
|
ApiHttpService.prototype.getUrl = function (path) {
|
|
525
526
|
var querySeparator = path.indexOf('?') < 0 ? '?' : '&';
|
|
526
|
-
return this.properties.config.apiUrl
|
|
527
|
+
return "".concat(this.properties.config.apiUrl, "/").concat(path).concat(querySeparator, "ak=").concat(this.properties.config.apiKey);
|
|
527
528
|
};
|
|
528
529
|
return ApiHttpService;
|
|
529
530
|
}());
|
|
@@ -582,9 +583,9 @@
|
|
|
582
583
|
_e.trys.push([1, 3, , 7]);
|
|
583
584
|
languagesArray = __spreadArray([], __read(languages), false);
|
|
584
585
|
languagesQuery = languagesArray
|
|
585
|
-
.map(function (l) { return "languages="
|
|
586
|
+
.map(function (l) { return "languages=".concat(l); })
|
|
586
587
|
.join('&');
|
|
587
|
-
return [4 /*yield*/, this.apiHttpService.fetchJson("v2/projects/translations?"
|
|
588
|
+
return [4 /*yield*/, this.apiHttpService.fetchJson("v2/projects/translations?".concat(languagesQuery, "&filterKeyName=").concat(encodeURIComponent(key)))];
|
|
588
589
|
case 2:
|
|
589
590
|
data = _e.sent();
|
|
590
591
|
translationData_1 = languagesArray.reduce(function (acc, curr) {
|
|
@@ -709,7 +710,7 @@
|
|
|
709
710
|
switch (_c.label) {
|
|
710
711
|
case 0:
|
|
711
712
|
this.coreService.checkScope('translations.edit');
|
|
712
|
-
return [4 /*yield*/, this.apiHttpService.postJson("v2/projects/keys/"
|
|
713
|
+
return [4 /*yield*/, this.apiHttpService.postJson("v2/projects/keys/".concat(id, "/complex-update"), __assign(__assign({}, data), { screenshotUploadedImageIds: ((_a = data.screenshotUploadedImageIds) === null || _a === void 0 ? void 0 : _a.length)
|
|
713
714
|
? data.screenshotUploadedImageIds
|
|
714
715
|
: undefined, screenshotIdsToDelete: ((_b = data.screenshotIdsToDelete) === null || _b === void 0 ? void 0 : _b.length)
|
|
715
716
|
? data.screenshotIdsToDelete
|
|
@@ -867,7 +868,7 @@
|
|
|
867
868
|
}
|
|
868
869
|
_c.label = 3;
|
|
869
870
|
case 3:
|
|
870
|
-
url = ""
|
|
871
|
+
url = "".concat(this.properties.config.filesUrlPrefix || '/').concat(language, ".json");
|
|
871
872
|
_c.label = 4;
|
|
872
873
|
case 4:
|
|
873
874
|
_c.trys.push([4, 10, , 11]);
|
|
@@ -892,14 +893,14 @@
|
|
|
892
893
|
case 8:
|
|
893
894
|
_c.sent();
|
|
894
895
|
// eslint-disable-next-line no-console
|
|
895
|
-
console.error("Error parsing json retrieved from "
|
|
896
|
+
console.error("Error parsing json retrieved from ".concat(url, "."));
|
|
896
897
|
this.setEmptyLanguageData(language);
|
|
897
898
|
return [3 /*break*/, 9];
|
|
898
899
|
case 9: return [3 /*break*/, 11];
|
|
899
900
|
case 10:
|
|
900
901
|
_c.sent();
|
|
901
902
|
// eslint-disable-next-line no-console
|
|
902
|
-
console.error("Error fetching localization data from "
|
|
903
|
+
console.error("Error fetching localization data from ".concat(url, "."));
|
|
903
904
|
this.setEmptyLanguageData(language);
|
|
904
905
|
return [3 /*break*/, 11];
|
|
905
906
|
case 11: return [2 /*return*/];
|
|
@@ -917,7 +918,7 @@
|
|
|
917
918
|
_a.label = 1;
|
|
918
919
|
case 1:
|
|
919
920
|
_a.trys.push([1, 3, , 4]);
|
|
920
|
-
return [4 /*yield*/, this.apiHttpService.fetchJson("v2/projects/translations/"
|
|
921
|
+
return [4 /*yield*/, this.apiHttpService.fetchJson("v2/projects/translations/".concat(language))];
|
|
921
922
|
case 2:
|
|
922
923
|
data = _a.sent();
|
|
923
924
|
this.setLanguageData(language, data[language] || {});
|
|
@@ -1597,8 +1598,8 @@
|
|
|
1597
1598
|
}
|
|
1598
1599
|
|
|
1599
1600
|
var _a;
|
|
1600
|
-
var SPACE_SEPARATOR_START_REGEX = new RegExp("^"
|
|
1601
|
-
var SPACE_SEPARATOR_END_REGEX = new RegExp(SPACE_SEPARATOR_REGEX.source
|
|
1601
|
+
var SPACE_SEPARATOR_START_REGEX = new RegExp("^".concat(SPACE_SEPARATOR_REGEX.source, "*"));
|
|
1602
|
+
var SPACE_SEPARATOR_END_REGEX = new RegExp("".concat(SPACE_SEPARATOR_REGEX.source, "*$"));
|
|
1602
1603
|
function createLocation(start, end) {
|
|
1603
1604
|
return { start: start, end: end };
|
|
1604
1605
|
}
|
|
@@ -1845,7 +1846,7 @@
|
|
|
1845
1846
|
return {
|
|
1846
1847
|
val: {
|
|
1847
1848
|
type: TYPE.literal,
|
|
1848
|
-
value: "<"
|
|
1849
|
+
value: "<".concat(tagName, "/>"),
|
|
1849
1850
|
location: createLocation(startPosition, this.clonePosition()),
|
|
1850
1851
|
},
|
|
1851
1852
|
err: null,
|
|
@@ -2450,7 +2451,7 @@
|
|
|
2450
2451
|
}
|
|
2451
2452
|
var code = codePointAt(this.message, offset);
|
|
2452
2453
|
if (code === undefined) {
|
|
2453
|
-
throw Error("Offset "
|
|
2454
|
+
throw Error("Offset ".concat(offset, " is at invalid UTF-16 code unit boundary"));
|
|
2454
2455
|
}
|
|
2455
2456
|
return code;
|
|
2456
2457
|
};
|
|
@@ -2518,7 +2519,7 @@
|
|
|
2518
2519
|
*/
|
|
2519
2520
|
Parser.prototype.bumpTo = function (targetOffset) {
|
|
2520
2521
|
if (this.offset() > targetOffset) {
|
|
2521
|
-
throw Error("targetOffset "
|
|
2522
|
+
throw Error("targetOffset ".concat(targetOffset, " must be greater than or equal to the current offset ").concat(this.offset()));
|
|
2522
2523
|
}
|
|
2523
2524
|
targetOffset = Math.min(targetOffset, this.message.length);
|
|
2524
2525
|
while (true) {
|
|
@@ -2527,7 +2528,7 @@
|
|
|
2527
2528
|
break;
|
|
2528
2529
|
}
|
|
2529
2530
|
if (offset > targetOffset) {
|
|
2530
|
-
throw Error("targetOffset "
|
|
2531
|
+
throw Error("targetOffset ".concat(targetOffset, " is at invalid UTF-16 code unit boundary"));
|
|
2531
2532
|
}
|
|
2532
2533
|
this.bump();
|
|
2533
2534
|
if (this.isEOF()) {
|
|
@@ -2993,28 +2994,28 @@
|
|
|
2993
2994
|
return _this;
|
|
2994
2995
|
}
|
|
2995
2996
|
FormatError.prototype.toString = function () {
|
|
2996
|
-
return "[formatjs Error: "
|
|
2997
|
+
return "[formatjs Error: ".concat(this.code, "] ").concat(this.message);
|
|
2997
2998
|
};
|
|
2998
2999
|
return FormatError;
|
|
2999
3000
|
}(Error));
|
|
3000
3001
|
var InvalidValueError = /** @class */ (function (_super) {
|
|
3001
3002
|
__extends(InvalidValueError, _super);
|
|
3002
3003
|
function InvalidValueError(variableId, value, options, originalMessage) {
|
|
3003
|
-
return _super.call(this, "Invalid values for \""
|
|
3004
|
+
return _super.call(this, "Invalid values for \"".concat(variableId, "\": \"").concat(value, "\". Options are \"").concat(Object.keys(options).join('", "'), "\""), ErrorCode.INVALID_VALUE, originalMessage) || this;
|
|
3004
3005
|
}
|
|
3005
3006
|
return InvalidValueError;
|
|
3006
3007
|
}(FormatError));
|
|
3007
3008
|
var InvalidValueTypeError = /** @class */ (function (_super) {
|
|
3008
3009
|
__extends(InvalidValueTypeError, _super);
|
|
3009
3010
|
function InvalidValueTypeError(value, type, originalMessage) {
|
|
3010
|
-
return _super.call(this, "Value for \""
|
|
3011
|
+
return _super.call(this, "Value for \"".concat(value, "\" must be of type ").concat(type), ErrorCode.INVALID_VALUE, originalMessage) || this;
|
|
3011
3012
|
}
|
|
3012
3013
|
return InvalidValueTypeError;
|
|
3013
3014
|
}(FormatError));
|
|
3014
3015
|
var MissingValueError = /** @class */ (function (_super) {
|
|
3015
3016
|
__extends(MissingValueError, _super);
|
|
3016
3017
|
function MissingValueError(variableId, originalMessage) {
|
|
3017
|
-
return _super.call(this, "The intl string context variable \""
|
|
3018
|
+
return _super.call(this, "The intl string context variable \"".concat(variableId, "\" was not provided to the string \"").concat(originalMessage, "\""), ErrorCode.MISSING_VALUE, originalMessage) || this;
|
|
3018
3019
|
}
|
|
3019
3020
|
return MissingValueError;
|
|
3020
3021
|
}(FormatError));
|
|
@@ -3175,7 +3176,7 @@
|
|
|
3175
3176
|
continue;
|
|
3176
3177
|
}
|
|
3177
3178
|
if (isPluralElement(el)) {
|
|
3178
|
-
var opt = el.options["="
|
|
3179
|
+
var opt = el.options["=".concat(value)];
|
|
3179
3180
|
if (!opt) {
|
|
3180
3181
|
if (!Intl.PluralRules) {
|
|
3181
3182
|
throw new FormatError("Intl.PluralRules is not available in this environment.\nTry polyfilling it using \"@formatjs/intl-pluralrules\"\n", ErrorCode.MISSING_INTL_API, originalMessage);
|
|
@@ -3459,7 +3460,7 @@
|
|
|
3459
3460
|
get: function () {
|
|
3460
3461
|
var escapedPrefix = this.escapeForRegExp(this.properties.config.inputPrefix);
|
|
3461
3462
|
var escapedSuffix = this.escapeForRegExp(this.properties.config.inputSuffix);
|
|
3462
|
-
return "(\\\\?)("
|
|
3463
|
+
return "(\\\\?)(".concat(escapedPrefix, "(.*?)").concat(escapedSuffix, ")");
|
|
3463
3464
|
},
|
|
3464
3465
|
enumerable: false,
|
|
3465
3466
|
configurable: true
|
|
@@ -3619,12 +3620,12 @@
|
|
|
3619
3620
|
var paramString = Object.entries(params)
|
|
3620
3621
|
.map(function (_a) {
|
|
3621
3622
|
var _b = __read(_a, 2), name = _b[0], value = _b[1];
|
|
3622
|
-
return _this.escapeParam(name)
|
|
3623
|
+
return "".concat(_this.escapeParam(name), ":").concat(_this.escapeParam(value));
|
|
3623
3624
|
})
|
|
3624
3625
|
.join(',');
|
|
3625
|
-
paramString = paramString.length ? ":"
|
|
3626
|
-
var defaultString = defaultValue !== undefined ? ","
|
|
3627
|
-
return ""
|
|
3626
|
+
paramString = paramString.length ? ":".concat(paramString) : '';
|
|
3627
|
+
var defaultString = defaultValue !== undefined ? ",".concat(this.escapeParam(defaultValue)) : '';
|
|
3628
|
+
return "".concat(this.properties.config.inputPrefix).concat(this.escapeParam(key)).concat(defaultString).concat(paramString).concat(this.properties.config.inputSuffix);
|
|
3628
3629
|
};
|
|
3629
3630
|
TextService.prototype.getTranslatedWithMetadata = function (text) {
|
|
3630
3631
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -3686,7 +3687,7 @@
|
|
|
3686
3687
|
}
|
|
3687
3688
|
};
|
|
3688
3689
|
element.addEventListener('mouseover', onMouseOver);
|
|
3689
|
-
element.addEventListener('click', onClick);
|
|
3690
|
+
element.addEventListener('click', onClick, { capture: true });
|
|
3690
3691
|
var onMouseDownOrUp = function (e) {
|
|
3691
3692
|
if (_this.areKeysDown()) {
|
|
3692
3693
|
e.stopPropagation();
|
|
@@ -3700,7 +3701,7 @@
|
|
|
3700
3701
|
element.removeEventListener('mousedown', onMouseDownOrUp);
|
|
3701
3702
|
element.removeEventListener('mouseup', onMouseDownOrUp);
|
|
3702
3703
|
element.removeEventListener('mouseover', onMouseOver);
|
|
3703
|
-
element.removeEventListener('click', onClick);
|
|
3704
|
+
element.removeEventListener('click', onClick, { capture: true });
|
|
3704
3705
|
element.removeEventListener('mouseout', onMouseOut);
|
|
3705
3706
|
};
|
|
3706
3707
|
};
|
|
@@ -3721,11 +3722,13 @@
|
|
|
3721
3722
|
}
|
|
3722
3723
|
};
|
|
3723
3724
|
MouseEventHandler.prototype.onMouseOut = function (element) {
|
|
3725
|
+
element._tolgee.preventClean = false;
|
|
3724
3726
|
this.mouseOn.delete(element);
|
|
3725
3727
|
this.mouseOnChanged.emit(this.getMouseOn());
|
|
3726
3728
|
};
|
|
3727
3729
|
MouseEventHandler.prototype.onMouseOver = function (element) {
|
|
3728
3730
|
this.filterMouseOn();
|
|
3731
|
+
element._tolgee.preventClean = true;
|
|
3729
3732
|
this.mouseOn.delete(element); //to get in to last place
|
|
3730
3733
|
this.mouseOn.add(element);
|
|
3731
3734
|
this.mouseOnChanged.emit(this.getMouseOn());
|
|
@@ -3787,40 +3790,26 @@
|
|
|
3787
3790
|
var _this = this;
|
|
3788
3791
|
this.dependencies = dependencies;
|
|
3789
3792
|
this.translationEdit = function (e, element) { return __awaiter(_this, void 0, void 0, function () {
|
|
3790
|
-
var key;
|
|
3793
|
+
var renderer, key;
|
|
3791
3794
|
return __generator(this, function (_a) {
|
|
3792
3795
|
switch (_a.label) {
|
|
3793
|
-
case 0:
|
|
3794
|
-
if (!(typeof this.renderer === 'object')) return [3 /*break*/, 2];
|
|
3795
|
-
return [4 /*yield*/, this.getKeyAndDefault(e, element)];
|
|
3796
|
+
case 0: return [4 /*yield*/, this.getRenderer()];
|
|
3796
3797
|
case 1:
|
|
3798
|
+
renderer = _a.sent();
|
|
3799
|
+
if (!(typeof renderer === 'object')) return [3 /*break*/, 3];
|
|
3800
|
+
return [4 /*yield*/, this.getKeyAndDefault(e, element)];
|
|
3801
|
+
case 2:
|
|
3797
3802
|
key = _a.sent();
|
|
3798
3803
|
if (key) {
|
|
3799
|
-
|
|
3804
|
+
renderer.renderViewer(key.key, key.defaultValue);
|
|
3800
3805
|
return [2 /*return*/];
|
|
3801
3806
|
}
|
|
3802
3807
|
return [2 /*return*/];
|
|
3803
|
-
case 2
|
|
3804
|
-
// eslint-disable-next-line no-console
|
|
3805
|
-
console.warn('Tolgee UI is not provided. To translate interactively provide tolgee ui constructor to "ui" configuration property. ' +
|
|
3806
|
-
'To disable highlighting use production mode.');
|
|
3807
|
-
return [2 /*return*/];
|
|
3808
|
+
case 3: return [2 /*return*/];
|
|
3808
3809
|
}
|
|
3809
3810
|
});
|
|
3810
3811
|
}); };
|
|
3811
3812
|
}
|
|
3812
|
-
Object.defineProperty(TranslationHighlighter.prototype, "renderer", {
|
|
3813
|
-
get: function () {
|
|
3814
|
-
if (this._renderer === undefined) {
|
|
3815
|
-
if (typeof this.dependencies.properties.config.ui === 'function') {
|
|
3816
|
-
this._renderer = new this.dependencies.properties.config.ui(this.dependencies);
|
|
3817
|
-
}
|
|
3818
|
-
}
|
|
3819
|
-
return this._renderer;
|
|
3820
|
-
},
|
|
3821
|
-
enumerable: false,
|
|
3822
|
-
configurable: true
|
|
3823
|
-
});
|
|
3824
3813
|
TranslationHighlighter.getKeyOptions = function (node) {
|
|
3825
3814
|
var nodes = Array.from(node._tolgee.nodes);
|
|
3826
3815
|
return nodes.reduce(function (acc, curr) { return __spreadArray(__spreadArray([], __read(acc), false), __read(curr._tolgee.keys.map(function (k) { return ({
|
|
@@ -3838,9 +3827,70 @@
|
|
|
3838
3827
|
}
|
|
3839
3828
|
}); }); });
|
|
3840
3829
|
};
|
|
3830
|
+
TranslationHighlighter.prototype.getRenderer = function () {
|
|
3831
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
3832
|
+
var possibleProviders, possibleProviders_1, possibleProviders_1_1, possibleProvider, constructorProvider, constructor, constructor, e_2_1;
|
|
3833
|
+
var e_2, _a;
|
|
3834
|
+
return __generator(this, function (_b) {
|
|
3835
|
+
switch (_b.label) {
|
|
3836
|
+
case 0:
|
|
3837
|
+
if (!(this._renderer === undefined)) return [3 /*break*/, 11];
|
|
3838
|
+
possibleProviders = [
|
|
3839
|
+
this.dependencies.properties.config.ui,
|
|
3840
|
+
window['@tolgee/ui'],
|
|
3841
|
+
];
|
|
3842
|
+
_b.label = 1;
|
|
3843
|
+
case 1:
|
|
3844
|
+
_b.trys.push([1, 8, 9, 10]);
|
|
3845
|
+
possibleProviders_1 = __values(possibleProviders), possibleProviders_1_1 = possibleProviders_1.next();
|
|
3846
|
+
_b.label = 2;
|
|
3847
|
+
case 2:
|
|
3848
|
+
if (!!possibleProviders_1_1.done) return [3 /*break*/, 7];
|
|
3849
|
+
possibleProvider = possibleProviders_1_1.value;
|
|
3850
|
+
if (!(typeof possibleProvider === 'function')) return [3 /*break*/, 6];
|
|
3851
|
+
_b.label = 3;
|
|
3852
|
+
case 3:
|
|
3853
|
+
_b.trys.push([3, 5, , 6]);
|
|
3854
|
+
constructorProvider = possibleProvider;
|
|
3855
|
+
return [4 /*yield*/, constructorProvider()];
|
|
3856
|
+
case 4:
|
|
3857
|
+
constructor = _b.sent();
|
|
3858
|
+
this._renderer = new constructor(this.dependencies);
|
|
3859
|
+
return [3 /*break*/, 6];
|
|
3860
|
+
case 5:
|
|
3861
|
+
_b.sent();
|
|
3862
|
+
constructor = possibleProvider;
|
|
3863
|
+
this._renderer = new constructor(this.dependencies);
|
|
3864
|
+
return [3 /*break*/, 6];
|
|
3865
|
+
case 6:
|
|
3866
|
+
possibleProviders_1_1 = possibleProviders_1.next();
|
|
3867
|
+
return [3 /*break*/, 2];
|
|
3868
|
+
case 7: return [3 /*break*/, 10];
|
|
3869
|
+
case 8:
|
|
3870
|
+
e_2_1 = _b.sent();
|
|
3871
|
+
e_2 = { error: e_2_1 };
|
|
3872
|
+
return [3 /*break*/, 10];
|
|
3873
|
+
case 9:
|
|
3874
|
+
try {
|
|
3875
|
+
if (possibleProviders_1_1 && !possibleProviders_1_1.done && (_a = possibleProviders_1.return)) _a.call(possibleProviders_1);
|
|
3876
|
+
}
|
|
3877
|
+
finally { if (e_2) throw e_2.error; }
|
|
3878
|
+
return [7 /*endfinally*/];
|
|
3879
|
+
case 10:
|
|
3880
|
+
if (this._renderer === undefined) {
|
|
3881
|
+
// eslint-disable-next-line no-console
|
|
3882
|
+
console.warn('Tolgee UI is not provided. To translate interactively provide tolgee ui constructor to "ui" configuration property. ' +
|
|
3883
|
+
'To disable highlighting use production mode.');
|
|
3884
|
+
}
|
|
3885
|
+
_b.label = 11;
|
|
3886
|
+
case 11: return [2 /*return*/, this._renderer];
|
|
3887
|
+
}
|
|
3888
|
+
});
|
|
3889
|
+
});
|
|
3890
|
+
};
|
|
3841
3891
|
TranslationHighlighter.prototype.getKeyAndDefault = function (mouseEvent, element) {
|
|
3842
3892
|
return __awaiter(this, void 0, void 0, function () {
|
|
3843
|
-
var keysWithDefaults, keySet, selectedKey_1, found;
|
|
3893
|
+
var keysWithDefaults, keySet, renderer, selectedKey_1, found;
|
|
3844
3894
|
return __generator(this, function (_a) {
|
|
3845
3895
|
switch (_a.label) {
|
|
3846
3896
|
case 0:
|
|
@@ -3852,19 +3902,22 @@
|
|
|
3852
3902
|
}
|
|
3853
3903
|
keysWithDefaults = TranslationHighlighter.getKeyOptions(element);
|
|
3854
3904
|
keySet = new Set(keysWithDefaults.map(function (keyWithDefault) { return keyWithDefault.key; }));
|
|
3855
|
-
if (!(keySet.size > 1)) return [3 /*break*/,
|
|
3856
|
-
return [4 /*yield*/, this.
|
|
3905
|
+
if (!(keySet.size > 1)) return [3 /*break*/, 3];
|
|
3906
|
+
return [4 /*yield*/, this.getRenderer()];
|
|
3907
|
+
case 1:
|
|
3908
|
+
renderer = _a.sent();
|
|
3909
|
+
return [4 /*yield*/, renderer.getKey({
|
|
3857
3910
|
keys: keySet,
|
|
3858
3911
|
openEvent: mouseEvent,
|
|
3859
3912
|
})];
|
|
3860
|
-
case
|
|
3913
|
+
case 2:
|
|
3861
3914
|
selectedKey_1 = _a.sent();
|
|
3862
3915
|
found = keysWithDefaults.find(function (kwd) { return kwd.key === selectedKey_1; });
|
|
3863
3916
|
if (found) {
|
|
3864
3917
|
return [2 /*return*/, found];
|
|
3865
3918
|
}
|
|
3866
|
-
_a.label =
|
|
3867
|
-
case
|
|
3919
|
+
_a.label = 3;
|
|
3920
|
+
case 3:
|
|
3868
3921
|
if (keySet.size === 1) {
|
|
3869
3922
|
return [2 /*return*/, keysWithDefaults[0]];
|
|
3870
3923
|
}
|
|
@@ -3903,10 +3956,12 @@
|
|
|
3903
3956
|
try {
|
|
3904
3957
|
for (var _b = __values(this.registeredElements), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
3905
3958
|
var element = _c.value;
|
|
3906
|
-
|
|
3907
|
-
|
|
3908
|
-
|
|
3909
|
-
|
|
3959
|
+
if (!element._tolgee.preventClean) {
|
|
3960
|
+
this.cleanElementInactiveNodes(element);
|
|
3961
|
+
if (element._tolgee.nodes.size === 0 &&
|
|
3962
|
+
!element._tolgee.wrappedWithElementOnlyKey) {
|
|
3963
|
+
this.cleanElement(element);
|
|
3964
|
+
}
|
|
3910
3965
|
}
|
|
3911
3966
|
}
|
|
3912
3967
|
}
|
|
@@ -3978,12 +4033,14 @@
|
|
|
3978
4033
|
}
|
|
3979
4034
|
};
|
|
3980
4035
|
ElementRegistrar.prototype.cleanElement = function (element) {
|
|
3981
|
-
if (
|
|
3982
|
-
element._tolgee.removeAllEventListeners
|
|
4036
|
+
if (!element._tolgee.preventClean) {
|
|
4037
|
+
if (typeof element._tolgee.removeAllEventListeners === 'function') {
|
|
4038
|
+
element._tolgee.removeAllEventListeners();
|
|
4039
|
+
}
|
|
4040
|
+
element.removeAttribute(TOLGEE_ATTRIBUTE_NAME);
|
|
4041
|
+
delete element._tolgee;
|
|
4042
|
+
this.registeredElements.delete(element);
|
|
3983
4043
|
}
|
|
3984
|
-
element.removeAttribute(TOLGEE_ATTRIBUTE_NAME);
|
|
3985
|
-
delete element._tolgee;
|
|
3986
|
-
this.registeredElements.delete(element);
|
|
3987
4044
|
};
|
|
3988
4045
|
ElementRegistrar.prototype.getActiveNodes = function (element) {
|
|
3989
4046
|
var _a, _b, node, e_5_1;
|
|
@@ -4047,7 +4104,7 @@
|
|
|
4047
4104
|
return nodes.filter(function (n) {
|
|
4048
4105
|
var e = NodeHelper.closestElement(n);
|
|
4049
4106
|
return (restrictedElements.indexOf(e.tagName.toLowerCase()) === -1 &&
|
|
4050
|
-
e.closest("["
|
|
4107
|
+
e.closest("[".concat(RESTRICTED_ASCENDANT_ATTRIBUTE, "=\"true\"]")) === null);
|
|
4051
4108
|
});
|
|
4052
4109
|
};
|
|
4053
4110
|
AbstractHandler.prototype.handleNodes = function (nodes) {
|
|
@@ -4173,7 +4230,7 @@
|
|
|
4173
4230
|
case 0:
|
|
4174
4231
|
inputPrefix = this.properties.config.inputPrefix;
|
|
4175
4232
|
inputSuffix = this.properties.config.inputSuffix;
|
|
4176
|
-
xPath = "./descendant-or-self::text()[contains(., '"
|
|
4233
|
+
xPath = "./descendant-or-self::text()[contains(., '".concat(inputPrefix, "') and contains(., '").concat(inputSuffix, "')]");
|
|
4177
4234
|
nodes = NodeHelper.evaluate(xPath, node);
|
|
4178
4235
|
filtered = this.filterRestricted(nodes);
|
|
4179
4236
|
return [4 /*yield*/, this.handleNodes(filtered)];
|
|
@@ -4222,7 +4279,7 @@
|
|
|
4222
4279
|
case 4:
|
|
4223
4280
|
if (!!attributes_1_1.done) return [3 /*break*/, 7];
|
|
4224
4281
|
attribute = attributes_1_1.value;
|
|
4225
|
-
expression = "descendant-or-self::"
|
|
4282
|
+
expression = "descendant-or-self::".concat(tag, "/@").concat(attribute, "[contains(., '").concat(inputPrefix, "') and contains(., '").concat(inputSuffix, "')]");
|
|
4226
4283
|
nodes = NodeHelper.evaluate(expression, node);
|
|
4227
4284
|
return [4 /*yield*/, this.handleNodes(nodes)];
|
|
4228
4285
|
case 5:
|
|
@@ -4492,7 +4549,7 @@
|
|
|
4492
4549
|
});
|
|
4493
4550
|
});
|
|
4494
4551
|
};
|
|
4495
|
-
CoreService.prototype.
|
|
4552
|
+
CoreService.prototype.getApiKeyDetails = function () {
|
|
4496
4553
|
return __awaiter(this, void 0, void 0, function () {
|
|
4497
4554
|
var e_1;
|
|
4498
4555
|
return __generator(this, function (_a) {
|
|
@@ -4500,8 +4557,7 @@
|
|
|
4500
4557
|
case 0:
|
|
4501
4558
|
_a.trys.push([0, 2, , 3]);
|
|
4502
4559
|
return [4 /*yield*/, this.apiHttpService.fetchJson("v2/api-keys/current")];
|
|
4503
|
-
case 1: return [2 /*return*/,
|
|
4504
|
-
.scopes];
|
|
4560
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
4505
4561
|
case 2:
|
|
4506
4562
|
e_1 = _a.sent();
|
|
4507
4563
|
// eslint-disable-next-line no-console
|
|
@@ -4541,7 +4597,7 @@
|
|
|
4541
4597
|
var xPath, nodes, filtered;
|
|
4542
4598
|
var _this = this;
|
|
4543
4599
|
return __generator(this, function (_a) {
|
|
4544
|
-
xPath = "./descendant-or-self::*[@"
|
|
4600
|
+
xPath = "./descendant-or-self::*[@".concat(TOLGEE_WRAPPED_ONLY_DATA_ATTRIBUTE, "]");
|
|
4545
4601
|
nodes = NodeHelper.evaluate(xPath, node);
|
|
4546
4602
|
filtered = this.filterRestricted(nodes);
|
|
4547
4603
|
filtered.forEach(function (element) {
|
|
@@ -4755,7 +4811,7 @@
|
|
|
4755
4811
|
ScreenshotService.prototype.deleteImages = function (ids) {
|
|
4756
4812
|
return __awaiter(this, void 0, void 0, function () {
|
|
4757
4813
|
return __generator(this, function (_a) {
|
|
4758
|
-
return [2 /*return*/, this.apiHttpService.post("v2/image-upload/"
|
|
4814
|
+
return [2 /*return*/, this.apiHttpService.post("v2/image-upload/".concat(ids.join(',')), undefined, {
|
|
4759
4815
|
method: 'delete',
|
|
4760
4816
|
})];
|
|
4761
4817
|
});
|
|
@@ -4894,7 +4950,7 @@
|
|
|
4894
4950
|
switch (_a.label) {
|
|
4895
4951
|
case 0:
|
|
4896
4952
|
if (!(this.properties.config.mode === 'development')) return [3 /*break*/, 2];
|
|
4897
|
-
return [4 /*yield*/, this.
|
|
4953
|
+
return [4 /*yield*/, this.loadApiKeyDetails()];
|
|
4898
4954
|
case 1:
|
|
4899
4955
|
_a.sent();
|
|
4900
4956
|
_a.label = 2;
|
|
@@ -4949,7 +5005,7 @@
|
|
|
4949
5005
|
orEmpty = props.orEmpty;
|
|
4950
5006
|
}
|
|
4951
5007
|
if (!(this.properties.config.mode === 'development' && !noWrap)) return [3 /*break*/, 3];
|
|
4952
|
-
return [4 /*yield*/, this.
|
|
5008
|
+
return [4 /*yield*/, this.loadApiKeyDetails()];
|
|
4953
5009
|
case 1:
|
|
4954
5010
|
_a.sent();
|
|
4955
5011
|
return [4 /*yield*/, this.translationService.loadTranslations()];
|
|
@@ -4980,19 +5036,19 @@
|
|
|
4980
5036
|
}
|
|
4981
5037
|
return this.dependencyStore.textService.instant(key, params, undefined, orEmpty, defaultValue);
|
|
4982
5038
|
};
|
|
4983
|
-
Tolgee.prototype.
|
|
5039
|
+
Tolgee.prototype.loadApiKeyDetails = function () {
|
|
4984
5040
|
return __awaiter(this, void 0, void 0, function () {
|
|
4985
|
-
var
|
|
4986
|
-
return __generator(this, function (
|
|
4987
|
-
switch (
|
|
5041
|
+
var details;
|
|
5042
|
+
return __generator(this, function (_a) {
|
|
5043
|
+
switch (_a.label) {
|
|
4988
5044
|
case 0:
|
|
4989
5045
|
if (!(this.properties.scopes === undefined)) return [3 /*break*/, 2];
|
|
4990
|
-
|
|
4991
|
-
return [4 /*yield*/, this.dependencyStore.coreService.getScopes()];
|
|
5046
|
+
return [4 /*yield*/, this.dependencyStore.coreService.getApiKeyDetails()];
|
|
4992
5047
|
case 1:
|
|
4993
|
-
_a.
|
|
4994
|
-
|
|
4995
|
-
|
|
5048
|
+
details = _a.sent();
|
|
5049
|
+
this.properties.scopes = details.scopes;
|
|
5050
|
+
this.properties.projectId = details.projectId;
|
|
5051
|
+
_a.label = 2;
|
|
4996
5052
|
case 2: return [2 /*return*/];
|
|
4997
5053
|
}
|
|
4998
5054
|
});
|