{"version":3,"sources":["webpack:///main.bundle.js","webpack:///./src/$_gendir lazy","webpack:///./src/app/shared/core/wd.service.ts","webpack:///./src/app/shared/services/config.service.ts","webpack:///./src/app/shared/services/account.service.ts","webpack:///./src/app/shared/services/google-analytics.service.ts","webpack:///./src/app/shared/page/page.component.ts","webpack:///./src/app/shared/core/process-token.component.ts","webpack:///./src/app/client/profile/profile.component.ts","webpack:///./src/app/shared/services/rating.service.ts","webpack:///./src/app/shared/services/achievement.service.ts","webpack:///./src/app/shared/game-elements/quiz/quiz.component.ts","webpack:///./src/app/shared/services/quiz.service.ts","webpack:///./src/app/shared/models/quiz/quiz.ts","webpack:///./src/app/shared/nav-menu/nav-menu.service.ts","webpack:///./src/app/shared/services/poll.service.ts","webpack:///./src/app/shared/models/poll.ts","webpack:///./src/app/shared/game-elements/leaderboard/leaderboard.component.ts","webpack:///./src/app/extern/databases/datab.module.ts","webpack:///./src/app/extern/databases/datab.service.ts","webpack:///./src/main.client.ts","webpack:///./src/app/client/app.module.ts","webpack:///./src/app/client/app.component.ts","webpack:///./src/app/shared/core/basemodal.service.ts","webpack:///./src/app/shared/services/dictaat.service.ts","webpack:///./src/app/shared/wd-shared.module.ts","webpack:///./src/app/client/app.component.html","webpack:///./src/app/client/app.component.css","webpack:///./src/app/client/app.routing.ts","webpack:///./src/app/shared/page/page.service.ts","webpack:///./src/app/shared/models/dictaat.ts","webpack:///./src/app/client/profile/profile.component.html","webpack:///./src/app/client/profile/profile.component.css","webpack:///./src/app/shared/core/html-outlet.directive.ts","webpack:///./src/app/shared/game-elements/rating/rating.component.ts","webpack:///./src/app/shared/models/rating.ts","webpack:///./src/app/shared/game-elements/rating/rating.component.css","webpack:///./src/app/shared/game-elements/rating/rating.component.html","webpack:///./src/app/shared/game-elements/achievements/achievements.component.ts","webpack:///./src/app/shared/game-elements/achievements/achievements.component.html","webpack:///./src/app/shared/game-elements/achievements/achievements.component.css","webpack:///./src/app/shared/game-elements/quiz/quiz.module.ts","webpack:///./src/app/shared/game-elements/quiz/quiz.component.html","webpack:///./src/app/shared/game-elements/quiz/quiz.component.css","webpack:///./src/app/shared/game-elements/quiz/question/quiz-question.component.ts","webpack:///./src/app/shared/game-elements/quiz/question/quiz-question.component.html","webpack:///./src/app/shared/game-elements/quiz/question/quiz-question.component.css","webpack:///./src/app/shared/game-elements/quiz/question/mc/question-mc.component.ts","webpack:///./src/app/shared/game-elements/quiz/question/mc/question-mc.component.html","webpack:///./src/app/shared/game-elements/quiz/question/mc/question-mc.component.css","webpack:///./src/app/shared/game-elements/quiz/question/blanks/question-blanks.component.ts","webpack:///./src/app/shared/game-elements/quiz/question/blanks/question-blanks.component.html","webpack:///./src/app/shared/game-elements/quiz/question/blanks/question-blanks.component.css","webpack:///./src/app/shared/game-elements/quiz/question/question-group/question-group.component.ts","webpack:///./src/app/shared/game-elements/quiz/question/question-group/question-group.component.html","webpack:///./src/app/shared/game-elements/quiz/question/question-group/question-group.component.css","webpack:///./src/app/shared/game-elements/quiz/question/question-sentence/question-sentence.component.ts","webpack:///./src/app/shared/game-elements/quiz/question/question-sentence/question-sentence.component.html","webpack:///./src/app/shared/game-elements/quiz/question/question-sentence/question-sentence.component.css","webpack:///./src/app/shared/services/dialog.service.ts","webpack:///./src/app/shared/services/images.service.ts","webpack:///./src/app/shared/core/security/dirty.guard.ts","webpack:///./src/app/shared/services/video.service.ts","webpack:///./src/app/shared/spinner/spinner.component.ts","webpack:///./src/app/shared/spinner/spinner.component.css","webpack:///./src/app/shared/core/wdfilter.pipe.ts","webpack:///./src/app/shared/core/group-by.pipe.ts","webpack:///./src/app/shared/core/order-by.pipe.ts","webpack:///./src/app/shared/services/styling.service.ts","webpack:///./src/app/shared/modal-component/modal-component.component.ts","webpack:///./src/app/shared/modal-component/modal-component.component.html","webpack:///./src/app/shared/modal-component/modal-component.component.css","webpack:///./src/app/shared/game-elements/leaderboard/leaderboard.module.ts","webpack:///./src/app/shared/game-elements/leaderboard/leaderboard.component.html","webpack:///./src/app/shared/game-elements/leaderboard/leaderboard.component.css","webpack:///./src/app/shared/game-elements/leaderboard/totalpoints.pipe.ts","webpack:///./src/app/shared/game-elements/assignment/assignment.component.ts","webpack:///./src/app/shared/game-elements/assignment/assignment.component.html","webpack:///./src/app/shared/game-elements/assignment/assignment.component.css","webpack:///./src/app/shared/game-elements/portal/portal.component.ts","webpack:///./src/app/shared/game-elements/portal/portal.component.html","webpack:///./src/app/shared/game-elements/portal/portal.component.css","webpack:///./src/app/shared/game-elements/poll/poll.component.ts","webpack:///./src/app/shared/game-elements/poll/poll.component.html","webpack:///./src/app/shared/game-elements/poll/poll.component.css","webpack:///./src/app/extern/databases/datab.component.ts","webpack:///./src/app/extern/databases/datab.component.css","webpack:///./src/app/extern/databases/datab.component.html","webpack:///./src/app/shared/nav-menu/nav-menu.component.ts","webpack:///./src/app/shared/nav-menu/nav-menu.component.html","webpack:///./src/app/shared/nav-menu/nav-menu.component.css","webpack:///./src/app/shared/avatar/avatar.component.ts","webpack:///./src/app/shared/avatar/avatar.component.html","webpack:///./src/app/client/message/message.component.ts","webpack:///./src/app/client/message/message.component.html","webpack:///./src/app/client/message/message.component.css","webpack:///./src/environments/environment.ts","webpack:///./src/app/shared/game-elements/quiz/question/question.base.ts","webpack:///./src/app/shared/models/assignment.ts","webpack:///./src/app/shared/services/participantService.ts","webpack:///./src/app/shared/game-elements/game-elements.module.ts","webpack:///./src/app/shared/models/quiz/question.ts","webpack:///./src/app/shared/services/assignment.service.ts"],"names":["webpackJsonp","119","module","exports","webpackEmptyAsyncContext","req","Promise","resolve","then","Error","keys","id","17","__webpack_exports__","__webpack_require__","d","wdApi","__WEBPACK_IMPORTED_MODULE_0__angular_core__","__WEBPACK_IMPORTED_MODULE_1__angular_http__","__WEBPACK_IMPORTED_MODULE_2_rxjs_rx__","__decorate","n","this","decorators","target","key","desc","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__metadata","k","v","metadata","http","urlPrefix","window","jwt","localStorage","getItem","prototype","setToken","token","setItem","removeToken","removeItem","createAuthorizationHeader","headers","append","get","url","catch","handleError","post","data","postFile","file","_this","reject","formData","FormData","xhr","XMLHttpRequest","name","onreadystatechange","readyState","status","response","open","setRequestHeader","send","put","delete","error","console","message","_a","18","ConfigService","DictaatConfig","Config","DictaatName","GetLocalConfig","subscribe","next","json","value","SetLocalConfig","config","19","AccountService","__WEBPACK_IMPORTED_MODULE_1__core_wd_service__","__WEBPACK_IMPORTED_MODULE_2_rxjs_add_operator_toPromise__","__WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_map__","__WEBPACK_IMPORTED_MODULE_4_rxjs_rx__","__WEBPACK_IMPORTED_MODULE_5__angular_router__","wdapi","router","activatedRoute","User","getCurrentUser","user","JSON","parse","toPromise","stringify","err","SetToken","Login","baseUrl","location","toString","split","href","Logoff","_b","_c","271","GoogleAnalyticsEventsService","InitializeGa","document","emitEvent","eventCategory","eventAction","eventLabel","eventValue","ga","s","o","g","a","m","q","push","l","Date","createElement","getElementsByTagName","async","src","onload","parentNode","insertBefore","set","272","PageComponent","__WEBPACK_IMPORTED_MODULE_1__angular_router__","__WEBPACK_IMPORTED_MODULE_2__page_service__","route","pageService","ngOnInit","params","forEach","getPage","page","enableExternalLibraries","Prism","highlightAll","selector","template","providers","273","ProcessTokenComponent","__WEBPACK_IMPORTED_MODULE_2__services_account_service__","accountService","queryParams","navigateByUrl","274","ProfileComponent","__WEBPACK_IMPORTED_MODULE_1__shared_services_dictaat_service__","__WEBPACK_IMPORTED_MODULE_2__shared_services_account_service__","__WEBPACK_IMPORTED_MODULE_3__shared_services_config_service__","__WEBPACK_IMPORTED_MODULE_4__shared_services_participantService__","dictaatService","participantService","configService","retrieveData","dictaatName","getGroups","groups","groupName","getParticipant","email","participant","group","join","isSwitching","didJoin","switchGroup","styles","_d","275","RatingService","__WEBPACK_IMPORTED_MODULE_4__core_basemodal_service__","__extends","extendStatics","setPrototypeOf","__proto__","Array","b","p","hasOwnProperty","__","constructor","create","_super","call","addRating","rating","resolveCancel","SendRate","ratingId","rate","getRating","276","AchievementService","getDictaatAchievements","getUserAchievements","userid","AddUserAchievement","achievid","userId","log","DeleteUserAchievement","277","QuizComponent","__WEBPACK_IMPORTED_MODULE_3__services_quiz_service__","__WEBPACK_IMPORTED_MODULE_4__services_config_service__","__WEBPACK_IMPORTED_MODULE_5__models_quiz_quiz__","quizService","limit","quiz","getTemporary","qid","isAuth","isLoading","refreshQuiz","getQuiz","edit","original","assign","ShowModal","start","continue","nextQuestion","saveTemporary","submit","isSubmitting","attempt","questions","questionId","isCorrect","submitAnswers","deleteTemporary","retakeQuiz","login","Number","Boolean","278","QuizService","__WEBPACK_IMPORTED_MODULE_2__core_basemodal_service__","__WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_toPromise__","__WEBPACK_IMPORTED_MODULE_4_rxjs_add_operator_map__","copy","storage","getQuizes","update","addQuiz","quizId","givenAnswers","removeQuestion","question","updateQuestion","279","Quiz","__WEBPACK_IMPORTED_MODULE_0__question__","__WEBPACK_IMPORTED_MODULE_1__assignment__","currentIndex","assignment","dictaat","shuffle","isComplete","current","myAttempts","lastAttempt","isValid","getLastAttempt","QuizSummary","280","NavMenuService","__WEBPACK_IMPORTED_MODULE_2__angular_router__","__WEBPACK_IMPORTED_MODULE_5__core_wd_service__","api","getLocalNavMenu","menuItems","getTime","updateNavMenu","resource","281","PollService","__WEBPACK_IMPORTED_MODULE_5__models_poll__","vote","pollId","optionId","map","res","updatePoll","poll","addPoll","getPolls","getPoll","282","Poll","options","myVote","text","283","LeaderboardComponent","__WEBPACK_IMPORTED_MODULE_1__services_dictaat_service__","__WEBPACK_IMPORTED_MODULE_3__services_config_service__","state","tab","sort","getParticipants","participants","top5","slice","leaderboard","totalPoints","points","String","284","DatabModule","__WEBPACK_IMPORTED_MODULE_1__datab_component__","__WEBPACK_IMPORTED_MODULE_2__datab_service__","__WEBPACK_IMPORTED_MODULE_3__angular_platform_browser__","__WEBPACK_IMPORTED_MODULE_4__angular_http__","__WEBPACK_IMPORTED_MODULE_5__angular_forms__","__WEBPACK_IMPORTED_MODULE_6__shared_game_elements_game_elements_module__","__WEBPACK_IMPORTED_MODULE_7__shared_wd_shared_module__","imports","declarations","285","DbSubmission","DatabService","__WEBPACK_IMPORTED_MODULE_4__shared_core_wd_service__","__WEBPACK_IMPORTED_MODULE_5__shared_models_assignment__","__WEBPACK_IMPORTED_MODULE_6_rxjs__","DbAssignment","apply","root","getAssignment","daid","cache","getFromLocal","do","saveAssignmentInLocal","getSubmissions","saveSubmissionInLocal","sendSubmission","waid","submission","originalAssignmentId","type","assignmentId","298","299","__WEBPACK_IMPORTED_MODULE_1__angular_platform_browser_dynamic__","__WEBPACK_IMPORTED_MODULE_2__app_client_app_module__","production","bootstrapModule","304","ClientModule","__WEBPACK_IMPORTED_MODULE_1__angular_platform_browser__","__WEBPACK_IMPORTED_MODULE_2__angular_platform_browser_animations__","__WEBPACK_IMPORTED_MODULE_3__angular_http__","__WEBPACK_IMPORTED_MODULE_4__angular_common__","__WEBPACK_IMPORTED_MODULE_6__app_component__","__WEBPACK_IMPORTED_MODULE_7__app_routing__","__WEBPACK_IMPORTED_MODULE_8__shared_page_page_component__","__WEBPACK_IMPORTED_MODULE_9__shared_core_html_outlet_directive__","__WEBPACK_IMPORTED_MODULE_10__shared_nav_menu_nav_menu_component__","__WEBPACK_IMPORTED_MODULE_11__shared_avatar_avatar_component__","__WEBPACK_IMPORTED_MODULE_12__shared_wd_shared_module__","__WEBPACK_IMPORTED_MODULE_13__extern_databases_datab_module__","__WEBPACK_IMPORTED_MODULE_14__shared_game_elements_game_elements_module__","__WEBPACK_IMPORTED_MODULE_15__message_message_component__","__WEBPACK_IMPORTED_MODULE_16__profile_profile_component__","provide","useClass","bootstrap","308","AppComponent","__WEBPACK_IMPORTED_MODULE_2__shared_services_config_service__","__WEBPACK_IMPORTED_MODULE_3__shared_services_google_analytics_service__","Title","showSidebar","unhandledRouteEvents","sendNewRouteEvent","events","event","scrollTo","urlAfterRedirects","36","BaseModalService","__WEBPACK_IMPORTED_MODULE_1_rxjs_Subject__","ModalEvent","ShowModalEvent","modalType","isVisible","CancelModalEvent","modalEvent","modal","resolveComplete","CancelModal","CompleteModal","objectToResolve","BaseModalComponent","wdOnInit","service","zone","baseService","isModalVisible","run","cancel","43","DictaatService","__WEBPACK_IMPORTED_MODULE_1__models_dictaat__","__WEBPACK_IMPORTED_MODULE_2__core_wd_service__","__WEBPACK_IMPORTED_MODULE_6_rxjs_BehaviorSubject__","__WEBPACK_IMPORTED_MODULE_7__config_service__","CurrentDictaat","getDictaat","removeDictaat","addDictaat","copyDictaat","newDictaatName","getDictaatSession","getDictaatContributers","addContributer","getDictaten","getMarkings","addGroups","removeGroup","44","WdSharedModule","__WEBPACK_IMPORTED_MODULE_2__angular_common__","__WEBPACK_IMPORTED_MODULE_4__services_dialog_service__","__WEBPACK_IMPORTED_MODULE_5__services_rating_service__","__WEBPACK_IMPORTED_MODULE_6__services_images_service__","__WEBPACK_IMPORTED_MODULE_7__services_account_service__","__WEBPACK_IMPORTED_MODULE_8__core_security_dirty_guard__","__WEBPACK_IMPORTED_MODULE_9__services_video_service__","__WEBPACK_IMPORTED_MODULE_10__nav_menu_nav_menu_service__","__WEBPACK_IMPORTED_MODULE_11__services_achievement_service__","__WEBPACK_IMPORTED_MODULE_12__services_quiz_service__","__WEBPACK_IMPORTED_MODULE_13__services_assignment_service__","__WEBPACK_IMPORTED_MODULE_14__services_dictaat_service__","__WEBPACK_IMPORTED_MODULE_15__services_participantService__","__WEBPACK_IMPORTED_MODULE_16__spinner_spinner_component__","__WEBPACK_IMPORTED_MODULE_17__core_wdfilter_pipe__","__WEBPACK_IMPORTED_MODULE_18__core_group_by_pipe__","__WEBPACK_IMPORTED_MODULE_19__core_order_by_pipe__","__WEBPACK_IMPORTED_MODULE_20__core_process_token_component__","__WEBPACK_IMPORTED_MODULE_21__services_styling_service__","__WEBPACK_IMPORTED_MODULE_22__modal_component_modal_component_component__","__WEBPACK_IMPORTED_MODULE_23__services_google_analytics_service__","__WEBPACK_IMPORTED_MODULE_24__services_poll_service__","443","444","445","routing","__WEBPACK_IMPORTED_MODULE_0__angular_router__","__WEBPACK_IMPORTED_MODULE_1__shared_page_page_component__","__WEBPACK_IMPORTED_MODULE_2__shared_core_process_token_component__","__WEBPACK_IMPORTED_MODULE_3__profile_profile_component__","appRoutes","path","component","redirectTo","pathMatch","forRoot","446","PageService","pageName","withCredentials","447","Dictaat","DictaatMarkings","pages","owner","DictaatMarkingsAssignment","DictaatSession","title","submissions","getSubmission","find","assignments","448","449","450","createComponentFactory","compiler","cmpClass","DynamicComponent","decoratedCmp","DynamicHtmlModule","__WEBPACK_IMPORTED_MODULE_3__angular_common__","__WEBPACK_IMPORTED_MODULE_6__wd_shared_module__","__WEBPACK_IMPORTED_MODULE_4__game_elements_game_elements_module__","__WEBPACK_IMPORTED_MODULE_5__extern_databases_datab_module__","schemas","compileModuleAndAllComponentsAsync","moduleWithComponentFactory","componentFactories","x","componentType","HtmlOutlet","vcRef","afterCompile","ngOnChanges","html","cmpRef","destroy","compMetadata","factory","injector","fromResolvedProviders","parentInjector","createComponent","emit","ngOnDestroy","451","RatingComponent","__WEBPACK_IMPORTED_MODULE_2__services_rating_service__","__WEBPACK_IMPORTED_MODULE_3__services_account_service__","__WEBPACK_IMPORTED_MODULE_4__models_rating__","ratingService","rid","reason","sendRate","setEmotion","emotion","452","Rate","Rating","description","453","454","455","AchievementsComponent","__WEBPACK_IMPORTED_MODULE_1__services_achievement_service__","__WEBPACK_IMPORTED_MODULE_2__services_config_service__","achievementService","grid","achievements","achievementgroups","getAllAchievements","_i","achiev","456","457","458","QuizModule","__WEBPACK_IMPORTED_MODULE_2__angular_http__","__WEBPACK_IMPORTED_MODULE_3__angular_forms__","__WEBPACK_IMPORTED_MODULE_4__quiz_component__","__WEBPACK_IMPORTED_MODULE_5__question_quiz_question_component__","__WEBPACK_IMPORTED_MODULE_6__question_mc_question_mc_component__","__WEBPACK_IMPORTED_MODULE_7__question_blanks_question_blanks_component__","__WEBPACK_IMPORTED_MODULE_8__angular_common__","__WEBPACK_IMPORTED_MODULE_9__question_question_group_question_group_component__","__WEBPACK_IMPORTED_MODULE_10__question_question_sentence_question_sentence_component__","__WEBPACK_IMPORTED_MODULE_11__wd_shared_module__","459","460","461","QuestionComponent","__WEBPACK_IMPORTED_MODULE_1__models_quiz_question__","__WEBPACK_IMPORTED_MODULE_2__question_base__","onAnswer","checker","check","isChecking","reset","462","463","464","QuestionMcComponent","__WEBPACK_IMPORTED_MODULE_1__question_base__","isSelected","answer","selectAnswer","checkIfCorrect","465","466","467","QuestionBlanksComponent","textParts","getParts","body","sentence","tp","answers","remove","part","select","selectedPart","some","splice","indexOf","canSelect","468","469","470","QuestionGroupComponent","selectedAnswers","toggleAnswer","471","472","473","QuestionSentenceComponent","_original","Options","Sentence","textPart","deselect","originalSentence","currentSentence","474","475","476","DialogService","__WEBPACK_IMPORTED_MODULE_2_rxjs_Subject__","DialogData","subject","showDialog","content","dialogData","Content","getDialogData","asObservable","477","ImageService","addImages","image","478","DirtyGuard","canDeactivate","isDirty","confirm","479","VideoService","480","SpinnerComponent","481","482","WdFilterPipe","transform","items","filter","property","item","toUpperCase","pure","483","GroupByPipe","field","groupedObj","reduce","prev","cur","484","ArraySortPipe","array","args","485","StylingService","__WEBPACK_IMPORTED_MODULE_1_rxjs_add_operator_toPromise__","__WEBPACK_IMPORTED_MODULE_2_rxjs_add_operator_map__","__WEBPACK_IMPORTED_MODULE_3__shared_core_basemodal_service__","getStyle","styleName","updateStyle","_body","486","ModalComponentComponent","onComplete","onCancel","complete","487","488","489","LeaderboardModule","__WEBPACK_IMPORTED_MODULE_4__leaderboard_component__","__WEBPACK_IMPORTED_MODULE_5__totalpoints_pipe__","490","491","492","TotalPointsPipe","493","AssignmentComponent","__WEBPACK_IMPORTED_MODULE_1__services_assignment_service__","__WEBPACK_IMPORTED_MODULE_2__models_assignment__","__WEBPACK_IMPORTED_MODULE_3__services_dictaat_service__","__WEBPACK_IMPORTED_MODULE_5__services_account_service__","assignmentService","getAssignmentDetails","aid","ad","mySubmission","494","495","496","PortalComponent","__WEBPACK_IMPORTED_MODULE_1__services_account_service__","__WEBPACK_IMPORTED_MODULE_3__services_participantService__","retrieveParticipant","portal","onError","497","498","499","PollComponent","__WEBPACK_IMPORTED_MODULE_1__services_poll_service__","__WEBPACK_IMPORTED_MODULE_3__models_poll__","__WEBPACK_IMPORTED_MODULE_4__services_account_service__","pollService","selectedOption","getColor","index","u","pid","option","500","501","502","DatabComponent","__WEBPACK_IMPORTED_MODULE_1__datab_service__","__WEBPACK_IMPORTED_MODULE_3__shared_services_assignment_service__","__WEBPACK_IMPORTED_MODULE_4__shared_services_config_service__","databService","pollticker","externalId","expectedOutput","checkIfComplete","assignmentToken","submitWithToken","statusId","setTimeout","504","505","506","NavMenuComponent","__WEBPACK_IMPORTED_MODULE_2__nav_menu_service__","navMenuService","toggle","selected","MenuItems","507","508","509","AvatarComponent","__WEBPACK_IMPORTED_MODULE_2__services_dictaat_service__","isRoute","Logout","510","511","MessageComponent","__WEBPACK_IMPORTED_MODULE_3__shared_services_account_service__","hide","session","participantCount","participantIds","containsMe","animations","opacity","512","513","514","environment","56","Checker","TextPart","QuestionBase","__WEBPACK_IMPORTED_MODULE_0__models_quiz_question__","__WEBPACK_IMPORTED_MODULE_1__angular_core__","canCheck","epicregex","trim","match","temporaryValue","randomIndex","Math","floor","random","Function","67","Assignment","level","accepted","92","ParticipantService","93","GameElementsModule","__WEBPACK_IMPORTED_MODULE_2__angular_forms__","__WEBPACK_IMPORTED_MODULE_3__rating_rating_component__","__WEBPACK_IMPORTED_MODULE_4__achievements_achievements_component__","__WEBPACK_IMPORTED_MODULE_5__quiz_quiz_module__","__WEBPACK_IMPORTED_MODULE_6__leaderboard_leaderboard_module__","__WEBPACK_IMPORTED_MODULE_7__leaderboard_leaderboard_component__","__WEBPACK_IMPORTED_MODULE_8__quiz_quiz_component__","__WEBPACK_IMPORTED_MODULE_9__assignment_assignment_component__","__WEBPACK_IMPORTED_MODULE_10__portal_portal_component__","__WEBPACK_IMPORTED_MODULE_12__poll_poll_component__","94","Question","explanation","95","AssignmentService","__WEBPACK_IMPORTED_MODULE_5__models_assignment__","getAssignments","addAssignment","unsubmit"],"mappings":"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","file":"main.bundle.js","sourcesContent":["webpackJsonp([1],{\n\n/***/ 119:\n/***/ (function(module, exports) {\n\nfunction webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncatched exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 119;\n\n/***/ }),\n\n/***/ 17:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return wdApi; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_http__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_rx__ = __webpack_require__(81);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_rx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_rxjs_rx__);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n\r\n\r\n//Nodig om een object om te toveren in een promise.\r\n\r\nvar wdApi = (function () {\r\n function wdApi(http) {\r\n this.http = http;\r\n this.urlPrefix = window[\"rootVar\"] ? window[\"rootVar\"] : 'http://localhost:65418/api';\r\n this.jwt = localStorage.getItem('jwt');\r\n }\r\n //methods\r\n wdApi.prototype.setToken = function (token) {\r\n localStorage.setItem('jwt', token);\r\n this.jwt = token;\r\n };\r\n wdApi.prototype.removeToken = function () {\r\n localStorage.removeItem('jwt');\r\n this.jwt = null;\r\n };\r\n wdApi.prototype.createAuthorizationHeader = function () {\r\n var headers = new __WEBPACK_IMPORTED_MODULE_1__angular_http__[\"a\" /* Headers */]();\r\n if (this.jwt)\r\n headers.append('Authorization', 'Bearer ' + this.jwt);\r\n return headers;\r\n };\r\n wdApi.prototype.get = function (url) {\r\n return this.http.get(this.urlPrefix + url, {\r\n headers: this.createAuthorizationHeader()\r\n }).catch(this.handleError);\r\n };\r\n wdApi.prototype.post = function (url, data) {\r\n return this.http.post(this.urlPrefix + url, data, {\r\n headers: this.createAuthorizationHeader()\r\n }).catch(this.handleError);\r\n };\r\n wdApi.prototype.postFile = function (url, file) {\r\n var _this = this;\r\n return new Promise(function (resolve, reject) {\r\n var formData = new FormData();\r\n var xhr = new XMLHttpRequest();\r\n formData.append(\"file\", file, file.name);\r\n xhr.onreadystatechange = function () {\r\n if (xhr.readyState === 4) {\r\n if (xhr.status === 200) {\r\n resolve(xhr.response);\r\n }\r\n else {\r\n reject(xhr.response);\r\n }\r\n }\r\n };\r\n xhr.open('POST', _this.urlPrefix + url, true);\r\n xhr.setRequestHeader('Authorization', 'Bearer ' + _this.jwt);\r\n xhr.send(formData);\r\n });\r\n };\r\n wdApi.prototype.put = function (url, data) {\r\n return this.http.put(this.urlPrefix + url, data, {\r\n headers: this.createAuthorizationHeader()\r\n }).catch(this.handleError);\r\n };\r\n wdApi.prototype.delete = function (url) {\r\n return this.http.delete(this.urlPrefix + url, {\r\n headers: this.createAuthorizationHeader()\r\n }).catch(this.handleError);\r\n };\r\n wdApi.prototype.handleError = function (error) {\r\n console.error('An error occurred', error); // for demo purposes only\r\n return Promise.reject(error.message || error);\r\n };\r\n return wdApi;\r\n}());\r\nwdApi = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"C\" /* Injectable */])(),\r\n __metadata(\"design:paramtypes\", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_1__angular_http__[\"b\" /* Http */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_1__angular_http__[\"b\" /* Http */]) === \"function\" && _a || Object])\r\n], wdApi);\r\n\r\nvar _a;\r\n//# sourceMappingURL=wd.service.js.map\n\n/***/ }),\n\n/***/ 18:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export DictaatConfig */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ConfigService; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_http__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_rx__ = __webpack_require__(81);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_rx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_rxjs_rx__);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n\r\n\r\n\r\nvar DictaatConfig = (function () {\r\n function DictaatConfig() {\r\n }\r\n return DictaatConfig;\r\n}());\r\n\r\nvar ConfigService = (function () {\r\n function ConfigService(http) {\r\n this.http = http;\r\n this.Config = new __WEBPACK_IMPORTED_MODULE_2_rxjs_rx__[\"BehaviorSubject\"](null);\r\n this.DictaatName = new __WEBPACK_IMPORTED_MODULE_2_rxjs_rx__[\"BehaviorSubject\"](null);\r\n }\r\n ConfigService.prototype.GetLocalConfig = function () {\r\n var _this = this;\r\n this.http.get('dictaat.config.json')\r\n .subscribe(function (response) {\r\n _this.Config.next(response.json());\r\n _this.DictaatName.next(_this.Config.value.name);\r\n });\r\n return this.Config;\r\n };\r\n ConfigService.prototype.SetLocalConfig = function (config) {\r\n this.Config.next(config);\r\n this.DictaatName.next(config.name);\r\n };\r\n return ConfigService;\r\n}());\r\nConfigService = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"C\" /* Injectable */])(),\r\n __metadata(\"design:paramtypes\", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_1__angular_http__[\"b\" /* Http */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_1__angular_http__[\"b\" /* Http */]) === \"function\" && _a || Object])\r\n], ConfigService);\r\n\r\nvar _a;\r\n//# sourceMappingURL=config.service.js.map\n\n/***/ }),\n\n/***/ 19:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return AccountService; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__core_wd_service__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_add_operator_toPromise__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_add_operator_toPromise___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_rxjs_add_operator_toPromise__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_map__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_map___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_map__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_rx__ = __webpack_require__(81);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_rx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_rxjs_rx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_router__ = __webpack_require__(21);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar AccountService = (function () {\r\n function AccountService(wdapi, router, activatedRoute) {\r\n this.wdapi = wdapi;\r\n this.router = router;\r\n this.activatedRoute = activatedRoute;\r\n this.User = new __WEBPACK_IMPORTED_MODULE_4_rxjs_rx__[\"BehaviorSubject\"](null);\r\n this.getCurrentUser();\r\n }\r\n AccountService.prototype.getCurrentUser = function () {\r\n var _this = this;\r\n var user = JSON.parse(localStorage.getItem('user'));\r\n this.User.next(user);\r\n this.wdapi.get('/account/current')\r\n .toPromise()\r\n .then(function (response) {\r\n var user = response.json();\r\n _this.User.next(user);\r\n localStorage.setItem('user', JSON.stringify(user));\r\n })\r\n .catch(function (err) {\r\n _this.User.next(null);\r\n localStorage.setItem('user', null);\r\n });\r\n };\r\n AccountService.prototype.SetToken = function (token) {\r\n this.wdapi.setToken(token);\r\n this.getCurrentUser();\r\n };\r\n AccountService.prototype.Login = function () {\r\n //retrieve the host url including subfolders this app is runing in.\r\n var baseUrl = window.location.toString().split('#')[0];\r\n window.location.href = this.wdapi.urlPrefix + \"/account/AvansLogin?returnurl=\" + baseUrl;\r\n };\r\n AccountService.prototype.Logoff = function () {\r\n //redrict to home after logout\r\n this.wdapi.removeToken();\r\n localStorage.removeItem('user');\r\n window.location.href = this.wdapi.urlPrefix + \"/account/LogOff?returnurl=\" + window.location;\r\n };\r\n return AccountService;\r\n}());\r\nAccountService = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"C\" /* Injectable */])(),\r\n __metadata(\"design:paramtypes\", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_1__core_wd_service__[\"a\" /* wdApi */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_1__core_wd_service__[\"a\" /* wdApi */]) === \"function\" && _a || Object, typeof (_b = typeof __WEBPACK_IMPORTED_MODULE_5__angular_router__[\"c\" /* Router */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_5__angular_router__[\"c\" /* Router */]) === \"function\" && _b || Object, typeof (_c = typeof __WEBPACK_IMPORTED_MODULE_5__angular_router__[\"a\" /* ActivatedRoute */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_5__angular_router__[\"a\" /* ActivatedRoute */]) === \"function\" && _c || Object])\r\n], AccountService);\r\n\r\nvar _a, _b, _c;\r\n//# sourceMappingURL=account.service.js.map\n\n/***/ }),\n\n/***/ 271:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return GoogleAnalyticsEventsService; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n\r\nvar GoogleAnalyticsEventsService = (function () {\r\n function GoogleAnalyticsEventsService() {\r\n this.InitializeGa(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');\r\n }\r\n GoogleAnalyticsEventsService.prototype.emitEvent = function (eventCategory, eventAction, eventLabel, eventValue) {\r\n if (eventLabel === void 0) { eventLabel = null; }\r\n if (eventValue === void 0) { eventValue = null; }\r\n ga('send', 'event', {\r\n eventCategory: eventCategory,\r\n eventLabel: eventLabel,\r\n eventAction: eventAction,\r\n eventValue: eventValue\r\n });\r\n };\r\n //Code snippet from GA docs\r\n GoogleAnalyticsEventsService.prototype.InitializeGa = function (i, s, o, g, r, a, m) {\r\n if (a === void 0) { a = null; }\r\n if (m === void 0) { m = null; }\r\n i['GoogleAnalyticsObject'] = r;\r\n i[r] = i[r] || function () {\r\n (i[r].q = i[r].q || []).push(arguments);\r\n }, i[r].l = (1 * (new Date()));\r\n a = s.createElement(o), m = s.getElementsByTagName(o)[0];\r\n a.async = 1;\r\n a.src = g;\r\n a.onload = function () {\r\n ga('create', 'UA-113126593-1', 'auto');\r\n };\r\n m.parentNode.insertBefore(a, m);\r\n };\r\n GoogleAnalyticsEventsService.prototype.send = function () {\r\n ga('send', 'pageview');\r\n };\r\n GoogleAnalyticsEventsService.prototype.set = function (url) {\r\n ga('set', 'page', url);\r\n };\r\n return GoogleAnalyticsEventsService;\r\n}());\r\nGoogleAnalyticsEventsService = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"C\" /* Injectable */])(),\r\n __metadata(\"design:paramtypes\", [])\r\n], GoogleAnalyticsEventsService);\r\n\r\n//# sourceMappingURL=google-analytics.service.js.map\n\n/***/ }),\n\n/***/ 272:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return PageComponent; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_router__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__page_service__ = __webpack_require__(446);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n\r\n\r\n\r\nvar PageComponent = (function () {\r\n function PageComponent(route, pageService) {\r\n this.route = route;\r\n this.pageService = pageService;\r\n }\r\n PageComponent.prototype.ngOnInit = function () {\r\n var _this = this;\r\n this.route.params.forEach(function (params) {\r\n var name = params['pageName'];\r\n _this.pageService.getPage(name)\r\n .then(function (page) {\r\n _this.page = page;\r\n });\r\n });\r\n };\r\n PageComponent.prototype.enableExternalLibraries = function () {\r\n if (window.Prism) {\r\n window.Prism.highlightAll();\r\n }\r\n };\r\n return PageComponent;\r\n}());\r\nPageComponent = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"o\" /* Component */])({\r\n selector: \"wd-page\",\r\n template: \"\\n
\\n \\n
\\n\",\r\n providers: [__WEBPACK_IMPORTED_MODULE_2__page_service__[\"a\" /* PageService */]]\r\n }),\r\n __metadata(\"design:paramtypes\", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_1__angular_router__[\"a\" /* ActivatedRoute */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_1__angular_router__[\"a\" /* ActivatedRoute */]) === \"function\" && _a || Object, typeof (_b = typeof __WEBPACK_IMPORTED_MODULE_2__page_service__[\"a\" /* PageService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_2__page_service__[\"a\" /* PageService */]) === \"function\" && _b || Object])\r\n], PageComponent);\r\n\r\nvar _a, _b;\r\n//# sourceMappingURL=page.component.js.map\n\n/***/ }),\n\n/***/ 273:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ProcessTokenComponent; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_router__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__services_account_service__ = __webpack_require__(19);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n\r\n\r\n\r\nvar ProcessTokenComponent = (function () {\r\n function ProcessTokenComponent(activatedRoute, accountService, router) {\r\n this.activatedRoute = activatedRoute;\r\n this.accountService = accountService;\r\n this.router = router;\r\n }\r\n ProcessTokenComponent.prototype.ngOnInit = function () {\r\n var _this = this;\r\n // subscribe to router event\r\n this.activatedRoute.queryParams.subscribe(function (params) {\r\n var token = params['token'];\r\n _this.accountService.SetToken(token);\r\n _this.router.navigateByUrl('/');\r\n });\r\n };\r\n return ProcessTokenComponent;\r\n}());\r\nProcessTokenComponent = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"o\" /* Component */])({\r\n selector: \"wd-process-token\",\r\n template: \"\\n
\\n

Logging in...

\\n
\\n\",\r\n }),\r\n __metadata(\"design:paramtypes\", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_1__angular_router__[\"a\" /* ActivatedRoute */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_1__angular_router__[\"a\" /* ActivatedRoute */]) === \"function\" && _a || Object, typeof (_b = typeof __WEBPACK_IMPORTED_MODULE_2__services_account_service__[\"a\" /* AccountService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_2__services_account_service__[\"a\" /* AccountService */]) === \"function\" && _b || Object, typeof (_c = typeof __WEBPACK_IMPORTED_MODULE_1__angular_router__[\"c\" /* Router */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_1__angular_router__[\"c\" /* Router */]) === \"function\" && _c || Object])\r\n], ProcessTokenComponent);\r\n\r\nvar _a, _b, _c;\r\n//# sourceMappingURL=process-token.component.js.map\n\n/***/ }),\n\n/***/ 274:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ProfileComponent; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__shared_services_dictaat_service__ = __webpack_require__(43);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__shared_services_account_service__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__shared_services_config_service__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__shared_services_participantService__ = __webpack_require__(92);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n\r\n\r\n\r\n\r\n\r\nvar ProfileComponent = (function () {\r\n function ProfileComponent(dictaatService, participantService, accountService, configService) {\r\n this.dictaatService = dictaatService;\r\n this.participantService = participantService;\r\n this.accountService = accountService;\r\n this.configService = configService;\r\n }\r\n ProfileComponent.prototype.ngOnInit = function () {\r\n var _this = this;\r\n this.accountService.User.subscribe(function (user) {\r\n _this.user = user;\r\n _this.retrieveData();\r\n });\r\n this.configService.Config.subscribe(function (config) {\r\n if (!config)\r\n return;\r\n _this.dictaatName = config.name;\r\n _this.retrieveData();\r\n });\r\n };\r\n ProfileComponent.prototype.retrieveData = function () {\r\n var _this = this;\r\n if (!this.dictaatName || !this.user)\r\n return;\r\n this.dictaatService.getGroups(this.dictaatName).then(function (groups) {\r\n _this.groups = groups;\r\n _this.groups.push({ groupName: \"none\" });\r\n });\r\n this.participantService.getParticipant(this.dictaatName, this.user.email).then(function (participant) {\r\n _this.participant = participant;\r\n _this.group = participant.group;\r\n });\r\n };\r\n ProfileComponent.prototype.join = function (groupName) {\r\n var _this = this;\r\n this.isSwitching = true;\r\n this.dictaatService.join(this.dictaatName, this.group)\r\n .then(function (didJoin) {\r\n _this.participant.group = groupName;\r\n _this.isSwitching = false;\r\n });\r\n };\r\n ProfileComponent.prototype.switchGroup = function (groupName) {\r\n var _this = this;\r\n this.isSwitching = true;\r\n this.dictaatService.switchGroup(this.dictaatName, this.group)\r\n .subscribe(function (didJoin) {\r\n _this.participant.group = groupName;\r\n _this.isSwitching = false;\r\n });\r\n };\r\n return ProfileComponent;\r\n}());\r\nProfileComponent = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"o\" /* Component */])({\r\n selector: 'wd-profile',\r\n template: __webpack_require__(448),\r\n styles: [__webpack_require__(449)]\r\n }),\r\n __metadata(\"design:paramtypes\", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_1__shared_services_dictaat_service__[\"a\" /* DictaatService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_1__shared_services_dictaat_service__[\"a\" /* DictaatService */]) === \"function\" && _a || Object, typeof (_b = typeof __WEBPACK_IMPORTED_MODULE_4__shared_services_participantService__[\"a\" /* ParticipantService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_4__shared_services_participantService__[\"a\" /* ParticipantService */]) === \"function\" && _b || Object, typeof (_c = typeof __WEBPACK_IMPORTED_MODULE_2__shared_services_account_service__[\"a\" /* AccountService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_2__shared_services_account_service__[\"a\" /* AccountService */]) === \"function\" && _c || Object, typeof (_d = typeof __WEBPACK_IMPORTED_MODULE_3__shared_services_config_service__[\"a\" /* ConfigService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_3__shared_services_config_service__[\"a\" /* ConfigService */]) === \"function\" && _d || Object])\r\n], ProfileComponent);\r\n\r\nvar _a, _b, _c, _d;\r\n//# sourceMappingURL=profile.component.js.map\n\n/***/ }),\n\n/***/ 275:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return RatingService; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__core_wd_service__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_add_operator_toPromise__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_add_operator_toPromise___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_rxjs_add_operator_toPromise__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_map__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_map___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_map__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__core_basemodal_service__ = __webpack_require__(36);\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n\r\n\r\n\r\n\r\n\r\nvar RatingService = (function (_super) {\r\n __extends(RatingService, _super);\r\n function RatingService(wdapi) {\r\n var _this = _super.call(this) || this;\r\n _this.wdapi = wdapi;\r\n return _this;\r\n }\r\n RatingService.prototype.addRating = function (dictaatName, rating) {\r\n var _this = this;\r\n var url = \"/dictaten/\" + dictaatName + '/rating';\r\n return this.wdapi.post(url, rating)\r\n .toPromise()\r\n .then(function (response) {\r\n return response.json();\r\n })\r\n .catch(function () {\r\n _this.resolveCancel(); //hier nog niet bij mee\r\n _this.handleError;\r\n return null;\r\n });\r\n };\r\n RatingService.prototype.SendRate = function (dictaatName, ratingId, rate) {\r\n var _this = this;\r\n var url = \"/dictaten/\" + dictaatName + '/rating/' + ratingId + '/rates';\r\n return this.wdapi.post(url, rate)\r\n .toPromise()\r\n .then(function (response) {\r\n return response.json();\r\n })\r\n .catch(function () {\r\n _this.resolveCancel(); //hier nog niet bij mee\r\n _this.handleError;\r\n return null;\r\n });\r\n };\r\n RatingService.prototype.getRating = function (dictaatName, ratingId) {\r\n if (!ratingId) {\r\n return new Promise(function (resolve, reject) {\r\n reject(\"Cannot load rating without ratingId\");\r\n });\r\n }\r\n var url = \"/dictaten/\" + dictaatName + '/rating/' + ratingId;\r\n return this.wdapi.get(url)\r\n .toPromise()\r\n .then(function (response) { return response.json(); });\r\n };\r\n RatingService.prototype.handleError = function (error) {\r\n console.error('An error occurred', error); // for demo purposes only\r\n return Promise.reject(error.message || error);\r\n };\r\n return RatingService;\r\n}(__WEBPACK_IMPORTED_MODULE_4__core_basemodal_service__[\"a\" /* BaseModalService */]));\r\nRatingService = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"C\" /* Injectable */])(),\r\n __metadata(\"design:paramtypes\", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_1__core_wd_service__[\"a\" /* wdApi */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_1__core_wd_service__[\"a\" /* wdApi */]) === \"function\" && _a || Object])\r\n], RatingService);\r\n\r\nvar _a;\r\n//# sourceMappingURL=rating.service.js.map\n\n/***/ }),\n\n/***/ 276:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return AchievementService; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__core_wd_service__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_add_operator_toPromise__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_add_operator_toPromise___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_rxjs_add_operator_toPromise__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_map__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_map___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_map__);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n\r\n\r\n\r\n\r\nvar AchievementService = (function () {\r\n function AchievementService(wdapi) {\r\n this.wdapi = wdapi;\r\n }\r\n AchievementService.prototype.getDictaatAchievements = function (dictaatName) {\r\n var url = \"/dictaten/\" + dictaatName + \"/Achievement\";\r\n return this.wdapi.get(url)\r\n .toPromise()\r\n .then(function (response) {\r\n return response.json();\r\n });\r\n };\r\n AchievementService.prototype.getUserAchievements = function (dictaatName, userid) {\r\n var url = \"/dictaten/\" + dictaatName + \"/Achievement/\" + userid;\r\n return this.wdapi.get(url)\r\n .toPromise()\r\n .then(function (response) {\r\n return response.json();\r\n });\r\n };\r\n AchievementService.prototype.AddUserAchievement = function (dictaatName, achievid, userid) {\r\n var url = \"/dictaten/\" + dictaatName + \"/Achievement/\" + achievid + \"/user/\" + userid;\r\n return this.wdapi.post(url, { userId: userid })\r\n .toPromise()\r\n .then(function (response) {\r\n console.log(response);\r\n });\r\n };\r\n AchievementService.prototype.DeleteUserAchievement = function (dictaatName, achievid, userid) {\r\n var url = \"/dictaten/\" + dictaatName + \"/Achievement/\" + achievid + \"/user/\" + userid;\r\n return this.wdapi.delete(url)\r\n .toPromise()\r\n .then(function (response) {\r\n console.log(response);\r\n });\r\n };\r\n return AchievementService;\r\n}());\r\nAchievementService = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"C\" /* Injectable */])(),\r\n __metadata(\"design:paramtypes\", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_1__core_wd_service__[\"a\" /* wdApi */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_1__core_wd_service__[\"a\" /* wdApi */]) === \"function\" && _a || Object])\r\n], AchievementService);\r\n\r\nvar _a;\r\n//# sourceMappingURL=achievement.service.js.map\n\n/***/ }),\n\n/***/ 277:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return QuizComponent; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_router__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__services_account_service__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__services_quiz_service__ = __webpack_require__(278);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__services_config_service__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__models_quiz_quiz__ = __webpack_require__(279);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar QuizComponent = (function () {\r\n function QuizComponent(configService, accountService, quizService, route) {\r\n this.configService = configService;\r\n this.accountService = accountService;\r\n this.quizService = quizService;\r\n this.route = route;\r\n this.limit = false;\r\n }\r\n QuizComponent.prototype.ngOnInit = function () {\r\n var _this = this;\r\n this.quiz = this.quizService.getTemporary(this.qid);\r\n this.accountService.User.subscribe(function (user) { _this.isAuth = user != null; });\r\n this.configService.DictaatName.subscribe(function (name) {\r\n _this.dictaatName = name;\r\n if (!_this.quiz) {\r\n _this.isLoading = true;\r\n _this.refreshQuiz();\r\n }\r\n });\r\n };\r\n QuizComponent.prototype.refreshQuiz = function () {\r\n var _this = this;\r\n this.quizService.getQuiz(this.dictaatName, this.qid)\r\n .then(function (q) {\r\n _this.quiz = q;\r\n _this.isLoading = false;\r\n })\r\n .catch(function (error) {\r\n _this.isLoading = false;\r\n });\r\n };\r\n QuizComponent.prototype.edit = function () {\r\n var _this = this;\r\n var original = Object.assign({}, this.quiz);\r\n this.quizService.ShowModal('edit', [this.quiz])\r\n .then(function (quiz) { return _this.refreshQuiz(); })\r\n .catch(function () {\r\n _this.quiz = new __WEBPACK_IMPORTED_MODULE_5__models_quiz_quiz__[\"a\" /* Quiz */](original);\r\n });\r\n };\r\n QuizComponent.prototype.start = function () {\r\n this.quiz.start();\r\n };\r\n QuizComponent.prototype.continue = function () {\r\n this.quiz.nextQuestion();\r\n this.quizService.saveTemporary(this.quiz);\r\n if (this.quiz.status == 'finished') {\r\n this.submit();\r\n }\r\n };\r\n QuizComponent.prototype.submit = function () {\r\n var _this = this;\r\n this.isSubmitting = true;\r\n var attempt = [];\r\n this.quiz.questions.forEach(function (q) {\r\n attempt.push({\r\n questionId: q.id,\r\n isCorrect: q.isCorrect\r\n });\r\n });\r\n this.quizService.submitAnswers(this.dictaatName, this.quiz.id, attempt)\r\n .then(function (quiz) {\r\n _this.quiz = quiz;\r\n _this.isSubmitting = false;\r\n _this.quizService.deleteTemporary(_this.quiz.id);\r\n });\r\n };\r\n QuizComponent.prototype.retakeQuiz = function () {\r\n this.start();\r\n };\r\n QuizComponent.prototype.login = function () {\r\n this.accountService.Login();\r\n };\r\n return QuizComponent;\r\n}());\r\n__decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"F\" /* Input */])(),\r\n __metadata(\"design:type\", Number)\r\n], QuizComponent.prototype, \"qid\", void 0);\r\n__decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"F\" /* Input */])(),\r\n __metadata(\"design:type\", Boolean)\r\n], QuizComponent.prototype, \"limit\", void 0);\r\nQuizComponent = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"o\" /* Component */])({\r\n selector: 'wd-quiz',\r\n template: __webpack_require__(459),\r\n styles: [__webpack_require__(460)]\r\n }),\r\n __metadata(\"design:paramtypes\", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_4__services_config_service__[\"a\" /* ConfigService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_4__services_config_service__[\"a\" /* ConfigService */]) === \"function\" && _a || Object, typeof (_b = typeof __WEBPACK_IMPORTED_MODULE_2__services_account_service__[\"a\" /* AccountService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_2__services_account_service__[\"a\" /* AccountService */]) === \"function\" && _b || Object, typeof (_c = typeof __WEBPACK_IMPORTED_MODULE_3__services_quiz_service__[\"a\" /* QuizService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_3__services_quiz_service__[\"a\" /* QuizService */]) === \"function\" && _c || Object, typeof (_d = typeof __WEBPACK_IMPORTED_MODULE_1__angular_router__[\"a\" /* ActivatedRoute */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_1__angular_router__[\"a\" /* ActivatedRoute */]) === \"function\" && _d || Object])\r\n], QuizComponent);\r\n\r\nvar _a, _b, _c, _d;\r\n//# sourceMappingURL=quiz.component.js.map\n\n/***/ }),\n\n/***/ 278:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return QuizService; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__core_wd_service__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__core_basemodal_service__ = __webpack_require__(36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_toPromise__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_toPromise___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_toPromise__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_add_operator_map__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_add_operator_map___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_rxjs_add_operator_map__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__models_quiz_quiz__ = __webpack_require__(279);\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar QuizService = (function (_super) {\r\n __extends(QuizService, _super);\r\n function QuizService(wdapi) {\r\n var _this = _super.call(this) || this;\r\n _this.wdapi = wdapi;\r\n return _this;\r\n }\r\n QuizService.prototype.saveTemporary = function (quiz) {\r\n var copy = Object.assign({}, quiz);\r\n copy.status = \"temporary\";\r\n localStorage.setItem(\"quiz:\" + copy.id, JSON.stringify(copy));\r\n };\r\n QuizService.prototype.getTemporary = function (qid) {\r\n var storage = localStorage.getItem(\"quiz:\" + qid);\r\n var quiz = storage ? JSON.parse(storage) : null;\r\n return quiz ? new __WEBPACK_IMPORTED_MODULE_5__models_quiz_quiz__[\"a\" /* Quiz */](quiz) : null;\r\n };\r\n QuizService.prototype.deleteTemporary = function (qid) {\r\n localStorage.removeItem(\"quiz:\" + qid);\r\n };\r\n QuizService.prototype.getQuizes = function (dictaatName) {\r\n var url = \"/dictaten/\" + dictaatName + '/quiz';\r\n return this.wdapi.get(url)\r\n .toPromise()\r\n .then(function (response) {\r\n return response.json();\r\n });\r\n };\r\n QuizService.prototype.update = function (dictaatName, quiz) {\r\n var url = \"/dictaten/\" + dictaatName + '/quiz/' + quiz.id;\r\n return this.wdapi.put(url, quiz)\r\n .toPromise()\r\n .then(function (response) {\r\n return response.json();\r\n });\r\n };\r\n QuizService.prototype.addQuiz = function (dictaatName, quiz) {\r\n var _this = this;\r\n var url = \"/dictaten/\" + dictaatName + '/quiz';\r\n return this.wdapi.post(url, quiz)\r\n .toPromise()\r\n .then(function (response) {\r\n return response.json();\r\n })\r\n .catch(function () {\r\n _this.resolveCancel(); //hier nog niet bij mee\r\n return null;\r\n });\r\n };\r\n QuizService.prototype.getQuiz = function (dictaatName, quizId) {\r\n if (!quizId) {\r\n return new Promise(function (resolve, reject) {\r\n reject(\"Cannot load quiz without quizId\");\r\n });\r\n }\r\n var url = \"/dictaten/\" + dictaatName + '/quiz/' + quizId;\r\n return this.wdapi.get(url)\r\n .toPromise()\r\n .then(function (response) {\r\n return new __WEBPACK_IMPORTED_MODULE_5__models_quiz_quiz__[\"a\" /* Quiz */](response.json());\r\n });\r\n };\r\n QuizService.prototype.submitAnswers = function (dictaatName, quizId, givenAnswers) {\r\n var url = \"/dictaten/\" + dictaatName + '/quiz/' + quizId + '/attempts';\r\n return this.wdapi.post(url, givenAnswers)\r\n .toPromise()\r\n .then(function (response) { return new __WEBPACK_IMPORTED_MODULE_5__models_quiz_quiz__[\"a\" /* Quiz */](response.json()); });\r\n };\r\n QuizService.prototype.removeQuestion = function (dictaatName, quizId, question) {\r\n var url = \"/dictaten/\" + dictaatName + '/quiz/' + quizId + '/questions/' + question.id;\r\n return this.wdapi.delete(url)\r\n .toPromise()\r\n .then(function (response) { return response.json(); });\r\n };\r\n QuizService.prototype.updateQuestion = function (dictaatName, quizId, question) {\r\n var url = \"/dictaten/\" + dictaatName + '/quiz/' + quizId + '/questions/' + question.id;\r\n return this.wdapi.put(url, question)\r\n .toPromise()\r\n .then(function (response) { return response.json(); });\r\n };\r\n return QuizService;\r\n}(__WEBPACK_IMPORTED_MODULE_2__core_basemodal_service__[\"a\" /* BaseModalService */]));\r\nQuizService = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"C\" /* Injectable */])(),\r\n __metadata(\"design:paramtypes\", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_1__core_wd_service__[\"a\" /* wdApi */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_1__core_wd_service__[\"a\" /* wdApi */]) === \"function\" && _a || Object])\r\n], QuizService);\r\n\r\nvar _a;\r\n//# sourceMappingURL=quiz.service.js.map\n\n/***/ }),\n\n/***/ 279:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Quiz; });\n/* unused harmony export QuizSummary */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__question__ = __webpack_require__(94);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__assignment__ = __webpack_require__(67);\n\r\n\r\nvar Quiz = (function () {\r\n function Quiz(json) {\r\n if (json === void 0) { json = null; }\r\n var _this = this;\r\n this.questions = [];\r\n this.currentIndex = 0;\r\n this.assignment = new __WEBPACK_IMPORTED_MODULE_1__assignment__[\"a\" /* Assignment */]();\r\n if (json) {\r\n this.id = json.id;\r\n this.dictaat = json.dictaat;\r\n this.shuffle = json.shuffle;\r\n this.isComplete = json.isComplete;\r\n this.currentIndex = json.currentIndex;\r\n this.current = this.questions[this.currentIndex];\r\n //map assignment\r\n this.assignment = new __WEBPACK_IMPORTED_MODULE_1__assignment__[\"a\" /* Assignment */](json.assignment);\r\n //map questions\r\n json.questions.forEach(function (q) {\r\n _this.questions.push(new __WEBPACK_IMPORTED_MODULE_0__question__[\"a\" /* Question */](q));\r\n });\r\n this.current = this.questions[this.currentIndex];\r\n this.myAttempts = json.myAttempts ? json.myAttempts : [];\r\n if (this.myAttempts && this.myAttempts.length > 0) {\r\n this.status = \"finished\";\r\n this.lastAttempt = this.myAttempts[0];\r\n }\r\n else {\r\n this.status = 'idle';\r\n }\r\n this.status = json.status ? json.status : this.status;\r\n }\r\n }\r\n Quiz.prototype.start = function () {\r\n this.currentIndex = 0;\r\n this.status = \"started\";\r\n this.current = this.questions[this.currentIndex];\r\n };\r\n Quiz.prototype.isValid = function () {\r\n if (!this.assignment.isValid())\r\n return false;\r\n if (this.questions.length == 0)\r\n return false;\r\n var response = true;\r\n this.questions.forEach(function (question) {\r\n if (!question.isValid()) {\r\n response = false;\r\n }\r\n });\r\n return response;\r\n };\r\n Quiz.prototype.nextQuestion = function () {\r\n this.currentIndex++;\r\n if (this.questions.length == this.currentIndex) {\r\n this.status = 'finished';\r\n }\r\n else {\r\n this.current = this.questions[this.currentIndex];\r\n }\r\n };\r\n Quiz.prototype.getLastAttempt = function () {\r\n if (this.myAttempts && this.myAttempts.length > 0)\r\n return this.myAttempts[0];\r\n else\r\n return null;\r\n };\r\n return Quiz;\r\n}());\r\n\r\nvar QuizSummary = (function () {\r\n function QuizSummary() {\r\n }\r\n return QuizSummary;\r\n}());\r\n\r\n//# sourceMappingURL=quiz.js.map\n\n/***/ }),\n\n/***/ 280:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return NavMenuService; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_http__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_router__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_toPromise__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_toPromise___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_toPromise__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_add_operator_map__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_add_operator_map___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_rxjs_add_operator_map__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__core_wd_service__ = __webpack_require__(17);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar NavMenuService = (function () {\r\n function NavMenuService(http, router, api) {\r\n this.http = http;\r\n this.router = router;\r\n this.api = api;\r\n }\r\n NavMenuService.prototype.getLocalNavMenu = function () {\r\n var _this = this;\r\n if (this.menuItems != null) {\r\n return Promise.resolve(this.menuItems);\r\n }\r\n else {\r\n return this.http.get('nav-menu.json?v=' + new Date().getTime())\r\n .toPromise()\r\n .then(function (response) {\r\n return _this.menuItems = response.json();\r\n }).catch(this.handleError);\r\n }\r\n };\r\n NavMenuService.prototype.updateNavMenu = function (dictaatName, menuItems) {\r\n var resource = \"/dictaten/\" + dictaatName + \"/menu\";\r\n return this.api.put(resource, menuItems)\r\n .toPromise()\r\n .then(function (response) { return response.json(); });\r\n };\r\n NavMenuService.prototype.handleError = function (error) {\r\n console.error('An error occurred', error); // for demo purposes only\r\n return Promise.reject(error.message || error);\r\n };\r\n return NavMenuService;\r\n}());\r\nNavMenuService = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"C\" /* Injectable */])(),\r\n __metadata(\"design:paramtypes\", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_1__angular_http__[\"b\" /* Http */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_1__angular_http__[\"b\" /* Http */]) === \"function\" && _a || Object, typeof (_b = typeof __WEBPACK_IMPORTED_MODULE_2__angular_router__[\"c\" /* Router */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_2__angular_router__[\"c\" /* Router */]) === \"function\" && _b || Object, typeof (_c = typeof __WEBPACK_IMPORTED_MODULE_5__core_wd_service__[\"a\" /* wdApi */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_5__core_wd_service__[\"a\" /* wdApi */]) === \"function\" && _c || Object])\r\n], NavMenuService);\r\n\r\nvar _a, _b, _c;\r\n//# sourceMappingURL=nav-menu.service.js.map\n\n/***/ }),\n\n/***/ 281:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return PollService; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__core_wd_service__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__core_basemodal_service__ = __webpack_require__(36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_toPromise__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_toPromise___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_toPromise__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_add_operator_map__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_add_operator_map___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_rxjs_add_operator_map__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__models_poll__ = __webpack_require__(282);\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar PollService = (function (_super) {\r\n __extends(PollService, _super);\r\n function PollService(wdapi) {\r\n var _this = _super.call(this) || this;\r\n _this.wdapi = wdapi;\r\n return _this;\r\n }\r\n PollService.prototype.vote = function (dictaatName, pollId, optionId) {\r\n var url = \"/dictaten/\" + dictaatName + '/poll/' + pollId + '/options/' + optionId + '/votes';\r\n return this.wdapi.post(url, {})\r\n .map(function (res) { return new __WEBPACK_IMPORTED_MODULE_5__models_poll__[\"a\" /* Poll */](res.json()); })\r\n .toPromise();\r\n };\r\n PollService.prototype.updatePoll = function (dictaatName, poll) {\r\n var _this = this;\r\n var url = \"/dictaten/\" + dictaatName + '/poll/' + poll.id;\r\n ;\r\n return this.wdapi.put(url, poll)\r\n .toPromise()\r\n .then(function (response) {\r\n return response.json();\r\n })\r\n .catch(function () {\r\n _this.resolveCancel(); //hier nog niet blij mee\r\n return null;\r\n });\r\n };\r\n PollService.prototype.addPoll = function (dictaatName, poll) {\r\n var _this = this;\r\n var url = \"/dictaten/\" + dictaatName + '/poll/';\r\n ;\r\n return this.wdapi.post(url, poll)\r\n .toPromise()\r\n .then(function (response) {\r\n return response.json();\r\n })\r\n .catch(function () {\r\n _this.resolveCancel(); //hier nog niet blij mee\r\n return null;\r\n });\r\n };\r\n PollService.prototype.getPolls = function (dictaatName) {\r\n var url = \"/dictaten/\" + dictaatName + '/poll/';\r\n ;\r\n return this.wdapi.get(url)\r\n .map(function (res) { return res.json(); })\r\n .toPromise();\r\n };\r\n PollService.prototype.getPoll = function (dictaatName, pollId) {\r\n if (!pollId) {\r\n return new Promise(function (resolve, reject) {\r\n reject(\"Cannot load poll without pollId\");\r\n });\r\n }\r\n var url = \"/dictaten/\" + dictaatName + '/poll/' + pollId;\r\n return this.wdapi.get(url)\r\n .map(function (res) { return new __WEBPACK_IMPORTED_MODULE_5__models_poll__[\"a\" /* Poll */](res.json()); })\r\n .toPromise();\r\n };\r\n return PollService;\r\n}(__WEBPACK_IMPORTED_MODULE_2__core_basemodal_service__[\"a\" /* BaseModalService */]));\r\nPollService = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"C\" /* Injectable */])(),\r\n __metadata(\"design:paramtypes\", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_1__core_wd_service__[\"a\" /* wdApi */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_1__core_wd_service__[\"a\" /* wdApi */]) === \"function\" && _a || Object])\r\n], PollService);\r\n\r\nvar _a;\r\n//# sourceMappingURL=poll.service.js.map\n\n/***/ }),\n\n/***/ 282:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Poll; });\nvar Poll = (function () {\r\n function Poll(json) {\r\n if (json === void 0) { json = null; }\r\n this.options = [{}, {}];\r\n if (json) {\r\n this.id = json.id;\r\n this.options = json.options;\r\n this.question = json.question;\r\n this.myVote = json.myVote;\r\n }\r\n }\r\n Poll.prototype.isValid = function () {\r\n var isValid = this.question != null && this.options.length >= 2;\r\n this.options.forEach(function (o) {\r\n if (o.text == null)\r\n isValid = false;\r\n });\r\n return isValid;\r\n };\r\n return Poll;\r\n}());\r\n\r\n//# sourceMappingURL=poll.js.map\n\n/***/ }),\n\n/***/ 283:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return LeaderboardComponent; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__services_dictaat_service__ = __webpack_require__(43);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__services_account_service__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__services_config_service__ = __webpack_require__(18);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n\r\n\r\n\r\n\r\nvar LeaderboardComponent = (function () {\r\n function LeaderboardComponent(dictaatService, accountService, configService) {\r\n this.dictaatService = dictaatService;\r\n this.accountService = accountService;\r\n this.configService = configService;\r\n this.state = 1;\r\n this.tab = 'individual';\r\n this.sort = 'average';\r\n }\r\n LeaderboardComponent.prototype.ngOnInit = function () {\r\n var _this = this;\r\n //handle inputs\r\n this.state = this.tab == 'group' ? 0 : 1;\r\n this.user = this.accountService.User;\r\n this.configService.Config.subscribe(function (config) {\r\n if (config) {\r\n //load individual\r\n _this.dictaatService.getParticipants(config.name)\r\n .then(function (participants) {\r\n _this.participants = participants;\r\n _this.top5 = participants.slice(0, 5);\r\n _this.leaderboard = _this.top5;\r\n });\r\n //load groups\r\n _this.dictaatService.getGroups(config.name)\r\n .then(function (groups) {\r\n _this.groups = groups.sort(function (a, b) {\r\n if (_this.sort == 'total')\r\n return a.totalPoints < b.totalPoints ? 1 : -1;\r\n else\r\n return a.points < b.points ? 1 : -1;\r\n });\r\n });\r\n }\r\n });\r\n };\r\n return LeaderboardComponent;\r\n}());\r\n__decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"F\" /* Input */])(),\r\n __metadata(\"design:type\", String)\r\n], LeaderboardComponent.prototype, \"tab\", void 0);\r\n__decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"F\" /* Input */])(),\r\n __metadata(\"design:type\", String)\r\n], LeaderboardComponent.prototype, \"sort\", void 0);\r\nLeaderboardComponent = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"o\" /* Component */])({\r\n selector: 'wd-leaderboard',\r\n template: __webpack_require__(490),\r\n styles: [__webpack_require__(491)]\r\n }),\r\n __metadata(\"design:paramtypes\", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_1__services_dictaat_service__[\"a\" /* DictaatService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_1__services_dictaat_service__[\"a\" /* DictaatService */]) === \"function\" && _a || Object, typeof (_b = typeof __WEBPACK_IMPORTED_MODULE_2__services_account_service__[\"a\" /* AccountService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_2__services_account_service__[\"a\" /* AccountService */]) === \"function\" && _b || Object, typeof (_c = typeof __WEBPACK_IMPORTED_MODULE_3__services_config_service__[\"a\" /* ConfigService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_3__services_config_service__[\"a\" /* ConfigService */]) === \"function\" && _c || Object])\r\n], LeaderboardComponent);\r\n\r\nvar _a, _b, _c;\r\n//# sourceMappingURL=leaderboard.component.js.map\n\n/***/ }),\n\n/***/ 284:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return DatabModule; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__datab_component__ = __webpack_require__(502);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__datab_service__ = __webpack_require__(285);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__angular_platform_browser__ = __webpack_require__(20);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__angular_http__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_forms__ = __webpack_require__(49);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__shared_game_elements_game_elements_module__ = __webpack_require__(93);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__shared_wd_shared_module__ = __webpack_require__(44);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar DatabModule = (function () {\r\n function DatabModule() {\r\n }\r\n return DatabModule;\r\n}());\r\nDatabModule = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"M\" /* NgModule */])({\r\n imports: [\r\n __WEBPACK_IMPORTED_MODULE_3__angular_platform_browser__[\"a\" /* BrowserModule */], __WEBPACK_IMPORTED_MODULE_4__angular_http__[\"c\" /* HttpModule */], __WEBPACK_IMPORTED_MODULE_5__angular_forms__[\"a\" /* FormsModule */], __WEBPACK_IMPORTED_MODULE_6__shared_game_elements_game_elements_module__[\"a\" /* GameElementsModule */], __WEBPACK_IMPORTED_MODULE_7__shared_wd_shared_module__[\"a\" /* WdSharedModule */]\r\n ],\r\n declarations: [\r\n __WEBPACK_IMPORTED_MODULE_1__datab_component__[\"a\" /* DatabComponent */],\r\n ],\r\n exports: [\r\n __WEBPACK_IMPORTED_MODULE_1__datab_component__[\"a\" /* DatabComponent */]\r\n ],\r\n providers: [\r\n __WEBPACK_IMPORTED_MODULE_2__datab_service__[\"a\" /* DatabService */]\r\n ],\r\n })\r\n], DatabModule);\r\n\r\n//# sourceMappingURL=datab.module.js.map\n\n/***/ }),\n\n/***/ 285:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export DbAssignment */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return DbSubmission; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return DatabService; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_http__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_add_operator_toPromise__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_add_operator_toPromise___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_rxjs_add_operator_toPromise__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_map__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_map___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_map__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__shared_core_wd_service__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__shared_models_assignment__ = __webpack_require__(67);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_rxjs__ = __webpack_require__(503);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_rxjs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_rxjs__);\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar DbAssignment = (function (_super) {\r\n __extends(DbAssignment, _super);\r\n function DbAssignment() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n return DbAssignment;\r\n}(__WEBPACK_IMPORTED_MODULE_5__shared_models_assignment__[\"a\" /* Assignment */]));\r\n\r\nvar DbSubmission = (function () {\r\n function DbSubmission() {\r\n }\r\n return DbSubmission;\r\n}());\r\n\r\nvar DatabService = (function () {\r\n //private root = \"https://localhost:22608\"\r\n function DatabService(http, wdApi) {\r\n this.http = http;\r\n this.wdApi = wdApi;\r\n this.root = \"https://webdictaat.aii.avans.nl/apis/databases\";\r\n }\r\n DatabService.prototype.getAssignment = function (daid) {\r\n var _this = this;\r\n return new __WEBPACK_IMPORTED_MODULE_6_rxjs__[\"Observable\"](function (o) {\r\n //return data from local\r\n var cache = _this.getFromLocal('a', daid);\r\n if (cache)\r\n return o.next(cache);\r\n //if no cache then retreive from online\r\n _this.http.get(_this.root + \"/assignments/\" + daid)\r\n .map(function (response) { return response.json(); })\r\n .do(function (a) { return _this.saveAssignmentInLocal(a); })\r\n .subscribe(function (a) { return o.next(a); });\r\n });\r\n };\r\n DatabService.prototype.getSubmissions = function (daid, userId) {\r\n var _this = this;\r\n return new __WEBPACK_IMPORTED_MODULE_6_rxjs__[\"Observable\"](function (o) {\r\n //return data from local\r\n var cache = _this.getFromLocal('s', daid);\r\n if (cache)\r\n return o.next(cache);\r\n //if no cache then retreive from online\r\n _this.http.get(_this.root + \"/assignments/\" + daid + \"/submissions/\" + userId)\r\n .map(function (response) { return response.json(); })\r\n .do(function (s) { return _this.saveSubmissionInLocal(s); })\r\n .subscribe(function (s) { return o.next(s); });\r\n });\r\n };\r\n DatabService.prototype.sendSubmission = function (waid, daid, submission) {\r\n var _this = this;\r\n submission.originalAssignmentId = waid;\r\n return this.http.post(this.root + \"/assignments/\" + daid + \"/submissions\", submission)\r\n .map(function (response) { return response.json(); })\r\n .do(function (s) { return _this.saveSubmissionInLocal(s); });\r\n };\r\n DatabService.prototype.getFromLocal = function (type, id) {\r\n return JSON.parse(localStorage.getItem('databaas:' + +type + ':' + id));\r\n };\r\n DatabService.prototype.saveAssignmentInLocal = function (assignment) {\r\n localStorage.setItem('databaas:a:' + assignment.assignmentId, JSON.stringify(assignment));\r\n };\r\n DatabService.prototype.saveSubmissionInLocal = function (submission) {\r\n if (!submission)\r\n return;\r\n localStorage.setItem('databaas:s:' + submission.assignmentId, JSON.stringify(submission));\r\n };\r\n return DatabService;\r\n}());\r\nDatabService = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"C\" /* Injectable */])(),\r\n __metadata(\"design:paramtypes\", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_1__angular_http__[\"b\" /* Http */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_1__angular_http__[\"b\" /* Http */]) === \"function\" && _a || Object, typeof (_b = typeof __WEBPACK_IMPORTED_MODULE_4__shared_core_wd_service__[\"a\" /* wdApi */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_4__shared_core_wd_service__[\"a\" /* wdApi */]) === \"function\" && _b || Object])\r\n], DatabService);\r\n\r\nvar _a, _b;\r\n//# sourceMappingURL=datab.service.js.map\n\n/***/ }),\n\n/***/ 298:\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(299);\n\n\n/***/ }),\n\n/***/ 299:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_platform_browser_dynamic__ = __webpack_require__(302);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__app_client_app_module__ = __webpack_require__(304);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__environments_environment__ = __webpack_require__(514);\n\r\n\r\n\r\n\r\nif (__WEBPACK_IMPORTED_MODULE_3__environments_environment__[\"a\" /* environment */].production) {\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"_23\" /* enableProdMode */])();\r\n}\r\nObject(__WEBPACK_IMPORTED_MODULE_1__angular_platform_browser_dynamic__[\"a\" /* platformBrowserDynamic */])().bootstrapModule(__WEBPACK_IMPORTED_MODULE_2__app_client_app_module__[\"a\" /* ClientModule */]);\r\n//# sourceMappingURL=main.client.js.map\n\n/***/ }),\n\n/***/ 304:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ClientModule; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_platform_browser__ = __webpack_require__(20);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_platform_browser_animations__ = __webpack_require__(305);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__angular_http__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__angular_common__ = __webpack_require__(35);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_forms__ = __webpack_require__(49);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__app_component__ = __webpack_require__(308);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__app_routing__ = __webpack_require__(445);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__shared_page_page_component__ = __webpack_require__(272);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__shared_core_html_outlet_directive__ = __webpack_require__(450);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__shared_nav_menu_nav_menu_component__ = __webpack_require__(506);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__shared_avatar_avatar_component__ = __webpack_require__(509);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__shared_wd_shared_module__ = __webpack_require__(44);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__extern_databases_datab_module__ = __webpack_require__(284);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__shared_game_elements_game_elements_module__ = __webpack_require__(93);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__message_message_component__ = __webpack_require__(511);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__profile_profile_component__ = __webpack_require__(274);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n//components\r\n\r\n\r\n\r\n\r\n\r\n\r\n//modules\r\n\r\n\r\n\r\n\r\n\r\nvar ClientModule = (function () {\r\n function ClientModule() {\r\n }\r\n return ClientModule;\r\n}());\r\nClientModule = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"M\" /* NgModule */])({\r\n imports: [__WEBPACK_IMPORTED_MODULE_1__angular_platform_browser__[\"a\" /* BrowserModule */], __WEBPACK_IMPORTED_MODULE_5__angular_forms__[\"a\" /* FormsModule */], __WEBPACK_IMPORTED_MODULE_2__angular_platform_browser_animations__[\"a\" /* BrowserAnimationsModule */], __WEBPACK_IMPORTED_MODULE_12__shared_wd_shared_module__[\"a\" /* WdSharedModule */], __WEBPACK_IMPORTED_MODULE_3__angular_http__[\"c\" /* HttpModule */], __WEBPACK_IMPORTED_MODULE_7__app_routing__[\"a\" /* routing */], __WEBPACK_IMPORTED_MODULE_13__extern_databases_datab_module__[\"a\" /* DatabModule */], __WEBPACK_IMPORTED_MODULE_14__shared_game_elements_game_elements_module__[\"a\" /* GameElementsModule */]],\r\n declarations: [__WEBPACK_IMPORTED_MODULE_9__shared_core_html_outlet_directive__[\"a\" /* HtmlOutlet */], __WEBPACK_IMPORTED_MODULE_6__app_component__[\"a\" /* AppComponent */], __WEBPACK_IMPORTED_MODULE_8__shared_page_page_component__[\"a\" /* PageComponent */], __WEBPACK_IMPORTED_MODULE_10__shared_nav_menu_nav_menu_component__[\"a\" /* NavMenuComponent */], __WEBPACK_IMPORTED_MODULE_11__shared_avatar_avatar_component__[\"a\" /* AvatarComponent */], __WEBPACK_IMPORTED_MODULE_15__message_message_component__[\"a\" /* MessageComponent */], __WEBPACK_IMPORTED_MODULE_16__profile_profile_component__[\"a\" /* ProfileComponent */]],\r\n providers: [\r\n { provide: __WEBPACK_IMPORTED_MODULE_4__angular_common__[\"g\" /* LocationStrategy */], useClass: __WEBPACK_IMPORTED_MODULE_4__angular_common__[\"d\" /* HashLocationStrategy */] }\r\n ],\r\n bootstrap: [__WEBPACK_IMPORTED_MODULE_6__app_component__[\"a\" /* AppComponent */]]\r\n })\r\n], ClientModule);\r\n\r\n//# sourceMappingURL=app.module.js.map\n\n/***/ }),\n\n/***/ 308:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return AppComponent; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_router__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__shared_services_config_service__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__shared_services_google_analytics_service__ = __webpack_require__(271);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n\r\n\r\n\r\n\r\nvar ga;\r\nvar AppComponent = (function () {\r\n function AppComponent(router, configService, ga) {\r\n this.router = router;\r\n this.configService = configService;\r\n this.ga = ga;\r\n this.Title = \"Webdictaat\";\r\n this.showSidebar = false;\r\n this.unhandledRouteEvents = [];\r\n }\r\n AppComponent.prototype.sendNewRouteEvent = function (url) {\r\n var _this = this;\r\n this.unhandledRouteEvents.push(url);\r\n if (this.Title) {\r\n this.unhandledRouteEvents.forEach(function (url) {\r\n _this.ga.set(_this.Title + '/#' + url);\r\n _this.ga.send();\r\n });\r\n }\r\n };\r\n AppComponent.prototype.ngOnInit = function () {\r\n var _this = this;\r\n this.configService.DictaatName.subscribe(function (dictaatName) { return _this.Title = dictaatName; });\r\n this.router.events.subscribe(function (event) {\r\n _this.showSidebar = false;\r\n if (event instanceof __WEBPACK_IMPORTED_MODULE_1__angular_router__[\"b\" /* NavigationEnd */]) {\r\n window.scrollTo(0, 0);\r\n _this.sendNewRouteEvent(event.urlAfterRedirects);\r\n }\r\n });\r\n //get the local config once\r\n this.configService.GetLocalConfig();\r\n };\r\n return AppComponent;\r\n}());\r\nAppComponent = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"o\" /* Component */])({\r\n selector: \"wd-client-app\",\r\n template: __webpack_require__(443),\r\n styles: [__webpack_require__(444)]\r\n }),\r\n __metadata(\"design:paramtypes\", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_1__angular_router__[\"c\" /* Router */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_1__angular_router__[\"c\" /* Router */]) === \"function\" && _a || Object, typeof (_b = typeof __WEBPACK_IMPORTED_MODULE_2__shared_services_config_service__[\"a\" /* ConfigService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_2__shared_services_config_service__[\"a\" /* ConfigService */]) === \"function\" && _b || Object, typeof (_c = typeof __WEBPACK_IMPORTED_MODULE_3__shared_services_google_analytics_service__[\"a\" /* GoogleAnalyticsEventsService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_3__shared_services_google_analytics_service__[\"a\" /* GoogleAnalyticsEventsService */]) === \"function\" && _c || Object])\r\n], AppComponent);\r\n\r\nvar _a, _b, _c;\r\n//# sourceMappingURL=app.component.js.map\n\n/***/ }),\n\n/***/ 36:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BaseModalService; });\n/* unused harmony export BaseModalComponent */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_rxjs_Subject__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_rxjs_Subject___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_rxjs_Subject__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_add_operator_toPromise__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_add_operator_toPromise___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_rxjs_add_operator_toPromise__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_map__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_map___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_map__);\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n\r\n//Nodig om een object om te toveren in een promise.\r\n\r\n\r\n\r\nvar ModalEvent = (function () {\r\n function ModalEvent() {\r\n }\r\n return ModalEvent;\r\n}());\r\nvar ShowModalEvent = (function (_super) {\r\n __extends(ShowModalEvent, _super);\r\n function ShowModalEvent(modalType, params) {\r\n var _this = _super.call(this) || this;\r\n _this.modalType = modalType;\r\n _this.params = params;\r\n _this.isVisible = true;\r\n return _this;\r\n }\r\n return ShowModalEvent;\r\n}(ModalEvent));\r\nvar CancelModalEvent = (function (_super) {\r\n __extends(CancelModalEvent, _super);\r\n function CancelModalEvent() {\r\n var _this = _super.call(this) || this;\r\n _this.params = null;\r\n _this.isVisible = false;\r\n return _this;\r\n }\r\n return CancelModalEvent;\r\n}(ModalEvent));\r\nvar BaseModalService = (function () {\r\n function BaseModalService() {\r\n this.modalEvent = new __WEBPACK_IMPORTED_MODULE_1_rxjs_Subject__[\"Subject\"]();\r\n }\r\n BaseModalService.prototype.ShowModal = function (modal, params) {\r\n var _this = this;\r\n this.modalEvent.next(new ShowModalEvent(modal, params));\r\n return new Promise(function (resolve, reject) {\r\n _this.resolveComplete = resolve;\r\n _this.resolveCancel = reject;\r\n });\r\n };\r\n BaseModalService.prototype.CancelModal = function () {\r\n this.resolveCancel();\r\n this.modalEvent.next(new CancelModalEvent());\r\n };\r\n BaseModalService.prototype.CompleteModal = function (objectToResolve) {\r\n this.resolveComplete(objectToResolve);\r\n this.modalEvent.next(new CancelModalEvent());\r\n };\r\n return BaseModalService;\r\n}());\r\nBaseModalService = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"C\" /* Injectable */])(),\r\n __metadata(\"design:paramtypes\", [])\r\n], BaseModalService);\r\n\r\nvar BaseModalComponent = (function () {\r\n function BaseModalComponent() {\r\n }\r\n ///call this method to initialize base component\r\n BaseModalComponent.prototype.wdOnInit = function (service, zone) {\r\n var _this = this;\r\n this.baseService = service;\r\n service.modalEvent.subscribe(function (modalEvent) {\r\n _this.isModalVisible = modalEvent.isVisible;\r\n _this.modalType = modalEvent.modalType;\r\n _this.params = modalEvent.params;\r\n zone.run(function () { });\r\n });\r\n };\r\n BaseModalComponent.prototype.cancel = function () {\r\n this.baseService.CancelModal();\r\n };\r\n return BaseModalComponent;\r\n}());\r\n\r\n//# sourceMappingURL=basemodal.service.js.map\n\n/***/ }),\n\n/***/ 43:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return DictaatService; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__models_dictaat__ = __webpack_require__(447);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__core_wd_service__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_toPromise__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_toPromise___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_toPromise__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_add_operator_map__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_add_operator_map___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_rxjs_add_operator_map__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_router__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_rxjs_BehaviorSubject__ = __webpack_require__(51);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_rxjs_BehaviorSubject___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_rxjs_BehaviorSubject__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__config_service__ = __webpack_require__(18);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n\r\n//Nodig om een object om te toveren in een promise.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar DictaatService = (function () {\r\n function DictaatService(wdapi, route, router, config) {\r\n this.wdapi = wdapi;\r\n this.route = route;\r\n this.router = router;\r\n this.config = config;\r\n this.CurrentDictaat = new __WEBPACK_IMPORTED_MODULE_6_rxjs_BehaviorSubject__[\"BehaviorSubject\"](null);\r\n }\r\n DictaatService.prototype.getDictaat = function (dictaatName) {\r\n var _this = this;\r\n return this.wdapi.get(\"/dictaten/\" + dictaatName)\r\n .map(function (response) { return new __WEBPACK_IMPORTED_MODULE_1__models_dictaat__[\"a\" /* Dictaat */](response.json()); })\r\n .toPromise()\r\n .then(function (dictaat) {\r\n if (dictaat) {\r\n _this.CurrentDictaat.next(dictaat);\r\n return dictaat;\r\n }\r\n });\r\n };\r\n DictaatService.prototype.removeDictaat = function (dictaatName) {\r\n return this.wdapi.delete(\"/dictaten/\" + dictaatName)\r\n .toPromise()\r\n .then(function (response) { return response.json(); });\r\n };\r\n DictaatService.prototype.addDictaat = function (dictaatName) {\r\n return this.wdapi.post('/dictaten', { name: dictaatName })\r\n .toPromise()\r\n .then(function (response) {\r\n return response.json();\r\n });\r\n };\r\n DictaatService.prototype.copyDictaat = function (dictaatName, newDictaatName) {\r\n return this.wdapi.post('/dictaten/' + dictaatName + '/copies', { name: newDictaatName })\r\n .map(function (response) { return response.json(); })\r\n .toPromise();\r\n };\r\n DictaatService.prototype.getDictaatSession = function (dictaatName) {\r\n return this.wdapi.get(\"/dictaten/\" + dictaatName + '/sessions/current')\r\n .map(function (response) { return response.json(); });\r\n };\r\n DictaatService.prototype.getDictaatContributers = function (dictaatName) {\r\n return this.wdapi.get(\"/dictaten/\" + dictaatName + '/contributers')\r\n .map(function (response) { return response.json(); })\r\n .toPromise();\r\n };\r\n DictaatService.prototype.join = function (dictaatName, group) {\r\n return this.wdapi.post('/dictaten/' + dictaatName + '/groups/' + group, {})\r\n .toPromise()\r\n .then(function (response) {\r\n return response.json();\r\n });\r\n };\r\n DictaatService.prototype.switchGroup = function (dictaatName, group) {\r\n return this.wdapi.put('/dictaten/' + dictaatName + '/groups/' + group, {})\r\n .map(function (response) { return response.json(); });\r\n };\r\n DictaatService.prototype.addContributer = function (dictaatName, email) {\r\n return this.wdapi.post('/dictaten/' + dictaatName + '/contributers/', { 'email': email })\r\n .map(function (response) { return response.json(); })\r\n .toPromise();\r\n };\r\n DictaatService.prototype.getDictaten = function () {\r\n return this.wdapi.get('/dictaten')\r\n .toPromise()\r\n .then(function (response) {\r\n return response.json();\r\n });\r\n };\r\n DictaatService.prototype.getMarkings = function (name) {\r\n return this.wdapi.get('/dictaten/' + name + '/markings')\r\n .toPromise()\r\n .then(function (response) {\r\n return new __WEBPACK_IMPORTED_MODULE_1__models_dictaat__[\"b\" /* DictaatMarkings */](response.json());\r\n });\r\n };\r\n DictaatService.prototype.getParticipants = function (dictaatName) {\r\n return this.wdapi.get('/dictaten/' + dictaatName + '/participants')\r\n .toPromise()\r\n .then(function (response) { return response.json(); });\r\n };\r\n DictaatService.prototype.getGroups = function (dictaatName) {\r\n return this.wdapi.get('/dictaten/' + dictaatName + '/groups')\r\n .toPromise()\r\n .then(function (response) { return response.json(); });\r\n };\r\n DictaatService.prototype.addGroups = function (dictaatName, groups) {\r\n return this.wdapi.post('/dictaten/' + dictaatName + '/groups', groups)\r\n .map(function (response) { return response.json(); });\r\n };\r\n DictaatService.prototype.removeGroup = function (dictaatName, groupName) {\r\n return this.wdapi.delete('/dictaten/' + dictaatName + '/groups/' + groupName)\r\n .map(function (response) { return response.json(); });\r\n };\r\n return DictaatService;\r\n}());\r\nDictaatService = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"C\" /* Injectable */])(),\r\n __metadata(\"design:paramtypes\", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_2__core_wd_service__[\"a\" /* wdApi */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_2__core_wd_service__[\"a\" /* wdApi */]) === \"function\" && _a || Object, typeof (_b = typeof __WEBPACK_IMPORTED_MODULE_5__angular_router__[\"a\" /* ActivatedRoute */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_5__angular_router__[\"a\" /* ActivatedRoute */]) === \"function\" && _b || Object, typeof (_c = typeof __WEBPACK_IMPORTED_MODULE_5__angular_router__[\"c\" /* Router */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_5__angular_router__[\"c\" /* Router */]) === \"function\" && _c || Object, typeof (_d = typeof __WEBPACK_IMPORTED_MODULE_7__config_service__[\"a\" /* ConfigService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_7__config_service__[\"a\" /* ConfigService */]) === \"function\" && _d || Object])\r\n], DictaatService);\r\n\r\nvar _a, _b, _c, _d;\r\n//# sourceMappingURL=dictaat.service.js.map\n\n/***/ }),\n\n/***/ 44:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return WdSharedModule; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__core_wd_service__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_common__ = __webpack_require__(35);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__services_config_service__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__services_dialog_service__ = __webpack_require__(476);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__services_rating_service__ = __webpack_require__(275);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__services_images_service__ = __webpack_require__(477);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__services_account_service__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__core_security_dirty_guard__ = __webpack_require__(478);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__services_video_service__ = __webpack_require__(479);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__nav_menu_nav_menu_service__ = __webpack_require__(280);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__services_achievement_service__ = __webpack_require__(276);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__services_quiz_service__ = __webpack_require__(278);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__services_assignment_service__ = __webpack_require__(95);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__services_dictaat_service__ = __webpack_require__(43);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__services_participantService__ = __webpack_require__(92);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__spinner_spinner_component__ = __webpack_require__(480);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__core_wdfilter_pipe__ = __webpack_require__(482);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__core_group_by_pipe__ = __webpack_require__(483);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__core_order_by_pipe__ = __webpack_require__(484);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__core_process_token_component__ = __webpack_require__(273);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__services_styling_service__ = __webpack_require__(485);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__modal_component_modal_component_component__ = __webpack_require__(486);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__services_google_analytics_service__ = __webpack_require__(271);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__services_poll_service__ = __webpack_require__(281);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\n\r\n\r\n\r\n//shared services\r\n //the service for config variables\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n//shared components\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n/**\r\n * This mdule contains all the shared services, and components that are reusable across the application\r\n */\r\nvar WdSharedModule = (function () {\r\n function WdSharedModule() {\r\n }\r\n return WdSharedModule;\r\n}());\r\nWdSharedModule = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"M\" /* NgModule */])({\r\n imports: [__WEBPACK_IMPORTED_MODULE_2__angular_common__[\"b\" /* CommonModule */]],\r\n providers: [\r\n __WEBPACK_IMPORTED_MODULE_4__services_dialog_service__[\"a\" /* DialogService */], __WEBPACK_IMPORTED_MODULE_12__services_quiz_service__[\"a\" /* QuizService */], __WEBPACK_IMPORTED_MODULE_6__services_images_service__[\"a\" /* ImageService */], __WEBPACK_IMPORTED_MODULE_11__services_achievement_service__[\"a\" /* AchievementService */], __WEBPACK_IMPORTED_MODULE_7__services_account_service__[\"a\" /* AccountService */], __WEBPACK_IMPORTED_MODULE_1__core_wd_service__[\"a\" /* wdApi */], __WEBPACK_IMPORTED_MODULE_3__services_config_service__[\"a\" /* ConfigService */],\r\n __WEBPACK_IMPORTED_MODULE_5__services_rating_service__[\"a\" /* RatingService */], __WEBPACK_IMPORTED_MODULE_8__core_security_dirty_guard__[\"a\" /* DirtyGuard */], __WEBPACK_IMPORTED_MODULE_9__services_video_service__[\"a\" /* VideoService */], __WEBPACK_IMPORTED_MODULE_10__nav_menu_nav_menu_service__[\"a\" /* NavMenuService */], __WEBPACK_IMPORTED_MODULE_13__services_assignment_service__[\"a\" /* AssignmentService */], __WEBPACK_IMPORTED_MODULE_14__services_dictaat_service__[\"a\" /* DictaatService */], __WEBPACK_IMPORTED_MODULE_15__services_participantService__[\"a\" /* ParticipantService */],\r\n __WEBPACK_IMPORTED_MODULE_21__services_styling_service__[\"a\" /* StylingService */], __WEBPACK_IMPORTED_MODULE_23__services_google_analytics_service__[\"a\" /* GoogleAnalyticsEventsService */], __WEBPACK_IMPORTED_MODULE_24__services_poll_service__[\"a\" /* PollService */]\r\n ],\r\n declarations: [__WEBPACK_IMPORTED_MODULE_16__spinner_spinner_component__[\"a\" /* SpinnerComponent */], __WEBPACK_IMPORTED_MODULE_17__core_wdfilter_pipe__[\"a\" /* WdFilterPipe */], __WEBPACK_IMPORTED_MODULE_18__core_group_by_pipe__[\"a\" /* GroupByPipe */], __WEBPACK_IMPORTED_MODULE_19__core_order_by_pipe__[\"a\" /* ArraySortPipe */], __WEBPACK_IMPORTED_MODULE_20__core_process_token_component__[\"a\" /* ProcessTokenComponent */], __WEBPACK_IMPORTED_MODULE_22__modal_component_modal_component_component__[\"a\" /* ModalComponentComponent */]],\r\n exports: [__WEBPACK_IMPORTED_MODULE_16__spinner_spinner_component__[\"a\" /* SpinnerComponent */], __WEBPACK_IMPORTED_MODULE_17__core_wdfilter_pipe__[\"a\" /* WdFilterPipe */], __WEBPACK_IMPORTED_MODULE_18__core_group_by_pipe__[\"a\" /* GroupByPipe */], __WEBPACK_IMPORTED_MODULE_19__core_order_by_pipe__[\"a\" /* ArraySortPipe */], __WEBPACK_IMPORTED_MODULE_22__modal_component_modal_component_component__[\"a\" /* ModalComponentComponent */]]\r\n })\r\n], WdSharedModule);\r\n\r\n//# sourceMappingURL=wd-shared.module.js.map\n\n/***/ }),\n\n/***/ 443:\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n {{Title}}\\r\\n
\\r\\n
\\r\\n \\r\\n\\t
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\"\n\n/***/ }),\n\n/***/ 444:\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(8)();\n// imports\n\n\n// module\nexports.push([module.i, \".side-menu{width:30%;padding:10px;position:fixed;z-index:1031;top:0;margin-top:10vh}.left-menu{left:0}.right-menu{right:0}.side-nav-wrapper{width:500px;position:fixed;top:0;margin-top:50px;left:100%;max-width:200%;z-index:1}.side-nav,.side-nav-wrapper{transition:all .4s ease 0s;height:100%}.side-nav{position:absolute;width:250px;left:0;background-color:#fff;width:50%}.side-nav .navbar-nav{margin-left:0}.side-nav.active{-webkit-transform:translate(-250px);transform:translate(-250px)}.side-nav li{line-height:40px;text-indent:20px}@media (min-width:767px){.wd-content{margin-left:30%}.side-nav-wrapper{display:none}}@media (min-width:1200px){.side-menu{width:400px}.wd-content{margin-left:400px}}@media (max-width:767px){.side-menu{display:none}}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n/***/ }),\n\n/***/ 445:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return routing; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_router__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__shared_page_page_component__ = __webpack_require__(272);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__shared_core_process_token_component__ = __webpack_require__(273);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__profile_profile_component__ = __webpack_require__(274);\n\r\n\r\n\r\n\r\nvar appRoutes = [\r\n {\r\n path: 'process-token',\r\n component: __WEBPACK_IMPORTED_MODULE_2__shared_core_process_token_component__[\"a\" /* ProcessTokenComponent */]\r\n },\r\n {\r\n path: 'profile',\r\n component: __WEBPACK_IMPORTED_MODULE_3__profile_profile_component__[\"a\" /* ProfileComponent */]\r\n },\r\n {\r\n path: ':pageName',\r\n component: __WEBPACK_IMPORTED_MODULE_1__shared_page_page_component__[\"a\" /* PageComponent */]\r\n },\r\n {\r\n path: '',\r\n redirectTo: '/home',\r\n pathMatch: 'full'\r\n },\r\n];\r\nvar routing = __WEBPACK_IMPORTED_MODULE_0__angular_router__[\"d\" /* RouterModule */].forRoot(appRoutes);\r\n//# sourceMappingURL=app.routing.js.map\n\n/***/ }),\n\n/***/ 446:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return PageService; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_http__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_add_operator_toPromise__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_add_operator_toPromise___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_rxjs_add_operator_toPromise__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_map__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_map___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_map__);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n\r\n\r\n\r\n\r\nvar PageService = (function () {\r\n function PageService(http) {\r\n this.http = http;\r\n }\r\n PageService.prototype.getPage = function (pageName) {\r\n return this.http.get('pages/' + pageName + '.html?v=' + new Date().getTime(), { withCredentials: true })\r\n .toPromise()\r\n .then(function (response) { return response.text(); }).catch(this.handleError);\r\n };\r\n PageService.prototype.handleError = function (error) {\r\n console.error('An error occurred', error); // for demo purposes only\r\n return Promise.reject(error.message || error);\r\n };\r\n return PageService;\r\n}());\r\nPageService = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"C\" /* Injectable */])(),\r\n __metadata(\"design:paramtypes\", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_1__angular_http__[\"b\" /* Http */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_1__angular_http__[\"b\" /* Http */]) === \"function\" && _a || Object])\r\n], PageService);\r\n\r\nvar _a;\r\n//# sourceMappingURL=page.service.js.map\n\n/***/ }),\n\n/***/ 447:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Dictaat; });\n/* unused harmony export DictaatSession */\n/* unused harmony export DictaatMarkingsAssignment */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return DictaatMarkings; });\nvar Dictaat = (function () {\r\n function Dictaat(json) {\r\n if (json === void 0) { json = null; }\r\n this.name = json.name;\r\n this.location = json.location;\r\n this.pages = json.pages;\r\n this.menuItems = json.menuItems;\r\n this.owner = json.owner;\r\n }\r\n return Dictaat;\r\n}());\r\n\r\nvar DictaatSession = (function () {\r\n function DictaatSession() {\r\n }\r\n return DictaatSession;\r\n}());\r\n\r\nvar DictaatMarkingsAssignment = (function () {\r\n function DictaatMarkingsAssignment(json) {\r\n if (json === void 0) { json = null; }\r\n if (json) {\r\n this.id = json.id;\r\n this.title = json.title;\r\n this.submissions = json.submissions;\r\n this.metadata = json.metadata;\r\n }\r\n }\r\n DictaatMarkingsAssignment.prototype.getSubmission = function (userId) {\r\n return this.submissions.find(function (s) { return s.userId == userId; });\r\n };\r\n return DictaatMarkingsAssignment;\r\n}());\r\n\r\nvar DictaatMarkings = (function () {\r\n function DictaatMarkings(json) {\r\n if (json === void 0) { json = null; }\r\n var _this = this;\r\n this.participants = [];\r\n this.assignments = [];\r\n if (json) {\r\n this.participants = json.participants;\r\n json.assignments.forEach(function (a) {\r\n _this.assignments.push(new DictaatMarkingsAssignment(a));\r\n });\r\n }\r\n }\r\n return DictaatMarkings;\r\n}());\r\n\r\n//# sourceMappingURL=dictaat.js.map\n\n/***/ }),\n\n/***/ 448:\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Profile information

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{participant.userName}}\\r\\n
\\r\\n
\\r\\n \\r\\n {{participant.name}}\\r\\n
\\r\\n
\\r\\n \\r\\n {{participant.email}}\\r\\n
\\r\\n
\\r\\n \\r\\n {{participant.points}} avans points for this dictaat\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Group information

\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n You are currently in group {{participant.group}}\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

You have not yet joined this dictaat!

\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n/***/ }),\n\n/***/ 449:\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(8)();\n// imports\n\n\n// module\nexports.push([module.i, \".wd-container{padding-top:20px}span{display:block}.tiny-form select{margin:0}.tiny-form{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.tiny-form label{padding:3px}.display-field span{display:block;color:#000;font-size:110%}.display-field label{display:block;margin-top:10px;color:#6e6e6e;font-size:80%;margin-bottom:0}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n/***/ }),\n\n/***/ 450:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export createComponentFactory */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return HtmlOutlet; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_platform_browser__ = __webpack_require__(20);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_router__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__angular_common__ = __webpack_require__(35);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__game_elements_game_elements_module__ = __webpack_require__(93);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__extern_databases_datab_module__ = __webpack_require__(284);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__wd_shared_module__ = __webpack_require__(44);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n//stackoverflow.com/questions/40060498/angular-2-1-0-create-child-component-on-the-fly-dynamically/40080290#40080290\r\n\r\n//angular modules\r\n\r\n\r\n\r\n//my modules\r\n\r\n //voor bart zijn datab project\r\n\r\nfunction createComponentFactory(compiler, metadata) {\r\n var cmpClass = (function () {\r\n function DynamicComponent() {\r\n }\r\n return DynamicComponent;\r\n }());\r\n var decoratedCmp = Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"o\" /* Component */])(metadata)(cmpClass);\r\n var DynamicHtmlModule = (function () {\r\n function DynamicHtmlModule() {\r\n }\r\n return DynamicHtmlModule;\r\n }());\r\n DynamicHtmlModule = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"M\" /* NgModule */])({\r\n imports: [\r\n __WEBPACK_IMPORTED_MODULE_1__angular_platform_browser__[\"a\" /* BrowserModule */], __WEBPACK_IMPORTED_MODULE_3__angular_common__[\"b\" /* CommonModule */], __WEBPACK_IMPORTED_MODULE_2__angular_router__[\"d\" /* RouterModule */], __WEBPACK_IMPORTED_MODULE_6__wd_shared_module__[\"a\" /* WdSharedModule */], __WEBPACK_IMPORTED_MODULE_4__game_elements_game_elements_module__[\"a\" /* GameElementsModule */], __WEBPACK_IMPORTED_MODULE_5__extern_databases_datab_module__[\"a\" /* DatabModule */]\r\n ],\r\n schemas: [__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"j\" /* CUSTOM_ELEMENTS_SCHEMA */], __WEBPACK_IMPORTED_MODULE_0__angular_core__[\"L\" /* NO_ERRORS_SCHEMA */]],\r\n declarations: [decoratedCmp]\r\n })\r\n ], DynamicHtmlModule);\r\n return compiler.compileModuleAndAllComponentsAsync(DynamicHtmlModule)\r\n .then(function (moduleWithComponentFactory) {\r\n return moduleWithComponentFactory.componentFactories.find(function (x) { return x.componentType === decoratedCmp; });\r\n });\r\n}\r\nvar HtmlOutlet = (function () {\r\n function HtmlOutlet(vcRef, compiler) {\r\n this.vcRef = vcRef;\r\n this.compiler = compiler;\r\n this.afterCompile = new __WEBPACK_IMPORTED_MODULE_0__angular_core__[\"x\" /* EventEmitter */]();\r\n }\r\n HtmlOutlet.prototype.ngOnChanges = function () {\r\n var _this = this;\r\n var html = this.html;\r\n if (!html)\r\n return;\r\n if (this.cmpRef) {\r\n this.cmpRef.destroy();\r\n }\r\n var compMetadata = new __WEBPACK_IMPORTED_MODULE_0__angular_core__[\"o\" /* Component */]({\r\n selector: 'dynamic-html',\r\n template: this.html,\r\n });\r\n createComponentFactory(this.compiler, compMetadata)\r\n .then(function (factory) {\r\n var injector = __WEBPACK_IMPORTED_MODULE_0__angular_core__[\"_0\" /* ReflectiveInjector */].fromResolvedProviders([], _this.vcRef.parentInjector);\r\n _this.cmpRef = _this.vcRef.createComponent(factory, 0, injector, []);\r\n _this.afterCompile.emit();\r\n });\r\n };\r\n HtmlOutlet.prototype.ngOnDestroy = function () {\r\n if (this.cmpRef) {\r\n this.cmpRef.destroy();\r\n }\r\n };\r\n return HtmlOutlet;\r\n}());\r\n__decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"F\" /* Input */])(),\r\n __metadata(\"design:type\", String)\r\n], HtmlOutlet.prototype, \"html\", void 0);\r\n__decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"T\" /* Output */])(),\r\n __metadata(\"design:type\", Object)\r\n], HtmlOutlet.prototype, \"afterCompile\", void 0);\r\nHtmlOutlet = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"u\" /* Directive */])({ selector: 'html-outlet' }),\r\n __metadata(\"design:paramtypes\", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_0__angular_core__[\"_18\" /* ViewContainerRef */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_0__angular_core__[\"_18\" /* ViewContainerRef */]) === \"function\" && _a || Object, typeof (_b = typeof __WEBPACK_IMPORTED_MODULE_0__angular_core__[\"m\" /* Compiler */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_0__angular_core__[\"m\" /* Compiler */]) === \"function\" && _b || Object])\r\n], HtmlOutlet);\r\n\r\nvar _a, _b;\r\n//# sourceMappingURL=html-outlet.directive.js.map\n\n/***/ }),\n\n/***/ 451:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return RatingComponent; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_router__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__services_rating_service__ = __webpack_require__(275);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__services_account_service__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__models_rating__ = __webpack_require__(452);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n\r\n\r\n\r\n\r\n\r\nvar RatingComponent = (function () {\r\n function RatingComponent(route, ratingService, accountService) {\r\n this.route = route;\r\n this.ratingService = ratingService;\r\n this.accountService = accountService;\r\n this.rate = new __WEBPACK_IMPORTED_MODULE_4__models_rating__[\"a\" /* Rate */]();\r\n }\r\n RatingComponent.prototype.ngOnInit = function () {\r\n var _this = this;\r\n this.accountService.User.subscribe(function (user) { _this.isAuth = user != null; });\r\n this.route.params.forEach(function (params) {\r\n _this.dictaatName = params['dictaatName'];\r\n _this.ratingService.getRating(_this.dictaatName, _this.rid)\r\n .then(function (rating) {\r\n _this.rating = rating;\r\n })\r\n .catch(function (reason) { return _this.error = reason; });\r\n });\r\n };\r\n RatingComponent.prototype.login = function () {\r\n this.accountService.Login();\r\n };\r\n RatingComponent.prototype.sendRate = function () {\r\n var _this = this;\r\n this.ratingService.SendRate(this.dictaatName, this.rating.id, this.rate)\r\n .then(function (rating) {\r\n _this.rating = rating;\r\n _this.rate = null;\r\n });\r\n };\r\n RatingComponent.prototype.setEmotion = function (emotion) {\r\n if (this.rate.emotion == emotion) {\r\n this.rate.emotion = null;\r\n }\r\n else {\r\n this.rate.emotion = emotion;\r\n }\r\n };\r\n return RatingComponent;\r\n}());\r\n__decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"F\" /* Input */])(),\r\n __metadata(\"design:type\", Number)\r\n], RatingComponent.prototype, \"rid\", void 0);\r\nRatingComponent = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"o\" /* Component */])({\r\n selector: \"wd-rating\",\r\n styles: [__webpack_require__(453)],\r\n template: __webpack_require__(454)\r\n }),\r\n __metadata(\"design:paramtypes\", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_1__angular_router__[\"a\" /* ActivatedRoute */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_1__angular_router__[\"a\" /* ActivatedRoute */]) === \"function\" && _a || Object, typeof (_b = typeof __WEBPACK_IMPORTED_MODULE_2__services_rating_service__[\"a\" /* RatingService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_2__services_rating_service__[\"a\" /* RatingService */]) === \"function\" && _b || Object, typeof (_c = typeof __WEBPACK_IMPORTED_MODULE_3__services_account_service__[\"a\" /* AccountService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_3__services_account_service__[\"a\" /* AccountService */]) === \"function\" && _c || Object])\r\n], RatingComponent);\r\n\r\nvar _a, _b, _c;\r\n//# sourceMappingURL=rating.component.js.map\n\n/***/ }),\n\n/***/ 452:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export Rating */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Rate; });\nvar Rating = (function () {\r\n function Rating() {\r\n this.description = false;\r\n }\r\n return Rating;\r\n}());\r\n\r\nvar Rate = (function () {\r\n function Rate() {\r\n }\r\n return Rate;\r\n}());\r\n\r\n//# sourceMappingURL=rating.js.map\n\n/***/ }),\n\n/***/ 453:\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(8)();\n// imports\n\n\n// module\nexports.push([module.i, \".emotion img{width:35px;cursor:pointer;transition:all .4s;margin:4px}.emotion{position:relative}.emotion.active img{-webkit-transform:scale(1.1);transform:scale(1.1)}.rate{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.text-baloon{position:absolute;top:-61px;left:0}.text-baloon .content{display:-webkit-box;display:-ms-flexbox;display:flex;padding:3px}.text-baloon .content button{margin:0}.text-baloon .content input{height:100%;padding:12px;margin:2px;width:300px;max-width:100%;border:0}.text-baloon{text-align:center;padding:0;background:#fff;border-radius:2px;box-shadow:0 1px 6px 0 rgba(0,0,0,.12),0 1px 6px 0 rgba(0,0,0,.12)}.text-baloon:after{content:\\\"\\\";position:absolute;border-style:solid;border-width:15px 15px 0;border-color:#fff transparent;display:block;width:0;z-index:1;bottom:-10px;left:7px}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n/***/ }),\n\n/***/ 454:\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\\r\\n
\\r\\n

{{error}}

\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n

{{rating.title}}

\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n {{rating.sadCounter}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{rating.happyCounter}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n

\\r\\n {{rating.sadCounter}}\\r\\n \\r\\n {{rating.happyCounter}}\\r\\n \\r\\n - \\\"{{rating.myRate.feedback}}\\\"\\r\\n

\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\"\n\n/***/ }),\n\n/***/ 455:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return AchievementsComponent; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__services_achievement_service__ = __webpack_require__(276);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__services_config_service__ = __webpack_require__(18);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n\r\n\r\n\r\nvar AchievementsComponent = (function () {\r\n function AchievementsComponent(achievementService, configService) {\r\n this.achievementService = achievementService;\r\n this.configService = configService;\r\n this.grid = true;\r\n }\r\n AchievementsComponent.prototype.ngOnInit = function () {\r\n var _this = this;\r\n this.configService.Config.subscribe(function (config) {\r\n if (config) {\r\n _this.achievementService.getDictaatAchievements(config.name).then(function (achievements) {\r\n _this.achievementgroups = achievements ? achievements : [];\r\n _this.getAllAchievements();\r\n });\r\n }\r\n });\r\n };\r\n AchievementsComponent.prototype.getAllAchievements = function () {\r\n for (var _i = 0, _a = this.achievementgroups; _i < _a.length; _i++) {\r\n var group = _a[_i];\r\n for (var _b = 0, _c = group.achievements; _b < _c.length; _b++) {\r\n var achiev = _c[_b];\r\n this.achievements.push(achiev);\r\n }\r\n }\r\n };\r\n return AchievementsComponent;\r\n}());\r\nAchievementsComponent = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"o\" /* Component */])({\r\n selector: \"wd-achievements\",\r\n template: __webpack_require__(456),\r\n styles: [__webpack_require__(457)]\r\n }),\r\n __metadata(\"design:paramtypes\", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_1__services_achievement_service__[\"a\" /* AchievementService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_1__services_achievement_service__[\"a\" /* AchievementService */]) === \"function\" && _a || Object, typeof (_b = typeof __WEBPACK_IMPORTED_MODULE_2__services_config_service__[\"a\" /* ConfigService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_2__services_config_service__[\"a\" /* ConfigService */]) === \"function\" && _b || Object])\r\n], AchievementsComponent);\r\n\r\nvar _a, _b;\r\n//# sourceMappingURL=achievements.component.js.map\n\n/***/ }),\n\n/***/ 456:\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\\r\\n
0\\\">\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{achievement.name}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{group.groupName}}

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n

{{achievement.name}}

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Ow noes!\\r\\n

The achievements are still at the achievements factory! Contact you're teacher for more information.

\\r\\n \\r\\n
\\r\\n
\\r\\n
\"\n\n/***/ }),\n\n/***/ 457:\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(8)();\n// imports\n\n\n// module\nexports.push([module.i, \".container{background-color:#fdfffd;box-shadow:5px 5px 5px #888;height:300px;min-width:150px;width:100%;overflow:hidden;border:1px solid}.achievementscontainer{height:300px;width:100%;overflow:auto}.flex1{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:distribute;justify-content:space-around;-ms-flex-line-pack:start;align-content:flex-start}.achievement{height:200px;width:150px;margin:5px;border-radius:5px;overflow:hidden;float:left;text-align:center;box-shadow:5px 5px 5px #888;background-color:#dedece;opacity:.5}.achievementimage{height:150px;width:150px}.completed{opacity:1}.achievementinfo{background-color:#a9a9a9;width:75px;height:40px;position:absolute;text-align:center;display:none}.achivementinfo p{line-height:0}.buttoncontainer{padding-right:10px;width:100%;height:40px;float:left}.listgroup{float:left;width:100%;margin-bottom:50px}.listbutton{margin-right:10px;margin-top:5px;float:right}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n/***/ }),\n\n/***/ 458:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return QuizModule; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_platform_browser__ = __webpack_require__(20);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_http__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__angular_forms__ = __webpack_require__(49);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__quiz_component__ = __webpack_require__(277);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__question_quiz_question_component__ = __webpack_require__(461);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__question_mc_question_mc_component__ = __webpack_require__(464);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__question_blanks_question_blanks_component__ = __webpack_require__(467);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__angular_common__ = __webpack_require__(35);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__question_question_group_question_group_component__ = __webpack_require__(470);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__question_question_sentence_question_sentence_component__ = __webpack_require__(473);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__wd_shared_module__ = __webpack_require__(44);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar QuizModule = (function () {\r\n function QuizModule() {\r\n }\r\n return QuizModule;\r\n}());\r\nQuizModule = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"M\" /* NgModule */])({\r\n providers: [],\r\n imports: [__WEBPACK_IMPORTED_MODULE_1__angular_platform_browser__[\"a\" /* BrowserModule */], __WEBPACK_IMPORTED_MODULE_2__angular_http__[\"c\" /* HttpModule */], __WEBPACK_IMPORTED_MODULE_11__wd_shared_module__[\"a\" /* WdSharedModule */], __WEBPACK_IMPORTED_MODULE_3__angular_forms__[\"a\" /* FormsModule */], __WEBPACK_IMPORTED_MODULE_8__angular_common__[\"b\" /* CommonModule */]],\r\n declarations: [__WEBPACK_IMPORTED_MODULE_4__quiz_component__[\"a\" /* QuizComponent */], __WEBPACK_IMPORTED_MODULE_5__question_quiz_question_component__[\"a\" /* QuestionComponent */], __WEBPACK_IMPORTED_MODULE_6__question_mc_question_mc_component__[\"a\" /* QuestionMcComponent */], __WEBPACK_IMPORTED_MODULE_7__question_blanks_question_blanks_component__[\"a\" /* QuestionBlanksComponent */], __WEBPACK_IMPORTED_MODULE_9__question_question_group_question_group_component__[\"a\" /* QuestionGroupComponent */], __WEBPACK_IMPORTED_MODULE_10__question_question_sentence_question_sentence_component__[\"a\" /* QuestionSentenceComponent */]],\r\n exports: [__WEBPACK_IMPORTED_MODULE_4__quiz_component__[\"a\" /* QuizComponent */], __WEBPACK_IMPORTED_MODULE_5__question_quiz_question_component__[\"a\" /* QuestionComponent */], __WEBPACK_IMPORTED_MODULE_6__question_mc_question_mc_component__[\"a\" /* QuestionMcComponent */], __WEBPACK_IMPORTED_MODULE_7__question_blanks_question_blanks_component__[\"a\" /* QuestionBlanksComponent */]]\r\n })\r\n], QuizModule);\r\n\r\n//# sourceMappingURL=quiz.module.js.map\n\n/***/ }),\n\n/***/ 459:\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n

Quiz - {{quiz.assignment.title}}\\r\\n ({{quiz.questions.length}} questions)\\r\\n

\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n yay! This quiz was completed on {{quiz.lastAttempt.timestamp | date}}\\r\\n \\r\\n \\r\\n {{quiz.assignment.points}}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n

{{quiz.assignment.description}}

\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Or\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n

You got {{quiz.lastAttempt.correctAnswers}} out of {{quiz.questions.length}}!

\\r\\n
\\r\\n
\\r\\n {{isCorrect}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\"\n\n/***/ }),\n\n/***/ 460:\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(8)();\n// imports\n\n\n// module\nexports.push([module.i, \".question-progress{list-style-type:none;padding:0}.question-progress li{display:inline-block}h2{font-size:150%;margin:0}h1 span{font-size:16px}.quiz{background-color:#fff;min-height:100px}.quiz .finished,.quiz .idle,.quiz .temporary,header{padding:20px}header{margin:10px 0;border-bottom:1px solid #ddd;position:relative}.quiz.complete .points{color:#fff;background-color:#66bb6a}.score{margin:5px}.bs-callout{padding:0}.bs-callout.complete{border-left-color:#66bb6a}fieldset.breakline{margin-bottom:0}.started .footer{height:100px;width:100%;background-color:#eee}.progress{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-top:20px;overflow:visible}.progress .point{width:20px;height:20px;border-radius:50%;border:2px solid #c8c8c8;background-color:#fff}.progress .point.correct{background-color:#66bb6a}.progress .point.wrong{background-color:#f44336}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n/***/ }),\n\n/***/ 461:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return QuestionComponent; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__models_quiz_question__ = __webpack_require__(94);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__question_base__ = __webpack_require__(56);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n\r\n\r\n\r\nvar QuestionComponent = (function () {\r\n function QuestionComponent() {\r\n this.onAnswer = new __WEBPACK_IMPORTED_MODULE_0__angular_core__[\"x\" /* EventEmitter */]();\r\n this.state = 'idle';\r\n }\r\n QuestionComponent.prototype.ngOnInit = function () {\r\n this.checker = new __WEBPACK_IMPORTED_MODULE_2__question_base__[\"a\" /* Checker */]();\r\n };\r\n QuestionComponent.prototype.check = function () {\r\n this.checker.isChecking = true;\r\n this.state = this.question.isCorrect ? 'correct' : 'wrong';\r\n };\r\n QuestionComponent.prototype.continue = function () {\r\n this.checker.reset();\r\n this.state = 'idle';\r\n this.onAnswer.emit();\r\n };\r\n return QuestionComponent;\r\n}());\r\n__decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"F\" /* Input */])(),\r\n __metadata(\"design:type\", typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_1__models_quiz_question__[\"a\" /* Question */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_1__models_quiz_question__[\"a\" /* Question */]) === \"function\" && _a || Object)\r\n], QuestionComponent.prototype, \"question\", void 0);\r\n__decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"T\" /* Output */])(),\r\n __metadata(\"design:type\", Object)\r\n], QuestionComponent.prototype, \"onAnswer\", void 0);\r\nQuestionComponent = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"o\" /* Component */])({\r\n selector: 'wd-quiz-question',\r\n template: __webpack_require__(462),\r\n styles: [__webpack_require__(463)]\r\n }),\r\n __metadata(\"design:paramtypes\", [])\r\n], QuestionComponent);\r\n\r\nvar _a;\r\n//# sourceMappingURL=quiz-question.component.js.map\n\n/***/ }),\n\n/***/ 462:\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\\r\\n\\r\\n
\\r\\n

{{question.text}}

\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n ?\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

{{state}}.

\\r\\n

explanation: {{question.explanation}}

\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\"\n\n/***/ }),\n\n/***/ 463:\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(8)();\n// imports\n\n\n// module\nexports.push([module.i, \".footer{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:#ddd;width:100%;transition:all .5s}.body,.footer{padding:20px}.state-icon{border-radius:50%;font-size:120%;height:100%;width:50px;background-color:#eee;color:#999;position:relative;overflow:hidden}.state-icon-slider{box-sizing:border-box;width:300%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transform:translateX(-50px);transform:translateX(-50px);transition:-webkit-transform .5s ease-in;transition:transform .5s ease-in;transition:transform .5s ease-in,-webkit-transform .5s ease-in}.state-icon-slider.wrong{-webkit-transform:translateX(-100px);transform:translateX(-100px)}.state-icon-slider.correct{-webkit-transform:translateX(0);transform:translateX(0)}.state-icon-slider span{line-height:50px;width:50px;display:inline-block;text-align:center;border-radius:50%}.state-icon-slider span.wrong{background-color:#f44336;color:#fff}.state-icon-slider span.correct{background-color:#66bb6a;color:#fff}.explanation{text-align:center;-webkit-box-flex:1;-ms-flex:1;flex:1;margin:0 15px}.explanation h2{margin:0}.explanation h2.wrong{color:#b71c1c}.explanation h2.correct{color:#1b5e20}@media (max-width:767px){.footer .explanation{-webkit-box-flex:1;-ms-flex:1 0 100%;flex:1 0 100%;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;min-height:50px;margin-bottom:5px}}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n/***/ }),\n\n/***/ 464:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return QuestionMcComponent; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__question_base__ = __webpack_require__(56);\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\n\r\n\r\nvar QuestionMcComponent = (function (_super) {\r\n __extends(QuestionMcComponent, _super);\r\n function QuestionMcComponent() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n QuestionMcComponent.prototype.ngOnInit = function () {\r\n };\r\n QuestionMcComponent.prototype.isSelected = function (answer) {\r\n return answer == this.answer;\r\n };\r\n QuestionMcComponent.prototype.selectAnswer = function (answer) {\r\n if (!this.checker.isChecking) {\r\n this.answer = answer;\r\n this.checkIfCorrect();\r\n }\r\n };\r\n QuestionMcComponent.prototype.checkIfCorrect = function () {\r\n //only need to check first question.\r\n this.question.isCorrect = this.answer.isCorrect;\r\n };\r\n return QuestionMcComponent;\r\n}(__WEBPACK_IMPORTED_MODULE_1__question_base__[\"b\" /* QuestionBase */]));\r\nQuestionMcComponent = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"o\" /* Component */])({\r\n selector: 'wd-question-mc',\r\n template: __webpack_require__(465),\r\n styles: [__webpack_require__(466)]\r\n })\r\n], QuestionMcComponent);\r\n\r\n//# sourceMappingURL=question-mc.component.js.map\n\n/***/ }),\n\n/***/ 465:\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\\r\\n \\r\\n \\r\\n
\"\n\n/***/ }),\n\n/***/ 466:\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(8)();\n// imports\n\n\n// module\nexports.push([module.i, \".badge{border-radius:3px;margin-left:3px}.badge.danger{background-color:#f44336}.badge.success{background-color:#66bb6a}button.checking{cursor:not-allowed;opacity:.5}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n/***/ }),\n\n/***/ 467:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return QuestionBlanksComponent; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__question_base__ = __webpack_require__(56);\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\n\r\n\r\nvar QuestionBlanksComponent = (function (_super) {\r\n __extends(QuestionBlanksComponent, _super);\r\n function QuestionBlanksComponent() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.textParts = [];\r\n _this.options = [];\r\n return _this;\r\n }\r\n QuestionBlanksComponent.prototype.ngOnInit = function () {\r\n var _this = this;\r\n this.textParts = this.getParts(this.question.body.sentence);\r\n this.textParts.forEach(function (tp) {\r\n if (tp.type === 'blank') {\r\n _this.options.push(tp);\r\n }\r\n });\r\n if (this.question.body.answers) {\r\n this.question.body.answers.forEach(function (a) {\r\n _this.options.push(new __WEBPACK_IMPORTED_MODULE_1__question_base__[\"c\" /* TextPart */](a.text));\r\n });\r\n }\r\n this.shuffle(this.options);\r\n };\r\n QuestionBlanksComponent.prototype.remove = function (part) {\r\n if (!this.checker.isChecking) {\r\n var answer = part.value;\r\n this.options.push(answer);\r\n part.value = null;\r\n }\r\n };\r\n QuestionBlanksComponent.prototype.select = function (selectedPart) {\r\n var _this = this;\r\n //place on next possible \r\n this.textParts.some(function (part, i) {\r\n if (part.type == 'blank' && !part.value) {\r\n part.value = selectedPart;\r\n _this.options.splice(_this.options.indexOf(selectedPart), 1);\r\n _this.checkIfCorrect();\r\n return true;\r\n }\r\n });\r\n };\r\n QuestionBlanksComponent.prototype.checkIfCorrect = function () {\r\n var isCorrect = true;\r\n this.textParts.forEach(function (part) {\r\n if (part.type == 'blank' && (!part.value || (part.value.text != part.text))) {\r\n isCorrect = false;\r\n }\r\n });\r\n this.question.isCorrect = isCorrect;\r\n };\r\n QuestionBlanksComponent.prototype.canSelect = function () {\r\n };\r\n return QuestionBlanksComponent;\r\n}(__WEBPACK_IMPORTED_MODULE_1__question_base__[\"b\" /* QuestionBase */]));\r\nQuestionBlanksComponent = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"o\" /* Component */])({\r\n selector: 'wd-question-blanks',\r\n template: __webpack_require__(468),\r\n styles: [__webpack_require__(469)]\r\n })\r\n], QuestionBlanksComponent);\r\n\r\n//# sourceMappingURL=question-blanks.component.js.map\n\n/***/ }),\n\n/***/ 468:\n/***/ (function(module, exports) {\n\nmodule.exports = \"

\\r\\n \\r\\n \\r\\n {{part.text}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n ...\\r\\n \\r\\n \\r\\n\\r\\n

\\r\\n\\r\\n

Options

\\r\\n\\r\\n\"\n\n/***/ }),\n\n/***/ 469:\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(8)();\n// imports\n\n\n// module\nexports.push([module.i, \".btn-sm{margin-left:3px;margin-right:3px}.word-container{min-height:60px;line-height:45px}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n/***/ }),\n\n/***/ 470:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return QuestionGroupComponent; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__question_base__ = __webpack_require__(56);\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\n\r\n\r\nvar QuestionGroupComponent = (function (_super) {\r\n __extends(QuestionGroupComponent, _super);\r\n function QuestionGroupComponent() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n QuestionGroupComponent.prototype.ngOnInit = function () {\r\n this.selectedAnswers = [];\r\n };\r\n QuestionGroupComponent.prototype.toggleAnswer = function (answer) {\r\n if (!this.checker.isChecking) {\r\n if (this.isSelected(answer)) {\r\n //remove answer\r\n this.selectedAnswers.splice(this.selectedAnswers.indexOf(answer), 1);\r\n }\r\n else {\r\n //add answer\r\n this.selectedAnswers.push(answer);\r\n }\r\n this.checkIfCorrect();\r\n }\r\n };\r\n QuestionGroupComponent.prototype.isSelected = function (answer) {\r\n return this.selectedAnswers.indexOf(answer) != -1;\r\n };\r\n QuestionGroupComponent.prototype.checkIfCorrect = function () {\r\n var _this = this;\r\n var isCorrect = true;\r\n //check if all correct answers are selected\r\n this.question.body.answers.forEach(function (answer) {\r\n if (answer.isCorrect && !_this.isSelected(answer)) {\r\n isCorrect = false;\r\n }\r\n });\r\n //check if all selected answers are correct\r\n this.selectedAnswers.forEach(function (answer) {\r\n if (!answer.isCorrect) {\r\n isCorrect = false;\r\n }\r\n });\r\n this.question.isCorrect = isCorrect;\r\n };\r\n return QuestionGroupComponent;\r\n}(__WEBPACK_IMPORTED_MODULE_1__question_base__[\"b\" /* QuestionBase */]));\r\nQuestionGroupComponent = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"o\" /* Component */])({\r\n selector: 'wd-question-group',\r\n template: __webpack_require__(471),\r\n styles: [__webpack_require__(472)]\r\n })\r\n], QuestionGroupComponent);\r\n\r\n//# sourceMappingURL=question-group.component.js.map\n\n/***/ }),\n\n/***/ 471:\n/***/ (function(module, exports) {\n\nmodule.exports = \"\\r\\n\"\n\n/***/ }),\n\n/***/ 472:\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(8)();\n// imports\n\n\n// module\nexports.push([module.i, \".badge{border-radius:3px;margin-left:3px}.badge.danger{background-color:#f44336}.badge.success{background-color:#66bb6a}button.checking{cursor:not-allowed;opacity:.5}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n/***/ }),\n\n/***/ 473:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return QuestionSentenceComponent; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__question_base__ = __webpack_require__(56);\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\n\r\n\r\nvar QuestionSentenceComponent = (function (_super) {\r\n __extends(QuestionSentenceComponent, _super);\r\n function QuestionSentenceComponent() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n QuestionSentenceComponent.prototype.ngOnInit = function () {\r\n var _this = this;\r\n this._original = this.getParts(this.question.body.sentence);\r\n this.Options = this.shuffle(this.getParts(this.question.body.sentence));\r\n this.question.body.answers.forEach(function (a) { return _this.Options.push(new __WEBPACK_IMPORTED_MODULE_1__question_base__[\"c\" /* TextPart */](a.text)); });\r\n this.shuffle(this.Options);\r\n this.Sentence = [];\r\n };\r\n QuestionSentenceComponent.prototype.select = function (textPart) {\r\n this.Sentence.push(textPart);\r\n this.Options.splice(this.Options.indexOf(textPart), 1);\r\n this.checkIfCorrect();\r\n };\r\n QuestionSentenceComponent.prototype.deselect = function (textPart) {\r\n this.Options.push(textPart);\r\n this.Sentence.splice(this.Sentence.indexOf(textPart), 1);\r\n this.checkIfCorrect();\r\n };\r\n QuestionSentenceComponent.prototype.checkIfCorrect = function () {\r\n var originalSentence = \"\";\r\n this._original.forEach(function (part) { return originalSentence += part.text; });\r\n var currentSentence = \"\";\r\n this.Sentence.forEach(function (part) { return currentSentence += part.text; });\r\n this.question.isCorrect = originalSentence == currentSentence;\r\n };\r\n return QuestionSentenceComponent;\r\n}(__WEBPACK_IMPORTED_MODULE_1__question_base__[\"b\" /* QuestionBase */]));\r\nQuestionSentenceComponent = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"o\" /* Component */])({\r\n selector: 'wd-question-sentence',\r\n template: __webpack_require__(474),\r\n styles: [__webpack_require__(475)]\r\n })\r\n], QuestionSentenceComponent);\r\n\r\n//# sourceMappingURL=question-sentence.component.js.map\n\n/***/ }),\n\n/***/ 474:\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\\r\\n \\r\\n
\\r\\n\\r\\n

Choose from the following words

\\r\\n
\\r\\n \\r\\n
\\r\\n\"\n\n/***/ }),\n\n/***/ 475:\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(8)();\n// imports\n\n\n// module\nexports.push([module.i, \".word-container{min-height:60px}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n/***/ }),\n\n/***/ 476:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export DialogData */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return DialogService; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_http__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_Subject__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_Subject___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_rxjs_Subject__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_toPromise__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_toPromise___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_toPromise__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_add_operator_map__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_add_operator_map___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_rxjs_add_operator_map__);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n\r\n\r\n//Nodig om een object om te toveren in een promise.\r\n\r\n\r\n\r\nvar DialogData = (function () {\r\n function DialogData() {\r\n }\r\n return DialogData;\r\n}());\r\n\r\nvar DialogService = (function () {\r\n function DialogService(http) {\r\n this.http = http;\r\n this.subject = new __WEBPACK_IMPORTED_MODULE_2_rxjs_Subject__[\"Subject\"]();\r\n }\r\n DialogService.prototype.showDialog = function (title, content) {\r\n this.dialogData = { Title: title, Content: content };\r\n this.subject.next(this.dialogData);\r\n };\r\n DialogService.prototype.getDialogData = function () {\r\n return this.subject.asObservable();\r\n };\r\n DialogService.prototype.handleError = function (error) {\r\n console.error('An error occurred', error); // for demo purposes only\r\n return Promise.reject(error.message || error);\r\n };\r\n return DialogService;\r\n}());\r\nDialogService = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"C\" /* Injectable */])(),\r\n __metadata(\"design:paramtypes\", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_1__angular_http__[\"b\" /* Http */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_1__angular_http__[\"b\" /* Http */]) === \"function\" && _a || Object])\r\n], DialogService);\r\n\r\nvar _a;\r\n//# sourceMappingURL=dialog.service.js.map\n\n/***/ }),\n\n/***/ 477:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ImageService; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__core_wd_service__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__core_basemodal_service__ = __webpack_require__(36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_toPromise__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_toPromise___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_toPromise__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_add_operator_map__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_add_operator_map___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_rxjs_add_operator_map__);\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n\r\n\r\n\r\n\r\n\r\nvar ImageService = (function (_super) {\r\n __extends(ImageService, _super);\r\n function ImageService(wdapi) {\r\n var _this = _super.call(this) || this;\r\n _this.wdapi = wdapi;\r\n return _this;\r\n }\r\n ImageService.prototype.addImages = function (dictaatName, image) {\r\n var url = \"/dictaten/\" + dictaatName + '/upload';\r\n return this.wdapi.postFile(url, image);\r\n };\r\n ImageService.prototype.handleError = function (error) {\r\n console.error('An error occurred', error); // for demo purposes only\r\n return Promise.reject(error.message || error);\r\n };\r\n return ImageService;\r\n}(__WEBPACK_IMPORTED_MODULE_2__core_basemodal_service__[\"a\" /* BaseModalService */]));\r\nImageService = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"C\" /* Injectable */])(),\r\n __metadata(\"design:paramtypes\", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_1__core_wd_service__[\"a\" /* wdApi */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_1__core_wd_service__[\"a\" /* wdApi */]) === \"function\" && _a || Object])\r\n], ImageService);\r\n\r\nvar _a;\r\n//# sourceMappingURL=images.service.js.map\n\n/***/ }),\n\n/***/ 478:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return DirtyGuard; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\n\r\nvar DirtyGuard = (function () {\r\n function DirtyGuard() {\r\n }\r\n DirtyGuard.prototype.canDeactivate = function (component) {\r\n if (component.isDirty()) {\r\n return confirm(\"You have unsaved changes. Would you like to discard these changes?\");\r\n }\r\n return true;\r\n };\r\n return DirtyGuard;\r\n}());\r\nDirtyGuard = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"C\" /* Injectable */])()\r\n], DirtyGuard);\r\n\r\n//# sourceMappingURL=dirty.guard.js.map\n\n/***/ }),\n\n/***/ 479:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return VideoService; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__core_wd_service__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__core_basemodal_service__ = __webpack_require__(36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_toPromise__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_toPromise___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_toPromise__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_add_operator_map__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_add_operator_map___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_rxjs_add_operator_map__);\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n\r\n\r\n\r\n\r\n\r\nvar VideoService = (function (_super) {\r\n __extends(VideoService, _super);\r\n function VideoService(wdapi) {\r\n var _this = _super.call(this) || this;\r\n _this.wdapi = wdapi;\r\n return _this;\r\n }\r\n VideoService.prototype.handleError = function (error) {\r\n console.error('An error occurred', error); // for demo purposes only\r\n return Promise.reject(error.message || error);\r\n };\r\n return VideoService;\r\n}(__WEBPACK_IMPORTED_MODULE_2__core_basemodal_service__[\"a\" /* BaseModalService */]));\r\nVideoService = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"C\" /* Injectable */])(),\r\n __metadata(\"design:paramtypes\", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_1__core_wd_service__[\"a\" /* wdApi */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_1__core_wd_service__[\"a\" /* wdApi */]) === \"function\" && _a || Object])\r\n], VideoService);\r\n\r\nvar _a;\r\n//# sourceMappingURL=video.service.js.map\n\n/***/ }),\n\n/***/ 480:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return SpinnerComponent; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n\r\nvar SpinnerComponent = (function () {\r\n function SpinnerComponent() {\r\n }\r\n SpinnerComponent.prototype.ngOnInit = function () { };\r\n return SpinnerComponent;\r\n}());\r\n__decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"F\" /* Input */])(),\r\n __metadata(\"design:type\", String)\r\n], SpinnerComponent.prototype, \"subtitle\", void 0);\r\nSpinnerComponent = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"o\" /* Component */])({\r\n selector: \"wd-spinner\",\r\n styles: [__webpack_require__(481)],\r\n template: \"\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
{{subtitle ? subtitle : 'loading content'}}
\\n \\n \"\r\n }),\r\n __metadata(\"design:paramtypes\", [])\r\n], SpinnerComponent);\r\n\r\n//# sourceMappingURL=spinner.component.js.map\n\n/***/ }),\n\n/***/ 481:\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(8)();\n// imports\n\n\n// module\nexports.push([module.i, \".subtitle{color:#bebebe;text-align:center;font-style:Italic}.spinner{margin:10px auto;width:50px;height:40px;text-align:center;font-size:10px}.spinner>div{background-color:#333;height:100%;width:6px;display:inline-block;-webkit-animation:sk-stretchdelay 1.2s infinite ease-in-out;animation:sk-stretchdelay 1.2s infinite ease-in-out}.spinner .rect2{-webkit-animation-delay:-1.1s;animation-delay:-1.1s}.spinner .rect3{-webkit-animation-delay:-1s;animation-delay:-1s}.spinner .rect4{-webkit-animation-delay:-.9s;animation-delay:-.9s}.spinner .rect5{-webkit-animation-delay:-.8s;animation-delay:-.8s}@-webkit-keyframes sk-stretchdelay{0%,40%,to{-webkit-transform:scaleY(.4)}20%{-webkit-transform:scaleY(1)}}@keyframes sk-stretchdelay{0%,40%,to{transform:scaleY(.4);-webkit-transform:scaleY(.4)}20%{transform:scaleY(1);-webkit-transform:scaleY(1)}}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n/***/ }),\n\n/***/ 482:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return WdFilterPipe; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\n\r\nvar WdFilterPipe = (function () {\r\n function WdFilterPipe() {\r\n }\r\n WdFilterPipe.prototype.transform = function (items, filter) {\r\n if (!items || !filter || !filter.value || !filter.property) {\r\n return items;\r\n }\r\n // filter items array, items which match and return true will be kept, false will be filtered out\r\n items = items.filter(function (item) {\r\n if (item[filter.property]) {\r\n return item[filter.property].toUpperCase().indexOf(filter.value.toUpperCase()) !== -1;\r\n }\r\n });\r\n return items;\r\n };\r\n return WdFilterPipe;\r\n}());\r\nWdFilterPipe = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"X\" /* Pipe */])({\r\n name: 'wdfilter',\r\n pure: false\r\n })\r\n], WdFilterPipe);\r\n\r\n//# sourceMappingURL=wdfilter.pipe.js.map\n\n/***/ }),\n\n/***/ 483:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return GroupByPipe; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\n\r\nvar GroupByPipe = (function () {\r\n function GroupByPipe() {\r\n }\r\n GroupByPipe.prototype.transform = function (value, field) {\r\n var groupedObj = value.reduce(function (prev, cur) {\r\n if (!prev[cur[field]]) {\r\n prev[cur[field]] = [cur];\r\n }\r\n else {\r\n prev[cur[field]].push(cur);\r\n }\r\n return prev;\r\n }, {});\r\n return Object.keys(groupedObj).map(function (key) { return ({ key: key, value: groupedObj[key] }); });\r\n };\r\n return GroupByPipe;\r\n}());\r\nGroupByPipe = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"X\" /* Pipe */])({ name: 'wdGroupBy' })\r\n], GroupByPipe);\r\n\r\n//# sourceMappingURL=group-by.pipe.js.map\n\n/***/ }),\n\n/***/ 484:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ArraySortPipe; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\n\r\nvar ArraySortPipe = (function () {\r\n function ArraySortPipe() {\r\n }\r\n ArraySortPipe.prototype.transform = function (array, args) {\r\n array.sort(function (a, b) {\r\n if (a < b) {\r\n return -1;\r\n }\r\n else if (a > b) {\r\n return 1;\r\n }\r\n else {\r\n return 0;\r\n }\r\n });\r\n return array;\r\n };\r\n return ArraySortPipe;\r\n}());\r\nArraySortPipe = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"X\" /* Pipe */])({\r\n name: \"wdsort\"\r\n })\r\n], ArraySortPipe);\r\n\r\n//# sourceMappingURL=order-by.pipe.js.map\n\n/***/ }),\n\n/***/ 485:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return StylingService; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_rxjs_add_operator_toPromise__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_rxjs_add_operator_toPromise___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_rxjs_add_operator_toPromise__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_add_operator_map__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_add_operator_map___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_rxjs_add_operator_map__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__shared_core_basemodal_service__ = __webpack_require__(36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__shared_core_wd_service__ = __webpack_require__(17);\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n\r\n\r\n\r\n\r\n\r\nvar StylingService = (function (_super) {\r\n __extends(StylingService, _super);\r\n function StylingService(wdapi) {\r\n var _this = _super.call(this) || this;\r\n _this.wdapi = wdapi;\r\n return _this;\r\n }\r\n StylingService.prototype.getStyle = function (dictaatName, styleName) {\r\n var url = \"/dictaten/\" + dictaatName + '/styling/' + styleName;\r\n return this.wdapi.get(url)\r\n .toPromise()\r\n .then(function (response) { return response.text(); });\r\n };\r\n StylingService.prototype.updateStyle = function (dictaatName, styleName, content) {\r\n var url = \"/dictaten/\" + dictaatName + '/styling/' + styleName;\r\n return this.wdapi.put(url, { content: content })\r\n .toPromise()\r\n .then(function (response) { return response._body; });\r\n };\r\n return StylingService;\r\n}(__WEBPACK_IMPORTED_MODULE_3__shared_core_basemodal_service__[\"a\" /* BaseModalService */]));\r\nStylingService = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"C\" /* Injectable */])(),\r\n __metadata(\"design:paramtypes\", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_4__shared_core_wd_service__[\"a\" /* wdApi */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_4__shared_core_wd_service__[\"a\" /* wdApi */]) === \"function\" && _a || Object])\r\n], StylingService);\r\n\r\nvar _a;\r\n//# sourceMappingURL=styling.service.js.map\n\n/***/ }),\n\n/***/ 486:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ModalComponentComponent; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n\r\nvar ModalComponentComponent = (function () {\r\n function ModalComponentComponent() {\r\n this.isValid = true;\r\n this.onComplete = new __WEBPACK_IMPORTED_MODULE_0__angular_core__[\"x\" /* EventEmitter */]();\r\n this.onCancel = new __WEBPACK_IMPORTED_MODULE_0__angular_core__[\"x\" /* EventEmitter */]();\r\n }\r\n ModalComponentComponent.prototype.ngOnInit = function () {\r\n if (!this.config)\r\n this.config = {};\r\n };\r\n ModalComponentComponent.prototype.cancel = function () {\r\n this.isVisible = false;\r\n this.onCancel.emit(null);\r\n };\r\n ModalComponentComponent.prototype.complete = function () {\r\n this.onComplete.emit(null);\r\n };\r\n return ModalComponentComponent;\r\n}());\r\n__decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"F\" /* Input */])(),\r\n __metadata(\"design:type\", Boolean)\r\n], ModalComponentComponent.prototype, \"isVisible\", void 0);\r\n__decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"F\" /* Input */])(),\r\n __metadata(\"design:type\", Object)\r\n], ModalComponentComponent.prototype, \"config\", void 0);\r\n__decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"F\" /* Input */])(),\r\n __metadata(\"design:type\", Boolean)\r\n], ModalComponentComponent.prototype, \"isValid\", void 0);\r\n__decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"T\" /* Output */])(),\r\n __metadata(\"design:type\", Object)\r\n], ModalComponentComponent.prototype, \"onComplete\", void 0);\r\n__decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"T\" /* Output */])(),\r\n __metadata(\"design:type\", Object)\r\n], ModalComponentComponent.prototype, \"onCancel\", void 0);\r\nModalComponentComponent = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"o\" /* Component */])({\r\n selector: 'wd-modal',\r\n template: __webpack_require__(487),\r\n styles: [__webpack_require__(488)]\r\n }),\r\n __metadata(\"design:paramtypes\", [])\r\n], ModalComponentComponent);\r\n\r\n//# sourceMappingURL=modal-component.component.js.map\n\n/***/ }),\n\n/***/ 487:\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n

\\r\\n {{config.title ? config.title : 'New modal' }}\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"\n\n/***/ }),\n\n/***/ 488:\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(8)();\n// imports\n\n\n// module\nexports.push([module.i, \"\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n/***/ }),\n\n/***/ 489:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return LeaderboardModule; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_platform_browser__ = __webpack_require__(20);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_http__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__angular_forms__ = __webpack_require__(49);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__leaderboard_component__ = __webpack_require__(283);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__totalpoints_pipe__ = __webpack_require__(492);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__wd_shared_module__ = __webpack_require__(44);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar LeaderboardModule = (function () {\r\n function LeaderboardModule() {\r\n }\r\n return LeaderboardModule;\r\n}());\r\nLeaderboardModule = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"M\" /* NgModule */])({\r\n providers: [],\r\n imports: [__WEBPACK_IMPORTED_MODULE_1__angular_platform_browser__[\"a\" /* BrowserModule */], __WEBPACK_IMPORTED_MODULE_6__wd_shared_module__[\"a\" /* WdSharedModule */], __WEBPACK_IMPORTED_MODULE_2__angular_http__[\"c\" /* HttpModule */], __WEBPACK_IMPORTED_MODULE_3__angular_forms__[\"a\" /* FormsModule */]],\r\n declarations: [__WEBPACK_IMPORTED_MODULE_4__leaderboard_component__[\"a\" /* LeaderboardComponent */], __WEBPACK_IMPORTED_MODULE_5__totalpoints_pipe__[\"a\" /* TotalPointsPipe */]],\r\n exports: [__WEBPACK_IMPORTED_MODULE_4__leaderboard_component__[\"a\" /* LeaderboardComponent */]]\r\n })\r\n], LeaderboardModule);\r\n\r\n//# sourceMappingURL=leaderboard.module.js.map\n\n/***/ }),\n\n/***/ 490:\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
RankGroupSizeAverageTotal
#{{i + 1}}{{item.groupName}}{{item.members.length}} members{{item.points}} points{{item.totalPoints}} points
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
RankNameGroupPoints
#{{i + 1}}{{item.name ? item.name : item.email}}{{item.group}}{{item.points}} points
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"\n\n/***/ }),\n\n/***/ 491:\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(8)();\n// imports\n\n\n// module\nexports.push([module.i, \".leaderboard{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);background-color:#fff;min-height:100px}.leaderboard table{border-collapse:collapse}.leaderboard table tr{border-bottom:1px solid #eee;position:relative}.leaderboard table tr.me{font-weight:700}.leaderboard .loader{height:3px;width:100%;background-color:orange;position:absolute;bottom:0;left:0}.table{margin-bottom:0}.points{text-align:right;padding-right:50px}th{font-weight:400;color:#888;font-style:italic;font-size:80%}@media (max-width:767px){.resp{display:none}}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n/***/ }),\n\n/***/ 492:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return TotalPointsPipe; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\n\r\nvar TotalPointsPipe = (function () {\r\n function TotalPointsPipe() {\r\n }\r\n TotalPointsPipe.prototype.transform = function (items, filter) {\r\n var totalPoints = 0;\r\n items.forEach(function (item) { return totalPoints += item.points; });\r\n return totalPoints;\r\n };\r\n return TotalPointsPipe;\r\n}());\r\nTotalPointsPipe = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"X\" /* Pipe */])({\r\n name: 'wdtotalpoints',\r\n pure: false\r\n })\r\n], TotalPointsPipe);\r\n\r\n//# sourceMappingURL=totalpoints.pipe.js.map\n\n/***/ }),\n\n/***/ 493:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return AssignmentComponent; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__services_assignment_service__ = __webpack_require__(95);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__models_assignment__ = __webpack_require__(67);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__services_dictaat_service__ = __webpack_require__(43);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__services_config_service__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__services_account_service__ = __webpack_require__(19);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar AssignmentComponent = (function () {\r\n function AssignmentComponent(accountService, dictaatService, assignmentService, configService) {\r\n this.accountService = accountService;\r\n this.dictaatService = dictaatService;\r\n this.assignmentService = assignmentService;\r\n this.configService = configService;\r\n }\r\n AssignmentComponent.prototype.ngOnInit = function () {\r\n var _this = this;\r\n this.configService.Config.subscribe(function (config) {\r\n _this.dictaatName = config ? config.name : null;\r\n if (_this.dictaatName)\r\n _this.assignmentService.getAssignmentDetails(config.name, _this.aid).then(function (ad) {\r\n _this.assignment = ad;\r\n });\r\n });\r\n this.accountService.User.subscribe(function (user) { return _this.user = user; });\r\n };\r\n AssignmentComponent.prototype.submit = function () {\r\n var _this = this;\r\n this.assignment.state = 1;\r\n this.assignmentService.submit(this.dictaatName, this.aid, this.user.id)\r\n .then(function (s) { return _this.assignment.mySubmission = s; })\r\n .catch(function (s) { return _this.assignment.state = 0; });\r\n };\r\n AssignmentComponent.prototype.edit = function () {\r\n var _this = this;\r\n var original = Object.assign({}, this.assignment);\r\n this.assignmentService.ShowModal('edit', [this.assignment])\r\n .then(function (assignment) { return _this.assignment = assignment; })\r\n .catch(function () {\r\n _this.assignment = new __WEBPACK_IMPORTED_MODULE_2__models_assignment__[\"a\" /* Assignment */](original);\r\n });\r\n };\r\n return AssignmentComponent;\r\n}());\r\n__decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"F\" /* Input */])(),\r\n __metadata(\"design:type\", Number)\r\n], AssignmentComponent.prototype, \"aid\", void 0);\r\nAssignmentComponent = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"o\" /* Component */])({\r\n selector: 'wd-assignment',\r\n template: __webpack_require__(494),\r\n styles: [__webpack_require__(495)]\r\n }),\r\n __metadata(\"design:paramtypes\", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_5__services_account_service__[\"a\" /* AccountService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_5__services_account_service__[\"a\" /* AccountService */]) === \"function\" && _a || Object, typeof (_b = typeof __WEBPACK_IMPORTED_MODULE_3__services_dictaat_service__[\"a\" /* DictaatService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_3__services_dictaat_service__[\"a\" /* DictaatService */]) === \"function\" && _b || Object, typeof (_c = typeof __WEBPACK_IMPORTED_MODULE_1__services_assignment_service__[\"a\" /* AssignmentService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_1__services_assignment_service__[\"a\" /* AssignmentService */]) === \"function\" && _c || Object, typeof (_d = typeof __WEBPACK_IMPORTED_MODULE_4__services_config_service__[\"a\" /* ConfigService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_4__services_config_service__[\"a\" /* ConfigService */]) === \"function\" && _d || Object])\r\n], AssignmentComponent);\r\n\r\nvar _a, _b, _c, _d;\r\n//# sourceMappingURL=assignment.component.js.map\n\n/***/ }),\n\n/***/ 494:\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\\r\\n

{{assignment.title}}

\\r\\n

\\r\\n {{assignment.description}}\\r\\n

\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n Mark this assignment as complete. You will recieve points when a teacher accepts this submission\\r\\n \\r\\n \\r\\n \\r\\n This assignment is marked as complete. You will recieve points when a teacher accepts this submission\\r\\n \\r\\n \\r\\n \\r\\n yay! This assignment was completed on {{assignment.mySubmission.timestamp | date}}\\r\\n \\r\\n\\r\\n \\r\\n {{assignment.points}}\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\"\n\n/***/ }),\n\n/***/ 495:\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(8)();\n// imports\n\n\n// module\nexports.push([module.i, \".assignment{padding:15px;position:relative;background-color:#fff}.assignment h1{margin-top:5px}.assignment.level-Gold{border-bottom:2px solid gold}.assignment.level-Gold .points{color:#fff;background-color:gold}.assignment.level-Bronze{border-bottom:2px solid #cd7f32},.assignment.level-Bronze .points{color:#fff;background-color:#cd7f32}.assignment.level-Silver{border-bottom:2px solid silver}.assignment.level-Silver .points{color:#fff;background-color:silver}.tooltip-container .none{color:#000;font-size:1em;background-color:#eee;cursor:pointer}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n/***/ }),\n\n/***/ 496:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return PortalComponent; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__services_account_service__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__services_config_service__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__services_participantService__ = __webpack_require__(92);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n\r\n\r\n\r\n\r\nvar PortalComponent = (function () {\r\n function PortalComponent(participantService, accountService, configService) {\r\n this.participantService = participantService;\r\n this.accountService = accountService;\r\n this.configService = configService;\r\n }\r\n PortalComponent.prototype.ngOnInit = function () {\r\n var _this = this;\r\n this.accountService.User.subscribe(function (user) { _this.user = user; _this.retrieveParticipant(); });\r\n this.configService.Config.subscribe(function (config) { _this.config = config; _this.retrieveParticipant(); });\r\n };\r\n PortalComponent.prototype.retrieveParticipant = function () {\r\n var _this = this;\r\n if (this.config && this.user && !this.portal) {\r\n this.participantService.getParticipant(this.config.name, this.user.email)\r\n .then(function (participant) {\r\n _this.portal = participant;\r\n });\r\n }\r\n };\r\n PortalComponent.prototype.onError = function () {\r\n };\r\n return PortalComponent;\r\n}());\r\nPortalComponent = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"o\" /* Component */])({\r\n selector: 'wd-portal',\r\n template: __webpack_require__(497),\r\n styles: [__webpack_require__(498)]\r\n }),\r\n __metadata(\"design:paramtypes\", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_3__services_participantService__[\"a\" /* ParticipantService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_3__services_participantService__[\"a\" /* ParticipantService */]) === \"function\" && _a || Object, typeof (_b = typeof __WEBPACK_IMPORTED_MODULE_1__services_account_service__[\"a\" /* AccountService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_1__services_account_service__[\"a\" /* AccountService */]) === \"function\" && _b || Object, typeof (_c = typeof __WEBPACK_IMPORTED_MODULE_2__services_config_service__[\"a\" /* ConfigService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_2__services_config_service__[\"a\" /* ConfigService */]) === \"function\" && _c || Object])\r\n], PortalComponent);\r\n\r\nvar _a, _b, _c;\r\n//# sourceMappingURL=portal.component.js.map\n\n/***/ }),\n\n/***/ 497:\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n

You completed {{portal.completedAssignments}} out of {{portal.assignmentIds.length}} \\r\\n assignments for this course.\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n

You recieved{{portal.recievedPoints}} points in this course

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

0\\\">\\r\\n You are\\r\\n 0\\\">{{portal.comparedToAverage | number : '1.2-2'}}% better\\r\\n {{(portal.comparedToAverage * -1) | number : '1.2-2'}}% behind \\r\\n compared to other participants\\r\\n

\\r\\n

\\r\\n Go make your first assignment!\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\"\n\n/***/ }),\n\n/***/ 498:\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(8)();\n// imports\n\n\n// module\nexports.push([module.i, \".portal{min-height:100px;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:5px 0}.portal,.portal .element{display:-webkit-box;display:-ms-flexbox;display:flex}.portal .element{border:1px dotted #888;border-radius:2px;padding:20px 30px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-flex:2;-ms-flex-positive:2;flex-grow:2;-ms-flex-preferred-size:0;flex-basis:0}.portal .spinner{position:absolute}.portal .gap{-webkit-box-flex:1;-ms-flex:1 0 10px;flex:1 0 10px}.focus{display:block;font-weight:700}.portal .element p{text-align:center}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n/***/ }),\n\n/***/ 499:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return PollComponent; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__services_poll_service__ = __webpack_require__(281);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__services_config_service__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__models_poll__ = __webpack_require__(282);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__services_account_service__ = __webpack_require__(19);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n\r\n\r\n\r\n\r\n\r\nvar PollComponent = (function () {\r\n function PollComponent(pollService, configService, accountService) {\r\n this.pollService = pollService;\r\n this.configService = configService;\r\n this.accountService = accountService;\r\n this.selectedOption = null;\r\n this.isSubmitting = false;\r\n }\r\n PollComponent.prototype.getColor = function (index) {\r\n if (this.poll) {\r\n //avans red = rgb(198, 0, 42);\r\n var value = (198 / this.poll.options.length + 1) * (index + 1);\r\n return \"rgb(\" + (value) + \",0, 42)\";\r\n }\r\n };\r\n PollComponent.prototype.ngOnInit = function () {\r\n var _this = this;\r\n this.accountService.User.subscribe(function (u) {\r\n _this.isAuth = u != null;\r\n });\r\n this.configService.DictaatName.subscribe(function (name) {\r\n if (name) {\r\n _this.dictaatName = name;\r\n _this.pollService.getPoll(name, _this.pid)\r\n .then(function (poll) { return _this.poll = poll; });\r\n }\r\n });\r\n };\r\n PollComponent.prototype.isSelected = function (option) {\r\n return option == this.selectedOption;\r\n };\r\n PollComponent.prototype.vote = function () {\r\n var _this = this;\r\n if (!this.isSubmitting) {\r\n this.isSubmitting = true;\r\n this.pollService.vote(this.dictaatName, this.poll.id, this.selectedOption.id)\r\n .then(function (poll) {\r\n _this.poll = poll;\r\n _this.isSubmitting = false;\r\n });\r\n }\r\n };\r\n PollComponent.prototype.login = function () {\r\n this.accountService.Login();\r\n };\r\n PollComponent.prototype.edit = function () {\r\n var _this = this;\r\n var original = Object.assign({}, this.poll);\r\n this.pollService.ShowModal('edit', [this.poll])\r\n .then(function (poll) { return _this.poll = poll; })\r\n .catch(function () {\r\n _this.poll = new __WEBPACK_IMPORTED_MODULE_3__models_poll__[\"a\" /* Poll */](original);\r\n });\r\n };\r\n return PollComponent;\r\n}());\r\n__decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"F\" /* Input */])(),\r\n __metadata(\"design:type\", Number)\r\n], PollComponent.prototype, \"pid\", void 0);\r\nPollComponent = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"o\" /* Component */])({\r\n selector: 'wd-poll',\r\n template: __webpack_require__(500),\r\n styles: [__webpack_require__(501)]\r\n }),\r\n __metadata(\"design:paramtypes\", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_1__services_poll_service__[\"a\" /* PollService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_1__services_poll_service__[\"a\" /* PollService */]) === \"function\" && _a || Object, typeof (_b = typeof __WEBPACK_IMPORTED_MODULE_2__services_config_service__[\"a\" /* ConfigService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_2__services_config_service__[\"a\" /* ConfigService */]) === \"function\" && _b || Object, typeof (_c = typeof __WEBPACK_IMPORTED_MODULE_4__services_account_service__[\"a\" /* AccountService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_4__services_account_service__[\"a\" /* AccountService */]) === \"function\" && _c || Object])\r\n], PollComponent);\r\n\r\nvar _a, _b, _c;\r\n//# sourceMappingURL=poll.component.js.map\n\n/***/ }),\n\n/***/ 500:\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n

Poll - {{poll.question}}

\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n {{option.text}}\\r\\n
\\r\\n \\r\\n \\r\\n {{option.votesPercentage}}%\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

*You already voted for this poll

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\"\n\n/***/ }),\n\n/***/ 501:\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(8)();\n// imports\n\n\n// module\nexports.push([module.i, \".beam{display:inline-block;height:20px;background-color:#2e2e2e;color:#fff;min-width:10px;-webkit-transform-origin:left center;transform-origin:left center;-webkit-animation:bounce-scale .7s ease-in-out}@-webkit-keyframes bounce-scale{0%{-webkit-transform:scalex(.01);transform:scalex(.01)}to{-webkit-transform:scalex(1);transform:scalex(1)}}@keyframes bounce-scale{0%{-webkit-transform:scalex(.01);transform:scalex(.01)}to{-webkit-transform:scalex(1);transform:scalex(1)}}.option{line-height:20px;margin-top:5px}.option-text{color:#2e2e2e}.percentage{padding:3px 5px}.poll{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);background-color:#fff;min-height:100px;padding:0}.poll-container{overflow:hidden;margin:20px}.disclaimer{color:#a9a9a9;font-style:italic}.score{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}header{padding:20px;margin:10px 0;border-bottom:1px solid #ddd;position:relative}h2{font-size:150%;margin:0}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n/***/ }),\n\n/***/ 502:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return DatabComponent; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__datab_service__ = __webpack_require__(285);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__shared_services_account_service__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__shared_services_assignment_service__ = __webpack_require__(95);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__shared_services_config_service__ = __webpack_require__(18);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n\r\n\r\n\r\n\r\n\r\nvar DatabComponent = (function () {\r\n function DatabComponent(databService, accountService, assignmentService, configService) {\r\n this.databService = databService;\r\n this.accountService = accountService;\r\n this.assignmentService = assignmentService;\r\n this.configService = configService;\r\n this.pollticker = 0;\r\n }\r\n DatabComponent.prototype.ngOnInit = function () {\r\n var _this = this;\r\n this.configService.Config.subscribe(function (config) {\r\n _this.dictaatName = config.name;\r\n _this.accountService.User.subscribe(function (user) {\r\n _this.assignmentService.getAssignmentDetails(_this.dictaatName, _this.waid).then(function (assignment) {\r\n _this.assignment = assignment;\r\n if (user) {\r\n _this.user = user;\r\n _this.getAssignment();\r\n _this.getSubmission();\r\n }\r\n });\r\n });\r\n });\r\n };\r\n DatabComponent.prototype.getAssignment = function () {\r\n var _this = this;\r\n this.databService.getAssignment(this.assignment.externalId)\r\n .subscribe(function (response) {\r\n if (response) {\r\n _this.expectedOutput = response.expectedOutput;\r\n }\r\n });\r\n };\r\n DatabComponent.prototype.getSubmission = function () {\r\n var _this = this;\r\n this.databService.getSubmissions(this.assignment.externalId, this.user.email)\r\n .subscribe(function (submission) {\r\n if (submission) {\r\n _this.submission = submission;\r\n _this.checkIfComplete();\r\n }\r\n else {\r\n _this.submission = new __WEBPACK_IMPORTED_MODULE_1__datab_service__[\"b\" /* DbSubmission */]();\r\n _this.submission.email = _this.user.email;\r\n }\r\n });\r\n };\r\n DatabComponent.prototype.checkIfComplete = function () {\r\n var _this = this;\r\n if (this.submission.assignmentToken && !this.assignment.mySubmission) {\r\n this.assignmentService.submitWithToken(this.dictaatName, this.waid, this.submission.assignmentToken)\r\n .then(function (assignment) {\r\n _this.assignment = assignment;\r\n });\r\n }\r\n };\r\n DatabComponent.prototype.submit = function () {\r\n var _this = this;\r\n this.err = null; //reset err;\r\n this.submission.message = null;\r\n this.databService.sendSubmission(this.waid, this.assignment.externalId, this.submission)\r\n .subscribe(function (submission) {\r\n _this.submission = submission;\r\n //start polling for 10s\r\n _this.pollticker = 0;\r\n _this.poll();\r\n });\r\n };\r\n DatabComponent.prototype.poll = function () {\r\n var _this = this;\r\n this.databService.getSubmissions(this.assignment.externalId, this.user.email)\r\n .subscribe(function (submission) {\r\n _this.submission = submission;\r\n if (_this.submission && _this.submission.statusId != 0) {\r\n _this.checkIfComplete();\r\n }\r\n else if (_this.pollticker != 5) {\r\n //try agian in 2s\r\n setTimeout(function () {\r\n _this.pollticker++;\r\n _this.poll();\r\n }, 2000);\r\n }\r\n });\r\n };\r\n return DatabComponent;\r\n}());\r\n__decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"F\" /* Input */])(),\r\n __metadata(\"design:type\", Number)\r\n], DatabComponent.prototype, \"waid\", void 0);\r\n__decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"F\" /* Input */])(),\r\n __metadata(\"design:type\", Number)\r\n], DatabComponent.prototype, \"daid\", void 0);\r\nDatabComponent = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"o\" /* Component */])({\r\n selector: \"wd-datab\",\r\n styles: [__webpack_require__(504)],\r\n template: __webpack_require__(505)\r\n }),\r\n __metadata(\"design:paramtypes\", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_1__datab_service__[\"a\" /* DatabService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_1__datab_service__[\"a\" /* DatabService */]) === \"function\" && _a || Object, typeof (_b = typeof __WEBPACK_IMPORTED_MODULE_2__shared_services_account_service__[\"a\" /* AccountService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_2__shared_services_account_service__[\"a\" /* AccountService */]) === \"function\" && _b || Object, typeof (_c = typeof __WEBPACK_IMPORTED_MODULE_3__shared_services_assignment_service__[\"a\" /* AssignmentService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_3__shared_services_assignment_service__[\"a\" /* AssignmentService */]) === \"function\" && _c || Object, typeof (_d = typeof __WEBPACK_IMPORTED_MODULE_4__shared_services_config_service__[\"a\" /* ConfigService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_4__shared_services_config_service__[\"a\" /* ConfigService */]) === \"function\" && _d || Object])\r\n], DatabComponent);\r\n\r\nvar _a, _b, _c, _d;\r\n//# sourceMappingURL=datab.component.js.map\n\n/***/ }),\n\n/***/ 504:\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(8)();\n// imports\n\n\n// module\nexports.push([module.i, \"textarea{resize:vertical;width:100%}.title{font-weight:700}.datab{position:relative;padding:10px}.datab .loader{position:absolute;width:100%;height:100%;background-color:hsla(0,0%,39%,.3);top:0;left:0}.datab .loader .spinner{position:absolute;left:50%;top:50%;width:100px;margin-left:-50px;margin-top:-30px}.assignment{padding:15px;position:relative;background-color:#fff}.assignment h1{margin-top:5px}.points{width:50px;height:50px;background-color:#fff;box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);border-radius:50%;position:absolute;bottom:-26px;right:16px;z-index:101}.assignment.level-Gold{border-bottom:2px solid gold}.assignment.level-Gold .points{background-color:gold}.assignment.level-Bronze{border-bottom:2px solid #cd7f32}.assignment.level-Bronze .points{background-color:#cd7f32}.assignment.level-Silver{border-bottom:2px solid silver}.assignment.level-Silver .points{background-color:silver}.assignment .points.complete{background-color:#5cb85c!important}.points span{color:#fff;font-weight:700;display:block;width:100%;text-align:center;line-height:50px;font-size:16px}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n/***/ }),\n\n/***/ 505:\n/***/ (function(module, exports) {\n\nmodule.exports = \"\\r\\n
\\r\\n
\\r\\n
{{assignment.title}}
\\r\\n

\\r\\n {{assignment.description}}\\r\\n

\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{assignment.points}}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Well done! \\r\\n

You completed this assignment on {{submission.timestamp | date:'shortDate'}}

\\r\\n
\\r\\n
\\r\\n
= 2 \\\" > \\r\\n
\\r\\n \\r\\n Oh snap!

{{submission.message}}.

\\r\\n

Change a few things up and try submitting again.

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Oh noes! :(

{{err}}.

\\r\\n

Please wait a few minutes before submitting again. Our poor servers need some time to recover.

\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Loading submission\\r\\n
\\r\\n\\r\\n
\\r\\n Login to submit your answer!\\r\\n
\\r\\n
\\r\\n\"\n\n/***/ }),\n\n/***/ 506:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return NavMenuComponent; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_router__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__nav_menu_service__ = __webpack_require__(280);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n\r\n\r\n\r\nvar NavMenuComponent = (function () {\r\n function NavMenuComponent(route, navMenuService) {\r\n this.route = route;\r\n this.navMenuService = navMenuService;\r\n }\r\n NavMenuComponent.prototype.toggle = function (item) {\r\n if (this.selected == item) {\r\n this.selected = null;\r\n }\r\n else {\r\n this.selected = item;\r\n }\r\n };\r\n NavMenuComponent.prototype.ngOnInit = function () {\r\n var _this = this;\r\n if (!this.MenuItems) {\r\n this.navMenuService.getLocalNavMenu().then(function (menuItems) {\r\n _this.MenuItems = menuItems;\r\n });\r\n }\r\n };\r\n return NavMenuComponent;\r\n}());\r\n__decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"F\" /* Input */])(),\r\n __metadata(\"design:type\", Array)\r\n], NavMenuComponent.prototype, \"MenuItems\", void 0);\r\nNavMenuComponent = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"o\" /* Component */])({\r\n selector: \"wd-nav-menu\",\r\n template: __webpack_require__(507),\r\n styles: [__webpack_require__(508)],\r\n providers: [__WEBPACK_IMPORTED_MODULE_2__nav_menu_service__[\"a\" /* NavMenuService */]]\r\n }),\r\n __metadata(\"design:paramtypes\", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_1__angular_router__[\"a\" /* ActivatedRoute */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_1__angular_router__[\"a\" /* ActivatedRoute */]) === \"function\" && _a || Object, typeof (_b = typeof __WEBPACK_IMPORTED_MODULE_2__nav_menu_service__[\"a\" /* NavMenuService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_2__nav_menu_service__[\"a\" /* NavMenuService */]) === \"function\" && _b || Object])\r\n], NavMenuComponent);\r\n\r\nvar _a, _b;\r\n//# sourceMappingURL=nav-menu.component.js.map\n\n/***/ }),\n\n/***/ 507:\n/***/ (function(module, exports) {\n\nmodule.exports = \"\\r\\n\"\n\n/***/ }),\n\n/***/ 508:\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(8)();\n// imports\n\n\n// module\nexports.push([module.i, \".nav{background-color:#fff}.nav.root{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.dropdown-menu,.dropdown-menu li{display:block;width:100%}.dropdown-menu li:hover{background-color:#eee}a{border-left:5px solid #a9a9a9}a.active{border-left:5px solid #00aeed}.nav{max-height:80vh;overflow-y:auto}.nav.sub{max-height:0;overflow:hidden}.nav.sub a{font-size:90%;color:#000;text-decoration:underline}.nav.sub.open{transition:max-height .5s;max-height:1000px}.dropdown-toggle{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.dropdown-toggle .caret{transition:-webkit-transform .5s;transition:transform .5s;transition:transform .5s,-webkit-transform .5s}.dropdown-toggle.rotate .caret{-webkit-transform:rotate(180deg);transform:rotate(180deg)}@media (min-width:767px){.nav.root{margin:20px}}@media (max-width:767px){.nav.root{padding-bottom:50px;max-height:100%;overflow-y:auto;box-shadow:none}}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n/***/ }),\n\n/***/ 509:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return AvatarComponent; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__services_account_service__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__services_dictaat_service__ = __webpack_require__(43);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__services_config_service__ = __webpack_require__(18);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n\r\n\r\n\r\n\r\nvar AvatarComponent = (function () {\r\n function AvatarComponent(accountService, dictaatService, configService) {\r\n this.accountService = accountService;\r\n this.dictaatService = dictaatService;\r\n this.configService = configService;\r\n this.isRoute = false;\r\n }\r\n AvatarComponent.prototype.ngOnInit = function () {\r\n var _this = this;\r\n this.accountService.User.subscribe(function (user) {\r\n _this.user = user;\r\n });\r\n };\r\n AvatarComponent.prototype.Login = function () {\r\n this.accountService.Login();\r\n };\r\n AvatarComponent.prototype.Logout = function () {\r\n this.accountService.Logoff();\r\n };\r\n return AvatarComponent;\r\n}());\r\n__decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"F\" /* Input */])(),\r\n __metadata(\"design:type\", Boolean)\r\n], AvatarComponent.prototype, \"isRoute\", void 0);\r\nAvatarComponent = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"o\" /* Component */])({\r\n selector: \"wd-avatar\",\r\n styles: [\"\\n \\n .profilelink{color:white;}\\n div{ float:right;}\\n a{color:white;}\\n \"],\r\n template: __webpack_require__(510),\r\n providers: []\r\n }),\r\n __metadata(\"design:paramtypes\", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_1__services_account_service__[\"a\" /* AccountService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_1__services_account_service__[\"a\" /* AccountService */]) === \"function\" && _a || Object, typeof (_b = typeof __WEBPACK_IMPORTED_MODULE_2__services_dictaat_service__[\"a\" /* DictaatService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_2__services_dictaat_service__[\"a\" /* DictaatService */]) === \"function\" && _b || Object, typeof (_c = typeof __WEBPACK_IMPORTED_MODULE_3__services_config_service__[\"a\" /* ConfigService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_3__services_config_service__[\"a\" /* ConfigService */]) === \"function\" && _c || Object])\r\n], AvatarComponent);\r\n\r\nvar _a, _b, _c;\r\n//# sourceMappingURL=avatar.component.js.map\n\n/***/ }),\n\n/***/ 510:\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\\r\\n

{{user.name}}

\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \"\n\n/***/ }),\n\n/***/ 511:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return MessageComponent; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__shared_services_dictaat_service__ = __webpack_require__(43);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__shared_services_config_service__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__shared_services_account_service__ = __webpack_require__(19);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n\r\n\r\n\r\n\r\nvar MessageComponent = (function () {\r\n function MessageComponent(dictaatService, accountService, configService) {\r\n this.dictaatService = dictaatService;\r\n this.accountService = accountService;\r\n this.configService = configService;\r\n this.hide = true;\r\n }\r\n MessageComponent.prototype.ngOnInit = function () {\r\n var _this = this;\r\n this.user = this.accountService.User;\r\n this.configService.Config.subscribe(function (config) {\r\n if (!config)\r\n return;\r\n _this.dictaatName = config.name;\r\n _this.dictaatService.getDictaatSession(config.name).subscribe(function (session) {\r\n _this.participantCount = session.participantIds.length;\r\n _this.dictaatService.getGroups(_this.dictaatName)\r\n .then(function (groups) {\r\n _this.groups = groups;\r\n _this.groups.push({ groupName: \"none\" });\r\n _this.hide = session.containsMe;\r\n });\r\n });\r\n });\r\n };\r\n MessageComponent.prototype.join = function () {\r\n var _this = this;\r\n this.dictaatService.join(this.dictaatName, this.group)\r\n .then(function (didJoin) { return _this.hide = true; });\r\n };\r\n MessageComponent.prototype.login = function () {\r\n this.accountService.Login();\r\n };\r\n return MessageComponent;\r\n}());\r\nMessageComponent = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"o\" /* Component */])({\r\n animations: [\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"_36\" /* trigger */])('enterAnimation', [\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"_35\" /* transition */])(':enter', [\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"_34\" /* style */])({ transform: 'translateY(-100%)', opacity: 0 }),\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"_21\" /* animate */])('1000ms', Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"_34\" /* style */])({ transform: 'translateY(0)', opacity: 1 }))\r\n ]),\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"_35\" /* transition */])(':leave', [\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"_34\" /* style */])({ transform: 'translateY(0)', opacity: 1 }),\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"_21\" /* animate */])('1000ms', Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"_34\" /* style */])({ transform: 'translateY(-100%)', opacity: 0 }))\r\n ])\r\n ])\r\n ],\r\n selector: 'wd-message',\r\n template: __webpack_require__(512),\r\n styles: [__webpack_require__(513)]\r\n }),\r\n __metadata(\"design:paramtypes\", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_1__shared_services_dictaat_service__[\"a\" /* DictaatService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_1__shared_services_dictaat_service__[\"a\" /* DictaatService */]) === \"function\" && _a || Object, typeof (_b = typeof __WEBPACK_IMPORTED_MODULE_3__shared_services_account_service__[\"a\" /* AccountService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_3__shared_services_account_service__[\"a\" /* AccountService */]) === \"function\" && _b || Object, typeof (_c = typeof __WEBPACK_IMPORTED_MODULE_2__shared_services_config_service__[\"a\" /* ConfigService */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_2__shared_services_config_service__[\"a\" /* ConfigService */]) === \"function\" && _c || Object])\r\n], MessageComponent);\r\n\r\nvar _a, _b, _c;\r\n//# sourceMappingURL=message.component.js.map\n\n/***/ }),\n\n/***/ 512:\n/***/ (function(module, exports) {\n\nmodule.exports = \"
\\r\\n
\\r\\n
\\r\\n

Welcome!

\\r\\n

Do you want to contest with other participants and get the most comple experience? Login and join the course!

\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n

0\\\">Join {{participantCount}} others in this course!

\\r\\n

Be the first to join this course!

\\r\\n
\\r\\n
\\r\\n
\"\n\n/***/ }),\n\n/***/ 513:\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(8)();\n// imports\n\n\n// module\nexports.push([module.i, \".message-container{padding:10px}.message-container .panel{padding:5px;position:relative}.panel-body h1{margin:0;font-size:130%}.panel-body{padding-right:40%;text-align:center}.panel-side{position:absolute;right:0;top:0;height:100%;width:30%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background-color:#c6002a}.panel-side p{color:#fff;width:60%;text-align:center}.tiny-form{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.tiny-form label{padding:3px}.alphabet{background-color:#00aeed;color:#fff;display:inline-block;text-align:center;width:auto;padding:2px 20px;margin-bottom:0}.panel-side img{position:absolute;width:70px;left:-35px;top:50%;margin-top:-35px;box-shadow:0 1px 6px 0 rgba(0,0,0,.12),0 1px 6px 0 rgba(0,0,0,.12);border-radius:50%}@media (max-width:767px){.panel-side{display:none}.panel-body{padding-right:15px}.panel{border-bottom:4px solid #c6002a}.tiny-form{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n/***/ }),\n\n/***/ 514:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return environment; });\n// The file contents for the current environment will overwrite these during build.\r\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\r\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\r\n// The list of which env maps to which file can be found in `.angular-cli.json`.\r\n// The file contents for the current environment will overwrite these during build.\r\nvar environment = {\r\n production: false\r\n};\r\n//# sourceMappingURL=environment.js.map\n\n/***/ }),\n\n/***/ 56:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Checker; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return TextPart; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return QuestionBase; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__models_quiz_question__ = __webpack_require__(94);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_core__ = __webpack_require__(1);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n\r\n\r\nvar Checker = (function () {\r\n function Checker() {\r\n }\r\n Checker.prototype.reset = function () {\r\n this.isChecking = false;\r\n this.canCheck = false;\r\n };\r\n return Checker;\r\n}());\r\n\r\nvar TextPart = (function () {\r\n function TextPart(text, type) {\r\n if (text === void 0) { text = null; }\r\n if (type === void 0) { type = null; }\r\n this.text = text;\r\n this.type = type;\r\n }\r\n return TextPart;\r\n}());\r\n\r\nvar QuestionBase = (function () {\r\n function QuestionBase() {\r\n }\r\n QuestionBase.prototype.getParts = function (text) {\r\n var epicregex = /(\\[\\[.*?\\]\\])/g;\r\n var response = [];\r\n text.split(epicregex).forEach(function (text, i) {\r\n var part = new TextPart();\r\n //check if empty or null\r\n if (text == null || text.trim(' ').length == 0)\r\n return;\r\n if (text.match(epicregex)) {\r\n part.type = 'blank';\r\n part.text = text.slice(2, text.length - 2);\r\n }\r\n else {\r\n part.type = 'text';\r\n part.text = text;\r\n }\r\n response.push(part);\r\n });\r\n return response;\r\n };\r\n //a shuffle method from stackoveflow: \r\n //https://stackoverflow.com/questions/2450954/how-to-randomize-shuffle-a-javascript-array\r\n QuestionBase.prototype.shuffle = function (array) {\r\n var currentIndex = array.length, temporaryValue, randomIndex;\r\n // While there remain elements to shuffle...\r\n while (0 !== currentIndex) {\r\n // Pick a remaining element...\r\n randomIndex = Math.floor(Math.random() * currentIndex);\r\n currentIndex -= 1;\r\n // And swap it with the current element.\r\n temporaryValue = array[currentIndex];\r\n array[currentIndex] = array[randomIndex];\r\n array[randomIndex] = temporaryValue;\r\n }\r\n return array;\r\n };\r\n return QuestionBase;\r\n}());\r\n\r\n__decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_1__angular_core__[\"F\" /* Input */])(),\r\n __metadata(\"design:type\", typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_0__models_quiz_question__[\"a\" /* Question */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_0__models_quiz_question__[\"a\" /* Question */]) === \"function\" && _a || Object)\r\n], QuestionBase.prototype, \"question\", void 0);\r\n__decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_1__angular_core__[\"F\" /* Input */])(),\r\n __metadata(\"design:type\", Checker)\r\n], QuestionBase.prototype, \"checker\", void 0);\r\n__decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_1__angular_core__[\"F\" /* Input */])(),\r\n __metadata(\"design:type\", Function),\r\n __metadata(\"design:paramtypes\", [Object]),\r\n __metadata(\"design:returntype\", Array)\r\n], QuestionBase.prototype, \"getParts\", null);\r\nvar _a;\r\n//# sourceMappingURL=question.base.js.map\n\n/***/ }),\n\n/***/ 67:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Assignment; });\nvar Assignment = (function () {\r\n function Assignment(json) {\r\n if (json === void 0) { json = null; }\r\n if (json) {\r\n this.id = json.id;\r\n this.title = json.title;\r\n this.description = json.description;\r\n this.points = json.points;\r\n this.metadata = json.metadata;\r\n this.mySubmission = json.mySubmission;\r\n this.level = json.level;\r\n this.externalId = json.externalId;\r\n this.submissions = json.submission;\r\n if (json.mySubmission) {\r\n this.state = json.mySubmission.accepted ? 2 : 1;\r\n }\r\n else {\r\n this.state = 0;\r\n }\r\n }\r\n else {\r\n this.level = 1;\r\n }\r\n }\r\n Assignment.prototype.isValid = function () {\r\n if (this.title && this.description) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n };\r\n return Assignment;\r\n}());\r\n\r\n//# sourceMappingURL=assignment.js.map\n\n/***/ }),\n\n/***/ 92:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ParticipantService; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_rxjs_add_operator_toPromise__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_rxjs_add_operator_toPromise___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_rxjs_add_operator_toPromise__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__core_wd_service__ = __webpack_require__(17);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n\r\n\r\n\r\nvar ParticipantService = (function () {\r\n function ParticipantService(wdapi) {\r\n this.wdapi = wdapi;\r\n }\r\n ParticipantService.prototype.getParticipant = function (dictaatName, email) {\r\n return this.wdapi.get('/dictaten/' + dictaatName + '/participants/' + email)\r\n .toPromise()\r\n .then(function (response) { return response.json(); });\r\n };\r\n return ParticipantService;\r\n}());\r\nParticipantService = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"C\" /* Injectable */])(),\r\n __metadata(\"design:paramtypes\", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_2__core_wd_service__[\"a\" /* wdApi */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_2__core_wd_service__[\"a\" /* wdApi */]) === \"function\" && _a || Object])\r\n], ParticipantService);\r\n\r\nvar _a;\r\n//# sourceMappingURL=participantService.js.map\n\n/***/ }),\n\n/***/ 93:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return GameElementsModule; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_platform_browser__ = __webpack_require__(20);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(49);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__rating_rating_component__ = __webpack_require__(451);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__achievements_achievements_component__ = __webpack_require__(455);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__quiz_quiz_module__ = __webpack_require__(458);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__leaderboard_leaderboard_module__ = __webpack_require__(489);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__leaderboard_leaderboard_component__ = __webpack_require__(283);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__quiz_quiz_component__ = __webpack_require__(277);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__assignment_assignment_component__ = __webpack_require__(493);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__portal_portal_component__ = __webpack_require__(496);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__wd_shared_module__ = __webpack_require__(44);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__poll_poll_component__ = __webpack_require__(499);\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\n\r\n\r\n\r\n//components\r\n\r\n\r\n//modules\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar GameElementsModule = (function () {\r\n function GameElementsModule() {\r\n }\r\n return GameElementsModule;\r\n}());\r\nGameElementsModule = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"M\" /* NgModule */])({\r\n imports: [__WEBPACK_IMPORTED_MODULE_1__angular_platform_browser__[\"a\" /* BrowserModule */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__[\"a\" /* FormsModule */], __WEBPACK_IMPORTED_MODULE_5__quiz_quiz_module__[\"a\" /* QuizModule */], __WEBPACK_IMPORTED_MODULE_11__wd_shared_module__[\"a\" /* WdSharedModule */], __WEBPACK_IMPORTED_MODULE_6__leaderboard_leaderboard_module__[\"a\" /* LeaderboardModule */]],\r\n declarations: [__WEBPACK_IMPORTED_MODULE_3__rating_rating_component__[\"a\" /* RatingComponent */], __WEBPACK_IMPORTED_MODULE_4__achievements_achievements_component__[\"a\" /* AchievementsComponent */], __WEBPACK_IMPORTED_MODULE_9__assignment_assignment_component__[\"a\" /* AssignmentComponent */], __WEBPACK_IMPORTED_MODULE_10__portal_portal_component__[\"a\" /* PortalComponent */], __WEBPACK_IMPORTED_MODULE_12__poll_poll_component__[\"a\" /* PollComponent */]],\r\n exports: [__WEBPACK_IMPORTED_MODULE_3__rating_rating_component__[\"a\" /* RatingComponent */], __WEBPACK_IMPORTED_MODULE_4__achievements_achievements_component__[\"a\" /* AchievementsComponent */], __WEBPACK_IMPORTED_MODULE_7__leaderboard_leaderboard_component__[\"a\" /* LeaderboardComponent */], __WEBPACK_IMPORTED_MODULE_12__poll_poll_component__[\"a\" /* PollComponent */],\r\n __WEBPACK_IMPORTED_MODULE_8__quiz_quiz_component__[\"a\" /* QuizComponent */], __WEBPACK_IMPORTED_MODULE_9__assignment_assignment_component__[\"a\" /* AssignmentComponent */], __WEBPACK_IMPORTED_MODULE_10__portal_portal_component__[\"a\" /* PortalComponent */],]\r\n })\r\n], GameElementsModule);\r\n\r\n//# sourceMappingURL=game-elements.module.js.map\n\n/***/ }),\n\n/***/ 94:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Question; });\nvar Question = (function () {\r\n function Question(json) {\r\n if (json === void 0) { json = null; }\r\n this.body = {};\r\n if (json) {\r\n this.id = json.id;\r\n this.text = json.text;\r\n this.type = json.type;\r\n this.body = json.body ? json.body : {};\r\n this.explanation = json.explanation;\r\n this.isCorrect = json.isCorrect;\r\n }\r\n this.original = JSON.stringify(this);\r\n }\r\n Question.prototype.isValid = function () {\r\n return this.text != null && this.type != null;\r\n };\r\n return Question;\r\n}());\r\n\r\n//# sourceMappingURL=question.js.map\n\n/***/ }),\n\n/***/ 95:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return AssignmentService; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__core_wd_service__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__core_basemodal_service__ = __webpack_require__(36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_toPromise__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_toPromise___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_toPromise__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_add_operator_map__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_add_operator_map___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_rxjs_add_operator_map__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__models_assignment__ = __webpack_require__(67);\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar AssignmentService = (function (_super) {\r\n __extends(AssignmentService, _super);\r\n function AssignmentService(wdapi) {\r\n var _this = _super.call(this) || this;\r\n _this.wdapi = wdapi;\r\n return _this;\r\n }\r\n AssignmentService.prototype.getAssignments = function (dictaatName) {\r\n var url = \"/dictaten/\" + dictaatName + '/assignment';\r\n return this.wdapi.get(url)\r\n .toPromise()\r\n .then(function (response) {\r\n return response.json();\r\n });\r\n };\r\n AssignmentService.prototype.getAssignmentDetails = function (dictaatName, assignmentId) {\r\n var url = \"/dictaten/\" + dictaatName + '/assignment/' + assignmentId;\r\n return this.wdapi.get(url)\r\n .toPromise()\r\n .then(function (response) {\r\n return new __WEBPACK_IMPORTED_MODULE_5__models_assignment__[\"a\" /* Assignment */](response.json());\r\n });\r\n };\r\n AssignmentService.prototype.addAssignment = function (dictaatName, assignment) {\r\n var url = \"/dictaten/\" + dictaatName + '/assignment';\r\n return this.wdapi.post(url, assignment)\r\n .toPromise()\r\n .then(function (response) {\r\n return response.json();\r\n });\r\n };\r\n AssignmentService.prototype.update = function (dictaatName, assignment) {\r\n var url = \"/dictaten/\" + dictaatName + '/assignment/' + assignment.id;\r\n return this.wdapi.put(url, assignment)\r\n .toPromise()\r\n .then(function (response) {\r\n return response.json();\r\n });\r\n };\r\n AssignmentService.prototype.delete = function (dictaatName, assignment) {\r\n var url = \"/dictaten/\" + dictaatName + '/assignment/' + assignment.id;\r\n return this.wdapi.delete(url)\r\n .toPromise()\r\n .then(function (response) {\r\n return response.json();\r\n });\r\n };\r\n AssignmentService.prototype.submit = function (dictaatName, assignmentId, userId) {\r\n var url = \"/dictaten/\" + dictaatName + \"/assignment/\" + assignmentId + \"/submissions\";\r\n return this.wdapi.post(url, { userId: userId })\r\n .map(function (response) { return response.json(); })\r\n .toPromise();\r\n };\r\n //with token\r\n AssignmentService.prototype.submitWithToken = function (dictaatName, assignmentId, token) {\r\n return this.wdapi.post(\"/dictaten/\" + dictaatName + \"/assignment/\" + assignmentId + \"/submissions\", { token: token })\r\n .map(function (response) { return response.json(); })\r\n .toPromise();\r\n };\r\n AssignmentService.prototype.unsubmit = function (dictaatName, assignmentId, userId) {\r\n var url = \"/dictaten/\" + dictaatName + \"/assignment/\" + assignmentId + \"/submissions/\" + userId;\r\n return this.wdapi.delete(url)\r\n .map(function (response) { return response.json(); })\r\n .toPromise()\r\n .then(function (response) {\r\n console.log(response);\r\n });\r\n };\r\n return AssignmentService;\r\n}(__WEBPACK_IMPORTED_MODULE_2__core_basemodal_service__[\"a\" /* BaseModalService */]));\r\nAssignmentService = __decorate([\r\n Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__[\"C\" /* Injectable */])(),\r\n __metadata(\"design:paramtypes\", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_1__core_wd_service__[\"a\" /* wdApi */] !== \"undefined\" && __WEBPACK_IMPORTED_MODULE_1__core_wd_service__[\"a\" /* wdApi */]) === \"function\" && _a || Object])\r\n], AssignmentService);\r\n\r\nvar _a;\r\n//# sourceMappingURL=assignment.service.js.map\n\n/***/ })\n\n},[298]);\n\n\n// WEBPACK FOOTER //\n// main.bundle.js","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncatched exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 119;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/$$_gendir lazy\n// module id = 119\n// module chunks = 1","import { Injectable } from '@angular/core';\r\nimport { Headers, Http, Response, RequestOptions } from '@angular/http';\r\n//Nodig om een object om te toveren in een promise.\r\nimport 'rxjs/rx';\r\n\r\n\r\n@Injectable()\r\nexport class wdApi {\r\n\r\n //fields\r\n \r\n private jwt : string;\r\n public urlPrefix = window[\"rootVar\"] ? window[\"rootVar\"] : 'http://localhost:65418/api';\r\n\r\n constructor(private http: Http) { \r\n this.jwt = localStorage.getItem('jwt');\r\n } \r\n\r\n \r\n //methods\r\n\r\n public setToken(token:string): void{\r\n localStorage.setItem('jwt', token);\r\n this.jwt = token;\r\n }\r\n\r\n public removeToken(): void{\r\n localStorage.removeItem('jwt');\r\n this.jwt = null;\r\n }\r\n\r\n createAuthorizationHeader() {\r\n var headers = new Headers();\r\n if(this.jwt)\r\n headers.append('Authorization', 'Bearer ' + this.jwt);\r\n return headers;\r\n }\r\n\r\n public get(url) {\r\n return this.http.get(this.urlPrefix + url, { \r\n headers: this.createAuthorizationHeader() \r\n }).catch(this.handleError);\r\n }\r\n\r\n public post(url, data) {\r\n return this.http.post(this.urlPrefix + url, data, { \r\n headers: this.createAuthorizationHeader() \r\n }).catch(this.handleError);\r\n }\r\n\r\n public postFile(url: string, file: File) {\r\n\r\n return new Promise((resolve, reject) => {\r\n\r\n let formData: FormData = new FormData();\r\n let xhr: XMLHttpRequest = new XMLHttpRequest();\r\n\r\n formData.append(\"file\", file, file.name);\r\n\r\n xhr.onreadystatechange = () => {\r\n if (xhr.readyState === 4) {\r\n if (xhr.status === 200) {\r\n resolve(xhr.response);\r\n } else {\r\n reject(xhr.response);\r\n }\r\n }\r\n };\r\n\r\n xhr.open('POST', this.urlPrefix + url, true);\r\n xhr.setRequestHeader('Authorization', 'Bearer ' + this.jwt)\r\n xhr.send(formData);\r\n\r\n });\r\n\r\n \r\n }\r\n\r\n public put(url, data) {\r\n return this.http.put(this.urlPrefix + url, data, { \r\n headers: this.createAuthorizationHeader() \r\n }).catch(this.handleError);\r\n }\r\n\r\n public delete(url) {\r\n return this.http.delete(this.urlPrefix + url, { \r\n headers: this.createAuthorizationHeader() \r\n }).catch(this.handleError);\r\n }\r\n\r\n private handleError(error: any): Promise {\r\n console.error('An error occurred', error); // for demo purposes only\r\n return Promise.reject(error.message || error);\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/core/wd.service.ts","import { Injectable } from '@angular/core';\r\nimport { Headers, Http, Response } from '@angular/http';\r\nimport { Router} from '@angular/router';\r\nimport { BehaviorSubject } from \"rxjs/rx\";\r\nimport { Observable } from 'rxjs/Observable';\r\n\r\n\r\nexport class DictaatConfig{\r\n public name: string;\r\n}\r\n\r\n@Injectable()\r\nexport class ConfigService {\r\n\r\n public Config : BehaviorSubject = new BehaviorSubject(null);\r\n public DictaatName : BehaviorSubject = new BehaviorSubject(null);\r\n\r\n constructor(private http: Http){ \r\n \r\n }\r\n\r\n public GetLocalConfig(): Observable{\r\n this.http.get('dictaat.config.json')\r\n .subscribe((response) => {\r\n this.Config.next(response.json() as DictaatConfig); \r\n this.DictaatName.next(this.Config.value.name);\r\n });\r\n\r\n return this.Config;\r\n }\r\n\r\n public SetLocalConfig(config: DictaatConfig): void{\r\n this.Config.next(config);\r\n this.DictaatName.next(config.name);\r\n }\r\n\r\n \r\n\r\n\r\n} \n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/services/config.service.ts","import { Injectable } from '@angular/core';\r\nimport { Location, LocationStrategy } from '@angular/common';\r\nimport { Headers, Http, Response } from '@angular/http';\r\nimport { wdApi } from '../core/wd.service';\r\n//Nodig om een object om te toveren in een promise.\r\nimport { Subject } from 'rxjs/Subject';\r\nimport { Observable } from 'rxjs/Observable';\r\n\r\nimport { User } from '../models/user';\r\n\r\nimport 'rxjs/add/operator/toPromise';\r\nimport 'rxjs/add/operator/map';\r\nimport { BehaviorSubject } from \"rxjs/rx\";\r\nimport { Router, ActivatedRoute, Params } from '@angular/router';\r\n\r\n\r\n@Injectable()\r\nexport class AccountService {\r\n\r\n public User: BehaviorSubject = new BehaviorSubject(null);\r\n\r\n constructor(private wdapi: wdApi, \r\n private router: Router, \r\n private activatedRoute: ActivatedRoute)\r\n {\r\n this.getCurrentUser();\r\n }\r\n\r\n private getCurrentUser(){\r\n var user = JSON.parse(localStorage.getItem('user'));\r\n this.User.next(user);\r\n this.wdapi.get('/account/current')\r\n .toPromise()\r\n .then((response) => {\r\n var user = response.json() as User;\r\n this.User.next(user);\r\n localStorage.setItem('user', JSON.stringify(user));\r\n })\r\n .catch((err) => {\r\n this.User.next(null);\r\n localStorage.setItem('user', null);\r\n })\r\n }\r\n\r\n\r\n public SetToken(token: string): void\r\n {\r\n this.wdapi.setToken(token);\r\n this.getCurrentUser(); \r\n }\r\n\r\n public Login(): void {\r\n //retrieve the host url including subfolders this app is runing in.\r\n var baseUrl: string = window.location.toString().split('#')[0];\r\n window.location.href = this.wdapi.urlPrefix + \"/account/AvansLogin?returnurl=\" + baseUrl;\r\n }\r\n\r\n public Logoff(): void {\r\n //redrict to home after logout\r\n this.wdapi.removeToken();\r\n localStorage.removeItem('user');\r\n window.location.href = this.wdapi.urlPrefix + \"/account/LogOff?returnurl=\" + window.location;\r\n\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/services/account.service.ts","import {Injectable} from \"@angular/core\";\r\n\r\ndeclare var ga: any;\r\n\r\n@Injectable()\r\nexport class GoogleAnalyticsEventsService {\r\n\r\n public constructor(){\r\n this.InitializeGa(window,document,'script','https://www.google-analytics.com/analytics.js','ga');\r\n }\r\n\r\n public emitEvent(eventCategory: string,\r\n eventAction: string,\r\n eventLabel: string = null,\r\n eventValue: number = null) {\r\n\r\n ga('send', 'event', {\r\n eventCategory: eventCategory,\r\n eventLabel: eventLabel,\r\n eventAction: eventAction,\r\n eventValue: eventValue\r\n });\r\n }\r\n\r\n //Code snippet from GA docs\r\n private InitializeGa(i,s,o,g,r,a = null,m = null){\r\n i['GoogleAnalyticsObject']=r;\r\n i[r] = i[r] || function(){\r\n (i[r].q=i[r].q||[]).push(arguments)\r\n } , i[r].l=(1 * (new Date()));\r\n a=s.createElement(o), m=s.getElementsByTagName(o)[0];\r\n a.async=1;\r\n a.src=g;\r\n a.onload = function(){\r\n ga('create', 'UA-113126593-1', 'auto');\r\n };\r\n m.parentNode.insertBefore(a,m);\r\n }\r\n\r\n public send()\r\n {\r\n ga('send', 'pageview');\r\n }\r\n\r\n public set(url)\r\n {\r\n ga('set', 'page', url);\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/services/google-analytics.service.ts","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Params } from '@angular/router';\r\nimport { PageService } from './page.service';\r\n\r\ndeclare var window:any;\r\n\r\n@Component({\r\n selector: \"wd-page\",\r\n template: `\r\n
\r\n \r\n
\r\n`,\r\n providers: [PageService]\r\n})\r\nexport class PageComponent implements OnInit {\r\n\r\n private page;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private pageService: PageService\r\n ) { }\r\n\r\n public ngOnInit(): void {\r\n this.route.params.forEach((params: Params) => {\r\n let name = params['pageName'];\r\n this.pageService.getPage(name)\r\n .then(page => {\r\n this.page = page;\r\n });\r\n });\r\n }\r\n\r\n public enableExternalLibraries(): void{\r\n if(window.Prism){\r\n window.Prism.highlightAll();\r\n }\r\n }\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/page/page.component.ts","import { Component } from '@angular/core';\r\nimport { Quiz } from '../models/quiz/quiz';\r\nimport { ActivatedRoute, Params, Router } from '@angular/router';\r\nimport { AccountService } from '../services/account.service';\r\n\r\n@Component({\r\n selector: \"wd-process-token\",\r\n template: `\r\n
\r\n

Logging in...

\r\n
\r\n`,\r\n})\r\nexport class ProcessTokenComponent {\r\n\r\n\r\n constructor(\r\n private activatedRoute: ActivatedRoute, \r\n private accountService: AccountService,\r\n private router: Router) {}\r\n \r\n ngOnInit() {\r\n\r\n // subscribe to router event\r\n this.activatedRoute.queryParams.subscribe((params: Params) => {\r\n let token = params['token'];\r\n this.accountService.SetToken(token);\r\n this.router.navigateByUrl('/');\r\n });\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/core/process-token.component.ts","import { Component, OnInit } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { User } from '../../shared/models/user';\r\nimport { DictaatService } from '../../shared/services/dictaat.service';\r\nimport { AccountService } from '../../shared/services/account.service';\r\nimport { ConfigService } from '../../shared/services/config.service';\r\nimport { ParticipantService } from '../../shared/services/participantService';\r\n\r\n@Component({\r\n selector: 'wd-profile',\r\n templateUrl: './profile.component.html',\r\n styleUrls: ['./profile.component.css']\r\n})\r\nexport class ProfileComponent implements OnInit {\r\n\r\n private dictaatName: string;\r\n public user: User;\r\n public group: string;\r\n public groups: any[];\r\n public session: any;\r\n public participant: any;\r\n\r\n constructor(\r\n private dictaatService: DictaatService, \r\n private participantService: ParticipantService,\r\n private accountService: AccountService, \r\n private configService: ConfigService) { }\r\n\r\n ngOnInit() {\r\n\r\n this.accountService.User.subscribe(user => {\r\n this.user = user;\r\n this.retrieveData();\r\n });\r\n \r\n this.configService.Config.subscribe((config) => {\r\n if(!config) return;\r\n this.dictaatName = config.name;\r\n this.retrieveData();\r\n });\r\n }\r\n\r\n public retrieveData()\r\n {\r\n if(!this.dictaatName || !this.user) return;\r\n\r\n this.dictaatService.getGroups(this.dictaatName).then(groups => {\r\n this.groups = groups;\r\n this.groups.push({groupName: \"none\"})\r\n });\r\n\r\n this.participantService.getParticipant(this.dictaatName, this.user.email).then((participant) => {\r\n this.participant = participant;\r\n this.group = participant.group;\r\n });\r\n }\r\n\r\n public isSwitching: boolean;\r\n\r\n public join(groupName){\r\n this.isSwitching = true;\r\n this.dictaatService.join(this.dictaatName, this.group)\r\n .then(didJoin => {\r\n this.participant.group = groupName; \r\n this.isSwitching = false \r\n });\r\n }\r\n\r\n public switchGroup(groupName){\r\n this.isSwitching = true;\r\n this.dictaatService.switchGroup(this.dictaatName, this.group)\r\n .subscribe(didJoin => {\r\n this.participant.group = groupName; \r\n this.isSwitching = false \r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/client/profile/profile.component.ts","import { Injectable } from '@angular/core';\r\nimport { Headers, Http, Response } from '@angular/http';\r\n//Nodig om een object om te toveren in een promise.\r\nimport { Subject } from 'rxjs/Subject';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { wdApi } from '../core/wd.service';\r\n\r\nimport { Rating, Rate } from '../models/rating';\r\n\r\nimport 'rxjs/add/operator/toPromise';\r\nimport 'rxjs/add/operator/map';\r\nimport { BaseModalService } from \"../core/basemodal.service\";\r\n\r\n\r\n@Injectable()\r\nexport class RatingService extends BaseModalService {\r\n\r\n constructor(private wdapi: wdApi) { \r\n super();\r\n }\r\n\r\n public addRating(dictaatName: String, rating: Rating): Promise {\r\n\r\n let url: string = \"/dictaten/\" + dictaatName + '/rating';\r\n\r\n return this.wdapi.post(url, rating)\r\n .toPromise()\r\n .then(response => {\r\n return response.json() as Rating\r\n })\r\n .catch(() => {\r\n this.resolveCancel(); //hier nog niet bij mee\r\n this.handleError;\r\n return null as Rating;\r\n });\r\n }\r\n\r\n public SendRate(dictaatName: String, ratingId: number, rate: Rate): Promise {\r\n\r\n let url: string = \"/dictaten/\" + dictaatName + '/rating/' + ratingId + '/rates';\r\n\r\n return this.wdapi.post(url, rate)\r\n .toPromise()\r\n .then(response => {\r\n return response.json() as Rating\r\n })\r\n .catch(() => {\r\n this.resolveCancel(); //hier nog niet bij mee\r\n this.handleError;\r\n return null as Rating;\r\n });\r\n }\r\n\r\n public getRating(dictaatName: String, ratingId: number): Promise {\r\n\r\n if (!ratingId) {\r\n return new Promise((resolve, reject) => {\r\n reject(\"Cannot load rating without ratingId\");\r\n });\r\n }\r\n\r\n let url: string = \"/dictaten/\" + dictaatName + '/rating/' + ratingId;\r\n\r\n return this.wdapi.get(url)\r\n .toPromise()\r\n .then(response => response.json() as Rating);\r\n\r\n }\r\n\r\n\r\n private handleError(error: any): Promise {\r\n console.error('An error occurred', error); // for demo purposes only\r\n return Promise.reject(error.message || error);\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/services/rating.service.ts","import { Injectable } from '@angular/core';\r\nimport { AchievementGroup } from \"../models/achievementgroup\";\r\nimport { UserAchievement } from \"../models/userachievement\";\r\nimport { wdApi } from \"../core/wd.service\";\r\n\r\n\r\nimport 'rxjs/add/operator/toPromise';\r\nimport 'rxjs/add/operator/map';\r\n\r\n@Injectable()\r\nexport class AchievementService {\r\n\r\n constructor(private wdapi: wdApi) { }\r\n\r\n public getDictaatAchievements(dictaatName: string): Promise {\r\n let url: string = \"/dictaten/\" + dictaatName + \"/Achievement\";\r\n return this.wdapi.get(url)\r\n .toPromise()\r\n .then(response => {\r\n return response.json() as AchievementGroup[]\r\n })\r\n }\r\n\r\n public getUserAchievements(dictaatName: string, userid: string): Promise {\r\n let url: string = \"/dictaten/\" + dictaatName + \"/Achievement/\" + userid;\r\n return this.wdapi.get(url)\r\n .toPromise()\r\n .then(response => {\r\n return response.json() as UserAchievement[]\r\n })\r\n }\r\n\r\n public AddUserAchievement(dictaatName: string, achievid : number, userid: string)\r\n {\r\n let url: string = \"/dictaten/\" + dictaatName + \"/Achievement/\" + achievid + \"/user/\" + userid;\r\n return this.wdapi.post(url, { userId: userid})\r\n .toPromise()\r\n .then(response => {\r\n console.log(response);\r\n })\r\n }\r\n\r\n public DeleteUserAchievement(dictaatName: string, achievid : number, userid: string)\r\n {\r\n let url: string = \"/dictaten/\" + dictaatName + \"/Achievement/\" + achievid + \"/user/\" + userid;\r\n return this.wdapi.delete(url)\r\n .toPromise()\r\n .then(response => {\r\n console.log(response);\r\n })\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/services/achievement.service.ts","import { Component, OnInit, Input } from '@angular/core';\r\nimport { ActivatedRoute, Params } from \"@angular/router\";\r\nimport { AccountService } from \"../../services/account.service\";\r\nimport { QuizService } from \"../../services/quiz.service\";\r\nimport { ConfigService } from '../../services/config.service';\r\nimport { Quiz } from '../../models/quiz/quiz';\r\nimport { Question } from '../../models/quiz/question';\r\nimport { Answer } from '../../models/quiz/answer';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'wd-quiz',\r\n templateUrl: './quiz.component.html',\r\n styleUrls: ['./quiz.component.css']\r\n})\r\nexport class QuizComponent implements OnInit {\r\n\r\n @Input()\r\n public qid : number;\r\n\r\n @Input() \r\n public limit : boolean = false;\r\n\r\n public isLoading: boolean; \r\n public isSubmitting: boolean;\r\n public quiz : Quiz; \r\n public dictaatName: string;\r\n public isAuth: boolean;\r\n public correctAnswers: number;\r\n public givenAnswers : number[];\r\n\r\n constructor(\r\n private configService: ConfigService,\r\n private accountService: AccountService,\r\n private quizService: QuizService,\r\n private route: ActivatedRoute\r\n ) {}\r\n\r\n ngOnInit() {\r\n\r\n this.quiz = this.quizService.getTemporary(this.qid);\r\n\r\n this.accountService.User.subscribe(user => { this.isAuth = user != null; });\r\n \r\n this.configService.DictaatName.subscribe((name) => {\r\n this.dictaatName = name;\r\n if(!this.quiz)\r\n {\r\n this.isLoading = true;\r\n this.refreshQuiz();\r\n } \r\n });\r\n }\r\n\r\n public refreshQuiz(){\r\n this.quizService.getQuiz(this.dictaatName, this.qid)\r\n .then((q: Quiz) => { \r\n this.quiz = q;\r\n this.isLoading = false;\r\n })\r\n .catch((error) => {\r\n this.isLoading = false;\r\n });\r\n }\r\n\r\n public edit(){\r\n var original = Object.assign({}, this.quiz); \r\n this.quizService.ShowModal('edit', [this.quiz])\r\n .then((quiz) => this.refreshQuiz())\r\n .catch(() => {\r\n this.quiz = new Quiz(original);\r\n });\r\n }\r\n\r\n public start() { \r\n this.quiz.start();\r\n }\r\n\r\n\r\n public continue(){\r\n this.quiz.nextQuestion();\r\n this.quizService.saveTemporary(this.quiz);\r\n if(this.quiz.status == 'finished'){\r\n this.submit();\r\n }\r\n }\r\n\r\n public submit(){\r\n this.isSubmitting = true;\r\n\r\n var attempt = [];\r\n this.quiz.questions.forEach(q =>{\r\n attempt.push({\r\n questionId: q.id,\r\n isCorrect: q.isCorrect\r\n });\r\n })\r\n\r\n this.quizService.submitAnswers(this.dictaatName ,this.quiz.id, attempt)\r\n .then((quiz) => {\r\n this.quiz = quiz;\r\n this.isSubmitting = false;\r\n this.quizService.deleteTemporary(this.quiz.id);\r\n }); \r\n }\r\n\r\n public retakeQuiz(){\r\n this.start();\r\n }\r\n\r\n public login() {\r\n this.accountService.Login();\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/game-elements/quiz/quiz.component.ts","import { Injectable } from '@angular/core';\r\nimport { Headers, Http, Response } from '@angular/http';\r\n//Nodig om een object om te toveren in een promise.\r\nimport { Subject } from 'rxjs/Subject';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { wdApi } from '../core/wd.service';\r\nimport { BaseModalService } from '../core/basemodal.service';\r\nimport 'rxjs/add/operator/toPromise';\r\nimport 'rxjs/add/operator/map';\r\nimport { Quiz, QuizSummary } from \"../models/quiz/quiz\";\r\nimport { Question } from '../models/quiz/question';\r\nimport { Attempt } from '../models/quiz/attempt';\r\n\r\n\r\n@Injectable()\r\nexport class QuizService extends BaseModalService{\r\n\r\n constructor(private wdapi: wdApi)\r\n {\r\n super();\r\n }\r\n\r\n public saveTemporary(quiz: Quiz)\r\n {\r\n var copy = Object.assign({}, quiz);\r\n copy.status = \"temporary\";\r\n localStorage.setItem(\"quiz:\" + copy.id, JSON.stringify(copy));\r\n }\r\n\r\n public getTemporary(qid: number){\r\n var storage = localStorage.getItem(\"quiz:\" + qid);\r\n var quiz = storage ? JSON.parse(storage) : null;\r\n return quiz ? new Quiz(quiz) : null;\r\n }\r\n\r\n public deleteTemporary(qid: number){\r\n localStorage.removeItem(\"quiz:\" + qid);\r\n }\r\n\r\n public getQuizes(dictaatName: String): Promise {\r\n \r\n let url: string = \"/dictaten/\" + dictaatName + '/quiz';\r\n\r\n return this.wdapi.get(url)\r\n .toPromise()\r\n .then(response => {\r\n return response.json() as QuizSummary[]\r\n }) \r\n }\r\n\r\n public update(dictaatName: String, quiz: Quiz): Promise {\r\n let url: string = \"/dictaten/\" + dictaatName + '/quiz/' + quiz.id ;\r\n\r\n return this.wdapi.put(url, quiz)\r\n .toPromise()\r\n .then(response => {\r\n return response.json() as Quiz\r\n });\r\n }\r\n\r\n public addQuiz(dictaatName: String, quiz: Quiz): Promise {\r\n\r\n let url: string = \"/dictaten/\" + dictaatName + '/quiz';\r\n\r\n return this.wdapi.post(url, quiz)\r\n .toPromise()\r\n .then(response => {\r\n return response.json() as Quiz\r\n })\r\n .catch(() => {\r\n this.resolveCancel(); //hier nog niet bij mee\r\n return null as Quiz;\r\n });\r\n }\r\n\r\n public getQuiz(dictaatName: String, quizId: number): Promise {\r\n\r\n if (!quizId) {\r\n return new Promise((resolve, reject) => {\r\n reject(\"Cannot load quiz without quizId\");\r\n });\r\n }\r\n\r\n let url: string = \"/dictaten/\" + dictaatName + '/quiz/' + quizId;\r\n\r\n return this.wdapi.get(url)\r\n .toPromise()\r\n .then(response => {\r\n return new Quiz(response.json());\r\n })\r\n \r\n }\r\n\r\n public submitAnswers(dictaatName: string, quizId: number, givenAnswers: any[]) : Promise {\r\n let url: string = \"/dictaten/\" + dictaatName + '/quiz/' + quizId + '/attempts';\r\n return this.wdapi.post(url, givenAnswers )\r\n .toPromise()\r\n .then(response => new Quiz(response.json()))\r\n }\r\n\r\n public removeQuestion(dictaatName: string, quizId: number, question: Question){\r\n let url: string = \"/dictaten/\" + dictaatName + '/quiz/' + quizId + '/questions/' + question.id;\r\n return this.wdapi.delete(url)\r\n .toPromise()\r\n .then(response => response.json() as Question)\r\n }\r\n\r\n public updateQuestion(dictaatName: string, quizId: number, question: Question){\r\n let url: string = \"/dictaten/\" + dictaatName + '/quiz/' + quizId + '/questions/' + question.id;\r\n return this.wdapi.put(url, question)\r\n .toPromise()\r\n .then(response => response.json() as Question)\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/services/quiz.service.ts","import { Attempt } from \"./attempt\";\r\nimport { Question } from \"./question\";\r\nimport { Assignment } from \"../assignment\";\r\n\r\nexport class Quiz {\r\n \r\n \r\n //fields\r\n public id: number;\r\n public dictaat: String;\r\n public questions: Question[];\r\n public myAttempts: Attempt[];\r\n public lastAttempt: Attempt;\r\n public status : string;\r\n public current: Question;\r\n public currentIndex: number;\r\n public shuffle: boolean;\r\n public assignment: Assignment;\r\n public isComplete: boolean;\r\n \r\n constructor(json = null){\r\n this.questions = [];\r\n this.currentIndex = 0;\r\n this.assignment = new Assignment();\r\n\r\n if(json){\r\n this.id = json.id;\r\n this.dictaat = json.dictaat;\r\n this.shuffle = json.shuffle;\r\n this.isComplete = json.isComplete;\r\n this.currentIndex = json.currentIndex;\r\n this.current = this.questions[this.currentIndex];\r\n\r\n //map assignment\r\n this.assignment = new Assignment(json.assignment);\r\n \r\n //map questions\r\n json.questions.forEach(q => {\r\n this.questions.push(new Question(q));\r\n })\r\n\r\n this.current = this.questions[this.currentIndex];\r\n this.myAttempts = json.myAttempts ? json.myAttempts : [];\r\n\r\n if(this.myAttempts && this.myAttempts.length > 0){\r\n this.status = \"finished\";\r\n this.lastAttempt = this.myAttempts[0]; \r\n } \r\n else{\r\n this.status = 'idle';\r\n }\r\n\r\n this.status = json.status ? json.status : this.status \r\n }\r\n \r\n }\r\n\r\n start(): void {\r\n this.currentIndex = 0;\r\n this.status = \"started\";\r\n this.current = this.questions[this.currentIndex];\r\n }\r\n\r\n \r\n public isValid() : boolean{\r\n if(!this.assignment.isValid())\r\n return false;\r\n\r\n if(this.questions.length == 0)\r\n return false;\r\n\r\n var response = true;\r\n this.questions.forEach(question => {\r\n if(!question.isValid()){\r\n response = false; \r\n }\r\n })\r\n return response;\r\n }\r\n\r\n public nextQuestion(){\r\n this.currentIndex++;\r\n \r\n if(this.questions.length == this.currentIndex){\r\n this.status = 'finished';\r\n }\r\n else{\r\n this.current = this.questions[this.currentIndex];\r\n } \r\n }\r\n\r\n public getLastAttempt(): Attempt{\r\n if(this.myAttempts && this.myAttempts.length > 0)\r\n return this.myAttempts[0];\r\n else\r\n return null;\r\n }\r\n}\r\n\r\nexport class QuizSummary{\r\n public id: number;\r\n public dictaat: String;\r\n public title: string;\r\n public description: string;\r\n public questionCount: number;\r\n public completedByCount: number;\r\n public isOutdated: boolean; \r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/models/quiz/quiz.ts","import { Injectable } from '@angular/core';\r\nimport { Headers, Http, Response } from '@angular/http';\r\nimport { Router} from '@angular/router';\r\n\r\n//Nodig om een object om te toveren in een promise.\r\n\r\nimport { NavMenuItem } from '../models/nav-menu';\r\n\r\nimport 'rxjs/add/operator/toPromise';\r\nimport 'rxjs/add/operator/map';\r\nimport { wdApi } from \"../core/wd.service\";\r\n\r\n@Injectable()\r\nexport class NavMenuService {\r\n\r\n constructor(\r\n private http: Http,\r\n private router: Router,\r\n private api: wdApi) { }\r\n\r\n private menuItems: NavMenuItem[]; \r\n\r\n public getLocalNavMenu() : Promise{\r\n if (this.menuItems != null) {\r\n return Promise.resolve(this.menuItems);\r\n }\r\n else{\r\n return this.http.get('nav-menu.json?v=' + new Date().getTime())\r\n .toPromise()\r\n .then((response) => \r\n this.menuItems = response.json() as NavMenuItem[]\r\n ).catch(this.handleError);\r\n }\r\n }\r\n\r\n public updateNavMenu(dictaatName: string, menuItems: NavMenuItem[]){\r\n var resource = \"/dictaten/\" + dictaatName + \"/menu\";\r\n return this.api.put(resource, menuItems)\r\n .toPromise()\r\n .then((response) => response.json() as NavMenuItem[])\r\n \r\n }\r\n\r\n\r\n private handleError(error: any): Promise {\r\n console.error('An error occurred', error); // for demo purposes only\r\n return Promise.reject(error.message || error);\r\n }\r\n\r\n} \n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/nav-menu/nav-menu.service.ts","import { Injectable } from '@angular/core';\r\nimport { Headers, Http, Response } from '@angular/http';\r\n//Nodig om een object om te toveren in een promise.\r\nimport { Subject } from 'rxjs/Subject';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { wdApi } from '../core/wd.service';\r\nimport { BaseModalService } from '../core/basemodal.service';\r\nimport 'rxjs/add/operator/toPromise';\r\nimport 'rxjs/add/operator/map';\r\nimport { Quiz, QuizSummary } from \"../models/quiz/quiz\";\r\nimport { Question } from '../models/quiz/question';\r\nimport { Attempt } from '../models/quiz/attempt';\r\nimport { Poll } from '../models/poll';\r\n\r\n\r\n@Injectable()\r\nexport class PollService extends BaseModalService{\r\n\r\n\r\n constructor(private wdapi: wdApi)\r\n {\r\n super();\r\n }\r\n\r\n vote(dictaatName: string, pollId: number, optionId: number): any {\r\n\r\n let url: string = \"/dictaten/\" + dictaatName + '/poll/' + pollId +'/options/' + optionId + '/votes';\r\n\r\n return this.wdapi.post(url, {})\r\n .map(res => new Poll(res.json()))\r\n .toPromise();\r\n }\r\n\r\n public updatePoll(dictaatName: string, poll: Poll): Promise {\r\n let url: string = \"/dictaten/\" + dictaatName + '/poll/' + poll.id;;\r\n\r\n return this.wdapi.put(url, poll)\r\n .toPromise()\r\n .then(response => {\r\n return response.json() as Poll\r\n })\r\n .catch(() => {\r\n this.resolveCancel(); //hier nog niet blij mee\r\n return null as Poll;\r\n });\r\n }\r\n\r\n \r\n addPoll(dictaatName: string, poll: Poll): Promise {\r\n let url: string = \"/dictaten/\" + dictaatName + '/poll/';;\r\n\r\n return this.wdapi.post(url, poll)\r\n .toPromise()\r\n .then(response => {\r\n return response.json() as Poll\r\n })\r\n .catch(() => {\r\n this.resolveCancel(); //hier nog niet blij mee\r\n return null as Poll;\r\n });\r\n }\r\n\r\n\r\n public getPolls(dictaatName: String): Promise {\r\n\r\n let url: string = \"/dictaten/\" + dictaatName + '/poll/';;\r\n\r\n return this.wdapi.get(url)\r\n .map(res => res.json())\r\n .toPromise();\r\n }\r\n\r\n public getPoll(dictaatName: String, pollId: number): Promise {\r\n\r\n if (!pollId) {\r\n return new Promise((resolve, reject) => {\r\n reject(\"Cannot load poll without pollId\");\r\n });\r\n }\r\n \r\n let url: string = \"/dictaten/\" + dictaatName + '/poll/' + pollId;\r\n\r\n return this.wdapi.get(url)\r\n .map(res => new Poll(res.json()))\r\n .toPromise(); \r\n }\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/services/poll.service.ts","\r\nexport class Poll{\r\n \r\n public id: number;\r\n public question: string;\r\n public body: any;\r\n public options: any[];\r\n public myVote: any;\r\n\r\n constructor(json = null){\r\n\r\n this.options = [{}, {}];\r\n\r\n if(json){\r\n this.id = json.id;\r\n this.options = json.options;\r\n this.question = json.question;\r\n this.myVote = json.myVote;\r\n }\r\n \r\n }\r\n\r\n public isValid(): boolean{\r\n var isValid = this.question != null && this.options.length >= 2;\r\n\r\n this.options.forEach(o => {\r\n if(o.text == null )\r\n isValid = false;\r\n });\r\n\r\n return isValid;\r\n\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/models/poll.ts","import { Component, OnInit, Input } from '@angular/core';\r\nimport { DictaatService } from \"../../services/dictaat.service\";\r\nimport { AccountService } from \"../../services/account.service\";\r\nimport { ConfigService } from \"../../services/config.service\";\r\nimport { BehaviorSubject } from \"rxjs/BehaviorSubject\";\r\nimport { User } from \"../../models/user\";\r\nimport { GroupByPipe } from \"../../core/group-by.pipe\";\r\nimport { ArraySortPipe } from \"../../core/order-by.pipe\";\r\n\r\n\r\n\r\n@Component({\r\n selector: 'wd-leaderboard',\r\n templateUrl: './leaderboard.component.html',\r\n styleUrls: ['./leaderboard.component.css']\r\n})\r\nexport class LeaderboardComponent implements OnInit {\r\n \r\n user: BehaviorSubject;\r\n public participants: any[];\r\n public leaderboard: any[];\r\n public top5: any[];\r\n public state: number = 1;\r\n public groups: any[];\r\n\r\n @Input()\r\n public tab: string = 'individual'\r\n\r\n @Input()\r\n public sort: string = 'average';\r\n\r\n constructor(\r\n private dictaatService: DictaatService, \r\n private accountService: AccountService, \r\n private configService: ConfigService){}\r\n\r\n ngOnInit() {\r\n\r\n //handle inputs\r\n this.state = this.tab == 'group' ? 0 : 1; \r\n\r\n this.user = this.accountService.User;\r\n this.configService.Config.subscribe((config) => {\r\n if(config){\r\n\r\n //load individual\r\n this.dictaatService.getParticipants(config.name)\r\n .then((participants) => {\r\n this.participants = participants;\r\n this.top5 = participants.slice(0, 5);\r\n this.leaderboard = this.top5;\r\n })\r\n\r\n //load groups\r\n this.dictaatService.getGroups(config.name)\r\n .then((groups) => {\r\n this.groups = groups.sort((a, b) => {\r\n if(this.sort == 'total')\r\n return a.totalPoints < b.totalPoints ? 1 : -1;\r\n else\r\n return a.points < b.points ? 1 : -1;\r\n });\r\n })\r\n }\r\n })\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/game-elements/leaderboard/leaderboard.component.ts","\r\nimport { NgModule } from \"@angular/core\";\r\nimport { DatabComponent } from \"./datab.component\";\r\nimport { DatabService } from \"./datab.service\";\r\nimport { BrowserModule } from \"@angular/platform-browser\";\r\nimport { HttpModule } from \"@angular/http\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { GameElementsModule } from \"../../shared/game-elements/game-elements.module\";\r\nimport { WdSharedModule } from \"../../shared/wd-shared.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n BrowserModule, HttpModule, FormsModule, GameElementsModule, WdSharedModule\r\n ],\r\n declarations: [\r\n DatabComponent, \r\n ],\r\n exports: [\r\n DatabComponent\r\n ],\r\n providers: [\r\n DatabService\r\n ],\r\n\r\n})\r\nexport class DatabModule {\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/extern/databases/datab.module.ts","import { Injectable } from '@angular/core';\r\nimport { Headers, Http, Response } from '@angular/http';\r\n\r\nimport 'rxjs/add/operator/toPromise';\r\nimport 'rxjs/add/operator/map';\r\nimport { wdApi } from \"../../shared/core/wd.service\";\r\nimport { Assignment } from \"../../shared/models/assignment\";\r\nimport { Observable } from 'rxjs';\r\n\r\nexport class DbAssignment extends Assignment {\r\n public external: DbSubmission;\r\n}\r\n\r\nexport class DbSubmission{\r\n public email: string;\r\n public query: string;\r\n public statusId : number;\r\n public originalAssignmentId: number;\r\n public assignmentToken: string;\r\n public message: string;\r\n} \r\n\r\n\r\n@Injectable()\r\nexport class DatabService {\r\n\r\n private root = \"https://webdictaat.aii.avans.nl/apis/databases\";\r\n //private root = \"https://localhost:22608\"\r\n\r\n constructor(private http: Http, private wdApi: wdApi) {\r\n \r\n }\r\n\r\n public getAssignment(daid): Observable{\r\n return new Observable(o => {\r\n //return data from local\r\n var cache = this.getFromLocal('a', daid);\r\n if(cache)\r\n return o.next(cache);\r\n\r\n //if no cache then retreive from online\r\n this.http.get(this.root + \"/assignments/\" + daid)\r\n .map((response) => response.json())\r\n .do((a) => this.saveAssignmentInLocal(a))\r\n .subscribe(a => o.next(a))\r\n });\r\n }\r\n\r\n public getSubmissions(daid, userId) : Observable\r\n {\r\n return new Observable(o => {\r\n\r\n //return data from local\r\n var cache = this.getFromLocal('s', daid);\r\n if(cache)\r\n return o.next(cache);\r\n\r\n //if no cache then retreive from online\r\n this.http.get(this.root + \"/assignments/\" + daid + \"/submissions/\" + userId)\r\n .map((response) => response.json())\r\n .do((s) => this.saveSubmissionInLocal(s))\r\n .subscribe(s => o.next(s))\r\n });\r\n \r\n }\r\n\r\n public sendSubmission(waid, daid, submission : DbSubmission ) : Observable\r\n {\r\n submission.originalAssignmentId = waid;\r\n return this.http.post(this.root + \"/assignments/\" + daid + \"/submissions\", submission)\r\n .map((response) => response.json())\r\n .do((s) => this.saveSubmissionInLocal(s))\r\n }\r\n\r\n public getFromLocal(type, id) : any\r\n {\r\n return JSON.parse(localStorage.getItem('databaas:' + + type + ':' + id));\r\n }\r\n\r\n private saveAssignmentInLocal(assignment)\r\n {\r\n localStorage.setItem('databaas:a:' + assignment.assignmentId, JSON.stringify(assignment));\r\n }\r\n\r\n private saveSubmissionInLocal(submission)\r\n {\r\n if(!submission) return; \r\n localStorage.setItem('databaas:s:' + submission.assignmentId, JSON.stringify(submission));\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/extern/databases/datab.service.ts","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { ClientModule } from './app/client/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(ClientModule);\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.client.ts","import { NgModule } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { HttpModule } from '@angular/http';\r\nimport { LocationStrategy, HashLocationStrategy} from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n//components\r\nimport { AppComponent } from './app.component';\r\nimport { routing } from './app.routing';\r\nimport { PageComponent } from '../shared/page/page.component';\r\nimport { HtmlOutlet } from '../shared/core/html-outlet.directive';\r\nimport { NavMenuComponent } from '../shared/nav-menu/nav-menu.component';\r\nimport { AvatarComponent } from '../shared/avatar/avatar.component';\r\n\r\n//modules\r\nimport { WdSharedModule } from \"../shared/wd-shared.module\";\r\nimport { DatabModule } from \"../extern/databases/datab.module\";\r\nimport { GameElementsModule } from \"../shared/game-elements/game-elements.module\";\r\nimport { MessageComponent } from './message/message.component';\r\nimport { ProfileComponent } from './profile/profile.component';\r\n\r\n\r\n@NgModule({\r\n imports: [BrowserModule, FormsModule, BrowserAnimationsModule, WdSharedModule, HttpModule, routing, DatabModule, GameElementsModule],\r\n declarations: [HtmlOutlet, AppComponent, PageComponent, NavMenuComponent, AvatarComponent, MessageComponent, ProfileComponent],\r\n providers: [\r\n { provide: LocationStrategy, useClass: HashLocationStrategy }\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class ClientModule {\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/client/app.module.ts","import { Component, OnInit } from '@angular/core';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\nimport { ConfigService } from \"../shared/services/config.service\";\r\nimport { DictaatService } from \"../shared/services/dictaat.service\";\r\nimport { GoogleAnalyticsEventsService } from '../shared/services/google-analytics.service';\r\n\r\n\r\nvar ga: any;\r\n\r\n@Component({\r\n selector: \"wd-client-app\",\r\n templateUrl: \"./app.component.html\",\r\n styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent implements OnInit{\r\n\r\n\r\n public Title: string = \"Webdictaat\";\r\n private landingPage: string;\r\n public showSidebar: boolean = false;\r\n\r\n constructor(\r\n private router: Router,\r\n private configService: ConfigService,\r\n public ga: GoogleAnalyticsEventsService) {\r\n }\r\n\r\n private unhandledRouteEvents: string[] = [];\r\n\r\n private sendNewRouteEvent(url)\r\n {\r\n this.unhandledRouteEvents.push(url);\r\n\r\n if(this.Title)\r\n {\r\n this.unhandledRouteEvents.forEach((url) => {\r\n this.ga.set(this.Title + '/#' + url)\r\n this.ga.send();\r\n })\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.configService.DictaatName.subscribe(dictaatName => this.Title = dictaatName);\r\n this.router.events.subscribe((event) => {\r\n this.showSidebar = false;\r\n if(event instanceof NavigationEnd) {\r\n window.scrollTo(0, 0);\r\n this.sendNewRouteEvent(event.urlAfterRedirects);\r\n }\r\n }); \r\n\r\n //get the local config once\r\n this.configService.GetLocalConfig();\r\n }\r\n\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/client/app.component.ts","import { Injectable, NgZone } from '@angular/core';\r\nimport { Headers, Http, Response } from '@angular/http';\r\n//Nodig om een object om te toveren in een promise.\r\nimport { Subject } from 'rxjs/Subject';\r\nimport { Observable } from 'rxjs/Observable';\r\n\r\n\r\nimport 'rxjs/add/operator/toPromise';\r\nimport 'rxjs/add/operator/map';\r\n\r\nclass ModalEvent{\r\n modalType: string;\r\n params: any;\r\n isVisible: boolean;\r\n}\r\n\r\nclass ShowModalEvent extends ModalEvent{\r\n constructor(modalType, params){\r\n super();\r\n this.modalType = modalType;\r\n this.params = params;\r\n this.isVisible = true;\r\n \r\n }\r\n}\r\n\r\nclass CancelModalEvent extends ModalEvent{\r\n constructor(){\r\n super();\r\n this.params = null;\r\n this.isVisible = false;\r\n }\r\n}\r\n\r\n\r\n@Injectable()\r\nexport class BaseModalService {\r\n\r\n public modalEvent: Subject = new Subject();\r\n \r\n protected resolveComplete;\r\n protected resolveCancel;\r\n\r\n public constructor(){}\r\n\r\n\r\n public ShowModal(modal: string, params: any[]): Promise {\r\n this.modalEvent.next(new ShowModalEvent(modal, params));\r\n return new Promise((resolve, reject) => {\r\n this.resolveComplete = resolve;\r\n this.resolveCancel = reject;\r\n });\r\n }\r\n\r\n public CancelModal(): void {\r\n this.resolveCancel();\r\n this.modalEvent.next(new CancelModalEvent());\r\n }\r\n\r\n public CompleteModal(objectToResolve: any) {\r\n this.resolveComplete(objectToResolve);\r\n this.modalEvent.next(new CancelModalEvent())\r\n }\r\n\r\n}\r\n\r\nexport class BaseModalComponent {\r\n\r\n public isModalVisible;\r\n public modalType: string;\r\n public params: any[];\r\n private baseService: BaseModalService;\r\n\r\n ///call this method to initialize base component\r\n protected wdOnInit(service: BaseModalService, zone: NgZone): void {\r\n this.baseService = service;\r\n service.modalEvent.subscribe((modalEvent: ModalEvent) => { \r\n this.isModalVisible = modalEvent.isVisible;\r\n this.modalType = modalEvent.modalType;\r\n this.params = modalEvent.params;\r\n zone.run(() => {});\r\n });\r\n }\r\n\r\n public cancel(){\r\n this.baseService.CancelModal();\r\n }\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/core/basemodal.service.ts","import { Injectable } from '@angular/core';\r\nimport { Headers, Http } from '@angular/http';\r\n//Nodig om een object om te toveren in een promise.\r\n\r\nimport { Dictaat, DictaatSession, DictaatMarkings } from '../models/dictaat';\r\nimport { wdApi } from '../core/wd.service';\r\n\r\nimport 'rxjs/add/operator/toPromise';\r\nimport 'rxjs/add/operator/map';\r\nimport { Params, ActivatedRoute, Router } from \"@angular/router\";\r\nimport { Subject } from \"rxjs/Subject\";\r\nimport { BehaviorSubject } from \"rxjs/BehaviorSubject\";\r\nimport { User } from \"../models/user\";\r\nimport { ConfigService } from \"./config.service\";\r\nimport { Observable } from \"rxjs/rx\";\r\nimport { DictaatSummary } from \"../models/dictaat-summary\";\r\n\r\n\r\n\r\n@Injectable()\r\nexport class DictaatService {\r\n\r\n public CurrentDictaat = new BehaviorSubject(null);\r\n\r\n constructor(\r\n private wdapi: wdApi, \r\n private route: ActivatedRoute, \r\n private router: Router,\r\n private config: ConfigService) {}\r\n\r\n public getDictaat(dictaatName: String): Promise {\r\n return this.wdapi.get(\"/dictaten/\" + dictaatName)\r\n .map(response => new Dictaat(response.json()))\r\n .toPromise()\r\n .then(dictaat => {\r\n if(dictaat){\r\n this.CurrentDictaat.next(dictaat); \r\n return dictaat;\r\n } \r\n })\r\n }\r\n\r\n public removeDictaat(dictaatName: String): Promise {\r\n return this.wdapi.delete(\"/dictaten/\" + dictaatName)\r\n .toPromise()\r\n .then(response => response.json() as any);\r\n }\r\n\r\n public addDictaat(dictaatName: string): Promise {\r\n\r\n return this.wdapi.post('/dictaten', { name: dictaatName })\r\n .toPromise()\r\n .then(response =>\r\n response.json() as DictaatSummary[]\r\n );\r\n }\r\n\r\n public copyDictaat(dictaatName: string, newDictaatName) : Promise {\r\n\r\n return this.wdapi.post('/dictaten/' + dictaatName + '/copies', { name: newDictaatName })\r\n .map(response => response.json() as DictaatSummary[] )\r\n .toPromise()\r\n }\r\n\r\n public getDictaatSession(dictaatName: String): Observable {\r\n return this.wdapi.get(\"/dictaten/\" + dictaatName + '/sessions/current')\r\n .map(response => response.json());\r\n }\r\n\r\n public getDictaatContributers(dictaatName: String): Promise {\r\n return this.wdapi.get(\"/dictaten/\" + dictaatName + '/contributers')\r\n .map(response => response.json())\r\n .toPromise();\r\n }\r\n\r\n public join(dictaatName: string, group: string){\r\n return this.wdapi.post('/dictaten/' + dictaatName + '/groups/' + group, {})\r\n .toPromise()\r\n .then(response =>\r\n response.json() as boolean\r\n );\r\n }\r\n\r\n public switchGroup(dictaatName: string, group: string){\r\n return this.wdapi.put('/dictaten/' + dictaatName + '/groups/' + group, {})\r\n .map(response => response.json() as boolean);\r\n }\r\n\r\n public addContributer(dictaatName: string, email: string) : Promise {\r\n return this.wdapi.post('/dictaten/' + dictaatName + '/contributers/', {'email': email})\r\n .map(response => response.json() as User[])\r\n .toPromise();\r\n }\r\n\r\n public getDictaten(): Promise {\r\n return this.wdapi.get('/dictaten')\r\n .toPromise()\r\n .then(response =>\r\n response.json() as DictaatSummary[]\r\n );\r\n }\r\n\r\n public getMarkings(name: string): Promise{\r\n return this.wdapi.get('/dictaten/' + name + '/markings')\r\n .toPromise()\r\n .then(response => {\r\n return new DictaatMarkings(response.json());\r\n });\r\n }\r\n\r\n \r\n public getParticipants(dictaatName: string){\r\n return this.wdapi.get('/dictaten/' + dictaatName + '/participants')\r\n .toPromise()\r\n .then(response => response.json() );\r\n }\r\n\r\n public getGroups(dictaatName: string){\r\n return this.wdapi.get('/dictaten/' + dictaatName + '/groups')\r\n .toPromise()\r\n .then(response => response.json() );\r\n }\r\n\r\n public addGroups(dictaatName: string, groups: group[]): Observable {\r\n return this.wdapi.post('/dictaten/' + dictaatName + '/groups', groups)\r\n .map(response => response.json());\r\n }\r\n\r\n public removeGroup(dictaatName: string, groupName: string): Observable {\r\n return this.wdapi.delete('/dictaten/' + dictaatName + '/groups/' + groupName)\r\n .map(response => response.json());\r\n }\r\n}\r\n\r\n/** Interfaces */\r\ninterface group{\r\n members: any[];\r\n name: string;\r\n totalpoints: number;\r\n} \n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/services/dictaat.service.ts","import { NgModule } from \"@angular/core\";\r\n\r\nimport { wdApi } from \"./core/wd.service\";\r\nimport { CommonModule } from '@angular/common'; \r\n\r\n\r\n//shared services\r\nimport { ConfigService } from \"./services/config.service\"; //the service for config variables\r\nimport { DialogService } from \"./services/dialog.service\";\r\nimport { RatingService } from \"./services/rating.service\";\r\nimport { ImageService } from \"./services/images.service\";\r\nimport { AccountService } from \"./services/account.service\";\r\nimport { DirtyGuard } from \"./core/security/dirty.guard\";\r\nimport { VideoService } from \"./services/video.service\";\r\nimport { NavMenuService } from \"./nav-menu/nav-menu.service\";\r\nimport { AchievementService } from \"./services/achievement.service\";\r\nimport { QuizService } from \"./services/quiz.service\";\r\nimport { AssignmentService } from \"./services/assignment.service\";\r\nimport { DictaatService } from \"./services/dictaat.service\";\r\nimport { ParticipantService } from \"./services/participantService\";\r\n\r\n\r\n//shared components\r\nimport { SpinnerComponent } from \"./spinner/spinner.component\";\r\nimport { WdFilterPipe } from './core/wdfilter.pipe';\r\nimport { GroupByPipe } from './core/group-by.pipe';\r\nimport { ArraySortPipe } from \"./core/order-by.pipe\";\r\nimport { ProcessTokenComponent } from \"./core/process-token.component\";\r\nimport { StylingService } from \"./services/styling.service\";\r\nimport { ModalComponentComponent } from \"./modal-component/modal-component.component\";\r\nimport { GoogleAnalyticsEventsService } from \"./services/google-analytics.service\";\r\nimport { PollService } from \"./services/poll.service\";\r\n\r\n\r\n/**\r\n * This mdule contains all the shared services, and components that are reusable across the application\r\n */\r\n@NgModule({\r\n imports: [CommonModule], \r\n providers: [\r\n DialogService, QuizService, ImageService, AchievementService, AccountService, wdApi, ConfigService,\r\n RatingService, DirtyGuard, VideoService, NavMenuService, AssignmentService, DictaatService, ParticipantService,\r\n StylingService, GoogleAnalyticsEventsService, PollService\r\n ],\r\n declarations: [SpinnerComponent, WdFilterPipe, GroupByPipe, ArraySortPipe, ProcessTokenComponent, ModalComponentComponent],\r\n exports: [SpinnerComponent, WdFilterPipe, GroupByPipe, ArraySortPipe, ModalComponentComponent]\r\n})\r\nexport class WdSharedModule {}\r\n \n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/wd-shared.module.ts","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n {{Title}}\\r\\n
\\r\\n
\\r\\n \\r\\n\\t
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/client/app.component.html\n// module id = 443\n// module chunks = 1","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".side-menu{width:30%;padding:10px;position:fixed;z-index:1031;top:0;margin-top:10vh}.left-menu{left:0}.right-menu{right:0}.side-nav-wrapper{width:500px;position:fixed;top:0;margin-top:50px;left:100%;max-width:200%;z-index:1}.side-nav,.side-nav-wrapper{transition:all .4s ease 0s;height:100%}.side-nav{position:absolute;width:250px;left:0;background-color:#fff;width:50%}.side-nav .navbar-nav{margin-left:0}.side-nav.active{-webkit-transform:translate(-250px);transform:translate(-250px)}.side-nav li{line-height:40px;text-indent:20px}@media (min-width:767px){.wd-content{margin-left:30%}.side-nav-wrapper{display:none}}@media (min-width:1200px){.side-menu{width:400px}.wd-content{margin-left:400px}}@media (max-width:767px){.side-menu{display:none}}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/client/app.component.css\n// module id = 444\n// module chunks = 1","import { ModuleWithProviders } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { PageComponent } from '../shared/page/page.component';\r\nimport { ProcessTokenComponent } from '../shared/core/process-token.component';\r\nimport { ProfileComponent } from './profile/profile.component';\r\n\r\nconst appRoutes: Routes = [\r\n {\r\n path: 'process-token',\r\n component: ProcessTokenComponent\r\n },\r\n {\r\n path: 'profile',\r\n component: ProfileComponent\r\n },\r\n {\r\n path: ':pageName',\r\n component: PageComponent\r\n },\r\n {\r\n path: '',\r\n redirectTo: '/home',\r\n pathMatch: 'full'\r\n },\r\n\r\n];\r\n\r\nexport const routing: ModuleWithProviders = RouterModule.forRoot(appRoutes);\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/client/app.routing.ts","import { Injectable } from '@angular/core';\r\nimport { Headers, Http, Response } from '@angular/http';\r\n//Nodig om een object om te toveren in een promise.\r\n\r\nimport { Page } from '../models/page';\r\nimport { PageSummary } from '../models/page-summary';\r\n\r\nimport 'rxjs/add/operator/toPromise';\r\nimport 'rxjs/add/operator/map';\r\n\r\n\r\n@Injectable()\r\nexport class PageService {\r\n\r\n constructor(private http: Http) { }\r\n\r\n public getPage(pageName: String) {\r\n return this.http.get('pages/' + pageName + '.html?v=' + new Date().getTime() , { withCredentials: true })\r\n .toPromise()\r\n .then(response => response.text() \r\n ).catch(this.handleError);\r\n }\r\n\r\n private handleError(error: any): Promise {\r\n console.error('An error occurred', error); // for demo purposes only\r\n return Promise.reject(error.message || error);\r\n }\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/page/page.service.ts","import { PageSummary } from './page-summary';\r\nimport { NavMenuItem } from './nav-menu';\r\n\r\nexport class Dictaat {\r\n name: string;\r\n location: string;\r\n lastChange: Date;\r\n pages: PageSummary[];\r\n menuItems: NavMenuItem[];\r\n canContribute: boolean;\r\n owner: any;\r\n\r\n constructor(json = null){\r\n this.name = json.name;\r\n this.location = json.location;\r\n this.pages = json.pages;\r\n this.menuItems = json.menuItems;\r\n this.owner = json.owner;\r\n }\r\n}\r\n\r\n\r\nexport class DictaatSession{\r\n containsMe: boolean;\r\n participantIds: number[]\r\n}\r\n\r\nexport class DictaatMarkingsAssignment{\r\n\r\n id: number;\r\n title: string;\r\n submissions: any[];\r\n metadata: string;\r\n\r\n constructor(json = null){\r\n if(json){\r\n this.id = json.id;\r\n this.title = json.title;\r\n this.submissions = json.submissions;\r\n this.metadata = json.metadata;\r\n }\r\n }\r\n\r\n public getSubmission(userId: string): any{\r\n return this.submissions.find(s => s.userId == userId);\r\n }\r\n}\r\n\r\nexport class DictaatMarkings{\r\n\r\n participants: any[] = [];\r\n assignments: DictaatMarkingsAssignment[] = [];\r\n\r\n constructor(json = null){\r\n if(json){\r\n this.participants = json.participants;\r\n json.assignments.forEach(a => {\r\n this.assignments.push(new DictaatMarkingsAssignment(a));\r\n })\r\n }\r\n \r\n }\r\n\r\n\r\n \r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/models/dictaat.ts","module.exports = \"
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Profile information

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{participant.userName}}\\r\\n
\\r\\n
\\r\\n \\r\\n {{participant.name}}\\r\\n
\\r\\n
\\r\\n \\r\\n {{participant.email}}\\r\\n
\\r\\n
\\r\\n \\r\\n {{participant.points}} avans points for this dictaat\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Group information

\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n You are currently in group {{participant.group}}\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

You have not yet joined this dictaat!

\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/client/profile/profile.component.html\n// module id = 448\n// module chunks = 1","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".wd-container{padding-top:20px}span{display:block}.tiny-form select{margin:0}.tiny-form{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.tiny-form label{padding:3px}.display-field span{display:block;color:#000;font-size:110%}.display-field label{display:block;margin-top:10px;color:#6e6e6e;font-size:80%;margin-bottom:0}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/client/profile/profile.component.css\n// module id = 449\n// module chunks = 1","//stackoverflow.com/questions/40060498/angular-2-1-0-create-child-component-on-the-fly-dynamically/40080290#40080290\r\nimport {\r\n Component,\r\n Directive,\r\n NgModule,\r\n Input, Output,\r\n EventEmitter,\r\n ViewContainerRef,\r\n Compiler,\r\n ComponentFactory,\r\n ModuleWithComponentFactories,\r\n ComponentRef,\r\n ReflectiveInjector,\r\n NgZone,\r\n CUSTOM_ELEMENTS_SCHEMA,\r\n NO_ERRORS_SCHEMA\r\n} from '@angular/core';\r\n\r\n\r\n//angular modules\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { RouterModule } from '@angular/router';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n//my modules\r\nimport { GameElementsModule } from '../game-elements/game-elements.module';\r\nimport { DatabModule } from \"../../extern/databases/datab.module\"; //voor bart zijn datab project\r\nimport { WdSharedModule } from '../wd-shared.module';\r\n\r\nexport function createComponentFactory(compiler: Compiler, metadata: Component): Promise> {\r\n const cmpClass = class DynamicComponent { };\r\n const decoratedCmp = Component(metadata)(cmpClass);\r\n\r\n @NgModule({\r\n imports: [\r\n BrowserModule, CommonModule, RouterModule, WdSharedModule, GameElementsModule, DatabModule\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA ],\r\n declarations: [decoratedCmp]\r\n })\r\n class DynamicHtmlModule { }\r\n\r\n return compiler.compileModuleAndAllComponentsAsync(DynamicHtmlModule)\r\n .then((moduleWithComponentFactory: ModuleWithComponentFactories) => {\r\n return moduleWithComponentFactory.componentFactories.find(x => x.componentType === decoratedCmp);\r\n });\r\n}\r\n\r\n@Directive({ selector: 'html-outlet' })\r\nexport class HtmlOutlet {\r\n @Input() html: string;\r\n cmpRef: ComponentRef;\r\n\r\n @Output()\r\n public afterCompile = new EventEmitter();\r\n\r\n constructor(private vcRef: ViewContainerRef, private compiler: Compiler) { }\r\n\r\n ngOnChanges() {\r\n\r\n const html = this.html;\r\n if (!html) return;\r\n\r\n if (this.cmpRef) {\r\n this.cmpRef.destroy();\r\n }\r\n\r\n const compMetadata = new Component({\r\n selector: 'dynamic-html',\r\n template: this.html,\r\n });\r\n\r\n createComponentFactory(this.compiler, compMetadata)\r\n .then(factory => {\r\n const injector = ReflectiveInjector.fromResolvedProviders([], this.vcRef.parentInjector);\r\n this.cmpRef = this.vcRef.createComponent(factory, 0, injector, []);\r\n this.afterCompile.emit();\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.cmpRef) {\r\n this.cmpRef.destroy();\r\n }\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/core/html-outlet.directive.ts","import { Component, OnInit, Input } from '@angular/core';\r\nimport { ActivatedRoute, Params } from '@angular/router';\r\nimport { RatingService } from '../../services/rating.service';\r\nimport { AccountService } from '../../services/account.service';\r\nimport { Rating, Rate } from '../../models/rating';\r\n\r\n@Component({\r\n selector: \"wd-rating\",\r\n styleUrls: ['./rating.component.css'],\r\n templateUrl: './rating.component.html' \r\n})\r\nexport class RatingComponent implements OnInit {\r\n\r\n private dictaatName: string;\r\n private error: string;\r\n\r\n //question id\r\n @Input()\r\n public rid: number; \r\n\r\n public rating: Rating;\r\n public rate: Rate = new Rate();\r\n public isAuth: boolean;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private ratingService: RatingService,\r\n private accountService: AccountService\r\n ) {}\r\n\r\n public ngOnInit() {\r\n\r\n this.accountService.User.subscribe(user => { this.isAuth = user != null; });\r\n \r\n this.route.params.forEach((params: Params) => {\r\n this.dictaatName = params['dictaatName'];\r\n this.ratingService.getRating(this.dictaatName, this.rid)\r\n .then(rating => {\r\n this.rating = rating;\r\n })\r\n .catch(reason => this.error = reason);\r\n });\r\n }\r\n\r\n public login() {\r\n this.accountService.Login();\r\n }\r\n\r\n\r\n public sendRate(): void {\r\n this.ratingService.SendRate(this.dictaatName, this.rating.id, this.rate)\r\n .then((rating) => {\r\n this.rating = rating;\r\n this.rate = null;\r\n });\r\n }\r\n\r\n public setEmotion(emotion): void {\r\n if(this.rate.emotion == emotion){\r\n this.rate.emotion = null;\r\n }\r\n else{\r\n this.rate.emotion = emotion;\r\n }\r\n \r\n }\r\n\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/game-elements/rating/rating.component.ts","export class Rating {\r\n id: number;\r\n title: string;\r\n description: Boolean = false;\r\n emotion: string;\r\n feedback: string;\r\n myRate: Rate;\r\n}\r\n\r\nexport class Rate {\r\n id: number;\r\n emotion: number;\r\n feedback: string;\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/models/rating.ts","exports = module.exports = require(\"../../../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".emotion img{width:35px;cursor:pointer;transition:all .4s;margin:4px}.emotion{position:relative}.emotion.active img{-webkit-transform:scale(1.1);transform:scale(1.1)}.rate{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.text-baloon{position:absolute;top:-61px;left:0}.text-baloon .content{display:-webkit-box;display:-ms-flexbox;display:flex;padding:3px}.text-baloon .content button{margin:0}.text-baloon .content input{height:100%;padding:12px;margin:2px;width:300px;max-width:100%;border:0}.text-baloon{text-align:center;padding:0;background:#fff;border-radius:2px;box-shadow:0 1px 6px 0 rgba(0,0,0,.12),0 1px 6px 0 rgba(0,0,0,.12)}.text-baloon:after{content:\\\"\\\";position:absolute;border-style:solid;border-width:15px 15px 0;border-color:#fff transparent;display:block;width:0;z-index:1;bottom:-10px;left:7px}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/game-elements/rating/rating.component.css\n// module id = 453\n// module chunks = 1","module.exports = \"
\\r\\n
\\r\\n

{{error}}

\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n

{{rating.title}}

\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n {{rating.sadCounter}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{rating.happyCounter}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n

\\r\\n {{rating.sadCounter}}\\r\\n \\r\\n {{rating.happyCounter}}\\r\\n \\r\\n - \\\"{{rating.myRate.feedback}}\\\"\\r\\n

\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/game-elements/rating/rating.component.html\n// module id = 454\n// module chunks = 1","import { Component, OnInit } from '@angular/core';\r\nimport { AchievementService } from '../../services/achievement.service';\r\nimport { Achievement } from '../..//models/achievement';\r\nimport {AchievementGroup} from \"../../models/AchievementGroup\";\r\nimport { UserAchievement } from \"../../models/userachievement\";\r\nimport { ConfigService } from \"../../services/config.service\";\r\n\r\n\r\n@Component({\r\n selector: \"wd-achievements\",\r\n templateUrl: './achievements.component.html',\r\n styleUrls: [ './achievements.component.css' ]\r\n})\r\n\r\nexport class AchievementsComponent implements OnInit {\r\n abstract;\r\n private achievementgroups: AchievementGroup[];\r\n private achievements: Achievement[];\r\n grid: boolean = true;\r\n\r\n \r\n\r\n constructor(\r\n private achievementService: AchievementService, private configService: ConfigService){ }\r\n\r\n\r\n public ngOnInit() {\r\n this.configService.Config.subscribe((config) => {\r\n if(config){\r\n this.achievementService.getDictaatAchievements(config.name).then((achievements) => {\r\n this.achievementgroups = achievements ? achievements : [];\r\n this.getAllAchievements();\r\n });\r\n }\r\n });\r\n }\r\n\r\n public getAllAchievements() {\r\n for(let group of this.achievementgroups)\r\n {\r\n for(let achiev of group.achievements)\r\n {\r\n this.achievements.push(achiev);\r\n }\r\n }\r\n }\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/game-elements/achievements/achievements.component.ts","module.exports = \"
\\r\\n
0\\\">\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{achievement.name}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{group.groupName}}

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n

{{achievement.name}}

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Ow noes!\\r\\n

The achievements are still at the achievements factory! Contact you're teacher for more information.

\\r\\n \\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/game-elements/achievements/achievements.component.html\n// module id = 456\n// module chunks = 1","exports = module.exports = require(\"../../../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".container{background-color:#fdfffd;box-shadow:5px 5px 5px #888;height:300px;min-width:150px;width:100%;overflow:hidden;border:1px solid}.achievementscontainer{height:300px;width:100%;overflow:auto}.flex1{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:distribute;justify-content:space-around;-ms-flex-line-pack:start;align-content:flex-start}.achievement{height:200px;width:150px;margin:5px;border-radius:5px;overflow:hidden;float:left;text-align:center;box-shadow:5px 5px 5px #888;background-color:#dedece;opacity:.5}.achievementimage{height:150px;width:150px}.completed{opacity:1}.achievementinfo{background-color:#a9a9a9;width:75px;height:40px;position:absolute;text-align:center;display:none}.achivementinfo p{line-height:0}.buttoncontainer{padding-right:10px;width:100%;height:40px;float:left}.listgroup{float:left;width:100%;margin-bottom:50px}.listbutton{margin-right:10px;margin-top:5px;float:right}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/game-elements/achievements/achievements.component.css\n// module id = 457\n// module chunks = 1","import { NgModule } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { HttpModule } from '@angular/http';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { QuizComponent } from \"./quiz.component\";\r\nimport { QuestionComponent } from './question/quiz-question.component';\r\nimport { QuestionMcComponent } from './question/mc/question-mc.component';\r\nimport { QuestionBlanksComponent } from './question/blanks/question-blanks.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { QuestionGroupComponent } from './question/question-group/question-group.component';\r\nimport { QuestionSentenceComponent } from './question/question-sentence/question-sentence.component';\r\nimport { WdSharedModule } from '../../wd-shared.module';\r\n\r\n\r\n@NgModule({\r\n providers: [],\r\n imports: [BrowserModule, HttpModule, WdSharedModule, FormsModule, CommonModule],\r\n declarations: [QuizComponent, QuestionComponent, QuestionMcComponent, QuestionBlanksComponent, QuestionGroupComponent, QuestionSentenceComponent],\r\n exports: [QuizComponent, QuestionComponent, QuestionMcComponent, QuestionBlanksComponent]\r\n})\r\nexport class QuizModule {}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/game-elements/quiz/quiz.module.ts","module.exports = \"
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n

Quiz - {{quiz.assignment.title}}\\r\\n ({{quiz.questions.length}} questions)\\r\\n

\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n yay! This quiz was completed on {{quiz.lastAttempt.timestamp | date}}\\r\\n \\r\\n \\r\\n {{quiz.assignment.points}}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n

{{quiz.assignment.description}}

\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Or\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n

You got {{quiz.lastAttempt.correctAnswers}} out of {{quiz.questions.length}}!

\\r\\n
\\r\\n
\\r\\n {{isCorrect}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/game-elements/quiz/quiz.component.html\n// module id = 459\n// module chunks = 1","exports = module.exports = require(\"../../../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".question-progress{list-style-type:none;padding:0}.question-progress li{display:inline-block}h2{font-size:150%;margin:0}h1 span{font-size:16px}.quiz{background-color:#fff;min-height:100px}.quiz .finished,.quiz .idle,.quiz .temporary,header{padding:20px}header{margin:10px 0;border-bottom:1px solid #ddd;position:relative}.quiz.complete .points{color:#fff;background-color:#66bb6a}.score{margin:5px}.bs-callout{padding:0}.bs-callout.complete{border-left-color:#66bb6a}fieldset.breakline{margin-bottom:0}.started .footer{height:100px;width:100%;background-color:#eee}.progress{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-top:20px;overflow:visible}.progress .point{width:20px;height:20px;border-radius:50%;border:2px solid #c8c8c8;background-color:#fff}.progress .point.correct{background-color:#66bb6a}.progress .point.wrong{background-color:#f44336}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/game-elements/quiz/quiz.component.css\n// module id = 460\n// module chunks = 1","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { Question } from '../../../models/quiz/question';\r\nimport { Answer } from '../../../models/quiz/answer';\r\nimport { Checker } from './question.base';\r\n\r\n\r\n@Component({\r\n selector: 'wd-quiz-question',\r\n templateUrl: './quiz-question.component.html',\r\n styleUrls: ['./quiz-question.component.css']\r\n})\r\nexport class QuestionComponent implements OnInit {\r\n\r\n @Input()\r\n public question: Question;\r\n\r\n @Output()\r\n public onAnswer = new EventEmitter();\r\n\r\n public checker : Checker;\r\n public state :string = 'idle';\r\n\r\n constructor() { }\r\n\r\n ngOnInit() { \r\n this.checker = new Checker();\r\n }\r\n\r\n public check(){\r\n this.checker.isChecking = true;\r\n this.state = this.question.isCorrect ? 'correct' : 'wrong';\r\n }\r\n\r\n public continue(){\r\n this.checker.reset();\r\n this.state = 'idle';\r\n this.onAnswer.emit();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/game-elements/quiz/question/quiz-question.component.ts","module.exports = \"
\\r\\n\\r\\n
\\r\\n

{{question.text}}

\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n ?\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

{{state}}.

\\r\\n

explanation: {{question.explanation}}

\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/game-elements/quiz/question/quiz-question.component.html\n// module id = 462\n// module chunks = 1","exports = module.exports = require(\"../../../../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".footer{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:#ddd;width:100%;transition:all .5s}.body,.footer{padding:20px}.state-icon{border-radius:50%;font-size:120%;height:100%;width:50px;background-color:#eee;color:#999;position:relative;overflow:hidden}.state-icon-slider{box-sizing:border-box;width:300%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transform:translateX(-50px);transform:translateX(-50px);transition:-webkit-transform .5s ease-in;transition:transform .5s ease-in;transition:transform .5s ease-in,-webkit-transform .5s ease-in}.state-icon-slider.wrong{-webkit-transform:translateX(-100px);transform:translateX(-100px)}.state-icon-slider.correct{-webkit-transform:translateX(0);transform:translateX(0)}.state-icon-slider span{line-height:50px;width:50px;display:inline-block;text-align:center;border-radius:50%}.state-icon-slider span.wrong{background-color:#f44336;color:#fff}.state-icon-slider span.correct{background-color:#66bb6a;color:#fff}.explanation{text-align:center;-webkit-box-flex:1;-ms-flex:1;flex:1;margin:0 15px}.explanation h2{margin:0}.explanation h2.wrong{color:#b71c1c}.explanation h2.correct{color:#1b5e20}@media (max-width:767px){.footer .explanation{-webkit-box-flex:1;-ms-flex:1 0 100%;flex:1 0 100%;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;min-height:50px;margin-bottom:5px}}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/game-elements/quiz/question/quiz-question.component.css\n// module id = 463\n// module chunks = 1","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Question } from '../../../../models/quiz/question';\r\nimport { Answer } from '../../../../models/quiz/answer';\r\nimport { QuestionBase } from '../question.base';\r\n\r\n@Component({\r\n selector: 'wd-question-mc',\r\n templateUrl: './question-mc.component.html',\r\n styleUrls: ['./question-mc.component.css']\r\n})\r\nexport class QuestionMcComponent extends QuestionBase implements OnInit {\r\n\r\n public answer : Answer;\r\n\r\n ngOnInit() {\r\n }\r\n\r\n public isSelected(answer: Answer){\r\n return answer == this.answer;\r\n }\r\n\r\n public selectAnswer(answer: Answer){\r\n if(!this.checker.isChecking){\r\n this.answer = answer;\r\n this.checkIfCorrect();\r\n }\r\n }\r\n\r\n public checkIfCorrect(){\r\n //only need to check first question.\r\n this.question.isCorrect = this.answer.isCorrect;\r\n }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/game-elements/quiz/question/mc/question-mc.component.ts","module.exports = \"
\\r\\n \\r\\n \\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/game-elements/quiz/question/mc/question-mc.component.html\n// module id = 465\n// module chunks = 1","exports = module.exports = require(\"../../../../../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".badge{border-radius:3px;margin-left:3px}.badge.danger{background-color:#f44336}.badge.success{background-color:#66bb6a}button.checking{cursor:not-allowed;opacity:.5}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/game-elements/quiz/question/mc/question-mc.component.css\n// module id = 466\n// module chunks = 1","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Answer } from '../../../../models/quiz/answer';\r\nimport { Question } from '../../../../models/quiz/question';\r\nimport { QuestionBase, TextPart } from '../question.base';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'wd-question-blanks',\r\n templateUrl: './question-blanks.component.html',\r\n styleUrls: ['./question-blanks.component.css']\r\n})\r\nexport class QuestionBlanksComponent extends QuestionBase implements OnInit {\r\n\r\n public textParts : TextPart[] = [];\r\n public options: TextPart[] = [];\r\n\r\n\r\n ngOnInit() {\r\n this.textParts = this.getParts(this.question.body.sentence);\r\n\r\n this.textParts.forEach(tp => {\r\n if(tp.type === 'blank'){\r\n this.options.push(tp);\r\n }\r\n })\r\n\r\n if(this.question.body.answers)\r\n {\r\n this.question.body.answers.forEach(a => {\r\n this.options.push(new TextPart(a.text));\r\n })\r\n }\r\n\r\n\r\n\r\n this.shuffle(this.options);\r\n }\r\n\r\n public remove(part: TextPart){\r\n if(!this.checker.isChecking){\r\n var answer = part.value;\r\n this.options.push(answer);\r\n part.value = null;\r\n }\r\n }\r\n\r\n public select(selectedPart: TextPart){\r\n \r\n //place on next possible \r\n this.textParts.some((part, i) => {\r\n if(part.type == 'blank' && !part.value){ \r\n part.value = selectedPart;\r\n this.options.splice(this.options.indexOf(selectedPart), 1);\r\n this.checkIfCorrect();\r\n return true;\r\n }\r\n })\r\n }\r\n\r\n public checkIfCorrect(){\r\n var isCorrect = true;\r\n this.textParts.forEach((part) => {\r\n if(part.type == 'blank' && (!part.value || (part.value.text != part.text))){\r\n isCorrect = false;\r\n }\r\n });\r\n this.question.isCorrect = isCorrect;\r\n }\r\n\r\n public canSelect(){\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/game-elements/quiz/question/blanks/question-blanks.component.ts","module.exports = \"

\\r\\n \\r\\n \\r\\n {{part.text}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n ...\\r\\n \\r\\n \\r\\n\\r\\n

\\r\\n\\r\\n

Options

\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/game-elements/quiz/question/blanks/question-blanks.component.html\n// module id = 468\n// module chunks = 1","exports = module.exports = require(\"../../../../../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".btn-sm{margin-left:3px;margin-right:3px}.word-container{min-height:60px;line-height:45px}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/game-elements/quiz/question/blanks/question-blanks.component.css\n// module id = 469\n// module chunks = 1","import { Component, OnInit } from '@angular/core';\r\nimport { QuestionBase } from '../question.base';\r\nimport { Answer } from '../../../../models/quiz/answer';\r\n\r\n@Component({\r\n selector: 'wd-question-group',\r\n templateUrl: './question-group.component.html',\r\n styleUrls: ['./question-group.component.css']\r\n})\r\nexport class QuestionGroupComponent extends QuestionBase implements OnInit {\r\n\r\n public selectedAnswers: Answer[];\r\n\r\n ngOnInit() {\r\n this.selectedAnswers = [];\r\n }\r\n\r\n public toggleAnswer(answer: Answer){\r\n if(!this.checker.isChecking){\r\n\r\n if(this.isSelected(answer)){\r\n //remove answer\r\n this.selectedAnswers.splice(this.selectedAnswers.indexOf(answer), 1);\r\n }\r\n else{\r\n //add answer\r\n this.selectedAnswers.push(answer);\r\n }\r\n this.checkIfCorrect();\r\n }\r\n }\r\n\r\n public isSelected(answer: Answer){\r\n return this.selectedAnswers.indexOf(answer) != -1;\r\n } \r\n\r\n public checkIfCorrect(){\r\n var isCorrect = true;\r\n\r\n //check if all correct answers are selected\r\n this.question.body.answers.forEach((answer) => {\r\n if(answer.isCorrect && !this.isSelected(answer)){\r\n isCorrect = false;\r\n } \r\n });\r\n\r\n //check if all selected answers are correct\r\n this.selectedAnswers.forEach((answer) => {\r\n if(!answer.isCorrect){\r\n isCorrect = false;\r\n } \r\n });\r\n\r\n this.question.isCorrect = isCorrect;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/game-elements/quiz/question/question-group/question-group.component.ts","module.exports = \"\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/game-elements/quiz/question/question-group/question-group.component.html\n// module id = 471\n// module chunks = 1","exports = module.exports = require(\"../../../../../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".badge{border-radius:3px;margin-left:3px}.badge.danger{background-color:#f44336}.badge.success{background-color:#66bb6a}button.checking{cursor:not-allowed;opacity:.5}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/game-elements/quiz/question/question-group/question-group.component.css\n// module id = 472\n// module chunks = 1","import { Component, OnInit } from '@angular/core';\r\nimport { QuestionBase, TextPart } from '../question.base';\r\n\r\n@Component({\r\n selector: 'wd-question-sentence',\r\n templateUrl: './question-sentence.component.html',\r\n styleUrls: ['./question-sentence.component.css']\r\n})\r\nexport class QuestionSentenceComponent extends QuestionBase implements OnInit {\r\n\r\n public Options: TextPart[];\r\n public Sentence: TextPart[];\r\n private _original: TextPart[]; //The original sentence seperated in parts\r\n\r\n ngOnInit() {\r\n this._original = this.getParts(this.question.body.sentence);\r\n this.Options = this.shuffle(this.getParts(this.question.body.sentence));\r\n this.question.body.answers.forEach(a => this.Options.push(new TextPart(a.text)));\r\n this.shuffle(this.Options);\r\n this.Sentence = [];\r\n }\r\n\r\n public select(textPart: TextPart): void{\r\n this.Sentence.push(textPart);\r\n this.Options.splice(this.Options.indexOf(textPart), 1);\r\n this.checkIfCorrect();\r\n }\r\n\r\n public deselect(textPart: TextPart): void{\r\n this.Options.push(textPart);\r\n this.Sentence.splice(this.Sentence.indexOf(textPart), 1);\r\n this.checkIfCorrect();\r\n }\r\n\r\n public checkIfCorrect(){\r\n var originalSentence = \"\";\r\n this._original.forEach(part => originalSentence += part.text);\r\n var currentSentence = \"\";\r\n this.Sentence.forEach(part => currentSentence += part.text);\r\n this.question.isCorrect = originalSentence == currentSentence;\r\n }\r\n \r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/game-elements/quiz/question/question-sentence/question-sentence.component.ts","module.exports = \"
\\r\\n \\r\\n
\\r\\n\\r\\n

Choose from the following words

\\r\\n
\\r\\n \\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/game-elements/quiz/question/question-sentence/question-sentence.component.html\n// module id = 474\n// module chunks = 1","exports = module.exports = require(\"../../../../../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".word-container{min-height:60px}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/game-elements/quiz/question/question-sentence/question-sentence.component.css\n// module id = 475\n// module chunks = 1","import { Injectable } from '@angular/core';\r\nimport { Headers, Http, Response } from '@angular/http';\r\n//Nodig om een object om te toveren in een promise.\r\nimport { Subject } from 'rxjs/Subject';\r\nimport { Observable } from 'rxjs/Observable';\r\n\r\n\r\nimport 'rxjs/add/operator/toPromise';\r\nimport 'rxjs/add/operator/map';\r\n\r\nexport class DialogData {\r\n public Content: string;\r\n public Title: string;\r\n}\r\n\r\n@Injectable()\r\nexport class DialogService {\r\n\r\n private dialogData: DialogData;\r\n private subject: Subject = new Subject();\r\n\r\n constructor(private http: Http) {\r\n\r\n }\r\n\r\n public showDialog(title: string, content: string): void {\r\n this.dialogData = { Title: title, Content: content };\r\n this.subject.next(this.dialogData);\r\n }\r\n\r\n public getDialogData(): Observable {\r\n return this.subject.asObservable();\r\n }\r\n\r\n private handleError(error: any): Promise {\r\n console.error('An error occurred', error); // for demo purposes only\r\n return Promise.reject(error.message || error);\r\n }\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/services/dialog.service.ts","import { Injectable } from '@angular/core';\r\nimport { Headers, Http, Response, RequestOptions } from '@angular/http';\r\n\r\nimport { Subject } from 'rxjs/Subject';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { wdApi } from '../core/wd.service';\r\nimport { BaseModalService } from '../core/basemodal.service';\r\nimport 'rxjs/add/operator/toPromise';\r\nimport 'rxjs/add/operator/map';\r\n\r\n\r\n@Injectable()\r\nexport class ImageService extends BaseModalService{\r\n\r\n constructor(private wdapi: wdApi) {\r\n super();\r\n }\r\n\r\n public addImages(dictaatName: string, image: File): Promise {\r\n let url: string = \"/dictaten/\" + dictaatName + '/upload';\r\n return this.wdapi.postFile(url, image);\r\n }\r\n\r\n\r\n private handleError(error: any): Promise {\r\n console.error('An error occurred', error); // for demo purposes only\r\n return Promise.reject(error.message || error);\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/services/images.service.ts","\r\nimport { CanDeactivate, ActivatedRouteSnapshot, RouterStateSnapshot } from \"@angular/router\";\r\nimport { Observable } from \"rxjs/Observable\";\r\nimport { Injectable } from \"@angular/core\";\r\n\r\nexport interface DirtyComp{\r\n\r\n isDirty() : boolean;\r\n\r\n}\r\n\r\n@Injectable()\r\nexport class DirtyGuard implements CanDeactivate {\r\n \r\n canDeactivate(component: DirtyComp){\r\n \r\n if(component.isDirty()){\r\n return confirm(\"You have unsaved changes. Would you like to discard these changes?\");\r\n }\r\n\r\n return true;\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/core/security/dirty.guard.ts","import { Injectable } from '@angular/core';\r\nimport { Headers, Http, Response, RequestOptions } from '@angular/http';\r\n\r\nimport { Subject } from 'rxjs/Subject';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { wdApi } from '../core/wd.service';\r\nimport { BaseModalService } from '../core/basemodal.service';\r\nimport 'rxjs/add/operator/toPromise';\r\nimport 'rxjs/add/operator/map';\r\n\r\n\r\n@Injectable()\r\nexport class VideoService extends BaseModalService {\r\n\r\n constructor(private wdapi: wdApi) {\r\n super();\r\n }\r\n\r\n private handleError(error: any): Promise {\r\n console.error('An error occurred', error); // for demo purposes only\r\n return Promise.reject(error.message || error);\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/services/video.service.ts","import { Component, OnInit, Input } from '@angular/core';\r\nimport { ActivatedRoute, Params } from '@angular/router';\r\nimport { RatingService } from '../services/rating.service';\r\nimport { AccountService } from '../services/account.service';\r\nimport { Rating, Rate } from '../models/rating';\r\n\r\n@Component({\r\n selector: \"wd-spinner\",\r\n styleUrls: ['./spinner.component.css'],\r\n template: `\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{subtitle ? subtitle : 'loading content'}}
\r\n \r\n `\r\n})\r\nexport class SpinnerComponent implements OnInit {\r\n\r\n @Input()\r\n public subtitle: string;\r\n\r\n constructor(\r\n\r\n ) {}\r\n\r\n public ngOnInit() {}\r\n\r\n \r\n\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/spinner/spinner.component.ts","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".subtitle{color:#bebebe;text-align:center;font-style:Italic}.spinner{margin:10px auto;width:50px;height:40px;text-align:center;font-size:10px}.spinner>div{background-color:#333;height:100%;width:6px;display:inline-block;-webkit-animation:sk-stretchdelay 1.2s infinite ease-in-out;animation:sk-stretchdelay 1.2s infinite ease-in-out}.spinner .rect2{-webkit-animation-delay:-1.1s;animation-delay:-1.1s}.spinner .rect3{-webkit-animation-delay:-1s;animation-delay:-1s}.spinner .rect4{-webkit-animation-delay:-.9s;animation-delay:-.9s}.spinner .rect5{-webkit-animation-delay:-.8s;animation-delay:-.8s}@-webkit-keyframes sk-stretchdelay{0%,40%,to{-webkit-transform:scaleY(.4)}20%{-webkit-transform:scaleY(1)}}@keyframes sk-stretchdelay{0%,40%,to{transform:scaleY(.4);-webkit-transform:scaleY(.4)}20%{transform:scaleY(1);-webkit-transform:scaleY(1)}}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/spinner/spinner.component.css\n// module id = 481\n// module chunks = 1","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'wdfilter',\r\n pure: false\r\n})\r\nexport class WdFilterPipe implements PipeTransform {\r\n\r\n transform(items: any[], filter: any): any {\r\n if (!items || !filter || !filter.value || !filter.property) {\r\n return items;\r\n }\r\n\r\n\r\n // filter items array, items which match and return true will be kept, false will be filtered out\r\n items = items.filter(item => {\r\n if(item[filter.property]){\r\n return item[filter.property].toUpperCase().indexOf(filter.value.toUpperCase()) !== -1;\r\n }\r\n });\r\n \r\n return items;\r\n\r\n}\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/core/wdfilter.pipe.ts","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({name: 'wdGroupBy'})\r\nexport class GroupByPipe implements PipeTransform {\r\n transform(value: Array, field: string): Array {\r\n const groupedObj = value.reduce((prev, cur)=> {\r\n if(!prev[cur[field]]) {\r\n prev[cur[field]] = [cur];\r\n } else {\r\n prev[cur[field]].push(cur);\r\n }\r\n return prev;\r\n }, {});\r\n return Object.keys(groupedObj).map(key => ({ key, value: groupedObj[key] }));\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/core/group-by.pipe.ts","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: \"wdsort\"\r\n})\r\nexport class ArraySortPipe {\r\n transform(array: Array, args: string): Array {\r\n array.sort((a: any, b: any) => {\r\n if (a < b) {\r\n return -1;\r\n } else if (a > b) {\r\n return 1;\r\n } else {\r\n return 0;\r\n }\r\n });\r\n return array;\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/core/order-by.pipe.ts","import { Injectable } from '@angular/core';\r\nimport { Headers, Http, Response } from '@angular/http';\r\nimport 'rxjs/add/operator/toPromise';\r\nimport 'rxjs/add/operator/map';\r\nimport { BaseModalService } from \"../../shared/core/basemodal.service\";\r\nimport { wdApi } from \"../../shared/core/wd.service\";\r\nimport { PageSummary } from \"../../shared/models/page-summary\";\r\nimport { NavMenuItem } from \"../../shared/models/nav-menu\";\r\nimport { Page } from \"../../shared/models/page\";\r\n\r\n\r\n\r\n@Injectable()\r\nexport class StylingService extends BaseModalService {\r\n\r\n constructor(private wdapi: wdApi) { \r\n super();\r\n }\r\n\r\n public getStyle(dictaatName: String, styleName: string): Promise {\r\n\r\n let url: string = \"/dictaten/\" + dictaatName + '/styling/' + styleName;\r\n\r\n return this.wdapi.get(url)\r\n .toPromise()\r\n .then(response => response.text());\r\n\r\n }\r\n\r\n public updateStyle(dictaatName: String, styleName: string, content: string): Promise {\r\n\r\n let url: string = \"/dictaten/\" + dictaatName + '/styling/' + styleName;\r\n \r\n return this.wdapi.put(url, { content: content })\r\n .toPromise()\r\n .then(response => response._body);\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/services/styling.service.ts","import { EventEmitter, Component, OnInit, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'wd-modal',\r\n templateUrl: './modal-component.component.html',\r\n styleUrls: ['./modal-component.component.css']\r\n})\r\nexport class ModalComponentComponent implements OnInit {\r\n\r\n @Input() public isVisible: boolean;\r\n @Input() public config: any;\r\n @Input() public isValid: boolean = true;\r\n\r\n @Output() public onComplete = new EventEmitter();\r\n @Output() public onCancel = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n if(!this.config)\r\n this.config = {};\r\n }\r\n\r\n public cancel(){\r\n this.isVisible = false;\r\n this.onCancel.emit(null);\r\n }\r\n\r\n public complete(){\r\n this.onComplete.emit(null);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/modal-component/modal-component.component.ts","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n

\\r\\n {{config.title ? config.title : 'New modal' }}\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/modal-component/modal-component.component.html\n// module id = 487\n// module chunks = 1","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/modal-component/modal-component.component.css\n// module id = 488\n// module chunks = 1","\r\n\r\nimport { NgModule } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { HttpModule } from '@angular/http';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { LeaderboardComponent } from \"./leaderboard.component\";\r\nimport { TotalPointsPipe } from \"./totalpoints.pipe\";\r\nimport { WdSharedModule } from '../../wd-shared.module';\r\n\r\n@NgModule({\r\n providers: [],\r\n imports: [BrowserModule, WdSharedModule, HttpModule, FormsModule],\r\n declarations: [LeaderboardComponent, TotalPointsPipe],\r\n exports: [LeaderboardComponent]\r\n})\r\nexport class LeaderboardModule {}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/game-elements/leaderboard/leaderboard.module.ts","module.exports = \"
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
RankGroupSizeAverageTotal
#{{i + 1}}{{item.groupName}}{{item.members.length}} members{{item.points}} points{{item.totalPoints}} points
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
RankNameGroupPoints
#{{i + 1}}{{item.name ? item.name : item.email}}{{item.group}}{{item.points}} points
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/game-elements/leaderboard/leaderboard.component.html\n// module id = 490\n// module chunks = 1","exports = module.exports = require(\"../../../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".leaderboard{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);background-color:#fff;min-height:100px}.leaderboard table{border-collapse:collapse}.leaderboard table tr{border-bottom:1px solid #eee;position:relative}.leaderboard table tr.me{font-weight:700}.leaderboard .loader{height:3px;width:100%;background-color:orange;position:absolute;bottom:0;left:0}.table{margin-bottom:0}.points{text-align:right;padding-right:50px}th{font-weight:400;color:#888;font-style:italic;font-size:80%}@media (max-width:767px){.resp{display:none}}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/game-elements/leaderboard/leaderboard.component.css\n// module id = 491\n// module chunks = 1","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'wdtotalpoints',\r\n pure: false\r\n})\r\nexport class TotalPointsPipe implements PipeTransform {\r\n\r\n transform(items: any[], filter: any): any { \r\n var totalPoints = 0;\r\n items.forEach(item => totalPoints += item.points );\r\n return totalPoints;\r\n }\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/game-elements/leaderboard/totalpoints.pipe.ts","import { Component, OnInit, Input, Output } from '@angular/core';\r\nimport { AssignmentService } from \"../../services/assignment.service\";\r\nimport { Assignment } from \"../../models/assignment\";\r\nimport { DictaatService } from \"../../services/dictaat.service\";\r\nimport { ActivatedRoute } from \"@angular/router/router\";\r\nimport { ConfigService } from \"../../services/config.service\";\r\nimport { EventEmitter } from \"events\";\r\nimport { AccountService } from '../../services/account.service';\r\nimport { User } from '../../models/user';\r\n\r\n@Component({\r\n selector: 'wd-assignment',\r\n templateUrl: './assignment.component.html',\r\n styleUrls: ['./assignment.component.css']\r\n})\r\nexport class AssignmentComponent implements OnInit {\r\n dictaatName: any;\r\n\r\n private user: User;\r\n public assignment: Assignment;\r\n\r\n @Input()\r\n public aid: number;\r\n\r\n\r\n constructor(\r\n private accountService: AccountService, \r\n private dictaatService: DictaatService,\r\n private assignmentService: AssignmentService,\r\n private configService: ConfigService ) { }\r\n\r\n ngOnInit() {\r\n this.configService.Config.subscribe((config) => {\r\n this.dictaatName = config ? config.name : null;\r\n\r\n if(this.dictaatName)\r\n this.assignmentService.getAssignmentDetails(config.name, this.aid).then(ad => {\r\n this.assignment = ad;\r\n });\r\n });\r\n\r\n this.accountService.User.subscribe(user => this.user = user);\r\n }\r\n\r\n public submit() : any {\r\n this.assignment.state = 1;\r\n this.assignmentService.submit(this.dictaatName, this.aid, this.user.id)\r\n .then(s => this.assignment.mySubmission = s)\r\n .catch(s => this.assignment.state = 0);\r\n }\r\n\r\n public edit(){\r\n var original = Object.assign({}, this.assignment); \r\n this.assignmentService.ShowModal('edit', [this.assignment])\r\n .then((assignment) => this.assignment = assignment)\r\n .catch(() => {\r\n this.assignment = new Assignment(original);\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/game-elements/assignment/assignment.component.ts","module.exports = \"
\\r\\n

{{assignment.title}}

\\r\\n

\\r\\n {{assignment.description}}\\r\\n

\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n Mark this assignment as complete. You will recieve points when a teacher accepts this submission\\r\\n \\r\\n \\r\\n \\r\\n This assignment is marked as complete. You will recieve points when a teacher accepts this submission\\r\\n \\r\\n \\r\\n \\r\\n yay! This assignment was completed on {{assignment.mySubmission.timestamp | date}}\\r\\n \\r\\n\\r\\n \\r\\n {{assignment.points}}\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/game-elements/assignment/assignment.component.html\n// module id = 494\n// module chunks = 1","exports = module.exports = require(\"../../../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".assignment{padding:15px;position:relative;background-color:#fff}.assignment h1{margin-top:5px}.assignment.level-Gold{border-bottom:2px solid gold}.assignment.level-Gold .points{color:#fff;background-color:gold}.assignment.level-Bronze{border-bottom:2px solid #cd7f32},.assignment.level-Bronze .points{color:#fff;background-color:#cd7f32}.assignment.level-Silver{border-bottom:2px solid silver}.assignment.level-Silver .points{color:#fff;background-color:silver}.tooltip-container .none{color:#000;font-size:1em;background-color:#eee;cursor:pointer}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/game-elements/assignment/assignment.component.css\n// module id = 495\n// module chunks = 1","import { Component, OnInit } from '@angular/core';\r\n\r\nimport { DictaatService } from \"../../services/dictaat.service\";\r\nimport { AccountService } from \"../../services/account.service\";\r\nimport { ConfigService } from \"../../services/config.service\";\r\nimport { ParticipantService } from \"../../services/participantService\";\r\n\r\n\r\n@Component({\r\n selector: 'wd-portal',\r\n templateUrl: './portal.component.html',\r\n styleUrls: ['./portal.component.css']\r\n})\r\nexport class PortalComponent implements OnInit {\r\n \r\n public portal: any;\r\n\r\n constructor(\r\n private participantService: ParticipantService,\r\n private accountService: AccountService, \r\n private configService: ConfigService){}\r\n\r\n private config;\r\n public user;\r\n\r\n ngOnInit() {\r\n this.accountService.User.subscribe(user => { this.user = user; this.retrieveParticipant(); });\r\n this.configService.Config.subscribe(config => { this.config = config; this.retrieveParticipant(); });\r\n }\r\n\r\n public retrieveParticipant(): any{\r\n if(this.config && this.user && !this.portal){\r\n this.participantService.getParticipant(this.config.name, this.user.email)\r\n .then((participant) => {\r\n this.portal = participant;\r\n })\r\n }\r\n }\r\n\r\n public onError(): any{\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/game-elements/portal/portal.component.ts","module.exports = \"
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n

You completed {{portal.completedAssignments}} out of {{portal.assignmentIds.length}} \\r\\n assignments for this course.\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n

You recieved{{portal.recievedPoints}} points in this course

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

0\\\">\\r\\n You are\\r\\n 0\\\">{{portal.comparedToAverage | number : '1.2-2'}}% better\\r\\n {{(portal.comparedToAverage * -1) | number : '1.2-2'}}% behind \\r\\n compared to other participants\\r\\n

\\r\\n

\\r\\n Go make your first assignment!\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/game-elements/portal/portal.component.html\n// module id = 497\n// module chunks = 1","exports = module.exports = require(\"../../../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".portal{min-height:100px;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:5px 0}.portal,.portal .element{display:-webkit-box;display:-ms-flexbox;display:flex}.portal .element{border:1px dotted #888;border-radius:2px;padding:20px 30px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-flex:2;-ms-flex-positive:2;flex-grow:2;-ms-flex-preferred-size:0;flex-basis:0}.portal .spinner{position:absolute}.portal .gap{-webkit-box-flex:1;-ms-flex:1 0 10px;flex:1 0 10px}.focus{display:block;font-weight:700}.portal .element p{text-align:center}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/game-elements/portal/portal.component.css\n// module id = 498\n// module chunks = 1","import { Component, OnInit, Input } from '@angular/core';\r\nimport { PollService } from '../../services/poll.service';\r\nimport { ConfigService } from '../../services/config.service';\r\nimport { Poll } from '../../models/poll';\r\nimport { AccountService } from '../../services/account.service';\r\n\r\n@Component({\r\n selector: 'wd-poll',\r\n templateUrl: './poll.component.html',\r\n styleUrls: ['./poll.component.css']\r\n})\r\nexport class PollComponent implements OnInit {\r\n\r\n @Input()\r\n public pid: number;\r\n\r\n public selectedOption = null;\r\n public isSubmitting = false;\r\n\r\n public poll : Poll;\r\n\r\n public isAuth: boolean;\r\n\r\n private dictaatName: string;\r\n\r\n public getColor(index){\r\n if(this.poll)\r\n {\r\n //avans red = rgb(198, 0, 42);\r\n var value = (198 / this.poll.options.length + 1) * (index + 1); \r\n return \"rgb(\" + (value) + \",0, 42)\";\r\n }\r\n }\r\n\r\n constructor(public pollService: PollService, private configService: ConfigService, \r\n private accountService: AccountService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.accountService.User.subscribe(u => {\r\n this.isAuth = u != null;\r\n })\r\n\r\n this.configService.DictaatName.subscribe((name) => {\r\n if(name)\r\n {\r\n this.dictaatName = name;\r\n this.pollService.getPoll(name,this.pid)\r\n .then(poll => this.poll = poll);\r\n }\r\n \r\n });\r\n }\r\n\r\n public isSelected(option){\r\n return option == this.selectedOption;\r\n }\r\n\r\n public vote(){\r\n if(!this.isSubmitting){\r\n this.isSubmitting = true;\r\n this.pollService.vote(this.dictaatName, this.poll.id, this.selectedOption.id)\r\n .then(poll => {\r\n this.poll = poll;\r\n this.isSubmitting = false;\r\n });\r\n }\r\n }\r\n\r\n public login(){\r\n this.accountService.Login();\r\n }\r\n\r\n public edit(){\r\n var original = Object.assign({}, this.poll); \r\n this.pollService.ShowModal('edit', [this.poll])\r\n .then((poll) => this.poll = poll)\r\n .catch(() => {\r\n this.poll = new Poll(original);\r\n });\r\n }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/game-elements/poll/poll.component.ts","module.exports = \"
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n

Poll - {{poll.question}}

\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n {{option.text}}\\r\\n
\\r\\n \\r\\n \\r\\n {{option.votesPercentage}}%\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

*You already voted for this poll

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/game-elements/poll/poll.component.html\n// module id = 500\n// module chunks = 1","exports = module.exports = require(\"../../../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".beam{display:inline-block;height:20px;background-color:#2e2e2e;color:#fff;min-width:10px;-webkit-transform-origin:left center;transform-origin:left center;-webkit-animation:bounce-scale .7s ease-in-out}@-webkit-keyframes bounce-scale{0%{-webkit-transform:scalex(.01);transform:scalex(.01)}to{-webkit-transform:scalex(1);transform:scalex(1)}}@keyframes bounce-scale{0%{-webkit-transform:scalex(.01);transform:scalex(.01)}to{-webkit-transform:scalex(1);transform:scalex(1)}}.option{line-height:20px;margin-top:5px}.option-text{color:#2e2e2e}.percentage{padding:3px 5px}.poll{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);background-color:#fff;min-height:100px;padding:0}.poll-container{overflow:hidden;margin:20px}.disclaimer{color:#a9a9a9;font-style:italic}.score{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}header{padding:20px;margin:10px 0;border-bottom:1px solid #ddd;position:relative}h2{font-size:150%;margin:0}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/game-elements/poll/poll.component.css\n// module id = 501\n// module chunks = 1","\r\nimport { Component, OnInit, Input } from \"@angular/core\";\r\nimport { DatabService, DbAssignment, DbSubmission } from \"./datab.service\";\r\nimport { AccountService } from \"../../shared/services/account.service\";\r\nimport { User } from \"../../shared/models/user\";\r\nimport { AssignmentService } from \"../../shared/services/assignment.service\";\r\nimport { Assignment } from \"../../shared/models/assignment\";\r\nimport { ConfigService } from \"../../shared/services/config.service\";\r\n\r\n@Component({\r\n selector: \"wd-datab\",\r\n styleUrls: ['./datab.component.css'],\r\n templateUrl: './datab.component.html'\r\n})\r\nexport class DatabComponent implements OnInit {\r\n\r\n @Input()\r\n public waid: number;\r\n\r\n @Input()\r\n public daid: number;\r\n\r\n //webdictaat\r\n public assignment: Assignment;\r\n private user: User;\r\n private dictaatName: string;\r\n\r\n //databaas\r\n public expectedOutput: string;\r\n public submission: DbSubmission;\r\n\r\n public query: string;\r\n public err: string;\r\n\r\n constructor(private databService: DatabService,\r\n private accountService: AccountService,\r\n private assignmentService: AssignmentService,\r\n private configService: ConfigService) { }\r\n\r\n ngOnInit(): void {\r\n this.configService.Config.subscribe((config) => {\r\n this.dictaatName = config.name;\r\n this.accountService.User.subscribe((user) => {\r\n this.assignmentService.getAssignmentDetails(this.dictaatName, this.waid).then(assignment => {\r\n this.assignment = assignment;\r\n if (user) {\r\n this.user = user;\r\n this.getAssignment();\r\n this.getSubmission();\r\n }\r\n });\r\n\r\n\r\n })\r\n });\r\n }\r\n\r\n private getAssignment(): void {\r\n this.databService.getAssignment(this.assignment.externalId)\r\n .subscribe((response: any) => {\r\n if (response) {\r\n this.expectedOutput = response.expectedOutput;\r\n }\r\n\r\n });\r\n }\r\n\r\n private getSubmission() {\r\n this.databService.getSubmissions(this.assignment.externalId, this.user.email)\r\n .subscribe((submission: DbSubmission) => {\r\n if (submission) {\r\n this.submission = submission;\r\n this.checkIfComplete();\r\n }\r\n else {\r\n this.submission = new DbSubmission();\r\n this.submission.email = this.user.email;\r\n }\r\n });\r\n }\r\n\r\n private checkIfComplete() {\r\n if (this.submission.assignmentToken && !this.assignment.mySubmission) {\r\n this.assignmentService.submitWithToken(this.dictaatName, this.waid, this.submission.assignmentToken)\r\n .then((assignment) => {\r\n this.assignment = assignment\r\n });\r\n }\r\n }\r\n\r\n public submit() {\r\n this.err = null; //reset err;\r\n this.submission.message = null;\r\n this.databService.sendSubmission(this.waid, this.assignment.externalId, this.submission)\r\n .subscribe((submission) => {\r\n this.submission = submission;\r\n //start polling for 10s\r\n this.pollticker = 0;\r\n this.poll();\r\n })\r\n }\r\n\r\n private pollticker = 0;\r\n\r\n private poll() {\r\n this.databService.getSubmissions(this.assignment.externalId, this.user.email)\r\n .subscribe((submission) => {\r\n this.submission = submission;\r\n if (this.submission && this.submission.statusId != 0) {\r\n this.checkIfComplete();\r\n }\r\n else if (this.pollticker != 5) {\r\n //try agian in 2s\r\n setTimeout(() => {\r\n this.pollticker++;\r\n this.poll();\r\n }, 2000);\r\n }\r\n })\r\n }\r\n\r\n\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/extern/databases/datab.component.ts","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"textarea{resize:vertical;width:100%}.title{font-weight:700}.datab{position:relative;padding:10px}.datab .loader{position:absolute;width:100%;height:100%;background-color:hsla(0,0%,39%,.3);top:0;left:0}.datab .loader .spinner{position:absolute;left:50%;top:50%;width:100px;margin-left:-50px;margin-top:-30px}.assignment{padding:15px;position:relative;background-color:#fff}.assignment h1{margin-top:5px}.points{width:50px;height:50px;background-color:#fff;box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);border-radius:50%;position:absolute;bottom:-26px;right:16px;z-index:101}.assignment.level-Gold{border-bottom:2px solid gold}.assignment.level-Gold .points{background-color:gold}.assignment.level-Bronze{border-bottom:2px solid #cd7f32}.assignment.level-Bronze .points{background-color:#cd7f32}.assignment.level-Silver{border-bottom:2px solid silver}.assignment.level-Silver .points{background-color:silver}.assignment .points.complete{background-color:#5cb85c!important}.points span{color:#fff;font-weight:700;display:block;width:100%;text-align:center;line-height:50px;font-size:16px}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/extern/databases/datab.component.css\n// module id = 504\n// module chunks = 1","module.exports = \"\\r\\n
\\r\\n
\\r\\n
{{assignment.title}}
\\r\\n

\\r\\n {{assignment.description}}\\r\\n

\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{assignment.points}}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Well done! \\r\\n

You completed this assignment on {{submission.timestamp | date:'shortDate'}}

\\r\\n
\\r\\n
\\r\\n
= 2 \\\" > \\r\\n
\\r\\n \\r\\n Oh snap!

{{submission.message}}.

\\r\\n

Change a few things up and try submitting again.

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Oh noes! :(

{{err}}.

\\r\\n

Please wait a few minutes before submitting again. Our poor servers need some time to recover.

\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Loading submission\\r\\n
\\r\\n\\r\\n
\\r\\n Login to submit your answer!\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/extern/databases/datab.component.html\n// module id = 505\n// module chunks = 1","import { Component, OnInit, Input } from '@angular/core';\r\nimport { ActivatedRoute, Params } from '@angular/router';\r\nimport { NavMenuService } from './nav-menu.service';\r\n\r\nimport { NavMenuItem } from '../models/nav-menu';\r\n\r\n@Component({\r\n selector: \"wd-nav-menu\",\r\n templateUrl: './nav-menu.component.html',\r\n styleUrls: ['./nav-menu.component.css'],\r\n providers: [NavMenuService]\r\n})\r\nexport class NavMenuComponent implements OnInit {\r\n\r\n private page;\r\n private selected: NavMenuItem;\r\n\r\n @Input()\r\n public MenuItems: NavMenuItem[];\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private navMenuService: NavMenuService\r\n ) { }\r\n\r\n public toggle(item: NavMenuItem){\r\n if(this.selected == item){\r\n this.selected = null;\r\n }\r\n else{\r\n this.selected = item;\r\n }\r\n }\r\n\r\n public ngOnInit(): void {\r\n if(!this.MenuItems) {\r\n this.navMenuService.getLocalNavMenu().then(menuItems => {\r\n this.MenuItems = menuItems\r\n });\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/nav-menu/nav-menu.component.ts","module.exports = \"\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/nav-menu/nav-menu.component.html\n// module id = 507\n// module chunks = 1","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".nav{background-color:#fff}.nav.root{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.dropdown-menu,.dropdown-menu li{display:block;width:100%}.dropdown-menu li:hover{background-color:#eee}a{border-left:5px solid #a9a9a9}a.active{border-left:5px solid #00aeed}.nav{max-height:80vh;overflow-y:auto}.nav.sub{max-height:0;overflow:hidden}.nav.sub a{font-size:90%;color:#000;text-decoration:underline}.nav.sub.open{transition:max-height .5s;max-height:1000px}.dropdown-toggle{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.dropdown-toggle .caret{transition:-webkit-transform .5s;transition:transform .5s;transition:transform .5s,-webkit-transform .5s}.dropdown-toggle.rotate .caret{-webkit-transform:rotate(180deg);transform:rotate(180deg)}@media (min-width:767px){.nav.root{margin:20px}}@media (max-width:767px){.nav.root{padding-bottom:50px;max-height:100%;overflow-y:auto;box-shadow:none}}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/nav-menu/nav-menu.component.css\n// module id = 508\n// module chunks = 1","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Dictaat } from '../models/dictaat';\r\n\r\nimport { AccountService } from '../services/account.service';\r\nimport { User } from '../models/user';\r\n\r\nimport { ActivatedRoute, Params } from '@angular/router';\r\nimport { DictaatService } from \"../services/dictaat.service\";\r\nimport { ConfigService } from \"../services/config.service\";\r\n\r\n\r\n@Component({\r\n selector: \"wd-avatar\",\r\n styles: [`\r\n \r\n .profilelink{color:white;}\r\n div{ float:right;}\r\n a{color:white;}\r\n `],\r\n templateUrl: './avatar.component.html',\r\n providers: []\r\n})\r\nexport class AvatarComponent implements OnInit {\r\n\r\n public user: User;\r\n\r\n @Input() isRoute : boolean = false;\r\n \r\n constructor(\r\n private accountService: AccountService, \r\n private dictaatService: DictaatService,\r\n private configService: ConfigService) { \r\n \r\n }\r\n\r\n public ngOnInit(): void {\r\n this.accountService.User.subscribe(user => {\r\n this.user = user as User;\r\n });\r\n }\r\n\r\n public Login(): void {\r\n this.accountService.Login();\r\n \r\n }\r\n\r\n public Logout(): void {\r\n this.accountService.Logoff();\r\n }\r\n \r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/avatar/avatar.component.ts","module.exports = \"
\\r\\n

{{user.name}}

\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/avatar/avatar.component.html\n// module id = 510\n// module chunks = 1","import { Component, OnInit, transition, style, animate, trigger } from '@angular/core';\r\nimport { DictaatService } from \"../../shared/services/dictaat.service\";\r\nimport { ConfigService } from \"../../shared/services/config.service\";\r\nimport { AccountService } from \"../../shared/services/account.service\";\r\nimport { Subject } from \"rxjs/Subject\";\r\nimport { User } from \"../../shared/models/user\";\r\n\r\n@Component({\r\n animations: [\r\n trigger(\r\n 'enterAnimation', [\r\n transition(':enter', [\r\n style({transform: 'translateY(-100%)', opacity: 0}),\r\n animate('1000ms', style({transform: 'translateY(0)', opacity: 1}))\r\n ]),\r\n transition(':leave', [\r\n style({transform: 'translateY(0)', opacity: 1}),\r\n animate('1000ms', style({transform: 'translateY(-100%)', opacity: 0}))\r\n ])\r\n ]\r\n )\r\n ],\r\n selector: 'wd-message',\r\n templateUrl: './message.component.html',\r\n styleUrls: ['./message.component.css']\r\n})\r\nexport class MessageComponent implements OnInit {\r\n\r\n private dictaatName: string;\r\n public hide:boolean = true;\r\n public participantCount :number;\r\n public user: Subject;\r\n public group: string;\r\n public groups: any[];\r\n\r\n constructor(private dictaatService: DictaatService, private accountService: AccountService, private configService: ConfigService) {}\r\n\r\n ngOnInit() {\r\n this.user = this.accountService.User;\r\n \r\n this.configService.Config.subscribe((config) => {\r\n if(!config) return;\r\n\r\n this.dictaatName = config.name;\r\n\r\n\r\n this.dictaatService.getDictaatSession(config.name).subscribe((session) => {\r\n this.participantCount = session.participantIds.length;\r\n this.dictaatService.getGroups(this.dictaatName)\r\n .then(groups => {\r\n this.groups = groups;\r\n this.groups.push({groupName: \"none\"})\r\n this.hide = session.containsMe;\r\n });\r\n });\r\n })\r\n }\r\n\r\n public join(){\r\n this.dictaatService.join(this.dictaatName, this.group)\r\n .then(didJoin => this.hide = true);\r\n }\r\n\r\n public login(){\r\n this.accountService.Login();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/client/message/message.component.ts","module.exports = \"
\\r\\n
\\r\\n
\\r\\n

Welcome!

\\r\\n

Do you want to contest with other participants and get the most comple experience? Login and join the course!

\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n

0\\\">Join {{participantCount}} others in this course!

\\r\\n

Be the first to join this course!

\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/client/message/message.component.html\n// module id = 512\n// module chunks = 1","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".message-container{padding:10px}.message-container .panel{padding:5px;position:relative}.panel-body h1{margin:0;font-size:130%}.panel-body{padding-right:40%;text-align:center}.panel-side{position:absolute;right:0;top:0;height:100%;width:30%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background-color:#c6002a}.panel-side p{color:#fff;width:60%;text-align:center}.tiny-form{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.tiny-form label{padding:3px}.alphabet{background-color:#00aeed;color:#fff;display:inline-block;text-align:center;width:auto;padding:2px 20px;margin-bottom:0}.panel-side img{position:absolute;width:70px;left:-35px;top:50%;margin-top:-35px;box-shadow:0 1px 6px 0 rgba(0,0,0,.12),0 1px 6px 0 rgba(0,0,0,.12);border-radius:50%}@media (max-width:767px){.panel-side{display:none}.panel-body{padding-right:15px}.panel{border-bottom:4px solid #c6002a}.tiny-form{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/client/message/message.component.css\n// module id = 513\n// module chunks = 1","// The file contents for the current environment will overwrite these during build.\r\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\r\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\r\n// The list of which env maps to which file can be found in `.angular-cli.json`.\r\n\r\nexport const environment = {\r\n production: false\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/environments/environment.ts","import { Question } from \"../../../models/quiz/question\";\r\nimport { Input } from \"@angular/core\"; \r\n\r\nexport class Checker\r\n{\r\n public isChecking : boolean;\r\n public canCheck: boolean;\r\n\r\n reset(): any {\r\n this.isChecking = false;\r\n this.canCheck = false;\r\n }\r\n\r\n}\r\n\r\nexport class TextPart{\r\n \r\n text: string;\r\n type: string;\r\n value: any;\r\n \r\n constructor(text = null, type = null){\r\n this.text = text;\r\n this.type = type;\r\n }\r\n }\r\n\r\n\r\nexport class QuestionBase {\r\n\r\n @Input()\r\n public question: Question;\r\n\r\n @Input()\r\n public checker: Checker;\r\n\r\n @Input()\r\n\r\n public getParts(text): TextPart[]{\r\n var epicregex = /(\\[\\[.*?\\]\\])/g;\r\n var response = [];\r\n text.split(epicregex).forEach((text, i) => { \r\n var part = new TextPart();\r\n\r\n //check if empty or null\r\n if(text == null || text.trim(' ').length == 0) \r\n return;\r\n\r\n if(text.match(epicregex)){\r\n part.type = 'blank';\r\n part.text = text.slice(2, text.length -2);\r\n }\r\n else{\r\n part.type = 'text';\r\n part.text = text;\r\n } \r\n\r\n response.push(part);\r\n });\r\n return response;\r\n }\r\n\r\n //a shuffle method from stackoveflow: \r\n //https://stackoverflow.com/questions/2450954/how-to-randomize-shuffle-a-javascript-array\r\n public shuffle(array): any[] {\r\n var currentIndex = array.length, temporaryValue, randomIndex;\r\n \r\n // While there remain elements to shuffle...\r\n while (0 !== currentIndex) {\r\n \r\n // Pick a remaining element...\r\n randomIndex = Math.floor(Math.random() * currentIndex);\r\n currentIndex -= 1;\r\n \r\n // And swap it with the current element.\r\n temporaryValue = array[currentIndex];\r\n array[currentIndex] = array[randomIndex];\r\n array[randomIndex] = temporaryValue;\r\n }\r\n \r\n return array;\r\n }\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/game-elements/quiz/question/question.base.ts","export class Assignment{\r\n\r\n public id: number;\r\n public title: string;\r\n public description: string;\r\n public metadata : string;\r\n public points : number;\r\n public submissions : any[];\r\n public mySubmission : any;\r\n public submissionCount : number;\r\n public level: number;\r\n public externalId: string;\r\n public state: number;\r\n \r\n constructor(json = null){\r\n if(json){\r\n this.id = json.id;\r\n this.title = json.title;\r\n this.description = json.description;\r\n this.points = json.points;\r\n this.metadata = json.metadata;\r\n this.mySubmission = json.mySubmission;\r\n this.level = json.level;\r\n this.externalId = json.externalId;\r\n this.submissions = json.submission;\r\n\r\n if(json.mySubmission){\r\n this.state = json.mySubmission.accepted ? 2 : 1;\r\n }\r\n else{\r\n this.state = 0;\r\n }\r\n }\r\n else{\r\n this.level = 1;\r\n }\r\n }\r\n\r\n public isValid() : boolean{\r\n if(this.title && this.description)\r\n {\r\n return true;\r\n }\r\n else{\r\n return false;\r\n }\r\n }\r\n\r\n}\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/models/assignment.ts","import { Injectable } from '@angular/core';\r\nimport { Headers, Http, Response } from '@angular/http';\r\nimport 'rxjs/add/operator/toPromise';\r\nimport { wdApi } from \"../core/wd.service\";\r\n\r\n\r\n\r\n@Injectable()\r\nexport class ParticipantService{\r\n\r\n constructor(private wdapi: wdApi)\r\n {\r\n\r\n }\r\n\r\n public getParticipant(dictaatName: string, email: string){\r\n return this.wdapi.get('/dictaten/' + dictaatName + '/participants/' + email)\r\n .toPromise()\r\n .then(response => response.json() );\r\n }\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/services/participantService.ts","import { NgModule } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n\r\n//components\r\nimport { RatingComponent } from './rating/rating.component';\r\nimport { AchievementsComponent } from './achievements/achievements.component';\r\n\r\n//modules\r\nimport { QuizModule } from \"./quiz/quiz.module\";\r\nimport { LeaderboardModule } from \"./leaderboard/leaderboard.module\";\r\nimport { LeaderboardComponent } from \"./leaderboard/leaderboard.component\";\r\nimport { QuizComponent } from \"./quiz/quiz.component\";\r\nimport { AssignmentComponent } from './assignment/assignment.component';\r\nimport { PortalComponent } from './portal/portal.component';\r\nimport { WdSharedModule } from '../wd-shared.module';\r\nimport { PollComponent } from './poll/poll.component';\r\n\r\n\r\n@NgModule({\r\n imports: [BrowserModule, FormsModule, QuizModule, WdSharedModule, LeaderboardModule],\r\n declarations: [RatingComponent, AchievementsComponent, AssignmentComponent, PortalComponent, PollComponent],\r\n exports: [RatingComponent, AchievementsComponent, LeaderboardComponent, PollComponent, \r\n QuizComponent, AssignmentComponent, PortalComponent, ]\r\n})\r\nexport class GameElementsModule { \r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/game-elements/game-elements.module.ts","import { Answer } from \"./answer\"; \r\n \r\n\r\n\r\nexport class Question{\r\n \r\n public id: number;\r\n public text: string;\r\n public body: any;\r\n private original: string;\r\n public type: string; \r\n public explanation: string;\r\n public isCorrect : boolean;\r\n\r\n constructor(json = null){\r\n\r\n this.body = {};\r\n\r\n if(json){\r\n this.id = json.id;\r\n this.text = json.text;\r\n this.type = json.type;\r\n this.body = json.body ? json.body : {};\r\n this.explanation = json.explanation;\r\n this.isCorrect = json.isCorrect;\r\n }\r\n\r\n this.original = JSON.stringify(this);\r\n }\r\n\r\n isValid(): any {\r\n return this.text != null && this.type != null;\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/models/quiz/question.ts","import { Injectable } from '@angular/core';\r\nimport { Headers, Http, Response } from '@angular/http';\r\n//Nodig om een object om te toveren in een promise.\r\nimport { Subject } from 'rxjs/Subject';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { wdApi } from '../core/wd.service';\r\nimport { BaseModalService } from '../core/basemodal.service';\r\nimport 'rxjs/add/operator/toPromise';\r\nimport 'rxjs/add/operator/map';\r\nimport { Assignment } from \"../models/assignment\";\r\n\r\n@Injectable()\r\nexport class AssignmentService extends BaseModalService{\r\n\r\n constructor(private wdapi: wdApi)\r\n {\r\n super();\r\n }\r\n\r\n public getAssignments(dictaatName: String): Promise {\r\n \r\n let url: string = \"/dictaten/\" + dictaatName + '/assignment';\r\n\r\n return this.wdapi.get(url)\r\n .toPromise()\r\n .then(response => {\r\n return response.json() as Assignment[]\r\n })\r\n \r\n }\r\n\r\n public getAssignmentDetails(dictaatName: String, assignmentId: number): Promise {\r\n \r\n let url: string = \"/dictaten/\" + dictaatName + '/assignment/' + assignmentId;\r\n\r\n return this.wdapi.get(url)\r\n .toPromise()\r\n .then(response => {\r\n return new Assignment(response.json()) \r\n })\r\n \r\n }\r\n\r\n public addAssignment(dictaatName, assignment: Assignment): Promise {\r\n let url: string = \"/dictaten/\" + dictaatName + '/assignment';\r\n return this.wdapi.post(url, assignment)\r\n .toPromise()\r\n .then(response => {\r\n return response.json() as Assignment\r\n })\r\n }\r\n\r\n public update(dictaatName: string, assignment: Assignment): Promise{\r\n let url: string = \"/dictaten/\" + dictaatName + '/assignment/' + assignment.id;\r\n return this.wdapi.put(url, assignment)\r\n .toPromise()\r\n .then(response => {\r\n return response.json() as Assignment\r\n })\r\n }\r\n\r\n public delete(dictaatName: string, assignment: Assignment): Promise{\r\n let url: string = \"/dictaten/\" + dictaatName + '/assignment/' + assignment.id;\r\n return this.wdapi.delete(url)\r\n .toPromise()\r\n .then(response => {\r\n return response.json() as Assignment\r\n })\r\n }\r\n\r\n public submit(dictaatName, assignmentId, userId): Promise{\r\n var url = \"/dictaten/\"+dictaatName+\"/assignment/\" + assignmentId + \"/submissions\";\r\n\r\n return this.wdapi.post(url, { userId: userId })\r\n .map(response => response.json() as Assignment)\r\n .toPromise();\r\n }\r\n\r\n //with token\r\n public submitWithToken(dictaatName, assignmentId, token) : Promise{\r\n return this.wdapi.post(\"/dictaten/\"+dictaatName+\"/assignment/\" + assignmentId + \"/submissions\", { token: token })\r\n .map((response) =>response.json() as Assignment )\r\n .toPromise();\r\n }\r\n\r\n public unsubmit(dictaatName, assignmentId, userId){\r\n var url = \"/dictaten/\"+dictaatName+\"/assignment/\" + assignmentId + \"/submissions/\" + userId;\r\n\r\n return this.wdapi.delete(url)\r\n .map(response => response.json())\r\n .toPromise()\r\n .then(response => {\r\n console.log(response);\r\n })\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/services/assignment.service.ts"],"sourceRoot":""}