项目作者: tiaanduplessis

项目描述 :
Firebase data provider for React Admin
高级语言: JavaScript
项目地址: git://github.com/tiaanduplessis/ra-data-firebase.git
创建时间: 2018-07-13T09:50:08Z
项目社区:https://github.com/tiaanduplessis/ra-data-firebase

开源协议:MIT License

下载


ra-data-firebase

package version
package downloads
standard-readme compliant
package license
make a pull request

Firebase data provider for React Admin

Table of Contents

About

A Firebase data provider for react-admin. Based on aor-firebase-client, modified and maintained to own preferences.

Install

This project uses node and npm. Ensure that firebase and react-admin is installed.

  1. $ npm install ra-data-firebase
  2. $ # OR
  3. $ yarn add ra-data-firebase

Usage

  1. import React, { Component } from 'react'
  2. import { Admin, Resource } from 'react-admin'
  3. import firebase from 'firebase'
  4. import Login from './login'
  5. import Dashboard from './dashboard'
  6. import Store from '@material-ui/icons/Store'
  7. import { AssetsCreate, AssetsEdit, AssetsList } from './assets'
  8. import { FirebaseDataProvider } from 'ra-data-firebase'
  9. const firebaseConfig =
  10. {
  11. // Firebase config used to create additional app to create users (HACK)
  12. apiKey: '########################################',
  13. authDomain: '########################################',
  14. databaseURL: '########################################',
  15. projectId: '########################################',
  16. storageBucket: '########################################'
  17. }
  18. const providerConfig = {
  19. admin: {
  20. path: 'people', // path in db to store user information (default 'users')
  21. config: firebaseConfig,
  22. validate: (data) => data.isEmployee // Function to validate that a user should be created in firebase (default () => true)
  23. },
  24. metaFieldNames: {
  25. createdAt: 'createdAt',
  26. updatedAt: 'updatedAt',
  27. createdBy: 'createdBy'
  28. },
  29. trackedResources: [
  30. {
  31. name: 'sites',
  32. path: `sites`,
  33. isPublic: false
  34. },
  35. {
  36. name: 'assets',
  37. path: `assets`,
  38. isPublic: false,
  39. uploadFields: ['pictures', 'files']
  40. },
  41. {
  42. name: 'parts',
  43. path: 'parts',
  44. isPublic: false,
  45. uploadFields: ['pictures', 'files']
  46. },
  47. {
  48. name: 'maintenance',
  49. path: `maintenance`,
  50. isPublic: false,
  51. uploadFields: ['pictures', 'files']
  52. }
  53. ]
  54. }
  55. // Firebase must be initialized first
  56. firebase.initializeApp(firebaseConfig)
  57. class App extends Component {
  58. render () {
  59. return <Admin
  60. title='Demo'
  61. loginPage={Login}
  62. dashboard={Dashboard}
  63. dataProvider={FirebaseDataProvider(providerConfig)}
  64. >
  65. <Resource
  66. icon={Store}
  67. options={{ label: 'Assets' }}
  68. name='assets'
  69. list={AssetsList}
  70. edit={AssetsEdit}
  71. create={AssetsCreate}
  72. ></Resource>
  73. </Admin>
  74. }
  75. }
  76. export default App

Contribute

  1. Fork it and create your feature branch: git checkout -b my-new-feature
  2. Commit your changes: git commit -am ‘Add some feature’
  3. Push to the branch: git push origin my-new-feature
  4. Submit a pull request

License

MIT