HM-56. Добавлена страница для просмотра логов с фильтрацией, пагинацией (#20)
This commit is contained in:
@ -64,7 +64,7 @@ class RouteService extends EmitService {
|
||||
/**
|
||||
* Метод перехода по маршрутам
|
||||
* @param {string} url - принимает маршрут для перехода
|
||||
* @param {query} query - объект с парами ключ-значение для url
|
||||
* @param {Object<string, string>} query - объект с парами ключ-значение для url
|
||||
* @example
|
||||
* // Переход по заданному url
|
||||
* _.goTo('/users', {
|
||||
@ -73,12 +73,33 @@ class RouteService extends EmitService {
|
||||
* });
|
||||
* // Это создаст строку в url - site.ru/users?key=testApi&author=Petrov
|
||||
*/
|
||||
goTo = (url, query) => {
|
||||
const urlWithQuery = makeUrlWithQuery(url, query);
|
||||
goTo = (url, query = {}) => {
|
||||
const prepareQuery = Object.entries(query)
|
||||
.reduce((memo, [key, value]) => {
|
||||
if (value) {
|
||||
memo[key] = value;
|
||||
}
|
||||
return memo;
|
||||
}, {});
|
||||
const urlWithQuery = makeUrlWithQuery(url, prepareQuery);
|
||||
this.history.pushState({}, '', urlWithQuery);
|
||||
this.generateNext();
|
||||
}
|
||||
|
||||
/**
|
||||
* Обновляет query в url сохраняя текущий url
|
||||
* @param {Object<string, string>} newQuery - объект с новыми query ключами-значениями
|
||||
* @param {boolean} isClear - указать true, чтобы очистить предыдущий query, иначе параметры
|
||||
* смерджатся с приоритетом у нового query
|
||||
*/
|
||||
pushQuery = (newQuery, isClear = false) => {
|
||||
const {url, query} = this.getUrlData();
|
||||
this.goTo(url, {
|
||||
...(isClear ? {} : query),
|
||||
...newQuery,
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* С помощью этого метода подписываемся на событие изменения роута.
|
||||
* @param {RouterListener} listener - слушатель для события изменения роута
|
||||
|
||||
Reference in New Issue
Block a user