@wavemaker-ai/react-codegen 1.0.0-rc.312 → 1.0.0-rc.314
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/dist/transpiler/index.mjs +924 -959
- package/dist/transpiler/index.mjs.map +1 -1
- package/package-lock.json +123 -123
- package/package.json +1 -1
- package/src/transpile/bind.ex.transformer.js +18 -1
- package/src/transpile/bind.ex.transformer.js.map +1 -1
- package/src/transpile/components/container/accordion-pane.transformer.js +4 -20
- package/src/transpile/components/container/accordion-pane.transformer.js.map +1 -1
- package/src/transpile/components/container/container.transformer.js +7 -21
- package/src/transpile/components/container/container.transformer.js.map +1 -1
- package/src/transpile/components/container/panel.transformer.js +4 -20
- package/src/transpile/components/container/panel.transformer.js.map +1 -1
- package/src/transpile/components/container/tabpane.transformer.js +4 -20
- package/src/transpile/components/container/tabpane.transformer.js.map +1 -1
- package/src/transpile/components/container/wizardstep.transformer.js +4 -36
- package/src/transpile/components/container/wizardstep.transformer.js.map +1 -1
- package/src/transpile/components/data/card/card-content.transformer.js +4 -20
- package/src/transpile/components/data/card/card-content.transformer.js.map +1 -1
- package/src/transpile/components/data/form/field-widget-shared.js +9 -0
- package/src/transpile/components/data/form/field-widget-shared.js.map +1 -0
- package/src/transpile/components/data/form/form-field.transformer.js +24 -26
- package/src/transpile/components/data/form/form-field.transformer.js.map +1 -1
- package/src/transpile/components/data/list/list-transformer.js +9 -2
- package/src/transpile/components/data/list/list-transformer.js.map +1 -1
- package/src/transpile/components/data/live-filter-field.transformer.js +30 -32
- package/src/transpile/components/data/live-filter-field.transformer.js.map +1 -1
- package/src/transpile/components/data/live-form-shared.js +135 -0
- package/src/transpile/components/data/live-form-shared.js.map +1 -0
- package/src/transpile/components/data/livefilter.transformer.js +3 -123
- package/src/transpile/components/data/livefilter.transformer.js.map +1 -1
- package/src/transpile/components/data/liveform.transformer.js +9 -128
- package/src/transpile/components/data/liveform.transformer.js.map +1 -1
- package/src/transpile/components/data/table/table-column.transformer.js +6 -3
- package/src/transpile/components/data/table/table-column.transformer.js.map +1 -1
- package/src/transpile/components/data/table/table-row.transformer.js +9 -20
- package/src/transpile/components/data/table/table-row.transformer.js.map +1 -1
- package/src/transpile/components/data/table/table.transformer.js +5 -2
- package/src/transpile/components/data/table/table.transformer.js.map +1 -1
- package/src/transpile/components/data/table/utils.js +70 -0
- package/src/transpile/components/data/table/utils.js.map +1 -1
- package/src/transpile/components/dialogs/alert-dialog.transformer.js +5 -13
- package/src/transpile/components/dialogs/alert-dialog.transformer.js.map +1 -1
- package/src/transpile/components/dialogs/confirm-dialog.transformer.js +5 -13
- package/src/transpile/components/dialogs/confirm-dialog.transformer.js.map +1 -1
- package/src/transpile/components/dialogs/dialog-factory.js +18 -0
- package/src/transpile/components/dialogs/dialog-factory.js.map +1 -0
- package/src/transpile/components/dialogs/iframe-dialog.transformer.js +5 -13
- package/src/transpile/components/dialogs/iframe-dialog.transformer.js.map +1 -1
- package/src/transpile/components/layout/footer.transformer.js +7 -45
- package/src/transpile/components/layout/footer.transformer.js.map +1 -1
- package/src/transpile/components/layout/header.transformer.js +7 -45
- package/src/transpile/components/layout/header.transformer.js.map +1 -1
- package/src/transpile/components/layout/layout-region-factory.js +46 -0
- package/src/transpile/components/layout/layout-region-factory.js.map +1 -0
- package/src/transpile/components/layout/leftnav.transformer.js +7 -45
- package/src/transpile/components/layout/leftnav.transformer.js.map +1 -1
- package/src/transpile/components/layout/rightnav.transformer.js +7 -45
- package/src/transpile/components/layout/rightnav.transformer.js.map +1 -1
- package/src/transpile/components/layout/topnav.transformer.js +7 -45
- package/src/transpile/components/layout/topnav.transformer.js.map +1 -1
- package/src/transpile/components/navigation/popover.transformer.js +5 -21
- package/src/transpile/components/navigation/popover.transformer.js.map +1 -1
- package/src/transpile/components/page/build-partial-markup.js +55 -0
- package/src/transpile/components/page/build-partial-markup.js.map +1 -0
- package/src/transpile/components/page/partial-container.transformer.js +2 -47
- package/src/transpile/components/page/partial-container.transformer.js.map +1 -1
- package/src/transpile/components/page/with-partial-container.js +26 -0
- package/src/transpile/components/page/with-partial-container.js.map +1 -0
- package/src/transpile/components/partial/partial-content.transformer.js +2 -47
- package/src/transpile/components/partial/partial-content.transformer.js.map +1 -1
- package/src/transpile/components/utils.js +58 -67
- package/src/transpile/components/utils.js.map +1 -1
- package/src/transpile/transform-markup.js +3 -0
- package/src/transpile/transform-markup.js.map +1 -1
- package/src/transpile/transpile.js +254 -128
- package/src/transpile/transpile.js.map +1 -1
- package/src/transpile/widget-inline-style-processor.js +39 -1
- package/src/transpile/widget-inline-style-processor.js.map +1 -1
- package/src/variables/variable.transformer.js +64 -18
- package/src/variables/variable.transformer.js.map +1 -1
- package/templates/component/layout.hbs +1 -0
- package/templates/project/package.json +4 -4
- package/templates/variables.template +3 -0
|
@@ -576,6 +576,113 @@ class Transpiler {
|
|
|
576
576
|
className: (0, utils_browser_1.addOptionalChaining)(classes),
|
|
577
577
|
};
|
|
578
578
|
}
|
|
579
|
+
// Parse arguments properly, handling commas inside object literals and arrays
|
|
580
|
+
parseArguments(argString) {
|
|
581
|
+
const args = [];
|
|
582
|
+
let currentArg = "";
|
|
583
|
+
let braceCount = 0;
|
|
584
|
+
let bracketCount = 0;
|
|
585
|
+
for (let i = 0; i < argString.length; i++) {
|
|
586
|
+
const char = argString[i];
|
|
587
|
+
// Track object literals (curly braces) and arrays (square brackets)
|
|
588
|
+
if (char === "{")
|
|
589
|
+
braceCount++;
|
|
590
|
+
else if (char === "}")
|
|
591
|
+
braceCount--;
|
|
592
|
+
else if (char === "[")
|
|
593
|
+
bracketCount++;
|
|
594
|
+
else if (char === "]")
|
|
595
|
+
bracketCount--;
|
|
596
|
+
// If we encounter a comma at the top level (not inside an object or array), it's an argument separator
|
|
597
|
+
if (char === "," && braceCount === 0 && bracketCount === 0) {
|
|
598
|
+
if (currentArg.trim()) {
|
|
599
|
+
args.push(currentArg.trim());
|
|
600
|
+
}
|
|
601
|
+
currentArg = "";
|
|
602
|
+
continue;
|
|
603
|
+
}
|
|
604
|
+
currentArg += char;
|
|
605
|
+
}
|
|
606
|
+
if (currentArg.trim()) {
|
|
607
|
+
args.push(currentArg.trim());
|
|
608
|
+
}
|
|
609
|
+
return args;
|
|
610
|
+
}
|
|
611
|
+
// Droping literal arguments like strings, numbers, booleans, null/undefined
|
|
612
|
+
isLiteral(s) {
|
|
613
|
+
const v = s.trim();
|
|
614
|
+
return (/^(['"]).*\1$/.test(v) ||
|
|
615
|
+
/^-?\d+(?:\.\d+)?$/.test(v) ||
|
|
616
|
+
/^(true|false|null|undefined)$/i.test(v));
|
|
617
|
+
}
|
|
618
|
+
// Arithmetic/binary expressions (e.g. "0-5", "0+3") are not valid parameter names.
|
|
619
|
+
// The Angular parser converts unary negatives like -5 into binary (0-5).
|
|
620
|
+
isArithmeticExpression(s) {
|
|
621
|
+
const v = s.trim();
|
|
622
|
+
return /^\d+\s*[-+*/%]\s*\d+/.test(v);
|
|
623
|
+
}
|
|
624
|
+
// Check if argument contains a dot (property access), which makes it an expression, not a valid parameter name
|
|
625
|
+
isPropertyAccess(s) {
|
|
626
|
+
return s.trim().includes(".");
|
|
627
|
+
}
|
|
628
|
+
// Object literals should not be extracted as function parameters
|
|
629
|
+
isObjectLiteral(s) {
|
|
630
|
+
const trimmed = s.trim();
|
|
631
|
+
if (trimmed.startsWith("{") && trimmed.includes(":")) {
|
|
632
|
+
let braceCount = 0;
|
|
633
|
+
let inString = false;
|
|
634
|
+
let stringChar = "";
|
|
635
|
+
for (let i = 0; i < trimmed.length; i++) {
|
|
636
|
+
const char = trimmed[i];
|
|
637
|
+
if ((char === '"' || char === "'") && (i === 0 || trimmed[i - 1] !== "\\")) {
|
|
638
|
+
if (!inString) {
|
|
639
|
+
inString = true;
|
|
640
|
+
stringChar = char;
|
|
641
|
+
}
|
|
642
|
+
else if (char === stringChar) {
|
|
643
|
+
inString = false;
|
|
644
|
+
}
|
|
645
|
+
}
|
|
646
|
+
else if (!inString) {
|
|
647
|
+
if (char === "{")
|
|
648
|
+
braceCount++;
|
|
649
|
+
else if (char === "}")
|
|
650
|
+
braceCount--;
|
|
651
|
+
}
|
|
652
|
+
}
|
|
653
|
+
return braceCount === 0 && trimmed.endsWith("}");
|
|
654
|
+
}
|
|
655
|
+
return false;
|
|
656
|
+
}
|
|
657
|
+
// Array literals should not be extracted as function parameters
|
|
658
|
+
isArrayLiteral(s) {
|
|
659
|
+
const trimmed = s.trim();
|
|
660
|
+
if (trimmed.startsWith("[") && trimmed.endsWith("]")) {
|
|
661
|
+
let bracketCount = 0;
|
|
662
|
+
let inString = false;
|
|
663
|
+
let stringChar = "";
|
|
664
|
+
for (let i = 0; i < trimmed.length; i++) {
|
|
665
|
+
const char = trimmed[i];
|
|
666
|
+
if ((char === '"' || char === "'") && (i === 0 || trimmed[i - 1] !== "\\")) {
|
|
667
|
+
if (!inString) {
|
|
668
|
+
inString = true;
|
|
669
|
+
stringChar = char;
|
|
670
|
+
}
|
|
671
|
+
else if (char === stringChar) {
|
|
672
|
+
inString = false;
|
|
673
|
+
}
|
|
674
|
+
}
|
|
675
|
+
else if (!inString) {
|
|
676
|
+
if (char === "[")
|
|
677
|
+
bracketCount++;
|
|
678
|
+
else if (char === "]")
|
|
679
|
+
bracketCount--;
|
|
680
|
+
}
|
|
681
|
+
}
|
|
682
|
+
return bracketCount === 0;
|
|
683
|
+
}
|
|
684
|
+
return false;
|
|
685
|
+
}
|
|
579
686
|
findArgs(str, context) {
|
|
580
687
|
var _a;
|
|
581
688
|
let argStr = "";
|
|
@@ -595,128 +702,14 @@ class Transpiler {
|
|
|
595
702
|
.filter(s => !(0, lodash_1.includes)(["$item", "currentItemWidgets"], s.trim()))
|
|
596
703
|
.join(",");
|
|
597
704
|
}
|
|
598
|
-
|
|
599
|
-
const parseArguments = (argString) => {
|
|
600
|
-
const args = [];
|
|
601
|
-
let currentArg = "";
|
|
602
|
-
let braceCount = 0;
|
|
603
|
-
let bracketCount = 0;
|
|
604
|
-
for (let i = 0; i < argString.length; i++) {
|
|
605
|
-
const char = argString[i];
|
|
606
|
-
// Track object literals (curly braces) and arrays (square brackets)
|
|
607
|
-
if (char === "{")
|
|
608
|
-
braceCount++;
|
|
609
|
-
else if (char === "}")
|
|
610
|
-
braceCount--;
|
|
611
|
-
else if (char === "[")
|
|
612
|
-
bracketCount++;
|
|
613
|
-
else if (char === "]")
|
|
614
|
-
bracketCount--;
|
|
615
|
-
// If we encounter a comma at the top level (not inside an object or array), it's an argument separator
|
|
616
|
-
if (char === "," && braceCount === 0 && bracketCount === 0) {
|
|
617
|
-
if (currentArg.trim()) {
|
|
618
|
-
args.push(currentArg.trim());
|
|
619
|
-
}
|
|
620
|
-
currentArg = "";
|
|
621
|
-
continue;
|
|
622
|
-
}
|
|
623
|
-
currentArg += char;
|
|
624
|
-
}
|
|
625
|
-
// Add the last argument
|
|
626
|
-
if (currentArg.trim()) {
|
|
627
|
-
args.push(currentArg.trim());
|
|
628
|
-
}
|
|
629
|
-
return args;
|
|
630
|
-
};
|
|
631
|
-
// Droping literal arguments like strings, numbers, booleans, null/undefined
|
|
632
|
-
const isLiteral = (s) => {
|
|
633
|
-
const v = s.trim();
|
|
634
|
-
return (/^(['"]).*\1$/.test(v) ||
|
|
635
|
-
/^-?\d+(?:\.\d+)?$/.test(v) ||
|
|
636
|
-
/^(true|false|null|undefined)$/i.test(v));
|
|
637
|
-
};
|
|
638
|
-
// Arithmetic/binary expressions (e.g. "0-5", "0+3") are not valid parameter names.
|
|
639
|
-
// The Angular parser converts unary negatives like -5 into binary (0-5).
|
|
640
|
-
const isArithmeticExpression = (s) => {
|
|
641
|
-
const v = s.trim();
|
|
642
|
-
return /^\d+\s*[-+*/%]\s*\d+/.test(v);
|
|
643
|
-
};
|
|
644
|
-
// Check if argument contains a dot (property access), which makes it an expression, not a valid parameter name
|
|
645
|
-
const isPropertyAccess = (s) => {
|
|
646
|
-
return s.trim().includes(".");
|
|
647
|
-
};
|
|
648
|
-
// Object literals should not be extracted as function parameters
|
|
649
|
-
const isObjectLiteral = (s) => {
|
|
650
|
-
const trimmed = s.trim();
|
|
651
|
-
// Check if it starts with { and contains at least one : (key-value pair)
|
|
652
|
-
if (trimmed.startsWith("{") && trimmed.includes(":")) {
|
|
653
|
-
// Verify it's a balanced object literal
|
|
654
|
-
let braceCount = 0;
|
|
655
|
-
let inString = false;
|
|
656
|
-
let stringChar = "";
|
|
657
|
-
for (let i = 0; i < trimmed.length; i++) {
|
|
658
|
-
const char = trimmed[i];
|
|
659
|
-
if ((char === '"' || char === "'") && (i === 0 || trimmed[i - 1] !== "\\")) {
|
|
660
|
-
if (!inString) {
|
|
661
|
-
inString = true;
|
|
662
|
-
stringChar = char;
|
|
663
|
-
}
|
|
664
|
-
else if (char === stringChar) {
|
|
665
|
-
inString = false;
|
|
666
|
-
}
|
|
667
|
-
}
|
|
668
|
-
else if (!inString) {
|
|
669
|
-
if (char === "{")
|
|
670
|
-
braceCount++;
|
|
671
|
-
else if (char === "}")
|
|
672
|
-
braceCount--;
|
|
673
|
-
}
|
|
674
|
-
}
|
|
675
|
-
// If braces are balanced and it ends with }, it's an object literal
|
|
676
|
-
return braceCount === 0 && trimmed.endsWith("}");
|
|
677
|
-
}
|
|
678
|
-
return false;
|
|
679
|
-
};
|
|
680
|
-
// Array literals should not be extracted as function parameters
|
|
681
|
-
const isArrayLiteral = (s) => {
|
|
682
|
-
const trimmed = s.trim();
|
|
683
|
-
// Check if it starts with [ and ends with ]
|
|
684
|
-
if (trimmed.startsWith("[") && trimmed.endsWith("]")) {
|
|
685
|
-
// Verify it's a balanced array literal
|
|
686
|
-
let bracketCount = 0;
|
|
687
|
-
let inString = false;
|
|
688
|
-
let stringChar = "";
|
|
689
|
-
for (let i = 0; i < trimmed.length; i++) {
|
|
690
|
-
const char = trimmed[i];
|
|
691
|
-
if ((char === '"' || char === "'") && (i === 0 || trimmed[i - 1] !== "\\")) {
|
|
692
|
-
if (!inString) {
|
|
693
|
-
inString = true;
|
|
694
|
-
stringChar = char;
|
|
695
|
-
}
|
|
696
|
-
else if (char === stringChar) {
|
|
697
|
-
inString = false;
|
|
698
|
-
}
|
|
699
|
-
}
|
|
700
|
-
else if (!inString) {
|
|
701
|
-
if (char === "[")
|
|
702
|
-
bracketCount++;
|
|
703
|
-
else if (char === "]")
|
|
704
|
-
bracketCount--;
|
|
705
|
-
}
|
|
706
|
-
}
|
|
707
|
-
// If brackets are balanced, it's an array literal
|
|
708
|
-
return bracketCount === 0;
|
|
709
|
-
}
|
|
710
|
-
return false;
|
|
711
|
-
};
|
|
712
|
-
const parsedArgs = parseArguments(argStr);
|
|
705
|
+
const parsedArgs = this.parseArguments(argStr);
|
|
713
706
|
const args = parsedArgs
|
|
714
707
|
.filter(Boolean)
|
|
715
|
-
.filter(s => !isLiteral(s))
|
|
716
|
-
.filter(s => !isArithmeticExpression(s))
|
|
717
|
-
.filter(s => !isPropertyAccess(s))
|
|
718
|
-
.filter(s => !isObjectLiteral(s))
|
|
719
|
-
.filter(s => !isArrayLiteral(s));
|
|
708
|
+
.filter(s => !this.isLiteral(s))
|
|
709
|
+
.filter(s => !this.isArithmeticExpression(s))
|
|
710
|
+
.filter(s => !this.isPropertyAccess(s))
|
|
711
|
+
.filter(s => !this.isObjectLiteral(s))
|
|
712
|
+
.filter(s => !this.isArrayLiteral(s));
|
|
720
713
|
const usesBareEvent = /\$event\b/.test(str);
|
|
721
714
|
const hasEventParam = args.some(a => a.trim() === "$event");
|
|
722
715
|
if (usesBareEvent && !hasEventParam) {
|
|
@@ -724,6 +717,124 @@ class Transpiler {
|
|
|
724
717
|
}
|
|
725
718
|
return `(${args.join(", ")})`;
|
|
726
719
|
}
|
|
720
|
+
// Parse "($event, widget)" → ["$event", "widget"]; "()" → []
|
|
721
|
+
parseArrowParamNames(argsStr) {
|
|
722
|
+
const inner = argsStr.replace(/^\(|\)$/g, "").trim();
|
|
723
|
+
if (!inner)
|
|
724
|
+
return [];
|
|
725
|
+
return inner
|
|
726
|
+
.split(",")
|
|
727
|
+
.map(s => s.trim())
|
|
728
|
+
.filter(Boolean);
|
|
729
|
+
}
|
|
730
|
+
// Detect a `;` outside strings/parens/braces/brackets — signals multiple top-level statements
|
|
731
|
+
hasTopLevelSemicolon(body) {
|
|
732
|
+
let paren = 0;
|
|
733
|
+
let brace = 0;
|
|
734
|
+
let bracket = 0;
|
|
735
|
+
let inString = false;
|
|
736
|
+
let stringChar = "";
|
|
737
|
+
for (let i = 0; i < body.length; i++) {
|
|
738
|
+
const ch = body[i];
|
|
739
|
+
if ((ch === '"' || ch === "'") && (i === 0 || body[i - 1] !== "\\")) {
|
|
740
|
+
if (!inString) {
|
|
741
|
+
inString = true;
|
|
742
|
+
stringChar = ch;
|
|
743
|
+
}
|
|
744
|
+
else if (ch === stringChar) {
|
|
745
|
+
inString = false;
|
|
746
|
+
}
|
|
747
|
+
continue;
|
|
748
|
+
}
|
|
749
|
+
if (inString)
|
|
750
|
+
continue;
|
|
751
|
+
if (ch === "(")
|
|
752
|
+
paren++;
|
|
753
|
+
else if (ch === ")")
|
|
754
|
+
paren--;
|
|
755
|
+
else if (ch === "{")
|
|
756
|
+
brace++;
|
|
757
|
+
else if (ch === "}")
|
|
758
|
+
brace--;
|
|
759
|
+
else if (ch === "[")
|
|
760
|
+
bracket++;
|
|
761
|
+
else if (ch === "]")
|
|
762
|
+
bracket--;
|
|
763
|
+
else if (ch === ";" && paren === 0 && brace === 0 && bracket === 0)
|
|
764
|
+
return true;
|
|
765
|
+
}
|
|
766
|
+
return false;
|
|
767
|
+
}
|
|
768
|
+
isInstanceBoundFragmentCallee(calleeRef) {
|
|
769
|
+
return Transpiler.INSTANCE_BOUND_CALLEE.test(calleeRef);
|
|
770
|
+
}
|
|
771
|
+
// Match a body shaped like `fragment(...property chain...)?.(args)` — return callee ref + raw arg list
|
|
772
|
+
extractFragmentMethodCall(body) {
|
|
773
|
+
const trimmed = body.trim();
|
|
774
|
+
if (!trimmed.endsWith(")") || !trimmed.startsWith("fragment"))
|
|
775
|
+
return null;
|
|
776
|
+
let depth = 0;
|
|
777
|
+
let openIdx = -1;
|
|
778
|
+
for (let i = trimmed.length - 1; i >= 0; i--) {
|
|
779
|
+
const ch = trimmed[i];
|
|
780
|
+
if (ch === ")")
|
|
781
|
+
depth++;
|
|
782
|
+
else if (ch === "(") {
|
|
783
|
+
depth--;
|
|
784
|
+
if (depth === 0) {
|
|
785
|
+
openIdx = i;
|
|
786
|
+
break;
|
|
787
|
+
}
|
|
788
|
+
}
|
|
789
|
+
}
|
|
790
|
+
if (openIdx < 2)
|
|
791
|
+
return null;
|
|
792
|
+
if (trimmed.substring(openIdx - 2, openIdx) !== "?.")
|
|
793
|
+
return null;
|
|
794
|
+
const calleeRef = trimmed.substring(0, openIdx - 2);
|
|
795
|
+
if (!Transpiler.FRAGMENT_CALLEE_REF.test(calleeRef))
|
|
796
|
+
return null;
|
|
797
|
+
const argsStr = trimmed.substring(openIdx + 1, trimmed.length - 1);
|
|
798
|
+
const callArgs = this.parseArguments(argsStr);
|
|
799
|
+
return { calleeRef, callArgs };
|
|
800
|
+
}
|
|
801
|
+
// Decide if an `on-*` handler body can be emitted as a direct function reference instead of an arrow wrapper.
|
|
802
|
+
// Eligible when body is a single `fragment?.x?.(...)` call whose args are all simple identifiers already
|
|
803
|
+
// present in the synthesized arrow parameter list — i.e. nothing references closure-only values like `$item`,
|
|
804
|
+
// `currentItemWidgetsRef.current`, literals, property-access expressions, or table column `rowData`.
|
|
805
|
+
//
|
|
806
|
+
// Additional exclusion: callee paths through `Actions` or `Variables` resolve to runtime instance
|
|
807
|
+
// methods (NavigationAction.invoke, BaseVariable.invoke, setData, navigate, …) that rely on `this`.
|
|
808
|
+
// Emitting them as detached refs strips the receiver and breaks runtime + WmAnchor's
|
|
809
|
+
// `getGoToPageNameFromClickHandler` source-string detection, so always wrap those in an arrow.
|
|
810
|
+
canUseDirectHandlerReference(body, arrowParams) {
|
|
811
|
+
const trimmed = body.replace(/;+\s*$/, "").trim();
|
|
812
|
+
if (!trimmed)
|
|
813
|
+
return null;
|
|
814
|
+
if (this.hasTopLevelSemicolon(trimmed))
|
|
815
|
+
return null;
|
|
816
|
+
const parsed = this.extractFragmentMethodCall(trimmed);
|
|
817
|
+
if (!parsed)
|
|
818
|
+
return null;
|
|
819
|
+
if (this.isInstanceBoundFragmentCallee(parsed.calleeRef))
|
|
820
|
+
return null;
|
|
821
|
+
const paramSet = new Set(arrowParams);
|
|
822
|
+
for (const raw of parsed.callArgs) {
|
|
823
|
+
const a = raw.trim();
|
|
824
|
+
if (!a)
|
|
825
|
+
continue;
|
|
826
|
+
if (this.isLiteral(a) ||
|
|
827
|
+
this.isArithmeticExpression(a) ||
|
|
828
|
+
this.isObjectLiteral(a) ||
|
|
829
|
+
this.isArrayLiteral(a) ||
|
|
830
|
+
this.isPropertyAccess(a)) {
|
|
831
|
+
return null;
|
|
832
|
+
}
|
|
833
|
+
if (!paramSet.has(a))
|
|
834
|
+
return null;
|
|
835
|
+
}
|
|
836
|
+
return parsed.calleeRef;
|
|
837
|
+
}
|
|
727
838
|
quoteAttr(v) {
|
|
728
839
|
return ("" + v) /* Forces the conversion to string. */
|
|
729
840
|
.replace(/&/g, "&") /* This MUST be the 1st replacement. */
|
|
@@ -767,8 +878,16 @@ class Transpiler {
|
|
|
767
878
|
if (context === null || context === void 0 ? void 0 : context.get("isInsideTableColumn")) {
|
|
768
879
|
value = value.replace(/\brow\b/g, "rowData");
|
|
769
880
|
}
|
|
770
|
-
|
|
771
|
-
|
|
881
|
+
const arrowParams = this.parseArrowParamNames(args);
|
|
882
|
+
const bodyForCheck = value.replace(/;+\s*$/, "").trim();
|
|
883
|
+
const directRef = this.canUseDirectHandlerReference(bodyForCheck, arrowParams);
|
|
884
|
+
if (directRef) {
|
|
885
|
+
value = `{${directRef}}`;
|
|
886
|
+
}
|
|
887
|
+
else {
|
|
888
|
+
value = `${args} => {${value}}`;
|
|
889
|
+
value = `{${value}}`;
|
|
890
|
+
}
|
|
772
891
|
}
|
|
773
892
|
else if (name === "datasource" || name === "deletedatasource") {
|
|
774
893
|
if (value.startsWith("fragment")) {
|
|
@@ -785,6 +904,7 @@ class Transpiler {
|
|
|
785
904
|
exp = exp.replace("fragment.Page", "fragment");
|
|
786
905
|
const isProgressCircleDatavalue = tagName === "wm-progress-circle" && name === "datavalue";
|
|
787
906
|
exp = (0, utils_browser_1.modifyExpression)(exp);
|
|
907
|
+
exp = (0, bind_ex_transformer_1.resolveFormatContext)(exp, context);
|
|
788
908
|
exp = this.convertStringBooleanTernary(exp);
|
|
789
909
|
// If expression is empty after transformation, use empty string instead of empty braces
|
|
790
910
|
if (!exp) {
|
|
@@ -890,6 +1010,14 @@ class Transpiler {
|
|
|
890
1010
|
transpiler.transformers.set(tagName, transformer);
|
|
891
1011
|
}
|
|
892
1012
|
}
|
|
1013
|
+
// Pure property / safe-property / keyed-read chain rooted at `fragment`.
|
|
1014
|
+
// Rejects callee refs that contain intermediate calls (e.g. `fragment.a?.b?.()?.c`),
|
|
1015
|
+
// operators, assignments, whitespace — anything that would change semantics when
|
|
1016
|
+
// evaluated at render time instead of click time.
|
|
1017
|
+
Transpiler.FRAGMENT_CALLEE_REF = /^fragment(?:\??\.[a-zA-Z_$][\w$]*|(?:\?\.)?\[[^\]]*\])*$/;
|
|
1018
|
+
// Callee paths rooted at runtime instance objects (Actions, Variables) whose methods
|
|
1019
|
+
// (invoke, navigate, setData, …) rely on `this` and must not be emitted as detached refs.
|
|
1020
|
+
Transpiler.INSTANCE_BOUND_CALLEE = /(?:\?\.|\.)(?:Actions|Variables)(?:\?\.|\.|\[|$)/;
|
|
893
1021
|
const transpiler = new Transpiler();
|
|
894
1022
|
exports.registerTransformer = transpiler.registerTransformer.bind(transpiler);
|
|
895
1023
|
const transpileMarkup = (markup, isPartOfPrefab, splitCode, variables, preview) => {
|
|
@@ -1014,15 +1142,13 @@ const createExpression = (element, attrName) => {
|
|
|
1014
1142
|
displayexpression = displayexpression.replace(/\$item\[fragment.(.*?)\]/g, "$item['$1']");
|
|
1015
1143
|
displayexpression = displayexpression.replace(/\$item\['(.*?)'\]/g, "_get($item, '$1')");
|
|
1016
1144
|
displayexpression = displayexpression.replace(/fragment.index/g, "$index");
|
|
1017
|
-
if (displayexpression
|
|
1018
|
-
displayexpression = displayexpression.
|
|
1145
|
+
if (/formatters/.test(displayexpression)) {
|
|
1146
|
+
displayexpression = displayexpression.split(bind_ex_transformer_1.FORMAT_CONTEXT).join("$item");
|
|
1019
1147
|
}
|
|
1020
1148
|
// Transform fragment.name -> $item.name for arrow functions with $item
|
|
1021
1149
|
displayexpression = displayexpression.replace(/fragment\.([a-zA-Z_$][a-zA-Z0-9_$]*)/g, "$item.$1");
|
|
1022
|
-
// Add optional chaining
|
|
1023
|
-
|
|
1024
|
-
displayexpression = displayexpression.replace(/(?<!\?)\.([a-zA-Z_$][a-zA-Z0-9_$]*)/g, "?.$1");
|
|
1025
|
-
displayexpression = displayexpression.replace(/([a-zA-Z0-9_$\]])\[/g, "$1?.[");
|
|
1150
|
+
// Add optional chaining while preserving dots inside string literals (e.g. custom.rowCurrencyList)
|
|
1151
|
+
displayexpression = (0, utils_browser_1.addOptionalChaining)(displayexpression);
|
|
1026
1152
|
const exp = (0, lodash_1.includes)(displayexpression, "(") ? `${displayexpression}` : displayexpression;
|
|
1027
1153
|
if (displayexpression.indexOf("$index") >= 0) {
|
|
1028
1154
|
return `{($item, $index, $length) => (${exp})}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transpile.js","sourceRoot":"","sources":["../../../src/transpile/transpile.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transpile.js","sourceRoot":"","sources":["../../../src/transpile/transpile.ts"],"names":[],"mappings":"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"}
|