What has been done: - TT#27769, Conversations: Create custom card component - TT#28200, Conversations: Show page count Change-Id: Ia3765a11d415d62f280cbf95a666bfdc9230b0d4changes/97/17797/4
parent
54c98fc188
commit
3eb81fa09f
@ -0,0 +1,100 @@
|
||||
<template>
|
||||
<div class="csc-card-collapsible" :id="getId">
|
||||
<q-card>
|
||||
<q-item :link="collapsible" @click="toggleCollapse()" class="csc-card-title">
|
||||
<q-item-side class="csc-card-left-icons">
|
||||
<q-item-tile color="secondary" :icon="firstIcon" />
|
||||
<q-item-tile color="secondary" :icon="secondIcon" />
|
||||
</q-item-side>
|
||||
<q-item-main>
|
||||
<q-item-tile label>
|
||||
<slot name="title">
|
||||
</q-item-tile>
|
||||
<q-item-tile sublabel>
|
||||
{{ sublabel }}
|
||||
</q-item-tile>
|
||||
</q-item-main>
|
||||
<q-item-side v-if="collapsible" right>
|
||||
<q-item-tile color="secondary" icon="keyboard_arrow_down" />
|
||||
</q-item-side>
|
||||
</q-item>
|
||||
<q-card-main v-show="isExpanded">
|
||||
<slot name="main"></slot>
|
||||
</q-card-main>
|
||||
<slot name="footer"></slot>
|
||||
</q-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { QCard, QCardTitle, QCardMain, QIcon, QItem,
|
||||
QItemSide, QItemMain, QItemTile } from 'quasar-framework'
|
||||
export default {
|
||||
name: 'csc-card-collapsible',
|
||||
props: [
|
||||
'listItem',
|
||||
'collapsible',
|
||||
'firstIcon',
|
||||
'secondIcon',
|
||||
'sublabel',
|
||||
'id'
|
||||
],
|
||||
data() {
|
||||
return {
|
||||
expanded: false
|
||||
}
|
||||
},
|
||||
components: {
|
||||
QCard,
|
||||
QCardTitle,
|
||||
QCardMain,
|
||||
QIcon,
|
||||
QItem,
|
||||
QItemSide,
|
||||
QItemMain,
|
||||
QItemTile
|
||||
},
|
||||
computed: {
|
||||
isExpanded() {
|
||||
return this.expanded;
|
||||
},
|
||||
getId() {
|
||||
return this.id;
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
toggleCollapse() {
|
||||
if (this.collapsible) {
|
||||
this.expanded = !this.expanded;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="stylus">
|
||||
@import '~variables'
|
||||
.csc-card-collapsible
|
||||
.q-btn
|
||||
margin-bottom 5px
|
||||
ul
|
||||
list-style none
|
||||
font-size 1rem
|
||||
line-height 2rem
|
||||
strong
|
||||
font-weight 500
|
||||
.q-item-icon
|
||||
font-size 22px
|
||||
padding-right 12px
|
||||
line-height 2rem
|
||||
div.q-item-label > span
|
||||
font-size 18px
|
||||
color #0c0c0c
|
||||
font-weight 400
|
||||
div.q-item-sublabel
|
||||
margin-top 5px
|
||||
.csc-card-left-icons
|
||||
margin-left 15px
|
||||
.csc-card-title
|
||||
padding 16px
|
||||
</style>
|
@ -1,44 +0,0 @@
|
||||
<template>
|
||||
<div class="csc-collapsible">
|
||||
<q-collapsible :icon="icon"
|
||||
:label="label"
|
||||
:sublabel="sublabel">
|
||||
<slot></slot>
|
||||
</q-collapsible>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { QCollapsible } from 'quasar-framework'
|
||||
export default {
|
||||
name: 'csc-collapsible',
|
||||
props: [
|
||||
'icon',
|
||||
'label',
|
||||
'sublabel'
|
||||
],
|
||||
components: {
|
||||
QCollapsible
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="stylus">
|
||||
@import '~variables'
|
||||
.csc-collapsible
|
||||
.q-collapsible
|
||||
.q-item-icon
|
||||
font-size 22px
|
||||
padding-right 12px
|
||||
color $secondary
|
||||
.q-item-label
|
||||
color black
|
||||
font-size 18px
|
||||
font-weight 400
|
||||
ul
|
||||
list-style none
|
||||
font-size 1rem
|
||||
line-height 2rem
|
||||
strong
|
||||
font-weight 500
|
||||
</style>
|
Loading…
Reference in new issue