feat: handle highlighter based on pagination type

This commit is contained in:
karishmas6
2024-09-06 23:14:41 +05:30
parent db73f014bd
commit 5d0fa96343

View File

@@ -118,8 +118,12 @@ export const BrowserWindow = () => {
if (listSelector) { if (listSelector) {
socket?.emit('listSelector', { selector: listSelector }); socket?.emit('listSelector', { selector: listSelector });
if (paginationMode) { if (paginationMode) {
// Pagination mode: set the highlighterData regardless of childSelectors // Pagination mode: only set highlighterData if type is not empty, 'scrollDown', or 'scrollUp'
setHighlighterData(data); if (paginationType !== '' && paginationType !== 'scrollDown' && paginationType !== 'scrollUp') {
setHighlighterData(data);
} else {
setHighlighterData(null);
}
} else if (data.childSelectors && data.childSelectors.includes(data.selector)) { } else if (data.childSelectors && data.childSelectors.includes(data.selector)) {
// !Pagination mode: highlight only valid child elements within the listSelector // !Pagination mode: highlight only valid child elements within the listSelector
setHighlighterData(data); setHighlighterData(data);
@@ -133,7 +137,7 @@ export const BrowserWindow = () => {
} else { } else {
setHighlighterData(data); // For non-list steps setHighlighterData(data); // For non-list steps
} }
}, [highlighterData, getList, socket, listSelector, paginationMode]); }, [highlighterData, getList, socket, listSelector, paginationMode, paginationType]);
useEffect(() => { useEffect(() => {
@@ -190,7 +194,7 @@ export const BrowserWindow = () => {
if (paginationMode && getList) { if (paginationMode && getList) {
setPaginationSelector(highlighterData.selector) setPaginationSelector(highlighterData.selector)
// In pagination mode, treat any selection as the pagination selector // In pagination mode, treat any selection as the pagination selector
addListStep(listSelector!, fields, currentListId || 0, { type: '', selector: paginationSelector }); addListStep(listSelector!, fields, currentListId || 0, { type: paginationType, selector: paginationSelector });
return; return;
} }
@@ -289,6 +293,7 @@ export const BrowserWindow = () => {
const resetPaginationSelector = useCallback(() => { const resetPaginationSelector = useCallback(() => {
setPaginationSelector(''); setPaginationSelector('');
setPaginationType('');
}, []); }, []);
useEffect(() => { useEffect(() => {