Добавить анимацию подкачки в CellTable в GWT - PullRequest
3 голосов
/ 25 марта 2012

Я пытаюсь найти способ анимировать изменение страницы в CellTable в GWT, которое будет работать так же, как и изменение вкладок (http://gwt.google.com/samples/Showcase/Showcase.html#!CwTabLayoutPanel). Другими словами, новая страница таблицы будет скользить сверху (или нижний в этом отношении.) CellTable использует SimplePager, чтобы инициировать изменение страницы в данный момент.

Спасибо, Матиас

1 Ответ

0 голосов
/ 08 июня 2013

Нет способа сделать это простым способом, потому что для создания анимации слайдов вам нужно иметь как минимум 2 уже отрендеренных страницы: первую, которая сдвинута, и вторую, которая заменяет первую. В демонстрационном примере с анимированным набором вкладок все вкладки отображаются и готовы к использованию, но CellTable с SimplePager не имеет отображаемых страниц, кроме видимой - новая страница просто отображается непосредственно в теле CellTable.

Итак, если вы действительно хотите создать такой эффект с помощью CellTable и Pager, вы должны реализовать собственную пару CellTable и Pager, которая будет выполнять следующие действия:

  1. Храните 2 контейнера с визуализированными строками: один виден, второй скрыт.
  2. В теле CellTable должен быть видовой экран (просто
    с правилом CSS «overflow: hidden»), в котором будут оба контейнера.
  3. Когда страница смены пейджера, вы должны заставить CellTable рендерить новые строки в скрытый контейнер.
  4. Когда рендерится новые данные, поместите скрытый контейнер в правильное положение, чтобы создать иллюзию того, что он продолжает оставаться видимым, и сделайте его видимым;
  5. Обеспечить анимацию, которая переместит оба контейнера на новые позиции. Я бы рекомендовал не использовать кодирование для анимации (например, Timer) - гораздо лучше и эффективнее использовать правила преобразования CSS3 (см. « Свойство преобразования CSS3 » и / или « Свойство перехода CSS3 »). «).
  6. Когда анимация закончится, сделайте первый контейнер скрытым и переключите указатели на видимые и скрытые контейнеры - чтобы вы вернулись в исходное состояние.

Надеюсь, это поможет.

...