const Popup = {
name: 'cx-vui-popup',
template: '#cx-vui-popup',
props: {
value: {
type: Boolean,
default: false,
},
overlay: {
type: Boolean,
default: true,
},
close: {
type: Boolean,
default: true,
},
showOk: {
type: Boolean,
default: true,
},
showCancel: {
type: Boolean,
default: true,
},
header: {
type: Boolean,
default: true,
},
footer: {
type: Boolean,
default: true,
},
okLabel: {
type: String,
default: 'OK',
},
cancelLabel: {
type: String,
default: 'Cancel',
},
bodyWidth: {
type: String,
default: 'auto',
},
},
data() {
return {
currentValue: this.value,
};
},
watch: {
value( val ) {
this.setCurrentValue( val );
}
},
methods: {
handleCancel() {
this.setCurrentValue( false );
this.$emit( 'input', false );
this.$emit( 'on-cancel' );
},
handleOk() {
this.setCurrentValue( false );
this.$emit( 'input', false );
this.$emit( 'on-ok' );
},
setCurrentValue( value ) {
if ( this.currentValue === value ) {
return;
}
this.currentValue = value;
},
},
};
export default Popup;