@tolgee/core 2.0.0 → 2.4.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 +1 -1
- package/dist/tolgee.cjs.js +51 -21
- 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 +16 -0
- package/dist/tolgee.esm.js.map +1 -0
- package/dist/tolgee.umd.js +51 -21
- 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/Tolgee.d.ts +1 -1
- package/lib/Tolgee.js +4 -2
- package/lib/Tolgee.js.map +1 -1
- package/lib/handlers/WrappedHandler.js +2 -0
- package/lib/handlers/WrappedHandler.js.map +1 -1
- package/lib/highlighter/MouseEventHandler.d.ts +0 -1
- package/lib/highlighter/MouseEventHandler.js.map +1 -1
- package/lib/highlighter/TranslationHighlighter.d.ts +1 -1
- package/lib/highlighter/TranslationHighlighter.js +28 -13
- package/lib/highlighter/TranslationHighlighter.js.map +1 -1
- package/lib/types.d.ts +2 -0
- package/package.json +7 -7
- package/lib/Observer.test.d.ts +0 -2
- package/lib/Observer.test.js +0 -190
- package/lib/Observer.test.js.map +0 -1
- package/lib/Properties.test.d.ts +0 -1
- package/lib/Properties.test.js +0 -77
- package/lib/Properties.test.js.map +0 -1
- package/lib/Tolgee.test.d.ts +0 -1
- package/lib/Tolgee.test.js +0 -451
- package/lib/Tolgee.test.js.map +0 -1
- package/lib/TolgeeConfig.test.d.ts +0 -1
- package/lib/TolgeeConfig.test.js +0 -18
- package/lib/TolgeeConfig.test.js.map +0 -1
- package/lib/__testFixtures/classMock.d.ts +0 -3
- package/lib/__testFixtures/classMock.js +0 -8
- package/lib/__testFixtures/classMock.js.map +0 -1
- package/lib/__testFixtures/createElement.d.ts +0 -2
- package/lib/__testFixtures/createElement.js +0 -57
- package/lib/__testFixtures/createElement.js.map +0 -1
- package/lib/__testFixtures/createTestDom.d.ts +0 -9
- package/lib/__testFixtures/createTestDom.js +0 -18
- package/lib/__testFixtures/createTestDom.js.map +0 -1
- package/lib/__testFixtures/mocked.d.ts +0 -20
- package/lib/__testFixtures/mocked.js +0 -24
- package/lib/__testFixtures/mocked.js.map +0 -1
- package/lib/handlers/AttributeHandler.test.d.ts +0 -1
- package/lib/handlers/AttributeHandler.test.js +0 -177
- package/lib/handlers/AttributeHandler.test.js.map +0 -1
- package/lib/handlers/CoreHandler.test.d.ts +0 -1
- package/lib/handlers/CoreHandler.test.js +0 -148
- package/lib/handlers/CoreHandler.test.js.map +0 -1
- package/lib/handlers/TextHandler.test.d.ts +0 -1
- package/lib/handlers/TextHandler.test.js +0 -270
- package/lib/handlers/TextHandler.test.js.map +0 -1
- package/lib/helpers/TextHelper.test.d.ts +0 -1
- package/lib/helpers/TextHelper.test.js +0 -107
- package/lib/helpers/TextHelper.test.js.map +0 -1
- package/lib/highlighter/HighlightFunctionsInitializer.test.d.ts +0 -1
- package/lib/highlighter/HighlightFunctionsInitializer.test.js +0 -81
- package/lib/highlighter/HighlightFunctionsInitializer.test.js.map +0 -1
- package/lib/highlighter/MouseEventHandler.test.d.ts +0 -1
- package/lib/highlighter/MouseEventHandler.test.js +0 -195
- package/lib/highlighter/MouseEventHandler.test.js.map +0 -1
- package/lib/highlighter/TranslationHighlighter.test.d.ts +0 -1
- package/lib/highlighter/TranslationHighlighter.test.js +0 -207
- package/lib/highlighter/TranslationHighlighter.test.js.map +0 -1
- package/lib/services/CoreService.test.d.ts +0 -1
- package/lib/services/CoreService.test.js +0 -179
- package/lib/services/CoreService.test.js.map +0 -1
- package/lib/services/DependencyStore.test.d.ts +0 -1
- package/lib/services/DependencyStore.test.js +0 -67
- package/lib/services/DependencyStore.test.js.map +0 -1
- package/lib/services/ElementRegistrar.test.d.ts +0 -1
- package/lib/services/ElementRegistrar.test.js +0 -200
- package/lib/services/ElementRegistrar.test.js.map +0 -1
- package/lib/services/TextService.test.d.ts +0 -1
- package/lib/services/TextService.test.js +0 -430
- package/lib/services/TextService.test.js.map +0 -1
- package/lib/services/TranslationService.test.d.ts +0 -1
- package/lib/services/TranslationService.test.js +0 -649
- package/lib/services/TranslationService.test.js.map +0 -1
- package/lib/toolsManager/Messages.test.d.ts +0 -1
- package/lib/toolsManager/Messages.test.js +0 -114
- package/lib/toolsManager/Messages.test.js.map +0 -1
- package/lib/toolsManager/PluginManager.test.d.ts +0 -1
- package/lib/toolsManager/PluginManager.test.js +0 -120
- package/lib/toolsManager/PluginManager.test.js.map +0 -1
package/dist/tolgee.umd.js
CHANGED
|
@@ -1332,11 +1332,17 @@
|
|
|
1332
1332
|
return unit.replace(/^(.*?)-/, '');
|
|
1333
1333
|
}
|
|
1334
1334
|
var FRACTION_PRECISION_REGEX = /^\.(?:(0+)(\*)?|(#+)|(0+)(#+))$/g;
|
|
1335
|
-
var SIGNIFICANT_PRECISION_REGEX = /^(@+)?(\+|#+)?$/g;
|
|
1335
|
+
var SIGNIFICANT_PRECISION_REGEX = /^(@+)?(\+|#+)?[rs]?$/g;
|
|
1336
1336
|
var INTEGER_WIDTH_REGEX = /(\*)(0+)|(#+)(0+)|(0+)/g;
|
|
1337
1337
|
var CONCISE_INTEGER_WIDTH_REGEX = /^(0+)$/;
|
|
1338
1338
|
function parseSignificantPrecision(str) {
|
|
1339
1339
|
var result = {};
|
|
1340
|
+
if (str[str.length - 1] === 'r') {
|
|
1341
|
+
result.roundingPriority = 'morePrecision';
|
|
1342
|
+
}
|
|
1343
|
+
else if (str[str.length - 1] === 's') {
|
|
1344
|
+
result.roundingPriority = 'lessPrecision';
|
|
1345
|
+
}
|
|
1340
1346
|
str.replace(SIGNIFICANT_PRECISION_REGEX, function (_, g1, g2) {
|
|
1341
1347
|
// @@@ case
|
|
1342
1348
|
if (typeof g2 !== 'string') {
|
|
@@ -1563,8 +1569,13 @@
|
|
|
1563
1569
|
}
|
|
1564
1570
|
return '';
|
|
1565
1571
|
});
|
|
1566
|
-
|
|
1567
|
-
|
|
1572
|
+
var opt = token.options[0];
|
|
1573
|
+
// https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#trailing-zero-display
|
|
1574
|
+
if (opt === 'w') {
|
|
1575
|
+
result = __assign(__assign({}, result), { trailingZeroDisplay: 'stripIfInteger' });
|
|
1576
|
+
}
|
|
1577
|
+
else if (opt) {
|
|
1578
|
+
result = __assign(__assign({}, result), parseSignificantPrecision(opt));
|
|
1568
1579
|
}
|
|
1569
1580
|
continue;
|
|
1570
1581
|
}
|
|
@@ -3235,7 +3246,7 @@
|
|
|
3235
3246
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
3236
3247
|
args[_i] = arguments[_i];
|
|
3237
3248
|
}
|
|
3238
|
-
return new ((_a = Intl.NumberFormat).bind.apply(_a, __spreadArray([void 0], args)))();
|
|
3249
|
+
return new ((_a = Intl.NumberFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();
|
|
3239
3250
|
}, {
|
|
3240
3251
|
cache: createFastMemoizeCache(cache.number),
|
|
3241
3252
|
strategy: strategies.variadic,
|
|
@@ -3246,7 +3257,7 @@
|
|
|
3246
3257
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
3247
3258
|
args[_i] = arguments[_i];
|
|
3248
3259
|
}
|
|
3249
|
-
return new ((_a = Intl.DateTimeFormat).bind.apply(_a, __spreadArray([void 0], args)))();
|
|
3260
|
+
return new ((_a = Intl.DateTimeFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();
|
|
3250
3261
|
}, {
|
|
3251
3262
|
cache: createFastMemoizeCache(cache.dateTime),
|
|
3252
3263
|
strategy: strategies.variadic,
|
|
@@ -3257,7 +3268,7 @@
|
|
|
3257
3268
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
3258
3269
|
args[_i] = arguments[_i];
|
|
3259
3270
|
}
|
|
3260
|
-
return new ((_a = Intl.PluralRules).bind.apply(_a, __spreadArray([void 0], args)))();
|
|
3271
|
+
return new ((_a = Intl.PluralRules).bind.apply(_a, __spreadArray([void 0], args, false)))();
|
|
3261
3272
|
}, {
|
|
3262
3273
|
cache: createFastMemoizeCache(cache.pluralRules),
|
|
3263
3274
|
strategy: strategies.variadic,
|
|
@@ -3781,11 +3792,11 @@
|
|
|
3781
3792
|
switch (_a.label) {
|
|
3782
3793
|
case 0:
|
|
3783
3794
|
if (!(typeof this.renderer === 'object')) return [3 /*break*/, 2];
|
|
3784
|
-
return [4 /*yield*/, this.
|
|
3795
|
+
return [4 /*yield*/, this.getKeyAndDefault(e, element)];
|
|
3785
3796
|
case 1:
|
|
3786
3797
|
key = _a.sent();
|
|
3787
3798
|
if (key) {
|
|
3788
|
-
this.renderer.renderViewer(key);
|
|
3799
|
+
this.renderer.renderViewer(key.key, key.defaultValue);
|
|
3789
3800
|
return [2 /*return*/];
|
|
3790
3801
|
}
|
|
3791
3802
|
return [2 /*return*/];
|
|
@@ -3812,8 +3823,10 @@
|
|
|
3812
3823
|
});
|
|
3813
3824
|
TranslationHighlighter.getKeyOptions = function (node) {
|
|
3814
3825
|
var nodes = Array.from(node._tolgee.nodes);
|
|
3815
|
-
|
|
3816
|
-
|
|
3826
|
+
return nodes.reduce(function (acc, curr) { return __spreadArray(__spreadArray([], __read(acc), false), __read(curr._tolgee.keys.map(function (k) { return ({
|
|
3827
|
+
key: k.key,
|
|
3828
|
+
defaultValue: k.defaultValue,
|
|
3829
|
+
}); })), false); }, []);
|
|
3817
3830
|
};
|
|
3818
3831
|
TranslationHighlighter.prototype.listen = function (element) {
|
|
3819
3832
|
var _this = this;
|
|
@@ -3825,22 +3838,35 @@
|
|
|
3825
3838
|
}
|
|
3826
3839
|
}); }); });
|
|
3827
3840
|
};
|
|
3828
|
-
TranslationHighlighter.prototype.
|
|
3841
|
+
TranslationHighlighter.prototype.getKeyAndDefault = function (mouseEvent, element) {
|
|
3829
3842
|
return __awaiter(this, void 0, void 0, function () {
|
|
3830
|
-
var
|
|
3843
|
+
var keysWithDefaults, keySet, selectedKey_1, found;
|
|
3831
3844
|
return __generator(this, function (_a) {
|
|
3832
3845
|
switch (_a.label) {
|
|
3833
3846
|
case 0:
|
|
3834
3847
|
if (element._tolgee.wrappedWithElementOnlyKey) {
|
|
3835
|
-
return [2 /*return*/,
|
|
3848
|
+
return [2 /*return*/, {
|
|
3849
|
+
key: element._tolgee.wrappedWithElementOnlyKey,
|
|
3850
|
+
defaultValue: element._tolgee.wrappedWithElementOnlyDefaultHtml,
|
|
3851
|
+
}];
|
|
3836
3852
|
}
|
|
3837
|
-
|
|
3838
|
-
|
|
3839
|
-
return [
|
|
3840
|
-
|
|
3853
|
+
keysWithDefaults = TranslationHighlighter.getKeyOptions(element);
|
|
3854
|
+
keySet = new Set(keysWithDefaults.map(function (keyWithDefault) { return keyWithDefault.key; }));
|
|
3855
|
+
if (!(keySet.size > 1)) return [3 /*break*/, 2];
|
|
3856
|
+
return [4 /*yield*/, this.renderer.getKey({
|
|
3857
|
+
keys: keySet,
|
|
3858
|
+
openEvent: mouseEvent,
|
|
3859
|
+
})];
|
|
3860
|
+
case 1:
|
|
3861
|
+
selectedKey_1 = _a.sent();
|
|
3862
|
+
found = keysWithDefaults.find(function (kwd) { return kwd.key === selectedKey_1; });
|
|
3863
|
+
if (found) {
|
|
3864
|
+
return [2 /*return*/, found];
|
|
3865
|
+
}
|
|
3866
|
+
_a.label = 2;
|
|
3841
3867
|
case 2:
|
|
3842
|
-
if (
|
|
3843
|
-
return [2 /*return*/,
|
|
3868
|
+
if (keySet.size === 1) {
|
|
3869
|
+
return [2 /*return*/, keysWithDefaults[0]];
|
|
3844
3870
|
}
|
|
3845
3871
|
// eslint-disable-next-line no-console
|
|
3846
3872
|
console.error('No key to translate. This seems like a bug in tolgee.');
|
|
@@ -4519,6 +4545,8 @@
|
|
|
4519
4545
|
filtered.forEach(function (element) {
|
|
4520
4546
|
var elementWithMeta = AbstractHandler.initParentElement(element);
|
|
4521
4547
|
elementWithMeta._tolgee.wrappedWithElementOnlyKey = element.getAttribute(TOLGEE_WRAPPED_ONLY_DATA_ATTRIBUTE);
|
|
4548
|
+
elementWithMeta._tolgee.wrappedWithElementOnlyDefaultHtml =
|
|
4549
|
+
element.innerHTML;
|
|
4522
4550
|
_this.elementRegistrar.register(elementWithMeta);
|
|
4523
4551
|
});
|
|
4524
4552
|
return [2 /*return*/];
|
|
@@ -4902,11 +4930,12 @@
|
|
|
4902
4930
|
if (noWrap === void 0) { noWrap = false; }
|
|
4903
4931
|
if (defaultValue === void 0) { defaultValue = undefined; }
|
|
4904
4932
|
return __awaiter(this, void 0, void 0, function () {
|
|
4905
|
-
var key, props;
|
|
4933
|
+
var key, orEmpty, props;
|
|
4906
4934
|
return __generator(this, function (_a) {
|
|
4907
4935
|
switch (_a.label) {
|
|
4908
4936
|
case 0:
|
|
4909
4937
|
key = typeof keyOrProps === 'string' ? keyOrProps : keyOrProps.key;
|
|
4938
|
+
orEmpty = undefined;
|
|
4910
4939
|
if (typeof keyOrProps === 'object') {
|
|
4911
4940
|
props = keyOrProps;
|
|
4912
4941
|
// if values are not provided in props object, get them from function
|
|
@@ -4915,6 +4944,7 @@
|
|
|
4915
4944
|
noWrap = props.noWrap !== undefined ? props.noWrap : noWrap;
|
|
4916
4945
|
defaultValue =
|
|
4917
4946
|
props.defaultValue !== undefined ? props.defaultValue : defaultValue;
|
|
4947
|
+
orEmpty = props.orEmpty;
|
|
4918
4948
|
}
|
|
4919
4949
|
if (!(this.properties.config.mode === 'development' && !noWrap)) return [3 /*break*/, 3];
|
|
4920
4950
|
return [4 /*yield*/, this.loadScopes()];
|
|
@@ -4924,7 +4954,7 @@
|
|
|
4924
4954
|
case 2:
|
|
4925
4955
|
_a.sent();
|
|
4926
4956
|
return [2 /*return*/, this.dependencyStore.textService.wrap(key, params, defaultValue)];
|
|
4927
|
-
case 3: return [2 /*return*/, this.dependencyStore.textService.translate(key, params, undefined,
|
|
4957
|
+
case 3: return [2 /*return*/, this.dependencyStore.textService.translate(key, params, undefined, orEmpty, defaultValue)];
|
|
4928
4958
|
}
|
|
4929
4959
|
});
|
|
4930
4960
|
});
|