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.
sidebar-form/src/sidebarFormMixin.js

62 lines
1.1 KiB

/**
* mixin extends sidebarForm
*
* @author Björn Hase <me@herr-hase.wtf>
* @license http://opensource.org/licenses/MIT The MIT License
* @link https://gitea.node001.net/tiny-components/sidebar-form
*
*/
export default {
state: {
open: false, // if sidebar is open
isLoading: false, // if loading is shown
current: { // current data of form
}
},
/**
* close current sidebar
*
*/
handleClose() {
this.reset()
this.state.isOpen = false
this.update()
},
/**
* getting css classes for sidebar
*
*
* @return {String}
*
*/
getCssClasses() {
const classes = [
'sidebar'
]
if (this.state.isOpen === true) {
classes.push('sidebar--open')
}
return classes.join(' ')
},
/**
*
*
*
*/
onBeforeMount() {
if (!this.hasOwnProperty('reset')) {
throw new Error('reset-Function in Form is missing')
}
this.reset()
}
}