|
|
@@ -70,29 +70,27 @@ export default {
|
|
|
reducers: {
|
|
|
/**
|
|
|
* 更新model字段值
|
|
|
- * 1. 进入撤销重做历史
|
|
|
+ * 1. 改变dirty
|
|
|
*/
|
|
|
setField(state, action) {
|
|
|
const { name, value } = action;
|
|
|
let obj = {};
|
|
|
obj[name] = value;
|
|
|
- let newState = Object.assign({}, state, obj);
|
|
|
- return Object.assign({}, newState, {dirty: true});
|
|
|
+ return Object.assign({}, state, obj, { dirty: true });
|
|
|
},
|
|
|
/**
|
|
|
* 批量更新model字段值
|
|
|
- * 1. 进入撤销重做历史
|
|
|
+ * 1. 改变dirty
|
|
|
*/
|
|
|
setFields(state, action) {
|
|
|
const { fields } = action;
|
|
|
let obj = {};
|
|
|
fields.map(f => (obj[f.name] = f.value));
|
|
|
- let newState = Object.assign({}, state, obj);
|
|
|
- return Object.assign({}, newState, {dirty: true});
|
|
|
+ return Object.assign({}, state, obj, { dirty: true });
|
|
|
},
|
|
|
/**
|
|
|
* 更新model字段值
|
|
|
- * 1. 不进入撤销重做历史
|
|
|
+ * 1. 不改变dirty
|
|
|
*/
|
|
|
silentSetField(state, action) {
|
|
|
const { name, value } = action;
|
|
|
@@ -103,7 +101,7 @@ export default {
|
|
|
},
|
|
|
/**
|
|
|
* 批量更新model字段值
|
|
|
- * 1. 不进入撤销重做历史
|
|
|
+ * 1. 不改变dirty
|
|
|
*/
|
|
|
silentSetFields(state, action) {
|
|
|
const { fields } = action;
|
|
|
@@ -118,40 +116,28 @@ export default {
|
|
|
},
|
|
|
setDirty(state, action) {
|
|
|
const { dirty } = action;
|
|
|
- let newState = Object.assign({}, state, { dirty });
|
|
|
- return newState;
|
|
|
+ return Object.assign({}, state, { dirty });
|
|
|
}
|
|
|
},
|
|
|
effects: {
|
|
|
- /**
|
|
|
- * 初始化批量更新model字段值
|
|
|
- * 触发数据刷新、不进入撤销重做历史
|
|
|
- */
|
|
|
- *defaultChangeFields(action, { select, call, put }) {
|
|
|
- const { fields } = action;
|
|
|
- yield put({ type: 'silentSetFields', fields });
|
|
|
+ *changeField(action, { select, call, put }) {
|
|
|
+ const { name, value } = action;
|
|
|
+ yield put({ type: 'setField', name, value });
|
|
|
|
|
|
const { autoRefresh } = action;
|
|
|
if(autoRefresh === undefined ? true : autoRefresh) {
|
|
|
yield put({ type: 'fetchChartData' });
|
|
|
}
|
|
|
},
|
|
|
- /**
|
|
|
- * 更新model字段值
|
|
|
- * 可能影响到数据刷新的model字段改变一般用该action
|
|
|
- */
|
|
|
- *changeField(action, { select, call, put }) {
|
|
|
+ *silentChangeField(action, { select, call, put }) {
|
|
|
const { name, value } = action;
|
|
|
- yield put({ type: 'setField', name, value });
|
|
|
+ yield put({ type: 'silentSetField', name, value });
|
|
|
|
|
|
const { autoRefresh } = action;
|
|
|
if(autoRefresh === undefined ? true : autoRefresh) {
|
|
|
yield put({ type: 'fetchChartData' });
|
|
|
}
|
|
|
},
|
|
|
- /**
|
|
|
- * 批量更新model字段值
|
|
|
- */
|
|
|
*changeFields(action, { select, call, put }) {
|
|
|
const { fields } = action;
|
|
|
yield put({ type: 'setFields', fields });
|
|
|
@@ -161,6 +147,15 @@ export default {
|
|
|
yield put({ type: 'fetchChartData' });
|
|
|
}
|
|
|
},
|
|
|
+ *silentChangeFields(action, { select, call, put }) {
|
|
|
+ const { fields } = action;
|
|
|
+ yield put({ type: 'silentSetFields', fields });
|
|
|
+
|
|
|
+ const { autoRefresh } = action;
|
|
|
+ if(autoRefresh === undefined ? true : autoRefresh) {
|
|
|
+ yield put({ type: 'fetchChartData' });
|
|
|
+ }
|
|
|
+ },
|
|
|
*changeDataSource(action, { select, call, put }) {
|
|
|
const { dataSource } = action;
|
|
|
const chartDesigner = yield select(state => state.present.chartDesigner);
|
|
|
@@ -168,6 +163,13 @@ export default {
|
|
|
yield put({ type: 'changeField', name: 'baseConfig', value: { ...baseConfig, dataSource } });
|
|
|
yield put({ type: 'remoteDataColumn', code: dataSource.code });
|
|
|
},
|
|
|
+ *silentChangeDataSource(action, { select, call, put }) {
|
|
|
+ const { dataSource } = action;
|
|
|
+ const chartDesigner = yield select(state => state.present.chartDesigner);
|
|
|
+ const { baseConfig } = chartDesigner;
|
|
|
+ yield put({ type: 'silentChangeFields', name: 'baseConfig', value: { ...baseConfig, dataSource } });
|
|
|
+ yield put({ type: 'remoteDataColumn', code: dataSource.code });
|
|
|
+ },
|
|
|
*remoteQucikAdd(action, { select, call, put }) {
|
|
|
try{
|
|
|
const { dataSource } = action;
|