const sample = { state: Object.freeze({ sampleList: [] // [{ inputFileName: String; data: Object; }] }), mutations: { SET_SAMPLE_LIST: (state, sampleList) => { state.sampleList = sampleList }, ADD_SAMPLE_DATA: (state, sampleData) => { const find = state.sampleList.find(item => item.inputFileName == sampleData.inputFileName) if (find) { find.data = sampleData.data } else { state.sampleList.push(sampleData) } }, UPDATE_SAMPLE_DATA: (state, { inputFileName, key, data }) => { const find = state.sampleList.find(item => item.inputFileName == inputFileName) if (find) { find.data[key] = data } }, UPDATE_SAMPLE_DATA_ANALY: (state, { inputFileName, data }) => { const find = state.sampleList.find(item => item.inputFileName == inputFileName) if (find) { data.DetailedInformation = find.data.DetailedInformation find.data = data } }, REMOVE_SAMPLE_DATA: (state, inputFileName) => { const findIndex = state.sampleList.findIndex(item => item.inputFileName == inputFileName) if(-1 !== findIndex) { state.sampleList.splice(findIndex, 1) } }, CLEAR_SAMPLE_DATA: (state) => { state.sampleList = [] } }, actions: { GET_SAMPLE_DATA: ({ state }, inputFileName) => { const find = state.sampleList.find(item => item.inputFileName == inputFileName) return find ? find : null } } } export default sample