Skip to content
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

feat(tabs): add pre collapsed tab ids prop #413

Merged
merged 6 commits into from
Dec 29, 2022

Conversation

mrAnomalyy
Copy link
Contributor

Опишите проблему

Наша команда хочет давать пользователям возможность выбора вкладок к отображению, в то время как остальные вкладки будут спрятаны под меню "Ещё".

Шаги для воспроизведения

  1. Перейти в компонент Tabs в Storybook
  2. Выбрать тип адаптивности "Collapsible"
  3. В новом списке ниже, выбрать вкладки, которые будут спрятаны под меню "Ещё"

Ожидаемое поведение

Выбранные вкладки заранее, вне зависимости ширины контейнера, будут спрятаны под меню "Ещё"

Чек лист

  • Тесты
  • Документация

Тестовый стенд

Десктоп (если данных нет оставте блок пустым):

  • OS: MacOS
  • Browser: Safari
  • Version: 16.1

Дополнительная информация

В ПРе есть только одно изменение, которое влияет на поведение компонента в обычном сценарии использования, без нового пропа - добавлен учёт кнопки "Ещё" при расчёте ширины контейнера и определения списка вкладок, которые должны быть спрятаны в список "Ещё". В коде: packages/tabs/src/hooks/use-collapsible-elements.ts:29

@changeset-bot
Copy link

changeset-bot bot commented Dec 13, 2022

🦋 Changeset detected

Latest commit: 4ca7b9f

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@alfalab/core-components-tabs Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@mrAnomalyy
Copy link
Contributor Author

Коллеги, доброе время суток. Хотелось бы узнать Ваше мнение об этих изменениях и понять, есть ли шансы смержить это в мастер?

@coveralls
Copy link

coveralls commented Dec 13, 2022

Pull Request Test Coverage Report for Build 3799223797

  • 15 of 29 (51.72%) changed or added relevant lines in 5 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage decreased (-0.1%) to 80.655%

Changes Missing Coverage Covered Lines Changed/Added Lines %
packages/tabs/src/hooks/use-tablist-titles.ts 7 21 33.33%
Totals Coverage Status
Change from base Build 3799044896: -0.1%
Covered Lines: 7304
Relevant Lines: 8255

💛 - Coveralls

@core-ds-bot
Copy link
Collaborator

Собрана новая демка.

@Oladii
Copy link
Contributor

Oladii commented Dec 14, 2022

К задумке есть вопрос: если я скрываю первые табы в "ещё", то при выборе скрытого таба выбранный таб отображается первым в линии, что выглядит довольно странно и противоречит обычной логике скрытия табов в ещё. Обычно выбранный скрытй таб идет последним в линии.

Перед доработкой нужно обсудить с дизайнерами, которые заказали правку. Мое мнение — скрывабельные табы должны идти после видимых. Чтобы механика была идентичной. Можно отправить дизайнера ко мне если что)

image

@mrAnomalyy
Copy link
Contributor Author

mrAnomalyy commented Dec 14, 2022

@Oladii у нас на проекте, к сожалению, нет дизайнеров. Идея была предложена командой фронтов (в т.ч. мной). Замечание хорошее, сегодня доделаю :)

@core-ds-bot
Copy link
Collaborator

Собрана новая демка.

@mrAnomalyy
Copy link
Contributor Author

mrAnomalyy commented Dec 14, 2022

Добавил дополнительную сортировку заголовков табов по наличию в массиве collapsedTabsIds. @Oladii

@core-ds-bot
Copy link
Collaborator

Собрана новая демка.

@core-ds-bot
Copy link
Collaborator

Собрана новая демка.

const elements = Array.from(container.querySelectorAll(selectors)) as HTMLElement[];
const containerWidth =
(inlineSize || container.clientWidth) - (moreElementRect?.width || 0) * 1.5; // при рассчётах, даём кнопке "Ещё" чуть больше места, чтобы точно влезла
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Изменил код здесь, посмотрите. Убрал одно магическое число и добавил другое - но с пояснением :))

@core-ds-bot
Copy link
Collaborator

Собрана новая демка.

@SiebenSieben SiebenSieben merged commit 3b6a4a5 into master Dec 29, 2022
@SiebenSieben SiebenSieben deleted the feature/tabs-precollapsed-prop branch December 29, 2022 12:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants