mirror of https://github.com/portainer/portainer
38 lines
1005 B
TypeScript
38 lines
1005 B
TypeScript
import { List } from 'lucide-react';
|
|
|
|
import { Datatable } from '@@/datatables';
|
|
import { createPersistedStore } from '@@/datatables/types';
|
|
import { useTableState } from '@@/datatables/useTableState';
|
|
import { withMeta } from '@@/datatables/extend-options/withMeta';
|
|
|
|
import { useColumns } from './columns';
|
|
import { DecoratedTask } from './types';
|
|
|
|
const storageKey = 'docker-service-tasks';
|
|
const store = createPersistedStore(storageKey);
|
|
|
|
export function TasksDatatable({
|
|
dataset,
|
|
isSlotColumnVisible,
|
|
serviceName,
|
|
}: {
|
|
dataset: DecoratedTask[];
|
|
isSlotColumnVisible: boolean;
|
|
serviceName: string;
|
|
}) {
|
|
const tableState = useTableState(store, storageKey);
|
|
const columns = useColumns(isSlotColumnVisible);
|
|
|
|
return (
|
|
<Datatable
|
|
title="Tasks"
|
|
titleIcon={List}
|
|
settingsManager={tableState}
|
|
columns={columns}
|
|
dataset={dataset}
|
|
emptyContentLabel="No task available."
|
|
extendTableOptions={withMeta({ table: 'tasks', serviceName })}
|
|
/>
|
|
);
|
|
}
|