mirror of https://github.com/doccano/doccano.git
pythondatasetnatural-language-processingdata-labelingmachine-learningannotation-tooldatasetsactive-learningtext-annotation
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
1.4 KiB
63 lines
1.4 KiB
import ProjectService from '@/services/project.service'
|
|
|
|
export const state = () => ({
|
|
projects: [],
|
|
selected: []
|
|
})
|
|
|
|
export const getters = {
|
|
isProjectSelected(state) {
|
|
return state.selected.length > 0
|
|
}
|
|
}
|
|
|
|
export const mutations = {
|
|
setProjectList(state, payload) {
|
|
state.projects = payload
|
|
},
|
|
createProject(state, project) {
|
|
state.projects.unshift(project)
|
|
},
|
|
deleteProject(state, projectId) {
|
|
state.projects = state.projects.filter(item => item.id !== projectId)
|
|
},
|
|
updateSelected(state, selected) {
|
|
state.selected = selected
|
|
},
|
|
resetSelected(state) {
|
|
state.selected = []
|
|
}
|
|
}
|
|
|
|
export const actions = {
|
|
getProjectList(context, config) {
|
|
return ProjectService.getProjectList()
|
|
.then((response) => {
|
|
context.commit('setProjectList', response)
|
|
})
|
|
.catch((error) => {
|
|
alert(error)
|
|
})
|
|
},
|
|
createProject({ commit }, project) {
|
|
ProjectService.createProject(project)
|
|
.then((response) => {
|
|
commit('createProject', response)
|
|
})
|
|
.catch((error) => {
|
|
alert(error)
|
|
})
|
|
},
|
|
deleteProject({ commit, state }, config) {
|
|
for (const project of state.selected) {
|
|
ProjectService.deleteProject(project.id)
|
|
.then((response) => {
|
|
commit('deleteProject', project.id)
|
|
})
|
|
.catch((error) => {
|
|
alert(error)
|
|
})
|
|
}
|
|
commit('resetSelected')
|
|
}
|
|
}
|