qm-bus
Version:
千米公有云业务组件库
81 lines (69 loc) • 1.81 kB
JavaScript
import { Action, Actor } from 'iflux2'
import { fromJS } from 'immutable'
export default class UploadActor extends Actor {
defaultState() {
return {
upload: false,
uploading: false,
netImages: [],
images: [],
linkAddress: '',
videos: [],
}
}
uploadSwitch(state, value) {
return state.set('upload', value)
}
addNetImage(state, value) {
return state.update('netImages', netImages => netImages.push(value))
}
removeNetImage(state, value) {
return state.update('netImages', netImages => netImages.delete(value))
}
addImage(state, value) {
return state.update('images', images => images.push(fromJS(value)))
}
removeImage(state, value) {
return state.update('images', images =>
images.delete(
images.findIndex((t, i) => {
return value == t.get('url')
})
)
)
}
addVideo(state, value) {
return state.update('videos', videos => videos.push(fromJS(value)))
}
removeVideo(state, value) {
return state.update('videos', videos =>
videos.delete(
videos.findIndex((t, i) => {
return value == t.get('url')
})
)
)
}
uploading(state, value) {
return state.set('uploading', value)
}
clearAll(state, value) {
return state
.set('netImages', fromJS([]))
.set('images', fromJS([]))
.set('videos', fromJS([]))
}
setLinkAddress(state, value) {
return state.set('linkAddress', value)
}
}