ut-front-devextreme
v1.68.0
Published
UT higher order components
Readme
UT React component library ut-front-devextreme
This module implements React components, for use in building
web applications with the UT framework. The library exports wrapped
Material-UI and DevExtreme components
and also locally developed components, which are called UT components.
The idea of wrapped components is to have a central place
to handle tasks like:
- Controlling used versions of external components
- Fixing bugs
- Extending external components with additional functionality
The idea of UT components is to create components
for functionality not available in Material-UI and DevExtreme
or higher order components based on existing ones.
All the UT components must follow these rules:
- Implemented as function components
- Written in TypeScript, to enable parameter checking during usage.
- Have a
README.mdfile, with basic usage instructions. - Have a
.stories.tsxfile, with example usage. - Have a
.test.tsxfile, with unit test. - Have a
.types.tsxfile, with a type definition of component's parameters - Use Material-UI's styling solution, based on JSS, where applicable.
Usage
The library is published in a transpiled form, in commonJS format, so that it can be used with Webpack, but without the need to use Babel.
Import individual components using this pattern:
import SomeComponent from 'ut-front-devextreme/core/SomeComponent';Check README.md files of the components for further info.
A link to the storybook of all components is available in
the project links below.
Project links
- Continuous Integration (Jenkins)
- Static Code Analysis (SonarQube)
- Component library storybook (Chromatic)
Library development tasks
Test components in storybook, with React fast refresh:
npm run storybookRun automated unit tests locally before pushing to git:
npm run jestor
node runjestExpose a wrapped
Material-UIcomponent:Add it to ./src/components/mui/index.ts
Expose a wrapped
DevExtremecomponent:Add it to ./src/components/dx/index.ts
Create a new
UT component:npm run generate:component ComponentName- Implement the component's logic in the files in the folder
src/components/ComponentName - Export the new component in src/components/index.ts
export { default as ComponentName } from './ComponentName';- Implement the component's logic in the files in the folder
