1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- "use strict";
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
- exports.__esModule = true;
- exports.default = void 0;
- var _utils = require("../utils");
- var _shared = require("./shared");
- var _field = require("../mixins/field");
- var _loading = _interopRequireDefault(require("../loading"));
- // Utils
- // Mixins
- // Components
- var _createNamespace = (0, _utils.createNamespace)('switch'),
- createComponent = _createNamespace[0],
- bem = _createNamespace[1];
- var _default = createComponent({
- mixins: [_field.FieldMixin],
- props: _shared.switchProps,
- computed: {
- checked: function checked() {
- return this.value === this.activeValue;
- },
- style: function style() {
- return {
- fontSize: (0, _utils.addUnit)(this.size),
- backgroundColor: this.checked ? this.activeColor : this.inactiveColor
- };
- }
- },
- methods: {
- onClick: function onClick(event) {
- this.$emit('click', event);
- if (!this.disabled && !this.loading) {
- var newValue = this.checked ? this.inactiveValue : this.activeValue;
- this.$emit('input', newValue);
- this.$emit('change', newValue);
- }
- },
- genLoading: function genLoading() {
- var h = this.$createElement;
- if (this.loading) {
- var color = this.checked ? this.activeColor : this.inactiveColor;
- return h(_loading.default, {
- "class": bem('loading'),
- "attrs": {
- "color": color
- }
- });
- }
- }
- },
- render: function render() {
- var h = arguments[0];
- var checked = this.checked,
- loading = this.loading,
- disabled = this.disabled;
- return h("div", {
- "class": bem({
- on: checked,
- loading: loading,
- disabled: disabled
- }),
- "attrs": {
- "role": "switch",
- "aria-checked": String(checked)
- },
- "style": this.style,
- "on": {
- "click": this.onClick
- }
- }, [h("div", {
- "class": bem('node')
- }, [this.genLoading()])]);
- }
- });
- exports.default = _default;
|