@@ -10,11 +10,11 @@ import FilterMenuFind from "./FilterMenuFind.vue";
1010import Select from " ./SelectSort.vue" ;
1111import SetPrice from " ./SetPrice.vue" ;
1212
13- const props = defineProps <{
14- onClick : ( category ? : ICategory ) => void ;
15- onSelect : ( filter : SortBy ) => void ;
16- onSubmit : ( data : IFind ) => void ;
17- onSubmitSetPrice : ( data : ISetPrice ) => void ;
13+ defineEmits <{
14+ ( e : " click " , category ? : ICategory ): void ;
15+ ( e : " select " , filter : SortBy ): void ;
16+ ( e : " submit " , data : IFind ): void ;
17+ ( e : " submitSetPrice " , data : ISetPrice ): void ;
1818}>();
1919
2020const isOpenFilterButton = ref <boolean >(false );
@@ -31,22 +31,34 @@ const { maxPriceByCategory, minPriceByCategory } = storeToRefs(useProductsStore(
3131 <div class =" Filter__filters" >
3232 <p class =" Filter__p" >{{ $t("Shop.Aside.catalog") }}</p >
3333 <div class =" Filter__selects" >
34- <Select @select =" props.onSelect" :options =" sortBy.firstSortBy" ></Select >
35- <Select @select =" props.onSelect" :options =" sortBy.secondSortBy" ></Select >
34+ <Select
35+ @select =" (filter) => $emit('select', filter)"
36+ :options =" sortBy.firstSortBy"
37+ ></Select >
38+ <Select
39+ @select =" (filter) => $emit('select', filter)"
40+ :options =" sortBy.secondSortBy"
41+ ></Select >
3642 </div >
3743 </div >
3844 <div class =" Filter__selects-filtres" @click =" isOpenFilterButton = !isOpenFilterButton" >
3945 <span class =" Filter__selects-filters-span" >{{ $t("Shop.Aside.filtres") }}</span >
4046 </div >
4147 <div class =" allFiltres" :class =" { active: isOpenFilterButton }" >
4248 <div class =" allFiltres__selects" >
43- <Select @select =" props.onSelect" :options =" sortBy.firstSortBy" ></Select >
44- <Select @select =" props.onSelect" :options =" sortBy.secondSortBy" ></Select >
49+ <Select
50+ @select =" (filter) => $emit('select', filter)"
51+ :options =" sortBy.firstSortBy"
52+ ></Select >
53+ <Select
54+ @select =" (filter) => $emit('select', filter)"
55+ :options =" sortBy.secondSortBy"
56+ ></Select >
4557 </div >
4658 <div class =" allFiltres__categories" >
47- <FilterMenuFind class-name =" allFiltres__find" @submit =" props.onSubmit " />
59+ <FilterMenuFind class-name =" allFiltres__find" @submit =" (data) => $emit('submit', data) " />
4860 <SetPrice
49- @submit =" props.onSubmitSetPrice "
61+ @submit =" (data) => $emit('submitSetPrice', data) "
5062 class-name =" allFiltres__setPrice"
5163 :max-price =" maxPriceByCategory"
5264 v-if =" isOpenFilterButton"
@@ -55,26 +67,26 @@ const { maxPriceByCategory, minPriceByCategory } = storeToRefs(useProductsStore(
5567 <Categories
5668 :categories =" categories"
5769 :is-open-filter-button =" isOpenFilterButton"
58- @click =" props.onClick "
70+ @click =" (category) => $emit('click', category) "
5971 />
6072 </div >
6173 </div >
6274 <div class =" Filter__categories" >
6375 <div class =" Filter__categories-list" >
6476 <FilterMenuFind
6577 class-name =" allFiltres__find allFiltres__find_pc"
66- @submit =" props.onSubmit "
78+ @submit =" (data) => $emit('submit', data) "
6779 />
6880 <SetPrice
69- @submit =" props.onSubmitSetPrice "
81+ @submit =" (data) => $emit('submitSetPrice', data) "
7082 class-name =" allFiltres__setPrice allFiltres__setPrice_pc"
7183 :max-price =" maxPriceByCategory"
7284 :min-price =" minPriceByCategory"
7385 />
7486 <Categories
7587 :categories =" categories"
7688 :is-open-filter-button =" isOpenFilterButton"
77- @click =" props.onClick "
89+ @click =" (category) => $emit('click', category) "
7890 />
7991 </div >
8092 <slot ></slot >
0 commit comments