lisichatbot 1.4.6 ā 1.4.7
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/package.json +1 -1
- package/src/index.js +68 -14
package/package.json
CHANGED
package/src/index.js
CHANGED
|
@@ -1889,24 +1889,78 @@ async function handleNext() {
|
|
|
1889
1889
|
if (chatState.returnToStep !== null) {
|
|
1890
1890
|
const targetStep = chatState.returnToStep;
|
|
1891
1891
|
console.log(`\nš Returning to saved step ${targetStep} (edited step complete)`);
|
|
1892
|
-
chatState.returnToStep = null;
|
|
1893
1892
|
|
|
1894
|
-
if
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1893
|
+
// ā
NEW: Check if there are dependent steps between current and target that should now be shown
|
|
1894
|
+
const currentStepIndex = chatState.step;
|
|
1895
|
+
const editedStepField = flowData.flow[currentStepIndex]?.input?.field;
|
|
1896
|
+
|
|
1897
|
+
console.log(` š Checking for dependent steps between ${currentStepIndex} and ${targetStep}`);
|
|
1898
|
+
|
|
1899
|
+
let nextStepToShow = null;
|
|
1900
|
+
|
|
1901
|
+
// Check all steps between current and target
|
|
1902
|
+
for (let i = currentStepIndex + 1; i < targetStep; i++) {
|
|
1903
|
+
const step = flowData.flow[i];
|
|
1903
1904
|
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1905
|
+
// Check if this step depends on the edited field
|
|
1906
|
+
if (step.dependsOn) {
|
|
1907
|
+
const dependencies = Array.isArray(step.dependsOn) ? step.dependsOn : [step.dependsOn];
|
|
1908
|
+
|
|
1909
|
+
if (dependencies.includes(editedStepField)) {
|
|
1910
|
+
console.log(` š Found dependent step ${i} (depends on ${editedStepField})`);
|
|
1911
|
+
|
|
1912
|
+
// Check if this step should now be displayed
|
|
1913
|
+
if (step.shouldDisplay) {
|
|
1914
|
+
let shouldShow = false;
|
|
1915
|
+
|
|
1916
|
+
if (typeof step.shouldDisplay === 'function') {
|
|
1917
|
+
try {
|
|
1918
|
+
shouldShow = await step.shouldDisplay(chatState.data);
|
|
1919
|
+
console.log(` š Step ${i} shouldDisplay: ${shouldShow}`);
|
|
1920
|
+
} catch (error) {
|
|
1921
|
+
console.error(`Error in shouldDisplay for step ${i}:`, error);
|
|
1922
|
+
}
|
|
1923
|
+
} else if (typeof step.shouldDisplay === 'boolean') {
|
|
1924
|
+
shouldShow = step.shouldDisplay;
|
|
1925
|
+
}
|
|
1926
|
+
|
|
1927
|
+
if (shouldShow) {
|
|
1928
|
+
console.log(` ā
Step ${i} should now be shown - showing it first`);
|
|
1929
|
+
nextStepToShow = i;
|
|
1930
|
+
break; // Show the first dependent step that should be displayed
|
|
1931
|
+
} else {
|
|
1932
|
+
console.log(` āļø Step ${i} shouldDisplay returned false - skipping`);
|
|
1933
|
+
}
|
|
1934
|
+
} else {
|
|
1935
|
+
// No shouldDisplay means always show
|
|
1936
|
+
console.log(` ā
Step ${i} has no shouldDisplay - showing it`);
|
|
1937
|
+
nextStepToShow = i;
|
|
1938
|
+
break;
|
|
1939
|
+
}
|
|
1940
|
+
}
|
|
1941
|
+
}
|
|
1942
|
+
}
|
|
1943
|
+
|
|
1944
|
+
if (nextStepToShow !== null) {
|
|
1945
|
+
// Show the dependent step that should be displayed
|
|
1946
|
+
console.log(` š Showing dependent step ${nextStepToShow} before returning to ${targetStep}`);
|
|
1947
|
+
chatState.step = nextStepToShow;
|
|
1907
1948
|
} else {
|
|
1908
|
-
|
|
1949
|
+
// No dependent steps to show, return to target
|
|
1950
|
+
console.log(` āļø No dependent steps to show, returning directly to step ${targetStep}`);
|
|
1951
|
+
chatState.returnToStep = null;
|
|
1952
|
+
chatState.step = targetStep;
|
|
1909
1953
|
}
|
|
1954
|
+
|
|
1955
|
+
const allRangeWrappers = document.querySelectorAll('[data-chat-element="range-wrapper"]');
|
|
1956
|
+
allRangeWrappers.forEach(wrapper => {
|
|
1957
|
+
wrapper.style.display = 'none';
|
|
1958
|
+
});
|
|
1959
|
+
console.log(' š Hidden all range-wrappers');
|
|
1960
|
+
|
|
1961
|
+
updateEditIcons();
|
|
1962
|
+
await showNextStep();
|
|
1963
|
+
return;
|
|
1910
1964
|
}
|
|
1911
1965
|
|
|
1912
1966
|
chatState.step++;
|