@wavemaker-ai/react-codegen 1.0.0-rc.647712 → 12.0.0-rc.335

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 (48) hide show
  1. package/command.js +52 -7
  2. package/command.js.map +1 -1
  3. package/dist/transpiler/index.d.mts +42 -1
  4. package/dist/transpiler/index.mjs +452 -18
  5. package/dist/transpiler/index.mjs.map +1 -1
  6. package/dist/transpiler/wm-styles.css +7 -0
  7. package/index.js +7 -0
  8. package/index.js.map +1 -1
  9. package/package-lock.json +100 -100
  10. package/package.json +1 -1
  11. package/src/app.generator.js +223 -35
  12. package/src/app.generator.js.map +1 -1
  13. package/src/handlebar-helpers.js +32 -0
  14. package/src/handlebar-helpers.js.map +1 -1
  15. package/src/increment-builder.js +32 -2
  16. package/src/increment-builder.js.map +1 -1
  17. package/src/profiles/profile.js +2 -0
  18. package/src/profiles/profile.js.map +1 -1
  19. package/src/profiles/web-preview.profile.js +4 -0
  20. package/src/profiles/web-preview.profile.js.map +1 -1
  21. package/src/services/designtime-collector.js +235 -0
  22. package/src/services/designtime-collector.js.map +1 -0
  23. package/src/services/doc-normalizer.js +185 -0
  24. package/src/services/doc-normalizer.js.map +1 -0
  25. package/src/services/method-emitter.js +367 -0
  26. package/src/services/method-emitter.js.map +1 -0
  27. package/src/services/model-emitter.js +281 -0
  28. package/src/services/model-emitter.js.map +1 -0
  29. package/src/services/schema-to-ts.js +50 -0
  30. package/src/services/schema-to-ts.js.map +1 -0
  31. package/src/services/service.generator.js +223 -0
  32. package/src/services/service.generator.js.map +1 -0
  33. package/src/transpile/components/container/tabs.transformer.js +2 -0
  34. package/src/transpile/components/container/tabs.transformer.js.map +1 -1
  35. package/src/transpile/components/dialogs/dialog.transformer.js +14 -3
  36. package/src/transpile/components/dialogs/dialog.transformer.js.map +1 -1
  37. package/src/transpile/variables-template-source.js +2 -2
  38. package/src/transpile/variables-template-source.js.map +1 -1
  39. package/src/utils.browser.js +9 -5
  40. package/src/utils.browser.js.map +1 -1
  41. package/src/variables/variable.transformer.js +623 -12
  42. package/src/variables/variable.transformer.js.map +1 -1
  43. package/templates/project/app/client.layout.tsx +7 -7
  44. package/templates/project/app/components.css +7 -0
  45. package/templates/project/package.json +6 -5
  46. package/templates/project/services/base.service.ts +361 -0
  47. package/templates/service/service-class.hbs +19 -0
  48. package/templates/variables.template +67 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-emitter.js","sourceRoot":"","sources":["../../../src/services/model-emitter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ /**
3
+ * Naming helpers shared by the generation side (service.generator.ts) and the consumption side
4
+ * (variable.transformer.ts). Schema-to-TypeScript conversion itself now lives in
5
+ * model-emitter.ts, which emits a service's `definitions` block once as shared models rather
6
+ * than re-deriving types per operation.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.toPascalCase = toPascalCase;
10
+ exports.buildServiceClassName = buildServiceClassName;
11
+ function toPascalCase(name) {
12
+ const words = String(name || "")
13
+ .split(/[^a-zA-Z0-9]+/)
14
+ .filter(Boolean);
15
+ if (!words.length)
16
+ return "Model";
17
+ let result = words.map(w => w.charAt(0).toUpperCase() + w.slice(1)).join("");
18
+ if (/^[0-9]/.test(result))
19
+ result = "_" + result;
20
+ return result;
21
+ }
22
+ /**
23
+ * Single source of truth for turning (backend service id, tag) into a generated class name —
24
+ * used by BOTH the generation side (service.generator.ts, which emits the class) and the
25
+ * consumption side (variable.transformer.ts, which must predict that exact name so
26
+ * isServiceAvailable() doesn't silently reject a variable). The two MUST never drift apart.
27
+ *
28
+ * The name is the tag alone (e.g. "Department" -> "DepartmentService"), because each service's
29
+ * classes live in their own `services/<serviceId>/` folder — the folder already says which
30
+ * backend service a class belongs to, so repeating it in the class name only makes both the file
31
+ * and the class name longer for no added information. Two services that share an entity name
32
+ * (e.g. an "Employee" in both hrdb and salesdb) therefore produce the same class NAME in two
33
+ * different folders, which is fine on disk and at import time; where both are imported into one
34
+ * generated file, the import is aliased (see service.generator.ts's singleton naming).
35
+ *
36
+ * `tag` must already be cleaned/capitalized by the caller (e.g. "Department", not
37
+ * "DepartmentController").
38
+ */
39
+ function buildServiceClassName(serviceId, tag) {
40
+ const servicePascal = toPascalCase(serviceId || "");
41
+ const serviceCore = servicePascal.endsWith("Service")
42
+ ? servicePascal.slice(0, -"Service".length)
43
+ : servicePascal;
44
+ // A tag equal to the service's own name is the "one class for the whole service" case (an
45
+ // OpenAPIService connector whose operations are all lumped together, or a single-tag service
46
+ // like securityService/SecurityController) — it still resolves to just "<Name>Service".
47
+ const core = tag === servicePascal || tag === serviceCore ? serviceCore : tag;
48
+ return `${core}Service`;
49
+ }
50
+ //# sourceMappingURL=schema-to-ts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-to-ts.js","sourceRoot":"","sources":["../../../src/services/schema-to-ts.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAEH,oCAQC;AAmBD,sDAUC;AArCD,SAAgB,YAAY,CAAC,IAAY;IACvC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;SAC7B,KAAK,CAAC,eAAe,CAAC;SACtB,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,OAAO,CAAC;IAClC,IAAI,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7E,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC;IACjD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,qBAAqB,CAAC,SAAiB,EAAE,GAAW;IAClE,MAAM,aAAa,GAAG,YAAY,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IACpD,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC;QACnD,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC;QAC3C,CAAC,CAAC,aAAa,CAAC;IAClB,0FAA0F;IAC1F,6FAA6F;IAC7F,wFAAwF;IACxF,MAAM,IAAI,GAAG,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;IAC9E,OAAO,GAAG,IAAI,SAAS,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,223 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.generateServices = generateServices;
7
+ const fs_extra_1 = __importDefault(require("fs-extra"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const handlebars_1 = __importDefault(require("handlebars"));
10
+ const designtime_collector_1 = require("./designtime-collector");
11
+ const doc_normalizer_1 = require("./doc-normalizer");
12
+ const model_emitter_1 = require("./model-emitter");
13
+ const method_emitter_1 = require("./method-emitter");
14
+ const schema_to_ts_1 = require("./schema-to-ts");
15
+ const utils_1 = require("../utils");
16
+ const SERVICE_TEMPLATE_PATH = path_1.default.join(__dirname, "../../templates/service/service-class.hbs");
17
+ function loadServiceTemplate() {
18
+ return handlebars_1.default.compile(fs_extra_1.default.readFileSync(SERVICE_TEMPLATE_PATH, "utf-8"));
19
+ }
20
+ function lowerFirst(name) {
21
+ return name.charAt(0).toLowerCase() + name.slice(1);
22
+ }
23
+ /**
24
+ * The app-server routing segment a proxied service's requests need. Direct (non-proxied)
25
+ * connectors get none — their own path template already identifies the target (see Fix 9 in
26
+ * SWAXIOS_SERVICE_GEN_PLAN.md); either way the live baseUrl comes from joinServerPath at runtime,
27
+ * never a doc-declared host baked in here.
28
+ */
29
+ function routePrefixFor(collected, normalized, pathTemplates) {
30
+ if (!normalized.proxyWeb) {
31
+ return "";
32
+ }
33
+ const root = collected.isPrefab ? `/prefabs/${collected.prefabName}` : "/services";
34
+ // A connector doc's basePath can be an unresolved WM property placeholder
35
+ // (`${rest.<service>.basepath}`), resolved server-side from a .properties file. When it is, the
36
+ // service id appears NOWHERE in the doc — neither in basePath nor in the path templates (e.g.
37
+ // `/pet/findByStatus`) — so the proxy has nothing to route on. Regular designtime docs never
38
+ // have this: their path templates already carry the service id. Insert it here, unless a
39
+ // template already starts with it.
40
+ const placeholderBasePath = (normalized.basePath || "").includes("${");
41
+ if (!placeholderBasePath) {
42
+ return root;
43
+ }
44
+ const segment = `/${collected.serviceName}`;
45
+ const alreadyPresent = pathTemplates.some(t => t === segment || t.startsWith(`${segment}/`));
46
+ return alreadyPresent ? root : `${root}${segment}`;
47
+ }
48
+ /**
49
+ * The controller's class-level base path — Spring's `@RequestMapping` value, which WM records as
50
+ * `x-WM-BASE_PATH` on each path item. Falls back to the longest common prefix of the tag's own
51
+ * path templates when the doc doesn't record it (REST/OpenAPI connectors often don't), so the
52
+ * constructor still carries a meaningful base and methods stay relative.
53
+ */
54
+ function controllerBasePath(doc, pathTemplates) {
55
+ var _a, _b;
56
+ for (const template of pathTemplates) {
57
+ const declared = (_b = (_a = doc.paths) === null || _a === void 0 ? void 0 : _a[template]) === null || _b === void 0 ? void 0 : _b["x-WM-BASE_PATH"];
58
+ if (typeof declared === "string" && declared) {
59
+ return declared;
60
+ }
61
+ }
62
+ if (pathTemplates.length === 1) {
63
+ // A single-operation service: keep the whole path in the method, base stays empty, so the
64
+ // emitted URL is identical to what a multi-op service would produce.
65
+ return "";
66
+ }
67
+ const split = pathTemplates.map(t => t.split("/"));
68
+ const first = split[0] || [];
69
+ const common = [];
70
+ for (let i = 0; i < first.length; i++) {
71
+ const segment = first[i];
72
+ if (segment.includes("{"))
73
+ break;
74
+ if (!split.every(parts => parts[i] === segment))
75
+ break;
76
+ common.push(segment);
77
+ }
78
+ const base = common.join("/");
79
+ return base === "/" ? "" : base;
80
+ }
81
+ function generateServices(servicesPath, outputPath, webappPath = "") {
82
+ const render = loadServiceTemplate();
83
+ const classNames = new Set();
84
+ const methodArgsByOperation = new Map();
85
+ const methodNameByOperation = new Map();
86
+ const servicePathByOperation = new Map();
87
+ const crudOperationsById = new Map();
88
+ const rawOperationKeys = new Set();
89
+ // Clear stale output before regenerating (see the same rationale in the previous generator):
90
+ // this directory is 100% generated, and renames/removals between runs would otherwise leave
91
+ // dead files behind. base.service.ts is a static template file copied in separately.
92
+ if (fs_extra_1.default.existsSync(outputPath)) {
93
+ fs_extra_1.default.readdirSync(outputPath).forEach(entry => {
94
+ if (entry === "base.service.ts")
95
+ return;
96
+ fs_extra_1.default.removeSync(path_1.default.join(outputPath, entry));
97
+ });
98
+ }
99
+ const docs = (0, designtime_collector_1.collectDesigntimeDocs)(servicesPath, webappPath);
100
+ docs.forEach(collected => {
101
+ const normalized = (0, doc_normalizer_1.normalizeDoc)(collected.doc, collected.serviceName);
102
+ if (!normalized.operationsByTag.size) {
103
+ return;
104
+ }
105
+ // One types/ folder per SERVICE (not per controller) — the doc's `definitions` block is
106
+ // service-wide, so its interfaces are emitted once and shared by every controller.
107
+ const models = (0, model_emitter_1.buildModels)(collected.doc);
108
+ const serviceDir = collected.isPrefab
109
+ ? path_1.default.join(outputPath, "prefabs", collected.prefabName, collected.serviceName)
110
+ : path_1.default.join(outputPath, collected.serviceName);
111
+ models.files.forEach(file => {
112
+ (0, utils_1.writeFile)(path_1.default.join(serviceDir, "types", `${file.name}.ts`), file.content);
113
+ });
114
+ // services/<serviceId>/X.ts -> ../base.service ; prefabs/<Prefab>/<serviceId>/X.ts -> ../../../base.service
115
+ const basePathImport = collected.isPrefab ? "../../../base.service" : "../base.service";
116
+ const emittedClasses = [];
117
+ normalized.operationsByTag.forEach((operations, tag) => {
118
+ // The service id is the FOLDER now, so a bare `${tag}Service` would suffice for uniqueness
119
+ // on disk — but the class/singleton NAME stays service-qualified (buildServiceClassName),
120
+ // because a single generated *.variables.ts can import singletons from several services at
121
+ // once and two `departmentService` imports would collide there. Keeping this function also
122
+ // keeps variable.transformer.ts's class-name prediction in sync (see Fix 3).
123
+ const className = (0, schema_to_ts_1.buildServiceClassName)(collected.serviceName, tag);
124
+ const instanceName = lowerFirst(className);
125
+ const pathTemplates = operations.map(op => op.pathTemplate);
126
+ const basePath = controllerBasePath(collected.doc, pathTemplates);
127
+ const routePrefix = routePrefixFor(collected, normalized, pathTemplates);
128
+ const docCtx = {
129
+ definitions: normalized.definitions,
130
+ models,
131
+ basePath: normalized.basePath,
132
+ proxyWeb: normalized.proxyWeb,
133
+ isPrefab: collected.isPrefab,
134
+ prefabName: collected.prefabName,
135
+ serviceName: collected.serviceName,
136
+ controllerBasePath: basePath,
137
+ };
138
+ const methods = [];
139
+ const modelImports = new Set();
140
+ operations.forEach(({ pathTemplate, httpMethod, operation, rawOperationId, operationIdAliases }) => {
141
+ var _a;
142
+ const emitted = (0, method_emitter_1.emitMethod)(pathTemplate, httpMethod, operation, docCtx);
143
+ if (!emitted) {
144
+ console.warn(`Skipping an operation on ${collected.serviceName}/${tag} (${httpMethod.toUpperCase()} ${pathTemplate}) — it has no operationId, so no method name can be derived for it.`);
145
+ return;
146
+ }
147
+ methods.push(emitted.methodCode);
148
+ emitted.modelImports.forEach(name => modelImports.add(name));
149
+ // Same raw-id-wins-over-derived-alias registration rule as the previous generator (see
150
+ // Fix 8): an operation's own rawOperationId is its one unambiguous identity and is always
151
+ // registered, while another operation's derived aliases must never overwrite it.
152
+ const importPath = collected.isPrefab
153
+ ? `prefabs/${collected.prefabName}/${collected.serviceName}/${className}`
154
+ : `${collected.serviceName}/${className}`;
155
+ const register = (key) => {
156
+ methodNameByOperation.set(key, emitted.methodName);
157
+ methodArgsByOperation.set(key, emitted.args);
158
+ servicePathByOperation.set(key, importPath);
159
+ };
160
+ // A CRUD group's members are identified by (crudOperationId, operationType) — both
161
+ // recorded on the operation itself, so no separate servicedefs lookup is needed.
162
+ const crudId = operation["x-WM-CRUD_OPERATION_ID"];
163
+ const operationType = operation["x-WM-OPERATION_TYPE"];
164
+ if (crudId && operationType) {
165
+ const group = (_a = crudOperationsById.get(crudId)) !== null && _a !== void 0 ? _a : {};
166
+ group[operationType] = {
167
+ methodName: emitted.methodName,
168
+ importPath,
169
+ args: emitted.args,
170
+ };
171
+ crudOperationsById.set(crudId, group);
172
+ }
173
+ const rawKey = `${collected.serviceName}::${rawOperationId}`;
174
+ register(rawKey);
175
+ rawOperationKeys.add(rawKey);
176
+ operationIdAliases.forEach(alias => {
177
+ if (alias === rawOperationId)
178
+ return;
179
+ const key = `${collected.serviceName}::${alias}`;
180
+ if (rawOperationKeys.has(key))
181
+ return;
182
+ register(key);
183
+ });
184
+ });
185
+ if (!methods.length) {
186
+ return;
187
+ }
188
+ const fileContent = render({
189
+ basePathImport,
190
+ className,
191
+ instanceName,
192
+ methods,
193
+ modelImports: Array.from(modelImports).sort().join(", "),
194
+ basePathLiteral: JSON.stringify(basePath),
195
+ routePrefixLiteral: JSON.stringify(routePrefix),
196
+ });
197
+ (0, utils_1.writeFile)(path_1.default.join(serviceDir, `${className}.ts`), fileContent);
198
+ classNames.add(className);
199
+ emittedClasses.push(className);
200
+ });
201
+ if (emittedClasses.length) {
202
+ const barrel = [
203
+ ...emittedClasses.sort().map(name => `export * from './${name}';`),
204
+ `export * from './types';`,
205
+ ].join("\n");
206
+ (0, utils_1.writeFile)(path_1.default.join(serviceDir, "index.ts"), `/* eslint-disable */\n// Auto-generated barrel. Do not edit manually — regenerated on every build.\n\n${barrel}\n`);
207
+ }
208
+ });
209
+ // Persisted for prefab AppGenerator instances, which never run generation themselves and so
210
+ // have no in-memory access to these maps (see Fix 7/8 and app.generator.ts's loaders).
211
+ fs_extra_1.default.writeJsonSync(path_1.default.join(outputPath, "_methodNames.json"), Object.fromEntries(methodNameByOperation));
212
+ fs_extra_1.default.writeJsonSync(path_1.default.join(outputPath, "_methodArgs.json"), Object.fromEntries(methodArgsByOperation));
213
+ fs_extra_1.default.writeJsonSync(path_1.default.join(outputPath, "_servicePaths.json"), Object.fromEntries(servicePathByOperation));
214
+ fs_extra_1.default.writeJsonSync(path_1.default.join(outputPath, "_crudOperations.json"), Object.fromEntries(crudOperationsById));
215
+ return {
216
+ classNames,
217
+ methodArgsByOperation,
218
+ methodNameByOperation,
219
+ servicePathByOperation,
220
+ crudOperationsById,
221
+ };
222
+ }
223
+ //# sourceMappingURL=service.generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.generator.js","sourceRoot":"","sources":["../../../src/services/service.generator.ts"],"names":[],"mappings":"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"}
@@ -40,6 +40,8 @@ exports.default = {
40
40
  });
41
41
  (0, utils_1.transformRepeatChildAttr)(repeatTemplate, `fragment.Widgets.${widgetName}.currentItemWidgets`, "currentItemWidgets");
42
42
  (0, utils_1.transformRepeatChildData)(repeatTemplate, `fragment.Widgets.${widgetName}.currentItem`, "currentItem");
43
+ (0, utils_1.transformRepeatChildAttr)(repeatTemplate, "fragment.item", "$item");
44
+ (0, utils_1.transformRepeatChildAttr)(repeatTemplate, "fragment.index", "$index");
43
45
  (0, utils_1.transformRepeatChildData)(repeatTemplate, dataSet.substring(5) + "[0]", "list_item", true, widgetName);
44
46
  (0, utils_1.transformRepeatChildData)(repeatTemplate, dataSet.substring(5) + "[$i]", "list_item", true, widgetName);
45
47
  // Get the children content after transformation
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.transformer.js","sourceRoot":"","sources":["../../../../../src/transpile/components/container/tabs.transformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tabs.transformer.js","sourceRoot":"","sources":["../../../../../src/transpile/components/container/tabs.transformer.ts"],"names":[],"mappings":";;;AAEA,+CAQyB;AACzB,oCAA2F;AAE9E,QAAA,OAAO,GAAa;IAC/B,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,uDAAuD,EAAE;CAClF,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE;IACpD,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AACF,kBAAe;IACb,GAAG,EAAE,CAAC,OAAoB,EAAE,OAA6B,EAAE,EAAE;QAC3D,gCAAgC;QAChC,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAC7B,IAAI,IAAA,yBAAa,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,YAAY,EAAE,CAAC;gBACtD,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YACpC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC;QAC3D,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC;QAE1D,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACtD,MAAM,cAAc,GAAG,IAAA,iBAAK,EAC1B,0BAA0B,UAAU,GAAG,MAAM,sBAAsB,CACpE,CAAC,UAAyB,CAAC;YAE5B,0CAA0C;YAC1C,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;YACzC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAoB,EAAE,CAAC,IAAA,yBAAa,EAAC,CAAC,CAAC,CAEpE,CAAC;YACd,MAAM,0BAA0B,GAAG,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,UAAU,MAAK,oBAAoB,CAAC;YAC1F,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,0BAA0B,CAAC,CAAC;YAE1E,IAAI,cAAc,EAAE,CAAC;gBACnB,2CAA2C;gBAC3C,cAAc,CAAC,UAAU,GAAG,QAAQ,CAAC;gBAErC,qEAAqE;gBACrE,IAAA,mBAAW,EAAC,cAA6B,EAAE,YAAY,EAAE,CAAC,CAAc,EAAE,EAAE;oBAC1E,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;gBACzC,CAAC,CAAC,CAAC;gBAEH,IAAA,gCAAwB,EACtB,cAA6B,EAC7B,oBAAoB,UAAU,qBAAqB,EACnD,oBAAoB,CACrB,CAAC;gBACF,IAAA,gCAAwB,EACtB,cAA6B,EAC7B,oBAAoB,UAAU,cAAc,EAC5C,aAAa,CACd,CAAC;gBACF,IAAA,gCAAwB,EAAC,cAA6B,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;gBAClF,IAAA,gCAAwB,EAAC,cAA6B,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;gBACpF,IAAA,gCAAwB,EACtB,cAA6B,EAC7B,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,EAC5B,WAAW,EACX,IAAI,EACJ,UAAU,CACX,CAAC;gBACF,IAAA,gCAAwB,EACtB,cAA6B,EAC7B,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,EAC7B,WAAW,EACX,IAAI,EACJ,UAAU,CACX,CAAC;gBAEF,gDAAgD;gBAChD,cAAc,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;gBAC/C,OAAO,CAAC,UAAU,GAAG,CAAC,cAAc,CAAC,CAAC;gBAEtC,MAAM,aAAa,GAAG,0BAA0B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC9D,OAAO,+BAA+B,IAAA,0BAAc,EAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,uFAAuF,aAAa,EAAE,CAAC;YAC9L,CAAC;QACH,CAAC;QAED,OAAO,+BAA+B,IAAA,0BAAc,EAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC;IAC5E,CAAC;IACD,IAAI,EAAE,CAAC,OAAoB,EAAE,OAA6B,EAAE,EAAE;QAC5D,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;YAC/C,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;YACxE,OAAO,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;QACjD,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,OAAO,EAAE,CAAC,OAAoB,EAAE,OAA6B,EAAE,EAAE,CAAC,eAAO;IACzE,eAAe,EAAE,CAAC,OAAoB,EAAE,OAA6B,EAAE,EAAE;QACvE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC5B,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QACjD,CAAC;QACD,MAAM,eAAe,GAAG,IAAA,2BAAe,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC1D,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;QACnB,OAAO,eAAe,CAAC;IACzB,CAAC;CACa,CAAC"}
@@ -13,12 +13,23 @@ exports.default = {
13
13
  // explicit content wrapper. wm-dialogcontent (mapped to WmDialogBody) and wm-dialogbody
14
14
  // are handled by their own transformers; wrapping them again would nest the explicit
15
15
  // wrapper inside the synthetic body and drop its content.
16
- const hasExplicitBody = element.childNodes.some(e => (0, transpile_1.isHTMLElement)(e) && ["wm-dialogcontent", "wm-dialogbody"].includes(e.tagName.toLowerCase()));
16
+ const hasExplicitBody = element.childNodes.some(e => (0, transpile_1.isHTMLElement)(e) &&
17
+ ["wm-dialogcontent", "wm-dialogbody"].includes(e.tagName.toLowerCase()) &&
18
+ e.childNodes.some(transpile_1.isHTMLElement));
17
19
  if (!hasExplicitBody) {
20
+ const markerIndex = element.childNodes.findIndex(e => (0, transpile_1.isHTMLElement)(e) &&
21
+ ["wm-dialogcontent", "wm-dialogbody"].includes(e.tagName.toLowerCase()));
22
+ const marker = markerIndex >= 0 ? element.childNodes[markerIndex] : null;
23
+ const remainingChildren = markerIndex >= 0
24
+ ? element.childNodes.filter((_, i) => i !== markerIndex)
25
+ : element.childNodes;
18
26
  const content = new node_html_parser_1.HTMLElement("wm-dialogbody", {}, null, element, [0, 41]);
19
27
  content.nodeType = node_html_parser_1.NodeType.ELEMENT_NODE;
20
- const actionsIndex = element.childNodes.findIndex(e => (0, transpile_1.isHTMLElement)(e) && e.tagName.toLowerCase() === "wm-dialogactions");
21
- content.childNodes = element.childNodes;
28
+ if (marker) {
29
+ content.setAttributes(marker.attributes);
30
+ }
31
+ const actionsIndex = remainingChildren.findIndex(e => (0, transpile_1.isHTMLElement)(e) && e.tagName.toLowerCase() === "wm-dialogactions");
32
+ content.childNodes = remainingChildren;
22
33
  element.childNodes = [content];
23
34
  if (actionsIndex >= 0) {
24
35
  const actions = content.childNodes.splice(actionsIndex, 1);
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.transformer.js","sourceRoot":"","sources":["../../../../../src/transpile/components/dialogs/dialog.transformer.ts"],"names":[],"mappings":";;;AAAA,uDAAyD;AAGzD,+CAMyB;AAEZ,QAAA,OAAO,GAAa;IAC/B,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,uDAAuD,EAAE;CACpF,CAAC;AAEF,kBAAe;IACb,GAAG,EAAE,CAAC,OAAoB,EAAE,OAA6B,EAAE,EAAE;QAC3D,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAChD,qFAAqF;QACrF,wFAAwF;QACxF,qFAAqF;QACrF,0DAA0D;QAC1D,MAAM,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAC7C,CAAC,CAAC,EAAE,CACF,IAAA,yBAAa,EAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAC9F,CAAC;QACF,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,OAAO,GAAG,IAAI,8BAAW,CAC7B,eAAe,EACf,EAAmB,EACnB,IAAW,EACX,OAAO,EACP,CAAC,CAAC,EAAE,EAAE,CAAC,CACR,CAAC;YACF,OAAO,CAAC,QAAQ,GAAG,2BAAQ,CAAC,YAAY,CAAC;YACzC,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAC/C,CAAC,CAAC,EAAE,CAAC,IAAA,yBAAa,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,kBAAkB,CACxE,CAAC;YACF,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;YACxC,OAAO,CAAC,UAAU,GAAG,CAAC,OAAO,CAAC,CAAC;YAC/B,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;gBACtB,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;gBAC3D,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QACD,OAAO,iCAAiC,IAAA,0BAAc,EAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC;IAC9E,CAAC;IACD,IAAI,EAAE,CAAC,OAAoB,EAAE,OAA6B,EAAE,EAAE,CAAC,aAAa;IAC5E,OAAO,EAAE,CAAC,OAAoB,EAAE,OAA6B,EAAE,EAAE,CAAC,eAAO;CAC3D,CAAC"}
1
+ {"version":3,"file":"dialog.transformer.js","sourceRoot":"","sources":["../../../../../src/transpile/components/dialogs/dialog.transformer.ts"],"names":[],"mappings":";;;AAAA,uDAAyD;AAGzD,+CAMyB;AAEZ,QAAA,OAAO,GAAa;IAC/B,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,uDAAuD,EAAE;CACpF,CAAC;AAEF,kBAAe;IACb,GAAG,EAAE,CAAC,OAAoB,EAAE,OAA6B,EAAE,EAAE;QAC3D,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAChD,qFAAqF;QACrF,wFAAwF;QACxF,qFAAqF;QACrF,0DAA0D;QAC1D,MAAM,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAC7C,CAAC,CAAC,EAAE,CACF,IAAA,yBAAa,EAAC,CAAC,CAAC;YAChB,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACvE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,yBAAa,CAAC,CACnC,CAAC;QACF,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAC9C,CAAC,CAAC,EAAE,CACF,IAAA,yBAAa,EAAC,CAAC,CAAC;gBAChB,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAC1E,CAAC;YACF,MAAM,MAAM,GAAG,WAAW,IAAI,CAAC,CAAC,CAAC,CAAE,OAAO,CAAC,UAAU,CAAC,WAAW,CAAiB,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1F,MAAM,iBAAiB,GACrB,WAAW,IAAI,CAAC;gBACd,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,WAAW,CAAC;gBACxD,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;YAEzB,MAAM,OAAO,GAAG,IAAI,8BAAW,CAC7B,eAAe,EACf,EAAmB,EACnB,IAAW,EACX,OAAO,EACP,CAAC,CAAC,EAAE,EAAE,CAAC,CACR,CAAC;YACF,OAAO,CAAC,QAAQ,GAAG,2BAAQ,CAAC,YAAY,CAAC;YACzC,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC3C,CAAC;YACD,MAAM,YAAY,GAAG,iBAAiB,CAAC,SAAS,CAC9C,CAAC,CAAC,EAAE,CAAC,IAAA,yBAAa,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,kBAAkB,CACxE,CAAC;YACF,OAAO,CAAC,UAAU,GAAG,iBAAiB,CAAC;YACvC,OAAO,CAAC,UAAU,GAAG,CAAC,OAAO,CAAC,CAAC;YAC/B,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;gBACtB,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;gBAC3D,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QACD,OAAO,iCAAiC,IAAA,0BAAc,EAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC;IAC9E,CAAC;IACD,IAAI,EAAE,CAAC,OAAoB,EAAE,OAA6B,EAAE,EAAE,CAAC,aAAa;IAC5E,OAAO,EAAE,CAAC,OAAoB,EAAE,OAA6B,EAAE,EAAE,CAAC,eAAO;CAC3D,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VARIABLES_TEMPLATE_SOURCE = void 0;
4
- /** Auto-generated from templates/variables.template — run: node scripts/embed-templates.js */
5
- exports.VARIABLES_TEMPLATE_SOURCE = "import React from 'react';\nimport { ModelVariable } from '@wavemaker-ai/react-runtime/variables/model-variable';\nimport { ServiceVariable } from '@wavemaker-ai/react-runtime/variables/service-variable';\nimport { NavigationAction } from '@wavemaker-ai/react-runtime/actions/navigation-action';\nimport {TimerAction} from '@wavemaker-ai/react-runtime/actions/timer-action'\nimport {NotificationAction} from '@wavemaker-ai/react-runtime/actions/notification-action'\nimport { LoginAction } from '@wavemaker-ai/react-runtime/actions/login-action';\nimport { LogoutAction } from '@wavemaker-ai/react-runtime/actions/logout-action';\nimport LiveVariable from '@wavemaker-ai/react-runtime/variables/live-variable';\nimport CrudVariable from \"@wavemaker-ai/react-runtime/variables/crud-variable\"\nimport {\n getEntityPropertyMap,\n getEntityRelatedTables,\n} from '@/libs/metadata/entities/entity-provider';\n{{#each imports}}\n{{{this}}};\n{{/each}}\n\nexport default ({{scope}}:any) => {\n return {\n {{#each context}}\n {{@key}} : {\n {{#each this}}\n {{{quoteKeyIfHyphen name}}}: new ({{classname}} as any)({\n name: '{{name}}',\n _context: {{../../scope}},\n {{#ifNotEmpty serviceType this}}\n serviceType: '{{serviceType}}',\n {{/ifNotEmpty}}\n {{#ifNotEmpty operation this}}\n operation: {{{stringify operation}}},\n {{/ifNotEmpty}}\n {{#ifNotEmpty service this}}\n service: {{{stringify service}}},\n {{/ifNotEmpty}}\n {{#ifNotEmpty maxResults this}}\n maxResults: '{{maxResults}}',\n {{/ifNotEmpty}}\n {{#ifNotEmpty operationId this}}\n operationId: '{{operationId}}',\n {{/ifNotEmpty}}\n {{#ifNotEmpty operationType this}}\n operationType: '{{operationType}}',\n {{/ifNotEmpty}}\n {{#ifNotEmpty controller this}}\n controller: '{{controller}}',\n {{/ifNotEmpty}}\n {{#ifEquals name 'loggedInUser' this}}\n paramProvider: () => App.appConfig.loggedInUser,\n {{else}}\n paramProvider: () => (\n {{#ifEquals classname 'ModelVariable' this}}\n {{{stringifyModelParams params ../../scope}}}\n {{else}}\n {{#ifEquals classname 'ServiceVariable' this}}\n {{{stringify params}}}\n {{else}}\n {{#ifEquals classname 'LiveVariable' this}}\n {{{stringify params}}}\n {{else}}\n {\n {{#each params}}\n '{{@key}}': {{{quoteIfString this}}},\n {{/each}}\n }\n {{/ifEquals}}\n {{/ifEquals}}\n {{/ifEquals}}\n ),\n {{/ifEquals}}\n {{#ifNotEmpty filters this}}\n filterProvider: () => (\n {\n {{#each filters}}\n '{{@key}}': {{{quoteIfString this}}},\n {{/each}}\n }\n ),\n {{/ifNotEmpty}}\n {{#ifEquals classname 'ServiceVariable' this}}\n {{#if ../../isPrefabApp}}\n baseUrl: {{../../scope}}.baseUrl,\n {{else}}\n {{#if ../../isPrefabScope}}\n baseUrl: {{../../scope}}.baseUrl + '/prefabs/' + {{../../scope}}.prefabname,\n {{else}}\n baseUrl: {{../../scope}}.baseUrl + '/services',\n {{/if}}\n {{/if}}\n {{/ifEquals}}\n {{#ifEquals classname 'NavigationAction' this}}\n appConfig: {{../../scope}}.appConfig,\n {{/ifEquals}}\n {{#ifEquals classname 'LoginAction' this}}\n baseURL: {{../../scope}}.appConfig.url,\n securityService: () => {{../../scope}}.appConfig.SecurityService,\n useDefaultSuccessHandler: {{useDefaultSuccessHandler}},\n {{/ifEquals}}\n {{#ifEquals classname 'LogoutAction' this}}\n baseURL: {{../../scope}}.appConfig.url,\n redirectTo: '{{redirectTo}}',\n useDefaultSuccessHandler: {{useDefaultSuccessHandler}},\n securityService: () => {{../../scope}}.appConfig.SecurityService,\n {{/ifEquals}}\n {{#ifEquals classname 'TimerAction' this}}\n repeating: {{{stringify repeating}}},\n delay: {{{stringify delay}}},\n {{#if onTimerFire}}\n onSuccess: (variable, data, options) => {\n {{{onTimerFire}}}\n },\n {{/if}}\n {{/ifEquals}}\n {{#ifEquals classname 'NotificationAction' this}}\n {{#if showDialog}}\n showDialog: (options) => {\n {{{showDialog}}}\n },\n {{/if}}\n {{#if partialContent}}\n partialContent: {\n component: {{{partialContent.component}}}\n },\n {{/if}}\n onOk: (variable, data, options) => {\n {{{onOk}}}\n },\n {{#ifEquals operation 'confirm' this}}\n onCancel: (variable, data, options) => {\n {{{onCancel}}}\n },\n {{/ifEquals}}\n {{#ifEquals operation 'toast' this}}\n toasterService: () => {{../../scope}}.toaster,\n {{/ifEquals}}\n onClose: (variable, data, options) => {\n {{{onClose}}}\n },\n {{/ifEquals}}\n {{#ifEquals classname 'ServiceVariable' this}}\n getServiceInfo: () => {{../../scope}}.serviceDefinitions['{{operationId}}']?.wmServiceOperationInfo,\n orderBy: '{{orderBy}}',\n isStaticParams: {{{stringify isStaticParams}}},\n {{#if onBeforeUpdate}}\n onBeforeUpdate: (variable, inputData, options) => {\n return {{{onBeforeUpdate}}}\n },\n {{/if}}\n {{/ifEquals}}\n {{#if onSuccess}}\n onSuccess: (variable, data, options) => {\n {{{onSuccess}}}\n },\n {{/if}}\n {{#if onError}}\n onError: (variable, data, options) => {\n {{{onError}}}\n },\n {{/if}}\n {{#if onCanUpdate}}\n onCanUpdate: (variable, data, options) => {\n {{{onCanUpdate}}}\n },\n {{/if}}\n {{#if onResult}}\n onResult: (variable, data, options) => {\n {{{onResult}}}\n },\n {{/if}}\n {{#if onBeforeDatasetReady}}\n onBeforeDatasetReady: (variable, data, options) => {\n return {{{onBeforeDatasetReady}}}\n },\n {{/if}}\n {{#if onOnline}}\n onOnline: (variable, data, options) => {\n return {{{onOnline}}}\n },\n {{/if}}\n {{#if onOffline}}\n onOffline: (variable, data, options) => {\n return {{{onOffline}}}\n },\n {{/if}}\n {{#if inFlightBehavior}}\n inFlightBehavior: {{{stringify inFlightBehavior}}},\n {{/if}}\n {{#ifEquals isList true this}}\n isList: {{isList}},\n {{/ifEquals}}\n {{#ifEquals twoWayBinding true this}}\n twoWayBinding: {{twoWayBinding}},\n {{/ifEquals}}\n {{#if spinnerContext}}\n spinnerContext: '{{spinnerContext}}',\n {{/if}}\n {{#if spinnerMessage}}\n spinnerMessage: '{{spinnerMessage}}',\n {{/if}}\n {{#ifEquals classname 'CrudVariable' this}}\n isStaticParams: {{{stringify isStaticParams}}},\n saveInPhonegap: {{saveInPhonegap}},\n crudOperationId: '{{crudOperationId}}',\n transformationRequired: {{transformationRequired}},\n {{#if ../../isPrefabScope}}\n baseUrl: {{../../scope}}.baseUrl + '/prefabs/' + {{../../scope}}.prefabname,\n {{else}}\n baseUrl: {{../../scope}}.baseUrl,\n {{/if}}\n {{#if dataBinding}}\n dataBinding: {{{dataBinding}}},\n {{/if}}\n {{/ifEquals}}\n {{#ifEquals classname 'LiveVariable' this}}\n isStaticParams: {{{stringify isStaticParams}}},\n type: '{{type}}',\n {{#ifEquals autoUpdate true this}}\n autoUpdate: {{autoUpdate}},\n {{/ifEquals}}\n {{#if onBeforeUpdate}}\n {{#ifEquals operation \"read\" this}}\n onBeforeUpdate: (variable, dataFilter, options) => {\n return {{{onBeforeUpdate}}}\n },\n {{else}}\n onBeforeUpdate: (variable, inputData, options) => {\n return {{{onBeforeUpdate}}}\n },\n {{/ifEquals}}\n {{/if}}\n liveSource: '{{liveSource}}',\n baseUrl: {{../../scope}}.baseUrl,\n orderBy: '{{orderBy}}',\n propertiesMap: getEntityPropertyMap('{{liveSource}}', '{{type}}'),\n relatedTables: getEntityRelatedTables('{{liveSource}}', '{{type}}'),\n category: '{{category}}',\n tableName: '{{tableName}}',\n tableType: '{{tableType}}',\n {{#if _id}}\n _id: '{{_id}}',\n {{/if}}\n {{#ifNotEmpty filterExpressions this}}\n filterExpressions: {{{stringify filterExpressions}}}\n {{/ifNotEmpty}}\n {{/ifEquals}}\n\n }),\n {{/each}}\n },\n {{/each}}\n };\n};\n";
4
+ /** Auto-generated from templates/variables.template — run: node scripts/embed-variables-template.js */
5
+ exports.VARIABLES_TEMPLATE_SOURCE = "import React from 'react';\nimport { ModelVariable } from '@wavemaker-ai/react-runtime/variables/model-variable';\nimport { ServiceVariable } from '@wavemaker-ai/react-runtime/variables/service-variable';\nimport { NavigationAction } from '@wavemaker-ai/react-runtime/actions/navigation-action';\nimport {TimerAction} from '@wavemaker-ai/react-runtime/actions/timer-action'\nimport {NotificationAction} from '@wavemaker-ai/react-runtime/actions/notification-action'\nimport { LoginAction } from '@wavemaker-ai/react-runtime/actions/login-action';\nimport { LogoutAction } from '@wavemaker-ai/react-runtime/actions/logout-action';\nimport LiveVariable from '@wavemaker-ai/react-runtime/variables/live-variable';\nimport CrudVariable from \"@wavemaker-ai/react-runtime/variables/crud-variable\"\nimport {\n getEntityPropertyMap,\n getEntityRelatedTables,\n} from '@/libs/metadata/entities/entity-provider';\n{{#each imports}}\n{{{this}}};\n{{/each}}\n{{#each context}}\n{{#each this}}\n{{#ifEqualsAny classname (array 'ServiceVariable' 'LiveVariable') this}}\n{{#if hasInvokeHttp}}\n{{#onlyUniqueEntries this}}\nimport { {{#if serviceExportName}}{{serviceExportName}} as {{/if}}{{serviceInstanceName}} } from '@/services/{{#if serviceImportPath}}{{serviceImportPath}}{{else}}{{#if ../../isPrefabApp}}prefabs/{{../../prefabName}}/{{/if}}{{#if service}}{{service}}/{{/if}}{{serviceFileClass}}{{/if}}';\n{{/onlyUniqueEntries}}\n{{/if}}\n{{/ifEqualsAny}}\n{{#each crudTargets}}\n{{#onlyUniqueEntries this}}\nimport { {{serviceExportName}} as {{serviceInstanceName}} } from '@/services/{{importPath}}';\n{{/onlyUniqueEntries}}\n{{/each}}\n{{/each}}\n{{/each}}\n\n\nexport default ({{scope}}:any) => {\n return {\n {{#each context}}\n {{@key}} : {\n {{#each this}}\n {{{quoteKeyIfHyphen name}}}: new ({{classname}} as any)({\n name: '{{name}}',\n _context: {{../../scope}},\n {{#ifNotEmpty serviceType this}}\n serviceType: '{{serviceType}}',\n {{/ifNotEmpty}}\n {{#ifNotEmpty operation this}}\n operation: {{{stringify operation}}},\n {{/ifNotEmpty}}\n {{#ifNotEmpty service this}}\n service: {{{stringify service}}},\n {{/ifNotEmpty}}\n {{#ifNotEmpty maxResults this}}\n maxResults: '{{maxResults}}',\n {{/ifNotEmpty}}\n {{#ifNotEmpty operationId this}}\n operationId: '{{operationId}}',\n {{/ifNotEmpty}}\n {{#ifNotEmpty operationType this}}\n operationType: '{{operationType}}',\n {{/ifNotEmpty}}\n {{#ifNotEmpty controller this}}\n controller: '{{controller}}',\n {{/ifNotEmpty}}\n {{#ifEquals name 'loggedInUser' this}}\n paramProvider: () => App.appConfig.loggedInUser,\n {{else}}\n paramProvider: () => (\n {{#ifEquals classname 'ModelVariable' this}}\n {{{stringifyModelParams params ../../scope}}}\n {{else}}\n {{#ifEquals classname 'ServiceVariable' this}}\n {{{stringify params}}}\n {{else}}\n {{#ifEquals classname 'LiveVariable' this}}\n {{{stringify params}}}\n {{else}}\n {\n {{#each params}}\n '{{@key}}': {{{quoteIfString this}}},\n {{/each}}\n }\n {{/ifEquals}}\n {{/ifEquals}}\n {{/ifEquals}}\n ),\n {{/ifEquals}}\n {{#ifNotEmpty filters this}}\n filterProvider: () => (\n {\n {{#each filters}}\n '{{@key}}': {{{quoteIfString this}}},\n {{/each}}\n }\n ),\n {{/ifNotEmpty}}\n {{#ifEquals classname 'ServiceVariable' this}}\n {{#if ../../isPrefabApp}}\n baseUrl: {{../../scope}}.baseUrl,\n {{else}}\n {{#if ../../isPrefabScope}}\n baseUrl: {{../../scope}}.baseUrl + '/prefabs/' + {{../../scope}}.prefabname,\n {{else}}\n baseUrl: {{../../scope}}.baseUrl + '/services',\n {{/if}}\n {{/if}}\n {{/ifEquals}}\n {{#ifEquals classname 'NavigationAction' this}}\n appConfig: {{../../scope}}.appConfig,\n {{/ifEquals}}\n {{#ifEquals classname 'LoginAction' this}}\n baseURL: {{../../scope}}.appConfig.url,\n securityService: () => {{../../scope}}.appConfig.SecurityService,\n useDefaultSuccessHandler: {{useDefaultSuccessHandler}},\n {{/ifEquals}}\n {{#ifEquals classname 'LogoutAction' this}}\n baseURL: {{../../scope}}.appConfig.url,\n redirectTo: '{{redirectTo}}',\n useDefaultSuccessHandler: {{useDefaultSuccessHandler}},\n securityService: () => {{../../scope}}.appConfig.SecurityService,\n {{/ifEquals}}\n {{#ifEquals classname 'TimerAction' this}}\n repeating: {{{stringify repeating}}},\n delay: {{{stringify delay}}},\n {{#if onTimerFire}}\n onSuccess: (variable, data, options) => {\n {{{onTimerFire}}}\n },\n {{/if}}\n {{/ifEquals}}\n {{#ifEquals classname 'NotificationAction' this}}\n {{#if showDialog}}\n showDialog: (options) => {\n {{{showDialog}}}\n },\n {{/if}}\n {{#if partialContent}}\n partialContent: {\n component: {{{partialContent.component}}}\n },\n {{/if}}\n onOk: (variable, data, options) => {\n {{{onOk}}}\n },\n {{#ifEquals operation 'confirm' this}}\n onCancel: (variable, data, options) => {\n {{{onCancel}}}\n },\n {{/ifEquals}}\n {{#ifEquals operation 'toast' this}}\n toasterService: () => {{../../scope}}.toaster,\n {{/ifEquals}}\n onClose: (variable, data, options) => {\n {{{onClose}}}\n },\n {{/ifEquals}}\n {{#ifEquals classname 'ServiceVariable' this}}\n getServiceInfo: () => {{../../scope}}.serviceDefinitions['{{operationId}}']?.wmServiceOperationInfo,\n orderBy: '{{orderBy}}',\n isStaticParams: {{{stringify isStaticParams}}},\n {{#if onBeforeUpdate}}\n onBeforeUpdate: (variable, inputData, options) => {\n return {{{onBeforeUpdate}}}\n },\n {{/if}}\n {{/ifEquals}}\n {{#if onSuccess}}\n onSuccess: (variable, data, options) => {\n {{{onSuccess}}}\n },\n {{/if}}\n {{#if onError}}\n onError: (variable, data, options) => {\n {{{onError}}}\n },\n {{/if}}\n {{#if onCanUpdate}}\n onCanUpdate: (variable, data, options) => {\n {{{onCanUpdate}}}\n },\n {{/if}}\n {{#if onResult}}\n onResult: (variable, data, options) => {\n {{{onResult}}}\n },\n {{/if}}\n {{#if onBeforeDatasetReady}}\n onBeforeDatasetReady: (variable, data, options) => {\n return {{{onBeforeDatasetReady}}}\n },\n {{/if}}\n {{#if onOnline}}\n onOnline: (variable, data, options) => {\n return {{{onOnline}}}\n },\n {{/if}}\n {{#if onOffline}}\n onOffline: (variable, data, options) => {\n return {{{onOffline}}}\n },\n {{/if}}\n {{#if inFlightBehavior}}\n inFlightBehavior: {{{stringify inFlightBehavior}}},\n {{/if}}\n {{#ifEquals isList true this}}\n isList: {{isList}},\n {{/ifEquals}}\n {{#ifEquals twoWayBinding true this}}\n twoWayBinding: {{twoWayBinding}},\n {{/ifEquals}}\n {{#if spinnerContext}}\n spinnerContext: '{{spinnerContext}}',\n {{/if}}\n {{#if spinnerMessage}}\n spinnerMessage: '{{spinnerMessage}}',\n {{/if}}\n {{#ifEquals classname 'CrudVariable' this}}\n isStaticParams: {{{stringify isStaticParams}}},\n saveInPhonegap: {{saveInPhonegap}},\n crudOperationId: '{{crudOperationId}}',\n {{#if _id}}\n _id: '{{_id}}',\n {{/if}}\n transformationRequired: {{transformationRequired}},\n {{#if ../../isPrefabScope}}\n baseUrl: {{../../scope}}.baseUrl + '/prefabs/' + {{../../scope}}.prefabname,\n {{else}}\n baseUrl: {{../../scope}}.baseUrl,\n {{/if}}\n {{#if dataBinding}}\n dataBinding: {{{dataBinding}}},\n {{/if}}\n {{/ifEquals}}\n {{#ifEquals classname 'LiveVariable' this}}\n isStaticParams: {{{stringify isStaticParams}}},\n type: '{{type}}',\n {{#ifEquals autoUpdate true this}}\n autoUpdate: {{autoUpdate}},\n {{/ifEquals}}\n {{#if onBeforeUpdate}}\n {{#ifEquals operation \"read\" this}}\n onBeforeUpdate: (variable, dataFilter, options) => {\n return {{{onBeforeUpdate}}}\n },\n {{else}}\n onBeforeUpdate: (variable, inputData, options) => {\n return {{{onBeforeUpdate}}}\n },\n {{/ifEquals}}\n {{/if}}\n liveSource: '{{liveSource}}',\n baseUrl: {{../../scope}}.baseUrl,\n orderBy: '{{orderBy}}',\n propertiesMap: getEntityPropertyMap('{{liveSource}}', '{{type}}'),\n relatedTables: getEntityRelatedTables('{{liveSource}}', '{{type}}'),\n category: '{{category}}',\n tableName: '{{tableName}}',\n tableType: '{{tableType}}',\n {{#if _id}}\n _id: '{{_id}}',\n {{/if}}\n {{#ifNotEmpty filterExpressions this}}\n filterExpressions: {{{stringify filterExpressions}}},\n {{/ifNotEmpty}}\n {{/ifEquals}}\n\n {{#if crudTargets}}\n invokeHttp: async (...args: any) => {\n // The runtime passes the CRUD operation this call is for as the 3rd argument\n // (see useHttp's send()); a CrudVariable names a GROUP, not one operation.\n const [requestParams, params, invokedOperation] = args;\n const operation = invokedOperation ?? '{{operationType}}';\n switch (operation) {\n {{#each crudTargets}}\n case '{{operationType}}':\n return await {{serviceInstanceName}}.{{invokeFnName}}({{#each callArgs}}{{{this}}}, {{/each}}requestParams);\n {{/each}}\n default:\n throw new Error(\n `CrudVariable '{{name}}' has no generated operation for '${operation}' ` +\n `(available: {{#each crudTargets}}{{operationType}} {{/each}})`\n );\n }\n },\n {{/if}}\n {{#ifEqualsAny classname (array 'ServiceVariable' 'LiveVariable') this}}\n {{#if hasInvokeHttp}}\n {{#if liveTargets}}\n invokeHttp: async (...args: any) => {\n // `operation` on this variable is only the DEFAULT. Every LiveVariable carries\n // all four record methods, and a table bound to it as `datasource` asks it for\n // whichever the user performed — the manager names it in params.operation.\n const [requestParams, params] = args;\n switch (params?.operation) {\n {{#each liveTargets}}\n case '{{action}}':\n return await {{../serviceInstanceName}}.{{invokeFnName}}({{#if hasResolvedCallArgs}}{{#each callArgs}}{{{this}}}, {{/each}}{{else}}params, {{/if}}requestParams);\n {{/each}}\n default:\n throw new Error(\n `LiveVariable '{{name}}' has no generated method for DB operation ` +\n `'${params?.operation}' ` +\n `(available: {{#each liveTargets}}{{action}} {{/each}})`\n );\n }\n },\n {{else}}\n invokeHttp: async (...args: any) => {\n const [requestParams, params] = args;\n return await {{serviceInstanceName}}.{{invokeFnName}}({{#if hasResolvedCallArgs}}{{#each callArgs}}{{{this}}}, {{/each}}{{else}}params, {{/if}}requestParams);\n },\n {{/if}}\n {{/if}}\n {{/ifEqualsAny}}\n\n }),\n {{/each}}\n },\n {{/each}}\n };\n};\n";
6
6
  //# sourceMappingURL=variables-template-source.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"variables-template-source.js","sourceRoot":"","sources":["../../../src/transpile/variables-template-source.ts"],"names":[],"mappings":";;;AAAA,8FAA8F;AACjF,QAAA,yBAAyB,GACpC,orVAA6rV,CAAC"}
1
+ {"version":3,"file":"variables-template-source.js","sourceRoot":"","sources":["../../../src/transpile/variables-template-source.ts"],"names":[],"mappings":";;;AAAA,uGAAuG;AAC1F,QAAA,yBAAyB,GACpC,ovcAA6vc,CAAC"}
@@ -505,14 +505,18 @@ const removeLeadingCssBlockComments = (rule) => {
505
505
  }
506
506
  return { prefix, rest: rule.slice(idx) };
507
507
  };
508
+ // Enhance CSS selector handling by adding support for custom tag selectors and refactoring scopeSingleSelector function
509
+ const CUSTOM_TAG_SELECTOR_PATTERN = /(^|[\s>+~,(])([a-zA-Z][a-zA-Z0-9]*-[a-zA-Z0-9-]*)/g;
510
+ const convertCustomTagSelectorsToClasses = (sel) => sel.replace(CUSTOM_TAG_SELECTOR_PATTERN, (_match, boundary, tag) => `${boundary}.${tag}`);
508
511
  const scopeSingleSelector = (selector, scopeClass) => {
509
- const sel = selector.trim();
510
- if (!sel) {
511
- return sel;
512
+ const trimmed = selector.trim();
513
+ if (!trimmed) {
514
+ return trimmed;
512
515
  }
513
- if (sel.startsWith(":")) {
514
- return sel;
516
+ if (trimmed.startsWith(":")) {
517
+ return trimmed;
515
518
  }
519
+ const sel = convertCustomTagSelectorsToClasses(trimmed);
516
520
  const wmAppIndex = sel.search(/\.wm-app\b/);
517
521
  if (wmAppIndex !== -1) {
518
522
  if (sel.includes(`.${scopeClass}`)) {