checkBody.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import {SET,SETNUMBER4,SETSELECTED4,SETCHECKBOX,ADDLABELITEM,SETCHECKTEXT,SETSEARCHDATA,
  2. SELECTSEARCHDATA,CHANGECHECKTEXTLABEL,CLEARCHECKBODY,CHECK_FOCUS_INDEX,CHECKBODY_CLEAR,SETCHECKINPUT,DEL_CHECKBODY} from '../types/checkBody.js';
  3. import {set,setNumberValue,setRadioValue,setCheckBoxValue,addLabelItem,setCheckText,setSearchData,insertLabelData,changeLabelVal,clearCheckBody,setInputLabel,backspaceText} from '../actions/checkBody.js';
  4. import config from '@config/index.js';
  5. const block = Object.assign(JSON.parse(config.textLabel),{full:true});
  6. const initState = {
  7. data:[],
  8. saveText:[], //saveText为生成的纯文本
  9. searchData:[],
  10. selecteds:[],
  11. focusIndex:''};
  12. export default function(state=initState,action){
  13. let res = Object.assign({},state);
  14. switch(action.type){
  15. case SET:
  16. return set(state,action);
  17. case SETNUMBER4:
  18. return setNumberValue(state,action);
  19. case SETSELECTED4:
  20. return setRadioValue(state,action);
  21. case ADDLABELITEM:
  22. return addLabelItem(state,action);
  23. case SETCHECKTEXT:
  24. return setCheckText(state,action);
  25. case SETSEARCHDATA:
  26. return setSearchData(state,action);
  27. case SETCHECKBOX:
  28. return setCheckBoxValue(state,action);
  29. case SELECTSEARCHDATA:
  30. return insertLabelData(state,action);
  31. case CLEARCHECKBODY:
  32. return clearCheckBody(state,action);
  33. case CHANGECHECKTEXTLABEL://改变标签值
  34. return changeLabelVal(state,action);
  35. case CHECK_FOCUS_INDEX:
  36. res.focusIndex = action.index;
  37. res.span = action.$span;
  38. case CHECKBODY_CLEAR://失焦清空搜索值
  39. res.searchData = [];
  40. return res;
  41. case SETCHECKINPUT:
  42. return setInputLabel(state,action);
  43. case DEL_CHECKBODY:
  44. return backspaceText(state,action);
  45. default:
  46. return res;
  47. }
  48. }