This commit is contained in:
f4ilji
2024-11-09 00:52:35 +05:00
parent 693a81d724
commit 49bb821361
17 changed files with 223 additions and 47 deletions
@@ -24,7 +24,6 @@ export default {
methods: {
clearFilter() {
let url = new URL(window.location.href);
// Создаем массив для хранения всех ключей, которые нужно удалить
const keysToDelete = [];
@@ -34,7 +33,6 @@ export default {
keysToDelete.push(key);
}
}
// Удаляем все ключи из массива
keysToDelete.forEach(key => url.searchParams.delete(key));
@@ -1,4 +1,5 @@
<template>
<component
v-for="(filter, index) in filters"
:key="index"
@@ -47,8 +47,18 @@ export default {
methods: {
filter: debounce(function () {
let url = new URL(window.location.href);
// Создаем массив для хранения всех ключей, которые нужно удалить
const keysToDelete = [];
// Перебираем все параметры и добавляем ключи, начинающиеся с 'category', в массив
for (const [key] of url.searchParams) {
if (key.startsWith('category')) {
keysToDelete.push(key);
}
}
// Удаляем все ключи из массива
keysToDelete.forEach(key => url.searchParams.delete(key));
url.searchParams.delete('page');
url.searchParams.delete('category[]');
let newUrl = url.toString();
this.$inertia.visit(newUrl, {
method: 'get',
@@ -60,7 +70,17 @@ export default {
}, 500),
clearFilter() {
let url = new URL(window.location.href);
url.searchParams.delete('category[]');
// Создаем массив для хранения всех ключей, которые нужно удалить
const keysToDelete = [];
// Перебираем все параметры и добавляем ключи, начинающиеся с 'category', в массив
for (const [key] of url.searchParams) {
if (key.startsWith('category')) {
keysToDelete.push(key);
}
}
// Удаляем все ключи из массива
keysToDelete.forEach(key => url.searchParams.delete(key));
this.category_slug = [];
this.searchTerm = ''; // Сбросить поле поиска
let newUrl = url.toString();
@@ -46,21 +46,41 @@ export default {
methods: {
filter: debounce(function () {
let url = new URL(window.location.href);
// Создаем массив для хранения всех ключей, которые нужно удалить
const keysToDelete = [];
// Перебираем все параметры и добавляем ключи, начинающиеся с 'category', в массив
for (const [key] of url.searchParams) {
if (key.startsWith('tag')) {
keysToDelete.push(key);
}
}
// Удаляем все ключи из массива
keysToDelete.forEach(key => url.searchParams.delete(key));
url.searchParams.delete('page');
url.searchParams.delete('tag[]');
let newUrl = url.toString();
this.$inertia.visit(newUrl, {
method: 'get',
preserveState: true,
data: {
tag: this.tag_slug,
category: this.category_slug,
},
});
}, 500),
clearFilter() {
let url = new URL(window.location.href);
url.searchParams.delete('tag[]');
this.tag_slug = [];
// Создаем массив для хранения всех ключей, которые нужно удалить
const keysToDelete = [];
// Перебираем все параметры и добавляем ключи, начинающиеся с 'category', в массив
for (const [key] of url.searchParams) {
if (key.startsWith('tag')) {
keysToDelete.push(key);
}
}
// Удаляем все ключи из массива
keysToDelete.forEach(key => url.searchParams.delete(key));
this.category_slug = [];
this.searchTerm = ''; // Сбросить поле поиска
let newUrl = url.toString();
this.$inertia.visit(newUrl, {