Как стать автором
Обновить
34
0
Барсуков Никита @nsbarsukov

Frontend developer

Отправить сообщение

На технических собеседованиях в нашу компанию кандидаты часто спрашивают, как устроены рабочие процессы в наших командах.
Да, мы можем закидать их известными скучными терминами, но это не даст им полной картины.

А вот данная статья в веселом формате дает отличную возможность представить себя в роли будущего разработчика Тинькофф.

Серебряной пули в данном вопросе, к сожалению, нет.
То есть, если ваша маска требует поддержки разных локалей, то придется пописать немного кода.

Но Maskito уже сейчас предоставляет несколько встроенных конфигурируемых популярных масок (пакет @maskito/kit), которые пытаются учитывать особенности разных стран.
Например: маска Number позволяет легко задавать свои decimalSeparator и thousandSeparator, маска Date предоставляет разные форматы дат (dd/mm/yyyy, yyyy/mm/dd, mm/dd/yyyy), а маска Time дает возможность настраивать 12/24-часовой формат времени.

Пакет @maskito/kit будет продолжать расширяться популярными решениями. И, разумеется, мы будем продолжать всегда держать в уме вопросы локализации.

Вы правильно подметили, что данный обработчик handleKeydown обрабатывает далеко не все возможные кейсы.

Но, к счастью, он существует лишь для древних версий Firefox, которые не поддерживают нативное beforeinput событие (которое уже гораздо лучше справляется с огромным перечнем возможных способов взаимодействия пользователя с текстовым полем). Для своих бизнесовых потребностей нам пока еще нужна частичная поддержка старого Firefox.

Для всех остальных современных браузеров мы уже не используем событие `keydown`, а опираемся на комбинацию `beforeinput`/`input` событий.

Подробнее об всем этом можно почитать в моей предыдущей статье "Трудности маскирования текстового поля".

Признаюсь, что создание документации и ее постоянная актуализация - уже нелегкая задача. А если еще нужна поддержка нескольких языков, то задача сильно усложняется.

Так как пользователи библиотеки - это разработчики, то делается допущение, что пользователи владеют английским хотя бы на уровне «умею читать техническую документацию».

Согласен, что любому нашему пользователю было бы удобнее читать документацию на своем родном языке. Но данное допущение позволяет нам сосредоточить сэкономленные время и силы на более приоритетные задачи по дальнейшему развитию библиотеки.

Многие заботы взял на себя Nx.

А про зависимости. Главный пакет не имеет зависимостей, а все прочие опциональные пакеты заявляют их через peerDependencies.

Это не последняя статья про Maskito, так что учту этот запрос в будущей статье.

Данная статья про открытый исходный код, а не про открытые данные. Все наши публично доступные репозитории можно найти на гитхабе.

А википедия – это открытая энциклопедия, наша компания своей странички там не создавала. Поэтому про судьбу данной страницы я, к сожалению, вам не подскажу, я просто не знаю этого.

Спасибо за замечание!

Изучим проблему и исправим)

На момент написания кастомного скроллбара у нативного была плохая кроссбраузерность (в частности, у Firefox все было плохо с этим).

Также через нативную стилизацию нельзя сделать полноценно скроллбар поверх контента.

Кажется, что сейчас ситуация не сильно улучшилась. Но я не проверял, нужно как-то провести исследование этого вопроса)

Хорошее замечание, спасибо!

Нам нужно на `:host`-элемент слайдера докинуть:

&:active {
    cursor: ew-resize;
}

Пойду исправлять)

Привет!

Пока не могу понять, о какой проблеме идет речь (у меня на том же браузере все корректно отрабатывает)
Можно тебя попросить завести нам issue на github?
https://github.com/Tinkoff/taiga-ui/issues

И написать все подробно (девайс, ОС, браузер + приложить запись экрана).
Мы обязательно посмотрим и поправим!

Спасибо за советы, учту при доработке бота!

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Работает в
Дата рождения
Зарегистрирован
Активность

Специализация

Frontend Developer
Lead