-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Issue 1534: disabling collapse element new #1691
Conversation
Alinochka07
commented
Mar 28, 2024
•
edited by Iogsotot
Loading
edited by Iogsotot
- [Minor] На форме редактирования ПО - есть ненужный коллапс элемент который ничего не делает #1534
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
В целом всё ок, нужны небольшие правки я бы рекомендовала создать два состояния для каретки - isDisabled: true и isDisabled: false Ещё заметила какое-то дёрганье каретки, возможно это связано с useEffect и логикой внутри него 1534.1.mp4 |
Насчет дерганья каретки, обернула логику в useCallback. Вроде у меня нормально показывает. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Судя по коду и задаче, header-collapse
может иметь 3 состояния:
disabled - быть НЕкликабельным, смотреть вниз, цвет 000000 25% (Character/Disabled)
expanded - стрелка вверх, кликабельный, активный цвет
collapsed (или default) - стрелка вниз, кликабельный, активный цвет
Как можно упростить и организовать эти стили?
К примеру так:
-
выделить общее: "кликабельный" (курсор, евенты), активный цвет, - вынести эти стили в общий класс
header-collapse
-
Затем можно вынести начальное (default) состояние для
header-collapse
- это состояние можно обозначить классом, а можно оставить "по умолчанию".
- Если обозначить классом, то собрать все стили, отвечающие за default state в один класс (collapsed, как у тебя было сделано).
- Можно не обозначать отдельным классом, и тогда все стили, относящиеся к default state, перенести вheader-collapse
-
собрать все стили для
disabled
в одноименный класс (уже сделано, тут ок) -
написать логику, по которой собирается класс для
header-collapse
(используя classnames, например) -
отслеживать факторы, которые влияют на стейт коллапса и менять их по useEffect, props, useState или useMemo (выбрать наиболее оптимальный в данном кейсе вариант)