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

columnShape

Описание

Необязательный. Настраивает внешний вид и поведение колонок Pivot

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

columnShape?: {
sort?: boolean,
width?: {
[field: string]: number
},
autoWidth?: {
columns: {
[field: string]: boolean
},
auto?: boolean | "header" | "data",
maxRows?: number,
firstOnly?: boolean
}
};

Параметры

  • sort - (необязательный) если true (по умолчанию), сортировка включена в интерфейсе по клику на заголовок колонки; если false, сортировка отключена
  • width - (необязательный) определяет ширину колонки; это объект, где каждый ключ — идентификатор поля, а значение — ширина колонки в пикселях
  • autoWidth - (необязательный) объект, определяющий, как ширина колонки должна рассчитываться автоматически. По умолчанию используется 20 строк, а ширина рассчитывается на основе заголовка и данных, при этом каждое поле анализируется только один раз. Параметры объекта следующие:
    • columns - (обязательный) объект, где каждый ключ — идентификатор поля, а булево значение определяет, должна ли ширина колонки рассчитываться автоматически
    • auto - (необязательный) если установлено header, подстраивает ширину под текст заголовка; если установлено data, подстраивает ширину под ячейку с наибольшим содержимым; если установлено true, ширина подстраивается под содержимое как заголовков, так и ячеек. Если autoWidth установлено в false, применяется значение width или значение columnWidth из свойства tableShape.
    • maxRows - (необязательный) количество строк, обрабатываемых при расчёте autoWidth
    • firstOnly - (необязательный) если установлено true (по умолчанию), каждое поле с одинаковыми данными анализируется только один раз для расчёта ширины колонки; в случае нескольких колонок на основе одних и тех же данных (например, поле oil с операцией count и поле oil с операцией sum) анализируются только данные первой колонки, остальные наследуют её ширину

Пример

const table = new pivot.Pivot("#root", {
fields,
data,
config: {
rows: ["studio", "genre"],
columns: [],
values: [
{
field: "title",
method: "count"
},
{
field: "score",
method: "max"
}
]
},
columnShape: {
autoWidth: {
// рассчитать ширину колонки для этих полей
columns: {
studio: true,
genre: true,
title: true,
score: true
},
auto: true,
// анализировать все поля
firstOnly: false
}
}
});

Связанные примеры: