@etsoo/appscript 1.4.48 → 1.4.50
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/__tests__/business/BusinessUtils.ts +37 -0
- package/lib/cjs/business/BusinessUtils.d.ts +10 -1
- package/lib/cjs/business/BusinessUtils.js +24 -0
- package/lib/cjs/index.d.ts +1 -0
- package/lib/cjs/index.js +1 -0
- package/lib/mjs/business/BusinessUtils.d.ts +10 -1
- package/lib/mjs/business/BusinessUtils.js +24 -0
- package/lib/mjs/index.d.ts +1 -0
- package/lib/mjs/index.js +1 -0
- package/package.json +1 -1
- package/src/business/BusinessUtils.ts +33 -1
- package/src/index.ts +1 -0
|
@@ -1,5 +1,10 @@
|
|
|
1
|
+
import { ArrayUtils } from '@etsoo/shared';
|
|
2
|
+
import { CultureGridItem } from '../../src';
|
|
1
3
|
import { BusinessUtils } from '../../src/business/BusinessUtils';
|
|
2
4
|
|
|
5
|
+
// Import the ArrayUtils
|
|
6
|
+
ArrayUtils.differences([], []);
|
|
7
|
+
|
|
3
8
|
test('Tests for BusinessUtils.formatAvatarTitle', () => {
|
|
4
9
|
// Assert
|
|
5
10
|
expect(BusinessUtils.formatAvatarTitle('Garry Xiao')).toBe('GX');
|
|
@@ -7,3 +12,35 @@ test('Tests for BusinessUtils.formatAvatarTitle', () => {
|
|
|
7
12
|
expect(BusinessUtils.formatAvatarTitle('Etsoo', 3, 'E')).toBe('E');
|
|
8
13
|
expect(BusinessUtils.formatAvatarTitle('Etsoo', 5)).toBe('ETSOO');
|
|
9
14
|
});
|
|
15
|
+
|
|
16
|
+
test('Tests for BusinessUtils.formatCultues', () => {
|
|
17
|
+
// Arrange
|
|
18
|
+
const cultures = [
|
|
19
|
+
{
|
|
20
|
+
id: 'zh-Hans',
|
|
21
|
+
label: '中文(简体), Chinese (Simplified)'
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
id: 'en',
|
|
25
|
+
label: '英语, English'
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
id: 'de',
|
|
29
|
+
label: '德语, German'
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
id: 'zh-Hant',
|
|
33
|
+
label: '中文(繁体), Chinese (Traditional)'
|
|
34
|
+
}
|
|
35
|
+
];
|
|
36
|
+
const data: { cultures: CultureGridItem[] } = {
|
|
37
|
+
cultures: [{ id: 'zh-Hant', title: '繁体' }]
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
// Act
|
|
41
|
+
BusinessUtils.formatCultues(cultures, data);
|
|
42
|
+
|
|
43
|
+
// Assert
|
|
44
|
+
expect(data.cultures[0].id).toBe('en');
|
|
45
|
+
expect(data.cultures.slice(-1)[0].id).toBe('zh-Hant');
|
|
46
|
+
});
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { DataTypes, ListType } from '@etsoo/shared';
|
|
1
|
+
import { DataTypes, ListType, ListType1 } from '@etsoo/shared';
|
|
2
|
+
import { CultureGridItem } from './CultureItem';
|
|
2
3
|
/**
|
|
3
4
|
* Business utils
|
|
4
5
|
*/
|
|
@@ -11,6 +12,14 @@ export declare namespace BusinessUtils {
|
|
|
11
12
|
* @returns Result
|
|
12
13
|
*/
|
|
13
14
|
function formatAvatarTitle(title?: string, maxChars?: number, defaultTitle?: string): string;
|
|
15
|
+
/**
|
|
16
|
+
* Format cultures for data
|
|
17
|
+
* @param cultures Supported cultures
|
|
18
|
+
* @param data Data to format
|
|
19
|
+
*/
|
|
20
|
+
function formatCultues(cultures: ListType1[], data: {
|
|
21
|
+
cultures?: CultureGridItem[];
|
|
22
|
+
}): void;
|
|
14
23
|
/**
|
|
15
24
|
* Get 12-month items
|
|
16
25
|
* @param monthLabels Month labels
|
|
@@ -38,6 +38,30 @@ var BusinessUtils;
|
|
|
38
38
|
return defaultTitle;
|
|
39
39
|
}
|
|
40
40
|
BusinessUtils.formatAvatarTitle = formatAvatarTitle;
|
|
41
|
+
/**
|
|
42
|
+
* Format cultures for data
|
|
43
|
+
* @param cultures Supported cultures
|
|
44
|
+
* @param data Data to format
|
|
45
|
+
*/
|
|
46
|
+
function formatCultues(cultures, data) {
|
|
47
|
+
var _a;
|
|
48
|
+
// Add the lost cultures
|
|
49
|
+
const allCultures = (_a = data.cultures) !== null && _a !== void 0 ? _a : [];
|
|
50
|
+
cultures.forEach((culture) => {
|
|
51
|
+
if (!allCultures.some((a) => a.id === culture.id)) {
|
|
52
|
+
allCultures.push({ id: culture.id, title: '' });
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
// Remove the default culture
|
|
56
|
+
const index = allCultures.findIndex((a) => a.id === cultures[0].id);
|
|
57
|
+
if (index !== -1)
|
|
58
|
+
allCultures.splice(index, 1);
|
|
59
|
+
// Sort
|
|
60
|
+
allCultures.sortByProperty('id', cultures.map((c) => c.id));
|
|
61
|
+
// Set back
|
|
62
|
+
data.cultures = allCultures;
|
|
63
|
+
}
|
|
64
|
+
BusinessUtils.formatCultues = formatCultues;
|
|
41
65
|
/**
|
|
42
66
|
* Get 12-month items
|
|
43
67
|
* @param monthLabels Month labels
|
package/lib/cjs/index.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ export * from './bridges/IBridgeHost';
|
|
|
18
18
|
export * from './business/ApiService';
|
|
19
19
|
export * from './business/BusinessTax';
|
|
20
20
|
export * from './business/BusinessUtils';
|
|
21
|
+
export * from './business/CultureItem';
|
|
21
22
|
export * from './business/Currency';
|
|
22
23
|
export * from './business/DataPrivacy';
|
|
23
24
|
export * from './business/EntityStatus';
|
package/lib/cjs/index.js
CHANGED
|
@@ -39,6 +39,7 @@ __exportStar(require("./bridges/IBridgeHost"), exports);
|
|
|
39
39
|
__exportStar(require("./business/ApiService"), exports);
|
|
40
40
|
__exportStar(require("./business/BusinessTax"), exports);
|
|
41
41
|
__exportStar(require("./business/BusinessUtils"), exports);
|
|
42
|
+
__exportStar(require("./business/CultureItem"), exports);
|
|
42
43
|
__exportStar(require("./business/Currency"), exports);
|
|
43
44
|
__exportStar(require("./business/DataPrivacy"), exports);
|
|
44
45
|
__exportStar(require("./business/EntityStatus"), exports);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { DataTypes, ListType } from '@etsoo/shared';
|
|
1
|
+
import { DataTypes, ListType, ListType1 } from '@etsoo/shared';
|
|
2
|
+
import { CultureGridItem } from './CultureItem';
|
|
2
3
|
/**
|
|
3
4
|
* Business utils
|
|
4
5
|
*/
|
|
@@ -11,6 +12,14 @@ export declare namespace BusinessUtils {
|
|
|
11
12
|
* @returns Result
|
|
12
13
|
*/
|
|
13
14
|
function formatAvatarTitle(title?: string, maxChars?: number, defaultTitle?: string): string;
|
|
15
|
+
/**
|
|
16
|
+
* Format cultures for data
|
|
17
|
+
* @param cultures Supported cultures
|
|
18
|
+
* @param data Data to format
|
|
19
|
+
*/
|
|
20
|
+
function formatCultues(cultures: ListType1[], data: {
|
|
21
|
+
cultures?: CultureGridItem[];
|
|
22
|
+
}): void;
|
|
14
23
|
/**
|
|
15
24
|
* Get 12-month items
|
|
16
25
|
* @param monthLabels Month labels
|
|
@@ -35,6 +35,30 @@ export var BusinessUtils;
|
|
|
35
35
|
return defaultTitle;
|
|
36
36
|
}
|
|
37
37
|
BusinessUtils.formatAvatarTitle = formatAvatarTitle;
|
|
38
|
+
/**
|
|
39
|
+
* Format cultures for data
|
|
40
|
+
* @param cultures Supported cultures
|
|
41
|
+
* @param data Data to format
|
|
42
|
+
*/
|
|
43
|
+
function formatCultues(cultures, data) {
|
|
44
|
+
var _a;
|
|
45
|
+
// Add the lost cultures
|
|
46
|
+
const allCultures = (_a = data.cultures) !== null && _a !== void 0 ? _a : [];
|
|
47
|
+
cultures.forEach((culture) => {
|
|
48
|
+
if (!allCultures.some((a) => a.id === culture.id)) {
|
|
49
|
+
allCultures.push({ id: culture.id, title: '' });
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
// Remove the default culture
|
|
53
|
+
const index = allCultures.findIndex((a) => a.id === cultures[0].id);
|
|
54
|
+
if (index !== -1)
|
|
55
|
+
allCultures.splice(index, 1);
|
|
56
|
+
// Sort
|
|
57
|
+
allCultures.sortByProperty('id', cultures.map((c) => c.id));
|
|
58
|
+
// Set back
|
|
59
|
+
data.cultures = allCultures;
|
|
60
|
+
}
|
|
61
|
+
BusinessUtils.formatCultues = formatCultues;
|
|
38
62
|
/**
|
|
39
63
|
* Get 12-month items
|
|
40
64
|
* @param monthLabels Month labels
|
package/lib/mjs/index.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ export * from './bridges/IBridgeHost';
|
|
|
18
18
|
export * from './business/ApiService';
|
|
19
19
|
export * from './business/BusinessTax';
|
|
20
20
|
export * from './business/BusinessUtils';
|
|
21
|
+
export * from './business/CultureItem';
|
|
21
22
|
export * from './business/Currency';
|
|
22
23
|
export * from './business/DataPrivacy';
|
|
23
24
|
export * from './business/EntityStatus';
|
package/lib/mjs/index.js
CHANGED
|
@@ -22,6 +22,7 @@ export * from './bridges/IBridgeHost';
|
|
|
22
22
|
export * from './business/ApiService';
|
|
23
23
|
export * from './business/BusinessTax';
|
|
24
24
|
export * from './business/BusinessUtils';
|
|
25
|
+
export * from './business/CultureItem';
|
|
25
26
|
export * from './business/Currency';
|
|
26
27
|
export * from './business/DataPrivacy';
|
|
27
28
|
export * from './business/EntityStatus';
|
package/package.json
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { DataTypes, ListType } from '@etsoo/shared';
|
|
1
|
+
import { DataTypes, ListType, ListType1 } from '@etsoo/shared';
|
|
2
|
+
import { CultureGridItem } from './CultureItem';
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* Business utils
|
|
@@ -43,6 +44,37 @@ export namespace BusinessUtils {
|
|
|
43
44
|
return defaultTitle;
|
|
44
45
|
}
|
|
45
46
|
|
|
47
|
+
/**
|
|
48
|
+
* Format cultures for data
|
|
49
|
+
* @param cultures Supported cultures
|
|
50
|
+
* @param data Data to format
|
|
51
|
+
*/
|
|
52
|
+
export function formatCultues(
|
|
53
|
+
cultures: ListType1[],
|
|
54
|
+
data: { cultures?: CultureGridItem[] }
|
|
55
|
+
) {
|
|
56
|
+
// Add the lost cultures
|
|
57
|
+
const allCultures = data.cultures ?? [];
|
|
58
|
+
cultures.forEach((culture) => {
|
|
59
|
+
if (!allCultures.some((a) => a.id === culture.id)) {
|
|
60
|
+
allCultures.push({ id: culture.id, title: '' });
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
// Remove the default culture
|
|
65
|
+
const index = allCultures.findIndex((a) => a.id === cultures[0].id);
|
|
66
|
+
if (index !== -1) allCultures.splice(index, 1);
|
|
67
|
+
|
|
68
|
+
// Sort
|
|
69
|
+
allCultures.sortByProperty(
|
|
70
|
+
'id',
|
|
71
|
+
cultures.map((c) => c.id)
|
|
72
|
+
);
|
|
73
|
+
|
|
74
|
+
// Set back
|
|
75
|
+
data.cultures = allCultures;
|
|
76
|
+
}
|
|
77
|
+
|
|
46
78
|
/**
|
|
47
79
|
* Get 12-month items
|
|
48
80
|
* @param monthLabels Month labels
|
package/src/index.ts
CHANGED
|
@@ -25,6 +25,7 @@ export * from './bridges/IBridgeHost';
|
|
|
25
25
|
export * from './business/ApiService';
|
|
26
26
|
export * from './business/BusinessTax';
|
|
27
27
|
export * from './business/BusinessUtils';
|
|
28
|
+
export * from './business/CultureItem';
|
|
28
29
|
export * from './business/Currency';
|
|
29
30
|
export * from './business/DataPrivacy';
|
|
30
31
|
export * from './business/EntityStatus';
|