mirror of
https://gitlab.com/bramw/baserow.git
synced 2025-05-11 11:55:34 +00:00
41 lines
782 B
Vue
41 lines
782 B
Vue
<template>
|
|
<div class="switch" :class="classNames" @click="toggle(value)">
|
|
<slot></slot>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
name: 'SwitchInput',
|
|
props: {
|
|
value: {
|
|
type: [Boolean, Number],
|
|
required: false,
|
|
default: false,
|
|
},
|
|
large: {
|
|
type: Boolean,
|
|
required: false,
|
|
default: false,
|
|
},
|
|
},
|
|
computed: {
|
|
classNames() {
|
|
return {
|
|
'switch--has-content': Object.prototype.hasOwnProperty.call(
|
|
this.$slots,
|
|
'default'
|
|
),
|
|
'switch--large': this.large,
|
|
active: this.value === true,
|
|
unknown: this.value !== true && this.value !== false,
|
|
}
|
|
},
|
|
},
|
|
methods: {
|
|
toggle(value) {
|
|
this.$emit('input', !value)
|
|
},
|
|
},
|
|
}
|
|
</script>
|