API Диспетчера тегов – Справочник параметров

В этом документе описывается назначение и представление объекта параметра Диспетчера тегов.

Введение

API Диспетчера тегов позволяет создавать ресурсы Диспетчера тегов, такие как теги , правила и макросы , и управлять ими.

Большинство типов тегов и макросов имеют дополнительные параметры, специфичные для тега или макроса, которые можно установить при создании/обновлении ресурса. Список параметров ( key , пары type ) для каждого типа тега и макроса указан в справочнике по словарю тегов и справочнике по словарю макросов .

Чтобы настроить эти параметры, специфичные для тега или макроса, определяется объект параметра и устанавливается в качестве значения свойства parameter ресурса тега или макроса .

Объект параметра

Следующий объект представляет объект параметра:

[
  {
    "type": string,
    "key": string,
    "value": string,
    "list": [
      (Parameter)
    ],
    "map": [
      (Parameter)
    ]
  }
]

type

Тип параметра настраиваемого тега или макроса.

Свойство type будет определять, нужно ли включать в объект параметра свойство value , list или map , как описано в таблице ниже.

Например, если type установлено значение boolean , то свойство value должно быть включено в объект параметра и присвоено ему значение true или false .

Ценить Дополнительное имущество, которое следует включить Для чего установить дополнительное свойство
template value value является любая строка, включая ссылки на макросы, например foo .
boolean value value либо true , либо false .
number value value является целым числом.
list list list будет содержать ноль или более параметров, порядок может иметь/не иметь значения; key любого параметра в list будет игнорироваться.
map map map будет содержать ноль или более параметров, порядок не имеет значения; key любого параметра на map должен быть уникальным.

key

Ключ параметра настраиваемого тега или макроса.

key поле используется для идентификации параметра конкретных тегов или макросов, которые устанавливаются. Для всех типов параметров требуется key свойство (кроме параметров list ).

Примеры

Объект параметра для пользовательского HTML-тега , который имеет один параметр типа template и два параметра boolean типа:

"parameter": [
  {
    "key": "html",
    "type": "template",
    "value": "<script>alert('hello world')</script>"
  },
  {
    "key": "supportDocumentWrite",
    "type": "boolean",
    "value": "false"
  }
]

Объект параметра для макроса таблицы поиска , который имеет два параметра типа template и один параметр типа list :

"parameter": [
  {
    "type": "template",
    "key": "input",
    "value": "{{event}}"
  },
  {
    "type": "list",
    "key": "map",
    "list": [
      {
        "type": "map",
        "map": [
          {
            "type": "template",
            "key": "key",
            "value": "EventEqualsThis"
          },
          {
            "type": "template",
            "key": "value",
            "value": "ThenSetToThis"
          }
        ]
      }
    ]
  },
  {
    "type": "template",
    "key": "defaultValue",
    "value": "MyDefaultValue"
  }
]

Объект параметра для тега вызова функции , который имеет один параметр типа template и один параметр типа map :

"parameter": [
  {
    "key": "functionName",
    "type": "template",
    "value": "fn"
  },
  {
    "key": "functionArgument",
    "map": [
      {
        "key": "argkey1",
        "type": "template",
        "value": "argval1"
      }
    ],
    "type": "map"
  }
]