@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.
- package/command.js +52 -7
- package/command.js.map +1 -1
- package/dist/transpiler/index.d.mts +42 -1
- package/dist/transpiler/index.mjs +452 -18
- package/dist/transpiler/index.mjs.map +1 -1
- package/dist/transpiler/wm-styles.css +7 -0
- package/index.js +7 -0
- package/index.js.map +1 -1
- package/package-lock.json +100 -100
- package/package.json +1 -1
- package/src/app.generator.js +223 -35
- package/src/app.generator.js.map +1 -1
- package/src/handlebar-helpers.js +32 -0
- package/src/handlebar-helpers.js.map +1 -1
- package/src/increment-builder.js +32 -2
- package/src/increment-builder.js.map +1 -1
- package/src/profiles/profile.js +2 -0
- package/src/profiles/profile.js.map +1 -1
- package/src/profiles/web-preview.profile.js +4 -0
- package/src/profiles/web-preview.profile.js.map +1 -1
- package/src/services/designtime-collector.js +235 -0
- package/src/services/designtime-collector.js.map +1 -0
- package/src/services/doc-normalizer.js +185 -0
- package/src/services/doc-normalizer.js.map +1 -0
- package/src/services/method-emitter.js +367 -0
- package/src/services/method-emitter.js.map +1 -0
- package/src/services/model-emitter.js +281 -0
- package/src/services/model-emitter.js.map +1 -0
- package/src/services/schema-to-ts.js +50 -0
- package/src/services/schema-to-ts.js.map +1 -0
- package/src/services/service.generator.js +223 -0
- package/src/services/service.generator.js.map +1 -0
- package/src/transpile/components/container/tabs.transformer.js +2 -0
- package/src/transpile/components/container/tabs.transformer.js.map +1 -1
- package/src/transpile/components/dialogs/dialog.transformer.js +14 -3
- package/src/transpile/components/dialogs/dialog.transformer.js.map +1 -1
- package/src/transpile/variables-template-source.js +2 -2
- package/src/transpile/variables-template-source.js.map +1 -1
- package/src/utils.browser.js +9 -5
- package/src/utils.browser.js.map +1 -1
- package/src/variables/variable.transformer.js +623 -12
- package/src/variables/variable.transformer.js.map +1 -1
- package/templates/project/app/client.layout.tsx +7 -7
- package/templates/project/app/components.css +7 -0
- package/templates/project/package.json +6 -5
- package/templates/project/services/base.service.ts +361 -0
- package/templates/service/service-class.hbs +19 -0
- 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":";;;;;AAgHA,4CAkLC;AAlSD,wDAA0B;AAC1B,gDAAwB;AACxB,4DAAoC;AAEpC,iEAA+D;AAC/D,qDAAgD;AAChD,mDAA8C;AAC9C,qDAAyE;AACzE,iDAAuD;AACvD,oCAAqC;AAErC,MAAM,qBAAqB,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,2CAA2C,CAAC,CAAC;AAEhG,SAAS,mBAAmB;IAC1B,OAAO,oBAAU,CAAC,OAAO,CAAC,kBAAE,CAAC,YAAY,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AA+BD;;;;;GAKG;AACH,SAAS,cAAc,CACrB,SAA0E,EAC1E,UAAmD,EACnD,aAAuB;IAEvB,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;IAEnF,0EAA0E;IAC1E,gGAAgG;IAChG,8FAA8F;IAC9F,6FAA6F;IAC7F,yFAAyF;IACzF,mCAAmC;IACnC,MAAM,mBAAmB,GAAG,CAAC,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACvE,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;IAC5C,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC;IAC7F,OAAO,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,OAAO,EAAE,CAAC;AACrD,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,GAAQ,EAAE,aAAuB;;IAC3D,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,MAAA,MAAA,GAAG,CAAC,KAAK,0CAAG,QAAQ,CAAC,0CAAG,gBAAgB,CAAC,CAAC;QAC3D,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAC7C,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IACD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,0FAA0F;QAC1F,qEAAqE;QACrE,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,MAAM;QACjC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;YAAE,MAAM;QACvD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,OAAO,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAClC,CAAC;AAED,SAAgB,gBAAgB,CAC9B,YAAoB,EACpB,UAAkB,EAClB,UAAU,GAAG,EAAE;IAEf,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;IACrC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC7D,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxD,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzD,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA+C,CAAC;IAClF,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IAE3C,6FAA6F;IAC7F,4FAA4F;IAC5F,qFAAqF;IACrF,IAAI,kBAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,kBAAE,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACzC,IAAI,KAAK,KAAK,iBAAiB;gBAAE,OAAO;YACxC,kBAAE,CAAC,UAAU,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,IAAI,GAAG,IAAA,4CAAqB,EAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAE7D,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QACvB,MAAM,UAAU,GAAG,IAAA,6BAAY,EAAC,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;QACtE,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;YACrC,OAAO;QACT,CAAC;QAED,wFAAwF;QACxF,mFAAmF;QACnF,MAAM,MAAM,GAAG,IAAA,2BAAW,EAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ;YACnC,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,UAAW,EAAE,SAAS,CAAC,WAAW,CAAC;YAChF,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;QACjD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC1B,IAAA,iBAAS,EAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;QAEH,4GAA4G;QAC5G,MAAM,cAAc,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,iBAAiB,CAAC;QAExF,MAAM,cAAc,GAAa,EAAE,CAAC;QAEpC,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,GAAG,EAAE,EAAE;YACrD,2FAA2F;YAC3F,0FAA0F;YAC1F,2FAA2F;YAC3F,2FAA2F;YAC3F,6EAA6E;YAC7E,MAAM,SAAS,GAAG,IAAA,oCAAqB,EAAC,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YACpE,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;YAC3C,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;YAC5D,MAAM,QAAQ,GAAG,kBAAkB,CAAC,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;YAClE,MAAM,WAAW,GAAG,cAAc,CAAC,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;YAEzE,MAAM,MAAM,GAAmB;gBAC7B,WAAW,EAAE,UAAU,CAAC,WAAW;gBACnC,MAAM;gBACN,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,QAAQ,EAAE,SAAS,CAAC,QAAQ;gBAC5B,UAAU,EAAE,SAAS,CAAC,UAAU;gBAChC,WAAW,EAAE,SAAS,CAAC,WAAW;gBAClC,kBAAkB,EAAE,QAAQ;aAC7B,CAAC;YAEF,MAAM,OAAO,GAAa,EAAE,CAAC;YAC7B,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;YAEvC,UAAU,CAAC,OAAO,CAChB,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,EAAE;;gBAC9E,MAAM,OAAO,GAAG,IAAA,2BAAU,EAAC,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;gBACxE,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,CAAC,IAAI,CACV,4BAA4B,SAAS,CAAC,WAAW,IAAI,GAAG,KAAK,UAAU,CAAC,WAAW,EAAE,IAAI,YAAY,qEAAqE,CAC3K,CAAC;oBACF,OAAO;gBACT,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBACjC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;gBAE7D,uFAAuF;gBACvF,0FAA0F;gBAC1F,iFAAiF;gBACjF,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ;oBACnC,CAAC,CAAC,WAAW,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,WAAW,IAAI,SAAS,EAAE;oBACzE,CAAC,CAAC,GAAG,SAAS,CAAC,WAAW,IAAI,SAAS,EAAE,CAAC;gBAC5C,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,EAAE;oBAC/B,qBAAqB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;oBACnD,qBAAqB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC7C,sBAAsB,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;gBAC9C,CAAC,CAAC;gBACF,mFAAmF;gBACnF,iFAAiF;gBACjF,MAAM,MAAM,GAAG,SAAS,CAAC,wBAAwB,CAAC,CAAC;gBACnD,MAAM,aAAa,GAAG,SAAS,CAAC,qBAAqB,CAAC,CAAC;gBACvD,IAAI,MAAM,IAAI,aAAa,EAAE,CAAC;oBAC5B,MAAM,KAAK,GAAG,MAAA,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,mCAAI,EAAE,CAAC;oBACnD,KAAK,CAAC,aAAa,CAAC,GAAG;wBACrB,UAAU,EAAE,OAAO,CAAC,UAAU;wBAC9B,UAAU;wBACV,IAAI,EAAE,OAAO,CAAC,IAAI;qBACnB,CAAC;oBACF,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBACxC,CAAC;gBAED,MAAM,MAAM,GAAG,GAAG,SAAS,CAAC,WAAW,KAAK,cAAc,EAAE,CAAC;gBAC7D,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACjB,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC7B,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBACjC,IAAI,KAAK,KAAK,cAAc;wBAAE,OAAO;oBACrC,MAAM,GAAG,GAAG,GAAG,SAAS,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;oBACjD,IAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC;wBAAE,OAAO;oBACtC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAChB,CAAC,CAAC,CAAC;YACL,CAAC,CACF,CAAC;YAEF,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACpB,OAAO;YACT,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,CAAC;gBACzB,cAAc;gBACd,SAAS;gBACT,YAAY;gBACZ,OAAO;gBACP,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;gBACxD,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;gBACzC,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;aAChD,CAAC,CAAC;YACH,IAAA,iBAAS,EAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,SAAS,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC;YACjE,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC1B,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG;gBACb,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,oBAAoB,IAAI,IAAI,CAAC;gBAClE,0BAA0B;aAC3B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,IAAA,iBAAS,EACP,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,EACjC,yGAAyG,MAAM,IAAI,CACpH,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,4FAA4F;IAC5F,uFAAuF;IACvF,kBAAE,CAAC,aAAa,CACd,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC,EAC1C,MAAM,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAC1C,CAAC;IACF,kBAAE,CAAC,aAAa,CACd,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,EACzC,MAAM,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAC1C,CAAC;IACF,kBAAE,CAAC,aAAa,CACd,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,oBAAoB,CAAC,EAC3C,MAAM,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAC3C,CAAC;IAEF,kBAAE,CAAC,aAAa,CACd,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,sBAAsB,CAAC,EAC7C,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,CACvC,CAAC;IAEF,OAAO;QACL,UAAU;QACV,qBAAqB;QACrB,qBAAqB;QACrB,sBAAsB;QACtB,kBAAkB;KACnB,CAAC;AACJ,CAAC"}
|
|
@@ -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":"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"}
|
|
@@ -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) &&
|
|
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
|
-
|
|
21
|
-
|
|
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,
|
|
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-
|
|
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,
|
|
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"}
|
package/src/utils.browser.js
CHANGED
|
@@ -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
|
|
510
|
-
if (!
|
|
511
|
-
return
|
|
512
|
+
const trimmed = selector.trim();
|
|
513
|
+
if (!trimmed) {
|
|
514
|
+
return trimmed;
|
|
512
515
|
}
|
|
513
|
-
if (
|
|
514
|
-
return
|
|
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}`)) {
|