Перейти к содержимому

inputForm

await crafttechApi.inputForm(obj);

Выводит на экран окно с полями ввода, лейблами и кнопками с возможностью кастомизации; при нажатии на выбранную кнопку запускает функцию или макрос.

  • obj (object) — объект в входными данными:
    • title (string) — заголовок окна;
    • input (object[]) — массив объектов с информацией о каждом поле ввода:
      • label (string) — лейбл поля ввода;
      • value (string) — дефолтное значение поля ввода.
    • actions (object[]) — массив объектов с информацией о каждой исполняемой кнопке:
      • btnCap (string) — текст кнопки, который будет виден пользователю;
      • btnVal (string) — значение, которое хранит кнопка;
      • callback (function) — функция (например, макрос), который выполняется при нажатии на эту кнопку.
  • result (string[]) — массив значений, переданных пользователем в полях ввода.

Код ниже запустит окно, которое будет иметь заголовок "Вставьте значение", поле ввода 1 без лейбла, но с дефолтным значением "value1", поле ввода 2 с лейблом, но без дефолтного значения, а также кнопки “Принять” и “Отклонить”.

При нажатии на кнопку "Принять" запустится функция doOne, которая выведет текст "Предложение принято!" в консоль. При нажатии на кнопку “Отклонить” запустится функция doTwo, которая выведет текст "Предложение отклонено!" в консоль. Вне зависимости от нажатой кнопки метод вернёт массив значений, переданных пользователем в полях ввода в переменную res.

function doOne() {
console.log("Предложение принято!");
}
function doTwo() {
console.log("Предложение отклонено!");
}
const obj = {
title: "Вставьте значение",
input: [
{ label: undefined, value: "value1" },
{ label: "label2", value: "" },
],
actions: [
{ btnCap: "Принять", btnVal: "yes", callback: doOne },
{ btnCap: "Отклонить", btnVal: "no", callback: doTwo },
],
};
const res = await crafttechApi.inputForm(obj);
console.log(res);

image{width=“392” height=“238”}