2023-05-29 20:37:34 +00:00
|
|
|
<script>
|
|
|
|
import BaseComponent from 'primevue/basecomponent';
|
2023-10-02 10:46:09 +00:00
|
|
|
import SidebarStyle from 'primevue/sidebar/style';
|
2023-05-29 20:37:34 +00:00
|
|
|
|
|
|
|
export default {
|
|
|
|
name: 'BaseSidebar',
|
|
|
|
extends: BaseComponent,
|
|
|
|
props: {
|
|
|
|
visible: {
|
|
|
|
type: Boolean,
|
|
|
|
default: false
|
|
|
|
},
|
|
|
|
position: {
|
|
|
|
type: String,
|
|
|
|
default: 'left'
|
|
|
|
},
|
2023-11-20 07:41:12 +00:00
|
|
|
header: {
|
|
|
|
type: null,
|
|
|
|
default: null
|
|
|
|
},
|
2023-05-29 20:37:34 +00:00
|
|
|
baseZIndex: {
|
|
|
|
type: Number,
|
|
|
|
default: 0
|
|
|
|
},
|
|
|
|
autoZIndex: {
|
|
|
|
type: Boolean,
|
|
|
|
default: true
|
|
|
|
},
|
|
|
|
dismissable: {
|
|
|
|
type: Boolean,
|
|
|
|
default: true
|
|
|
|
},
|
|
|
|
showCloseIcon: {
|
|
|
|
type: Boolean,
|
|
|
|
default: true
|
|
|
|
},
|
|
|
|
closeIcon: {
|
|
|
|
type: String,
|
|
|
|
default: undefined
|
|
|
|
},
|
|
|
|
modal: {
|
|
|
|
type: Boolean,
|
|
|
|
default: true
|
|
|
|
},
|
|
|
|
blockScroll: {
|
|
|
|
type: Boolean,
|
|
|
|
default: false
|
|
|
|
}
|
|
|
|
},
|
2023-10-02 10:46:09 +00:00
|
|
|
style: SidebarStyle,
|
2023-05-30 12:28:04 +00:00
|
|
|
provide() {
|
|
|
|
return {
|
|
|
|
$parentInstance: this
|
|
|
|
};
|
2024-04-11 07:24:23 +00:00
|
|
|
},
|
|
|
|
watch: {
|
|
|
|
dismissable(newValue) {
|
|
|
|
if (newValue) {
|
|
|
|
this.bindOutsideClickListener();
|
|
|
|
} else {
|
|
|
|
this.unbindOutsideClickListener();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
2023-05-29 20:37:34 +00:00
|
|
|
};
|
|
|
|
</script>
|