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

portofino-react-admin

v1.0.1

Published

REST data provider and auth provider for react-admin against Portofino 5

Downloads

5

Readme

NPM

Description

portofino-react-admin is a Data provider and Auth provider to connect a react-admin web application with a Portofino 5 backend API.

portofino-react-admin connects to Portofino CRUD resources. It supports all the usual SCRUD operations, including filtering, sorting and pagination.

Also, it handles authentication with a username and a password against the Portofino application and it will automatically send the authentication token with each API request.

Note portofino-react-admin is not part of Portofino, it's developed separately and it comes under a different licensing model.

Usage

import portofino from 'portofino-react-admin';
   
const { dataProvider, authProvider } = portofino('http://localhost:8080/demo-tt/api');

const App = () => (
   <Admin dataProvider={dataProvider} authProvider={authProvider}>
       <!-- Resources here -->
   </Admin>
);

Please refer to the React Admin documentation if you're new to it.

Options

You can pass additional options to portofino:

const { dataProvider, authProvider } = portofino(url, { ... });

Such options include:

  • httpClient: which client to use (defaults to fetchUtils.fetchJson). For example you can wrap fetchJson to include additional headers that your application may require, such as an API version header.
  • tokenExpirationThreshold (seconds). Default is 600 (10 minutes). If the user performs an action on the server up to tokenExpirationThreshold seconds before their authentication token expires, the token is refreshed automatically. A longer window causes more refreshes, a shorter window may require users with long inactive sessions to log back in more frequently.
  • apiVersion. The Portofino API version to use. Defaults to 5.2. You can provide a value less than 5.2 to avoid sending the API version header that earlier versions of Portofino don't interpret, which can cause issues with CORS.

Performing an Action After Initialization

When you call portofino, it makes an API call to the server URL to determine the path to the login action and other information. If for some reason you want to run some code after this happens, you can:

const { dataProvider, authProvider, initialization } = portofino(url, { ... });
initialization.then(() => { ... });

Building

yarn && yarn build should do the job. I guess you can also easily use npm if you adapt package.json slightly.

License

This library is distributed under the GNU GPLv3. Please read the LICENSE file for more details.

If you'd like a more business-friendly licensing arrangement, please open an issue or contact the author privately.