Конфигурация расширения: различия между версиями

Материал из Документация Ключ-АСТРОМ
(Новая страница: «Расширения АктивногоШлюза предназначены для мониторинга удаленных технологий, недосту...»)
 
Строка 22: Строка 22:
* <code>defaultValue</code>(необязательно) — значение свойств, если оно не указано
* <code>defaultValue</code>(необязательно) — значение свойств, если оно не указано
* <code>dropdownValues</code>(необязательно) — используется только для типа свойства «Раскрывающийся список» . Он не должен быть пустым, и вы должны объявить значение по умолчанию.
* <code>dropdownValues</code>(необязательно) — используется только для типа свойства «Раскрывающийся список» . Он не должен быть пустым, и вы должны объявить значение по умолчанию.
<code>{</code>
<code>  "url": "<nowiki>http://localhost:8769</nowiki>"</code>
<code>}</code>
Расширение JSON позволяет вам предоставить описание ваших свойств. Это необязательно, но это дает вам контроль над внешним видом вашей конфигурации в пользовательском интерфейсе. Отредактируйте <code>configUI</code>раздел, чтобы описать представление ваших свойств.
<code>{</code>
<code>  "configUI": {</code>
<code>    "displayName": "My plugin",</code>
<code>    "properties": [</code>
<code>      {</code>
<code>        "key": "string_prop",</code>
<code>        "displayName": "String property",</code>
<code>        "displayOrder": 1</code>
<code>      },</code>
<code>      {</code>
<code>        "key": "boolean_prop",</code>
<code>        "displayName": "Boolean property",</code>
<code>        "displayOrder": 2</code>
<code>      },</code>
<code>      {</code>
<code>        "key": "integer_prop",</code>
<code>        "displayName": "Integer property",</code>
<code>        "displayOrder": 3</code>
<code>      },</code>
<code>      {</code>
<code>        "key": "float_prop",</code>
<code>        "displayName": "Float property",</code>
<code>        "displayOrder": 4</code>
<code>      },</code>
<code>      {</code>
<code>        "key": "password_prop",</code>
<code>        "displayName": "Password property",</code>
<code>        "displayHint": "hint",</code>
<code>        "displayOrder": 5</code>
<code>      },</code>
<code>      {</code>
<code>        "key": "textarea_prop",</code>
<code>        "displayName": "Textarea property",</code>
<code>        "displayHint": "hint",</code>
<code>        "displayOrder": 6</code>
<code>      },</code>
<code>      {</code>
<code>        "key": "dropdown_prop",</code>
<code>        "displayName": "Dropdown property",</code>
<code>        "displayOrder": 7</code>
<code>      }</code>
<code>    ]</code>
<code>  }</code>
<code>}</code>
* <code>key</code>- сопоставляет конфигурацию пользовательского интерфейса со свойством
* <code>displayName</code>- описывает входную метку. Ключ свойства будет использоваться, если не указан.
* <code>displayHint</code>— описывает заполнитель для ввода свойства. По умолчанию пусто.
* <code>displayOrder</code>- позволяет изменить порядок ввода. По умолчанию это соответствует порядку объявления.
Дополнительную информацию см. в справочнике по расширениям .
=== Использование Python ===
При работе с кодом Python вы можете прочитать конфигурацию, как в примере ниже:
<code>def initialize(self, **kwargs):</code>
<code>        config = kwargs['config']</code>
<code>        string_prop = config['string_prop']</code>
<code>        boolean_prop = config['boolean_prop']</code>
<code>        integer_prop = config['integer_prop']</code>
<code>        float_prop = config['float_prop']</code>
<code>        password_prop = config['password_prop']</code>
<code>        textarea_prop = config['textarea_prop']</code>
<code>        dropdown_prop = config['dropdown_prop']</code>

Версия 12:47, 27 декабря 2023

Расширения АктивногоШлюза предназначены для мониторинга удаленных технологий, недоступных ЕдиномуАгенту КлючАстром. По этой причине каждое устройство должно быть определено явно. Мы называем его the technology endpointи определяем его с помощью конфигурации расширения.

Помимо полей Endpoint nameи Choose ActiveGateв расширении JSON можно указать свои. Значения, которые вы установили в пользовательском интерфейсе, позже можно будет использовать в коде расширения Python.

Вы можете выбрать один из следующих типов свойств:

  • String
  • Boolean
  • Integer
  • Float
  • Password
  • Textarea
  • Dropdown

Как реализовать и использовать конфигурацию расширения

JSON-декларация

Отредактируйте propertiesраздел, чтобы объявить конфигурацию расширения. Каждое свойство состоит из следующих полей:

  • key- уникальный идентификатор свойств объекта
  • type- один из перечисленных выше
  • defaultValue(необязательно) — значение свойств, если оно не указано
  • dropdownValues(необязательно) — используется только для типа свойства «Раскрывающийся список» . Он не должен быть пустым, и вы должны объявить значение по умолчанию.

{

  "url": "http://localhost:8769"

}

Расширение JSON позволяет вам предоставить описание ваших свойств. Это необязательно, но это дает вам контроль над внешним видом вашей конфигурации в пользовательском интерфейсе. Отредактируйте configUIраздел, чтобы описать представление ваших свойств.

{

  "configUI": {

    "displayName": "My plugin",

    "properties": [

      {

        "key": "string_prop",

        "displayName": "String property",

        "displayOrder": 1

      },

      {

        "key": "boolean_prop",

        "displayName": "Boolean property",

        "displayOrder": 2

      },

      {

        "key": "integer_prop",

        "displayName": "Integer property",

        "displayOrder": 3

      },

      {

        "key": "float_prop",

        "displayName": "Float property",

        "displayOrder": 4

      },

      {

        "key": "password_prop",

        "displayName": "Password property",

        "displayHint": "hint",

        "displayOrder": 5

      },

      {

        "key": "textarea_prop",

        "displayName": "Textarea property",

        "displayHint": "hint",

        "displayOrder": 6

      },

      {

        "key": "dropdown_prop",

        "displayName": "Dropdown property",

        "displayOrder": 7

      }

    ]

  }

}

  • key- сопоставляет конфигурацию пользовательского интерфейса со свойством
  • displayName- описывает входную метку. Ключ свойства будет использоваться, если не указан.
  • displayHint— описывает заполнитель для ввода свойства. По умолчанию пусто.
  • displayOrder- позволяет изменить порядок ввода. По умолчанию это соответствует порядку объявления.

Дополнительную информацию см. в справочнике по расширениям .

Использование Python

При работе с кодом Python вы можете прочитать конфигурацию, как в примере ниже:

def initialize(self, **kwargs):

        config = kwargs['config']

        string_prop = config['string_prop']

        boolean_prop = config['boolean_prop']

        integer_prop = config['integer_prop']

        float_prop = config['float_prop']

        password_prop = config['password_prop']

        textarea_prop = config['textarea_prop']

        dropdown_prop = config['dropdown_prop']