/** * @file Container组件的Action * @author dongtiancheng */ export const SET_DATA = 'SET_DATA'; export const SET_DATA_LIST = 'SET_DATA_LIST'; export const SET_MULTI_DATA = 'SET_MULTI_DATA'; export const RESET_STORE = 'RESET_STORE'; export const DELETE_DATA = 'DELETE_DATA'; export const CLEAR_DATA = 'CLEAR_DATA'; export const SYNC_LOAD_DATA_SUCCESS = 'SYNC_LOAD_DATA_SUCCESS'; export const SYNC_LOAD_DATA_FAIL = 'SYNC_LOAD_DATA_FAIL'; export const ASYNC_LOAD_DATA_PROGRESS = 'ASYNC_LOAD_DATA_PROGRESS'; export const ASYNC_LOAD_DATA_SUCCESS = 'ASYNC_LOAD_DATA_SUCCESS'; export const ASYNC_LOAD_DATA_FAIL = 'ASYNC_LOAD_DATA_FAIL'; export const DATA_CUSTOMER_PASS = 'DATA_CUSTOMER_PASS'; export type SET_DATA_PAYLOAD = { name: string; value: any; }; export type DELETE_DATA_PAYLOAD = { name: string; }; export type SET_DATA_LIST_PAYLOAD = SET_DATA_PAYLOAD[]; export type SET_MULTI_DATA_PAYLOAD = ({ name: string; value: any; })[]; export type CLEAR_DATA_PAYLOAD = { model: string; }; export type ASYNC_LOAD_DATA_PROGRESS_PAYLOAD = { model: string; }; export type ASYNC_LOAD_DATA_SUCCESS_PAYLOAD = { model: string; data: any; }; export type ASYNC_LOAD_DATA_FAIL_PAYLOAD = { model: string; error: any; }; export type SYNC_LOAD_DATA_SUCCESS_PAYLOAD = { model: string; data: any }; export type SYNC_LOAD_DATA_FAIL_PAYLOAD = { model: string; error: any }; export type DATA_CUSTOMER_PASS_PAYLOAD = { model: string; data: Object; }; export type IActions = { SET_DATA: { type: typeof SET_DATA, payload: SET_DATA_PAYLOAD, model: string; }, SET_DATA_LIST: { type: typeof SET_DATA_LIST, payload: SET_DATA_LIST_PAYLOAD, model: string; }, DELETE_DATA: { type: typeof DELETE_DATA, payload: DELETE_DATA_PAYLOAD, model: string; }, SET_MULTI_DATA: { type: typeof SET_MULTI_DATA, payload: SET_MULTI_DATA_PAYLOAD, model: string }, CLEAR_DATA: { type: typeof CLEAR_DATA, payload: CLEAR_DATA_PAYLOAD }, RESET_STORE: { type: typeof RESET_STORE }, ASYNC_LOAD_DATA_PROGRESS: { type: typeof ASYNC_LOAD_DATA_PROGRESS, payload: ASYNC_LOAD_DATA_PROGRESS_PAYLOAD }, ASYNC_LOAD_DATA_SUCCESS: { type: typeof ASYNC_LOAD_DATA_SUCCESS, payload: ASYNC_LOAD_DATA_SUCCESS_PAYLOAD }, ASYNC_LOAD_DATA_FAIL: { type: typeof ASYNC_LOAD_DATA_FAIL, payload: ASYNC_LOAD_DATA_FAIL_PAYLOAD }, SYNC_LOAD_DATA_SUCCESS: { type: typeof SYNC_LOAD_DATA_SUCCESS, payload: SYNC_LOAD_DATA_SUCCESS_PAYLOAD }, SYNC_LOAD_DATA_FAIL: { type: typeof SYNC_LOAD_DATA_FAIL, payload: SYNC_LOAD_DATA_FAIL_PAYLOAD }, DATA_CUSTOMER_PASS: { type: typeof DATA_CUSTOMER_PASS, payload: DATA_CUSTOMER_PASS_PAYLOAD } }; export type IContainerAction = IActions[keyof IActions]; export const actionCreators = { setData: (payload: SET_DATA_PAYLOAD, model: string) => ({ type: SET_DATA as typeof SET_DATA, payload, model }), setDataList: (payload: SET_DATA_LIST_PAYLOAD, model: string) => ({ type: SET_DATA_LIST as typeof SET_DATA_LIST, payload, model }), setMultiData: (payload: SET_MULTI_DATA_PAYLOAD, model: string) => ({ type: SET_MULTI_DATA as typeof SET_MULTI_DATA, payload, model }), deleteData: (payload: DELETE_DATA_PAYLOAD, model: string) => ({ type: DELETE_DATA as typeof DELETE_DATA, payload, model }), resetStore: () => ({ type: RESET_STORE as typeof RESET_STORE }), clearData: (payload: CLEAR_DATA_PAYLOAD) => ({ type: CLEAR_DATA as typeof CLEAR_DATA, payload }), asyncLoadDataProgress: (payload: ASYNC_LOAD_DATA_PROGRESS_PAYLOAD) => ({ type: ASYNC_LOAD_DATA_PROGRESS as typeof ASYNC_LOAD_DATA_PROGRESS, payload }), asyncLoadDataSuccess: (payload: ASYNC_LOAD_DATA_SUCCESS_PAYLOAD) => ({ type: ASYNC_LOAD_DATA_SUCCESS as typeof ASYNC_LOAD_DATA_SUCCESS, payload }), asyncLoadDataFail: (payload: ASYNC_LOAD_DATA_FAIL_PAYLOAD) => ({ type: ASYNC_LOAD_DATA_FAIL as typeof ASYNC_LOAD_DATA_FAIL, payload }), syncLoadDataSuccess: (payload: SYNC_LOAD_DATA_SUCCESS_PAYLOAD) => ({ type: SYNC_LOAD_DATA_SUCCESS as typeof SYNC_LOAD_DATA_SUCCESS, payload }), syncLoadDataFail: (payload: SYNC_LOAD_DATA_FAIL_PAYLOAD) => ({ type: SYNC_LOAD_DATA_FAIL as typeof SYNC_LOAD_DATA_FAIL, payload }), dataCustomerPass: (payload: DATA_CUSTOMER_PASS_PAYLOAD) => ({ type: DATA_CUSTOMER_PASS as typeof DATA_CUSTOMER_PASS, payload }) };