Files
salvato.newfreeplanet/src/components/CTitleBanner/CTitleBanner.ts

97 lines
1.7 KiB
TypeScript
Raw Normal View History

2021-09-04 15:05:34 +02:00
import { defineComponent, ref } from 'vue'
export default defineComponent({
name: 'CTitleBanner',
props: {
title: {
type: String,
required: true,
},
bgcolor: {
type: String,
required: false,
default: 'bg-primary',
},
clcolor: {
type: String,
required: false,
default: 'text-white',
},
mystyle: {
type: String,
required: false,
default: '',
},
myclass: {
type: String,
required: false,
default: '',
},
myclasstext: {
type: String,
required: false,
default: '',
},
icon: {
type: String,
required: false,
default: '',
},
visible: {
type: Boolean,
required: false,
default: true,
},
canopen: {
type: Boolean,
required: false,
default: false,
},
imgpreview: {
type: String,
required: false,
default: '',
},
},
components: {},
emits: ['apri'],
setup(props, { emit }) {
const myvisible = ref(false)
function created() {
myvisible.value = props.visible
}
function iconopen() {
if (!myvisible.value)
return 'fas fa-chevron-down q-icon q-expansion-item__toggle-icon q-focusable '
else
return 'fas fa-chevron-down q-icon q-expansion-item__toggle-icon q-focusable rotate-180'
}
function apri() {
2022-01-03 21:53:41 +01:00
if (props.canopen) {
myvisible.value = !myvisible.value
if (myvisible.value)
emit('apri')
}
2021-09-04 15:05:34 +02:00
}
function getclass() {
if (myvisible.value)
return 'isvisibile'
else
return 'nonvisibile glossy'
}
created()
return {
2021-09-16 21:08:02 +02:00
myvisible,
2021-09-04 15:05:34 +02:00
iconopen,
apri,
getclass,
}
},
})