{"version":3,"file":"default-src_app_features_courses_courses_module_ts.be33d5035647987c.js","mappings":"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","sources":["./src/app/core/services/course-info.service.ts","./src/app/core/services/export-service.ts","./src/app/features/admin/academie/courses/components/change-participant-modal/change-participant-modal.component.ts","./src/app/features/admin/academie/courses/components/change-participant-modal/change-participant-modal.component.html","./src/app/features/admin/academie/courses/components/course-comments/course-comments.component.html","./src/app/features/admin/academie/courses/components/course-comments/course-comments.component.ts","./src/app/features/admin/academie/courses/components/course-info/course-info-upsert.component.ts","./src/app/features/admin/academie/courses/components/course-info/course-info-upsert.component.html","./src/app/features/admin/academie/courses/components/feedback-form/admin-feedback-response-view/admin-feedback-response-view.component.html","./src/app/features/admin/academie/courses/components/feedback-form/admin-feedback-response-view/admin-feedback-response-view.component.ts","./src/app/features/admin/academie/courses/components/feedback-form/upsert-feedback-form-modal/upsert-feedback-form-modal.component.html","./src/app/features/admin/academie/courses/components/feedback-form/upsert-feedback-form-modal/upsert-feedback-form-modal.component.ts","./src/app/features/admin/academie/courses/components/move-participant-modal/move-participant-modal.component.ts","./src/app/features/admin/academie/courses/components/move-participant-modal/move-participant-modal.component.html","./src/app/features/admin/academie/courses/components/upsert-course-modal/upsert-course-modal.component.ts","./src/app/features/admin/academie/courses/components/upsert-course-modal/upsert-course-modal.component.html","./src/app/features/admin/academie/courses/components/view-presentation-modal/view-presentation-modal.component.ts","./src/app/features/admin/academie/courses/components/view-presentation-modal/view-presentation-modal.component.html","./src/app/features/admin/academie/courses/utils/course-administration-utils.service.ts","./src/app/features/courses/components/course-participant-card/course-participant-card.component.ts","./src/app/features/courses/components/course-participant-card/course-participant-card.component.html","./src/app/features/courses/components/single-course-view/single-course-view.component.ts","./src/app/features/courses/components/single-course-view/single-course-view.component.html","./src/app/features/courses/courses-filter-as-settings/courses-filter-as-settings.component.ts","./src/app/features/courses/courses-filter-as-settings/courses-filter-as-settings.component.html","./src/app/features/courses/courses-filter/courses-filter.component.ts","./src/app/features/courses/courses-filter/courses-filter.component.html","./src/app/features/courses/courses-route.module.ts","./src/app/features/courses/courses.module.ts","./src/app/features/courses/user-courses-page/user-courses-page.component.ts","./src/app/features/courses/user-courses-page/user-courses-page.component.html"],"sourcesContent":["import {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {Observable} from 'rxjs';\nimport {CourseInfo} from '../models/course/course-info';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CourseInfoService {\n\n private API_URL = '/api/courses/info';\n\n constructor(private http: HttpClient) {\n }\n\n addCourseInfo(courseInfo: CourseInfo): Observable {\n\n return this.http.put(this.API_URL + '/add', courseInfo);\n }\n\n getPersonalCourseInfoList(courseId: number): Observable {\n return this.http.get(this.API_URL + `/get-list/${courseId}/personal`);\n }\n}\n","import {map} from 'rxjs/operators';\nimport {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport * as FileSaver from 'file-saver';\nimport {CourseFilter} from '../models/course/course-filter';\nimport {SubordinateFilters} from '../models/course/participant/subordinate-filters';\n\nconst BASE_URL = '/api/export';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ExportService {\n\n constructor(private http: HttpClient) {\n }\n\n listOfUsers() {\n return this.http.get(BASE_URL + '/csv/users', {responseType: 'blob'})\n .pipe(map(response => {\n const blob = new Blob([response], {\n type: 'text/csv'\n });\n FileSaver.saveAs(blob, 'ListOfUsers.csv');\n return response;\n })\n );\n }\n\n usersCourses(criteria: CourseFilter) {\n return this.http.post(BASE_URL + '/csv/user/courses', criteria, {responseType: 'blob'})\n .pipe(map(response => {\n const blob = new Blob([response], {\n type: 'text/csv'\n });\n FileSaver.saveAs(blob, 'UsersCourses.csv');\n return response;\n })\n );\n }\n\n subordinatesPersonalSettings(filters: SubordinateFilters) {\n return this.http.post(BASE_URL + '/csv/subordinates/settings', filters, {responseType: 'blob'})\n .pipe(map(response => {\n const blob = new Blob([response], {\n type: 'text/csv'\n });\n FileSaver.saveAs(blob, 'SubordinatesSettings.csv');\n return response;\n })\n );\n }\n\n}\n","import {Component, Input} from '@angular/core';\nimport {NgbActiveModal} from '@ng-bootstrap/ng-bootstrap';\nimport {TranslateService} from '@ngx-translate/core';\nimport {AlertService} from '../../../../../../core/services/alert.service';\nimport {ConfirmDialogService} from '../../../../../../core/services/confirm-dialog.service';\nimport {CourseAdministrationUtils} from '../../utils/course-administration-utils.service';\nimport {CaleidoscoopUser} from '../../../../../../core/models/user/caleidoscoop-user';\nimport {UserService} from '../../../../../../core/services/user.service';\n\n\n@Component({\n selector: 'change-participant-modal',\n templateUrl: './change-participant-modal.component.html'\n})\nexport class ChangeParticipantModalComponent {\n\n @Input()\n courseApplicationId: number;\n\n participants: String[] = [];\n approvers: CaleidoscoopUser[] = [];\n selectedApprover: CaleidoscoopUser;\n selectedParticipant: string;\n\n constructor(public activeModal: NgbActiveModal,\n private translate: TranslateService,\n private alertService: AlertService,\n private confirmDialogService: ConfirmDialogService,\n private courseUtils: CourseAdministrationUtils,\n private userService: UserService) {\n }\n\n submit(event) {\n event.stopPropagation();\n if(this.selectedParticipant && this.selectedApprover){\n this.activeModal.close( { event: event, selectedParticipant: this.selectedParticipant, selectedApproverEmail: this.selectedApprover.email } );\n }\n }\n\n openCancelConfirmationDialog() {\n this.confirmDialogService.openCancelConfirmationDialog(this.activeModal);\n }\n\n setSelectedApprover(approver: any) {\n this.selectedApprover = approver;\n }\n\n setSelectedParticipant(participant: any) {\n this.selectedParticipant = participant;\n }\n\n searchParticipantsByMail(filter: string) {\n this.userService.getParticipantsByEmail(filter).subscribe(res => {\n this.participants = res;\n })\n }\n\n searchApproversByMail(filter: string) {\n this.userService.getApprovers(filter).subscribe(res => {\n this.approvers = res;\n })\n }\n}\n","
\n
\n

{{'CHANGE_PARTICIPANT_TITLE'|translate}}

\n
\n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n","
\n
\n

{{('COMMENTS'|translate)}}

\n
\n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n\n
\n \n\n
\n
\n
\n \n \n
\n
\n","import {Component, Input, OnInit} from '@angular/core';\nimport {CourseInfo} from '../../../../../../core/models/course/course-info';\nimport {CourseInfoService} from '../../../../../../core/services/course-info.service';\n\n@Component({\n selector: 'app-course-comments',\n templateUrl: './course-comments.component.html'\n})\nexport class CourseCommentsComponent implements OnInit {\n\n @Input()\n courseId: number;\n\n @Input()\n userId: number;\n\n showCourseComments: boolean = false;\n showAddCommentComponent: boolean = false;\n courseComments: CourseInfo[];\n newCourseInfo: CourseInfo;\n\n constructor(private courseInfoService: CourseInfoService) {\n }\n\n ngOnInit() {\n this.openCourseInfoList();\n }\n\n loadComments() {\n this.courseInfoService.getPersonalCourseInfoList(this.courseId)\n .subscribe(value =>\n this.courseComments = value\n );\n }\n\n openCourseInfoList(): void {\n this.showCourseComments = !this.showCourseComments;\n this.loadComments();\n }\n\n addComment(): void {\n this.newCourseInfo = {\n id: undefined,\n courseId: this.courseId,\n userId: undefined,\n userMail: undefined,\n info: '',\n editedAt: undefined,\n isPublic: false,\n byAdmin: false,\n }\n this.showAddCommentComponent = !this.showAddCommentComponent;\n }\n\n onCourseInfoUpsertClosed() {\n this.showAddCommentComponent = false;\n this.loadComments()\n }\n\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {FormBuilder, FormGroup} from '@angular/forms';\nimport {CourseInfo} from '../../../../../../core/models/course/course-info';\nimport {CourseInfoService} from '../../../../../../core/services/course-info.service';\nimport Quill from 'quill'\n\nconst infoMaxChar = 1000;\n\n@Component({\n selector: 'app-course-info-upsert',\n templateUrl: './course-info-upsert.component.html'\n})\nexport class CourseInfoUpsertComponent implements OnInit{\n\n @Input()\n courseInfo: CourseInfo;\n\n @Input()\n isEditable: boolean = false;\n\n @Output()\n componentClosed = new EventEmitter();\n\n courseInfoFormGroup: FormGroup;\n editor: Quill;\n infoRequiredError: boolean;\n editing: boolean = false;\n infoCharRemaining = infoMaxChar;\n\n modules = {\n toolbar: [\n ['bold', 'italic', 'underline', 'strike'],\n [{'list': 'ordered'}, {'list': 'bullet'}],\n [{'indent': '-1'}, {'indent': '+1'}],\n [{'align': []}],\n ['clean'],\n ],\n keyboard: {\n bindings: {\n tab: {\n key: 9,\n handler: function (range, context) {\n this.startDateInput.myInput.nativeElement.focus();\n return false;\n },\n },\n },\n }\n };\n\n modulesReadOnly = {\n toolbar: false\n }\n\n constructor(private formBuilder: FormBuilder,\n private courseInfoService: CourseInfoService) {\n }\n\n ngOnInit(): void {\n if(this.courseInfo) {\n this.createFormFromCourseInfo();\n } else {\n this.createNewForm();\n }\n }\n\n private createNewForm() {\n this.courseInfoFormGroup = this.formBuilder.group({\n id: [],\n courseId: [this.courseInfo.courseId],\n userId: [],\n userMail: [],\n info: [],\n infoText: [],\n editedAt: [],\n isPublic: [false],\n byAdmin: [false]\n });\n }\n\n private createFormFromCourseInfo() {\n this.courseInfoFormGroup = this.formBuilder.group({\n id: this.courseInfo.id ? [this.courseInfo.id] : [],\n courseId: this.courseInfo.courseId ? [this.courseInfo.courseId] : [],\n userId: this.courseInfo.id ? [this.courseInfo.userId] : [],\n userMail: this.courseInfo.id ? [this.courseInfo.userMail] : [],\n info: this.courseInfo.id ? [this.courseInfo.info] : [],\n infoText: [],\n editedAt: this.courseInfo.id ? [this.courseInfo.editedAt] : [],\n isPublic: this.courseInfo.id ? [this.courseInfo.isPublic] : [false],\n byAdmin: this.courseInfo.id ? [this.courseInfo.byAdmin] : [false],\n });\n this.infoCharRemaining = infoMaxChar - (this.courseInfo.info ? this.courseInfo.info.length : 0);\n }\n\n infoChanged(event: any) {\n if (event?.event === 'text-change') {\n this.courseInfoFormGroup.controls['info'].setValue(event.html);\n this.courseInfoFormGroup.controls['infoText'].setValue(event.text.slice(0, -1));\n this.infoCharRemaining = infoMaxChar - event.html?.length + 1;\n this.infoRequiredError = this.infoCharRemaining === infoMaxChar;\n }\n }\n\n quillEditorCreated(quill: Quill) {\n this.editor = quill;\n quill.pasteHTML(this.courseInfo?.info ? this.courseInfo.info : '');\n this.courseInfoFormGroup.controls['infoText'].setValue(quill.getText().slice(0, -1));\n this.infoCharRemaining = this.courseInfo?.info ? infoMaxChar - this.courseInfo.info.length + 1 : infoMaxChar;\n }\n\n submitInfo() {\n if(this.infoCharRemaining === infoMaxChar || this.infoCharRemaining < 0) {\n this.infoRequiredError = this.infoCharRemaining === infoMaxChar;\n return;\n }\n\n this.courseInfoFormGroup.get('editedAt').setValue(new Date());\n this.courseInfoService.addCourseInfo(this.courseInfoFormGroup.value)\n .subscribe(() => this.componentClosed.emit());\n }\n\n cancelSubmit() {\n this.componentClosed.emit();\n }\n\n editComment() {\n this.editing = true;\n }\n\n}\n","
\n
\n
\n
\n
\n
\n {{courseInfo.editedAt|date:'dd.MM.yyy : HH.mm' }}\n
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n
\n
\n
{{'DESCRIPTION_REQUIRED'|translate}}
\n
\n
\n
{{'DESCRIPTION_TOO_LONG'|translate}}
\n
\n
\n
\n

=0\"\n class=\"char-counter mr-1\">{{infoCharRemaining + ('CHARACTERS_REMAINING'|translate)}}

\n

{{('TOO_LONG_BY_X_CHARACTERS' |translate: {character_number: -infoCharRemaining})}}

\n
\n
\n
\n\n
\n
\n
\n \n \n
\n
\n","
\n
\n
\n

{{(username ? 'USER_FEEDBACK_FORM' : 'VIEW_FEEDBACK_FORM')|translate}}

\n
\n \n
\n
\n

{{('USER'|translate) + ': '}}\n {{username}}\n

\n

{{'USER_FORM_NOT_FILLED_IN_YET'|translate}}

\n
\n
\n
\n
\n
\n
{{question.questionText}}
\n
\n
\n
\n
\n \n\n \n
\n
\n\n
\n
\n \n \n
\n
\n\n \n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n\n","import {Component, Input} from '@angular/core';\nimport {Response} from '../../../../../../../core/models/course/feedback/response';\nimport {FeedbackForm} from '../../../../../../../core/models/course/feedback/feedback-form';\nimport {NgbActiveModal} from '@ng-bootstrap/ng-bootstrap';\n\n@Component({\n selector: 'app-admin-feedback-response-view',\n templateUrl: './admin-feedback-response-view.component.html'\n})\nexport class AdminFeedbackResponseViewComponent {\n\n @Input()\n response: Response;\n @Input()\n feedbackForm: FeedbackForm;\n @Input()\n username: string;\n freeTextAnswers = new Map();\n\n constructor(public activeModal: NgbActiveModal) {\n }\n\n setFeedbackForm(feedbackForm) {\n this.feedbackForm = feedbackForm;\n }\n\n setResponse(response) {\n this.response = response;\n this.prepareFreeTextAnswers(this.feedbackForm, response);\n }\n\n isAnswerChecked(id, answer) {\n if(!this.response) {\n return false;\n }\n return this.response?.answers?.filter(ans => ans.questionId === id)[0].userAnswers?.filter(userAns => userAns.id === answer.id).length > 0;\n }\n\n prepareFreeTextAnswers(feedbackForm, response) {\n let freeTextQuestions = feedbackForm?.questions?.filter(q => q.type === 'FREE_ANSWER');\n for (let question of freeTextQuestions) {\n this.freeTextAnswers.set(question.id, response?.answers?.filter(ans => ans.questionId === question.id)[0]?.userAnswers[0]?.value)\n }\n }\n}\n","
\n
\n

{{'ADD_NEW_FEEDBACK_FORM'|translate}}

\n
\n
\n

{{'EDIT_FEEDBACK_FORM'|translate}}

\n
\n \n
\n
\n
\n
\n
\n
\n
{{question.questionText}}
\n
\n
\n
\n \n
\n
\n
{{'QUESTION_TEXT_REQUIRED'|translate}}
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n \n \n
\n

{{'NO_POSSIBLE_ANSWERS'|translate}}

\n

{{'QUESTION_MUST_HAVE_POSSIBLE_ANSWER'|translate}}

\n \n \n
\n
\n \n \n
\n\n
\n
\n \n \n
\n

{{'NO_POSSIBLE_ANSWERS'|translate}}

\n

{{'QUESTION_MUST_HAVE_POSSIBLE_ANSWER'|translate}}

\n \n \n
\n
\n \n \n
\n\n \n
\n
\n \n
\n
\n
\n \n \n \n
\n
0\">
\n

{{'FORM_MUST_HAVE_QUESTION'|translate}}

\n
\n \n
\n
\n\n\n","import {Component, ViewEncapsulation} from '@angular/core';\nimport {FeedbackFormService} from '../../../../../../../core/services/feedback-form.service';\nimport {Question} from '../../../../../../../core/models/course/feedback/question';\nimport {NgbActiveModal} from '@ng-bootstrap/ng-bootstrap';\nimport {FeedbackForm} from '../../../../../../../core/models/course/feedback/feedback-form';\nimport {AnswerValue} from '../../../../../../../core/models/course/feedback/answer-value';\nimport {TranslateService} from '@ngx-translate/core';\nimport {AlertService} from '../../../../../../../core/services/alert.service';\nimport {ConfirmDialogService} from '../../../../../../../core/services/confirm-dialog.service';\n\n@Component({\n selector: 'app-upsert-feedback-form-modal',\n templateUrl: './upsert-feedback-form-modal.component.html',\n styleUrls: ['./upsert-feedback-form-modal.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class UpsertFeedbackFormModalComponent {\n\n isEdit: boolean;\n editForm = false;\n openPopover: any;\n submitted = false;\n submittedAnswer = false;\n feedbackForm: FeedbackForm = {\n courseId: null, questions: []\n };\n answerToAdd: AnswerValue = {id: null, index: null, value: ''}\n questionTypeOptions = ['FREE_ANSWER', 'SINGLE_ANSWER', 'MULTI_ANSWER']\n popoverIsOpen = false;\n\n\n constructor(private feedbackFormService: FeedbackFormService,\n public activeModal: NgbActiveModal,\n private translate: TranslateService,\n private alertService: AlertService,\n private confirmDialogService: ConfirmDialogService\n ) {\n }\n\n setFeedbackForm(feedbackForm) {\n if (feedbackForm.questions.length > 0) {\n this.feedbackForm = feedbackForm;\n this.isEdit = true;\n } else {\n this.createInitialForm(feedbackForm);\n this.isEdit = false;\n }\n }\n\n createInitialForm(feedbackForm): void {\n this.feedbackForm = feedbackForm;\n this.feedbackFormService.getGeneratedQuestions().subscribe(res => {\n this.feedbackForm.questions = res;\n })\n }\n\n removeQuestion(question) {\n this.feedbackForm.questions = this.feedbackForm.questions?.filter(q => q !== question);\n var successMessage = this.translate.instant('QUESTION_SUCCESS_DELETE')\n this.alertService.success(successMessage, {closeButton: true, autoClose: true});\n }\n\n addQuestion() {\n this.feedbackForm.questions.push({\n questionText: null,\n id: null,\n active: true,\n mandatory: false,\n creationType: 'GENERATED',\n type: 'FREE_ANSWER',\n possibleAnswers: []\n })\n var successMessage = this.translate.instant('ADD_QUESTION_SUCCESS');\n this.alertService.success(successMessage, {closeButton: true, autoClose: true});\n }\n\n changeQuestionType($event, question) {\n this.feedbackForm.questions.filter(q => q === question)[0].type = $event;\n }\n\n addQuestionOption(question: Question, p) {\n if (this.answerToAdd.value) {\n if (this.answerToAdd.index === null)\n this.answerToAdd.index = question.possibleAnswers.length + 1;\n this.feedbackForm.questions?.filter(q => q === question)[0].possibleAnswers.splice(this.answerToAdd.index - 1, 0, {\n id: null,\n index: null,\n value: this.answerToAdd.value\n });\n this.resetAnswerToAdd();\n this.tabToAddOptionButton(p);\n } else {\n this.submittedAnswer = true;\n }\n }\n\n resetAnswerToAdd() {\n this.answerToAdd = {id: null, index: null, value: ''}\n this.submittedAnswer = false;\n }\n\n updateAnswerIndexes() {\n for (const question of this.feedbackForm.questions) {\n let answerValuesUpdated = []\n for (let answerValue of question.possibleAnswers) {\n answerValue.index = question.possibleAnswers.indexOf(answerValue);\n answerValuesUpdated.push(answerValue);\n }\n this.feedbackForm.questions.filter(q => q === question)[0].possibleAnswers = answerValuesUpdated;\n }\n }\n\n submit() {\n this.submitted = true;\n if (this.isFormInvalid()) {\n let err = this.translate.instant('FEEDBACK_FORM_INVALID');\n this.alertService.error(err, {closeButton: true, autoClose: false})\n return;\n }\n this.updateAnswerIndexes();\n\n this.feedbackFormService.createFeedBackForm(this.feedbackForm).subscribe(() => {\n this.activeModal.close(true);\n let successMessage;\n if (this.isEdit) {\n successMessage = this.translate.instant('SUCCESS_FORM_EDIT');\n } else {\n successMessage = this.translate.instant('SUCCESS_FORM_CREATION');\n }\n this.alertService.success(successMessage, {\n closeButton: true,\n autoClose: true,\n keepAfterRouteChange: false\n });\n },\n (err) => {\n this.alertService.error(err, {closeButton: true, autoClose: false, keepAfterRouteChange: false});\n });\n }\n\n isFormInvalid() {\n return this.hasQuestionsWithNoText() || this.hasQuestionsWithLessThanTwoAnswers() || this.feedbackForm.questions.length < 1\n }\n\n hasQuestionsWithLessThanTwoAnswers() {\n let hasEmptyAnswerField = false;\n for (const question of this.feedbackForm.questions) {\n if (question.type != 'FREE_ANSWER' && question.possibleAnswers.length < 2)\n hasEmptyAnswerField = true;\n }\n return hasEmptyAnswerField;\n }\n\n hasQuestionsWithNoText() {\n let hasEmptyQuestionText = false;\n for (const question of this.feedbackForm.questions) {\n if (!question.questionText)\n hasEmptyQuestionText = true;\n }\n return hasEmptyQuestionText;\n }\n\n openCancelConfirmationDialog() {\n this.confirmDialogService.openCancelConfirmationDialog(this.activeModal);\n }\n\n open() {\n this.popoverIsOpen = !this.popoverIsOpen;\n this.resetAnswerToAdd();\n }\n\n close(p: any) {\n this.popoverIsOpen = false;\n p.close()\n p._elementRef.nativeElement.focus();\n }\n\n tabToAddOptionButton(p) {\n p._elementRef.nativeElement.focus();\n }\n}\n","import {Component, Input, OnInit} from '@angular/core';\nimport {NgbActiveModal} from '@ng-bootstrap/ng-bootstrap';\nimport {CourseService} from '../../../../../../core/services/course.service';\nimport {CourseApplicationService} from '../../../../../../core/services/course-application.service';\nimport {CourseBrowse} from '../../../../../../core/models/course/course-browse';\nimport {CourseFilter} from '../../../../../../core/models/course/course-filter';\nimport {CourseApplicationStatus} from '../../../../../../core/models/enums/corse-application-status';\nimport {CourseStatus} from '../../../../../../core/models/enums/course-status';\nimport {AlertService} from '../../../../../../core/services/alert.service';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n selector: 'move-participant-modal',\n templateUrl: './move-participant-modal.component.html',\n styleUrls: ['./move-participant-modal.component.scss']\n})\nexport class MoveParticipantModalComponent implements OnInit {\n\n @Input()\n userId: number;\n @Input()\n userName: string;\n\n @Input()\n courseFromId: number;\n @Input()\n courseFromTitle: string;\n\n selectTitle: string = '';\n eligibleCourses: CourseBrowse[] = [];\n pageSize: number = 10;\n collectionSize: number = 0;\n page: number = 1;\n selectedCourse: CourseBrowse;\n possibleApplicationStatuses: CourseApplicationStatus[] = [];\n selectedApplicationStatus: string;\n submitDisabled: boolean = false;\n\n constructor(public activeModal: NgbActiveModal,\n private courseService: CourseService,\n private courseApplicationService: CourseApplicationService,\n private alertService: AlertService,\n private translate: TranslateService\n ) {\n }\n\n\n ngOnInit(): void {\n this.courseApplicationService.getCourseApplication(this.courseFromId, this.userId).subscribe();\n }\n\n cancelMove(event: Event) {\n event.stopPropagation();\n this.activeModal.close();\n }\n\n submit(event: Event) {\n event.stopPropagation();\n if(this.selectedCourse && this.selectedApplicationStatus) {\n this.submitDisabled = true;\n this.courseApplicationService.moveParticipantToAnotherCourse(this.userId, this.courseFromId, this.selectedCourse.id, this.selectedApplicationStatus)\n .subscribe(() => {\n this.alertService.success(this.translate.instant('SUCCESS_PARTICIPANT_MOVE'), {closeButton: true, autoClose: true});\n this.activeModal.close(true);\n }, () => {\n this.alertService.error(this.translate.instant('ERROR_PARTICIPANT_MOVE'), {closeButton: true, autoClose: true});\n this.submitDisabled = false;\n });\n }\n\n }\n\n isSubmitDisabled(): boolean {\n return this.submitDisabled || !this.selectedCourse || !this.selectedApplicationStatus;\n }\n\n onTextInputChange(value: string): void {\n if(value === null || value.length < 3) {\n this.eligibleCourses = [];\n } else {\n this.courseService.getCourseEligibleForMoveTo(this.pageSize, this.page - 1, { title: value, participantId: this.userId } as CourseFilter)\n .subscribe(res => {\n this.eligibleCourses = res.content.filter(course => course.id !== this.courseFromId);\n });\n }\n }\n\n onCourseCheckboxChange(selectedCourse: CourseBrowse) {\n if (this.selectedCourse?.id === selectedCourse.id) {\n this.selectedCourse = null;\n } else {\n this.selectedCourse = selectedCourse;\n }\n this.setPossibleCourseStatuses();\n }\n\n onApplicationStatusSelect(item: string): void {\n this.selectedApplicationStatus = item;\n }\n\n setPossibleCourseStatuses(): void {\n this.selectedApplicationStatus = '';\n if (this.selectedCourse === null) {\n this.possibleApplicationStatuses = [];\n } else {\n switch (this.selectedCourse.courseStatus) {\n case CourseStatus.OPEN_FOR_REGISTRATION:\n case CourseStatus.REOPEN_FOR_REGISTRATION:\n this.possibleApplicationStatuses = [CourseApplicationStatus.APPLIED, CourseApplicationStatus.APPROVED, CourseApplicationStatus.DENIED];\n break;\n case CourseStatus.CLOSED_FOR_REGISTRATION:\n this.possibleApplicationStatuses = [CourseApplicationStatus.REGISTERED, CourseApplicationStatus.ON_WAITING_LIST];\n break;\n case CourseStatus.ONGOING:\n this.possibleApplicationStatuses = [CourseApplicationStatus.PRESENT, CourseApplicationStatus.ABSENT, CourseApplicationStatus.EXCUSED];\n break;\n case CourseStatus.POSTPONED:\n this.possibleApplicationStatuses = [CourseApplicationStatus.COMPLETED, CourseApplicationStatus.NOT_COMPLETED, CourseApplicationStatus.ABSENT, CourseApplicationStatus.EXCUSED];\n break;\n default:\n this.possibleApplicationStatuses = [];\n break;\n }\n }\n }\n\n}\n","
\n
\n

{{'MOVE_PARTICIPANT_TITLE'|translate}}

\n
\n \n
\n\n
\n
{{ \"MOVE_PARTICIPANT\" | translate }} {{userName}}
\n
{{ \"FROM_COURSE\" | translate }} {{courseFromTitle}}
\n
{{ \"TO_COURSE\" | translate }} {{selectedCourse?.title}}
\n\n
\n
\n \n \n
\n
\n \n \n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{ \"START_DATE\"|translate }}{{ 'END_DATE'|translate }}{{ 'COURSE_NAME'|translate }}{{ 'COURSE_STATUS'|translate }}
\n \n {{course.startDate | date:'dd.MM.YYYY.'}}{{course.endDate | date:'dd.MM.YYYY.'}}{{course.title}}{{course.courseStatus|translate}}
\n
\n
\n {{ 'NO_COURSE_WITH_FILTER'|translate }}\n
\n
\n\n
\n \n \n
\n","import {Component, ElementRef, Input, OnInit, ViewChild} from '@angular/core';\nimport {NgbActiveModal} from '@ng-bootstrap/ng-bootstrap';\nimport {AbstractControl, FormArray, FormBuilder, FormGroup, ValidatorFn, Validators} from '@angular/forms';\nimport {CourseService} from '../../../../../../core/services/course.service';\nimport {AlertService} from '../../../../../../core/services/alert.service';\nimport {TranslateService} from '@ngx-translate/core';\nimport {CourseConstants} from '../../../../../../core/models/course/course-constants';\nimport {ConfirmDialogService} from '../../../../../../core/services/confirm-dialog.service';\nimport Quill from 'quill'\nimport {DatepickerComponent} from '../../../../../../shared/components/datepicker/datepicker.component';\nimport {ModalAction} from '../../../../../../core/models/course/modal/modal-action';\nimport {MultipleSelectComponent} from '../../../../../../shared/components/multipleselect/multiple-select/multiple-select.component';\nimport {CourseAdministrationUtils} from '../../utils/course-administration-utils.service';\nimport {DropdownComponent} from '../../../../../../shared/components/dropdown/dropdown.component';\nimport {SimpleEntity} from '../../../../../../core/models/shared/simple-entity';\nimport {AuthService} from '../../../../../../core/services/auth.service';\nimport {UserService} from '../../../../../../core/services/user.service';\nimport {Course} from '../../../../../../core/models/course/course';\nimport {CourseStatus} from '../../../../../../core/models/enums/course-status';\nimport {SimpleDisplayEntity} from '../../../../../../core/models/shared/simple-display-entity';\n\nconst titleMaxChar = 100;\nconst descriptionMaxChar = 1500;\nconst yukiReferenceMaxChar = 60;\nconst yukiIdMaxChar = 255;\nconst additionalInformationMaxChar = 250;\nconst externalLinkMaxChar = 1000;\nconst speakersMaxChar = 300;\n\n@Component({\n selector: 'app-upsert-course-modal',\n templateUrl: './upsert-course-modal.component.html',\n styleUrls: ['./upsert-course-modal.component.scss']\n})\nexport class UpsertCourseModalComponent implements OnInit {\n\n ALL_CENTRES: string = 'ALL_CENTRES';\n\n editor: Quill;\n courseForm: FormGroup;\n submitted = false;\n isEndDateBeforeStartDate = false;\n isStartDateInPast = false;\n isEndDateInPast = false;\n initialStartDate = new Date();\n initialEndDate = new Date();\n titleCharRemaining = titleMaxChar;\n yukiReferenceCharRemaining = yukiReferenceMaxChar;\n descriptionCharRemaining = descriptionMaxChar;\n additionalInformationCharRemaining = additionalInformationMaxChar;\n speakersCharRemaining = speakersMaxChar;\n isExternal = false;\n notifyParticipants = false;\n localCentre = [];\n secondaryDisciplinesSelectDisabled: boolean = true;\n possibleSecondaryDisciplines: SimpleEntity[] = [];\n selectedSecondaryDisciplines: SimpleEntity[] = [];\n defaultOrganiser: SimpleDisplayEntity;\n oldCourseStatus: CourseStatus;\n\n @ViewChild('startDate') startDateInput!: DatepickerComponent;\n @ViewChild('title') titleInput!: ElementRef;\n @ViewChild('disciplinesMultiSelect') disciplinesMultiSelect: MultipleSelectComponent;\n @ViewChild('responsibleForMunicipality') responsibleForMunicipalityDropdown: DropdownComponent;\n\n modules = {\n toolbar: [\n ['bold', 'italic', 'underline', 'strike'],\n [{'list': 'ordered'}, {'list': 'bullet'}],\n [{'indent': '-1'}, {'indent': '+1'}],\n [{'align': []}],\n ['clean'],\n ['link']\n ],\n keyboard: {\n bindings: {\n tab: {\n key: 9,\n handler: function (range, context) {\n this.startDateInput.myInput.nativeElement.focus();\n return false;\n },\n },\n },\n }\n };\n\n generalRequiredFields = ['title', 'description', 'startDate', 'endDate',\n 'tags', 'disciplines', 'coreProcesses', 'formationType', 'maxNumberOfParticipants',\n 'centres', 'organiser'];\n\n @Input()\n modalAction: ModalAction;\n @Input()\n courseConstants: CourseConstants;\n @Input()\n course: Course;\n @Input()\n moveOnWaitingListParticipants: boolean;\n @Input()\n repeatingCourse: boolean;\n\n\n constructor(public activeModal: NgbActiveModal,\n private _formBuilder: FormBuilder,\n private courseService: CourseService,\n private alertService: AlertService,\n private translate: TranslateService,\n private confirmDialogService: ConfirmDialogService,\n private elementRef: ElementRef,\n private courseUtils: CourseAdministrationUtils,\n private authService: AuthService,\n private userService: UserService\n ) {\n }\n\n ngOnInit(): void {\n this.addNoLocationOption();\n this.courseConstants.centres.unshift({id: null, name: '', displayName: this.ALL_CENTRES});\n if (this.modalAction === ModalAction.EDIT || this.modalAction === ModalAction.COPY) {\n this.createFormFromCourse();\n if (!this.courseUtils.canChangeExternalFlag(this.course.courseStatus)) {\n this.courseForm.get('isExternal')?.disable();\n }\n } else {\n this.createEmptyForm();\n }\n this.updateValidators(this.courseForm.value.courseStatus);\n this.possibleSecondaryDisciplines = this.courseConstants.disciplines;\n }\n\n private createEmptyForm() {\n this.courseForm = this._formBuilder.group({\n title: [null],\n description: [],\n descriptionText: [],\n speakers: [],\n location: [],\n targetGroup: this._formBuilder.group({\n disciplines: [[]],\n disciplinesSecondary: [[]],\n coreProcesses: [[]],\n formationType: [],\n }),\n tags: [],\n responsibleForMunicipality: [],\n startDate: [''],\n endDate: [''],\n price: [''],\n reducedPrice: [''],\n maxNumberOfParticipants: [''],\n courseStatus: [this.courseConstants.courseStatuses[0]],\n additionalInformation: [],\n additionalInformationText: [],\n paymentInformation: this._formBuilder.group({\n yukiSalesItemId: [],\n yukiReference: []\n }),\n isExternal: false,\n externalLink: [],\n notifyParticipants: false,\n centres: [],\n acceptingExternal: true,\n organiser: [],\n });\n this.setUpDefaultOrganiser();\n }\n\n private createFormFromCourse() {\n this.initialStartDate = this.course.startDate ? new Date(this.course.startDate) : null;\n this.initialEndDate = this.course.endDate ? new Date(this.course.endDate) : null;\n\n if (this.course.isExternal) {\n this.courseConstants.responsibleForMunicipalities.push({id: null, fullName: '', email: 'NTV'});\n if (!this.course.responsibleForMunicipality) {\n this.course.responsibleForMunicipality =\n this.courseConstants.responsibleForMunicipalities[this.courseConstants.responsibleForMunicipalities.length - 1];\n }\n }\n this.courseForm = this._formBuilder.group({\n id: this.course.id,\n title: [this.course.title],\n description: [this.course.description],\n descriptionText: [],\n speakers: [this.course.speakers],\n location: [this.course.location],\n targetGroup: this._formBuilder.group({\n disciplines: [this.course.targetGroup.disciplines],\n disciplinesSecondary: [this.course.targetGroup.disciplinesSecondary],\n coreProcesses: [this.course.targetGroup.coreProcesses],\n formationType: this.course.targetGroup.formationType,\n }),\n tags: [this.course.tags],\n responsibleForMunicipality: [this.course.responsibleForMunicipality],\n startDate: [this.course.startDate ? this.course.startDate : ''],\n endDate: [this.course.endDate ? this.course.endDate : ''],\n price: this.course.price,\n reducedPrice: this.course.reducedPrice,\n maxNumberOfParticipants: this.course.maxNumberOfParticipants,\n courseStatus: this.course.courseStatus,\n additionalInformation: this.course.additionalInformation,\n additionalInformationText: [],\n paymentInformation: this._formBuilder.group({\n yukiSalesItemId: this.course.paymentInformation.yukiSalesItemId,\n yukiReference: this.course.paymentInformation.yukiReference\n }),\n isExternal: this.course.isExternal,\n externalLink: this.course.externalLink,\n notifyParticipants: false,\n centres: [this.course.centres],\n acceptingExternal: this.course.acceptingExternal,\n organiser: [this.course.organiser ? this.getOrganiserCenter() : this.courseConstants.organisers[0]],\n });\n this.titleCharRemaining = titleMaxChar - this.course?.title?.length;\n this.descriptionCharRemaining = descriptionMaxChar - this.course?.description?.length\n this.yukiReferenceCharRemaining = yukiReferenceMaxChar - this.course?.paymentInformation.yukiReference?.length;\n this.speakersCharRemaining = speakersMaxChar - this.course?.speakers?.length;\n this.isExternal = this.course.isExternal;\n this.notifyParticipants = false;\n this.secondaryDisciplinesSelectDisabled = false;\n this.selectedSecondaryDisciplines = this.course.targetGroup.disciplinesSecondary;\n this.oldCourseStatus = this.course.courseStatus as CourseStatus;\n }\n\n getOrganiserCenter(): SimpleEntity {\n if (this.course.organiser) {\n this.courseConstants.organisers.forEach((organiser) => {\n if (organiser.id === this.course.organiser.id) {\n this.defaultOrganiser = organiser;\n }\n })\n }\n return this.defaultOrganiser;\n }\n\n addNoLocationOption() {\n this.courseConstants.locations.sort((a, b) => a.name?.localeCompare(b.name)).unshift({\n city: '',\n fax: '',\n googleMapsUrl: '',\n id: 0,\n postcode: '',\n province: '',\n streetNumber: '',\n telephone: '',\n url: '',\n name: 'NO_LOCATION',\n email: ''\n });\n }\n\n get form() {\n return this.courseForm.controls;\n }\n\n onSubmit() {\n this.submitted = true;\n if (this.courseForm.invalid || this.isEndDateBeforeStartDate || this.isStartDateInPast || this.isEndDateInPast) {\n this.focusFirstInvalidField();\n return;\n }\n if (this.courseForm.value.isExternal === undefined) {\n this.courseForm.value.isExternal = this.course.isExternal;\n }\n if (this.courseForm.value.responsibleForMunicipality?.email === 'NTV') {\n this.courseForm.value.responsibleForMunicipality = null;\n }\n if ( this.courseForm.value.organiser === '') {\n this.courseForm.value.organiser = null;\n }\n if (this.courseForm.value.centres?.length > 0) {\n for (const centre of this.courseForm.value.centres) {\n if (centre?.displayName === this.ALL_CENTRES) {\n this.courseForm.value.centres = [];\n break;\n }\n }\n }\n\n if (this.modalAction === ModalAction.EDIT) {\n this.courseService.editCourse(this.courseForm.value).subscribe(() => {\n this.activeModal.close(true);\n let successEditTranslate = this.translate.instant('SUCCESS_EDIT_COURSE');\n this.alertService.success(successEditTranslate, {\n closeButton: true,\n autoClose: true,\n keepAfterRouteChange: false\n });\n },\n (err) => {\n let errorTranslate = this.translate.instant(err);\n this.alertService.error(errorTranslate, {closeButton: true, autoClose: false, keepAfterRouteChange: false});\n });\n } else if (this.modalAction === ModalAction.COPY) {\n this.courseService.copyCourse(this.courseForm.value, this.moveOnWaitingListParticipants, this.repeatingCourse).subscribe(() => {\n this.activeModal.close();\n let successAddTranslate = this.translate.instant('COURSE_SUCCESS_ADD');\n this.alertService.success(successAddTranslate, {\n closeButton: true,\n autoClose: true,\n keepAfterRouteChange: false\n });\n });\n } else {\n this.courseService.addCourse(this.courseForm.value).subscribe(() => {\n this.activeModal.close();\n let successAddTranslate = this.translate.instant('COURSE_SUCCESS_ADD');\n this.alertService.success(successAddTranslate, {\n closeButton: true,\n autoClose: true,\n keepAfterRouteChange: false\n });\n });\n }\n }\n\n focusFirstInvalidField() {\n let inputFields = this.elementRef.nativeElement.querySelectorAll('.form-control.ng-invalid, .custom-form-component');\n let invalidClasses = ['ng-invalid', 'is-invalid', 'invisible-error', 'has-error'];\n for (var i = 0, len = inputFields.length; i < len; i++) {\n let classes = inputFields[i].className.split(/\\s+/);\n if (classes.some(cl => invalidClasses.includes(cl))) {\n this.focusElement(inputFields[i], classes);\n break;\n }\n }\n }\n\n focusElement(inputField, classes) {\n if (classes.includes('quill-editor')) {\n this.editor.focus();\n }\n if (classes.includes('ng-select-multiple')) {\n inputField = inputField.querySelector('.ng-select-container>.ng-value-container>.ng-input>input')\n }\n inputField.focus();\n }\n\n checkIsStartDateInPast(startDate: Date) {\n let today = new Date();\n if (startDate) {\n this.isStartDateInPast = !this.areDatesEqual(this.initialStartDate, startDate) && startDate < today;\n }\n }\n\n checkIsEndDateInPast(endDate: Date) {\n let today = new Date();\n if (endDate) {\n this.isEndDateInPast = !this.areDatesEqual(this.initialEndDate, endDate) && endDate < today;\n }\n }\n\n areDatesEqual(first: Date, second: Date) {\n return first.getTime() === second.getTime();\n }\n\n checkIsEndDateBeforeStartDate() {\n if (this.courseForm.value.endDate && this.courseForm.value.startDate) {\n this.isEndDateBeforeStartDate = this.courseForm.value.endDate < this.courseForm.value.startDate;\n }\n }\n\n setFieldInForm(value: any, field: string, subfield: string, htmlElem?) {\n if (subfield === '') {\n this.courseForm.get(field).setValue(value);\n } else {\n this.courseForm.get([field, subfield]).setValue(value);\n }\n if (field === 'startDate') {\n this.checkIsStartDateInPast(this.courseForm.value.startDate);\n this.checkIsEndDateBeforeStartDate();\n }\n if (field === 'endDate') {\n this.checkIsEndDateBeforeStartDate();\n this.checkIsEndDateInPast(this.courseForm.value.endDate)\n }\n if (subfield === 'disciplines') {\n this.primaryDisciplinesChanged(value);\n }\n htmlElem?.myInput?.nativeElement?.focus();\n }\n\n primaryDisciplinesChanged(selectedPrimaryDisciplines: SimpleEntity[]) {\n if (selectedPrimaryDisciplines.length > 0) {\n this.secondaryDisciplinesSelectDisabled = false;\n this.possibleSecondaryDisciplines = this.courseConstants.disciplines\n .filter(secondary => !selectedPrimaryDisciplines.some(primary => primary.id === secondary.id));\n if (this.courseForm.value.targetGroup.disciplinesSecondary.length > 0) {\n this.removeSecondaryDisciplineIfAddedToPrimary(selectedPrimaryDisciplines);\n }\n } else {\n this.secondaryDisciplinesSelectDisabled = true;\n this.courseForm.get(['targetGroup', 'disciplinesSecondary']).setValue([]);\n this.selectedSecondaryDisciplines = [];\n this.possibleSecondaryDisciplines = this.courseConstants.disciplines;\n }\n }\n\n removeSecondaryDisciplineIfAddedToPrimary(selectedPrimaryDisciplines: SimpleEntity[]) {\n this.courseForm.get(['targetGroup', 'disciplinesSecondary']).setValue(\n this.courseForm.value.targetGroup.disciplinesSecondary.filter((secondary: SimpleEntity) => !selectedPrimaryDisciplines.some(primary => primary.id === secondary.id))\n );\n this.selectedSecondaryDisciplines = this.courseForm.value.targetGroup.disciplinesSecondary;\n }\n\n openCancelConfirmationDialog() {\n this.confirmDialogService.openCancelConfirmationDialog(this.activeModal);\n }\n\n titleChanged() {\n this.titleCharRemaining = titleMaxChar - this.courseForm.value.title.length;\n }\n\n yukiReferenceChanged() {\n this.yukiReferenceCharRemaining = yukiReferenceMaxChar - this.courseForm.value.paymentInformation.yukiReference.length;\n }\n\n speakersChanged(): void {\n this.speakersCharRemaining = speakersMaxChar - this.courseForm.value.speakers.length;\n }\n\n changedEditor(event: any, component: string) {\n if (event?.event === 'text-change') {\n switch (component) {\n case 'additionalInformation':\n this.courseForm.controls['additionalInformation'].setValue(event.html);\n this.courseForm.controls['additionalInformationText'].setValue(event.text.slice(0, -1));\n this.additionalInformationCharRemaining = additionalInformationMaxChar - event.html?.length + 1;\n break;\n case 'description':\n this.courseForm.controls['description'].setValue(event.html);\n this.courseForm.controls['descriptionText'].setValue(event.text.slice(0, -1));\n this.descriptionCharRemaining = descriptionMaxChar - event.html?.length + 1;\n break;\n }\n }\n }\n\n created(quill: Quill, component: string) {\n this.editor = quill;\n switch (component) {\n case 'additionalInformation':\n this.additionalInformationCharRemaining = additionalInformationMaxChar;\n quill.pasteHTML(this.course?.additionalInformation ? this.course.additionalInformation : '');\n this.courseForm.controls['additionalInformationText'].setValue(quill.getText().slice(0, -1));\n break;\n case 'description':\n this.descriptionCharRemaining = descriptionMaxChar;\n quill.pasteHTML(this.course?.description ? this.course.description : '');\n this.courseForm.controls['descriptionText'].setValue(quill.getText().slice(0, -1));\n break;\n }\n this.titleInput.nativeElement.focus();\n }\n\n courseStatusChange($event: any, htmlElem): void {\n this.setFieldInForm($event, 'courseStatus', '');\n this.updateValidators($event);\n htmlElem?.myInput.nativeElement.focus();\n }\n\n moveFocusToDescription($event) {\n $event.preventDefault();\n this.editor.focus();\n }\n\n dismissModal() {\n this.activeModal.dismiss('Cross click');\n }\n\n private updateValidators(status) {\n switch (status) {\n case 'REOPEN_FOR_REGISTRATION': {\n this.updateValidatorsForReopenForRegistration();\n break;\n }\n case 'CLOSED_FOR_REGISTRATION': {\n this.updateValidatorsForClosedForRegistration();\n break;\n }\n case 'OPEN_FOR_REGISTRATION': {\n this.updateValidatorsForOpenForRegistration();\n break;\n }\n case 'DRAFT':\n case 'ANNOUNCED': {\n this.updateValidatorsForDraftOrAnnounced();\n break;\n }\n case 'ONGOING': {\n this.updateValidatorForOngoing();\n break;\n }\n case 'CANCELLED': {\n this.updateValidatorForCancelled();\n break;\n }\n case 'FINISHED': {\n this.updateValidatorForFinished();\n break;\n }\n case 'POSTPONED': {\n this.updateValidatorForPostponed();\n break;\n }\n default: {\n this.alertService.error(this.translate.instant('INVALID_COURSE_STATUS'), {\n closeButton: true,\n autoClose: false,\n keepAfterRouteChange: false\n })\n }\n }\n }\n\n private updateValidatorsForReopenForRegistration() {\n this.updateValidatorsGeneral();\n }\n\n private updateValidatorsForClosedForRegistration() {\n this.updateValidatorsGeneral();\n }\n\n private updateValidatorsForOpenForRegistration() {\n this.updateValidatorsGeneral();\n }\n\n private updateMaxLengthValidators() {\n this.updateValidationOnForm(this.courseForm, true, ['title'], [Validators.required, Validators.maxLength(titleMaxChar)]);\n this.updateValidationOnForm(this.courseForm, true, ['descriptionText'], [Validators.maxLength(descriptionMaxChar)]);\n this.updateValidationOnForm(this.courseForm, true, ['additionalInformationText'], [Validators.maxLength(additionalInformationMaxChar)]);\n this.updateValidationOnForm(this.courseForm, true, ['yukiReference'], [Validators.maxLength(yukiReferenceMaxChar)]);\n this.updateValidationOnForm(this.courseForm, true, ['yukiSalesItemId'], [Validators.maxLength(yukiIdMaxChar)]);\n this.updateValidationOnForm(this.courseForm, true, ['externalLink'], [Validators.maxLength(externalLinkMaxChar)]);\n this.updateValidationOnForm(this.courseForm, true, ['speakers'], [Validators.maxLength(speakersMaxChar)]);\n }\n\n private updateValidatorsForDraftOrAnnounced() {\n this.updateValidationOnForm(this.courseForm, true, [], []);\n this.updateValidationOnForm(this.courseForm, true, ['description'], []);\n this.updateValidationOnForm(this.courseForm, true, ['maxNumberOfParticipants'], [Validators.min(1), Validators.max(10000)]);\n\n this.updateMaxLengthValidators();\n this.updateValidationOnForm(this.courseForm, false, []);\n }\n\n private updateValidatorForCancelled() {\n this.updateValidationOnForm(this.courseForm, true, [], []);\n this.updateValidationOnForm(this.courseForm, true, ['description'], [Validators.required]);\n this.updateValidationOnForm(this.courseForm, true, ['maxNumberOfParticipants'], [Validators.min(1), Validators.max(10000)]);\n\n this.updateMaxLengthValidators();\n this.updateValidationOnForm(this.courseForm, false, []);\n }\n\n private updateValidatorForOngoing() {\n this.updateValidatorsGeneral();\n }\n\n private updateValidatorForFinished() {\n this.updateValidatorsGeneral();\n }\n\n private updateValidatorForPostponed() {\n this.updateValidatorsGeneral();\n }\n\n private updateValidatorsGeneral() {\n this.updateValidationOnForm(this.courseForm, true, this.generalRequiredFields, [Validators.required]);\n this.updateValidationOnForm(this.courseForm, true, ['description'], [Validators.required]);\n this.updateValidationOnForm(this.courseForm, true, ['centres'], [Validators.minLength(1)]);\n this.updateValidationOnForm(this.courseForm, true, ['maxNumberOfParticipants'], [Validators.required, Validators.min(1), Validators.max(10000)]);\n\n this.updateMaxLengthValidators();\n this.updateValidationOnForm(this.courseForm, false, this.generalRequiredFields);\n }\n\n private updateValidationOnForm(group: FormGroup | FormArray, isSetValidators: boolean, fieldsToUpdate: string[], newValidator?: ValidatorFn[]): void {\n Object.keys(group.controls).forEach((key: string) => {\n const abstractControl = group.controls[key];\n\n if (abstractControl instanceof FormGroup || abstractControl instanceof FormArray) {\n this.updateValidationOnForm(abstractControl, isSetValidators, fieldsToUpdate, newValidator);\n } else {\n if (fieldsToUpdate.includes(this.getControlName(abstractControl)) || fieldsToUpdate.length === 0) {\n if (isSetValidators) {\n abstractControl.setValidators(newValidator);\n } else {\n abstractControl.updateValueAndValidity();\n }\n }\n }\n });\n }\n\n private getControlName(c: AbstractControl): string | null {\n const formGroup = c.parent.controls;\n return Object.keys(formGroup).find(name => c === formGroup[name]) || null;\n }\n\n isCreateModal(): boolean {\n return ModalAction.CREATE === this.modalAction;\n }\n\n resolveTitle() {\n switch (this.modalAction) {\n case ModalAction.CREATE:\n return 'ADD_NEW_COURSE';\n case ModalAction.EDIT:\n return 'EDIT_COURSE';\n case ModalAction.COPY:\n return 'COPY_COURSE';\n default:\n throw new Error(`Non-existent modalAction in switch: ${this.modalAction}`);\n }\n }\n\n onSelectAllDisciplines() {\n this.courseForm.get('targetGroup').get('disciplines').setValue(this.courseConstants.disciplines);\n this.disciplinesMultiSelect.selectedItemsInternal = this.courseConstants.disciplines;\n this.courseForm.get(['targetGroup', 'disciplinesSecondary']).setValue([]);\n this.possibleSecondaryDisciplines = [];\n this.selectedSecondaryDisciplines = [];\n }\n\n isCourseExternalChecked(value) {\n this.isExternal = value;\n if (this.isExternal) {\n this.courseConstants.responsibleForMunicipalities\n .push({id: null, fullName: '', email: 'NTV'});\n } else {\n this.courseForm.get('externalLink')?.setValue('');\n }\n }\n\n notifyParticipantsChecked(checked: any) {\n this.notifyParticipants = checked;\n }\n\n isUrlValid(): Boolean {\n if (!this.courseForm.value.isExternal || this.courseForm.value.externalLink === null || this.courseForm.value.externalLink === '')\n return true;\n\n const urlPattern = /^(https?|ftp):\\/\\/[^\\s/$.?#].\\S*$/;\n return urlPattern.test(this.courseForm.value.externalLink);\n }\n\n isSuperAdmin(): boolean {\n return this.authService.isSuperAdmin();\n }\n\n setUpDefaultOrganiser() {\n this.userService.getUsersDefaultOrganiserId().subscribe(organiserId => {\n this.courseConstants.organisers.forEach(organiser => {\n if (organiser.id === organiserId) {\n this.defaultOrganiser = organiser;\n this.courseForm.get('organiser').setValue(organiser);\n }\n })\n })\n }\n\n disableCentersChange(): boolean {\n return this.modalAction === ModalAction.EDIT && ![CourseStatus.DRAFT, CourseStatus.ANNOUNCED].includes(this.oldCourseStatus);\n }\n\n}\n","
\n
\n
\n

{{resolveTitle()|translate}}

\n
\n \n
\n
\n
\n
\n
{{'GENERAL_INFORMATION'|translate}}
\n
\n
\n
\n
\n \n \n
\n
\n
\n
{{'TITLE_REQUIRED'|translate}}
\n
{{'TITLE_TOO_LONG'|translate}}
\n
\n
\n
\n

=0\"\n class=\"char-counter mr-1\">{{titleCharRemaining + ('CHARACTERS_REMAINING'|translate)}}

\n

{{('TOO_LONG_BY_X_CHARACTERS' |translate: {character_number: -titleCharRemaining})}}

\n
\n
\n
\n
\n
\n
\n
\n
\n \n \n
\n
{{'ORGANISER_REQUIRED'|translate}}
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
{{'SPEAKERS_TOO_LONG'|translate}}
\n
\n
\n
\n

=0\"\n class=\"char-counter mr-1\">{{speakersCharRemaining + ('CHARACTERS_REMAINING'|translate)}}

\n

{{('TOO_LONG_BY_X_CHARACTERS' |translate: {character_number: -speakersCharRemaining})}}

\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
{{'DESCRIPTION_REQUIRED'|translate}}
\n
{{'DESCRIPTION_TOO_LONG'|translate}}
\n
\n
\n
\n

=0\"\n class=\"char-counter mr-1\">{{descriptionCharRemaining + ('CHARACTERS_REMAINING'|translate)}}

\n

{{('TOO_LONG_BY_X_CHARACTERS' |translate: {character_number: -descriptionCharRemaining})}}

\n
\n
\n
\n
\n
\n \n \n \n
\n
{{'START_DATE_CAN_NOT_BE_IN_PAST'|translate}}
\n
\n
\n
{{'END_DATE_AFTER_START'|translate}}
\n
\n
\n
{{'START_DATE_REQUIRED'|translate}}
\n
\n
\n
\n \n \n \n
\n
{{'END_DATE_CAN_NOT_BE_IN_PAST'|translate}}
\n
\n
\n
{{'END_DATE_AFTER_START'|translate}}
\n
\n
\n
{{'END_DATE_REQUIRED'|translate}}
\n
\n
\n
\n
\n \n \n
\n
\n
\n\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n \n
\n {{'MAX_NUM_PARTICIPANTS_REQUIRED'|translate}}\n
\n {{'MAX_NUM_PARTICIPANTS_MIN_VALUE'|translate}}\n
\n {{'MAX_NUM_PARTICIPANTS_MAX_VALUE'|translate}}\n
\n
\n
\n
\n
\n\n
\n \n \n
\n
{{'TAGS_REQUIRED'|translate}}
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
{{'CENTER_REQUIRED'|translate}}
\n
\n
\n \n \n\n
\n
{{'TARGET_GROUP_INFORMATION'|translate}}
\n
\n
\n
\n \n \n
\n
{{'CORE_PROCESSES_REQUIRED'|translate}}
\n
\n
\n
\n \n \n
\n
{{'FORMATION_TYPE_REQUIRED'|translate}}
\n
\n
\n
\n \n \n
\n
{{'DISCIPLINES_REQUIRED'|translate}}
\n
\n
\n
\n \n
\n
\n
\n \n \n
\n
\n
\n
{{'YUKI_INFORMATION'|translate}}
\n
\n
\n
\n \n \n
\n
\n
\n {{'YUKI_ID_LONGER_THEN_255_CHARS'|translate}}
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n {{'YUKI_REFERENCE_LONGER_THEN_60_CHARS'|translate}}
\n
\n
\n
\n

=0\"\n class=\"char-counter mr-1\">{{yukiReferenceCharRemaining + ('CHARACTERS_REMAINING'|translate)}}

\n

{{('TOO_LONG_BY_X_CHARACTERS' |translate: {character_number: -yukiReferenceCharRemaining})}}

\n
\n
\n
\n \n \n
\n
{{'OTHER_DETAILS'|translate}}
\n
\n
\n
\n \n \n
\n
\n
\n {{'ADDITIONAL_INFORMATION_TO_LONG'|translate}}
\n
\n
\n
\n

=0\"\n class=\"char-counter mr-1\">{{additionalInformationCharRemaining + ('CHARACTERS_REMAINING'|translate)}}

\n

{{('TOO_LONG_BY_X_CHARACTERS' |translate: {character_number: -additionalInformationCharRemaining})}}

\n
\n
\n
\n \n
\n
{{'EXTERNAL_COURSE'|translate}}
\n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
{{'INVALID_URL'|translate}}
\n
\n
\n\n
\n
\n
\n \n \n
\n
\n \n \n
\n \n \n
\n\n\n","import {Component, Input, OnInit} from '@angular/core';\nimport {DomSanitizer, SafeResourceUrl} from '@angular/platform-browser';\nimport {NgbActiveModal} from '@ng-bootstrap/ng-bootstrap';\n\nconst office_url = 'https://view.officeapps.live.com/op/embed.aspx?src=';\n\n@Component({\n selector: 'app-view-presentation-modal-component',\n templateUrl: './view-presentation-modal.component.html',\n styleUrls: ['view-presentation-modal.component.scss']\n})\nexport class ViewPresentationModalComponent implements OnInit {\n\n @Input()\n urlOfPresentation: string;\n\n pptxUrl: SafeResourceUrl;\n\n constructor(private sanitizer: DomSanitizer, public activeModal: NgbActiveModal) { }\n\n ngOnInit(): void {\n this.pptxUrl = this.sanitizer.bypassSecurityTrustResourceUrl(office_url + this.urlOfPresentation);\n }\n\n close() {\n this.activeModal.close();\n }\n}\n","
\n
\n

{{'VIEW_PRESENTATION'|translate}}

\n
\n \n
\n
\n
\n \n
\n
\n
\n","import {EventEmitter, Injectable} from '@angular/core';\nimport {CourseIdApplicationStatus} from '../../../../../core/models/course/course-id-application-status';\nimport {CourseConstants} from '../../../../../core/models/course/course-constants';\nimport {NgbModal, NgbModalOptions} from '@ng-bootstrap/ng-bootstrap';\nimport {UserService} from '../../../../../core/services/user.service';\nimport {CourseService} from '../../../../../core/services/course.service';\nimport {FeedbackFormService} from '../../../../../core/services/feedback-form.service';\nimport {Router} from '@angular/router';\nimport {AlertService} from '../../../../../core/services/alert.service';\nimport {TranslateService} from '@ngx-translate/core';\nimport {AuthService} from '../../../../../core/services/auth.service';\nimport {ConfirmDialogService} from '../../../../../core/services/confirm-dialog.service';\nimport {Course} from '../../../../../core/models/course/course';\nimport {ModalAction} from '../../../../../core/models/course/modal/modal-action';\nimport {CourseApplicationService} from '../../../../../core/services/course-application.service';\nimport {SimpleEntity} from '../../../../../core/models/shared/simple-entity';\nimport {\n AdminFeedbackResponseViewComponent\n} from '../components/feedback-form/admin-feedback-response-view/admin-feedback-response-view.component';\nimport {\n UpsertFeedbackFormModalComponent\n} from '../components/feedback-form/upsert-feedback-form-modal/upsert-feedback-form-modal.component';\nimport {UpsertCourseModalComponent} from '../components/upsert-course-modal/upsert-course-modal.component';\nimport {PlatformConfigurationService} from '../../../../../core/services/platform-configuration.service';\nimport {\n ChangeParticipantModalComponent\n} from '../components/change-participant-modal/change-participant-modal.component';\nimport {CourseStatus} from '../../../../../core/models/enums/course-status';\nimport {SchoolYear} from '../../../../../core/models/course/school-year';\nimport {CourseForApproval} from '../../../../../core/models/course/participant/course-for-approval';\nimport {CourseUtils} from '../../../../courses/courses-utils';\nimport {CourseConstantsService} from '../../../../../core/services/course-constants.service';\nimport {MoveParticipantModalComponent} from '../components/move-participant-modal/move-participant-modal.component';\nimport {CourseApplication} from '../../../../../core/models/course/course-application';\nimport {CaleidoscoopFile} from '../../../../../core/models/user/caleidoscoop-file';\nimport {ViewPresentationModalComponent} from '../components/view-presentation-modal/view-presentation-modal.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CourseAdministrationUtils {\n\n public courseChangedEmitter: EventEmitter = new EventEmitter();\n\n favouriteCoursesIds: number[] = [];\n appliedCourseIsAndApplicationStatus: CourseIdApplicationStatus[] = [];\n\n courseConstants: CourseConstants = {\n coreProcesses: [],\n courseStatuses: [],\n courseApplicationStatuses: [],\n disciplines: [],\n formationTypes: [],\n provinces: [],\n responsibleForMunicipalities: [],\n tags: [],\n locations: [],\n groupBy: [],\n schoolYears: [],\n courseTypes: [],\n currentSchoolYear: {} as SchoolYear,\n centres: [],\n localCentreId: null,\n organisers: []\n };\n\n modalOption: NgbModalOptions = {};\n\n constructor(private userService: UserService,\n private courseService: CourseService,\n private courseConstantsService: CourseConstantsService,\n private courseApplicationService: CourseApplicationService,\n private feedbackFormService: FeedbackFormService,\n private _router: Router,\n private modalService: NgbModal,\n private alertService: AlertService,\n private translate: TranslateService,\n private authService: AuthService,\n private confirmDialogService: ConfirmDialogService,\n private platformConfigurationService: PlatformConfigurationService,\n private courseUtils: CourseUtils,\n ) {\n }\n\n addFavouriteCourse(id: number, event) {\n event.stopPropagation();\n if (!this.authService.isLoggedIn()) {\n this.translate.get('SIGN_IN_TO_FAVORITE').subscribe(singInWarnTranslate => {\n this.alertService.warn(singInWarnTranslate, {closeButton: true, autoClose: false});\n });\n } else {\n this.userService.addFavouriteCourse(id).subscribe(() => {\n let courseAddToFavorite = this.translate.instant('COURSE_SUCCESS_ADD_TO_FAVORITE');\n this.favouriteCoursesIds.push(id);\n this.alertService.success(courseAddToFavorite, {closeButton: true, autoClose: true});\n },\n (err) => this.alertService.error(err, {closeButton: true, autoClose: false}));\n }\n }\n\n isFavourite(id) {\n return this.favouriteCoursesIds?.includes(id);\n }\n\n removeFavouriteCourse(id: number, event, callFetchCourse?) {\n event.stopPropagation();\n this.userService.removeFavouriteCourse(id).subscribe(() => {\n let courseRemoveFromFavorite = this.translate.instant('COURSE_SUCCESS_REMOVE_FROM_FAVORITE');\n this.favouriteCoursesIds = this.favouriteCoursesIds.filter(favouriteId => favouriteId != id)\n this.alertService.success(courseRemoveFromFavorite, {closeButton: true, autoClose: true});\n if (callFetchCourse) callFetchCourse.emit();\n },\n (err) => {\n this.alertService.error(err, {closeButton: true, autoClose: false});\n });\n }\n\n openCourseOverview(id: number) {\n if (id) {\n if (this.authService.isAcademieAdmin() || this.authService.isApprover() || this.authService.isParticipant()) {\n this._router.navigate(['admin/academie/courses/' + id]);\n } else {\n window.open(this.platformConfigurationService.getAcademieUrl() + '/courses/' + id, '_self');\n }\n } else {\n this.translate.get('UNABLE_TO_OPEN_COURSE').subscribe(unableToOpenCourse => {\n this.alertService.error(unableToOpenCourse, {closeButton: true, autoClose: false});\n });\n }\n }\n\n getNamesInString(array: SimpleEntity[]) {\n return array.map(item => item.name).join(', ');\n }\n\n async proceedWithCancellationOld(course: Course | CourseForApproval): Promise {\n return new Promise((resolve) => {\n if (this.courseUtils.validForFreeCancel(course.courseStatus, course.startDate)) {\n resolve(true);\n } else {\n this.confirmDialogService.confirmCancelApplicationDialog()\n .subscribe((res) => resolve(res === true));\n }\n });\n }\n\n openUpsertCourseModal(modalAction: ModalAction, course?: Course, loadUsersObserver?, pageSize?,\n page?, moveOnWaitingListParticipants?: boolean, repeatingCourse?: boolean) {\n this.fillModalOptions('lg');\n switch (modalAction) {\n case ModalAction.COPY:\n this.courseService.getCourse(course.id).subscribe(course => { // for now, before refactor\n this.courseConstantsService.getCourseConstantsForCopy(moveOnWaitingListParticipants).subscribe(res => {\n this.openModal(res, modalAction, course, moveOnWaitingListParticipants, loadUsersObserver, page, pageSize, repeatingCourse);\n });\n });\n break;\n case ModalAction.EDIT:\n this.courseService.getCourse(course.id).subscribe(course => {\n this.courseConstantsService.getCourseConstantsForEdit(course.id).subscribe(res => {\n this.openModal(res, modalAction, course, moveOnWaitingListParticipants, loadUsersObserver, page, pageSize);\n });\n });\n break;\n case ModalAction.CREATE:\n this.courseConstantsService.getCourseConstantsForCreate().subscribe(res => {\n this.openModal(res, modalAction, course, moveOnWaitingListParticipants, loadUsersObserver, page, pageSize);\n });\n break;\n }\n }\n\n private openModal(res, modalAction: ModalAction, course: Course, moveOnWaitingListParticipants: boolean, loadUsersObserver,\n page, pageSize, repeatingCourse?: boolean) {\n this.courseConstants = res;\n this.courseConstants.responsibleForMunicipalities\n .sort((a, b) => a.email.localeCompare(b.email));\n const modalRef = this.modalService.open(UpsertCourseModalComponent, this.modalOption);\n\n modalRef.componentInstance.modalAction = modalAction;\n modalRef.componentInstance.course = course;\n modalRef.componentInstance.moveOnWaitingListParticipants = moveOnWaitingListParticipants;\n modalRef.componentInstance.repeatingCourse = repeatingCourse !== null ? repeatingCourse : false;\n modalRef.componentInstance.courseConstants = this.courseConstants;\n modalRef.result.then(res => {\n this.courseChangedEmitter.next();\n if (res && loadUsersObserver) {\n this.courseApplicationService.getAllParticipantsForCourse(course.id, page - 1, pageSize).subscribe(res => {\n loadUsersObserver?.next(res);\n });\n }\n })\n }\n\n openUpsertFeedbackFormModal(courseId: number) {\n this.fillModalOptions('lg');\n this.feedbackFormService.getFeedbackForm(courseId).subscribe(feedbackForm => {\n if (!feedbackForm) {\n feedbackForm = {\n id: null, courseId: courseId, questions: []\n };\n }\n const modalRef = this.modalService.open(UpsertFeedbackFormModalComponent, this.modalOption);\n modalRef.componentInstance.setFeedbackForm(feedbackForm);\n });\n }\n\n fetchUserFavouriteAndAppliedCourses() {\n this.courseService.getAllFavouriteCourses().subscribe(res => {\n this.favouriteCoursesIds = res.map(course => course.id);\n });\n this.courseService.getAllAppliedCoursesIdAndApplicationStatus().subscribe(res => {\n this.appliedCourseIsAndApplicationStatus = res;\n });\n }\n\n openFeedbackFormForView(courseId: number, event) {\n event.stopPropagation();\n this.fillModalOptions('lg');\n\n const modalRef = this.modalService.open(AdminFeedbackResponseViewComponent, this.modalOption);\n this.feedbackFormService.getFeedbackForm(courseId).subscribe(res => {\n modalRef.componentInstance.setFeedbackForm(res);\n });\n }\n\n openParticipantsFeedbackResponse(courseId: number, username: string, responseId: number, event: MouseEvent) {\n event.stopPropagation();\n this.fillModalOptions('lg');\n\n const modalRef = this.modalService.open(AdminFeedbackResponseViewComponent, this.modalOption);\n this.feedbackFormService.getFeedbackForm(courseId).subscribe(res => {\n modalRef.componentInstance.setFeedbackForm(res);\n modalRef.componentInstance.username = username;\n this.feedbackFormService.getResponse(responseId).subscribe(response => {\n modalRef.componentInstance.setResponse(response);\n })\n });\n }\n\n private fillModalOptions(size: string) {\n this.modalOption.backdrop = 'static';\n this.modalOption.keyboard = false;\n this.modalOption.size = size;\n }\n\n openChangeParticipant($event: MouseEvent, courseApplicationId: number, loadUsersObserver) {\n $event.stopPropagation();\n this.fillModalOptions('md');\n\n const modalRef = this.modalService.open(ChangeParticipantModalComponent, this.modalOption);\n modalRef.componentInstance.courseApplicationId = courseApplicationId;\n modalRef.result.then(res => {\n if(res)\n this.changeCourseParticipant(loadUsersObserver, courseApplicationId, res.selectedParticipant, res.selectedApproverEmail);\n });\n }\n\n changeCourseParticipant(loadUsersObserver, courseApplicationId, participantEmail, approverEmail) {\n this.courseApplicationService.changeCourseParticipant(courseApplicationId, participantEmail, approverEmail)\n .subscribe(() => {\n this.alertService.success(this.translate.instant('SUCCESS_PARTICIPANT_CHANGE'), {closeButton: true, autoClose: true});\n loadUsersObserver?.next(true);\n },\n (err) => {\n this.alertService.error(err, {closeButton: true, autoClose: false});\n });\n }\n\n canChangeExternalFlag(courseStatus: string) {\n return [CourseStatus.DRAFT, CourseStatus.OPEN_FOR_REGISTRATION, CourseStatus.REOPEN_FOR_REGISTRATION].includes(courseStatus as CourseStatus);\n }\n\n isLoggedIn(): boolean {\n return this.authService.isLoggedIn();\n }\n\n redirectToLogin() {\n window.open(this.platformConfigurationService.getPlatformUrl() + '/login', '_self')\n }\n\n moveParticipantToAnotherCourseOpenModal(course: Course, courseApplication: CourseApplication) {\n this.fillModalOptions('lg');\n\n const modalRef = this.modalService.open(MoveParticipantModalComponent, this.modalOption);\n modalRef.componentInstance.userId = courseApplication.participant.id;\n modalRef.componentInstance.userName = courseApplication.participant.firstName + ' ' + courseApplication.participant.name;\n modalRef.componentInstance.courseFromId = course.id;\n modalRef.componentInstance.courseFromTitle = course.title;\n modalRef.result.then(res => {\n if(res) {\n this.courseChangedEmitter.next();\n }\n });\n }\n\n openPresentationInModal(attachment: CaleidoscoopFile): void {\n this.courseService.getShortenedUrl(attachment.id).subscribe((data: {url: string}) => {\n this.fillModalOptions('xl');\n\n const modalRef = this.modalService.open(ViewPresentationModalComponent, this.modalOption);\n modalRef.componentInstance.urlOfPresentation = data.url;\n });\n }\n\n downloadAttachment(attachment: CaleidoscoopFile): void {\n this.courseService.getShortenedUrl(attachment.id).subscribe((data: {url: string}) => {\n window.open(data.url, '_blank');\n });\n }\n\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {CourseBrowse} from '../../../../core/models/course/course-browse';\nimport {CourseUtils} from '../../courses-utils';\nimport {CourseAdministrationUtils} from '../../../admin/academie/courses/utils/course-administration-utils.service';\nimport {CaleidoscoopFile} from '../../../../core/models/user/caleidoscoop-file';\nimport {CourseService} from '../../../../core/services/course.service';\nimport {CourseApplicationService} from '../../../../core/services/course-application.service';\nimport {CourseApplication} from '../../../../core/models/course/course-application';\n\n@Component({\n selector: 'app-course-participant-card',\n templateUrl: './course-participant-card.component.html',\n styleUrls: ['./course-participant-card.component.scss']\n})\nexport class CourseParticipantCardComponent implements OnInit {\n\n @Input()\n course: CourseBrowse;\n\n @Output()\n refreshCoursesEmitter: EventEmitter = new EventEmitter();\n\n viewingAttachmentsFromCourseId: number = 0;\n courseAttachments: CaleidoscoopFile[];\n\n openCourseApplications: boolean = false;\n courseApplications: CourseApplication[] = [];\n\n pageSize: number = 10;\n collectionSize: number = 0;\n page: number = 1;\n\n loggedIn: boolean = false;\n ableToApply: boolean = false;\n ableToCancel: boolean = false;\n canFillFeedback: boolean = false;\n shouldAddAttachments: boolean = false;\n\n public readonly allowedStatuses: string[] = ['APPLIED', 'APPROVED', 'ON_WAITING_LIST', 'REGISTERED', 'ABSENT',\n 'PRESENT', 'COMPLETED', 'NOT_COMPLETED', 'EXCUSED'];\n showCourseApplicationButton: boolean = false;\n\n constructor(private courseUtils: CourseUtils,\n private courseAdministrationUtils: CourseAdministrationUtils,\n private courseService: CourseService,\n private courseApplicationService: CourseApplicationService) {\n }\n\n ngOnInit(): void {\n this.loggedIn = this.courseAdministrationUtils.isLoggedIn();\n\n this.ableToApply = this.courseOpenForRegistration() && this.course.applicationStatus === null && !this.course.isPersonal;\n\n this.ableToCancel = this.courseOpenForRegistration() && this.course.applicationStatus !== null && !this.course.isPersonal\n && ['APPLIED'].includes(this.course.applicationStatus);\n\n this.canFillFeedback = this.course.courseStatus === 'FINISHED'\n && this.course.applicationStatus && this.course.applicationStatus === 'COMPLETED'\n && this.course.feedbackFormId && !this.course.feedbackFilled;\n\n this.shouldAddAttachments = this.course.hasAttachments &&\n this.courseUtils.isEligibleApplicationStatusForAttachments(this.course.applicationStatus);\n\n this.showCourseApplicationButton = this.loggedIn && this.course.applicationStatus &&\n this.allowedStatuses.includes(this.course.applicationStatus);\n }\n\n addFavouriteCourse(event: { stopPropagation: () => void; }) {\n event.stopPropagation();\n this.courseUtils.makeCourseFavorite(this.course.id, this.course);\n }\n\n removeFavouriteCourse(event: { stopPropagation: () => void; }) {\n event.stopPropagation();\n this.courseUtils.unFavouriteCourse(this.course.id, this.course);\n }\n\n openCourseOverview(): void {\n this.courseUtils.openCourseOverview(this.course.id);\n }\n\n courseOpenForRegistration(): boolean {\n return this.course.courseStatus === 'OPEN_FOR_REGISTRATION' || this.course.courseStatus === 'REOPEN_FOR_REGISTRATION';\n }\n\n applyForCourse($event: MouseEvent): void {\n $event.stopPropagation();\n this.courseUtils.applyToCourse(this.course.id, this.refreshCoursesEmitter);\n }\n\n cancelCourseApplication($event: MouseEvent): void {\n $event.stopPropagation();\n this.courseUtils.cancelCourseApplicationByParticipant(this.course, this.refreshCoursesEmitter);\n }\n\n openAttachments($event: MouseEvent, courseId: number) {\n $event.stopPropagation();\n if (this.viewingAttachmentsFromCourseId === courseId) {\n this.viewingAttachmentsFromCourseId = null;\n return;\n }\n this.viewingAttachmentsFromCourseId = courseId;\n this.getCourseAttachments(courseId);\n }\n\n getCourseAttachments(courseId: number) {\n this.courseService.getFiles(courseId).subscribe(res => {\n this.courseAttachments = res;\n });\n }\n\n fillFeedbackForm(event: MouseEvent) {\n event.stopPropagation();\n this.courseUtils.fillFeedbackForm(this.course.id)\n .then(isFilled => this.course.feedbackFilled = isFilled);\n }\n\n redirectToLogin(event: MouseEvent) {\n event.stopPropagation();\n this.courseAdministrationUtils.redirectToLogin();\n }\n\n getBackgroundColorClass(): string {\n return this.course.isPersonal ? 'background-light-gay' :\n this.course.isExternal ? 'background-light-beige' :\n this.course.isLocal ? 'background-light-blue' : '';\n }\n\n editPersonalCourse(event: { stopPropagation: () => void; }) {\n event.stopPropagation();\n this.courseUtils.editPersonalCourse(this.course.id);\n }\n\n openAppliedUsers(event: Event, id: number) {\n event.stopPropagation();\n\n if (this.openCourseApplications) {\n this.openCourseApplications = false;\n return;\n } else {\n this.openCourseApplications = true;\n }\n\n this.fetchColleagues(id, this.page, this.pageSize);\n }\n\n fetchColleagues(id: number, page: number, pageSize: number): void {\n this.courseApplicationService.getAllColleaguesForCourse(id, page - 1, pageSize).subscribe(res => {\n this.courseApplications = res.content;\n this.collectionSize = res.totalElements;\n });\n }\n\n onPageChange(selectedPage: number) {\n this.page = selectedPage;\n if (this.openCourseApplications) {\n this.fetchColleagues(this.course.id, this.page, this.pageSize);\n }\n }\n\n onPageSizeChange(pageSize: number) {\n this.pageSize = pageSize;\n if (this.openCourseApplications) {\n this.fetchColleagues(this.course.id, this.page, this.pageSize);\n }\n }\n\n viewPresentation(attachment: CaleidoscoopFile): void {\n this.courseAdministrationUtils.openPresentationInModal(attachment);\n }\n\n downloadAttachment(attachment: CaleidoscoopFile): void {\n this.courseAdministrationUtils.downloadAttachment(attachment);\n }\n\n}\n","
\n\n \n
\n
\n \"brand-logo\"\n
\n

{{ course.organiser }}

\n

{{ course.title }}{{ course.isNew ? ' ' + ('NEW'|translate) : '' }}

\n

{{ (course.speakers ? course.speakers.substring(0, 100) : ('SPEAKER'|translate) + ' ' + ('TBD'|translate)) + (course.speakers?.length > 100 ? '...' : '') }}

\n
\n
\n\n
    \n
  • \n \n {{ course.courseStatus | translate }}\n
  • \n
  • \n \n {{ course.startDate ? (course.startDate | date:'dd.MM.YYYY.') : ('START_DATE'|translate) + ' ' + ('TBD'|translate) }}\n - {{ course.endDate ? (course.endDate | date:'dd.MM.YYYY.') : ('END_DATE'|translate) + ' ' + ('TBD'|translate) }}\n
  • \n
  • \n
    \n \n

    {{ 'TBD'|translate }}

    \n {{ course.location }}\n
    \n
  • \n
  • \n
    \n \n

    \n
    \n
  • \n
  • \n \n {{ course.externalLink }}\"\n
  • \n
  • \n
    \n \n

    {{ course.price > 0 ? (course.price + ' €') : ('FREE'|translate) }}

    \n

    {{ course.reducedPrice + ' €' }}

    \n

    {{ 'EXCL_CATERING'|translate }}

    \n
    \n
  • \n
  • 0\">\n \n {{ course.numberOfComments + ' ' + ('COMMENTS'|translate) }}\n
  • \n
\n
\n\n \n
\n\n
\n
\n \n {{ course.applicationStatus | translate }}\n \n
\n\n
\n\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n
\n
\n\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n \n
\n
\n \n
\n
\n
\n \n
\n \n
\n
\n \n
\n
\n
\n
\n\n
\n
\n\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{ 'FILE_NAME'|translate }}{{ 'FILE_TYPE'|translate }}{{ 'VIEW_PRESENTATION'|translate }}
{{ file.fileName }}{{ file.fileName }}{{ file.fileType.toLowerCase() }}\n
\n
\n
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n {{ courseApplication.participant.name + \" \" + courseApplication.participant.firstName }}\n \n \n \n \n \n
{{ 'FULL_NAME'|translate }}{{ 'EMAIL'|translate }}{{ 'USER_STATUS'|translate }}
\n {{ courseApplication.participant.email }}\n {{ courseApplication.applicationStatus | translate }}
\n
\n \n
\n","import {Component, EventEmitter, OnInit} from '@angular/core';\nimport {Course} from '../../../../core/models/course/course';\nimport {ContentHeader} from '../../../../core/layout/components/content-header/content-header.component';\nimport {FeedbackForm} from '../../../../core/models/course/feedback/feedback-form';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {CourseService} from '../../../../core/services/course.service';\nimport {AlertService} from '../../../../core/services/alert.service';\nimport {AuthService} from '../../../../core/services/auth.service';\nimport {TranslateService} from '@ngx-translate/core';\nimport {CourseAdministrationUtils} from '../../../admin/academie/courses/utils/course-administration-utils.service';\nimport {NgbModal} from '@ng-bootstrap/ng-bootstrap';\nimport {FeedbackFormService} from '../../../../core/services/feedback-form.service';\nimport {PlatformConfigurationService} from '../../../../core/services/platform-configuration.service';\nimport {ModalAction} from '../../../../core/models/course/modal/modal-action';\nimport {CourseUtils} from '../../courses-utils';\nimport {CourseStatus} from '../../../../core/models/enums/course-status';\nimport {CaleidoscoopFile} from '../../../../core/models/user/caleidoscoop-file';\nimport {CourseOverview} from '../../../../core/models/course/course-overview';\nimport {CourseApplication} from '../../../../core/models/course/course-application';\nimport {CourseApplicationService} from '../../../../core/services/course-application.service';\nimport {ConfirmDialogService} from '../../../../core/services/confirm-dialog.service';\n\n@Component({\n selector: 'app-single-course-view',\n templateUrl: './single-course-view.component.html',\n styleUrls: ['./single-course-view.component.scss']\n})\nexport class SingleCourseViewComponent implements OnInit {\n\n courseOverview: CourseOverview;\n course: Course;\n courseId: number;\n contentHeader: ContentHeader;\n isAdmin = false;\n isApprover = false;\n isLoggedIn = false;\n isOrdinaryAcademieUser = false;\n isParticipant: boolean = false;\n feedbackForm: FeedbackForm;\n fromAdminView: boolean = false;\n fromParticipantView: boolean = false;\n courseApplicable: boolean = false;\n canApply: boolean = false;\n attachments: CaleidoscoopFile[];\n attachmentOpened: boolean;\n shouldShowAttachments: boolean;\n\n isApplied: boolean = false;\n\n public readonly allowedStatuses: string[] = ['APPLIED', 'APPROVED', 'ON_WAITING_LIST', 'REGISTERED', 'ABSENT',\n 'PRESENT', 'COMPLETED', 'NOT_COMPLETED', 'EXCUSED'];\n showCourseApplicationButton: boolean = false;\n openCourseApplications: boolean = false;\n courseApplications: CourseApplication[] = [];\n applicationStatus: string;\n\n pageSize: number = 10;\n collectionSize: number = 0;\n page: number = 1;\n\n constructor(private route: ActivatedRoute,\n private courseService: CourseService,\n private alertService: AlertService,\n private authService: AuthService,\n private translate: TranslateService,\n public courseAdministrationUtils: CourseAdministrationUtils,\n private modalService: NgbModal,\n private feedbackFormService: FeedbackFormService,\n private courseApplicationService: CourseApplicationService,\n public router: Router,\n public platformConfigurationService: PlatformConfigurationService,\n private confirmDialogService: ConfirmDialogService,\n private courseUtils: CourseUtils) {\n this.route.params.subscribe(params => {\n this.courseId = params.id;\n });\n this.isAdmin = this.authService.isAcademieAdmin();\n this.isApprover = this.authService.isApprover();\n this.isLoggedIn = this.authService.isLoggedIn();\n this.isOrdinaryAcademieUser = this.isLoggedIn && !this.isAdmin && !this.isApprover && this.authService.isAcademie();\n this.isParticipant = this.authService.isParticipant();\n }\n\n ngOnInit(): void {\n let headerOriginLink: string;\n if (!this.isLoggedIn) {\n headerOriginLink = '/public';\n } else if (this.router.url.includes('approve')) {\n headerOriginLink = this.router.url.includes('subordinates') ? '/admin/academie/courses/subordinates/approve' : '/admin/academie/courses/approve';\n } else if (this.router.url.includes('admin')){\n headerOriginLink = '/admin/academie/courses/all';\n this.fromAdminView = true;\n } else {\n headerOriginLink = '/courses/all';\n this.fromParticipantView = true;\n }\n\n if (this.isOrdinaryAcademieUser || this.isApprover) {\n this.courseAdministrationUtils.fetchUserFavouriteAndAppliedCourses();\n }\n this.fetchCourseForOverview();\n\n this.translate.get('SINGLE_COURSE_VIEW').subscribe(singleCourseTranslate => {\n let coursesTranslate = this.translate.instant('COURSES');\n this.contentHeader = {\n headerTitle: singleCourseTranslate,\n actionButton: false,\n breadcrumb: {\n type: '',\n links: [\n {\n name: coursesTranslate,\n isLink: true,\n link: headerOriginLink\n },\n {\n name: singleCourseTranslate,\n isLink: false\n }\n ]\n }\n };\n });\n }\n\n fetchCourseForOverview() {\n this.courseService.getCourseForOverview(this.courseId).subscribe(res => {\n this.courseOverview = res;\n this.course = this.courseOverview.course;\n this.courseApplicable = this.courseOpenForRegistration() && !this.course.isPersonal;\n this.canApply = this.courseApplicable &&\n (this.courseOverview.applicationStatus === null || this.courseOverview.applicationStatus === '');\n if (this.authService.isLoggedIn()) {\n this.getFiles();\n if (this.feedbackFormAvailableForFilling()) {\n this.feedbackFormService.getFeedbackForm(this.course.id).subscribe(res => this.feedbackForm = res);\n }\n this.showCourseApplicationButton = this.isParticipant && this.courseOverview.applicationStatus &&\n this.allowedStatuses.includes(this.courseOverview.applicationStatus);\n }\n if (this.router.url.includes('fill-feedback')) {\n this.fillFeedbackFormOnLoad();\n }\n }, () => {\n window.location.href = 'miscellaneous/not-authorized';\n });\n }\n\n private getFiles(): void {\n this.courseService.getFiles(this.courseId).subscribe(\n res => {\n this.attachments = res;\n this.shouldShowAttachments = this.attachments && this.attachments.length > 0 &&\n (this.courseUtils.isEligibleApplicationStatusForAttachments(this.courseOverview.applicationStatus) || this.isAdmin);\n }\n );\n }\n\n\n private fillFeedbackFormOnLoad() {\n if (this.courseOverview.feedbackFilled) {\n this.translate.get('FORM_FILLED_IN').subscribe(singInWarnTranslate => {\n this.alertService.warn(singInWarnTranslate, {closeButton: true, autoClose: false});\n });\n } else {\n this.fillFeedbackForm(new MouseEvent(''));\n }\n }\n\n feedbackFormAvailableForFilling(): boolean {\n return (this.courseOverview.feedbackFormId !== null\n && !this.courseOverview.feedbackFilled\n && this.course.courseStatus === CourseStatus.FINISHED\n && this.courseOverview.applicationStatus === 'COMPLETED');\n }\n\n openUpsertCourseModal(course?: Course) {\n this.courseAdministrationUtils.openUpsertCourseModal(ModalAction.EDIT, course);\n this.modalService.activeInstances.subscribe(() => this.fetchCourseForOverview());\n }\n\n warnToSignIn() {\n this.translate.get('SIGN_IN_TO_FAVORITE').subscribe(singInWarnTranslate => {\n this.alertService.warn(singInWarnTranslate, {closeButton: true, autoClose: false});\n });\n }\n\n openUpsertFeedbackForm() {\n this.courseAdministrationUtils.openUpsertFeedbackFormModal(this.course?.id);\n }\n\n fillFeedbackForm(event: MouseEvent) {\n event.stopPropagation();\n this.courseUtils.fillFeedbackForm(this.course.id)\n .then(isFilled => this.courseOverview.feedbackFilled = isFilled);\n }\n\n cancelCourseApplication($event: MouseEvent): void {\n $event.stopPropagation();\n let emitter = new EventEmitter();\n emitter.subscribe(() => this.switchCanApply());\n this.courseUtils.cancelCourseApplicationByParticipant(this.course, emitter);\n }\n\n courseOpenForRegistration(): boolean {\n return this.course.courseStatus === 'OPEN_FOR_REGISTRATION' || this.course.courseStatus === 'REOPEN_FOR_REGISTRATION';\n }\n\n applyForCourse($event: MouseEvent): void {\n $event.stopPropagation();\n let emitter = new EventEmitter();\n emitter.subscribe(() => this.switchCanApply());\n this.courseUtils.applyToCourse(this.course.id, emitter);\n }\n\n switchCanApply(): void {\n this.canApply = !this.canApply;\n }\n\n editPersonalCourse() {\n this.courseUtils.editPersonalCourse(this.course.id);\n }\n\n openAppliedUsers(event: Event, id: number) {\n event.stopPropagation();\n\n if (this.openCourseApplications) {\n this.openCourseApplications = false;\n return;\n } else {\n this.openCourseApplications = true;\n }\n\n this.fetchColleagues(id, this.page, this.pageSize);\n }\n\n fetchColleagues(id: number, page: number, pageSize: number): void {\n this.courseApplicationService.getAllColleaguesForCourse(id, page - 1, pageSize).subscribe(res => {\n this.courseApplications = res.content;\n this.collectionSize = res.totalElements;\n });\n }\n\n onPageChange(selectedPage: number) {\n this.page = selectedPage;\n if (this.openCourseApplications) {\n this.fetchColleagues(this.course.id, this.page, this.pageSize);\n }\n }\n\n onPageSizeChange(pageSize: number) {\n this.pageSize = pageSize;\n if (this.openCourseApplications) {\n this.fetchColleagues(this.course.id, this.page, this.pageSize);\n }\n }\n\n openAttachments($event: Event) {\n $event.stopPropagation();\n this.attachmentOpened = !this.attachmentOpened;\n }\n\n deleteFile(file: CaleidoscoopFile, courseId: number) {\n this.confirmDialogService.confirm(undefined,\n 'DELETE_FILE'\n ).then((res) => {\n if (res)\n this.courseService.deleteFile(file.id, courseId).subscribe(() => {\n this.getFiles()\n });\n });\n }\n\n viewPresentation(attachment: CaleidoscoopFile): void {\n this.courseAdministrationUtils.openPresentationInModal(attachment);\n }\n\n downloadAttachment(attachment: CaleidoscoopFile): void {\n this.courseAdministrationUtils.downloadAttachment(attachment);\n }\n}\n","
\n
\n \n

{{ 'TBD_EXPLANATION'|translate }}

\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \"brand-logo\"\n
\n
\n
\n
\n {{ course?.organiser?.displayName }}

\n \n
\n
\n
\n \n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n \n
\n
\n \n
\n
\n
\n
\n
\n
\n \n
\n
\n\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n

{{ course?.title }}{{course?.isNew ? ' ' + ('NEW'|translate) : ''}}

\n
\n
\n
\n {{ course?.speakers ? course?.speakers : ('SPEAKER'|translate) + ' ' + ('TBD'|translate) }}\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n {{ course?.startDate ? (course?.startDate | date:'dd.MM.YYYY.') : ('START_DATE'|translate) + ' ' + ('TBD'|translate) }}\n -\n {{ course?.endDate ? (course?.endDate | date:'dd.MM.YYYY.') : ('END_DATE'|translate) + ' ' + ('TBD'|translate) }}\n

\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n

{{ 'DESCRIPTION'|translate }}

\n
\n
\n
\n

\n {{ 'YOUR_STATUS_ON_COURSE'|translate }}  \n \n {{ courseOverview.applicationStatus | translate }}\n \n

\n
\n\n
\n
\n
{{ 'OTHER_DETAILS'| translate }}
\n
\n
\n \n
\n
\n \n {{ course?.courseStatus | translate }}\n \n
\n
\n
\n
\n \n
\n
\n

{{ 'TBD'|translate }}

\n {{ course?.location.name }}\n
\n
\n
\n
\n \n
\n
\n

{{ course?.price > 0 ? (course?.price + ' €') : ('FREE'|translate) }}

\n

{{ ('PRICE'|translate) + ' ' + ('TBD'|translate) }}

\n

{{ course?.reducedPrice + ' €' }}

\n
\n

{{ 'EXCL_CATERING'|translate }}

\n
\n
\n
\n \n
\n
\n {{ 'MAX'|translate }} {{ course?.maxNumberOfParticipants ? course?.maxNumberOfParticipants : 'TBD'|translate }}

\n
\n
\n
\n \n

{{ ('TAGS'|translate) + ' ' + ('TBD'|translate) }}

\n

{{ tag|translate }}

\n
\n
\n
{{ 'TARGET_GROUP_DETAILS'|translate }}
\n
\n
\n \n
\n
\n

{{ 'FORMATION_TYPE'|translate }}:

\n {{ course?.targetGroup?.formationType ? course?.targetGroup?.formationType?.name : 'TBD'|translate }}

\n
\n
\n
\n
\n \n
\n
\n

{{ 'CORE_PROCESSES'|translate }}:

\n {{\n course?.targetGroup.coreProcesses.length > 0 ?\n courseAdministrationUtils.getNamesInString(course?.targetGroup.coreProcesses) :\n 'TBD'|translate\n }}

\n
\n
\n
\n

{{ 'DISCIPLINES'| translate }}:

\n \n
\n
\n

{{ 'DISCIPLINES_SECONDARY'| translate }}:

\n \n
\n
\n
\n
\n
\n
\n \n
\n {{ course?.startDate ? (course?.startDate | date:'dd.MM.YYYY.') : ('START_DATE'|translate) + ' ' + ('TBD'|translate) }}\n -\n {{ course?.endDate ? (course?.endDate | date:'dd.MM.YYYY.') : ('END_DATE'|translate) + ' ' + ('TBD'|translate) }}\n

\n
\n
\n
\n

{{ 'DESCRIPTION'|translate }}

\n
\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{'FILE_NAME'|translate}}{{'FILE_TYPE'|translate}}{{'ACTIONS'|translate}}{{'VIEW_PRESENTATION'|translate}}
{{file.fileName}}{{file.fileName}}{{file.fileType.toLowerCase()}}
\n
\n
\n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n {{courseApplication.participant.name + \" \" + courseApplication.participant.firstName}}\n \n \n \n \n
{{'FULL_NAME'|translate}}{{'EMAIL'|translate}}{{'USER_STATUS'|translate}}
\n {{courseApplication.participant.email}}\n {{courseApplication.applicationStatus | translate}}
\n
\n \n
\n
\n \n \n
\n
\n\n","import {AfterViewInit, Component, Input, OnInit, ViewChild} from '@angular/core';\nimport {Subject} from 'rxjs';\nimport {CourseFilter} from '../../../core/models/course/course-filter';\nimport {DropdownComponent} from '../../../shared/components/dropdown/dropdown.component';\nimport {CourseSortBy} from '../../../core/models/course/course-sort-by';\nimport {CourseFilterService} from '../../../core/services/course-filter.service';\nimport {CourseConstants} from '../../../core/models/course/course-constants';\nimport {SchoolYear} from '../../../core/models/course/school-year';\nimport {UserCourseFilterService} from '../../../core/services/users-course-filter.service';\n\n@Component({\n selector: 'app-courses-filter-as-settings',\n templateUrl: './courses-filter-as-settings.component.html',\n styleUrls: ['./courses-filter-as-settings.component.scss']\n})\nexport class CoursesFilterAsSettingsComponent implements OnInit, AfterViewInit {\n\n @Input()\n showGroupBy: boolean = false;\n @Input()\n userId: number;\n\n\n @ViewChild('schoolYearDropdown')\n schoolYearDropdown: DropdownComponent;\n\n filterParams = {} as CourseFilter;\n\n filterInitialized: boolean = false;\n\n sortValues: CourseSortBy[] = [\n {\n name: 'TITLE',\n sortKey: 'title,startDate',\n noValueTranslation: ''\n },\n {\n name: 'DATE',\n sortKey: 'startDate,title',\n noValueTranslation: ''\n }\n ]\n\n private titleInput = new Subject();\n private speakersInput = new Subject();\n\n constructor(private courseFilterService: CourseFilterService,\n private usersCourseFilterService: UserCourseFilterService) {\n }\n\n courseConstants: CourseConstants = {\n coreProcesses: [],\n courseStatuses: [],\n courseApplicationStatuses: [],\n disciplines: [],\n formationTypes: [],\n provinces: [],\n responsibleForMunicipalities: [],\n tags: [],\n groupBy: [],\n locations: [],\n schoolYears: [],\n courseTypes: [],\n currentSchoolYear: {} as SchoolYear,\n centres: [],\n localCentreId: null,\n organisers: []\n };\n\n ngOnInit(): void {\n\n this.usersCourseFilterService.getCourseFilterForUser(this.userId).subscribe(res => {\n if (res) {\n this.filterParams.courseType = res.organiserType;\n this.filterParams.title = res.title;\n this.filterParams.speakers = res.speakers;\n this.filterParams.dateFrom = res.dateFrom;\n this.filterParams.dateTo = res.dateTo;\n\n this.filterParams.courseStatuses = res.courseStatuses;\n this.filterParams.courseApplicationStatuses = res.courseApplicationStatuses;\n this.filterParams.tags = res.tags;\n this.filterParams.provinces = res.provinces;\n\n this.filterParams.disciplines = res.disciplinesPrimary;\n this.filterParams.disciplinesSecondary = res.disciplinesSecondary;\n this.filterParams.coreProcesses = res.coreProcesses;\n this.filterParams.formationTypes = res.formationTypes;\n }\n });\n }\n\n ngAfterViewInit(): void {\n this.filterInitialized = true;\n }\n\n setSchoolFilter(value) {\n if (value === this.courseConstants.schoolYears[0]?.stringRepresentation) {\n return;\n }\n const schoolYearFromValue: SchoolYear = value;\n this.filterParams.schoolYear = schoolYearFromValue;\n this.filterParams.dateFrom = schoolYearFromValue.startDate;\n this.filterParams.dateTo = schoolYearFromValue.endDate;\n }\n\n setGroupBy(value: CourseSortBy) {\n this.filterParams.groupBy = value;\n }\n\n}\n","
\n\n
\n
\n \n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n \n
\n
\n\n
\n

{{'GENERAL' | translate}}

\n
\n \n \n \n \n \n
\n
\n \n
\n \n \n \n
\n
\n \n \n \n
\n
\n\n

{{'TARGET_GROUP' | translate}}

\n
\n \n \n
\n
\n \n \n
\n
\n\n
\n","import {Component, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';\nimport {ActivatedRoute} from '@angular/router';\nimport {Subject} from 'rxjs';\nimport {debounceTime, filter} from 'rxjs/operators';\nimport {CourseFilter} from '../../../core/models/course/course-filter';\nimport {DropdownComponent} from '../../../shared/components/dropdown/dropdown.component';\nimport {CourseSortBy} from '../../../core/models/course/course-sort-by';\nimport {CourseFilterService} from '../../../core/services/course-filter.service';\nimport {AuthService} from '../../../core/services/auth.service';\nimport {CourseConstants} from '../../../core/models/course/course-constants';\nimport {SchoolYear} from '../../../core/models/course/school-year';\nimport {AlertService} from '../../../core/services/alert.service';\n\n@Component({\n selector: 'app-courses-filter',\n templateUrl: './courses-filter.component.html',\n styleUrls: ['./courses-filter.component.scss']\n})\nexport class CoursesFilterComponent implements OnInit {\n\n @Input()\n showResponsibleForMunicipalitySelect: boolean = false;\n @Input()\n showFavoriteAppliedCompletedCheck: boolean = false;\n @Input()\n showApplicationStatusSelect: boolean = false;\n @Input()\n showGroupBy: boolean = false;\n @Input()\n adminBrowse: boolean = false;\n\n @Output()\n filterChangedEvent = new EventEmitter();\n\n @ViewChild('schoolYearDropdown')\n schoolYearDropdown: DropdownComponent;\n\n filterParams = {} as CourseFilter;\n isLoggedIn: boolean = false;\n isAcademie: boolean = false;\n isSuperAdmin: boolean = false;\n dateInvalid: boolean = false;\n expandFilters: boolean = true;\n filterInitialized: boolean = false;\n private debounceTimer: any;\n\n sortValues: CourseSortBy[] = [\n {\n name: 'TITLE',\n sortKey: 'title,startDate,createDate',\n noValueTranslation: ''\n },\n {\n name: 'DATE',\n sortKey: 'startDate,title,createDate',\n noValueTranslation: ''\n },\n {\n name: 'RECENT',\n sortKey: 'createDate,startDate,title',\n noValueTranslation: ''\n }\n ]\n\n private titleInput = new Subject();\n private speakersInput = new Subject();\n\n constructor(private courseFilterService: CourseFilterService,\n private authService: AuthService,\n private route: ActivatedRoute,\n private alertService: AlertService) {\n\n }\n\n courseConstants: CourseConstants;\n\n ngOnInit(): void {\n this.isLoggedIn = this.authService.isLoggedIn();\n this.isAcademie = this.authService.isAcademie();\n this.isSuperAdmin = this.authService.isSuperAdmin();\n\n this.courseFilterService.courseConstants$\n .pipe(filter(courseConstants => !!courseConstants))\n .subscribe(courseConstants => {\n this.courseConstants = courseConstants;\n this.afterFilterInitialized();\n });\n }\n\n afterFilterInitialized(): void {\n this.adjustCourseConstantsForFilters();\n\n this.setFiltersBasedOnRoute();\n\n this.titleInput.pipe(debounceTime(400))\n .subscribe(value => {\n this.setFieldInFilter(value, 'title')\n });\n this.speakersInput.pipe(debounceTime(400))\n .subscribe(value => {\n this.setFieldInFilter(value, 'speakers')\n });\n this.filterInitialized = true;\n this.emitFilterChanged();\n }\n\n setFiltersBasedOnRoute() {\n this.route.queryParams.subscribe(params => {\n if (params.filter === 'favourite') {\n this.filterParams.favourite = true;\n } else if (params.filter === 'applied') {\n this.filterParams.applied = true;\n } else if (params.filter === 'completed') {\n this.filterParams.completed = true;\n }\n });\n }\n\n adjustCourseConstantsForFilters() {\n this.courseConstants.responsibleForMunicipalities\n .sort((a, b) => a.fullName.localeCompare(b.fullName));\n this.courseConstants.responsibleForMunicipalities.unshift({id: null, fullName: 'NO_SELECTION', email: null});\n if (this.isSuperAdmin) {\n this.courseConstants.groupBy = [\n {name: 'RESPONSIBLE_FOR_MUNICIPALITY', sortKey: 'responsibleForMunicipality', noValueTranslation: 'NO_RESPONSIBLE_FOR_MUNICIPALITY'},\n {name: 'STATUS', sortKey: 'courseStatus', noValueTranslation: 'NO_STATUS'},\n {name: 'SPEAKERS', sortKey: 'speakers', noValueTranslation: 'NO_SPEAKERS'},\n {name: 'NO_GROUPING', sortKey: '', noValueTranslation: 'NO_GROUPING'}\n ]\n } else {\n this.courseConstants.groupBy = [\n {name: 'STATUS', sortKey: 'courseStatus', noValueTranslation: 'NO_STATUS'},\n {name: 'SPEAKERS', sortKey: 'speakers', noValueTranslation: 'NO_SPEAKERS'},\n {name: 'NO_GROUPING', sortKey: '', noValueTranslation: 'NO_GROUPING'}\n ]\n }\n\n this.courseConstants.groupBy.push()\n if (this.courseConstants.schoolYears[0].stringRepresentation !== 'NO_SELECTION') {\n this.courseConstants.schoolYears.unshift({\n startDate: new Date(''),\n endDate: new Date(''),\n stringRepresentation: 'NO_SELECTION'\n });\n }\n if (!this.adminBrowse) {\n this.courseConstants.courseStatuses = this.courseConstants.courseStatuses.filter(status => status !== 'DRAFT');\n }\n this.filterParams = this.courseFilterService.getFilter();\n }\n\n private setFilters() {\n this.filterParams = this.courseFilterService.getFilter();\n }\n\n setFieldInFilter(value, field: string) {\n this.filterParams[field] = value;\n this.emitFilterChanged();\n }\n\n onTextInputChange(value: any, field: string): void {\n if(field === 'title') {\n this.titleInput.next(value);\n } else {\n this.speakersInput.next(value);\n }\n }\n\n setDateField(value: Date, field: string): void {\n if (this.checkIfDateRangeInvalid(value, field)) {\n this.alertService.warn('DATE_RANGE_INVALID', {closeButton: true});\n return;\n }\n this.filterParams[field] = new Date(value);\n if (this.schoolYearDropdown) {\n this.schoolYearDropdown.selectedItemInternal = this.courseConstants.currentSchoolYear.stringRepresentation;\n }\n this.emitFilterChanged();\n }\n\n checkIfDateRangeInvalid(value: Date, field: string) {\n if (field === 'dateFrom') {\n return this.filterParams.dateTo && (new Date(this.filterParams.dateTo) < value);\n } else {\n return this.filterParams.dateFrom && (value < new Date(this.filterParams.dateFrom));\n }\n }\n\n emitFilterChanged() {\n if(this.filterInitialized) {\n clearTimeout(this.debounceTimer);\n this.debounceTimer = setTimeout(() => {\n this.courseFilterService.updateFilters(this.filterParams);\n this.filterChangedEvent.emit(this.filterParams);\n }, 100);\n }\n }\n\n setCurrentSortBy(value: CourseSortBy) {\n this.filterParams.sortBy = value;\n this.emitFilterChanged();\n }\n\n resetFilters() {\n this.courseFilterService.resetCourseFilter();\n this.setFilters();\n this.emitFilterChanged();\n }\n\n setSchoolFilter(value) {\n if (value === this.courseConstants.schoolYears[0]?.stringRepresentation) {\n return;\n }\n const schoolYearFromValue: SchoolYear = value;\n this.filterParams.schoolYear = schoolYearFromValue;\n this.filterParams.dateFrom = schoolYearFromValue.startDate;\n this.filterParams.dateTo = schoolYearFromValue.endDate;\n this.emitFilterChanged();\n }\n\n setGroupBy(value: CourseSortBy) {\n this.filterParams.groupBy = value;\n this.emitFilterChanged();\n }\n\n loadUsersCourseFilter() {\n this.courseFilterService.loadUsersCourseFilter();\n }\n\n saveUsersCourseFilter(): void {\n this.courseFilterService.saveUsersCourseFilter();\n }\n}\n","
\n\n
\n

{{'FILTER_BY_FIELDS' | translate}}

\n
\n \n
\n
\n \n
\n
\n\n
\n
\n
\n \n
\n
\n \n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n \n
\n
\n \n
\n
\n\n
\n

{{'GENERAL' | translate}}

\n
\n \n \n \n
\n \n
\n
\n
\n \n \n \n
\n \n
\n
\n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n
\n

{{'SHOW_ONLY'|translate}}:

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n\n

{{'TARGET_GROUP' | translate}}

\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n","import {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {Role} from '../../core/models/user/role';\nimport {AuthGuard} from '../../core/guards/auth.guards';\nimport {UserCoursesPageComponent} from './user-courses-page/user-courses-page.component';\nimport {SingleCourseViewComponent} from './components/single-course-view/single-course-view.component';\n\nconst routes: Routes = [\n {\n path: '',\n data: {roles: [Role.PARTICIPANT_FREE, Role.CLB_EXTERNAL_PARTICIPANT]},\n children: [\n {\n path: '',\n data: {roles: [Role.PARTICIPANT_FREE, Role.CLB_EXTERNAL_PARTICIPANT]},\n redirectTo: 'all',\n pathMatch: 'full'\n },\n {\n path: 'all',\n canActivate: [AuthGuard],\n data: {roles: [Role.PARTICIPANT_FREE, Role.CLB_EXTERNAL_PARTICIPANT]},\n component: UserCoursesPageComponent,\n },\n {\n path: ':id',\n data: {roles: [Role.PARTICIPANT_FREE, Role.CLB_EXTERNAL_PARTICIPANT]},\n component: SingleCourseViewComponent\n },\n ]\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\n\nexport class CoursesRouteModule {\n}\n","import {NgModule} from '@angular/core';\nimport {CoursesRouteModule} from './courses-route.module';\nimport {CoursesFilterComponent} from './courses-filter/courses-filter.component';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {CommonModule} from '@angular/common';\nimport {SharedModule} from '../../shared/shared.module';\nimport {CoreCommonModule} from '../../../@core/common.module';\nimport {NgbModule, NgbPaginationModule, NgbTooltipModule} from '@ng-bootstrap/ng-bootstrap';\nimport {CoreComponentsModule} from '../../core/components/core-components.module';\nimport {UserCoursesPageComponent} from './user-courses-page/user-courses-page.component';\nimport {CourseParticipantCardComponent} from './components/course-participant-card/course-participant-card.component';\nimport {ContentHeaderModule} from '../../core/layout/components/content-header/content-header.module';\nimport {CoursesFilterAsSettingsComponent} from './courses-filter-as-settings/courses-filter-as-settings.component';\n\n@NgModule({\n declarations: [\n CoursesFilterComponent,\n UserCoursesPageComponent,\n CourseParticipantCardComponent,\n CoursesFilterAsSettingsComponent\n ],\n imports: [\n CoursesRouteModule,\n CommonModule,\n TranslateModule,\n SharedModule,\n CoreCommonModule,\n NgbPaginationModule,\n CoreComponentsModule,\n NgbModule,\n ContentHeaderModule,\n NgbTooltipModule,\n ],\n exports: [\n CoursesFilterComponent,\n CourseParticipantCardComponent,\n CoursesFilterAsSettingsComponent\n ],\n providers: []\n})\nexport class CoursesModule {\n}\n","import {Component, OnInit, ViewChild} from '@angular/core';\nimport {CourseFilter} from '../../../core/models/course/course-filter';\nimport {CourseService} from '../../../core/services/course.service';\nimport {CourseBrowse} from '../../../core/models/course/course-browse';\nimport {AuthService} from '../../../core/services/auth.service';\nimport {PlatformConfigurationService} from '../../../core/services/platform-configuration.service';\nimport {ContentHeader} from '../../../core/layout/components/content-header/content-header.component';\nimport {TranslateService} from '@ngx-translate/core';\nimport {CoursesFilterComponent} from '../courses-filter/courses-filter.component';\nimport {ExportService} from '../../../core/services/export-service';\nimport {CourseUtils} from '../courses-utils';\n\n@Component({\n selector: 'app-user-courses',\n templateUrl: './user-courses-page.component.html',\n styleUrls: ['./user-courses-page.component.scss']\n})\nexport class UserCoursesPageComponent implements OnInit{\n\n @ViewChild(CoursesFilterComponent) courseFilterComponent: CoursesFilterComponent;\n\n pageSize: number = 10;\n collectionSize: number = 0;\n page: number = 1;\n\n filterParams = {} as CourseFilter;\n coursesBrowseList: CourseBrowse[];\n contentHeader: ContentHeader;\n showDevFeatures: boolean = false;\n\n constructor(\n private courseService: CourseService,\n private authService: AuthService,\n private platformConfigurationService: PlatformConfigurationService,\n private translate: TranslateService,\n private exportService: ExportService,\n private courseUtils: CourseUtils) {\n\n this.showDevFeatures = this.platformConfigurationService.getEnvironment() != 'prod';\n }\n\n ngOnInit(): void {\n if (!this.authService.isAdministrativeRole() && !this.authService.isParticipant()) {\n window.open(this.platformConfigurationService.getAcademieUrl() + '/courses/all', '_self');\n }\n this.setContentHeader()\n this.courseUtils.courseChangedEmitter.subscribe(() => this.fetchCourses());\n }\n\n setContentHeader() {\n this.contentHeader = {\n headerTitle: this.translate.instant('ALL_COURSES'),\n actionButton: false,\n breadcrumb: {\n type: '',\n links: [\n {\n name: this.translate.instant('COURSES'),\n isLink: false,\n }\n ]\n }\n }\n }\n\n filterChanged(courseFilter: CourseFilter) {\n this.filterParams = courseFilter;\n this.fetchCourses();\n }\n\n fetchCourses() {\n if (!this.filterParams.sortWithGrouping) {\n return;\n }\n this.courseService.getUserCourseBrowsePaged(this.pageSize, this.page - 1, this.filterParams.sortBy.sortKey, this.filterParams)\n .subscribe(response => {\n this.coursesBrowseList = response.content;\n this.collectionSize = response.totalElements;\n });\n }\n\n onPageChange(selectedPage: number) {\n this.page = selectedPage;\n this.fetchCourses();\n this.scrollOnTopOfCourses();\n }\n\n onPageSizeChange(pageSize: number) {\n this.pageSize = pageSize;\n this.fetchCourses();\n this.scrollOnTopOfCourses();\n }\n\n refreshList(): void {\n this.fetchCourses();\n }\n\n scrollOnTopOfCourses() {\n let coursesElement = document.getElementById('courses-container');\n\n window.scrollTo({\n left: 0,\n top: coursesElement.offsetTop - 200,\n behavior: 'smooth'\n });\n }\n\n loadUsersCourseFilter() {\n this.courseFilterComponent.loadUsersCourseFilter();\n }\n\n saveUsersCourseFilter(): void {\n this.courseFilterComponent.saveUsersCourseFilter();\n }\n\n exportUsersCourses(): void {\n this.exportService.usersCourses(this.filterParams).subscribe();\n }\n\n addPersonalCourse(): void {\n this.courseUtils.createPersonalCourse();\n }\n}\n\n","
\n
\n \n
\n \n \n \n \n
\n\n \n\n
\n \n \n
\n
\n
\n

{{\"NO_COURSE_WITH_FILTER\"|translate}}

\n
\n\n \n
\n\n"],"names":["CourseInfoService","http","courseInfo","put","API_URL","courseId","get","i0","factory","providedIn","map","FileSaver","BASE_URL","ExportService","responseType","pipe","blob","Blob","response","type","saveAs","criteria","post","filters","ChangeParticipantModalComponent","activeModal","translate","alertService","confirmDialogService","courseUtils","userService","event","stopPropagation","selectedParticipant","selectedApprover","close","selectedApproverEmail","email","openCancelConfirmationDialog","approver","participant","filter","getParticipantsByEmail","subscribe","participants","res","getApprovers","approvers","selectors","inputs","courseApplicationId","decls","vars","consts","template","ctx","ctx_r7","ctx_r9","ctx_r11","CourseCommentsComponent","courseInfoService","openCourseInfoList","getPersonalCourseInfoList","courseComments","value","showCourseComments","loadComments","newCourseInfo","id","undefined","userId","userMail","info","editedAt","isPublic","byAdmin","showAddCommentComponent","EventEmitter","ctx_r4","ctx_r6","ctx_r12","ctx_r14","ctx_r15","ctx_r17","infoMaxChar","CourseInfoUpsertComponent","formBuilder","toolbar","keyboard","bindings","tab","key","handler","range","context","startDateInput","myInput","nativeElement","focus","createFormFromCourseInfo","createNewForm","courseInfoFormGroup","group","infoText","infoCharRemaining","length","controls","setValue","html","text","slice","_a","infoRequiredError","quill","editor","pasteHTML","getText","_b","Date","addCourseInfo","componentClosed","emit","editing","isEditable","outputs","AdminFeedbackResponseViewComponent","Map","feedbackForm","prepareFreeTextAnswers","answer","answers","ans","questionId","userAnswers","_c","userAns","freeTextQuestions","questions","q","question","freeTextAnswers","set","_d","username","ctx_r13","questionText","$event","ctx_r16","ctx_r31","ctx_r32","ctx_r34","ctx_r35","_r25","ctx_r22","ctx_r50","ctx_r51","ctx_r53","ctx_r54","ctx_r41","ctx_r57","ctx_r59","ctx_r2","UpsertFeedbackFormModalComponent","feedbackFormService","index","isEdit","createInitialForm","getGeneratedQuestions","successMessage","instant","success","closeButton","autoClose","push","active","mandatory","creationType","possibleAnswers","p","answerToAdd","splice","resetAnswerToAdd","tabToAddOptionButton","submittedAnswer","answerValuesUpdated","answerValue","indexOf","submitted","isFormInvalid","err","error","updateAnswerIndexes","createFeedBackForm","keepAfterRouteChange","hasQuestionsWithNoText","hasQuestionsWithLessThanTwoAnswers","hasEmptyAnswerField","hasEmptyQuestionText","popoverIsOpen","_elementRef","CourseApplicationStatus","CourseStatus","ctx_r3","MoveParticipantModalComponent","courseService","courseApplicationService","getCourseApplication","courseFromId","selectedCourse","selectedApplicationStatus","submitDisabled","moveParticipantToAnotherCourse","eligibleCourses","getCourseEligibleForMoveTo","pageSize","page","title","participantId","content","course","setPossibleCourseStatuses","item","possibleApplicationStatuses","courseStatus","OPEN_FOR_REGISTRATION","REOPEN_FOR_REGISTRATION","APPLIED","APPROVED","DENIED","CLOSED_FOR_REGISTRATION","REGISTERED","ON_WAITING_LIST","ONGOING","PRESENT","ABSENT","EXCUSED","POSTPONED","COMPLETED","NOT_COMPLETED","userName","courseFromTitle","FormArray","FormGroup","Validators","ModalAction","_r50","ctx_r60","ctx_r63","titleMaxChar","descriptionMaxChar","yukiReferenceMaxChar","yukiIdMaxChar","additionalInformationMaxChar","externalLinkMaxChar","speakersMaxChar","UpsertCourseModalComponent","_formBuilder","elementRef","authService","addNoLocationOption","courseConstants","centres","unshift","name","displayName","ALL_CENTRES","modalAction","EDIT","COPY","createFormFromCourse","canChangeExternalFlag","courseForm","disable","createEmptyForm","updateValidators","possibleSecondaryDisciplines","disciplines","description","descriptionText","speakers","location","targetGroup","disciplinesSecondary","coreProcesses","formationType","tags","responsibleForMunicipality","startDate","endDate","price","reducedPrice","maxNumberOfParticipants","courseStatuses","additionalInformation","additionalInformationText","paymentInformation","yukiSalesItemId","yukiReference","isExternal","externalLink","notifyParticipants","acceptingExternal","organiser","setUpDefaultOrganiser","initialStartDate","initialEndDate","responsibleForMunicipalities","fullName","getOrganiserCenter","organisers","titleCharRemaining","descriptionCharRemaining","yukiReferenceCharRemaining","_e","_f","speakersCharRemaining","_g","_h","secondaryDisciplinesSelectDisabled","selectedSecondaryDisciplines","oldCourseStatus","forEach","defaultOrganiser","locations","sort","a","b","localeCompare","city","fax","googleMapsUrl","postcode","province","streetNumber","telephone","url","invalid","isEndDateBeforeStartDate","isStartDateInPast","isEndDateInPast","focusFirstInvalidField","centre","editCourse","successEditTranslate","errorTranslate","copyCourse","moveOnWaitingListParticipants","repeatingCourse","successAddTranslate","addCourse","inputFields","querySelectorAll","invalidClasses","i","len","classes","className","split","some","includes","cl","focusElement","inputField","querySelector","today","areDatesEqual","first","second","getTime","field","subfield","htmlElem","checkIsStartDateInPast","checkIsEndDateBeforeStartDate","checkIsEndDateInPast","primaryDisciplinesChanged","selectedPrimaryDisciplines","primary","secondary","removeSecondaryDisciplineIfAddedToPrimary","component","additionalInformationCharRemaining","titleInput","setFieldInForm","preventDefault","dismiss","status","updateValidatorsForReopenForRegistration","updateValidatorsForClosedForRegistration","updateValidatorsForOpenForRegistration","updateValidatorsForDraftOrAnnounced","updateValidatorForOngoing","updateValidatorForCancelled","updateValidatorForFinished","updateValidatorForPostponed","updateValidatorsGeneral","updateValidationOnForm","required","maxLength","min","max","updateMaxLengthValidators","generalRequiredFields","minLength","isSetValidators","fieldsToUpdate","newValidator","Object","keys","abstractControl","getControlName","setValidators","updateValueAndValidity","c","formGroup","parent","find","CREATE","Error","disciplinesMultiSelect","selectedItemsInternal","checked","urlPattern","test","isSuperAdmin","getUsersDefaultOrganiserId","organiserId","DRAFT","ANNOUNCED","viewQuery","_r4","_r19","_r26","office_url","ViewPresentationModalComponent","sanitizer","pptxUrl","bypassSecurityTrustResourceUrl","urlOfPresentation","CourseAdministrationUtils","courseConstantsService","_router","modalService","platformConfigurationService","courseApplicationStatuses","formationTypes","provinces","groupBy","schoolYears","courseTypes","currentSchoolYear","localCentreId","isLoggedIn","warn","singInWarnTranslate","addFavouriteCourse","courseAddToFavorite","favouriteCoursesIds","callFetchCourse","removeFavouriteCourse","courseRemoveFromFavorite","favouriteId","isAcademieAdmin","isApprover","isParticipant","navigate","window","open","getAcademieUrl","unableToOpenCourse","array","join","Promise","resolve","validForFreeCancel","confirmCancelApplicationDialog","loadUsersObserver","fillModalOptions","getCourse","getCourseConstantsForCopy","openModal","getCourseConstantsForEdit","getCourseConstantsForCreate","modalRef","modalOption","componentInstance","result","then","courseChangedEmitter","next","getAllParticipantsForCourse","getFeedbackForm","setFeedbackForm","getAllFavouriteCourses","getAllAppliedCoursesIdAndApplicationStatus","appliedCourseIsAndApplicationStatus","responseId","getResponse","setResponse","size","backdrop","changeCourseParticipant","participantEmail","approverEmail","getPlatformUrl","courseApplication","firstName","attachment","getShortenedUrl","data","ctx_r20","ctx_r24","ctx_r26","ctx_r28","ctx_r30","ctx_r36","ctx_r40","ctx_r47","ctx_r55","ctx_r62","CourseParticipantCardComponent","courseAdministrationUtils","loggedIn","ableToApply","courseOpenForRegistration","applicationStatus","isPersonal","ableToCancel","canFillFeedback","feedbackFormId","feedbackFilled","shouldAddAttachments","hasAttachments","isEligibleApplicationStatusForAttachments","showCourseApplicationButton","allowedStatuses","makeCourseFavorite","unFavouriteCourse","openCourseOverview","applyToCourse","refreshCoursesEmitter","cancelCourseApplicationByParticipant","viewingAttachmentsFromCourseId","getCourseAttachments","getFiles","courseAttachments","fillFeedbackForm","isFilled","redirectToLogin","isLocal","editPersonalCourse","openCourseApplications","fetchColleagues","getAllColleaguesForCourse","courseApplications","collectionSize","totalElements","selectedPage","openPresentationInModal","downloadAttachment","ctx_r27","ctx_r29","ctx_r33","ctx_r37","ctx_r39","ctx_r46","ctx_r48","ctx_r52","ctx_r64","ctx_r69","discipline_r68","ctx_r73","discipline_r72","ctx_r83","ctx_r87","ctx_r91","ctx_r94","ctx_r99","ctx_r101","SingleCourseViewComponent","route","router","params","isAdmin","isOrdinaryAcademieUser","isAcademie","headerOriginLink","fromAdminView","fromParticipantView","fetchUserFavouriteAndAppliedCourses","fetchCourseForOverview","coursesTranslate","contentHeader","headerTitle","singleCourseTranslate","actionButton","breadcrumb","links","isLink","link","getCourseForOverview","courseOverview","courseApplicable","canApply","feedbackFormAvailableForFilling","fillFeedbackFormOnLoad","href","attachments","shouldShowAttachments","MouseEvent","FINISHED","openUpsertCourseModal","activeInstances","openUpsertFeedbackFormModal","emitter","switchCanApply","attachmentOpened","file","confirm","deleteFile","Subject","ctx_r1","ctx_r0","CoursesFilterAsSettingsComponent","courseFilterService","usersCourseFilterService","sortKey","noValueTranslation","getCourseFilterForUser","filterParams","courseType","organiserType","dateFrom","dateTo","disciplinesPrimary","filterInitialized","stringRepresentation","schoolYearFromValue","schoolYear","debounceTime","ctx_r8","ctx_r10","ctx_r5","ctx_r19","ctx_r21","ctx_r23","ctx_r25","ctx_r38","CoursesFilterComponent","courseConstants$","afterFilterInitialized","adjustCourseConstantsForFilters","setFiltersBasedOnRoute","setFieldInFilter","speakersInput","emitFilterChanged","queryParams","favourite","applied","completed","adminBrowse","getFilter","checkIfDateRangeInvalid","schoolYearDropdown","selectedItemInternal","clearTimeout","debounceTimer","setTimeout","updateFilters","filterChangedEvent","sortBy","resetCourseFilter","setFilters","loadUsersCourseFilter","saveUsersCourseFilter","RouterModule","Role","AuthGuard","UserCoursesPageComponent","routes","path","roles","PARTICIPANT_FREE","CLB_EXTERNAL_PARTICIPANT","children","redirectTo","pathMatch","canActivate","CoursesRouteModule","forChild","imports","exports","TranslateModule","CommonModule","SharedModule","CoreCommonModule","NgbModule","NgbPaginationModule","NgbTooltipModule","CoreComponentsModule","ContentHeaderModule","CoursesModule","declarations","exportService","showDevFeatures","getEnvironment","isAdministrativeRole","setContentHeader","fetchCourses","courseFilter","sortWithGrouping","getUserCourseBrowsePaged","coursesBrowseList","scrollOnTopOfCourses","coursesElement","document","getElementById","scrollTo","left","top","offsetTop","behavior","courseFilterComponent","usersCourses","createPersonalCourse"],"sourceRoot":"webpack:///"}