@wavemaker/react-codegen 11.14.2-rc.6311 → 12.0.0-next.28533
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/build-react-web.js +0 -19
- package/build-react-web.js.map +1 -1
- package/package-lock.json +151 -144
- package/package.json +2 -2
- package/src/app.generator.js +176 -18
- package/src/app.generator.js.map +1 -1
- package/src/gen-app-override-css.js +1 -1
- package/src/gen-app-override-css.js.map +1 -1
- package/src/handlebar-helpers.js +116 -19
- package/src/handlebar-helpers.js.map +1 -1
- package/src/project.service.js +47 -5
- package/src/project.service.js.map +1 -1
- package/src/transpile/bind.ex.transformer.js +11 -1
- package/src/transpile/bind.ex.transformer.js.map +1 -1
- package/src/transpile/components/basic/richtexteditor.transformer.js +3 -2
- package/src/transpile/components/basic/richtexteditor.transformer.js.map +1 -1
- package/src/transpile/components/basic/search.transformer.js +4 -6
- package/src/transpile/components/basic/search.transformer.js.map +1 -1
- package/src/transpile/components/container/tabpane.transformer.js +1 -1
- package/src/transpile/components/container/tabpane.transformer.js.map +1 -1
- package/src/transpile/components/container/tabs.transformer.js +4 -0
- package/src/transpile/components/container/tabs.transformer.js.map +1 -1
- package/src/transpile/components/data/card/card-content.transformer.js +5 -1
- package/src/transpile/components/data/card/card-content.transformer.js.map +1 -1
- package/src/transpile/components/data/form/form-action.transformer.js +73 -18
- package/src/transpile/components/data/form/form-action.transformer.js.map +1 -1
- package/src/transpile/components/data/form/form-field.transformer.js +46 -11
- package/src/transpile/components/data/form/form-field.transformer.js.map +1 -1
- package/src/transpile/components/data/form/form.transformer.js +53 -17
- package/src/transpile/components/data/form/form.transformer.js.map +1 -1
- package/src/transpile/components/data/list/list-transformer.js +64 -33
- package/src/transpile/components/data/list/list-transformer.js.map +1 -1
- package/src/transpile/components/data/live-filter-field.transformer.js +65 -10
- package/src/transpile/components/data/live-filter-field.transformer.js.map +1 -1
- package/src/transpile/components/data/liveform.transformer.js +11 -4
- package/src/transpile/components/data/liveform.transformer.js.map +1 -1
- package/src/transpile/components/data/table/table-action.transformer.js +6 -2
- package/src/transpile/components/data/table/table-action.transformer.js.map +1 -1
- package/src/transpile/components/data/table/table-column.transformer.js +95 -20
- package/src/transpile/components/data/table/table-column.transformer.js.map +1 -1
- package/src/transpile/components/data/table/table-group.transformer.js +16 -0
- package/src/transpile/components/data/table/table-group.transformer.js.map +1 -0
- package/src/transpile/components/data/table/table-row-action.transformer.js +6 -2
- package/src/transpile/components/data/table/table-row-action.transformer.js.map +1 -1
- package/src/transpile/components/data/table/table-row.transformer.js +7 -4
- package/src/transpile/components/data/table/table-row.transformer.js.map +1 -1
- package/src/transpile/components/data/table/table.transformer.js +29 -1
- package/src/transpile/components/data/table/table.transformer.js.map +1 -1
- package/src/transpile/components/data/table/utils.js +3 -1
- package/src/transpile/components/data/table/utils.js.map +1 -1
- package/src/transpile/components/form/button.transformer.js +12 -1
- package/src/transpile/components/form/button.transformer.js.map +1 -1
- package/src/transpile/components/input/checkbox-set.transformer.js +1 -1
- package/src/transpile/components/input/checkbox-set.transformer.js.map +1 -1
- package/src/transpile/components/input/chips.transformer.js +2 -1
- package/src/transpile/components/input/chips.transformer.js.map +1 -1
- package/src/transpile/components/input/color-picker.transformer.js +2 -1
- package/src/transpile/components/input/color-picker.transformer.js.map +1 -1
- package/src/transpile/components/input/rating.transformer.js +1 -1
- package/src/transpile/components/input/rating.transformer.js.map +1 -1
- package/src/transpile/components/input/select.transformer.js +1 -1
- package/src/transpile/components/input/select.transformer.js.map +1 -1
- package/src/transpile/components/input/text.transformer.js +3 -1
- package/src/transpile/components/input/text.transformer.js.map +1 -1
- package/src/transpile/components/input/upload.transformer.js +19 -0
- package/src/transpile/components/input/upload.transformer.js.map +1 -0
- package/src/transpile/components/nav/navbar.transformer.js +84 -0
- package/src/transpile/components/nav/navbar.transformer.js.map +1 -1
- package/src/transpile/components/navigation/popover.transformer.js +1 -1
- package/src/transpile/components/navigation/popover.transformer.js.map +1 -1
- package/src/transpile/components/page/partial-container.transformer.js +15 -6
- package/src/transpile/components/page/partial-container.transformer.js.map +1 -1
- package/src/transpile/components/prefab/prefab.transformer.js +23 -2
- package/src/transpile/components/prefab/prefab.transformer.js.map +1 -1
- package/src/transpile/components/transform-register.js +4 -0
- package/src/transpile/components/transform-register.js.map +1 -1
- package/src/transpile/components/utils.js +176 -15
- package/src/transpile/components/utils.js.map +1 -1
- package/src/transpile/property/property-parser.js +12 -0
- package/src/transpile/property/property-parser.js.map +1 -1
- package/src/transpile/style.transformer.js +7 -1
- package/src/transpile/style.transformer.js.map +1 -1
- package/src/transpile/transpile.js +370 -25
- package/src/transpile/transpile.js.map +1 -1
- package/src/utils.js +343 -36
- package/src/utils.js.map +1 -1
- package/src/utils.test.js +703 -0
- package/src/utils.test.js.map +1 -0
- package/src/variables/variable.transformer.js +302 -135
- package/src/variables/variable.transformer.js.map +1 -1
- package/templates/component/app.template.hbs +1 -0
- package/templates/component/component.hbs +12 -1
- package/templates/component/partial.hbs +8 -0
- package/templates/project/.env +1 -1
- package/templates/project/app/components.css +16 -15
- package/templates/project/app/globals.css +39 -0
- package/templates/project/app/loading.tsx +1 -1
- package/templates/project/package.json +8 -8
- package/templates/variables.template +21 -2
- package/templates/project/.npmrc +0 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../src/utils.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ function transformDataItem(d, scope) {
|
|
|
17
17
|
const arrayIndexMatch = v.match(/\[(\$i|\d+)\]/);
|
|
18
18
|
if (arrayIndexMatch) {
|
|
19
19
|
// Extract the index (convert $i to 0 for now, or use the number)
|
|
20
|
-
arrayIndex = arrayIndexMatch[1] ===
|
|
20
|
+
arrayIndex = arrayIndexMatch[1] === "$i" ? 0 : parseInt(arrayIndexMatch[1], 10);
|
|
21
21
|
}
|
|
22
22
|
// Remove trailing semicolons and trim whitespace from binding expressions
|
|
23
23
|
v = (v || "").trim().replace(/;+\s*$/, "");
|
|
@@ -28,7 +28,7 @@ function transformDataItem(d, scope) {
|
|
|
28
28
|
const transformed = (0, bind_ex_transformer_1.default)(v, scope, "attr").replace(/\\n/g, "");
|
|
29
29
|
// If the expression starts with '{', it's an object literal and needs to be wrapped in ()
|
|
30
30
|
// to distinguish it from a block statement in arrow functions
|
|
31
|
-
if (transformed.trim().startsWith(
|
|
31
|
+
if (transformed.trim().startsWith("{")) {
|
|
32
32
|
v = `${scope}.eval(() => (${transformed}))`;
|
|
33
33
|
}
|
|
34
34
|
else {
|
|
@@ -69,6 +69,7 @@ function checkEmptyObject(obj) {
|
|
|
69
69
|
return isVariableEmpty;
|
|
70
70
|
}
|
|
71
71
|
function transformVariable(variable, scope) {
|
|
72
|
+
var _a;
|
|
72
73
|
let params = {}, filters = {};
|
|
73
74
|
if (variable.category !== "wm.DeviceVariable") {
|
|
74
75
|
if ((0, lodash_1.isArray)(variable.dataSet)) {
|
|
@@ -91,151 +92,281 @@ function transformVariable(variable, scope) {
|
|
|
91
92
|
}
|
|
92
93
|
}
|
|
93
94
|
if (variable.dataBinding) {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
const arrayGroups = new Map();
|
|
137
|
-
// First, identify which paths have array bindings (have [$i] in their values)
|
|
138
|
-
const arrayPaths = new Set();
|
|
139
|
-
nested.forEach(n => {
|
|
140
|
-
if (n.arrayIndex !== null) {
|
|
141
|
-
const parts = n.name.split('.');
|
|
142
|
-
if (parts.length >= 3) {
|
|
143
|
-
const arrayPath = `${parts[0]}.${parts[1]}`;
|
|
144
|
-
arrayPaths.add(arrayPath);
|
|
95
|
+
if (Array.isArray(variable.dataBinding)) {
|
|
96
|
+
// First pass: collect all bindings and identify conflicts
|
|
97
|
+
const bindings = [];
|
|
98
|
+
const parentKeys = new Set(); // Keys that have direct bindings
|
|
99
|
+
const nestedKeys = new Map(); // Parent -> array of nested bindings
|
|
100
|
+
(_a = variable.dataBinding) === null || _a === void 0 ? void 0 : _a.forEach((d) => {
|
|
101
|
+
// Capture the original bind value BEFORE transformation
|
|
102
|
+
const originalValue = d.value && d.value.startsWith && d.value.startsWith("bind:")
|
|
103
|
+
? d.value.substr(5)
|
|
104
|
+
: d.value;
|
|
105
|
+
const { name, value, arrayIndex } = transformDataItem(d, scope);
|
|
106
|
+
let finalValue = value;
|
|
107
|
+
if (variable.dataSet &&
|
|
108
|
+
!(0, lodash_1.isArray)(variable.dataSet) &&
|
|
109
|
+
variable.dataSet.hasOwnProperty(name)) {
|
|
110
|
+
const defaultValue = (0, lodash_1.get)(variable.dataSet, name);
|
|
111
|
+
// Only add fallback if:
|
|
112
|
+
// 1. The binding is an expression (not a static value)
|
|
113
|
+
// 2. There's a default value (including empty strings and arrays)
|
|
114
|
+
if (d.value && d.value.startsWith && d.value.startsWith("bind:")) {
|
|
115
|
+
// Format default value appropriately
|
|
116
|
+
let formattedDefault;
|
|
117
|
+
if (typeof defaultValue === "string") {
|
|
118
|
+
formattedDefault = `"${defaultValue}"`;
|
|
119
|
+
}
|
|
120
|
+
else if ((0, lodash_1.isArray)(defaultValue)) {
|
|
121
|
+
formattedDefault = JSON.stringify(defaultValue);
|
|
122
|
+
}
|
|
123
|
+
else if ((0, lodash_1.isObject)(defaultValue)) {
|
|
124
|
+
formattedDefault = JSON.stringify(defaultValue);
|
|
125
|
+
}
|
|
126
|
+
else if (defaultValue === null) {
|
|
127
|
+
formattedDefault = "null";
|
|
128
|
+
}
|
|
129
|
+
else if (defaultValue === undefined) {
|
|
130
|
+
formattedDefault = "undefined";
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
formattedDefault = String(defaultValue);
|
|
134
|
+
}
|
|
135
|
+
// Append fallback: value || defaultValue
|
|
136
|
+
finalValue = `${value} || ${formattedDefault}`;
|
|
145
137
|
}
|
|
146
138
|
}
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
//
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
}
|
|
159
|
-
// Remaining path after the array (e.g., resource.id from RequestBody.serviceQualificationItem.resource.id)
|
|
160
|
-
const remainingPath = parts.slice(2).join('.');
|
|
161
|
-
arrayGroups.get(potentialArrayPath).push({ path: remainingPath, value: n.value, originalValue: n.originalValue });
|
|
139
|
+
bindings.push({ name, value: finalValue, arrayIndex, originalValue });
|
|
140
|
+
const parts = name.split(".");
|
|
141
|
+
if (parts.length === 1) {
|
|
142
|
+
// Direct binding for a key
|
|
143
|
+
parentKeys.add(name);
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
// Nested binding
|
|
147
|
+
const parentKey = parts[0];
|
|
148
|
+
if (!nestedKeys.has(parentKey)) {
|
|
149
|
+
nestedKeys.set(parentKey, []);
|
|
162
150
|
}
|
|
151
|
+
nestedKeys.get(parentKey).push({ name, value, arrayIndex, originalValue });
|
|
163
152
|
}
|
|
164
153
|
});
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
const
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
(0, lodash_1.set)(params, nested.name, nested.value);
|
|
194
|
-
});
|
|
195
|
-
}
|
|
196
|
-
else if (hasNestedBindings && (hasComplexNesting(name) || hasArrayBindings(name))) {
|
|
197
|
-
// Complex case with arrays - use map expression
|
|
198
|
-
const parentObj = { '__base__': value };
|
|
199
|
-
// Group array bindings and create map expressions
|
|
200
|
-
const arrayGroups = groupArrayBindings(name);
|
|
201
|
-
arrayGroups.forEach((items, arrayPath) => {
|
|
202
|
-
const mapExpr = generateMapExpression(arrayPath, items, value);
|
|
203
|
-
// Extract the array property name (last part of the path)
|
|
204
|
-
const arrayProp = arrayPath.split('.').pop();
|
|
205
|
-
if (arrayProp) {
|
|
206
|
-
// Store map marker directly in parent object, not using set()
|
|
207
|
-
parentObj[arrayProp] = mapExpr;
|
|
154
|
+
// Helper to check if nested bindings involve arrays
|
|
155
|
+
const hasArrayBindings = (key) => {
|
|
156
|
+
const nested = nestedKeys.get(key);
|
|
157
|
+
if (!nested)
|
|
158
|
+
return false;
|
|
159
|
+
// Check if any nested binding has an array index
|
|
160
|
+
return nested.some(n => n.arrayIndex !== null);
|
|
161
|
+
};
|
|
162
|
+
// Helper to check if nested bindings are complex (deep nesting > 2 levels)
|
|
163
|
+
const hasComplexNesting = (key) => {
|
|
164
|
+
const nested = nestedKeys.get(key);
|
|
165
|
+
if (!nested)
|
|
166
|
+
return false;
|
|
167
|
+
// Check if any nested path has more than 2 levels (e.g., RequestBody.serviceQualificationItem.resource)
|
|
168
|
+
return nested.some(n => n.name.split(".").length > 2);
|
|
169
|
+
};
|
|
170
|
+
// Helper to group array bindings by their array path
|
|
171
|
+
const groupArrayBindings = (key) => {
|
|
172
|
+
const nested = nestedKeys.get(key) || [];
|
|
173
|
+
const arrayGroups = new Map();
|
|
174
|
+
// First, identify which paths have array bindings (have [$i] in their values)
|
|
175
|
+
const arrayPaths = new Set();
|
|
176
|
+
nested.forEach(n => {
|
|
177
|
+
if (n.arrayIndex !== null) {
|
|
178
|
+
const parts = n.name.split(".");
|
|
179
|
+
if (parts.length >= 3) {
|
|
180
|
+
const arrayPath = `${parts[0]}.${parts[1]}`;
|
|
181
|
+
arrayPaths.add(arrayPath);
|
|
208
182
|
}
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
// Now group ALL bindings that go through these array paths
|
|
186
|
+
nested.forEach(n => {
|
|
187
|
+
const parts = n.name.split(".");
|
|
188
|
+
if (parts.length >= 3) {
|
|
189
|
+
// Check if this path goes through any identified array path
|
|
190
|
+
const potentialArrayPath = `${parts[0]}.${parts[1]}`;
|
|
191
|
+
// Include if: either has arrayIndex OR goes through an array path
|
|
192
|
+
if (n.arrayIndex !== null || arrayPaths.has(potentialArrayPath)) {
|
|
193
|
+
if (!arrayGroups.has(potentialArrayPath)) {
|
|
194
|
+
arrayGroups.set(potentialArrayPath, []);
|
|
217
195
|
}
|
|
196
|
+
// Remaining path after the array (e.g., resource.id from RequestBody.serviceQualificationItem.resource.id)
|
|
197
|
+
const remainingPath = parts.slice(2).join(".");
|
|
198
|
+
arrayGroups
|
|
199
|
+
.get(potentialArrayPath)
|
|
200
|
+
.push({ path: remainingPath, value: n.value, originalValue: n.originalValue });
|
|
218
201
|
}
|
|
202
|
+
}
|
|
203
|
+
});
|
|
204
|
+
return arrayGroups;
|
|
205
|
+
};
|
|
206
|
+
// Helper to generate map expression for array bindings
|
|
207
|
+
const generateMapExpression = (arrayPath, items, parentValue) => {
|
|
208
|
+
// Build the nested object structure for map
|
|
209
|
+
const structure = {};
|
|
210
|
+
items.forEach(item => {
|
|
211
|
+
(0, lodash_1.set)(structure, item.path, {
|
|
212
|
+
__isOverride: true,
|
|
213
|
+
value: item.value,
|
|
214
|
+
originalValue: item.originalValue,
|
|
219
215
|
});
|
|
220
|
-
|
|
221
|
-
|
|
216
|
+
});
|
|
217
|
+
// Generate map expression
|
|
218
|
+
const arrayPathParts = arrayPath.split(".");
|
|
219
|
+
const arraySourcePath = arrayPathParts.join(".");
|
|
220
|
+
return `__MAP__${arraySourcePath}__STRUCTURE__${JSON.stringify(structure)}__PARENT__${parentValue}__ENDMAP__`;
|
|
221
|
+
};
|
|
222
|
+
// Second pass: process bindings based on conflicts
|
|
223
|
+
bindings.forEach(({ name, value, arrayIndex, originalValue }) => {
|
|
224
|
+
const parts = name.split(".");
|
|
225
|
+
if (parts.length === 1) {
|
|
226
|
+
// This is a direct binding
|
|
227
|
+
const hasNestedBindings = nestedKeys.has(name);
|
|
228
|
+
if (hasNestedBindings && !hasComplexNesting(name) && !hasArrayBindings(name)) {
|
|
229
|
+
// Simple case: There are nested bindings but they're not deep and no arrays
|
|
230
|
+
// We can safely merge with spread operator
|
|
231
|
+
// Example: RequestBody -> RequestBody.state
|
|
232
|
+
const parentValue = value;
|
|
233
|
+
(0, lodash_1.set)(params, name, { __base__: parentValue });
|
|
234
|
+
// Set nested properties
|
|
235
|
+
nestedKeys.get(name).forEach(nested => {
|
|
236
|
+
(0, lodash_1.set)(params, nested.name, nested.value);
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
else if (hasNestedBindings && (hasComplexNesting(name) || hasArrayBindings(name))) {
|
|
240
|
+
// Complex case with arrays - use map expression
|
|
241
|
+
const parentObj = { __base__: value };
|
|
242
|
+
// Group array bindings and create map expressions
|
|
243
|
+
const arrayGroups = groupArrayBindings(name);
|
|
244
|
+
arrayGroups.forEach((items, arrayPath) => {
|
|
245
|
+
const mapExpr = generateMapExpression(arrayPath, items, value);
|
|
246
|
+
// Extract the array property name (last part of the path)
|
|
247
|
+
const arrayProp = arrayPath.split(".").pop();
|
|
248
|
+
if (arrayProp) {
|
|
249
|
+
// Store map marker directly in parent object, not using set()
|
|
250
|
+
parentObj[arrayProp] = mapExpr;
|
|
251
|
+
}
|
|
252
|
+
});
|
|
253
|
+
// Handle non-array nested bindings (like @type at parent level)
|
|
254
|
+
nestedKeys.get(name).forEach(nested => {
|
|
255
|
+
if (nested.arrayIndex === null) {
|
|
256
|
+
// Extract the direct property name (second part of path like RequestBody.@type -> @type)
|
|
257
|
+
const nestedParts = nested.name.split(".");
|
|
258
|
+
if (nestedParts.length === 2 && nestedParts[0] === name) {
|
|
259
|
+
parentObj[nestedParts[1]] = nested.value;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
});
|
|
263
|
+
// Set the parent object with all properties
|
|
264
|
+
(0, lodash_1.set)(params, name, parentObj);
|
|
265
|
+
}
|
|
266
|
+
else {
|
|
267
|
+
// No conflicts, just set the value
|
|
268
|
+
(0, lodash_1.set)(params, name, value);
|
|
269
|
+
}
|
|
222
270
|
}
|
|
223
271
|
else {
|
|
224
|
-
//
|
|
225
|
-
|
|
272
|
+
// This is a nested binding - already handled in parent block for array cases
|
|
273
|
+
const parentKey = parts[0];
|
|
274
|
+
if (!parentKeys.has(parentKey)) {
|
|
275
|
+
// No parent binding, set normally
|
|
276
|
+
(0, lodash_1.set)(params, name, value);
|
|
277
|
+
}
|
|
226
278
|
}
|
|
279
|
+
});
|
|
280
|
+
if (params.dataBinding) {
|
|
281
|
+
params = params.dataBinding;
|
|
227
282
|
}
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
283
|
+
}
|
|
284
|
+
else if (variable.category === "wm.CrudVariable" &&
|
|
285
|
+
(0, lodash_1.isObject)(variable.dataBinding) &&
|
|
286
|
+
!(0, lodash_1.isArray)(variable.dataBinding)) {
|
|
287
|
+
// Transform dataBinding object for CrudVariable
|
|
288
|
+
// Input: { list: [...], create: [...], update: [...], delete: [...] }
|
|
289
|
+
// Output: dataBinding: () => ({ list: [...], create: [...], update: [...], delete: [...] })
|
|
290
|
+
// Helper function to format value for JavaScript object literal
|
|
291
|
+
const formatValue = (value) => {
|
|
292
|
+
if (value === null) {
|
|
293
|
+
return "null";
|
|
294
|
+
}
|
|
295
|
+
if (value === undefined) {
|
|
296
|
+
return "undefined";
|
|
297
|
+
}
|
|
298
|
+
if (typeof value === "string") {
|
|
299
|
+
// If it's already a transformed expression (contains .eval), return as-is without quotes
|
|
300
|
+
if (value.includes(".eval(")) {
|
|
301
|
+
return value;
|
|
302
|
+
}
|
|
303
|
+
// Otherwise, quote it as a string
|
|
304
|
+
return JSON.stringify(value);
|
|
305
|
+
}
|
|
306
|
+
if (typeof value === "number" || typeof value === "boolean") {
|
|
307
|
+
return String(value);
|
|
308
|
+
}
|
|
309
|
+
return JSON.stringify(value);
|
|
310
|
+
};
|
|
311
|
+
// Build array of binding objects
|
|
312
|
+
const buildBindingArray = (bindings) => {
|
|
313
|
+
return bindings
|
|
314
|
+
.map((binding) => {
|
|
315
|
+
const transformed = transformDataItem(binding, scope);
|
|
316
|
+
const props = [];
|
|
317
|
+
// Always include target
|
|
318
|
+
props.push(`"target" : ${JSON.stringify(binding.target)}`);
|
|
319
|
+
// Format value - use transformed value if it's an expression, otherwise use original
|
|
320
|
+
let finalValue;
|
|
321
|
+
if (transformed.value !== undefined && transformed.value !== null) {
|
|
322
|
+
// If transformed value is a template literal (wrapped in backticks), extract the inner value
|
|
323
|
+
if (typeof transformed.value === "string" &&
|
|
324
|
+
transformed.value.startsWith("`") &&
|
|
325
|
+
transformed.value.endsWith("`")) {
|
|
326
|
+
finalValue = transformed.value.slice(1, -1);
|
|
327
|
+
}
|
|
328
|
+
else if (typeof transformed.value === "string" &&
|
|
329
|
+
transformed.value.includes(".eval(")) {
|
|
330
|
+
// It's a transformed expression, use as-is
|
|
331
|
+
finalValue = transformed.value;
|
|
332
|
+
}
|
|
333
|
+
else {
|
|
334
|
+
// Use transformed value, but check if we should preserve original type
|
|
335
|
+
finalValue = transformed.value;
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
else {
|
|
339
|
+
finalValue = binding.value || "";
|
|
340
|
+
}
|
|
341
|
+
props.push(`"value" : ${formatValue(finalValue)}`);
|
|
342
|
+
// Always include type
|
|
343
|
+
props.push(`"type" : ${JSON.stringify(binding.type)}`);
|
|
344
|
+
// Include isList if it exists
|
|
345
|
+
if (binding.hasOwnProperty("isList")) {
|
|
346
|
+
props.push(`"isList" : ${binding.isList}`);
|
|
347
|
+
}
|
|
348
|
+
return `{\n ${props.join(`,\n `)}\n }`;
|
|
349
|
+
})
|
|
350
|
+
.join(" , ");
|
|
351
|
+
};
|
|
352
|
+
// Build the object string
|
|
353
|
+
const objectParts = [];
|
|
354
|
+
Object.keys(variable.dataBinding).forEach((operationKey) => {
|
|
355
|
+
const operationBindings = variable.dataBinding[operationKey];
|
|
356
|
+
if ((0, lodash_1.isArray)(operationBindings)) {
|
|
357
|
+
objectParts.push(`"${operationKey}" : [ ${buildBindingArray(operationBindings)} ]`);
|
|
234
358
|
}
|
|
359
|
+
else {
|
|
360
|
+
objectParts.push(`"${operationKey}" : ${formatValue(operationBindings)}`);
|
|
361
|
+
}
|
|
362
|
+
});
|
|
363
|
+
// Store transformed dataBinding on variable object for use in transformCrudVariable
|
|
364
|
+
// Don't add it to params so it doesn't end up in paramProvider
|
|
365
|
+
variable._transformedDataBinding = `() => ({\n ${objectParts.join(`,\n `)}\n })`;
|
|
366
|
+
// Remove dataBinding from params if it exists to prevent it from going into paramProvider
|
|
367
|
+
if (params.dataBinding) {
|
|
368
|
+
delete params.dataBinding;
|
|
235
369
|
}
|
|
236
|
-
});
|
|
237
|
-
if (params.dataBinding) {
|
|
238
|
-
params = params.dataBinding;
|
|
239
370
|
}
|
|
240
371
|
}
|
|
241
372
|
const filterProvider = (rules) => {
|
|
@@ -302,6 +433,9 @@ function transformModelVariable(variable, scope) {
|
|
|
302
433
|
checkEmptyObject(variable.dataSet[0])) {
|
|
303
434
|
variable.dataSet = [];
|
|
304
435
|
}
|
|
436
|
+
if (variable.dataBinding) {
|
|
437
|
+
delete variable.dataBinding;
|
|
438
|
+
}
|
|
305
439
|
const tv = transformVariable(variable, scope);
|
|
306
440
|
tv.classname = "ModelVariable";
|
|
307
441
|
tv.twoWayBinding = variable.twoWayBinding;
|
|
@@ -322,6 +456,7 @@ function transformServiceVariable(variable, scope) {
|
|
|
322
456
|
tv.serviceType = variable.serviceType;
|
|
323
457
|
tv.controller = variable.controller;
|
|
324
458
|
tv.autoUpdate = variable.autoUpdate;
|
|
459
|
+
tv.orderBy = variable.orderBy;
|
|
325
460
|
return tv;
|
|
326
461
|
}
|
|
327
462
|
function transformNavigationAction(variable, scope) {
|
|
@@ -351,9 +486,11 @@ function transformNotificationAction(variable, scope, imports) {
|
|
|
351
486
|
tv.classname = "NotificationAction";
|
|
352
487
|
tv.group = "action";
|
|
353
488
|
tv.operation = variable.operation;
|
|
354
|
-
const partialContent = variable.dataBinding
|
|
355
|
-
|
|
356
|
-
|
|
489
|
+
const partialContent = Array.isArray(variable.dataBinding)
|
|
490
|
+
? variable.dataBinding.filter((binding) => {
|
|
491
|
+
return binding.target === "page";
|
|
492
|
+
})[0]
|
|
493
|
+
: null;
|
|
357
494
|
if (variable.onOk || variable.onClick) {
|
|
358
495
|
tv.onOk = appendIfNotEmpty((0, bind_ex_transformer_1.default)(variable.onOk || variable.onClick, scope, "event"), ";");
|
|
359
496
|
}
|
|
@@ -431,6 +568,34 @@ function transformLiveVariable(variable, scope) {
|
|
|
431
568
|
tv._id = variable._id;
|
|
432
569
|
return tv;
|
|
433
570
|
}
|
|
571
|
+
function transformCrudVariable(variable, scope) {
|
|
572
|
+
const tv = transformVariable(variable, scope);
|
|
573
|
+
tv._id = variable._id;
|
|
574
|
+
tv.name = variable.name;
|
|
575
|
+
tv.owner = variable.owner;
|
|
576
|
+
tv.category = variable.category;
|
|
577
|
+
tv.type = variable.type;
|
|
578
|
+
tv.service = variable.service;
|
|
579
|
+
tv.operation = variable.operation;
|
|
580
|
+
tv.operationId = variable.operationId;
|
|
581
|
+
tv.crudOperationId = variable.crudOperationId;
|
|
582
|
+
tv.operationType = variable.operationType;
|
|
583
|
+
tv.serviceType = variable.serviceType;
|
|
584
|
+
tv.dataSet = variable.dataSet;
|
|
585
|
+
tv.isList = variable.isList;
|
|
586
|
+
tv.maxResults = variable.maxResults;
|
|
587
|
+
tv.startUpdate = variable.startUpdate;
|
|
588
|
+
tv.autoUpdate = variable.autoUpdate;
|
|
589
|
+
tv.inFlightBehavior = variable.inFlightBehavior;
|
|
590
|
+
tv.transformationRequired = variable.transformationRequired;
|
|
591
|
+
tv.saveInPhonegap = variable.saveInPhonegap;
|
|
592
|
+
tv.controller = variable.controller;
|
|
593
|
+
// Use transformed dataBinding if available, otherwise use original
|
|
594
|
+
tv.dataBinding = variable._transformedDataBinding || variable.dataBinding;
|
|
595
|
+
tv.classname = "CrudVariable";
|
|
596
|
+
tv.group = "variable";
|
|
597
|
+
return tv;
|
|
598
|
+
}
|
|
434
599
|
exports.default = (variable, scope, appUrl, imports) => {
|
|
435
600
|
switch (variable.category) {
|
|
436
601
|
case "wm.Variable":
|
|
@@ -451,6 +616,8 @@ exports.default = (variable, scope, appUrl, imports) => {
|
|
|
451
616
|
return transformLogoutVariable(variable, scope);
|
|
452
617
|
case "wm.LiveVariable":
|
|
453
618
|
return transformLiveVariable(variable, scope);
|
|
619
|
+
case "wm.CrudVariable":
|
|
620
|
+
return transformCrudVariable(variable, scope);
|
|
454
621
|
}
|
|
455
622
|
return null;
|
|
456
623
|
};
|