Signature

Signature записывает рукописную подпись: виджет следит за пальцем или курсором и рисует линию на площадке для подписи.

Нужен там, где требуется согласие в электронном виде — договор, акт, расписка о получении.

Как добавить

  1. Перетащите Signature из вкладки Form Elements или вставьте виджет прямо в дерево.
  2. В панели свойств прокрутите до раздела Signature и задайте width и height.

Сохранение подписи в документ Firestore

Разберём типичный случай: приложение хранит данные в Firestore, и туда же нужно положить подпись.

Схема такая: действие Upload Signature сохраняет рисунок картинкой в Firebase Storage и возвращает ссылку, а ссылка уже записывается в поле документа.

инфо
Что должно быть готово

Дальше — три шага.

1. Поле типа Image Path

Создайте коллекцию Firestore, в схеме которой есть поле с типом данных Image Path. image-path-field

2. Действие Upload Signature

Действие загружает нарисованную подпись в Firebase Storage и возвращает ссылку на файл — её можно показать или записать в базу.

  1. Выделите виджет, с которого запускается загрузка, — например, кнопку.
  2. Выберите Actions в панели свойств и нажмите Open — откроется Action Flow Editor.
    1. Нажмите + Add Action.
    2. Справа найдите и выберите Upload Signature.
    3. В Signature to Upload укажите имя виджета подписи (по умолчанию Signature).
  3. Нажмите Close.

3. Запись ссылки в поле документа

Ссылку, которую вернуло Upload Signature, кладут в поле документа следующим действием — Create Document или Update Document.

  1. Выделите виджет, на котором настроена загрузка.
  2. Выберите Actions в панели свойств и нажмите Open.
    1. Выделите уже добавленное действие Upload Signature, нажмите + внизу его блока и выберите Add Action.
    2. Справа найдите Create Document или Update Document.
    3. Для Create Document укажите Collection — имя вашей коллекции.
    4. Для Update Document укажите ссылку на обновляемый документ: если документ доступен, поставьте Source на сам документ, а Available Options — на reference.
    5. В разделе Set Fields нажмите + Field.
    6. Выберите поле, в которое пишется подпись.
      1. Value SourceFrom Variable.
      2. Нажмите UNSET — слева откроется список.
      3. Выберите Widget State, затем Uploaded Signature URL.
    7. Закройте редактор действий.

Действие Clear Signature

Подпись редко получается с первого раза, поэтому пользователю нужна кнопка «стереть». За это отвечает действие Clear Signature.

  1. Выделите виджет — например, IconButton со значком отмены.
  2. Выберите Actions в панели свойств и нажмите + Add Action.
    1. Найдите и выберите Clear Signatures.
    2. В списке Signature Fields отметьте нужные поля. Это важно, когда на странице несколько площадок для подписи и очистить надо не все.
  3. Нажмите Close.

Настройки

Внешний вид и поведение задаются в панели свойств.

Перо

  1. Выделите Signature в дереве виджетов или на холсте.
  2. Прокрутите панель свойств до раздела Signature.
  3. Pen Color — цвет линии: щёлкните по квадрату рядом с текущим цветом, выберите оттенок и нажмите Use Color либо введите hex-код.
  4. Pen Stroke Width — толщина линии: чем больше значение, тем жирнее штрих.

перевод официальной документации FlutterFlow

обновлено

ESC