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