[O] Unique ids
This commit is contained in:
+18
-17
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div id="BlogPostPreview" class="card" :class="{'image-top': imageOnTop, 'tag-top': tagOnTop}" ref="el">
|
<div id="BlogPostPreview" class="card" :class="elClass">
|
||||||
<img class="title-image" :src="image" v-if="image && imageOnTop" alt="Title Image">
|
<img class="title-image" :src="image" v-if="image && imageOnTop" alt="Title Image">
|
||||||
|
|
||||||
<div id="titles">
|
<div id="titles">
|
||||||
@@ -53,30 +53,31 @@ export default class BlogPostPreview extends Vue
|
|||||||
@Prop({required: true}) meta!: BlogPost
|
@Prop({required: true}) meta!: BlogPost
|
||||||
@Prop({default: false}) imageOnTop = false
|
@Prop({default: false}) imageOnTop = false
|
||||||
@Prop({default: true}) tagOnTop = true
|
@Prop({default: true}) tagOnTop = true
|
||||||
|
@Prop({default: false}) active = false
|
||||||
|
|
||||||
@Ref() readonly el!: HTMLDivElement
|
readonly uid = (Math.random() + 1).toString(36).substring(7)
|
||||||
|
|
||||||
created(): void
|
|
||||||
{
|
|
||||||
if (!this.meta.subtitle)
|
|
||||||
{
|
|
||||||
// fetch(`${hosts.content}/${this.meta.file}`).then(it => it.text()).then(it =>
|
|
||||||
// {
|
|
||||||
// this.meta.subtitle = marked(it)
|
|
||||||
// })
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
mounted(): void
|
mounted(): void
|
||||||
{
|
{
|
||||||
$(this.el).accordion({collapsible: true, header: '#titles', heightStyle: 'content', active: false})
|
// Create accordion
|
||||||
|
$(`.${this.uid}`).accordion({collapsible: true, header: '#titles', heightStyle: 'content',
|
||||||
|
active: this.active})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Element classes
|
||||||
|
*/
|
||||||
|
get elClass(): string[]
|
||||||
|
{
|
||||||
|
let classes = [this.uid]
|
||||||
|
if (this.imageOnTop) classes.push('image-top')
|
||||||
|
if (this.tagOnTop) classes.push('tag-top')
|
||||||
|
return classes
|
||||||
}
|
}
|
||||||
|
|
||||||
get content(): string { return marked(this.meta.content) }
|
get content(): string { return marked(this.meta.content) }
|
||||||
get date(): moment.Moment { return moment(this.meta.date) }
|
get date(): moment.Moment { return moment(this.meta.date) }
|
||||||
|
get image(): string | null { return this.meta.title_image ? hosts.content + '/' + this.meta.title_image : null }
|
||||||
get image(): string | null
|
|
||||||
{ return this.meta.title_image ? hosts.content + '/' + this.meta.title_image : null }
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user