import {apiRequest} from "../utils/request"; import {Base16Encode} from "../Base16/index" import baseX from 'base-x' var BASE16 = '0123456789abcdef' var bs16 = baseX(BASE16) const api="/DataColumnApi" export default { namespace: 'DataColumn', state: { list: [], refs: [], }, effects: { *clear({ payload, callback }, { call, put }) { yield put({ type: 'list', payload: [], }); if (callback) callback(); }, *autoCreate({ payload, callback }, { call, put }) { const response = yield call(apiRequest,api+"/autoCreate" ,payload); if(!response){yield put({type: 'nom'});return } yield put({ type: 'nom', payload: response, }); if (callback) callback(response); }, *getBatchOptions({ payload, callback }, { call, put }) { const response = yield call(apiRequest,api+"/getBatchOptions" ,payload); if(!response){yield put({type: 'nom'});return } yield put({ type: 'nom', payload: response, }); if (callback) callback(response); }, *findByName({ payload, callback }, { call, put }) { const response = yield call(apiRequest,api+"/getList" ,payload); if(!response){yield put({type: 'nom'});return } yield put({ type: 'nom', payload: response, }); if (callback) callback(response); },*getOptions({ payload, callback }, { call, put }) { if(payload.filterSql){ payload.filterSql=Base16Encode(payload.filterSql) } const response = yield call(apiRequest,api+"/getOptions" ,payload); if(!response){yield put({type: 'nom'});return } yield put({ type: 'nom', payload: response, }); if (callback) callback(response); }, *getLabels({ payload, callback }, { call, put }) { if(payload.allValues){ payload.allValues=Base16Encode(payload.allValues) } const response = yield call(apiRequest,api+"/getLabels" ,payload); if(!response){yield put({type: 'nom'});return } yield put({ type: 'nom', payload: response, }); if (callback) callback(response); }, *getSqlOptions({ payload, callback }, { call, put }) { if(payload.allValues){ payload.allValues=Base16Encode(payload.allValues) } const response = yield call(apiRequest,api+"/getSqlOptions" ,payload); if(!response){yield put({type: 'nom'});return } yield put({ type: 'nom', payload: response, }); if (callback) callback(response); }, *getSqlLabels({ payload, callback }, { call, put }) { const response = yield call(apiRequest,api+"/getSqlLabels" ,payload); if(payload.allValues){ payload.allValues=Base16Encode(payload.allValues) } if(!response){yield put({type: 'nom'});return } yield put({ type: 'nom', payload: response, }); if (callback) callback(response); }, *getSqlData({ payload, callback }, { call, put }) { if(payload.sqlKey){ payload.sqlKey=Base16Encode(payload.sqlKey) } if(payload.allValues){ payload.allValues=Base16Encode(payload.allValues) } const response = yield call(apiRequest,api+"/getSqlData" ,payload); if(!response){yield put({type: 'nom'});return } yield put({ type: 'nom', payload: response, }); if (callback) callback(response); }, *add({ payload, callback }, { call, put }) { const response = yield call(apiRequest,api+"/add" ,payload); if(!response){yield put({type: 'nom'});return } yield put({ type: 'nom', payload: response, }); if (callback) callback(response); },*fetch({ payload, callback }, { call, put }) { const response = yield call(apiRequest,api+"/getList" ,payload); if(!response){yield put({type: 'nom'});return } yield put({ type: 'list', payload: {list:response,isReference:payload.isReference}, }); if(callback)callback(response) },*remove({ payload, callback }, { call, put }) { const response = yield call(apiRequest,api+"/remove" ,payload); if(!response){yield put({type: 'nom'});return } yield put({ type: 'nom', payload: response, }); if(callback){ callback() } },*deleteReference({ payload, callback }, { call, put }) { const response = yield call(apiRequest,api+"/deleteReference" ,payload); if(!response){yield put({type: 'nom'});return } yield put({ type: 'nom', payload: response, }); if(callback){ callback() } }, *open({ payload, callback }, { call, put }) { const response = yield call(apiRequest,api+"/open" ,payload); if(!response){yield put({type: 'nom'});return } yield put({ type: 'nom', payload: response, }); if(callback){ callback() } }, *addReference({ payload, callback }, { call, put }) { const response = yield call(apiRequest,api+"/addReference" ,payload); if(!response){yield put({type: 'nom'});return } yield put({ type: 'nom', payload: response, }); if(callback){ callback() } }, }, reducers: { list(state, action) { if(action.payload.isReference){ return { ...state, refs: action.payload.list, }; }else{ return { ...state, list: action.payload.list, }; } }, page(state, { payload }) { return { ...state, data:{ list: payload.rows, pagination: { current:payload.pageNo, pageSize:payload.pageSize, total:payload.total, }, } }; }, nom(state, action) { return {...state }; }, }, };