UNPKG

dbl-components

Version:

Framework based on bootstrap 5

51 lines (37 loc) 1.33 kB
import { useLayoutEffect, useState, useEffect } from "react"; import PropTypes from "prop-types"; import { resolveRefs } from "dbl-utils"; import JsonRender from "../../json-render"; import appCtrl from "../../app-controller"; import useEventHandler from "../../hooks/use-event-handler"; import schema from "./pagination.json"; import "./pagination.scss"; export function mutations(key, conf) { const name = key.replace(this.props.name + '-', ''); switch (name) { default: break; } } const Pagination = (props) => { //hooks const [jsonRender, setJsonRender] = useState(false); const [schemaLocal, setSchema] = useState(false); useLayoutEffect((params) => { const jr = new JsonRender(props, mutations); jr.childrenIn = props.name + "-childrenPagination"; setJsonRender(jr); setSchema(resolveRefs(schema.view, { props, definitions: schema.definitions })); }, []); //---- //events const events = []; const eventHandler = useEventHandler(events, [props.name, Pagination.jsClass].join('-')); //---- // renders return jsonRender && schemaLocal ? jsonRender.buildContent(schemaLocal) : false; } Pagination.jsClass = 'Pagination'; Pagination.defaultProps = {}; Pagination.propTypes = {}; export default Pagination;