Типы полей

Типы полей раздела 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. Эта возможность подробно рассмотрена в разделе Расширенные настройки виджета