JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 14
  • Score
    100M100P100Q24375F
  • License MIT

React Admin DataProvider Mixer

Package Exports

  • ra-data-mixer

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (ra-data-mixer) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

ra-data-mixer

Travis (.org) branch npm npm bundle size GitHub

React Admin DataProvider Mixer

Installation

npm i --save ra-data-mixer

Usage

// in src/App.tsx
import React from "react";
import { Admin, Resource } from "react-admin";
import mixerProvider, { Mixer } from "ra-data-mixer";

import { PostList } from "./posts";

const provider1 = ...;
const provider2 = ...;

const mixer: Mixer = (resource) =>
    (({
        posts: provider1,
        users: provider2,
    } as any)[resource]);

const App = () => (
    <Admin dataProvider={mixerProvider(mixer)}>
        <Resource name="posts" list={PostList} />
    </Admin>
);

export default App;

Filter

You can mix same resources with different filters on different names:

// in src/App.tsx
import mixerProvider, { Mixer } from "ra-data-mixer";

const myProvider = ...;

const mixer: Mixer = (resource) =>
    (({
        managers: [myProvider, "users", (params) => ({
            ...params,
            filter: {
                ...params.filter,
                role: "manager"
            }
        })],
        reporters: [myProvider, "users", (params) => ({
            ...params,
            filter: {
                ...params.filter,
                role: "reporter"
            }
        })],
    } as any)[resource]);

In this example, managers and reporters resources are using a same resource named users with different filters


Contributors

License

This project is licensed under the MIT license.
Copyright (c) KoLiBer (koliberr136a1@gmail.com)