UNPKG

wux-weapp

Version:

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

1 lines 5.55 kB
"use strict";var _baseComponent=_interopRequireDefault(require("../helpers/baseComponent")),_classNames4=_interopRequireDefault(require("../helpers/libs/classNames")),_eventsMixin=_interopRequireDefault(require("../helpers/mixins/eventsMixin")),_styleToCssString=_interopRequireDefault(require("../helpers/libs/styleToCssString")),_bound=require("../helpers/shared/bound"),_props=require("./props");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function ownKeys(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(r,!0).forEach(function(e){_defineProperty(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ownKeys(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function _defineProperty(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var defaultEvents={onChange:function(){},onFocus:function(){},onBlur:function(){},onConfirm:function(){},onClear:function(){},onError:function(){}};(0,_baseComponent.default)({behaviors:[(0,_eventsMixin.default)({defaultEvents:defaultEvents})],relations:{"../field/index":{type:"ancestor"}},properties:_objectSpread({},_props.nativeInputProps,{prefixCls:{type:String,value:"wux-input"},label:{type:String,value:""},extra:{type:String,value:""},defaultValue:{type:String,value:""},value:{type:String,value:"",observer:function(e){this.data.controlled&&this.updated(e)}},controlled:{type:Boolean,value:!1},disabled:{type:Boolean,value:!1},readOnly:{type:Boolean,value:!1},clear:{type:Boolean,value:!1},error:{type:Boolean,value:!1},labelWrap:{type:Boolean,value:!1},requiredMark:{type:Boolean,value:!1},onlyShowClearWhenFocus:{type:Boolean,value:!0},min:{type:Number,value:null},max:{type:Number,value:null},visibilityToggle:{type:Boolean,value:!1}}),data:{inputValue:"",inputFocus:!1,shouldShowClear:!1,internalPlaceholderStyle:"",internalVisible:!1},observers:_defineProperty({placeholderStyle:function(e){this.setInternalPlaceholderStyle(e)}},"clear, disabled, readOnly, inputValue, inputFocus, onlyShowClearWhenFocus",function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var n=t[0],a=t[1],i=t[2],o=t[3],l=t[4],u=t[5];this.setClear({clear:n,disabled:a,readOnly:i,inputValue:o,inputFocus:l,onlyShowClearWhenFocus:u})}),computed:{classes:["prefixCls, disabled, readOnly, inputFocus, error, labelWrap, requiredMark, internalVisible",function(e,t,r,n,a,i,o,l){var u,s;return{wrap:(0,_classNames4.default)(e,(_defineProperty(u={},"".concat(e,"--focus"),n),_defineProperty(u,"".concat(e,"--disabled"),t),_defineProperty(u,"".concat(e,"--readonly"),r),_defineProperty(u,"".concat(e,"--error"),a),u)),label:(0,_classNames4.default)("".concat(e,"__label"),(_defineProperty(s={},"".concat(e,"__label--wrap"),i),_defineProperty(s,"".concat(e,"__label--required"),o),s)),control:"".concat(e,"__control"),item:"".concat(e,"__item"),clear:"".concat(e,"__clear"),eye:(0,_classNames4.default)("".concat(e,"__eye"),_defineProperty({},"".concat(e,"__eye--invisible"),!l)),error:"".concat(e,"__error"),extra:"".concat(e,"__extra"),keyboardAccessory:"".concat(e,"__keyboardAccessory")}}]},methods:{onInternalVisibleChange:function(){if(!this.data.disabled){var e=!this.data.internalVisible;this.setData({internalVisible:e})}},setInternalPlaceholderStyle:function(e){var t=(0,_styleToCssString.default)(e);this.data.internalPlaceholderStyle!==t&&this.setData({internalPlaceholderStyle:t})},setClear:function(e){var t=!(!e.clear||!e.inputValue||e.disabled||e.readOnly)&&(!e.onlyShowClearWhenFocus||e.inputFocus);this.data.shouldShowClear!==t&&this.setData({shouldShowClear:t})},checkValue:function(){var e=this.data,t=e.inputValue,r=t;"number"!==e.type&&"digit"!==e.type||(r=r&&(0,_bound.bound)(parseFloat(r),null!==e.min?e.min:void 0,null!==e.max?e.max:void 0).toString()),r!==t&&(this.data.controlled||this.updated(r),this.triggerEvent("change",{value:r}))},updated:function(e){this.hasFieldDecorator||this.data.inputValue!==e&&this.setData({inputValue:e})},onChange:function(e){var t=e.detail.value;this.data.controlled||this.updated(t),this.triggerEvent("change",e.detail)},onFocus:function(e){this.clearTimer(),this.setData({inputFocus:!0}),this.triggerEvent("focus",e.detail)},onBlur:function(e){this.setTimer(),this.checkValue(),this.triggerEvent("blur",e.detail)},onConfirm:function(e){this.triggerEvent("confirm",e.detail)},onKeyboardHeightChange:function(e){this.triggerEvent("keyboardheightchange",e.detail)},onNicknameReview:function(e){this.triggerEvent("nicknamereview",e.detail)},onClear:function(){var e={value:""};this.data.controlled||this.updated(e.value),this.triggerEvent("change",e),this.triggerEvent("clear",e)},onError:function(){var e=this.data.inputValue;this.triggerEvent("error",{value:e})},setTimer:function(){var e=this;this.clearTimer(),this.timeout=setTimeout(function(){e.setData({inputFocus:!1})},200)},clearTimer:function(){this.timeout&&(clearTimeout(this.timeout),this.timeout=null)}},attached:function(){var e=this.data,t=e.defaultValue,r=e.value,n=e.controlled,a=e.placeholderStyle,i=n?r:t;this.updated(i),this.setClear(_objectSpread({},this.data,{inputValue:i})),this.setInternalPlaceholderStyle(a)}});