PageSourceSearch

https://saferoads.ph/src_app_pages_student_module-progress-quiz_module-progress-quiz_module_ts.js

js saferoads.ph collected 2026-09-27 14:59:30 UTC 38,775 bytes, 655 lines download raw bytes

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.