1(self["webpackChunkapp"] = self["webpackChunkapp"] || []).push([["src_app_pages_student_module-progress-quiz_module-progress-quiz_module_ts"],{ 2 3/***/ 29257: 4/*!*******************************************************************************************!*\ 5 !*** ./src/app/pages/student/module-progress-quiz/module-progress-quiz-routing.module.ts ***! 6 \*******************************************************************************************/ 7/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 8 9"use strict"; 10__webpack_require__.r(__webpack_exports__); 11/* harmony export */ __webpack_require__.d(__webpack_exports__, { 12/* harmony export */ ModuleProgressQuizPageRoutingModule: () => (/* binding */ ModuleProgressQuizPageRoutingModule) 13/* harmony export */ }); 14/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ 24398); 15/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/core */ 37580); 16/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/router */ 95072); 17/* harmony import */ var _module_progress_quiz_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./module-progress-quiz.page */ 79227); 18 19 20 21 22const routes = [{ 23 path: '', 24 component: _module_progress_quiz_page__WEBPACK_IMPORTED_MODULE_0__.ModuleProgressQuizPage 25}]; 26let ModuleProgressQuizPageRoutingModule = class ModuleProgressQuizPageRoutingModule {}; 27ModuleProgressQuizPageRoutingModule = (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_2__.NgModule)({ 28 imports: [_angular_router__WEBPACK_IMPORTED_MODULE_3__.RouterModule.forChild(routes)], 29 exports: [_angular_router__WEBPACK_IMPORTED_MODULE_3__.RouterModule] 30})], ModuleProgressQuizPageRoutingModule); 31 32 33/***/ }), 34 35/***/ 21408: 36/*!***********************************************************************************!*\ 37 !*** ./src/app/pages/student/module-progress-quiz/module-progress-quiz.module.ts ***! 38 \***********************************************************************************/ 39/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40 41"use strict"; 42__webpack_require__.r(__webpack_exports__); 43/* harmony export */ __webpack_require__.d(__webpack_exports__, { 44/* harmony export */ ModuleProgressQuizPageModule: () => (/* binding */ ModuleProgressQuizPageModule) 45/* harmony export */ }); 46/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ 24398); 47/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/core */ 37580); 48/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/common */ 60316); 49/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/forms */ 34456); 50/* harmony import */ var _ionic_angular__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @ionic/angular */ 5995); 51/* harmony import */ var _module_progress_quiz_routing_module__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./module-progress-quiz-routing.module */ 29257); 52/* harmony import */ var _module_progress_quiz_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./module-progress-quiz.page */ 79227); 53 54 55 56 57 58 59 60let ModuleProgressQuizPageModule = class ModuleProgressQuizPageModule {}; 61ModuleProgressQuizPageModule = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_3__.NgModule)({ 62 imports: [_angular_common__WEBPACK_IMPORTED_MODULE_4__.CommonModule, _angular_forms__WEBPACK_IMPORTED_MODULE_5__.FormsModule, _ionic_angular__WEBPACK_IMPORTED_MODULE_6__.IonicModule, _module_progress_quiz_routing_module__WEBPACK_IMPORTED_MODULE_0__.ModuleProgressQuizPageRoutingModule], 63 declarations: [_module_progress_quiz_page__WEBPACK_IMPORTED_MODULE_1__.ModuleProgressQuizPage] 64})], ModuleProgressQuizPageModule); 65 66 67/***/ }), 68 69/***/ 79227: 70/*!*********************************************************************************!*\ 71 !*** ./src/app/pages/student/module-progress-quiz/module-progress-quiz.page.ts ***! 72 \*********************************************************************************/ 73/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 74 75"use strict"; 76__webpack_require__.r(__webpack_exports__); 77/* harmony export */ __webpack_require__.d(__webpack_exports__, { 78/* harmony export */ ModuleProgressQuizPage: () => (/* binding */ ModuleProgressQuizPage) 79/* harmony export */ }); 80/* harmony import */ var C_Users_admin_Downloads_saferoadsph_saferoadsph_ui_mysql_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js */ 89204); 81/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! tslib */ 24398); 82/* harmony import */ var _module_progress_quiz_page_html_ngResource__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./module-progress-quiz.page.html?ngResource */ 33857); 83/* harmony import */ var _module_progress_quiz_page_scss_ngResource__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./module-progress-quiz.page.scss?ngResource */ 89309); 84/* harmony import */ var _module_progress_quiz_page_scss_ngResource__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_module_progress_quiz_page_scss_ngResource__WEBPACK_IMPORTED_MODULE_2__); 85/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @angular/core */ 37580); 86/* harmony import */ var src_app_services_course_course_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! src/app/services/course/course.service */ 82493); 87/* harmony import */ var _ionic_angular__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @ionic/angular */ 5995); 88/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @angular/router */ 95072); 89/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! moment */ 39545); 90/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_4__); 91/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash */ 46227); 92/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_5__); 93/* harmony import */ var _face_verification_face_verification_page__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../face-verification/face-verification.page */ 52365); 94/* harmony import */ var _face_recog_face_recog_page__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../face-recog/face-recog.page */ 48827); 95/* harmony import */ var src_app_services_user_user_service__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! src/app/services/user/user.service */ 83273); 96 97 98 99 100 101 102 103 104 105 106 107 108 109let ModuleProgressQuizPage = class ModuleProgressQuizPage { 110 constructor(courseService, actionSheetController, navCtrl, couseService, userService, route, router, loadingCtrl, modalController) { 111 this.courseService = courseService; 112 this.actionSheetController = actionSheetController; 113 this.navCtrl = navCtrl; 114 this.couseService = couseService; 115 this.userService = userService; 116 this.route = route; 117 this.router = router; 118 this.loadingCtrl = loadingCtrl; 119 this.modalController = modalController; 120 this.state = 'guideline'; 121 this.submittingQuiz = false;
122 this.quizActive = 0; 123 this.clockCSS = 'basic'; 124 } 125 ngOnInit() {} 126 ionViewDidEnter() { 127 //this.presentLoading('Loading Guidelines...'); 128 //For Quiz Only 129 /* this.userService.getFaceTopics().then((res:any)=>{ 130 this.faceTopicsQuiz = res.result[0].faceTopics; 131 localStorage.setItem('topicsListQuiz', this.faceTopicsQuiz); 132 }); 133 134 this.faceTopicsQuiz = JSON.parse("[" + localStorage.getItem('topicsList') + "]"); */ 135 this.quizParams = null; 136 this.quizParams = history.state.data; 137 //console.log(this.quizParams); 138 this.courseId = this.quizParams.courseId; 139 this.topicId = this.quizParams.topicId; 140 this.detailId = this.quizParams.topicDetailsId; 141 this.topicStatus = this.quizParams.moduleStatus; 142 //this.courseId = this.route.snapshot.params['courseId']; 143 //this.topicId = this.route.snapshot.params['topicId']; 144 //this.detailId = this.route.snapshot.params['topicDetailId']; 145 this.couseService.getTopicDetail(this.detailId).then(res => { 146 if (res.statusCode == 200) { 147 this.topic = res.result[0]; 148 } 149 }); 150 this.loadGuideline(); 151 } 152 loadGuideline() { 153 this.courseService.getGuideline(this.topicId).then(res => { 154 this.guideline = res.result[0]; 155 //console.log(this.guideline); 156 this.quizType = this.guideline.quizType; 157 this.cmsTable = this.guideline.quizGuidelines; 158 this.languages = this.guideline.languages; 159 var blocks = []; 160 lodash__WEBPACK_IMPORTED_MODULE_5__.forEach(this.cmsTable, function (value, key) { 161 blocks[value.block] = value.content; 162 }); 163 if (this.quizType == 'QUIZ') { 164 this.title = blocks['quiz-title']; 165 this.subtitle = blocks['quiz-subtitle']; 166 this.content = blocks['quiz-content']; 167 } else { 168 this.title = blocks['exam-title']; 169 this.subtitle = blocks['exam-subtitle']; 170 this.content = blocks['exam-content']; 171 } 172 //this.loading.dismiss(); 173 }).catch(err => { 174 //this.loading.dismiss(); 175 }); 176 } 177 loadQuizzes(lang) { 178 this.courseService.getTopicQuizzes(this.courseId, this.topicId, lang.code).then(res => { 179 this.res = res.result[0]; 180 this.startQuiz(); 181 //console.log(this.res) 182 }); 183 } 184 presentActionSheet() { 185 var _this2 = this; 186 return (0,C_Users_admin_Downloads_saferoadsph_saferoadsph_ui_mysql_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* () { 187 var languages = [];
188 _this2.languages.forEach(lang => { 189 languages.push({ 190 text: lang.name, 191 handler: () => { 192 _this2.loadQuizzes(lang); 193 //console.log(lang) 194 } 195 }); 196 }); 197 const actionSheet = yield _this2.actionSheetController.create({ 198 header: 'Select Language', 199 cssClass: 'my-custom-class', 200 buttons: languages 201 }); 202 yield actionSheet.present(); 203 const { 204 role 205 } = yield actionSheet.onDidDismiss(); 206 })(); 207 } 208 back() { 209 this.navCtrl.navigateBack('student/module-progress-detail/' + this.detailId); 210 /* this.router.navigate([ 211 'student/module-progress-detail/'], {state: {data: this.detailId}} 212 ); */ 213 } 214 faceVerification() { 215 var _this3 = this; 216 return (0,C_Users_admin_Downloads_saferoadsph_saferoadsph_ui_mysql_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* () { 217 var _this = _this3; 218 const modal = yield _this3.modalController.create({ 219 component: _face_verification_face_verification_page__WEBPACK_IMPORTED_MODULE_6__.FaceVerificationPage, 220 cssClass: 'my-custom-class', 221 backdropDismiss: false, 222 componentProps: { 223 student: _this3.quizParams.student, 224 topic: _this3.topic, 225 mode: "Quiz/Exam" 226 } 227 }); 228 modal.onDidDismiss().then(dataReturned => { 229 if (dataReturned !== null) { 230 if (dataReturned.data.faceVerified == true) { 231 _this3.startTimer(); 232 _this3.res.startDate = moment__WEBPACK_IMPORTED_MODULE_4__(new Date()).utc().format(); 233 _this3.state = 'quiz'; 234 } 235 } 236 }); 237 return yield modal.present(); 238 })(); 239 } 240 faceRecognition() { 241 var _this4 = this; 242 return (0,C_Users_admin_Downloads_saferoadsph_saferoadsph_ui_mysql_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* () { 243 var _this = _this4; 244 let canvas = document.createElement('canvas'); 245 _this4.video = document.getElementById('video'); 246 canvas.width = 1080; 247 canvas.height = 1080; 248 let ctx = canvas.getContext('2d'); 249 ctx.drawImage(_this4.video, 0, 0, canvas.width, canvas.height); 250 let image = canvas.toDataURL('image/jpeg'); 251 var _this = _this4; 252 const modal = yield _this4.modalController.create({ 253 component: _face_recog_face_recog_page__WEBPACK_IMPORTED_MODULE_7__.FaceRecogPage, 254 cssClass: 'my-custom-class', 255 backdropDismiss: false, 256 componentProps: { 257 student: _this4.quizParams.student, 258 topic: _this4.topic, 259 mode: "Quiz/Exam", 260 imageCap: image 261 } 262 }); 263 modal.onDidDismiss().then(dataReturned => { 264 if (dataReturned !== null) { 265 if (dataReturned.data.faceVerified == true) { 266 _this4.startTimer(); 267 _this4.res.startDate = moment__WEBPACK_IMPORTED_MODULE_4__(new Date()).utc().format(); 268 _this4.state = 'quiz'; 269 } 270 } 271 }); 272 return yield modal.present(); 273 })(); 274 } 275 startQuiz() { 276 if (this.quizParams.faceVideo == 'true') { 277 const myObjectArray = [{ 278 topicId: 0 279 }]; 280 const targetNumber = this.topicId; 281 const foundObject = myObjectArray.find(obj => obj.topicId === targetNumber); 282 if (foundObject) { 283 if (this.topicStatus != "COMPLETED") { 284 //this.faceVerification(); 285 this.faceRecognition(); 286 } else { 287 this.startTimer(); 288 this.res.startDate = moment__WEBPACK_IMPORTED_MODULE_4__(new Date()).utc().format(); 289 this.state = 'quiz'; 290 } 291 } else { 292 this.startTimer(); 293 this.res.startDate = moment__WEBPACK_IMPORTED_MODULE_4__(new Date()).utc().format(); 294 this.state = 'quiz'; 295 } 296 } else { 297 this.startTimer(); 298 this.res.startDate = moment__WEBPACK_IMPORTED_MODULE_4__(new Date()).utc().format(); 299 this.state = 'quiz'; 300 } 301 } 302 nextQuestion() { 303 this.res.quizzes[this.quizActive].duration = this.counter.sec; 304 if (this.quizActive == this.res.quizzes.length - 1) { 305 this.submittingQuiz = true; 306 this.finish(); 307 } else { 308 this.startTimer(); 309 this.quizActive = this.quizActive + 1; 310 } 311 } 312 startTimer() { 313 clearInterval(this.intervalId); 314 this.counter = { 315 min: 0, 316 sec: 60 317 }; // choose whatever you want 318 this.intervalId = setInterval(() => { 319 if (this.counter.sec - 1 == -1) { 320 this.counter.min -= 1; 321 this.counter.sec = 59; 322 } else { 323 this.counter.sec -= 1; 324 if (this.counter.sec <= 10) { 325 //this.clockCSS = 'alarming'; 326 } else { 327 // this.clockCSS = 'basic'; 328 } 329 if (this.counter.min === 0 && this.counter.sec == 0) { 330 clearInterval(this.intervalId); 331 this.nextQuestion(); 332 //this.clockCSS = 'basic'; 333 } 334 } 335 }, 1000); 336 } 337 presentLoading(msg) { 338 var _this5 = this; 339 return (0,C_Users_admin_Downloads_saferoadsph_saferoadsph_ui_mysql_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function* () { 340 _this5.loading = yield _this5.loadingCtrl.create({ 341 cssClass: 'my-custom-class', 342 message: msg 343 }); 344 yield _this5.loading.present(); 345 })(); 346 } 347 finish() { 348 //this.presentLoading('Loading Your Result...'); 349 this.res.endDate = moment__WEBPACK_IMPORTED_MODULE_4__(new Date()).utc().format(); 350 clearInterval(this.intervalId); 351 this.courseService.saveTopicQuiz(this.res).then(res => { 352 if (res) { 353 this.results = res.result[0]; 354 this.submittingQuiz = false;
355 //this.loading.dismiss(); 356 this.state = 'result'; 357 //console.log(res.result[0]); 358 } else { 359 //this.loading.dismiss(); 360 } 361 }).catch(function (error) { 362 console.log(error); 363 //this.cmsService.errorMessageToast(errorMessages.connectionTimeOut); 364 }); 365 } 366 static #_ = this.ctorParameters = () => [{ 367 type: src_app_services_course_course_service__WEBPACK_IMPORTED_MODULE_3__.CourseService 368 }, { 369 type: _ionic_angular__WEBPACK_IMPORTED_MODULE_9__.ActionSheetController 370 }, { 371 type: _ionic_angular__WEBPACK_IMPORTED_MODULE_9__.NavController 372 }, { 373 type: src_app_services_course_course_service__WEBPACK_IMPORTED_MODULE_3__.CourseService 374 }, { 375 type: src_app_services_user_user_service__WEBPACK_IMPORTED_MODULE_8__.UserService 376 }, { 377 type: _angular_router__WEBPACK_IMPORTED_MODULE_10__.ActivatedRoute 378 }, { 379 type: _angular_router__WEBPACK_IMPORTED_MODULE_10__.Router 380 }, { 381 type: _ionic_angular__WEBPACK_IMPORTED_MODULE_9__.LoadingController 382 }, { 383 type: _ionic_angular__WEBPACK_IMPORTED_MODULE_9__.ModalController 384 }]; 385}; 386ModuleProgressQuizPage = (0,tslib__WEBPACK_IMPORTED_MODULE_11__.__decorate)([(0,_angular_core__WEBPACK_IMPORTED_MODULE_12__.Component)({ 387 selector: 'app-module-progress-quiz', 388 template: _module_progress_quiz_page_html_ngResource__WEBPACK_IMPORTED_MODULE_1__, 389 styles: [(_module_progress_quiz_page_scss_ngResource__WEBPACK_IMPORTED_MODULE_2___default())] 390})], ModuleProgressQuizPage); 391 392 393/***/ }), 394 395/***/ 89309: 396/*!**********************************************************************************************!*\ 397 !*** ./src/app/pages/student/module-progress-quiz/module-progress-quiz.page.scss?ngResource ***! 398 \**********************************************************************************************/ 399/***/ ((module, __unused_webpack_exports, __webpack_require__) => { 400 401// Imports 402var ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = __webpack_require__(/*! ../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js */ 53142); 403var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../../node_modules/css-loader/dist/runtime/api.js */ 35950); 404var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___); 405// Module 406___CSS_LOADER_EXPORT___.push([module.id, `@media (max-width: 540px) { 407 .menu ion-icon { 408 font-size: 10vw; 409 cursor: pointer; 410 color: #414042; 411 } 412 h1 { 413 font-size: 7vw; 414 font-family: "Otomanopee One", sans-serif; 415 color: #292822; 416 text-align: left; 417 } 418 .faq { 419 background-color: #f0f6f9; 420 background-image: url('bridge.svg'); 421 background-position: top center; 422 background-repeat: repeat-y; 423 background-size: 50%; 424 } 425 .faq h1 { 426 font-size: 8vw; 427 color: #292822; 428 font-family: "Otomanopee One", sans-serif; 429 margin-top: 10vw; 430 text-align: center; 431 } 432 .faq p { 433 font-size: 4vw; 434 color: #5e5d59; 435 line-height: 28px; 436 text-align: center; 437 } 438 .accordion { 439 background-color: white; 440 margin-bottom: 4vw; 441 border: 1px solid #e3e3e3; 442 } 443 .accordionHeader { 444 background-color: white; 445 overflow: hidden; 446 } 447 .accordionHeader h1 { 448 margin: 0px; 449 padding: 4vw; 450 font-size: 5vw; 451 width: 100%; 452 float: left; 453 text-align: left; 454 } 455 .accordionHeader a { 456 float: right; 457 } 458 .accordionBody p { 459 margin: 0px; 460 padding-top: 2vw; 461 padding-bottom: 4vw; 462 padding-left: 4vw; 463 padding-right: 4vw; 464 font-size: 4vw; 465 width: 100%; 466 } 467} 468@media (min-width: 720px) { 469 .menu ion-icon { 470 font-size: 8vw; 471 cursor: pointer; 472 color: #414042; 473 } 474 h1 { 475 font-size: 4vw; 476 font-family: "Otomanopee One", sans-serif; 477 color: #292822; 478 text-align: left; 479 } 480 .faq { 481 background-color: #f0f6f9; 482 background-image: url('bridge.svg'); 483 background-position: top center; 484 background-repeat: repeat-y; 485 background-size: 50%; 486 } 487 .faq h1 { 488 font-size: 8vw; 489 color: #292822; 490 font-family: "Otomanopee One", sans-serif; 491 margin-top: 10vw; 492 text-align: center; 493 } 494 .faq p { 495 font-size: 4vw; 496 color: #5e5d59; 497 line-height: 28px; 498 text-align: center; 499 } 500 .accordion { 501 background-color: white; 502 margin-bottom: 4vw; 503 border: 1px solid #e3e3e3; 504 } 505 .accordionHeader { 506 background-color: white; 507 overflow: hidden; 508 } 509 .accordionHeader h1 { 510 margin: 0px; 511 padding: 4vw; 512 font-size: 5vw; 513 width: 100%; 514 float: left; 515 text-align: left; 516 } 517 .accordionHeader a { 518 float: right; 519 } 520 .accordionBody p { 521 margin: 0px; 522 padding-top: 2vw; 523 padding-bottom: 4vw; 524 padding-left: 4vw; 525 padding-right: 4vw; 526 width: 100%; 527 font-size: 3vw; 528 text-align: left; 529 line-height: 3.5vw; 530 } 531} 532@media (min-width: 960px) { 533 .logo { 534 width: 133px; 535 height: 72px; 536 background-image: url('logo.svg'); 537 background-size: 100%; 538 } 539 .menu ion-icon { 540 font-size: 2vw; 541 cursor: pointer; 542 color: #414042; 543 } 544 h1 { 545 font-size: 2vw; 546 font-family: "Otomanopee One", sans-serif; 547 color: #292822; 548 text-align: left; 549 } 550 .faq { 551 background-color: #f0f6f9; 552 background-image: url('bridge.svg'); 553 background-position: top center; 554 background-repeat: repeat-y; 555 } 556 .faq h1 { 557 font-size: 3vw; 558 color: #292822; 559 font-family: "Otomanopee One", sans-serif; 560 margin-top: 5vw; 561 } 562 .faq p { 563 font-size: 1vw; 564 color: #5e5d59; 565 } 566 .accordion { 567 background-color: white; 568 margin-bottom: 1vw; 569 border: 1px solid #e3e3e3; 570 } 571 .accordionHeader { 572 background-color: white; 573 overflow: hidden; 574 } 575 .accordionHeader h1 { 576 margin: 0px; 577 padding: 1vw; 578 font-size: 1.5vw; 579 width: 100%; 580 float: left; 581 } 582 .accordionHeader a { 583 float: right; 584 } 585 .accordionBody p { 586 margin: 0px; 587 padding-top: 0.5vw; 588 padding-bottom: 1vw; 589 padding-left: 1vw; 590 padding-right: 1vw; 591 font-size: 1vw; 592 width: 100%; 593 line-height: 1.2vw; 594 } 595} 596.bg { 597 background-image: url('student-bg.svg'); 598 background-repeat: no-repeat; 599 background-color: #f0f6f9; 600 background-position-y: bottom; 601 padding-bottom: 5vw; 602} 603 604ion-content { 605 --ion-background-color: #fff; 606} 607 608.content { 609 background-color: white; 610 background-image: url('student-bg-bottom.svg'); 611 background-repeat: no-repeat; 612 background-position: center bottom; 613 border-top-left-radius: 1vw; 614 border-top-right-radius: 1vw; 615 margin-top: -1vw; 616 min-height: 100vh; 617} 618 619.toDoListTitle { 620 color: #0038a8; 621 font-family: "Otomanopee One", sans-serif; 622} 623 624.ion-padding-bottom { 625 padding-bottom: 200px; 626} 627 628.backCaption { 629 text-decoration: none; 630 cursor: pointer; 631} 632 633.reloadBtn { 634 text-decoration: none; 635 float: right; 636}`, "",{"version":3,"sources":["webpack://./src/app/pages/student/module-progress-quiz/module-progress-quiz.page.scss"],"names":[],"mappings":"AAAA;EACE;IACE,eAAA;IACA,eAAA;IACA,cAAA;EACF;EACA;IACE,cAAA;IACA,yCAAA;IACA,cAAA;IACA,gBAAA;EACF;EAEA;IACE,yBAAA;IACA,mCAAA;IACA,+BAAA;IACA,2BAAA;IACA,oBAAA;EAAF;EAGA;IACE,cAAA;IACA,cAAA;IACA,yCAAA;IACA,gBAAA;IACA,kBAAA;EADF;EAIA;
636IACE,cAAA;IACA,cAAA;IACA,iBAAA;IACA,kBAAA;EAFF;EAKA;IACE,uBAAA;IACA,kBAAA;IACA,yBAAA;EAHF;EAMA;IACE,uBAAA;IACA,gBAAA;EAJF;EAOA;IACE,WAAA;IACA,YAAA;IACA,cAAA;IACA,WAAA;IACA,WAAA;IACA,gBAAA;EALF;EAQA;IACE,YAAA;EANF;EASA;IACE,WAAA;IACA,gBAAA;IACA,mBAAA;IACA,iBAAA;IACA,kBAAA;IACA,cAAA;IACA,WAAA;EAPF;AACF;AAUA;EACE;IACE,cAAA;IACA,eAAA;IACA,cAAA;EARF;EAUA;IACE,cAAA;IACA,yCAAA;IACA,cAAA;IACA,gBAAA;EARF;EAWA;IACE,yBAAA;IACA,mCAAA;IACA,+BAAA;IACA,2BAAA;IACA,oBAAA;EATF;EAYA;IACE,cAAA;IACA,cAAA;IACA,yCAAA;IACA,gBAAA;IACA,kBAAA;EAVF;EAaA;IACE,cAAA;IACA,cAAA;IACA,iBAAA;IACA,kBAAA;EAXF;EAcA;IACE,uBAAA;IACA,kBAAA;IACA,yBAAA;EAZF;EAeA;IACE,uBAAA;IACA,gBAAA;EAbF;EAgBA;IACE,WAAA;IACA,YAAA;IACA,cAAA;IACA,WAAA;IACA,WAAA;IACA,gBAAA;EAdF;EAiBA;IACE,YAAA;EAfF;EAkBA;IACE,WAAA;IACA,gBAAA;IACA,mBAAA;IACA,iBAAA;IACA,kBAAA;IACA,WAAA;IACA,cAAA;IACA,gBAAA;IACA,kBAAA;EAhBF;AACF;AAmBA;EACE;IACE,YAAA;IACA,YAAA;IACA,iCAAA;IACA,qBAAA;EAjBF;EAoBA;IACE,cAAA;IACA,eAAA;IACA,cAAA;EAlBF;EAoBA;IACE,cAAA;IACA,yCAAA;IACA,cAAA;IACA,gBAAA;EAlBF;EAqBA;IACE,yBAAA;IACA,mCAAA;IACA,+BAAA;IACA,2BAAA;EAnBF;EAsBA;IACE,cAAA;IACA,cAAA;IACA,yCAAA;IACA,eAAA;EApBF;EAuBA;IACE,cAAA;IACA,cAAA;EArBF;EAwBA;IACE,uBAAA;IACA,kBAAA;IACA,yBAAA;EAtBF;EAyBA;IACE,uBAAA;IACA,gBAAA;EAvBF;EA0BA;IACE,WAAA;IACA,YAAA;IACA,gBAAA;IACA,WAAA;IACA,WAAA;EAxBF;EA2BA;IACE,YAAA;EAzBF;EA4BA;IACE,WAAA;IACA,kBAAA;IACA,mBAAA;IACA,iBAAA;IACA,kBAAA;IACA,cAAA;IACA,WAAA;IACA,kBAAA;EA1BF;AACF;AA4BA;EACE,uCAAA;EACA,4BAAA;EACA,yBAAA;EACA,6BAAA;EACA,mBAAA;AA1BF;;AA6BA;EACE,4BAAA;AA1BF;;AA4BA;EACE,uBAAA;EACA,8CAAA;EACA,4BAAA;EACA,kCAAA;EACA,2BAAA;EACA,4BAAA;EACA,gBAAA;EACA,iBAAA;AAzBF;;AA4BA;EACE,cAAA;EACA,yCAAA;AAzBF;;AA4BA;EACE,qBAAA;AAzBF;;AA4BA;EACE,qBAAA;EACA,eAAA;AAzBF;;AA4BA;EACE,qBAAA;EACA,YAAA;AAzBF","sourcesContent":["@media (max-width: 540px) {\r\n .menu ion-icon {\r\n font-size: 10vw;\r\n cursor: pointer;\r\n color: #414042;\r\n }\r\n h1 {\r\n font-size: 7vw;\r\n font-family: \"Otomanopee One\", sans-serif;\r\n color: #292822;\r\n text-align: left;\r\n }\r\n\r\n .faq {\r\n background-color: #f0f6f9;\r\n background-image: url(\"../../../../assets/img/layout/bridge.svg\");\r\n background-position: top center;\r\n background-repeat: repeat-y;\r\n background-size: 50%;\r\n }\r\n\r\n .faq h1 {\r\n font-size: 8vw;\r\n color: #292822;\r\n font-family: \"Otomanopee One\", sans-serif;\r\n margin-top: 10vw;\r\n text-align: center;\r\n }\r\n\r\n .faq p {\r\n font-size: 4vw;\r\n color: #5e5d59;\r\n line-height: 28px;\r\n text-align: center;\r\n }\r\n\r\n .accordion {\r\n background-color: white;\r\n margin-bottom: 4vw;\r\n border: 1px solid #e3e3e3;\r\n }\r\n\r\n .accordionHeader {\r\n background-color: white;\r\n overflow: hidden;\r\n }\r\n\r\n .accordionHeader h1 {\r\n margin: 0px;\r\n padding: 4vw;\r\n font-size: 5vw;\r\n width: 100%;\r\n float: left;\r\n text-align: left;\r\n }\r\n\r\n .accordionHeader a {\r\n float: right;\r\n }\r\n\r\n .accordionBody p {\r\n margin: 0px;\r\n padding-top: 2vw;\r\n padding-bottom: 4vw;\r\n padding-left: 4vw;\r\n padding-right: 4vw;\r\n font-size: 4vw;\r\n width: 100%;\r\n }\r\n}\r\n\r\n@media (min-width: 720px) {\r\n .menu ion-icon {\r\n font-size: 8vw;\r\n cursor: pointer;\r\n color: #414042;\r\n }\r\n h1 {\r\n font-size: 4vw;\r\n font-family: \"Otomanopee One\", sans-serif;\r\n color: #292822;\r\n text-align: left;\r\n }\r\n\r\n .faq {\r\n background-color: #f0f6f9;\r\n background-image: url(\"../../../../assets/img/layout/bridge.svg\");\r\n background-position: top center;\r\n background-repeat: repeat-y;\r\n background-size: 50%;\r\n }\r\n\r\n .faq h1 {\r\n font-size: 8vw;\r\n color: #292822;\r\n font-family: \"Otomanopee One\", sans-serif;\r\n margin-top: 10vw;\r\n text-align: center;\r\n }\r\n\r\n .faq p {\r\n font-size: 4vw;\r\n color: #5e5d59;\r\n line-height: 28px;\r\n text-align: center;\r\n }\r\n\r\n .accordion {\r\n background-color: white;\r\n margin-bottom: 4vw;\r\n border: 1px solid #e3e3e3;\r\n }\r\n\r\n .accordionHeader {\r\n background-color: white;\r\n overflow: hidden;\r\n }\r\n\r\n .accordionHeader h1 {\r\n margin: 0px;\r\n padding: 4vw;\r\n font-size: 5vw;\r\n width: 100%;\r\n float: left;\r\n text-align: left;\r\n }\r\n\r\n .accordionHeader a {\r\n float: right;\r\n }\r\n\r\n .accordionBody p {\r\n margin: 0px;\r\n padding-top: 2vw;\r\n padding-bottom: 4vw;\r\n padding-left: 4vw;\r\n padding-right: 4vw;\r\n width: 100%;\r\n font-size: 3vw;\r\n text-align: left;\r\n line-height: 3.5vw;\r\n }\r\n}\r\n\r\n@media (min-width: 960px) {\r\n .logo {\r\n width: 133px;\r\n height: 72px;\r\n background-image: url(\"../../../../assets/img/layout/logo.svg\");\r\n background-size: 100%;\r\n }\r\n\r\n .menu ion-icon {\r\n font-size: 2vw;\r\n cursor: pointer;\r\n color: #414042;\r\n }\r\n h1 {\r\n font-size: 2vw;\r\n font-family: \"Otomanopee One\", sans-serif;\r\n color: #292822;\r\n text-align: left;\r\n }\r\n\r\n .faq {\r\n background-color: #f0f6f9;\r\n background-image: url(\"../../../../assets/img/layout/bridge.svg\");\r\n background-position: top center;\r\n background-repeat: repeat-y;\r\n }\r\n\r\n .faq h1 {\r\n font-size: 3vw;\r\n color: #292822;\r\n font-family: \"Otomanopee One\", sans-serif;\r\n margin-top: 5vw;\r\n }\r\n\r\n .faq p {\r\n font-size: 1vw;\r\n color: #5e5d59;\r\n }\r\n\r\n .accordion {\r\n background-color: white;\r\n margin-bottom: 1vw;\r\n border: 1px solid #e3e3e3;\r\n }\r\n\r\n .accordionHeader {\r\n background-color: white;\r\n overflow: hidden;\r\n }\r\n\r\n .accordionHeader h1 {\r\n margin: 0px;\r\n padding: 1vw;\r\n font-size: 1.5vw;\r\n width: 100%;\r\n float: left;\r\n }\r\n\r\n .accordionHeader a {\r\n float: right;\r\n }\r\n\r\n .accordionBody p {\r\n margin: 0px;\r\n padding-top: 0.5vw;\r\n padding-bottom: 1vw;\r\n padding-left: 1vw;\r\n padding-right: 1vw;\r\n font-size: 1vw;\r\n width: 100%;\r\n line-height: 1.2vw;\r\n }\r\n}\r\n.bg {\r\n background-image: url(\"../../../../assets/img/layout/student-bg.svg\");\r\n background-repeat: no-repeat;\r\n background-color: #f0f6f9;\r\n background-position-y: bottom;\r\n padding-bottom: 5vw;\r\n}\r\n\r\nion-content {\r\n --ion-background-color: #fff;\r\n}\r\n.content {\r\n background-color: white;\r\n background-image: url(\"../../../../assets/img/layout/student-bg-bottom.svg\");\r\n background-repeat: no-repeat;\r\n background-position: center bottom;\r\n border-top-left-radius: 1vw;\r\n border-top-right-radius: 1vw;\r\n margin-top: -1vw;\r\n min-height: 100vh;\r\n}\r\n\r\n.toDoListTitle {\r\n color: #0038a8;\r\n font-family: \"Otomanopee One\", sans-serif;\r\n}\r\n\r\n.ion-padding-bottom {\r\n padding-bottom: 200px;\r\n}\r\n\r\n.backCaption {\r\n text-decoration: none;\r\n cursor: pointer;\r\n}\r\n\r\n.reloadBtn {\r\n text-decoration: none;\r\n float: right;\r\n}\r\n"],"sourceRoot":""}]); 637// Exports 638module.exports = ___CSS_LOADER_EXPORT___.toString(); 639 640 641/***/ }), 642 643/***/ 33857: 644/*!**********************************************************************************************!*\ 645 !*** ./src/app/pages/student/module-progress-quiz/module-progress-quiz.page.html?ngResource ***! 646 \**********************************************************************************************/ 647/***/ ((module) => { 648 649"use strict"; 650module.exports = "<br/>\r\n<ion-content>\r\n <div class=\"bg\">\r\n <ion-grid>\r\n <ion-row *ngIf=\"guideline\">\r\n <ion-col sizeLg=\"8\" offsetLg=\"2\">\r\n <ion-grid>\r\n <ion-row>\r\n <ion-col sizeLg=\"8\">\r\n <h1>{{title}}</h1>\r\n <h2>{{subtitle}}</h2>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"state == 'quiz'\">\r\n <ion-col>\r\n <h1 [ngClass]=\"clockCSS\">\r\n <ion-icon name=\"alarm-outline\"></ion-icon>
650\r\n <span>{{counter.min}} : {{counter.sec}}</span>\r\n </h1>\r\n <h2>{{quizActive + 1}} of {{res.quizzes.length}} Questions</h2>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n </div>\r\n <div class=\"content\">\r\n <ion-grid>\r\n <ion-row>\r\n <ion-col sizeLg=\"8\" offsetLg=\"2\">\r\n <ion-grid>\r\n <ion-row *ngIf=\"state == 'guideline'\">\r\n <ion-col size=\"12\" *ngIf=\"guideline\">\r\n <div [innerHTML]=\"content\"></div>\r\n </ion-col>\r\n <ion-col\r\n size=\"12\"\r\n sizeLg=\"8\"\r\n offsetLg=\"2\"\r\n class=\"ion-text-center\"\r\n *ngIf=\"guideline\"\r\n >\r\n <ion-button\r\n color=\"primary\"\r\n size=\"large\"\r\n (click)=\"presentActionSheet()\"\r\n >Start</ion-button\r\n >\r\n <ion-button color=\"danger\" size=\"large\" (click)=\"back()\"\r\n >Exit</ion-button\r\n >\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"state == 'quiz'\">\r\n <ion-col size=\"12\">\r\n <ion-grid *ngIf=\"res.quizzes && submittingQuiz == false\">\r\n <ion-row *ngFor=\"let q of res.quizzes; let i = index\">\r\n <ion-col size=\"12\" *ngIf=\"quizActive == i\">\r\n Question No. {{i+1}} -- {{q.id}}\r\n <ion-grid>\r\n <ion-row>\r\n <ion-col>\r\n <h1 [innerHTML]=\"q.question\"></h1>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row>\r\n <ion-col>\r\n <ion-list lines=\"none\">\r\n <ion-radio-group [(ngModel)]=\"q.answer\">\r\n <ion-item *ngFor=\"let c of q.questionOptions\">\r\n <ion-label class=\"ion-text-wrap\">\r\n <div [innerHTML]=\"c.option\"></div>\r\n </ion-label>\r\n <ion-radio slot=\"start\" [value]=\"c.id\"></ion-radio>\r\n </ion-item>\r\n </ion-radio-group>\r\n </ion-list>\r\n <!-- <ion-button (click)=\"nextQuestion()\" [disabled]=\"!q.answer\">Next</ion-button> -->\r\n <ion-button (click)=\"nextQuestion()\" [disabled]=\"counter.sec!>40\">Next</ion-button>\r\n </ion-col> \r\n </ion-row>\r\n </ion-grid>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"submittingQuiz == true\">\r\n <ion-col >\r\n <ion-col size=\"12\">Processing results...</ion-col>\r\n <ion-spinner color=\"warning\"></ion-spinner>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"state == 'result'\">\r\n <ion-col size=\"12\" class=\"ion-margin-top\" *ngIf=\"results\">\r\n <h1 class=\"ion-text-center\">\r\n Total Items : {{results.noOfQuestions}}\r\n </h1>\r\n <h1 class=\"ion-text-center\" *ngIf=\"results.passingScore != 0\">\r\n Passing Score: {{results.passingScore}}\r\n </h1>\r\n <h1 class=\"ion-text-center\">Your Score : {{results.score}}</h1> \r\n <h1 class=\"ion-text-center\" *ngIf=\"results.result=='PASSED' && results.passingScore != 0 \">Result: PASS</h1>\r\n <h1 class=\"ion-text-center\" *ngIf=\"results.result=='FAILED' && results.passingScore != 0 \">Result: FAIL</h1>\r\n <!--<div [innerHTML]=\"res.guideline_content\"></div>-->\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"state == 'result'\">\r\n <ion-col size=\"12\" sizeLg=\"8\" offsetLg=\"2\" class=\"ion-text-center\">\r\n <ion-button color=\"danger\" size=\"large\" (click)=\"back()\">Exit</ion-button>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"state == 'result'\">\r\n <ion-col>\r\n <div *ngFor=\"let questionaire of res.quizzes; index as i\">\r\n <ion-col>\r\n <ion-card>\r\n <ion-card-header>Question No.{{i+1}} -- {{questionaire.id}}</ion-card-header>\r\n <ion-card-content>\r\n <b><h3 [innerHTML]=\"questionaire.question\"></h3></b>\r\n <ion-radio-group [value]=\"questionaire.answer\">\r\n <ion-item *ngFor=\"let qOptions of questionaire.questionOptions\">\r\n <ion-label class=\"ion-text-wrap\">\r\n <div [innerHTML]=\"qOptions.option\"></div>\r\n </ion-label>\r\n <ion-radio slot=\"start\" [value]=\"qOptions.id\"></ion-radio>\r\n <ion-button color=\"success\" *ngIf=\"qOptions.answer=='Y' && questionaire.answer == qOptions.id\">\r\n <ion-icon name=\"checkmark-outline\" slot=\"end\" *ngIf=\"questionaire.answer == qOptions.id\"></ion-icon>\r\n <ion-label class=\"ion-text-wrap\" *ngIf=\"questionaire.answer == qOptions.id\">CORRECT ANSWER</ion-label>\r\n </ion-button>\r\n \r\n <ion-button color=\"danger\" *ngIf=\"qOptions.answer=='Y' && questionaire.answer != qOptions.id\">\r\n <ion-icon name=\"close-outline\" slot=\"end\" *ngIf=\"questionaire.answer != qOptions.id\"></ion-icon>\r\n <ion-label class=\"ion-text-wrap\" *ngIf=\"questionaire.answer != qOptions.id\">CORRECT ANSWER</ion-label>\r\n </ion-button>\r\n \r\n </ion-item>\r\n </ion-radio-group>\r\n </ion-card-content>\r\n </ion-card>\r\n </ion-col>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"state == 'result'\">\r\n <ion-col size=\"12\" sizeLg=\"8\" offsetLg=\"2\" class=\"ion-text-center\">\r\n <ion-button color=\"danger\" size=\"large\" (click)=\"back()\">Exit</ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n </div>\r\n</ion-content>\r\n"; 651 652/***/ }) 653 654}]); 655//# sourceMappingURL=src_app_pages_student_module-progress-quiz_module-progress-quiz_module_ts.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.