cbcore-ts 1.0.27 → 1.0.32
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.
|
@@ -97,8 +97,8 @@ const _CBLanguageService = class {
|
|
|
97
97
|
}
|
|
98
98
|
static localizedTextObjectForKey(key, defaultString = key, parameters) {
|
|
99
99
|
const result = {};
|
|
100
|
-
|
|
101
|
-
result[languageKey] =
|
|
100
|
+
this.languages.forEach((languageObject, languageKey) => {
|
|
101
|
+
result[languageKey] = this.stringForKey(key, languageKey, defaultString, parameters);
|
|
102
102
|
});
|
|
103
103
|
return result;
|
|
104
104
|
}
|
|
@@ -111,7 +111,7 @@ const _CBLanguageService = class {
|
|
|
111
111
|
return import_uicore_ts.nil;
|
|
112
112
|
}
|
|
113
113
|
const result = {
|
|
114
|
-
[
|
|
114
|
+
[this.defaultLanguageKey]: text
|
|
115
115
|
};
|
|
116
116
|
return result;
|
|
117
117
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../scripts/CBLanguageService.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n FIRST_OR_NIL,\n IS,\n IS_DEFINED,\n IS_NOT,\n nil,\n UICore,\n UILanguageService,\n UILocalizedTextObject,\n UIRoute,\n UIView\n} from \"uicore-ts\"\nimport { CBCore } from \"./CBCore\"\nimport { CBLocalizedTextObject } from \"./CBDataInterfaces\"\n\n\nexport interface ParticularLanguageValues {\n \n [x: string]: string\n \n topBarTitle: string;\n selectLanguageTitle: string;\n languageNameShort: string;\n leftBarTitle: string;\n languageName: string\n \n}\n\n\nexport interface LanguageValues {\n \n [x: string]: ParticularLanguageValues\n \n en: ParticularLanguageValues\n est: ParticularLanguageValues\n \n}\n\n\nexport class CBLanguageService implements UILanguageService {\n \n static currentClassObject = CBLanguageService
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAWO;AACP,oBAAuB;AA2BhB,MAAM,qBAAN,MAAqD;AAAA,
|
|
4
|
+
"sourcesContent": ["import {\n FIRST_OR_NIL,\n IS,\n IS_DEFINED,\n IS_NOT,\n nil,\n UICore,\n UILanguageService,\n UILocalizedTextObject,\n UIRoute,\n UIView\n} from \"uicore-ts\"\nimport { CBCore } from \"./CBCore\"\nimport { CBLocalizedTextObject } from \"./CBDataInterfaces\"\n\n\nexport interface ParticularLanguageValues {\n \n [x: string]: string\n \n topBarTitle: string;\n selectLanguageTitle: string;\n languageNameShort: string;\n leftBarTitle: string;\n languageName: string\n \n}\n\n\nexport interface LanguageValues {\n \n [x: string]: ParticularLanguageValues\n \n en: ParticularLanguageValues\n est: ParticularLanguageValues\n \n}\n\n\nexport class CBLanguageService implements UILanguageService {\n \n static currentClassObject = CBLanguageService\n \n static _currentLanguageKey: string\n \n static languageValues: LanguageValues = {\n \n en: {\n \n languageName: \"English\",\n languageNameShort: \"ENG\",\n \n topBarTitle: \"UICore application\",\n \n selectLanguageTitle: \"Select language\",\n leftBarTitle: \"Title\"\n \n \n },\n est: {\n \n languageName: \"Eesti keel\",\n languageNameShort: \"EST\",\n \n topBarTitle: \"UICore rakendus\",\n \n selectLanguageTitle: \"Vali keel\",\n leftBarTitle: \"Pealkiri\"\n \n \n }\n \n \n }\n \n static languages = JSON.parse(JSON.stringify(this.languageValues))\n \n static useStoredLanguageValues(values = {}) {\n \n const result = JSON.parse(JSON.stringify(this.languageValues))\n .objectByCopyingValuesRecursivelyFromObject(\n values) as any\n \n if (JSON.stringify(result) != JSON.stringify(this.languages)) {\n \n this.languages = result\n \n this.broadcastLanguageChangeEvent()\n \n }\n \n }\n \n \n static broadcastLanguageChangeEvent(view?: UIView) {\n \n view = view as any || CBCore.sharedInstance.viewCores.everyElement.rootViewController.view.rootView as any\n \n view?.broadcastEventInSubtree({\n name: UIView.broadcastEventName.LanguageChanged,\n parameters: {}\n })\n \n }\n \n static get defaultLanguageKey() {\n \n // @ts-ignore\n return (CBCoreInitializerObject.defaultLanguageKey || \"en\")\n \n }\n \n static get currentLanguageKey() {\n \n if (!this._currentLanguageKey) {\n \n this.updateCurrentLanguageKey()\n \n }\n \n return this._currentLanguageKey\n \n }\n \n updateCurrentLanguageKey() {\n \n CBLanguageService.currentClassObject.updateCurrentLanguageKey()\n \n }\n \n static updateCurrentLanguageKey(route = UIRoute.currentRoute) {\n \n let result = route.componentWithName(\"settings\")?.parameters?.language\n \n if (IS_NOT(result)) {\n \n result = this.defaultLanguageKey\n \n }\n \n const isChanged = (result != this._currentLanguageKey)\n \n this._currentLanguageKey = result\n \n if (isChanged) {\n \n CBCore.sharedInstance.languageKey = result\n \n this.broadcastLanguageChangeEvent()\n \n }\n \n }\n \n get currentLanguageKey() {\n \n const result = CBLanguageService.currentClassObject.currentLanguageKey\n \n return result\n \n }\n \n \n static stringForKey(\n key: string,\n languageKey: string,\n defaultString: string,\n parameters?: { [x: string]: string | UILocalizedTextObject; }\n ) {\n \n var result: string\n \n if (IS(key) && this.languages[languageKey] &&\n IS_DEFINED(this.languages[languageKey][key])) {\n \n result = this.languages[languageKey][key]\n \n }\n else {\n \n result = defaultString\n \n }\n \n if (IS(parameters)) {\n \n const parameterKeys = Object.keys(parameters)\n \n parameterKeys.forEach(function (key, index, array) {\n \n const keyString = \"%\" + key + \"%\"\n \n const parameter = parameters[key]\n \n var parameterString\n \n if (parameter instanceof Object) {\n \n parameterString = UICore.languageService.stringForCurrentLanguage(parameter as UILocalizedTextObject)\n \n }\n else {\n \n parameterString = parameter\n \n }\n \n \n result = result.replace(new RegExp(keyString, \"g\"), parameterString)\n \n })\n \n }\n \n return result\n \n }\n \n stringForKey(\n key: string,\n languageKey: string,\n defaultString: string,\n parameters?: { [x: string]: string | UILocalizedTextObject; }\n ) {\n \n \n return CBLanguageService.currentClassObject.stringForKey(key, languageKey, defaultString, parameters)\n \n \n }\n \n \n static localizedTextObjectForKey(\n key: string,\n defaultString = key,\n parameters?: { [x: string]: string | UILocalizedTextObject; }\n ) {\n \n const result = {}\n \n this.languages.forEach((languageObject: any, languageKey: string) => {\n \n // @ts-ignore\n result[languageKey] = this.stringForKey(key, languageKey, defaultString, parameters)\n \n })\n \n return result\n \n }\n \n localizedTextObjectForKey(\n key: string,\n defaultString?: string,\n parameters?: { [x: string]: string | UILocalizedTextObject; }\n ) {\n \n const result = CBLanguageService.currentClassObject.localizedTextObjectForKey(key, defaultString, parameters)\n \n return result\n \n }\n \n \n static localizedTextObjectForText(text: string) {\n \n if (IS_NOT(text)) {\n \n return nil\n \n }\n \n const result = {\n \n [this.defaultLanguageKey]: text\n \n }\n \n return result\n \n }\n \n localizedTextObjectForText(text: string) {\n \n const result = CBLanguageService.currentClassObject.localizedTextObjectForText(text)\n \n return result\n \n }\n \n \n static stringForCurrentLanguage(localizedTextObject: CBLocalizedTextObject | string) {\n \n if (localizedTextObject === \"\" + localizedTextObject) {\n \n return localizedTextObject\n \n }\n \n localizedTextObject = FIRST_OR_NIL(localizedTextObject)\n \n // @ts-ignore\n let result: string = localizedTextObject[this.currentLanguageKey]\n \n if (IS_NOT(result)) {\n \n // @ts-ignore\n result = localizedTextObject[this.defaultLanguageKey]\n \n }\n \n if (IS_NOT(result)) {\n \n // @ts-ignore\n result = localizedTextObject[\"en\"]\n \n }\n \n if (IS_NOT(result)) {\n \n result = \"\"\n \n }\n \n return result\n \n }\n \n stringForCurrentLanguage(localizedTextObject: CBLocalizedTextObject) {\n \n return CBLanguageService.currentClassObject.stringForCurrentLanguage(localizedTextObject)\n \n }\n \n \n}\n\n\nUICore.languageService = CBLanguageService\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["key"]
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -39,7 +39,7 @@ export interface LanguageValues {
|
|
|
39
39
|
|
|
40
40
|
export class CBLanguageService implements UILanguageService {
|
|
41
41
|
|
|
42
|
-
static currentClassObject = CBLanguageService
|
|
42
|
+
static currentClassObject = CBLanguageService
|
|
43
43
|
|
|
44
44
|
static _currentLanguageKey: string
|
|
45
45
|
|
|
@@ -71,14 +71,12 @@ export class CBLanguageService implements UILanguageService {
|
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
|
|
74
|
-
|
|
75
|
-
|
|
76
74
|
}
|
|
77
75
|
|
|
78
76
|
static languages = JSON.parse(JSON.stringify(this.languageValues))
|
|
79
77
|
|
|
80
78
|
static useStoredLanguageValues(values = {}) {
|
|
81
|
-
|
|
79
|
+
|
|
82
80
|
const result = JSON.parse(JSON.stringify(this.languageValues))
|
|
83
81
|
.objectByCopyingValuesRecursivelyFromObject(
|
|
84
82
|
values) as any
|
|
@@ -95,7 +93,7 @@ export class CBLanguageService implements UILanguageService {
|
|
|
95
93
|
|
|
96
94
|
|
|
97
95
|
static broadcastLanguageChangeEvent(view?: UIView) {
|
|
98
|
-
|
|
96
|
+
|
|
99
97
|
view = view as any || CBCore.sharedInstance.viewCores.everyElement.rootViewController.view.rootView as any
|
|
100
98
|
|
|
101
99
|
view?.broadcastEventInSubtree({
|
|
@@ -163,7 +161,6 @@ export class CBLanguageService implements UILanguageService {
|
|
|
163
161
|
}
|
|
164
162
|
|
|
165
163
|
|
|
166
|
-
|
|
167
164
|
static stringForKey(
|
|
168
165
|
key: string,
|
|
169
166
|
languageKey: string,
|
|
@@ -241,10 +238,10 @@ export class CBLanguageService implements UILanguageService {
|
|
|
241
238
|
|
|
242
239
|
const result = {}
|
|
243
240
|
|
|
244
|
-
|
|
241
|
+
this.languages.forEach((languageObject: any, languageKey: string) => {
|
|
245
242
|
|
|
246
243
|
// @ts-ignore
|
|
247
|
-
result[languageKey] =
|
|
244
|
+
result[languageKey] = this.stringForKey(key, languageKey, defaultString, parameters)
|
|
248
245
|
|
|
249
246
|
})
|
|
250
247
|
|
|
@@ -275,7 +272,7 @@ export class CBLanguageService implements UILanguageService {
|
|
|
275
272
|
|
|
276
273
|
const result = {
|
|
277
274
|
|
|
278
|
-
[
|
|
275
|
+
[this.defaultLanguageKey]: text
|
|
279
276
|
|
|
280
277
|
}
|
|
281
278
|
|
|
@@ -304,7 +301,7 @@ export class CBLanguageService implements UILanguageService {
|
|
|
304
301
|
|
|
305
302
|
// @ts-ignore
|
|
306
303
|
let result: string = localizedTextObject[this.currentLanguageKey]
|
|
307
|
-
|
|
304
|
+
|
|
308
305
|
if (IS_NOT(result)) {
|
|
309
306
|
|
|
310
307
|
// @ts-ignore
|
|
@@ -336,8 +333,6 @@ export class CBLanguageService implements UILanguageService {
|
|
|
336
333
|
}
|
|
337
334
|
|
|
338
335
|
|
|
339
|
-
|
|
340
|
-
|
|
341
336
|
}
|
|
342
337
|
|
|
343
338
|
|