mrcio-ui
Version:
182 lines (157 loc) • 7 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.subVerifyRes = exports.formData = undefined;
var _index = require("../constants/index");
var actionTypes = _interopRequireWildcard(_index);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
var dataType = ["default"];
var formData = function formData() {
var formData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var action = arguments[1];
switch (action.type) {
case actionTypes.set_form_data:
formData = Object.assign({}, formData);
dataType = action.dataType;
if (!formData[dataType]) {
formData[dataType] = {};
}
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
try {
for (var _iterator = action.data[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var o = _step.value;
formData[dataType][o.name] = o;
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return) {
_iterator.return();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
return formData;
case actionTypes.del_form_data:
formData = Object.assign({}, formData);
if (Object.keys(formData).length > 0) {
delete formData[action.dataType][action.inputName];
}
return formData;
case actionTypes.reset_form:
formData = Object.assign({}, formData);
var keys = Object.keys(formData);
var data = typeof action.data == "array" && action.data.length > 0 ? action.data : keys;
data.forEach(function (item) {
var formDataType = formData[item];
for (var _o in formDataType) {
formDataType[_o].text = "";
formDataType[_o].value = "";
formDataType[_o].obj = "";
}
});
return formData;
case actionTypes.del_form_store:
formData = Object.assign({}, formData);
if (action.dataFlag == "all") {
formData = {};
}
var _iteratorNormalCompletion2 = true;
var _didIteratorError2 = false;
var _iteratorError2 = undefined;
try {
for (var _iterator2 = action.dataType[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
var _o2 = _step2.value;
delete formData[_o2];
}
} catch (err) {
_didIteratorError2 = true;
_iteratorError2 = err;
} finally {
try {
if (!_iteratorNormalCompletion2 && _iterator2.return) {
_iterator2.return();
}
} finally {
if (_didIteratorError2) {
throw _iteratorError2;
}
}
}
return formData;
default:
return formData;
}
};
var subVerifyRes = function subVerifyRes() {
var subVerifyRes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
var action = arguments[1];
switch (action.type) {
case actionTypes.submit_verify:
var data = action.data;
// fail:存在必填校验未填写, success:不存在,便可提交。
var flag = {
default: "fail"
};
var verifyType = action.verifyType; //verifyType = ["default"]
verifyType.forEach(function (item, index) {
var formValue = data[item];
if (Object.keys(formValue).length) {
flag[item] = "success";
for (var o in formValue) {
// if (data[o].other.required) {
// if (!data[o].text) {//只要有一个,没有填写,就设置fail
// flag = "fail";
// data[o].other.requiredFalg = false
// } else {
// data[o].other.requiredFalg = true
// }
// }
//input单独的正则校验
if (formValue[o].other && formValue[o].other.regex) {
if (!formValue[o].other.regex.test(formValue[o].text)) {
flag[item] = "fail";
break;
}
}
//如果是必填项
if (formValue[o].other && formValue[o].other.required) {
// //只要有一个,没有填写,就设置fail,并跳出循环
// if (formValue[o].type == "input" || formValue[o].type == "textarea") {
// if (!formValue[o].text) {
// flag[item] = "fail";
// break
// }
// }
//
// if (formValue[o].type == "radio" || formValue[o].type == "checkbox") {
// if (!formValue[o].text.length) {//数组长度为0
// flag[item] = "fail"
// break
// }
// }
//只要有一个,没有填写,就设置fail,并跳出循环
if (!formValue[o].text.length) {
flag[item] = "fail";
break;
}
}
}
}
});
return flag;
default:
return subVerifyRes;
}
};
exports.formData = formData;
exports.subVerifyRes = subVerifyRes;
//# sourceMappingURL=from.js.map