Типы полей

Типы полей раздела settings manifest.json

Разберем возможные типы полей, которые можно указывать в разделе settings файла manifest.json. Все возможные типы перечислены в таблице, с описанием их свойств, по каждому типу приведены примеры использования его в manifest.json и ,если это необходимо, пример файла локализации из папки i18n/

ТипОписание
text Текстовое поле
pass Поле для ввода пароля
users Будет выведен список пользователей системы с 1 текстовым полем на каждого, требуется в случае если нужно ввести какую-то информацию по каждому сотруднику, например внутренний телефонный номер для IP-телефонии
users_lp Будет выведен список пользователей системы с 2 полями (login,password) на каждого.
custom Поля типа custom, подробно рассмотрены а разделе Расширенные настройки виджета.

Ниже приведены примеры применения типов полей в файле manifest.json

Типы полей text и pass.

Пример описания в manifest.json.

  1. {
  2. "widget":{
  3.   "name": "widget.name",
  4.   "description": "widget.description",
  5.   "short_description": "widget.short_description",
  6.   "code": "new_widget",
  7.   "secret_key": "57009cb5048a72191f25b01355c17d10dc349df20d4fe2ad0c69930223e13955",
  8.   "version": "1.0.0",
  9.   "interface_version" : 2,
  10.   "init_once" : false,
  11.   "locale":[
  12.         "ru",
  13.         "en"
  14.         ],
  15.     "installation": true
  16.     },
  17. "locations":[
  18.     "ccard-1",
  19.     "clist-1"
  20.     ],
  21. "settings":{
  22.     "login":{
  23.         "name": "settings.login", //указывает на файл локализации, в папке i18n
  24.         "type": "text", //тип: текстовое поле
  25.         "required": false
  26.         },
  27.     "password":{
  28.         "name": "settings.password",//указывает на файл локализации, в папке i18n
  29.         "type": "pass", //тип: пароль
  30.         "required": false
  31.         }
  32.   }
  33. }

i18n/en.json в данном случае должен иметь следующий вид:

  1. {
  2.     "widget":{
  3.         "name":"Test widget",
  4.         "short_description":"Short one",
  5.         "description":"ENGLISH: #SUBDOMAIN# #HOST# #LOGIN# #API_HASH# #USER_ID# #ACCOUNT_ID#
  6. #LINK#http://example.test/link_to_copy#/LINK# Lorem ipsum dolor sit amet,  consectetur adipiscing elit. <br/>
  7. <strong>Quisque posuere
  8. tristique nisl  vitae fringilla. Nam purus tellus, vestibulum at interdum id, cursus sed lacus.</strong><br/>Pellentesque
  9. vitae ligula
  10. sem. Proin imperdiet luctus arcu sed vulputate. Pellentesque malesuada tincidunt lectus eu congue. Pellentesque habitant
  11. morbi tristique
  12. senectus et netus et malesuada fames. "
  13.     },
  14.     "settings":{
  15.         "login":"User login",
  16.         "password":"User password"
  17.         }
  18. }

Тип поля users.

Рассмотрим пример поля типа: users.Этот тип поля используется когда необходимо представить список пользователей системы с текстовыми полями, требуется в случае если нужно ввести какую-то информацию по каждому сотруднику, например внутренний телефонный номер для IP-телефонии) Ниже приведен пример файла manifest.json.

В последующих примерах для краткости опущены содержания частей widget, locations и других, их значения аналогичны предыдущим примерам.

  1. {
  2.     "widget":{            
  3.             },
  4.     "locations":[
  5.             ],
  6.     "settings":{
  7.                 "login":{                        
  8.                         },
  9.                 "password":{                        
  10.                         },
  11.                 "phones":{
  12.                         "name": "settings.user_phones",
  13.                         "type": "users",
  14.                         "required": true
  15.                         }
  16.                 }
  17. }

i18n/en.json в данном случае должен иметь следующий вид:

  1. {
  2. "widget":{
  3.     },
  4.     "settings":{
  5.         "login":"User login",
  6.         "password":"User password",
  7.         "user_phones":"Phones list"
  8.         }
  9. }

Тип поля users_lp.

Данный тип поля является расширенной версией поля users.Отличие состоит в том, что по каждому пользователю предоставляется два поля ,а не одно как в случае с users.Используется, когда по каждому сотруднику необходимо предоставить пары значений, например: login- password. Ниже приведен пример файла manifest.json.

  1. {
  2. "widget":{},
  3. "locations":[],
  4. "settings":{
  5.     "auth_data":{
  6.         "name":"settings.auth_data",
  7.         "type":"users_lp",
  8.         "required": false
  9.     }
  10.   }
  11. }

Так же существует возможность добавлять пользовательские поля типа custom. Эта возможность подробно рассмотрена в разделе Расширенные настройки виджета