npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@tesler-ui/core

v1.34.2

Published

Tesler UI is an open source library that supplies user interaction support for Tesler framework in form of React components, Redux reducers and redux-observable epics for handling asynchronous actions. More specifically that includes: - Major UI abstracti

Downloads

757

Readme

Tesler UI · Build status Quality Gate Status Coverage

Tesler UI is an open source library that supplies user interaction support for Tesler framework in form of React components, Redux reducers and redux-observable epics for handling asynchronous actions. More specifically that includes:

  • Major UI abstractions of Tesler framework such as Screen, View, Widget, Field
  • Standard actions, reducers and epics for handling Tesler API, routing and build-in controls
  • Custom component and connect function to work with combined Redux store of Tesler UI library and your own application
  • Reusable UI controls

Main concepts

UI side of Tesler framework is based on a concept of configurable dashboards ("views") with widgets. Visually widgets could be represented as a card with a table, graph, form or something more exotic inside. Internally, every widget has a direct link to an entity that we call "business component" (BC). BC controls what data is displayed on widget and whhich interactions are available to the user. Interactions could be a simple filtration or some complex business process, initiated through Tesler API. Information about loaded views and widgets grouped into "screens" and stored in application Redux store. Client applications could reuse, extend and customize that functionality by providing its own reducers and epics, widgets and ui controls.

Installation

Tesler UI distributed in form of ES5 compatible npm package:

yarn add @tesler-ui/core

Several libraries are specified as peer dependencies and should be installed for client application: react, react-dom, redux, react-redux, rxjs, redux-observable, antd, axios.

Usage

component provides configurable Redux context and should be used on top level of your application:

import {Provider} from '@tesler-ui/core'
import {reducers} from 'reducers'

const App = <Provider>
    <div>Client side application</div>
</Provider>

render(App, document.getElementById('root'))

After that, components of your own application could access combined Redux store and import library components:

import React from 'react'
import {connect, View} from '@tesler-ui/core'

export const ClientComponent: FunctionComponent = (props: { screenName }) => {
    const Card = (props) => <div>
        <h1>Client side component</h1>
        {props.children}
    </div>
    return <View card={Card} />
}

function mapStateToProps(store) {
    return { screenName: store.router.screenName }
}

export default connect(mapStateToProps)(ClientComponent)

Documentation

The documentation is divided into several sections:

You could also check our changelog section.

Reporting an error

In case you've encountered a problem, please open an issue with reproducible example and detailed description.
If you are also willing to provide a fix, please check our contributing guide!

Contributing

All contributions are welcomed, as even a minor pull request with grammar fixes or a single documentation update is of a significant help for us!
We promise to handle all PR reviews in a friendly and respectful manner.