You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 lines
1.9 KiB
1 lines
1.9 KiB
"use strict";var _baseComponent=_interopRequireDefault(require("../helpers/baseComponent")),_classNames3=_interopRequireDefault(require("../helpers/classNames")),_eventsMixin=_interopRequireDefault(require("../helpers/eventsMixin")),_colors=require("../helpers/colors");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperty(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}(0,_baseComponent.default)({useField:!0,behaviors:[(0,_eventsMixin.default)()],relations:{"../field/index":{type:"ancestor"}},properties:{prefixCls:{type:String,value:"wux-switch"},value:{type:Boolean,value:!1,observer:function(e){this.hasFieldDecorator||this.updated(e)}},disabled:{type:Boolean,value:!1},loading:{type:Boolean,value:!1},color:{type:String,value:"balanced",observer:"updateStyle"},checkedText:{type:String,value:""},uncheckedText:{type:String,value:""}},data:{inputStyle:"",inputChecked:!1},computed:{classes:["prefixCls, inputChecked, disabled, loading, color",function(e,t,a,n,i){var r,o;return{wrap:(0,_classNames3.default)(e,(_defineProperty(r={},"".concat(e,"--").concat(i),i),_defineProperty(r,"".concat(e,"--checked"),t),_defineProperty(r,"".concat(e,"--disabled"),a||n),r)),input:(0,_classNames3.default)("".concat(e,"__input"),(_defineProperty(o={},"".concat(e,"__input--checked"),t),_defineProperty(o,"".concat(e,"__input--disabled"),a||n),o)),text:"".concat(e,"__text"),spin:"".concat(e,"__spin")}}]},methods:{updated:function(e){this.data.inputChecked!==e&&this.setData({inputChecked:e})},onTap:function(e){var t=this.data,a=t.inputChecked,n=t.disabled,i=t.loading,r=!a;n||i||this.triggerEvent("change",{value:r})},updateStyle:function(e){var t=(0,_colors.isPresetColor)(e),a="border-color: ".concat(t,"; background-color: ").concat(t,";");this.setData({inputStyle:a})}},attached:function(){this.updateStyle(this.data.color)}});
|