среда, 13 февраля 2013 г.

Mac Safari vs Vaadin scrollable

Скроллинг Vaadin таблиц c большим объемом данных в Safari под Mac заметно притормаживает и затрудняет работу для пользователя. При чем Ajax подгрузки не происходит - все данные уже загружены и отрисованы браузером. Протестировал в Chrome, Firefox и Opera - тормозов нет.

Возникло подозрение, что тормоза в Safari как-то связаны с анимацией скроллинга и скролбаров. Надо побровать отключить анимацию скрытия скролбаров. Прогуглил и нашел: http://stackoverflow.com/questions/7855590/how-can-i-prevent-scroll-bars-from-being-hidden-for-trackpad-users-in-webkit

Прописал в стилях темы Vaadin для всех scrollable компонентов:
.v-scrollable::-webkit-scrollbar {
    -webkit-appearance: none;
    width: 11px;
    height: 11px;
}
.v-scrollable::-webkit-scrollbar-thumb {
    border-radius: 8px;
    border: 2px solid white; /* should match background, can't be transparent */
    background-color: rgba(0, 0, 0, .5);
}
Анимация отключилась, скролбары видны постоянно, скроллинг работает без тормозов!