@etsoo/react 1.5.79 → 1.5.82

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.
Files changed (255) hide show
  1. package/README.md +7 -2
  2. package/__tests__/ReactUtils.ts +6 -0
  3. package/lib/{mu → components}/DnDList.d.ts +1 -14
  4. package/lib/{mu → components}/DnDList.js +1 -24
  5. package/lib/components/GridMethodRef.d.ts +11 -0
  6. package/lib/{mu → components}/GridMethodRef.js +0 -0
  7. package/lib/components/ScrollerGrid.d.ts +3 -3
  8. package/lib/components/ScrollerList.d.ts +3 -3
  9. package/lib/index.d.ts +2 -74
  10. package/lib/index.js +2 -75
  11. package/lib/notifier/Notifier.d.ts +2 -3
  12. package/lib/uses/useWindowScroll.d.ts +10 -0
  13. package/lib/uses/useWindowScroll.js +46 -0
  14. package/lib/uses/useWindowSize.js +11 -5
  15. package/package.json +9 -21
  16. package/src/{mu → components}/DnDList.tsx +11 -34
  17. package/src/components/GridMethodRef.ts +12 -0
  18. package/src/components/ScrollerGrid.tsx +3 -3
  19. package/src/components/ScrollerList.tsx +5 -3
  20. package/src/index.ts +2 -78
  21. package/src/notifier/Notifier.ts +2 -3
  22. package/src/uses/useWindowScroll.ts +60 -0
  23. package/src/uses/useWindowSize.ts +14 -5
  24. package/__tests__/mu/MUGlobalTests.tsx +0 -58
  25. package/__tests__/mu/NotifierMUTests.tsx +0 -213
  26. package/lib/app/CommonApp.d.ts +0 -39
  27. package/lib/app/CommonApp.js +0 -149
  28. package/lib/app/IServiceAppSettings.d.ts +0 -11
  29. package/lib/app/IServiceAppSettings.js +0 -1
  30. package/lib/app/IServicePage.d.ts +0 -6
  31. package/lib/app/IServicePage.js +0 -1
  32. package/lib/app/IServiceUser.d.ts +0 -14
  33. package/lib/app/IServiceUser.js +0 -1
  34. package/lib/app/ISmartERPUser.d.ts +0 -14
  35. package/lib/app/ISmartERPUser.js +0 -1
  36. package/lib/app/Labels.d.ts +0 -65
  37. package/lib/app/Labels.js +0 -62
  38. package/lib/app/ReactApp.d.ts +0 -194
  39. package/lib/app/ReactApp.js +0 -298
  40. package/lib/app/ServiceApp.d.ts +0 -78
  41. package/lib/app/ServiceApp.js +0 -244
  42. package/lib/components/ShowDataComparison.d.ts +0 -20
  43. package/lib/components/ShowDataComparison.js +0 -60
  44. package/lib/mu/AuditDisplay.d.ts +0 -33
  45. package/lib/mu/AuditDisplay.js +0 -52
  46. package/lib/mu/AutocompleteExtendedProps.d.ts +0 -64
  47. package/lib/mu/AutocompleteExtendedProps.js +0 -1
  48. package/lib/mu/BackButton.d.ts +0 -13
  49. package/lib/mu/BackButton.js +0 -33
  50. package/lib/mu/BridgeCloseButton.d.ts +0 -23
  51. package/lib/mu/BridgeCloseButton.js +0 -32
  52. package/lib/mu/ButtonLink.d.ts +0 -17
  53. package/lib/mu/ButtonLink.js +0 -19
  54. package/lib/mu/ComboBox.d.ts +0 -38
  55. package/lib/mu/ComboBox.js +0 -108
  56. package/lib/mu/CountdownButton.d.ts +0 -23
  57. package/lib/mu/CountdownButton.js +0 -81
  58. package/lib/mu/CustomFabProps.d.ts +0 -27
  59. package/lib/mu/CustomFabProps.js +0 -1
  60. package/lib/mu/DataGridEx.d.ts +0 -96
  61. package/lib/mu/DataGridEx.js +0 -331
  62. package/lib/mu/DataGridRenderers.d.ts +0 -22
  63. package/lib/mu/DataGridRenderers.js +0 -99
  64. package/lib/mu/DialogButton.d.ts +0 -54
  65. package/lib/mu/DialogButton.js +0 -45
  66. package/lib/mu/DraggablePaperComponent.d.ts +0 -8
  67. package/lib/mu/DraggablePaperComponent.js +0 -12
  68. package/lib/mu/EmailInput.d.ts +0 -11
  69. package/lib/mu/EmailInput.js +0 -15
  70. package/lib/mu/FabBox.d.ts +0 -21
  71. package/lib/mu/FabBox.js +0 -31
  72. package/lib/mu/FlexBox.d.ts +0 -14
  73. package/lib/mu/FlexBox.js +0 -18
  74. package/lib/mu/GridDataFormat.d.ts +0 -10
  75. package/lib/mu/GridDataFormat.js +0 -43
  76. package/lib/mu/GridMethodRef.d.ts +0 -11
  77. package/lib/mu/IconButtonLink.d.ts +0 -17
  78. package/lib/mu/IconButtonLink.js +0 -16
  79. package/lib/mu/InputField.d.ts +0 -21
  80. package/lib/mu/InputField.js +0 -39
  81. package/lib/mu/ItemList.d.ts +0 -56
  82. package/lib/mu/ItemList.js +0 -69
  83. package/lib/mu/ListItemRightIcon.d.ts +0 -4
  84. package/lib/mu/ListItemRightIcon.js +0 -8
  85. package/lib/mu/ListMoreDisplay.d.ts +0 -35
  86. package/lib/mu/ListMoreDisplay.js +0 -99
  87. package/lib/mu/LoadingButton.d.ts +0 -16
  88. package/lib/mu/LoadingButton.js +0 -41
  89. package/lib/mu/MUGlobal.d.ts +0 -102
  90. package/lib/mu/MUGlobal.js +0 -184
  91. package/lib/mu/MaskInput.d.ts +0 -34
  92. package/lib/mu/MaskInput.js +0 -43
  93. package/lib/mu/MobileListItemRenderer.d.ts +0 -17
  94. package/lib/mu/MobileListItemRenderer.js +0 -35
  95. package/lib/mu/MoreFab.d.ts +0 -45
  96. package/lib/mu/MoreFab.js +0 -95
  97. package/lib/mu/NotifierMU.d.ts +0 -47
  98. package/lib/mu/NotifierMU.js +0 -387
  99. package/lib/mu/NotifierPromptProps.d.ts +0 -22
  100. package/lib/mu/NotifierPromptProps.js +0 -1
  101. package/lib/mu/OptionGroup.d.ts +0 -58
  102. package/lib/mu/OptionGroup.js +0 -81
  103. package/lib/mu/PList.d.ts +0 -15
  104. package/lib/mu/PList.js +0 -12
  105. package/lib/mu/ProgressCount.d.ts +0 -44
  106. package/lib/mu/ProgressCount.js +0 -79
  107. package/lib/mu/PullToRefreshUI.d.ts +0 -9
  108. package/lib/mu/PullToRefreshUI.js +0 -18
  109. package/lib/mu/RLink.d.ts +0 -14
  110. package/lib/mu/RLink.js +0 -37
  111. package/lib/mu/ResponsibleContainer.d.ts +0 -89
  112. package/lib/mu/ResponsibleContainer.js +0 -159
  113. package/lib/mu/ScrollTopFab.d.ts +0 -7
  114. package/lib/mu/ScrollTopFab.js +0 -25
  115. package/lib/mu/ScrollerListEx.d.ts +0 -81
  116. package/lib/mu/ScrollerListEx.js +0 -167
  117. package/lib/mu/SearchBar.d.ts +0 -29
  118. package/lib/mu/SearchBar.js +0 -262
  119. package/lib/mu/SearchField.d.ts +0 -21
  120. package/lib/mu/SearchField.js +0 -39
  121. package/lib/mu/SearchOptionGroup.d.ts +0 -9
  122. package/lib/mu/SearchOptionGroup.js +0 -14
  123. package/lib/mu/SelectBool.d.ts +0 -13
  124. package/lib/mu/SelectBool.js +0 -22
  125. package/lib/mu/SelectEx.d.ts +0 -50
  126. package/lib/mu/SelectEx.js +0 -156
  127. package/lib/mu/Switch.d.ts +0 -29
  128. package/lib/mu/Switch.js +0 -34
  129. package/lib/mu/SwitchAnt.d.ts +0 -25
  130. package/lib/mu/SwitchAnt.js +0 -40
  131. package/lib/mu/TabBox.d.ts +0 -54
  132. package/lib/mu/TabBox.js +0 -31
  133. package/lib/mu/TableEx.d.ts +0 -66
  134. package/lib/mu/TableEx.js +0 -271
  135. package/lib/mu/TextFieldEx.d.ts +0 -101
  136. package/lib/mu/TextFieldEx.js +0 -127
  137. package/lib/mu/Tiplist.d.ts +0 -18
  138. package/lib/mu/Tiplist.js +0 -158
  139. package/lib/mu/TooltipClick.d.ts +0 -15
  140. package/lib/mu/TooltipClick.js +0 -40
  141. package/lib/mu/UserAvatar.d.ts +0 -24
  142. package/lib/mu/UserAvatar.js +0 -25
  143. package/lib/mu/UserAvatarEditor.d.ts +0 -53
  144. package/lib/mu/UserAvatarEditor.js +0 -129
  145. package/lib/mu/pages/CommonPage.d.ts +0 -11
  146. package/lib/mu/pages/CommonPage.js +0 -60
  147. package/lib/mu/pages/CommonPageProps.d.ts +0 -60
  148. package/lib/mu/pages/CommonPageProps.js +0 -1
  149. package/lib/mu/pages/DataGridPage.d.ts +0 -9
  150. package/lib/mu/pages/DataGridPage.js +0 -81
  151. package/lib/mu/pages/DataGridPageProps.d.ts +0 -17
  152. package/lib/mu/pages/DataGridPageProps.js +0 -1
  153. package/lib/mu/pages/EditPage.d.ts +0 -33
  154. package/lib/mu/pages/EditPage.js +0 -29
  155. package/lib/mu/pages/FixedListPage.d.ts +0 -15
  156. package/lib/mu/pages/FixedListPage.js +0 -72
  157. package/lib/mu/pages/ListPage.d.ts +0 -9
  158. package/lib/mu/pages/ListPage.js +0 -51
  159. package/lib/mu/pages/ListPageProps.d.ts +0 -7
  160. package/lib/mu/pages/ListPageProps.js +0 -1
  161. package/lib/mu/pages/ResponsivePage.d.ts +0 -9
  162. package/lib/mu/pages/ResponsivePage.js +0 -45
  163. package/lib/mu/pages/ResponsivePageProps.d.ts +0 -39
  164. package/lib/mu/pages/ResponsivePageProps.js +0 -1
  165. package/lib/mu/pages/SearchPageProps.d.ts +0 -30
  166. package/lib/mu/pages/SearchPageProps.js +0 -1
  167. package/lib/mu/pages/TablePage.d.ts +0 -9
  168. package/lib/mu/pages/TablePage.js +0 -71
  169. package/lib/mu/pages/TablePageProps.d.ts +0 -7
  170. package/lib/mu/pages/TablePageProps.js +0 -1
  171. package/lib/mu/pages/ViewPage.d.ts +0 -66
  172. package/lib/mu/pages/ViewPage.js +0 -105
  173. package/lib/mu/texts/DateText.d.ts +0 -34
  174. package/lib/mu/texts/DateText.js +0 -25
  175. package/lib/mu/texts/MoneyText.d.ts +0 -21
  176. package/lib/mu/texts/MoneyText.js +0 -14
  177. package/lib/mu/texts/NumberText.d.ts +0 -25
  178. package/lib/mu/texts/NumberText.js +0 -14
  179. package/src/app/CommonApp.ts +0 -225
  180. package/src/app/IServiceAppSettings.ts +0 -13
  181. package/src/app/IServicePage.ts +0 -6
  182. package/src/app/IServiceUser.ts +0 -17
  183. package/src/app/ISmartERPUser.ts +0 -16
  184. package/src/app/Labels.ts +0 -77
  185. package/src/app/ReactApp.ts +0 -500
  186. package/src/app/ServiceApp.ts +0 -353
  187. package/src/components/ShowDataComparison.tsx +0 -108
  188. package/src/mu/AuditDisplay.tsx +0 -117
  189. package/src/mu/AutocompleteExtendedProps.ts +0 -83
  190. package/src/mu/BackButton.tsx +0 -55
  191. package/src/mu/BridgeCloseButton.tsx +0 -69
  192. package/src/mu/ButtonLink.tsx +0 -32
  193. package/src/mu/ComboBox.tsx +0 -251
  194. package/src/mu/CountdownButton.tsx +0 -119
  195. package/src/mu/CustomFabProps.ts +0 -32
  196. package/src/mu/DataGridEx.tsx +0 -712
  197. package/src/mu/DataGridRenderers.tsx +0 -140
  198. package/src/mu/DialogButton.tsx +0 -163
  199. package/src/mu/DraggablePaperComponent.tsx +0 -19
  200. package/src/mu/EmailInput.tsx +0 -24
  201. package/src/mu/FabBox.tsx +0 -51
  202. package/src/mu/FlexBox.tsx +0 -20
  203. package/src/mu/GridDataFormat.tsx +0 -77
  204. package/src/mu/GridMethodRef.ts +0 -12
  205. package/src/mu/IconButtonLink.tsx +0 -29
  206. package/src/mu/InputField.tsx +0 -82
  207. package/src/mu/ItemList.tsx +0 -204
  208. package/src/mu/ListItemRightIcon.tsx +0 -9
  209. package/src/mu/ListMoreDisplay.tsx +0 -205
  210. package/src/mu/LoadingButton.tsx +0 -75
  211. package/src/mu/MUGlobal.ts +0 -220
  212. package/src/mu/MaskInput.tsx +0 -107
  213. package/src/mu/MobileListItemRenderer.tsx +0 -79
  214. package/src/mu/MoreFab.tsx +0 -211
  215. package/src/mu/NotifierMU.tsx +0 -654
  216. package/src/mu/NotifierPromptProps.ts +0 -26
  217. package/src/mu/OptionGroup.tsx +0 -223
  218. package/src/mu/PList.tsx +0 -27
  219. package/src/mu/ProgressCount.tsx +0 -166
  220. package/src/mu/PullToRefreshUI.tsx +0 -21
  221. package/src/mu/RLink.tsx +0 -64
  222. package/src/mu/ResponsibleContainer.tsx +0 -394
  223. package/src/mu/ScrollTopFab.tsx +0 -34
  224. package/src/mu/ScrollerListEx.tsx +0 -387
  225. package/src/mu/SearchBar.tsx +0 -398
  226. package/src/mu/SearchField.tsx +0 -82
  227. package/src/mu/SearchOptionGroup.tsx +0 -31
  228. package/src/mu/SelectBool.tsx +0 -33
  229. package/src/mu/SelectEx.tsx +0 -290
  230. package/src/mu/Switch.tsx +0 -94
  231. package/src/mu/SwitchAnt.tsx +0 -95
  232. package/src/mu/TabBox.tsx +0 -118
  233. package/src/mu/TableEx.tsx +0 -560
  234. package/src/mu/TextFieldEx.tsx +0 -250
  235. package/src/mu/Tiplist.tsx +0 -304
  236. package/src/mu/TooltipClick.tsx +0 -84
  237. package/src/mu/UserAvatar.tsx +0 -64
  238. package/src/mu/UserAvatarEditor.tsx +0 -287
  239. package/src/mu/pages/CommonPage.tsx +0 -128
  240. package/src/mu/pages/CommonPageProps.ts +0 -71
  241. package/src/mu/pages/DataGridPage.tsx +0 -137
  242. package/src/mu/pages/DataGridPageProps.ts +0 -24
  243. package/src/mu/pages/EditPage.tsx +0 -114
  244. package/src/mu/pages/FixedListPage.tsx +0 -135
  245. package/src/mu/pages/ListPage.tsx +0 -87
  246. package/src/mu/pages/ListPageProps.ts +0 -12
  247. package/src/mu/pages/ResponsivePage.tsx +0 -68
  248. package/src/mu/pages/ResponsivePageProps.ts +0 -57
  249. package/src/mu/pages/SearchPageProps.ts +0 -39
  250. package/src/mu/pages/TablePage.tsx +0 -120
  251. package/src/mu/pages/TablePageProps.ts +0 -12
  252. package/src/mu/pages/ViewPage.tsx +0 -285
  253. package/src/mu/texts/DateText.tsx +0 -74
  254. package/src/mu/texts/MoneyText.tsx +0 -49
  255. package/src/mu/texts/NumberText.tsx +0 -40
@@ -1,34 +0,0 @@
1
- /// <reference types="react" />
2
- import { DateUtils } from '@etsoo/shared';
3
- import { TypographyProps } from '@mui/material';
4
- /**
5
- * Date text props
6
- */
7
- export interface DateTextProps extends TypographyProps {
8
- /**
9
- * Locale
10
- */
11
- locale?: string;
12
- /**
13
- * Near days to show in error color
14
- */
15
- nearDays?: number;
16
- /**
17
- * Options
18
- */
19
- options?: DateUtils.FormatOptions;
20
- /**
21
- * Time zone
22
- */
23
- timeZone?: string;
24
- /**
25
- * Value to display
26
- */
27
- value?: Date | string;
28
- }
29
- /**
30
- * Date text
31
- * @param props Props
32
- * @returns Component
33
- */
34
- export declare function DateText(props: DateTextProps): JSX.Element;
@@ -1,25 +0,0 @@
1
- import { DateUtils } from '@etsoo/shared';
2
- import { Typography } from '@mui/material';
3
- import React from 'react';
4
- /**
5
- * Date text
6
- * @param props Props
7
- * @returns Component
8
- */
9
- export function DateText(props) {
10
- // Destruct
11
- const { nearDays, locale = 'lookup', options, timeZone, value, ...rest } = props;
12
- // Format date
13
- const date = DateUtils.parse(value);
14
- // Formatted value
15
- const localValue = date == null
16
- ? undefined
17
- : DateUtils.format(value, locale, options, timeZone);
18
- if (nearDays != null &&
19
- date != null &&
20
- Math.abs(new Date().substract(date).totalDays) <= nearDays) {
21
- rest.color = (theme) => theme.palette.error.main;
22
- }
23
- // Layout
24
- return (React.createElement(Typography, { component: "span", fontSize: "inherit", ...rest }, localValue));
25
- }
@@ -1,21 +0,0 @@
1
- /// <reference types="react" />
2
- import { NumberTextProps } from './NumberText';
3
- /**
4
- * Money text props
5
- */
6
- export interface MoneyTextProps extends NumberTextProps {
7
- /**
8
- * Currency, USD for US dollar
9
- */
10
- currency?: string;
11
- /**
12
- * Is integer number
13
- */
14
- isInteger?: boolean;
15
- }
16
- /**
17
- * Money text
18
- * @param props Props
19
- * @returns Component
20
- */
21
- export declare function MoneyText(props: MoneyTextProps): JSX.Element;
@@ -1,14 +0,0 @@
1
- import { NumberUtils } from '@etsoo/shared';
2
- import { Typography } from '@mui/material';
3
- import React from 'react';
4
- /**
5
- * Money text
6
- * @param props Props
7
- * @returns Component
8
- */
9
- export function MoneyText(props) {
10
- // Destruct
11
- const { currency, isInteger = false, locale, options = {}, value, ...rest } = props;
12
- // Layout
13
- return (React.createElement(Typography, { component: "span", fontSize: "inherit", ...rest }, NumberUtils.formatMoney(value, currency, locale, isInteger, options)));
14
- }
@@ -1,25 +0,0 @@
1
- /// <reference types="react" />
2
- import { TypographyProps } from '@mui/material';
3
- /**
4
- * Number text props
5
- */
6
- export interface NumberTextProps extends TypographyProps {
7
- /**
8
- * Locale
9
- */
10
- locale?: string | string[];
11
- /**
12
- * Options
13
- */
14
- options?: Intl.NumberFormatOptions;
15
- /**
16
- * Value
17
- */
18
- value?: number | bigint;
19
- }
20
- /**
21
- * Number text
22
- * @param props Props
23
- * @returns Component
24
- */
25
- export declare function NumberText(props: NumberTextProps): JSX.Element;
@@ -1,14 +0,0 @@
1
- import { NumberUtils } from '@etsoo/shared';
2
- import { Typography } from '@mui/material';
3
- import React from 'react';
4
- /**
5
- * Number text
6
- * @param props Props
7
- * @returns Component
8
- */
9
- export function NumberText(props) {
10
- // Destruct
11
- const { locale, options = {}, value, ...rest } = props;
12
- // Layout
13
- return (React.createElement(Typography, { component: "span", fontSize: "inherit", ...rest }, NumberUtils.format(value, locale, options)));
14
- }
@@ -1,225 +0,0 @@
1
- import {
2
- IActionResult,
3
- IApiPayload,
4
- IAppSettings,
5
- IUser,
6
- RefreshTokenProps,
7
- RefreshTokenResult
8
- } from '@etsoo/appscript';
9
- import { IPageData } from '../states/PageState';
10
- import { CoreConstants } from './CoreConstants';
11
- import { ReactApp } from './ReactApp';
12
- import { RefreshTokenRQ } from './RefreshTokenRQ';
13
-
14
- /**
15
- * Common independent application
16
- * 通用独立程序
17
- */
18
- export abstract class CommonApp<
19
- U extends IUser = IUser,
20
- P extends IPageData = IPageData,
21
- S extends IAppSettings = IAppSettings
22
- > extends ReactApp<S, U, P> {
23
- /**
24
- * Override persistedFields
25
- */
26
- protected override get persistedFields() {
27
- return [...super.persistedFields, CoreConstants.FieldUserIdSaved];
28
- }
29
-
30
- /**
31
- * Init call update fields in local storage
32
- * @returns Fields
33
- */
34
- protected override initCallEncryptedUpdateFields(): string[] {
35
- const fields = super.initCallEncryptedUpdateFields();
36
- fields.push(CoreConstants.FieldUserIdSaved);
37
- return fields;
38
- }
39
-
40
- /**
41
- * Do user login
42
- * @param data User data
43
- * @param refreshToken Refresh token
44
- * @param keep Keep login
45
- * @returns Success data
46
- */
47
- protected doUserLogin(
48
- data: U,
49
- refreshToken: string,
50
- keep: boolean
51
- ): string | undefined {
52
- this.userLogin(data, refreshToken, keep);
53
- return undefined;
54
- }
55
-
56
- /**
57
- * Refresh token
58
- * @param props Props
59
- */
60
- override async refreshToken<D extends object = RefreshTokenRQ>(
61
- props?: RefreshTokenProps<D>
62
- ) {
63
- // Destruct
64
- const {
65
- callback,
66
- data,
67
- relogin = false,
68
- showLoading = false
69
- } = props ?? {};
70
-
71
- // Token
72
- const token = this.getCacheToken();
73
- if (token == null || token === '') {
74
- if (callback) callback(false);
75
- return false;
76
- }
77
-
78
- // Reqest data
79
- const rq: RefreshTokenRQ = {
80
- deviceId: this.deviceId,
81
- timezone: this.getTimeZone(),
82
- ...data
83
- };
84
-
85
- // Login result type
86
- type LoginResult = IActionResult<U>;
87
-
88
- // Payload
89
- const payload: IApiPayload<LoginResult, any> = {
90
- // No loading bar needed to avoid screen flicks
91
- showLoading,
92
- config: { headers: { [CoreConstants.TokenHeaderRefresh]: token } },
93
- onError: (error) => {
94
- if (callback) callback(error);
95
-
96
- // Prevent further processing
97
- return false;
98
- }
99
- };
100
-
101
- // Success callback
102
- const success = (
103
- result: LoginResult,
104
- failCallback?: (
105
- result: RefreshTokenResult,
106
- serviceToken?: string
107
- ) => void
108
- ) => {
109
- // Token
110
- const refreshToken = this.getResponseToken(payload.response);
111
- if (refreshToken == null || result.data == null) {
112
- if (failCallback) failCallback(this.get('noData')!);
113
- return false;
114
- }
115
-
116
- // Keep
117
- const keep = this.storage.getData(
118
- CoreConstants.FieldLoginKeep,
119
- false
120
- );
121
-
122
- // User login
123
- var successData = this.doUserLogin(result.data, refreshToken, keep);
124
-
125
- // Callback
126
- if (failCallback) failCallback(true, successData);
127
-
128
- return true;
129
- };
130
-
131
- // Call API
132
- const result = await this.api.put<LoginResult>(
133
- 'Auth/RefreshToken',
134
- rq,
135
- payload
136
- );
137
-
138
- if (result == null) return false;
139
-
140
- if (!result.ok) {
141
- if (result.type === 'TokenExpired' && relogin) {
142
- // Try login
143
- // Dialog to receive password
144
- var labels = this.getLabels('reloginTip', 'login');
145
- this.notifier.prompt(
146
- labels.reloginTip,
147
- async (pwd) => {
148
- if (pwd == null) {
149
- this.toLoginPage();
150
- return;
151
- }
152
-
153
- // Set password for the action
154
- rq.pwd = this.encrypt(this.hash(pwd));
155
-
156
- // Submit again
157
- const result = await this.api.put<LoginResult>(
158
- 'Auth/RefreshToken',
159
- rq,
160
- payload
161
- );
162
-
163
- if (result == null) return;
164
-
165
- if (result.ok) {
166
- success(
167
- result,
168
- (loginResult: RefreshTokenResult) => {
169
- if (loginResult === true) {
170
- if (callback) callback(true);
171
- return;
172
- }
173
-
174
- const message =
175
- this.formatRefreshTokenResult(
176
- loginResult
177
- );
178
- if (message) this.notifier.alert(message);
179
- }
180
- );
181
- return;
182
- }
183
-
184
- // Popup message
185
- this.alertResult(result);
186
- return false;
187
- },
188
- labels.login,
189
- { type: 'password' }
190
- );
191
-
192
- // Fake truth to avoid reloading
193
- return true;
194
- }
195
-
196
- if (callback) callback(result);
197
- return false;
198
- }
199
-
200
- return success(result, callback);
201
- }
202
-
203
- /**
204
- * Try login
205
- * @param data Additional data
206
- * @param showLoading Show loading bar or not
207
- * @returns Result
208
- */
209
- override async tryLogin<D extends object = RefreshTokenRQ>(
210
- data?: D,
211
- showLoading?: boolean
212
- ) {
213
- // Reset user state
214
- const result = await super.tryLogin(data);
215
- if (!result) return false;
216
-
217
- // Refresh token
218
- return await this.refreshToken({
219
- callback: (result) => this.doRefreshTokenResult(result),
220
- data,
221
- showLoading,
222
- relogin: true
223
- });
224
- }
225
- }
@@ -1,13 +0,0 @@
1
- import { IAppSettings } from '@etsoo/appscript';
2
- import { DataTypes } from '@etsoo/shared';
3
-
4
- /**
5
- * Service app settings interface
6
- */
7
- export interface IServiceAppSettings<S extends DataTypes.IdType = number>
8
- extends IAppSettings {
9
- /**
10
- * Service id
11
- */
12
- readonly serviceId: S;
13
- }
@@ -1,6 +0,0 @@
1
- import { IPageData } from '../states/PageState';
2
-
3
- /**
4
- * Service page data interface
5
- */
6
- export interface IServicePageData extends IPageData {}
@@ -1,17 +0,0 @@
1
- import { IActionResult, IUser } from '@etsoo/appscript';
2
-
3
- /**
4
- * Service user interface
5
- */
6
- export interface IServiceUser extends IUser {
7
- /**
8
- * Service device id
9
- */
10
- serviceDeviceId: string;
11
- }
12
-
13
- /**
14
- * Service user login result
15
- */
16
- export type ServiceLoginResult<U extends IServiceUser = IServiceUser> =
17
- IActionResult<U>;
@@ -1,16 +0,0 @@
1
- import { IActionResult, IUser } from '@etsoo/appscript';
2
-
3
- /**
4
- * SmartERP user interface
5
- */
6
- export interface ISmartERPUser extends IUser {
7
- /**
8
- * Service refresh token
9
- */
10
- readonly serviceToken?: string;
11
- }
12
-
13
- /**
14
- * SmartERP user login result
15
- */
16
- export type SmartERPLoginResult = IActionResult<ISmartERPUser>;
package/src/app/Labels.ts DELETED
@@ -1,77 +0,0 @@
1
- import { DataTypes, Utils } from '@etsoo/shared';
2
-
3
- /**
4
- * Labels
5
- */
6
- export namespace Labels {
7
- /**
8
- * Common page labels
9
- */
10
- export const CommonPage = {
11
- add: 'Add',
12
- back: 'Back',
13
- delete: 'Delete',
14
- more: 'More',
15
- pullToRefresh: 'Pull down to refresh',
16
- refresh: 'Refresh',
17
- refreshing: 'Refreshing',
18
- releaseToRefresh: 'Release to refresh',
19
- reset: 'Reset',
20
- save: 'Save',
21
- scrollTop: 'Scroll to top',
22
- submit: 'Submit'
23
- };
24
-
25
- /**
26
- * Notification MU labels
27
- */
28
- export const NotificationMU = {
29
- alertTitle: 'Warning',
30
- alertOK: 'OK',
31
- confirmTitle: 'Confirm',
32
- confirmYes: 'OK',
33
- confirmNo: 'Cancel',
34
- promptTitle: 'Input',
35
- promptCancel: 'Cancel',
36
- promptOK: 'OK',
37
- loading: 'Loading',
38
- success: 'Success',
39
- warning: 'Warning',
40
- info: 'Information'
41
- };
42
-
43
- /**
44
- * UserAvatarEditor labels
45
- */
46
- export const UserAvatarEditor = {
47
- done: 'Done',
48
- reset: 'Reset',
49
- rotateLeft: 'Rotate left 90°',
50
- rotateRight: 'Rotate right 90°',
51
- upload: 'Upload',
52
- zoom: 'Zoom'
53
- };
54
-
55
- /**
56
- * setLabelReference key reference
57
- */
58
- export interface setLabelsReference {
59
- commonPage?: DataTypes.StringDictionary;
60
- notificationMU?: DataTypes.StringDictionary;
61
- userAvatarEditor?: DataTypes.StringDictionary;
62
- }
63
-
64
- /**
65
- * Set components' labels
66
- * @param labels Labels
67
- * @param reference Key reference
68
- */
69
- export const setLabels = (
70
- labels: DataTypes.StringRecord,
71
- reference: setLabelsReference = {}
72
- ) => {
73
- Utils.setLabels(CommonPage, labels, reference.commonPage);
74
- Utils.setLabels(NotificationMU, labels, reference.notificationMU);
75
- Utils.setLabels(UserAvatarEditor, labels, reference.userAvatarEditor);
76
- };
77
- }