icleaf-report-ui-new 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,70 @@
1
+ # Getting Started with Create React App
2
+
3
+ This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
4
+
5
+ ## Available Scripts
6
+
7
+ In the project directory, you can run:
8
+
9
+ ### `npm start`
10
+
11
+ Runs the app in the development mode.\
12
+ Open [http://localhost:3000](http://localhost:3000) to view it in your browser.
13
+
14
+ The page will reload when you make changes.\
15
+ You may also see any lint errors in the console.
16
+
17
+ ### `npm test`
18
+
19
+ Launches the test runner in the interactive watch mode.\
20
+ See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.
21
+
22
+ ### `npm run build`
23
+
24
+ Builds the app for production to the `build` folder.\
25
+ It correctly bundles React in production mode and optimizes the build for the best performance.
26
+
27
+ The build is minified and the filenames include the hashes.\
28
+ Your app is ready to be deployed!
29
+
30
+ See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.
31
+
32
+ ### `npm run eject`
33
+
34
+ **Note: this is a one-way operation. Once you `eject`, you can't go back!**
35
+
36
+ If you aren't satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.
37
+
38
+ Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you're on your own.
39
+
40
+ You don't have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn't feel obligated to use this feature. However we understand that this tool wouldn't be useful if you couldn't customize it when you are ready for it.
41
+
42
+ ## Learn More
43
+
44
+ You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).
45
+
46
+ To learn React, check out the [React documentation](https://reactjs.org/).
47
+
48
+ ### Code Splitting
49
+
50
+ This section has moved here: [https://facebook.github.io/create-react-app/docs/code-splitting](https://facebook.github.io/create-react-app/docs/code-splitting)
51
+
52
+ ### Analyzing the Bundle Size
53
+
54
+ This section has moved here: [https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size](https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size)
55
+
56
+ ### Making a Progressive Web App
57
+
58
+ This section has moved here: [https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app](https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app)
59
+
60
+ ### Advanced Configuration
61
+
62
+ This section has moved here: [https://facebook.github.io/create-react-app/docs/advanced-configuration](https://facebook.github.io/create-react-app/docs/advanced-configuration)
63
+
64
+ ### Deployment
65
+
66
+ This section has moved here: [https://facebook.github.io/create-react-app/docs/deployment](https://facebook.github.io/create-react-app/docs/deployment)
67
+
68
+ ### `npm run build` fails to minify
69
+
70
+ This section has moved here: [https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify](https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify)
package/dist/index.css ADDED
@@ -0,0 +1,2 @@
1
+ .header_whole_container{align-items:center;background-color:#fff;border-bottom:1px solid #dcdcdc;display:flex;height:60px;justify-content:space-between;left:0;margin-left:260px;padding:20px;position:fixed;width:calc(100% - 260px);z-index:1010}.header_logo_container{margin-left:0;padding:30px 0;text-align:center}.header1-toggle-icon:hover{background-color:var(--primary-color);color:var(--button-text-color)}.header1-toggle-icon{align-items:center;background-color:#fff;background:var(--sidebar_side_mnu_bg);border-radius:8px;color:var(--primary-color);height:30px;outline:unset;padding:6px;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:30px}.mini-sidebar .header1-toggle-icon{transform:scaleX(-1);-moz-transform:scaleX(-1);-webkit-transform:scaleX(-1);-ms-transform:scaleX(-1)}.header_logo_img{height:auto;max-width:120px;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:60%}.header_container2{align-items:center;display:flex;width:13%}.user_icon_container{display:flex;justify-content:flex-end}.username_container{padding-left:20px}.userName_text{color:#222;font-size:14px;font-weight:500;letter-spacing:0;line-height:16px}.header_container3{padding-left:22px}.logout_icon{background-color:transparent;border-radius:0;box-shadow:4px 4px 32px 1px rgba(0,0,0,.2);box-shadow:none;font-size:38px;height:17px;padding:0;width:17px}.popover_container{display:flex;flex-direction:column;padding:0 16px 16px;row-gap:5px}.admpopover{width:190px}.popover_name_container{padding:15px}.acc-mnu-top{background-color:#fff8e1;background-image:none;border-radius:8px;box-shadow:none;flex-shrink:0;margin:0;overflow:hidden;padding:25px 20px;position:relative;text-align:left;-webkit-user-select:none;-moz-user-select:none;user-select:none}.acc-mnu-top:before{border:3px solid #ffe57f;border-radius:50%;content:"";height:160px;position:absolute;right:-60px;top:65px;width:160px}.acc-mnu-top:after{border:19px solid #ffe57f;border-radius:50%;content:"";height:200px;position:absolute;right:-160px;top:5px;width:200px}.acc-mnu-seperator{border:solid #e3e8ef;border-width:0 0 thin;color:#364152;margin-bottom:0;opacity:1;transition:box-shadow .3s cubic-bezier(.4,0,.2,1) 0ms}.acc-mnu-icon{color:var(--primary-color)}.popover_container .col-3{padding-right:0}.popover_container .col-12{padding-left:10px}.popover_container .row{width:100%}.popover_container .row,.popover_container .row_lang{background:var(--content-background-color);border-radius:4px;margin-left:0;margin-right:0;padding:10px 0}.popover_container .row_lang{width:55%}.acc-mnu-item{color:var(--bs-gray-700)}.acc-mnu-item:hover{background:var(--sidebar_side_mnu_bg);color:var(--primary-color)}.acc_menu_highlight{background:var(--sidebar_side_mnu_bg)!important;color:var(--primary-color)}.hi_msg{font-size:12px}.name_text{font-size:16px;font-weight:500;letter-spacing:0;line-height:20px}.email_text{font-size:11px}.email_text,.popup_user_text{font-weight:300;letter-spacing:0;line-height:15px}.popup_user_text{font-size:13px;padding-left:11px}.pop_up_info{align-items:center;display:flex;justify-content:center}.label_text{font-size:14px;font-weight:300;letter-spacing:.05em;line-height:14px}.cursor{cursor:pointer}.popoveradmCls{display:flex;flex-direction:column;padding:15px}.profImgCls{border-radius:50px;box-shadow:0 2px 7px #a2a2a2;height:50px;padding:5px;width:50px}.labeltxtadm{color:#000;padding:5px}.imgClsHeader{align-items:center;display:flex;flex-direction:column;width:100%}.acc_mnu_pop{width:250px}.acc_mnu_pop:before{border-bottom:15px solid #fe9c00;border-left:13px solid transparent;border-right:0 solid transparent;margin:-15px 0 0 68px;right:18px;top:0}.user_Img{border-radius:50px;height:60px;width:60px}.sidebar{background-color:#fff;border-right:1px solid #ddd;bottom:0;display:block;left:0;margin-top:0;overflow-y:auto;position:fixed;top:0;width:260px;z-index:1001}.sidebar.opened{transition:all .4s ease}.sidebar-inner{height:auto;transition:all .2s ease-in-out 0s}.sidebar-menu{height:100%;max-height:100vh;padding:0}.sidebar-menu ul{display:flex;flex-direction:column;font-size:15px;list-style-type:none;margin:4px 2px;padding:0;position:relative}.sidebar-menu li a{border-radius:8px;color:#333;display:block;font-size:14px;font-weight:300;height:auto;line-height:20px;padding:0 10px;text-decoration:none}.sidebar-menu li a:hover{background-color:var(--sidebar_mnu_bg);color:var(--primary-color);cursor:pointer}.sidebar-menu li a:hover .icon_background{background-color:transparent;box-shadow:none}.sidebar-menu li.active a{background-color:var(--sidebar_side_mnu_bg);color:var(--primary-color)}.sidebar-menu li.active .icon_background{background-color:transparent;box-shadow:none}.menu-title{color:#9e9e9e;display:flex;font-size:14px;opacity:1;padding:5px 15px;white-space:nowrap}.menu-title>i{float:right;line-height:40px}.sidebar-menu li.menu-title a{color:#ff9b44;display:inline-block;margin-left:auto;padding:0}.sidebar-menu li.menu-title a.btn{color:#fff;display:block;float:none;font-size:15px;margin-bottom:15px;padding:10px 15px}.subitem{color:#888}.sidebar-menu ul ul a.active{color:#000}.mobile-user-menu{color:#fff;display:none;float:right;font-size:24px;height:60px;line-height:60px;padding:0 20px;position:absolute;right:0;text-align:right;top:0;width:60px;z-index:10}.mobile-user-menu>a{color:#333;padding:0}.mobile-user-menu a:hover{color:#333}.mobile-user-menu>.dropdown-menu{min-width:130px}.mobile-user-menu>.dropdown-menu>a{line-height:23px}.profile-rightbar{color:#bbb;display:none!important;font-size:26px;margin-left:15px}.mobile_btn{display:none;float:left}.sidebar .sidebar-menu>ul>li>a span{display:inline-block;font-weight:300;margin-left:5px;transition:all .2s ease-in-out 0s}.sidebar.sidebar-menu>ul>li>a span.chat-user{margin-left:0;overflow:hidden;text-overflow:ellipsis}.sidebar.sidebar-menu>ul>li>a span.badge{margin-left:auto}.sidebar-menu ul ul a{align-items:center;display:flex;font-size:14px;gap:20px;padding:10px 0 10px 10px;position:relative}.sidebar-menu ul ul ul a{padding-left:70px}.info_icon{font-size:14px}.sidebar-menu ul ul ul ul a{padding-left:90px}.sidebar-menu>ul>li{position:relative}.sidebar-menu .menu-arrow{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-family:FontAwesome;font-size:20px;height:46px;line-height:40px;line-height:18px;position:absolute;right:10px;text-rendering:auto;top:0;transform:translate(0);transition:transform .15s}.sidebar-menu li a.subdrop .menu-arrow{transform:rotate(90deg)}.sidebar-menu li a.subdrop{background-color:var(--sidebar_mnu_bg);color:var(--primary-color);margin-bottom:0}.sidebar-menu li a.subdrop .icon_background{background-color:transparent;box-shadow:none}.sidebar-menu li:has(a.subdrop) ul li{color:#222;font-size:14px;letter-spacing:0;line-height:16px}.sidebar-menu li:has(a.subdrop) ul{background-color:var(--sidebar_side_mnu_bg);border-radius:8px;margin:4px 14px;row-gap:0}.mini-sidebar .sidebar-menu li:has(a.subdrop) ul{box-shadow:1px 1px 3px #847474;position:fixed}.mini-sidebar .sidebar-menu li:has(a.subdrop) div{height:auto;left:57px;position:absolute;top:1px;width:212px}.mini-sidebar .menu-arrow{display:none}.sidebar-menu li:has(a.subdrop) ul li a.active{align-items:center;background-color:var(--sidebar_bg);color:var(--primary-color);display:flex;text-decoration:none}.sidebar-menu li:has(a.subdrop) ul li a:hover{background-color:transparent;color:var(--primary-color)!important}.sidebar-menu ul ul a .menu-arrow{top:6px}.sidebar-menu a{line-height:1.3;transition:unset;-moz-transition:unset;-o-transition:unset;-ms-transition:unset;-webkit-transition:unset}.sidebar-menu>ul>li>a{align-items:center;display:flex;justify-content:flex-start;margin:4px 14px;padding:5px;position:relative;transition:all .2s ease-in-out 0s}.sidebar-menu ul li a i{display:inline-block;font-size:16px;line-height:24px;text-align:left;transition:all .2s ease-in-out 0s;vertical-align:middle}.sidebar-menu ul li.menu-title a i{font-size:16px!important;margin-right:0;text-align:right;width:auto}.account-mnu-icon{background:#ff0;border:1px solid #e6e6e6;border-radius:50%;box-shadow:0 0 1px 0 gray;height:25px;margin:0 10px;padding:4px;width:25px}.account-mnu-icon,.account-setting-mnu-icon{color:var(--primary-color);cursor:pointer;outline:unset;-webkit-user-select:none;-moz-user-select:none;user-select:none}.account-setting-mnu-icon{height:22px;margin:0 10px 0 5px;width:22px}.acc_conf_main{-webkit-tap-highlight-color:transparent;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--sidebar_side_mnu_bg);border:1px solid #e3f2fd;border-radius:27px;box-sizing:border-box;color:#2196f3;cursor:pointer;display:inline-flex;font-family:Roboto,sans-serif;font-size:.8125rem;height:45px;justify-content:center;max-width:100%;outline:0;padding:0;position:relative;text-decoration:none;transition:all .2s ease-in-out 0s;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.acc_conf_main:hover{background-color:#2196f3!important;border-color:#2196f3;color:#e3f2fd}.acc_conf_main:hover .account-setting-mnu-icon{color:var(--button-text-color)}.lang-mnu-icon{align-items:center;background:var(--sidebar_side_mnu_bg);border:1px solid #e8e3ef;border-radius:8px;color:var(--pdf-icon-color);cursor:pointer;height:30px;outline:unset;padding:6px;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:30px}.lang-mnu-icon:hover{background-color:var(--pdf-icon-color);color:var(--button-text-color)}.icon_background{align-items:center;border-radius:50%;display:flex!important;height:-moz-fit-content;height:fit-content;justify-content:center;margin-left:0!important;padding:7px}.sub_icon_background svg{font-size:6px}.sub_icon_background{color:var(--primary-color);padding-right:0!important}.submenu ul:after{background-color:transparent;border-left:1px dashed var(--primary-color);content:"";height:84%;left:22px;opacity:1;position:absolute;top:8%;width:1px}.mini-sidebar .submenu ul:after{opacity:0}.mini-sidebar .sidebar-menu ul ul a{gap:10px}.icon_backgrounddrawer{align-items:center;border-radius:50%;display:flex!important;height:-moz-fit-content;height:fit-content;justify-content:center;margin-left:0!important;padding:10px}.item_text{font-size:18px;font-weight:500}.sidebar-menu li a:hover .dashborad_icon{color:var(--primary-color)!important}.sidebar-menu li a:hover .course_icon{color:var(--primary-color)!important}.sidebar-menu li a:hover .myCourse_icon{color:var(--primary-color)!important}.sidebar-menu li a:hover .eRes_icon{color:var(--primary-color)!important}.sidebar-menu li a:hover .manage_content_icon,.sidebar-menu li a:hover .manage_control_icon,.sidebar-menu li a:hover .manage_corporate_icon,.sidebar-menu li a:hover .manage_user_icon,.sidebar-menu li a:hover .manageexam_icon{color:#fff!important}.sidebardrawer{background-color:#fff;border-right:1px solid #ddd;bottom:0;display:block;left:0;margin-top:0;position:fixed;top:35px;width:232px;z-index:1001}.sidebardrawer.opened{transition:all .4s ease}.sidebardrawer-inner{height:100%;transition:all .2s ease-in-out 0s}.sidebar-menudrawer{margin-top:30px;padding:0}.main_drawer .ant-drawer-body{padding:45px 0!important}.sidebar .sidebar-menudrawer>ul>li>a span.chat-user{margin-left:0;overflow:hidden;text-overflow:ellipsis}.sidebar .sidebar-menudrawer>ul>li>a span.badge{margin-left:auto}.sidebar-menudrawer ul ul a{align-items:center;display:flex;font-size:14px;gap:10px;padding:10px 0 10px 9.5px;position:relative}.sidebar-menudrawer ul ul ul a{padding-left:35px}.sidebar-menudrawer ul ul ul ul a{padding-left:45px}.sidebar-menudrawer>ul>li{position:relative}.sidebar-menudrawer .menu-arrow{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-family:FontAwesome;font-size:20px;line-height:20px;line-height:18px;position:absolute;right:10px;text-rendering:auto;transform:translate(0);transition:transform .15s}.submenu_drawer ul:after{background-color:transparent;border-left:1px dashed var(--primary-color);content:"";height:84%;left:22px;opacity:1;position:absolute;top:8%;width:1px}.sidebar-menudrawer li a{border-radius:8px;color:#333;display:block;font-size:14px;font-weight:300;height:auto;line-height:20px;padding:0 10px;text-decoration:none}.sidebar-menudrawer li a.subdrop{background-color:var(--sidebar_mnu_bg);color:var(--primary-color);margin-bottom:0}.sidebar-menudrawer li a.subdrop .icon_background{background-color:transparent;box-shadow:none}.sidebar-menudrawer li:has(a.subdrop) ul li{color:#222;font-size:14px;letter-spacing:0;line-height:16px}.sidebar-menudrawer li:has(a.subdrop) ul li a.active{background-color:var(--sidebar_bg);color:var(--primary-color);text-decoration:none}.activeExamLi{background-color:var(--sidebar_bg)!important;color:var(--primary-color)!important}.inactiveExamLi{color:#000!important}.sidebar-menudrawer li:has(a.subdrop) ul li a:hover{background-color:transparent;color:var(--primary-color)!important}.sidebar-menudrawer ul ul a .menu-arrow{top:3px}.sidebar-menudrawer a{line-height:1.3;transition:unset;-moz-transition:unset;-o-transition:unset;-ms-transition:unset;-webkit-transition:unset}.sidebar-menudrawer>ul>li>a{align-items:center;display:flex;justify-content:flex-start;margin:4px 14px;padding:5px;position:relative;transition:all .2s ease-in-out 0s}.sidebar-menudrawer ul li a i{display:inline-block;font-size:16px;line-height:14px;text-align:left;transition:all .2s ease-in-out 0s;vertical-align:middle}.sidebar-menudrawer ul li.menu-title a i{font-size:12px!important;margin-right:0;text-align:right;width:auto}.sidebar-menudrawer li a:hover .course_icon,.sidebar-menudrawer li a:hover .dashborad_icon,.sidebar-menudrawer li a:hover .eRes_icon,.sidebar-menudrawer li a:hover .exam_icon,.sidebar-menudrawer li a:hover .myCourse_icon,.sidebar-menudrawer li a:hover .profile_icon{color:#fff!important}.sidebar-menudrawer li a.subdrop .menu-arrow{transform:rotate(45deg)}.sidebar-menudrawer li.active a{background-color:var(--sidebar_side_mnu_bg);color:var(--primary-color)}.sidebar-menudrawer li.active .icon_backgrounddrawer,.subdrop .icon_backgrounddrawer{background-color:transparent;box-shadow:none}.sidebar-menudrawer li:has(a.subdrop) ul{background-color:var(--sidebar_side_mnu_bg);border-radius:8px;margin:4px 14px;row-gap:0}.sidebar-menudrawer ul{display:flex;flex-direction:column;font-size:15px;list-style-type:none;margin:0;padding:0;position:relative}.ant-drawer-content-wrapper{width:200px!important}@media only screen and (max-width:1001px){.sidebar{display:none}.drawer_main{display:block}.ant-drawer-content-wrapper{width:100%}.main_drawer .ant-drawer-body{padding:0!important}.sidebar-menudrawer{margin-top:0;padding:0}.sidebar-menudrawer li a:hover .exam_icon{color:#f8b83d!important}}.comp-info-main{bottom:0;display:none;font-size:10px;font-weight:300;padding:10px 0;position:absolute;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}
2
+ /*# sourceMappingURL=index.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Header.css","sidebar.css"],"names":[],"mappings":"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","file":"index.css","sourcesContent":["/* latest header style */\r\n\r\n.header_whole_container {\r\n display: flex;\r\n position: fixed;\r\n left: 0;\r\n padding: 20px;\r\n margin-left: 260px;\r\n width: calc(100% - 260px);\r\n /* padding-bottom: 10px; */\r\n height: 60px;\r\n align-items: center;\r\n z-index: 1010;\r\n border-bottom: 1px solid #dcdcdc;\r\n background-color: #FFFFFF;\r\n justify-content: space-between;\r\n}\r\n\r\n.header_logo_container {\r\n padding: 30px 0px;\r\n text-align: center;\r\n margin-left: 0;\r\n}\r\n\r\n.header1-toggle-icon:hover {\r\n background-color: var(--primary-color);\r\n color: var(--button-text-color);\r\n}\r\n\r\n.header1-toggle-icon {\r\n background-color: #FFF;\r\n border-radius: 8px;\r\n padding: 6px;\r\n align-items: center;\r\n /* box-shadow: 4px 4px 32px 1px rgba(0, 0, 0, 0.20); */\r\n -webkit-user-select: none;\r\n user-select: none;\r\n outline: unset;\r\n height: 30px;\r\n width: 30px;\r\n background: var(--sidebar_side_mnu_bg);\r\n color: var(--primary-color);\r\n}\r\n\r\n.mini-sidebar .header1-toggle-icon {\r\n transform: scaleX(-1);\r\n -moz-transform: scaleX(-1);\r\n -webkit-transform: scaleX(-1);\r\n -ms-transform: scaleX(-1);\r\n}\r\n\r\n.header_logo_img {\r\n height: auto;\r\n width: 60%;\r\n max-width: 120px;\r\n -webkit-user-select: none;\r\n user-select: none;\r\n}\r\n\r\n.header_container2 {\r\n display: flex;\r\n align-items: center;\r\n width: 13%;\r\n}\r\n\r\n.user_icon_container {\r\n display: flex;\r\n justify-content: flex-end;\r\n}\r\n\r\n.username_container {\r\n padding-left: 20px;\r\n}\r\n\r\n.userName_text {\r\n font-size: 14px;\r\n color: #222222;\r\n font-weight: 500;\r\n line-height: 16px;\r\n letter-spacing: 0em;\r\n}\r\n\r\n.header_container3 {\r\n padding-left: 22px;\r\n}\r\n\r\n.logout_icon {\r\n box-shadow: 4px 4px 32px 1px rgba(0, 0, 0, 0.20);\r\n background-color: transparent;\r\n padding: 0px;\r\n border-radius: 0%;\r\n /* color: #575757; */\r\n font-size: 38px;\r\n box-shadow: none;\r\n height: 17px;\r\n width: 17px;\r\n}\r\n\r\n.popover_container {\r\n padding: 0px 16px 16px;\r\n row-gap: 5px;\r\n display: flex;\r\n flex-direction: column;\r\n}\r\n\r\n.admpopover {\r\n width: 190px;\r\n /* height: 400px; */\r\n}\r\n\r\n.popover_name_container {\r\n padding: 15px 15px;\r\n}\r\n\r\n.acc-mnu-top {\r\n text-align: left;\r\n padding: 25px 20px;\r\n -webkit-user-select: none;\r\n user-select: none;\r\n margin: 0px;\r\n flex-shrink: 0;\r\n box-shadow: none;\r\n background-image: none;\r\n border-radius: 8px;\r\n background-color: rgb(255, 248, 225);\r\n overflow: hidden;\r\n position: relative;\r\n}\r\n\r\n.acc-mnu-top::before {\r\n border: 3px solid rgb(255, 229, 127);\r\n border-radius: 50%;\r\n top: 65px;\r\n right: -60px;\r\n content: \"\";\r\n position: absolute;\r\n width: 160px;\r\n height: 160px;\r\n}\r\n\r\n.acc-mnu-top::after {\r\n border: 19px solid rgb(255, 229, 127);\r\n border-radius: 50%;\r\n top: 5px;\r\n right: -160px;\r\n content: \"\";\r\n position: absolute;\r\n width: 200px;\r\n height: 200px;\r\n}\r\n\r\n.acc-mnu-seperator {\r\n border-width: 0px 0px thin;\r\n border-style: solid;\r\n border-color: rgb(227, 232, 239);\r\n color: rgb(54, 65, 82);\r\n transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\r\n margin-bottom: 0;\r\n opacity: 1;\r\n}\r\n\r\n.acc-mnu-icon {\r\n color: var(--primary-color);\r\n}\r\n\r\n.popover_container .col-3 {\r\n /* padding-left: 0px; */\r\n padding-right: 0px;\r\n}\r\n\r\n.popover_container .col-12 {\r\n /* padding-left: 0px; */\r\n padding-left: 10px;\r\n}\r\n\r\n.popover_container .row {\r\n width: 100%;\r\n margin-left: 0px;\r\n margin-right: 0px;\r\n padding: 10px 0;\r\n border-radius: 4px;\r\n background: var(--content-background-color);\r\n}\r\n\r\n.popover_container .row_lang {\r\n width: 55%;\r\n margin-left: 0px;\r\n margin-right: 0px;\r\n padding: 10px 0;\r\n border-radius: 4px;\r\n background: var(--content-background-color);\r\n}\r\n\r\n.acc-mnu-item {\r\n color: var(--bs-gray-700);\r\n}\r\n\r\n.acc-mnu-item:hover {\r\n color: var(--primary-color);\r\n background: var(--sidebar_side_mnu_bg);\r\n}\r\n\r\n.acc_menu_highlight {\r\n color: var(--primary-color);\r\n background: var(--sidebar_side_mnu_bg) !important;\r\n\r\n}\r\n\r\n.hi_msg {\r\n font-size: 12px;\r\n}\r\n\r\n.name_text {\r\n font-size: 16px;\r\n font-weight: 500;\r\n line-height: 20px;\r\n letter-spacing: 0em;\r\n}\r\n\r\n.email_text {\r\n font-size: 11px;\r\n line-height: 15px;\r\n font-weight: 300;\r\n letter-spacing: 0em;\r\n}\r\n\r\n.popup_user_text {\r\n padding-left: 11px;\r\n font-size: 13px;\r\n line-height: 15px;\r\n font-weight: 300;\r\n letter-spacing: 0em;\r\n}\r\n\r\n.pop_up_info {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\n.label_text {\r\n font-size: 14px;\r\n line-height: 14px;\r\n letter-spacing: 0.05em;\r\n font-weight: 300;\r\n}\r\n\r\n.cursor {\r\n cursor: pointer;\r\n}\r\n\r\n/* Admin */\r\n.popoveradmCls {\r\n padding: 15px;\r\n /* row-gap: 15px; */\r\n display: flex;\r\n flex-direction: column;\r\n}\r\n\r\n.profImgCls {\r\n width: 50px;\r\n height: 50px;\r\n border-radius: 50px;\r\n box-shadow: 0px 2px 7px #a2a2a2;\r\n padding: 5px;\r\n}\r\n\r\n.labeltxtadm {\r\n /* font-size: large; */\r\n color: #000;\r\n /* display: block; */\r\n padding: 5px;\r\n\r\n}\r\n\r\n.imgClsHeader {\r\n\r\n width: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n}\r\n\r\n.acc_mnu_pop {\r\n width: 250px;\r\n}\r\n\r\n.acc_mnu_pop::before {\r\n top: 0%;\r\n right: 18px;\r\n margin: -15px 0 0 68px;\r\n border-left: 13px solid transparent;\r\n border-bottom: 15px solid #fe9c00;\r\n border-right: 0px solid transparent;\r\n}\r\n\r\n.user_Img {\r\n width: 60px;\r\n height: 60px;\r\n border-radius: 50px;\r\n}\r\n","/*-----------------\r\n\tSidebar\r\n-----------------------*/\r\n\r\n.sidebar {\r\n background-color: #fff;\r\n border-right: 1px solid #ddd;\r\n bottom: 0;\r\n left: 0;\r\n margin-top: 0;\r\n position: fixed;\r\n top: 0px;\r\n /* transition: all 0.2s ease-in-out 0s; */\r\n width: 260px;\r\n z-index: 1001;\r\n display: block;\r\n overflow-y: auto;\r\n}\r\n\r\n\r\n.sidebar.opened {\r\n -webkit-transition: all 0.4s ease;\r\n -moz-transition: all 0.4s ease;\r\n transition: all 0.4s ease;\r\n}\r\n\r\n.sidebar-inner {\r\n height: auto;\r\n transition: all 0.2s ease-in-out 0s;\r\n}\r\n\r\n.sidebar-menu {\r\n padding: 0;\r\n max-height: calc(100vh);\r\n /* overflow-y: auto; */\r\n height: 100%;\r\n}\r\n\r\n.sidebar-menu ul {\r\n font-size: 15px;\r\n list-style-type: none;\r\n margin: 4px 2px;\r\n padding: 0;\r\n position: relative;\r\n display: flex;\r\n flex-direction: column;\r\n /* row-gap: 5px; */\r\n}\r\n\r\n.sidebar-menu li a {\r\n color: #333;\r\n display: block;\r\n font-size: 14px;\r\n height: auto;\r\n padding: 0 10px;\r\n text-decoration: none;\r\n line-height: 20px;\r\n border-radius: 8px;\r\n font-weight: 300;\r\n}\r\n\r\n.sidebar-menu li a:hover {\r\n color: var(--primary-color);\r\n background-color: var(--sidebar_mnu_bg);\r\n cursor: pointer;\r\n}\r\n\r\n.sidebar-menu li a:hover .icon_background {\r\n background-color: transparent;\r\n box-shadow: none;\r\n}\r\n\r\n\r\n.sidebar-menu li.active a {\r\n color: var(--primary-color);\r\n background-color: var(--sidebar_side_mnu_bg);\r\n}\r\n\r\n.sidebar-menu li.active .icon_background {\r\n background-color: transparent;\r\n box-shadow: none;\r\n}\r\n\r\n\r\n.menu-title {\r\n color: #9e9e9e;\r\n display: flex;\r\n font-size: 14px;\r\n opacity: 1;\r\n padding: 5px 15px;\r\n white-space: nowrap;\r\n}\r\n\r\n.menu-title>i {\r\n float: right;\r\n line-height: 40px;\r\n}\r\n\r\n.sidebar-menu li.menu-title a {\r\n color: #ff9b44;\r\n display: inline-block;\r\n margin-left: auto;\r\n padding: 0;\r\n}\r\n\r\n.sidebar-menu li.menu-title a.btn {\r\n color: #fff;\r\n display: block;\r\n float: none;\r\n font-size: 15px;\r\n margin-bottom: 15px;\r\n padding: 10px 15px;\r\n}\r\n\r\n\r\n.subitem {\r\n color: #888;\r\n}\r\n\r\n.sidebar-menu ul ul a.active {\r\n /* background-color: #ffebda; */\r\n color: #000;\r\n /* text-decoration: underline; */\r\n}\r\n\r\n.mobile-user-menu {\r\n color: #fff;\r\n display: none;\r\n float: right;\r\n font-size: 24px;\r\n height: 60px;\r\n line-height: 60px;\r\n padding: 0 20px;\r\n position: absolute;\r\n right: 0;\r\n text-align: right;\r\n top: 0;\r\n width: 60px;\r\n z-index: 10;\r\n}\r\n\r\n.mobile-user-menu>a {\r\n color: #333;\r\n padding: 0;\r\n}\r\n\r\n.mobile-user-menu a:hover {\r\n color: #333;\r\n}\r\n\r\n.mobile-user-menu>.dropdown-menu {\r\n min-width: 130px;\r\n}\r\n\r\n.mobile-user-menu>.dropdown-menu>a {\r\n line-height: 23px;\r\n}\r\n\r\n.profile-rightbar {\r\n display: none !important;\r\n color: #bbb;\r\n font-size: 26px;\r\n margin-left: 15px;\r\n}\r\n\r\n.mobile_btn {\r\n display: none;\r\n float: left;\r\n}\r\n\r\n.sidebar .sidebar-menu>ul>li>a span {\r\n transition: all 0.2s ease-in-out 0s;\r\n display: inline-block;\r\n margin-left: 5px;\r\n /* white-space: nowrap; */\r\n font-weight: 300;\r\n}\r\n\r\n\r\n.sidebar.sidebar-menu>ul>li>a span.chat-user {\r\n margin-left: 0;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n}\r\n\r\n.sidebar.sidebar-menu>ul>li>a span.badge {\r\n margin-left: auto;\r\n}\r\n\r\n\r\n.sidebar-menu ul ul a {\r\n display: flex;\r\n font-size: 14px;\r\n padding: 10px 0px 10px 10px;\r\n position: relative;\r\n gap: 20px;\r\n align-items: center;\r\n}\r\n\r\n.sidebar-menu ul ul ul a {\r\n padding-left: 70px;\r\n}\r\n\r\n.info_icon {\r\n font-size: 14px;\r\n}\r\n\r\n.sidebar-menu ul ul ul ul a {\r\n padding-left: 90px;\r\n}\r\n\r\n.sidebar-menu>ul>li {\r\n position: relative;\r\n}\r\n\r\n.sidebar-menu .menu-arrow {\r\n -webkit-transition: -webkit-transform 0.15s;\r\n -o-transition: -o-transform 0.15s;\r\n transition: transform .15s;\r\n position: absolute;\r\n right: 10px;\r\n display: inline-block;\r\n font-family: 'FontAwesome';\r\n text-rendering: auto;\r\n line-height: 40px;\r\n font-size: 20px;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n -webkit-transform: translate(0, 0);\r\n -ms-transform: translate(0, 0);\r\n -o-transform: translate(0, 0);\r\n transform: translate(0, 0);\r\n line-height: 18px;\r\n top: 0;\r\n height: 46px;\r\n}\r\n\r\n\r\n\r\n.sidebar-menu li a.subdrop .menu-arrow {\r\n -ms-transform: rotate(90deg);\r\n -webkit-transform: rotate(90deg);\r\n -o-transform: rotate(90deg);\r\n transform: rotate(90deg);\r\n}\r\n\r\n\r\n.sidebar-menu li a.subdrop {\r\n color: var(--primary-color);\r\n background-color: var(--sidebar_mnu_bg);\r\n margin-bottom: 0px;\r\n}\r\n\r\n.sidebar-menu li a.subdrop .icon_background {\r\n background-color: transparent;\r\n box-shadow: none;\r\n}\r\n\r\n\r\n.sidebar-menu li:has(a.subdrop) ul li {\r\n /* background-color: var(--sidebar_bg); */\r\n font-size: 14px;\r\n line-height: 16px;\r\n letter-spacing: 0em;\r\n color: #222222;\r\n}\r\n\r\n\r\n.sidebar-menu li:has(a.subdrop) ul {\r\n row-gap: 0px;\r\n border-radius: 8px;\r\n background-color: var(--sidebar_side_mnu_bg);\r\n margin: 4px 14px;\r\n}\r\n\r\n.mini-sidebar .sidebar-menu li:has(a.subdrop) ul {\r\n /* position: absolute;\r\n left: 57px;\r\n top: 1px;\r\n width: 212px;\r\n height: auto;\r\n box-shadow: 1px 1px 3px #847474; */\r\n /* border-radius: 0px 2px 2px 0px; */\r\n box-shadow: 1px 1px 3px #847474;\r\n position: fixed;\r\n}\r\n\r\n.mini-sidebar .sidebar-menu li:has(a.subdrop) div {\r\n position: absolute;\r\n left: 57px;\r\n top: 1px;\r\n width: 212px;\r\n height: auto;\r\n\r\n /* border-radius: 0px 2px 2px 0px; */\r\n}\r\n\r\n.mini-sidebar .menu-arrow {\r\n display: none;\r\n}\r\n\r\n.sidebar-menu li:has(a.subdrop) ul li a.active {\r\n background-color: var(--sidebar_bg);\r\n ;\r\n color: var(--primary-color);\r\n text-decoration: none;\r\n /* margin-top: 5px; */\r\n display: flex;\r\n align-items: center;\r\n /* gap:10px; */\r\n\r\n}\r\n\r\n\r\n\r\n.sidebar-menu li:has(a.subdrop) ul li a:hover {\r\n color: var(--primary-color) !important;\r\n background-color: transparent;\r\n}\r\n\r\n\r\n.sidebar-menu ul ul a .menu-arrow {\r\n top: 6px;\r\n}\r\n\r\n.sidebar-menu a {\r\n line-height: 1.3;\r\n transition: unset;\r\n -moz-transition: unset;\r\n -o-transition: unset;\r\n -ms-transition: unset;\r\n -webkit-transition: unset;\r\n}\r\n\r\n\r\n.sidebar-menu>ul>li>a {\r\n padding: 5px 5px;\r\n margin: 4px 14px;\r\n align-items: center;\r\n display: flex;\r\n justify-content: flex-start;\r\n position: relative;\r\n transition: all 0.2s ease-in-out 0s;\r\n}\r\n\r\n\r\n\r\n\r\n.sidebar-menu ul li a i {\r\n display: inline-block;\r\n font-size: 16px;\r\n line-height: 24px;\r\n text-align: left;\r\n vertical-align: middle;\r\n transition: all 0.2s ease-in-out 0s;\r\n}\r\n\r\n.sidebar-menu ul li.menu-title a i {\r\n font-size: 16px !important;\r\n margin-right: 0;\r\n text-align: right;\r\n width: auto;\r\n}\r\n\r\n.account-mnu-icon {\r\n color: var(--primary-color);\r\n cursor: pointer;\r\n -webkit-user-select: none;\r\n user-select: none;\r\n outline: unset;\r\n height: 25px;\r\n width: 25px;\r\n padding: 4px;\r\n background: yellow;\r\n border-radius: 50%;\r\n border: 1px solid #e6e6e6;\r\n box-shadow: 0px 0px 1px 0px gray;\r\n margin: 0 10px 0 10px;\r\n}\r\n\r\n.account-setting-mnu-icon {\r\n color: var(--primary-color);\r\n cursor: pointer;\r\n -webkit-user-select: none;\r\n user-select: none;\r\n outline: unset;\r\n height: 22px;\r\n width: 22px;\r\n margin: 0 10px 0 5px;\r\n}\r\n\r\n.acc_conf_main {\r\n position: relative;\r\n appearance: none;\r\n max-width: 100%;\r\n font-family: Roboto, sans-serif;\r\n font-size: 0.8125rem;\r\n display: inline-flex;\r\n justify-content: center;\r\n white-space: nowrap;\r\n outline: 0px;\r\n text-decoration: none;\r\n padding: 0px;\r\n vertical-align: middle;\r\n box-sizing: border-box;\r\n user-select: none;\r\n -webkit-tap-highlight-color: transparent;\r\n cursor: pointer;\r\n border: 1px solid rgb(227, 242, 253);\r\n color: rgb(33, 150, 243);\r\n height: 45px;\r\n /* width: fit-content; */\r\n align-items: center;\r\n border-radius: 27px;\r\n transition: all 0.2s ease-in-out 0s;\r\n background-color: var(--sidebar_side_mnu_bg);\r\n}\r\n\r\n.acc_conf_main:hover {\r\n border-color: rgb(33, 150, 243);\r\n color: rgb(227, 242, 253);\r\n background-color: rgb(33, 150, 243) !important;\r\n}\r\n\r\n.acc_conf_main:hover .account-setting-mnu-icon {\r\n color: var(--button-text-color);\r\n}\r\n\r\n.lang-mnu-icon {\r\n color: var(--pdf-icon-color);\r\n cursor: pointer;\r\n border-radius: 8px;\r\n padding: 6px;\r\n align-items: center;\r\n -webkit-user-select: none;\r\n user-select: none;\r\n outline: unset;\r\n height: 30px;\r\n width: 30px;\r\n background: var(--sidebar_side_mnu_bg);\r\n border: 1px solid #e8e3ef;\r\n}\r\n\r\n.lang-mnu-icon:hover {\r\n background-color: var(--pdf-icon-color);\r\n color: var(--button-text-color);\r\n}\r\n\r\n.icon_background {\r\n /* box-shadow: 4px 4px 11px 1px #00000014; */\r\n /* background-color: #ffffff; */\r\n border-radius: 50%;\r\n padding: 7px;\r\n display: flex !important;\r\n justify-content: center;\r\n align-items: center;\r\n margin-left: 0px !important;\r\n height: fit-content;\r\n}\r\n\r\n.sub_icon_background svg {\r\n font-size: 6px;\r\n}\r\n\r\n.sub_icon_background {\r\n padding-right: 0px !important;\r\n color: var(--primary-color);\r\n}\r\n\r\n.submenu ul::after {\r\n content: \"\";\r\n position: absolute;\r\n left: 22px;\r\n top: 8%;\r\n height: 84%;\r\n width: 1px;\r\n opacity: 1;\r\n background-color: transparent;\r\n border-left: 1px dashed var(--primary-color);\r\n}\r\n\r\n.mini-sidebar .submenu ul::after {\r\n opacity: 0;\r\n}\r\n\r\n.mini-sidebar .sidebar-menu ul ul a {\r\n gap: 10px;\r\n}\r\n\r\n/* icon backgroud drawer */\r\n.icon_backgrounddrawer {\r\n /* box-shadow: 4px 4px 11px 1px #00000014; */\r\n /* background-color: #ffffff; */\r\n border-radius: 50%;\r\n padding: 10px;\r\n display: flex !important;\r\n justify-content: center;\r\n align-items: center;\r\n margin-left: 0px !important;\r\n height: -moz-fit-content;\r\n height: fit-content;\r\n}\r\n\r\n.item_text {\r\n font-size: 18px;\r\n font-weight: 500;\r\n}\r\n\r\n.dashborad_icon {\r\n /* color: #F47A7A; */\r\n}\r\n\r\n.sidebar-menu li a:hover .dashborad_icon {\r\n /* color: white !important; */\r\n color: var(--primary-color) !important;\r\n}\r\n\r\n.course_icon {\r\n /* color: #00D936; */\r\n}\r\n\r\n.sidebar-menu li a:hover .course_icon {\r\n /* color: white !important; */\r\n color: var(--primary-color) !important;\r\n}\r\n\r\n\r\n.myCourse_icon {\r\n /* color: #CF4EFD; */\r\n}\r\n\r\n.sidebar-menu li a:hover .myCourse_icon {\r\n /* color: white !important; */\r\n color: var(--primary-color) !important;\r\n}\r\n\r\n.eRes_icon {\r\n /* color: #5AB0FF; */\r\n}\r\n\r\n.sidebar-menu li a:hover .eRes_icon {\r\n /* color: white !important; */\r\n color: var(--primary-color) !important;\r\n}\r\n\r\n\r\n.exam_icon {\r\n /* color: #F8B83D; */\r\n}\r\n\r\n.manage_corporate_icon {\r\n /* color: #F8B83D; */\r\n}\r\n\r\n.manageexam_icon {\r\n\r\n /* color: #2C4AE9; */\r\n}\r\n\r\n.manage_user_icon {\r\n /* color: #50A0DD; */\r\n}\r\n\r\n.manage_content_icon {\r\n /* color: #CF4EFD; */\r\n\r\n}\r\n\r\n.manage_control_icon {\r\n\r\n /* color: #984BD5; */\r\n}\r\n\r\n.profile_icon {\r\n /* color: #6DDD46; */\r\n}\r\n\r\n.sidebar-menu li a:hover .manage_content_icon {\r\n color: white !important;\r\n}\r\n\r\n.sidebar-menu li a:hover .manageexam_icon {\r\n color: white !important;\r\n}\r\n\r\n.sidebar-menu li a:hover .manage_user_icon {\r\n color: white !important;\r\n}\r\n\r\n.sidebar-menu li a:hover .manage_corporate_icon {\r\n color: white !important;\r\n}\r\n\r\n.sidebar-menu li a:hover .manage_control_icon {\r\n color: white !important;\r\n}\r\n\r\n\r\n\r\n\r\n/* user drawer */\r\n.sidebardrawer {\r\n background-color: #fff;\r\n border-right: 1px solid #ddd;\r\n bottom: 0;\r\n left: 0;\r\n margin-top: 0;\r\n position: fixed;\r\n top: 35px;\r\n /* transition: all 0.2s ease-in-out 0s; */\r\n width: 232px;\r\n z-index: 1001;\r\n display: block;\r\n}\r\n\r\n.sidebardrawer.opened {\r\n -webkit-transition: all 0.4s ease;\r\n -moz-transition: all 0.4s ease;\r\n transition: all 0.4s ease;\r\n}\r\n\r\n.sidebardrawer-inner {\r\n height: 100%;\r\n transition: all 0.2s ease-in-out 0s;\r\n}\r\n\r\n.sidebar-menudrawer {\r\n margin-top: 30px;\r\n padding: 0;\r\n}\r\n\r\n.main_drawer .ant-drawer-body {\r\n padding: 45px 0px !important;\r\n}\r\n\r\n.sidebar .sidebar-menudrawer>ul>li>a span.chat-user {\r\n margin-left: 0;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n}\r\n\r\n.sidebar .sidebar-menudrawer>ul>li>a span.badge {\r\n margin-left: auto;\r\n}\r\n\r\n.sidebar-menudrawer ul ul a {\r\n display: flex;\r\n font-size: 14px;\r\n padding: 10px 0px 10px 9.5px;\r\n position: relative;\r\n gap: 10px;\r\n align-items: center;\r\n}\r\n\r\n.sidebar-menudrawer ul ul ul a {\r\n padding-left: 35px;\r\n}\r\n\r\n.sidebar-menudrawer ul ul ul ul a {\r\n padding-left: 45px;\r\n}\r\n\r\n.sidebar-menudrawer>ul>li {\r\n position: relative;\r\n}\r\n\r\n.sidebar-menudrawer .menu-arrow {\r\n -webkit-transition: -webkit-transform 0.15s;\r\n -o-transition: -o-transform 0.15s;\r\n transition: transform .15s;\r\n position: absolute;\r\n right: 10px;\r\n display: inline-block;\r\n font-family: 'FontAwesome';\r\n text-rendering: auto;\r\n line-height: 20px;\r\n font-size: 20px;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n -webkit-transform: translate(0, 0);\r\n -ms-transform: translate(0, 0);\r\n -o-transform: translate(0, 0);\r\n transform: translate(0, 0);\r\n line-height: 18px;\r\n}\r\n\r\n.submenu_drawer ul::after {\r\n content: \"\";\r\n position: absolute;\r\n left: 22px;\r\n top: 8%;\r\n height: 84%;\r\n width: 1px;\r\n opacity: 1;\r\n background-color: transparent;\r\n border-left: 1px dashed var(--primary-color);\r\n}\r\n\r\n\r\n\r\n\r\n.sidebar-menudrawer li a {\r\n color: #333;\r\n display: block;\r\n font-size: 14px;\r\n height: auto;\r\n padding: 0 10px;\r\n text-decoration: none;\r\n line-height: 20px;\r\n border-radius: 8px;\r\n font-weight: 300;\r\n}\r\n\r\n.sidebar-menudrawer li a.subdrop {\r\n color: var(--primary-color);\r\n background-color: var(--sidebar_mnu_bg);\r\n margin-bottom: 0px;\r\n}\r\n\r\n.sidebar-menudrawer li a.subdrop .icon_background {\r\n background-color: transparent;\r\n box-shadow: none;\r\n}\r\n\r\n.sidebar-menudrawer li:has(a.subdrop) ul li {\r\n /* background-color: var(--sidebar_mnu_bg); */\r\n font-size: 14px;\r\n line-height: 16px;\r\n letter-spacing: 0em;\r\n color: #222222;\r\n}\r\n\r\n.sidebar-menudrawer li:has(a.subdrop) ul {\r\n row-gap: 0px\r\n}\r\n\r\n.sidebar-menudrawer li:has(a.subdrop) ul li a.active {\r\n background-color: var(--sidebar_bg);\r\n color: var(--primary-color);\r\n text-decoration: none;\r\n}\r\n\r\n.activeExamLi {\r\n color: var(--primary-color) !important;\r\n background-color: var(--sidebar_bg) !important\r\n}\r\n\r\n.inactiveExamLi {\r\n color: #000 !important;\r\n /* background-color: var(--sidebar_bg) !important */\r\n}\r\n\r\n.sidebar-menudrawer li:has(a.subdrop) ul li a:hover {\r\n color: var(--primary-color) !important;\r\n background-color: transparent;\r\n}\r\n\r\n.sidebar-menudrawer ul ul a .menu-arrow {\r\n top: 3px;\r\n}\r\n\r\n.sidebar-menudrawer a {\r\n line-height: 1.3;\r\n transition: unset;\r\n -moz-transition: unset;\r\n -o-transition: unset;\r\n -ms-transition: unset;\r\n -webkit-transition: unset;\r\n}\r\n\r\n.sidebar-menudrawer>ul>li>a {\r\n padding: 5px 5px;\r\n margin: 4px 14px;\r\n align-items: center;\r\n display: flex;\r\n justify-content: flex-start;\r\n position: relative;\r\n transition: all 0.2s ease-in-out 0s;\r\n}\r\n\r\n.sidebar-menudrawer ul li a i {\r\n display: inline-block;\r\n font-size: 16px;\r\n line-height: 14px;\r\n text-align: left;\r\n vertical-align: middle;\r\n transition: all 0.2s ease-in-out 0s;\r\n}\r\n\r\n.sidebar-menudrawer ul li.menu-title a i {\r\n font-size: 12px !important;\r\n margin-right: 0;\r\n text-align: right;\r\n width: auto;\r\n}\r\n\r\n.sidebar-menudrawer li a:hover .dashborad_icon {\r\n color: white !important;\r\n}\r\n\r\n.sidebar-menudrawer li a:hover .course_icon {\r\n color: white !important;\r\n}\r\n\r\n.sidebar-menudrawer li a:hover .myCourse_icon {\r\n color: white !important;\r\n}\r\n\r\n.sidebar-menudrawer li a:hover .eRes_icon {\r\n color: white !important;\r\n}\r\n\r\n.sidebar-menudrawer li a:hover .exam_icon {\r\n color: white !important;\r\n}\r\n\r\n.sidebar-menudrawer li a:hover .profile_icon {\r\n color: white !important;\r\n}\r\n\r\n.sidebar-menudrawer li a.subdrop .menu-arrow {\r\n -ms-transform: rotate(45deg);\r\n -webkit-transform: rotate(45deg);\r\n -o-transform: rotate(45deg);\r\n transform: rotate(45deg);\r\n}\r\n\r\n.sidebar-menudrawer li.active a {\r\n color: var(--primary-color);\r\n background-color: var(--sidebar_side_mnu_bg);\r\n}\r\n\r\n.sidebar-menudrawer li.active .icon_backgrounddrawer {\r\n background-color: transparent;\r\n box-shadow: none;\r\n}\r\n\r\n.subdrop .icon_backgrounddrawer {\r\n background-color: transparent;\r\n box-shadow: none;\r\n}\r\n\r\n.sidebar-menudrawer li:has(a.subdrop) ul {\r\n row-gap: 0px;\r\n border-radius: 8px;\r\n background-color: var(--sidebar_side_mnu_bg);\r\n margin: 4px 14px;\r\n}\r\n\r\n.sidebar-menudrawer ul {\r\n font-size: 15px;\r\n list-style-type: none;\r\n margin: 0;\r\n padding: 0;\r\n position: relative;\r\n display: flex;\r\n flex-direction: column;\r\n /* row-gap: 5px;\r\n}\r\n\r\n.sidebar {\r\n display: block;\r\n}\r\n\r\n.drawer_main {\r\n display: none;\r\n}\r\n\r\n.sidebar-menudrawer a {\r\n text-decoration: none;\r\n}\r\n\r\n.inaction_menu span {\r\n color: #333;\r\n font-size: 12px;\r\n font-weight: 500;\r\n}\r\n\r\n.submenu_drawer span {\r\n\r\n color: #333;\r\n font-size: 12px;\r\n font-weight: 500;\r\n margin-left: 10px;\r\n\r\n}\r\n\r\n.submenu_name span {\r\n\r\n margin-top: 5px;\r\n margin-left: 10px;\r\n\r\n}\r\n\r\n.menu_name_span {\r\n margin-top: 5px;\r\n margin-left: 10px;\r\n}\r\n\r\n.active span {\r\n /* margin-top: 2px !important;\r\n margin-left: 10px !important; */\r\n}\r\n\r\n.ant-drawer-content-wrapper {\r\n width: 200px !important;\r\n}\r\n\r\n@media only screen and (max-width : 1001px) {\r\n .sidebar {\r\n display: none;\r\n }\r\n\r\n .drawer_main {\r\n display: block;\r\n }\r\n\r\n .ant-drawer-content-wrapper {\r\n width: 100%;\r\n }\r\n\r\n .main_drawer .ant-drawer-body {\r\n padding: 0px 0px !important;\r\n }\r\n\r\n .sidebar-menudrawer {\r\n margin-top: 0px;\r\n padding: 0;\r\n }\r\n\r\n .sidebar-menudrawer li a:hover .exam_icon {\r\n color: #F8B83D !important;\r\n }\r\n\r\n}\r\n\r\n.comp-info-main {\r\n display: none;\r\n position: absolute;\r\n bottom: 0;\r\n font-size: 10px;\r\n text-align: center;\r\n width: 100%;\r\n padding: 10px 0;\r\n user-select: none;\r\n font-weight: 300;\r\n}\r\n"]}
package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ var e=require("react"),t=require("axios"),n=require("@mui/material"),r=require("react-router-dom"),o=require("react-icons/fa");require("react-icons/md"),require("react-icons/io"),require("react-icons/gi"),require("@mui/material/Popover");var a=require("react-icons/ri");require("react-icons/hi2"),require("react-icons/tb"),require("react-icons/io5"),require("react-icons/tfi"),require("react-loader-spinner"),require("antd");var i=require("react-icons/bi");require("react-icons/fa6"),require("react-icons/pi");var u=require("@mui/material/Backdrop"),l=require("@mui/x-data-grid"),s=require("@mui/icons-material/FileDownloadOutlined"),c=require("@mui/icons-material/SearchOutlined"),d=require("react-icons/ai");function m(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("bootstrap/dist/css/bootstrap.css");var f=/*#__PURE__*/m(t),p=/*#__PURE__*/m(u),v=/*#__PURE__*/m(s),g=/*#__PURE__*/m(c);function b(){return b=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},b.apply(null,arguments)}var x=process.env.PUBLIC_URL+"/images/icleaf_logo.png";process;var S=function(){r.useNavigate();var t=e.useState(!1)[1],n=r.useLocation();e.useState(n.pathname),e.useState(""),e.useState("en"),e.useState(!1),e.useState(localStorage.getItem("email")),e.useState(localStorage.getItem("fName")+" "+localStorage.getItem("lName")),localStorage.getItem("roleId"),e.useState(!1),e.useState(!1),e.useState(!1),e.useState(!1),e.useState(!1),e.useState(!1),e.useState(""),e.useState(""),e.useState(""),e.useState(""),e.useState(""),e.useState(""),e.useState(""),e.useState(""),localStorage.getItem("token"),localStorage.getItem("fName"),e.useState(!1),e.useState(""),localStorage.getItem("profileImg"),e.useState(localStorage.getItem("userName")),e.useEffect(function(){localStorage.getItem("consentChkFlg")},[]);var a=function(e){var n=document.querySelector(".user-menu"),r=document.querySelector(".mobile-user-menu"),o=document.querySelector("#mobile_btn");!n||n.contains(e.target)||null!=r&&r.contains(e.target)||null!=o&&o.contains(e.target)||(t(!1),document.body.classList.remove("slide-nav"))};e.useEffect(function(){return window.scrollTo(0,0),document.addEventListener("click",a),function(){document.removeEventListener("click",a)}},[]);var i=e.useState(null)[0];e.useState(null);var u=Boolean(i)?"simple-popover":void 0;return h("div",{className:"header_whole_container"},h("div",{style:{display:"flex",alignItems:"center"}}),h("div",{className:"acc_conf_main",onClick:function(){localStorage.clear(),window.location.reload()}},h(o.FaPowerOff,{tabIndex:0,size:30,"aria-describedby":u,variant:"contained",className:"account-mnu-icon"})))},C=function(){var t=r.useLocation(),n=e.useState(t.pathname)[0],o=e.useState(window.innerWidth<=1001)[1],a=function(){o(window.innerWidth<1001)};return e.useEffect(function(){return window.addEventListener("resize",a),function(){window.removeEventListener("resize",a)}},[]),h("div",{className:"sidebar"},h("div",{className:"header_logo_container"},h("img",{src:x,className:"header_logo_img",alt:"Your Image"})),h("div",{className:"sidebar-inner"},h("div",{id:"sidebar-menu",className:"sidebar-menu"},h("ul",null,h("li",null,h(r.Link,{className:"/Report"===n?"activeExamLi":"inactiveExamLi",to:"/Report"},h("i",{className:"icon_background"},h(i.BiSolidBookContent,{className:"manage_content_icon"})),h("span",null,"Exam Report"))),h("li",null,h(r.Link,{className:"/CourseReport"===n?"activeExamLi":"inactiveExamLi",to:"/CourseReport"},h("i",{className:"icon_background"},h(i.BiSolidBookContent,{className:"manage_content_icon"})),h("span",null,"Course Report"))),h("li",null,h(r.Link,{className:"/examReport"===n?"activeExamLi":"inactiveExamLi",to:"/examReport"},h("i",{className:"icon_background"},h(i.BiSolidBookContent,{className:"manage_content_icon"})),h("span",null,"Exam Questions Report"))),h("li",null,h(r.Link,{className:"/examPackReport"===n?"activeExamLi":"inactiveExamLi",to:"/examPackReport"},h("i",{className:"icon_background"},h(i.BiSolidBookContent,{className:"manage_content_icon"})),h("span",null,"Exam Pack Report")))))),h("div",{className:"comp-info-main"},h("div",null,h("div",null,"Copyright © 2021 ICLeaF. All Rights Reserved"),h("div",null,"Powered by ",h(r.Link,{target:"_blank",to:"https://infocareerindia.com/"},"Infocareer Pvt Ltd.")))))};function y(e,t){try{var n=e()}catch(e){return t(e)}return n&&n.then?n.then(void 0,t):n}function P(e,t){try{var n=e()}catch(e){return t(e)}return n&&n.then?n.then(void 0,t):n}function w(e,t){try{var n=e()}catch(e){return t(e)}return n&&n.then?n.then(void 0,t):n}function k(e,t){try{var n=e()}catch(e){return t(e)}return n&&n.then?n.then(void 0,t):n}function I(e,t){try{var n=e()}catch(e){return t(!0,e)}return n&&n.then?n.then(t.bind(null,!1),t.bind(null,!0)):t(!1,n)}var A=function(){var e=new URLSearchParams(window.location.search);return{tenant:e.get("tenant")||localStorage.getItem("tenant"),token:e.get("token")||localStorage.getItem("token")}},R=function(){localStorage.removeItem("tenant"),localStorage.removeItem("token")},j=function(e,t){void 0===t&&(t={});try{var n=window.ICLOUD_API_BASE_URL||"http://192.168.2.202:8080/icleafreport/api",r=A(),o=r.tenant,a=r.token;if(!o||!a)throw new Error("Missing tenant or token");var i=new URLSearchParams(b({},t,{tenant:o,token:a}));return Promise.resolve(fetch(n+"/"+e+"?"+i)).then(function(e){if(401===e.status)throw R(),new Error("Invalid credentials");var t=e.headers.get("content-type");return t&&t.includes("application/json")?e.json():e})}catch(e){return Promise.reject(e)}};exports.CourseReport=function(){var t=e.useState(localStorage.getItem("token"))[0],o=r.useNavigate(),a=e.useState([]),i=a[0],u=a[1],l=e.useState([]),s=l[0],c=l[1],d=e.useState(null),m=d[0],p=d[1],v=e.useState(null),g=v[0],x=v[1],y=e.useState(["Summary","Daywise"])[0],w=e.useState(null),k=w[0],I=w[1],A=e.useState(""),R=A[0],j=A[1],L=e.useState(!1),E=L[0],N=L[1],B=e.useState(!1),_=B[0],U=B[1],O=process.env.REACT_APP_BASE_URL;e.useEffect(function(){null==t?o("/login"):T()},[]);var T=function(){try{var e=P(function(){return Promise.resolve(f.default({method:"get",url:O+"api/showAllSubjects",headers:{Authorization:"Bearer "+t}})).then(function(e){u(e.data)})},function(e){console.error("Error fetching subjects:",e)});return Promise.resolve(e&&e.then?e.then(function(){}):void 0)}catch(e){return Promise.reject(e)}};return h("div",null,h(S,null),h(C,null),h("div",{style:{padding:"100px 0px 0px 100px",marginLeft:"140px"}},h(n.Box,{sx:{maxWidth:800,mx:"auto",my:4,p:3,backgroundColor:"#f5f5f5",borderRadius:2}},h(n.Paper,{elevation:6,sx:{p:5,textAlign:"center",backgroundColor:"#fff"}},h(n.Typography,{variant:"h4",component:"h1",gutterBottom:!0,sx:{color:"#3f51b5",marginBottom:"20px"}},"Course Report"),h(n.Grid,{container:!0,spacing:2,justifyContent:"center"},h(n.Grid,{item:!0,xs:12,sm:4},h(n.FormControl,{fullWidth:!0},h(n.Autocomplete,{id:"ddlSubject",options:i,getOptionLabel:function(e){return e.subjectName},value:m,onChange:function(e,n){p(n),x(null),c([]),n&&function(e){try{var n=P(function(){return Promise.resolve(f.default({method:"get",params:{subjectId:e},url:O+"api/getCoursesBySubject",headers:{Authorization:"Bearer "+t}})).then(function(e){c(e.data)})},function(e){console.error("Error fetching courses:",e)});return Promise.resolve(n&&n.then?n.then(function(){}):void 0)}catch(e){return Promise.reject(e)}}(n.subjectId)},renderInput:function(e){return h(n.TextField,b({},e,{label:"Subject"}))}}))),h(n.Grid,{item:!0,xs:12,sm:4},h(n.FormControl,{fullWidth:!0},h(n.Autocomplete,{id:"ddlCourse",options:s,getOptionLabel:function(e){return e.courseName},value:g,onChange:function(e,t){x(t)},renderInput:function(e){return h(n.TextField,b({},e,{label:"Course"}))}}))),h(n.Grid,{item:!0,xs:12,sm:4},h(n.FormControl,{fullWidth:!0},h(n.Autocomplete,{id:"ddlReportType",options:y,getOptionLabel:function(e){return e},value:k,onChange:function(e,t){I(t)},renderInput:function(e){return h(n.TextField,b({},e,{label:"Report Type"}))}})))),h(n.Box,{sx:{mt:3,position:"relative"}},h(n.Button,{variant:"contained",color:"primary",onClick:function(){try{N(!0);var e=function(e,n){try{var r=P(function(){var e;return"Summary"===k?e=O+"api/downloadUserCorpCourseExcel?corpCourseId="+g.id:"Daywise"===k&&(e=O+"api/downloadUserCorpCourseExcelDayWise?corpCourseId="+g.id),Promise.resolve(f.default.get(e,{responseType:"blob",headers:{Authorization:"Bearer "+t}})).then(function(e){return Promise.resolve(e.data.text()).then(function(t){if(t.includes("Course not configured"))j("Course not configured."),U(!0);else{var n=new Blob([e.data],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}),r=URL.createObjectURL(n),o=document.createElement("a");o.href=r,o.setAttribute("download","course_report.xlsx"),document.body.appendChild(o),o.click(),o.parentNode.removeChild(o),URL.revokeObjectURL(r)}})})},function(e){console.error("Error downloading course report:",e)})}catch(e){return n(!0,e)}return r&&r.then?r.then(n.bind(null,!1),n.bind(null,!0)):n(!1,r)}(0,function(e,t){if(N(!1),e)throw t;return t});return Promise.resolve(e&&e.then?e.then(function(){}):void 0)}catch(e){return Promise.reject(e)}},disabled:!m||!g||!k||E,sx:{width:"auto",backgroundColor:"#3f51b5","&:hover":{backgroundColor:"#303f9f"}}},E?"Downloading...":"Download Report"),E&&h(n.CircularProgress,{size:24,sx:{position:"absolute",top:"50%",left:"50%",marginTop:"-12px",marginLeft:"-12px"}})))),h(n.Snackbar,{open:_,autoHideDuration:6e3,onClose:function(){return U(!1)},anchorOrigin:{vertical:"top",horizontal:"center"}},h(n.Alert,{onClose:function(){return U(!1)},severity:"info",sx:{width:"100%"}},R))))},exports.ExamPackReport=function(){var t=e.useState(localStorage.getItem("token"))[0],o=r.useNavigate(),a=e.useState([]),i=a[0],u=a[1],s=e.useState([]),c=s[0],d=s[1],m=e.useState(null),x=m[0],y=m[1],P=e.useState(null),w=P[0],A=P[1],R=e.useState(""),j=R[0],L=R[1],E=e.useState(!1),N=E[0],B=E[1],_=e.useState(!1),U=_[0],O=_[1],T=e.useState(null),z=T[0],F=T[1],W=e.useState(null),q=W[0],D=W[1],G=e.useState([]),M=G[0],H=G[1],Q=e.useState(!1),J=Q[0],Y=Q[1],K=e.useState(!1),V=K[0],X=K[1],Z=e.useState(!1),$=Z[0],ee=Z[1],te=e.useState([]),ne=te[0],re=te[1],oe=process.env.REACT_APP_BASE_URL,ae=e.useState(0),ie=ae[0],ue=ae[1],le=e.useState(""),se=le[0],ce=le[1],de=$?M.filter(function(e){var t=se.split(",").map(function(e){return e.trim().toLowerCase()}).filter(function(e){return e.length>0});if(0===t.length)return!0;var n=e.userName.toLowerCase(),r=n.split("@")[0];return t.some(function(e){return e.includes("@")?n===e:r.includes(e)})}):M,he=[{field:"sno",headerName:"S.No",width:60,sortable:!1,renderCell:function(e){return e.api.getAllRowIds().indexOf(e.id)+1}},{field:"batchName",headerName:"Batch Name",width:230},{field:"batchStatus",headerName:"Status",width:170,renderCell:function(e){var t=e.value;return h("span",{style:{color:t?"green":"red",fontWeight:"bold"}},t?"Active":"Inactive")}},{field:"dailyProgressMail",headerName:"Daily Progress Mail",width:130,renderCell:function(e){var t=e.value;return h("span",{style:{color:t?"green":"red",fontWeight:"bold"}},t?"Active":"Inactive")}},{field:"report",headerName:"Report",sortable:!1,width:70,renderCell:function(e){return h(v.default,{onClick:function(){return be(e.row)},fontSize:"small",style:{cursor:"pointer"}})}}],me=[{field:"sno",headerName:"S.No",width:60,sortable:!1,renderCell:function(e){return e.api.getAllRowIds().indexOf(e.id)+1}},{field:"userName",headerName:"User Name",width:280},{field:"userRoleType",headerName:"Role Type",width:200,renderCell:function(e){var t=e.value;return h("span",{style:{color:t?"green":"red",fontWeight:"bold"}},t?"User":"")}},{field:"report",headerName:"Report",sortable:!1,width:70,renderCell:function(e){return h(v.default,{onClick:function(){return xe(e.row)},fontSize:"small",style:{cursor:"pointer"}})}}];e.useEffect(function(){null==t?o("/login"):fe()},[]);var fe=function(){try{var e=k(function(){return Promise.resolve(f.default({method:"get",url:oe+"api/showAllSubjects",headers:{Authorization:"Bearer "+t}})).then(function(e){u(e.data)})},function(e){console.error("Error fetching subjects:",e)});return Promise.resolve(e&&e.then?e.then(function(){}):void 0)}catch(e){return Promise.reject(e)}},pe=function(e,t){var n;if(null!=x&&x.subjectId&&e){var r={"Batch Wise":ve,"User Wise":ge};null==(n=r[t])||n.call(r,e)}},ve=function(){try{B(!0);var e=I(function(){return k(function(){return Promise.resolve(f.default.get(oe+"api/getCorpCourseBatches?subjectId="+x.subjectId+"&corpCourseId="+w.id,{headers:{Authorization:"Bearer "+t}})).then(function(e){200===e.status&&(ee(!1),H(e.data.corpCourseBatches),D(he),Y(!0)),console.log(e.data,"Batch Wise")})},function(e){O(!0),L(e.response.data.error),Y(!1),H([]),D([]),console.error("Error fetching batch-wise data:",e)})},function(e,t){if(B(!1),e)throw t;return t});return Promise.resolve(e&&e.then?e.then(function(){}):void 0)}catch(e){return Promise.reject(e)}},ge=function(){try{B(!0);var e=I(function(){return k(function(){return Promise.resolve(f.default.get(oe+"api/getCorpCourseUsers?subjectId="+x.subjectId+"&corpCourseId="+w.id,{headers:{Authorization:"Bearer "+t}})).then(function(e){200===e.status&&(H(e.data.users),D(me),Y(!0),ee(!0)),console.log(e.data,"User Wise")})},function(e){O(!0),L(e.response.data.error),Y(!1),H([]),D([]),console.error("Error fetching batch-wise data:",e)})},function(e,t){if(B(!1),e)throw t;return t});return Promise.resolve(e&&e.then?e.then(function(){}):void 0)}catch(e){return Promise.reject(e)}},be=function(e){try{B(!0);var n=I(function(){return k(function(){return Promise.resolve(f.default.post(oe+"api/downloadCourseAndBatchWiseReport?subjectId="+x.subjectId+"&corpCourseId="+w.id+"&batchId="+e.id,{},{responseType:"blob",headers:{Authorization:"Bearer "+t}})).then(function(t){return Promise.resolve(t.data.text()).then(function(n){if(n.includes("Course not configured"))L("Course not configured."),O(!0);else{var r=e.batchName+"_Batch_Report.xlsx",o=new Blob([t.data],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}),a=URL.createObjectURL(o),i=document.createElement("a");i.href=a,i.setAttribute("download",r),document.body.appendChild(i),i.click(),i.parentNode.removeChild(i),URL.revokeObjectURL(a)}})})},function(e){O(!0),L(e.response.data.error),console.error("Error downloading course report:",e)})},function(e,t){if(B(!1),e)throw t;return t});return Promise.resolve(n&&n.then?n.then(function(){}):void 0)}catch(e){return Promise.reject(e)}},xe=function(e){try{B(!0);var n=I(function(){return k(function(){return Promise.resolve(f.default.get(oe+"api/downloadExamPackReportByCourse?userId="+e.id+"&corpCourseId="+w.id+"&subjectId="+x.subjectId,{responseType:"blob",headers:{Authorization:"Bearer "+t}})).then(function(t){return Promise.resolve(t.data.text()).then(function(n){if(n.includes("Course not configured"))L("Course not configured."),O(!0);else{var r=e.userName+"_Pack_Report.xlsx",o=new Blob([t.data],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}),a=URL.createObjectURL(o),i=document.createElement("a");i.href=a,i.setAttribute("download",r),document.body.appendChild(i),i.click(),i.parentNode.removeChild(i),URL.revokeObjectURL(a)}})})},function(e){O(!0),L(e.response.data.error),console.error("Error downloading course report:",e)})},function(e,t){if(B(!1),e)throw t;return t});return Promise.resolve(n&&n.then?n.then(function(){}):void 0)}catch(e){return Promise.reject(e)}};return h("div",null,h(S,null),h(C,null),h("div",{style:{padding:"100px 0px 0px 100px",marginLeft:"140px"}},h(n.Box,{sx:{maxWidth:800,mx:"auto",my:4,p:3,backgroundColor:"#f5f5f5",borderRadius:2}},h(n.Paper,{elevation:6,sx:{p:5,textAlign:"center",backgroundColor:"#fff"}},h(n.Typography,{variant:"h4",component:"h1",gutterBottom:!0,sx:{color:"#3f51b5",marginBottom:"20px"}},"Exam Pack Report"),h(n.Grid,{container:!0,spacing:2,justifyContent:"center"},h(n.Grid,{item:!0,xs:12,sm:4},h(n.FormControl,{fullWidth:!0},h(n.Autocomplete,{id:"ddlSubject",options:i,getOptionLabel:function(e){return e.subjectName},value:x,onChange:function(e,n){y(n),A(null),d([]),F(null),Y(!1),H([]),D([]),null!=n&&n.subjectId&&function(e){try{var n=k(function(){return Promise.resolve(f.default({method:"get",params:{subjectId:e},url:oe+"api/getCoursesBySubject",headers:{Authorization:"Bearer "+t}})).then(function(e){d(e.data)})},function(e){console.error("Error fetching courses:",e)});return Promise.resolve(n&&n.then?n.then(function(){}):void 0)}catch(e){return Promise.reject(e)}}(n.subjectId)},renderInput:function(e){return h(n.TextField,b({},e,{label:"Subject"}))}}))),h(n.Grid,{item:!0,xs:12,sm:4},h(n.FormControl,{fullWidth:!0},h(n.Autocomplete,{id:"ddlCourse",options:c,getOptionLabel:function(e){return e.courseName},value:w,onChange:function(e,t){A(t),ue(function(e){return e+1}),pe(null==t?void 0:t.id,null==z?void 0:z.value)},renderInput:function(e){return h(n.TextField,b({},e,{label:"Course"}))}}))),h(n.Grid,{item:!0,xs:12,sm:4},h(n.FormControl,{fullWidth:!0},h(n.Autocomplete,{id:"checkboxes-tags-demo",options:[{value:"Batch Wise",label:"Batch Wise"},{value:"User Wise",label:"User Wise"}],getOptionLabel:function(e){return e.label},value:z,onChange:function(e,t){F(t),ue(function(e){return e+1}),pe(null==w?void 0:w.id,null==t?void 0:t.value)},renderInput:function(e){return h(n.TextField,b({},e,{label:"Report Type"}))}})))),J&&h(Fragment,null,h(n.Box,{sx:{display:"flex",justifyContent:"flex-end",width:"100%",margin:"20px 0px"}},$&&h(n.Button,{variant:"contained",color:"primary",onClick:function(){try{X(!0);var e=M.filter(function(e){return ne.includes(e.id)}).map(function(e){return e.id}),n=I(function(){return k(function(){return Promise.resolve(f.default.post(oe+"api/downloadExamPacksAndUserIdsReport?subjectId="+x.subjectId+"&corpCourseId="+w.id,{userIds:e},{responseType:"blob",headers:{Authorization:"Bearer "+t}})).then(function(e){return Promise.resolve(e.data.text()).then(function(t){if(t.includes("Course not configured"))L("Course not configured."),O(!0);else{var n=new Blob([e.data],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}),r=URL.createObjectURL(n),o=document.createElement("a");o.href=r,o.setAttribute("download","User_Exam_Pack_Report.xlsx"),document.body.appendChild(o),o.click(),o.parentNode.removeChild(o),URL.revokeObjectURL(r)}})})},function(e){O(!0),L(e.response.data.error),console.error("Error downloading course report:",e)})},function(e,t){if(X(!1),e)throw t;return t});return Promise.resolve(n&&n.then?n.then(function(){}):void 0)}catch(e){return Promise.reject(e)}},disabled:ne.length<=1,sx:{width:"auto",backgroundColor:"#3f51b5","&:hover":{backgroundColor:"#303f9f"}}},V?"Downloading...":"Download Report")),h(n.Paper,{sx:{width:"100%"}},h("div",{style:{display:"flex",justifyContent:"end",alignItems:"center",height:"100%",padding:"10px 5px"}},$&&h(n.TextField,{label:"Search",variant:"outlined",size:"small",sx:{mb:2},value:se,onChange:function(e){return ce(e.target.value)},InputProps:{endAdornment:h(n.InputAdornment,{position:"start"},h(g.default,null))}})),h(l.DataGrid,{key:ie,rows:$?de:M,columns:q,initialState:{pagination:{paginationModel:{page:0,pageSize:5}}},pageSizeOptions:[5,10,50,100],checkboxSelection:$,disableRowSelectionOnClick:!0,onRowSelectionModelChange:function(e){re(e)},sx:{border:0,"& .MuiTablePagination-selectLabel":{margin:"unset"},"& .MuiTablePagination-displayedRows":{margin:"unset"}}}))))),h(n.Snackbar,{open:U,autoHideDuration:6e3,onClose:function(){return O(!1)},anchorOrigin:{vertical:"top",horizontal:"center"}},h(n.Alert,{onClose:function(){return O(!1)},severity:"info",sx:{width:"100%"}},j)),h(p.default,{sx:function(e){return{color:"#fff",zIndex:e.zIndex.drawer+1}},open:N||V},h(n.CircularProgress,{color:"inherit"}))))},exports.ExamReport=function(){var t=e.useState(localStorage.getItem("token"))[0],o=r.useNavigate(),a=e.useState([]),i=a[0],u=a[1],l=e.useState([]),s=l[0],c=l[1],d=e.useState([]),m=d[0],p=d[1],v=e.useState([])[1],g=e.useState(null),x=g[0],y=g[1],P=e.useState(null),k=P[0],I=P[1],A=e.useState(null),R=A[0],j=A[1],L=e.useState(null)[1],E=e.useState("")[0],N=e.useState(!1),B=N[0],_=N[1],U=e.useState(!1),O=U[0],T=U[1],z=process.env.REACT_APP_BASE_URL;e.useEffect(function(){null==t?o("/login"):F()},[]);var F=function(){try{var e=w(function(){return Promise.resolve(f.default({method:"get",url:z+"api/showAllSubjects",headers:{Authorization:"Bearer "+t}})).then(function(e){u(e.data)})},function(e){console.error("Error fetching subjects:",e)});return Promise.resolve(e&&e.then?e.then(function(){}):void 0)}catch(e){return Promise.reject(e)}};return h("div",null,h(S,null),h(C,null),h("div",{style:{padding:"100px 0px 0px 100px",marginLeft:"140px"}},h(n.Box,{sx:{maxWidth:800,mx:"auto",my:4,p:3,backgroundColor:"#f5f5f5",borderRadius:2}},h(n.Paper,{elevation:6,sx:{p:5,textAlign:"center",backgroundColor:"#fff"}},h(n.Typography,{variant:"h4",component:"h1",gutterBottom:!0,sx:{color:"#3f51b5",marginBottom:"20px"}},"Exam Questions Report"),h(n.Grid,{container:!0,spacing:2,justifyContent:"center"},h(n.Grid,{item:!0,xs:12,sm:6},h(n.FormControl,{fullWidth:!0},h(n.Autocomplete,{id:"ddlSubject",options:i,getOptionLabel:function(e){return e.subjectName},value:x,onChange:function(e,n){y(n),I(null),j(null),L(null),c([]),p([]),v([]),n&&function(e){try{var n=w(function(){return Promise.resolve(f.default({method:"get",params:{subjectId:e},url:z+"api/getAllExamPacks",headers:{Authorization:"Bearer "+t}})).then(function(e){c(e.data)})},function(e){console.error("Error fetching exam packs:",e)});return Promise.resolve(n&&n.then?n.then(function(){}):void 0)}catch(e){return Promise.reject(e)}}(n.subjectId)},renderInput:function(e){return h(n.TextField,b({},e,{label:"Subject"}))}}))),h(n.Grid,{item:!0,xs:12,sm:6},h(n.FormControl,{fullWidth:!0},h(n.Autocomplete,{id:"ddlExamPack",options:s,getOptionLabel:function(e){return e.name},value:k,onChange:function(e,n){I(n),j(null),L(null),p([]),v([]),n&&function(e){try{var n=w(function(){return Promise.resolve(f.default({method:"get",params:{examPackId:e},url:z+"api/getAllExams",headers:{Authorization:"Bearer "+t}})).then(function(e){p(e.data)})},function(e){console.error("Error fetching exams:",e)});return Promise.resolve(n&&n.then?n.then(function(){}):void 0)}catch(e){return Promise.reject(e)}}(n.id)},renderInput:function(e){return h(n.TextField,b({},e,{label:"Exam Pack"}))}}))),h(n.Grid,{item:!0,xs:12,sm:6},h(n.FormControl,{fullWidth:!0},h(n.Autocomplete,{id:"ddlExam",options:m,getOptionLabel:function(e){return e.examName},value:R,onChange:function(e,n){j(n),L(null),v([]),n&&function(e){try{var n=w(function(){return Promise.resolve(f.default({method:"get",params:{examId:e},url:z+"api/getAllUsers",headers:{Authorization:"Bearer "+t}})).then(function(e){v(e.data)})},function(e){console.error("Error fetching users:",e)});return Promise.resolve(n&&n.then?n.then(function(){}):void 0)}catch(e){return Promise.reject(e)}}(n.id)},renderInput:function(e){return h(n.TextField,b({},e,{label:"Exam"}))}})))),h(n.Box,{sx:{mt:3,position:"relative"}},h(n.Box,{sx:{mt:2,position:"relative"}},h(n.Button,{variant:"contained",color:"primary",onClick:function(){try{T(!0);var e=function(e,n){try{var r=w(function(){return Promise.resolve(f.default.get(z+"api/generateReportForExam?subjectId="+x.subjectId+"&examPackId="+k.id+"&examId="+R.id,{responseType:"blob",headers:{Authorization:"Bearer "+t}})).then(function(e){var t=new Blob([e.data],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}),n=URL.createObjectURL(t),r=document.createElement("a");r.href=n,r.setAttribute("download","QuestionewiseExamReport.xlsx"),document.body.appendChild(r),r.click(),r.parentNode.removeChild(r),URL.revokeObjectURL(n)})},function(e){console.error("Error downloading report:",e)})}catch(e){return n(!0,e)}return r&&r.then?r.then(n.bind(null,!1),n.bind(null,!0)):n(!1,r)}(0,function(e,t){if(T(!1),e)throw t;return t});return Promise.resolve(e&&e.then?e.then(function(){}):void 0)}catch(e){return Promise.reject(e)}},disabled:!x||!k||!R||O,sx:{width:"auto",backgroundColor:"#3f51b5","&:hover":{backgroundColor:"#303f9f"}}},O?"Downloading...":"Download Report"),O&&h(n.CircularProgress,{size:24,sx:{position:"absolute",top:"50%",left:"50%",marginTop:"-12px",marginLeft:"-12px"}}))))),h(n.Snackbar,{open:B,autoHideDuration:6e3,onClose:function(){return _(!1)},anchorOrigin:{vertical:"top",horizontal:"center"}},h(n.Alert,{onClose:function(){return _(!1)},severity:"info",sx:{width:"100%"}},E))))},exports.Login=function(){var t=e.useState(""),o=t[0],i=t[1],u=e.useState(""),l=u[0],s=u[1],c=e.useState(!1),m=c[0],f=c[1],p=e.useState(""),v=p[0],g=p[1],b=e.useState(!1),x=b[0],S=b[1],C=e.useState(!1),y=C[0],P=C[1],w=r.useNavigate();e.useEffect(function(){var e=A(),t=e.tenant,n=e.token;t&&n&&(i(t),s(n),k(t,n))},[]);var k=function(e,t){try{P(!0);var n=function(n,r){try{var o=function(n,r){try{var o=Promise.resolve(j("showAllSubjects")).then(function(){localStorage.setItem("tenant",e),localStorage.setItem("token",t),w("/report")})}catch(e){return r()}return o&&o.then?o.then(void 0,r):o}(0,function(){g("Invalid tenant or token"),S(!0),R()})}catch(e){return r(!0,e)}return o&&o.then?o.then(r.bind(null,!1),r.bind(null,!0)):r(!1,o)}(0,function(e,t){if(P(!1),e)throw t;return t});return Promise.resolve(n&&n.then?n.then(function(){}):void 0)}catch(e){return Promise.reject(e)}},I=function(){f(!m)};return h(Fragment,null,h("div",{className:"row page_container"},h("div",{className:"col-6 login_container1"},h("img",{className:"login_img",src:youngMan})),h("div",{className:"col-6 login_container2_bg"},h("div",{className:"login_form_container"},h("div",{className:"logo_container"},h("img",{className:"logo_img",src:logo,alt:"Login logo Image"})),h("text",{className:"welcome_text"},"Access Reports"),h("form",{onSubmit:function(e){if(e.preventDefault(),!o||!l)return g("Please enter both tenant name and token"),void S(!0);k(o,l)}},h("label",{className:"login_label"},"Tenant Name"),h("div",{className:"input_contanier"},h("div",{className:"input_icons"},h(a.RiMailLine,null)),h("input",{type:"text",className:"input_box",placeholder:"Enter tenant name",value:o,onChange:function(e){return i(e.target.value)},disabled:y})),h("label",{className:"login_label"},"Access Token"),h("div",{className:"input_contanier"},h("div",{className:"input_icons"},h(a.RiLockLine,null)),h("input",{type:m?"text":"password",className:"input_box",placeholder:"Enter your access token",value:l,onChange:function(e){return s(e.target.value)},disabled:y}),m?h(d.AiOutlineEye,{onClick:I,className:"eye-icon_login"}):h(d.AiOutlineEyeInvisible,{onClick:I,className:"eye-icon_login"})),h("div",{className:"login_btn_container"},h(n.Button,{variant:"contained",style:{width:"100%",marginTop:"15px",padding:"10px"},type:"submit",disabled:y},y?"Authenticating...":"Access Reports"))))),h(n.Snackbar,{open:x,autoHideDuration:6e3,onClose:function(){return S(!1)},anchorOrigin:{vertical:"top",horizontal:"center"}},h(n.Alert,{onClose:function(){return S(!1)},severity:"error",sx:{width:"30%"}},v))))},exports.Report=function(){var t=e.useState(localStorage.getItem("token"))[0],o=r.useNavigate(),a=e.useState([]),i=a[0],u=a[1],l=e.useState([]),s=l[0],c=l[1],d=e.useState([]),m=d[0],p=d[1],v=e.useState([]),g=v[0],x=v[1],P=e.useState(null),w=P[0],k=P[1],I=e.useState(null),A=I[0],R=I[1],j=e.useState(null),L=j[0],E=j[1],N=e.useState(null),B=N[0],_=N[1],U=e.useState("")[0],O=e.useState(!1),T=O[0],z=O[1],F=e.useState(!1),W=F[0],q=F[1],D=e.useState(!1),G=D[0],M=D[1],H=process.env.REACT_APP_BASE_URL;e.useEffect(function(){null==t?o("/login"):Q()},[]);var Q=function(){try{var e=y(function(){return Promise.resolve(f.default({method:"get",url:H+"api/showAllSubjects",headers:{Authorization:"Bearer "+t}})).then(function(e){u(e.data)})},function(e){console.error("Error fetching subjects:",e)});return Promise.resolve(e&&e.then?e.then(function(){}):void 0)}catch(e){return Promise.reject(e)}};return h("div",null,h(S,null),h(C,null),h("div",{style:{padding:"100px 0px 0px 100px",marginLeft:"140px"}},h(n.Box,{sx:{maxWidth:800,mx:"auto",my:4,p:3,backgroundColor:"#f5f5f5",borderRadius:2}},h(n.Paper,{elevation:6,sx:{p:5,textAlign:"center",backgroundColor:"#fff"}},h(n.Typography,{variant:"h4",component:"h1",gutterBottom:!0,sx:{color:"#3f51b5",marginBottom:"20px"}},"Exam Report"),h(n.Grid,{container:!0,spacing:2,justifyContent:"center"},h(n.Grid,{item:!0,xs:12,sm:6},h(n.FormControl,{fullWidth:!0},h(n.Autocomplete,{id:"ddlSubject",options:i,getOptionLabel:function(e){return e.subjectName},value:w,onChange:function(e,n){k(n),R(null),E(null),_(null),c([]),p([]),x([]),n&&function(e){try{var n=y(function(){return Promise.resolve(f.default({method:"get",params:{subjectId:e},url:H+"api/getAllExamPacks",headers:{Authorization:"Bearer "+t}})).then(function(e){c(e.data)})},function(e){console.error("Error fetching exam packs:",e)});return Promise.resolve(n&&n.then?n.then(function(){}):void 0)}catch(e){return Promise.reject(e)}}(n.subjectId)},renderInput:function(e){return h(n.TextField,b({},e,{label:"Subject"}))}}))),h(n.Grid,{item:!0,xs:12,sm:6},h(n.FormControl,{fullWidth:!0},h(n.Autocomplete,{id:"ddlExamPack",options:s,getOptionLabel:function(e){return e.name},value:A,onChange:function(e,n){R(n),E(null),_(null),p([]),x([]),n&&function(e){try{var n=y(function(){return Promise.resolve(f.default({method:"get",params:{examPackId:e},url:H+"api/getAllExams",headers:{Authorization:"Bearer "+t}})).then(function(e){p(e.data)})},function(e){console.error("Error fetching exams:",e)});return Promise.resolve(n&&n.then?n.then(function(){}):void 0)}catch(e){return Promise.reject(e)}}(n.id)},renderInput:function(e){return h(n.TextField,b({},e,{label:"Exam Pack"}))}}))),h(n.Grid,{item:!0,xs:12,sm:6},h(n.FormControl,{fullWidth:!0},h(n.Autocomplete,{id:"ddlExam",options:m,getOptionLabel:function(e){return e.examName},value:L,onChange:function(e,n){E(n),_(null),x([]),n&&function(e){try{var n=y(function(){return Promise.resolve(f.default({method:"get",params:{examId:e},url:H+"api/getAllUsers",headers:{Authorization:"Bearer "+t}})).then(function(e){x(e.data)})},function(e){console.error("Error fetching users:",e)});return Promise.resolve(n&&n.then?n.then(function(){}):void 0)}catch(e){return Promise.reject(e)}}(n.id)},renderInput:function(e){return h(n.TextField,b({},e,{label:"Exam"}))}}))),h(n.Grid,{item:!0,xs:12,sm:6},h(n.FormControl,{fullWidth:!0},h(n.Autocomplete,{id:"ddlUser",options:g,getOptionLabel:function(e){return e.userName},value:B,onChange:function(e,t){_(t)},renderInput:function(e){return h(n.TextField,b({},e,{label:"User"}))}})))),h(n.Box,{sx:{mt:3,position:"relative"}},h(n.FormControlLabel,{control:h(n.Checkbox,{checked:G,onChange:function(e){return M(e.target.checked)}}),label:"Only Wrong Answers"}),h(n.Box,{sx:{mt:2,position:"relative"}},h(n.Button,{variant:"contained",color:"primary",onClick:function(){try{q(!0);var e=function(e,n){try{var r=y(function(){return Promise.resolve(f.default.get(H+"api/generateReportForSingleUser?subjectId="+w.subjectId+"&examPackId="+A.id+"&examId="+L.id+"&userId="+B.id+"&wrongAnswerFlag="+G,{responseType:"blob",headers:{Authorization:"Bearer "+t}})).then(function(e){var t=new Blob([e.data],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}),n=URL.createObjectURL(t),r=document.createElement("a");r.href=n,r.setAttribute("download","Report.xlsx"),document.body.appendChild(r),r.click(),r.parentNode.removeChild(r),URL.revokeObjectURL(n)})},function(e){console.error("Error downloading report:",e)})}catch(e){return n(!0,e)}return r&&r.then?r.then(n.bind(null,!1),n.bind(null,!0)):n(!1,r)}(0,function(e,t){if(q(!1),e)throw t;return t});return Promise.resolve(e&&e.then?e.then(function(){}):void 0)}catch(e){return Promise.reject(e)}},disabled:!w||!A||!L||!B||W,sx:{width:"auto",backgroundColor:"#3f51b5","&:hover":{backgroundColor:"#303f9f"}}},W?"Downloading...":"Download Report"),W&&h(n.CircularProgress,{size:24,sx:{position:"absolute",top:"50%",left:"50%",marginTop:"-12px",marginLeft:"-12px"}}))))),h(n.Snackbar,{open:T,autoHideDuration:6e3,onClose:function(){return z(!1)},anchorOrigin:{vertical:"top",horizontal:"center"}},h(n.Alert,{onClose:function(){return z(!1)},severity:"info",sx:{width:"100%"}},U))))},exports.apiDownload=function(e,t){void 0===t&&(t={});try{var n=window.ICLOUD_API_BASE_URL||"http://192.168.2.202:8080/icleafreport/api",r=A(),o=new URLSearchParams(b({},t,{tenant:r.tenant,token:r.token}));return Promise.resolve(fetch(n+"/"+e+"?"+o)).then(function(e){return e.blob()})}catch(e){return Promise.reject(e)}},exports.apiGet=j,exports.apiPost=function(e,t,n){void 0===n&&(n={});try{var r=window.ICLOUD_API_BASE_URL||"http://192.168.2.202:8080/icleafreport/api",o=A(),a=new URLSearchParams(b({},n,{tenant:o.tenant,token:o.token}));return Promise.resolve(fetch(r+"/"+e+"?"+a,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})).then(function(e){return e.json()})}catch(e){return Promise.reject(e)}},exports.clearAuth=R,exports.configureApi=function(e){window.ICLOUD_API_BASE_URL=e},exports.getAuthParams=A;
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/components/imagePathUrl.jsx","../src/components/Header.jsx","../src/components/sidebar.jsx","../src/Reports/Report.jsx","../src/Reports/CourseReport.jsx","../src/Reports/ExamReport.jsx","../src/Reports/ExamPackReport.jsx","../src/package.js","../src/Login.jsx"],"sourcesContent":["export default \"https://groupnpay.com/iccloud\";\r\nexport const elearnImagePathUrlPrefix = \"https://groupnpay.com/iccloud/qhubresources/elearn\";\r\n// export const commonImagePathUrlPrefix = \"http://64.227.170.125:8080/iccloud\";\r\n// export const elearnImagePathUrlPrefix = \"http://64.227.170.125:8080/iccloud/qhubresources/elearn\";\r\n// export const commonImagePathUrlPrefix = \"http://139.59.64.128:8080/iccloud\";\r\n// export const elearnImagePathUrlPrefix = \"http://139.59.64.128:8080/iccloud/qhubresources/elearn\";\r\n// export const commonImagePathUrlPrefix = \"http://192.168.3.155:8080/icleaf\";\r\n// export const elearnImagePathUrlPrefix = \"http://192.168.3.155:8080/icleaf/qhubresources/elearn\";\r\nexport const logo = process.env.PUBLIC_URL + '/images/icleaf_logo.png';\r\nexport const youngMan = process.env.PUBLIC_URL + '/images/young-man-studying-library-using-laptop-1.png';\r\nexport const baseName = \"/icleaf/#\"\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport { FaPowerOff } from \"react-icons/fa\";\r\nimport { MdFiberManualRecord, MdLogout, MdOutlineLockReset } from \"react-icons/md\";\r\nimport { IoIosList, IoIosSettings } from \"react-icons/io\";\r\nimport { GiHamburgerMenu } from \"react-icons/gi\";\r\nimport Popover from '@mui/material/Popover';\r\nimport { Link, useLocation } from 'react-router-dom';\r\n// import \"./Header.css\"\r\nimport { MdKeyboardArrowDown, MdAssignment } from \"react-icons/md\";\r\nimport { RiHome5Fill, RiLogoutCircleRLine, RiMenuFoldLine } from \"react-icons/ri\";\r\nimport { HiBookmarkSquare, HiOutlineUser } from \"react-icons/hi2\";\r\nimport { TbDeviceMobileFilled } from \"react-icons/tb\";\r\nimport { IoBookOutline, IoCalendar, IoCalendarOutline, IoCartOutline, IoLanguage, IoLibraryOutline, IoLogOutOutline, IoPencilOutline, IoPersonCircleOutline, IoPersonOutline, IoSettingsOutline, IoShuffle, IoShuffleOutline } from \"react-icons/io5\";\r\nimport { TfiMenuAlt } from \"react-icons/tfi\";\r\nimport { RotatingLines } from 'react-loader-spinner';\r\nimport { Drawer } from 'antd'; // Import Drawer from antd\r\nimport './Header.css';\r\nimport { BiSolidBookContent, BiSolidUserPin } from \"react-icons/bi\";\r\nimport { FaCheck, FaCircleInfo } from \"react-icons/fa6\";\r\nimport { PiExamFill, PiShuffleAngularBold } from \"react-icons/pi\";\r\nimport { RiRedPacketLine } from \"react-icons/ri\";\r\nimport { MdMenuBook, MdKeyboardArrowRight, MdCorporateFare } from \"react-icons/md\";\r\nimport { IoGameControllerSharp } from \"react-icons/io5\";\r\nimport commonImagePathUrlPrefix, { logo } from './imagePathUrl';\r\n\r\nconst Header = () => {\r\n const navigate = useNavigate()\r\n const [show, setShow] = useState(false);\r\n const location = useLocation();\r\n const [activeMenuItem, setActiveMenuItem] = useState(location.pathname);\r\n const [isSideMenu, setSideMenu] = useState(\"\");\r\n const [userChooseLan, setUserChooseLan] = useState(\"en\")\r\n\r\n const [drawerVisible, setDrawerVisible] = useState(false);\r\n const [userEmail] = useState(localStorage.getItem(\"email\"));\r\n const [userName] = useState(localStorage.getItem(\"fName\") + \" \" + localStorage.getItem(\"lName\"))\r\n const roleId = localStorage.getItem(\"roleId\")\r\n const [manageContentSubMenuOpen, setManageContentSubMenuOpen] = useState(false);\r\n const [manageExamSubMenuOpen, setManageExamSubMenuOpen] = useState(false);\r\n const [managePackSubMenuOpen, setManagePackSubMenuOpen] = useState(false);\r\n const [manageUserSubMenuOpen, setManageUserSubMenuOpen] = useState(false);\r\n const [manageCorporateSubMenuOpen, setManageCorporateSubMenuOpen] = useState(false);\r\n const [manageControlSubMenuOpen, setManageControlSubMenuOpen] = useState(false);\r\n\r\n const [usernames, setUserNames] = useState(\"\");\r\n const [userimg, setUserImg] = useState(\"\");\r\n const [availableCredit, setAvailableCredit] = useState(\"\");\r\n const [buyCredit, setbuyCredit] = useState(\"\");\r\n const [storageB, setStroageB] = useState(\"\");\r\n const [storagelimit, setStorageLimit] = useState(\"\");\r\n const [buy, setbuy] = useState('')\r\n const [totalbuy, settotalbuy] = useState('')\r\n\r\n\r\n const token = localStorage.getItem(\"token\");\r\n const headers = {\r\n Authorization: `Bearer ${token}`,\r\n };\r\n const name = localStorage.getItem(\"fName\")\r\n const [showAlert, setShowAlert] = useState(false);\r\n const [alertMessage, setAlertMessage] = useState('');\r\n const userImage = localStorage.getItem(\"profileImg\");\r\n const [userNameEvaluator] = useState(localStorage.getItem(\"userName\"));\r\n\r\n useEffect(() => {\r\n if (localStorage.getItem(\"consentChkFlg\") === \"false\") {\r\n // navigate(\"/myProfile\")\r\n } else {\r\n // setShowAlert(false);\r\n }\r\n }, []);\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n const handlesidebar = () => {\r\n if (window.innerWidth < 1001) {\r\n // If the screen width is less than 800px, toggle the drawer visibility\r\n setDrawerVisible(!drawerVisible);\r\n } else {\r\n // If the screen width is 800px or more, toggle the 'mini-sidebar' class\r\n document.body.classList.toggle('mini-sidebar');\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n const handleOutsideClick = (e) => {\r\n const dropdownMenu = document.querySelector(\".user-menu\");\r\n const mobileDropdownMenu = document.querySelector(\".mobile-user-menu\");\r\n const mobileSideMenu = document.querySelector(\"#mobile_btn\");\r\n\r\n if (\r\n dropdownMenu &&\r\n !dropdownMenu.contains(e.target) &&\r\n !mobileDropdownMenu?.contains(e.target) &&\r\n !mobileSideMenu?.contains(e.target)\r\n ) {\r\n setShow(false);\r\n // setMobileshow(false);\r\n // setShow1(false);\r\n document.body.classList.remove(\"slide-nav\");\r\n }\r\n };\r\n // useEffect(() => {\r\n\r\n // }, []);\r\n useEffect(() => {\r\n window.scrollTo(0, 0);\r\n document.addEventListener(\"click\", handleOutsideClick);\r\n\r\n return () => {\r\n document.removeEventListener(\"click\", handleOutsideClick);\r\n };\r\n }, []);\r\n\r\n const [anchorEl, setAnchorEl] = useState(null);\r\n const [anchorLang, setAnchorLang] = useState(null);\r\n\r\n const handleClick = (event) => {\r\n setAnchorEl(event.currentTarget);\r\n };\r\n\r\n const handleClose = () => {\r\n setAnchorEl(null);\r\n };\r\n\r\n\r\n const handleLangClick = (event) => {\r\n setAnchorLang(event.currentTarget);\r\n };\r\n\r\n const handleLangClose = () => {\r\n setAnchorLang(null);\r\n };\r\n\r\n const open = Boolean(anchorEl);\r\n const open1 = Boolean(anchorLang);\r\n const id = open ? 'simple-popover' : undefined;\r\n const lang_id = open1 ? 'lang-simple-popover' : undefined;\r\n\r\n\r\n\r\n const handleChange = (value) => {\r\n window.location.reload()\r\n\r\n setUserChooseLan(value);\r\n };\r\n\r\n const handleLogout = () => {\r\n localStorage.clear(); // Clear all local storage\r\n // navigate('/login'); // Navigate to login page\r\n window.location.reload();\r\n };\r\n\r\n\r\n return (\r\n <div className='header_whole_container'>\r\n <div style={{ display: \"flex\", alignItems: \"center\" }}>\r\n {/* <div>\r\n <RiMenuFoldLine\r\n cursor=\"pointer\"\r\n onClick={handlesidebar}\r\n size={30}\r\n className='header1-toggle-icon'\r\n tabIndex={0}\r\n onKeyDown={(event) => {\r\n if (event.key === 'Enter') {\r\n handlesidebar()\r\n }\r\n }}\r\n />\r\n </div> */}\r\n </div>\r\n <div className='acc_conf_main' onClick={handleLogout}>\r\n <FaPowerOff tabIndex={0}\r\n size={30} aria-describedby={id} variant=\"contained\" className=\"account-mnu-icon\" />\r\n </div>\r\n {/* <button onClick={handleLogout}>\r\n Logout</button> */}\r\n </div>\r\n );\r\n};\r\n\r\nexport default Header;","import React, { useEffect, useState } from 'react';\r\nimport { Link, useLocation } from 'react-router-dom';\r\nimport { BiSolidBookContent } from \"react-icons/bi\";\r\nimport { logo } from './imagePathUrl';\r\nimport \"./sidebar.css\";\r\n\r\nconst Sidebar = () => {\r\n const location = useLocation();\r\n const [activeMenuItem, setActiveMenuItem] = useState(location.pathname);\r\n const [drawerVisible, setDrawerVisible] = useState(window.innerWidth <= 1001);\r\n\r\n const handleResize = () => {\r\n setDrawerVisible(window.innerWidth < 1001);\r\n };\r\n\r\n useEffect(() => {\r\n window.addEventListener('resize', handleResize);\r\n return () => {\r\n window.removeEventListener('resize', handleResize);\r\n };\r\n }, []);\r\n\r\n const handleDrawerClose = () => {\r\n setDrawerVisible(false);\r\n };\r\n\r\n return (\r\n <div className={`sidebar`}>\r\n <div className='header_logo_container'>\r\n <img src={logo} className='header_logo_img' alt=\"Your Image\" />\r\n </div>\r\n <div className=\"sidebar-inner\">\r\n <div id=\"sidebar-menu\" className=\"sidebar-menu\">\r\n <ul>\r\n <li>\r\n <Link className={activeMenuItem === \"/Report\" ? \"activeExamLi\" : \"inactiveExamLi\"} to=\"/Report\">\r\n <i className='icon_background'>\r\n <BiSolidBookContent className=\"manage_content_icon\" />\r\n </i>\r\n <span>Exam Report</span>\r\n </Link>\r\n </li>\r\n <li>\r\n <Link className={activeMenuItem === \"/CourseReport\" ? \"activeExamLi\" : \"inactiveExamLi\"} to=\"/CourseReport\">\r\n <i className='icon_background'>\r\n <BiSolidBookContent className=\"manage_content_icon\" />\r\n </i>\r\n <span>Course Report</span>\r\n </Link>\r\n </li>\r\n <li>\r\n <Link className={activeMenuItem === \"/examReport\" ? \"activeExamLi\" : \"inactiveExamLi\"} to=\"/examReport\">\r\n <i className='icon_background'>\r\n <BiSolidBookContent className=\"manage_content_icon\" />\r\n </i>\r\n <span>Exam Questions Report</span>\r\n </Link>\r\n </li>\r\n <li>\r\n <Link className={activeMenuItem === \"/examPackReport\" ? \"activeExamLi\" : \"inactiveExamLi\"} to=\"/examPackReport\">\r\n <i className='icon_background'>\r\n <BiSolidBookContent className=\"manage_content_icon\" />\r\n </i>\r\n <span>Exam Pack Report</span>\r\n </Link>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <div className='comp-info-main'>\r\n <div>\r\n <div>Copyright © 2021 ICLeaF. All Rights Reserved</div>\r\n <div>Powered by <Link target='_blank' to='https://infocareerindia.com/'>Infocareer Pvt Ltd.</Link></div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default Sidebar;\r\n","import React, { useState, useEffect } from 'react';\r\nimport axios from 'axios';\r\nimport { Autocomplete, FormControl, Button, Grid, Box, Typography, Paper, Snackbar, Alert, CircularProgress, TextField, Checkbox, FormControlLabel } from '@mui/material';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport Header from '../components/Header';\r\nimport Sidebar from '../components/sidebar';\r\n// import '../App.css';\r\n\r\nfunction Report() {\r\n const [token, setToken] = useState(localStorage.getItem(\"token\"));\r\n const navigate = useNavigate();\r\n const [subjects, setSubjects] = useState([]);\r\n const [examPacks, setExamPacks] = useState([]);\r\n const [exams, setExams] = useState([]);\r\n const [users, setUsers] = useState([]);\r\n const [selectedSubject, setSelectedSubject] = useState(null);\r\n const [selectedExamPack, setSelectedExamPack] = useState(null);\r\n const [selectedExam, setSelectedExam] = useState(null);\r\n const [selectedUser, setSelectedUser] = useState(null);\r\n const [alertMessage, setAlertMessage] = useState('');\r\n const [openAlert, setOpenAlert] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [onlyWrongAnswers, setOnlyWrongAnswers] = useState(false);\r\n\r\n const baseURL = process.env.REACT_APP_BASE_URL;\r\n\r\n useEffect(() => {\r\n if (token == null) {\r\n navigate(\"/login\")\r\n } else {\r\n fetchAllSubjects();\r\n }\r\n }, []);\r\n\r\n const fetchAllSubjects = async () => {\r\n try {\r\n const response = await axios({\r\n method: \"get\",\r\n url: `${baseURL}api/showAllSubjects`,\r\n headers: { Authorization: `Bearer ${token}` },\r\n });\r\n setSubjects(response.data);\r\n } catch (error) {\r\n console.error('Error fetching subjects:', error);\r\n }\r\n };\r\n\r\n const fetchExamPacks = async (subjectId) => {\r\n try {\r\n const response = await axios({\r\n method: \"get\",\r\n params: { subjectId },\r\n url: `${baseURL}api/getAllExamPacks`,\r\n headers: { Authorization: `Bearer ${token}` },\r\n });\r\n setExamPacks(response.data);\r\n } catch (error) {\r\n console.error('Error fetching exam packs:', error);\r\n }\r\n };\r\n\r\n const fetchExams = async (examPackId) => {\r\n try {\r\n const response = await axios({\r\n method: \"get\",\r\n params: { examPackId },\r\n url: `${baseURL}api/getAllExams`,\r\n headers: { Authorization: `Bearer ${token}` },\r\n });\r\n setExams(response.data);\r\n } catch (error) {\r\n console.error('Error fetching exams:', error);\r\n }\r\n };\r\n\r\n const fetchUsers = async (examId) => {\r\n try {\r\n const response = await axios({\r\n method: \"get\",\r\n params: { examId },\r\n url: `${baseURL}api/getAllUsers`,\r\n headers: { Authorization: `Bearer ${token}` },\r\n });\r\n setUsers(response.data);\r\n } catch (error) {\r\n console.error('Error fetching users:', error);\r\n }\r\n };\r\n\r\n const handleSubjectChange = (event, newValue) => {\r\n setSelectedSubject(newValue);\r\n setSelectedExamPack(null);\r\n setSelectedExam(null);\r\n setSelectedUser(null);\r\n setExamPacks([]);\r\n setExams([]);\r\n setUsers([]);\r\n if (newValue) {\r\n fetchExamPacks(newValue.subjectId);\r\n }\r\n };\r\n\r\n const handleExamPackChange = (event, newValue) => {\r\n setSelectedExamPack(newValue);\r\n setSelectedExam(null);\r\n setSelectedUser(null);\r\n setExams([]);\r\n setUsers([]);\r\n if (newValue) {\r\n fetchExams(newValue.id);\r\n }\r\n };\r\n\r\n const handleExamChange = (event, newValue) => {\r\n setSelectedExam(newValue);\r\n setSelectedUser(null);\r\n setUsers([]);\r\n if (newValue) {\r\n fetchUsers(newValue.id);\r\n }\r\n };\r\n\r\n const handleUserChange = (event, newValue) => {\r\n setSelectedUser(newValue);\r\n };\r\n\r\n const handleDownload = async () => {\r\n setLoading(true);\r\n try {\r\n const url = `${baseURL}api/generateReportForSingleUser?subjectId=${selectedSubject.subjectId}&examPackId=${selectedExamPack.id}&examId=${selectedExam.id}&userId=${selectedUser.id}&wrongAnswerFlag=${onlyWrongAnswers}`;\r\n const response = await axios.get(url, {\r\n responseType: 'blob',\r\n headers: {\r\n Authorization: `Bearer ${token}`\r\n }\r\n });\r\n\r\n const blob = new Blob([response.data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\r\n const blobUrl = URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n link.href = blobUrl;\r\n link.setAttribute('download', 'Report.xlsx');\r\n document.body.appendChild(link);\r\n link.click();\r\n link.parentNode.removeChild(link);\r\n URL.revokeObjectURL(blobUrl);\r\n } catch (error) {\r\n console.error('Error downloading report:', error);\r\n } finally {\r\n setLoading(false);\r\n }\r\n };\r\n\r\n return (\r\n <div>\r\n <Header />\r\n <Sidebar />\r\n <div style={{ padding: \"100px 0px 0px 100px\", marginLeft: \"140px\" }}>\r\n <Box sx={{ maxWidth: 800, mx: 'auto', my: 4, p: 3, backgroundColor: '#f5f5f5', borderRadius: 2 }}>\r\n <Paper elevation={6} sx={{ p: 5, textAlign: 'center', backgroundColor: '#fff' }}>\r\n <Typography variant=\"h4\" component=\"h1\" gutterBottom sx={{ color: '#3f51b5', marginBottom: \"20px\" }}>\r\n Exam Report\r\n </Typography>\r\n <Grid container spacing={2} justifyContent=\"center\">\r\n <Grid item xs={12} sm={6}>\r\n <FormControl fullWidth>\r\n <Autocomplete\r\n id=\"ddlSubject\"\r\n options={subjects}\r\n getOptionLabel={(option) => option.subjectName}\r\n value={selectedSubject}\r\n onChange={handleSubjectChange}\r\n renderInput={(params) => <TextField {...params} label=\"Subject\" />}\r\n />\r\n </FormControl>\r\n </Grid>\r\n\r\n <Grid item xs={12} sm={6}>\r\n <FormControl fullWidth>\r\n <Autocomplete\r\n id=\"ddlExamPack\"\r\n options={examPacks}\r\n getOptionLabel={(option) => option.name}\r\n value={selectedExamPack}\r\n onChange={handleExamPackChange}\r\n renderInput={(params) => <TextField {...params} label=\"Exam Pack\" />}\r\n />\r\n </FormControl>\r\n </Grid>\r\n\r\n <Grid item xs={12} sm={6}>\r\n <FormControl fullWidth>\r\n <Autocomplete\r\n id=\"ddlExam\"\r\n options={exams}\r\n getOptionLabel={(option) => option.examName}\r\n value={selectedExam}\r\n onChange={handleExamChange}\r\n renderInput={(params) => <TextField {...params} label=\"Exam\" />}\r\n />\r\n </FormControl>\r\n </Grid>\r\n\r\n <Grid item xs={12} sm={6}>\r\n <FormControl fullWidth>\r\n <Autocomplete\r\n id=\"ddlUser\"\r\n options={users}\r\n getOptionLabel={(option) => option.userName}\r\n value={selectedUser}\r\n onChange={handleUserChange}\r\n renderInput={(params) => <TextField {...params} label=\"User\" />}\r\n />\r\n </FormControl>\r\n </Grid>\r\n </Grid>\r\n\r\n <Box sx={{ mt: 3, position: 'relative' }}>\r\n <FormControlLabel\r\n control={\r\n <Checkbox\r\n checked={onlyWrongAnswers}\r\n onChange={(e) => setOnlyWrongAnswers(e.target.checked)}\r\n />\r\n }\r\n label=\"Only Wrong Answers\"\r\n />\r\n <Box sx={{ mt: 2, position: 'relative' }}>\r\n <Button\r\n variant=\"contained\"\r\n color=\"primary\"\r\n onClick={handleDownload}\r\n disabled={!selectedSubject || !selectedExamPack || !selectedExam || !selectedUser || loading}\r\n sx={{ width: 'auto', backgroundColor: '#3f51b5', '&:hover': { backgroundColor: '#303f9f' } }}\r\n >\r\n {loading ? 'Downloading...' : 'Download Report'}\r\n </Button>\r\n {loading && (\r\n <CircularProgress\r\n size={24}\r\n sx={{\r\n position: 'absolute',\r\n top: '50%',\r\n left: '50%',\r\n marginTop: '-12px',\r\n marginLeft: '-12px',\r\n }}\r\n />\r\n )}\r\n </Box>\r\n </Box>\r\n </Paper>\r\n </Box>\r\n\r\n <Snackbar\r\n open={openAlert}\r\n autoHideDuration={6000}\r\n onClose={() => setOpenAlert(false)}\r\n anchorOrigin={{ vertical: 'top', horizontal: 'center' }}\r\n >\r\n <Alert onClose={() => setOpenAlert(false)} severity=\"info\" sx={{ width: '100%' }}>\r\n {alertMessage}\r\n </Alert>\r\n </Snackbar>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nexport default Report;\r\n","import React, { useState, useEffect } from 'react';\r\nimport axios from 'axios';\r\nimport { Autocomplete, FormControl, Button, Grid, Box, Typography, Paper, Snackbar, Alert, CircularProgress, TextField } from '@mui/material';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport Header from '../components/Header';\r\nimport Sidebar from '../components/sidebar';\r\n// import '../App.css';\r\n\r\nfunction CourseReport() {\r\n const [token, setToken] = useState(localStorage.getItem(\"token\"));\r\n const navigate = useNavigate();\r\n const [subjects, setSubjects] = useState([]);\r\n const [courses, setCourses] = useState([]);\r\n const [selectedSubject, setSelectedSubject] = useState(null);\r\n const [selectedCourse, setSelectedCourse] = useState(null);\r\n const [reportTypes] = useState(['Summary', 'Daywise']);\r\n const [selectedReportType, setSelectedReportType] = useState(null);\r\n const [alertMessage, setAlertMessage] = useState('');\r\n const [loading, setLoading] = useState(false);\r\n const [alertOpen, setAlertOpen] = useState(false);\r\n\r\n const baseURL = process.env.REACT_APP_BASE_URL\r\n\r\n useEffect(() => {\r\n if (token == null) {\r\n navigate(\"/login\");\r\n } else {\r\n fetchAllSubjects();\r\n }\r\n }, []);\r\n\r\n const fetchAllSubjects = async () => {\r\n try {\r\n const response = await axios({\r\n method: \"get\",\r\n url: `${baseURL}api/showAllSubjects`,\r\n headers: { Authorization: `Bearer ${token}` },\r\n });\r\n setSubjects(response.data);\r\n } catch (error) {\r\n console.error('Error fetching subjects:', error);\r\n }\r\n };\r\n\r\n const fetchCourses = async (subjectId) => {\r\n try {\r\n const response = await axios({\r\n method: \"get\",\r\n params: { subjectId },\r\n url: `${baseURL}api/getCoursesBySubject`,\r\n headers: { Authorization: `Bearer ${token}` },\r\n });\r\n setCourses(response.data);\r\n } catch (error) {\r\n console.error('Error fetching courses:', error);\r\n }\r\n };\r\n\r\n const handleSubjectChange = (event, newValue) => {\r\n setSelectedSubject(newValue);\r\n setSelectedCourse(null);\r\n setCourses([]);\r\n if (newValue) {\r\n fetchCourses(newValue.subjectId);\r\n }\r\n };\r\n\r\n const handleCourseChange = (event, newValue) => {\r\n setSelectedCourse(newValue);\r\n };\r\n\r\n const handleReportTypeChange = (event, newValue) => {\r\n setSelectedReportType(newValue);\r\n };\r\n\r\n const handleDownload = async () => {\r\n setLoading(true);\r\n try {\r\n let url;\r\n if (selectedReportType === 'Summary') {\r\n url = `${baseURL}api/downloadUserCorpCourseExcel?corpCourseId=${selectedCourse.id}`;\r\n } else if (selectedReportType === 'Daywise') {\r\n url = `${baseURL}api/downloadUserCorpCourseExcelDayWise?corpCourseId=${selectedCourse.id}`;\r\n }\r\n\r\n const response = await axios.get(url, {\r\n responseType: 'blob',\r\n headers: {\r\n Authorization: `Bearer ${token}`\r\n }\r\n });\r\n const contentDisposition = response.headers['content-disposition'];\r\n const text = await response.data.text();\r\n if (text.includes('Course not configured')) {\r\n setAlertMessage('Course not configured.');\r\n setAlertOpen(true);\r\n } else {\r\n const filename = 'course_report.xlsx';\r\n const blob = new Blob([response.data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\r\n const blobUrl = URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n link.href = blobUrl;\r\n link.setAttribute('download', filename);\r\n document.body.appendChild(link);\r\n link.click();\r\n link.parentNode.removeChild(link);\r\n URL.revokeObjectURL(blobUrl);\r\n }\r\n } catch (error) {\r\n console.error('Error downloading course report:', error);\r\n } finally {\r\n setLoading(false);\r\n }\r\n };\r\n\r\n\r\n return (\r\n <div>\r\n <Header />\r\n <Sidebar />\r\n <div style={{ padding: \"100px 0px 0px 100px\", marginLeft: \"140px\" }}>\r\n <Box sx={{ maxWidth: 800, mx: 'auto', my: 4, p: 3, backgroundColor: '#f5f5f5', borderRadius: 2 }}>\r\n <Paper elevation={6} sx={{ p: 5, textAlign: 'center', backgroundColor: '#fff' }}>\r\n <Typography variant=\"h4\" component=\"h1\" gutterBottom sx={{ color: '#3f51b5', marginBottom: \"20px\" }}>\r\n Course Report\r\n </Typography>\r\n <Grid container spacing={2} justifyContent=\"center\">\r\n <Grid item xs={12} sm={4}>\r\n <FormControl fullWidth>\r\n <Autocomplete\r\n id=\"ddlSubject\"\r\n options={subjects}\r\n getOptionLabel={(option) => option.subjectName}\r\n value={selectedSubject}\r\n onChange={handleSubjectChange}\r\n renderInput={(params) => <TextField {...params} label=\"Subject\" />}\r\n />\r\n </FormControl>\r\n </Grid>\r\n\r\n <Grid item xs={12} sm={4}>\r\n <FormControl fullWidth>\r\n <Autocomplete\r\n id=\"ddlCourse\"\r\n options={courses}\r\n getOptionLabel={(option) => option.courseName}\r\n value={selectedCourse}\r\n onChange={handleCourseChange}\r\n renderInput={(params) => <TextField {...params} label=\"Course\" />}\r\n />\r\n </FormControl>\r\n </Grid>\r\n\r\n <Grid item xs={12} sm={4}>\r\n <FormControl fullWidth>\r\n <Autocomplete\r\n id=\"ddlReportType\"\r\n options={reportTypes}\r\n getOptionLabel={(option) => option}\r\n value={selectedReportType}\r\n onChange={handleReportTypeChange}\r\n renderInput={(params) => <TextField {...params} label=\"Report Type\" />}\r\n />\r\n </FormControl>\r\n </Grid>\r\n </Grid>\r\n\r\n <Box sx={{ mt: 3, position: 'relative' }}>\r\n <Button\r\n variant=\"contained\"\r\n color=\"primary\"\r\n onClick={handleDownload}\r\n disabled={!selectedSubject || !selectedCourse || !selectedReportType || loading}\r\n sx={{ width: 'auto', backgroundColor: '#3f51b5', '&:hover': { backgroundColor: '#303f9f' } }}\r\n >\r\n {loading ? 'Downloading...' : 'Download Report'}\r\n </Button>\r\n {loading && (\r\n <CircularProgress\r\n size={24}\r\n sx={{\r\n position: 'absolute',\r\n top: '50%',\r\n left: '50%',\r\n marginTop: '-12px',\r\n marginLeft: '-12px',\r\n }}\r\n />\r\n )}\r\n </Box>\r\n </Paper>\r\n </Box>\r\n\r\n <Snackbar\r\n open={alertOpen}\r\n autoHideDuration={6000}\r\n onClose={() => setAlertOpen(false)}\r\n anchorOrigin={{ vertical: 'top', horizontal: 'center' }}\r\n >\r\n <Alert onClose={() => setAlertOpen(false)} severity=\"info\" sx={{ width: '100%' }}>\r\n {alertMessage}\r\n </Alert>\r\n </Snackbar>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nexport default CourseReport;\r\n","import React, { useState, useEffect } from 'react';\r\nimport axios from 'axios';\r\nimport { Autocomplete, FormControl, Button, Grid, Box, Typography, Paper, Snackbar, Alert, CircularProgress, TextField, Checkbox, FormControlLabel } from '@mui/material';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport Header from '../components/Header';\r\nimport Sidebar from '../components/sidebar';\r\n// import '../App.css';\r\n\r\nfunction ExamReport() {\r\n const [token, setToken] = useState(localStorage.getItem(\"token\"));\r\n const navigate = useNavigate();\r\n const [subjects, setSubjects] = useState([]);\r\n const [examPacks, setExamPacks] = useState([]);\r\n const [exams, setExams] = useState([]);\r\n const [users, setUsers] = useState([]);\r\n const [selectedSubject, setSelectedSubject] = useState(null);\r\n const [selectedExamPack, setSelectedExamPack] = useState(null);\r\n const [selectedExam, setSelectedExam] = useState(null);\r\n const [selectedUser, setSelectedUser] = useState(null);\r\n const [alertMessage, setAlertMessage] = useState('');\r\n const [openAlert, setOpenAlert] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n\r\n const baseURL = process.env.REACT_APP_BASE_URL;\r\n\r\n useEffect(() => {\r\n if (token == null) {\r\n navigate(\"/login\")\r\n } else {\r\n fetchAllSubjects();\r\n }\r\n }, []);\r\n\r\n const fetchAllSubjects = async () => {\r\n try {\r\n const response = await axios({\r\n method: \"get\",\r\n url: `${baseURL}api/showAllSubjects`,\r\n headers: { Authorization: `Bearer ${token}` },\r\n });\r\n setSubjects(response.data);\r\n } catch (error) {\r\n console.error('Error fetching subjects:', error);\r\n }\r\n };\r\n\r\n const fetchExamPacks = async (subjectId) => {\r\n try {\r\n const response = await axios({\r\n method: \"get\",\r\n params: { subjectId },\r\n url: `${baseURL}api/getAllExamPacks`,\r\n headers: { Authorization: `Bearer ${token}` },\r\n });\r\n setExamPacks(response.data);\r\n } catch (error) {\r\n console.error('Error fetching exam packs:', error);\r\n }\r\n };\r\n\r\n const fetchExams = async (examPackId) => {\r\n try {\r\n const response = await axios({\r\n method: \"get\",\r\n params: { examPackId },\r\n url: `${baseURL}api/getAllExams`,\r\n headers: { Authorization: `Bearer ${token}` },\r\n });\r\n setExams(response.data);\r\n } catch (error) {\r\n console.error('Error fetching exams:', error);\r\n }\r\n };\r\n\r\n const fetchUsers = async (examId) => {\r\n try {\r\n const response = await axios({\r\n method: \"get\",\r\n params: { examId },\r\n url: `${baseURL}api/getAllUsers`,\r\n headers: { Authorization: `Bearer ${token}` },\r\n });\r\n setUsers(response.data);\r\n } catch (error) {\r\n console.error('Error fetching users:', error);\r\n }\r\n };\r\n\r\n const handleSubjectChange = (event, newValue) => {\r\n setSelectedSubject(newValue);\r\n setSelectedExamPack(null);\r\n setSelectedExam(null);\r\n setSelectedUser(null);\r\n setExamPacks([]);\r\n setExams([]);\r\n setUsers([]);\r\n if (newValue) {\r\n fetchExamPacks(newValue.subjectId);\r\n }\r\n };\r\n\r\n const handleExamPackChange = (event, newValue) => {\r\n setSelectedExamPack(newValue);\r\n setSelectedExam(null);\r\n setSelectedUser(null);\r\n setExams([]);\r\n setUsers([]);\r\n if (newValue) {\r\n fetchExams(newValue.id);\r\n }\r\n };\r\n\r\n const handleExamChange = (event, newValue) => {\r\n setSelectedExam(newValue);\r\n setSelectedUser(null);\r\n setUsers([]);\r\n if (newValue) {\r\n fetchUsers(newValue.id);\r\n }\r\n };\r\n\r\n const handleUserChange = (event, newValue) => {\r\n setSelectedUser(newValue);\r\n };\r\n\r\n const handleDownload = async () => {\r\n setLoading(true);\r\n try {\r\n const url = `${baseURL}api/generateReportForExam?subjectId=${selectedSubject.subjectId}&examPackId=${selectedExamPack.id}&examId=${selectedExam.id}`;\r\n const response = await axios.get(url, {\r\n responseType: 'blob',\r\n headers: {\r\n Authorization: `Bearer ${token}`\r\n }\r\n });\r\n\r\n const blob = new Blob([response.data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\r\n const blobUrl = URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n link.href = blobUrl;\r\n link.setAttribute('download', 'QuestionewiseExamReport.xlsx');\r\n document.body.appendChild(link);\r\n link.click();\r\n link.parentNode.removeChild(link);\r\n URL.revokeObjectURL(blobUrl);\r\n } catch (error) {\r\n console.error('Error downloading report:', error);\r\n } finally {\r\n setLoading(false);\r\n }\r\n };\r\n\r\n return (\r\n <div>\r\n <Header />\r\n <Sidebar />\r\n <div style={{ padding: \"100px 0px 0px 100px\", marginLeft: \"140px\" }}>\r\n <Box sx={{ maxWidth: 800, mx: 'auto', my: 4, p: 3, backgroundColor: '#f5f5f5', borderRadius: 2 }}>\r\n <Paper elevation={6} sx={{ p: 5, textAlign: 'center', backgroundColor: '#fff' }}>\r\n <Typography variant=\"h4\" component=\"h1\" gutterBottom sx={{ color: '#3f51b5', marginBottom: \"20px\" }}>\r\n Exam Questions Report\r\n </Typography>\r\n <Grid container spacing={2} justifyContent=\"center\">\r\n <Grid item xs={12} sm={6}>\r\n <FormControl fullWidth>\r\n <Autocomplete\r\n id=\"ddlSubject\"\r\n options={subjects}\r\n getOptionLabel={(option) => option.subjectName}\r\n value={selectedSubject}\r\n onChange={handleSubjectChange}\r\n renderInput={(params) => <TextField {...params} label=\"Subject\" />}\r\n />\r\n </FormControl>\r\n </Grid>\r\n\r\n <Grid item xs={12} sm={6}>\r\n <FormControl fullWidth>\r\n <Autocomplete\r\n id=\"ddlExamPack\"\r\n options={examPacks}\r\n getOptionLabel={(option) => option.name}\r\n value={selectedExamPack}\r\n onChange={handleExamPackChange}\r\n renderInput={(params) => <TextField {...params} label=\"Exam Pack\" />}\r\n />\r\n </FormControl>\r\n </Grid>\r\n\r\n <Grid item xs={12} sm={6}>\r\n <FormControl fullWidth>\r\n <Autocomplete\r\n id=\"ddlExam\"\r\n options={exams}\r\n getOptionLabel={(option) => option.examName}\r\n value={selectedExam}\r\n onChange={handleExamChange}\r\n renderInput={(params) => <TextField {...params} label=\"Exam\" />}\r\n />\r\n </FormControl>\r\n </Grid>\r\n\r\n {/* <Grid item xs={12} sm={6}>\r\n <FormControl fullWidth>\r\n <Autocomplete\r\n id=\"ddlUser\"\r\n options={users}\r\n getOptionLabel={(option) => option.userName}\r\n value={selectedUser}\r\n onChange={handleUserChange}\r\n renderInput={(params) => <TextField {...params} label=\"User\" />}\r\n />\r\n </FormControl>\r\n </Grid> */}\r\n </Grid>\r\n\r\n <Box sx={{ mt: 3, position: 'relative' }}>\r\n {/* <FormControlLabel\r\n control={\r\n <Checkbox\r\n checked={onlyWrongAnswers}\r\n onChange={(e) => setOnlyWrongAnswers(e.target.checked)}\r\n />\r\n }\r\n label=\"Only Wrong Answers\"\r\n /> */}\r\n <Box sx={{ mt: 2, position: 'relative' }}>\r\n <Button\r\n variant=\"contained\"\r\n color=\"primary\"\r\n onClick={handleDownload}\r\n disabled={!selectedSubject || !selectedExamPack || !selectedExam || loading}\r\n sx={{ width: 'auto', backgroundColor: '#3f51b5', '&:hover': { backgroundColor: '#303f9f' } }}\r\n >\r\n {loading ? 'Downloading...' : 'Download Report'}\r\n </Button>\r\n {loading && (\r\n <CircularProgress\r\n size={24}\r\n sx={{\r\n position: 'absolute',\r\n top: '50%',\r\n left: '50%',\r\n marginTop: '-12px',\r\n marginLeft: '-12px',\r\n }}\r\n />\r\n )}\r\n </Box>\r\n </Box>\r\n </Paper>\r\n </Box>\r\n\r\n <Snackbar\r\n open={openAlert}\r\n autoHideDuration={6000}\r\n onClose={() => setOpenAlert(false)}\r\n anchorOrigin={{ vertical: 'top', horizontal: 'center' }}\r\n >\r\n <Alert onClose={() => setOpenAlert(false)} severity=\"info\" sx={{ width: '100%' }}>\r\n {alertMessage}\r\n </Alert>\r\n </Snackbar>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nexport default ExamReport;\r\n","import React, { useState, useEffect, useRef } from 'react';\r\nimport axios from 'axios';\r\nimport { Autocomplete, FormControl, Button, Grid, Box, Typography, Paper, Snackbar, Alert, CircularProgress, TextField, Checkbox, InputAdornment } from '@mui/material';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport Header from '../components/Header';\r\nimport Sidebar from '../components/sidebar';\r\n// import '../App.css';\r\nimport Backdrop from '@mui/material/Backdrop';\r\nimport { DataGrid } from '@mui/x-data-grid';\r\nimport FileDownloadOutlinedIcon from '@mui/icons-material/FileDownloadOutlined';\r\nimport SearchOutlinedIcon from '@mui/icons-material/SearchOutlined';\r\n\r\nfunction ExamPackReport() {\r\n const [token] = useState(localStorage.getItem(\"token\"));\r\n const navigate = useNavigate();\r\n const [subjects, setSubjects] = useState([]);\r\n const [courses, setCourses] = useState([]);\r\n const [selectedSubject, setSelectedSubject] = useState(null);\r\n const [selectedCourse, setSelectedCourse] = useState(null);\r\n const [alertMessage, setAlertMessage] = useState('');\r\n const [loading, setLoading] = useState(false);\r\n const [alertOpen, setAlertOpen] = useState(false);\r\n\r\n const reportType = [\r\n {\r\n value: \"Batch Wise\",\r\n label: \"Batch Wise\",\r\n },\r\n {\r\n value: \"User Wise\",\r\n label: \"User Wise\"\r\n }\r\n ]\r\n\r\n const [selectedReportType, setSelectedReportType] = useState(null)\r\n const [columns, setColumns] = useState(null)\r\n const [rows, setRows] = useState([])\r\n const [tableShow, setTableShow] = useState(false);\r\n\r\n const [multiLoading, setMultiLoading] = useState(false)\r\n const [userSelect, setUserSelect] = useState(false)\r\n\r\n const [selectedUserList, setSelectedUserList] = useState([])\r\n const baseURL = process.env.REACT_APP_BASE_URL\r\n\r\n const [tableKey, setTableKey] = useState(0);\r\n const [searchQuery, setSearchQuery] = useState(\"\");\r\n\r\n const filteredRows = userSelect\r\n ? rows.filter((row) => {\r\n const searchTerms = searchQuery\r\n .split(',')\r\n .map(term => term.trim().toLowerCase())\r\n .filter(term => term.length > 0);\r\n\r\n if (searchTerms.length === 0) return true;\r\n\r\n const email = row.userName.toLowerCase();\r\n const localPart = email.split('@')[0];\r\n\r\n return searchTerms.some(term => {\r\n if (term.includes('@')) {\r\n // Exact full email match\r\n return email === term;\r\n } else {\r\n // Match with the part before @\r\n return localPart.includes(term);\r\n }\r\n });\r\n })\r\n : rows;\r\n\r\n const batchListColumns = [\r\n {\r\n field: 'sno',\r\n headerName: 'S.No',\r\n width: 60,\r\n sortable: false,\r\n renderCell: (params) => params.api.getAllRowIds().indexOf(params.id) + 1,\r\n },\r\n { field: 'batchName', headerName: 'Batch Name', width: 230 },\r\n {\r\n field: 'batchStatus',\r\n headerName: 'Status',\r\n width: 170,\r\n renderCell: (params) => {\r\n const isActive = params.value; // Assuming it's a boolean (true/false)\r\n return (\r\n <span style={{\r\n color: isActive ? 'green' : 'red',\r\n fontWeight: 'bold'\r\n }}>\r\n {isActive ? 'Active' : 'Inactive'}\r\n </span>\r\n );\r\n },\r\n },\r\n {\r\n field: 'dailyProgressMail',\r\n headerName: 'Daily Progress Mail',\r\n width: 130,\r\n renderCell: (params) => {\r\n const isActive = params.value;\r\n return (\r\n <span style={{\r\n color: isActive ? 'green' : 'red',\r\n fontWeight: 'bold'\r\n }}>\r\n {isActive ? 'Active' : 'Inactive'}\r\n </span>\r\n );\r\n },\r\n },\r\n {\r\n field: \"report\",\r\n headerName: \"Report\",\r\n sortable: false,\r\n width: 70,\r\n renderCell: (params) =>\r\n <FileDownloadOutlinedIcon\r\n onClick={() => handleDownloadBatchReport(params.row)}\r\n fontSize=\"small\"\r\n style={{ cursor: \"pointer\" }}\r\n />\r\n },\r\n ];\r\n\r\n const userListColumns = [\r\n {\r\n field: 'sno',\r\n headerName: 'S.No',\r\n width: 60,\r\n sortable: false,\r\n renderCell: (params) => params.api.getAllRowIds().indexOf(params.id) + 1,\r\n },\r\n { field: 'userName', headerName: 'User Name', width: 280 },\r\n {\r\n field: 'userRoleType',\r\n headerName: 'Role Type',\r\n width: 200,\r\n renderCell: (params) => {\r\n const isActive = params.value;\r\n return (\r\n <span style={{\r\n color: isActive ? 'green' : 'red',\r\n fontWeight: 'bold'\r\n }}>\r\n {isActive ? 'User' : ''}\r\n </span>\r\n );\r\n },\r\n },\r\n {\r\n field: \"report\",\r\n headerName: \"Report\",\r\n sortable: false,\r\n width: 70,\r\n renderCell: (params) =>\r\n <FileDownloadOutlinedIcon\r\n onClick={() => handleDownloadSingleUserReport(params.row)}\r\n fontSize=\"small\"\r\n style={{ cursor: \"pointer\" }}\r\n />\r\n },\r\n ];\r\n\r\n useEffect(() => {\r\n if (token == null) {\r\n navigate(\"/login\");\r\n } else {\r\n fetchAllSubjects();\r\n }\r\n }, []);\r\n\r\n const fetchAllSubjects = async () => {\r\n try {\r\n const response = await axios({\r\n method: \"get\",\r\n url: `${baseURL}api/showAllSubjects`,\r\n headers: { Authorization: `Bearer ${token}` },\r\n });\r\n setSubjects(response.data);\r\n } catch (error) {\r\n console.error('Error fetching subjects:', error);\r\n }\r\n };\r\n\r\n const fetchCourses = async (subjectId) => {\r\n try {\r\n const response = await axios({\r\n method: \"get\",\r\n params: { subjectId },\r\n url: `${baseURL}api/getCoursesBySubject`,\r\n headers: { Authorization: `Bearer ${token}` },\r\n });\r\n setCourses(response.data);\r\n } catch (error) {\r\n console.error('Error fetching courses:', error);\r\n }\r\n };\r\n\r\n const handleSubjectChange = (event, newValue) => {\r\n setSelectedSubject(newValue);\r\n setSelectedCourse(null);\r\n setCourses([]);\r\n setSelectedReportType(null)\r\n setTableShow(false)\r\n setRows([])\r\n setColumns([])\r\n\r\n if (newValue?.subjectId) {\r\n fetchCourses(newValue.subjectId);\r\n\r\n }\r\n };\r\n\r\n const handleCourseChange = (event, newValue) => {\r\n setSelectedCourse(newValue);\r\n setTableKey((prevKey) => prevKey + 1);\r\n fetchReportData(newValue?.id, selectedReportType?.value);\r\n };\r\n\r\n const handleReportTypeChange = (event, newValue) => {\r\n setSelectedReportType(newValue);\r\n setTableKey((prevKey) => prevKey + 1);\r\n fetchReportData(selectedCourse?.id, newValue?.value);\r\n };\r\n\r\n const fetchReportData = (courseId, reportType) => {\r\n if (!selectedSubject?.subjectId || !courseId) return;\r\n\r\n const apiMap = {\r\n \"Batch Wise\": getBatchWiseList,\r\n \"User Wise\": getUserWiseList\r\n };\r\n\r\n apiMap[reportType]?.(courseId);\r\n };\r\n\r\n const getBatchWiseList = async () => {\r\n setLoading(true)\r\n try {\r\n const response = await axios.get(\r\n `${baseURL}api/getCorpCourseBatches?subjectId=${selectedSubject.subjectId}&corpCourseId=${selectedCourse.id}`,\r\n { headers: { Authorization: `Bearer ${token}` } }\r\n );\r\n\r\n if (response.status === 200) {\r\n setUserSelect(false)\r\n setRows(response.data.corpCourseBatches)\r\n setColumns(batchListColumns)\r\n setTableShow(true)\r\n }\r\n console.log(response.data, \"Batch Wise\");\r\n } catch (error) {\r\n setAlertOpen(true)\r\n setAlertMessage(error.response.data.error)\r\n setTableShow(false)\r\n setRows([])\r\n setColumns([])\r\n console.error(\"Error fetching batch-wise data:\", error);\r\n } finally {\r\n setLoading(false)\r\n }\r\n };\r\n\r\n const getUserWiseList = async () => {\r\n setLoading(true)\r\n try {\r\n const response = await axios.get(\r\n `${baseURL}api/getCorpCourseUsers?subjectId=${selectedSubject.subjectId}&corpCourseId=${selectedCourse.id}`,\r\n { headers: { Authorization: `Bearer ${token}` } }\r\n );\r\n\r\n if (response.status === 200) {\r\n setRows(response.data.users)\r\n setColumns(userListColumns)\r\n setTableShow(true)\r\n setUserSelect(true)\r\n }\r\n console.log(response.data, \"User Wise\");\r\n } catch (error) {\r\n setAlertOpen(true)\r\n setAlertMessage(error.response.data.error)\r\n setTableShow(false)\r\n setRows([])\r\n setColumns([])\r\n console.error(\"Error fetching batch-wise data:\", error);\r\n } finally {\r\n setLoading(false)\r\n }\r\n };\r\n\r\n const handleRowSelection = (newSelection) => {\r\n setSelectedUserList(newSelection);\r\n };\r\n\r\n const handleDownloadBatchReport = async (item) => {\r\n setLoading(true)\r\n try {\r\n let url;\r\n url = `${baseURL}api/downloadCourseAndBatchWiseReport?subjectId=${selectedSubject.subjectId}&corpCourseId=${selectedCourse.id}&batchId=${item.id}`\r\n\r\n const response = await axios.post(url, {}, {\r\n responseType: 'blob',\r\n headers: {\r\n Authorization: `Bearer ${token}`\r\n }\r\n });\r\n const text = await response.data.text();\r\n if (text.includes('Course not configured')) {\r\n setAlertMessage('Course not configured.');\r\n setAlertOpen(true);\r\n } else {\r\n const filename = `${item.batchName}_Batch_Report.xlsx`;\r\n const blob = new Blob([response.data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\r\n const blobUrl = URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n link.href = blobUrl;\r\n link.setAttribute('download', filename);\r\n document.body.appendChild(link);\r\n link.click();\r\n link.parentNode.removeChild(link);\r\n URL.revokeObjectURL(blobUrl);\r\n }\r\n } catch (error) {\r\n setAlertOpen(true)\r\n setAlertMessage(error.response.data.error)\r\n console.error('Error downloading course report:', error);\r\n } finally {\r\n setLoading(false)\r\n }\r\n }\r\n\r\n const handleDownloadSingleUserReport = async (item) => {\r\n setLoading(true)\r\n try {\r\n let url;\r\n url = `${baseURL}api/downloadExamPackReportByCourse?userId=${item.id}&corpCourseId=${selectedCourse.id}&subjectId=${selectedSubject.subjectId}`\r\n\r\n const response = await axios.get(url, {\r\n responseType: 'blob',\r\n headers: {\r\n Authorization: `Bearer ${token}`\r\n }\r\n });\r\n const text = await response.data.text();\r\n if (text.includes('Course not configured')) {\r\n setAlertMessage('Course not configured.');\r\n setAlertOpen(true);\r\n } else {\r\n const filename = `${item.userName}_Pack_Report.xlsx`;\r\n const blob = new Blob([response.data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\r\n const blobUrl = URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n link.href = blobUrl;\r\n link.setAttribute('download', filename);\r\n document.body.appendChild(link);\r\n link.click();\r\n link.parentNode.removeChild(link);\r\n URL.revokeObjectURL(blobUrl);\r\n }\r\n } catch (error) {\r\n setAlertOpen(true)\r\n setAlertMessage(error.response.data.error)\r\n console.error('Error downloading course report:', error);\r\n } finally {\r\n setLoading(false)\r\n }\r\n }\r\n\r\n const handleSummeryDownload = async () => {\r\n setMultiLoading(true)\r\n const selectedRowIds = rows\r\n .filter(row => selectedUserList.includes(row.id))\r\n .map(row => row.id);\r\n try {\r\n let url;\r\n url = `${baseURL}api/downloadExamPacksAndUserIdsReport?subjectId=${selectedSubject.subjectId}&corpCourseId=${selectedCourse.id}`\r\n const response = await axios.post(url, {\r\n userIds: selectedRowIds,\r\n }, {\r\n responseType: 'blob',\r\n headers: {\r\n Authorization: `Bearer ${token}`\r\n }\r\n });\r\n const text = await response.data.text();\r\n if (text.includes('Course not configured')) {\r\n setAlertMessage('Course not configured.');\r\n setAlertOpen(true);\r\n } else {\r\n const filename = 'User_Exam_Pack_Report.xlsx';\r\n const blob = new Blob([response.data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\r\n const blobUrl = URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n link.href = blobUrl;\r\n link.setAttribute('download', filename);\r\n document.body.appendChild(link);\r\n link.click();\r\n link.parentNode.removeChild(link);\r\n URL.revokeObjectURL(blobUrl);\r\n }\r\n } catch (error) {\r\n setAlertOpen(true)\r\n setAlertMessage(error.response.data.error)\r\n console.error('Error downloading course report:', error);\r\n } finally {\r\n setMultiLoading(false)\r\n }\r\n }\r\n\r\n const paginationModel = { page: 0, pageSize: 5 };\r\n\r\n return (\r\n <div>\r\n <Header />\r\n <Sidebar />\r\n <div style={{ padding: \"100px 0px 0px 100px\", marginLeft: \"140px\" }}>\r\n <Box sx={{ maxWidth: 800, mx: 'auto', my: 4, p: 3, backgroundColor: '#f5f5f5', borderRadius: 2 }}>\r\n <Paper elevation={6} sx={{ p: 5, textAlign: 'center', backgroundColor: '#fff' }}>\r\n <Typography variant=\"h4\" component=\"h1\" gutterBottom sx={{ color: '#3f51b5', marginBottom: \"20px\" }}>\r\n Exam Pack Report\r\n </Typography>\r\n <Grid container spacing={2} justifyContent=\"center\">\r\n <Grid item xs={12} sm={4}>\r\n <FormControl fullWidth>\r\n <Autocomplete\r\n id=\"ddlSubject\"\r\n options={subjects}\r\n getOptionLabel={(option) => option.subjectName}\r\n value={selectedSubject}\r\n onChange={handleSubjectChange}\r\n renderInput={(params) => <TextField {...params} label=\"Subject\" />}\r\n />\r\n </FormControl>\r\n </Grid>\r\n\r\n <Grid item xs={12} sm={4}>\r\n <FormControl fullWidth>\r\n <Autocomplete\r\n id=\"ddlCourse\"\r\n options={courses}\r\n getOptionLabel={(option) => option.courseName}\r\n value={selectedCourse}\r\n onChange={handleCourseChange}\r\n renderInput={(params) => <TextField {...params} label=\"Course\" />}\r\n />\r\n </FormControl>\r\n </Grid>\r\n\r\n <Grid item xs={12} sm={4}>\r\n <FormControl fullWidth>\r\n <Autocomplete\r\n id=\"checkboxes-tags-demo\"\r\n options={reportType}\r\n getOptionLabel={(option) => option.label}\r\n value={selectedReportType}\r\n onChange={handleReportTypeChange}\r\n renderInput={(params) => (\r\n <TextField {...params} label=\"Report Type\" />\r\n )}\r\n />\r\n </FormControl>\r\n </Grid>\r\n\r\n\r\n </Grid>\r\n\r\n {tableShow &&\r\n <>\r\n <Box sx={{ display: \"flex\", justifyContent: \"flex-end\", width: \"100%\", margin: \"20px 0px\" }}>\r\n {userSelect &&\r\n <Button\r\n variant=\"contained\"\r\n color=\"primary\"\r\n onClick={handleSummeryDownload}\r\n disabled={selectedUserList.length <= 1}\r\n sx={{ width: 'auto', backgroundColor: '#3f51b5', '&:hover': { backgroundColor: '#303f9f' } }}\r\n >\r\n {multiLoading ? 'Downloading...' : 'Download Report'}\r\n </Button>\r\n }\r\n </Box>\r\n\r\n <Paper sx={{ width: '100%' }}>\r\n <div style={{ display: \"flex\", justifyContent: \"end\", alignItems: \"center\", height: \"100%\", padding: \"10px 5px\" }}>\r\n {userSelect && (\r\n <TextField\r\n label=\"Search\"\r\n variant=\"outlined\"\r\n size=\"small\"\r\n sx={{ mb: 2 }}\r\n value={searchQuery}\r\n onChange={(e) => setSearchQuery(e.target.value)}\r\n InputProps={{\r\n endAdornment: (\r\n <InputAdornment position=\"start\">\r\n <SearchOutlinedIcon />\r\n </InputAdornment>\r\n ),\r\n }}\r\n />\r\n )}\r\n </div>\r\n <DataGrid\r\n key={tableKey}\r\n rows={userSelect ? filteredRows : rows}\r\n columns={columns}\r\n initialState={{ pagination: { paginationModel } }}\r\n pageSizeOptions={[5, 10, 50, 100]}\r\n checkboxSelection={userSelect}\r\n disableRowSelectionOnClick\r\n onRowSelectionModelChange={handleRowSelection}\r\n sx={{\r\n border: 0,\r\n \"& .MuiTablePagination-selectLabel\": {\r\n margin: \"unset\"\r\n },\r\n \"& .MuiTablePagination-displayedRows\": {\r\n margin: \"unset\"\r\n }\r\n }}\r\n />\r\n </Paper>\r\n\r\n </>\r\n }\r\n </Paper>\r\n </Box>\r\n\r\n <Snackbar\r\n open={alertOpen}\r\n autoHideDuration={6000}\r\n onClose={() => setAlertOpen(false)}\r\n anchorOrigin={{ vertical: 'top', horizontal: 'center' }}\r\n >\r\n <Alert onClose={() => setAlertOpen(false)} severity=\"info\" sx={{ width: '100%' }}>\r\n {alertMessage}\r\n </Alert>\r\n </Snackbar>\r\n\r\n <Backdrop\r\n sx={(theme) => ({ color: '#fff', zIndex: theme.zIndex.drawer + 1 })}\r\n open={loading || multiLoading}\r\n >\r\n <CircularProgress color=\"inherit\" />\r\n </Backdrop>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nexport default ExamPackReport;","// Reports (in src/Reports/) - all are .jsx\r\nexport { default as Report } from './Reports/Report.jsx';\r\nexport { default as CourseReport } from './Reports/CourseReport.jsx';\r\nexport { default as ExamReport } from './Reports/ExamReport.jsx';\r\nexport { default as ExamPackReport } from './Reports/ExamPackReport.jsx';\r\n\r\n// Login is in src/ folder - .jsx\r\nexport { default as Login } from './Login.jsx';\r\n\r\n// API Utilities\r\nexport const configureApi = (url) => {\r\n window.ICLOUD_API_BASE_URL = url;\r\n};\r\n\r\nexport const getAuthParams = () => {\r\n const params = new URLSearchParams(window.location.search);\r\n let tenant = params.get('tenant') || localStorage.getItem('tenant');\r\n let token = params.get('token') || localStorage.getItem('token');\r\n return { tenant, token };\r\n};\r\n\r\nexport const clearAuth = () => {\r\n localStorage.removeItem('tenant');\r\n localStorage.removeItem('token');\r\n};\r\n\r\nexport const apiGet = async (endpoint, params = {}) => {\r\n const baseURL = window.ICLOUD_API_BASE_URL || 'http://192.168.2.202:8080/icleafreport/api';\r\n const { tenant, token } = getAuthParams();\r\n if (!tenant || !token) throw new Error('Missing tenant or token');\r\n const query = new URLSearchParams({ ...params, tenant, token });\r\n const res = await fetch(`${baseURL}/${endpoint}?${query}`);\r\n if (res.status === 401) { clearAuth(); throw new Error('Invalid credentials'); }\r\n const contentType = res.headers.get('content-type');\r\n if (contentType && contentType.includes('application/json')) return res.json();\r\n return res;\r\n};\r\n\r\nexport const apiDownload = async (endpoint, params = {}) => {\r\n const baseURL = window.ICLOUD_API_BASE_URL || 'http://192.168.2.202:8080/icleafreport/api';\r\n const { tenant, token } = getAuthParams();\r\n const query = new URLSearchParams({ ...params, tenant, token });\r\n const res = await fetch(`${baseURL}/${endpoint}?${query}`);\r\n return res.blob();\r\n};\r\n\r\nexport const apiPost = async (endpoint, data, params = {}) => {\r\n const baseURL = window.ICLOUD_API_BASE_URL || 'http://192.168.2.202:8080/icleafreport/api';\r\n const { tenant, token } = getAuthParams();\r\n const query = new URLSearchParams({ ...params, tenant, token });\r\n const res = await fetch(`${baseURL}/${endpoint}?${query}`, {\r\n method: 'POST',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n });\r\n return res.json();\r\n};","import React, { useState, useEffect } from 'react';\r\nimport { useNavigate } from 'react-router-dom';\r\n// import { logo, youngMan } from './imagePathUrl';\r\nimport { RiMailLine, RiLockLine } from 'react-icons/ri';\r\nimport { AiOutlineEyeInvisible, AiOutlineEye } from 'react-icons/ai';\r\nimport 'bootstrap/dist/css/bootstrap.css';\r\n// import './login.css';\r\nimport { Alert, Button, Snackbar } from '@mui/material';\r\nimport { apiGet, getAuthParams, clearAuth } from './package';\r\nconst Login = () => {\r\n const [tenant, setTenant] = useState('');\r\n const [token, setToken] = useState('');\r\n const [showToken, setShowToken] = useState(false);\r\n const [error, setError] = useState('');\r\n const [openAlert, setOpenAlert] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const navigate = useNavigate();\r\n\r\n useEffect(() => {\r\n const { tenant: urlTenant, token: urlToken } = getAuthParams();\r\n if (urlTenant && urlToken) {\r\n setTenant(urlTenant);\r\n setToken(urlToken);\r\n handleLogin(urlTenant, urlToken);\r\n }\r\n }, []);\r\n\r\n const handleLogin = async (tenantName, tokenValue) => {\r\n setLoading(true);\r\n try {\r\n await apiGet('showAllSubjects');\r\n localStorage.setItem('tenant', tenantName);\r\n localStorage.setItem('token', tokenValue);\r\n navigate('/report');\r\n } catch (error) {\r\n setError('Invalid tenant or token');\r\n setOpenAlert(true);\r\n clearAuth();\r\n } finally {\r\n setLoading(false);\r\n }\r\n };\r\n\r\n const onSubmit = (e) => {\r\n e.preventDefault();\r\n if (!tenant || !token) {\r\n setError('Please enter both tenant name and token');\r\n setOpenAlert(true);\r\n return;\r\n }\r\n handleLogin(tenant, token);\r\n };\r\n\r\n const toggleTokenVisibility = () => {\r\n setShowToken(!showToken);\r\n };\r\n\r\n return (\r\n <>\r\n <div className=\"row page_container\">\r\n <div className=\"col-6 login_container1\">\r\n <img className='login_img' src={youngMan} />\r\n </div>\r\n <div className=\"col-6 login_container2_bg\">\r\n <div className='login_form_container'>\r\n <div className='logo_container'>\r\n <img className='logo_img' src={logo} alt=\"Login logo Image\" />\r\n </div>\r\n <text className=\"welcome_text\">Access Reports</text>\r\n <form onSubmit={onSubmit}>\r\n <label className='login_label'>Tenant Name</label>\r\n <div className='input_contanier'>\r\n <div className=\"input_icons\">\r\n <RiMailLine />\r\n </div>\r\n <input\r\n type=\"text\"\r\n className='input_box'\r\n placeholder=\"Enter tenant name\"\r\n value={tenant}\r\n onChange={(e) => setTenant(e.target.value)}\r\n disabled={loading}\r\n />\r\n </div>\r\n <label className='login_label'>Access Token</label>\r\n <div className='input_contanier'>\r\n <div className=\"input_icons\">\r\n <RiLockLine />\r\n </div>\r\n <input\r\n type={showToken ? \"text\" : \"password\"}\r\n className='input_box'\r\n placeholder=\"Enter your access token\"\r\n value={token}\r\n onChange={(e) => setToken(e.target.value)}\r\n disabled={loading}\r\n />\r\n {showToken ? \r\n <AiOutlineEye onClick={toggleTokenVisibility} className=\"eye-icon_login\" /> : \r\n <AiOutlineEyeInvisible onClick={toggleTokenVisibility} className=\"eye-icon_login\" />\r\n }\r\n </div>\r\n <div className='login_btn_container'>\r\n <Button \r\n variant=\"contained\" \r\n style={{ width: \"100%\", marginTop: \"15px\", padding: \"10px\" }} \r\n type=\"submit\"\r\n disabled={loading}\r\n >\r\n {loading ? 'Authenticating...' : 'Access Reports'}\r\n </Button>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n\r\n <Snackbar\r\n open={openAlert}\r\n autoHideDuration={6000}\r\n onClose={() => setOpenAlert(false)}\r\n anchorOrigin={{ vertical: 'top', horizontal: 'center' }}\r\n >\r\n <Alert onClose={() => setOpenAlert(false)} severity=\"error\" sx={{ width: '30%' }}>\r\n {error}\r\n </Alert>\r\n </Snackbar>\r\n </div>\r\n </>\r\n );\r\n};\r\n\r\nexport default Login;"],"names":["logo","process","env","PUBLIC_URL","Header","useNavigate","setShow","useState","location","useLocation","pathname","localStorage","getItem","useEffect","handleOutsideClick","e","dropdownMenu","document","querySelector","mobileDropdownMenu","mobileSideMenu","contains","target","body","classList","remove","window","scrollTo","addEventListener","removeEventListener","_useState25","anchorEl","setAnchorEl","id","Boolean","undefined","h","className","style","display","alignItems","onClick","clear","reload","FaPowerOff","tabIndex","size","variant","Sidebar","activeMenuItem","setDrawerVisible","innerWidth","handleResize","src","alt","Link","to","BiSolidBookContent","_catch","recover","result","then","_finallyRethrows","finalizer","bind","getAuthParams","params","URLSearchParams","search","tenant","get","token","clearAuth","removeItem","apiGet","endpoint","baseURL","ICLOUD_API_BASE_URL","_getAuthParams","Error","query","_extends","Promise","resolve","fetch","res","status","contentType","headers","includes","json","reject","_useState","navigate","_useState2","subjects","setSubjects","_useState3","courses","setCourses","_useState4","selectedSubject","setSelectedSubject","_useState5","selectedCourse","setSelectedCourse","reportTypes","_useState7","selectedReportType","setSelectedReportType","_useState8","alertMessage","setAlertMessage","_useState9","loading","setLoading","_useState10","alertOpen","setAlertOpen","REACT_APP_BASE_URL","fetchAllSubjects","_temp","axios","method","url","Authorization","response","data","error","console","padding","marginLeft","Box","sx","maxWidth","mx","my","p","backgroundColor","borderRadius","Paper","elevation","textAlign","Typography","component","gutterBottom","color","marginBottom","Grid","container","spacing","justifyContent","item","xs","sm","FormControl","fullWidth","Autocomplete","options","getOptionLabel","option","subjectName","value","onChange","event","newValue","subjectId","_temp2","fetchCourses","renderInput","TextField","label","courseName","mt","position","Button","_temp3","responseType","text","blob","Blob","type","blobUrl","URL","createObjectURL","link","createElement","href","setAttribute","appendChild","click","parentNode","removeChild","revokeObjectURL","_wasThrown","_result","disabled","width","CircularProgress","top","left","marginTop","Snackbar","open","autoHideDuration","onClose","anchorOrigin","vertical","horizontal","Alert","severity","_useState6","columns","setColumns","_useState11","rows","setRows","_useState12","tableShow","setTableShow","_useState13","multiLoading","setMultiLoading","_useState14","userSelect","setUserSelect","_useState15","selectedUserList","setSelectedUserList","_useState16","tableKey","setTableKey","_useState17","searchQuery","setSearchQuery","filteredRows","filter","row","searchTerms","split","map","term","trim","toLowerCase","length","email","userName","localPart","some","batchListColumns","field","headerName","sortable","renderCell","api","getAllRowIds","indexOf","isActive","fontWeight","FileDownloadOutlinedIcon","handleDownloadBatchReport","fontSize","cursor","userListColumns","handleDownloadSingleUserReport","fetchReportData","courseId","reportType","_apiMap$reportType","apiMap","getBatchWiseList","getUserWiseList","call","corpCourseBatches","log","_temp4","users","_wasThrown2","_result2","_temp5","post","filename","batchName","_wasThrown3","_result3","_temp6","_wasThrown4","_result4","prevKey","Fragment","margin","selectedRowIds","_temp7","userIds","_wasThrown5","_result5","height","mb","InputProps","endAdornment","InputAdornment","SearchOutlinedIcon","DataGrid","key","initialState","pagination","paginationModel","page","pageSize","pageSizeOptions","checkboxSelection","disableRowSelectionOnClick","onRowSelectionModelChange","newSelection","border","Backdrop","theme","zIndex","drawer","examPacks","setExamPacks","exams","setExams","setUsers","selectedExamPack","setSelectedExamPack","selectedExam","setSelectedExam","setSelectedUser","openAlert","setOpenAlert","fetchExamPacks","name","examPackId","fetchExams","examName","examId","fetchUsers","setTenant","setToken","showToken","setShowToken","setError","urlTenant","urlToken","handleLogin","tenantName","tokenValue","setItem","toggleTokenVisibility","youngMan","onSubmit","preventDefault","RiMailLine","placeholder","RiLockLine","AiOutlineEye","AiOutlineEyeInvisible","selectedUser","onlyWrongAnswers","setOnlyWrongAnswers","FormControlLabel","control","Checkbox","checked","_getAuthParams2","_getAuthParams3","JSON","stringify"],"mappings":"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"}