dareway-rui
Version:
999 lines (957 loc) • 47 kB
JavaScript
'use strict';
var _interopRequireDefault = require('@babel/runtime/helpers/interopRequireDefault');
Object.defineProperty(exports, '__esModule', {
value: true
});
exports.default = _default;
var _objectDestructuringEmpty2 = _interopRequireDefault(require('@babel/runtime/helpers/objectDestructuringEmpty'));
var _defineProperty2 = _interopRequireDefault(require('@babel/runtime/helpers/defineProperty'));
var _objectSpread26 = _interopRequireDefault(require('@babel/runtime/helpers/objectSpread'));
var _FormConstants = require('./FormConstants');
var _TaglibConstants = require('../TaglibConstants');
var _CodeUtil = _interopRequireDefault(require('../../code/CodeUtil'));
var _dataNormalizeHelper = require('./dataNormalizeHelper');
function _default() {
return {
/**************************************************************************************************************
* Dropdown、Cascade、Code相关 相关 API
**************************************************************************************************************/
FormItemAPI_setCodeMapSuccess: function FormItemAPI_setCodeMapSuccess(state, _ref) {
var payload = _ref.payload;
var formItemName = payload.meta.formItemName,
_payload$params = payload.params,
codeMap = _payload$params.codeMap,
value = _payload$params.value;
return (0, _objectSpread26.default)({}, state, {
formItems: (0, _objectSpread26.default)(
{},
state.formItems,
(0, _defineProperty2.default)(
{},
formItemName,
(0, _objectSpread26.default)({}, state.formItems[formItemName], {
codeMap: codeMap,
value: value,
invalidCode: null
})
)
)
});
},
FormItemAPI_setDropdownCascadeCodeDataSuccess: function FormItemAPI_setDropdownCascadeCodeDataSuccess(
state,
_ref2
) {
var payload = _ref2.payload;
var formItemName = payload.meta.formItemName,
_payload$params2 = payload.params,
cascadeData = _payload$params2.cascadeData,
codeMap = _payload$params2.codeMap,
value = _payload$params2.value;
return (0, _objectSpread26.default)({}, state, {
formItems: (0, _objectSpread26.default)(
{},
state.formItems,
(0, _defineProperty2.default)(
{},
formItemName,
(0, _objectSpread26.default)({}, state.formItems[formItemName], {
cascadeData: cascadeData,
codeMap: codeMap,
value: value,
invalidCode: null
})
)
)
});
},
FormItemAPI_setCascadeDataSuccess: function FormItemAPI_setCascadeDataSuccess(state, _ref3) {
var payload = _ref3.payload;
var formItemName = payload.meta.formItemName,
_payload$params3 = payload.params,
cascadeData = _payload$params3.cascadeData,
value = _payload$params3.value;
return (0, _objectSpread26.default)({}, state, {
formItems: (0, _objectSpread26.default)(
{},
state.formItems,
(0, _defineProperty2.default)(
{},
formItemName,
(0, _objectSpread26.default)({}, state.formItems[formItemName], {
cascadeData: cascadeData,
value: value
})
)
)
});
},
FormItemAPI_initSingleCodeMapSuccess: function FormItemAPI_initSingleCodeMapSuccess(state, _ref4) {
var payload = _ref4.payload;
var formItemName = payload.meta.formItemName,
codeMap = payload.params.codeMap;
return (0, _objectSpread26.default)({}, state, {
formItems: (0, _objectSpread26.default)(
{},
state.formItems,
(0, _defineProperty2.default)(
{},
formItemName,
(0, _objectSpread26.default)({}, state.formItems[formItemName], {
codeMap: codeMap
})
)
)
});
},
FormItemAPI_initCodeMapListSuccess: function FormItemAPI_initCodeMapListSuccess(state, _ref5) {
var payload = _ref5.payload;
var formItems = state.formItems;
var codeMapResult = payload;
var keys = Object.keys(formItems);
var newFormItems = {};
for (var i = 0; i < keys.length; i++) {
var name = keys[i];
var curItem = formItems[name];
var tagType = formItems[name][_TaglibConstants.TAG_TYPE_KEY_IN_STATE];
if (
tagType === _FormConstants.TAG_TYPE_DROPDOWN ||
tagType === _FormConstants.TAG_TYPE_MULTISELECT ||
tagType === _FormConstants.TAG_TYPE_RADIO_LIST ||
tagType === _FormConstants.TAG_TYPE_CHECKBOX_LIST
) {
var code = curItem.code,
codeMap = curItem.codeMap,
prefix = curItem.prefix,
excludeCodes = curItem.excludeCodes;
if (code && codeMapResult[code.toUpperCase()]) {
codeMap = _CodeUtil.default.fiterCodeMapByPrefix(codeMapResult[code.toUpperCase()], prefix);
codeMap = _CodeUtil.default.filterCodeMapByExcludeCodes(codeMap, excludeCodes);
newFormItems[name] = (0, _objectSpread26.default)({}, formItems[name], {
codeMap: codeMap
});
} else {
newFormItems[name] = (0, _objectSpread26.default)({}, formItems[name], {
codeMap: codeMap == null ? [] : codeMap
});
}
} else {
newFormItems[name] = (0, _objectSpread26.default)({}, formItems[name]);
}
}
return (0, _objectSpread26.default)({}, state, {
formItems: (0, _objectSpread26.default)({}, newFormItems)
});
},
/**************************************************************************************************************
* CollapsibleBlock 相关 API
**************************************************************************************************************/
FormItemAPI_expandSuccess: function FormItemAPI_expandSuccess(state, _ref6) {
var payload = _ref6.payload;
var formItemName = payload.meta.formItemName;
(0, _objectDestructuringEmpty2.default)(payload.params);
return (0, _objectSpread26.default)({}, state, {
formItems: (0, _objectSpread26.default)(
{},
state.formItems,
(0, _defineProperty2.default)(
{},
formItemName,
(0, _objectSpread26.default)({}, state.formItems[formItemName], {
collapsed: false
})
)
)
});
},
FormItemAPI_collapseSuccess: function FormItemAPI_collapseSuccess(state, _ref7) {
var payload = _ref7.payload;
var formItemName = payload.meta.formItemName;
(0, _objectDestructuringEmpty2.default)(payload.params);
return (0, _objectSpread26.default)({}, state, {
formItems: (0, _objectSpread26.default)(
{},
state.formItems,
(0, _defineProperty2.default)(
{},
formItemName,
(0, _objectSpread26.default)({}, state.formItems[formItemName], {
collapsed: true
})
)
)
});
},
FormItemAPI_setCollapsedSuccess: function FormItemAPI_setCollapsedSuccess(state, _ref8) {
var payload = _ref8.payload;
var formItemName = payload.meta.formItemName,
collapsed = payload.params.collapsed;
return (0, _objectSpread26.default)({}, state, {
formItems: (0, _objectSpread26.default)(
{},
state.formItems,
(0, _defineProperty2.default)(
{},
formItemName,
(0, _objectSpread26.default)({}, state.formItems[formItemName], {
collapsed: collapsed
})
)
)
});
},
/**************************************************************************************************************
* FormItem 组件 API
* - label
* - 只读
* - 必填
* - 隐藏
* - 加粗
* - 下划线
* - 斜体
* - 背景色
* - 字体色
**************************************************************************************************************/
FormItemAPI_setLabelValueSuccess: function FormItemAPI_setLabelValueSuccess(state, _ref9) {
var payload = _ref9.payload;
var formItemName = payload.meta.formItemName,
labelValue = payload.params.labelValue;
return (0, _objectSpread26.default)({}, state, {
formItems: (0, _objectSpread26.default)(
{},
state.formItems,
(0, _defineProperty2.default)(
{},
formItemName,
(0, _objectSpread26.default)({}, state.formItems[formItemName], {
labelValue: labelValue
})
)
)
});
},
FormItemAPI_setReadOnlySuccess: function FormItemAPI_setReadOnlySuccess(state, _ref10) {
var payload = _ref10.payload;
var formItemName = payload.meta.formItemName,
readonly = payload.params.readonly;
return (0, _objectSpread26.default)({}, state, {
formItems: (0, _objectSpread26.default)(
{},
state.formItems,
(0, _defineProperty2.default)(
{},
formItemName,
(0, _objectSpread26.default)({}, state.formItems[formItemName], {
readonly: readonly
})
)
)
});
},
FormItemAPI_setRequiredSuccess: function FormItemAPI_setRequiredSuccess(state, _ref11) {
var payload = _ref11.payload;
var formItemName = payload.meta.formItemName,
required = payload.params.required;
return (0, _objectSpread26.default)({}, state, {
formItems: (0, _objectSpread26.default)(
{},
state.formItems,
(0, _defineProperty2.default)(
{},
formItemName,
(0, _objectSpread26.default)({}, state.formItems[formItemName], {
required: required
})
)
)
});
},
FormItemAPI_setHiddenSuccess: function FormItemAPI_setHiddenSuccess(state, _ref12) {
var payload = _ref12.payload;
var formItemName = payload.meta.formItemName,
hidden = payload.params.hidden;
return (0, _objectSpread26.default)({}, state, {
formItems: (0, _objectSpread26.default)(
{},
state.formItems,
(0, _defineProperty2.default)(
{},
formItemName,
(0, _objectSpread26.default)({}, state.formItems[formItemName], {
hidden: hidden
})
)
)
});
},
FormItemAPI_setBoldSuccess: function FormItemAPI_setBoldSuccess(state, _ref13) {
var payload = _ref13.payload;
var formItemName = payload.meta.formItemName,
bold = payload.params.bold;
return (0, _objectSpread26.default)({}, state, {
formItems: (0, _objectSpread26.default)(
{},
state.formItems,
(0, _defineProperty2.default)(
{},
formItemName,
(0, _objectSpread26.default)({}, state.formItems[formItemName], {
bold: bold
})
)
)
});
},
FormItemAPI_setUnderlineSuccess: function FormItemAPI_setUnderlineSuccess(state, _ref14) {
var payload = _ref14.payload;
var formItemName = payload.meta.formItemName,
underline = payload.params.underline;
return (0, _objectSpread26.default)({}, state, {
formItems: (0, _objectSpread26.default)(
{},
state.formItems,
(0, _defineProperty2.default)(
{},
formItemName,
(0, _objectSpread26.default)({}, state.formItems[formItemName], {
underline: underline
})
)
)
});
},
FormItemAPI_setObliqueSuccess: function FormItemAPI_setObliqueSuccess(state, _ref15) {
var payload = _ref15.payload;
var formItemName = payload.meta.formItemName,
oblique = payload.params.oblique;
return (0, _objectSpread26.default)({}, state, {
formItems: (0, _objectSpread26.default)(
{},
state.formItems,
(0, _defineProperty2.default)(
{},
formItemName,
(0, _objectSpread26.default)({}, state.formItems[formItemName], {
oblique: oblique
})
)
)
});
},
FormItemAPI_setBackgroundColorSuccess: function FormItemAPI_setBackgroundColorSuccess(state, _ref16) {
var payload = _ref16.payload;
var formItemName = payload.meta.formItemName,
backgroundColor = payload.params.backgroundColor;
return (0, _objectSpread26.default)({}, state, {
formItems: (0, _objectSpread26.default)(
{},
state.formItems,
(0, _defineProperty2.default)(
{},
formItemName,
(0, _objectSpread26.default)({}, state.formItems[formItemName], {
backgroundColor: backgroundColor
})
)
)
});
},
FormItemAPI_setFontColorSuccess: function FormItemAPI_setFontColorSuccess(state, _ref17) {
var payload = _ref17.payload;
var formItemName = payload.meta.formItemName,
fontColor = payload.params.fontColor;
return (0, _objectSpread26.default)({}, state, {
formItems: (0, _objectSpread26.default)(
{},
state.formItems,
(0, _defineProperty2.default)(
{},
formItemName,
(0, _objectSpread26.default)({}, state.formItems[formItemName], {
fontColor: fontColor
})
)
)
});
},
/**************************************************************************************************************
* FormItem 组件 API
* - LOV
**************************************************************************************************************/
FormItemAPI_setLovClearMappingValuesArraySuccess: function FormItemAPI_setLovClearMappingValuesArraySuccess(
state,
_ref18
) {
var payload = _ref18.payload;
var lovMappingValuesArray = payload;
var newItems = lovMappingValuesArray.reduce(function(total, curItems) {
var formItemName = curItems.meta.formItemName,
_curItems$params = curItems.params,
value = _curItems$params.value,
invalidCode = _curItems$params.invalidCode;
var tagType = state.formItems[formItemName][_TaglibConstants.TAG_TYPE_KEY_IN_STATE];
if (tagType === _FormConstants.TAG_TYPE_RADIO_LIST) {
total[formItemName] = (0, _objectSpread26.default)({}, state.formItems[formItemName], {
value: value,
invalidCode: invalidCode,
error: null // js设置时,不提示异常
});
return total;
} else if (tagType === _FormConstants.TAG_TYPE_DROPDOWN) {
var _formItemName = curItems.meta.formItemName,
_curItems$params2 = curItems.params,
_value = _curItems$params2.value,
_invalidCode = _curItems$params2.invalidCode,
cascadeSubComponentResultArray = _curItems$params2.cascadeSubComponentResultArray;
var newDropdownItems = cascadeSubComponentResultArray.reduce(function(total, curItems) {
var tagName = curItems.tagName,
codeMap = curItems.codeMap,
value = curItems.value;
var oldItems = state.formItems[tagName];
total[tagName] = (0, _objectSpread26.default)({}, oldItems, {
codeMap: codeMap,
value: value,
invalidCode: null,
error: null
});
return total;
}, {}); //添加本dropdown的内容
newDropdownItems[_formItemName] = (0, _objectSpread26.default)({}, state.formItems[_formItemName], {
value: _value,
invalidCode: _invalidCode,
error: null // fillData 不提示异常
});
total = (0, _objectSpread26.default)({}, total, newDropdownItems);
return total;
} else if (
tagType === _FormConstants.TAG_TYPE_LOV_INPUT ||
tagType === _FormConstants.TAG_TYPE_STRING_INPUT
) {
total[formItemName] = (0, _objectSpread26.default)({}, state.formItems[formItemName], {
value: value,
oldValueForOnChange: value,
error: null // 通过JS设置value时不提示异常
});
return total;
} else {
total[formItemName] = (0, _objectSpread26.default)({}, state.formItems[formItemName], {
value: value,
error: null // 通过JS设置value时不提示异常
});
return total;
}
}, {});
return (0, _objectSpread26.default)({}, state, {
formItems: (0, _objectSpread26.default)({}, state.formItems, newItems)
});
},
/**************************************************************************************************************
* FormItem 组件 API
* - getValue
* - setValue
* - clear
* - checkValue
**************************************************************************************************************/
FormItemAPI_setValueSuccess: function FormItemAPI_setValueSuccess(state, _ref19) {
var payload = _ref19.payload;
var formItemName = payload.meta.formItemName,
_payload$params4 = payload.params,
tagType = _payload$params4.tagType,
value = _payload$params4.value,
invalidCode = _payload$params4.invalidCode;
if (tagType === _FormConstants.TAG_TYPE_STRING_INPUT) {
return (0, _objectSpread26.default)({}, state, {
formItems: (0, _objectSpread26.default)(
{},
state.formItems,
(0, _defineProperty2.default)(
{},
formItemName,
(0, _objectSpread26.default)({}, state.formItems[formItemName], {
value: value,
oldValueForOnChange: value,
error: null // 通过JS设置value时不提示异常
})
)
)
});
} else if (
tagType === _FormConstants.TAG_TYPE_LOV_INPUT ||
tagType === _FormConstants.TAG_TYPE_STRING_INPUT
) {
return (0, _objectSpread26.default)({}, state, {
formItems: (0, _objectSpread26.default)(
{},
state.formItems,
(0, _defineProperty2.default)(
{},
formItemName,
(0, _objectSpread26.default)({}, state.formItems[formItemName], {
value: value,
oldValueForOnChange: value,
error: null // 通过JS设置value时不提示异常
})
)
)
});
} else if (tagType === _FormConstants.TAG_TYPE_DROPDOWN) {
var _formItemName2 = payload.meta.formItemName,
_payload$params5 = payload.params,
_value2 = _payload$params5.value,
_invalidCode2 = _payload$params5.invalidCode,
cascadeSubComponentResultArray = _payload$params5.cascadeSubComponentResultArray;
var oldFormItems = state.formItems;
var newItems = cascadeSubComponentResultArray.reduce(function(total, curItems) {
var tagName = curItems.tagName,
codeMap = curItems.codeMap,
value = curItems.value;
var oldItems = oldFormItems[tagName];
total[tagName] = (0, _objectSpread26.default)({}, oldItems, {
codeMap: codeMap,
value: value,
invalidCode: null,
error: null
});
return total;
}, {}); //添加本dropdown的内容
newItems[_formItemName2] = (0, _objectSpread26.default)({}, state.formItems[_formItemName2], {
value: _value2,
invalidCode: _invalidCode2,
error: null // fillData 不提示异常
});
return (0, _objectSpread26.default)({}, state, {
formItems: (0, _objectSpread26.default)({}, state.formItems, newItems)
});
} else {
/**
* StringInput、MultiLineText、Label、password
* MultiSelect、checkboxList
* Checkbox
* CascadeDropdown
* LovInput
* fileSelector(clear接口)
*
* */
return (0, _objectSpread26.default)({}, state, {
formItems: (0, _objectSpread26.default)(
{},
state.formItems,
(0, _defineProperty2.default)(
{},
formItemName,
(0, _objectSpread26.default)({}, state.formItems[formItemName], {
value: value,
error: null // 通过JS设置value时不提示异常
})
)
)
});
}
},
FormItemAPI_checkValueSuccess: function FormItemAPI_checkValueSuccess(state, _ref20) {
var payload = _ref20.payload;
var formItemName = payload.meta.formItemName,
error = payload.params.error;
return (0, _objectSpread26.default)({}, state, {
formItems: (0, _objectSpread26.default)(
{},
state.formItems,
(0, _defineProperty2.default)(
{},
formItemName,
(0, _objectSpread26.default)({}, state.formItems[formItemName], {
error: error
})
)
)
});
},
/**************************************************************************************************************
* FormItem数据同步API
* - saveValueOnChangeSuccess
* - savaOldValue4OnChangeSuccess
**************************************************************************************************************/
FormItemDataSyncAPI_saveValueOnChangeSuccess: function FormItemDataSyncAPI_saveValueOnChangeSuccess(
state,
_ref21
) {
var payload = _ref21.payload;
var name = payload.name,
value = payload.value;
var tagType = state.formItems[name][_TaglibConstants.TAG_TYPE_KEY_IN_STATE];
var oldItems = state.formItems;
var resultItems = {};
if (tagType == _FormConstants.TAG_TYPE_NUMBER_INPUT) {
var _state$formItems$name = state.formItems[name],
nullable = _state$formItems$name.nullable,
zeroDisplayAs0 = _state$formItems$name.zeroDisplayAs0,
mask = _state$formItems$name.mask,
maxLength = _state$formItems$name.maxLength;
var _state$formItems$name2 = state.formItems[name],
required = _state$formItems$name2.required,
invalidMessage = _state$formItems$name2.invalidMessage;
resultItems = (0, _defineProperty2.default)(
{},
name,
(0, _objectSpread26.default)({}, state.formItems[name], {
value: (0, _dataNormalizeHelper.normalizeNumberData)(
value,
nullable,
zeroDisplayAs0,
mask,
maxLength,
'FormItemDataSync -> NumberInput.setValue(data)'
)
})
);
} else if (tagType == _FormConstants.TAG_TYPE_DROPDOWN) {
//1、处理级联本dropdown的其他dropdown元素,重置其codeMap和value值
var itemNames = Object.keys(oldItems);
for (var i = 0; i < itemNames.length; i++) {
var itemName = itemNames[i];
var itemObj = oldItems[itemName];
var _tagType = itemObj[_TaglibConstants.TAG_TYPE_KEY_IN_STATE];
if (_tagType == _FormConstants.TAG_TYPE_DROPDOWN && itemObj['cascadeDependOnTagName'] == name) {
var cascadeData = itemObj['cascadeData'];
var codeMap = cascadeData[value] ? cascadeData[value] : [];
resultItems = (0, _objectSpread26.default)(
{},
resultItems,
(0, _defineProperty2.default)(
{},
itemName,
(0, _objectSpread26.default)({}, itemObj, {
codeMap: codeMap,
value: ''
})
)
);
}
} //2、添加本dropdown改变后的结果
resultItems = (0, _objectSpread26.default)(
{},
resultItems,
(0, _defineProperty2.default)(
{},
name,
(0, _objectSpread26.default)({}, state.formItems[name], {
value: value,
invalidCode: null
})
)
);
} else if (
tagType == _FormConstants.TAG_TYPE_STRING_INPUT ||
tagType == _FormConstants.TAG_TYPE_PASSWORD ||
tagType == _FormConstants.TAG_TYPE_DATE_INPUT ||
tagType == _FormConstants.TAG_TYPE_LOV_INPUT ||
tagType == _FormConstants.TAG_TYPE_MULTILINETEXT ||
tagType == _FormConstants.TAG_TYPE_CHECKBOX ||
tagType == _FormConstants.TAG_TYPE_CHECKBOX_LIST ||
tagType == _FormConstants.TAG_TYPE_RADIO_LIST ||
tagType == _FormConstants.TAG_TYPE_MULTISELECT ||
tagType == _FormConstants.TAG_TYPE_CASCADEDROPDOWN ||
tagType == _FormConstants.TAG_TYPE_FILESELECTOR
) {
resultItems = (0, _defineProperty2.default)(
{},
name,
(0, _objectSpread26.default)({}, state.formItems[name], {
value: value
})
);
} else {
throw new Error(
'FormItemDataSyncAPI_saveValueOnChangeSuccess\uFF0C\u6807\u7B7E\u7C7B\u578B'.concat(
tagType,
'\uFF0C\u6846\u67B6\u6682\u65F6\u4E0D\u80FD\u8BC6\u522B...'
)
);
}
return (0, _objectSpread26.default)({}, state, {
formItems: (0, _objectSpread26.default)({}, state.formItems, resultItems)
});
},
FormItemDataSyncAPI_savaOldValue4SimulateOnHTMLChangeSuccess: function FormItemDataSyncAPI_savaOldValue4SimulateOnHTMLChangeSuccess(
state,
_ref22
) {
var payload = _ref22.payload;
/**
* 注意,此处暂时不涉及到NumberInput组件,所以不需要再通过 normalizeNumberData 统一格式化数据
*/
var formItemName = payload.meta.formItemName,
value = payload.params.value;
return (0, _objectSpread26.default)({}, state, {
formItems: (0, _objectSpread26.default)(
{},
state.formItems,
(0, _defineProperty2.default)(
{},
formItemName,
(0, _objectSpread26.default)({}, state.formItems[formItemName], {
oldValueForOnChange: value
})
)
)
});
},
/**************************************************************************************************************
* Form相关API接口
**************************************************************************************************************/
FormAPI_fillDataSuccess: function FormAPI_fillDataSuccess(state, _ref23) {
var payload = _ref23.payload;
var finalFormFieldData = payload.finalFormFieldData;
var oldFormItems = state.formItems;
var newFormItems = Object.keys(oldFormItems).reduce(function(total, curItemName) {
var oldItem = oldFormItems[curItemName];
var field = finalFormFieldData[curItemName]; //数据填充的时候,formTitle。collapsibleBlock、label列没有数据填充
if (!field) {
total[curItemName] = (0, _objectSpread26.default)({}, oldItem);
return total;
}
var tagType = field.tagType,
value = field.value;
if (
tagType === _FormConstants.TAG_TYPE_PASSWORD ||
tagType === _FormConstants.TAG_TYPE_LABEL ||
tagType === _FormConstants.TAG_TYPE_MULTILINETEXT ||
tagType === _FormConstants.TAG_TYPE_DATE_INPUT ||
tagType === _FormConstants.TAG_TYPE_FILESELECTOR ||
tagType === _FormConstants.TAG_TYPE_CHECKBOX
) {
total[curItemName] = (0, _objectSpread26.default)({}, oldItem, {
value: value,
error: null // fillData 不提示异常
});
return total;
} else if (tagType === _FormConstants.TAG_TYPE_NUMBER_INPUT) {
var nullable = oldItem.nullable,
zeroDisplayAs0 = oldItem.zeroDisplayAs0,
mask = oldItem.mask,
maxLength = oldItem.maxLength;
total[curItemName] = (0, _objectSpread26.default)({}, oldItem, {
value: (0, _dataNormalizeHelper.normalizeNumberData)(
value,
nullable,
zeroDisplayAs0,
mask,
maxLength,
'Form.fillData()->NumberInput.setValue()'
),
error: null // fillData 不提示异常
});
return total;
} else if (
tagType === _FormConstants.TAG_TYPE_LOV_INPUT ||
tagType === _FormConstants.TAG_TYPE_STRING_INPUT
) {
/**
* LovInput组件,用于模拟onHTMLChange事件的中间值
* oldValue4OnChange 存储于 redux 中,
* 主要为了解决 lovJS 业务调用 getValue 能取到正确的值问题
*/
total[curItemName] = (0, _objectSpread26.default)({}, oldItem, {
value: value,
oldValueForOnChange: value,
error: null // fillData 不提示异常
});
return total;
} else if (tagType === _FormConstants.TAG_TYPE_COLLAPSIBLE_BLOCK) {
total[curItemName] = (0, _objectSpread26.default)({}, oldItem);
return total;
} else if (tagType === _FormConstants.TAG_TYPE_DROPDOWN) {
var invalidCode = field.invalidCode,
codeMap = field.codeMap,
cascadeData = field.cascadeData;
total[curItemName] = (0, _objectSpread26.default)({}, oldItem, {
value: value,
invalidCode: invalidCode,
codeMap: codeMap,
cascadeData: cascadeData,
error: null // fillData 不提示异常
});
return total;
} else if (tagType === _FormConstants.TAG_TYPE_RADIO_LIST) {
var _invalidCode3 = field.invalidCode,
_codeMap = field.codeMap;
total[curItemName] = (0, _objectSpread26.default)({}, oldItem, {
value: value,
invalidCode: _invalidCode3,
codeMap: _codeMap,
error: null // fillData 不提示异常
});
return total;
} else if (
tagType === _FormConstants.TAG_TYPE_MULTISELECT ||
tagType === _FormConstants.TAG_TYPE_CHECKBOX_LIST
) {
var _codeMap2 = field.codeMap;
total[curItemName] = (0, _objectSpread26.default)({}, oldItem, {
value: value,
codeMap: _codeMap2,
error: null // fillData 不提示异常
});
return total;
} else if (tagType === _FormConstants.TAG_TYPE_CASCADEDROPDOWN) {
var _cascadeData = field.cascadeData;
total[curItemName] = (0, _objectSpread26.default)({}, oldItem, {
value: value,
cascadeData: _cascadeData,
error: null
});
return total;
} else {
throw new Error(''.concat(tagType, '\u6682\u65F6\u8FD8\u8BC6\u522B\u4E0D\u4E86...'));
}
}, {});
return (0, _objectSpread26.default)({}, state, {
formItems: newFormItems
});
},
FormAPI_clearSuccess: function FormAPI_clearSuccess(state, _ref24) {
var payload = _ref24.payload;
var oldFormItems = state.formItems;
var newFormItems = Object.keys(oldFormItems).reduce(function(total, curItemName) {
var oldItem = oldFormItems[curItemName];
var tagType = oldItem[_TaglibConstants.TAG_TYPE_KEY_IN_STATE];
if (
tagType === _FormConstants.TAG_TYPE_STRING_INPUT ||
tagType === _FormConstants.TAG_TYPE_PASSWORD ||
tagType === _FormConstants.TAG_TYPE_MULTILINETEXT ||
tagType === _FormConstants.TAG_TYPE_MULTISELECT ||
tagType === _FormConstants.TAG_TYPE_CHECKBOX_LIST ||
tagType === _FormConstants.TAG_TYPE_RADIO_LIST ||
tagType === _FormConstants.TAG_TYPE_CASCADEDROPDOWN ||
tagType === _FormConstants.TAG_TYPE_LOV_INPUT
) {
total[curItemName] = (0, _objectSpread26.default)({}, oldItem, {
value: '',
error: null
});
return total;
} else if (tagType === _FormConstants.TAG_TYPE_DROPDOWN) {
var cascadeDependOnTagName = oldItem.cascadeDependOnTagName;
if (cascadeDependOnTagName) {
total[curItemName] = (0, _objectSpread26.default)({}, oldItem, {
codeMap: [],
value: '',
error: null,
invalidCode: null
});
} else {
total[curItemName] = (0, _objectSpread26.default)({}, oldItem, {
value: '',
error: null,
invalidCode: null
});
}
return total;
} else if (tagType === _FormConstants.TAG_TYPE_CHECKBOX) {
total[curItemName] = (0, _objectSpread26.default)({}, oldItem, {
value: '0',
error: null
});
return total;
} else if (tagType === _FormConstants.TAG_TYPE_NUMBER_INPUT) {
var nullable = oldItem.nullable,
zeroDisplayAs0 = oldItem.zeroDisplayAs0,
mask = oldItem.mask,
maxLength = oldItem.maxLength;
total[curItemName] = (0, _objectSpread26.default)({}, oldItem, {
value: (0, _dataNormalizeHelper.normalizeNumberData)(
null,
nullable,
zeroDisplayAs0,
mask,
maxLength,
'Form.clear()->NumberInput.clear()'
),
error: null
});
return total;
} else if (tagType === _FormConstants.TAG_TYPE_DATE_INPUT) {
total[curItemName] = (0, _objectSpread26.default)({}, oldItem, {
value: null,
error: null
});
return total;
} else if (
tagType === _FormConstants.TAG_TYPE_LABEL ||
tagType === _FormConstants.TAG_TYPE_COLLAPSIBLE_BLOCK
) {
total[curItemName] = (0, _objectSpread26.default)({}, oldItem);
return total;
} else if (tagType === _FormConstants.TAG_TYPE_FILESELECTOR) {
total[curItemName] = (0, _objectSpread26.default)({}, oldItem, {
value: {
file: null
},
error: null
});
return total;
} else {
throw new Error(''.concat(tagType, '\u6682\u65F6\u8FD8\u8BC6\u522B\u4E0D\u4E86...'));
}
}, {});
return (0, _objectSpread26.default)({}, state, {
formItems: newFormItems
});
},
FormAPI_setHiddenSuccess: function FormAPI_setHiddenSuccess(state, _ref25) {
var payload = _ref25.payload;
var hidden = payload;
return (0, _objectSpread26.default)({}, state, {
hidden: hidden
});
},
/**
* FormAPI_addFormItemSuccess
* FormAPI_removeFormItemSuccess
*
* Form 动态构建时用到的 reducer 函数
*/
FormAPI_addFormItemSuccess: function FormAPI_addFormItemSuccess(state, _ref26) {
var payload = _ref26.payload;
var name = payload.name; // 重名检测
if (state['formItems'].hasOwnProperty(name)) {
throw new Error(
'Form \u4E2D\u5DF2\u7ECF\u5B58\u5728 name \u4E3A '.concat(
name,
' \u7684\u7EC4\u4EF6\uFF0C\u8BF7\u68C0\u67E5!'
)
);
}
return (0, _objectSpread26.default)({}, state, {
formItems: (0, _objectSpread26.default)(
{},
state.formItems,
(0, _defineProperty2.default)({}, name, (0, _objectSpread26.default)({}, payload))
)
});
},
FormAPI_removeFormItemSuccess: function FormAPI_removeFormItemSuccess(state, _ref27) {
var payload = _ref27.payload;
var name = payload.name;
var oldFormItems = state.formItems;
var newFormItems = Object.keys(oldFormItems).reduce(function(total, curItemName) {
var oldItem = oldFormItems[curItemName];
if (curItemName !== name) {
total[curItemName] = (0, _objectSpread26.default)({}, oldItem);
}
return total;
}, {});
return (0, _objectSpread26.default)({}, state, {
formItems: newFormItems
});
},
FormAPI_setAllItemsReadonlySuccess: function FormAPI_setAllItemsReadonlySuccess(state, _ref28) {
var payload = _ref28.payload;
var formItems = payload.formItems;
return (0, _objectSpread26.default)({}, state, {
formItems: formItems
});
}
};
}
//@ sourceMappingURL=reducers.js.map