FileMaker Button Bar как Progress индикатор

Существует много способов реализации индикатора прогресса, так называемого Progress Bar, в FileMaker. Кто-то использует плагины, кто-то реализует прогресс-бар средствами HTML/JavaScript и отображения с помощью web viewer-а,  кто-то использует один из самых старых, но по прежнему эффективных способов через repetitions-поля.

В недавно опубликованной статье в блоге Soliant Consulting разработчики описывают способ реализации Progress Bar через появившийся в 14-й версии FileMaker новый инструмент — Button Bar.

Техника практически полностью идентична «репетишен-способу», только вместо repetitions-полей используется Button Bar. Профессионалам FileMaker дальше, как говорится, можно не читать — идея лежит на поверхности. Для остальных кратко опишем применяемую методику.

Созданный Button Bar должен состоять из количества кнопок (сегментов), равного количеству стадий отображения.

В зависимости от текущей стадии,  используя условное форматирование (Conditional Formating), каждый сегмент закрашивается соответствующим цветом.

В пример который использует Soliant Consulting, автор показывает пример с отображением прогресса проекта, состоящего из пять этапов. При этом используется еще одна возможность Button Bar — подпись кнопки реализована как калькуляция. Это позволяет отображать текущую стадию проекта на прогресс баре, и «двигать» ее по мере выполнения.

ProgressBar 2

Использование функции Char ( “10095” ) прямо в тексте калькуляции — еще одна маленькая «фишка» позволяющая отобразить стрелку в подписи, «не заморачиваясь» с условным форматированием иконки кнопки.

Демо-файл можно скачать по ссылке.

Описанный способ хорошая замена «репетишен-способу». Важным свойством прогресс-бара может быть интерактивность — возможность нажать на определенный сегмент,  то есть использовать сегмент по прямому назначению как кнопку. В «репетишен-способе» мы не могли сделать поле кнопкой, так в этом случае пропадала «сегментированность» реакции, поэтому обычно использовался тригер на вход в поле, который определял номер активной репетиции. Это отлично работало, но визуально для пользователя выглядело ни как нажатие, а как вход в поле, при этом мы также не могли изменить курсор мыши на «палец».  С использованием Button Bar у нас таких проблем нет.

Напомним также, что Button Bar, как и repetitions-поля обладает свойством равномерного изменения размера всех сегментов при изменении размера окна. Это очень важное свойство, которое позволяет делать поведение элементов более понятным пользователю.

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

+ 41 = 43