delete trainingjobs 43/11043/1
authorrajdeep11 <rajdeep.sin@samsung.com>
Mon, 8 May 2023 10:23:28 +0000 (15:53 +0530)
committerrajdeep11 <rajdeep.sin@samsung.com>
Mon, 8 May 2023 10:24:27 +0000 (15:54 +0530)
Issue-Id: AIMLFW-41

Change-Id: Ic02e1b7e1d1bcf5a9f689d9553996fa2929378fc
Signed-off-by: rajdeep11 <rajdeep.sin@samsung.com>
src/components/home/status/API_STATUS.js
src/components/home/status/StatusPageRows.js

index b5aebe6..cdedb93 100644 (file)
@@ -19,6 +19,26 @@ export const invokeStartTraining = async (trainingjobNames) => {
   }    
 };
 
+export const deleteTrainingjobs = async (deleteTJList) =>{
+  console.log('Delete API called ', deleteTJList);
+  try{
+    let res = await axios.delete(CONSTANTS.UCMgr_baseUrl + '/trainingjobs',
+    {
+      data : {
+        "list" : deleteTJList      
+      }      
+    }
+    );
+    console.log('Delete API response', res)
+    let result = 'trainingjob deletion initiated for selected trainingjob(s),Result'
+        + '\n' + JSON.stringify(res.data);
+    alert(result);
+  }
+  catch(error){
+    console.log(error);
+  }
+};
+
 export const deleteFeatureGroups = async (featureGroup_names) => {
   console.log('deleting feature groups', featureGroup_names);
   try {
index bf30421..d701130 100644 (file)
@@ -25,7 +25,7 @@ import axios from 'axios';
 import { Checkbox } from './Checkbox';
 import Popup from './Popup';
 import TrainingJobInfo from './TrainingJobInfo';
-import {invokeStartTraining} from './API_STATUS';
+import {invokeStartTraining, deleteTrainingjobs} from './API_STATUS';
 import StepsState from './StepsState';
 import CreateOrEditTrainingJobForm from '../form/CreateOrEditTrainingJobForm';
 
@@ -106,6 +106,32 @@ const StatusPageRows = (props) => {
     }
   }
 
+  const handleDelete  = async (event) => {
+    
+    console.log('handleDelete starts..');
+    if(selectedFlatRows.length > 0) {
+      let deleteTJList =  [] 
+      for (const row of selectedFlatRows) {
+          let trainingjobDict = {};
+          trainingjobDict['trainingjob_name'] = row.original.trainingjob_name
+          trainingjobDict['version'] = row.original.version
+          deleteTJList.push(trainingjobDict)
+      } 
+      console.log('Selected trainingjobs for deletion : ',deleteTJList);
+      try{
+        await deleteTrainingjobs(deleteTJList);
+        await fetchTrainingJobs();
+      }
+      catch(error) {
+        console.log(error)
+      } 
+      toggleAllRowsSelected(false);
+    }
+    else{
+      alert('Please select atleast one trainingjob')
+    } 
+  }
+
   const handleStepStateClick = (trainingjob_name, version) => {
     setStepsStateTrainingJobNameAndVersion({
       trainingjob_name : trainingjob_name,
@@ -196,6 +222,9 @@ const StatusPageRows = (props) => {
       <Button variant="success" size="sm" onClick={e => handleRetrain(e)} >
         Train
       </Button>{' '}
+      <Button variant="success" size="sm" onClick={e => handleDelete(e)} >
+        Delete
+      </Button>{' '}
       <BTable className="Status_table" responsive striped bordered hover size="sm"  {...getTableProps()}>
 
         <thead>