in public/pages/Indices/containers/Indices/Indices.tsx [176:261]
render() {
const {
totalIndices,
from,
size,
search,
sortField,
sortDirection,
selectedItems,
indices,
loadingIndices,
showDataStreams,
isDataStreamColumnVisible,
} = this.state;
const filterIsApplied = !!search;
const page = Math.floor(from / size);
const pagination: Pagination = {
pageIndex: page,
pageSize: size,
pageSizeOptions: DEFAULT_PAGE_SIZE_OPTIONS,
totalItemCount: totalIndices,
};
const sorting: EuiTableSortingType<ManagedCatIndex> = {
sort: {
direction: sortDirection,
field: sortField,
},
};
const selection: EuiTableSelectionType<ManagedCatIndex> = {
onSelectionChange: this.onSelectionChange,
};
return (
<ContentPanel
actions={
<ModalConsumer>
{({ onShow }) => (
<ContentPanelActions
actions={[
{
text: "Apply policy",
buttonProps: {
disabled: !selectedItems.length,
onClick: () =>
onShow(ApplyPolicyModal, {
indices: selectedItems.map((item: ManagedCatIndex) => item.index),
core: this.context,
}),
},
},
]}
/>
)}
</ModalConsumer>
}
bodyStyles={{ padding: "initial" }}
title="Indices"
>
<IndexControls
search={search}
onSearchChange={this.onSearchChange}
onRefresh={this.getIndices}
showDataStreams={showDataStreams}
getDataStreams={this.getDataStreams}
toggleShowDataStreams={this.toggleShowDataStreams}
/>
<EuiHorizontalRule margin="xs" />
<EuiBasicTable
columns={indicesColumns(isDataStreamColumnVisible)}
isSelectable={true}
itemId="index"
items={indices}
noItemsMessage={<IndexEmptyPrompt filterIsApplied={filterIsApplied} loading={loadingIndices} resetFilters={this.resetFilters} />}
onChange={this.onTableChange}
pagination={pagination}
selection={selection}
sorting={sorting}
/>
</ContentPanel>
);
}