@axelor/aos-mobile-core 7.1.3 → 7.2.1

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 (211) hide show
  1. package/lib/api/anomaly-api.d.ts +4 -0
  2. package/lib/api/anomaly-api.js +24 -0
  3. package/lib/api/anomaly-api.js.map +1 -0
  4. package/lib/api/login-api.js +2 -3
  5. package/lib/api/login-api.js.map +1 -1
  6. package/lib/api/user-api.d.ts +4 -0
  7. package/lib/api/user-api.js +31 -0
  8. package/lib/api/user-api.js.map +1 -0
  9. package/lib/apiProviders/Standard/ObjectFieldsProvider.d.ts +1 -0
  10. package/lib/apiProviders/Standard/ObjectFieldsProvider.js +21 -4
  11. package/lib/apiProviders/Standard/ObjectFieldsProvider.js.map +1 -1
  12. package/lib/apiProviders/middlewares/fieldParser.d.ts +2 -0
  13. package/lib/apiProviders/middlewares/fieldParser.js +53 -0
  14. package/lib/apiProviders/middlewares/fieldParser.js.map +1 -0
  15. package/lib/apiProviders/middlewares/index.d.ts +1 -0
  16. package/lib/apiProviders/middlewares/index.js +1 -0
  17. package/lib/apiProviders/middlewares/index.js.map +1 -1
  18. package/lib/apiProviders/utils.js +1 -1
  19. package/lib/apiProviders/utils.js.map +1 -1
  20. package/lib/app/ContextsProvider.js +12 -4
  21. package/lib/app/ContextsProvider.js.map +1 -1
  22. package/lib/app/Module.d.ts +2 -0
  23. package/lib/app/context.helper.js +6 -1
  24. package/lib/app/context.helper.js.map +1 -1
  25. package/lib/auth/models/objectFields.js +3 -3
  26. package/lib/auth/models/objectFields.js.map +1 -1
  27. package/lib/auth/screens/UserScreen.js +12 -5
  28. package/lib/auth/screens/UserScreen.js.map +1 -1
  29. package/lib/components/index.d.ts +1 -0
  30. package/lib/components/index.js +1 -0
  31. package/lib/components/index.js.map +1 -1
  32. package/lib/components/molecules/CameraButton/CameraButton.js +3 -3
  33. package/lib/components/molecules/CameraButton/CameraButton.js.map +1 -1
  34. package/lib/components/molecules/UploadFileInput/UploadFileInput.js +3 -1
  35. package/lib/components/molecules/UploadFileInput/UploadFileInput.js.map +1 -1
  36. package/lib/components/organisms/AnomalyBubble/AnomalyBubble.d.ts +11 -0
  37. package/lib/components/organisms/AnomalyBubble/AnomalyBubble.js +60 -0
  38. package/lib/components/organisms/AnomalyBubble/AnomalyBubble.js.map +1 -0
  39. package/lib/components/organisms/AnomalyList/AnomalyList.d.ts +7 -0
  40. package/lib/components/organisms/AnomalyList/AnomalyList.js +59 -0
  41. package/lib/components/organisms/AnomalyList/AnomalyList.js.map +1 -0
  42. package/lib/components/organisms/DateInput/DateInput.js +3 -3
  43. package/lib/components/organisms/DateInput/DateInput.js.map +1 -1
  44. package/lib/components/organisms/HeaderOptionsMenu/HeaderOptionsMenu.d.ts +2 -1
  45. package/lib/components/organisms/HeaderOptionsMenu/HeaderOptionsMenu.js +18 -5
  46. package/lib/components/organisms/HeaderOptionsMenu/HeaderOptionsMenu.js.map +1 -1
  47. package/lib/components/organisms/index.d.ts +2 -0
  48. package/lib/components/organisms/index.js +2 -0
  49. package/lib/components/organisms/index.js.map +1 -1
  50. package/lib/components/pages/FormView/Alerts/ConstraintsValidatorPopup.d.ts +11 -0
  51. package/lib/components/pages/FormView/Alerts/ConstraintsValidatorPopup.js +33 -0
  52. package/lib/components/pages/FormView/Alerts/ConstraintsValidatorPopup.js.map +1 -0
  53. package/lib/components/pages/FormView/Alerts/index.d.ts +1 -0
  54. package/lib/{sessions/components/buttons → components/pages/FormView/Alerts}/index.js +1 -3
  55. package/lib/components/pages/FormView/Alerts/index.js.map +1 -0
  56. package/lib/components/pages/FormView/Components/Field.d.ts +10 -0
  57. package/lib/components/pages/FormView/Components/Field.js +146 -0
  58. package/lib/components/pages/FormView/Components/Field.js.map +1 -0
  59. package/lib/components/pages/FormView/Components/Panel.d.ts +9 -0
  60. package/lib/components/pages/FormView/Components/Panel.js +96 -0
  61. package/lib/components/pages/FormView/Components/Panel.js.map +1 -0
  62. package/lib/components/pages/FormView/Components/index.d.ts +2 -0
  63. package/lib/components/pages/FormView/Components/index.js +20 -0
  64. package/lib/components/pages/FormView/Components/index.js.map +1 -0
  65. package/lib/components/pages/FormView/Custom/CustomButton.d.ts +10 -0
  66. package/lib/components/pages/FormView/Custom/CustomButton.js +31 -0
  67. package/lib/components/pages/FormView/Custom/CustomButton.js.map +1 -0
  68. package/lib/components/pages/FormView/Custom/CustomPasswordInput.d.ts +11 -0
  69. package/lib/components/pages/FormView/Custom/CustomPasswordInput.js +40 -0
  70. package/lib/components/pages/FormView/Custom/CustomPasswordInput.js.map +1 -0
  71. package/lib/components/pages/FormView/Custom/CustomPicker.d.ts +12 -0
  72. package/lib/components/pages/FormView/Custom/CustomPicker.js +33 -0
  73. package/lib/components/pages/FormView/Custom/CustomPicker.js.map +1 -0
  74. package/lib/components/pages/FormView/Custom/CustomSearchBar.d.ts +12 -0
  75. package/lib/components/pages/FormView/Custom/CustomSearchBar.js +69 -0
  76. package/lib/components/pages/FormView/Custom/CustomSearchBar.js.map +1 -0
  77. package/lib/components/pages/FormView/Custom/index.d.ts +4 -0
  78. package/lib/components/pages/FormView/Custom/index.js +22 -0
  79. package/lib/components/pages/FormView/Custom/index.js.map +1 -0
  80. package/lib/components/pages/FormView/FormView.d.ts +8 -0
  81. package/lib/components/pages/FormView/FormView.js +193 -0
  82. package/lib/components/pages/FormView/FormView.js.map +1 -0
  83. package/lib/components/pages/index.d.ts +4 -0
  84. package/lib/components/pages/index.js +22 -0
  85. package/lib/components/pages/index.js.map +1 -0
  86. package/lib/components/templates/MailMessageView/MailMessageView.js +8 -2
  87. package/lib/components/templates/MailMessageView/MailMessageView.js.map +1 -1
  88. package/lib/components/templates/PopupApplicationNotConfigured/PopupApplicationNotConfigured.js +10 -13
  89. package/lib/components/templates/PopupApplicationNotConfigured/PopupApplicationNotConfigured.js.map +1 -1
  90. package/lib/components/templates/PopupMinimalRequiredVersion/PopupMinimalRequiredVersion.js +15 -25
  91. package/lib/components/templates/PopupMinimalRequiredVersion/PopupMinimalRequiredVersion.js.map +1 -1
  92. package/lib/components/templates/SocialNetworkLinks/SocialNetworkLinks.d.ts +9 -6
  93. package/lib/components/templates/SocialNetworkLinks/SocialNetworkLinks.js +30 -10
  94. package/lib/components/templates/SocialNetworkLinks/SocialNetworkLinks.js.map +1 -1
  95. package/lib/components/templates/UserSearchBar/UserSearchBar.d.ts +14 -0
  96. package/lib/components/templates/UserSearchBar/UserSearchBar.js +34 -0
  97. package/lib/components/templates/UserSearchBar/UserSearchBar.js.map +1 -0
  98. package/lib/components/templates/index.d.ts +1 -0
  99. package/lib/components/templates/index.js +1 -0
  100. package/lib/components/templates/index.js.map +1 -1
  101. package/lib/config/routes.d.ts +3 -0
  102. package/lib/config/routes.js +2 -0
  103. package/lib/config/routes.js.map +1 -1
  104. package/lib/features/formSlice.d.ts +34 -0
  105. package/lib/features/formSlice.js +70 -0
  106. package/lib/features/formSlice.js.map +1 -0
  107. package/lib/features/index.d.ts +3 -0
  108. package/lib/features/index.js +3 -0
  109. package/lib/features/index.js.map +1 -1
  110. package/lib/features/metaJsonFieldSlice.d.ts +34 -0
  111. package/lib/features/metaJsonFieldSlice.js +68 -0
  112. package/lib/features/metaJsonFieldSlice.js.map +1 -0
  113. package/lib/features/userSlice.d.ts +16 -0
  114. package/lib/features/userSlice.js +49 -0
  115. package/lib/features/userSlice.js.map +1 -0
  116. package/lib/forms/FormConfigsProvider.d.ts +20 -0
  117. package/lib/forms/FormConfigsProvider.js +56 -0
  118. package/lib/forms/FormConfigsProvider.js.map +1 -0
  119. package/lib/forms/api.helpers.d.ts +12 -0
  120. package/lib/forms/api.helpers.js +59 -0
  121. package/lib/forms/api.helpers.js.map +1 -0
  122. package/lib/forms/display.helpers.d.ts +18 -0
  123. package/lib/forms/display.helpers.js +225 -0
  124. package/lib/forms/display.helpers.js.map +1 -0
  125. package/lib/forms/index.d.ts +7 -0
  126. package/lib/forms/index.js +25 -0
  127. package/lib/forms/index.js.map +1 -0
  128. package/lib/forms/register.helpers.d.ts +6 -0
  129. package/lib/forms/register.helpers.js +96 -0
  130. package/lib/forms/register.helpers.js.map +1 -0
  131. package/lib/forms/studio/api.helpers.d.ts +37 -0
  132. package/lib/forms/studio/api.helpers.js +162 -0
  133. package/lib/forms/studio/api.helpers.js.map +1 -0
  134. package/lib/forms/studio/display.helpers.d.ts +7 -0
  135. package/lib/forms/studio/display.helpers.js +256 -0
  136. package/lib/forms/studio/display.helpers.js.map +1 -0
  137. package/lib/forms/studio/index.d.ts +2 -0
  138. package/lib/forms/studio/index.js +20 -0
  139. package/lib/forms/studio/index.js.map +1 -0
  140. package/lib/forms/types.d.ts +100 -0
  141. package/lib/forms/types.js +19 -0
  142. package/lib/forms/types.js.map +1 -0
  143. package/lib/forms/validation.helpers.d.ts +10 -0
  144. package/lib/forms/validation.helpers.js +234 -0
  145. package/lib/forms/validation.helpers.js.map +1 -0
  146. package/lib/header/hooks.d.ts +15 -1
  147. package/lib/header/hooks.js +57 -2
  148. package/lib/header/hooks.js.map +1 -1
  149. package/lib/header/types.d.ts +1 -0
  150. package/lib/hooks/use-navigation.d.ts +1 -0
  151. package/lib/hooks/use-navigation.js +4 -1
  152. package/lib/hooks/use-navigation.js.map +1 -1
  153. package/lib/i18n/translations/en.json +52 -1
  154. package/lib/i18n/translations/fr.json +52 -1
  155. package/lib/index.d.ts +2 -1
  156. package/lib/index.js +2 -1
  157. package/lib/index.js.map +1 -1
  158. package/lib/models/index.d.ts +2 -0
  159. package/lib/models/index.js +2 -0
  160. package/lib/models/index.js.map +1 -1
  161. package/lib/models/objectFields.js +3 -0
  162. package/lib/models/objectFields.js.map +1 -1
  163. package/lib/models/searchFields.d.ts +2 -0
  164. package/lib/{sessions/components/buttons/LoginButton.js → models/searchFields.js} +3 -6
  165. package/lib/models/searchFields.js.map +1 -0
  166. package/lib/models/sortFields.d.ts +2 -0
  167. package/lib/{sessions/components/buttons/UpdateButton.js → models/sortFields.js} +3 -6
  168. package/lib/models/sortFields.js.map +1 -0
  169. package/lib/navigator/drawer/Header.js +1 -1
  170. package/lib/navigator/drawer/Header.js.map +1 -1
  171. package/lib/screens/ErrorScreen.js +1 -1
  172. package/lib/screens/ErrorScreen.js.map +1 -1
  173. package/lib/screens/JsonFieldScreen.d.ts +4 -0
  174. package/lib/screens/JsonFieldScreen.js +92 -0
  175. package/lib/screens/JsonFieldScreen.js.map +1 -0
  176. package/lib/screens/index.d.ts +13 -0
  177. package/lib/screens/index.js +9 -0
  178. package/lib/screens/index.js.map +1 -1
  179. package/lib/sessions/components/alerts/PopupCreateSession.js +8 -16
  180. package/lib/sessions/components/alerts/PopupCreateSession.js.map +1 -1
  181. package/lib/sessions/components/alerts/PopupEditSession.js +8 -16
  182. package/lib/sessions/components/alerts/PopupEditSession.js.map +1 -1
  183. package/lib/sessions/components/alerts/PopupSession.js +7 -16
  184. package/lib/sessions/components/alerts/PopupSession.js.map +1 -1
  185. package/lib/sessions/components/index.d.ts +0 -1
  186. package/lib/sessions/components/index.js +0 -1
  187. package/lib/sessions/components/index.js.map +1 -1
  188. package/lib/sessions/components/inputs/SessionInputs.js +9 -7
  189. package/lib/sessions/components/inputs/SessionInputs.js.map +1 -1
  190. package/lib/types/anomaly-type.d.ts +16 -0
  191. package/lib/types/anomaly-type.js +56 -0
  192. package/lib/types/anomaly-type.js.map +1 -0
  193. package/lib/types/index.d.ts +1 -0
  194. package/lib/types/index.js +1 -0
  195. package/lib/types/index.js.map +1 -1
  196. package/lib/utils/displayers.d.ts +1 -0
  197. package/lib/utils/displayers.js +1 -0
  198. package/lib/utils/displayers.js.map +1 -1
  199. package/lib/utils/index.d.ts +1 -1
  200. package/lib/utils/index.js +1 -1
  201. package/lib/utils/index.js.map +1 -1
  202. package/package.json +3 -3
  203. package/lib/sessions/components/buttons/DisabledButton.d.ts +0 -7
  204. package/lib/sessions/components/buttons/DisabledButton.js +0 -45
  205. package/lib/sessions/components/buttons/DisabledButton.js.map +0 -1
  206. package/lib/sessions/components/buttons/LoginButton.d.ts +0 -6
  207. package/lib/sessions/components/buttons/LoginButton.js.map +0 -1
  208. package/lib/sessions/components/buttons/UpdateButton.d.ts +0 -6
  209. package/lib/sessions/components/buttons/UpdateButton.js.map +0 -1
  210. package/lib/sessions/components/buttons/index.d.ts +0 -3
  211. package/lib/sessions/components/buttons/index.js.map +0 -1
@@ -0,0 +1,96 @@
1
+ /*
2
+ * Axelor Business Solutions
3
+ *
4
+ * Copyright (C) 2023 Axelor (<http://axelor.com>).
5
+ *
6
+ * This program is free software: you can redistribute it and/or modify
7
+ * it under the terms of the GNU Affero General Public License, version 3,
8
+ * as published by the Free Software Foundation.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU Affero General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU Affero General Public License
16
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ */
18
+ import { checkNullString } from '@axelor/aos-mobile-ui';
19
+ export const mergePanels = (currentPanels, newPanels) => {
20
+ if (newPanels == null || Object.keys(newPanels).length === 0) {
21
+ return currentPanels;
22
+ }
23
+ if (currentPanels == null || Object.keys(currentPanels).length === 0) {
24
+ return newPanels;
25
+ }
26
+ const resultPanels = { ...currentPanels };
27
+ Object.entries(newPanels).forEach(([panelKey, _panel]) => {
28
+ if (!Object.keys(resultPanels).includes(panelKey)) {
29
+ resultPanels[panelKey] = _panel;
30
+ }
31
+ else {
32
+ const oldPanel = { ...resultPanels[panelKey] };
33
+ resultPanels[panelKey] = {
34
+ ...oldPanel,
35
+ ..._panel,
36
+ };
37
+ }
38
+ });
39
+ return resultPanels;
40
+ };
41
+ export const mergeFields = (currentFields, newFields) => {
42
+ if (newFields == null || Object.keys(newFields).length === 0) {
43
+ return currentFields;
44
+ }
45
+ if (currentFields == null || Object.keys(currentFields).length === 0) {
46
+ return newFields;
47
+ }
48
+ const resultFields = { ...currentFields };
49
+ Object.entries(newFields).forEach(([fieldKey, _field]) => {
50
+ if (!Object.keys(resultFields).includes(fieldKey)) {
51
+ resultFields[fieldKey] = _field;
52
+ }
53
+ else {
54
+ const oldFields = { ...resultFields[fieldKey] };
55
+ resultFields[fieldKey] = {
56
+ ...oldFields,
57
+ ..._field,
58
+ };
59
+ }
60
+ });
61
+ return resultFields;
62
+ };
63
+ export const addModuleForms = (forms, _moduleForms, registerOptions) => {
64
+ if (_moduleForms == null || Object.keys(_moduleForms).length === 0) {
65
+ return forms;
66
+ }
67
+ if (forms == null || Object.keys(forms).length === 0) {
68
+ return _moduleForms;
69
+ }
70
+ let result = { ...forms };
71
+ for (const [key, config] of Object.entries(_moduleForms)) {
72
+ if (!Object.keys(result).includes(key) || registerOptions?.replaceOld) {
73
+ result[key] = config;
74
+ }
75
+ else {
76
+ const oldOptions = { ...result[key] };
77
+ result[key] = {
78
+ ...oldOptions,
79
+ ...config,
80
+ panels: mergePanels(oldOptions.panels, config.panels),
81
+ fields: mergeFields(oldOptions.fields, config.fields),
82
+ };
83
+ }
84
+ }
85
+ return result;
86
+ };
87
+ export const fetchOptionsOfFormKey = (forms = {}, key) => {
88
+ if (checkNullString(key)) {
89
+ return null;
90
+ }
91
+ if (!Object.keys(forms).includes(key)) {
92
+ return null;
93
+ }
94
+ return forms[key];
95
+ };
96
+ //# sourceMappingURL=register.helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.helpers.js","sourceRoot":"","sources":["../../src/forms/register.helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ export declare function fetchJsonFieldsOfModel({ modelName }: {
2
+ modelName: string;
3
+ }): Promise<any>;
4
+ export declare function fetchObject({ modelName, id, }: {
5
+ modelName: string;
6
+ id: number;
7
+ }): Promise<any>;
8
+ export declare function updateJsonFieldsObject({ modelName, id, version, values, }: {
9
+ modelName: string;
10
+ id: number;
11
+ version: number;
12
+ values: any;
13
+ }): Promise<any>;
14
+ export declare function fetchData({ modelName, domain, searchValue, page, searchFields, }: {
15
+ modelName: string;
16
+ domain?: string;
17
+ searchValue?: string;
18
+ page?: number;
19
+ searchFields?: string[];
20
+ }): Promise<any>;
21
+ export declare function fetchMetaConfig({ modelName, }: {
22
+ modelName: string;
23
+ }): Promise<any>;
24
+ export declare function fetchModelFields({ modelName, }: {
25
+ modelName: string;
26
+ }): Promise<string[]>;
27
+ interface SelectionItem {
28
+ name: string;
29
+ id: string;
30
+ }
31
+ export declare function fetchSelectionOptions({ modelName, attrsPanelName, fieldName, }: {
32
+ modelName: string;
33
+ attrsPanelName: string;
34
+ fieldName: string;
35
+ }): Promise<SelectionItem[]>;
36
+ export declare function executeButtonAction(actions: string, model: string, object: any): Promise<any>;
37
+ export {};
@@ -0,0 +1,162 @@
1
+ /*
2
+ * Axelor Business Solutions
3
+ *
4
+ * Copyright (C) 2023 Axelor (<http://axelor.com>).
5
+ *
6
+ * This program is free software: you can redistribute it and/or modify
7
+ * it under the terms of the GNU Affero General Public License, version 3,
8
+ * as published by the Free Software Foundation.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU Affero General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU Affero General Public License
16
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ */
18
+ import { axiosApiProvider } from '../../apiProviders';
19
+ export async function fetchJsonFieldsOfModel({ modelName }) {
20
+ if (modelName == null) {
21
+ return null;
22
+ }
23
+ return axiosApiProvider.post({
24
+ url: 'ws/rest/com.axelor.meta.db.MetaJsonField/search',
25
+ data: {
26
+ data: {
27
+ operator: 'and',
28
+ criteria: [
29
+ {
30
+ fieldName: 'model',
31
+ operator: '=',
32
+ value: modelName,
33
+ },
34
+ {
35
+ fieldName: 'isVisibleInMobileApp',
36
+ operator: '=',
37
+ value: true,
38
+ },
39
+ ],
40
+ },
41
+ limit: null,
42
+ },
43
+ });
44
+ }
45
+ export async function fetchObject({ modelName, id, }) {
46
+ if (modelName == null || id == null) {
47
+ return null;
48
+ }
49
+ return axiosApiProvider.get({
50
+ url: `ws/rest/${modelName}/${id}`,
51
+ });
52
+ }
53
+ export async function updateJsonFieldsObject({ modelName, id, version, values, }) {
54
+ if (modelName == null || id == null) {
55
+ return null;
56
+ }
57
+ return axiosApiProvider.post({
58
+ url: `ws/rest/${modelName}`,
59
+ data: {
60
+ data: {
61
+ id: id,
62
+ version: version,
63
+ ...values,
64
+ },
65
+ },
66
+ });
67
+ }
68
+ export async function fetchData({ modelName, domain, searchValue = null, page = 0, searchFields, }) {
69
+ if (modelName == null) {
70
+ return null;
71
+ }
72
+ let criteria = [];
73
+ if (searchValue != null) {
74
+ searchFields.forEach(_field => {
75
+ criteria.push({
76
+ fieldName: _field,
77
+ operator: 'like',
78
+ value: searchValue,
79
+ });
80
+ });
81
+ }
82
+ return axiosApiProvider
83
+ .post({
84
+ url: `ws/rest/${modelName}/search`,
85
+ data: {
86
+ data: {
87
+ _domain: domain,
88
+ criteria: [
89
+ {
90
+ criteria,
91
+ operator: 'or',
92
+ },
93
+ ],
94
+ },
95
+ fields: searchFields,
96
+ limit: 10,
97
+ offset: 10 * page,
98
+ translate: true,
99
+ },
100
+ })
101
+ .then(res => res?.data?.data);
102
+ }
103
+ export async function fetchMetaConfig({ modelName, }) {
104
+ if (modelName == null) {
105
+ return null;
106
+ }
107
+ return axiosApiProvider
108
+ .get({
109
+ url: `ws/meta/fields/${modelName}`,
110
+ })
111
+ .catch(console.warn);
112
+ }
113
+ export async function fetchModelFields({ modelName, }) {
114
+ if (modelName == null) {
115
+ return null;
116
+ }
117
+ return fetchMetaConfig({ modelName })
118
+ .then(res => res?.data?.data)
119
+ .then(res => res?.fields)
120
+ .then(_fields => {
121
+ if (!Array.isArray(_fields)) {
122
+ return [];
123
+ }
124
+ return _fields.filter(_item => _item.nameColumn);
125
+ })
126
+ .then(targetFields => targetFields.map(_item => _item.name));
127
+ }
128
+ export async function fetchSelectionOptions({ modelName, attrsPanelName, fieldName, }) {
129
+ if (modelName == null) {
130
+ return null;
131
+ }
132
+ return fetchMetaConfig({ modelName })
133
+ .then(res => res?.data?.data)
134
+ .then(res => res?.jsonFields)
135
+ .then(_attrsPanels => _attrsPanels?.[attrsPanelName])
136
+ .then(_panel => _panel?.[fieldName])
137
+ .then(_field => _field?.selectionList)
138
+ .then(_selection => {
139
+ if (!Array.isArray(_selection)) {
140
+ return [];
141
+ }
142
+ return _selection
143
+ .sort((a, b) => a.order - b.order)
144
+ .map(_item => ({
145
+ name: _item?.title,
146
+ id: _item?.value,
147
+ }));
148
+ });
149
+ }
150
+ export async function executeButtonAction(actions, model, object) {
151
+ return axiosApiProvider.post({
152
+ url: 'ws/action',
153
+ data: {
154
+ action: actions,
155
+ data: {
156
+ context: { ...object },
157
+ },
158
+ model,
159
+ },
160
+ });
161
+ }
162
+ //# sourceMappingURL=api.helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.helpers.js","sourceRoot":"","sources":["../../../src/forms/studio/api.helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Field, JSONObject, Panel } from '../types';
2
+ export declare const mapStudioFields: (items: any[], Colors: any) => {
3
+ panels: JSONObject<Panel>;
4
+ fields: JSONObject<Field>;
5
+ defaults: any;
6
+ };
7
+ export declare const mapFormToStudioFields: (fields: any[], formValues: any) => JSONObject<string>;
@@ -0,0 +1,256 @@
1
+ /*
2
+ * Axelor Business Solutions
3
+ *
4
+ * Copyright (C) 2023 Axelor (<http://axelor.com>).
5
+ *
6
+ * This program is free software: you can redistribute it and/or modify
7
+ * it under the terms of the GNU Affero General Public License, version 3,
8
+ * as published by the Free Software Foundation.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU Affero General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU Affero General Public License
16
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ */
18
+ import { HorizontalRule, Label } from '@axelor/aos-mobile-ui';
19
+ import { CustomButton, CustomPicker, CustomSearchBar } from '../../components';
20
+ export const mapStudioFields = (items, Colors) => {
21
+ let formFields = {};
22
+ let formPanels = {};
23
+ let defaults = {};
24
+ if (Array.isArray(items)) {
25
+ const metaJsonFields = [...items];
26
+ const modelFields = metaJsonFields
27
+ .map(_item => _item.modelField)
28
+ .filter((item, index, self) => self.indexOf(item) === index)
29
+ .sort();
30
+ for (const modelField of modelFields) {
31
+ const { _fields, _panels, _defaults } = manageContentOfModel(metaJsonFields.filter(_item => _item.modelField === modelField), Colors);
32
+ formFields = { ...formFields, ..._fields };
33
+ formPanels = { ...formPanels, ..._panels };
34
+ defaults = { ...defaults, ..._defaults };
35
+ }
36
+ }
37
+ return { fields: formFields, panels: formPanels, defaults };
38
+ };
39
+ export const mapFormToStudioFields = (fields, formValues) => {
40
+ let items = {};
41
+ if (Array.isArray(fields)) {
42
+ const metaJsonFields = [...fields];
43
+ const modelFields = metaJsonFields
44
+ .map(_item => _item.modelField)
45
+ .filter((item, index, self) => self.indexOf(item) === index)
46
+ .sort();
47
+ for (const modelField of modelFields) {
48
+ let panelValues = {};
49
+ const keys = Object.keys(formValues);
50
+ metaJsonFields
51
+ .filter(_item => _item.modelField === modelField)
52
+ .forEach(_item => {
53
+ const fieldKey = _item.name;
54
+ if (keys.includes(fieldKey)) {
55
+ panelValues[fieldKey] = formValues[fieldKey];
56
+ }
57
+ });
58
+ items = { ...items, [modelField]: JSON.stringify(panelValues) };
59
+ }
60
+ }
61
+ return items;
62
+ };
63
+ const mapStudioTypeToInputType = (type) => {
64
+ switch (type) {
65
+ case 'integer':
66
+ case 'decimal':
67
+ return 'number';
68
+ case 'many-to-one':
69
+ return 'object';
70
+ default:
71
+ return type;
72
+ }
73
+ };
74
+ const mapStudioWidgetToWidget = (widget) => {
75
+ let result = { widget: undefined, inputType: undefined };
76
+ switch (widget) {
77
+ case 'Email':
78
+ result.inputType = 'email';
79
+ break;
80
+ case 'Url':
81
+ result.inputType = 'url';
82
+ break;
83
+ case 'Html':
84
+ result.widget = 'HTML';
85
+ break;
86
+ case 'Password':
87
+ result.widget = 'password';
88
+ break;
89
+ default:
90
+ break;
91
+ }
92
+ return result;
93
+ };
94
+ const getWidgetAttrs = (item) => {
95
+ return item?.widgetAttrs == null ? null : JSON.parse(item.widgetAttrs);
96
+ };
97
+ const BootstrapMapper = {
98
+ error: ['warning'],
99
+ danger: ['danger'],
100
+ info: ['info'],
101
+ success: ['primary', 'success'],
102
+ light: ['light', 'secondary'],
103
+ dark: ['dark'],
104
+ };
105
+ const mapStudioCSSToLabelOptions = (item, Colors) => {
106
+ const css = getWidgetAttrs(item)?.css;
107
+ let result = {};
108
+ Object.entries(BootstrapMapper).forEach(([key, values]) => {
109
+ if (Array.isArray(values) && values.some(_item => css.includes(_item))) {
110
+ if (key === 'light') {
111
+ result.color = Colors.secondaryColor;
112
+ }
113
+ else if (key === 'dark') {
114
+ result.color = Colors.secondaryColor_dark;
115
+ }
116
+ else {
117
+ result.type = key;
118
+ }
119
+ }
120
+ });
121
+ return result;
122
+ };
123
+ const isPanelCollapsible = (item) => {
124
+ return getWidgetAttrs(item)?.canCollapse;
125
+ };
126
+ const isPanelTab = (item) => {
127
+ return getWidgetAttrs(item)?.tab;
128
+ };
129
+ const isMultiLinesInput = (item) => {
130
+ return getWidgetAttrs(item)?.multiline;
131
+ };
132
+ const hasPanelTitle = (item) => {
133
+ return (isPanelCollapsible(item) ||
134
+ isPanelTab(item) ||
135
+ !getWidgetAttrs(item)?.showTitle);
136
+ };
137
+ const manageContentOfModel = (items, Colors) => {
138
+ const formFields = {};
139
+ const formPanels = {};
140
+ const defaults = {};
141
+ let lastPanel = null;
142
+ items
143
+ .sort((a, b) => a.sequence - b.sequence)
144
+ .forEach(item => {
145
+ switch (item.type) {
146
+ case 'panel':
147
+ lastPanel = item.name;
148
+ formPanels[item.name] = {
149
+ titleKey: hasPanelTitle(item) ? item.title : null,
150
+ order: item.sequence,
151
+ colSpan: 12,
152
+ direction: 'column',
153
+ isCollapsible: isPanelCollapsible(item),
154
+ };
155
+ break;
156
+ case 'spacer':
157
+ formPanels[item.name] = {
158
+ titleKey: item.title,
159
+ order: item.sequence,
160
+ colSpan: 12,
161
+ direction: 'column',
162
+ };
163
+ break;
164
+ case 'label':
165
+ formFields[item.name] = {
166
+ titleKey: item.title,
167
+ type: 'string',
168
+ order: item.sequence,
169
+ parentPanel: lastPanel,
170
+ widget: 'custom',
171
+ customComponent: () => Label({
172
+ message: item.title,
173
+ type: 'info',
174
+ ...mapStudioCSSToLabelOptions(item, Colors),
175
+ }),
176
+ };
177
+ break;
178
+ case 'separator':
179
+ formFields[item.name] = {
180
+ titleKey: item.title,
181
+ type: 'string',
182
+ order: item.sequence,
183
+ parentPanel: lastPanel,
184
+ widget: 'custom',
185
+ customComponent: () => HorizontalRule({
186
+ style: {
187
+ marginVertical: 5,
188
+ width: '60%',
189
+ alignSelf: 'center',
190
+ },
191
+ }),
192
+ };
193
+ break;
194
+ case 'button':
195
+ formFields[item.name] = {
196
+ titleKey: item.title,
197
+ type: 'object',
198
+ order: item.sequence,
199
+ parentPanel: lastPanel,
200
+ widget: 'custom',
201
+ customComponent: CustomButton,
202
+ options: { item },
203
+ };
204
+ break;
205
+ default:
206
+ const fieldType = mapStudioTypeToInputType(item.type);
207
+ const { widget, inputType } = mapStudioWidgetToWidget(item.widget);
208
+ if (item.defaultValue != null) {
209
+ defaults[item.name] = item.defaultValue;
210
+ }
211
+ const config = {
212
+ titleKey: item.title,
213
+ helperKey: item.help,
214
+ type: inputType || fieldType,
215
+ required: item.required,
216
+ readonly: item.readonly,
217
+ order: item.sequence,
218
+ parentPanel: lastPanel,
219
+ widget: widget,
220
+ };
221
+ if (item.contextField != null) {
222
+ config.hideIf = ({ storeState }) => {
223
+ const obejctValue = storeState?.metaJsonField?.object?.[item.contextField];
224
+ const targetValue = parseInt(item.contextFieldValue, 10);
225
+ return obejctValue?.id !== targetValue;
226
+ };
227
+ }
228
+ if (item.type === 'integer') {
229
+ config.validationOptions = {
230
+ integer: {},
231
+ };
232
+ config.options = { scale: 0 };
233
+ }
234
+ if (item.type === 'decimal' && item.scale != null) {
235
+ config.options = { scale: item.scale };
236
+ }
237
+ if (isMultiLinesInput(item)) {
238
+ config.options = { multiline: true, adjustHeightWithLines: true };
239
+ }
240
+ if (item.isSelectionField) {
241
+ config.widget = 'custom';
242
+ config.customComponent = CustomPicker;
243
+ config.options = { item };
244
+ }
245
+ if (fieldType === 'object') {
246
+ config.widget = 'custom';
247
+ config.customComponent = CustomSearchBar;
248
+ config.options = { item };
249
+ }
250
+ formFields[item.name] = config;
251
+ break;
252
+ }
253
+ });
254
+ return { _fields: formFields, _panels: formPanels, _defaults: defaults };
255
+ };
256
+ //# sourceMappingURL=display.helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"display.helpers.js","sourceRoot":"","sources":["../../../src/forms/studio/display.helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './api.helpers';
2
+ export * from './display.helpers';
@@ -0,0 +1,20 @@
1
+ /*
2
+ * Axelor Business Solutions
3
+ *
4
+ * Copyright (C) 2023 Axelor (<http://axelor.com>).
5
+ *
6
+ * This program is free software: you can redistribute it and/or modify
7
+ * it under the terms of the GNU Affero General Public License, version 3,
8
+ * as published by the Free Software Foundation.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU Affero General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU Affero General Public License
16
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ */
18
+ export * from './api.helpers';
19
+ export * from './display.helpers';
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/forms/studio/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC"}