Commit 2226dee5a3abcbe7da1bbc9b27c4e9ee6b973679
1 parent
9b444e5c30
Exists in
master
and in
3 other branches
implement conferece video call with dynamic api
Showing
2 changed files
with
201 additions
and
0 deletions
Show diff stats
src/api/menu.js
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> |