@tolgee/core 2.2.0 → 2.8.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 +2 -1
- package/dist/tolgee.cjs.js +84 -32
- 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 +84 -32
- 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/TolgeeConfig.d.ts +1 -1
- package/lib/handlers/CoreHandler.js +4 -2
- package/lib/handlers/CoreHandler.js.map +1 -1
- package/lib/highlighter/MouseEventHandler.js +2 -2
- package/lib/highlighter/MouseEventHandler.js.map +1 -1
- package/lib/highlighter/TranslationHighlighter.d.ts +2 -2
- package/lib/highlighter/TranslationHighlighter.js +89 -28
- package/lib/highlighter/TranslationHighlighter.js.map +1 -1
- package/package.json +6 -6
- 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 -469
- 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 -58
- 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/README.md
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
# Tolgee core library
|
|
1
2
|

|
|
2
3
|

|
|
3
4
|

|
|
4
5
|
[](https://twitter.com/Tolgee_i18n)
|
|
5
6
|
[](https://github.com/tolgee/tolgee-js)
|
|
6
7
|
|
|
7
|
-
|
|
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
|
|
package/dist/tolgee.cjs.js
CHANGED
|
@@ -3684,7 +3684,7 @@ var MouseEventHandler = /** @class */ (function () {
|
|
|
3684
3684
|
}
|
|
3685
3685
|
};
|
|
3686
3686
|
element.addEventListener('mouseover', onMouseOver);
|
|
3687
|
-
element.addEventListener('click', onClick);
|
|
3687
|
+
element.addEventListener('click', onClick, { capture: true });
|
|
3688
3688
|
var onMouseDownOrUp = function (e) {
|
|
3689
3689
|
if (_this.areKeysDown()) {
|
|
3690
3690
|
e.stopPropagation();
|
|
@@ -3698,7 +3698,7 @@ var MouseEventHandler = /** @class */ (function () {
|
|
|
3698
3698
|
element.removeEventListener('mousedown', onMouseDownOrUp);
|
|
3699
3699
|
element.removeEventListener('mouseup', onMouseDownOrUp);
|
|
3700
3700
|
element.removeEventListener('mouseover', onMouseOver);
|
|
3701
|
-
element.removeEventListener('click', onClick);
|
|
3701
|
+
element.removeEventListener('click', onClick, { capture: true });
|
|
3702
3702
|
element.removeEventListener('mouseout', onMouseOut);
|
|
3703
3703
|
};
|
|
3704
3704
|
};
|
|
@@ -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
|
-
|
|
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*/,
|
|
3854
|
-
return [4 /*yield*/, this.
|
|
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
|
|
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 =
|
|
3865
|
-
case
|
|
3914
|
+
_a.label = 3;
|
|
3915
|
+
case 3:
|
|
3866
3916
|
if (keySet.size === 1) {
|
|
3867
3917
|
return [2 /*return*/, keysWithDefaults[0]];
|
|
3868
3918
|
}
|
|
@@ -4271,8 +4321,10 @@ var CoreHandler = /** @class */ (function () {
|
|
|
4271
4321
|
this.attributeHandler = attributeHandler;
|
|
4272
4322
|
this.textService = textService;
|
|
4273
4323
|
this.wrappedHandler = wrappedHandler;
|
|
4274
|
-
|
|
4275
|
-
|
|
4324
|
+
if (typeof window !== 'undefined') {
|
|
4325
|
+
eventService.LANGUAGE_CHANGED.subscribe(this.refresh.bind(this));
|
|
4326
|
+
eventService.TRANSLATION_CHANGED.subscribe(this.refresh.bind(this));
|
|
4327
|
+
}
|
|
4276
4328
|
}
|
|
4277
4329
|
CoreHandler.prototype.handleSubtree = function (target) {
|
|
4278
4330
|
return __awaiter(this, void 0, void 0, function () {
|