Skip to content

Commit 57cfee5

Browse files
queue state updates
1 parent f86b6cc commit 57cfee5

File tree

5 files changed

+45
-27
lines changed

5 files changed

+45
-27
lines changed

frontend/src/components/Content.tsx

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ import { tokens } from '@neo4j-ndl/base';
3131
import RetryConfirmationDialog from './Popups/RetryConfirmation/Index';
3232
import retry from '../services/retry';
3333
import { showErrorToast, showNormalToast, showSuccessToast } from '../utils/toasts';
34+
import Queue from '../utils/Queue';
3435
const ConnectionModal = lazy(() => import('./Popups/ConnectionModal/ConnectionModal'));
3536
const ConfirmationDialog = lazy(() => import('./Popups/LargeFilePopUp/ConfirmationDialog'));
3637

@@ -80,6 +81,7 @@ const Content: React.FC<ContentProps> = ({
8081
setSelectedRels,
8182
postProcessingTasks,
8283
queue,
84+
setQueue,
8385
processedCount,
8486
setProcessedCount,
8587
} = useFileContext();
@@ -334,6 +336,7 @@ const Content: React.FC<ContentProps> = ({
334336
};
335337

336338
const addFilesToQueue = (remainingFiles: CustomFile[]) => {
339+
const newqueue = new Queue([...queue.items]);
337340
for (let index = 0; index < remainingFiles.length; index++) {
338341
const f = remainingFiles[index];
339342
setFilesData((prev) =>
@@ -347,8 +350,9 @@ const Content: React.FC<ContentProps> = ({
347350
return pf;
348351
})
349352
);
350-
queue.enqueue(f);
353+
newqueue.enqueue(f);
351354
}
355+
setQueue(newqueue);
352356
};
353357

354358
const scheduleBatchWiseProcess = (selectedRows: CustomFile[], isSelectedFiles: boolean) => {
@@ -473,7 +477,8 @@ const Content: React.FC<ContentProps> = ({
473477
};
474478

475479
const disconnect = () => {
476-
queue.clear();
480+
const newemptyqueue = new Queue([]);
481+
setQueue(newemptyqueue);
477482
setProcessedCount(0);
478483
setConnectionStatus(false);
479484
localStorage.removeItem('password');
@@ -566,7 +571,8 @@ const Content: React.FC<ContentProps> = ({
566571
childRef.current?.getSelectedRows() as CustomFile[],
567572
deleteEntities
568573
);
569-
queue.clear();
574+
const newemptyqueue = new Queue([]);
575+
setQueue(newemptyqueue);
570576
setProcessedCount(0);
571577
setRowSelection({});
572578
setdeleteLoading(false);

frontend/src/components/FileTable.tsx

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,21 @@ import IconButtonWithToolTip from './UI/IconButtonToolTip';
4747
import { batchSize, largeFileSize, llms } from '../utils/Constants';
4848
import IndeterminateCheckbox from './UI/CustomCheckBox';
4949
import { showErrorToast, showNormalToast } from '../utils/toasts';
50+
import Queue from '../utils/Queue';
5051
let onlyfortheFirstRender = true;
5152
const FileTable = forwardRef<ChildRef, FileTableProps>((props, ref) => {
5253
const { isExpanded, connectionStatus, setConnectionStatus, onInspect, onRetry } = props;
53-
const { filesData, setFilesData, model, rowSelection, setRowSelection, setSelectedRows, setProcessedCount, queue } =
54-
useFileContext();
54+
const {
55+
filesData,
56+
setFilesData,
57+
model,
58+
rowSelection,
59+
setRowSelection,
60+
setSelectedRows,
61+
setProcessedCount,
62+
queue,
63+
setQueue,
64+
} = useFileContext();
5565
const { userCredentials } = useCredentials();
5666
const columnHelper = createColumnHelper<CustomFile>();
5767
const [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([]);
@@ -618,13 +628,14 @@ const FileTable = forwardRef<ChildRef, FileTableProps>((props, ref) => {
618628
if (res.data.status !== 'Failed') {
619629
const prefiles: CustomFile[] = [];
620630
if (res.data.data.length) {
631+
const tempqueue = new Queue([...queue.items]);
621632
res.data.data.forEach((item) => {
622633
if (item.fileName != undefined && item.fileName.length) {
623634
const waitingFile =
624635
waitingQueue.length && waitingQueue.find((f: CustomFile) => f.name === item.fileName);
625636
if (isFileCompleted(waitingFile as CustomFile, item)) {
626637
setProcessedCount((prev) => calculateProcessedCount(prev, batchSize));
627-
queue.remove(item.fileName);
638+
tempqueue.remove(item.fileName);
628639
}
629640
if (waitingFile && item.status === 'Completed') {
630641
setProcessedCount((prev) => {
@@ -633,7 +644,7 @@ const FileTable = forwardRef<ChildRef, FileTableProps>((props, ref) => {
633644
}
634645
return prev + 1;
635646
});
636-
queue.remove(item.fileName);
647+
tempqueue.remove(item.fileName);
637648
}
638649
prefiles.push({
639650
name: item?.fileName,
@@ -674,8 +685,10 @@ const FileTable = forwardRef<ChildRef, FileTableProps>((props, ref) => {
674685
: handleLargeFile(item, userCredentials as UserCredentials);
675686
}
676687
});
688+
setQueue(tempqueue);
677689
} else {
678-
queue.clear();
690+
const tempemptyqueue = new Queue([]);
691+
setQueue(tempemptyqueue);
679692
}
680693
setIsLoading(false);
681694
setFilesData(prefiles);
@@ -808,7 +821,9 @@ const FileTable = forwardRef<ChildRef, FileTableProps>((props, ref) => {
808821
}
809822
return prev + 1;
810823
});
811-
queue.remove(fileName);
824+
const tempqueue = new Queue([...queue.items]);
825+
tempqueue.remove(fileName);
826+
setQueue(tempqueue);
812827
}
813828
};
814829

frontend/src/hooks/useSse.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
import { useFileContext } from '../context/UsersFiles';
22
import { eventResponsetypes } from '../types';
33
import { batchSize } from '../utils/Constants';
4+
import Queue from '../utils/Queue';
45
import { calculateProcessingTime } from '../utils/Utils';
56

67
export default function useServerSideEvent(
78
alertHandler: (inMinutes: boolean, minutes: number, filename: string) => void,
89
errorHandler: (filename: string) => void
910
) {
10-
const { setFilesData, setProcessedCount, queue } = useFileContext();
11+
const { setFilesData, setProcessedCount, queue, setQueue } = useFileContext();
1112
function updateStatusForLargeFiles(eventSourceRes: eventResponsetypes) {
1213
const {
1314
fileName,
@@ -67,7 +68,9 @@ export default function useServerSideEvent(
6768
}
6869
return prev + 1;
6970
});
70-
queue.remove(fileName);
71+
const tempqueue = new Queue([...queue.items]);
72+
tempqueue.remove(fileName);
73+
setQueue(tempqueue);
7174
} else if (eventSourceRes.status === 'Failed') {
7275
setFilesData((prevfiles) => {
7376
return prevfiles.map((curfile) => {

frontend/src/services/CommonAPI.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,7 @@ const apiCall = async (
1414
formData.append(key, commonParams[key]);
1515
}
1616
for (const key in additionalParams) {
17-
if (additionalParams.hasOwnProperty(key)) {
18-
formData.append(key, additionalParams[key]);
19-
}
17+
formData.append(key, additionalParams[key]);
2018
}
2119
const response: AxiosResponse = await axios({
2220
method: method,

frontend/src/types.ts

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -37,15 +37,14 @@ export interface OptionType {
3737
readonly label: string;
3838
}
3939

40-
4140
export type UserCredentials = {
4241
uri: string;
4342
userName: string;
4443
password: string;
4544
database: string;
4645
} & { [key: string]: any };
4746

48-
export interface SourceNode extends Omit<CustomFileBase,'relationshipCount'> {
47+
export interface SourceNode extends Omit<CustomFileBase, 'relationshipCount'> {
4948
fileName: string;
5049
fileSize: number;
5150
fileType: string;
@@ -61,7 +60,7 @@ export interface SourceNode extends Omit<CustomFileBase,'relationshipCount'> {
6160
retry_condition?: string;
6261
}
6362

64-
export type ExtractParams = Pick<CustomFile,'wiki_query'|'model'|'source_url'|'language'|'access_token'>&{
63+
export type ExtractParams = Pick<CustomFile, 'wiki_query' | 'model' | 'source_url' | 'language' | 'access_token'> & {
6564
file?: File;
6665
aws_access_key_id?: string | null;
6766
aws_secret_access_key?: string | null;
@@ -75,7 +74,7 @@ export type ExtractParams = Pick<CustomFile,'wiki_query'|'model'|'source_url'|'l
7574
allowedRelationship?: string[];
7675
gcs_project_id?: string;
7776
retry_condition: string;
78-
} & { [key: string]: any }
77+
} & { [key: string]: any };
7978

8079
export type UploadParams = {
8180
file: Blob;
@@ -106,12 +105,10 @@ export interface S3ModalProps {
106105
hideModal: () => void;
107106
open: boolean;
108107
}
109-
export interface GCSModalProps extends Omit<S3ModalProps,''>{
108+
export interface GCSModalProps extends Omit<S3ModalProps, ''> {
110109
openGCSModal: () => void;
111110
}
112111

113-
114-
115112
export interface SideNavProps {
116113
isExpanded: boolean;
117114
position: 'left' | 'right';
@@ -235,8 +232,7 @@ export type ChatbotProps = {
235232
clear?: boolean;
236233
isFullScreen?: boolean;
237234
};
238-
export interface WikipediaModalTypes extends Omit<S3ModalProps,''> {
239-
}
235+
export interface WikipediaModalTypes extends Omit<S3ModalProps, ''> {}
240236

241237
export interface GraphViewModalProps {
242238
open: boolean;
@@ -325,7 +321,7 @@ export type alertStateType = {
325321
alertType: OverridableStringUnion<AlertColor, AlertPropsColorOverrides> | undefined;
326322
alertMessage: string;
327323
};
328-
export interface BannerAlertProps extends Omit<alertStateType,'alertType'>{
324+
export interface BannerAlertProps extends Omit<alertStateType, 'alertType'> {
329325
alertType: BannerType;
330326
}
331327
export type Scheme = Record<string, string>;
@@ -423,9 +419,9 @@ export interface chatInfoMessage extends Partial<Messages> {
423419
error: string;
424420
}
425421

426-
export interface eventResponsetypes extends Omit<SourceNode,'total_chunks'|'processingTime'> {
422+
export interface eventResponsetypes extends Omit<SourceNode, 'total_chunks' | 'processingTime'> {
427423
total_chunks: number | null;
428-
processingTime:number
424+
processingTime: number;
429425
}
430426

431427
export type Nullable<Type> = Type | null;
@@ -649,4 +645,4 @@ export interface ContextProps {
649645
export interface MessageContextType {
650646
messages: Messages[] | [];
651647
setMessages: Dispatch<SetStateAction<Messages[]>>;
652-
}
648+
}

0 commit comments

Comments
 (0)