1
1
2
-
3
-
4
-
5
2
<h1 align =" center " >📅 React Material Scheduler</h1 >
6
3
<p align =" center " >developed with <a target =" _blank " href =" https://mui.com " >@mui</a > </p >
7
4
17
14
18
15
React mui scheduler is a react component based on @mui v5 that allows you to manage data in a calendar.
19
16
20
- ## 🗣️ Installation
17
+ ## 🚀 Installation
21
18
``` nodejs
22
19
npm install react-mui-scheduler
23
20
```
24
21
25
22
## 💻 Usage
26
23
``` javascript
27
- import React from ' react'
28
- import ReactDOM from ' react-dom'
29
- import Scheduler from " react-mui-scheduler"
30
-
31
- function App () {
32
- const events = [
33
- {
34
- id: " event-1" ,
35
- label: " Consultation médicale" ,
36
- title: " Dr Shaun Murphy" ,
37
- color: " #f28f6a" ,
38
- startHour: " 9 AM" ,
39
- endHour: " 10 AM" ,
40
- date: " 2021-09-09" ,
41
- createdAt: new Date (),
42
- createdBy: " Kristina Mayer"
43
- },
44
- {
45
- id: " event-2" ,
46
- label: " Consultation médicale" ,
47
- title: " Dr Claire Brown" ,
48
- color: " #099ce5" ,
49
- startHour: " 9 AM" ,
50
- endHour: " 10 AM" ,
51
- date: " 2021-09-09" ,
52
- createdAt: new Date (),
53
- createdBy: " Kristina Mayer"
54
- },
55
- {
56
- id: " event-3" ,
57
- label: " Consultation médicale" ,
58
- title: " Dr Menlendez Hary" ,
59
- color: " #263686" ,
60
- startHour: " 13 AM" ,
61
- endHour: " 14 AM" ,
62
- date: " 2021-09-12" ,
63
- createdAt: new Date (),
64
- createdBy: " Kristina Mayer"
65
- },
66
- ]
67
-
68
- const onCellClick = (event , row , day ) => {
69
- // Do something...
70
- }
71
-
72
- const onEventClick = (event , task ) => {
73
- // Do something...
24
+ import React , {useState } from ' react'
25
+ import ReactDOM from ' react-dom'
26
+ import Scheduler from " react-mui-scheduler"
27
+
28
+ function App () {
29
+ const [state , setState ] = useState ({
30
+ options: {
31
+ transitionMode: " zoom" ,
32
+ startWeekOn: " Mon" ,
33
+ defaultMode: " week"
34
+ },
35
+ alertProps: {
36
+ open: true ,
37
+ color: " info" ,
38
+ severity: " info" ,
39
+ message: " 🚀 Let's start with awesome react-mui-scheduler 🔥 🔥 🔥" ,
40
+ showActionButton: true ,
41
+ },
42
+ toolbarProps: {
43
+ showSearchBar: true ,
44
+ showSwitchModeButtons: true ,
45
+ showDatePicker: true
74
46
}
75
-
76
- const onEventsChange = (item ) => {
77
- // Do something...
47
+ })
48
+
49
+ const events = [
50
+ {
51
+ id: " event-1" ,
52
+ label: " Consultation médicale" ,
53
+ groupLabel: " Dr Shaun Murphy" ,
54
+ user: " Dr Shaun Murphy" ,
55
+ color: " #f28f6a" ,
56
+ startHour: " 04:00 AM" ,
57
+ endHour: " 05:00 AM" ,
58
+ date: " 2021-09-28" ,
59
+ createdAt: new Date (),
60
+ createdBy: " Kristina Mayer"
61
+ },
62
+ {
63
+ id: " event-2" ,
64
+ label: " Consultation médicale" ,
65
+ groupLabel: " Dr Claire Brown" ,
66
+ user: " Dr Claire Brown" ,
67
+ color: " #099ce5" ,
68
+ startHour: " 09:00 AM" ,
69
+ endHour: " 10:00 AM" ,
70
+ date: " 2021-09-29" ,
71
+ createdAt: new Date (),
72
+ createdBy: " Kristina Mayer"
73
+ },
74
+ {
75
+ id: " event-3" ,
76
+ label: " Consultation médicale" ,
77
+ groupLabel: " Dr Menlendez Hary" ,
78
+ user: " Dr Menlendez Hary" ,
79
+ color: " #263686" ,
80
+ startHour: " 13 AM" ,
81
+ endHour: " 14 AM" ,
82
+ date: " 2021-09-30" ,
83
+ createdAt: new Date (),
84
+ createdBy: " Kristina Mayer"
85
+ },
86
+ {
87
+ id: " event-4" ,
88
+ label: " Consultation prénatale" ,
89
+ groupLabel: " Dr Shaun Murphy" ,
90
+ user: " Dr Shaun Murphy" ,
91
+ color: " #f28f6a" ,
92
+ startHour: " 08:00 AM" ,
93
+ endHour: " 09:00 AM" ,
94
+ date: " 2021-10-01" ,
95
+ createdAt: new Date (),
96
+ createdBy: " Kristina Mayer"
78
97
}
98
+ ]
79
99
80
- return (
81
- < Scheduler
82
- events= {events}
83
- openAlert= {false }
84
- alertMessage= {' This is a scheduler alert' }
85
- alertProps= {{color: ' info' , severity: ' success' }}
86
- onEventsChange= {onEventsChange}
87
- onCellClick= {onCellClick}
88
- onTaskClick= {onEventClick}
89
- / >
90
- )
100
+ const handleCellClick = (event , row , day ) => {
101
+ // Do something...
91
102
}
92
-
93
- ReactDOM .render (< App / > , document .querySelector (' #app' ))
103
+
104
+ const handleEventClick = (event , task ) => {
105
+ // Do something...
106
+ }
107
+
108
+ const handleEventsChange = (item ) => {
109
+ // Do something...
110
+ }
111
+
112
+ const handleAlertCloseButtonClicked = (item ) => {
113
+ // Do something...
114
+ setState ({
115
+ ... state,
116
+ alertProps: {... state .alertProps , open: false }
117
+ })
118
+ }
119
+
120
+ return (
121
+ < Scheduler
122
+ events= {events}
123
+ options= {state? .options }
124
+ alertProps= {state? .alertProps }
125
+ toolbarProps= {state? .toolbarProps }
126
+ onEventsChange= {handleEventsChange}
127
+ onCellClick= {handleCellClick}
128
+ onTaskClick= {handleEventClick}
129
+ onAlertCloseButtonClicked= {handleAlertCloseButtonClicked}
130
+ / >
131
+ )
132
+ }
133
+
134
+ ReactDOM .render (< App / > , document .querySelector (' #yourComponentRootId' ))
94
135
` ` `
95
136
96
137
@@ -109,16 +150,18 @@ React mui scheduler is a react component based on @mui v5 that allows you to man
109
150
110
151
## 🙇♂️ Extra
111
152
112
- 😊 Do you like this library ? Buy me a coffee
153
+ Do you like this library ? Buy me a coffee
113
154
114
- * Btc address: ` 1A2VNHSLGDyYsKWniJBe8cCqYWC52NvNZx `
155
+ * Btc address: ` bc1qettgagenn9nc8ks7ghntjfme96yvvkfhntk774 `
115
156
116
- * Eth address: ` 0xFe444a01D9494Ec04f61797e15193C8016D666A5 `
157
+ * Eth address: ` 0xB0413d8D0336E263e289A915c383e152155881E0 `
117
158
118
159
119
160
## 🔥 Some features to add in next releases
120
161
121
- - 👉 Week and day mode switch view
162
+ - ✅ Week mode switch view
163
+
164
+ - 👉 Day mode switch view
122
165
123
166
- 👉 Option menu
124
167
0 commit comments