UNPKG

qm-bus

Version:

千米公有云业务组件库

81 lines (69 loc) 1.81 kB
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: [], } } @Action('upload:switch') uploadSwitch(state, value) { return state.set('upload', value) } @Action('upload:addNetImage') addNetImage(state, value) { return state.update('netImages', netImages => netImages.push(value)) } @Action('upload:removeNetImage') removeNetImage(state, value) { return state.update('netImages', netImages => netImages.delete(value)) } @Action('upload:addImage') addImage(state, value) { return state.update('images', images => images.push(fromJS(value))) } @Action('upload:removeImage') removeImage(state, value) { return state.update('images', images => images.delete( images.findIndex((t, i) => { return value == t.get('url') }) ) ) } @Action('upload:addVideo') addVideo(state, value) { return state.update('videos', videos => videos.push(fromJS(value))) } @Action('upload:removeVideo') removeVideo(state, value) { return state.update('videos', videos => videos.delete( videos.findIndex((t, i) => { return value == t.get('url') }) ) ) } @Action('upload:uploading') uploading(state, value) { return state.set('uploading', value) } @Action('upload:clearAll') clearAll(state, value) { return state .set('netImages', fromJS([])) .set('images', fromJS([])) .set('videos', fromJS([])) } @Action('upload:setLinkAddress') setLinkAddress(state, value) { return state.set('linkAddress', value) } }