@knovator/pagecreator
v1.0.0
Published
<!-- Improved compatibility of back to top link: See: https://github.com/othneildrew/Best-README-Template/pull/73 --> <a name="readme-top"></a>
Downloads
24
Readme
About The Project
@knovator/pagecreator
is built with intent to build pages that are depend on backend data, and admin can change how page will look like.
Built With
Getting Started
@knovator/pagecreator
is designed to be used in ReactJS/NextJS project.
Prerequisites
Create one reactjs/nextjs application if you don't have one,
- Project
npx create-react-app my-app # or npx create-next-app@latest
Installation
- Add pagecreator package
npm install @knovator/pagecreator # or yarn add @knovator/pagecreator
Usage
Widget
import { Widget } from '@knovator/pagecreator';
<Widget
imageBaseUrl=''
widgetData={}
onClick={...}
>
Props
widgetData
imageBaseUrl
- baseUrl to append before image urls
formatItem
(optional):(item: ItemData) => JSX.Element
- Customize look of Items
onClick
(optional):(item: ItemData) => void;
- OnItem click handler
hideTitle
(optional): boolean;- Do not show the title if true
settings
(optional): Swiper props- Carousel settings to apply for carousel widget
className
(optional): string- Class name for widget
formatHeader
(optional):(title: string, data: WidgetData) => string | JSX.Element
- Function to format the widget header
formatFooter
(optional):(data: WidgetData) => string | JSX.Element
- Function to format the widget footer
formatTabTitle
(optional):(title: string, collectionData: any[], isActive: boolean) => JSX.Element;
- Function to format tab title
itemsContainer
(optional):(children: JSX.Element) => JSX.Element;
- Function to wrap items in widget
Page
import { Page } from '@knovator/pagecreator';
<Page
imageBaseUrl=''
pageData={...}
onClick={...}
>
Props
title
(optional)- Title to show on page
imageBaseUrl
- baseUrl to start prefix image urls
pageData
formatItem
(optional):(CODE: string, item: ItemData) => JSX.Element;
- Customize look of Items
onClick
(optional):(CODE: string, item: ItemData) => JSX.Element;
- On Item click handler
hideWidgetTitles
(optional): boolean- Flag to hide widget titles
formatWidget
(optional):(item: WidgetData, index: number) => JSX.Element;
- Function to format individual widget
getData
It's possible to fetch data by yourself and pass them to Widget
or Page
components, but if you need easy solution you can use getData
function.
const pageData = await getData({
url: '...',
code: 'HOMEPAGE',
});
Contributing
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
License
Distributed under the MIT License. See LICENSE.txt
for more information.
Contact
Knovator Technologies
- Twitter @knovator
- Web https://knovator.com/
Project Link: https://github.com/knovator/masters-admin