@axelor/aos-mobile-core 8.5.21 → 8.5.23
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/lib/apiProviders/Action/index.d.ts +1 -1
- package/lib/apiProviders/Action/index.js +1 -0
- package/lib/apiProviders/Action/index.js.map +1 -1
- package/lib/apiProviders/Action/utils.d.ts +5 -0
- package/lib/apiProviders/Action/utils.js +16 -1
- package/lib/apiProviders/Action/utils.js.map +1 -1
- package/lib/components/organisms/DateInput/DateInput.js +2 -1
- package/lib/components/organisms/DateInput/DateInput.js.map +1 -1
- package/lib/components/pages/CustomFieldForm/CustomFieldForm.d.ts +1 -1
- package/lib/components/pages/CustomFieldForm/CustomFieldForm.js +47 -35
- package/lib/components/pages/CustomFieldForm/CustomFieldForm.js.map +1 -1
- package/lib/components/pages/FormView/Components/Field.d.ts +15 -6
- package/lib/components/pages/FormView/Components/Field.js +36 -20
- package/lib/components/pages/FormView/Components/Field.js.map +1 -1
- package/lib/components/pages/FormView/Components/Panel.d.ts +3 -2
- package/lib/components/pages/FormView/Components/Panel.js +20 -18
- package/lib/components/pages/FormView/Components/Panel.js.map +1 -1
- package/lib/components/pages/FormView/Custom/CustomButton.d.ts +1 -1
- package/lib/components/pages/FormView/Custom/CustomPicker.d.ts +11 -8
- package/lib/components/pages/FormView/Custom/CustomPicker.js +9 -5
- package/lib/components/pages/FormView/Custom/CustomPicker.js.map +1 -1
- package/lib/components/pages/FormView/Custom/CustomSearchBar.d.ts +1 -7
- package/lib/components/pages/FormView/Custom/CustomSearchBar.js +4 -2
- package/lib/components/pages/FormView/Custom/CustomSearchBar.js.map +1 -1
- package/lib/components/pages/FormView/FormView.js +49 -43
- package/lib/components/pages/FormView/FormView.js.map +1 -1
- package/lib/features/authSlice.js +2 -0
- package/lib/features/authSlice.js.map +1 -1
- package/lib/features/metaJsonFieldSlice.d.ts +6 -6
- package/lib/features/metaJsonFieldSlice.js +6 -2
- package/lib/features/metaJsonFieldSlice.js.map +1 -1
- package/lib/forms/display.helpers.d.ts +8 -4
- package/lib/forms/display.helpers.js +75 -32
- package/lib/forms/display.helpers.js.map +1 -1
- package/lib/forms/studio/api.helpers.d.ts +14 -2
- package/lib/forms/studio/api.helpers.js +151 -93
- package/lib/forms/studio/api.helpers.js.map +1 -1
- package/lib/forms/studio/display.helpers.d.ts +1 -1
- package/lib/forms/studio/display.helpers.js +52 -29
- package/lib/forms/studio/display.helpers.js.map +1 -1
- package/lib/forms/studio/formula.helpers.d.ts +6 -2
- package/lib/forms/studio/formula.helpers.js +106 -18
- package/lib/forms/studio/formula.helpers.js.map +1 -1
- package/lib/forms/studio/permission.helpers.d.ts +1 -0
- package/lib/forms/studio/permission.helpers.js +23 -26
- package/lib/forms/studio/permission.helpers.js.map +1 -1
- package/lib/forms/types.d.ts +3 -1
- package/lib/forms/validation.helpers.d.ts +1 -1
- package/lib/forms/validation.helpers.js +19 -16
- package/lib/forms/validation.helpers.js.map +1 -1
- package/lib/i18n/hooks/use-translator.d.ts +2 -1
- package/lib/i18n/hooks/use-translator.js +1 -1
- package/lib/i18n/hooks/use-translator.js.map +1 -1
- package/lib/models/objectFields.js +38 -0
- package/lib/models/objectFields.js.map +1 -1
- package/lib/models/sortFields.js +2 -0
- package/lib/models/sortFields.js.map +1 -1
- package/lib/permissions/hooks.js +6 -4
- package/lib/permissions/hooks.js.map +1 -1
- package/lib/permissions/type.helpers.d.ts +1 -1
- package/lib/redux/hooks.d.ts +7 -0
- package/lib/redux/hooks.js +10 -1
- package/lib/redux/hooks.js.map +1 -1
- package/lib/screens/JsonFieldScreen.d.ts +1 -3
- package/lib/screens/JsonFieldScreen.js +12 -7
- package/lib/screens/JsonFieldScreen.js.map +1 -1
- package/package.json +8 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display.helpers.js","sourceRoot":"","sources":["../../src/forms/display.helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAe,QAAQ,EAAC,MAAM,cAAc,CAAC;AACpD,OAAO,EAAC,eAAe,EAAC,MAAM,uBAAuB,CAAC;AACtD,OAAO,EACL,eAAe,GAKhB,MAAM,SAAS,CAAC;AAEjB,MAAM,cAAc,GAAG,EAAE,CAAC;AAE1B,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAc,EAAE,EAAE;IAC/C,OAAO,QAAQ,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,EAAC,MAAM,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjD,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,WAA4C,EAAE,EAAE;IAC5E,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"display.helpers.js","sourceRoot":"","sources":["../../src/forms/display.helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
import { JSONObject } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Drops the cached metadata of the given model, or of every model when none is
|
|
4
|
+
* given. Called on logout so that a new session never reads the metadata of the
|
|
5
|
+
* previous one, and available to force a refresh after a studio update.
|
|
6
|
+
*/
|
|
7
|
+
export declare function clearModelMetaCaches(modelName?: string): void;
|
|
8
|
+
export declare function fetchJsonFieldsOfModel({ modelName, type, userRoleIds, }: {
|
|
2
9
|
modelName: string;
|
|
3
10
|
type?: string;
|
|
11
|
+
userRoleIds?: number[] | null;
|
|
4
12
|
}): Promise<any>;
|
|
5
13
|
export declare function fetchObject({ modelName, id, }: {
|
|
6
14
|
modelName: string;
|
|
@@ -28,11 +36,15 @@ export declare function fetchMetaConfig({ modelName, }: {
|
|
|
28
36
|
}): Promise<any>;
|
|
29
37
|
export declare function fetchModelFields({ modelName, }: {
|
|
30
38
|
modelName: string;
|
|
31
|
-
}): Promise<string[]>;
|
|
39
|
+
}): Promise<string[] | undefined>;
|
|
32
40
|
interface SelectionItem {
|
|
33
41
|
title: string;
|
|
34
42
|
value: string;
|
|
35
43
|
}
|
|
44
|
+
export declare function fetchSelectionMap({ modelName, selections, }: {
|
|
45
|
+
modelName: string;
|
|
46
|
+
selections: string[];
|
|
47
|
+
}): Promise<JSONObject<SelectionItem[]>>;
|
|
36
48
|
export declare function fetchSelectionOptions({ modelName, attrsPanelName, fieldName, }: {
|
|
37
49
|
modelName: string;
|
|
38
50
|
attrsPanelName: string;
|
|
@@ -15,107 +15,127 @@
|
|
|
15
15
|
* You should have received a copy of the GNU Affero General Public License
|
|
16
16
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
|
-
import {
|
|
18
|
+
import { checkNullString } from '../../utils';
|
|
19
|
+
import { axiosApiProvider, createStandardSearch, } from '../../apiProviders';
|
|
20
|
+
const CACHE_KEY_SEPARATOR = '#';
|
|
21
|
+
const modelMetaCaches = new Map();
|
|
22
|
+
/**
|
|
23
|
+
* Model metadata only changes when the instance is redeployed, so each request is
|
|
24
|
+
* sent once per key for the whole session and every caller shares its result.
|
|
25
|
+
* Storing the promise also deduplicates concurrent callers, and a failed request
|
|
26
|
+
* is dropped from the cache to stay retryable.
|
|
27
|
+
*/
|
|
28
|
+
const cachedRequest = (cacheName, key, request) => {
|
|
29
|
+
let cache = modelMetaCaches.get(cacheName);
|
|
30
|
+
if (cache == null) {
|
|
31
|
+
cache = new Map();
|
|
32
|
+
modelMetaCaches.set(cacheName, cache);
|
|
33
|
+
}
|
|
34
|
+
const cached = cache.get(key);
|
|
35
|
+
if (cached != null)
|
|
36
|
+
return cached;
|
|
37
|
+
const _cache = cache;
|
|
38
|
+
const pending = request().catch(error => {
|
|
39
|
+
_cache.delete(key);
|
|
40
|
+
console.warn(error);
|
|
41
|
+
return undefined;
|
|
42
|
+
});
|
|
43
|
+
cache.set(key, pending);
|
|
44
|
+
return pending;
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Drops the cached metadata of the given model, or of every model when none is
|
|
48
|
+
* given. Called on logout so that a new session never reads the metadata of the
|
|
49
|
+
* previous one, and available to force a refresh after a studio update.
|
|
50
|
+
*/
|
|
51
|
+
export function clearModelMetaCaches(modelName) {
|
|
52
|
+
modelMetaCaches.forEach(cache => {
|
|
53
|
+
if (modelName == null) {
|
|
54
|
+
cache.clear();
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
cache.forEach((_, key) => {
|
|
58
|
+
if (key === modelName ||
|
|
59
|
+
key.startsWith(modelName + CACHE_KEY_SEPARATOR)) {
|
|
60
|
+
cache.delete(key);
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
}
|
|
19
65
|
const createJsonFieldsOfModelCriteria = (modelName, type) => {
|
|
20
66
|
const criteria = [
|
|
21
|
-
{
|
|
22
|
-
|
|
23
|
-
operator: '=',
|
|
24
|
-
value: modelName,
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
fieldName: 'isVisibleInMobileApp',
|
|
28
|
-
operator: '=',
|
|
29
|
-
value: true,
|
|
30
|
-
},
|
|
67
|
+
{ fieldName: 'model', operator: '=', value: modelName },
|
|
68
|
+
{ fieldName: 'isVisibleInMobileApp', operator: '=', value: true },
|
|
31
69
|
];
|
|
32
70
|
if (type != null) {
|
|
33
|
-
criteria.push({
|
|
34
|
-
fieldName: 'modelField',
|
|
35
|
-
operator: '=',
|
|
36
|
-
value: type,
|
|
37
|
-
});
|
|
71
|
+
criteria.push({ fieldName: 'modelField', operator: '=', value: type });
|
|
38
72
|
}
|
|
39
73
|
return criteria;
|
|
40
74
|
};
|
|
41
|
-
|
|
42
|
-
|
|
75
|
+
const EMPTY_ROLES_DOMAIN = 'self.roles IS EMPTY';
|
|
76
|
+
const ROLES_DOMAIN = `${EMPTY_ROLES_DOMAIN} OR EXISTS (SELECT 1 FROM MetaJsonField _field ` +
|
|
77
|
+
'JOIN _field.roles _role WHERE _field.id = self.id ' +
|
|
78
|
+
'AND _role.id IN (:userRoleIds))';
|
|
79
|
+
export async function fetchJsonFieldsOfModel({ modelName, type, userRoleIds, }) {
|
|
80
|
+
if (modelName == null)
|
|
43
81
|
return null;
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
82
|
+
const isFiltered = Array.isArray(userRoleIds);
|
|
83
|
+
const hasRoles = isFiltered && userRoleIds.length > 0;
|
|
84
|
+
return cachedRequest('jsonFieldsOfModel', [modelName, type ?? '', isFiltered ? userRoleIds.join('-') : 'all'].join(CACHE_KEY_SEPARATOR), () => createStandardSearch({
|
|
85
|
+
model: 'com.axelor.meta.db.MetaJsonField',
|
|
86
|
+
criteria: createJsonFieldsOfModelCriteria(modelName, type),
|
|
87
|
+
domain: !isFiltered
|
|
88
|
+
? undefined
|
|
89
|
+
: hasRoles
|
|
90
|
+
? ROLES_DOMAIN
|
|
91
|
+
: EMPTY_ROLES_DOMAIN,
|
|
92
|
+
domainContext: hasRoles ? { userRoleIds } : undefined,
|
|
93
|
+
fieldKey: 'core_metaJsonField',
|
|
94
|
+
page: 0,
|
|
95
|
+
numberElementsByPage: null,
|
|
96
|
+
provider: 'model',
|
|
97
|
+
}));
|
|
55
98
|
}
|
|
56
99
|
export async function fetchObject({ modelName, id, }) {
|
|
57
|
-
if (modelName == null || id == null)
|
|
100
|
+
if (modelName == null || id == null)
|
|
58
101
|
return null;
|
|
59
|
-
}
|
|
60
|
-
return axiosApiProvider.get({
|
|
61
|
-
url: `ws/rest/${modelName}/${id}`,
|
|
62
|
-
});
|
|
102
|
+
return axiosApiProvider.get({ url: `ws/rest/${modelName}/${id}` });
|
|
63
103
|
}
|
|
64
104
|
export async function fetchObjectModelTypes({ modelName }) {
|
|
65
|
-
if (modelName == null)
|
|
105
|
+
if (modelName == null)
|
|
66
106
|
return null;
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
fieldName: 'json',
|
|
81
|
-
operator: '=',
|
|
82
|
-
value: true,
|
|
83
|
-
},
|
|
84
|
-
],
|
|
85
|
-
},
|
|
86
|
-
limit: null,
|
|
87
|
-
},
|
|
88
|
-
});
|
|
107
|
+
return cachedRequest('objectModelTypes', modelName, () => createStandardSearch({
|
|
108
|
+
model: 'com.axelor.meta.db.MetaField',
|
|
109
|
+
criteria: [
|
|
110
|
+
{ fieldName: 'metaModel.fullName', operator: '=', value: modelName },
|
|
111
|
+
{ fieldName: 'json', operator: '=', value: true },
|
|
112
|
+
],
|
|
113
|
+
fieldKey: 'core_metaField',
|
|
114
|
+
page: 0,
|
|
115
|
+
numberElementsByPage: null,
|
|
116
|
+
provider: 'model',
|
|
117
|
+
}));
|
|
89
118
|
}
|
|
90
119
|
export async function updateJsonFieldsObject({ modelName, id, version, values, }) {
|
|
91
|
-
if (modelName == null || id == null)
|
|
120
|
+
if (modelName == null || id == null)
|
|
92
121
|
return null;
|
|
93
|
-
}
|
|
94
122
|
return axiosApiProvider.post({
|
|
95
123
|
url: `ws/rest/${modelName}`,
|
|
96
|
-
data: {
|
|
97
|
-
data: {
|
|
98
|
-
id: id,
|
|
99
|
-
version: version,
|
|
100
|
-
...values,
|
|
101
|
-
},
|
|
102
|
-
},
|
|
124
|
+
data: { data: { id, version, ...values } },
|
|
103
125
|
});
|
|
104
126
|
}
|
|
105
127
|
export async function fetchData({ modelName, domain, searchValue = null, page = 0, criteria = [], searchFields, }) {
|
|
106
|
-
if (modelName == null)
|
|
128
|
+
if (modelName == null)
|
|
107
129
|
return null;
|
|
108
|
-
}
|
|
109
130
|
let combinedCriteria = [...criteria];
|
|
110
|
-
if (searchValue != null) {
|
|
111
|
-
const searchCriteria = searchFields.map(_field => ({
|
|
112
|
-
fieldName: _field,
|
|
113
|
-
operator: 'like',
|
|
114
|
-
value: searchValue,
|
|
115
|
-
}));
|
|
131
|
+
if (searchValue != null && searchFields != null) {
|
|
116
132
|
combinedCriteria.push({
|
|
117
|
-
criteria: searchCriteria,
|
|
118
133
|
operator: 'or',
|
|
134
|
+
criteria: searchFields.map(_field => ({
|
|
135
|
+
fieldName: _field,
|
|
136
|
+
operator: 'like',
|
|
137
|
+
value: searchValue,
|
|
138
|
+
})),
|
|
119
139
|
});
|
|
120
140
|
}
|
|
121
141
|
return axiosApiProvider
|
|
@@ -135,35 +155,74 @@ export async function fetchData({ modelName, domain, searchValue = null, page =
|
|
|
135
155
|
.then(res => res?.data?.data);
|
|
136
156
|
}
|
|
137
157
|
export async function fetchMetaConfig({ modelName, }) {
|
|
138
|
-
if (modelName == null)
|
|
139
|
-
return
|
|
140
|
-
}
|
|
141
|
-
return axiosApiProvider
|
|
142
|
-
.get({
|
|
143
|
-
url: `ws/meta/fields/${modelName}`,
|
|
144
|
-
})
|
|
145
|
-
.catch(console.warn);
|
|
158
|
+
if (modelName == null)
|
|
159
|
+
return undefined;
|
|
160
|
+
return cachedRequest('metaConfig', modelName, () => axiosApiProvider.get({ url: `ws/meta/fields/${modelName}` }));
|
|
146
161
|
}
|
|
147
162
|
export async function fetchModelFields({ modelName, }) {
|
|
148
|
-
if (modelName == null)
|
|
149
|
-
return
|
|
150
|
-
}
|
|
163
|
+
if (modelName == null)
|
|
164
|
+
return undefined;
|
|
151
165
|
return fetchMetaConfig({ modelName })
|
|
152
166
|
.then(res => res?.data?.data)
|
|
153
167
|
.then(res => res?.fields)
|
|
154
168
|
.then(_fields => {
|
|
155
|
-
if (!Array.isArray(_fields))
|
|
169
|
+
if (!Array.isArray(_fields))
|
|
156
170
|
return [];
|
|
157
|
-
}
|
|
158
171
|
return _fields.filter(_item => _item.nameColumn);
|
|
159
172
|
})
|
|
160
173
|
.then(targetFields => targetFields.map(_item => _item.name))
|
|
161
174
|
.then(res => (res.length > 0 ? res : ['name']));
|
|
162
175
|
}
|
|
176
|
+
const buildSelectionMap = (items) => {
|
|
177
|
+
const mapOfSelection = new Map();
|
|
178
|
+
if (!Array.isArray(items))
|
|
179
|
+
return {};
|
|
180
|
+
items.forEach(_item => {
|
|
181
|
+
const selectionName = _item?.select?.name;
|
|
182
|
+
if (selectionName == null)
|
|
183
|
+
return;
|
|
184
|
+
let options = mapOfSelection.get(selectionName);
|
|
185
|
+
if (options == null) {
|
|
186
|
+
options = new Map();
|
|
187
|
+
mapOfSelection.set(selectionName, options);
|
|
188
|
+
}
|
|
189
|
+
if (_item.hidden === true) {
|
|
190
|
+
options.delete(_item.value);
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
options.set(_item.value, _item);
|
|
194
|
+
}
|
|
195
|
+
});
|
|
196
|
+
const result = {};
|
|
197
|
+
mapOfSelection.forEach((_options, _selectionName) => {
|
|
198
|
+
result[_selectionName] = [..._options.values()]
|
|
199
|
+
.sort((a, b) => (a.order ?? 0) - (b.order ?? 0))
|
|
200
|
+
.map(_option => ({
|
|
201
|
+
title: _option?.title,
|
|
202
|
+
value: _option?.value,
|
|
203
|
+
}));
|
|
204
|
+
});
|
|
205
|
+
return result;
|
|
206
|
+
};
|
|
207
|
+
export async function fetchSelectionMap({ modelName, selections, }) {
|
|
208
|
+
if (modelName == null || !Array.isArray(selections))
|
|
209
|
+
return {};
|
|
210
|
+
const names = selections.filter((_name, _index, _self) => !checkNullString(_name) && _self.indexOf(_name) === _index);
|
|
211
|
+
if (names.length === 0)
|
|
212
|
+
return {};
|
|
213
|
+
return cachedRequest('selectionMap', modelName, () => createStandardSearch({
|
|
214
|
+
model: 'com.axelor.meta.db.MetaSelectItem',
|
|
215
|
+
criteria: [{ fieldName: 'select.name', operator: 'in', value: names }],
|
|
216
|
+
fieldKey: 'core_metaSelectItem',
|
|
217
|
+
sortKey: 'core_metaSelectItem',
|
|
218
|
+
page: 0,
|
|
219
|
+
numberElementsByPage: null,
|
|
220
|
+
provider: 'model',
|
|
221
|
+
})).then(res => buildSelectionMap(res?.data?.data));
|
|
222
|
+
}
|
|
163
223
|
export async function fetchSelectionOptions({ modelName, attrsPanelName, fieldName, }) {
|
|
164
|
-
if (modelName == null)
|
|
165
|
-
return
|
|
166
|
-
}
|
|
224
|
+
if (modelName == null)
|
|
225
|
+
return [];
|
|
167
226
|
return fetchMetaConfig({ modelName })
|
|
168
227
|
.then(res => res?.data?.data)
|
|
169
228
|
.then(res => res?.jsonFields)
|
|
@@ -171,9 +230,8 @@ export async function fetchSelectionOptions({ modelName, attrsPanelName, fieldNa
|
|
|
171
230
|
.then(_panel => _panel?.[fieldName])
|
|
172
231
|
.then(_field => _field?.selectionList)
|
|
173
232
|
.then(_selection => {
|
|
174
|
-
if (!Array.isArray(_selection))
|
|
233
|
+
if (!Array.isArray(_selection))
|
|
175
234
|
return [];
|
|
176
|
-
}
|
|
177
235
|
return _selection
|
|
178
236
|
.sort((a, b) => a.order - b.order)
|
|
179
237
|
.map(_item => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.helpers.js","sourceRoot":"","sources":["../../../src/forms/studio/api.helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"api.helpers.js","sourceRoot":"","sources":["../../../src/forms/studio/api.helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ThemeColors } from '@axelor/aos-mobile-ui';
|
|
2
2
|
import { Field, JSONObject, Panel } from '../types';
|
|
3
|
-
export declare const mapStudioFields: (items: any[], Colors: ThemeColors,
|
|
3
|
+
export declare const mapStudioFields: (items: any[], Colors: ThemeColors, selectionMap?: JSONObject<any[]>) => {
|
|
4
4
|
panels: JSONObject<Panel>;
|
|
5
5
|
fields: JSONObject<Field>;
|
|
6
6
|
defaults: any;
|
|
@@ -15,10 +15,11 @@
|
|
|
15
15
|
* You should have received a copy of the GNU Affero General Public License
|
|
16
16
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
|
-
import { HorizontalRule, Label } from '@axelor/aos-mobile-ui';
|
|
18
|
+
import { checkNullString, HorizontalRule, Label, } from '@axelor/aos-mobile-ui';
|
|
19
|
+
import { DEFAULT_COLSPAN, } from '../types';
|
|
19
20
|
import { CustomButton, CustomPicker, CustomSearchBar, CustomTagList, } from '../../components';
|
|
20
21
|
import { combinedFormula, createFormulaFunction, manageDependsOnFormula, reverseFormula, } from './formula.helpers';
|
|
21
|
-
export const mapStudioFields = (items, Colors,
|
|
22
|
+
export const mapStudioFields = (items, Colors, selectionMap = {}) => {
|
|
22
23
|
let formFields = {};
|
|
23
24
|
let formPanels = {};
|
|
24
25
|
let defaults = {};
|
|
@@ -29,7 +30,7 @@ export const mapStudioFields = (items, Colors, removeUnauthorizedFields = _i =>
|
|
|
29
30
|
.filter((item, index, self) => self.indexOf(item) === index)
|
|
30
31
|
.sort();
|
|
31
32
|
for (const modelField of modelFields) {
|
|
32
|
-
const { _fields, _panels, _defaults } = manageContentOfModel(metaJsonFields, modelField, Colors,
|
|
33
|
+
const { _fields, _panels, _defaults } = manageContentOfModel(metaJsonFields, modelField, Colors, selectionMap);
|
|
33
34
|
formFields = { ...formFields, ..._fields };
|
|
34
35
|
formPanels = { ...formPanels, ..._panels };
|
|
35
36
|
defaults = { ...defaults, ..._defaults };
|
|
@@ -77,7 +78,7 @@ const mapStudioTypeToInputType = (type) => {
|
|
|
77
78
|
}
|
|
78
79
|
};
|
|
79
80
|
const mapStudioWidgetToWidget = (widget) => {
|
|
80
|
-
let result = {
|
|
81
|
+
let result = {};
|
|
81
82
|
switch (widget) {
|
|
82
83
|
case 'Email':
|
|
83
84
|
result.inputType = 'email';
|
|
@@ -105,6 +106,15 @@ const mapStudioWidgetToWidget = (widget) => {
|
|
|
105
106
|
const getWidgetAttrs = (item) => {
|
|
106
107
|
return item?.widgetAttrs == null ? null : JSON.parse(item.widgetAttrs);
|
|
107
108
|
};
|
|
109
|
+
const getColSpan = (widgetAttrs) => {
|
|
110
|
+
const colSpan = parseInt(widgetAttrs?.colSpan, 10);
|
|
111
|
+
if (Number.isNaN(colSpan) || colSpan <= 0)
|
|
112
|
+
return undefined;
|
|
113
|
+
return Math.min(colSpan, DEFAULT_COLSPAN);
|
|
114
|
+
};
|
|
115
|
+
const isNarrowColSpan = (colSpan) => {
|
|
116
|
+
return colSpan != null && colSpan < DEFAULT_COLSPAN;
|
|
117
|
+
};
|
|
108
118
|
const BootstrapMapper = {
|
|
109
119
|
error: ['warning'],
|
|
110
120
|
danger: ['danger'],
|
|
@@ -113,9 +123,11 @@ const BootstrapMapper = {
|
|
|
113
123
|
light: ['light', 'secondary'],
|
|
114
124
|
dark: ['dark'],
|
|
115
125
|
};
|
|
116
|
-
const mapStudioCSSToLabelOptions = (
|
|
117
|
-
const css =
|
|
126
|
+
const mapStudioCSSToLabelOptions = (widgetAttrs, Colors) => {
|
|
127
|
+
const css = widgetAttrs?.css;
|
|
118
128
|
let result = {};
|
|
129
|
+
if (checkNullString(css))
|
|
130
|
+
return result;
|
|
119
131
|
Object.entries(BootstrapMapper).forEach(([key, values]) => {
|
|
120
132
|
if (Array.isArray(values) && values.some(_item => css.includes(_item))) {
|
|
121
133
|
if (key === 'light') {
|
|
@@ -131,39 +143,39 @@ const mapStudioCSSToLabelOptions = (item, Colors) => {
|
|
|
131
143
|
});
|
|
132
144
|
return result;
|
|
133
145
|
};
|
|
134
|
-
const isPanelCollapsible = (
|
|
135
|
-
return
|
|
146
|
+
const isPanelCollapsible = (widgetAttrs) => {
|
|
147
|
+
return widgetAttrs?.canCollapse;
|
|
136
148
|
};
|
|
137
|
-
const isPanelTab = (
|
|
138
|
-
return
|
|
149
|
+
const isPanelTab = (widgetAttrs) => {
|
|
150
|
+
return widgetAttrs?.tab;
|
|
139
151
|
};
|
|
140
|
-
const isMultiLinesInput = (
|
|
141
|
-
return
|
|
152
|
+
const isMultiLinesInput = (widgetAttrs) => {
|
|
153
|
+
return widgetAttrs?.multiline;
|
|
142
154
|
};
|
|
143
|
-
const hasPanelTitle = (
|
|
144
|
-
return (isPanelCollapsible(
|
|
145
|
-
isPanelTab(
|
|
146
|
-
!
|
|
155
|
+
const hasPanelTitle = (widgetAttrs) => {
|
|
156
|
+
return (isPanelCollapsible(widgetAttrs) ||
|
|
157
|
+
isPanelTab(widgetAttrs) ||
|
|
158
|
+
!widgetAttrs?.showTitle);
|
|
147
159
|
};
|
|
148
|
-
const manageContentOfModel = (metaJsonFields, modelField, Colors,
|
|
160
|
+
const manageContentOfModel = (metaJsonFields, modelField, Colors, selectionMap) => {
|
|
149
161
|
const formFields = {};
|
|
150
162
|
const formPanels = {};
|
|
151
163
|
const defaults = {};
|
|
152
164
|
let lastPanel;
|
|
153
165
|
metaJsonFields
|
|
154
|
-
.sort((a, b) => a.sequence - b.sequence)
|
|
155
166
|
.filter(_item => _item.modelField === modelField)
|
|
156
|
-
.
|
|
167
|
+
.sort((a, b) => a.sequence - b.sequence)
|
|
157
168
|
.forEach(item => {
|
|
169
|
+
const widgetAttrs = getWidgetAttrs(item);
|
|
158
170
|
switch (item.type) {
|
|
159
171
|
case 'panel':
|
|
160
172
|
lastPanel = item.name;
|
|
161
173
|
formPanels[item.name] = {
|
|
162
|
-
titleKey: hasPanelTitle(
|
|
174
|
+
titleKey: hasPanelTitle(widgetAttrs) ? item.title : null,
|
|
163
175
|
order: item.sequence,
|
|
164
|
-
colSpan:
|
|
165
|
-
direction: '
|
|
166
|
-
isCollapsible: isPanelCollapsible(
|
|
176
|
+
colSpan: getColSpan(widgetAttrs) ?? DEFAULT_COLSPAN,
|
|
177
|
+
direction: 'row',
|
|
178
|
+
isCollapsible: isPanelCollapsible(widgetAttrs),
|
|
167
179
|
readonly: item.readonly,
|
|
168
180
|
readonlyIf: createFormulaFunction(item.readonlyIf),
|
|
169
181
|
hideIf: item.hidden
|
|
@@ -175,8 +187,8 @@ const manageContentOfModel = (metaJsonFields, modelField, Colors, removeUnauthor
|
|
|
175
187
|
formPanels[item.name] = {
|
|
176
188
|
titleKey: item.title,
|
|
177
189
|
order: item.sequence,
|
|
178
|
-
colSpan:
|
|
179
|
-
direction: '
|
|
190
|
+
colSpan: getColSpan(widgetAttrs) ?? DEFAULT_COLSPAN,
|
|
191
|
+
direction: 'row',
|
|
180
192
|
};
|
|
181
193
|
break;
|
|
182
194
|
case 'label':
|
|
@@ -184,13 +196,14 @@ const manageContentOfModel = (metaJsonFields, modelField, Colors, removeUnauthor
|
|
|
184
196
|
titleKey: item.title,
|
|
185
197
|
type: 'string',
|
|
186
198
|
order: item.sequence,
|
|
199
|
+
colSpan: getColSpan(widgetAttrs),
|
|
187
200
|
parentPanel: lastPanel,
|
|
188
201
|
widget: 'custom',
|
|
189
202
|
hideIf: () => item.hidden,
|
|
190
203
|
customComponent: () => Label({
|
|
191
204
|
message: item.title,
|
|
192
205
|
type: 'info',
|
|
193
|
-
...mapStudioCSSToLabelOptions(
|
|
206
|
+
...mapStudioCSSToLabelOptions(widgetAttrs, Colors),
|
|
194
207
|
}),
|
|
195
208
|
};
|
|
196
209
|
break;
|
|
@@ -216,6 +229,7 @@ const manageContentOfModel = (metaJsonFields, modelField, Colors, removeUnauthor
|
|
|
216
229
|
titleKey: item.title,
|
|
217
230
|
type: 'object',
|
|
218
231
|
order: item.sequence,
|
|
232
|
+
colSpan: getColSpan(widgetAttrs),
|
|
219
233
|
parentPanel: lastPanel,
|
|
220
234
|
widget: 'custom',
|
|
221
235
|
hideIf: () => item.hidden,
|
|
@@ -241,6 +255,7 @@ const manageContentOfModel = (metaJsonFields, modelField, Colors, removeUnauthor
|
|
|
241
255
|
? () => true
|
|
242
256
|
: createFormulaFunction(combinedFormula('||', item.hideIf, reverseFormula(item.showIf))),
|
|
243
257
|
order: item.sequence,
|
|
258
|
+
colSpan: getColSpan(widgetAttrs),
|
|
244
259
|
parentPanel: lastPanel,
|
|
245
260
|
widget: widget,
|
|
246
261
|
};
|
|
@@ -253,15 +268,21 @@ const manageContentOfModel = (metaJsonFields, modelField, Colors, removeUnauthor
|
|
|
253
268
|
if (item.type === 'decimal' && item.scale != null) {
|
|
254
269
|
config.options = { scale: item.scale };
|
|
255
270
|
}
|
|
256
|
-
if (isMultiLinesInput(
|
|
271
|
+
if (isMultiLinesInput(widgetAttrs)) {
|
|
257
272
|
config.options = { multiline: true, adjustHeightWithLines: true };
|
|
258
273
|
}
|
|
259
|
-
if (item.isSelectionField) {
|
|
274
|
+
if (item.isSelectionField || !checkNullString(item.selection)) {
|
|
260
275
|
config.widget = 'custom';
|
|
261
276
|
config.customComponent = CustomPicker;
|
|
262
|
-
config.options = {
|
|
277
|
+
config.options = {
|
|
278
|
+
item,
|
|
279
|
+
selection: selectionMap?.[item.selection],
|
|
280
|
+
multiLineLabels: isNarrowColSpan(config.colSpan),
|
|
281
|
+
popup: isNarrowColSpan(config.colSpan),
|
|
282
|
+
};
|
|
263
283
|
}
|
|
264
284
|
if (fieldType === 'array') {
|
|
285
|
+
config.colSpan = undefined;
|
|
265
286
|
config.widget = 'custom';
|
|
266
287
|
config.customComponent = CustomTagList;
|
|
267
288
|
config.options = {
|
|
@@ -270,9 +291,11 @@ const manageContentOfModel = (metaJsonFields, modelField, Colors, removeUnauthor
|
|
|
270
291
|
}
|
|
271
292
|
if (fieldType === 'object') {
|
|
272
293
|
if (widget === 'signature') {
|
|
294
|
+
config.colSpan = undefined;
|
|
273
295
|
config.options = { popup: true };
|
|
274
296
|
}
|
|
275
297
|
else if (widget === 'file') {
|
|
298
|
+
config.colSpan = undefined;
|
|
276
299
|
config.options = { returnBase64String: false };
|
|
277
300
|
}
|
|
278
301
|
else {
|