UNPKG

dbl-components

Version:

Framework based on bootstrap 5

51 lines (37 loc) 1.31 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 "./carousel.json"; import "./carousel.scss"; export function mutations(key, conf) { const name = key.replace(this.props.name + '-', ''); switch (name) { default: break; } } const Carousel = (props) => { //hooks const [jsonRender, setJsonRender] = useState(false); const [schemaLocal, setSchema] = useState(false); useLayoutEffect((params) => { const jr = new JsonRender(props, mutations); jr.childrenIn = props.name + "-childrenCarousel"; setJsonRender(jr); setSchema(resolveRefs(schema.view, { props, definitions: schema.definitions })); }, []); //---- //events const events = []; const eventHandler = useEventHandler(events, [props.name, Carousel.jsClass].join('-')); //---- // renders return jsonRender && schemaLocal ? jsonRender.buildContent(schemaLocal) : false; } Carousel.jsClass = 'Carousel'; Carousel.defaultProps = {}; Carousel.propTypes = {}; export default Carousel;