115 lines
2.2 KiB
Vue
115 lines
2.2 KiB
Vue
![]() |
<template>
|
|||
|
<ul class="filter-list" :class="styleClass">
|
|||
|
<li>
|
|||
|
<RouterLink :to="{ name: 'searchResult' }" class="text-title-QSection1"
|
|||
|
>قوانین</RouterLink
|
|||
|
>
|
|||
|
<span class="mr-2">❯</span>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<RouterLink
|
|||
|
:to="{
|
|||
|
name: 'search-lists',
|
|||
|
params: {
|
|||
|
id: vuexEntityGetter?.qanon_id,
|
|||
|
key: 'qasection',
|
|||
|
},
|
|||
|
}"
|
|||
|
class="text-title-QSection2 mr-2"
|
|||
|
>
|
|||
|
{{ vuexEntityGetter?.qanon_title }}
|
|||
|
<span class="mr-2 ml-2">❯</span>
|
|||
|
</RouterLink>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a v-if="vuexEntityGetter?.other_info?.full_path">{{
|
|||
|
vuexEntityGetter?.other_info.full_path
|
|||
|
}}</a>
|
|||
|
</li>
|
|||
|
<li v-if="filters.length" class="mx-3">
|
|||
|
:حکم =>
|
|||
|
</li>
|
|||
|
|
|||
|
<li v-for="(value, index) in filters" :key="value.id" class="">
|
|||
|
<a
|
|||
|
:href="value[keyName]"
|
|||
|
class="btn"
|
|||
|
@click.prevent="onTitleClick(value)"
|
|||
|
>
|
|||
|
{{ normalPathKey(value[keyName]) }}
|
|||
|
</a>
|
|||
|
|
|||
|
<span class="arrow-icon mr-2 ml-2">❯</span>
|
|||
|
|
|||
|
<!-- <button
|
|||
|
@click.prevent="$emit('remove-filter', value)"
|
|||
|
class="btn remove-filter-btn"
|
|||
|
type="button"
|
|||
|
>
|
|||
|
<span class="mr-2 ml-2">❯</span>
|
|||
|
</button> -->
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
</template>
|
|||
|
|
|||
|
<script>
|
|||
|
import { mapState } from "pinia";
|
|||
|
|
|||
|
export default {
|
|||
|
props: {
|
|||
|
filters: {
|
|||
|
default() {
|
|||
|
return [];
|
|||
|
},
|
|||
|
},
|
|||
|
keyName: {
|
|||
|
default: "title",
|
|||
|
},
|
|||
|
styleClass: {
|
|||
|
default: "default",
|
|||
|
},
|
|||
|
},
|
|||
|
computed: {
|
|||
|
...mapState("entity", ["vuexEntityGetter"]),
|
|||
|
},
|
|||
|
methods: {
|
|||
|
normalPathKey(title = "") {
|
|||
|
return title.split(" ").slice(0, 3).join(" ");
|
|||
|
},
|
|||
|
onTitleClick(value) {
|
|||
|
this.$emit("on-title-clicked", value[this.keyName]);
|
|||
|
},
|
|||
|
},
|
|||
|
};
|
|||
|
</script>
|
|||
|
<style lang="scss" scoped>
|
|||
|
.filter-list {
|
|||
|
display: flex;
|
|||
|
align-items: center;
|
|||
|
justify-content: flex-start;
|
|||
|
list-style: none;
|
|||
|
margin-bottom: 1em;
|
|||
|
|
|||
|
li {
|
|||
|
a {
|
|||
|
background-color: transparent;
|
|||
|
}
|
|||
|
|
|||
|
&:not(:last-child) {
|
|||
|
a {
|
|||
|
color: #00abff !important;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
&:last-child {
|
|||
|
a {
|
|||
|
cursor: default;
|
|||
|
}
|
|||
|
.arrow-icon {
|
|||
|
display: none;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
</style>
|