@maap-jupyterlab/dps-jupyter-extension
Version:
A JupyterLab extension for submitting and viewing jobs.
44 lines (43 loc) • 1.28 kB
JavaScript
import { createSlice } from '@reduxjs/toolkit';
const initialState = {
userJobIDs: [],
userJobs: [],
userJobStatuses: [],
selectedJob: null,
userJobInfo: [],
formattedJobsInfo: [],
jobRefreshTimestamp: null
};
export const jobsSlice = createSlice({
name: 'Jobs',
initialState,
reducers: {
resetValue: () => initialState,
setUserJobIDs: (state, action) => {
state.userJobIDs = action.payload;
},
setUserJobs: (state, action) => {
state.userJobs = action.payload;
},
setJobStatuses: (state, action) => {
state.userJobStatuses = action.payload;
},
setSelectedJob: (state, action) => {
state.selectedJob = action.payload;
},
setUserJobInfo: (state, action) => {
state.userJobInfo = action.payload;
},
setFormattedJobsInfo: (state, action) => {
state.formattedJobsInfo = action.payload;
},
setJobRefreshTimestamp: (state, action) => {
state.jobRefreshTimestamp = action.payload;
}
},
});
// Actions
export const jobsActions = jobsSlice.actions;
// Selector
export const selectJobs = (state) => state.Jobs;
export default jobsSlice.reducer;