A laravel/objectionjs-focused JSONAPI dataprovider for react-admin. Currently supports all dataproviders methods:
getListgetManygetManyReferencegetOnecreateupdatedelete
This packages also exposes an axios client for custom endpoints.
- Install the package
npm i -D @jodaz_/data-provider. - Import and set the base url, retrieve the endpoint object and pass it as the dataprovider for react-admin.
//in app.js
import React from "react";
import { Admin, Resource } from "react-admin";
import dataProvider from '@jodaz_/data-provider';
const { endpoints, client } = dataProvider('http://your.api.endpoint', {
offsetPageNum: -1,
// Other axios configs
}, 'Your token name used in localstorage');
const App = () => (
<Admin dashboard={Dashboard} dataProvider={endpoints}>
...
</Admin>
);
export default App; dataProvider(api, customConfigs, tokenName);
-
api: a valid API route REQUIRED. -
customConfigs: an object of custom axios configs. -
tokenName: a valid token name used when retrieving a Bearer token from localStorage. -
endpoints: exports all the required resources for react-admin. -
client: exports an axios client for custom api endpoint calls.
"offsetPageNum": numberan offset for page counter
I must give a huge thanks to @henvo. I literally copy-pasted his original repo and adapted to my own codebase.