Значение переменной пользовательского ввода проекта заполняется пользователем приложения и может быть применено к одной или нескольким кнопкам в проекте. Пользователь приложения вводит значение, однако автор проекта должен определить кнопки и поля, к которым будет применяться переменная.
Для переменной пользовательского ввода проекта применяется следующее:
- Для каждого проекта можно определить до трех переменных пользовательского ввода проекта.
- Ее значение вводится пользователем перед нажатием кнопки. Если пользовательский ввод задан как обязательный, пользователю будет предложено ввести это значение при запуске проекта, но он может изменить его в любое время.
- Ее значение может быть применено к любым текстовым полям в любых кнопках.
- Ее значение может быть применено к текстовому или целочисленному полю, с заданным доменом кодированных значений.
- Она не может быть применена к текстовому полю, с заданным интервальным доменом.
Свойства переменной пользовательского ввода проекта следующие:
- Надпись – текст, который отображается в качестве заголовка страницы пользовательского ввода проекта в приложении.
- Тип ввода - может быть однострочный, многострочный текст или список выбора. Для списков выбора вы определяете значения и можете разрешить свободный ввод текста. Используйте динамический список выбора для заполнения значений из полей в слое запроса или таблице, которые вы добавляете в проект.
- Применить подсказку – отображение текста подсказки на странице пользовательского ввода проекта в приложении.
- Применить маску ввода – определите формат ввода данных, используя буквы и символы для определения маски ввода.
- Показать сканер штрих-кода — используйте сканер штрих-кода в диалоговом окне ввода для ввода текстового поля.
Примечание:
Поддерживаются следующие форматы: QR CODE, UPC A, UPC E, EAN 8, EAN 13, CODE 39 и CODE 128.
- Обязательно – определяет, должен ли пользователь мобильного приложения указывать входное значение перед тем, как он сможет нажать любую другую кнопку. Если это не требуется, пользователь может дополнительно ввести значение ввода пользователя, выбрав кнопку редактирования (рядом со значением ввода пользователя, отображаемым в верхней части экрана) и введя значение.
Примечание:
При применении значения ввода пользователя к векторному слою с обязательными полями убедитесь, что его свойство Обязательно имеет значение «истина», чтобы избежать ошибок отправки.
Переменная пользовательского ввода проекта создается и настраивается автором проекта на вкладке Данные для каждого поля или в элементе меню Пользовательский ввод проекта.
Чтобы назначить переменную пользовательского ввода проекта полю захвата кнопки, на вкладке Данные в раскрывающемся меню поля захвата выберите пункт Пользовательский ввод проекта.
В мобильном приложении пользователю будет запрещено вводить текст, превышающий длину поля данных.
Создание и использование динамического списка выбора
Пользовательский ввод проекта может быть заполнен динамическим списком выбора, который связывается с существующим векторным слоем или таблицей. Слой объектов или таблица могут быть доступными для редактирования или только для чтения. Автор может управлять содержимым списка, настраивая его свойства.
Чтобы создать и использовать динамический список выбора в пользовательском вводе проекта, выполните следующие действия:
- Нажмите на кнопку проекта, чтобы отобразить панель Кнопка, и выберите вкладку Данные.
- Выберите Пользовательские вводы проекта для поля Захват, в котором будет храниться выбранное в динамическом списке вариантов значение.
- В ниспадающем меню поля Захват выберите Создать новый.
- Введите надпись для динамического списка выбора. Эта подпись будет отображаться над списком.
- Выберите Динамический список вариантов для Типа ввода.
- Щелкните Добавить и выберите Обзор всех слоев.
- Выберите векторный слой или таблицу, к которым будет применен запрос для заполнения списка.
Примечание:
Неиспользуемые слои запросов удаляются из проекта при сохранении. Если вы добавляете несколько слоев запроса здесь или с помощью панели Управление слоями проекта, обязательно добавьте слой запроса хотя бы к одной кнопке перед сохранением проекта.
- Заполните остальные свойства следующим образом:
Подсказка:
Заполняя эти свойства, вы можете просмотреть примеры результатов на боковой панели Предварительный просмотр списка выбора.
- Отображаемое поле — значение, которое отображается в мобильном приложении.
- Поле значения — значение, которое хранится в слое.
- Поле сортировки — поле, используемое для сортировки динамического списка выбора.
- Порядок сортировки — по возрастанию или по убыванию.
- Режим обновления — ручной или автоматический. В ручном режиме, если пользовательский ввод задан как обязательный, список обновляется только при первом открытии проекта. Последующие обновления будут происходить только тогда, когда пользователь перейдет в конец списка. В автоматическом режиме, если пользовательский ввод задан как обязательный, список обновляется при первом открытии проекта и при редактировании пользовательского ввода.
- Фильтр — критерий, используемый для ограничения значений, отображаемых в динамическом списке выбора. Щелкните кнопку Добавить фильтр, чтобы создать фильтр.
- Нажмите Создать.
Этот созданный пользовательский ввод проекта будет задан для выбранного поля Захват.
Мобильное приложение вернет только первую страницу результатов списка, которая по умолчанию, для сервиса объектов ArcGIS Online, содержит 2000 записей.
Динамический список выбора доступен для оффлайн использования после его просмотра в мобильном приложении. Чтобы получать обновления списка, устройство должно быть подключено к сети во время перезагрузки списка.
Создание фильтра
Фильтр используется для ограничения объектов или значений, отображаемых в динамическом списке выбора пользовательского ввода проекта. Вы можете задать одно или несколько условий, чтобы ограничить отображение данных в списке.
Для создания фильтра, выполните следующие шаги:
- На панели Фильтр щелкните селектор полей и выберите поле для использования в выражении.
- Щелкните кнопку выбора оператора и выберите оператор, например между, равно или включает.
Если вы выберете поле даты, будут показаны другие операторы. Вы можете использовать оператор в прошлом, чтобы применить динамический фильтр относительной даты, чтобы отобразить события, произошедшие относительно сегодняшнего дня, например все объекты, которые были отредактированы за последние 5 дней, без необходимости ежедневного обновления фильтров вручную.
- В поле ввода значения введите значение, которое будет использоваться в выражении. Предварительный просмотр итогового списка отображается сбоку от конструктора запросов.
Поле ввода варьирует в зависимости от типа поля и оператора. Например, если вы выбрали оператор включает или не включает, вы можете выбрать значения из списка значений в заданном поле.
Если вы задали поле даты, в зависимости от выбранного оператора можно указать период, одну дату из календаря или ввести единственную дату.
- При необходимости добавьте к фильтру другое выражение, выбрав И (чтобы указать, что все критерии фильтрации должны быть истинными) или Или (чтобы указать, что любой критерий фильтрации может быть истинным).
- Щелкните Создать, чтобы сохранить и начать использовать фильтр. Если вы редактируете существующий список выбора, щелкните Готово.
Вы также можете использовать опцию Расширенное форматирование, чтобы создать или отредактировать фильтр. В этом представлении вы создаете или изменяете условия для выражения WHERE непосредственно в выражении. Вы можете использовать параметры для выбора переменной устройства (username, fullName, firstName, lastName или email) или поля из выбранного слоя. Например, предполагая, что поле canvasser в выбранном слое содержит имена пользователей, чтобы отфильтровать список по значениям, соответствующим только имени пользователя canvasser, который в данный момент вошел в приложение, введите выражение Canvasser='${username}'.
Примечание:
При использовании Расширенного форматирования, фильтр отображается как выражение. Вы можете отредактировать выражение, но не можете вернуться к конструктору фильтра. Чтобы увидеть конструктор фильтров, закройте диалоговое окно пользовательского ввода и откройте его снова. Фильтр будет сохранен, и вы сможете отредактировать его, используя выбор поля, оператора и значения.