Commit 2226dee5a3abcbe7da1bbc9b27c4e9ee6b973679

Authored by Neeraj Sharma
1 parent 9b444e5c30

implement conferece video call with dynamic api

Showing 2 changed files with 201 additions and 0 deletions   Show diff stats
1 const adminMenu = [ 1 const adminMenu = [
2 // { header: 'Apps' }, 2 // { header: 'Apps' },
3 { 3 {
4 title: 'Dashboard', 4 title: 'Dashboard',
5 // group: 'apps', 5 // group: 'apps',
6 name: 'Dashboard', 6 name: 'Dashboard',
7 icon: '/static/icon/dashboard.png', 7 icon: '/static/icon/dashboard.png',
8 }, 8 },
9 { 9 {
10 title: 'Class', 10 title: 'Class',
11 // group: 'apps', 11 // group: 'apps',
12 name: 'Class', 12 name: 'Class',
13 icon: '/static/icon/class.png', 13 icon: '/static/icon/class.png',
14 }, 14 },
15 { 15 {
16 title: 'Section', 16 title: 'Section',
17 // group: 'apps', 17 // group: 'apps',
18 name: 'Section', 18 name: 'Section',
19 icon: '/static/icon/section.png', 19 icon: '/static/icon/section.png',
20 }, 20 },
21 // { 21 // {
22 // title: 'Subjects', 22 // title: 'Subjects',
23 // name: 'Subject', 23 // name: 'Subject',
24 // icon: '/static/icon/subject.png', 24 // icon: '/static/icon/subject.png',
25 // }, 25 // },
26 { 26 {
27 title: 'Parents', 27 title: 'Parents',
28 // group: 'apps', 28 // group: 'apps',
29 name: 'Parents', 29 name: 'Parents',
30 icon: '/static/icon/parents.png', 30 icon: '/static/icon/parents.png',
31 }, 31 },
32 { 32 {
33 title: 'Teachers', 33 title: 'Teachers',
34 // group: '', 34 // group: '',
35 name: 'Teachers', 35 name: 'Teachers',
36 icon: '/static/icon/teacher.png', 36 icon: '/static/icon/teacher.png',
37 }, 37 },
38 { 38 {
39 title: 'Students', 39 title: 'Students',
40 // group: 'apps', 40 // group: 'apps',
41 name: 'Students', 41 name: 'Students',
42 icon: '/static/icon/student.png', 42 icon: '/static/icon/student.png',
43 }, 43 },
44 { 44 {
45 title: 'User', 45 title: 'User',
46 name: 'User', 46 name: 'User',
47 icon: '/static/icon/users.png', 47 icon: '/static/icon/users.png',
48 }, 48 },
49 { 49 {
50 title: 'Attendance', 50 title: 'Attendance',
51 group: 'Attendance', 51 group: 'Attendance',
52 component: 'Attendance', 52 component: 'Attendance',
53 icon: '/static/icon/attendence.png', 53 icon: '/static/icon/attendence.png',
54 items: [ 54 items: [
55 { name: 'StudentAttendence', title: 'Student Attendance', component: 'Student Attendence', action: '', }, 55 { name: 'StudentAttendence', title: 'Student Attendance', component: 'Student Attendence', action: '', },
56 { name: 'TeacherAttendence', title: 'Teacher Attendance', component: 'Teacher Attendence', action: '', }, 56 { name: 'TeacherAttendence', title: 'Teacher Attendance', component: 'Teacher Attendence', action: '', },
57 // { name: 'userAttendence', title: 'User Attendance', component: 'User Attendence', action: '', }, 57 // { name: 'userAttendence', title: 'User Attendance', component: 'User Attendence', action: '', },
58 ] 58 ]
59 }, 59 },
60 { 60 {
61 title: 'Exam', 61 title: 'Exam',
62 group: 'Exam', 62 group: 'Exam',
63 component: 'Exam', 63 component: 'Exam',
64 icon: '/static/icon/exam.png', 64 icon: '/static/icon/exam.png',
65 items: [ 65 items: [
66 { name: 'Exam', title: 'Exam', component: 'Exam', action: '', }, 66 { name: 'Exam', title: 'Exam', component: 'Exam', action: '', },
67 { name: 'ExamSchedule', title: 'Exam Schedule', component: 'Exam Schedule', action: '', }, 67 { name: 'ExamSchedule', title: 'Exam Schedule', component: 'Exam Schedule', action: '', },
68 { name: 'Grade', title: 'Grade', component: 'Grade', action: '', }, 68 { name: 'Grade', title: 'Grade', component: 'Grade', action: '', },
69 // { name: 'userAttendence', title: 'User Attendance', component: 'userAttendence', action: '', }, 69 // { name: 'userAttendence', title: 'User Attendance', component: 'userAttendence', action: '', },
70 ] 70 ]
71 }, 71 },
72 { 72 {
73 title: 'Marks', 73 title: 'Marks',
74 group: 'Mark', 74 group: 'Mark',
75 component: 'Mark', 75 component: 'Mark',
76 icon: '/static/icon/marks.png', 76 icon: '/static/icon/marks.png',
77 items: [ 77 items: [
78 { name: 'Mark', title: 'Mark', component: 'Mark', action: '', }, 78 { name: 'Mark', title: 'Mark', component: 'Mark', action: '', },
79 { name: 'MarkDistribution', title: 'Mark Distribution', component: 'Mark Distribution', action: '', }, 79 { name: 'MarkDistribution', title: 'Mark Distribution', component: 'Mark Distribution', action: '', },
80 // { name: 'Promotion', title: 'promotion', component: 'Promotion', action: '', }, 80 // { name: 'Promotion', title: 'promotion', component: 'Promotion', action: '', },
81 // { name: 'userAttendence', title: 'User Attendance', component: 'userAttendence', action: '', }, 81 // { name: 'userAttendence', title: 'User Attendance', component: 'userAttendence', action: '', },
82 ] 82 ]
83 }, 83 },
84 { 84 {
85 title: 'Academic', 85 title: 'Academic',
86 group: 'Academic', 86 group: 'Academic',
87 component: 'Academic', 87 component: 'Academic',
88 icon: '/static/icon/school.png', 88 icon: '/static/icon/school.png',
89 items: [ 89 items: [
90 { name: 'Subject', title: 'Subject', component: 'Subject', action: '', }, 90 { name: 'Subject', title: 'Subject', component: 'Subject', action: '', },
91 { name: 'Syllabus', title: 'Syllabus', component: 'Syllabus', action: '', }, 91 { name: 'Syllabus', title: 'Syllabus', component: 'Syllabus', action: '', },
92 { name: 'Assignment', title: 'Assignment', component: 'Assignment', action: '', }, 92 { name: 'Assignment', title: 'Assignment', component: 'Assignment', action: '', },
93 { name: 'Routine', title: 'Routine', component: 'Routine', action: '', }, 93 { name: 'Routine', title: 'Routine', component: 'Routine', action: '', },
94 ] 94 ]
95 }, 95 },
96 { 96 {
97 title: 'Administrator', 97 title: 'Administrator',
98 group: 'Administrator', 98 group: 'Administrator',
99 component: 'Administrator', 99 component: 'Administrator',
100 icon: '/static/icon/adminstrator.png', 100 icon: '/static/icon/adminstrator.png',
101 items: [ 101 items: [
102 { name: 'AcademicYear', title: 'Academic Year', component: 'Academic Year', action: '', }, 102 { name: 'AcademicYear', title: 'Academic Year', component: 'Academic Year', action: '', },
103 // { name: 'systemAdmin', title: 'System Admin', component: 'systemAdmin', action: '', }, 103 // { name: 'systemAdmin', title: 'System Admin', component: 'systemAdmin', action: '', },
104 { name: 'resetPassword', title: 'Change Password', component: 'Change Password', action: '', }, 104 { name: 'resetPassword', title: 'Change Password', component: 'Change Password', action: '', },
105 { name: 'Role', title: 'Role', component: 'Role', action: '', }, 105 { name: 'Role', title: 'Role', component: 'Role', action: '', },
106 { name: 'BulkImport', title: 'Bulk Import', component: 'Bulk Import', action: '', }, 106 { name: 'BulkImport', title: 'Bulk Import', component: 'Bulk Import', action: '', },
107 107
108 ] 108 ]
109 }, 109 },
110 { 110 {
111 title: 'Payroll', 111 title: 'Payroll',
112 group: 'Payroll', 112 group: 'Payroll',
113 component: 'Payroll', 113 component: 'Payroll',
114 icon: '/static/icon/dollar.png', 114 icon: '/static/icon/dollar.png',
115 items: [ 115 items: [
116 { name: 'salaryTemplate', title: 'Salary Template', component: 'Salary Template', action: '', }, 116 { name: 'salaryTemplate', title: 'Salary Template', component: 'Salary Template', action: '', },
117 { name: 'hourlyTemplate', title: 'Hourly Template', component: 'Hourly Template', action: '', }, 117 { name: 'hourlyTemplate', title: 'Hourly Template', component: 'Hourly Template', action: '', },
118 { name: 'manageSalary', title: 'Manage Salary', component: 'Manage Salary', action: '', }, 118 { name: 'manageSalary', title: 'Manage Salary', component: 'Manage Salary', action: '', },
119 // { name: 'makePayment', title: 'Make Payment', component: 'Make Payment', action: '', }, 119 // { name: 'makePayment', title: 'Make Payment', component: 'Make Payment', action: '', },
120 ] 120 ]
121 }, 121 },
122 { 122 {
123 title: 'Notice Board', 123 title: 'Notice Board',
124 name: 'Notice Board', 124 name: 'Notice Board',
125 icon: '/static/icon/notice board.png', 125 icon: '/static/icon/notice board.png',
126 }, 126 },
127 { 127 {
128 title: 'News', 128 title: 'News',
129 name: 'News', 129 name: 'News',
130 icon: '/static/icon/news.png', 130 icon: '/static/icon/news.png',
131 }, 131 },
132 // { 132 // {
133 // title: 'Reminder', 133 // title: 'Reminder',
134 // name: 'reminder', 134 // name: 'reminder',
135 // icon: 'alarm_add', 135 // icon: 'alarm_add',
136 // }, 136 // },
137 { 137 {
138 title: 'Time Table', 138 title: 'Time Table',
139 name: 'Time Table', 139 name: 'Time Table',
140 icon: '/static/icon/time table.png', 140 icon: '/static/icon/time table.png',
141 }, 141 },
142 { 142 {
143 title: 'Library', 143 title: 'Library',
144 group: 'Library', 144 group: 'Library',
145 component: 'Library', 145 component: 'Library',
146 icon: '/static/icon/library.png', 146 icon: '/static/icon/library.png',
147 items: [ 147 items: [
148 { name: 'LibraryMember', title: ' Library Member', component: 'Library Member', action: '', }, 148 { name: 'LibraryMember', title: ' Library Member', component: 'Library Member', action: '', },
149 { name: 'Books', title: 'Books', component: 'Books', action: '', }, 149 { name: 'Books', title: 'Books', component: 'Books', action: '', },
150 { name: 'Issue', title: ' Issue', component: 'Issue', action: '', }, 150 { name: 'Issue', title: ' Issue', component: 'Issue', action: '', },
151 { name: 'E-Books', title: 'E-Books', component: 'E-Books', action: '', } 151 { name: 'E-Books', title: 'E-Books', component: 'E-Books', action: '', }
152 152
153 ] 153 ]
154 }, 154 },
155 { 155 {
156 title: 'Report', 156 title: 'Report',
157 group: 'Report', 157 group: 'Report',
158 component: 'Report', 158 component: 'Report',
159 icon: '/static/icon/reports.png', 159 icon: '/static/icon/reports.png',
160 items: [ 160 items: [
161 { name: 'studentReport', title: 'Student Report', component: 'Student Report', action: '', }, 161 { name: 'studentReport', title: 'Student Report', component: 'Student Report', action: '', },
162 { name: 'ProgressCardReport', title: 'Progress Card Report', component: 'Progress Card Report', action: '', }, 162 { name: 'ProgressCardReport', title: 'Progress Card Report', component: 'Progress Card Report', action: '', },
163 { name: 'idCard', title: 'Id Card Report', component: 'Id Card Report', action: '', }, 163 { name: 'idCard', title: 'Id Card Report', component: 'Id Card Report', action: '', },
164 { name: 'admitCard', title: 'Admit Card Report', component: 'Admit Card Report', action: '', } 164 { name: 'admitCard', title: 'Admit Card Report', component: 'Admit Card Report', action: '', }
165 ] 165 ]
166 }, 166 },
167 { 167 {
168 title: 'Notification', 168 title: 'Notification',
169 name: 'Notification', 169 name: 'Notification',
170 icon: '/static/icon/notification.png', 170 icon: '/static/icon/notification.png',
171 }, 171 },
172 { 172 {
173 title: 'Social Media', 173 title: 'Social Media',
174 name: 'Social Media', 174 name: 'Social Media',
175 icon: '/static/icon/events.png', 175 icon: '/static/icon/events.png',
176 }, 176 },
177 { 177 {
178 title: 'Gallery', 178 title: 'Gallery',
179 name: 'Gallery', 179 name: 'Gallery',
180 icon: '/static/icon/gallery.png', 180 icon: '/static/icon/gallery.png',
181 }, 181 },
182 { 182 {
183 title: 'Event', 183 title: 'Event',
184 name: 'Event', 184 name: 'Event',
185 icon: '/static/icon/events.png', 185 icon: '/static/icon/events.png',
186 }, 186 },
187 { 187 {
188 title: 'Account', 188 title: 'Account',
189 group: 'Account', 189 group: 'Account',
190 component: 'Account', 190 component: 'Account',
191 icon: '/static/icon/accounts.png', 191 icon: '/static/icon/accounts.png',
192 items: [ 192 items: [
193 { name: 'feeTypes', title: 'Fee Types', component: 'Fee Types', action: '', }, 193 { name: 'feeTypes', title: 'Fee Types', component: 'Fee Types', action: '', },
194 { name: 'Invoice', title: 'Invoice', component: 'Invoice', action: '', }, 194 { name: 'Invoice', title: 'Invoice', component: 'Invoice', action: '', },
195 { name: 'PaymentHistory', title: 'Payment History', component: 'Payment History', action: '', }, 195 { name: 'PaymentHistory', title: 'Payment History', component: 'Payment History', action: '', },
196 { name: 'Expense', title: 'Expense', component: 'Expense', action: '', }, 196 { name: 'Expense', title: 'Expense', component: 'Expense', action: '', },
197 { name: 'Income', title: 'Income', component: 'Income', action: '', }, 197 { name: 'Income', title: 'Income', component: 'Income', action: '', },
198 { name: 'GlobalPayment', title: 'Global Payment', component: 'Global Payment', action: '', } 198 { name: 'GlobalPayment', title: 'Global Payment', component: 'Global Payment', action: '', }
199 ] 199 ]
200 }, 200 },
201 { 201 {
202 title: 'Holiday', 202 title: 'Holiday',
203 name: 'Holiday', 203 name: 'Holiday',
204 icon: '/static/icon/holiday.png', 204 icon: '/static/icon/holiday.png',
205 }, 205 },
206 { 206 {
207 title: 'General Setting', 207 title: 'General Setting',
208 name: 'General Setting', 208 name: 'General Setting',
209 icon: '/static/icon/settings.png', 209 icon: '/static/icon/settings.png',
210 } 210 }
211 ]; 211 ];
212 212
213 const libraryMenu = [{ 213 const libraryMenu = [{
214 title: 'Dashboard', 214 title: 'Dashboard',
215 name: 'Dashboard', 215 name: 'Dashboard',
216 icon: '/static/icon/dashboard.png', 216 icon: '/static/icon/dashboard.png',
217 }, 217 },
218 { 218 {
219 title: 'Library', 219 title: 'Library',
220 group: 'Library', 220 group: 'Library',
221 component: 'Library', 221 component: 'Library',
222 icon: '/static/icon/library.png', 222 icon: '/static/icon/library.png',
223 items: [ 223 items: [
224 { name: 'LibraryMember', title: ' Library Member', component: 'Library Member', action: '', }, 224 { name: 'LibraryMember', title: ' Library Member', component: 'Library Member', action: '', },
225 { name: 'Books', title: 'Books', component: 'Books', action: '', }, 225 { name: 'Books', title: 'Books', component: 'Books', action: '', },
226 { name: 'Issue', title: ' Issue', component: 'Issue', action: '', }, 226 { name: 'Issue', title: ' Issue', component: 'Issue', action: '', },
227 { name: 'E-Books', title: 'E-Books', component: 'E-Books', action: '', } 227 { name: 'E-Books', title: 'E-Books', component: 'E-Books', action: '', }
228 228
229 ] 229 ]
230 }, 230 },
231 ]; 231 ];
232 232
233 const accountMenu = [{ 233 const accountMenu = [{
234 title: 'Dashboard', 234 title: 'Dashboard',
235 name: 'Dashboard', 235 name: 'Dashboard',
236 icon: '/static/icon/dashboard.png', 236 icon: '/static/icon/dashboard.png',
237 }, 237 },
238 238
239 { 239 {
240 title: 'Account', 240 title: 'Account',
241 group: 'Account', 241 group: 'Account',
242 component: 'Account', 242 component: 'Account',
243 icon: '/static/icon/accounts.png', 243 icon: '/static/icon/accounts.png',
244 items: [ 244 items: [
245 { name: 'feeTypes', title: 'Fee Types', component: 'Fee Types', action: '', }, 245 { name: 'feeTypes', title: 'Fee Types', component: 'Fee Types', action: '', },
246 { name: 'Invoice', title: 'Invoice', component: 'Invoice', action: '', }, 246 { name: 'Invoice', title: 'Invoice', component: 'Invoice', action: '', },
247 { name: 'PaymentHistory', title: 'Payment History', component: 'Payment History', action: '', }, 247 { name: 'PaymentHistory', title: 'Payment History', component: 'Payment History', action: '', },
248 { name: 'Expense', title: 'Expense', component: 'Expense', action: '', }, 248 { name: 'Expense', title: 'Expense', component: 'Expense', action: '', },
249 { name: 'Income', title: 'Income', component: 'Income', action: '', }, 249 { name: 'Income', title: 'Income', component: 'Income', action: '', },
250 { name: 'GlobalPayment', title: 'Global Payment', component: 'Global Payment', action: '', } 250 { name: 'GlobalPayment', title: 'Global Payment', component: 'Global Payment', action: '', }
251 ] 251 ]
252 }, 252 },
253 ]; 253 ];
254 254
255 const schoolMenu = [ 255 const schoolMenu = [
256 // { header: 'Apps' }, 256 // { header: 'Apps' },
257 { 257 {
258 title: 'Dashboard', 258 title: 'Dashboard',
259 // group: 'apps', 259 // group: 'apps',
260 name: 'View School Dashboard', 260 name: 'View School Dashboard',
261 icon: '/static/icon/dashboard.png', 261 icon: '/static/icon/dashboard.png',
262 }, 262 },
263 { 263 {
264 title: 'School', 264 title: 'School',
265 // group: 'apps', 265 // group: 'apps',
266 name: 'School', 266 name: 'School',
267 icon: '/static/schoolIcons/Dashboard.png', 267 icon: '/static/schoolIcons/Dashboard.png',
268 } 268 }
269 ]; 269 ];
270 270
271 const teacherMenu = [{ 271 const teacherMenu = [{
272 title: 'Dashboard', 272 title: 'Dashboard',
273 name: 'School', 273 name: 'School',
274 icon: '/static/icon/dashboard.png', 274 icon: '/static/icon/dashboard.png',
275 }, 275 },
276 { 276 {
277 title: 'Parents', 277 title: 'Parents',
278 // group: 'apps', 278 // group: 'apps',
279 name: 'Parents', 279 name: 'Parents',
280 icon: '/static/icon/parents.png', 280 icon: '/static/icon/parents.png',
281 }, 281 },
282 { 282 {
283 title: 'Teachers', 283 title: 'Teachers',
284 // group: '', 284 // group: '',
285 name: 'Teachers', 285 name: 'Teachers',
286 icon: '/static/icon/teacher.png', 286 icon: '/static/icon/teacher.png',
287 }, 287 },
288 { 288 {
289 title: 'Students', 289 title: 'Students',
290 // group: 'apps', 290 // group: 'apps',
291 name: 'Students', 291 name: 'Students',
292 icon: '/static/icon/student.png', 292 icon: '/static/icon/student.png',
293 }, 293 },
294 { 294 {
295 title: 'Academic', 295 title: 'Academic',
296 group: 'Academic', 296 group: 'Academic',
297 component: 'Academic', 297 component: 'Academic',
298 icon: '/static/icon/school.png', 298 icon: '/static/icon/school.png',
299 items: [ 299 items: [
300 { name: 'Subject', title: 'Subject', component: 'Subject', action: '', }, 300 { name: 'Subject', title: 'Subject', component: 'Subject', action: '', },
301 { name: 'Syllabus', title: 'Syllabus', component: 'Syllabus', action: '', }, 301 { name: 'Syllabus', title: 'Syllabus', component: 'Syllabus', action: '', },
302 { name: 'Assignment', title: 'Assignment', component: 'Assignment', action: '', }, 302 { name: 'Assignment', title: 'Assignment', component: 'Assignment', action: '', },
303 { name: 'Routine', title: 'Routine', component: 'Routine', action: '', }, 303 { name: 'Routine', title: 'Routine', component: 'Routine', action: '', },
304 ] 304 ]
305 }, 305 },
306 { 306 {
307 title: 'Attendance', 307 title: 'Attendance',
308 group: 'Attendance', 308 group: 'Attendance',
309 component: 'Attendance', 309 component: 'Attendance',
310 icon: '/static/icon/attendence.png', 310 icon: '/static/icon/attendence.png',
311 items: [ 311 items: [
312 { name: 'StudentAttendence', title: 'Student Attendance', component: 'Student Attendence', action: '', }, 312 { name: 'StudentAttendence', title: 'Student Attendance', component: 'Student Attendence', action: '', },
313 { name: 'TeacherAttendence', title: 'Teacher Attendance', component: 'Teacher Attendence', action: '', }, 313 { name: 'TeacherAttendence', title: 'Teacher Attendance', component: 'Teacher Attendence', action: '', },
314 // { name: 'userAttendence', title: 'User Attendance', component: 'User Attendence', action: '', }, 314 // { name: 'userAttendence', title: 'User Attendance', component: 'User Attendence', action: '', },
315 ] 315 ]
316 }, 316 },
317 { 317 {
318 title: 'Exam', 318 title: 'Exam',
319 group: 'Exam', 319 group: 'Exam',
320 component: 'Exam', 320 component: 'Exam',
321 icon: '/static/icon/exam.png', 321 icon: '/static/icon/exam.png',
322 items: [ 322 items: [
323 { name: 'ExamSchedule', title: 'Exam Schedule', component: 'Exam Schedule', action: '', }, 323 { name: 'ExamSchedule', title: 'Exam Schedule', component: 'Exam Schedule', action: '', },
324 { name: 'ExamAttendence', title: 'Exam Attendence', component: 'Exam Attendence', action: '', } 324 { name: 'ExamAttendence', title: 'Exam Attendence', component: 'Exam Attendence', action: '', }
325 ] 325 ]
326 }, 326 },
327 { 327 {
328 title: 'Marks', 328 title: 'Marks',
329 group: 'Mark', 329 group: 'Mark',
330 component: 'Mark', 330 component: 'Mark',
331 icon: '/static/icon/marks.png', 331 icon: '/static/icon/marks.png',
332 items: [ 332 items: [
333 { name: 'Mark', title: 'Mark', component: 'Mark', action: '', } 333 { name: 'Mark', title: 'Mark', component: 'Mark', action: '', }
334 ] 334 ]
335 }, 335 },
336 { 336 {
337 title: 'Report', 337 title: 'Report',
338 group: 'Report', 338 group: 'Report',
339 component: 'Report', 339 component: 'Report',
340 icon: '/static/icon/reports.png', 340 icon: '/static/icon/reports.png',
341 items: [ 341 items: [
342 { name: 'studentReport', title: 'Student Report', component: 'Student Report', action: '', }, 342 { name: 'studentReport', title: 'Student Report', component: 'Student Report', action: '', },
343 { name: 'ProgressCardReport', title: 'Progress Card Report', component: 'Progress Card Report', action: '', }, 343 { name: 'ProgressCardReport', title: 'Progress Card Report', component: 'Progress Card Report', action: '', },
344 { name: 'idCard', title: 'Id Card Report', component: 'Id Card Report', action: '', }, 344 { name: 'idCard', title: 'Id Card Report', component: 'Id Card Report', action: '', },
345 { name: 'admitCard', title: 'Admit Card Report', component: 'Admit Card Report', action: '', } 345 { name: 'admitCard', title: 'Admit Card Report', component: 'Admit Card Report', action: '', }
346 ] 346 ]
347 }, 347 },
348 { 348 {
349 title: 'Library', 349 title: 'Library',
350 group: 'Library', 350 group: 'Library',
351 component: 'Library', 351 component: 'Library',
352 icon: '/static/icon/library.png', 352 icon: '/static/icon/library.png',
353 items: [ 353 items: [
354 { name: 'Books', title: 'Books', component: 'Books', action: '', }, 354 { name: 'Books', title: 'Books', component: 'Books', action: '', },
355 { name: 'E-Books', title: 'E-Books', component: 'E-Books', action: '', } 355 { name: 'E-Books', title: 'E-Books', component: 'E-Books', action: '', }
356 356
357 ] 357 ]
358 }, 358 },
359 {
360 title: 'Meet',
361 name: 'Meet',
362 icon: '/static/icon/parents.png',
363 }
359 ]; 364 ];
360 365
361 // reorder menu 366 // reorder menu
362 // Menu.forEach((item) => { 367 // Menu.forEach((item) => {
363 // if (item.items) { 368 // if (item.items) {
364 // item.items.sort((x, y) => { 369 // item.items.sort((x, y) => {
365 // let textA = x.title.toUpperCase(); 370 // let textA = x.title.toUpperCase();
366 // let textB = y.title.toUpperCase(); 371 // let textB = y.title.toUpperCase();
367 // return (textA < textB) ? -1 : (textA > textB) ? 1 : 0; 372 // return (textA < textB) ? -1 : (textA > textB) ? 1 : 0;
368 // }); 373 // });
369 // } 374 // }
370 // }); 375 // });
371 376
372 export default { adminMenu, schoolMenu, teacherMenu, libraryMenu, accountMenu }; 377 export default { adminMenu, schoolMenu, teacherMenu, libraryMenu, accountMenu };
src/pages/Meet/meet.vue
File was created 1 <template>
2 <v-container fluid class="body-color">
3 <v-card flat class="elevation-0 transparent">
4 <v-flex xs12>
5 <v-layout>
6 <v-flex lg2>
7 <v-select
8 :items="addclass"
9 label="Select Class"
10 v-model="selectStudents.classId"
11 item-text="classNum"
12 item-value="_id"
13 name="Select Class"
14 :rules="classRules"
15 class="ml-4"
16 ></v-select>
17 </v-flex>
18 <!-- <v-flex xs3>
19 <v-select
20 :items="addSection"
21 label="Select Section"
22 v-model="selectStudents.selectSection"
23 item-text="name"
24 item-value="_id"
25 name="Select Section"
26 :rules="sectionRules"
27 class="px-2"
28 required
29 ></v-select>
30 </v-flex>-->
31 <v-flex xs3>
32 <v-btn @click="createRoom()" round dark :loading="loading" class="add-button mt-3">Find</v-btn>
33 </v-flex>
34 </v-layout>
35 </v-flex>
36 </v-card>
37 <div id="jitsi-container"></div>
38 </v-container>
39 </template>
40 <script>
41 import http from "@/Services/http.js";
42 import moment from "moment";
43
44 export default {
45 data() {
46 return {
47 token: "",
48 selectStudents: {},
49 classRules: [v => !!v || " Class Name is required"],
50 sectionRules: [v => !!v || " Section Name is required"],
51 addclass: [],
52 addSection: [],
53 loading: false,
54 room: "",
55 username: "",
56 roomPassword: ""
57 };
58 },
59 methods: {
60 startConference() {
61 var _this = this;
62 try {
63 const domain = "meet.jit.si";
64 const options = {
65 audioInput: "<deviceLabel>",
66 audioOutput: "<deviceLabel>",
67 videoInput: "<deviceLabel>",
68 roomName: this.room,
69 height: 500,
70 parentNode: document.getElementById("jitsi-container"),
71 interfaceConfigOverwrite: {
72 filmStripOnly: false,
73 SHOW_JITSI_WATERMARK: false,
74 TOOLBAR_BUTTONS: [
75 "microphone",
76 "camera",
77 "closedcaptions",
78 "desktop",
79 "fullscreen",
80 "fodeviceselection",
81 "hangup",
82 "profile",
83 "info",
84 "chat",
85 // "recording",
86 "livestreaming",
87 "etherpad",
88 "sharedvideo",
89 "settings",
90 "raisehand",
91 "videoquality",
92 "filmstrip",
93 "invite",
94 "feedback",
95 "stats",
96 "shortcuts",
97 "tileview"
98 ]
99 },
100 configOverwrite: {
101 disableSimulcast: false
102 },
103 teacherName: "",
104 romm: ""
105 };
106
107 this.api = new JitsiMeetExternalAPI(domain, options);
108 this.api.addEventListener("videoConferenceJoined", () => {
109 console.log("Local User Joined");
110
111 _this.api.executeCommand("displayName", _this.username);
112 _this.api.executeCommand("password", this.roomPassword);
113 });
114 } catch (error) {
115 console.error("Failed to load Jitsi API", error);
116 }
117 },
118 openRoom() {
119 // verify the JitsiMeetExternalAPI constructor is added to the global..
120 // if (this.teacherName != "" || this.room != "") {
121 // if (window.JitsiMeetExternalAPI) {
122 // // var person = prompt("Please enter your name:", "Rabie");
123 // if (person != null || person != "") this.username = this.teacherName;
124 // var room = prompt("Please enter your room:", "Test Room");
125 // if (room != null || room != "") this.room = this.room;
126 // this.startConference();
127 // } else alert("Jitsi Meet API script not loaded");
128 // }
129 },
130 getClassData() {
131 http()
132 .get("/getClassesList", {
133 headers: { Authorization: "Bearer " + this.token }
134 })
135 .then(response => {
136 this.addclass = response.data.data;
137 })
138 .catch(error => {
139 this.showLoader = false;
140 if (error.response.status === 401) {
141 this.$router.replace({ path: "/" });
142 this.$store.dispatch("setToken", null);
143 this.$store.dispatch("Id", null);
144 this.$store.dispatch("Role", null);
145 }
146 });
147 },
148 createRoom() {
149 this.showLoader = true;
150 var classId = {
151 classId: this.selectStudents.classId
152 };
153 http()
154 .post("/createRoom", classId)
155 .then(response => {
156 // this.addSection = response.data.data;
157 console.log("CREATE___ROOOM", response.data);
158 this.room = response.data.data.roomName;
159 this.username = response.data.data.teacherName;
160 this.roomPassword = response.data.data.roomPassword;
161 var this_ = this;
162 if (this.username != "" || this.room != "") {
163 if (window.JitsiMeetExternalAPI) {
164 // var person = prompt("Please enter your name:", "Rabie");
165 if (this_.username != null || this_.username != "") {
166 this.username = this.username;
167 }
168 // var room = prompt("Please enter your room:", "Test Room");
169 if (this_.room != null || this_.room != "") {
170 this.room = this.room;
171 }
172 this.startConference();
173 } else alert("Jitsi Meet API script not loaded");
174 }
175 this.showLoader = false;
176 })
177 .catch(err => {
178 this.showLoader = false;
179 });
180 }
181 },
182
183 mounted() {
184 this.token = this.$store.state.token;
185 this.getClassData();
186 // this.openRoom();
187 }
188 };
189 </script>
190
191
192 <style>
193 #jitsi-container {
194 height: 100vh;
195 }
196 </style>