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

delete-field

Описание

Срабатывает при удалении поля

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

"delete-field": ({
area: string,
id: string | number
}) => boolean | void;

Параметры

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

  • area - (обязательный) название области, из которой удаляется поле; может быть областью "rows", "columns" или "values"
  • id - (обязательный) идентификатор удаляемого поля
информация

Для обработки внутренних событий можно использовать методы Event Bus

Пример

В примере ниже действие delete-field вызывается через метод api.exec(). Последнее поле удаляется из области values. Метод api.getState() здесь используется для получения текущего состояния config Pivot. Действие будет вызвано по нажатию кнопки.

const table = new pivot.Pivot("#root", {
fields,
data,
config: {
rows: ["studio", "genre"],
columns: [],
values: [
{
field: "title",
method: "count"
},
{
field: "score",
method: "max"
}
]
}
});

//вызов методов API: удаление определённого значения из values в config
function removeLastField() {
if (table.api) {
const state = table.api.getState();
const config = state.config;

const count = config.values.length;

if (count) {
const lastValue = config.values[count - 1];

table.api.exec("delete-field", {
area: "values",
id: lastValue.id, // автоматически сгенерированный ID элемента, добавленного в config.values
});
}
}
}

const button = document.createElement("button");

button.addEventListener("click", removeLastField);
button.textContent = "Remove";

document.body.appendChild(button);