@keycloakify/keycloak-admin-ui
Version:
Repackaged Keycloak Admin UI
15 lines • 1.8 kB
JavaScript
import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
import { Pagination, ToolbarItem, } from "@patternfly/react-core";
import { useTranslation } from "react-i18next";
import { TableToolbar } from "../../../ui-shared/controls/table/TableToolbar";
const KeycloakPagination = ({ id, variant = "top", count, first, max, onNextClick, onPreviousClick, onPerPageSelect, }) => {
const { t } = useTranslation();
const page = Math.round(first / max);
return (_jsx(Pagination, { widgetId: id, titles: {
paginationAriaLabel: `${t("pagination")} ${variant} `,
}, isCompact: true, toggleTemplate: ({ firstIndex, lastIndex, }) => (_jsxs("b", { children: [firstIndex, " - ", lastIndex] })), itemCount: count + page * max, page: page + 1, perPage: max, onNextClick: (_, p) => onNextClick((p - 1) * max), onPreviousClick: (_, p) => onPreviousClick((p - 1) * max), onPerPageSelect: (_, m, f) => onPerPageSelect(f - 1, m), variant: variant }));
};
export const PaginatingTableToolbar = ({ count, searchTypeComponent, toolbarItem, subToolbar, children, inputGroupName, inputGroupPlaceholder, inputGroupOnEnter, ...rest }) => {
return (_jsx(TableToolbar, { searchTypeComponent: searchTypeComponent, toolbarItem: _jsxs(_Fragment, { children: [toolbarItem, _jsx(ToolbarItem, { variant: "pagination", children: _jsx(KeycloakPagination, { count: count, ...rest }) })] }), subToolbar: subToolbar, toolbarItemFooter: count !== 0 ? (_jsx(ToolbarItem, { variant: "pagination", children: _jsx(KeycloakPagination, { count: count, variant: "bottom", ...rest }) })) : null, inputGroupName: inputGroupName, inputGroupPlaceholder: inputGroupPlaceholder, inputGroupOnEnter: inputGroupOnEnter, children: children }));
};
//# sourceMappingURL=PaginatingTableToolbar.js.map