@flashist/flibs 0.0.266 → 0.0.268
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.
|
@@ -6,7 +6,6 @@ export class DeviceTools {
|
|
|
6
6
|
static getDeviceInfo(userAgent) {
|
|
7
7
|
var _a, _b;
|
|
8
8
|
let deviceType = DeviceType.DESKTOP;
|
|
9
|
-
let pixelRatio = 1;
|
|
10
9
|
// Mobile
|
|
11
10
|
if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(userAgent)
|
|
12
11
|
|| /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(userAgent.substr(0, 4))) {
|
|
@@ -19,7 +18,11 @@ export class DeviceTools {
|
|
|
19
18
|
}
|
|
20
19
|
}
|
|
21
20
|
// Pixel ratio based on the device type
|
|
22
|
-
if (deviceType !== DeviceType.DESKTOP) {
|
|
21
|
+
// if (deviceType !== DeviceType.DESKTOP) {
|
|
22
|
+
// pixelRatio = window.devicePixelRatio;
|
|
23
|
+
// }
|
|
24
|
+
let pixelRatio = 1;
|
|
25
|
+
if (window.devicePixelRatio) {
|
|
23
26
|
pixelRatio = window.devicePixelRatio;
|
|
24
27
|
}
|
|
25
28
|
// let userAgent = window.navigator.userAgent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceTools.js","sourceRoot":"","sources":["../../../src/device/tools/DeviceTools.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,OAAO,WAAW;IACpB,MAAM,CAAC,aAAa,CAAC,SAAiB;;QAClC,IAAI,UAAU,GAAe,UAAU,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"DeviceTools.js","sourceRoot":"","sources":["../../../src/device/tools/DeviceTools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { ILocaleConfig } from "./ILocaleConfig";
|
|
2
2
|
export declare class LocaleManager {
|
|
3
3
|
protected localeToIdMap: any;
|
|
4
|
-
private
|
|
5
|
-
protected
|
|
4
|
+
private _currentLocaleId;
|
|
5
|
+
protected currentLocaleTexts: ILocaleConfig;
|
|
6
|
+
protected defaultLocaleId: string;
|
|
6
7
|
useTextLinks: boolean;
|
|
7
8
|
protected bindMethodReplaceRegExpKeyByStrings: (substring: string, ...params: any[]) => string;
|
|
8
9
|
constructor();
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
addLocaleTexts(data: ILocaleConfig, localeId: string): void;
|
|
11
|
+
getCurrentLocaleId(): string;
|
|
12
|
+
setCurrentLocaleId(value: string): void;
|
|
12
13
|
protected commitLocaleData(): void;
|
|
13
14
|
getText(textId: string, params?: any): string;
|
|
14
15
|
protected format(str: string, params?: any): string;
|
package/locale/LocaleManager.js
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { ObjectTools, StringTools } from "@flashist/fcore";
|
|
2
2
|
import { getInstance } from "../servicelocator/ServiceLocatorShortcuts";
|
|
3
|
+
import { LocaleId } from "./LocaleId";
|
|
3
4
|
export class LocaleManager {
|
|
4
5
|
constructor() {
|
|
5
6
|
this.useTextLinks = true;
|
|
6
7
|
this.localeToIdMap = {};
|
|
7
8
|
this.bindMethodReplaceRegExpKeyByStrings = this.replaceRegExpKeyByStrings.bind(this);
|
|
8
|
-
this.
|
|
9
|
+
this.defaultLocaleId = LocaleId.EN;
|
|
10
|
+
this.setCurrentLocaleId("");
|
|
9
11
|
}
|
|
10
|
-
|
|
12
|
+
addLocaleTexts(data, localeId) {
|
|
11
13
|
// Support adding texts to the old localization
|
|
12
14
|
let oldLocale = {
|
|
13
15
|
texts: {}
|
|
@@ -20,25 +22,30 @@ export class LocaleManager {
|
|
|
20
22
|
this.localeToIdMap[localeId] = oldLocale;
|
|
21
23
|
this.commitLocaleData();
|
|
22
24
|
}
|
|
23
|
-
|
|
24
|
-
return this.
|
|
25
|
+
getCurrentLocaleId() {
|
|
26
|
+
return this._currentLocaleId;
|
|
25
27
|
}
|
|
26
|
-
|
|
27
|
-
if (value == this.
|
|
28
|
+
setCurrentLocaleId(value) {
|
|
29
|
+
if (value == this._currentLocaleId) {
|
|
28
30
|
return;
|
|
29
31
|
}
|
|
30
|
-
this.
|
|
32
|
+
this._currentLocaleId = value;
|
|
31
33
|
this.commitLocaleData();
|
|
32
34
|
}
|
|
33
35
|
commitLocaleData() {
|
|
34
|
-
this.
|
|
36
|
+
// this.currentLocaleTexts = this.localeToIdMap[this._currentLocaleId];
|
|
37
|
+
let newLocaleTexts = this.localeToIdMap[this._currentLocaleId];
|
|
38
|
+
if (!newLocaleTexts) {
|
|
39
|
+
newLocaleTexts = this.localeToIdMap[this.defaultLocaleId];
|
|
40
|
+
}
|
|
41
|
+
this.currentLocaleTexts = newLocaleTexts;
|
|
35
42
|
}
|
|
36
43
|
getText(textId, params = null) {
|
|
37
44
|
// The text id will be used in the case of no text found
|
|
38
45
|
let result = textId;
|
|
39
|
-
if (this.
|
|
46
|
+
if (this.currentLocaleTexts) {
|
|
40
47
|
const pathsToText = textId.split(".");
|
|
41
|
-
let curPathLevel = this.
|
|
48
|
+
let curPathLevel = this.currentLocaleTexts.texts;
|
|
42
49
|
const pathsCount = pathsToText.length;
|
|
43
50
|
for (let pathIndex = 0; pathIndex < pathsCount; pathIndex++) {
|
|
44
51
|
const tempPathId = pathsToText[pathIndex];
|
|
@@ -80,7 +87,7 @@ export class LocaleManager {
|
|
|
80
87
|
}
|
|
81
88
|
findAllUniqueCharactersForCurrentLocale() {
|
|
82
89
|
const allTexts = [];
|
|
83
|
-
this.getAllTextsOf(this.
|
|
90
|
+
this.getAllTextsOf(this.currentLocaleTexts.texts, allTexts);
|
|
84
91
|
let usedCharactersMap = {};
|
|
85
92
|
let result = [];
|
|
86
93
|
for (let singleText of allTexts) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocaleManager.js","sourceRoot":"","sources":["../../src/locale/LocaleManager.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"LocaleManager.js","sourceRoot":"","sources":["../../src/locale/LocaleManager.ts"],"names":[],"mappings":"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"}
|