1.0.0 • Published 28 days ago

@knovator/pagecreator v1.0.0

Weekly downloads
-
License
-
Repository
github
Last release
28 days ago

Contributors Forks Stargazers Issues MIT License

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

  1. 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!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE.txt for more information.

Contact

Knovator Technologies

Project Link: https://github.com/knovator/masters-admin

1.0.0

28 days ago

0.9.4

9 months ago

0.9.3

9 months ago

0.9.0

9 months ago

0.9.1

9 months ago

0.7.0

1 year ago

0.3.0

1 year ago

0.2.0

1 year ago

0.5.3

1 year ago

0.5.0

1 year ago

0.4.0

1 year ago

0.5.2

1 year ago

0.5.1

1 year ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago