From f7940c244cb32acaaa711c7f25df1a590ed322d2 Mon Sep 17 00:00:00 2001 From: sumedh Date: Tue, 3 Sep 2024 17:12:14 +0530 Subject: [PATCH] dialog modifications --- src/views/pages/KsGitRepos.vue | 259 +++++++++++++++------------------ 1 file changed, 117 insertions(+), 142 deletions(-) diff --git a/src/views/pages/KsGitRepos.vue b/src/views/pages/KsGitRepos.vue index 9ab9fff..5d4d125 100644 --- a/src/views/pages/KsGitRepos.vue +++ b/src/views/pages/KsGitRepos.vue @@ -1,6 +1,6 @@ @@ -149,15 +151,11 @@ const codeRepoInfo = ref(null); const loading = ref(true); const toast = useToast(); const confirm = useConfirm(); +const expandedRows = ref({}); -const confirmDialogVisible = ref(false); -const recordToDelete = ref(null); - -const ingestionDialogVisible = ref(false); const ingestionResult = ref(''); const popupTitle = ref(''); const popupMessage = ref(''); -let checkStatusInterval = null; const filters = ref(); const statuses = ref(['NEW', 'INGESTED', 'FAILED', 'INPROGRESS']); @@ -197,68 +195,37 @@ const getCustomDatewithAllResponse = (data) => { }); }; -//------------------------------------------------------------------------------------------------------- -const ingestGitRepo = (repo) => { - axios - .get(`/test/ingest_repo?repoName=${repo.repoName}&branchName=${repo.branch}`) - .then((response) => { - showPopup('Ingestion started', 'info'); - toast.add({ severity: 'success', summary: 'Ingestion Summary', detail: 'Repository Ingestion Started', life: 3000 }); - startPollingStatus(repo); - }) - .catch((error) => { - showPopup('Error starting ingestion', 'error'); - }); -}; - -const startPollingStatus = (repo) => { - if (checkStatusInterval) { - // Prevent starting multiple intervals if there's already one running - clearInterval(checkStatusInterval); - } - - checkStatusInterval = setInterval(() => { - checkIngestionStatus(repo); - }, 100000); // Poll every 1 minute -}; - -const checkIngestionStatus = (repo) => { - axios - .get(`/test/check_ingestion_status?repoName=${repo.repoName}&branchName=${repo.branch}`) - .then((response) => { - const data = response.data; - if (data.status === 'INGESTED') { - clearInterval(checkStatusInterval); - checkStatusInterval = null; // Reset interval reference - showPopup('Ingestion completed successfully', 'success'); - updateRepositoryStatus(data.ingestedDocumentId); - } else if (data.status === 'ERROR') { - clearInterval(checkStatusInterval); - checkStatusInterval = null; // Reset interval reference - showPopup(`Error: ${data.message}`, 'error'); - } - }) - .catch((error) => { - clearInterval(checkStatusInterval); - checkStatusInterval = null; // Reset interval reference - showPopup('Error checking ingestion status', 'error'); - }); -}; - -const updateRepositoryStatus = (ingestedDocumentId) => { - // Update status of the repository in your local state or data - codeRepoInfo.value.forEach((element) => { - if (ingestedDocumentId.includes(element.id)) { - element.status = 'INGESTED'; +//ingest git repo functions +const ingestGitRepo = (repo) => { + confirm.require({ + target: event.currentTarget, + message: 'Are you sure you want to proceed?', + icon: 'pi pi-exclamation-circle', + rejectProps: { + label: 'Cancel', + severity: 'secondary', + outlined: true + }, + acceptProps: { + label: 'Ingest Record', + severity: 'danger', + }, + accept: () => { + axios.get(`/test/ingest_repo?repoName=${repo.repoName}&branchName=${repo.branch}`) + .then((response) => { + toast.add({ severity: 'success', summary: 'Ingestion Summary', detail: 'Repository Ingestion Started', life: 6000 }); + console.log('Delete resource:', response.data) + }) + .catch((error) => { + console.error('Error deleting records: ', error) + toast.add({ severity: 'error', summary: 'Error', detail: 'Error Ingesting records:', life: 6000 }); + }); + }, + reject: () => { + toast.add({severity: 'error', summary: 'Rejected', detail: 'You have rejected', life: 3000}) } - }); -}; - -const showPopup = (message, severity) => { - popupMessage.value = message; - popupTitle.value = severity === 'success' ? 'Success' : severity === 'error' ? 'Error' : severity === 'info' ? 'Ingestion Status' : 'Notification'; - ingestionDialogVisible.value = true; + }) }; // --------------------------------------------------------------------------------------------------------- @@ -297,52 +264,52 @@ const getStatus = (data) => { }; //delete functionality -function showConfirmDialog(id) { - recordToDelete.value = id; - confirmDialogVisible.value = true; -} +const deleteRecordsFromVectorStore = (data) =>{ + console.log("data",data); + console.log("reponame",data.repoName); -function confirmDelete() { - if (recordToDelete.value !== null) { - deleteRecordsFromVectorStore(recordToDelete.value); - recordToDelete.value = null; - } - confirmDialogVisible.value = false; -} - -function resetConfirmDialog() { - recordToDelete.value = null; -} - - -const deleteRecordsFromVectorStore = (id) => { - const ksGitInfoToDelete = codeRepoInfo.value.find(ksGitInfo => ksGitInfo.id === id); - - if (!ksGitInfoToDelete) { - console.error('Repository not found'); - return; - } - - const requestPayload = { - ksGitInfoId: id, - ksGitIngestionInfoId: ksGitInfoToDelete.ksGitIngestionInfo.id, - ksDoctype: ksGitInfoToDelete.ksGitIngestionInfo.metadata.KsDoctype, - ksDocSource: ksGitInfoToDelete.ksGitIngestionInfo.metadata.KsDocSource, - ksFileSource: ksGitInfoToDelete.ksGitIngestionInfo.metadata.KsFileSource, - ksApplicationName: ksGitInfoToDelete.ksGitIngestionInfo.metadata.KsApplicationName, - ksBranch: ksGitInfoToDelete.ksGitIngestionInfo.metadata.KsBranch + const requestPayload = { + ksGitInfoId: data.id, + ksGitIngestionInfoId: data.ksGitIngestionInfo.id, + ksDoctype: data.ksGitIngestionInfo.metadata.KsDoctype, + ksDocSource: data.ksGitIngestionInfo.metadata.KsDocSource, + ksFileSource: data.ksGitIngestionInfo.metadata.KsFileSource, + ksApplicationName: data.ksGitIngestionInfo.metadata.KsApplicationName, + ksBranch: data.ksGitIngestionInfo.metadata.KsBranch }; + console.log("requestPayload",requestPayload) - axios.post('/fe-api/vector-store/deleteGitRecords', requestPayload) - .then(response => { - console.log('Delete resource:', response.data) - codeRepoInfo.value = codeRepoInfo.value.filter(ksGitInfo => ksGitInfo.id !== id); - }) - .catch(error => { - console.error('Error deleting records: ', error) - }); -} + confirm.require({ + target: event.currentTarget, + message: 'Are you sure you want to proceed?', + icon: 'pi pi-exclamation-circle', + rejectProps: { + label: 'Cancel', + severity: 'secondary', + outlined: true + }, + acceptProps: { + label: 'Delete Records', + severity: 'danger', + }, + accept: () => { + axios.post('/fe-api/vector-store/deleteGitRecords', requestPayload) + .then(response => { + toast.add({ severity: 'info', summary: 'Deletion', detail: 'Records Deletion INPROGRESS', life: 6000 }); + console.log('Delete resource:', response.data) + }) + .catch(error => { + console.error('Error deleting records: ', error) + toast.add({ severity: 'error', summary: 'Error', detail: 'Error deleting records:', life: 6000 }); + }); + }, + reject: () => { + toast.add({severity: 'error', summary: 'Rejected', detail: 'You have rejected', life: 3000}) + } + }) +}; +//reingest latest changes const reIngestWithPullChanges = (data) =>{ console.log("data",data); console.log("reponame",data.repoName); @@ -350,14 +317,14 @@ const reIngestWithPullChanges = (data) =>{ confirm.require({ target: event.currentTarget, message: 'Are you sure you want to proceed?', - icon: 'pi pi-exclamation-triangle', + icon: 'pi pi-exclamation-circle', rejectProps: { label: 'Cancel', severity: 'secondary', outlined: true }, acceptProps: { - label: 'Ingest Changes', + label: 'Reingest Latest Changes', severity: 'danger', }, accept: () => { @@ -375,6 +342,14 @@ const reIngestWithPullChanges = (data) =>{ } }) }; + +//expand +const onRowExpand = (event) => { + toast.add({ severity: 'info', summary: 'Product Expanded', detail: event.data, life: 3000 }); +}; +const onRowCollapse = (event) => { + toast.add({ severity: 'success', summary: 'Product Collapsed', detail: event.data, life: 3000 }); +}; + \ No newline at end of file