СЭД «ДЕЛО»
Руководство пользователя
×

6.4.1.3 FieldEnum – выбор из списка заданных значений

{
                  "label": "Тип",
                  "name": "Type",
                  "type": "FieldEnum",
                  "required": true,
                  "options": [{ "value": 1, "label": "Оригинал" },
                                 { "value": 2, "label": "Любой экземпляр" },
                                 { "value": 3, "label": "Копия" }]
}
"options" – массив значений для выбора.
При необходимости указать значения по умолчанию, значения указываются в "defaultValues":
"defaultValues": {"Type": 2}
Если выбор значения должен влиять на заполняемость других полей, необходимо описать объект "onChange":
{
      "label": "Метод авторизации",
      "name": "AuthorizationMethod",
      "type": "FieldEnum",
      "required": true,
      "options": [{ "value": "NONE", "label": "Авторизация не требуется" },
               { "value": "LOGIN", "label": "Авторизация логин/пароль" },
               { "value": "NTLM", "label": "Авторизация Windows" }],
      "onChange": [{ "action": "disableField", "field": "SmtpUsername", "value": "NONE" },
               { "action": "disableField", "field": "SmtpPassword", "value": "NONE" },
               { "action": "enableField", "field": "SmtpUsername", "value": "LOGIN" },
               { "action": "enableField", "field": "SmtpPassword", "value": "LOGIN" },
               { "action": "enableField", "field": "SmtpUsername", "value": "NTLM"},
               { "action": "enableField", "field": "SmtpPassword", "value": "NTLM" }]
}
При наличии блока "onChange" обязательно указание значения по умолчанию в "defaultValues".
В "onChange" представлен массив с описанием действий при изменении выбора:
-                     "action" – действие (disableField / enableField, hideField / showField, setRequiredField / unsetRequiredField),
-                     "field" – поле, над которым производится действие,
-                     "value" – выбранное значение.
В данном примере, при значении "Авторизация не требуется" -"NONE", поля с name "SmtpUsername" и "SmtpPassword" будут не активны, в остальных случаях – активны.
Если вместо "disableField" указать "hideField", а вместо "enableField" - "showField", то поля имени и пароля будут скрыты при значении "NONE" и видимы в других значениях.
Разница использования "disableField"-"enableField" или "hideField"-"showField" состоит не только в визуальном отображении, но также и при сохранении конфигурации. В первом случае, конфигурация будет содержать пустые значения полей "SmtpUsername" и "SmtpPassword" или заполненные при выборе другого значения переключателя. Во втором случае, в сохраненной конфигурации будут отсутствовать значения полей "SmtpUsername" и "SmtpPassword".
Также, "action" может содержать действие "setRequiredField" или "unsetRequiredField" устанавливающее или снимающее обязательность заполнения с видимого поля, указанного в "field", при выбранном "value".
Для множественного выбора указывается "enumType": "multiple"
{
            "label": "Типы",
            "name": "Types",
            "type": "FieldEnum",
            "enumType": "multiple",
            "options": [{ "value": 1, "label": "Тип 1" },
                                 { "value": 2, "label": "Тип 2" },
                                 { "value": 3, "label": "Тип 3" }]
}
В таком случае, в конфигурацию сохраняется массив выбранных значений.
В значениях по умолчанию также указывается массив значений value:
 "defaultValues": {"Types":[1]}
Онлайн помощь создана в Dr.Explain