UNPKG

wux-weapp

Version:

一套组件化、可复用、易扩展的微信小程序 UI 组件库

1 lines 2.95 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _classNames=_interopRequireDefault(require("../libs/classNames")),_constants=require("../shared/constants");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function _iterableToArray(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e)){for(var t=0,a=new Array(e.length);t<e.length;t++)a[t]=e[t];return a}}function intersperseSpace(e){return e.reduce(function(e,t){return[].concat(_toConsumableArray(e),[" ",t])},[]).slice(1)}var _default=Behavior({properties:{validateStatus:{type:null,value:null},required:{type:null,value:null},help:{type:null,value:null},hasFeedback:{type:Boolean,value:!0}},data:{mergedValidateStatus:"",mergedRequired:!1,feedbackMessage:"",validateClasses:""},methods:{getControls:function(){return this.getRelationsByType("descendant").filter(function(e){return!!e.hasFieldDecorator})},getOnlyControl:function(){var e=this.getControls()[0];return void 0!==e?e:null},getChildProp:function(e){var t=this.getOnlyControl();return t&&t.data&&t.data[e]},getMeta:function(){return this.getChildProp(_constants.FIELD_META_PROP)},getField:function(){return this.getChildProp(_constants.FIELD_DATA_PROP)},getValidateState:function(e,t){if(!this.getOnlyControl())return"";var a=e||this.getMeta(),r=t||this.getField();if(r.validating)return"validating";if(r.errors)return"error";var n="value"in r?r.value:a.initialValue;return null!=n&&""!==n?"success":""},getRequiredState:function(e){return null!==e?!!e:!!this.getOnlyControl()&&((this.getMeta()||{}).validate||[]).filter(function(e){return!!e.rules}).some(function(e){return e.rules.some(function(e){return e.required})})},getFeedbackMessage:function(e){if(this.getOnlyControl()){var t=this.getField().errors;if(t)return intersperseSpace(t.map(function(e){return e.message}))}return""},getValidateClasses:function(e,t,a){return e?(0,_classNames.default)({"has-success":"success"===e,"has-warning":"warning"===e,"has-error":"error"===e,"is-validating":"validating"===e}):""},reRender:function(e){var t=0<arguments.length&&void 0!==e?e:this.data,a=null!==t.validateStatus?"".concat(t.validateStatus):this.getValidateState();this.data.mergedValidateStatus!==a&&this.setData({mergedValidateStatus:a});var r=this.getRequiredState(t.required);this.data.mergedRequired!==r&&this.setData({mergedRequired:r});var n=this.getFeedbackMessage(t.help);this.data.feedbackMessage!==n&&this.setData({feedbackMessage:n});var i=this.getValidateClasses(a,t.hasFeedback,t.help);this.data.validateClasses!==i&&this.setData({validateClasses:i})}}});exports.default=_default;