1 |
- "use strict";var _baseComponent=_interopRequireDefault(require("../helpers/baseComponent")),_classNames=_interopRequireDefault(require("../helpers/libs/classNames")),_warning=_interopRequireDefault(require("../helpers/libs/warning")),_props=require("./props"),_useFieldForm=_interopRequireWildcard(require("../helpers/hooks/useFieldForm")),_constants=require("../helpers/shared/constants"),_util=require("../helpers/shared/util"),_asyncValidator=_interopRequireDefault(require("../helpers/libs/async-validator")),_excluded=["fieldElem","inputElem","oriInputEvents"];function _getRequireWildcardCache(e){var t,i;return"function"!=typeof WeakMap?null:(t=new WeakMap,i=new WeakMap,(_getRequireWildcardCache=function(e){return e?i:t})(e))}function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=_typeof(e)&&"function"!=typeof e)return{default:e};t=_getRequireWildcardCache(t);if(t&&t.has(e))return t.get(e);var i,r,l={__proto__:null},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&((r=n?Object.getOwnPropertyDescriptor(e,i):null)&&(r.get||r.set)?Object.defineProperty(l,i,r):l[i]=e[i]);return l.default=e,t&&t.set(e,l),l}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _objectWithoutProperties(e,t){if(null==e)return{};var i,r=_objectWithoutPropertiesLoose(e,t);if(Object.getOwnPropertySymbols)for(var l=Object.getOwnPropertySymbols(e),n=0;n<l.length;n++)i=l[n],0<=t.indexOf(i)||Object.prototype.propertyIsEnumerable.call(e,i)&&(r[i]=e[i]);return r}function _objectWithoutPropertiesLoose(e,t){if(null==e)return{};for(var i,r={},l=Object.keys(e),n=0;n<l.length;n++)i=l[n],0<=t.indexOf(i)||(r[i]=e[i]);return r}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var i;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(i="Object"===(i=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:i)||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?_arrayLikeToArray(e,t):void 0}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,r=new Array(t);i<t;i++)r[i]=e[i];return r}function ownKeys(t,e){var i,r=Object.keys(t);return Object.getOwnPropertySymbols&&(i=Object.getOwnPropertySymbols(t),e&&(i=i.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,i)),r}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(Object(i),!0).forEach(function(e){_defineProperty(t,e,i[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):ownKeys(Object(i)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))})}return t}function _defineProperty(e,t,i){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:String(e)}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var i=e[Symbol.toPrimitive];if(void 0===i)return("string"===t?String:Number)(e);i=i.call(e,t||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}(0,_baseComponent.default)({useExport:!0,relations:{"../field/index":{type:"descendant",observer:function(e,t){t=t.unlinked;this.renderFields[e.data.name]=!1===t,this.callDebounceFn(this.changeValue)}}},properties:_props.props,observers:_defineProperty({},"layout, validateMessages, requiredMarkStyle, asteriskText, requiredText, optionalText, disabled, readOnly",function(){this.changeFieldElem(this.data)}),computed:{classes:["prefixCls",function(e){return{wrap:(0,_classNames.default)(e),footer:"".concat(e,"__footer")}}]},methods:{changeFieldElem:function(e){var i,r=e.layout,l=e.validateMessages,n=e.requiredMarkStyle,s=e.asteriskText,a=e.requiredText,o=e.optionalText,d=e.disabled,u=e.readOnly,e=this.getRelationsByName("../field/index");0<e.length&&(i=e.length-1,e.forEach(function(e,t){e.changeContext(t,t===i,{layout:r,validateMessages:l,requiredMarkStyle:n,asteriskText:s,requiredText:a,optionalText:o,disabled:d,readOnly:u})}))},changeValue:function(){this.changeFieldElem(this.data),this.clearUnlinkedFields()},saveRef:function(e,t,i){i?(this.recoverClearedField(e),this.instances[e]=i):(i=this.fieldsStore.getFieldMeta(e)).preserve||(this.clearedFieldMetaCache[e]={field:this.fieldsStore.getField(e),meta:i},this.clearField(e))},recoverClearedField:function(e){this.clearedFieldMetaCache[e]&&(this.fieldsStore.setFields(_defineProperty({},e,this.clearedFieldMetaCache[e].field)),this.fieldsStore.setFieldMeta(e,this.clearedFieldMetaCache[e].meta),delete this.clearedFieldMetaCache[e])},setFieldsAsErrors:function(e,t){this.fieldsStore.getValidFieldsFullName(e).includes(e)&&!(0,_useFieldForm.hasRules)(t.validate)&&(t=this.fieldsStore.getField(e)).errors&&this.fieldsStore.setFields(_defineProperty({},e,_objectSpread(_objectSpread({},t),{},{errors:void 0})))},clearUnlinkedFields:function(){var i=this,e=this.fieldsStore.getAllFieldsName().filter(function(e){var t=i.fieldsStore.getFieldMeta(e);return!i.renderFields[e]&&!t.preserve});0<e.length&&e.forEach(function(e){return i.clearField(e)})},clearField:function(e){this.fieldsStore.clearField(e),delete this.renderFields[e],delete this.instances[e],delete this.cachedBind[e]},setFields:function(e,i){var r=this,l=this.fieldsStore.flattenRegisteredFields(e),e=(Object.keys(l).forEach(function(e){r.fieldsStore.setFields(_defineProperty({},e,l[e]));var t,e=r.fieldsStore.getFieldMeta(e);e&&(t=e.fieldElem,e=e.inputElem,t.forceUpdate(e,i))}),Object.keys(l).reduce(function(e,t){return(0,_util.set)(e,t,r.fieldsStore.getField(t))},{})),t=this.fieldsStore.getNestedAllFields();this.onFieldsChange(e,t)},onCollectValidate:function(e,t){for(var i=arguments.length,r=new Array(2<i?i-2:0),l=2;l<i;l++)r[l-2]=arguments[l];var e=this.onCollectCommon(e,t,r),n=e.field,e=e.fieldMeta,n=_objectSpread(_objectSpread({},n),{},{dirty:!0});this.fieldsStore.setFieldsAsDirty(),this.validateFieldsInternal([n],{action:t,options:{firstFields:!!e.validateFirst}})},onCollectCommon:function(e,t,i){var r=this.fieldsStore.getField(e),l=this.fieldsStore.getFieldMeta(e),n=l.oriInputEvents,s=l.fieldElem,t=(n&&n[t]&&n[t].apply(n,_toConsumableArray(i)),_useFieldForm.getValueFromEvent.apply(void 0,_toConsumableArray(i)));return t!==this.fieldsStore.getFieldValue(e)&&(s.data.value!==t&&s.setData({value:t}),n=_defineProperty({},e,t),i=this.fieldsStore.getAllValues(),this.onValuesChange(n,_objectSpread(_objectSpread({},i),n))),{name:e,field:_objectSpread(_objectSpread({},r),{},{value:t,touched:!0}),fieldMeta:l}},onCollect:function(e,t){for(var i=arguments.length,r=new Array(2<i?i-2:0),l=2;l<i;l++)r[l-2]=arguments[l];var e=this.onCollectCommon(e,t,r),t=e.name,n=e.field,e=e.fieldMeta.validate,n=(this.fieldsStore.setFieldsAsDirty(),_objectSpread(_objectSpread({},n),{},{dirty:(0,_useFieldForm.hasRules)(e)}));this.setFields(_defineProperty({},t,n))},setFieldsValue:function(e,t){var r=this.fieldsStore.fieldsMeta,l=this.fieldsStore.flattenRegisteredFields(e),i=Object.keys(l).reduce(function(e,t){var i;return r[t]&&(i=l[t],e[t]={value:i}),e},{}),i=(this.setFields(i,t),this.fieldsStore.getAllValues());this.onValuesChange(e,i)},resetFields:function(e){var t=this,i=void 0===e||Array.isArray(e)?e:[e],i=this.fieldsStore.resetFields(i);0<Object.keys(i).length&&this.setFields(i),e?(Array.isArray(e)?e:[e]).forEach(function(e){return delete t.clearedFieldMetaCache[e]}):this.clearedFieldMetaCache={}},validateFieldsInternal:function(e,t,i){var s=this,a=t.fieldNames,r=t.action,t=t.options,l=void 0===t?{}:t,o={},d={},n={},u={};e.forEach(function(e){var t,i=e.name;!0!==l.force&&!1===e.dirty?e.errors&&(0,_util.set)(u,i,{errors:e.errors}):(t=s.fieldsStore.getFieldMeta(i),(e=_objectSpread({},e)).errors=void 0,e.validating=!0,e.dirty=!0,o[i]=s.getRules(t,r),d[i]=e.value,n[i]=e)}),this.setFields(n),Object.keys(d).forEach(function(e){d[e]=s.fieldsStore.getFieldValue(e)}),i&&(0,_useFieldForm.isEmptyObject)(n)?i((0,_useFieldForm.isEmptyObject)(u)?null:u,this.fieldsStore.getFieldsValue(a)):(t=new _asyncValidator.default(o),(e=this.data.validateMessages)&&t.messages(e),t.validate(d,l,function(e){var l=_objectSpread({},u),r=(e&&e.length&&e.forEach(function(e){var i=e.field,r=i,t=(Object.keys(o).some(function(e){var t;return(e===i||!(o[e]||[]).every(function(e){return"array"!==e.type})&&0===i.indexOf("".concat(e,"."))&&(t=i.slice(e.length+1),!!/^\d+$/.test(t)))&&(r=e,!0)}),(0,_util.get)(l,r));"object"===_typeof(t)&&!Array.isArray(t)||(0,_util.set)(l,r,{errors:[]}),(0,_util.get)(l,r.concat(".errors")).push(e)}),[]),n={};Object.keys(o).forEach(function(e){var t=(0,_util.get)(l,e),i=s.fieldsStore.getField(e);(0,_util.eq)(i.value,d[e])?(i.errors=t&&t.errors,i.value=d[e],i.validating=!1,i.dirty=!1,n[e]=i):r.push({name:e})}),s.setFields(n),i&&(r.length&&r.forEach(function(e){var e=e.name,t=[{message:"".concat(e," need to revalidate"),field:e}];(0,_util.set)(l,e,{expired:!0,errors:t})}),i((0,_useFieldForm.isEmptyObject)(l)?null:l,s.fieldsStore.getFieldsValue(a)))}))},validateFields:function(a,o,d){var u=this,e=new Promise(function(i,r){var l,e=(0,_useFieldForm.getParams)(a,o,d),t=e.names,e=e.options,n=(0,_useFieldForm.getParams)(a,o,d).callback,t=(n&&"function"!=typeof n||(l=n,n=function(e,t){l&&l(e,t),e?r({errors:e,values:t}):i(t)}),t?u.fieldsStore.getValidFieldsFullName(t):u.fieldsStore.getValidFieldsName()),s=t.filter(function(e){e=u.fieldsStore.getFieldMeta(e);return(0,_useFieldForm.hasRules)(e.validate)}).map(function(e){var t=u.fieldsStore.getField(e);return t.value=u.fieldsStore.getFieldValue(e),t});s.length?("firstFields"in e||(e.firstFields=t.filter(function(e){return!!u.fieldsStore.getFieldMeta(e).validateFirst})),u.validateFieldsInternal(s,{fieldNames:t,options:e},n)):n(null,u.fieldsStore.getFieldsValue(t))});return e.catch(function(e){return console.error&&console.error(e),e}),e},getRules:function(e,t){e=e.validate.filter(function(e){return!t||0<=e.trigger.indexOf(t)}).map(function(e){return e.rules});return(0,_useFieldForm.flattenArray)(e)},getFieldInstance:function(e){return this.instances[e]},getCacheBind:function(e,t,i){this.cachedBind[e]||(this.cachedBind[e]={});var r=this.cachedBind[e];return r[t]&&r[t].oriFn===i||(r[t]={fn:i.bind(this,e,t),oriFn:i}),r[t].fn},getFieldDecorator:function(r,e,t){var l=this,n=this.getFieldProps(r,e,t);return function(e){l.renderFields[r]=!0;var t=l.fieldsStore.getFieldMeta(r),i=e.data;return t.inputElem=e,i.oriInputEvents||(n.oriInputEvents=_objectSpread({},i.inputEvents),t.oriInputEvents=_objectSpread({},i.inputEvents)),_objectSpread(_objectSpread({},n),l.fieldsStore.getFieldValuePropValue(t))}},getFieldProps:function(t,e,i){var r=this,l=(delete this.clearedFieldMetaCache[t],(0,_useFieldForm.transformRules)(e.rules)),n=e.initialValue,s=e.trigger,s=void 0===s?_constants.DEFAULT_TRIGGER:s,a=e.valuePropName,o=e.validate,o=void 0===o?[]:o,d=e.validateTrigger,d=void 0===d?[_constants.DEFAULT_TRIGGER]:d,u=e.preserve,c=e.validateFirst,e=e.hidden,a={name:t,trigger:s,valuePropName:a,validate:o,validateTrigger:d,preserve:u,rules:l,validateFirst:c,hidden:e},f=((0,_useFieldForm.isNullValue)(n)||(a.initialValue=n),_objectSpread(_objectSpread({},this.fieldsStore.getFieldValuePropValue(a)),{},{inputEvents:{}})),u=this.fieldsStore.getFieldMeta(t),c=("initialValue"in a&&(u.initialValue=a.initialValue),u.fieldElem=i,(0,_useFieldForm.normalizeValidateRules)(o,l,d)),e=(0,_useFieldForm.getValidateTriggers)(c),n=(e.forEach(function(e){f.inputEvents[e]||(f.inputEvents[e]=r.getCacheBind(t,e,r.onCollectValidate))}),-1===e.indexOf(s)&&(f.inputEvents[s]=this.getCacheBind(t,s,this.onCollect)),_objectSpread(_objectSpread(_objectSpread({},u),a),{},{validate:c})),i=(this.fieldsStore.setFieldMeta(t,n),this.setFieldsAsErrors(t,n),n.fieldElem,n.inputElem,n.oriInputEvents,_objectWithoutProperties(n,_excluded));return f[_constants.FIELD_META_PROP]=i,f[_constants.FIELD_DATA_PROP]=this.fieldsStore.getField(t),f},registerField:function(e,t){var i="".concat(e,"__ref"),r=this.getCacheBind(e,i,this.saveRef);return r(t),function(){r(null)}},getInternalHooks:function(e){return"FORM_HOOK_MARK"===e?{registerField:this.registerField.bind(this),getFieldDecorator:this.getFieldDecorator.bind(this)}:((0,_warning.default)(!1,"`getInternalHooks` is internal usage of the <form />. Should not call directly."),null)},expose:function(){return{getFieldsValue:this.getFieldsValue,getFieldValue:this.getFieldValue,setFieldsInitialValue:this.setFieldsInitialValue,getFieldsError:this.getFieldsError,getFieldError:this.getFieldError,isFieldValidating:this.isFieldValidating,isFieldsValidating:this.isFieldsValidating,isFieldsTouched:this.isFieldsTouched,isFieldTouched:this.isFieldTouched,setFieldsValue:this.setFieldsValue.bind(this),setFields:this.setFields.bind(this),resetFields:this.resetFields.bind(this),validateFields:this.validateFields.bind(this),getFieldInstance:this.getFieldInstance.bind(this),getInternalHooks:this.getInternalHooks.bind(this)}},onValuesChange:function(e,t){this.triggerEvent("change",{form:this.expose(),changedValues:e,allValues:t})},onFieldsChange:function(e,t){this.triggerEvent("fieldsChange",{form:this.expose(),changedFields:e,allFields:t})}},created:function(){var i=this;this.fieldsStore=(0,_useFieldForm.default)(),this.renderFields={},this.cachedBind={},this.clearedFieldMetaCache={},this.instances={},["getFieldsValue","getFieldValue","setFieldsInitialValue","getFieldsError","getFieldError","isFieldValidating","isFieldsValidating","isFieldsTouched","isFieldTouched"].forEach(function(t){i[t]=function(){var e;return(e=i.fieldsStore)[t].apply(e,arguments)}})}});
|