Skip to content

Commit

Permalink
docs: routing docs [WTEL-1093]
Browse files Browse the repository at this point in the history
  • Loading branch information
dlohvinov committed May 2, 2024
1 parent d178989 commit 640a892
Showing 1 changed file with 72 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# Filters-preserving routing

## Вимоги

* Фільтри у системі мають відтворюватись після перезавантаження сторінки.

* Після натиснення кнопки "Close" "вкладеної" сутності (наприклад, карточки контакта у реєстрі контактів),
роутинг має вертати на список контактів, а не на попередню сторінку. При поверненні фільтри - відтворюються.

## TLDR;

* Щоб зберегти фільтри у роуті, використовуємо `query` параметри.

* При закритті "вкладеної" сутності, повертаємось на список, а не на попередню сторінку через роутинг на конкретну сторінку,
а не на `.back()`.

* Для цього необхідно зберігати фільтри також у `localStorage`, та відтворювати їх при відкритті сторінки, навіть якщо
вони були видалені з `query` параметрів.

## FAQ

### Як має працювати зараз?

В межах одного апплікейшена, фільтри мають зберігатись в межах сесії.

В деяких апплікейшенах (див. [роадмапу переробки](#роадмапа-переробки)), фільтри зберігаються в `query`. Як про це дізнатись?
у роуті є `query` з фільтрами.

Фільтри з `query` - мають відтворюватись.

Фільтри без `query` - нажаль, ні 😢. Тільки в межах сесії апплікейшена.

### "Я відкрив вкладену сутність, натиснув на "Close", але фільтри не відтворилися. Чому?"

**Бага.**

#### Шо робить?

Звіртесь з тим, [як має працювати](#як-має-працювати-зараз). Якщо працює не так, як там - але умови збігаються.
**Копайте, будем фіксати.**

Якщо ж не так, як там - тоді тільки чекати переробку фільтрів у цьому апплікейшені.

#### А чому?

Варіанти 2:
- Або, в цьому місці ще не було реалізовано збереження фільтрів у `query` параметрах (якщо роутер вертає на попередню сторінку).
- Або, не було реалізовано відновлення фільтрів з `localStorage` у `query`. (якщо роутер вертає на таблицю).

### А коли буде все добре?

Коли переробимо фільтри 😢

([роадмапа переробки](#роадмапа-переробки))

## Роадмапа переробки

**-- Тут роутинг працює через повернення на попередню сторінку --**

1. Переробити всі апплікейшени на нову систему фільтрації, яка зберігає значення фільтрів у `query`.

- [x] CRM
- [x] Audit
- [] History
- [] Supervisor
- [] Admin

_Флова, авторизації, віджета - не стосується._

2. Додати підтримку `localStorage` у модуль фільтрів, яка би відтворювала фільтри зі стореджа, коли їх немає у `query`.

**-- Тут переробляємо роутинг працювати через редірект на таблицю --**

0 comments on commit 640a892

Please sign in to comment.