labellife-design-tool 2.2.2 → 2.2.3
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/cjs/canvas/workspace.js +46 -7
- package/dist/cjs/canvas/workspace.js.map +1 -1
- package/dist/cjs/index.js +46 -7
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/canvas/workspace.js +46 -7
- package/dist/esm/canvas/workspace.js.map +1 -1
- package/dist/esm/index.js +46 -7
- package/dist/esm/index.js.map +1 -1
- package/package.json +1 -1
package/dist/esm/index.js
CHANGED
|
@@ -10641,7 +10641,9 @@ var InputFieldsDialog = observer(function (_ref2) {
|
|
|
10641
10641
|
var store = _ref2.store,
|
|
10642
10642
|
_onComplete = _ref2.onComplete,
|
|
10643
10643
|
_ref2$enabled = _ref2.enabled,
|
|
10644
|
-
enabled = _ref2$enabled === void 0 ? true : _ref2$enabled
|
|
10644
|
+
enabled = _ref2$enabled === void 0 ? true : _ref2$enabled,
|
|
10645
|
+
_ref2$backTrigger = _ref2.backTrigger,
|
|
10646
|
+
backTrigger = _ref2$backTrigger === void 0 ? 0 : _ref2$backTrigger;
|
|
10645
10647
|
// displayIndex counts how many fields have been answered (for step indicator only).
|
|
10646
10648
|
// Navigation always uses fields[0] — the first remaining pending field.
|
|
10647
10649
|
var _useState5 = useState(0),
|
|
@@ -10650,6 +10652,8 @@ var InputFieldsDialog = observer(function (_ref2) {
|
|
|
10650
10652
|
setDisplayIndex = _useState6[1];
|
|
10651
10653
|
var initialTotalRef = useRef(0);
|
|
10652
10654
|
var completedHistoryRef = useRef([]);
|
|
10655
|
+
var isGoingBackRef = useRef(false);
|
|
10656
|
+
var prevBackTriggerRef = useRef(backTrigger);
|
|
10653
10657
|
var config = getInputFieldsConfig();
|
|
10654
10658
|
var pendingFields = store._pendingInputFields || [];
|
|
10655
10659
|
|
|
@@ -10666,13 +10670,20 @@ var InputFieldsDialog = observer(function (_ref2) {
|
|
|
10666
10670
|
// Capture total and reset display counter when a fresh batch appears
|
|
10667
10671
|
useEffect(function () {
|
|
10668
10672
|
if (fields.length > 0 && initialTotalRef.current === 0) {
|
|
10669
|
-
|
|
10670
|
-
|
|
10671
|
-
|
|
10673
|
+
if (isGoingBackRef.current) {
|
|
10674
|
+
// Back-from-summary restored a field — recover total from history + pending
|
|
10675
|
+
isGoingBackRef.current = false;
|
|
10676
|
+
initialTotalRef.current = completedHistoryRef.current.length + fields.length;
|
|
10677
|
+
} else {
|
|
10678
|
+
// Genuine fresh batch
|
|
10679
|
+
initialTotalRef.current = fields.length;
|
|
10680
|
+
setDisplayIndex(0);
|
|
10681
|
+
completedHistoryRef.current = [];
|
|
10682
|
+
}
|
|
10672
10683
|
}
|
|
10673
10684
|
if (fields.length === 0) {
|
|
10674
10685
|
initialTotalRef.current = 0;
|
|
10675
|
-
|
|
10686
|
+
// History is intentionally kept so back-from-summary can use it
|
|
10676
10687
|
}
|
|
10677
10688
|
}, [fields.length]);
|
|
10678
10689
|
var totalCount = initialTotalRef.current || fields.length;
|
|
@@ -10751,6 +10762,31 @@ var InputFieldsDialog = observer(function (_ref2) {
|
|
|
10751
10762
|
};
|
|
10752
10763
|
var canGoBack = displayIndex > 0;
|
|
10753
10764
|
|
|
10765
|
+
// Back-from-summary: triggered by parent incrementing backTrigger prop
|
|
10766
|
+
var handleBackFromSummary = function handleBackFromSummary() {
|
|
10767
|
+
var last = completedHistoryRef.current.pop();
|
|
10768
|
+
if (!last) return;
|
|
10769
|
+
var el = last.el,
|
|
10770
|
+
previousValue = last.previousValue;
|
|
10771
|
+
if (el) {
|
|
10772
|
+
var isImage = el.custom && el.custom.inputType === 'image';
|
|
10773
|
+
el.set(isImage ? {
|
|
10774
|
+
src: previousValue || ''
|
|
10775
|
+
} : {
|
|
10776
|
+
text: previousValue || ''
|
|
10777
|
+
});
|
|
10778
|
+
isGoingBackRef.current = true;
|
|
10779
|
+
store._unresolveInputField(el);
|
|
10780
|
+
}
|
|
10781
|
+
// displayIndex stays unchanged — it already points to the last step (N-1)
|
|
10782
|
+
};
|
|
10783
|
+
useEffect(function () {
|
|
10784
|
+
if (backTrigger !== prevBackTriggerRef.current) {
|
|
10785
|
+
prevBackTriggerRef.current = backTrigger;
|
|
10786
|
+
handleBackFromSummary();
|
|
10787
|
+
}
|
|
10788
|
+
}, [backTrigger]);
|
|
10789
|
+
|
|
10754
10790
|
// ── Resolve which dialog component to use ───────────────────────────
|
|
10755
10791
|
// Priority: per-type custom dialog > global CustomDialog > built-in
|
|
10756
10792
|
var TYPE_DIALOG_MAP = {
|
|
@@ -11104,7 +11140,9 @@ var Workspace = observer(function (_ref6) {
|
|
|
11104
11140
|
components = _ref6$components === void 0 ? {} : _ref6$components,
|
|
11105
11141
|
_ref6$showInputFields = _ref6.showInputFieldsPopup,
|
|
11106
11142
|
showInputFieldsPopup = _ref6$showInputFields === void 0 ? true : _ref6$showInputFields,
|
|
11107
|
-
onInputFieldsComplete = _ref6.onInputFieldsComplete
|
|
11143
|
+
onInputFieldsComplete = _ref6.onInputFieldsComplete,
|
|
11144
|
+
_ref6$backTrigger = _ref6.backTrigger,
|
|
11145
|
+
backTrigger = _ref6$backTrigger === void 0 ? 0 : _ref6$backTrigger;
|
|
11108
11146
|
var stageRef = useRef(null);
|
|
11109
11147
|
var containerRef = useRef(null);
|
|
11110
11148
|
var _useState5 = useState({
|
|
@@ -11390,7 +11428,8 @@ var Workspace = observer(function (_ref6) {
|
|
|
11390
11428
|
}) : null, /*#__PURE__*/jsx(InputFieldsDialog, {
|
|
11391
11429
|
store: store,
|
|
11392
11430
|
enabled: showInputFieldsPopup,
|
|
11393
|
-
onComplete: onInputFieldsComplete
|
|
11431
|
+
onComplete: onInputFieldsComplete,
|
|
11432
|
+
backTrigger: backTrigger
|
|
11394
11433
|
})]
|
|
11395
11434
|
});
|
|
11396
11435
|
});
|