{"version":3,"sources":["model/Externals.ts","react-mvvm/ContentView.tsx","react-mvvm/Page.ts","react-mvvm/navigation/index.ts","react-mvvm/index.ts","api/index.ts","react-mvvm/forms/bindableFormFieldDefinition.ts","react-mvvm/forms/bindableFormBuilder.ts","react-mvvm/forms/bindableForm.ts","react-mvvm/forms/index.tsx","common/components/antHelpers/AntField/AntField.tsx","common/components/antHelpers/AntField/index.ts","common/components/Flex/Flex.tsx","common/components/Flex/index.ts","react-mvvm/loading/loader.ts","common/components/antHelpers/AntTextInput/AntTextInput.tsx","common/components/antHelpers/AntTextInput/index.ts","web/screen/Membership/Membership.module.scss","common/components/PageLoader/PageLoader.tsx","common/components/PageLoader/index.ts","common/components/antHelpers/AntForm/index.ts","react-mvvm/commands/ContextualCommand.ts","react-mvvm/commands/Command.ts","react-mvvm/commands/index.ts","common/components/antHelpers/AntModal/AntModal.tsx","common/components/antHelpers/AntModal/index.ts","common/components/UserAddresses/UserAddresses.module.scss","web/screen/HomePage/UserInfo/UserInfo.module.scss","common/components/SubmissionForm/SubmissionForm.module.scss","common/components/ConfirmationModal/ConfirmationModal.ts","admin/helpers/BaseDialog.ts","web/components/Link/Link.tsx","web/components/Link/index.ts","common/components/Preview/RenderPreview/RenderPreview.module.scss","react-mvvm/forms/formField.ts","common/components/antHelpers/AntUploadFile/Upload.module.scss","common/components/UserAddresses/UserAddresses.ts","model/Api/Parties/DeletePartyRequest.ts","web/screen/MembershipApplication/MembershipApplication.module.scss","common/components/InfoRow/InfoRow.tsx","auth/Authentication.ts","web/screen/SubmissionFormPage/ContributorsField/ContributorsFieldView.module.scss","common/components/antHelpers/AntCheckbox/AntCheckbox.tsx","common/components/antHelpers/AntCheckbox/index.ts","common/components/SignleUserAddressDropdown/SingleUsersAddressDropdown.tsx","common/components/antHelpers/AntPassword/AntPassword.tsx","common/components/antHelpers/AntPassword/index.ts","web/screen/Competition/CategoryList/CategoryList.module.scss","web/screen/SubmissionFormPreview/SubmissionFormPreview.module.scss","common/components/SubmissionsAnswers/VideoLinks/VideoLinks.module.scss","web/screen/Submissions/EntriesTable/EntriesTable.module.scss","common/components/UserAddresses/SingleUserAddressesDialogsView.tsx","common/components/ConfirmationModal/ConfirmationModalView.tsx","common/utils.ts","web/components/Link/Link.module.scss","web/components/PageTitle/PageTitle.module.scss","admin/state/common.ts","common/components/UserAddresses/AllUsersAddressDropdown.tsx","web/screen/LoginPage/LoginBox/LoginBox.module.scss","web/components/PageTitle/PageTitle.tsx","web/components/PageTitle/index.ts","web/screen/JudgingEntryDetails/JudgingEntryDetails.module.scss","web/screen/CreateAccountPage/CreateAccountPageView.module.scss","web/components/PaymentCheckbox/PaymentCheckbox.module.scss","web/screen/Submissions/Submissions.module.scss","model/Api/GenericList/SortDirection.ts","common/components/antHelpers/AntDatePicker/AntDatePicker.tsx","common/components/antHelpers/AntDatePicker/index.tsx","web/components/ImageDialog/ImageDialog.module.scss","web/components/CompetitionsList/List/List.module.scss","web/screen/JudgingEntriesPage/ArtWork/ArtWork.module.scss","web/screen/MembershipPaymentPage/MembershipPaymentPage.module.scss","web/screen/MembershipReapplyPage/MembershipReapplyPage.module.scss","web/screen/SubmissionsMyPagePayment/SubmissionsMyPagePayment.module.scss","common/components/antHelpers/GenderField/GenderField.tsx","common/components/antHelpers/AntSelect/AntSelect.tsx","common/components/antHelpers/AntUploadSingleFile/Upload.module.scss","web/screen/HomePage/MemberMenu/MemberMenu.module.scss","web/components/ActionsPhaseFirst/ActionPhaseFirst.module.scss","common/components/UserAddresses/Party.tsx","admin/components/LoaderDataContainer/LoaderDataContainer.tsx","admin/components/LoaderDataContainer/index.ts","common/components/AddressDialog/AddressDialog.ts","web/screen/AskForPasswordResetPage/AskForPasswordResetPage.module.scss","common/components/SubmissionForm/SubmissionForm.ts","web/screen/SubmissionFormPage/UrlField/UrlField.ts","web/screen/SubmissionFormPage/ContributorsField/ContributorsField.ts","web/components/CustomMessage/CustomMessage.tsx","model/Api/Submission/GetSubmissionQuestionnaireRequest.ts","model/Api/Submission/DeleteAttachmentRequest.ts","model/Api/Submission/AdminUpdateCompetitionEntryRequest.ts","web/screen/SubmissionFormPage/UrlField/UrlField.module.scss","common/components/SubmissionsAnswers/SubmissionsAnswers.module.scss","common/components/antHelpers/AntTextArea/AntTextArea.tsx","common/components/antHelpers/AntTextArea/index.ts","web/screen/JudgingEntriesPage/GroupPhase/GroupPhase.module.scss","web/components/Arrow/Arrow.module.scss","web/screen/JudgingCompetitions/Competition/Competition.module.scss","web/screen/JudgingCategoryPage/SubmissionCard/SubmissionCard.module.scss","common/components/antHelpers/UrlField/UrlField.module.scss","web/screen/ConfirmPhoneNumberPage/ConfirmPhoneNumberPageView.module.scss","react-mvvm/forms/form.ts","web/screen/MembershipApplication/FormStep/FormStep.module.scss","common/components/PrivateParty/PrivateParty.ts","common/components/CompanyParty/CompanyParty.ts","common/components/CompanyParty/CompanyPartyView.tsx","common/components/PrivateParty/PrivatePartyView.tsx","web/screen/MembershipApplication/FormStep/ProfessionalForm/ProfessionalForm.module.scss","web/components/CompetitionHeader/CompetitionHeader.module.scss","web/components/ArrowPanel/ArrowPanel.module.scss","web/screen/AcceptInvitation/AcceptInvitationPage.module.scss","web/components/ActionsPhaseSecond/ActionPhaseSecond.module.scss","web/screen/MembershipApplication/SubscriptionStep/SubscriptionStep.module.scss","model/Api/Submission/UpdateCompetitionEntryRequest.ts","common/icons/navigation_previous.svg","web/api/config.ts","model/Api/Account/RefreshTokenRequest.ts","web/components/BackButton/BackButton.tsx","web/components/BackButton/index.ts","web/components/SubmissionsHelpText/SubmissionsHelpText.tsx","web/components/SubmissionsHelpText/index.ts","common/icons/zoom_icn.svg","common/components/PdfLoader/PdfLoader.tsx","common/components/Preview/RenderPreview/RenderPreview.tsx","common/components/Preview/RenderPreview/index.ts","web/screen/SubmissionFormPage/SubmissionForm.module.scss","web/components/EvaluationOptionList/EvaluationOptionList.module.scss","web/screen/SubmissionPayment/SubmissionPayment.module.scss","web/screen/ResetPasswordPage/ResetPasswordByEmailPage/ResetPasswordByEmailPage.module.scss","react-mvvm/routing/RouteBinding.tsx","react-mvvm/routing/RouteDefinition.tsx","react-mvvm/routing/HomeRouteDefinition.tsx","react-mvvm/routing/index.tsx","model/Api/Parties/CreateExternalPartyRequest.ts","model/Api/Parties/UpdateExternalPartyRequest.ts","common/components/AddressField/AddressField.ts","common/components/ChangeBillingAddressDialog/ChangeBillingAddressDialog.ts","common/components/AddressField/AddressFieldView.tsx","common/icons/upload_icon.svg","common/icons/play_icn.svg","common/components/UserAddresses/MenuDropdown.tsx","common/components/SubmissionsAnswers/VideoLinks/VideoLinks.tsx","common/components/SubmissionsAnswers/VideoLinks/index.ts","admin/components/LoaderDataContainer/LoaderDataContainer.module.scss","web/components/CustomEmpty/CustomEmpty.module.scss","common/components/SignleUserAddressDropdown/SingleUsersAddressDropdown.module.scss","common/components/antHelpers/GenderField/GenderField.module.scss","web/screen/MembershipApplication/PaymentStep/PaymentStep.module.scss","web/screen/ResetPasswordPage/ResetPasswordByPhonePage/ResetPasswordByPhonePage.module.scss","web/screen/Handelkurv/Handelkurv.module.scss","common/components/antHelpers/AntForm/AntForm.tsx","model/Api/Parties/GetPartiesRequest.ts","model/Api/Payments/PayForCompetitionEntriesWithInvoiceRequest.ts","model/Api/Submission/GetCompetitionEntryDetailsRequest.ts","common/components/AddressDialog/AddressDialogView.tsx","common/icons/next_icn.svg","common/components/antHelpers/AntTable/AntTable.tsx","common/components/SubmissionsAnswers/CheckboxField/CheckboxField.tsx","common/components/SubmissionsAnswers/File/File.tsx","common/components/SubmissionsAnswers/Text/Text.tsx","common/components/SubmissionsAnswers/DateQuestion/DateQuestion.tsx","web/components/CustomEmpty/CustomEmpty.tsx","common/components/SubmissionsAnswers/ContributorsFields/ContributorsFields.tsx","common/components/SubmissionsAnswers/SpecialUrls/SpecialUrls.tsx","common/components/SubmissionsAnswers/MultiSelectField/MultiSelectField.tsx","common/components/SubmissionsAnswers/SingleSelectField/SingleSelectField.tsx","common/components/SubmissionsAnswers/SubmissionsAnswers.tsx","common/components/SubmissionsAnswers/index.ts","react-mvvm/lists/List.ts","react-mvvm/lists/PaginatedList.ts","react-mvvm/lists/index.ts","common/components/antHelpers/AntUploadFile/AntUploadFile.tsx","common/components/antHelpers/AntUploadFile/index.ts","model/Api/Payments/GetPaymentsRequest.ts","common/components/antHelpers/AntField/AntField.module.scss","common/components/CompanyParty/CompanyParty.module.scss","common/components/PrivateParty/PrivateParty.module.scss","web/components/SubmissionsHelpText/SubmissionsHelpText.module.scss","common/components/antHelpers/AntTextArea/AntTextArea.module.scss","common/components/antHelpers/AntCheckbox/AntCheckbox.module.scss","common/components/SubmissionsAnswers/File/File.module.scss","common/components/PdfLoader/PdfLoader.module.scss","common/components/InfoRow/InfoRow.module.scss","web/components/HeaderBreadcrumbs/HeaderBreadcrumbs.module.scss","web/screen/JudgingIntroPage/Introduction/Introduction.module.scss","common/components/antHelpers/MembershipRequirementField/MembershipRequirementField.module.scss","web/screen/MembershipApplication/FormStep/GraduateForm/GraduateForm.module.scss","admin/api/config.ts","model/Api/Competitions/GetSubmissionDetailsRequest.ts","common/components/antHelpers/GenderField/index.ts","web/screen/Competition/Competition.module.scss","web/components/SubmissionsNextBtn/SubmissionsNextBtn.module.scss","web/screen/JudgingCategoryPage/JudgingCategoryPageView.module.scss","web/components/ListOptionsLinks/ListOptionsLinks.module.scss","web/screen/JudgingEntriesPage/JudgingEntriesPageView.module.scss","web/components/MembershipTitle/MembershipTitle.module.scss","web/screen/Invoices/Invoices.module.scss","model/Api/Members/ChangePayingPartyRequest.ts","common/components/PageLoader/PageLoader.module.scss","common/components/AddressDialog/AddressDialog.module.scss","web/components/BackButton/BackButton.module.scss","common/components/SubmissionsAnswers/SpecialUrls/SpecialUrls.module.scss","common/components/ChangeBillingAddressDialog/ChangeBillingAddressDialogView.tsx","web/screen/SubmissionFormPage/UrlField/UrlFieldView.tsx","common/components/antHelpers/AntUploadSingleFile/AntUploadSingleFile.tsx","common/components/antHelpers/AntWideNumberInput/AntWideNumberInput.tsx","web/screen/SubmissionFormPage/ContributorsField/ContributorsFieldView.tsx","common/components/SubmissionForm/SubmissionFormView.tsx","web/screen/HomePage/HomePage.module.scss","web/screen/LoginPage/LoginPage.module.scss","web/screen/CompetitionsListPage/CompetitionsList.module.scss","web/screen/JudgingCompetitions/JudgingCompetitionsView.module.scss","react-mvvm/arrayExtensions.ts","i18n.ts","../node_modules/pdfjs-dist/build sync","web/components/PageWrapper/PageWrapper.module.scss","web/components/CompetitionIntro/CompetitionIntro.module.scss","web/components/ProgressBar/ProgressBar.module.scss","common/components/antHelpers/CaptchaField/CaptchaFieldView.module.scss","common/components/BirthDatePicker/BirthDatePicker.module.scss","web/components/PaymentMethodSelector/PaymentMethodSelector.module.scss","web/components/PaymentTermsAndConditions/PaymentTermsAndConditions.module.scss","web/components/WebTag/WebTag.module.scss","web/components/SubmittedStatus/SubmittedStatus.module.scss","web/screen/AskForPasswordResetPage/AskForPasswordResetPage.ts","model/Api/Account/PasswordResetByEmailRequest.ts","model/Api/Account/PasswordResetByPhoneRequest.ts","web/screen/ConfirmPhoneNumberPage/ConfirmPhoneNumberPage.ts","model/Api/Account/ConfirmPhoneNumberRequest.ts","common/components/antHelpers/CaptchaField/CaptchaField.ts","web/screen/CreateAccountPage/CreateAccountPage.ts","model/Api/Account/CreateAccountRequest.ts","web/screen/LoginPage/LoginPage.ts","model/Api/Account/AuthenticateUserRequest.ts","web/screen/HomePage/UserInfoEditDialog/UserInfoEditDialog.ts","web/screen/HomePage/UserInfo/DeleteAccountDialog/DeleteAccountDialog.ts","model/Api/Members/GetMemberRequest.ts","web/screen/HomePage/UserInfo/UserInfo.ts","model/Api/Individuals/UpdateUserInfoRequest.ts","model/Api/Individuals/UpdateUserInfoTicketRequest.ts","model/Api/Account/DeleteAccountRequestRequest.ts","model/Api/Individuals/GetUserMembershipOptionsRequest.ts","web/screen/MembershipApplication/SubscriptionStep/SubscriptionStep.ts","model/Api/Members/CreateOrUpdateMembershipApplicationRequest.ts","model/Api/Members/GetMembershipPriceRequest.ts","web/screen/MembershipApplication/PaymentStep/PaymentStep.ts","model/Api/Members/SubmitApplicationAndPayOnlineRequest.ts","model/Api/Members/SubmitApplicationAndPayWithInvoiceRequest.ts","model/Api/Members/SubmitChangeApplicationRequest.ts","common/components/BirthDatePicker/BirthDatePicker.ts","web/screen/MembershipApplication/FormStep/StudentForm/StudentForm.ts","common/components/antHelpers/UrlField/UrlFied.ts","web/screen/MembershipApplication/FormStep/ProfessionalForm/ProfessionalForm.ts","web/screen/MembershipApplication/FormStep/AssociateForm/AssociateForm.ts","web/screen/MembershipApplication/FormStep/GraduateForm/GraduateForm.ts","web/screen/MembershipApplication/FormStep/FormStep.ts","model/Api/Individuals/GetUserInfoRequest.ts","web/screen/MembershipApplication/MembershipApplication.ts","web/screen/MembershipPaymentPage/MembershipPaymentPage.ts","model/Api/Members/ChangeMembershipSubscriptionRequest.ts","web/screen/Membership/CancelMembershipDialog/CancelMembershipDialog.ts","web/screen/Membership/PersonalData/PersonalData.ts","web/screen/Membership/SchoolInfo/SchoolInfo.ts","web/screen/Membership/EmployeeData/EmployeeData.ts","web/screen/Membership/ProfessionalInfo/ProfessionalInfo.ts","web/screen/Membership/UpdateCartInfoDialog/UpdateCartInfoDialog.ts","web/screen/Membership/AddCartInformationDialog/AddCartInformationDialog.ts","web/screen/Membership/AlmostMember/AlmostMember.ts","model/Api/Members/GetMembershipApplicationPaymentRequest.ts","model/Api/Members/RetryOnlinePaymentRequest.ts","model/Api/Members/CancelMembershipApplicationRequest.ts","web/screen/Membership/Membership.ts","model/Api/Payments/ChangeCreditCardRequest.ts","model/Api/Payments/StopAutoRenewalForCurrentSubscriptionRequest.ts","model/Api/Members/UpdateMemberPersonalDataRequest.ts","model/Api/Members/UpdateMemberEmploymentDataRequest.ts","model/Api/Members/UpdateMemberInterestsRequest.ts","model/Api/Members/UpdateMemberEducationDataRequest.ts","model/Api/Payments/GetDownloadInvoiceTokenRequest.ts","web/screen/Invoices/Invoices.ts","web/screen/JudgingEntriesPage/JudgingEntriesPage.ts","web/components/PaymentMethodSelector/PaymentMethodSelector.ts","model/Api/Payments/PayForCompetitionEntriesOnlineRequest.ts","web/screen/SubmissionPayment/SubmissionPayment.ts","common/components/SubmissionApprovedModal/SubmissionApprovedModal.ts","web/screen/SubmissionFormPreview/SubmissionFormPreviewPage.ts","web/screen/SubmissionFormPage/OnBackToSubmissionModal/OnBackToSubmissionModal.ts","web/screen/SubmissionFormPage/SubmissionFormPage.ts","web/screen/Competition/Competition.ts","model/Api/Submission/GetSubmissionCompetitionDetailsRequest.ts","model/Api/Submission/CreateCompetitionEntryRequest.ts","web/components/CompetitionsList/CompetitionsList.ts","model/Api/Submission/GetPublishedCompetitionsRequest.ts","web/screen/CompetitionsListPage/CompetitionsListPage.ts","model/Api/Evaluation/SetPhaseOneEvaluationRequest.ts","model/Api/Evaluation/SetPhaseTwoEvaluationRequest.ts","web/components/ImageDialog/ImageDialog.ts","web/screen/JudgingEntryDetails/JudgingEntryDetails.ts","model/Api/Evaluation/GetCompetitionEntryEvaluationDetailsRequest.ts","model/Api/Evaluation/SetPrivateNoteRequest.ts","model/Api/Evaluation/SetPublicNoteRequest.ts","web/screen/JudgingCategoryPage/JudgingCategoryPage.ts","model/Api/Evaluation/GetCompetitionEntriesRequest.ts","model/Api/Evaluation/SetCategoryEvaluationStatusRequest.ts","model/Api/Evaluation/NominateCompetitionEntryRequest.ts","model/Api/Evaluation/GetEvaluationCompetitionDetailsRequest.ts","web/screen/JudgingIntroPage/JudgingIntroPage.ts","web/screen/JudgingCompetitions/JudgingCompetitions.ts","model/Api/Evaluation/GetEvaluationCompetitionsRequest.ts","model/Api/Submission/GetUserCompetitionEntriesRequest.ts","model/Api/Submission/DeleteCompetitionEntryRequest.ts","model/Api/Submission/SubmitCompetitionEntryRequest.ts","web/screen/SubmissionsMyPagePayment/SubmissionsMyPagePayment.ts","web/screen/Handelkurv/Handelkurv.ts","web/screen/Submissions/Submissions.ts","web/screen/HomePage/HomePage.ts","model/Api/Account/ValidateTokenRequest.ts","web/screen/AcceptInvitation/AcceptInvitationPage.ts","model/Api/Account/AcceptInvitationRequest.ts","web/screen/ResetPasswordPage/ResetPasswordByEmailPage/ResetPasswordByEmailPage.ts","model/Api/Account/SetPasswordByEmailRequest.ts","web/screen/ResetPasswordPage/ResetPasswordByPhonePage/ResetPasswordByPhonePage.ts","model/Api/Account/SetPasswordByPhoneRequest.ts","web/screen/SubmissionStatusPage/OnlinePaymentStatusPage/OnlinePaymentStatusPage.ts","model/Api/Payments/GetPaymentDetailsRequest.ts","web/screen/SubmissionStatusPage/InvoicePaymentStatusPage/InvoicePaymentStatusPage.ts","web/screen/MembershipReapplyPage/MembershipReapplyPage.ts","model/Api/Members/ReapplyForMembershipAndPayOnlineRequest.ts","model/Api/Members/ReapplyForMembershipAndPayWithInvoiceRequest.ts","web/routes.ts","web/components/PageWrapper/PageWrapper.tsx","web/components/CompetitionHeader/img/logoSmall.svg","web/components/CompetitionsList/List/List.tsx","web/components/CompetitionHeader/CompetitionHeader.tsx","web/screen/HomePage/MemberMenu/MemberMenu.tsx","web/screen/HomePage/UserInfoEditDialog/UserInfoEditDialogView.tsx","web/screen/HomePage/UserInfo/UserData.tsx","common/components/UserAddresses/AddressBox.tsx","common/components/UserAddresses/UserAddressesView.tsx","web/screen/HomePage/UserInfo/MembershipData.tsx","web/components/Arrow/Arrow.tsx","web/components/CompetitionsList/CompetitionsListView.tsx","web/components/ArrowPanel/ArrowPanel.tsx","web/screen/HomePage/UserInfo/DeleteAccountDialog/DeleteAccountDialogView.tsx","web/screen/HomePage/UserInfo/UserInfoView.tsx","web/components/HeaderBreadcrumbs/HeaderBreadcrumbs.tsx","web/screen/HomePage/HomePageView.tsx","web/screen/LoginPage/LoginBox/LoginBox.tsx","web/screen/LoginPage/LoginPageView.tsx","web/screen/AcceptInvitation/AcceptInvitationPageView.tsx","web/screen/CompetitionsListPage/CompetitionsListPageView.tsx","web/screen/Competition/CategoryList/CategoryListHeader.tsx","web/screen/Competition/CategoryList/CategoryList.tsx","web/screen/Competition/CompetitionView.tsx","web/components/SaveDraftButton/SaveDraftButton.tsx","web/components/CompetitionIntro/CompetitionIntro.tsx","web/screen/SubmissionFormPage/OnBackToSubmissionModal/OnBackToSubmissionModalView.tsx","web/screen/SubmissionFormPage/SubmissionFormPageView.tsx","web/components/SubmissionsNextBtn/SubmissionsNextBtn.tsx","web/screen/SubmissionFormPreview/SentButtons.tsx","common/components/SubmissionApprovedModal/SubmissionApprovedModalView.tsx","web/screen/SubmissionFormPreview/SubmissionFormPreviewPageView.tsx","web/components/ProgressBar/ProgressBar.tsx","web/screen/JudgingCompetitions/Competition/Competition.tsx","web/screen/JudgingCompetitions/JudgingCompetitionsView.tsx","web/screen/JudgingIntroPage/Introduction/Introduction.tsx","web/screen/JudgingIntroPage/JudgingIntroPageView.tsx","common/icons/tile_menu.svg","common/icons/list_menu.svg","web/components/ListOptionsLinks/ListOptionsLinks.tsx","web/components/EvaluationOptionList/EvaluationOptionList.tsx","web/screen/JudgingCategoryPage/SubmissionCard/SubmissionCard.tsx","web/screen/JudgingCategoryPage/JudgingCategoryPageView.tsx","common/icons/note_icn.svg","web/components/ActionsPhaseFirst/ActionPhaseFirst.tsx","common/icons/comment_icn.svg","web/components/ActionsPhaseSecond/ActionsPhaseSecond.tsx","common/components/Preview/FilePdfIcon/FilePdfIcon.tsx","common/components/Preview/SoundIcon/SoundIcon.tsx","common/components/Preview/VideoCameraIcon/VideoCameraIcon.tsx","common/components/Preview/RenderIcon/RenderIcon.tsx","web/screen/JudgingEntriesPage/ArtWork/ArtWork.tsx","web/screen/JudgingEntriesPage/IndividualPhase/IndividualPhase.tsx","web/screen/JudgingEntriesPage/GroupPhase/NotPromotedArtWork.tsx","web/screen/JudgingEntriesPage/GroupPhase/GroupPhase.tsx","web/screen/JudgingEntriesPage/JudgingEntriesPageView.tsx","web/screen/JudgingEntryDetails/Sidebar/Note.tsx","web/screen/JudgingEntryDetails/Sidebar/Sidebar.tsx","web/components/ImageDialog/ImageGallery.tsx","web/components/ImageDialog/ImageDialogView.tsx","web/screen/JudgingEntryDetails/NextPrevNavigation.tsx","web/screen/JudgingEntryDetails/JudgingEntryDetailsView.tsx","web/screen/AskForPasswordResetPage/AskForPasswordResetPageView.tsx","web/screen/MembershipApplication/FormStep/FieldPolicy.tsx","common/components/antHelpers/CaptchaField/CaptchaFieldView.tsx","web/screen/CreateAccountPage/CreateAccountPageView.tsx","web/components/MembershipTitle/MembershipTitle.tsx","web/screen/Membership/Subscription.tsx","web/screen/Membership/CancelMembershipDialog/CancelMembershipDialogView.tsx","web/screen/Membership/SubscriptionInfoWithPeriod.tsx","web/screen/Membership/PaymentInfo.tsx","common/components/BirthDatePicker/BirthDatePickerView.tsx","web/screen/Membership/PersonalData/Form.tsx","web/screen/Membership/PartyInfo.tsx","web/screen/Membership/PersonalData/Info.tsx","web/screen/Membership/PersonalData/PersonalDataView.tsx","web/screen/Membership/SchoolInfo/Info.tsx","web/screen/Membership/SchoolInfo/Form.tsx","web/screen/Membership/SchoolInfo/SchoolInfoView.tsx","web/screen/Membership/EmployeeData/Info.tsx","web/screen/Membership/EmployeeData/Form.tsx","web/screen/Membership/EmployeeData/EmployeeDataView.tsx","web/screen/MembershipApplication/FormStep/ProfessionalForm/MembershipApplicationInterestsView.tsx","web/screen/Membership/ProfessionalInfo/MyInterestsView.tsx","web/screen/Membership/ProfessionalInfo/ProfessionalInfoView.tsx","web/screen/Membership/UpdateCartInfoDialog/UpdateCartInfoDialogView.tsx","web/screen/Membership/AddCartInformationDialog/AddCartInformationDialogView.tsx","web/screen/Membership/AlmostMember/AlmostMemberView.tsx","web/screen/Membership/MembershipView.tsx","web/screen/Invoices/InvoicesView.tsx","web/screen/SubmissionStatusPage/OnlinePaymentStatusPage/OnlinePaymentStatusPageView.tsx","web/components/PaymentCheckbox/PaymentCheckbox.tsx","web/components/PaymentMethodSelector/PaymentMethodSelectorView.tsx","web/components/PaymentTermsAndConditions/PaymentTermsAndConditions.tsx","web/screen/SubmissionPayment/SubmissionPaymentView.tsx","web/screen/SubmissionStatusPage/InvoicePaymentStatusPage/InvoicePaymentStatusPageView.tsx","web/screen/MembershipApplication/FormName.tsx","web/screen/MembershipApplication/SubscriptionStep/SubscriptionStepView.tsx","web/screen/MembershipApplication/PaymentStep/PaymentStepView.tsx","web/screen/MembershipApplication/FormStep/StudentForm/StudentFormView.tsx","web/screen/MembershipApplication/FormStep/AssociateForm/AssociateFormView.tsx","common/components/antHelpers/UrlField/UrlFieldView.tsx","common/components/antHelpers/FileUpload/FileUpload.ts","model/Api/Individuals/DeleteDocumentAttachmentRequest.ts","common/components/antHelpers/FileUpload/FileUploadView.tsx","web/screen/MembershipApplication/FormStep/ProfessionalForm/MembershipApplicationProfessionalGroupsView.tsx","common/components/antHelpers/MembershipRequirementField/MembershipRequirementField.tsx","web/screen/MembershipApplication/FormStep/ProfessionalForm/ProfessionalFormView.tsx","web/screen/MembershipApplication/FormStep/GraduateForm/GraduateFormView.tsx","web/screen/MembershipApplication/FormStep/FormStepView.tsx","web/screen/MembershipApplication/PaymentSummary.tsx","web/screen/MembershipApplication/MembershipApplicationView.tsx","web/screen/ConfirmPhoneNumberPage/ConfirmPhoneNumberPageView.tsx","web/screen/ResetPasswordPage/ResetPasswordByEmailPage/ResetPasswordByEmailPageView.tsx","web/screen/ResetPasswordPage/ResetPasswordByPhonePage/ResetPasswordByPhonePageView.tsx","web/components/WebTag/WebTag.tsx","web/screen/Submissions/EntriesTable/EditLinkWrapper.tsx","web/screen/Submissions/EntriesTable/EntriesTable.tsx","common/icons/Info.svg","common/icons/PenNib.svg","common/icons/Bin.svg","common/icons/done.svg","web/components/SubmittedStatus/SubmittedStatus.tsx","web/screen/Submissions/SubmissionsView.tsx","web/screen/MembershipPaymentPage/MembershipPaymentPageView.tsx","web/screen/MembershipReapplyPage/MembershipReapplyPageView.tsx","common/icons/X.svg","web/screen/Handelkurv/HandelkurvView.tsx","web/screen/SubmissionsMyPagePayment/SubmissionsMyPagePaymentView.tsx","index.tsx"],"names":["CompetitionStatus","JudgingSchema","QuestionType","CompetitionEntryStatus","PaymentStatus","CategoryEvaluationStatus","PhaseOneEvaluation","Gender","MembershipKind","SubscriptionType","PaymentMethod","MembershipApplicationRequirement","MembershipApplicationStatus","MemberStatus","PaymentResolution","viewFactories","Map","ContentView","observer","props","content","children","viewFactory","get","constructor","toString","registerContentView","contentConstructor","set","Page","observable","ref","identity","this","name","isActive","isLeaf","_childPage","activate","onLeafBlur","onLeafFocus","onActivated","deactivate","onDeactivated","undefined","newPage","console","log","createDialog","Promise","resolve","dialog","result","page","allChild","checkChild","p","a","child","childPage","push","reverse","forEach","removeChildPage","_pageName","computed","Navigation","items","i","hasOwnProperty","selectedItem","NavigationItem","key","item","showChildPage","Object","getPrototypeOf","navigation","navItems","property","model","propertyName","value","bindTo","onChange","Loading","ensureLoaded","expr","reject","isLoaded","dispose","reaction","_api","init","api","send","url","post","JSON","stringify","catch","err","BindableFormFieldDefinition","validator","getValueFromDto","updateDto","BindableFormBuilder","fieldDefinitions","metadata","Error","fields","f","createFieldDefinitionFromMetadata","except","includes","dtoField","options","fieldDefinition","getValidator","dto","fieldName","dataSource","ds","find","id","filter","map","v","NullValidator","dtoAccessor","BindableForm","required","RequiredFieldValidator","bindableForm","inner","fieldBindings","field","FormField","Form","autorun","_reset","isPristine","isDirty","validate","_commit","commit","all","b","then","reset","binding","getValidationStatus","state","FormState","Invalid","isValidating","Valid","AntField","inputProps","onCommit","Item","isRequired","validateStatus","help","errors","length","join","hasFeedback","description","className","style","small","dscextend","dscExtend","Flex","flexDirection","flexWrap","justifyContent","alignItems","alignContent","customClass","display","loader","errorMessages","isLoading","error","method","args","apply","response","status","data","index","message","duration","AntTextInput","type","e","target","onBlur","module","exports","PageLoader","container","size","ContextualCommand","action","bound","execute","canExecute","_canExecute","_execute","isAction","_isRunning","context","runInAction","contextAccessor","isEnabled","Command","enabled","_enabledValueAccessor","enabledValue","c","asyncCommand","command","bindToCommand","onClick","preventDefault","stopPropagation","disabled","submitFormCommand","form","validateAndCommit","alwaysEnabledSubmitFormCommand","AntModal","visible","onOk","okCommand","okButtonProps","confirmLoading","isRunning","onCancel","cancel","cancelCommand","cancelButtonProps","ConfirmationModal","onConfirm","close","subject","confirm","BaseDialog","Link","href","title","arrowIcon","negative","linkStyle","classNames","componentStyle","link","linkNegative","huge","large","plain","containerStyle","hrefLink","targetLink","icon","comparer","onValueChange","_needsValidation","_pristineValue","_valueHasBeenCommitted","_isPendingValidation","delay","_currentValidation","areEqual","RequiredEmailValidator","RequiredUrlValidator","RequiredPostalCodeValidator","RequiredVideoLinkValidator","RequiredOrganisationNumberValidator","Pending","_errors","_validate","pristineValue","isEmpty","Array","isArray","i18next","t","email","test","String","toLocaleLowerCase","validateUrl","UrlValidator","validateYoutubeUrl","validateVimeoUrl","organisationNumberValidator","VideoLinkValidator","text","ConditionalFieldValidator","conditionalValue","conditionalFieldName","UserAddresses","isSelectable","isExpanded","onSelectAction","isDoubleSelection","userRef","getParties","parties","deleteParty","partyRef","deletePartyRequest","onDialogClose","onCreateAddress","userId","showModal","AddressDialog","PrivateParty","CompanyParty","party","onSelectAddress","onEdit","orgNo","onDelete","selectedParty","doubleSelectedParty","private","company","onClear","priv","selected","InfoRow","margin","titleRow","infoRow","infoRowTitle","axiosOptions","baseURL","process","headers","Accept","adalConfig","tenant","clientId","endpoints","redirectUri","window","location","origin","cacheLocation","authContext","AuthenticationContext","getRedirectUri","params","queryString","parse","globalThis","search","decodeURIComponent","redirect_uri","AntCheckbox","checked","SingleUsersAddressDropdown","witheClear","useTranslation","React","setVisible","partyType","doubleSelectedPartyData","trigger","onVisibleChange","overlay","selectedId","sortedParties","dropdown","careOf","address","line","postalCode","city","clear","AntPassword","Password","SingleUserAddressesDialogsView","ConfirmationModalView","okText","formatPrice","price","Math","floor","toFixed","replace","buildUrl","RequestStatus","AllUsersAddressDropdown","withCreateAddress","truncateBtn","partyTruncate","selectedPartyData","PageTitle","headerNumber","marginBottom","headerStyle","header","xsmall","normal","big","onlyBottom","marginSmall","marginMiddle","marginBig","Title","level","SortDirection","AntDatePicker","GenderField","label","Group","female","radio","male","other","AntSingleSelect","optionText","loading","Option","AntMultiSelect","mode","Party","customStyle","partyStyle","partyLine","LoaderDataContainer","spin","privateParty","companyParty","SubmissionMode","FileMoveDirection","UrlField","fieldValidator","isErrorState","isValidatingProcess","addUrl","urls","removeUrl","splice","isValid","allUrls","urlForms","row","some","ContributorsField","configuration","getAllConfiguration","role","addRow","contributors","buildRow","removeRow","values","formValue","formData","customMessage","msg","open","CheckOutlined","SubmissionForm","parent","categoryId","entryId","autoSave","getSubmissionFormQuestions","questionnaire","coverImageQuestionRef","titleQuestionRef","entryPreviewPageDescription","product","invoiceFeeProduct","questions","competitionEntryDto","web","getCompetitionEntry","admin","getCompetitionEntryAdmin","buildCompetitionSubmissionForm","competitionEntryForm","isAdminEditDisable","competitionEntryStatus","draft","onAutoSave","created","isFormChanged","updateCompetitionEntryDto","apiAutoSave","saveEntry","saveEntryAdmin","scrollTo","top","setInterval","onSaveAsDraftClicked","clearInterval","getSubmissionQuestionnaireRequest","categoryRef","getCompetitionEntryDetails","competitionEntryRef","getSubmissionDetails","apiAttachments","removeAttachment","uid","deleteAttachmentRequest","attachmentRef","entry","updateCompetitionEntry","adminUpdateCompetitionEntryRequest","formFields","idx","question","questionId","answer","answers","questionType","version","videoLink","roleInProject","date","moment","Date","multiSelect","singleSelect","onFormChange","keys","realId","split","parseInt","toISOString","onFormSubmit","firstErrorRef","gerErrorFields","formErrorFields","current","offsetTop","left","behavior","submitted","getSelectDataSource","array","hasEmpty","val","unshift","multiFileListOptions","computedFn","reduce","prev","attachment","attachments","onFileChangeOrder","file","direction","fieldIndex","findIndex","temp","updateMultiFilesList","onRemoveAttachment","notification","info","validateFileBeforeUpload","flag","files","formField","fileList","slice","thumbUrl","tempUid","fileName","onSuccess","onError","onProgress","FormData","append","axios","axiosWeb","axiosAdmin","multiFileLoadingProgress","onUploadProgress","percentage","round","loaded","total","percent","fieldList","addedFiles","competitionStatus","submissionOpen","multiFiles","newFieldValue","TextArea","AntTextArea","maxLength","useState","isMax","setIsMax","textarea","onValuesChange","getFields","every","s","results","r","onSave","initParty","isEdited","createParty","createExternalParty","editParty","updateExternalParty","buildForm","AddressField","save","partyForm","savedParty","getOnlyNumbers","re","formLayout","labelCol","span","wrapperCol","CompanyPartyView","btn","PrivatePartyView","updateCompetitionEntryRequest","_extends","assign","arguments","source","prototype","call","_objectWithoutProperties","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","_ref2","createElement","_ref3","stroke","strokeWidth","fill","fillRule","transform","x1","y1","x2","y2","strokeLinejoin","SvgNavigationPrevious","_ref","svgRef","width","height","viewBox","ForwardRef","forwardRef","createApi","cachedToken","hello","utils","store","axiosInstance","create","defaults","common","Authorization","access_token","interceptors","use","refreshTokenRequest","originalRequest","config","__isRetryRequest","ct","encodeURIComponent","refreshToken","refresh_token","token","accessToken","reason","BackButton","SubmissionsHelpText","colorText","accentColor","accent","published","Text","submissionClosed","phaseOneJudgingInProgress","phaseOneJudgingClosed","phaseTwoJudgingInProgress","phaseTwoJudgingClosed","d","points","PdfLoader","numPages","setNumPages","offset","Loader__container__load","onLoadSuccess","contentLoader","from","el","pageNumber","RenderPreview","onPreview","pdfBox","pdf","pdfName","controls","light","playIcon","play","previewStyle","preview","previewImg","img","placeholderSrc","src","effect","download","DownloadOutlined","zoom","RouteBinding","updateLocation","route","path","nextBinding","unObserveChildPage","unObserveState","newChildPage","destroy","bindFirstMatchingChildToModel","getModelState","newState","childLocation","getLocation","hash","remainingPath","tryUpdate","bindFirstMatchingChildToPath","setModelState","startsWith","update","substring","RouteDefinitionBase","stateAccessor","modelConstructor","modelFactory","paramsSelector","RouteDefinition","childRoute","bindToPath","bindToModel","parentRoute","pathRegExp","pathRegExpKeys","pathFactory","pathToRegexp","end","compile","getPath","match","exec","parentModel","matchPath","childBinding","HomeRouteDefinition","history","updatingLocation","updatingBindings","newLocation","pathname","toLowerCase","unlisten","listen","substr","createExternalPartyRequest","updateExternalPartyRequest","country","validation","ChangeBillingAddressDialog","partySnapshot","userAddresses","onSaveNewAddress","setNewAddressVisible","isNewAddressVisible","AddressFieldView","RegExp","SvgUploadIcon","SvgPlayIcn","MenuDropdown","Number","selectedKeys","dropdownMenu","dropdownItem","dropdownText","dropdownLink","dropdownIcon","VideoLinks","multipleVideo","singleVideo","setErrors","root","video","rel","error_link","videos","Boolean","AntForm","getPartiesRequest","payForCompetitionEntriesWithInvoice","payForCompetitionEntriesWithInvoiceRequest","getCompetitionEntryDetailsRequest","TabPane","AddressDialogView","footer","defaultActiveKey","tab","SvgNextIcn","AntTableImpl","list","selection","columns","rowSelection","selectedRowKeys","selectedRows","rowKey","pagination","filters","sorter","extra","sortOrder","order","dataIndex","render","canSort","filterMultiple","Footer","colSpan","loadNextPage","AntTable","PaginatedAntTable","components","body","wrapper","hasNextPage","CheckboxField","File","onFileDialogOpen","fileData","indexInAttachments","imgFormContainer","image","DateQuestion","format","CustomEmpty","isBottomMargin","styles","bottomM","InboxOutlined","ContributorsFields","contributions","contributor","SpecialUrls","links","setIsEmpty","regex","fixedLink","MultiSelectField","allValues","element","SingleSelectField","Panel","checkIfAnswerIsEmpty","parsedValue","renderAnswer","questionTitle","checkbox","multiFile","SubmissionsAnswers","boxStyle","boxForm","boxPreview","answerStyle","answerPreview","ghost","expandIconPosition","answerHelp","helpText","List","isNew","newItems","patch","predicate","PaginatedList","load","_loadNextPage","reqId","loadFirstPage","isLoadingFirstPage","untracked","_isLoadingFirstPage","_currentPageNo","loadMoreItems","_hasNextPage","_isLoadingNextPage","isLoadingNextPage","currentPageNo","currentItems","currentPage","currentReqId","skip","take","PAGE_SIZE","sort","concat","onlyImagesRegex","AntUploadFile","customRequest","multiple","onlyImages","beforeUpload","onFileOrderChange","Dragger","accept","dragger","itemRender","originNode","currFileList","errorNode","buttons","up","UpOutlined","down","DownOutlined","hint","itemProgress","progress","strokeLinecap","strokeColor","trailColor","showInfo","progressBar","FilterPaymentByType","getPayments","getPaymentsRequest","getCachedToken","getCachedUser","login","acquireToken","_message","handleWindowCallback","getSubmissionDetailsRequest","changePayingParty","changePayingPartyRequest","ChangeBillingAddressDialogView","UrlRow","onRemove","align","addonBefore","DeleteOutlined","UrlFieldView","urlForm","addButton","PlusOutlined","AntUploadSingleFile","listType","AntWideNumberInput","isNaN","ContributorsFieldView","titleStyle","customRole","setCustomRole","roleContent","roleLine","gutter","allowClear","dropdownRender","menu","roleContainer","roleInput","event","addCustomRole","idxConfig","button","customIconRender","FilePdfOutlined","SoundOutlined","VideoCameraOutlined","SubmissionFormView","errorReference","isFormDisabled","formContainer","layout","realKey","q","isFirstError","multiLine","questionRow","multilineField","singleLine","getFileList","onRemoveFile","getFileUploadRequest","handleSingleFileChange","iconRender","defaultFileList","getMultiFilesList","number","checkboxField","errorsInForm","_any","x","_first","_last","_remove","_replace","oldItem","newItem","i18n","initReactI18next","resources","lng","keySeparator","interpolation","escapeValue","webpackEmptyContext","req","code","AskForPasswordResetPage","askForPasswordResetForm","addField","passwordResetModel","onSubmit","errorMsg","passwordResetByEmailRequest","passwordResetByPhoneRequest","phoneNumber","goBack","ConfirmPhoneNumberPage","phone","confirmPhoneForm","confirmPhone","resetErrors","errorMessage","confirmPhoneNumberRequest","homeRoute","historyPush","pin","password","confirmPassword","CaptchaField","onVerifyCaptcha","CreateAccountPage","createForm","createAccountForm","accountExistsError","createAccountDto","given","family","acceptPrivacyPolicy","captchaToken","createAccountRequest","account","showPhoneNumberConfirmationPage","onRemoveChildPage","LoginPage","loginDtoMetadata","userName","loginForm","authenticateUserRequest","showPasswordResetPage","showCreateAccountPage","UserInfoEditDialog","onChangeRequested","onChangeConfirmed","userInfo","ticketDto","updateUserInfoRequest","ticketRef","userInfoForm","userInfoConfirmationForm","confirmTicket","user","DeleteAccountDialog","getMember","getMemberRequest","UserInfo","updateUserInfo","apiTicket","updateUserInfoTicket","updateUserInfoTicketRequest","apiMembership","apiRequestDeletion","deleteAccountRequest","deleteAccountRequestRequest","showEditUser","userData","userDto","showDeleteAccountModal","deletionRequested","membership","member","userAddress","getUserMembershipOptions","getUserMembershipOptionsRequest","SubscriptionStep","getMembershipOptions","membershipTypes","onNext","formStep","onActivation","subscription","membershipType","isActiveRegularMember","currentMembership","createOrUpdateMembershipApplication","createOrUpdateMembershipApplicationRequest","getMembershipPrice","getMembershipPriceRequest","PaymentStep","membershipPrice","subscriptionType","initApplication","paymentMethod","privatePartyId","employerPartyId","submitApplicationAndPayOnline","membershipApplicationId","membershipTypeId","partyId","submitApplicationAndPayOnlineRequest","paymentTermsAccepted","isPaymentTermsAccepted","submitApplicationAndPayWithInvoice","submitApplicationAndPayWithInvoiceRequest","submitChangeApplication","submitChangeApplicationRequest","updateMembershipApplication","membershipApplication","typeId","onPayNow","onlinePaymentToken","onPayByInvoice","invoicePayment","orderId","subscriptionStep","isReadonly","annual","BirthDatePicker","monthList","getMonthList","month","dateForm","day","days","year","birthDate","dataValue","daysInMonth","StudentForm","buildMembershipForm","gender","schoolName","expectedGraduationDate","application","onSaveForm","formValues","buildLink","addLink","removeLink","ProfessionalForm","linkFormField","membershipApplicationLinks","attachmentField","attachmentOrLinkShouldBeProvided","workPosition","membershipApplicationProfessionalGroups","membershipApplicationRequirement","AssociateForm","GraduateForm","FormStep","dateFormat","student","graduate","professional","associate","applicationForm","paymentStep","showErrorMessage","_","v1","v2","membershipKind","isNextDisable","getUserInfo","getUserInfoRequest","MembershipApplication","onNextStep","pushState","valid","step","nextStep","onPay","bambora","isPrevDisable","back","onPrevStep","MembershipPaymentPage","changeMembershipSubscription","payingPartyId","changeMembershipSubscriptionRequest","onChangeMembershipSubscription","currentSubscription","onBck","removeAllChildPages","CancelMembershipDialog","PersonalData","onInit","onSavePersonalData","updateMemberPersonalData","getUserParty","userParties","isEdit","SchoolInfo","updateMemberEducationData","EmployeeData","updateMemberEmploymentData","ProfessionalInfo","myInterestsForm","interests","isMyInterestsLoaded","updateMemberInterests","onMyInterestsState","isMyInterestsEdited","UpdateCartInfoDialog","AddCartInformationDialog","AlmostMember","applicationPayment","getMembershipApplicationPayment","getMembershipApplicationPaymentRequest","retryOnlinePayment","retryOnlinePaymentRequest","cancelMembershipApplication","membershipApplicationPaymentId","cancelMembershipApplicationRequest","onRetryPaymentClicked","onCancelApplicationClicked","hasBamboraPaymentFailed","paymentStatus","failed","pending","Membership","changeCreditCard","changeCreditCardRequest","changeBillingAddress","payingPartyRef","stopRenewalSubscription","stopAutoRenewalForCurrentSubscriptionRequest","updateMemberPersonalDataRequest","updateMemberEmploymentDataRequest","updateMemberInterestsRequest","updateMemberEducationDataRequest","apiSaveMembership","showApplicationPage","onChangeMembership","onChangeSubscriptionData","showMembershipPaymentPage","onApplyForMembership","onAddCart","onUpdateCart","onChangeBillingAddress","billingAddress","getParty","onStopRenewalSubscription","autoRenew","almostMember","membershipOptions","personaData","schoolInfo","employeeInfo","professionalInfo","isMember","memberStatus","active","isPrivate","getDownloadInvoiceToken","getDownloadInvoiceTokenRequest","ms","setTimeout","JudgeEntriesSorting","Invoices","paymentsList","getToken","PaymentMethodSelector","payForCompetitionEntriesOnline","payForCompetitionEntriesOnlineRequest","SubmissionPayment","competitionEntriesRef","createTransaction","invoice","onBack","goToFormPage","priceIncVat","SubmissionApprovedModal","SubmissionFormPreviewPage","isValidForm","submitCompetitionEntry","getHistoryState","backUrl","onSend","savedCompetitionEntry","showSubmissionPaymentPage","showSubmissionPaymentPageWithModal","submissionForm","pageName","OnBackToSubmissionModal","onNotSave","onClose","onCancelClick","SubmissionFormPage","competitionId","onContinueClick","edited","onBackToSubmission","showFormPreviewPage","competition","selectedCategory","selectedCategoryName","Competition","getDetails","getSubmissionCompetitionDetailsRequest","apiEntry","createEntry","createCompetitionEntryRequest","activateChildPage","onGoBack","onCategorySet","isSubmissionsOpen","showHelpText","selectedCat","showFormPage","categories","cat","subCategories","sub","subCat","selectedCompetition","breadcrumbsPages","CompetitionsList","getPublishedCompetitions","getPublishedCompetitionsRequest","includeCompetitionStatuses","onDetails","future","CompetitionsListPage","showCompetitionPage","selectedCompetitionId","competitionsPage","competitions","getList","competitionsList","breadcrumbs","setPhaseOneEvaluation","setPhaseOneEvaluationRequest","setPhaseTwoEvaluation","setPhaseTwoEvaluationRequest","ImageDialog","images","startIndex","JudgingEntryDetails","getEvaluationEntryDetails","getCompetitionEntryEvaluationDetailsRequest","apiEvaluation","evaluation","phaseOneEvaluation","evaluationRef","phaseTwoEvaluation","apiNotes","savePrivateNotes","note","setPrivateNoteRequest","privateNote","savePublicNotes","setPublicNoteRequest","publicNote","showImageDialog","evaluationResults","categoryEvaluationStatus","coverImage","sortedAtts","at","videoAttachment","mdThumbUrl","entryList","getGroupPhaseEntryList","isPromoted","promoted","isNotPromoted","notPromoted","hasMovedOn","moveBy","showJudgingEntryDetails","sortedEntry","currentEntryIdx","isSavedPublicNotes","isSavePrivateNotes","JudgingCategorySorting","JudgingEntriesPage","getCompetitionEntries","getCompetitionEntriesRequest","setEvaluationStatus","fulfilled","setCategoryEvaluationStatusRequest","setEvaluationPhaseOne","setEvaluationPhaseTwo","nominateEntry","nominateCompetitionEntryRequest","setCategoryEntriesData","sortableValue","sortDirection","ascending","pageSize","sorting","competitionEntries","onSortChange","prop","descending","onPromoteEntry","competitionListItem","judgingSchema","group","evaluationResult","JudgingCategoryPage","getCompetitionDetails","getEvaluationCompetitionDetailsRequest","competitionRef","getCategories","sortingValue","showJudgingEntriesPage","patent","JudgingIntroPage","showJudgingCategoryPage","signOutClicked","logout","evaluations","JudgingCompetitions","getEvaluationCompetitions","getEvaluationCompetitionsRequest","showJudgingIntroductionPage","judgingIntroPage","getUserCompetitionEntries","getUserCompetitionEntriesRequest","deleteCompetitionEntry","deleteCompetitionEntryRequest","submitCompetitionEntryRequest","SubmissionsMyPagePayment","selectedEntries","onPaymentClick","onRemoveSelectedEntry","invoiceFeePrice","Handelkurv","onPayOrSubmit","showPayment","entryDetails","loadUserEntries","entriesList","Submissions","getUserEntries","competitionEntryId","apiSubmission","delete","onRemoveEntry","showHandelkurvPage","onApprove","record","isReadyToApprove","formState","lastEditedEntry","replaceState","document","past","closed","archived","changeRows","HomePage","membershipPage","submissions","competitionList","home","loginPage","apiToken","validateToken","validateTokenRequest","showMembershipPage","showMembershipApplication","showInvoicesPage","showSubmissionPage","showCompetitionsListPage","showJudgePage","showSelectedCompetitions","isJudge","AcceptInvitationPage","acceptInvitationForm","acceptInvitationDto","acceptInvitationRequest","acceptInvitation","showRegisterPage","passwordConfirmation","none","ResetPasswordByEmailPage","setPasswordForm","setPasswordRequest","setPasswordByEmailRequest","query","ResetPasswordByPhonePage","setPasswordByPhoneRequest","OnlinePaymentStatusPage","expectedPaymentStatus","confirmPaymentResponse","isPaymentForCompetitionEntry","isDeclined","orderid","getPaymentOutcomeWithRetries","outcome","attempt","getPaymentDetailsRequest","paid","transactionId","InvoicePaymentStatusPage","timer","clearTimeout","isPaymentForMembership","MembershipReapplyPage","reapplyAndPayOnline","reapplyForMembershipAndPayOnlineRequest","reapplyAndPayWithInvoice","reapplyForMembershipAndPayWithInvoiceRequest","loginPageRoute","addRoute","show","createAccountRoute","homePage","membershipRoute","submissionFormRoute","submissionsRoute","handelkurvRute","submissionFormPreview","submissionFormPage","submissionPreview","judgingLanding","judgingCompetitions","judgingIntro","judgingCategories","judgingEntries","createAccountPage","PageWrapper","CompetitionListItemType","CompetitionHeader","logoClick","signoutClick","helpClick","block","logoBox","logo","buttonsBox","MemberMenu","itemActive","UserInfoEditDialogView","htmlType","autoFocus","UserData","titleBox","fullName","edit","listItem","AddressBox","onSelect","partyBox","partyBoxSelected","partyBoxAddress","UserAddressesView","bordered","accordion","box","btnAdd","MembershipData","Arrow","color","pointUpper","point","leftUpper","rightUpper","pointLower","leftLower","rightLower","bgColor","arrow","rowTitle","rowTitlePast","rowTitleFuture","ul","empty","submissionsDeadlineStart","submissionsDeadlineEnd","CompetitionsListView","sorted","ArrowPanel","contentBox","desc","panelStyle","panel","contentEl","DeleteAccountDialogView","UserInfoView","xs","lg","judgeBtnTxt","judgeBtn","deleteAccount","hasPendingApplication","become","HeaderBreadcrumbs","elLink","HomePageView","LoginBox","onResetPasswordClick","onCreateAccount","sm","md","placeholder","onKeyDown","keyCode","messageBox","Paragraph","or","bg","createBtn","LoginPageView","AcceptInvitationPageView","CompetitionsListPageView","CategoryListHeader","collapseRow","collapseIcon","collapseBox","collapseTitle","dsc","collapseDesc","CategoryList","collapse","expandIcon","category","collapseWidth","categoryDsc","subcategory","CompetitionView","SaveDraftButton","isDisabled","saveAsDraft","CompetitionIntro","onBackBtn","backBtnText","OnBackToSubmissionModalView","SubmissionFormPageView","footerContent","continueBtn","SubmissionsNextBtn","onNextClick","onSaveDraftClick","isSaveDraftEnabled","isPreview","isDisable","isVisible","backBtn","saveDraft","SentButtons","isBack","buttonLeft","payBtn","SubmissionApprovedModalView","SubmissionFormPreviewPageView","goToSubmissions","infoTitle","infoText","categoryName","ProgressBar","assessedSubmissions","stats","JudgingCompetitionsView","containerBox","getCurrentStep","Introduction","onStart","justify","center","individualPlusGroup","progressDot","dot","steps","Step","judgingPhaseDescription","JudgingIntroPageView","ListOptionsLinks","EvaluationOptionList","view","setView","selectOptions","iconStyle","iconBtn","iconSelected","iconBtnSelected","SubmissionCard","evaluatedCategory","isEvaluationButton","tiles","tilesContent","listContent","submission","JudgingCategoryPageView","submissionsTiles","ActionPhaseFirst","evaluationValue","onEvaluationValueChange","isEditable","privateNoteActive","isPrivateNote","onSetPrivateNoteState","isList","notesStyle","judgeIcn","judgeIcnActive","judging","judgeBtnGroup","Button","zero","one","two","four","ActionsPhaseSecond","onEvaluationPhaseTwo","isPublicNote","publicNoteActive","onSetPublicNoteState","privateIconStyle","iconActive","publicNoteStyle","select","FilePdfIcon","fontSize","SoundIcon","VideoCameraIcon","RenderIcon","alt","ArtWork","onEvaluationPhaseOne","competitionEntry","seeDetails","tile","privateNoteVisible","setPrivateNoteVisible","publicNoteVisible","setPublicNoteVisible","crop","titleThumbnailType","titleThumbnailUrl","notes","titleLink","tag","IndividualPhase","isEditablePhaseOne","NotPromotedArtWork","onPromote","ArtworkBox","ArtworkCrop","ArtworkTitle","ArtworkTitleLink","ArtworkPromote","GroupPhase","isEditablePhaseTwo","JudgingEntriesPageView","judgingHeader","artworkContainer","Note","onSaveNote","noteValue","setNote","noteRef","saveComments","debounce","minHeight","Sidebar","publicNotes","privateNotes","onSavePublicNotes","onSavePrivateNotes","publicNotesSaveStatus","privateNoteSaveStatus","CheckCircleOutlined","ImageGallery","carousel","goTo","innerSlider","setAttribute","focus","useKeypress","next","formattedImages","flat","arrows","node","imageBox","ImageDialogView","centered","closable","wrapClassName","wrapDialog","closeIcon","imageContainer","NextPrevNavigation","withTopBorder","onSubmissionChange","borderStyle","topBorder","navBtn","navPrevBtn","JudgingEntryDetailsView","coverImgIdx","sortedAttachments","answerBox","sidebarContainer","sidebarTitle","evaluationStatus","onPublicNotesSave","onPrivateNotesSave","AskForPasswordResetPageView","subTitle","CheckCircleFilled","backButton","backBtnArrow","FieldPolicy","policyFieldRequired","sitekey","onVerify","CreateAccountPageView","CaptchaFieldView","messageError","MembershipTitle","intro","appUserName","appTitle","Subscription","canChange","dataContent","titleTxt","subscriptionTileLink","inactive","isTerminated","periodTo","membershipPaidTo","futureMembership","periodFrom","CancelMembershipDialogView","SubscriptionInfoWithPeriod","onChangeSubscription","rowTxt","paidTo","btnLink","PaymentInfo","updateCreditCart","onAddCreditCart","creditCartInfoRow","billingAddressTitle","cardNumber","cardExpirationMonth","cardExpirationYear","addCardTxt","addCard","BirthDatePickerView","defaultPickerValue","add","picker","disabledDate","personalData","PartyInfo","partyRow","Info","getGenderText","PersonalDataView","titleIcon","EditOutlined","SchoolInfoView","EmployeeDataView","MembershipApplicationInterestsView","showLabel","MyInterestsView","ProfessionalInfoView","UpdateCartInfoDialogView","AddCartInformationDialogView","AlmostMemberView","pageTitle","MembershipView","isSubscriptionActive","getColumns","modal","statTxt","tagType","manuallyConfirmed","canceled","dueDate","isDownloadAvailable","onDownloadClicked","spinnerStyle","placement","overlayClassName","tooltip","InvoicesView","table","locale","emptyText","OnlinePaymentStatusPageView","PaymentCheckbox","priceDsc","isBorder","toolTip","radioStyle","radioSelected","PaymentMethodSelectorView","invoicePrice","onPaymentSelect","PaymentTermsAndConditions","SubmissionPaymentView","totalPrice","onAcceptTerms","InvoicePaymentStatusPageView","FormName","helpTxt","helpElement","formName","formTitle","formHelp","SubscriptionStepView","rootStyle","formBox","radioGroup","isMembershipTypeDisabled","radioName","radioPrice","annualPriceIncVat","radioDescription","PaymentStepView","monthly","onSubscriptionCheck","monthlyMembershipPrice","annualMembershipPrice","onPaymentMethodCheck","amount","isInvoicePaymentDisabled","onTermsCheck","StudentFormView","isEditView","AssociateFormView","LinkRow","lineInput","removeButton","linksForm","FileUpload","deleteDocumentAttachmentRequest","documentAttachmentRef","filesField","attachmentResponse","FileUploadView","defaultFields","MembershipApplicationProfessionalGroupsView","checkboxGroupValue","setCheckboxGroupValue","customValue","setCustomValue","customizedValue","handleCheckboxGroupChange","handleInputChange","MembershipRequirementField","bachelorsDegree","professionallyActive","schoolEducation","workExperience","ProfessionalFormView","membershipAppId","noBorderRow","addUrlField","GraduateFormView","experienceConfirmation","FormStepView","PaymentSummary","summary","summaryTitle","summaryPrice","annualMembershipPriceIncInvoiceFee","monthlyMembershipPriceIncInvoiceFee","invoiceFeePriceIncVat","summaryInfo","MembershipApplicationView","addEventListener","onBackButtonEvent","removeEventListener","stepsData","stepsContent","isPaymentDisable","ConfirmPhoneNumberPageView","autoComplete","ExclamationCircleFilled","errorIcon","ResetPasswordByEmailPageView","ResetPasswordByPhonePageView","WebTag","tagStyle","EditLinkWrapper","withEditLink","withSelections","actionButtons","onSubmitAll","backgroundImage","coverImgStyle","noImg","m","getStatusTag","FileImageOutlined","icoImg","borderCell","EntriesTable","entries","withSelection","onAllSelect","position","rowClassName","highlite","onSelectAll","getCheckboxProps","clipRule","_ref5","SubmittedStatus","SubmissionsView","submissionBox","tabList","onSelectRecord","onSelectAllRecords","onSubmitSingleEntry","MembershipPaymentPageView","MembershipReapplyPageView","HandelkurvView","remove","SubmissionsMyPagePaymentView","pdfjs","GlobalWorkerOptions","workerSrc","createBrowserHistory","bind","ReactDOM","nbNO","getElementById"],"mappings":"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","file":"static/js/index.36fa8b6a.79f59246.chunk.js","sourcesContent":["\r\nexport enum CompetitionStatus {\r\n draft = \"draft\",\r\n published = \"published\",\r\n submissionOpen = \"submissionOpen\",\r\n submissionClosed = \"submissionClosed\",\r\n phaseOneJudgingInProgress = \"phaseOneJudgingInProgress\",\r\n phaseOneJudgingClosed = \"phaseOneJudgingClosed\",\r\n phaseTwoJudgingInProgress = \"phaseTwoJudgingInProgress\",\r\n phaseTwoJudgingClosed = \"phaseTwoJudgingClosed\",\r\n closed = \"closed\",\r\n archived = \"archived\",\r\n}\r\nexport enum JudgingSchema {\r\n individual = \"individual\",\r\n group = \"group\",\r\n individualPlusGroup = \"individualPlusGroup\",\r\n}\r\nexport enum QuestionType {\r\n singleLine = \"singleLine\",\r\n multiLine = \"multiLine\",\r\n file = \"file\",\r\n date = \"date\",\r\n number = \"number\",\r\n url = \"url\",\r\n multiFile = \"multiFile\",\r\n checkbox = \"checkbox\",\r\n singleSelect = \"singleSelect\",\r\n multiSelect = \"multiSelect\",\r\n roleInProject = \"roleInProject\",\r\n videoLink = \"videoLink\",\r\n}\r\nexport enum CompetitionEntryStatus {\r\n created = \"created\",\r\n draft = \"draft\",\r\n submitted = \"submitted\",\r\n invalidated = \"invalidated\",\r\n deleted = \"deleted\",\r\n}\r\nexport enum PaymentStatus {\r\n pending = \"pending\",\r\n paid = \"paid\",\r\n refund = \"refund\",\r\n zeroAuth = \"zeroAuth\",\r\n failed = \"failed\",\r\n canceled = \"canceled\",\r\n manuallyConfirmed = \"manuallyConfirmed\",\r\n}\r\nexport enum CategoryEvaluationStatus {\r\n pending = \"pending\",\r\n fulfilled = \"fulfilled\",\r\n}\r\nexport enum PhaseOneEvaluation {\r\n excluded = \"excluded\",\r\n zero = \"zero\",\r\n one = \"one\",\r\n two = \"two\",\r\n four = \"four\",\r\n}\r\nexport enum Gender {\r\n male = \"male\",\r\n female = \"female\",\r\n other = \"other\",\r\n}\r\nexport enum MembershipKind {\r\n professional = \"professional\",\r\n student = \"student\",\r\n associate = \"associate\",\r\n graduate = \"graduate\",\r\n}\r\nexport enum SubscriptionType {\r\n monthly = \"monthly\",\r\n annual = \"annual\",\r\n}\r\nexport enum PaymentMethod {\r\n bambora = \"bambora\",\r\n invoice = \"invoice\",\r\n free = \"free\",\r\n}\r\nexport enum MembershipApplicationRequirement {\r\n bachelorsDegree = \"bachelorsDegree\",\r\n schoolEducation = \"schoolEducation\",\r\n workExperience = \"workExperience\",\r\n professionallyActive = \"professionallyActive\",\r\n}\r\nexport enum MembershipApplicationStatus {\r\n pending = \"pending\",\r\n approved = \"approved\",\r\n rejected = \"rejected\",\r\n}\r\nexport enum MemberStatus {\r\n active = \"active\",\r\n inactive = \"inactive\",\r\n}\r\nexport enum PaymentResolution {\r\n success = \"success\",\r\n failure = \"failure\",\r\n}\r\n","import * as React from 'react';\r\nimport { observer } from 'mobx-react';\r\nimport { ReactElement, ReactNode } from 'react';\r\nimport { ConstructorOf } from \"./ConstructorOf\";\r\n\r\nconst viewFactories = new Map();\r\n\r\nexport const ContentView = observer((props: { content: object | null | undefined, children? : ReactNode }) => {\r\n\r\n if (!props.content) return props.children;\r\n\r\n let viewFactory = viewFactories.get(props.content.constructor);\r\n\r\n if (props.content && viewFactory) return viewFactory(props.content);\r\n else return
Please regiter view for {props.content.constructor.toString()}
\r\n})\r\n\r\nexport function registerContentView(contentConstructor: ConstructorOf, viewFactory: (content: T) => ReactElement) {\r\n viewFactories.set(contentConstructor, viewFactory);\r\n}\r\n\r\nexport const contentViewFor = (content: object) => ;","import { computed, observable } from 'mobx';\r\nimport { IRoutedPage } from './routing';\r\nimport { IActivatable } from './index';\r\n\r\nexport interface IPage extends IRoutedPage, IActivatable {\r\n deactivate(): Promise;\r\n identity: string;\r\n pageName?: string;\r\n}\r\n\r\nexport abstract class Page\r\n implements IPage {\r\n @observable.ref dialog: TDialog | undefined;\r\n\r\n @computed get childPage(): IPage | undefined {\r\n return this._childPage;\r\n }\r\n\r\n @observable.ref _pageName: string = '';\r\n\r\n identity = this.constructor.name;\r\n @computed get pageName() {\r\n return this._pageName;\r\n }\r\n set pageName(name) {\r\n this._pageName = name;\r\n }\r\n\r\n @observable.ref private _childPage: IPage | undefined = undefined;\r\n\r\n private isActive: boolean = false;\r\n private isLeaf: boolean = false;\r\n\r\n async activate() {\r\n this.isActive = true;\r\n if (this._childPage) {\r\n await this._childPage.activate();\r\n this.isLeaf = false;\r\n await this.onLeafBlur();\r\n } else {\r\n this.isLeaf = true;\r\n await this.onLeafFocus();\r\n }\r\n this.onActivated();\r\n }\r\n\r\n async deactivate() {\r\n if (this._childPage) await this._childPage.deactivate();\r\n this.isActive = false;\r\n this.isLeaf = false;\r\n await this.onLeafBlur();\r\n await this.onDeactivated();\r\n }\r\n\r\n async removeChildPage() {\r\n if (this._childPage && this.isActive)\r\n await this._childPage.deactivate();\r\n this._childPage = undefined;\r\n this.isLeaf = true;\r\n await this.onLeafFocus();\r\n }\r\n\r\n async showChildPage(newPage: T) {\r\n if (this._childPage && this.isActive)\r\n await this._childPage.deactivate();\r\n this._childPage = newPage;\r\n this.isLeaf = false;\r\n await this.onLeafBlur();\r\n console.log(this, 'Changed current page');\r\n if (this._childPage && this.isActive) await this._childPage.activate();\r\n return newPage;\r\n }\r\n\r\n async showModal(\r\n createDialog: (close: (result: TResult) => void) => TDialog\r\n ): Promise {\r\n return new Promise((resolve) => {\r\n this.dialog = createDialog((result) => {\r\n this.dialog = undefined;\r\n resolve(result);\r\n });\r\n\r\n this.dialog.activate();\r\n });\r\n }\r\n\r\n async removeAllChildPages(page: Page) {\r\n const allChild: IPage[] = [page];\r\n\r\n const checkChild = async (p: IPage) => {\r\n const child = p.childPage;\r\n if (!child) {\r\n return;\r\n }\r\n allChild.push(child as IPage);\r\n await checkChild(child as IPage);\r\n };\r\n await checkChild(page);\r\n await allChild\r\n .reverse()\r\n .forEach(async (page) => await page.removeChildPage());\r\n }\r\n\r\n protected async onActivated() {}\r\n\r\n protected async onDeactivated() {}\r\n\r\n protected async onLeafFocus() {}\r\n\r\n protected async onLeafBlur() {}\r\n}\r\n","import { computed } from 'mobx';\r\nimport { IRoutedPage } from '../routing';\r\n\r\nclass Navigation {\r\n @computed get selectedItem() {\r\n for (const i in this.items) {\r\n if (!this.items.hasOwnProperty(i)) continue;\r\n if (this.items[i].isActive) return this.items[i];\r\n }\r\n return undefined;\r\n }\r\n\r\n @computed get selectedItems() {\r\n return this.selectedItem ? [this.selectedItem] : [];\r\n }\r\n\r\n constructor(public readonly items: { [P in keyof T]: NavigationItem }) {}\r\n}\r\n\r\ntype NavigationPage = {\r\n readonly childPage: IRoutedPage | undefined;\r\n showChildPage(newPage: any): void;\r\n removeChildPage(): void;\r\n};\r\n\r\nclass NavigationItem {\r\n @computed get isActive() {\r\n return (\r\n (this.page.childPage &&\r\n Object.getPrototypeOf(this.page.childPage).constructor ===\r\n this.item) ||\r\n (this.page.childPage === undefined && this.item === undefined)\r\n );\r\n }\r\n\r\n constructor(\r\n public readonly key: string,\r\n private page: NavigationPage,\r\n private item: (new () => IRoutedPage) | undefined\r\n ) {}\r\n\r\n activate = () => {\r\n if (this.item) this.page.showChildPage(new this.item());\r\n else this.page.removeChildPage();\r\n };\r\n}\r\n\r\nexport function navigation<\r\n T extends { [k: string]: (new () => IRoutedPage) | undefined }\r\n>(page: NavigationPage, items: T): Navigation {\r\n const navItems: { [P in keyof T]?: NavigationItem } = {};\r\n\r\n for (const i in items) {\r\n if (!items.hasOwnProperty(i)) continue;\r\n\r\n navItems[i] = new NavigationItem(i, page, items[i]);\r\n }\r\n\r\n return new Navigation(navItems as any);\r\n}","import { autorun, reaction } from 'mobx';\r\n\r\nexport * from './routing';\r\nexport * from './forms';\r\nexport * from './commands';\r\nexport * from './ContentView';\r\nexport * from './Page';\r\nexport * from './navigation';\r\n\r\nexport interface IProperty {\r\n get: () => T;\r\n set: (v: T) => void;\r\n}\r\n\r\nexport function predicates(...predicates: (() => boolean)[]) {\r\n return () => predicates.every((p) => p());\r\n}\r\n\r\nexport function required(get: () => string) {\r\n return () => !!get();\r\n}\r\n\r\nexport function email(get: () => string) {\r\n const re = /\\S+@\\S+\\.\\S+/;\r\n return () => !!get() && re.test(get());\r\n}\r\n\r\nexport function property(model: T, propertyName: K) {\r\n return {\r\n get: () => model[propertyName],\r\n set: (value: T[K]) => (model[propertyName] = value)\r\n };\r\n}\r\n\r\nexport function bindTo(property: { get: () => T; set: (value: T) => void }) {\r\n return {\r\n value: property.get(),\r\n onChange: (value: T) => property.set(value)\r\n };\r\n}\r\n\r\ntype LoadingType = 'Loading';\r\ntype LoadingErrorType = 'LoadingError';\r\n\r\nexport const Loading: LoadingType = 'Loading';\r\nexport const LoadingError: LoadingErrorType = 'LoadingError';\r\n\r\nexport type Deferred = T | LoadingType | LoadingErrorType;\r\n\r\nexport function bindToApi(\r\n p: IProperty>,\r\n api: () => Promise,\r\n delay?: number\r\n): void {\r\n let reqId = 0;\r\n\r\n autorun(\r\n async () => {\r\n reqId++;\r\n const currentReqId = reqId;\r\n\r\n p.set('Loading');\r\n\r\n try {\r\n const v = await api();\r\n\r\n if (currentReqId === reqId) {\r\n p.set(v);\r\n }\r\n } catch (e) {\r\n p.set(LoadingError);\r\n }\r\n },\r\n {\r\n delay: delay || 250\r\n }\r\n );\r\n}\r\n\r\nexport function loadedOrUndefined(model: Deferred): T | undefined {\r\n if (model === Loading || model === LoadingError) return undefined;\r\n return model;\r\n}\r\n\r\nexport function ensureLoaded(expr: () => Deferred): Promise {\r\n return new Promise((resolve, reject) => {\r\n let value = expr();\r\n if (isLoaded(value)) {\r\n resolve(value);\r\n return;\r\n }\r\n\r\n let dispose = reaction(expr, (model) => {\r\n if (model === LoadingError) reject(model);\r\n else if (isLoaded(model)) resolve(model);\r\n dispose();\r\n });\r\n });\r\n}\r\n\r\nexport function isLoaded(model: Deferred): model is T {\r\n return !(model === Loading || model === LoadingError);\r\n}\r\n\r\nexport function bindToDataSource(dataSource: Deferred) {\r\n return {\r\n loading: dataSource === 'Loading',\r\n dataSource: isLoaded(dataSource) ? dataSource : undefined\r\n };\r\n}\r\n\r\nexport interface IActivatable {\r\n activate(): Promise;\r\n}\r\n","export const init = (\r\n api: () => {\r\n post(url: string, data: any, config?: any): Promise;\r\n }\r\n) => {\r\n _api = api;\r\n};\r\n\r\nlet _api: () => {\r\n post(url: string, data: any, config?: any): Promise;\r\n};\r\n\r\nexport const send: any = async (url: string, props: object) => {\r\n return await _api()\r\n .post(url, JSON.stringify(props))\r\n .catch((err: any) => {\r\n throw err;\r\n });\r\n};\r\n","import { FormFieldValidator } from \"./formField\";\r\n\r\nexport class BindableFormFieldDefinition {\r\n constructor(public validator : FormFieldValidator, public getValueFromDto: (dto: Partial) => Promise, public updateDto: (dto: Partial, value: TValue) => void) {\r\n }\r\n}","import { BindableFormFieldDefinition } from './bindableFormFieldDefinition';\r\nimport { Deferred, ensureLoaded, FormFieldValidator } from '../index';\r\nimport { BindableForm } from './bindableForm';\r\nimport { NullValidator, RequiredFieldValidator } from './formField';\r\n\r\nexport class BindableFormBuilder {\r\n constructor(\r\n private fieldDefinitions: {\r\n [P in keyof S]: BindableFormFieldDefinition;\r\n },\r\n private metadata?: { [P in keyof T]: { required?: boolean } }\r\n ) {}\r\n\r\n addFields(\r\n ...fields: TInclude[]\r\n ): BindableFormBuilder> {\r\n if (!this.metadata) throw new Error('Missing metadata');\r\n\r\n for (const f of fields) {\r\n (this.fieldDefinitions as any)[\r\n f\r\n ] = this.createFieldDefinitionFromMetadata(f);\r\n }\r\n\r\n return new BindableFormBuilder(\r\n this.fieldDefinitions as any,\r\n this.metadata\r\n );\r\n }\r\n\r\n addAllFieldsExcept(\r\n ...except: TOmit[]\r\n ): BindableFormBuilder> {\r\n if (!this.metadata) throw new Error('Missing metadata');\r\n\r\n for (const f in this.metadata) {\r\n if (!this.metadata.hasOwnProperty(f)) continue;\r\n\r\n if (except.includes(f as any)) continue;\r\n\r\n (this.fieldDefinitions as any)[\r\n f\r\n ] = this.createFieldDefinitionFromMetadata(f);\r\n }\r\n\r\n return new BindableFormBuilder(\r\n this.fieldDefinitions as any,\r\n this.metadata\r\n );\r\n }\r\n\r\n addField(\r\n dtoField: TDtoKey\r\n ): BindableFormBuilder;\r\n addField(\r\n dtoField: TDtoKey,\r\n options: { validator?: FormFieldValidator }\r\n ): BindableFormBuilder;\r\n addField(\r\n dtoField: TDtoKey,\r\n options: {\r\n fieldName: TField;\r\n validator?: FormFieldValidator;\r\n }\r\n ): BindableFormBuilder;\r\n addField(\r\n dtoField: TDtoKey,\r\n options?: {\r\n fieldName?: TField;\r\n validator?: FormFieldValidator;\r\n }\r\n ): any {\r\n const fieldDefinition = new BindableFormFieldDefinition(\r\n this.getValidator(dtoField, options),\r\n async (dto) => dto[dtoField],\r\n (dto, value) => (dto[dtoField] = value)\r\n );\r\n const fieldName = options?.fieldName ?? dtoField;\r\n (this.fieldDefinitions as any)[fieldName] = fieldDefinition;\r\n return new BindableFormBuilder(\r\n this.fieldDefinitions as any,\r\n this.metadata\r\n );\r\n }\r\n\r\n addLookupField<\r\n TDtoKey extends keyof T,\r\n TComponent extends { id: string | number }\r\n >(\r\n dtoField: TDtoKey,\r\n dataSource: () => Deferred\r\n ): BindableFormBuilder;\r\n addLookupField<\r\n TDtoKey extends keyof T,\r\n TComponent extends { id: string | number },\r\n TField extends keyof any\r\n >(\r\n dtoField: TDtoKey,\r\n dataSource: () => Deferred,\r\n options: { validator?: FormFieldValidator }\r\n ): BindableFormBuilder;\r\n addLookupField<\r\n TDtoKey extends keyof T,\r\n TComponent extends { id: string | number },\r\n TField extends keyof any\r\n >(\r\n dtoField: TDtoKey,\r\n dataSource: () => Deferred,\r\n options: {\r\n fieldName: TField;\r\n validator?: FormFieldValidator;\r\n }\r\n ): BindableFormBuilder;\r\n addLookupField<\r\n TDtoKey extends keyof T,\r\n TComponent extends { id: string | number },\r\n TField extends keyof any\r\n >(\r\n dtoField: TDtoKey,\r\n dataSource: () => Deferred,\r\n options?: {\r\n fieldName?: TField;\r\n validator?: FormFieldValidator;\r\n }\r\n ): BindableFormBuilder {\r\n const fieldDefinition = new BindableFormFieldDefinition<\r\n T,\r\n TComponent | undefined\r\n >(\r\n this.getValidator(dtoField, options),\r\n async (dto) => {\r\n const ds = await ensureLoaded(dataSource);\r\n // @ts-ignore\r\n return ds.find((i) => i.id === dto[dtoField]);\r\n },\r\n (dto, value) => (dto[dtoField] = value && (value.id as any))\r\n );\r\n const fieldName = options?.fieldName ?? dtoField;\r\n (this.fieldDefinitions as any)[fieldName] = fieldDefinition;\r\n return new BindableFormBuilder(\r\n this.fieldDefinitions as any,\r\n this.metadata\r\n );\r\n }\r\n\r\n addMultiLookupField<\r\n TDtoKey extends keyof T,\r\n TComponent extends { id: string | number }\r\n >(\r\n dtoField: TDtoKey,\r\n dataSource: () => Deferred\r\n ): BindableFormBuilder;\r\n addMultiLookupField<\r\n TDtoKey extends keyof T,\r\n TComponent extends { id: string | number },\r\n TField extends keyof any\r\n >(\r\n dtoField: TDtoKey,\r\n dataSource: () => Deferred,\r\n options: { validator?: FormFieldValidator }\r\n ): BindableFormBuilder;\r\n addMultiLookupField<\r\n TDtoKey extends keyof T,\r\n TComponent extends { id: string | number },\r\n TField extends keyof any\r\n >(\r\n dtoField: TDtoKey,\r\n dataSource: () => Deferred,\r\n options: {\r\n fieldName: TField;\r\n validator?: FormFieldValidator;\r\n }\r\n ): BindableFormBuilder;\r\n addMultiLookupField<\r\n TDtoKey extends keyof T,\r\n TComponent extends { id: string | number },\r\n TField extends keyof any\r\n >(\r\n dtoField: TDtoKey,\r\n dataSource: () => Deferred,\r\n options?: {\r\n fieldName?: TField;\r\n validator?: FormFieldValidator;\r\n }\r\n ): BindableFormBuilder {\r\n const fieldDefinition = new BindableFormFieldDefinition<\r\n T,\r\n TComponent[]\r\n >(\r\n this.getValidator(dtoField, options),\r\n async (dto) => {\r\n const ds = await ensureLoaded(dataSource);\r\n if (!dto[dtoField]) return [];\r\n // @ts-ignore\r\n return ds.filter((i) => dto[dtoField].includes(i.id));\r\n },\r\n (dto, value) => (dto[dtoField] = value.map((v) => v.id) as any)\r\n );\r\n const fieldName = options?.fieldName ?? dtoField;\r\n (this.fieldDefinitions as any)[fieldName] = fieldDefinition;\r\n return new BindableFormBuilder(\r\n this.fieldDefinitions as any,\r\n this.metadata\r\n );\r\n }\r\n\r\n addCustomField(\r\n fieldName: TField,\r\n getValueFromDto: (dto: Partial) => Promise,\r\n updateDto: (dto: Partial, value: TValue) => void,\r\n options?: { validator?: FormFieldValidator }\r\n ): BindableFormBuilder {\r\n (this.fieldDefinitions as any)[\r\n fieldName\r\n ] = new BindableFormFieldDefinition(\r\n options?.validator ?? NullValidator,\r\n getValueFromDto,\r\n updateDto\r\n );\r\n\r\n return new BindableFormBuilder(\r\n this.fieldDefinitions as any,\r\n this.metadata\r\n );\r\n }\r\n\r\n bindTo(dtoAccessor: () => Partial): BindableForm {\r\n return new BindableForm(this.fieldDefinitions, dtoAccessor);\r\n }\r\n\r\n private createFieldDefinitionFromMetadata(f: keyof T) {\r\n return new BindableFormFieldDefinition(\r\n this.getValidator(f),\r\n async (dto) => dto[f],\r\n (dto, value) => (dto[f] = value)\r\n );\r\n }\r\n\r\n private getValidator(\r\n dtoField: TDtoKey,\r\n options?: { validator?: FormFieldValidator }\r\n ) {\r\n return (\r\n (options?.validator ??\r\n (this.metadata &&\r\n (this.metadata[dtoField].required\r\n ? RequiredFieldValidator\r\n : undefined))) ||\r\n NullValidator\r\n );\r\n }\r\n}\r\n","import { FormField } from './formField';\r\nimport { Form } from './form';\r\nimport { BindableFormFieldDefinition } from './bindableFormFieldDefinition';\r\nimport { isLoaded } from '../index';\r\nimport { autorun } from 'mobx';\r\nimport { BindableFormBuilder } from './bindableFormBuilder';\r\n\r\nexport function bindableForm(\r\n metadata?: { [P in keyof TDto]: { required?: boolean } }\r\n): BindableFormBuilder {\r\n return new BindableFormBuilder({}, metadata);\r\n}\r\n\r\nexport class BindableForm {\r\n get isPristine() {\r\n return this.inner.isPristine;\r\n }\r\n get isDirty() {\r\n return this.inner.isDirty;\r\n }\r\n\r\n readonly fields: { [P in keyof TSchema]: FormField };\r\n\r\n private readonly inner: Form;\r\n private readonly fieldBindings: [\r\n FormField,\r\n BindableFormFieldDefinition\r\n ][] = [];\r\n\r\n constructor(\r\n private fieldDefinitions: {\r\n [P in keyof TSchema]: BindableFormFieldDefinition;\r\n },\r\n private dtoAccessor: () => Partial\r\n ) {\r\n const fields: any = {};\r\n for (const p in fieldDefinitions) {\r\n if (!fieldDefinitions.hasOwnProperty(p)) continue;\r\n\r\n const fieldDefinition = fieldDefinitions[p];\r\n const field = new FormField(\r\n undefined,\r\n fieldDefinition.validator\r\n );\r\n\r\n fields[p] = field;\r\n this.fieldBindings.push([field, fieldDefinition]);\r\n }\r\n this.fields = fields;\r\n this.inner = new Form(fields);\r\n\r\n autorun(() => {\r\n this._reset(dtoAccessor());\r\n });\r\n }\r\n\r\n reset() {\r\n return this._reset(this.dtoAccessor());\r\n }\r\n\r\n validate() {\r\n return this.inner.validate();\r\n }\r\n\r\n commit() {\r\n const dto = this.dtoAccessor();\r\n if (isLoaded(dto)) this._commit(dto);\r\n }\r\n\r\n async validateAndCommit() {\r\n if (!(await this.validate())) return false;\r\n await this.commit();\r\n return true;\r\n }\r\n\r\n private async _reset(dto: Partial) {\r\n if (!dto) return;\r\n await Promise.all(\r\n this.fieldBindings.map((b) => {\r\n return b[1].getValueFromDto(dto).then((v) => {\r\n b[0].reset(v);\r\n });\r\n })\r\n );\r\n }\r\n\r\n private _commit(dto: Partial) {\r\n for (const binding of this.fieldBindings) {\r\n binding[1].updateDto(dto, binding[0].value);\r\n }\r\n }\r\n}\r\n","import { IProperty } from \"../index\";\r\nimport { BindableForm } from \"./bindableForm\";\r\nimport { default as React, ReactElement, ReactNode } from \"react\";\r\n\r\nexport * from \"./form\";\r\nexport * from \"./formField\";\r\nexport * from \"./bindableForm\";\r\n\r\nexport function formField(form : BindableForm, field : P) : IProperty {\r\n return {\r\n get: () => form.fields[field].value,\r\n set: v => form.fields[field].value = v\r\n }\r\n}","import { FormField, FormState, IFormField } from 'react-mvvm/forms';\r\nimport { default as React, ReactElement } from 'react';\r\nimport { FormItemProps } from 'antd/lib/form/FormItem';\r\nimport { bindTo, property } from 'react-mvvm';\r\nimport { Form as TheForm } from 'antd';\r\nimport { observer } from 'mobx-react';\r\nimport style from './AntField.module.scss';\r\n\r\nexport type FieldInputProps = {\r\n value: T | undefined;\r\n onChange: (value: T | undefined) => void;\r\n onCommit: () => void;\r\n};\r\n\r\nfunction getValidationStatus(field: IFormField) {\r\n if (field.state === FormState.Invalid) return 'error';\r\n if (field.isValidating) return 'validating';\r\n if (field.state === FormState.Valid) return 'success';\r\n return '';\r\n}\r\n\r\ntype ChildrenType = (inputProps: FieldInputProps) => ReactElement;\r\n\r\nfunction fieldImpl(\r\n props: {\r\n field: FormField;\r\n children: ChildrenType;\r\n description?: string;\r\n dscextend?: ReactElement;\r\n } & Omit\r\n) {\r\n const field = props.field;\r\n const inputProps = {\r\n ...bindTo(property(field, 'value')),\r\n onCommit: () => field.commit()\r\n };\r\n\r\n return (\r\n 0 ? field.errors.join('\\n') : false}\r\n hasFeedback={field.state === FormState.Invalid}>\r\n {props.description && (\r\n {props.description}\r\n )}\r\n {!!props.dscextend && (\r\n {props.dscextend}\r\n )}\r\n {props.children(inputProps)}\r\n \r\n );\r\n}\r\n\r\nconst AntField = observer(fieldImpl);\r\n\r\nexport default AntField;\r\n","export { default } from './AntField';","import * as React from 'react';\r\n\r\ninterface FlexProps {\r\n flexDirection?: 'row' | 'row-reverse' | 'column' | 'column-reverse';\r\n flexWrap?: 'nowrap' | 'wrap' | 'wrap-reverse';\r\n justifyContent?:\r\n | 'flex-start'\r\n | 'flex-end'\r\n | 'center'\r\n | 'space-between'\r\n | 'space-around'\r\n | 'space-evenly'\r\n | 'start'\r\n | 'end'\r\n | 'left'\r\n | 'right'\r\n | 'unsafe';\r\n alignItems?:\r\n | 'stretch'\r\n | 'flex-start'\r\n | 'flex-end'\r\n | 'center'\r\n | 'baseline'\r\n | 'first baseline'\r\n | 'last baseline'\r\n | 'start'\r\n | 'end'\r\n | 'self-start'\r\n | 'self-end'\r\n | 'unsafe';\r\n alignContent?:\r\n | 'flex-start'\r\n | 'flex-end'\r\n | 'center'\r\n | 'space-between'\r\n | 'space-around'\r\n | 'space-evenly'\r\n | 'stretch'\r\n | 'start'\r\n | 'end'\r\n | 'baseline'\r\n | 'first baseline'\r\n | 'last baseline'\r\n | 'unsafe';\r\n customClass?: string;\r\n}\r\n\r\nconst Flex: React.FunctionComponent = ({\r\n children,\r\n flexDirection = 'row',\r\n flexWrap = 'nowrap',\r\n justifyContent = 'flex-start',\r\n alignItems = 'stretch',\r\n alignContent = 'flex-start',\r\n customClass = ''\r\n}) => {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default Flex;\r\n","export { default} from './Flex';","import { observable } from 'mobx';\r\nimport {notification} from \"antd\";\r\n\r\nexport interface ILoader {\r\n isLoading: boolean;\r\n error?: string;\r\n}\r\n\r\nexport default function loader<\r\n T extends { [key: string]: (...args: any[]) => Promise },\r\n K extends keyof T\r\n>(api: T, errorMessages?: { [P in keyof T]: string }): T & ILoader {\r\n let result: any = observable({ isLoading: false, error: null });\r\n for (let method in api) {\r\n if (!api.hasOwnProperty(method)) continue;\r\n result[method] = async function(...args: any[]) {\r\n result.isLoading = true;\r\n result.error = null;\r\n \r\n try {\r\n return await api[method].apply(api, args);\r\n } catch (e) {\r\n \r\n if (e.errors && e.errors.length != 0) {\r\n result.error = e.errors.join(', ');\r\n } else if ('response' in e && e.response.status === 400) {\r\n result.error = (e.response.data.errors as string[]).map(\r\n (value, index) => `${index + 1}. ${value}`\r\n );\r\n } else if (errorMessages) {\r\n result.error = errorMessages[method];\r\n } else {\r\n result.error = e;\r\n throw e;\r\n }\r\n if(!!result.error) {\r\n notification.error({\r\n message: 'Validation Error',\r\n description: result.error,\r\n duration: 0\r\n })\r\n }\r\n \r\n } finally {\r\n result.isLoading = false;\r\n }\r\n };\r\n }\r\n return result;\r\n}\r\n","import React from \"react\";\r\nimport { Input } from \"antd\";\r\nimport { InputProps } from \"antd/lib/input/Input\";\r\n\r\ntype Props = { value? : string | undefined, onChange? : (value : string) => void, onCommit? : () => void };\r\n\r\nconst AntTextInput = ({value, \r\n onChange, \r\n onCommit, \r\n ...props\r\n} : Props & Omit)=>\r\n onChange && onChange(e.target.value)} \r\n onBlur={() => onCommit && onCommit() }/>;\r\n\r\nexport default AntTextInput;","export { default } from './AntTextInput';","// extracted by mini-css-extract-plugin\nmodule.exports = {\"content\":\"Membership_content__39qXw\",\"pageTitle\":\"Membership_pageTitle__2j5Qu\",\"membershipDisabled\":\"Membership_membershipDisabled__336Yy\",\"empty\":\"Membership_empty__22ZKd\",\"box\":\"Membership_box__yDsbF\",\"dataContent\":\"Membership_dataContent__kyQNG\",\"partyRow\":\"Membership_partyRow__1ZSex\",\"rowTxt\":\"Membership_rowTxt__TQHVV\",\"fileRow\":\"Membership_fileRow__1WpoN\",\"fileBtn\":\"Membership_fileBtn__lJmGL\",\"addCard\":\"Membership_addCard__31N5q\",\"addCardTxt\":\"Membership_addCardTxt__tr13i\",\"btn\":\"Membership_btn__GzDf0\",\"title\":\"Membership_title__2KBvb\",\"titleTxt\":\"Membership_titleTxt__32ZX0\",\"titleIcon\":\"Membership_titleIcon__rD6nC\",\"titleLink\":\"Membership_titleLink__FTP_N\",\"subscriptionTileLink\":\"Membership_subscriptionTileLink__2OJT1\",\"btnLink\":\"Membership_btnLink__-DIzS\",\"personalData\":\"Membership_personalData__3WSRg\",\"addUrlField\":\"Membership_addUrlField__3ySl3\",\"renewalAlert\":\"Membership_renewalAlert__1OOtX\",\"partyStyle\":\"Membership_partyStyle__wozhk\",\"futureMembership\":\"Membership_futureMembership__2FKdQ\"};","import * as React from 'react';\r\nimport style from './PageLoader.module.scss';\r\nimport { Spin } from 'antd';\r\nimport { ILoader } from 'react-mvvm/loading/loader';\r\nimport { observer } from 'mobx-react';\r\n\r\ninterface PageLoaderProps {\r\n loader: ILoader;\r\n}\r\n\r\nconst PageLoader: React.FC = observer(\r\n ({ loader, children }) => {\r\n if (loader.isLoading) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n return <>{children};\r\n }\r\n);\r\n\r\nexport default PageLoader;\r\n","export { default } from './PageLoader';","export { default } from './AntForm';","import { action, computed, isAction, observable, runInAction } from \"mobx\";\r\nimport { Command } from \"./Command\";\r\n\r\nexport function contextualCommand(execute : (context : TContext) => void, enabled? : (context : TContext) => boolean){\r\n return new ContextualCommand(execute, enabled);\r\n} \r\n\r\nexport class ContextualCommand {\r\n\r\n private readonly _canExecute: ((context: TContext) => boolean) | null;\r\n private readonly _execute: ((context: TContext) => Promise) | ((context: TContext) => TResult);\r\n\r\n @computed get isRunning() {\r\n return this._isRunning;\r\n }\r\n\r\n @observable private _isRunning: boolean = false;\r\n\r\n constructor(execute: ((context: TContext) => Promise) | ((context: TContext) => TResult), canExecute?: (context: TContext) => boolean) {\r\n this._execute = isAction(execute) ? execute : action(execute);\r\n this._canExecute = canExecute || null;\r\n }\r\n\r\n canExecute(context: TContext) {\r\n return !this._canExecute || this._canExecute(context);\r\n }\r\n\r\n @action.bound\r\n async execute(context: TContext): Promise {\r\n if (!this.canExecute(context))\r\n return Promise.reject();\r\n \r\n this._isRunning = true;\r\n try {\r\n return await this._execute(context);\r\n }\r\n finally {\r\n runInAction(() => this._isRunning = false);\r\n }\r\n }\r\n \r\n asCommand(contextAccessor: () => TContext, isEnabled: () => boolean) {\r\n return new Command(() => this.execute(contextAccessor()), () => isEnabled() && this.canExecute(contextAccessor()));\r\n }\r\n}\r\n","import { action, computed, isAction, observable, runInAction } from \"mobx\";\r\nimport { ContextualCommand } from \"./ContextualCommand\";\r\n\r\nexport interface ICommand {\r\n readonly isEnabled : boolean;\r\n readonly isRunning : boolean;\r\n execute() : Promise\r\n}\r\n\r\nexport class Command {\r\n\r\n @computed get isEnabled() : boolean {\r\n return (!this._enabledValueAccessor || !!this._enabledValueAccessor()) && !this._isRunning;\r\n }\r\n\r\n @observable private _isRunning: boolean = false;\r\n @computed get isRunning() {\r\n return this._isRunning;\r\n }\r\n\r\n @observable error: string | undefined = undefined;\r\n\r\n private readonly _enabledValueAccessor: (() => K | undefined) | undefined;\r\n private readonly _execute: ((v : K) => Promise) | (() => T);\r\n \r\n constructor(execute: ((v : K) => Promise) | (() => T), enabled?: () => K | undefined) {\r\n this._execute = isAction(execute) ? execute : action(execute);\r\n this._enabledValueAccessor = enabled;\r\n }\r\n\r\n @action.bound async execute(): Promise {\r\n this.error = undefined;\r\n\r\n const enabledValue = this._enabledValueAccessor && this._enabledValueAccessor();\r\n if (this._enabledValueAccessor && !enabledValue)\r\n return Promise.reject();\r\n\r\n this._isRunning = true;\r\n try {\r\n return await this._execute(enabledValue as any);\r\n } \r\n catch (ex) {\r\n this.error = ex.message;\r\n return Promise.reject();\r\n }\r\n finally {\r\n this._isRunning = false;\r\n }\r\n }\r\n\r\n asContextualCommand() {\r\n return new ContextualCommand(c => this.execute(), c => this.isEnabled);\r\n }\r\n}\r\n","import { Command } from './Command';\r\nimport { MouseEvent } from 'react';\r\nimport { ContextualCommand } from './ContextualCommand';\r\nimport { BindableForm } from '../forms';\r\n\r\nexport * from './Command';\r\nexport * from './ContextualCommand';\r\n\r\nexport function asyncCommand(\r\n execute: (e: K) => Promise,\r\n enabled?: () => K | undefined\r\n) {\r\n return new Command(execute, enabled);\r\n}\r\n\r\nexport function command(execute: () => T, enabled?: () => boolean) {\r\n return new Command(execute, enabled);\r\n}\r\n\r\nexport function bindToCommand(command: Command) {\r\n return {\r\n onClick: (e: MouseEvent) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n return command.execute();\r\n },\r\n disabled: !command.isEnabled\r\n };\r\n}\r\n\r\nexport function bindToContextualCommand(\r\n command: ContextualCommand,\r\n context: T\r\n) {\r\n return {\r\n onClick: (e: MouseEvent) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n return command.execute(context);\r\n },\r\n disabled: !command.canExecute(context)\r\n };\r\n}\r\n\r\nexport function submitFormCommand(\r\n form: BindableForm,\r\n execute: (e: boolean) => Promise\r\n) {\r\n return new Command(\r\n async (e) => {\r\n if (await form.validateAndCommit()) {\r\n await execute(e);\r\n }\r\n },\r\n () => !form.isPristine\r\n );\r\n}\r\n\r\nexport function alwaysEnabledSubmitFormCommand(\r\n form: BindableForm,\r\n execute: (e: boolean) => Promise\r\n) {\r\n return new Command(async (e) => {\r\n if (await form.validateAndCommit()) {\r\n await execute(e);\r\n }\r\n });\r\n}\r\n","import React, { PropsWithChildren } from \"react\";\r\nimport { Modal } from \"antd\";\r\nimport { ICommand } from \"react-mvvm\";\r\nimport { observer } from \"mobx-react\";\r\nimport { ModalProps } from \"antd/lib/modal\";\r\n\r\nconst AntModal = observer((props : PropsWithChildren<{ okCommand? : ICommand, cancel : () => void, cancelCommand? : ICommand}> & ModalProps) => {\r\n function onCancel() {\r\n props.cancel?.();\r\n props.cancelCommand?.execute()\r\n }\r\n\r\n return (\r\n props.okCommand?.execute()}\r\n okButtonProps={{disabled: !props.okCommand?.isEnabled, ...props.okButtonProps}}\r\n confirmLoading={props.okCommand?.isRunning}\r\n onCancel={onCancel}\r\n cancelButtonProps={{disabled: props.cancelCommand && !props.cancelCommand.isEnabled}}>\r\n {props.children}\r\n \r\n );\r\n});\r\n\r\nexport default AntModal;\r\n","export { default } from './AntModal';","// extracted by mini-css-extract-plugin\nmodule.exports = {\"btnAdd\":\"UserAddresses_btnAdd__2sWFA\",\"btn\":\"UserAddresses_btn__1Is8O\",\"box\":\"UserAddresses_box__3e57u\",\"partyBox\":\"UserAddresses_partyBox__vsXTo\",\"partyBoxAddress\":\"UserAddresses_partyBoxAddress__18dPw\",\"partyBoxSelected\":\"UserAddresses_partyBoxSelected__1KZWs\",\"party\":\"UserAddresses_party__2CQl1\",\"partyLine\":\"UserAddresses_partyLine__1_mIO\",\"accordion\":\"UserAddresses_accordion__2WD28\",\"dropdown\":\"UserAddresses_dropdown__1vyLF\",\"dropdownMenu\":\"UserAddresses_dropdownMenu__-6iyE\",\"dropdownItem\":\"UserAddresses_dropdownItem__3-Bx4\",\"dropdownEmpty\":\"UserAddresses_dropdownEmpty__35wZ2\",\"dropdownText\":\"UserAddresses_dropdownText__Qp8sx\",\"dropdownLink\":\"UserAddresses_dropdownLink__1CeRt\",\"dropdownIcon\":\"UserAddresses_dropdownIcon__39Xqn\",\"truncateBtn\":\"UserAddresses_truncateBtn__2p3tb\",\"partyTruncate\":\"UserAddresses_partyTruncate__1tWE7\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"box\":\"UserInfo_box__josAM\",\"titleBox\":\"UserInfo_titleBox__2i7wc\",\"edit\":\"UserInfo_edit__2Yv-g\",\"list\":\"UserInfo_list__2GASV\",\"listItem\":\"UserInfo_listItem__3eeUX\",\"deleteAccount\":\"UserInfo_deleteAccount__lUu_x\",\"become\":\"UserInfo_become__2cngZ\",\"judgeBtn\":\"UserInfo_judgeBtn__2kxTt\",\"judgeBtnTxt\":\"UserInfo_judgeBtnTxt__3zKv6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"content\":\"SubmissionForm_content__lf82e\",\"checkboxField\":\"SubmissionForm_checkboxField__1AOJY\",\"multilineField\":\"SubmissionForm_multilineField__1icrI\",\"help\":\"SubmissionForm_help__3pJ0h\",\"formContainer\":\"SubmissionForm_formContainer__BWssW\",\"questionRow\":\"SubmissionForm_questionRow__2LYY-\",\"descSection\":\"SubmissionForm_descSection__3Tsjo\",\"errorsInForm\":\"SubmissionForm_errorsInForm__1hbuf\",\"loader\":\"SubmissionForm_loader__2rh49\"};","import { asyncCommand } from 'react-mvvm/commands';\r\nimport { IActivatable } from '../../../react-mvvm';\r\n\r\nclass ConfirmationModal implements IActivatable {\r\n constructor(\r\n private onConfirm: () => void,\r\n private close: (r: boolean) => void,\r\n public subject?: string\r\n ) {}\r\n\r\n confirm = asyncCommand(async () => {\r\n await this.onConfirm();\r\n this.close(true);\r\n });\r\n\r\n cancel = () => this.close(false);\r\n\r\n activate(): Promise {\r\n return Promise.resolve();\r\n }\r\n}\r\n\r\nexport default ConfirmationModal;\r\n","\r\nimport {IActivatable} from \"react-mvvm\";\r\n\r\nclass BaseDialog implements IActivatable {\r\n constructor(public close: (g: TData | undefined) => void) {\r\n }\r\n\r\n public activate() {\r\n return Promise.resolve();\r\n }\r\n \r\n cancel = () => this.close(undefined);\r\n}\r\n\r\nexport default BaseDialog;\r\n","import * as React from 'react';\r\nimport classNames from 'classnames';\r\nimport componentStyle from './Link.module.scss';\r\nimport { ReactComponent as Next } from 'common/icons/next_icn.svg';\r\nimport { ReactComponent as Prev } from 'common/icons/navigation_previous.svg';\r\n\r\ninterface LinkProps {\r\n href?: string;\r\n title?: string;\r\n size?: 'large' | 'default' | 'small' | 'huge';\r\n type?: 'plain' | 'default';\r\n style?: string;\r\n onClick?: () => void;\r\n arrowIcon?: 'left' | 'right';\r\n target?: '_blank' | '_self' | '_parent' | '_top';\r\n negative?: boolean\r\n}\r\n\r\nconst Link: React.FC = ({\r\n href,\r\n title = '',\r\n size = 'default',\r\n type = 'default',\r\n style,\r\n onClick,\r\n children,\r\n arrowIcon,\r\n target,\r\n negative = false\r\n}) => {\r\n const linkStyle = classNames(\r\n `${componentStyle.link}`,\r\n {[componentStyle.linkNegative]: negative},\r\n {\r\n [`${componentStyle.huge}`]: size === 'huge',\r\n [`${componentStyle.large}`]: size === 'large',\r\n [`${componentStyle.small}`]: size === 'small',\r\n [`${componentStyle.plain}`]: type === 'plain'\r\n },\r\n !!style && !arrowIcon ? style : ''\r\n );\r\n\r\n const containerStyle = classNames(\r\n componentStyle.container,\r\n !!arrowIcon ? style : ''\r\n );\r\n const hrefLink = !!href ? { href } : null;\r\n const targetLink = !!target ? {target: target} : null; \r\n const link = (\r\n onClick && onClick()}>\r\n {children}\r\n \r\n );\r\n return !!arrowIcon ? (\r\n
\r\n {!!arrowIcon && arrowIcon === 'left' ? (\r\n \r\n ) : null}\r\n {link}\r\n {!!arrowIcon && arrowIcon === 'right' ? (\r\n \r\n ) : null}\r\n
\r\n ) : (\r\n link\r\n );\r\n};\r\n\r\nexport default Link;\r\n","export { default } from './Link';","// extracted by mini-css-extract-plugin\nmodule.exports = {\"preview\":\"RenderPreview_preview__2Q-D8\",\"icon\":\"RenderPreview_icon__2s2NY\",\"download\":\"RenderPreview_download__2CuLr\",\"zoom\":\"RenderPreview_zoom__2-PeW\",\"previewImg\":\"RenderPreview_previewImg__1gT8_\",\"ratio\":\"RenderPreview_ratio__1oR4N\",\"img\":\"RenderPreview_img__2nr8r\",\"pdf\":\"RenderPreview_pdf__3nZiU\",\"pdfName\":\"RenderPreview_pdfName__3SSmH\",\"pdfBox\":\"RenderPreview_pdfBox__24sGV\",\"play\":\"RenderPreview_play__Wd7_J\",\"playIcon\":\"RenderPreview_playIcon__11Skd\",\"title\":\"RenderPreview_title__3ZwtQ\"};","import { action, computed, observable, reaction } from 'mobx';\r\nimport i18next from 'i18next';\r\n\r\nexport enum FormState {\r\n Pending,\r\n Valid,\r\n Invalid\r\n}\r\n\r\nexport interface IFormField {\r\n readonly isValidating: boolean;\r\n readonly isPristine: boolean;\r\n readonly state: FormState;\r\n\r\n validate(): Promise;\r\n\r\n commit(): Promise;\r\n\r\n onValueChange?(value: any): void;\r\n}\r\n\r\nexport class FormField implements IFormField {\r\n @observable.ref value: T | undefined;\r\n\r\n get isValidating(): boolean {\r\n return !!this._currentValidation;\r\n }\r\n\r\n @computed get isPristine() {\r\n return this.areEqual(this.value, this._pristineValue);\r\n }\r\n\r\n get isRequired() {\r\n return (\r\n this.validator.name === RequiredFieldValidator.name ||\r\n this.validator.name === RequiredEmailValidator.name ||\r\n this.validator.name === RequiredUrlValidator.name ||\r\n this.validator.name === RequiredPostalCodeValidator.name ||\r\n this.validator.name === RequiredVideoLinkValidator.name ||\r\n this.validator.name === RequiredOrganisationNumberValidator.name\r\n );\r\n }\r\n\r\n get isDirty() {\r\n return !this.isPristine;\r\n }\r\n\r\n @computed get state(): FormState {\r\n if (this._isPendingValidation) return FormState.Pending;\r\n if (this._currentValidation) return FormState.Pending;\r\n return this.errors.length === 0 ? FormState.Valid : FormState.Invalid;\r\n }\r\n\r\n @observable private _isPendingValidation = true;\r\n @observable.ref private _errors: ReadonlyArray = [];\r\n\r\n get errors(): ReadonlyArray {\r\n return this._errors;\r\n }\r\n\r\n @observable.ref private _pristineValue: T | undefined;\r\n @observable private _valueHasBeenCommitted: boolean = false;\r\n @observable.ref private _currentValidation:\r\n | Promise\r\n | undefined;\r\n private _needsValidation: boolean = false;\r\n\r\n constructor(\r\n value: T | undefined,\r\n public validator: FormFieldValidator,\r\n private comparer?: (a: T, b: T) => boolean,\r\n public onValueChange?: (value: any) => void\r\n ) {\r\n this.value = value;\r\n this._pristineValue = value;\r\n\r\n reaction(\r\n () => this.value,\r\n (value) => {\r\n if (this._valueHasBeenCommitted || !this._isPendingValidation) {\r\n this.validate();\r\n }\r\n if (this.onValueChange) this.onValueChange(value);\r\n },\r\n {\r\n delay: 250\r\n }\r\n );\r\n }\r\n\r\n validate(): Promise {\r\n this._isPendingValidation = false;\r\n if (!this._currentValidation) {\r\n this._currentValidation = this._validate();\r\n }\r\n return this._currentValidation;\r\n }\r\n\r\n @action\r\n reset(pristineValue?: T) {\r\n if (pristineValue !== undefined) {\r\n this._pristineValue = pristineValue;\r\n }\r\n\r\n this.value = this._pristineValue;\r\n this._isPendingValidation = true;\r\n this._errors = [];\r\n this._valueHasBeenCommitted = false;\r\n }\r\n\r\n async commit() {\r\n if (this.state !== FormState.Invalid) await this.validate();\r\n this._valueHasBeenCommitted = true;\r\n }\r\n\r\n private async _validate() {\r\n try {\r\n do {\r\n this._needsValidation = false;\r\n const result = await this.validator(this.value);\r\n if (result !== true) {\r\n this._errors = result;\r\n return result;\r\n }\r\n } while (this._needsValidation);\r\n\r\n this._errors = [];\r\n return true;\r\n } finally {\r\n this._currentValidation = undefined;\r\n }\r\n }\r\n\r\n private areEqual(a: T | undefined, b: T | undefined) {\r\n if (a === b) return true;\r\n if (a === undefined || b === undefined) return false;\r\n if (this.comparer) return this.comparer(a, b);\r\n return false;\r\n }\r\n}\r\n\r\nexport type FormFieldValidator = (\r\n value: T | undefined\r\n) => (true | string[]) | PromiseLike;\r\n\r\nexport const NullValidator = (value: any): true => true;\r\n\r\nfunction isEmpty(value: {} | string | number | undefined | null) {\r\n if (!value) return true;\r\n\r\n if (Array.isArray(value)) return value.length === 0;\r\n\r\n return value.toString().length === 0;\r\n}\r\n\r\nexport function RequiredFieldValidator(\r\n value: any | undefined\r\n): true | string[] {\r\n if (!isEmpty(value)) {\r\n return true;\r\n } else {\r\n return [i18next.t('form:requiredField')];\r\n }\r\n}\r\n\r\nfunction validateEmail(email: string): boolean {\r\n const re = /^(([^<>()\\[\\]\\.,;:\\s@\\\"]+(\\.[^<>()\\[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i;\r\n return re.test(String(email).toLocaleLowerCase());\r\n}\r\n\r\nexport function RequiredEmailValidator(\r\n value: any | undefined\r\n): true | string[] {\r\n if (!isEmpty(value) && validateEmail(value)) {\r\n return true;\r\n } else {\r\n return [i18next.t('form:requiredFieldAndEmail')];\r\n }\r\n}\r\n\r\nfunction validateUrl(url: string): boolean {\r\n const re = /(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,16}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)/;\r\n return re.test(url.toLocaleLowerCase());\r\n}\r\n\r\nexport function RequiredUrlValidator(value: any | undefined): true | string[] {\r\n if (!isEmpty(value) && validateUrl(value)) {\r\n return true;\r\n } else {\r\n return [i18next.t('form:requiredUrl')];\r\n }\r\n}\r\n\r\nexport function UrlValidator(value: any | undefined): true | string[] {\r\n if (isEmpty(value) || validateUrl(value)) {\r\n return true;\r\n } else {\r\n return [i18next.t('form:validUrl')];\r\n }\r\n}\r\n\r\nfunction validateYoutubeUrl(url: string): boolean {\r\n const re = /^(https?\\:\\/\\/)?((www\\.)?youtube\\.com|youtu\\.be)\\/.+$/;\r\n return re.test(url.toLocaleLowerCase());\r\n}\r\n\r\nfunction validateVimeoUrl(url: string): boolean {\r\n const re = /(http|https)?:\\/\\/(www\\.)?vimeo.com\\/(?:channels\\/(?:\\w+\\/)?|groups\\/([^\\/]*)\\/videos\\/|)(\\d+)(?:|\\/\\?)/;\r\n return re.test(url.toLocaleLowerCase());\r\n}\r\n\r\nfunction organisationNumberValidator(value: any | undefined): boolean {\r\n const re = /^(?:\\D*\\d\\D*){9}$/;\r\n return re.test(value);\r\n}\r\n\r\nexport function RequiredOrganisationNumberValidator(\r\n value: any | undefined\r\n): true | string[] {\r\n if (!isEmpty(value) && organisationNumberValidator(value)) {\r\n return true;\r\n } else {\r\n return [i18next.t('form:requiredField')];\r\n }\r\n}\r\n\r\nexport function VideoLinkValidator(value: any | undefined): true | string[] {\r\n if (\r\n isEmpty(value) ||\r\n (validateUrl(value) &&\r\n (validateYoutubeUrl(value) || validateVimeoUrl(value)))\r\n ) {\r\n return true;\r\n } else {\r\n return [i18next.t('form:vimeoYoutubeValidator')];\r\n }\r\n}\r\n\r\nexport function RequiredVideoLinkValidator(\r\n value: any | undefined\r\n): true | string[] {\r\n if (\r\n !isEmpty(value) &&\r\n validateUrl(value) &&\r\n (validateYoutubeUrl(value) || validateVimeoUrl(value))\r\n ) {\r\n return true;\r\n } else {\r\n return [i18next.t('form:vimeoYoutubeRequired')];\r\n }\r\n}\r\n\r\nfunction validatePostalCode(text: string): boolean {\r\n const re = /[a-z0-9-]{1,8}$/;\r\n\r\n return re.test(text.toLocaleLowerCase());\r\n}\r\n\r\nexport function RequiredPostalCodeValidator(\r\n value: any | undefined\r\n): true | string[] {\r\n if (!isEmpty(value) && validatePostalCode(value)) {\r\n return true;\r\n } else {\r\n return [i18next.t('form:postalCodeRequired')];\r\n }\r\n}\r\n\r\nexport function ConditionalFieldValidator(\r\n value: any | undefined,\r\n conditionalValue: any | undefined,\r\n conditionalFieldName: string\r\n): true | string[] {\r\n if (!isEmpty(conditionalValue) && isEmpty(value)) {\r\n return [\r\n i18next.t('form:conditionalRequired', { conditionalFieldName })\r\n ];\r\n }\r\n\r\n return true;\r\n}\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dragger\":\"Upload_dragger__2yqJc\",\"container\":\"Upload_container__1XHQc\",\"text\":\"Upload_text___lTam\",\"hint\":\"Upload_hint__gZhwU\",\"item\":\"Upload_item__1bTWQ\",\"itemProgress\":\"Upload_itemProgress__1glcd\",\"image\":\"Upload_image__2BELG\",\"img\":\"Upload_img__2gEoL\",\"file\":\"Upload_file__2s-xl\",\"buttons\":\"Upload_buttons__1BI1F\",\"btn\":\"Upload_btn__mYhdr\",\"progress\":\"Upload_progress__1JeKK\",\"progressBar\":\"Upload_progressBar__1hrtq\"};","import { Page } from 'react-mvvm';\r\nimport { action, computed, observable } from 'mobx';\r\nimport { PartyDto } from 'model/Api/Parties/Model/PartyDto';\r\nimport loader from 'react-mvvm/loading/loader';\r\nimport { getParties } from 'model/Api/Parties/GetPartiesRequest';\r\nimport ConfirmationModal from 'common/components/ConfirmationModal/ConfirmationModal';\r\nimport { deleteParty } from 'model/Api/Parties/DeletePartyRequest';\r\nimport PrivateParty from \"../PrivateParty/PrivateParty\";\r\nimport CompanyParty from \"../CompanyParty/CompanyParty\";\r\nimport AddressDialog from \"../AddressDialog/AddressDialog\";\r\n\r\nclass UserAddresses {\r\n page: Page;\r\n isSelectable: boolean;\r\n isExpanded: boolean;\r\n isDoubleSelection: boolean;\r\n @observable parties: PartyDto[] = [];\r\n @observable selectedParty: number | undefined;\r\n @observable deleteParty: PartyDto | undefined;\r\n @observable doubleSelectedParty: {\r\n private: number | undefined;\r\n company: number | undefined;\r\n };\r\n\r\n constructor(\r\n page: Page,\r\n isSelectable?: boolean,\r\n isExpanded?: boolean,\r\n private onSelectAction?: () => void | undefined,\r\n isDoubleSelection?: boolean | undefined\r\n ) {\r\n this.page = page;\r\n this.isSelectable = isSelectable ?? false;\r\n this.isExpanded = isExpanded ?? false;\r\n this.isDoubleSelection = isDoubleSelection ?? false;\r\n this.doubleSelectedParty = {\r\n private: undefined,\r\n company: undefined\r\n };\r\n }\r\n\r\n init = async (userRef?: number) => {\r\n this.parties = await this.api.getParties(userRef);\r\n };\r\n\r\n @computed get sortedParties(): {\r\n private: PartyDto[];\r\n company: PartyDto[];\r\n } {\r\n const priv: PartyDto[] = [];\r\n const company: PartyDto[] = [];\r\n\r\n this.parties.forEach((party) => {\r\n party.orgNo ? company.push(party) : priv.push(party);\r\n });\r\n\r\n return {\r\n private: priv,\r\n company\r\n };\r\n }\r\n\r\n @computed get selectedPartyData(): PartyDto | undefined {\r\n return this.parties.find((party) => party.id === this.selectedParty);\r\n }\r\n\r\n @computed get doubleSelectedPartyData(): {\r\n private: PartyDto | undefined;\r\n company: PartyDto | undefined;\r\n } {\r\n return {\r\n private: this.parties.find(\r\n (party) => party.id === this.doubleSelectedParty.private\r\n ),\r\n company: this.parties.find(\r\n (party) => party.id === this.doubleSelectedParty.company\r\n )\r\n };\r\n }\r\n\r\n api = loader({\r\n getParties: async (userRef?: number) =>\r\n getParties({ userRef: userRef }),\r\n deleteParty: async (partyRef: number) => deleteParty({ partyRef })\r\n });\r\n\r\n onDialogClose = async (\r\n close: (p: PartyDto | undefined) => void,\r\n p: PartyDto | undefined\r\n ) => {\r\n !!this.page.dialog && (await close(p));\r\n };\r\n\r\n onCreateAddress = async (type?: 'private' | 'company', userId?: number) => {\r\n const party = await this.page.showModal<\r\n AddressDialog,\r\n PartyDto | undefined\r\n >(\r\n (close) =>\r\n new AddressDialog(\r\n close,\r\n new PrivateParty((p?: PartyDto) =>\r\n this.onDialogClose(close, p)\r\n , undefined, userId),\r\n new CompanyParty((p?: PartyDto) =>\r\n this.onDialogClose(close, p)\r\n , undefined, userId),\r\n type\r\n )\r\n );\r\n this.parties = await this.api.getParties(userId);\r\n\r\n if (this.isSelectable && !!party) {\r\n await this.onSelectAddress(party.id);\r\n }\r\n };\r\n\r\n onEdit = async (party: PartyDto, userId?: number) => {\r\n const type: 'private' | 'company' = !!party.orgNo\r\n ? 'company'\r\n : 'private';\r\n\r\n await this.page.showModal(\r\n (close) =>\r\n new AddressDialog(\r\n close,\r\n new PrivateParty(\r\n (p?: PartyDto) => this.onDialogClose(close, p),\r\n party\r\n ),\r\n new CompanyParty(\r\n (p?: PartyDto) => this.onDialogClose(close, p),\r\n party\r\n ),\r\n type\r\n )\r\n );\r\n this.parties = await this.api.getParties(userId);\r\n };\r\n\r\n onDelete = async (partyRef: number) => {\r\n this.deleteParty = await this.parties.find(\r\n (party) => party.id === partyRef\r\n );\r\n const isDeleted = await this.page.showModal(\r\n (close) =>\r\n new ConfirmationModal(\r\n () => this.api.deleteParty(partyRef),\r\n close\r\n )\r\n );\r\n if (isDeleted) {\r\n this.parties = await this.parties.filter(\r\n (party) => party.id !== partyRef\r\n );\r\n this.selectedParty = undefined;\r\n this.doubleSelectedParty = {\r\n private: undefined,\r\n company: undefined\r\n };\r\n if (!!this.onSelectAction) {\r\n this.onSelectAction();\r\n }\r\n }\r\n };\r\n\r\n onClear = () => {\r\n this.selectedParty = undefined;\r\n this.doubleSelectedParty = {\r\n private: undefined,\r\n company: undefined\r\n };\r\n if (!!this.onSelectAction) {\r\n this.onSelectAction();\r\n }\r\n };\r\n\r\n @action\r\n onSelectAddress = (id: number) => {\r\n this.selectedParty = id;\r\n\r\n if (this.isDoubleSelection) {\r\n const selected = this.parties.find((party) => party.id === id);\r\n\r\n this.doubleSelectedParty = {\r\n private:\r\n !!selected && !selected.orgNo\r\n ? id\r\n : this.doubleSelectedParty.private,\r\n company:\r\n !!selected && selected.orgNo\r\n ? id\r\n : this.doubleSelectedParty.company\r\n };\r\n }\r\n\r\n if (!!this.onSelectAction) {\r\n this.onSelectAction();\r\n }\r\n };\r\n}\r\n\r\nexport default UserAddresses;\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\n\r\nexport interface DeletePartyRequest {\r\n partyRef: number\r\n userRef?: number\r\n}\r\nexport const deleteParty = (deletePartyRequest: DeletePartyRequest): Promise => {\r\n return send(\"DeleteParty\", deletePartyRequest)\r\n}\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"MembershipApplication_container__3DLSs\",\"content\":\"MembershipApplication_content__1-PJq\",\"title\":\"MembershipApplication_title__3bZmP\",\"steps\":\"MembershipApplication_steps__GAtwH\",\"footer\":\"MembershipApplication_footer__V6r5u\",\"btn\":\"MembershipApplication_btn__28INL\",\"formName\":\"MembershipApplication_formName__3WLa_\",\"formBox\":\"MembershipApplication_formBox__1aAlP\",\"formTitle\":\"MembershipApplication_formTitle__2cQN-\",\"formHelp\":\"MembershipApplication_formHelp__1q9im\",\"summary\":\"MembershipApplication_summary__3Smti\",\"summaryTitle\":\"MembershipApplication_summaryTitle__P1Zab\",\"summaryPrice\":\"MembershipApplication_summaryPrice__1eVxI\",\"summaryInfo\":\"MembershipApplication_summaryInfo__2m1_p\"};","import * as React from 'react';\r\nimport style from './InfoRow.module.scss';\r\nimport { ReactElement } from 'react';\r\n\r\ninterface InfoRowProps {\r\n title?: string;\r\n margin?: string;\r\n titleRow?: ReactElement;\r\n}\r\n\r\nconst InfoRow: React.FC = ({\r\n title,\r\n margin,\r\n titleRow,\r\n children\r\n}) => {\r\n return (\r\n \r\n \r\n {!!title && `${title}:`}\r\n {!!titleRow && titleRow}\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default InfoRow;\r\n","import { AdalConfig, AuthenticationContext } from 'react-adal';\r\nimport hello, { HelloJSServiceDef, HelloJSLoginEventArguement } from 'hellojs';\r\nimport queryString from 'query-string';\r\nimport { AxiosRequestConfig } from 'axios';\r\n\r\nexport const axiosOptions: AxiosRequestConfig = {\r\n baseURL: process.env.REACT_APP_API_URL,\r\n method: 'post',\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n};\r\n\r\nexport const adalConfig: AdalConfig = {\r\n tenant: '063afd9e-5fcb-48d2-a769-ca31b0f5b443',\r\n clientId: 'a65f93fc-7561-4882-ace3-be72f65154ee',\r\n endpoints: {\r\n api: 'a65f93fc-7561-4882-ace3-be72f65154ee'\r\n },\r\n redirectUri: `${window.location.origin}/admin`,\r\n cacheLocation: 'sessionStorage'\r\n};\r\n\r\nexport const authContext = new AuthenticationContext(adalConfig);\r\n\r\nexport const customJWTConfig: HelloJSServiceDef = {\r\n name: 'customJWT',\r\n oauth: {\r\n version: 2,\r\n auth: 'https://grafill-dev.azurewebsites.net/api/authorize',\r\n grant: 'https://grafill-dev.azurewebsites.net/api/token',\r\n response_type: 'token'\r\n },\r\n scope: {\r\n basic: 'basic_scope'\r\n },\r\n base: 'https://grafill-dev.azurewebsites.net'\r\n};\r\n\r\nexport const getRedirectUri = (): string => {\r\n const params = queryString.parse(globalThis.location.search);\r\n return decodeURIComponent(\r\n !params.redirect_uri\r\n ? '/'\r\n : Array.isArray(params.redirect_uri)\r\n ? params.redirect_uri[0]\r\n : params.redirect_uri\r\n );\r\n};\r\n\r\nexport const login = (\r\n network: string\r\n): PromiseLike => {\r\n hello.init({ customJWT: customJWTConfig });\r\n /*hello.init(\r\n { facebook: process.env.REACT_APP_FACEBOOK_CLIENTID ?? '' },\r\n {\r\n redirect_uri: window.location.href.split('?')[0]\r\n }\r\n );*/\r\n return hello(network).login({\r\n scope: 'public_profile,email'\r\n });\r\n};\r\n\r\nexport type HelloToken = {\r\n access_token: string;\r\n expires_in?: number;\r\n refresh_token: string;\r\n};\r\n\r\nexport const store = (\r\n key: string,\r\n value?: HelloToken\r\n): HelloToken | undefined => {\r\n if (!value) {\r\n return hello.utils.store(key);\r\n }\r\n\r\n return hello.utils.store(key, value);\r\n};\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"ContributorsFieldView_container__pfkIi\",\"title\":\"ContributorsFieldView_title__1YlhS\",\"required\":\"ContributorsFieldView_required__1tUvM\",\"small\":\"ContributorsFieldView_small__20wYJ\",\"roleContainer\":\"ContributorsFieldView_roleContainer__19GKn\",\"roleInput\":\"ContributorsFieldView_roleInput__26PmT\",\"roleContent\":\"ContributorsFieldView_roleContent__2_XiN\",\"roleLine\":\"ContributorsFieldView_roleLine__1reeV\",\"button\":\"ContributorsFieldView_button__3Pfdl\",\"row\":\"ContributorsFieldView_row__uHfyP\",\"addButton\":\"ContributorsFieldView_addButton__3guAI\"};","import React from 'react';\r\nimport { Checkbox } from 'antd';\r\nimport { CheckboxProps } from 'antd/lib/checkbox';\r\nimport style from './AntCheckbox.module.scss';\r\n\r\ntype Props = {\r\n content: string | undefined;\r\n value: boolean | undefined;\r\n onChange: (value: boolean) => void;\r\n isRequired?: boolean;\r\n description?: string;\r\n};\r\n\r\nconst AntCheckbox = ({\r\n content,\r\n value,\r\n onChange,\r\n isRequired,\r\n description,\r\n ...props\r\n}: Props & Omit) => {\r\n return (\r\n <>\r\n onChange && onChange(e.target.checked)}>\r\n {content}\r\n \r\n {description && (\r\n {description}\r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default AntCheckbox;\r\n","export { default } from './AntCheckbox';\r\n","import * as React from 'react';\r\nimport UserAddresses from 'common/components/UserAddresses/UserAddresses';\r\nimport style from './SingleUsersAddressDropdown.module.scss';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Button, Dropdown } from 'antd';\r\nimport {\r\n PlusOutlined,\r\n DownOutlined,\r\n CloseCircleFilled\r\n} from '@ant-design/icons';\r\nimport MenuDropdown from 'common/components/UserAddresses/MenuDropdown';\r\nimport { PartyDto } from 'model/Api/Parties/Model/PartyDto';\r\nimport Flex from 'common/components/Flex';\r\n\r\ninterface SingleUsersAddressDropdownProps {\r\n model: UserAddresses | undefined;\r\n type: 'private' | 'company';\r\n disabled?: boolean;\r\n witheClear?: boolean;\r\n userId?: number;\r\n}\r\n\r\nconst SingleUsersAddressDropdown: React.FC = ({\r\n model,\r\n type,\r\n disabled,\r\n witheClear = false,\r\n userId\r\n}) => {\r\n const { t } = useTranslation(['userAddresses', 'common']);\r\n const [visible, setVisible] = React.useState(false);\r\n if (!model || (!!model && !model.isSelectable)) {\r\n return null;\r\n }\r\n const partyType: PartyDto | undefined = model.doubleSelectedPartyData[type];\r\n\r\n return (\r\n
\r\n setVisible(e)}\r\n overlay={\r\n \r\n }\r\n className={style.dropdown}>\r\n \r\n \r\n model.onCreateAddress(type, userId)}>\r\n {t('userAddresses:addAddress')}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default SingleUsersAddressDropdown;\r\n","import React from \"react\";\r\nimport { Input } from \"antd\";\r\nimport { InputProps } from \"antd/lib/input/Input\";\r\n\r\ntype Props = { value? : string | undefined, onChange? : (value : string) => void, onCommit? : () => void };\r\n\r\nconst AntPassword = ({value,\r\n onChange,\r\n onCommit,\r\n ...props\r\n } : Props & Omit)=>\r\n onChange && onChange(e.target.value)}\r\n onBlur={() => onCommit && onCommit() }/>;\r\n\r\nexport default AntPassword;","export { default } from './AntPassword';","// extracted by mini-css-extract-plugin\nmodule.exports = {\"category\":\"CategoryList_category__3xQPm\",\"collapseIcon\":\"CategoryList_collapseIcon__3pma7\",\"bounceArrow\":\"CategoryList_bounceArrow__1mwqz\",\"ul\":\"CategoryList_ul__2xuvb\",\"subcategory\":\"CategoryList_subcategory__1Jhk4\",\"selected\":\"CategoryList_selected__2MYN4\",\"categoryDsc\":\"CategoryList_categoryDsc__2e_mh\",\"dsc\":\"CategoryList_dsc__2WFuB\",\"title\":\"CategoryList_title__1zSng\",\"collapse\":\"CategoryList_collapse__33VlU\",\"collapseWidth\":\"CategoryList_collapseWidth__kDePG\",\"collapseRow\":\"CategoryList_collapseRow__2w40O\",\"collapseBox\":\"CategoryList_collapseBox__1YSz2\",\"collapseTitle\":\"CategoryList_collapseTitle__2Jew3\",\"collapseDesc\":\"CategoryList_collapseDesc__2CeG6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"SubmissionFormPreview_container__3lnUp\",\"info\":\"SubmissionFormPreview_info__3jxZK\",\"infoTitle\":\"SubmissionFormPreview_infoTitle__3lEtk\",\"infoText\":\"SubmissionFormPreview_infoText__3Tx6s\",\"content\":\"SubmissionFormPreview_content__3F4w8\",\"answers\":\"SubmissionFormPreview_answers__vsyKD\",\"description\":\"SubmissionFormPreview_description__3rSbj\",\"payBtn\":\"SubmissionFormPreview_payBtn__1keGR\",\"buttonLeft\":\"SubmissionFormPreview_buttonLeft__2GhFm\",\"header\":\"SubmissionFormPreview_header__38m3U\",\"goToSubmissions\":\"SubmissionFormPreview_goToSubmissions__31JbQ\",\"footer\":\"SubmissionFormPreview_footer__rL9rx\",\"footerContent\":\"SubmissionFormPreview_footerContent__3AcpZ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"VideoLinks_root__1fnhm\",\"video\":\"VideoLinks_video__bwBVQ\",\"play\":\"VideoLinks_play__2KWSc\",\"playIcon\":\"VideoLinks_playIcon__LN-Yq\",\"error\":\"VideoLinks_error__46xSR\",\"error_link\":\"VideoLinks_error_link__232DO\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"table\":\"EntriesTable_table__pyQki\",\"title\":\"EntriesTable_title__37IPK\",\"image\":\"EntriesTable_image__qtSoY\",\"noImg\":\"EntriesTable_noImg__1XxuM\",\"icoImg\":\"EntriesTable_icoImg__2NnZI\",\"tag\":\"EntriesTable_tag__4p0xK\",\"draft\":\"EntriesTable_draft__3iQ4i\",\"img\":\"EntriesTable_img__2l5XR\",\"titleLink\":\"EntriesTable_titleLink__3uDFP\",\"borderCell\":\"EntriesTable_borderCell__2fZYb\",\"id\":\"EntriesTable_id__32SGO\",\"category\":\"EntriesTable_category__BQClu\",\"highlite\":\"EntriesTable_highlite__3aevg\"};","import * as React from 'react';\r\nimport UserAddresses from 'common/components/UserAddresses/UserAddresses';\r\nimport ConfirmationModal from 'common/components/ConfirmationModal/ConfirmationModal';\r\nimport ConfirmationModalView from 'common/components/ConfirmationModal/ConfirmationModalView';\r\nimport Party from 'common/components/UserAddresses/Party';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { observer } from 'mobx-react';\r\nimport AddressDialogView from '../AddressDialog/AddressDialogView';\r\nimport AddressDialog from '../AddressDialog/AddressDialog';\r\n\r\ninterface SingleUserAddressesDialogsViewProps {\r\n model: UserAddresses | undefined;\r\n}\r\n\r\nconst SingleUserAddressesDialogsView: React.FC = observer(\r\n ({ model }) => {\r\n const { t } = useTranslation(['userAddresses']);\r\n if (!model) {\r\n return null;\r\n }\r\n return (\r\n <>\r\n {model.page.dialog instanceof AddressDialog && (\r\n \r\n )}\r\n {model.page.dialog instanceof ConfirmationModal && (\r\n \r\n {t('deleteConfirmation')}\r\n {!!model.deleteParty && (\r\n \r\n )}\r\n \r\n )}\r\n \r\n );\r\n }\r\n);\r\n\r\nexport default SingleUserAddressesDialogsView;\r\n","import * as React from 'react';\r\nimport ConfirmationModal from 'common/components/ConfirmationModal/ConfirmationModal';\r\nimport AntModal from 'common/components/antHelpers/AntModal';\r\nimport { observer } from 'mobx-react';\r\n\r\ninterface ConfirmationModalViewProps {\r\n dialog: ConfirmationModal;\r\n title: string;\r\n okText?: string\r\n}\r\n\r\nconst ConfirmationModalView: React.FC = observer(({\r\n dialog,\r\n title,\r\n children,\r\n okText\r\n}) => {\r\n const { confirm, cancel } = dialog;\r\n return (\r\n \r\n

{children}

\r\n
\r\n );\r\n});\r\n\r\nexport default ConfirmationModalView;\r\n","import { Form, FormField, FormFieldValidator } from 'react-mvvm/forms';\r\n\r\nexport const formatPrice = (price: number | undefined) => {\r\n if (!price) return '-';\r\n const fraction = price - Math.floor(price);\r\n if (fraction === 0) return `${price},-`;\r\n else return price.toFixed(2).replace('.', ',');\r\n};\r\n\r\nexport const buildUrl = (\r\n validator: FormFieldValidator,\r\n url: string | undefined = undefined\r\n) => {\r\n return new Form({\r\n url: new FormField(url, validator)\r\n });\r\n};\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Link_container__V6l-J\",\"link\":\"Link_link__2EFFe\",\"linkNegative\":\"Link_linkNegative__3JaT8\",\"plain\":\"Link_plain__1JJX3\",\"huge\":\"Link_huge__TW6pJ\",\"large\":\"Link_large__3W1SV\",\"small\":\"Link_small__2z5T0\",\"icon\":\"Link_icon__1BEEz\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"PageTitle_header__1AzfU\",\"xsmall\":\"PageTitle_xsmall__3Pxei\",\"small\":\"PageTitle_small__3VV5w\",\"normal\":\"PageTitle_normal__3q8dp\",\"big\":\"PageTitle_big__3E7g7\",\"onlyBottom\":\"PageTitle_onlyBottom__lWbWI\",\"marginSmall\":\"PageTitle_marginSmall__AWxzi\",\"marginMiddle\":\"PageTitle_marginMiddle__2xO81\",\"marginBig\":\"PageTitle_marginBig__3ZTZR\"};","export enum RequestStatus {\r\n none = 'none',\r\n pending = 'pending',\r\n success = 'success',\r\n error = 'error'\r\n}\r\n\r\nexport interface IUpdateRequest {\r\n status: RequestStatus,\r\n errorMsg: string\r\n}","import * as React from 'react';\r\nimport style from './UserAddresses.module.scss';\r\nimport UserAddresses from 'common/components/UserAddresses/UserAddresses';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Button, Dropdown } from 'antd';\r\nimport { PlusOutlined, DownOutlined } from '@ant-design/icons';\r\nimport MenuDropdown from 'common/components/UserAddresses/MenuDropdown';\r\nimport SingleUserAddressesDialogsView from './SingleUserAddressesDialogsView';\r\nimport { observer } from 'mobx-react';\r\n\r\ninterface AllUsersAddressDropdownProps {\r\n model: UserAddresses | undefined;\r\n withCreateAddress?: boolean;\r\n userId?: number;\r\n disabled?: boolean;\r\n}\r\n\r\nconst AllUsersAddressDropdown: React.FC = observer(\r\n ({ model, userId, withCreateAddress = true, disabled }) => {\r\n const { t } = useTranslation(['userAddresses', 'common']);\r\n const [visible, setVisible] = React.useState(false);\r\n if (!model || (!!model && !model.isSelectable)) {\r\n return null;\r\n }\r\n return (\r\n
\r\n setVisible(e)}\r\n disabled={disabled}\r\n overlay={\r\n \r\n }\r\n className={style.dropdown}>\r\n \r\n \r\n {withCreateAddress && !disabled && (\r\n <>\r\n \r\n model.onCreateAddress(undefined, userId)\r\n }>\r\n {t('userAddresses:addAddress')}\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n }\r\n);\r\n\r\nexport default AllUsersAddressDropdown;\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"LoginBox_container__1sEBH\",\"or\":\"LoginBox_or__rto9k\",\"bg\":\"LoginBox_bg__1D8Dd\",\"title\":\"LoginBox_title__2sclx\",\"btn\":\"LoginBox_btn__1HBaH\",\"button\":\"LoginBox_button__3GQ3o\",\"reason\":\"LoginBox_reason__1NANQ\",\"createBtn\":\"LoginBox_createBtn__1EX-x\",\"link\":\"LoginBox_link__2K4hK\",\"links\":\"LoginBox_links__2n2El\",\"icon\":\"LoginBox_icon__1o5BW\",\"messageBox\":\"LoginBox_messageBox__1p720\",\"message\":\"LoginBox_message__2uxyU\"};","import * as React from 'react';\r\nimport { Typography } from 'antd';\r\nimport classNames from 'classnames';\r\nimport style from './PageTitle.module.scss';\r\n\r\ninterface PageTitleProps {\r\n title: string;\r\n headerNumber?: 1 | 2 | 3 | 4;\r\n size?: 'xsmall' | 'small' | 'normal' | 'big';\r\n marginBottom?: 'onlyBottom' | 'small' | 'middle' | 'big' | 'default';\r\n}\r\n\r\nconst PageTitle: React.FC = ({\r\n title,\r\n headerNumber = 1,\r\n size = 'normal',\r\n marginBottom = 'default'\r\n}) => {\r\n const headerStyle = classNames(\r\n style.header,\r\n { [style.xsmall]: size === 'xsmall' },\r\n { [style.small]: size === 'small' },\r\n { [style.normal]: size === 'normal' },\r\n { [style.big]: size === 'big' },\r\n { [style.onlyBottom]: marginBottom === 'onlyBottom' },\r\n { [style.marginSmall]: marginBottom === 'small' },\r\n { [style.marginMiddle]: marginBottom === 'middle' },\r\n { [style.marginBig]: marginBottom === 'big' }\r\n );\r\n\r\n return (\r\n \r\n {title}\r\n \r\n );\r\n};\r\n\r\nexport default PageTitle;\r\n","export { default } from './PageTitle';\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"JudgingEntryDetails_container__34wtm\",\"title\":\"JudgingEntryDetails_title__3dYMd\",\"navBtn\":\"JudgingEntryDetails_navBtn__2dTkN\",\"navPrevBtn\":\"JudgingEntryDetails_navPrevBtn__2oBcP\",\"image\":\"JudgingEntryDetails_image__3cbVI\",\"sidebarContainer\":\"JudgingEntryDetails_sidebarContainer__3I-6I\",\"sidebarTitle\":\"JudgingEntryDetails_sidebarTitle__3koUb\",\"answerBox\":\"JudgingEntryDetails_answerBox__3z7k8\",\"id\":\"JudgingEntryDetails_id__38RDZ\",\"topBorder\":\"JudgingEntryDetails_topBorder__14Ou6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"CreateAccountPageView_container__2h7zd\",\"content\":\"CreateAccountPageView_content__21shg\",\"loader\":\"CreateAccountPageView_loader__3N739\",\"title\":\"CreateAccountPageView_title__2lVQa\",\"messageBox\":\"CreateAccountPageView_messageBox__2UKQJ\",\"message\":\"CreateAccountPageView_message__1rRBj\",\"messageError\":\"CreateAccountPageView_messageError__2EklG\",\"link\":\"CreateAccountPageView_link__GmQg5\",\"backButton\":\"CreateAccountPageView_backButton__3y7mA\",\"backBtnArrow\":\"CreateAccountPageView_backBtnArrow__LS08p\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"content\":\"PaymentCheckbox_content__2izDa\",\"isDisabled\":\"PaymentCheckbox_isDisabled__266Sq\",\"bordered\":\"PaymentCheckbox_bordered__22wKo\",\"selected\":\"PaymentCheckbox_selected__3YmKb\",\"radio\":\"PaymentCheckbox_radio__FyYFh\",\"radioSelected\":\"PaymentCheckbox_radioSelected__2R5oA\",\"txt\":\"PaymentCheckbox_txt__3nmqm\",\"title\":\"PaymentCheckbox_title__11Xwu\",\"price\":\"PaymentCheckbox_price__r7C-l\",\"priceDsc\":\"PaymentCheckbox_priceDsc__16R8K\",\"dsc\":\"PaymentCheckbox_dsc__156s5\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Submissions_container__3iPSC\",\"intro\":\"Submissions_intro__1iPhG\",\"submissionBox\":\"Submissions_submissionBox__1NBVI\",\"payBtn\":\"Submissions_payBtn__1QvUJ\",\"helpText\":\"Submissions_helpText__FekZL\",\"addButton\":\"Submissions_addButton__1BKUv\",\"actionButtons\":\"Submissions_actionButtons__2wJ5K\",\"status\":\"Submissions_status__LRWTC\",\"empty\":\"Submissions_empty__1iZ3v\",\"tabList\":\"Submissions_tabList__t2pgS\"};","\r\nexport enum SortDirection {\r\n invalid = \"invalid\",\r\n ascending = \"ascending\",\r\n descending = \"descending\",\r\n}\r\n","import * as React from 'react';\r\nimport { DatePicker } from 'antd';\r\nimport { Moment } from 'moment';\r\nimport { PickerDateProps } from 'antd/lib/date-picker/generatePicker';\r\n\r\ntype Props = {\r\n value: Moment | undefined;\r\n onChange?: (value: Moment | undefined) => void;\r\n onCommit?: () => void;\r\n};\r\n\r\nconst AntDatePicker = ({\r\n value,\r\n onChange,\r\n onCommit,\r\n ...props\r\n}: Props & Omit, 'value' | 'onChange' | 'onBlur'>) => {\r\n return (\r\n onChange && onChange(v ? v : undefined)}\r\n onBlur={() => onCommit && onCommit()}\r\n />\r\n );\r\n};\r\n\r\nexport default AntDatePicker;\r\n","export { default } from './AntDatePicker';\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapDialog\":\"ImageDialog_wrapDialog__1ZvRm\",\"dialog\":\"ImageDialog_dialog__3B89H\",\"imageContainer\":\"ImageDialog_imageContainer__FL2_b\",\"imageBox\":\"ImageDialog_imageBox__3iNaI\",\"image\":\"ImageDialog_image__umPKK\",\"closeIcon\":\"ImageDialog_closeIcon__tS_Ko\",\"icon\":\"ImageDialog_icon__3PVUF\",\"carousel\":\"ImageDialog_carousel__15vxy\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"ul\":\"List_ul__3YJcd\",\"row\":\"List_row__H_8Nm\",\"arrowIcon\":\"List_arrowIcon__Bfu46\",\"bounceArrow\":\"List_bounceArrow__Ci_G0\",\"rowTitle\":\"List_rowTitle__2VC6g\",\"rowTitlePast\":\"List_rowTitlePast__1DIyq\",\"rowTitleFuture\":\"List_rowTitleFuture__2k2K2\",\"content\":\"List_content__2RjGn\",\"icon\":\"List_icon__3jmDj\",\"title\":\"List_title__2jfAp\",\"dsc\":\"List_dsc__1PWCp\",\"date\":\"List_date__sRgda\",\"empty\":\"List_empty__1Ai61\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"box\":\"ArtWork_box__AYZBM\",\"crop\":\"ArtWork_crop__1SARc\",\"title\":\"ArtWork_title__KHg0j\",\"titleBox\":\"ArtWork_titleBox__1E2Es\",\"titleLink\":\"ArtWork_titleLink__Z2JY6\",\"notes\":\"ArtWork_notes__2XANx\",\"tiles\":\"ArtWork_tiles__3vHai\",\"list\":\"ArtWork_list__1s2q7\",\"tag\":\"ArtWork_tag__1LUVZ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"MembershipPaymentPage_container__2DmoX\",\"btn\":\"MembershipPaymentPage_btn__2DSrL\",\"content\":\"MembershipPaymentPage_content__1oDzV\",\"box\":\"MembershipPaymentPage_box__YOf7L\",\"small\":\"MembershipPaymentPage_small__3e6hr\",\"row\":\"MembershipPaymentPage_row__2zI_O\",\"rowTitle\":\"MembershipPaymentPage_rowTitle__1C6BZ\",\"formBox\":\"MembershipPaymentPage_formBox__7Epc1\",\"footer\":\"MembershipPaymentPage_footer__22E-I\",\"backBtn\":\"MembershipPaymentPage_backBtn__1FpPd\",\"pageTitle\":\"MembershipPaymentPage_pageTitle__2OTRk\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"MembershipReapplyPage_container__3iRxM\",\"btn\":\"MembershipReapplyPage_btn__3iH-e\",\"content\":\"MembershipReapplyPage_content__IxfTU\",\"box\":\"MembershipReapplyPage_box__34mEv\",\"small\":\"MembershipReapplyPage_small__1KZRK\",\"row\":\"MembershipReapplyPage_row__66lyN\",\"rowTitle\":\"MembershipReapplyPage_rowTitle__3tMj-\",\"formBox\":\"MembershipReapplyPage_formBox__CUr5v\",\"footer\":\"MembershipReapplyPage_footer__1vUmb\",\"backBtn\":\"MembershipReapplyPage_backBtn__3OcOe\",\"pageTitle\":\"MembershipReapplyPage_pageTitle__1wDFA\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"SubmissionsMyPagePayment_wrapper__2aVcF\",\"container\":\"SubmissionsMyPagePayment_container__36QkO\",\"title\":\"SubmissionsMyPagePayment_title__2A8C-\",\"content\":\"SubmissionsMyPagePayment_content__2ELS8\",\"row\":\"SubmissionsMyPagePayment_row__mPLxk\",\"rowTitle\":\"SubmissionsMyPagePayment_rowTitle__24nr7\",\"footer\":\"SubmissionsMyPagePayment_footer__31uz-\",\"footerContent\":\"SubmissionsMyPagePayment_footerContent__3kbp2\",\"remove\":\"SubmissionsMyPagePayment_remove__3YrYU\"};","import * as React from 'react';\r\nimport { FormField } from 'react-mvvm/forms';\r\nimport { Gender } from 'model/Externals';\r\nimport { Radio } from 'antd';\r\nimport AntField from 'common/components/antHelpers/AntField';\r\nimport style from './GenderField.module.scss';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\ninterface GenderFieldProps {\r\n field: FormField;\r\n disabled?: boolean;\r\n className?: string;\r\n}\r\nconst GenderField: React.FC = ({ field, disabled, className }) => {\r\n const { t } = useTranslation('membership');\r\n return (\r\n \r\n {(props) => (\r\n props.onChange(e.target.value)}>\r\n \r\n {t('genderFemale')}\r\n \r\n \r\n {t('genderMale')}\r\n \r\n \r\n {t('genderOther')}\r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default GenderField;\r\n","import React from 'react';\r\nimport { observer } from 'mobx-react';\r\nimport { Deferred, isLoaded, Loading } from 'react-mvvm';\r\nimport { Select } from 'antd';\r\nimport { SelectProps, SelectValue } from 'antd/lib/select';\r\n\r\ntype SingleSelectProps = {\r\n dataSource: Deferred>;\r\n value: T | undefined;\r\n onChange?: (item: T | undefined) => void;\r\n onCommit?: () => void;\r\n optionText: (i: T) => string;\r\n loading?: boolean;\r\n};\r\n\r\nfunction selectImpl({\r\n dataSource,\r\n value,\r\n onChange,\r\n onCommit,\r\n optionText,\r\n loading,\r\n ...props\r\n}: SingleSelectProps &\r\n Omit, 'value' | 'onChange'>) {\r\n return (\r\n \r\n onChange &&\r\n isLoaded(dataSource) &&\r\n onChange(dataSource.find((i) => i.id == v))\r\n }\r\n onBlur={() => {\r\n onCommit && onCommit();\r\n }}\r\n loading={dataSource === Loading || loading}>\r\n {isLoaded(dataSource) &&\r\n dataSource.map((i) => (\r\n \r\n {optionText(i)}\r\n \r\n ))}\r\n \r\n );\r\n}\r\n\r\nfunction multiSelectImpl({\r\n dataSource,\r\n value,\r\n onChange,\r\n optionText,\r\n disabled\r\n}: {\r\n dataSource: Deferred>;\r\n value: readonly T[] | undefined;\r\n onChange?: (item: readonly T[]) => void;\r\n optionText: (i: T) => string;\r\n disabled?: boolean;\r\n}) {\r\n return (\r\n v.id) : undefined}\r\n onChange={(v) =>\r\n onChange &&\r\n isLoaded(dataSource) &&\r\n onChange(dataSource.filter((i) => v.includes(i.id)))\r\n }\r\n loading={dataSource === Loading}\r\n disabled={disabled}>\r\n {isLoaded(dataSource) &&\r\n dataSource.map((i) => (\r\n \r\n {optionText(i)}\r\n \r\n ))}\r\n \r\n );\r\n}\r\n\r\nexport const AntSingleSelect = observer(selectImpl);\r\n\r\nexport const AntMultiSelect = observer(multiSelectImpl);\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dragger\":\"Upload_dragger__32Ghm\",\"container\":\"Upload_container__13D70\",\"text\":\"Upload_text__JLNMV\",\"link\":\"Upload_link__2KR5o\",\"hint\":\"Upload_hint__2V-O8\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"MemberMenu_container__2JGEd\",\"list\":\"MemberMenu_list__3e7Q5\",\"item\":\"MemberMenu_item__1cIfy\",\"special\":\"MemberMenu_special__2Aerb\",\"itemActive\":\"MemberMenu_itemActive__35y_b\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"judging\":\"ActionPhaseFirst_judging__3AxMD\",\"judgeBtnGroup\":\"ActionPhaseFirst_judgeBtnGroup__2qxXe\",\"judgeBtn\":\"ActionPhaseFirst_judgeBtn__5vYlI\",\"judgeIcn\":\"ActionPhaseFirst_judgeIcn__7SCKL\",\"judgeIcnActive\":\"ActionPhaseFirst_judgeIcnActive__3ZQMX\",\"list\":\"ActionPhaseFirst_list__21obx\"};","import { PartySnapshotDto } from 'model/Api/Parties/Model/PartySnapshotDto';\r\n\r\nimport * as React from 'react';\r\nimport { PartyDto } from 'model/Api/Parties/Model/PartyDto';\r\nimport style from './UserAddresses.module.scss';\r\nimport { observer } from 'mobx-react';\r\nimport classNames from 'classnames';\r\n\r\ninterface PartyProps {\r\n party: PartyDto | PartySnapshotDto;\r\n customStyle?: string;\r\n}\r\n\r\nconst Party: React.FC = observer(({ party, customStyle }) => {\r\n const partyStyle = classNames(style.party, !!customStyle && customStyle);\r\n return (\r\n \r\n {party.name}\r\n {party.address.line}\r\n {`${party.address.postalCode} ${party.address.city}`}\r\n \r\n );\r\n});\r\n\r\nexport default Party;\r\n","import * as React from 'react';\r\nimport { Spin } from 'antd';\r\nimport style from './LoaderDataContainer.module.scss';\r\nimport { observer } from 'mobx-react';\r\nimport { ILoader } from 'react-mvvm/loading/loader';\r\nimport classNames from 'classnames';\r\n\r\ninterface LoaderDataContainerProps {\r\n loader: ILoader;\r\n customStyle?: string\r\n}\r\n\r\nconst LoaderDataContainer: React.FC = observer(\r\n ({ loader, customStyle, children }) => {\r\n const containerStyle = classNames(style.container, {[customStyle as string]: !!customStyle})\r\n return (\r\n
\r\n {loader.isLoading ? (\r\n
\r\n \r\n
\r\n ) : children}\r\n {loader.error &&
{loader.error}
}\r\n
\r\n );\r\n }\r\n);\r\n\r\nexport default LoaderDataContainer;\r\n","export { default } from './LoaderDataContainer'","import BaseDialog from 'admin/helpers/BaseDialog';\r\nimport { PartyDto } from 'model/Api/Parties/Model/PartyDto';\r\nimport PrivateParty from 'common/components/PrivateParty/PrivateParty';\r\nimport CompanyParty from 'common/components/CompanyParty/CompanyParty';\r\n\r\nclass AddressDialog extends BaseDialog {\r\n privateParty: PrivateParty;\r\n companyParty?: CompanyParty;\r\n type?: 'private' | 'company';\r\n\r\n constructor(\r\n close: (p: PartyDto | undefined) => void,\r\n privateParty: PrivateParty,\r\n companyParty?: CompanyParty,\r\n type?: 'private' | 'company'\r\n ) {\r\n super(close);\r\n\r\n this.privateParty = privateParty;\r\n this.companyParty = companyParty;\r\n this.type = type;\r\n }\r\n}\r\n\r\nexport default AddressDialog;\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"AskForPasswordResetPage_container__1V58p\",\"content\":\"AskForPasswordResetPage_content__GUosj\",\"title\":\"AskForPasswordResetPage_title__2uYV2\",\"subTitle\":\"AskForPasswordResetPage_subTitle__2HgSf\",\"messageBox\":\"AskForPasswordResetPage_messageBox__DrcXm\",\"message\":\"AskForPasswordResetPage_message__fXhcu\",\"errorMsg\":\"AskForPasswordResetPage_errorMsg__3_lxI\",\"backButton\":\"AskForPasswordResetPage_backButton__86nrT\",\"backBtnArrow\":\"AskForPasswordResetPage_backBtnArrow__mpaHK\"};","import {\r\n Form,\r\n FormField,\r\n FormFields,\r\n FormState,\r\n IFormField,\r\n NullValidator,\r\n RequiredFieldValidator,\r\n RequiredUrlValidator,\r\n RequiredVideoLinkValidator,\r\n UrlValidator,\r\n VideoLinkValidator\r\n} from 'react-mvvm';\r\nimport {action, computed, observable, runInAction} from 'mobx';\r\nimport {CompetitionEntryDto} from 'model/Api/Submission/Model/CompetitionEntryDto';\r\nimport {CompetitionEntryStatus, CompetitionStatus, QuestionType} from 'model/Externals';\r\nimport {SubmissionQuestionDto} from 'model/Api/Submission/Model/SubmissionQuestionDto';\r\nimport {RcFile, UploadChangeParam, UploadFile} from 'antd/lib/upload/interface';\r\nimport {UploadRequestOption as RcCustomRequestOptions} from 'rc-upload/lib/interface';\r\nimport loader from 'react-mvvm/loading/loader';\r\nimport {getSubmissionQuestionnaire} from 'model/Api/Submission/GetSubmissionQuestionnaireRequest';\r\nimport {getCompetitionEntryDetails} from 'model/Api/Submission/GetCompetitionEntryDetailsRequest';\r\nimport {deleteAttachment} from 'model/Api/Submission/DeleteAttachmentRequest';\r\nimport {updateCompetitionEntry} from 'model/Api/Submission/UpdateCompetitionEntryRequest';\r\nimport {ProductDto} from 'model/Api/Competitions/Model/ProductDto';\r\nimport {AnswerDto} from 'model/Api/Submission/Model/AnswerDto';\r\nimport UrlField from 'web/screen/SubmissionFormPage/UrlField/UrlField';\r\nimport ContributorsField from 'web/screen/SubmissionFormPage/ContributorsField/ContributorsField';\r\nimport moment, {Moment} from 'moment';\r\nimport {notification} from 'antd';\r\nimport {api as axiosWeb} from 'web/api/config';\r\nimport {api as axiosAdmin} from 'admin/api/config';\r\nimport {AttachmentResponse} from 'model/Api/Submission/Model/AttachmentResponse';\r\nimport {getSubmissionDetails} from 'model/Api/Competitions/GetSubmissionDetailsRequest';\r\nimport {adminUpdateCompetitionEntry} from 'model/Api/Submission/AdminUpdateCompetitionEntryRequest';\r\nimport EnterSubmissionForm from 'admin/screen/EnterSubmissionForm/EnterSubmissionForm';\r\nimport SubmissionFormPage from 'web/screen/SubmissionFormPage/SubmissionFormPage';\r\nimport {computedFn} from \"mobx-utils\";\r\nimport customMessage from \"web/components/CustomMessage/CustomMessage\";\r\n\r\nexport enum SubmissionMode {\r\n admin = 'admin',\r\n web = 'web'\r\n}\r\n\r\nexport enum FileMoveDirection {\r\n up = -1,\r\n down = 1\r\n}\r\n\r\nexport type LoadingFileProgress = {\r\n uid:string,\r\n name: string,\r\n percent: number\r\n}\r\n\r\nclass SubmissionForm {\r\n mode: SubmissionMode;\r\n @observable isAdminEditDisable: boolean = true;\r\n @observable parent: EnterSubmissionForm | SubmissionFormPage;\r\n @observable categoryId: number;\r\n @observable entryId: number;\r\n\r\n @observable competitionEntryDto: CompetitionEntryDto;\r\n @observable competitionEntryForm: Form;\r\n\r\n @observable isFormChanged: boolean = false;\r\n @observable questions: SubmissionQuestionDto[] = [];\r\n\r\n @observable files: { [id: string]: UploadFile[] } = {};\r\n @observable multiFiles: { [id: string]: UploadFile[] } = {};\r\n @observable formErrorFields: IFormField[] = [];\r\n\r\n @observable coverImageQuestionRef: number | undefined;\r\n @observable titleQuestionRef: number | undefined;\r\n @observable entryPreviewPageDescription: string | undefined;\r\n @observable product: ProductDto | undefined;\r\n @observable invoiceFeeProduct: ProductDto | undefined;\r\n @observable multiFileLoadingProgress: {[id: number]:LoadingFileProgress[]} = {};\r\n \r\n private autoSave: number | null = null;\r\n\r\n constructor(\r\n parent: EnterSubmissionForm | SubmissionFormPage,\r\n categoryId: number,\r\n entryId: number,\r\n mode: SubmissionMode\r\n ) {\r\n this.parent = parent;\r\n this.categoryId = categoryId;\r\n this.entryId = entryId;\r\n this.mode = mode;\r\n\r\n this.competitionEntryDto = this.parent.competitionEntryDto ?? {\r\n answers: [],\r\n attachments: [],\r\n competitionEntryStatus: CompetitionEntryStatus.created,\r\n id: 0,\r\n version: 0\r\n };\r\n this.competitionEntryForm = new Form([]);\r\n }\r\n\r\n init = async () => {\r\n const questionnaire = await this.api.getSubmissionFormQuestions();\r\n\r\n this.coverImageQuestionRef = questionnaire.coverImageQuestionRef;\r\n this.titleQuestionRef = questionnaire.titleQuestionRef;\r\n this.entryPreviewPageDescription =\r\n questionnaire.entryPreviewPageDescription;\r\n this.product = questionnaire.product;\r\n this.invoiceFeeProduct = questionnaire.invoiceFeeProduct;\r\n\r\n this.questions = questionnaire.questions;\r\n\r\n if (!this.parent.competitionEntryDto) {\r\n if (this.mode === SubmissionMode.web) {\r\n this.competitionEntryDto = await this.api.getCompetitionEntry(\r\n this.entryId\r\n );\r\n } else if (this.mode === SubmissionMode.admin) {\r\n this.competitionEntryDto = await this.api.getCompetitionEntryAdmin(\r\n this.entryId\r\n );\r\n }\r\n }\r\n\r\n this.competitionEntryForm = await this.buildCompetitionSubmissionForm();\r\n this.isAdminEditDisable =\r\n this.competitionEntryDto.competitionEntryStatus !==\r\n CompetitionEntryStatus.draft;\r\n };\r\n \r\n onAutoSave = async () => {\r\n if(this.competitionEntryDto.competitionEntryStatus !== CompetitionEntryStatus.created && this.competitionEntryForm.isDirty && this.isFormChanged) {\r\n await this.updateCompetitionEntryDto();\r\n if (this.mode === SubmissionMode.web) {\r\n this.competitionEntryDto = await this.apiAutoSave.saveEntry(\r\n this.competitionEntryDto\r\n );\r\n } else if (this.mode === SubmissionMode.admin) {\r\n this.competitionEntryDto = await this.apiAutoSave.saveEntryAdmin(\r\n this.competitionEntryDto\r\n );\r\n }\r\n \r\n await customMessage('Lagring')\r\n runInAction(() => (this.isFormChanged = false));\r\n }\r\n }\r\n\r\n onLeafFocus = async () => {\r\n window.scrollTo({ top: 0 });\r\n this.autoSave = window.setInterval(async () => {\r\n if (this.competitionEntryDto.competitionEntryStatus !== CompetitionEntryStatus.created && this.competitionEntryForm.isDirty && this.isFormChanged) {\r\n await this.updateCompetitionEntryDto();\r\n if (this.mode === SubmissionMode.web) {\r\n this.competitionEntryDto = await this.apiAutoSave.saveEntry(\r\n this.competitionEntryDto\r\n );\r\n } else if (this.mode === SubmissionMode.admin) {\r\n this.competitionEntryDto = await this.apiAutoSave.saveEntryAdmin(\r\n this.competitionEntryDto\r\n );\r\n }\r\n\r\n await customMessage('Lagring')\r\n runInAction(() => (this.isFormChanged = false));\r\n }\r\n }, 30000);\r\n };\r\n\r\n onSaveAsDraftClicked = async () => {\r\n if (this.competitionEntryForm.isDirty && this.isFormChanged) {\r\n await this.updateCompetitionEntryDto();\r\n if (this.mode === SubmissionMode.web) {\r\n this.competitionEntryDto = await this.apiAutoSave.saveEntry(\r\n this.competitionEntryDto\r\n );\r\n } else if (this.mode === SubmissionMode.admin) {\r\n this.competitionEntryDto = await this.apiAutoSave.saveEntryAdmin(\r\n this.competitionEntryDto\r\n );\r\n }\r\n await customMessage('Lagring')\r\n\r\n runInAction(() => (this.isFormChanged = false));\r\n }\r\n };\r\n\r\n onLeafBlur = async () => {\r\n if (!!this.autoSave) {\r\n window.clearInterval(this.autoSave);\r\n }\r\n };\r\n\r\n api = loader({\r\n getSubmissionFormQuestions: async () =>\r\n getSubmissionQuestionnaire({\r\n categoryRef: this.categoryId\r\n }),\r\n getCompetitionEntry: async (entryId: number) =>\r\n getCompetitionEntryDetails({ competitionEntryRef: entryId }),\r\n getCompetitionEntryAdmin: async (competitionEntryRef: number) =>\r\n getSubmissionDetails({ competitionEntryRef })\r\n });\r\n\r\n apiAttachments = loader({\r\n removeAttachment: async (uid: number) =>\r\n await deleteAttachment({ attachmentRef: uid })\r\n });\r\n\r\n apiAutoSave = loader({\r\n saveEntry: async (entry: CompetitionEntryDto) =>\r\n await updateCompetitionEntry({ competitionEntryDto: entry }),\r\n saveEntryAdmin: async (competitionEntryDto: CompetitionEntryDto) =>\r\n await adminUpdateCompetitionEntry({ competitionEntryDto })\r\n });\r\n\r\n @action\r\n onAdminEdit = () => {\r\n this.isAdminEditDisable = !this.isAdminEditDisable;\r\n };\r\n\r\n @action\r\n onFormChange = () => {\r\n if (!this.isFormChanged) {\r\n this.isFormChanged = true;\r\n }\r\n };\r\n \r\n @computed get competitionStatus() {\r\n return !!this.parent\r\n ? this.parent.competitionStatus\r\n : CompetitionStatus.draft;\r\n }\r\n\r\n @computed get isFormDisabled() {\r\n if (this.mode === SubmissionMode.admin) {\r\n return this.isAdminEditDisable;\r\n }\r\n return (\r\n this.competitionEntryDto.competitionEntryStatus ===\r\n CompetitionEntryStatus.submitted ||\r\n this.competitionStatus !== CompetitionStatus.submissionOpen\r\n );\r\n }\r\n\r\n buildCompetitionSubmissionForm = (): Form => {\r\n const formFields: FormFields = {};\r\n\r\n for (let idx = 0; idx < this.questions.length; idx++) {\r\n const question = this.questions[idx];\r\n const questionId: string = `${idx}_${question.id}`;\r\n let answer: AnswerDto | undefined;\r\n\r\n if (this.competitionEntryDto.answers.length > 0) {\r\n answer = this.competitionEntryDto.answers.find(\r\n (a) => a.questionId === question.id\r\n );\r\n }\r\n\r\n if (!answer) {\r\n this.competitionEntryDto.answers.push({\r\n questionId: question.id,\r\n value: '',\r\n questionType: question.questionType,\r\n id: 0,\r\n version: 0\r\n });\r\n }\r\n switch (question.questionType) {\r\n case QuestionType.url:\r\n formFields[questionId] = new UrlField(\r\n !!answer ? answer.value : undefined,\r\n question.isRequired\r\n ? RequiredUrlValidator\r\n : UrlValidator\r\n );\r\n break;\r\n case QuestionType.videoLink:\r\n formFields[questionId] = new UrlField(\r\n !!answer ? answer.value : undefined,\r\n question.isRequired\r\n ? RequiredVideoLinkValidator\r\n : VideoLinkValidator\r\n );\r\n break;\r\n case QuestionType.roleInProject:\r\n formFields[questionId] = new ContributorsField(\r\n !!answer && !!answer.value ? answer.value : undefined,\r\n question.isRequired\r\n ? RequiredFieldValidator\r\n : NullValidator,\r\n question.configuration\r\n );\r\n break;\r\n case QuestionType.date:\r\n formFields[questionId] = new FormField(\r\n !!answer && !!answer.value\r\n ? moment(new Date(answer.value))\r\n : undefined,\r\n question.isRequired\r\n ? RequiredFieldValidator\r\n : NullValidator\r\n );\r\n break;\r\n case QuestionType.multiSelect:\r\n case QuestionType.singleSelect:\r\n formFields[questionId] = new FormField(\r\n !!answer && !!answer.value\r\n ? JSON.parse(answer.value)\r\n : undefined,\r\n question.isRequired\r\n ? RequiredFieldValidator\r\n : NullValidator\r\n );\r\n break;\r\n default:\r\n formFields[questionId] = new FormField(\r\n !!answer ? answer.value : undefined,\r\n question.isRequired\r\n ? RequiredFieldValidator\r\n : NullValidator\r\n );\r\n break;\r\n }\r\n }\r\n\r\n return new Form(formFields, this.onFormChange);\r\n };\r\n\r\n private updateCompetitionEntryDto = async () => {\r\n await Object.keys(this.competitionEntryForm.fields).map((f) => {\r\n const realId = f.split('_')[1];\r\n const idx = parseInt(realId, 10);\r\n\r\n const value = this.competitionEntryForm.fields[f].value;\r\n const answer = this.competitionEntryDto.answers.find(\r\n (a) => a.questionId === idx\r\n );\r\n if (!answer) {\r\n return null;\r\n }\r\n\r\n switch (answer.questionType) {\r\n case QuestionType.date:\r\n answer.value = !value\r\n ? ''\r\n : (value as Moment).toISOString();\r\n break;\r\n case QuestionType.singleSelect:\r\n case QuestionType.multiSelect:\r\n answer.value = !value ? '[]' : JSON.stringify(value);\r\n break;\r\n default:\r\n answer.value =\r\n typeof value === 'string'\r\n ? value\r\n : JSON.stringify(value);\r\n break;\r\n }\r\n });\r\n };\r\n\r\n onFormSubmit = async (firstErrorRef: any): Promise => {\r\n await this.competitionEntryForm.validate();\r\n this.formErrorFields = await this.competitionEntryForm.gerErrorFields();\r\n if (!!firstErrorRef && firstErrorRef.current) {\r\n window.scrollTo({\r\n top: firstErrorRef.current.offsetTop ?? 0,\r\n left: 0,\r\n behavior: 'smooth'\r\n });\r\n }\r\n\r\n if (this.competitionEntryForm.state === FormState.Valid) {\r\n await this.updateCompetitionEntryDto();\r\n if (\r\n this.competitionEntryDto.competitionEntryStatus ===\r\n CompetitionEntryStatus.draft ||\r\n this.mode === SubmissionMode.admin\r\n ) {\r\n if (this.mode === SubmissionMode.web) {\r\n this.competitionEntryDto = await this.apiAutoSave.saveEntry(\r\n this.competitionEntryDto\r\n );\r\n } else if (this.mode === SubmissionMode.admin) {\r\n this.competitionEntryDto.competitionEntryStatus =\r\n CompetitionEntryStatus.submitted;\r\n this.competitionEntryDto = await this.apiAutoSave.saveEntryAdmin(\r\n this.competitionEntryDto\r\n );\r\n }\r\n\r\n await customMessage('Lagring')\r\n }\r\n\r\n return true;\r\n }\r\n\r\n return false;\r\n };\r\n\r\n //helper functions\r\n getSelectDataSource = (\r\n array: string[],\r\n hasEmpty: boolean = false\r\n ): { id: string; value: string }[] => {\r\n let result = array.map((val, index) => ({\r\n id: index.toString(),\r\n value: val\r\n }));\r\n if (hasEmpty) result.unshift({ id: '-1', value: '' });\r\n return result;\r\n };\r\n\r\n getFileList(idx: number, field: FormField) {\r\n if (!this.files[idx]) {\r\n this.files[idx] = !field.value\r\n ? []\r\n : JSON.parse(field.value).reduce(\r\n (prev: UploadFile[], current: string) => {\r\n const attachment = this.competitionEntryDto.attachments.find(\r\n (a) => a.uid.toString() === current\r\n );\r\n if (!!attachment) {\r\n prev.push(attachment);\r\n }\r\n return prev;\r\n },\r\n []\r\n );\r\n }\r\n return this.files[idx];\r\n }\r\n\r\n @action\r\n getMultiFilesList = (idx: number, field: FormField) => {\r\n if (!this.multiFiles[idx]) {\r\n this.multiFiles[idx] = !field.value\r\n ? []\r\n : JSON.parse(field.value).reduce(\r\n (prev: any[], current: string) => {\r\n const attachment = this.competitionEntryDto.attachments.find(\r\n (a) => a.uid.toString() === current\r\n );\r\n if (!!attachment) {\r\n prev.push(attachment);\r\n }\r\n return prev;\r\n },\r\n []\r\n );\r\n }\r\n return this.multiFiles[idx];\r\n }\r\n multiFileListOptions = computedFn((field: FormField) => {\r\n return !field.value\r\n ? []\r\n : JSON.parse(field.value).reduce(\r\n (prev: any[], current: string) => {\r\n const attachment = this.competitionEntryDto.attachments.find(\r\n (a) => a.uid.toString() === current\r\n );\r\n if (!!attachment) {\r\n prev.push(attachment);\r\n }\r\n return prev;\r\n },\r\n []\r\n );\r\n })\r\n @action\r\n updateMultiFilesList = (idx: number, newFieldValue: string[]) => {\r\n this.multiFiles[idx] = newFieldValue.reduce((prev: any[], current: string) => {\r\n const attachment = this.competitionEntryDto.attachments.find(\r\n (a) => a.uid.toString() === current\r\n );\r\n if (!!attachment) {\r\n prev.push(attachment);\r\n }\r\n return prev;\r\n }, []);\r\n };\r\n\r\n \r\n onFileChangeOrder = (idx: number, field: FormField): (file: UploadFile, direction: FileMoveDirection) => void => {\r\n return (file: UploadFile, direction: FileMoveDirection) => {\r\n if(!!field.value){\r\n const data:string[] = JSON.parse(field.value);\r\n const fieldIndex = data.findIndex(id => id === file.uid);\r\n if(fieldIndex !== undefined){\r\n const temp = data[fieldIndex];\r\n data[fieldIndex] = data[fieldIndex + direction];\r\n data[fieldIndex + direction] = temp;\r\n }\r\n \r\n field.value = JSON.stringify(data);\r\n\r\n this.updateMultiFilesList(idx, data);\r\n }\r\n }\r\n }\r\n\r\n handleSingleFileChange(\r\n formField: FormField,\r\n idx: number\r\n ): (info: UploadChangeParam>) => void {\r\n return (info: UploadChangeParam>): void => {\r\n if ((info.file as any).flag) {\r\n return;\r\n }\r\n\r\n if (!info.file.status) {\r\n info.fileList.forEach((f) => {\r\n if (info.file.uid === f.uid) {\r\n f.status = 'error';\r\n }\r\n });\r\n }\r\n\r\n let fileList = [...info.fileList];\r\n\r\n fileList = fileList.slice(-1);\r\n\r\n fileList = fileList.map((file) => {\r\n if (file.response) {\r\n file.url = file.response.url;\r\n file.thumbUrl = file.response.thumbUrl;\r\n formField.value = JSON.stringify([file.response.uid]);\r\n } else {\r\n formField.value = '';\r\n }\r\n return file;\r\n });\r\n\r\n this.files[idx] = fileList;\r\n };\r\n }\r\n\r\n onRemoveAttachment = async (uid: number, name: string | undefined) => {\r\n const remove = await this.apiAttachments.removeAttachment(uid);\r\n\r\n if (remove) {\r\n notification.info({\r\n message: 'Delete attachment',\r\n description: !name\r\n ? ''\r\n : `File: ${name} have been successful removed`,\r\n duration: 2000\r\n });\r\n }\r\n };\r\n\r\n onRemoveFile(\r\n formField: FormField\r\n ): (file: UploadFile) => boolean {\r\n return (file: UploadFile) => {\r\n const tempUid = file.response ? file.response.uid : file.uid;\r\n const index = this.competitionEntryDto.attachments.findIndex(\r\n (e) => e.uid === tempUid\r\n );\r\n if (index >= 0 && !!formField.value) {\r\n this.competitionEntryDto.attachments.splice(index, 1);\r\n let files: string[] = JSON.parse(formField.value);\r\n files = files.reduce((p, c) => {\r\n if (c !== tempUid.toString()) {\r\n p.push(c);\r\n }\r\n return p;\r\n }, []);\r\n formField.value = JSON.stringify(files);\r\n this.onRemoveAttachment(tempUid, file.fileName);\r\n }\r\n return true;\r\n };\r\n }\r\n \r\n \r\n\r\n getFileUploadRequest(\r\n formField: FormField,\r\n idx?: number\r\n ): (options: RcCustomRequestOptions) => void {\r\n return async (options: any) => {\r\n const { onSuccess, onError, file, onProgress } = options;\r\n const formData = new FormData();\r\n formData.append('attachmentRequest.file', file, file.name);\r\n try {\r\n let axios;\r\n if (this.mode === SubmissionMode.web) {\r\n axios = axiosWeb();\r\n } else {\r\n axios = axiosAdmin();\r\n }\r\n if(!!idx) {\r\n this.multiFileLoadingProgress[idx] = [];\r\n }\r\n const attachmentResponse = await axios.post(\r\n `/CreateAttachment?competitionEntryRef=${this.competitionEntryDto.id.toString()}`,\r\n formData,\r\n {\r\n headers: {\r\n 'Content-Type': 'multipart/form-data'\r\n },\r\n onUploadProgress: (e: any) => {\r\n const percentage = Math.round((e.loaded / e.total) * 100);\r\n onProgress(\r\n { percent: percentage},\r\n file\r\n );\r\n if(!!idx){\r\n const isLoaded = this.multiFileLoadingProgress[idx].find(f => {\r\n if(f.uid === file.uid){\r\n f.percent = percentage;\r\n return true\r\n }\r\n return false;\r\n });\r\n if(!!isLoaded) {\r\n return;\r\n }\r\n this.multiFileLoadingProgress[idx].push({\r\n uid: file.uid,\r\n name: file.name,\r\n percent: percentage\r\n })\r\n }\r\n \r\n }\r\n }\r\n ).then((data) => {\r\n let fieldList: string[] = [];\r\n if (!!formField.value) {\r\n fieldList = [...JSON.parse(formField.value)];\r\n }\r\n fieldList.push(data.uid.toString());\r\n formField.value = JSON.stringify(fieldList);\r\n onSuccess({ ...data }, file);\r\n this.competitionEntryDto.attachments.push(data);\r\n \r\n return data;\r\n }).then((data) => {\r\n if (!!idx) {\r\n this.multiFileLoadingProgress = Object.keys(this.multiFileLoadingProgress)\r\n .reduce<{[id: number]: LoadingFileProgress[]}>((prev, current) => {\r\n const id = parseInt(current);\r\n if(id === idx) {\r\n const addedFiles = this.multiFileLoadingProgress[id];\r\n if (!addedFiles.length) {\r\n return prev;\r\n }\r\n\r\n prev[id] = addedFiles.reduce((p,c) => {\r\n if(c.name !== data.name) {\r\n p.push(c);\r\n }\r\n return p;\r\n }, []);\r\n \r\n return prev\r\n }\r\n\r\n prev[id] = this.multiFileLoadingProgress[id];\r\n return prev\r\n }, {});\r\n }\r\n return data;\r\n });\r\n } catch (error) {\r\n onError(error);\r\n }\r\n };\r\n }\r\n\r\n validateFileBeforeUpload = (file: RcFile): boolean => {\r\n const isLt500M = file.size < 524288000;\r\n if (!isLt500M) {\r\n notification.error({\r\n message: 'Uploading Error',\r\n description:\r\n 'Attachment size exceeds the allowable limit (500MB)',\r\n duration: 0\r\n });\r\n (file as any).flag = true;\r\n return false;\r\n }\r\n\r\n return true;\r\n };\r\n}\r\n\r\nexport default SubmissionForm;\r\n","import {\r\n FormField,\r\n Form,\r\n FormFieldValidator,\r\n FormState\r\n} from 'react-mvvm/forms';\r\nimport { observable, computed } from 'mobx';\r\nimport { command } from 'react-mvvm/commands';\r\nimport { buildUrl } from 'common/utils';\r\n\r\nclass UrlField extends FormField {\r\n @observable urls: Form[] = [];\r\n readonly fieldValidator: FormFieldValidator;\r\n private isErrorState = false;\r\n private isValidatingProcess = false;\r\n @observable errors: string[] = [];\r\n\r\n constructor(\r\n value: string | undefined,\r\n validator: FormFieldValidator\r\n ) {\r\n super(value, validator);\r\n\r\n this.fieldValidator = validator;\r\n\r\n if (!value) {\r\n this.addUrl.execute();\r\n return;\r\n }\r\n\r\n this.value = value;\r\n }\r\n\r\n @computed get value() {\r\n const allUrls = this.urls.map((url) =>\r\n !url.fields['url'].value ? '' : url.fields['url'].value\r\n );\r\n\r\n return JSON.stringify(allUrls);\r\n }\r\n\r\n set value(data: string | undefined) {\r\n if (!!data) {\r\n const urlForms: string[] = JSON.parse(data);\r\n this.urls = urlForms.map((row) =>\r\n buildUrl(this.fieldValidator, !row ? undefined : row)\r\n );\r\n }\r\n }\r\n\r\n @computed get state(): FormState {\r\n if (this.isErrorState) {\r\n return FormState.Invalid;\r\n }\r\n\r\n if (this.isValidatingProcess) {\r\n return FormState.Pending;\r\n }\r\n\r\n return FormState.Valid;\r\n }\r\n\r\n @computed get isPristine() {\r\n return this.urls.some((form) => form.isPristine);\r\n }\r\n\r\n addUrl = command(() => this.urls.push(buildUrl(this.fieldValidator)));\r\n\r\n removeUrl = (index: number) => this.urls.splice(index, 1);\r\n\r\n async validate(): Promise {\r\n let isValid = true;\r\n this.errors = [];\r\n this.isErrorState = false;\r\n this.isValidatingProcess = true;\r\n\r\n for (const url of this.urls) {\r\n const validation = await url.validate();\r\n if (!validation) {\r\n if(!!url.fields.url.errors.length) {\r\n this.errors = [...this.errors, ...url.fields.url.errors];\r\n }\r\n isValid = false;\r\n this.isErrorState = true;\r\n }\r\n }\r\n\r\n this.isValidatingProcess = false;\r\n return isValid || [];\r\n }\r\n}\r\n\r\nexport default UrlField;\r\n","import {\r\n ConditionalFieldValidator,\r\n Form,\r\n FormField,\r\n FormFields,\r\n FormFieldValidator,\r\n FormState,\r\n NullValidator\r\n} from 'react-mvvm/forms';\r\nimport { action, computed, observable } from 'mobx';\r\nimport { command } from 'react-mvvm/commands';\r\n\r\nexport type ContributorsForm = {\r\n name: string;\r\n role: string;\r\n company: string;\r\n};\r\n\r\nclass ContributorsField extends FormField {\r\n @observable contributors: Form[] = [];\r\n readonly fieldValidator: FormFieldValidator;\r\n readonly configuration: string[];\r\n private isErrorState = false;\r\n private isValidatingProcess = false;\r\n @observable errors: string[] = [];\r\n\r\n constructor(\r\n value: string | undefined,\r\n validator: FormFieldValidator,\r\n configuration: string[]\r\n ) {\r\n super(value, validator);\r\n this.fieldValidator = validator;\r\n this.configuration = configuration;\r\n\r\n if (!value) {\r\n this.addRow.execute();\r\n return;\r\n }\r\n\r\n this.value = value;\r\n }\r\n\r\n getAllConfiguration = (role: string | undefined): string[] => {\r\n if (!role) {\r\n return this.configuration;\r\n }\r\n const isRoleInConfig = this.configuration.find((c) => c === role);\r\n return !isRoleInConfig\r\n ? [...this.configuration, role]\r\n : this.configuration;\r\n };\r\n\r\n @computed get value(): string | undefined {\r\n let isEmpty = false;\r\n const formValue = this.contributors.map((c, index) => {\r\n isEmpty =\r\n index === 0 &&\r\n !c.fields['role'].value &&\r\n !c.fields['name'].value &&\r\n !c.fields['company'].value;\r\n return {\r\n name: c.fields['name'].value,\r\n role: c.fields['role'].value,\r\n company: c.fields['company'].value\r\n };\r\n });\r\n return isEmpty ? '' : JSON.stringify(formValue);\r\n }\r\n\r\n @computed get isPristine() {\r\n return this.contributors.some((form) => form.isPristine);\r\n }\r\n\r\n @computed get state(): FormState {\r\n if (this.isErrorState) {\r\n return FormState.Invalid;\r\n }\r\n\r\n if (this.isValidatingProcess) {\r\n return FormState.Pending;\r\n }\r\n\r\n return FormState.Valid;\r\n }\r\n\r\n set value(data: string | undefined) {\r\n if (!!data) {\r\n const formData: any[] = JSON.parse(data);\r\n this.contributors = formData.map((row) => {\r\n return this.buildRow(row.name, row.role, row.company);\r\n });\r\n }\r\n }\r\n\r\n addRow = command(() => this.contributors.push(this.buildRow()));\r\n\r\n removeRow = (index: number) => {\r\n this.contributors.splice(index, 1);\r\n };\r\n\r\n async validate(): Promise {\r\n let isValid = true;\r\n this.errors = [];\r\n this.isErrorState = false;\r\n this.isValidatingProcess = true;\r\n for (const form of this.contributors) {\r\n const validation = await form.validate();\r\n if (!validation) {\r\n for (const field of Object.values(form.fields)) {\r\n if (field.errors.length > 0) {\r\n this.errors = [...this.errors, ...field.errors];\r\n }\r\n }\r\n isValid = false;\r\n this.isErrorState = true;\r\n }\r\n }\r\n\r\n this.isValidatingProcess = false;\r\n return isValid || [];\r\n }\r\n\r\n @action\r\n addCustomRole = (value: string) => {\r\n this.configuration.push(value);\r\n };\r\n\r\n buildRow(\r\n name = undefined,\r\n role = undefined,\r\n company = undefined\r\n ): Form {\r\n const fields: FormFields = {\r\n role: new FormField(\r\n role,\r\n !!this.fieldValidator &&\r\n this.fieldValidator.name === NullValidator.name\r\n ? (v) =>\r\n ConditionalFieldValidator(\r\n v,\r\n fields.name.value,\r\n 'Name'\r\n )\r\n : this.fieldValidator\r\n ),\r\n name: new FormField(\r\n name,\r\n !!this.fieldValidator &&\r\n this.fieldValidator.name === NullValidator.name\r\n ? (v) =>\r\n ConditionalFieldValidator(\r\n v,\r\n fields.role.value,\r\n 'Role'\r\n )\r\n : this.fieldValidator\r\n ),\r\n company: new FormField(company, NullValidator)\r\n };\r\n\r\n return new Form(fields);\r\n }\r\n}\r\n\r\nexport default ContributorsField;\r\n","import * as React from \"react\";\r\nimport { CheckOutlined } from '@ant-design/icons';\r\nimport {message} from \"antd\";\r\n\r\nconst customMessage = async (msg: string, duration?: number) => {\r\n await message.open({\r\n type: \"success\",\r\n content: msg,\r\n className: 'custom-notification',\r\n duration: duration,\r\n icon: ,\r\n })\r\n}\r\n\r\nexport default customMessage;","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\nimport {SubmissionQuestionnaireDto} from \"./Model/SubmissionQuestionnaireDto\"\r\n\r\nexport interface GetSubmissionQuestionnaireRequest {\r\n categoryRef: number\r\n}\r\nexport const getSubmissionQuestionnaire = (getSubmissionQuestionnaireRequest: GetSubmissionQuestionnaireRequest): Promise => {\r\n return send(\"GetSubmissionQuestionnaire\", getSubmissionQuestionnaireRequest)\r\n}\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\n\r\nexport interface DeleteAttachmentRequest {\r\n attachmentRef: number\r\n}\r\nexport const deleteAttachment = (deleteAttachmentRequest: DeleteAttachmentRequest): Promise => {\r\n return send(\"DeleteAttachment\", deleteAttachmentRequest)\r\n}\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\nimport {CompetitionEntryDto} from \"./Model/CompetitionEntryDto\"\r\n\r\n\r\nexport interface AdminUpdateCompetitionEntryRequest {\r\n competitionEntryDto: CompetitionEntryDto\r\n}\r\nexport const adminUpdateCompetitionEntry = (adminUpdateCompetitionEntryRequest: AdminUpdateCompetitionEntryRequest): Promise => {\r\n return send(\"AdminUpdateCompetitionEntry\", adminUpdateCompetitionEntryRequest)\r\n}\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"title\":\"UrlField_title__1IHvh\",\"required\":\"UrlField_required__2oaoV\",\"small\":\"UrlField_small__1qgfQ\",\"row\":\"UrlField_row__1dX7_\",\"addButton\":\"UrlField_addButton__N5Uqh\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"answer\":\"SubmissionsAnswers_answer__1orPY\",\"answerPreview\":\"SubmissionsAnswers_answerPreview__dxsP8\",\"answerTitle\":\"SubmissionsAnswers_answerTitle__1nFlz\",\"answerHelp\":\"SubmissionsAnswers_answerHelp__3mEWl\",\"boxForm\":\"SubmissionsAnswers_boxForm__1OqK3\",\"boxPreview\":\"SubmissionsAnswers_boxPreview__2PcAT\"};","import React, { ChangeEvent, useEffect, useState } from 'react';\r\nimport { Input } from 'antd';\r\nimport { TextAreaProps } from 'antd/lib/input/TextArea';\r\nimport style from './AntTextArea.module.scss';\r\nimport {useTranslation} from \"react-i18next\";\r\n\r\nconst { TextArea } = Input;\r\n\r\ntype Props = {\r\n value?: string | undefined;\r\n onChange?: (value: string) => void;\r\n onCommit?: () => void;\r\n maxLength?: number;\r\n};\r\n\r\nconst AntTextArea = ({\r\n value,\r\n onChange,\r\n onCommit,\r\n maxLength,\r\n ...props\r\n}: Props & Omit) => {\r\n const [isMax, setIsMax] = useState(false);\r\n const { t } = useTranslation('form');\r\n\r\n const onInputChange = (e: ChangeEvent) => {\r\n if (!!maxLength) {\r\n setIsMax(e.target.value.length >= maxLength);\r\n }\r\n return onChange && onChange(e.target.value);\r\n };\r\n\r\n return (\r\n <>\r\n onCommit && onCommit()}\r\n />\r\n {!!maxLength && (\r\n
\r\n {isMax ? maxLength : value?.length || 0} / {maxLength}{` ${t('characters')}`}\r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default AntTextArea;\r\n","export {default} from './AntTextArea';","// extracted by mini-css-extract-plugin\nmodule.exports = {\"collapse\":\"GroupPhase_collapse__3NZfZ\",\"panel\":\"GroupPhase_panel__1VLGb\",\"ArtworkBox\":\"GroupPhase_ArtworkBox__1BM69\",\"ArtworkCrop\":\"GroupPhase_ArtworkCrop__2GKWG\",\"ArtworkTitle\":\"GroupPhase_ArtworkTitle__1Uog9\",\"ArtworkTitleLink\":\"GroupPhase_ArtworkTitleLink__3DN3w\",\"ArtworkPromote\":\"GroupPhase_ArtworkPromote__3-nck\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"arrow\":\"Arrow_arrow__3yUCm\",\"line\":\"Arrow_line__ySpr-\",\"point\":\"Arrow_point__2xknL\",\"leftUpper\":\"Arrow_leftUpper__1kyVm\",\"leftLower\":\"Arrow_leftLower__8FkJE\",\"rightUpper\":\"Arrow_rightUpper__1JaT9\",\"rightLower\":\"Arrow_rightLower__2jBLB\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"box\":\"Competition_box__2blQK\",\"arrowIcon\":\"Competition_arrowIcon__BZjUq\",\"bounceArrow\":\"Competition_bounceArrow__1_RdD\",\"content\":\"Competition_content__1oLX8\",\"icon\":\"Competition_icon__2rJdT\",\"stats\":\"Competition_stats__2TSPh\",\"items\":\"Competition_items__UYaRR\",\"title\":\"Competition_title__2RJ3Z\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"box\":\"SubmissionCard_box__2mwHj\",\"title\":\"SubmissionCard_title__1Z75h\",\"tiles\":\"SubmissionCard_tiles__1Ul_D\",\"tilesContent\":\"SubmissionCard_tilesContent__2vqpz\",\"listContent\":\"SubmissionCard_listContent__2Ua1D\",\"submission\":\"SubmissionCard_submission__ifbVn\",\"link\":\"SubmissionCard_link__2cRK-\",\"list\":\"SubmissionCard_list__2iXyV\",\"submissionBox\":\"SubmissionCard_submissionBox__1NCxV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"UrlField_container__2MUwt\",\"title\":\"UrlField_title__38vn1\",\"description\":\"UrlField_description__3z2fC\",\"required\":\"UrlField_required__26BjC\",\"row\":\"UrlField_row__2nItI\",\"line\":\"UrlField_line__o4s_K\",\"lineInput\":\"UrlField_lineInput__sl82s\",\"addButton\":\"UrlField_addButton__B1ag5\",\"removeButton\":\"UrlField_removeButton__3Kpq9\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"ConfirmPhoneNumberPageView_container__1YHq_\",\"content\":\"ConfirmPhoneNumberPageView_content__3406C\",\"loader\":\"ConfirmPhoneNumberPageView_loader__3pLkX\",\"title\":\"ConfirmPhoneNumberPageView_title__1ym4f\",\"help\":\"ConfirmPhoneNumberPageView_help__3o3Et\",\"message\":\"ConfirmPhoneNumberPageView_message__3i0i9\",\"errorIcon\":\"ConfirmPhoneNumberPageView_errorIcon__2O2fG\",\"messageError\":\"ConfirmPhoneNumberPageView_messageError__KEgh1\",\"link\":\"ConfirmPhoneNumberPageView_link__FHUGi\",\"backButton\":\"ConfirmPhoneNumberPageView_backButton__qSNUu\",\"backBtnArrow\":\"ConfirmPhoneNumberPageView_backBtnArrow__1gDOn\"};","import { FormField, FormState, IFormField } from './formField';\r\nimport { computed } from 'mobx';\r\n\r\nexport type FormFields = { [P in keyof T]: FormField };\r\n\r\nexport class Form {\r\n @computed get isPristine() {\r\n return this.getFields().every((f) => f.isPristine);\r\n }\r\n\r\n get isDirty() {\r\n return !this.isPristine;\r\n }\r\n\r\n @computed get state() {\r\n return this.getFields().reduce((s, f) => {\r\n switch (f.state) {\r\n case FormState.Pending:\r\n return s !== FormState.Invalid ? FormState.Pending : s;\r\n case FormState.Valid:\r\n return s;\r\n case FormState.Invalid:\r\n return FormState.Invalid;\r\n }\r\n }, FormState.Valid);\r\n }\r\n\r\n @computed get isValidating() {\r\n return this.getFields().some((f) => f.isValidating);\r\n }\r\n\r\n readonly fields: FormFields;\r\n\r\n constructor(\r\n fields: FormFields,\r\n onValuesChange?: (value: any) => void\r\n ) {\r\n this.fields = fields;\r\n this.getFields().every((f) => (f.onValueChange = onValuesChange));\r\n }\r\n\r\n validate() {\r\n return Promise.all(\r\n this.getFields().map((f) => f.validate())\r\n ).then((results) => results.every((r) => r === true));\r\n }\r\n\r\n public getFields(): readonly IFormField[] {\r\n const fields: IFormField[] = [];\r\n\r\n for (const f in this.fields) {\r\n if (!this.fields.hasOwnProperty(f)) continue;\r\n fields.push(this.fields[f]);\r\n }\r\n return fields;\r\n }\r\n\r\n public gerErrorFields(): IFormField[] {\r\n const fields: IFormField[] = [];\r\n\r\n for (const f in this.fields) {\r\n if (!this.fields.hasOwnProperty(f) || !this.fields[f].errors.length)\r\n continue;\r\n fields.push(this.fields[f]);\r\n }\r\n\r\n return fields;\r\n }\r\n}\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"radio\":\"FormStep_radio__1etH2\",\"policyFieldRequired\":\"FormStep_policyFieldRequired__1qUMM\",\"row\":\"FormStep_row__300ry\"};","import { observable } from 'mobx';\r\nimport { PartyDto } from 'model/Api/Parties/Model/PartyDto';\r\nimport {\r\n Form,\r\n FormField,\r\n NullValidator,\r\n RequiredFieldValidator\r\n} from 'react-mvvm/forms';\r\nimport loader from 'react-mvvm/loading/loader';\r\nimport { createExternalParty } from 'model/Api/Parties/CreateExternalPartyRequest';\r\nimport { updateExternalParty } from 'model/Api/Parties/UpdateExternalPartyRequest';\r\nimport AddressField from '../AddressField/AddressField';\r\n\r\nclass PrivateParty {\r\n @observable party: Partial = {};\r\n @observable partyForm: Form;\r\n isEdited: boolean;\r\n userId?: number\r\n\r\n constructor(private onSave?: (p?: PartyDto) => void, initParty?: PartyDto, userId?: number) {\r\n if (!!initParty) {\r\n this.party = initParty;\r\n }\r\n this.isEdited = !!initParty;\r\n this.partyForm = this.buildForm();\r\n this.userId = userId;\r\n }\r\n\r\n api = loader({\r\n createParty: async (party: PartyDto, userId?: number) => createExternalParty({ party, userRef: userId }),\r\n editParty: async (party: PartyDto, userId?: number) => updateExternalParty({ party, userRef: userId })\r\n });\r\n\r\n buildForm = () => {\r\n return new Form({\r\n careOf: new FormField(this.party.careOf, NullValidator),\r\n address: new AddressField(\r\n this.party.address,\r\n RequiredFieldValidator\r\n )\r\n });\r\n };\r\n\r\n save = async () => {\r\n if (await this.partyForm.validate()) {\r\n this.party = {\r\n ...this.party,\r\n careOf: this.partyForm.fields.careOf.value,\r\n address: this.partyForm.fields.address.value\r\n };\r\n\r\n let savedParty: PartyDto;\r\n if (this.isEdited) {\r\n savedParty = await this.api.editParty(this.party as PartyDto, this.userId);\r\n } else {\r\n savedParty = await this.api.createParty(this.party as PartyDto, this.userId);\r\n }\r\n\r\n !!this.onSave && this.onSave(savedParty as PartyDto);\r\n }\r\n };\r\n}\r\n\r\nexport default PrivateParty;\r\n","import loader from 'react-mvvm/loading/loader';\r\nimport { observable } from 'mobx';\r\nimport { PartyDto } from 'model/Api/Parties/Model/PartyDto';\r\nimport {\r\n Form,\r\n FormField,\r\n NullValidator,\r\n RequiredFieldValidator,\r\n RequiredOrganisationNumberValidator\r\n} from 'react-mvvm/forms';\r\nimport { createExternalParty } from 'model/Api/Parties/CreateExternalPartyRequest';\r\nimport { updateExternalParty } from 'model/Api/Parties/UpdateExternalPartyRequest';\r\nimport AddressField from '../AddressField/AddressField';\r\n\r\nclass CompanyParty {\r\n @observable party: Partial = {};\r\n @observable partyForm: Form;\r\n isEdited: boolean;\r\n userId?: number;\r\n\r\n constructor(\r\n private onSave?: (p?: PartyDto) => void,\r\n initParty?: PartyDto,\r\n userId?: number\r\n ) {\r\n if (!!initParty) {\r\n this.party = initParty;\r\n }\r\n this.isEdited = !!initParty;\r\n this.partyForm = this.buildForm();\r\n this.userId = userId;\r\n }\r\n\r\n api = loader({\r\n createParty: async (party: PartyDto, userId?: number) =>\r\n createExternalParty({ party, userRef: userId }),\r\n editParty: async (party: PartyDto, userId?: number) =>\r\n updateExternalParty({ party, userRef: userId })\r\n });\r\n\r\n getOnlyNumbers = (v: string | undefined): string | undefined => {\r\n if (!v) {\r\n return undefined;\r\n }\r\n const value: string[] = [];\r\n const re = /^[0-9]/;\r\n\r\n v.split('').forEach((item) => {\r\n if (re.test(item)) {\r\n value.push(item);\r\n }\r\n });\r\n return value.join('');\r\n };\r\n\r\n buildForm = () => {\r\n return new Form({\r\n name: new FormField(this.party.name, NullValidator),\r\n careOf: new FormField(this.party.careOf, NullValidator),\r\n orgNo: new FormField(\r\n this.party.orgNo,\r\n RequiredOrganisationNumberValidator\r\n ),\r\n address: new AddressField(\r\n this.party.address,\r\n RequiredFieldValidator\r\n )\r\n });\r\n };\r\n\r\n save = async () => {\r\n if (await this.partyForm.validate()) {\r\n this.party = {\r\n ...this.party,\r\n name: this.partyForm.fields.name.value,\r\n orgNo: this.partyForm.fields.orgNo.value,\r\n address: this.partyForm.fields.address.value,\r\n careOf: this.partyForm.fields.careOf.value\r\n };\r\n let savedParty: PartyDto;\r\n if (this.isEdited) {\r\n savedParty = await this.api.editParty(\r\n this.party as PartyDto,\r\n this.userId\r\n );\r\n } else {\r\n savedParty = await this.api.createParty(\r\n this.party as PartyDto,\r\n this.userId\r\n );\r\n }\r\n\r\n !!this.onSave && this.onSave(savedParty as PartyDto);\r\n }\r\n };\r\n}\r\n\r\nexport default CompanyParty;\r\n","import * as React from 'react';\r\nimport CompanyParty from './CompanyParty';\r\nimport AntTextInput from 'common/components/antHelpers/AntTextInput';\r\nimport { Button } from 'antd';\r\nimport { observer } from 'mobx-react';\r\nimport AntForm from 'common/components/antHelpers/AntForm';\r\nimport AntField from 'common/components/antHelpers/AntField';\r\nimport style from './CompanyParty.module.scss';\r\nimport Flex from 'common/components/Flex';\r\nimport { useTranslation } from 'react-i18next';\r\nimport AddressFieldView from '../AddressField/AddressFieldView';\r\nimport AddressField from '../AddressField/AddressField';\r\n\r\ninterface CompanyPartyViewProps {\r\n model: CompanyParty;\r\n}\r\n\r\nconst formLayout = {\r\n labelCol: { span: 6 },\r\n wrapperCol: { span: 18 }\r\n};\r\n\r\nconst CompanyPartyView: React.FC = observer(\r\n ({ model }) => {\r\n const { t } = useTranslation([\r\n 'userAddresses',\r\n 'common',\r\n 'addressField'\r\n ]);\r\n\r\n return (\r\n \r\n {(fields) => (\r\n <>\r\n
\r\n \r\n {(props) => }\r\n \r\n \r\n {(props) => }\r\n \r\n \r\n {(props) => {\r\n const value = model.getOnlyNumbers(\r\n props.value\r\n );\r\n return (\r\n \r\n );\r\n }}\r\n \r\n \r\n
\r\n \r\n model.save()}\r\n disabled={model.partyForm.isPristine}>\r\n {t('common:save')}\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n }\r\n);\r\n\r\nexport default CompanyPartyView;\r\n","import * as React from 'react';\r\nimport PrivateParty from './PrivateParty';\r\nimport style from './PrivateParty.module.scss';\r\nimport AntForm from 'common/components/antHelpers/AntForm';\r\nimport AntField from 'common/components/antHelpers/AntField';\r\nimport AntTextInput from 'common/components/antHelpers/AntTextInput';\r\nimport Flex from 'common/components/Flex';\r\nimport { Button } from 'antd';\r\nimport { useTranslation } from 'react-i18next';\r\nimport AddressFieldView from '../AddressField/AddressFieldView';\r\nimport AddressField from '../AddressField/AddressField';\r\n\r\ninterface PrivatePartyViewProps {\r\n model: PrivateParty;\r\n}\r\n\r\nconst formLayout = {\r\n labelCol: { span: 6 },\r\n wrapperCol: { span: 18 }\r\n};\r\n\r\nconst PrivatePartyView: React.FC = ({ model }) => {\r\n const { t } = useTranslation('common');\r\n return (\r\n \r\n {(fields) => (\r\n <>\r\n
\r\n \r\n {(props) => }\r\n \r\n \r\n
\r\n \r\n model.save()}\r\n disabled={model.partyForm.isPristine}>\r\n {t('common:save')}\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default PrivatePartyView;\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"checkbox\":\"ProfessionalForm_checkbox__24Gh7\",\"addUrlField\":\"ProfessionalForm_addUrlField__-nCwP\",\"noBorderRow\":\"ProfessionalForm_noBorderRow__3wDFA\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"content\":\"CompetitionHeader_content__1_05a\",\"block\":\"CompetitionHeader_block__2UMfi\",\"logoBox\":\"CompetitionHeader_logoBox__3k7nB\",\"breadcrumbs\":\"CompetitionHeader_breadcrumbs__1HzAr\",\"buttonsBox\":\"CompetitionHeader_buttonsBox__111ia\",\"logo\":\"CompetitionHeader_logo__2f9JU\",\"button\":\"CompetitionHeader_button__1SbSp\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"panel\":\"ArrowPanel_panel__39tqK\",\"title\":\"ArrowPanel_title__1ZLur\",\"desc\":\"ArrowPanel_desc__2T2VM\",\"arrowIcon\":\"ArrowPanel_arrowIcon__1UKiB\",\"bounceArrow\":\"ArrowPanel_bounceArrow__2lwxz\",\"arrow\":\"ArrowPanel_arrow__2DxYx\",\"contentEl\":\"ArrowPanel_contentEl__1LEd7\",\"content\":\"ArrowPanel_content__KkGhn\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"AcceptInvitationPage_container__UEGXE\",\"content\":\"AcceptInvitationPage_content__wYgMk\",\"box\":\"AcceptInvitationPage_box__3RDgZ\",\"bg\":\"AcceptInvitationPage_bg__3aHtB\",\"title\":\"AcceptInvitationPage_title__2k5k0\",\"btn\":\"AcceptInvitationPage_btn__Iam4y\",\"button\":\"AcceptInvitationPage_button__37g6E\",\"messageBox\":\"AcceptInvitationPage_messageBox__Ypmwz\",\"errorMsg\":\"AcceptInvitationPage_errorMsg__3oZm9\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"ActionPhaseSecond_container__20ZdK\",\"list\":\"ActionPhaseSecond_list__3A7hU\",\"select\":\"ActionPhaseSecond_select__-7gbV\",\"icon\":\"ActionPhaseSecond_icon__2m8to\",\"iconActive\":\"ActionPhaseSecond_iconActive__1w0IW\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"radioGroup\":\"SubscriptionStep_radioGroup__WIh_p\",\"radio\":\"SubscriptionStep_radio__2DyjR\",\"radioName\":\"SubscriptionStep_radioName__3zk9I\",\"radioPrice\":\"SubscriptionStep_radioPrice__3ZRDM\",\"radioDescription\":\"SubscriptionStep_radioDescription__23xG9\",\"help\":\"SubscriptionStep_help__34lxK\",\"link\":\"SubscriptionStep_link__3oNhE\"};","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\nimport {CompetitionEntryDto} from \"./Model/CompetitionEntryDto\"\r\n\r\n\r\nexport interface UpdateCompetitionEntryRequest {\r\n competitionEntryDto: CompetitionEntryDto\r\n}\r\nexport const updateCompetitionEntry = (updateCompetitionEntryRequest: UpdateCompetitionEntryRequest): Promise => {\r\n return send(\"UpdateCompetitionEntry\", updateCompetitionEntryRequest)\r\n}\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"title\", null, \"navigation_previous\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Page-1\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Grafill__Sumbission_1.Kategori_list_item_hover\",\n transform: \"translate(-550.000000, -871.000000)\",\n stroke: \"#59CB9B\",\n strokeWidth: 2\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"bottom_nav\",\n transform: \"translate(0.000000, 844.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"navigation\",\n transform: \"translate(551.000000, 21.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"navigation_previous\",\n transform: \"translate(0.000000, 7.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"previous_btn\",\n transform: \"translate(0.500000, 0.500000)\"\n}, /*#__PURE__*/React.createElement(\"line\", {\n x1: 1,\n y1: 9,\n x2: 8.21110255,\n y2: 19.8166538,\n id: \"Line-3\",\n strokeLinejoin: \"bevel\",\n transform: \"translate(4.605551, 14.408327) rotate(-11.309932) translate(-4.605551, -14.408327) \"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 1,\n y1: 1,\n x2: 8.22649881,\n y2: 11.8397482,\n id: \"Line-3\",\n strokeLinejoin: \"round\",\n transform: \"translate(4.613249, 6.419874) scale(-1, 1) rotate(-11.309932) translate(-4.613249, -6.419874) \"\n})))))));\n\nvar SvgNavigationPrevious = function SvgNavigationPrevious(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"13px\",\n height: \"24px\",\n viewBox: \"0 0 13 24\",\n ref: svgRef\n }, props), title === undefined ? _ref2 : title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgNavigationPrevious, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/navigation_previous.4459b315.svg\";\nexport { ForwardRef as ReactComponent };","import axios, { AxiosRequestConfig } from 'axios';\r\nimport hello from 'hellojs';\r\nimport { axiosOptions } from 'auth/Authentication';\r\nimport { refreshToken } from 'model/Api/Account/RefreshTokenRequest';\r\n\r\nfunction createApi(options?: AxiosRequestConfig) {\r\n const cachedToken = hello.utils.store('customJWT');\r\n\r\n const axiosInstance = axios.create(options);\r\n\r\n if (cachedToken) {\r\n axiosInstance.defaults.headers.common.Authorization = `Bearer ${cachedToken.access_token}`;\r\n }\r\n\r\n axiosInstance.interceptors.response.use(\r\n (response) => response && response.data,\r\n (err) => {\r\n const originalRequest = err.config;\r\n if (\r\n err.response.status === 401 &&\r\n err.response.config &&\r\n !err.response.config.__isRetryRequest\r\n ) {\r\n const ct = hello.utils.store('customJWT');\r\n if (!ct) {\r\n window.location.href = `/login?redirect_uri=${encodeURIComponent(\r\n window.location.href\r\n )}`;\r\n }\r\n\r\n err.response.config.__isRetryRequest = true;\r\n\r\n return refreshToken({ refreshToken: ct.refresh_token })\r\n .then((token) => {\r\n hello.utils.store('customJWT', {\r\n access_token: token.accessToken.token,\r\n refresh_token: ct.refresh_token\r\n });\r\n axios.defaults.headers.common.Authorization = `Bearer ${token.accessToken.token}`;\r\n err.config.headers.Authorization = `Bearer ${token.accessToken.token}`;\r\n return axiosInstance(originalRequest);\r\n })\r\n .catch((reason) => {\r\n window.location.href = `/login?redirect_uri=${encodeURIComponent(\r\n window.location.href\r\n )}`;\r\n });\r\n } else {\r\n return Promise.reject(err);\r\n }\r\n }\r\n );\r\n\r\n return {\r\n post(\r\n url: string,\r\n data: any,\r\n config?: AxiosRequestConfig\r\n ): Promise {\r\n return axiosInstance.post(url, data, config);\r\n }\r\n };\r\n}\r\n\r\nlet _api: ReturnType | undefined;\r\n\r\nexport const api = () => (_api ? _api : (_api = createApi(axiosOptions)));\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\nimport {TokenResult} from \"./Model/TokenResult\"\r\n\r\nexport interface RefreshTokenRequest {\r\n refreshToken: string\r\n}\r\nexport const refreshToken = (refreshTokenRequest: RefreshTokenRequest): Promise => {\r\n return send(\"RefreshToken\", refreshTokenRequest)\r\n}\r\n","import * as React from 'react';\r\nimport { Button } from 'antd';\r\nimport style from './BackButton.module.scss';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\ninterface BackButtonProps {\r\n onClick: () => void;\r\n title?: string;\r\n}\r\n\r\nconst BackButton: React.FC = ({ onClick, title }) => {\r\n const { t } = useTranslation('common');\r\n return (\r\n \r\n {!title ? t('back') : title}\r\n \r\n );\r\n};\r\n\r\nexport default BackButton;\r\n","export { default } from './BackButton';\r\n","import * as React from 'react';\r\nimport style from './SubmissionsHelpText.module.scss';\r\nimport { CompetitionStatus } from 'model/Externals';\r\nimport { Typography } from 'antd';\r\n\r\ninterface SubmissionsHelpTextProps {\r\n status: CompetitionStatus;\r\n accentColor?: boolean;\r\n}\r\n\r\nconst SubmissionsHelpText: React.FC = ({\r\n status,\r\n accentColor\r\n}) => {\r\n const colorText = !accentColor ? style.text : style.accent;\r\n\r\n switch (status) {\r\n case CompetitionStatus.published:\r\n return (\r\n \r\n Det åpnes for innsending av arbeider snart\r\n \r\n );\r\n case CompetitionStatus.submissionClosed:\r\n case CompetitionStatus.phaseOneJudgingInProgress:\r\n case CompetitionStatus.phaseOneJudgingClosed:\r\n case CompetitionStatus.phaseTwoJudgingInProgress:\r\n case CompetitionStatus.phaseTwoJudgingClosed:\r\n return (\r\n \r\n Påmeldingsfristen har gått ut. Vi er i gang med å vurdere de\r\n mottatte arbeidene.\r\n \r\n );\r\n default:\r\n return null;\r\n }\r\n};\r\n\r\nexport default SubmissionsHelpText;\r\n","export { default } from './SubmissionsHelpText';\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"title\", null, \"zoom_icn\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Page-1\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icons\",\n transform: \"translate(-31.000000, -70.000000)\",\n fillRule: \"nonzero\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"zoom_icn\",\n transform: \"translate(44.000000, 83.000000) rotate(180.000000) translate(-44.000000, -83.000000) translate(31.000000, 70.000000)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13,0.5 C6.09644063,0.5 0.5,6.09644063 0.5,13 C0.5,19.9035594 6.09644063,25.5 13,25.5 C19.9035594,25.5 25.5,19.9035594 25.5,13 C25.5,6.09644063 19.9035594,0.5 13,0.5 Z M13,1.5 C19.3512746,1.5 24.5,6.64872538 24.5,13 C24.5,19.3512746 19.3512746,24.5 13,24.5 C6.64872538,24.5 1.5,19.3512746 1.5,13 C1.5,6.64872538 6.64872538,1.5 13,1.5 Z\",\n id: \"Oval\",\n fill: \"#DCDCDC\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Line-3\",\n fill: \"#373737\",\n transform: \"translate(18.172263, 17.771125) scale(-1, -1) rotate(34.690068) translate(-18.172263, -17.771125) \",\n points: \"19.7814734 14.4975152 20.3361736 15.3295655 17.4 17.286 19.562411 20.4846776 18.7339566 21.0447342 16.0083521 17.0129294\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Line-3\",\n fill: \"#373737\",\n transform: \"translate(7.584028, 17.771125) scale(1, -1) rotate(34.690068) translate(-7.584028, -17.771125) \",\n points: \"9.19323814 14.4975152 9.74793833 15.3295655 6.812 17.286 8.97417569 20.4846776 8.14572135 21.0447342 5.42011681 17.0129294\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Line-3\",\n fill: \"#373737\",\n transform: \"translate(18.172263, 8.594654) scale(-1, 1) rotate(34.690068) translate(-18.172263, -8.594654) \",\n points: \"19.7814734 5.32104459 20.3361736 6.15309488 17.4 8.11 19.562411 11.308207 18.7339566 11.8682636 16.0083521 7.8364588\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Line-3\",\n fill: \"#373737\",\n transform: \"translate(7.584028, 8.594654) scale(-1, -1) rotate(-146.309932) translate(-7.584028, -8.594654) \",\n points: \"9.19323814 5.32104459 9.74793833 6.15309488 6.812 8.11 8.97417569 11.308207 8.14572135 11.8682636 5.42011681 7.8364588\"\n}))));\n\nvar SvgZoomIcn = function SvgZoomIcn(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"26px\",\n height: \"26px\",\n viewBox: \"0 0 26 26\",\n ref: svgRef\n }, props), title === undefined ? _ref2 : title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgZoomIcn, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/zoom_icn.6eb4e993.svg\";\nexport { ForwardRef as ReactComponent };","import React, {useState} from \"react\";\r\nimport style from './PdfLoader.module.scss';\r\nimport { Document, Page } from 'react-pdf/dist/esm/entry.webpack';\r\nimport {Spin} from \"antd\";\r\nimport LazyLoad from 'react-lazyload';\r\n\r\nexport const VIEWER_MAX_WIDTH = 950;\r\n\r\n\r\ninterface PdfLoaderProps {\r\n url: string;\r\n width?: number;\r\n}\r\n\r\nconst PdfLoader: React.FC = ({url, width}) => {\r\n const [numPages, setNumPages] = useState(null);\r\n\r\n function onDocumentLoadSuccess({ numPages }: any) {\r\n setNumPages(numPages);\r\n }\r\n\r\n\r\n return \r\n
\r\n \r\n \r\n

Pdf file is loading

\r\n
}>\r\n {Array.from(new Array(numPages), (el, index) => (\r\n \r\n ))}\r\n \r\n \r\n
;\r\n};\r\n\r\nexport default PdfLoader;","import * as React from 'react';\r\nimport {Button, Typography} from 'antd';\r\nimport style from './RenderPreview.module.scss';\r\nimport { ReactComponent as Zoom } from 'common/icons/zoom_icn.svg';\r\nimport classNames from 'classnames';\r\nimport { LazyLoadImage } from 'react-lazy-load-image-component';\r\nimport 'react-lazy-load-image-component/src/effects/blur.css';\r\nimport { AttachmentResponse } from 'model/Api/Submission/Model/AttachmentResponse';\r\nimport { observer } from 'mobx-react';\r\nimport { DownloadOutlined } from '@ant-design/icons';\r\nimport PdfLoader from \"../../PdfLoader\";\r\nimport ReactPlayer from \"react-player\";\r\nimport { ReactComponent as Play } from 'common/icons/play_icn.svg';\r\nimport Flex from \"../../Flex\";\r\n\r\ninterface RenderPreviewProps {\r\n file: AttachmentResponse;\r\n onPreview?: () => void;\r\n mode?: 'form' | 'preview';\r\n}\r\n\r\nconst RenderPreview: React.FC = observer(\r\n ({file, onPreview, mode}) => {\r\n switch (file.type) {\r\n case 'application/pdf':\r\n return (\r\n \r\n \r\n \r\n {\r\n window.open(file.url, '_blank');\r\n }}>\r\n Download:\r\n {file.name}\r\n \r\n \r\n {mode === 'form' && \r\n {file.name}\r\n }\r\n \r\n\r\n );\r\n case 'audio/mpeg': //mp3\r\n return \r\n \r\n {mode === 'form' && \r\n {file.name}\r\n }\r\n ;\r\n case 'video/mp4':\r\n return \r\n }/>\r\n {mode === 'form' && \r\n {file.name}\r\n }\r\n \r\n default:\r\n const previewStyle = classNames({\r\n [style.preview]: !!onPreview\r\n });\r\n\r\n const url = !!onPreview ? file.url : file.thumbUrl;\r\n return (\r\n \r\n
\r\n (!!onPreview ? onPreview() : null)}>\r\n \r\n {\r\n window.open(file.url, '_blank');\r\n }}\r\n className={`${style.icon} ${style.download}`}>\r\n \r\n \r\n \r\n !!onPreview ? onPreview() : null\r\n }>\r\n \r\n \r\n
\r\n \r\n {mode === 'form' && \r\n {file.name}\r\n }\r\n
\r\n\r\n );\r\n }\r\n }\r\n);\r\n\r\nexport default RenderPreview;\r\n","export { default } from './RenderPreview';\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"SubmissionForm_container__1tUAU\",\"goToSubmissions\":\"SubmissionForm_goToSubmissions__1BIgr\",\"footer\":\"SubmissionForm_footer__3FTfw\",\"footerContent\":\"SubmissionForm_footerContent__24JQH\",\"continueBtn\":\"SubmissionForm_continueBtn__3Kpjq\",\"loader\":\"SubmissionForm_loader__3Lz8-\",\"spin\":\"SubmissionForm_spin__1MN-g\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"EvaluationOptionList_container__tdzd5\",\"iconBtn\":\"EvaluationOptionList_iconBtn__3AVDF\",\"icon\":\"EvaluationOptionList_icon__1TNH6\",\"iconBtnSelected\":\"EvaluationOptionList_iconBtnSelected__T4e7L\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"SubmissionPayment_container__1JBLV\",\"content\":\"SubmissionPayment_content__3Fv_X\",\"row\":\"SubmissionPayment_row__2X1wk\",\"rowTitle\":\"SubmissionPayment_rowTitle__A7QOX\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"ResetPasswordByEmailPage_container__1eMgP\",\"content\":\"ResetPasswordByEmailPage_content__AlkXB\",\"title\":\"ResetPasswordByEmailPage_title__Ss8zM\",\"help\":\"ResetPasswordByEmailPage_help__1QRUO\",\"messageBox\":\"ResetPasswordByEmailPage_messageBox__2_CzS\",\"errorMsg\":\"ResetPasswordByEmailPage_errorMsg__3hrCm\"};","import { IReactionDisposer, reaction, runInAction } from \"mobx\";\r\nimport { IRoutedPage } from \"./index\";\r\nimport { IRouteBinding } from \"./IRouteBinding\";\r\nimport { IRouteDefinition } from \"./IRouteDefinition\";\r\n\r\nexport class RouteBinding implements IRouteBinding {\r\n \r\n private readonly unObserveChildPage: IReactionDisposer;\r\n private readonly unObserveState: IReactionDisposer | undefined;\r\n \r\n constructor(public readonly updateLocation: () => void, public readonly route: IRouteDefinition, private path : string, private model: TModel, private nextBinding: IRouteBinding | undefined) {\r\n this.unObserveChildPage = reaction(() => model.childPage, newChildPage => {\r\n runInAction(() => {\r\n if (this.nextBinding) {\r\n this.nextBinding.destroy();\r\n this.nextBinding = undefined;\r\n }\r\n\r\n if (!newChildPage)\r\n return;\r\n\r\n this.nextBinding = this.route.bindFirstMatchingChildToModel(updateLocation, newChildPage);\r\n });\r\n \r\n updateLocation();\r\n });\r\n\r\n if (!nextBinding) {\r\n this.unObserveState = reaction(() => this.route.getModelState(model), newState => {\r\n updateLocation();\r\n });\r\n }\r\n }\r\n\r\n getLocation(): { path: string, hash: string } {\r\n if (this.nextBinding) {\r\n const childLocation = this.nextBinding.getLocation();\r\n return { path: this.path + childLocation.path, hash: childLocation.hash };\r\n }\r\n return { path: this.path, hash: this.route.getModelState(this.model) || \"\" };\r\n }\r\n\r\n destroy() {\r\n this.unObserveChildPage();\r\n \r\n if (this.unObserveState)\r\n this.unObserveState();\r\n \r\n if (this.nextBinding)\r\n this.nextBinding.destroy();\r\n }\r\n\r\n async update(remainingPath: string, hash : string) {\r\n if (this.nextBinding) {\r\n if (!await this.nextBinding.tryUpdate(remainingPath, hash)) {\r\n this.nextBinding.destroy();\r\n this.nextBinding = undefined;\r\n this.model.removeChildPage();\r\n }\r\n }\r\n \r\n if (!this.nextBinding) {\r\n this.nextBinding = await this.route.bindFirstMatchingChildToPath(this.updateLocation, this.model, remainingPath, hash);\r\n }\r\n \r\n if (!this.nextBinding)\r\n this.route.setModelState(this.model, hash);\r\n }\r\n\r\n async tryUpdate(remainingPath: string, hash : string) : Promise {\r\n if (remainingPath.startsWith(this.path)) {\r\n await this.update(remainingPath.substring(this.path.length), hash);\r\n return true;\r\n }\r\n \r\n return false;\r\n }\r\n}\r\n","import pathToRegexp, { Key as PathToRegexpKey, PathFunction } from \"path-to-regexp\";\r\nimport { IRoutedPage, IRoute } from \"./index\";\r\nimport { IParentRoute } from \"./IParentRoute\";\r\nimport { RouteBinding } from \"./RouteBinding\";\r\nimport { ConstructorOf } from \"../ConstructorOf\";\r\nimport { IRouteBinding } from \"./IRouteBinding\";\r\nimport { IChildRoute } from \"./IChildRoute\";\r\nimport { IRouteDefinition } from \"./IRouteDefinition\";\r\n\r\nexport abstract class RouteDefinitionBase implements IRoute, IRouteDefinition {\r\n\r\n children: IChildRoute[] = [];\r\n\r\n protected constructor(private stateAccessor?: { get: (page: TModel) => string, set: (page: TModel, state: string) => void }) {\r\n }\r\n\r\n addRoute(path: string, modelConstructor: ConstructorOf, modelFactory: (currentModel: TModel, params: TNewParams) => Promise | TNewModel, paramsSelector: (page: TNewModel) => TNewParams, stateAccessor?: { get: (page: TNewModel) => string, set: (page: TNewModel, state: string) => void }): RouteDefinition {\r\n const route = new RouteDefinition(this, path, modelConstructor, modelFactory, paramsSelector, stateAccessor);\r\n this.children.push(route);\r\n return route;\r\n }\r\n\r\n abstract getPath(params: TParentParams): string;\r\n\r\n public async bindFirstMatchingChildToPath(updateLocation: () => void, model: TModel, remainingPath: string, hash : string) {\r\n for (const childRoute of this.children) {\r\n const binding = await childRoute.bindToPath(updateLocation, model, remainingPath, hash);\r\n if (binding) {\r\n return binding;\r\n }\r\n }\r\n return undefined;\r\n }\r\n\r\n public bindFirstMatchingChildToModel(updateLocation: () => void, model: IRoutedPage) {\r\n for (const childBindingDefinition of this.children) {\r\n let binding = childBindingDefinition.bindToModel(updateLocation, model);\r\n if (binding)\r\n return binding;\r\n }\r\n return undefined;\r\n }\r\n\r\n getModelState(model: TModel): string {\r\n return this.stateAccessor && this.stateAccessor.get(model) || \"\";\r\n }\r\n\r\n setModelState(model: TModel, state: string): void {\r\n this.stateAccessor && this.stateAccessor.set(model, state)\r\n }\r\n}\r\n\r\nexport class RouteDefinition extends RouteDefinitionBase implements IChildRoute {\r\n readonly pathRegExp: RegExp;\r\n readonly pathRegExpKeys: PathToRegexpKey[] = [];\r\n readonly pathFactory: PathFunction;\r\n\r\n constructor(public readonly parentRoute: IParentRoute, public path: string, private modelConstructor: ConstructorOf, private modelFactory: (parent: TParentModel, params: TParams) => (Promise | TModel), private paramsSelector: (model: TModel) => TParams, stateAccessor?: { get: (page: TModel) => string; set: (page: TModel, state: string) => void } | undefined) {\r\n super(stateAccessor);\r\n this.pathRegExp = pathToRegexp(path, this.pathRegExpKeys, { end: false });\r\n this.pathFactory = pathToRegexp.compile(path);\r\n }\r\n \r\n getPath(params: TParentParams & TParams) {\r\n return this.parentRoute.getPath(params) + this.pathFactory(params as any);\r\n }\r\n \r\n matchPath(path: string): {\r\n path: string;\r\n remainingPath: string;\r\n params: TParams;\r\n } | undefined {\r\n const match = this.pathRegExp.exec(path);\r\n if (!match)\r\n return;\r\n const params: {\r\n [k: string]: string;\r\n } = {};\r\n for (let i = 1; i < match.length; i++) {\r\n params[this.pathRegExpKeys[i - 1].name] = match[i];\r\n }\r\n return {\r\n path: match[0],\r\n remainingPath: path.substring(match[0].length),\r\n params: params as unknown as TParams\r\n };\r\n }\r\n\r\n async bindToPath(updateLocation: () => void, parentModel: TParentModel, remainingPath: string, hash : string): Promise {\r\n const match = this.matchPath(remainingPath);\r\n if (!match)\r\n return;\r\n const model = await this.modelFactory(parentModel, match.params);\r\n const childBinding = await this.bindFirstMatchingChildToPath(updateLocation, model, match.remainingPath, hash);\r\n if (!childBinding)\r\n this.setModelState(model, hash);\r\n return new RouteBinding(updateLocation, this, match.path, model, childBinding);\r\n }\r\n\r\n bindToModel(updateLocation: () => void, model: IRoutedPage) {\r\n if (model.constructor !== this.modelConstructor)\r\n return;\r\n \r\n let childBinding: IRouteBinding | undefined;\r\n if (model.childPage) {\r\n childBinding = this.bindFirstMatchingChildToModel(updateLocation, model.childPage);\r\n } \r\n \r\n return new RouteBinding(updateLocation, this, this.pathFactory(this.paramsSelector(model as TModel) as any), model, childBinding);\r\n }\r\n}\r\n","import { History } from 'history';\r\nimport { IRoutedPage, IHomeRoute } from './index';\r\nimport { RouteBinding } from './RouteBinding';\r\nimport { RouteDefinitionBase } from './RouteDefinition';\r\n\r\nexport class HomeRouteDefinition<\r\n TModel extends IRoutedPage & { activate: () => void }\r\n> extends RouteDefinitionBase implements IHomeRoute {\r\n model: TModel | null = null;\r\n\r\n history?: History;\r\n\r\n constructor(\r\n public path: string,\r\n public modelFactory: () => Promise | TModel\r\n ) {\r\n super();\r\n }\r\n\r\n historyPush(path: string, state?: object | null): void {\r\n if (this.history) {\r\n this.history.push(path, state);\r\n }\r\n }\r\n\r\n historyReplace(path: string): void {\r\n if (this.history) {\r\n this.history.replace(path);\r\n }\r\n }\r\n\r\n getHistoryState(): object | undefined {\r\n if (this.history) {\r\n return this.history.location.state;\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n async bind(history: History) {\r\n this.history = history;\r\n\r\n let updatingLocation = false;\r\n let updatingBindings = false;\r\n\r\n const updateLocation = () => {\r\n if (updatingBindings) return;\r\n\r\n let newLocation = binding.getLocation();\r\n if (!newLocation.path.startsWith('/'))\r\n newLocation.path = '/' + newLocation.path;\r\n\r\n if (\r\n history.location.pathname.toLowerCase() !=\r\n newLocation.path.toLowerCase()\r\n ) {\r\n updatingLocation = true;\r\n try {\r\n history.push({\r\n pathname: newLocation.path,\r\n hash: newLocation.hash\r\n });\r\n } finally {\r\n updatingLocation = false;\r\n }\r\n } else if (history.location.hash != newLocation.hash) {\r\n updatingLocation = true;\r\n try {\r\n history.replace({\r\n pathname: newLocation.path,\r\n hash: newLocation.hash\r\n });\r\n } finally {\r\n updatingLocation = false;\r\n }\r\n }\r\n };\r\n\r\n const model = await this.modelFactory();\r\n const childBinding = await this.bindFirstMatchingChildToPath(\r\n updateLocation,\r\n model,\r\n history.location.pathname.substring(this.path.length),\r\n history.location.hash\r\n );\r\n const binding = new RouteBinding(\r\n updateLocation,\r\n this,\r\n this.path,\r\n model,\r\n childBinding\r\n );\r\n\r\n const unlisten = history.listen(async (location, action) => {\r\n if (updatingLocation) return;\r\n updatingBindings = true;\r\n try {\r\n await binding.update(\r\n location.pathname.substring(this.path.length),\r\n location.hash.substr(1)\r\n );\r\n } finally {\r\n updatingBindings = false;\r\n }\r\n });\r\n\r\n model.activate();\r\n\r\n return {\r\n page: model,\r\n destroy: () => {\r\n unlisten();\r\n binding.destroy();\r\n }\r\n };\r\n }\r\n\r\n getPath(params: {}) {\r\n return this.path;\r\n }\r\n}\r\n","import { History } from 'history';\r\nimport { HomeRouteDefinition } from './HomeRouteDefinition';\r\nimport { ConstructorOf } from '../ConstructorOf';\r\n\r\nexport interface IRoutedPage {\r\n readonly childPage: IRoutedPage | undefined;\r\n removeChildPage(): void;\r\n}\r\n\r\nexport interface IRoute {\r\n addRoute<\r\n TNewModel extends IRoutedPage,\r\n TNewParams extends { [k: string]: string | undefined } = {}\r\n >(\r\n path: string,\r\n modelConstructor: ConstructorOf,\r\n modelFactory: (\r\n currentModel: TModel,\r\n params: TNewParams\r\n ) => Promise | TNewModel,\r\n paramsSelector: (page: TNewModel) => TNewParams,\r\n stateAccessor?: {\r\n get: (page: TNewModel) => string;\r\n set: (page: TNewModel, state: string) => void;\r\n }\r\n ): IRoute;\r\n getPath(params: TParentParams & TParams): string;\r\n}\r\n\r\nexport interface IHomeRoute extends IRoute {\r\n bind(history: History): Promise<{ page: TModel; destroy(): void }>;\r\n historyPush(path: string, state?: object | null): void;\r\n historyReplace(path: string): void;\r\n getHistoryState(): object | undefined;\r\n}\r\n\r\nexport function route void }>(\r\n path: string,\r\n modelFactory: () => Promise | TModel\r\n): IHomeRoute {\r\n return new HomeRouteDefinition(path, modelFactory);\r\n}\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\nimport {PartyDto} from \"./Model/PartyDto\"\r\n\r\n\r\nexport interface CreateExternalPartyRequest {\r\n userRef?: number\r\n party: PartyDto\r\n}\r\nexport const createExternalParty = (createExternalPartyRequest: CreateExternalPartyRequest): Promise => {\r\n return send(\"CreateExternalParty\", createExternalPartyRequest)\r\n}\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\nimport {PartyDto} from \"./Model/PartyDto\"\r\n\r\n\r\nexport interface UpdateExternalPartyRequest {\r\n party: PartyDto\r\n userRef?: number\r\n}\r\nexport const updateExternalParty = (updateExternalPartyRequest: UpdateExternalPartyRequest): Promise => {\r\n return send(\"UpdateExternalParty\", updateExternalPartyRequest)\r\n}\r\n","import {\r\n Form,\r\n FormField,\r\n FormFieldValidator,\r\n FormState,\r\n NullValidator,\r\n RequiredPostalCodeValidator,\r\n} from 'react-mvvm/forms';\r\nimport { AddressDto } from 'model/Api/Parties/Model/AddressDto';\r\nimport { computed, observable } from 'mobx';\r\n\r\nclass AddressField extends FormField | undefined> {\r\n @observable address: Form;\r\n private isErrorState = false;\r\n private isValidatingProcess = false;\r\n readonly fieldValidator: FormFieldValidator;\r\n\r\n constructor(\r\n private dto: AddressDto | undefined,\r\n validator: FormFieldValidator\r\n ) {\r\n super(dto, validator);\r\n this.fieldValidator = validator;\r\n\r\n this.address = new Form({\r\n line: new FormField(dto?.line, NullValidator),\r\n postalCode: new FormField(\r\n dto?.postalCode,\r\n RequiredPostalCodeValidator\r\n ),\r\n city: new FormField(\r\n dto?.city,\r\n this.fieldValidator\r\n ),\r\n country: new FormField(\r\n dto?.country,\r\n NullValidator\r\n )\r\n });\r\n\r\n if (!!dto) this.value = dto;\r\n }\r\n\r\n @computed get value(): Partial | undefined {\r\n if (!this.address) {\r\n return undefined;\r\n }\r\n const { fields } = this.address;\r\n\r\n return {\r\n line: fields.line.value,\r\n postalCode: fields.postalCode.value,\r\n city: fields.city.value,\r\n country: fields.country.value\r\n };\r\n }\r\n\r\n set value(data: Partial | undefined) {\r\n if (!!data && !!this.address) {\r\n this.address.fields.line.value = data.line;\r\n this.address.fields.postalCode.value = data.postalCode;\r\n this.address.fields.city.value = data.city;\r\n this.address.fields.country.value = data.country;\r\n }\r\n }\r\n\r\n @computed get isPristine() {\r\n return this.address.isPristine;\r\n }\r\n\r\n @computed get state(): FormState {\r\n if (this.isErrorState) {\r\n return FormState.Invalid;\r\n }\r\n\r\n if (this.isValidatingProcess) {\r\n return FormState.Pending;\r\n }\r\n\r\n return FormState.Valid;\r\n }\r\n\r\n async validate(): Promise {\r\n let isValid = true;\r\n this.isErrorState = false;\r\n this.isValidatingProcess = true;\r\n\r\n for (const field in this.address.fields) {\r\n const validation = await this.address.fields[\r\n field as string\r\n ].validate();\r\n if (!validation || Array.isArray(validation)) {\r\n isValid = false;\r\n this.isErrorState = true;\r\n }\r\n }\r\n\r\n this.isValidatingProcess = false;\r\n return isValid || [];\r\n }\r\n}\r\n\r\nexport default AddressField;\r\n","import BaseDialog from 'admin/helpers/BaseDialog';\r\nimport { asyncCommand } from 'react-mvvm/commands';\r\nimport { PartySnapshotDto } from 'model/Api/Parties/Model/PartySnapshotDto';\r\nimport { Page } from 'react-mvvm';\r\nimport { PartyDto } from 'model/Api/Parties/Model/PartyDto';\r\nimport { action, observable } from 'mobx';\r\nimport UserAddresses from 'common/components/UserAddresses/UserAddresses';\r\nimport PrivateParty from \"../PrivateParty/PrivateParty\";\r\nimport CompanyParty from \"../CompanyParty/CompanyParty\";\r\n\r\nclass ChangeBillingAddressDialog extends BaseDialog {\r\n page: Page;\r\n @observable userAddresses: UserAddresses;\r\n @observable isNewAddressVisible: boolean = false;\r\n\r\n privateParty: PrivateParty;\r\n companyParty?: CompanyParty;\r\n\r\n constructor(\r\n private onConfirm: (ref: number) => Promise,\r\n close: (v: PartyDto[] | undefined) => void,\r\n page: Page,\r\n private partySnapshot: PartySnapshotDto | undefined,\r\n private userId?: number\r\n ) {\r\n super(close);\r\n this.page = page;\r\n this.userAddresses = new UserAddresses(page, true, true);\r\n\r\n this.privateParty = new PrivateParty(this.onSaveNewAddress, undefined, userId);\r\n this.companyParty = new CompanyParty(this.onSaveNewAddress, undefined, userId);\r\n }\r\n\r\n confirm = asyncCommand(async () => {\r\n if (!!this.userAddresses.selectedParty) {\r\n const party: PartyDto[] = await this.onConfirm(\r\n this.userAddresses.selectedParty\r\n );\r\n this.close(party);\r\n }\r\n });\r\n\r\n cancel = () => this.close(undefined);\r\n\r\n @action\r\n setNewAddressVisible = (val: boolean) => {\r\n this.isNewAddressVisible = val;\r\n };\r\n\r\n async activate(): Promise {\r\n await this.userAddresses.init(this.userId);\r\n if (\r\n !this.userAddresses.parties.find(\r\n (party) =>\r\n !!this.partySnapshot && party.id === this.partySnapshot.id\r\n )\r\n ) {\r\n this.userAddresses.parties.push(this.partySnapshot as PartyDto);\r\n }\r\n if (!!this.partySnapshot)\r\n this.userAddresses.selectedParty = this.partySnapshot.id;\r\n return Promise.resolve();\r\n }\r\n\r\n onSaveNewAddress = async (savedParty?: PartyDto) => {\r\n if (!!savedParty) {\r\n await this.userAddresses.parties.push(savedParty);\r\n this.userAddresses.selectedParty = savedParty.id;\r\n this.setNewAddressVisible(false);\r\n }\r\n };\r\n}\r\n\r\nexport default ChangeBillingAddressDialog;\r\n","import * as React from 'react';\r\nimport AddressField from './AddressField';\r\nimport AntField from 'common/components/antHelpers/AntField';\r\nimport AntTextInput from 'common/components/antHelpers/AntTextInput';\r\nimport { observer } from 'mobx-react';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\ninterface AddressFieldViewProps {\r\n model: AddressField | undefined;\r\n}\r\nconst regex = new RegExp('https?://');\r\n\r\nconst AddressFieldView: React.FC = observer(\r\n ({ model }) => {\r\n const { t } = useTranslation(['addressField']);\r\n if (!model) {\r\n return null;\r\n }\r\n return (\r\n <>\r\n \r\n {(props) => }\r\n \r\n \r\n {(props) => }\r\n \r\n \r\n {(props) => }\r\n \r\n \r\n {(props) => }\r\n \r\n \r\n );\r\n }\r\n);\r\n\r\nexport default AddressFieldView;\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"title\", null, \"upload_icon\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Page-1\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Grafill__Sumbission_4.Filer/lenker\",\n transform: \"translate(-370.000000, -292.000000)\",\n fill: \"#373737\",\n fillRule: \"nonzero\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"filer_section\",\n transform: \"translate(130.000000, 153.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"upload_area\",\n transform: \"translate(2.000000, 55.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"upload_area_content\",\n transform: \"translate(155.000000, 85.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"upload_icon\",\n transform: \"translate(83.000000, 0.000000)\"\n}, /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Line-7\",\n points: \"33.646467 0.00380142961 33.9961986 -0.353532953 57.853533 22.9961986 57.5038014 23.353533\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Line-7\",\n transform: \"translate(22.250000, 11.500000) scale(-1, 1) translate(-22.250000, -11.500000) \",\n points: \"10.146467 0.00380142961 10.4961986 -0.353532953 34.353533 22.9961986 34.0038014 23.353533\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Line-6\",\n points: \"34.25 -0.25 34.25 57.25 33.75 57.25 33.75 -0.25\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Line\",\n points: \"67.75 34.25 67.75 68.25 67.25 68.25 67.25 34.25\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Line-8\",\n points: \"67.75 67.75 67.75 68.25 0.25 68.25 0.25 67.75\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Line\",\n points: \"0.75 33.75 0.75 68.25 0.25 68.25 0.25 33.75\"\n})))))));\n\nvar SvgUploadIcon = function SvgUploadIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"68px\",\n height: \"70px\",\n viewBox: \"0 0 68 70\",\n ref: svgRef\n }, props), title === undefined ? _ref2 : title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgUploadIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/upload_icon.50cccfab.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"title\", null, \"play_icn\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Page-1\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icons\",\n transform: \"translate(-73.000000, -70.000000)\",\n fillRule: \"nonzero\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"play_icn\",\n transform: \"translate(74.000000, 71.000000)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12,-0.5 C5.09644063,-0.5 -0.5,5.09644063 -0.5,12 C-0.5,18.9035594 5.09644063,24.5 12,24.5 C18.9035594,24.5 24.5,18.9035594 24.5,12 C24.5,5.09644063 18.9035594,-0.5 12,-0.5 Z M12,0.5 C18.3512746,0.5 23.5,5.64872538 23.5,12 C23.5,18.3512746 18.3512746,23.5 12,23.5 C5.64872538,23.5 0.5,18.3512746 0.5,12 C0.5,5.64872538 5.64872538,0.5 12,0.5 Z\",\n id: \"Oval\",\n fill: \"#EFEFEF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.0798867,16.0384615 L12.7320951,7.18694444 L7.3843035,16.0384615 L18.0798867,16.0384615 Z M12.732,9.12 L16.307,15.038 L9.157,15.038 L12.732,9.12 Z\",\n id: \"Triangle\",\n fill: \"#373737\",\n transform: \"translate(12.732095, 11.612703) rotate(90.000000) translate(-12.732095, -11.612703) \"\n}))));\n\nvar SvgPlayIcn = function SvgPlayIcn(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"26px\",\n height: \"26px\",\n viewBox: \"0 0 26 26\",\n ref: svgRef\n }, props), title === undefined ? _ref2 : title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgPlayIcn, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/play_icn.1baf7cc0.svg\";\nexport { ForwardRef as ReactComponent };","import * as React from 'react';\r\nimport style from './UserAddresses.module.scss';\r\nimport UserAddresses from 'common/components/UserAddresses/UserAddresses';\r\nimport { observer } from 'mobx-react';\r\nimport { Menu } from 'antd';\r\nimport Flex from 'common/components/Flex';\r\nimport Link from 'web/components/Link';\r\nimport { CheckOutlined, PlusOutlined } from '@ant-design/icons';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { PartyDto } from 'model/Api/Parties/Model/PartyDto';\r\n\r\ninterface MenuDropdownProps {\r\n model: UserAddresses;\r\n data: PartyDto[];\r\n setVisible: (v: boolean) => void;\r\n type?: 'private' | 'company';\r\n selectedId?: number;\r\n userId?: number;\r\n}\r\n\r\nconst MenuDropdown: React.FC = observer(\r\n ({ model, data, setVisible, type, userId, selectedId }) => {\r\n const { t } = useTranslation(['userAddresses', 'common']);\r\n\r\n if (!data.length) {\r\n return (\r\n {\r\n setVisible(false);\r\n model.onCreateAddress(type, userId);\r\n }}\r\n className={style.dropdownMenu}>\r\n \r\n {t('userAddresses:addAddress')}\r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n {\r\n setVisible(false);\r\n model.onSelectAddress(Number(e.key));\r\n }}\r\n selectedKeys={selectedId ? [selectedId.toString()] : undefined}\r\n className={style.dropdownMenu}>\r\n {data.map((party) => {\r\n return (\r\n \r\n \r\n \r\n {!!party.name && `${party.name}, `}\r\n {!!party.careOf &&\r\n `${!!party.orgNo ? 'att. ' : 'c/o '} ${\r\n party.careOf\r\n }, `}\r\n {!!party.address.line &&\r\n `${party.address.line}, `}\r\n {`${party.address.postalCode} ${party.address.city}`}\r\n \r\n
\r\n {selectedId === party.id && (\r\n model.onEdit(party)}\r\n style={style.dropdownLink}>\r\n {t('common:edit')}\r\n \r\n )}\r\n {selectedId === party.id && (\r\n \r\n )}\r\n
\r\n \r\n \r\n );\r\n })}\r\n \r\n );\r\n }\r\n);\r\n\r\nexport default MenuDropdown;\r\n","import * as React from 'react';\r\nimport ReactPlayer from 'react-player';\r\nimport style from './VideoLinks.module.scss';\r\nimport { ReactComponent as Play } from \"../../../icons/play_icn.svg\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ninterface VideoLinksProps {\r\n multipleVideo?: string;\r\n singleVideo?: string;\r\n}\r\n\r\nconst VideoLinks: React.FC = ({multipleVideo, singleVideo}) => {\r\n const [errors, setErrors] = React.useState([]);\r\n const {t} = useTranslation('judging');\r\n\r\n\r\n if (!!singleVideo) {\r\n return
\r\n
\r\n {\r\n errors.length && errors.find(e => e === singleVideo) ?\r\n
\r\n {t('videoError')}\r\n {singleVideo}\r\n
: \r\n \r\n Run video\r\n
}\r\n onError={(error) => {\r\n setErrors(errors.find(e => e === singleVideo) ? [...errors] : [...errors, singleVideo]);\r\n }}\r\n controls={true}/>\r\n }\r\n
\r\n \r\n }\r\n if (!!multipleVideo) {\r\n const videos: string[] = JSON.parse(multipleVideo).filter(Boolean);\r\n return (\r\n
\r\n {videos.map((video, index) => {\r\n return (\r\n
\r\n {\r\n errors.length && errors.find(e => e === video) ?\r\n
\r\n {t('videoError')}\r\n {video}\r\n
: {\r\n setErrors(errors.find(e => e === video) ? [...errors] : [...errors, video]);\r\n }}\r\n />\r\n }\r\n
\r\n )\r\n })}\r\n
\r\n );\r\n }\r\n return null;\r\n};\r\n\r\nexport default VideoLinks;\r\n","export { default } from './VideoLinks';\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"LoaderDataContainer_container__1qk-L\",\"loader\":\"LoaderDataContainer_loader__1ym6g\",\"spin\":\"LoaderDataContainer_spin__2C0Kj\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"CustomEmpty_root__2QMe_\",\"icon\":\"CustomEmpty_icon__Br3jD\",\"bottomM\":\"CustomEmpty_bottomM__EC-i4\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dropdown\":\"SingleUsersAddressDropdown_dropdown__16q24\",\"selected\":\"SingleUsersAddressDropdown_selected__2GSf1\",\"clear\":\"SingleUsersAddressDropdown_clear__3e3UV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"radio\":\"GenderField_radio__3urEV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"btn\":\"PaymentStep_btn__23iMY\",\"content\":\"PaymentStep_content__2G-k7\",\"box\":\"PaymentStep_box__3ia3x\",\"small\":\"PaymentStep_small__3mGFK\",\"row\":\"PaymentStep_row__3NJi_\",\"rowTitle\":\"PaymentStep_rowTitle__2uQbh\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"ResetPasswordByPhonePage_container__2g6np\",\"content\":\"ResetPasswordByPhonePage_content__1ejee\",\"title\":\"ResetPasswordByPhonePage_title__FSwgZ\",\"messageBox\":\"ResetPasswordByPhonePage_messageBox__329BK\",\"errorMsg\":\"ResetPasswordByPhonePage_errorMsg__3guso\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Handelkurv_container__k9hjJ\",\"title\":\"Handelkurv_title__mztAa\",\"footer\":\"Handelkurv_footer__2j2xg\",\"footerContent\":\"Handelkurv_footerContent__Rr3qQ\",\"remove\":\"Handelkurv_remove__2aNMI\"};","import { default as React, ReactNode } from \"react\";\r\nimport { FormFields } from \"react-mvvm\";\r\nimport { Form as TheForm } from \"antd\";\r\nimport { observer } from \"mobx-react\";\r\nimport { FormProps } from \"antd/lib/form\";\r\n\r\ninterface AntFormParams {\r\n form: { fields: FormFields };\r\n children: (fields: FormFields) => ReactNode | ReactNode[];\r\n}\r\n\r\nfunction antFormImpl(props : AntFormParams & Omit) {\r\n return (\r\n \r\n { props.children(props.form.fields) }\r\n );\r\n}\r\n\r\nconst AntForm = observer(antFormImpl);\r\nexport default AntForm;","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\nimport {ListOptions} from \"../GenericList/ListOptions\"\r\n\r\nimport {PartyDto} from \"./Model/PartyDto\"\r\n\r\nexport interface GetPartiesRequest {\r\n userRef?: number\r\n itemId?: number\r\n options?: ListOptions\r\n filter?: any\r\n}\r\nexport const getParties = (getPartiesRequest: GetPartiesRequest): Promise => {\r\n return send(\"GetParties\", getPartiesRequest)\r\n}\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\nimport {InvoicePaymentDto} from \"./Model/InvoicePaymentDto\"\r\n\r\nexport interface PayForCompetitionEntriesWithInvoiceRequest {\r\n competitionEntriesRef: number[]\r\n payingPartyRef: number\r\n isPaymentTermsAccepted: boolean\r\n}\r\nexport const payForCompetitionEntriesWithInvoice = (payForCompetitionEntriesWithInvoiceRequest: PayForCompetitionEntriesWithInvoiceRequest): Promise => {\r\n return send(\"PayForCompetitionEntriesWithInvoice\", payForCompetitionEntriesWithInvoiceRequest)\r\n}\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\nimport {CompetitionEntryDto} from \"./Model/CompetitionEntryDto\"\r\n\r\nexport interface GetCompetitionEntryDetailsRequest {\r\n competitionEntryRef: number\r\n}\r\nexport const getCompetitionEntryDetails = (getCompetitionEntryDetailsRequest: GetCompetitionEntryDetailsRequest): Promise => {\r\n return send(\"GetCompetitionEntryDetails\", getCompetitionEntryDetailsRequest)\r\n}\r\n","import * as React from 'react';\r\nimport AddressDialog from './AddressDialog';\r\nimport AntModal from 'common/components/antHelpers/AntModal';\r\nimport { Tabs } from 'antd';\r\nimport style from './AddressDialog.module.scss';\r\nimport { useTranslation } from 'react-i18next';\r\nimport CompanyPartyView from 'common/components/CompanyParty/CompanyPartyView';\r\nimport PrivatePartyView from 'common/components/PrivateParty/PrivatePartyView';\r\n\r\nconst { TabPane } = Tabs;\r\n\r\ninterface AddressDialogViewProps {\r\n dialog: AddressDialog;\r\n}\r\n\r\nconst AddressDialogView: React.FC = ({ dialog }) => {\r\n const { t } = useTranslation('userAddresses');\r\n return (\r\n \r\n {!!dialog.companyParty && !dialog.type ? (\r\n \r\n \r\n \r\n \r\n \r\n {!!dialog.companyParty && (\r\n \r\n )}\r\n \r\n \r\n ) : dialog.type === 'company' && !!dialog.companyParty ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default AddressDialogView;\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"title\", null, \"next_icn\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Page-1\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"[2nd-iteration]Grafill__Judging_phase_1_artwork_presentation_unrevealead_sidebar_ver2\",\n transform: \"translate(-1219.000000, -25.000000)\",\n stroke: \"#59CB9B\",\n strokeWidth: 2\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"top_nav\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"navigation\",\n transform: \"translate(1065.000000, 26.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"navigation_next\",\n transform: \"translate(101.000000, 0.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"next_icn\",\n transform: \"translate(61.000000, 9.500000) rotate(-90.000000) translate(-61.000000, -9.500000) translate(52.000000, 3.000000)\"\n}, /*#__PURE__*/React.createElement(\"line\", {\n x1: 1,\n y1: 1,\n x2: 8.21110255,\n y2: 11.8166538,\n id: \"Line-3\",\n strokeLinejoin: \"bevel\",\n transform: \"translate(4.605551, 6.408327) rotate(-11.309932) translate(-4.605551, -6.408327) \"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 9,\n y1: 1,\n x2: 16.2264988,\n y2: 11.8397482,\n id: \"Line-3\",\n strokeLinejoin: \"round\",\n transform: \"translate(12.613249, 6.419874) scale(-1, 1) rotate(-11.309932) translate(-12.613249, -6.419874) \"\n})))))));\n\nvar SvgNextIcn = function SvgNextIcn(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"16px\",\n height: \"21px\",\n viewBox: \"0 0 16 21\",\n ref: svgRef\n }, props), title === undefined ? _ref2 : title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgNextIcn, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/next_icn.7ca6c2ac.svg\";\nexport { ForwardRef as ReactComponent };","import React, { Key, ReactNode } from 'react';\r\nimport { observer } from 'mobx-react';\r\nimport { Table } from 'antd';\r\nimport { bindToCommand } from 'react-mvvm';\r\nimport { TableProps } from 'antd/lib/table';\r\nimport {\r\n SorterResult,\r\n TableCurrentDataSource,\r\n TableRowSelection,\r\n TablePaginationConfig,\r\n ColumnFilterItem,\r\n FilterValue\r\n} from 'antd/lib/table/interface';\r\nimport { PaginatedList, List } from 'react-mvvm/lists';\r\n\r\ninterface TableColumnProps {\r\n title: string;\r\n canSort?: boolean;\r\n dataIndex: keyof T;\r\n filters?: ColumnFilterItem[] | undefined;\r\n render?: (value: any, item: T) => ReactNode;\r\n filterMultiple?: boolean;\r\n width?:number;\r\n}\r\n\r\ntype Props = {\r\n list: List;\r\n selection?: boolean;\r\n columns: TableColumnProps[];\r\n};\r\n\r\nfunction AntTableImpl({\r\n list,\r\n selection,\r\n columns,\r\n ...props\r\n}: Props &\r\n Omit, 'rowSelection' | 'dataSource' | 'rowKey' | 'columns'>) {\r\n const rowSelection: TableRowSelection = {\r\n selectedRowKeys: list.selection.map((i) => i.id),\r\n onChange: (selectedRowKeys: Key[], selectedRows: T[]) =>\r\n (list.selection = selectedRows)\r\n };\r\n\r\n return (\r\n r.id}\r\n dataSource={list.items as []}\r\n rowSelection={selection ? rowSelection : undefined}\r\n onChange={(\r\n pagination: TablePaginationConfig,\r\n filters: Record,\r\n sorter: SorterResult | SorterResult[],\r\n extra: TableCurrentDataSource\r\n ) => {\r\n if (!Array.isArray(sorter)) {\r\n list.sortOrder = sorter\r\n ? ({\r\n field: sorter.field?.toString(),\r\n direction: sorter.order?.toString()\r\n } as any)\r\n : undefined;\r\n }\r\n if (filters) {\r\n list.filters = filters as any;\r\n }\r\n }}\r\n columns={columns.map((c) => ({\r\n title: c.title,\r\n dataIndex: c.dataIndex as string,\r\n render: c.render,\r\n sorter: !!c.canSort,\r\n filters: c.filters,\r\n width: c.width,\r\n filterMultiple: c.filterMultiple,\r\n sortOrder:\r\n list.sortOrder?.field == c.dataIndex\r\n ? list.sortOrder.direction\r\n : undefined\r\n }))}\r\n />\r\n );\r\n}\r\n\r\ntype PaginatedProps = {\r\n list: PaginatedList;\r\n selection?: boolean;\r\n columns: TableColumnProps[];\r\n};\r\n\r\nfunction AntPaginatedTableImpl({\r\n list,\r\n ...props\r\n}: PaginatedProps &\r\n Omit<\r\n TableProps,\r\n | 'rowSelection'\r\n | 'dataSource'\r\n | 'rowKey'\r\n | 'pagination'\r\n | 'loading'\r\n | 'columns'\r\n >) {\r\n return (\r\n (\r\n \r\n {children}\r\n {list.hasNextPage && (\r\n \r\n )}\r\n \r\n )\r\n }\r\n }}\r\n />\r\n );\r\n}\r\n\r\nconst Footer = observer(\r\n ({ list, span }: { list: PaginatedList; span: number }) => (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n);\r\n\r\nexport const AntTable = observer(AntTableImpl);\r\nexport const PaginatedAntTable = observer(AntPaginatedTableImpl);\r\n","import * as React from 'react';\r\nimport {Space, Typography} from \"antd\";\r\nimport AntCheckbox from \"common/components/antHelpers/AntCheckbox\";\r\n\r\ninterface CheckboxFieldProps {\r\n value: string;\r\n title: string;\r\n}\r\n\r\nconst CheckboxField: React.FC = ({value, title}) => {\r\n return \r\n {}}\r\n disabled={true}\r\n />\r\n {title}\r\n \r\n};\r\n\r\nexport default CheckboxField;\r\n","import Flex from 'common/components/Flex';\r\n\r\nimport * as React from 'react';\r\nimport { AttachmentResponse } from 'model/Api/Submission/Model/AttachmentResponse';\r\nimport style from './File.module.scss';\r\nimport RenderPreview from 'common/components/Preview/RenderPreview';\r\n\r\ninterface FileProps {\r\n value: string;\r\n attachments: AttachmentResponse[];\r\n mode: 'form' | 'preview';\r\n onFileDialogOpen?: (\r\n images: AttachmentResponse[],\r\n startIndex?: number\r\n ) => void;\r\n}\r\n\r\nconst File: React.FC = ({\r\n value,\r\n attachments,\r\n mode,\r\n onFileDialogOpen\r\n}) => {\r\n const filesIds = JSON.parse(value);\r\n const files: AttachmentResponse[] = filesIds.reduce(\r\n (prev: AttachmentResponse[], current: string) => {\r\n const fileData = attachments.find((a) => a.uid === current);\r\n if (!!fileData) {\r\n prev.push(fileData);\r\n }\r\n return prev;\r\n },\r\n []\r\n );\r\n\r\n return (\r\n \r\n {files.map((file, index) => {\r\n let indexInAttachments = index;\r\n attachments.find((a, idx) => {\r\n if (a.uid === file.uid) {\r\n indexInAttachments = idx;\r\n }\r\n });\r\n return mode === 'form' ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n \r\n !!onFileDialogOpen &&\r\n onFileDialogOpen(\r\n attachments,\r\n indexInAttachments\r\n )\r\n }\r\n />\r\n
\r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nexport default File;\r\n","import * as React from \"react\";\r\nimport { Typography } from \"antd\";\r\n\r\ninterface TextProps {\r\n value: string\r\n}\r\n\r\nconst Text: React.FC = ({value}) => {\r\n return {value}\r\n}\r\n\r\nexport default Text;","import * as React from 'react';\r\nimport moment from 'moment';\r\nimport { Typography } from 'antd';\r\n\r\ninterface DateQuestionProps {\r\n value: string;\r\n}\r\n\r\nconst DateQuestion: React.FC = ({ value }) => {\r\n const date = !!value ? moment(new Date(value)) : undefined;\r\n return {!date ? '-' : date.format('DD MMMM YYYY')};\r\n};\r\n\r\nexport default DateQuestion;\r\n","import React from 'react';\r\nimport { InboxOutlined } from \"@ant-design/icons\";\r\nimport { Empty } from \"antd\";\r\nimport styles from './CustomEmpty.module.scss';\r\nimport classNames from \"classnames\";\r\n\r\ninterface CustomEmptyProps {\r\n isBottomMargin?: boolean\r\n}\r\n\r\nconst CustomEmpty: React.FC = ({isBottomMargin}) => {\r\n return } />\r\n};\r\n\r\nexport default CustomEmpty;\r\n","import * as React from 'react';\r\nimport { ContributorsForm } from 'web/screen/SubmissionFormPage/ContributorsField/ContributorsField';\r\nimport {Table} from 'antd';\r\nimport CustomEmpty from \"web/components/CustomEmpty\";\r\n\r\ninterface ContributorsFieldsProps {\r\n data: string;\r\n}\r\n\r\nconst ContributorsFields: React.FC = ({ data }) => {\r\n const contributions: ContributorsForm[] = JSON.parse(data);\r\n \r\n if (!contributions.length) {\r\n return ;\r\n }\r\n\r\n const dataSource = contributions.map((contributor, index) => ({\r\n key: `Contributor_${contributor.name}_${index}`,\r\n role: contributor.role,\r\n name: contributor.name,\r\n company: contributor.company\r\n }));\r\n const columns = [\r\n {\r\n title: 'Role',\r\n dataIndex: 'role',\r\n key: 'role'\r\n },\r\n {\r\n title: 'Name',\r\n dataIndex: 'name',\r\n key: 'name'\r\n },\r\n {\r\n title: 'Company',\r\n dataIndex: 'company',\r\n key: 'company'\r\n }\r\n ];\r\n return ;\r\n};\r\n\r\nexport default ContributorsFields;\r\n","import * as React from 'react';\r\nimport Link from 'web/components/Link';\r\nimport style from './SpecialUrls.module.scss';\r\nimport CustomEmpty from \"web/components/CustomEmpty\";\r\n\r\ninterface SpecialUrlsProps {\r\n data: string;\r\n}\r\n\r\nconst SpecialUrls: React.FC = ({ data }) => {\r\n const links: string[] = JSON.parse(data);\r\n const [isEmpty, setIsEmpty] = React.useState(false);\r\n \r\n React.useEffect(() => {\r\n if(links.find(link => link !== '')){\r\n setIsEmpty(false);\r\n return\r\n }\r\n \r\n setIsEmpty(true);\r\n }, [data])\r\n\r\n if(isEmpty) {\r\n return \r\n }\r\n \r\n return (\r\n <>\r\n {links.map((link, index) => {\r\n const regex = new RegExp('https?://');\r\n const fixedLink = link.replace(regex, '');\r\n\r\n return !!link ? (\r\n \r\n {link}\r\n \r\n ) : null;\r\n })}\r\n \r\n );\r\n};\r\n\r\nexport default SpecialUrls;\r\n","import * as React from 'react';\r\nimport { Tag } from 'antd';\r\n\r\ninterface MultiSelectFieldProps {\r\n value: string;\r\n}\r\n\r\nconst MultiSelectField: React.FC = ({ value }) => {\r\n const allValues: { id: number; value: string }[] = !value\r\n ? []\r\n : JSON.parse(value);\r\n\r\n return (\r\n <>\r\n {allValues.map((element) => (\r\n {element.value}\r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default MultiSelectField;\r\n","import * as React from \"react\";\r\nimport { Typography } from \"antd\";\r\n\r\ninterface SingleSelectFieldProps {\r\n value: string;\r\n}\r\n\r\nconst SingleSelectField: React.FC = ({value}) => {\r\n const data: {id: number, value: string} | undefined = !value ? undefined : JSON.parse(value);\r\n return {!data ? null : data.value}\r\n}\r\n\r\nexport default SingleSelectField;","import CheckboxField from 'common/components/SubmissionsAnswers/CheckboxField';\r\n\r\nimport * as React from 'react';\r\nimport { QuestionType } from 'model/Externals';\r\nimport style from './SubmissionsAnswers.module.scss';\r\nimport File from './File';\r\nimport Text from './Text';\r\nimport { QuestionsWithAnswers } from 'web/screen/SubmissionFormPreview/SubmissionFormPreviewPage';\r\nimport { Collapse } from 'antd';\r\nimport DateQuestion from './DateQuestion';\r\nimport { AttachmentResponse } from 'model/Api/Submission/Model/AttachmentResponse';\r\nimport { AnswerDto } from 'model/Api/Submission/Model/AnswerDto';\r\nimport ContributorsFields from './ContributorsFields';\r\nimport SpecialUrls from './SpecialUrls';\r\nimport MultiSelectField from './MultiSelectField';\r\nimport SingleSelectField from './SingleSelectField';\r\nimport classNames from 'classnames';\r\nimport VideoLinks from 'common/components/SubmissionsAnswers/VideoLinks';\r\nimport CustomEmpty from \"web/components/CustomEmpty\";\r\n\r\nconst {Panel} = Collapse;\r\n\r\ninterface SubmissionsAnswersProps {\r\n answer: QuestionsWithAnswers | AnswerDto;\r\n attachments: AttachmentResponse[];\r\n mode?: 'form' | 'preview';\r\n onFileDialogOpen?: (\r\n images: AttachmentResponse[],\r\n startIndex?: number\r\n ) => void;\r\n}\r\n\r\nconst checkIfAnswerIsEmpty = (value: any) => {\r\n const parsedValue = JSON.parse(value);\r\n if (Array.isArray(parsedValue)) {\r\n if (parsedValue.every((v) => !v)) {\r\n return ;\r\n }\r\n }\r\n}\r\n\r\nconst renderAnswer = (\r\n type: QuestionType,\r\n value: string | undefined,\r\n attachments: AttachmentResponse[],\r\n mode: 'form' | 'preview',\r\n onFileDialogOpen?: (\r\n images: AttachmentResponse[],\r\n startIndex?: number\r\n ) => void,\r\n questionTitle?: string\r\n) => {\r\n if (!value || !value.length) {\r\n if(type === QuestionType.checkbox) {\r\n return ;\r\n }\r\n \r\n return ;\r\n }\r\n\r\n switch (type) {\r\n case QuestionType.date:\r\n return ;\r\n case QuestionType.file:\r\n case QuestionType.multiFile:\r\n return checkIfAnswerIsEmpty(value)\r\n ? \r\n : (\r\n \r\n );\r\n case QuestionType.roleInProject:\r\n return ;\r\n case QuestionType.url:\r\n return ;\r\n case QuestionType.checkbox:\r\n return ;\r\n case QuestionType.singleSelect:\r\n return ;\r\n case QuestionType.multiSelect:\r\n return ;\r\n case QuestionType.videoLink:\r\n return checkIfAnswerIsEmpty(value)\r\n ? \r\n : ;\r\n default:\r\n return ;\r\n }\r\n};\r\n\r\nconst SubmissionsAnswers: React.FC = ({\r\n answer,\r\n attachments,\r\n mode = 'form',\r\n onFileDialogOpen\r\n }) => {\r\n const boxStyle = classNames(\r\n {[style.boxForm]: mode === 'form'},\r\n {[style.boxPreview]: mode === 'preview'}\r\n );\r\n\r\n const answerStyle = classNames(style.answer, {\r\n [style.answerPreview]: mode === 'preview'\r\n });\r\n\r\n if (answer.questionType === QuestionType.checkbox) {\r\n return (\r\n
\r\n {renderAnswer(\r\n answer.questionType,\r\n answer.value,\r\n attachments,\r\n mode,\r\n onFileDialogOpen,\r\n answer.label\r\n )}\r\n
\r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n
\r\n {mode === 'form' && (\r\n \r\n {answer.helpText}\r\n \r\n )}\r\n
\r\n {renderAnswer(\r\n answer.questionType,\r\n answer.value,\r\n attachments,\r\n mode,\r\n onFileDialogOpen,\r\n answer.label\r\n )}\r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default SubmissionsAnswers;\r\n","export { default } from './SubmissionsAnswers';","import { observable } from 'mobx';\r\nimport { Key } from 'react';\r\n\r\nexport class List {\r\n @observable.ref selection: ReadonlyArray = [];\r\n @observable.ref items: ReadonlyArray = [];\r\n @observable.ref public sortOrder:\r\n | {\r\n readonly field: keyof T;\r\n readonly direction: 'descend' | 'ascend' | undefined;\r\n }\r\n | undefined;\r\n @observable.ref public filters?: Record = undefined;\r\n\r\n get length() {\r\n return this.items.length;\r\n }\r\n\r\n push(item: T) {\r\n this.items = [...this.items, item];\r\n }\r\n\r\n removeItems(items: ReadonlyArray) {\r\n this.items = this.items.filter((i) => items.indexOf(i) < 0);\r\n }\r\n\r\n removeAllItems() {\r\n this.items = [];\r\n }\r\n\r\n prependNewItem(item: T) {\r\n this.items = [Object.assign(item, { isNew: true }), ...this.items];\r\n }\r\n\r\n prependNewItems(items: T[]) {\r\n const newItems = items.map((i) => Object.assign(i, { isNew: true }));\r\n this.items = [...newItems, ...this.items];\r\n }\r\n\r\n patchItem(item: T, patch: Partial) {\r\n this.items = this.items.map((i: any) =>\r\n i === item ? { ...i, ...(patch as any) } : i\r\n );\r\n }\r\n \r\n find(predicate: (value: T, index: number, obj: readonly T[]) => boolean) : T | undefined {\r\n return this.items.find(predicate);\r\n }\r\n \r\n field

(key: P): keyof T {\r\n return key;\r\n }\r\n}\r\n","import { autorun, observable, runInAction, untracked } from 'mobx';\r\nimport { List } from './List';\r\nimport { asyncCommand, ICommand } from '../commands';\r\nimport { basename } from 'path';\r\nimport { Key } from 'react';\r\n\r\nconst PAGE_SIZE: number = 50;\r\n\r\nexport class PaginatedList extends List {\r\n @observable private _currentPageNo: number = 1;\r\n get currentPageNo() {\r\n return this._currentPageNo;\r\n }\r\n\r\n @observable private _hasNextPage: boolean = false;\r\n get hasNextPage() {\r\n return this._hasNextPage;\r\n }\r\n\r\n @observable private _isLoadingFirstPage = 0;\r\n get isLoadingFirstPage() {\r\n return this._isLoadingFirstPage > 0;\r\n }\r\n\r\n @observable private _isLoadingNextPage = 0;\r\n get isLoadingNextPage() {\r\n return this._isLoadingNextPage > 0;\r\n }\r\n\r\n get isLoading() {\r\n return this.isLoadingFirstPage || this.isLoadingNextPage;\r\n }\r\n\r\n readonly loadNextPage = asyncCommand(\r\n () => this._loadNextPage(),\r\n () => this.hasNextPage\r\n );\r\n\r\n private reqId = 0;\r\n\r\n constructor(\r\n private load: (options: {\r\n skip: number;\r\n take: number;\r\n sort:\r\n | {\r\n readonly field: keyof T;\r\n readonly direction: 'descend' | 'ascend' | undefined;\r\n }\r\n | undefined;\r\n filters?: Record;\r\n }) => Promise>\r\n ) {\r\n super();\r\n autorun(this.loadFirstPage, { delay: 500 });\r\n }\r\n\r\n loadFirstPage = async (): Promise => {\r\n const isLoadingFirstPage = untracked(() => this._isLoadingFirstPage);\r\n\r\n this._isLoadingFirstPage = isLoadingFirstPage + 1;\r\n try {\r\n this._currentPageNo = 1;\r\n await this.loadMoreItems([], 1);\r\n } finally {\r\n this._isLoadingFirstPage--;\r\n }\r\n };\r\n\r\n private async _loadNextPage(): Promise {\r\n const isLoadingNextPage = untracked(() => this._isLoadingNextPage);\r\n\r\n this._isLoadingNextPage = isLoadingNextPage + 1;\r\n try {\r\n this._currentPageNo++;\r\n await this.loadMoreItems(this.items, this.currentPageNo);\r\n } finally {\r\n this._isLoadingNextPage--;\r\n }\r\n }\r\n\r\n private async loadMoreItems(\r\n currentItems: ReadonlyArray,\r\n currentPage: number\r\n ): Promise {\r\n const currentReqId = ++this.reqId;\r\n\r\n let newItems = await this.load({\r\n skip: (currentPage - 1) * PAGE_SIZE,\r\n take: PAGE_SIZE + 1,\r\n sort: this.sortOrder,\r\n filters: this.filters\r\n });\r\n\r\n if (currentReqId !== this.reqId) return;\r\n\r\n runInAction(() => {\r\n if (newItems.length > PAGE_SIZE) {\r\n this._hasNextPage = true;\r\n newItems = newItems.slice(0, PAGE_SIZE);\r\n } else {\r\n this._hasNextPage = false;\r\n }\r\n this.items = currentItems.concat(newItems);\r\n });\r\n }\r\n}\r\n","export * from \"./List\";\r\nexport * from \"./PaginatedList\";","import React from 'react';\r\nimport {UpOutlined, DownOutlined} from '@ant-design/icons';\r\nimport {\r\n RcFile,\r\n UploadChangeParam,\r\n UploadProps,\r\n UploadFile\r\n} from 'antd/lib/upload/interface';\r\nimport {UploadRequestOption as RcCustomRequestOptions} from 'rc-upload/lib/interface';\r\nimport {action} from 'mobx';\r\nimport style from './Upload.module.scss';\r\nimport {ReactComponent as UploadIcon} from 'common/icons/upload_icon.svg';\r\nimport {Upload, Tooltip, Progress} from 'antd';\r\nimport {observer} from 'mobx-react';\r\nimport {FileMoveDirection, LoadingFileProgress} from \"common/components/SubmissionForm/SubmissionForm\";\r\nimport { Button } from 'antd';\r\n\r\ntype Props = {\r\n action?: (file: RcFile) => string;\r\n customRequest: (options: RcCustomRequestOptions) => void;\r\n multiple: boolean;\r\n onChange?: (file: UploadChangeParam) => void;\r\n onlyImages?: boolean;\r\n beforeUpload: (file: RcFile, FileList: RcFile[]) => boolean;\r\n onFileOrderChange?: (file: UploadFile, direction: FileMoveDirection) => void\r\n multiFileLoadingProgress?: LoadingFileProgress[] | undefined;\r\n};\r\n\r\nconst onlyImagesRegex = RegExp(/.(jpg|jpeg|png|gif)$/i);\r\n\r\nconst AntUploadFile = observer(({\r\n customRequest,\r\n multiple,\r\n onChange,\r\n onlyImages = false,\r\n beforeUpload,\r\n onFileOrderChange,\r\n multiFileLoadingProgress,\r\n ...props\r\n }: Props & Omit) => {\r\n\r\n return (\r\n

\r\n {\r\n let result = beforeUpload(file, fileList);\r\n if (onlyImages) {\r\n result = onlyImagesRegex.test(file.name);\r\n }\r\n return result;\r\n }}\r\n itemRender={(originNode, file, currFileList) => {\r\n const errorNode = {originNode.props.children};\r\n\r\n return
\r\n {!!file.thumbUrl &&
\r\n \r\n
}\r\n
\r\n {file.status === 'error' ? errorNode : originNode}\r\n
\r\n {(!!currFileList.length && multiple && onFileOrderChange) &&
\r\n \r\n \r\n
\r\n }\r\n
\r\n }}\r\n >\r\n
\r\n \r\n Dra filer hit eller klikk her\r\n {`JPG, GIF, PNG${\r\n onlyImages ? '' : ', PDF, MP3, MP4'\r\n }`}\r\n
\r\n \r\n {(!!multiFileLoadingProgress?.length) &&
\r\n {multiFileLoadingProgress.map(i =>
\r\n
\r\n {i.name}\r\n \r\n
\r\n
)}\r\n
}\r\n
\r\n );\r\n})\r\n\r\nexport default AntUploadFile;\r\n","export { default } from './AntUploadFile';\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\n\r\nimport {PaymentListItemDto} from \"./Model/PaymentListItemDto\"\r\n\r\nexport interface GetPaymentsRequest {\r\n userId?: number\r\n type?: FilterPaymentByType\r\n}\r\nexport enum FilterPaymentByType {\r\n membership = \"membership\",\r\n competitionEntries = \"competitionEntries\",\r\n}\r\nexport const getPayments = (getPaymentsRequest: GetPaymentsRequest): Promise => {\r\n return send(\"GetPayments\", getPaymentsRequest)\r\n}\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"small\":\"AntField_small__2dvlX\",\"dscExtend\":\"AntField_dscExtend__1eQbF\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"fields\":\"CompanyParty_fields__3LrDg\",\"btn\":\"CompanyParty_btn__1zZ2W\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"fields\":\"PrivateParty_fields__9XHUt\",\"btn\":\"PrivateParty_btn__2gMD3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"text\":\"SubmissionsHelpText_text__1bTeR\",\"accent\":\"SubmissionsHelpText_accent__1_129\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"textarea\":\"AntTextArea_textarea__1s_pq\",\"maxLength\":\"AntTextArea_maxLength__2986Z\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"required\":\"AntCheckbox_required__eFohl\",\"small\":\"AntCheckbox_small__JKo5b\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"image\":\"File_image__2CZKi\",\"imgFormContainer\":\"File_imgFormContainer__10vBM\",\"title\":\"File_title__cuni1\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"contentLoader\":\"PdfLoader_contentLoader__NRhTI\",\"page\":\"PdfLoader_page__2F0Lt\",\"pdfViewer\":\"PdfLoader_pdfViewer__2MqIh\",\"PdfPage\":\"PdfLoader_PdfPage__1adRk\",\"PdfPage__textLayer\":\"PdfLoader_PdfPage__textLayer__37gUS\",\"Loader__container__load\":\"PdfLoader_Loader__container__load__4VYWs\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"infoRow\":\"InfoRow_infoRow__3DVS3\",\"infoRowTitle\":\"InfoRow_infoRowTitle__3x9Mi\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"list\":\"HeaderBreadcrumbs_list__1RKcn\",\"listLi\":\"HeaderBreadcrumbs_listLi__CA4oA\",\"el\":\"HeaderBreadcrumbs_el__2_eet\",\"elLink\":\"HeaderBreadcrumbs_elLink__d6yct\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"center\":\"Introduction_center__3aEfg\",\"button\":\"Introduction_button__U6rds\",\"steps\":\"Introduction_steps__3WjXP\",\"description\":\"Introduction_description__18tIy\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"radio\":\"MembershipRequirementField_radio__3sIuq\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"checkbox\":\"GraduateForm_checkbox__1AZLX\",\"addUrlField\":\"GraduateForm_addUrlField__x6F0s\",\"noBorderRow\":\"GraduateForm_noBorderRow__25Tw6\"};","import axios, { AxiosRequestConfig } from 'axios';\r\nimport { authContext, adalConfig, axiosOptions } from 'auth/Authentication';\r\n\r\nfunction createApi(options?: AxiosRequestConfig) {\r\n const cachedToken = authContext.getCachedToken(adalConfig.clientId);\r\n\r\n if (!cachedToken || !authContext.getCachedUser()) {\r\n authContext.login();\r\n }\r\n\r\n const axiosInstance = axios.create(options);\r\n\r\n axiosInstance.defaults.headers.common.Authorization = `Bearer ${cachedToken}`;\r\n\r\n axiosInstance.interceptors.response.use(\r\n (response) => response && response.data,\r\n (err) => {\r\n if (\r\n err.response.status === 401 &&\r\n err.response.config &&\r\n !err.response.config.__isRetryRequest\r\n ) {\r\n err.response.config.__isRetryRequest = true;\r\n\r\n return new Promise((resolve, reject) => {\r\n authContext.acquireToken(\r\n adalConfig.clientId,\r\n (_message, token) => {\r\n axios.defaults.headers.common.Authorization = `Bearer ${token}`;\r\n err.config.headers.Authorization = `Bearer ${token}`;\r\n axios(err.config).then(resolve, reject);\r\n }\r\n );\r\n });\r\n }\r\n throw err;\r\n }\r\n );\r\n\r\n authContext.handleWindowCallback();\r\n\r\n return {\r\n post(url: string, ...props: any): Promise {\r\n return axiosInstance.post(url, ...props);\r\n }\r\n };\r\n}\r\n\r\nlet _api: ReturnType | undefined;\r\n\r\nexport const api = () => (_api ? _api : (_api = createApi(axiosOptions)));\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\nimport {SubmissionDto} from \"./Model/SubmissionDto\"\r\n\r\nexport interface GetSubmissionDetailsRequest {\r\n competitionEntryRef: number\r\n}\r\nexport const getSubmissionDetails = (getSubmissionDetailsRequest: GetSubmissionDetailsRequest): Promise => {\r\n return send(\"GetSubmissionDetails\", getSubmissionDetailsRequest)\r\n}\r\n","export { default } from './GenderField';\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Competition_container__dv6DJ\",\"title\":\"Competition_title__2t2Ch\",\"dsc\":\"Competition_dsc__rL-TB\",\"links\":\"Competition_links__nQ4jZ\",\"footer\":\"Competition_footer__2dv6b\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"SubmissionsNextBtn_container__2WCV8\",\"back\":\"SubmissionsNextBtn_back__UPsk2\",\"saveDraft\":\"SubmissionsNextBtn_saveDraft__3ug2X\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"JudgingCategoryPageView_container__1rFPY\",\"submissions\":\"JudgingCategoryPageView_submissions__TyD93\",\"submissionsTiles\":\"JudgingCategoryPageView_submissionsTiles__2M5s6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"list\":\"ListOptionsLinks_list__hR8LI\",\"element\":\"ListOptionsLinks_element__zjGfb\",\"selected\":\"ListOptionsLinks_selected__1SROK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"JudgingEntriesPageView_container__1LJPn\",\"artworkContainer\":\"JudgingEntriesPageView_artworkContainer__Rrht3\",\"judgingHeader\":\"JudgingEntriesPageView_judgingHeader__2epWQ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"appTitle\":\"MembershipTitle_appTitle__1M_Uh\",\"appUserName\":\"MembershipTitle_appUserName__2zH-9\",\"dsc\":\"MembershipTitle_dsc__QxtJb\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"spinnerStyle\":\"Invoices_spinnerStyle__2TEGQ\",\"table\":\"Invoices_table__1UXnn\",\"tooltip\":\"Invoices_tooltip__3aksm\"};","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\n\r\nexport interface ChangePayingPartyRequest {\r\n payingPartyRef: number\r\n userRef?: number\r\n}\r\nexport const changePayingParty = (changePayingPartyRequest: ChangePayingPartyRequest): Promise => {\r\n return send(\"ChangePayingParty\", changePayingPartyRequest)\r\n}\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"PageLoader_container__1GeeJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dialog\":\"AddressDialog_dialog__2_MAD\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"btn\":\"BackButton_btn__2hypc\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"link\":\"SpecialUrls_link__2M1Os\"};","import * as React from 'react';\r\nimport ChangeBillingAddressDialog from './ChangeBillingAddressDialog';\r\nimport AntModal from 'common/components/antHelpers/AntModal';\r\nimport { useTranslation } from 'react-i18next';\r\nimport AllUsersAddressDropdown from 'common/components/UserAddresses/AllUsersAddressDropdown';\r\nimport { observer } from 'mobx-react';\r\nimport { PlusOutlined } from '@ant-design/icons';\r\nimport { Button, Tabs } from 'antd';\r\nimport PrivatePartyView from '../PrivateParty/PrivatePartyView';\r\nimport CompanyPartyView from '../CompanyParty/CompanyPartyView';\r\n\r\nconst { TabPane } = Tabs;\r\n\r\ninterface ChangeBillingAddressDialogViewProps {\r\n dialog: ChangeBillingAddressDialog;\r\n}\r\n\r\nconst ChangeBillingAddressDialogView: React.FC = observer(\r\n ({ dialog }) => {\r\n const { t } = useTranslation(['membership', 'userAddresses', 'common']);\r\n\r\n return (\r\n \r\n \r\n {!dialog.isNewAddressVisible && (\r\n dialog.setNewAddressVisible(true)}>\r\n {t('userAddresses:addAddress')}\r\n \r\n )}\r\n\r\n {dialog.isNewAddressVisible && (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {!!dialog.companyParty && (\r\n \r\n )}\r\n \r\n \r\n
\r\n )}\r\n \r\n );\r\n }\r\n);\r\n\r\nexport default ChangeBillingAddressDialogView;\r\n","import {useTranslation} from \"react-i18next\";\r\n\r\nimport * as React from 'react';\r\nimport UrlField from './UrlField';\r\nimport { Button, Space } from 'antd';\r\nimport { Form } from 'react-mvvm/forms';\r\nimport AntField from 'common/components/antHelpers/AntField';\r\nimport { DeleteOutlined, PlusOutlined } from '@ant-design/icons';\r\nimport AntTextInput from 'common/components/antHelpers/AntTextInput';\r\nimport { observer } from 'mobx-react';\r\nimport style from './UrlField.module.scss';\r\nimport classNames from 'classnames';\r\n\r\ninterface UrlFieldViewProps {\r\n model: UrlField;\r\n label: string;\r\n helpText: string;\r\n disabled?: boolean;\r\n isRequired?: boolean;\r\n}\r\n\r\nconst regex = new RegExp('https?://');\r\n\r\nconst UrlRow: React.FC<{\r\n form: Form;\r\n index: number;\r\n onRemove: (i: number) => void;\r\n disabled:boolean;\r\n}> = observer(({ form, index, onRemove , disabled}) => {\r\n return (\r\n \r\n \r\n {(props) => (\r\n \r\n )}\r\n \r\n {index > 0 && (\r\n \r\n )}\r\n \r\n );\r\n});\r\n\r\nconst UrlFieldView: React.FC = observer(\r\n ({ model, label, helpText, disabled= false, isRequired = false}) => {\r\n const { t } = useTranslation('common');\r\n const title = classNames(style.title, {\r\n [style.required]:\r\n isRequired\r\n });\r\n return (\r\n
\r\n {label}\r\n {helpText}\r\n {model.urls &&\r\n model.urls.map((urlForm, index) => (\r\n \r\n ))}\r\n model.addUrl.execute()}>\r\n {t('addLink')}\r\n \r\n
\r\n );\r\n }\r\n);\r\n\r\nexport default UrlFieldView;\r\n","import React from 'react';\r\nimport {\r\n RcFile,\r\n UploadChangeParam,\r\n UploadProps,\r\n UploadFile\r\n} from 'antd/lib/upload/interface';\r\nimport { UploadRequestOption as RcCustomRequestOptions } from 'rc-upload/lib/interface';\r\nimport { action } from 'mobx';\r\nimport style from './Upload.module.scss';\r\nimport { ReactComponent as UploadIcon } from 'common/icons/upload_icon.svg';\r\nimport { Upload } from 'antd';\r\nimport { observer } from 'mobx-react';\r\n\r\ntype Props = {\r\n action?: (file: RcFile) => string;\r\n customRequest: (options: RcCustomRequestOptions) => void;\r\n multiple: boolean;\r\n onChange?: (file: UploadChangeParam>) => void;\r\n onlyImages?: boolean;\r\n beforeUpload: (file: RcFile, FileList: RcFile[]) => boolean;\r\n};\r\n\r\nconst onlyImagesRegex = RegExp(/.(jpg|jpeg|png|gif)$/i);\r\n\r\nconst AntUploadSingleFile = observer(\r\n ({\r\n customRequest,\r\n multiple,\r\n onChange,\r\n onlyImages = false,\r\n beforeUpload,\r\n ...props\r\n }: Props &\r\n Omit) => (\r\n {\r\n let result = beforeUpload(file, fileList);\r\n if (onlyImages) {\r\n result = onlyImagesRegex.test(file.name);\r\n }\r\n return result;\r\n }}>\r\n
\r\n \r\n \r\n Dra filer hit eller{' '}\r\n klikk her\r\n \r\n {`JPG, GIF, PNG${\r\n onlyImages ? '' : ', PDF, MP3, MP4'\r\n }`}\r\n \r\n Enkel fillaster, fil erstattes ved opplastning av ny fil\r\n \r\n
\r\n \r\n )\r\n);\r\n\r\nexport default AntUploadSingleFile;\r\n","import React from 'react';\r\nimport { Input } from 'antd';\r\nimport { observer } from 'mobx-react';\r\nimport { InputProps } from 'antd/lib/input';\r\n\r\ntype Props = {\r\n value: string | number | undefined;\r\n onChange?: (value: string | number | undefined) => void;\r\n onCommit?: () => void;\r\n};\r\n\r\nconst AntWideNumberInput = observer(\r\n ({\r\n value,\r\n onChange,\r\n onCommit,\r\n ...props\r\n }: Props & Omit) => (\r\n {\r\n if (!!onChange) {\r\n const value = v.target.value;\r\n const reg = /^-?\\d*(\\.\\d*)?$/;\r\n if (\r\n (!isNaN(Number(value)) && reg.test(value)) ||\r\n value === '' ||\r\n value === '-'\r\n ) {\r\n onChange(value);\r\n }\r\n }\r\n }}\r\n onBlur={() => {\r\n onCommit && onCommit();\r\n }}\r\n />\r\n )\r\n);\r\n\r\nexport default AntWideNumberInput;\r\n","import * as React from 'react';\r\nimport ContributorsField from './ContributorsField';\r\nimport AntField from 'common/components/antHelpers/AntField';\r\nimport AntTextInput from 'common/components/antHelpers/AntTextInput';\r\nimport { Select, Row, Col, Button, Space, Divider, Input } from 'antd';\r\nimport style from './ContributorsFieldView.module.scss';\r\nimport { DeleteOutlined, PlusOutlined } from '@ant-design/icons';\r\nimport { observer } from 'mobx-react';\r\nimport classNames from 'classnames';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\ninterface ContributorsFieldViewProps {\r\n model: ContributorsField;\r\n label: string;\r\n helpText: string;\r\n disabled?: boolean;\r\n}\r\n\r\nconst ContributorsFieldView: React.FC = observer(\r\n ({ model, helpText, label, disabled = false }) => {\r\n const { t } = useTranslation('competitions');\r\n const titleStyle = classNames(style.title, {\r\n [style.required]: model.isRequired\r\n });\r\n const [customRole, setCustomRole] = React.useState('');\r\n\r\n return (\r\n
\r\n {label}\r\n {helpText}\r\n
\r\n {model.contributors.map((row, index) => {\r\n return (\r\n \r\n \r\n
\r\n \r\n {(props) => (\r\n {\r\n return (\r\n
\r\n {menu}\r\n \r\n {\r\n setCustomRole(\r\n event\r\n .target\r\n .value\r\n );\r\n }}\r\n />\r\n {\r\n if (customRole.length <= 0) return;\r\n model.addCustomRole(\r\n customRole\r\n );\r\n setCustomRole(\r\n ''\r\n );\r\n row.fields.role.value = customRole;\r\n }}\r\n disabled={\r\n disabled\r\n }>\r\n \r\n \r\n \r\n
\r\n );\r\n }}>\r\n {model\r\n .getAllConfiguration(\r\n row.fields['role']\r\n .value ??\r\n undefined\r\n )\r\n .map(\r\n (\r\n item,\r\n idxConfig\r\n ) => {\r\n return (\r\n \r\n {item}\r\n \r\n );\r\n }\r\n )}\r\n \r\n )}\r\n \r\n \r\n
\r\n \r\n {(props) => (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n {(props) => (\r\n \r\n )}\r\n \r\n \r\n \r\n {index > 0 && (\r\n model.removeRow(index)}\r\n disabled={disabled}>\r\n \r\n \r\n )}\r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n {t('addContributor')}\r\n \r\n \r\n );\r\n }\r\n);\r\n\r\nexport default ContributorsFieldView;\r\n","import * as React from 'react';\r\nimport style from './SubmissionForm.module.scss';\r\nimport SubmissionForm from './SubmissionForm';\r\nimport { UploadFile } from 'antd/lib/upload/interface';\r\nimport {\r\n FilePdfOutlined,\r\n SoundOutlined,\r\n VideoCameraOutlined\r\n} from '@ant-design/icons';\r\nimport { useTranslation } from 'react-i18next';\r\nimport LoaderDataContainer from 'admin/components/LoaderDataContainer';\r\nimport SubmissionsHelpText from 'web/components/SubmissionsHelpText';\r\nimport AntForm from 'common/components/antHelpers/AntForm';\r\nimport { QuestionType } from 'model/Externals';\r\nimport AntField from 'common/components/antHelpers/AntField';\r\nimport { FieldInputProps } from 'common/components/antHelpers/AntField/AntField';\r\nimport AntTextArea from 'common/components/antHelpers/AntTextArea';\r\nimport AntTextInput from 'common/components/antHelpers/AntTextInput';\r\nimport UrlFieldView from 'web/screen/SubmissionFormPage/UrlField/UrlFieldView';\r\nimport UrlField from 'web/screen/SubmissionFormPage/UrlField/UrlField';\r\nimport { Moment } from 'moment';\r\nimport AntDatePicker from 'common/components/antHelpers/AntDatePicker';\r\nimport AntUploadSingleFile from 'common/components/antHelpers/AntUploadSingleFile';\r\nimport AntUploadFile from 'common/components/antHelpers/AntUploadFile';\r\nimport AntWideNumberInput from 'common/components/antHelpers/AntWideNumberInput';\r\nimport AntCheckbox from 'common/components/antHelpers/AntCheckbox';\r\nimport {\r\n AntMultiSelect,\r\n AntSingleSelect\r\n} from 'common/components/antHelpers/AntSelect/AntSelect';\r\nimport ContributorsFieldView from 'web/screen/SubmissionFormPage/ContributorsField/ContributorsFieldView';\r\nimport ContributorsField from 'web/screen/SubmissionFormPage/ContributorsField/ContributorsField';\r\nimport { observer } from 'mobx-react';\r\n\r\ninterface SubmissionFormViewProps {\r\n model: SubmissionForm;\r\n errorReference: any;\r\n}\r\n\r\nconst customIconRender = (file: UploadFile) => {\r\n switch (file.type) {\r\n case 'application/pdf':\r\n return ;\r\n case 'audio/mpeg': //mp3\r\n return ;\r\n case 'video/mp4':\r\n return ;\r\n default:\r\n return undefined;\r\n }\r\n};\r\n\r\nconst SubmissionFormView: React.FC = observer(\r\n ({ model, errorReference }) => {\r\n const { t } = useTranslation('competitions');\r\n const { isFormDisabled } = model;\r\n\r\n return (\r\n \r\n {model.isFormDisabled && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n \r\n {(fields) => {\r\n return Object.keys(fields).map((key) => {\r\n const realKey = key.split('_')[1];\r\n const field = fields[key];\r\n const idx = parseInt(realKey, 10);\r\n const question = model.questions.find(\r\n (q) => q.id === idx\r\n );\r\n if (!question) {\r\n return null;\r\n }\r\n const label = question.label;\r\n const helpText = question.helpText || '';\r\n const config = question.configuration;\r\n const id = question.id;\r\n\r\n const isFirstError: boolean =\r\n !!model.formErrorFields.length &&\r\n field === model.formErrorFields[0];\r\n\r\n switch (question.questionType) {\r\n case QuestionType.multiLine:\r\n return (\r\n \r\n \r\n {(\r\n props: FieldInputProps<\r\n string\r\n >\r\n ) => {\r\n return (\r\n \r\n );\r\n }}\r\n \r\n
\r\n );\r\n case QuestionType.singleLine:\r\n return (\r\n \r\n \r\n {(\r\n props: FieldInputProps<\r\n string\r\n >\r\n ) => {\r\n return (\r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n case QuestionType.url:\r\n return (\r\n \r\n \r\n \r\n );\r\n case QuestionType.date:\r\n return (\r\n \r\n \r\n {(\r\n props: FieldInputProps<\r\n Moment\r\n >\r\n ) => {\r\n return (\r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n case QuestionType.file:\r\n return (\r\n \r\n \r\n {(\r\n props: FieldInputProps<\r\n string\r\n >\r\n ) => {\r\n return (\r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n case QuestionType.multiFile:\r\n return (\r\n \r\n \r\n {(\r\n props: FieldInputProps<\r\n string\r\n >\r\n ) => {\r\n return (\r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n case QuestionType.number:\r\n return (\r\n \r\n \r\n {(\r\n props: FieldInputProps<\r\n string | number\r\n >\r\n ) => {\r\n return (\r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n case QuestionType.checkbox:\r\n return (\r\n \r\n \r\n {(\r\n props: FieldInputProps<\r\n boolean\r\n >\r\n ) => {\r\n return (\r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n case QuestionType.singleSelect:\r\n return (\r\n \r\n \r\n {(\r\n props: FieldInputProps<{\r\n id: React.ReactText;\r\n value: string;\r\n }>\r\n ) => {\r\n return (\r\n el.value}\r\n disabled={\r\n isFormDisabled\r\n }\r\n />\r\n );\r\n }}\r\n \r\n \r\n );\r\n case QuestionType.multiSelect:\r\n return (\r\n \r\n \r\n {(\r\n props: FieldInputProps<\r\n readonly {\r\n id: React.ReactText;\r\n value: string;\r\n }[]\r\n >\r\n ) => {\r\n return (\r\n el.value}\r\n disabled={\r\n isFormDisabled\r\n }\r\n />\r\n );\r\n }}\r\n \r\n \r\n );\r\n case QuestionType.roleInProject:\r\n return (\r\n \r\n \r\n \r\n );\r\n case QuestionType.videoLink:\r\n return (\r\n \r\n \r\n \r\n );\r\n default:\r\n break;\r\n }\r\n });\r\n }}\r\n \r\n {!!model.formErrorFields.length &&
{t('errorsInApplicationForm')}
}\r\n \r\n
\r\n );\r\n }\r\n);\r\n\r\nexport default SubmissionFormView;\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"page\":\"HomePage_page__3DVuJ\",\"container\":\"HomePage_container__WlGIt\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"LoginPage_container__O5E9x\",\"content\":\"LoginPage_content__TFxj9\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"CompetitionsList_container__3Wisw\",\"header\":\"CompetitionsList_header__1HszH\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"JudgingCompetitionsView_container__1trgp\",\"containerBox\":\"JudgingCompetitionsView_containerBox__1ixfO\"};","declare global {\r\n interface Array {\r\n _any(predicate?: (x: T) => boolean): T;\r\n _first(predicate?: (x: T) => boolean): T;\r\n _last(predicate?: (x: T) => boolean): T;\r\n _remove(x: T): void;\r\n _replace(x: T, y: T): void;\r\n }\r\n}\r\n\r\nif (!Array.prototype._any) {\r\n Array.prototype._any = function (predicate: (x: T) => boolean = x => true): boolean {\r\n const item = this.find(predicate);\r\n return !!item\r\n }\r\n}\r\n\r\nif (!Array.prototype._first) {\r\n Array.prototype._first = function(predicate: (x: T) => boolean = x => true): boolean {\r\n const items = this.filter(predicate);\r\n if (items.length > 0) {\r\n return items[0];\r\n }\r\n throw new Error(\"No item found\")\r\n };\r\n}\r\n\r\nif (!Array.prototype._last) {\r\n Array.prototype._last = function(predicate: (x: T) => boolean = x => true): boolean {\r\n const items = this.filter(predicate);\r\n if (items.length > 0) {\r\n return items[items.length - 1];\r\n }\r\n throw new Error(\"No item found\")\r\n };\r\n}\r\n\r\nif (!Array.prototype._remove) {\r\n Array.prototype._remove = function(item: T): void {\r\n const index = this.indexOf(item);\r\n if (index >= 0) {\r\n this.splice(index, 1);\r\n }\r\n };\r\n}\r\n\r\nif (!Array.prototype._replace) {\r\n Array.prototype._replace = function(oldItem: T, newItem: T): void {\r\n const index = this.indexOf(oldItem);\r\n if (index >= 0) {\r\n this.splice(index, 1, newItem);\r\n return;\r\n }\r\n throw new Error(\"No item found\")\r\n };\r\n}\r\n\r\nexport default {};","import i18n from 'i18next';\r\nimport { initReactI18next } from 'react-i18next';\r\nimport resources from './translation-web.json';\r\n\r\ni18n.use(initReactI18next).init({\r\n resources: resources,\r\n lng: process.env.REACT_APP_LANGUAGE,\r\n keySeparator: false,\r\n interpolation: {\r\n escapeValue: false\r\n }\r\n});\r\n\r\nexport default i18n;\r\n","function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 415;","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"PageWrapper_container__2Spie\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"root\":\"CompetitionIntro_root__N0T5A\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"progress\":\"ProgressBar_progress__3JWzf\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"CaptchaFieldView_container__1RJTb\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"label\":\"BirthDatePicker_label__2Sr5V\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"content\":\"PaymentMethodSelector_content__2MV-3\",\"box\":\"PaymentMethodSelector_box__moQmn\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"row\":\"PaymentTermsAndConditions_row__3D--n\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tag\":\"WebTag_tag__360Et\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"submitted\":\"SubmittedStatus_submitted__3fNNK\"};","import {\r\n Page,\r\n bindableForm,\r\n asyncCommand,\r\n RequiredFieldValidator\r\n} from 'react-mvvm';\r\nimport { passwordResetByEmail } from 'model/Api/Account/PasswordResetByEmailRequest';\r\nimport { observable } from 'mobx';\r\nimport LoginPage from 'web/screen/LoginPage/LoginPage';\r\nimport { homeRoute } from 'web/routes';\r\nimport { ResetPasswordResult } from 'model/Api/Account/Model/ResetPasswordResult';\r\nimport { passwordResetByPhone } from 'model/Api/Account/PasswordResetByPhoneRequest';\r\nimport i18next from 'i18next';\r\n\r\nclass AskForPasswordResetPage extends Page {\r\n @observable.ref passwordResetModel: PasswordResetFormModel;\r\n @observable message: string;\r\n @observable isLoading: boolean;\r\n @observable errorMsg: string;\r\n\r\n constructor(private parent: LoginPage) {\r\n super();\r\n this.message = '';\r\n this.errorMsg = '';\r\n this.isLoading = false;\r\n this.passwordResetModel = {\r\n login: ''\r\n };\r\n }\r\n\r\n askForPasswordResetForm = bindableForm()\r\n .addField('login', { validator: RequiredFieldValidator })\r\n .bindTo(() => this.passwordResetModel);\r\n\r\n onSubmit = asyncCommand(\r\n async () => {\r\n if (!(await this.askForPasswordResetForm.validate())) return;\r\n this.message = '';\r\n this.errorMsg = '';\r\n this.isLoading = true;\r\n\r\n this.askForPasswordResetForm.commit();\r\n\r\n if (this.passwordResetModel.login.indexOf('@') > -1) {\r\n try {\r\n await passwordResetByEmail({\r\n email: this.passwordResetModel.login\r\n });\r\n this.message = i18next.t('login:emailSentTo', {\r\n email: this.passwordResetModel.login\r\n });\r\n this.isLoading = false;\r\n } catch (e) {\r\n this.isLoading = false;\r\n if (\r\n e.response.data.errors &&\r\n e.response.data.errors.length != 0\r\n ) {\r\n this.errorMsg = e.response.data.errors.join(', ');\r\n }\r\n }\r\n } else {\r\n try {\r\n const result: ResetPasswordResult = await passwordResetByPhone(\r\n {\r\n phoneNumber: this.passwordResetModel.login\r\n }\r\n );\r\n window.location.href = `/setnewpasswordbyphone?userId=${result.userId}`;\r\n // homeRoute.historyPush(\r\n // `/setnewpasswordbyphone?userId=${result.userId}`\r\n // );\r\n } catch (e) {\r\n this.isLoading = false;\r\n if (\r\n e.response.data.errors &&\r\n e.response.data.errors.length != 0\r\n ) {\r\n this.errorMsg = e.response.data.errors.join(', ');\r\n }\r\n }\r\n }\r\n },\r\n () => this.askForPasswordResetForm.isDirty\r\n );\r\n\r\n goBack = async () => {\r\n await this.parent.removeChildPage();\r\n };\r\n}\r\n\r\nclass PasswordResetFormModel {\r\n login: string = '';\r\n}\r\n\r\nexport default AskForPasswordResetPage;\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\n\r\nexport interface PasswordResetByEmailRequest {\r\n email: string\r\n}\r\nexport const passwordResetByEmail = (passwordResetByEmailRequest: PasswordResetByEmailRequest): Promise => {\r\n return send(\"PasswordResetByEmail\", passwordResetByEmailRequest)\r\n}\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\nimport {ResetPasswordResult} from \"./Model/ResetPasswordResult\"\r\n\r\nexport interface PasswordResetByPhoneRequest {\r\n phoneNumber: string\r\n}\r\nexport const passwordResetByPhone = (passwordResetByPhoneRequest: PasswordResetByPhoneRequest): Promise => {\r\n return send(\"PasswordResetByPhone\", passwordResetByPhoneRequest)\r\n}\r\n","import {\r\n Page,\r\n RequiredFieldValidator,\r\n bindableForm,\r\n asyncCommand\r\n} from 'react-mvvm';\r\nimport { observable } from 'mobx';\r\nimport queryString from 'query-string';\r\nimport {\r\n ConfirmPhoneNumberRequest,\r\n confirmPhoneNumber\r\n} from 'model/Api/Account/ConfirmPhoneNumberRequest';\r\nimport hello from 'hellojs';\r\nimport { homeRoute } from 'web/routes';\r\n\r\nclass ConfirmPhoneNumberPage extends Page {\r\n @observable confirmPhone: ConfirmPhoneNumberRequest;\r\n @observable errorMessage: string = '';\r\n @observable isLoading: boolean = false;\r\n\r\n constructor(private phone: string) {\r\n super();\r\n\r\n this.confirmPhone = {\r\n phoneNumber: phone,\r\n pin: '',\r\n password: '',\r\n confirmPassword: ''\r\n };\r\n }\r\n\r\n confirmPhoneForm = bindableForm()\r\n .addField('phoneNumber', { validator: RequiredFieldValidator })\r\n .addField('pin', { validator: RequiredFieldValidator })\r\n .addField('password', { validator: RequiredFieldValidator })\r\n .addField('confirmPassword', { validator: RequiredFieldValidator })\r\n .bindTo(() => this.confirmPhone);\r\n\r\n resetErrors = () => {\r\n this.errorMessage = '';\r\n };\r\n\r\n onSubmit = asyncCommand(\r\n async () => {\r\n this.isLoading = true;\r\n this.errorMessage = '';\r\n if (!(await this.confirmPhoneForm.validate())) {\r\n this.isLoading = false;\r\n return;\r\n }\r\n\r\n this.confirmPhoneForm.commit();\r\n\r\n try {\r\n const token = await confirmPhoneNumber(this.confirmPhone);\r\n this.isLoading = false;\r\n\r\n if ('accessToken' in token) {\r\n hello.utils.store('customJWT', {\r\n access_token: token.accessToken.token,\r\n refresh_token: token.refreshToken.token\r\n });\r\n\r\n homeRoute.historyPush(homeRoute.getPath({}));\r\n }\r\n } catch (error) {\r\n if (error.response.status === 400) {\r\n (error.response.data.errors as string[]).some((e) => {\r\n this.errorMessage = e;\r\n });\r\n }\r\n this.isLoading = false;\r\n }\r\n },\r\n () => this.confirmPhoneForm.isDirty\r\n );\r\n}\r\n\r\nexport default ConfirmPhoneNumberPage;\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\n\r\nexport interface ConfirmPhoneNumberRequest {\r\n phoneNumber: string\r\n pin: string\r\n password: string\r\n confirmPassword: string\r\n}\r\nexport const confirmPhoneNumber = (confirmPhoneNumberRequest: ConfirmPhoneNumberRequest): Promise => {\r\n return send(\"ConfirmPhoneNumber\", confirmPhoneNumberRequest)\r\n}\r\n","import {\r\n FormField,\r\n FormFieldValidator,\r\n} from 'react-mvvm/forms';\r\nimport { computed, observable } from 'mobx';\r\n\r\nclass CaptchaField extends FormField {\r\n @observable token: string | undefined;\r\n public fieldValidator: FormFieldValidator;\r\n\r\n constructor(\r\n value: string | undefined,\r\n validator: FormFieldValidator\r\n ) {\r\n super(value, validator);\r\n this.fieldValidator = validator;\r\n this.value = value;\r\n }\r\n\r\n @computed get value(): string | undefined {\r\n return this.token;\r\n }\r\n\r\n set value(token: string | undefined) {\r\n this.token = token;\r\n}\r\n\r\n onVerifyCaptcha = (token: string) => {\r\n this.value = token;\r\n }\r\n}\r\n\r\nexport default CaptchaField;\r\n","import {\r\n Page,\r\n RequiredFieldValidator,\r\n asyncCommand,\r\n RequiredEmailValidator,\r\n FormField\r\n} from 'react-mvvm';\r\nimport { CreateAccountDto } from 'model/Api/Account/Model/CreateAccountDto';\r\nimport { observable } from 'mobx';\r\nimport { createAccount } from 'model/Api/Account/CreateAccountRequest';\r\nimport LoginPage from '../LoginPage/LoginPage';\r\nimport ConfirmPhoneNumberPage from '../ConfirmPhoneNumberPage/ConfirmPhoneNumberPage';\r\nimport { Form } from '../../../react-mvvm/forms/form';\r\nimport { FormFields } from '../../../react-mvvm/forms/form';\r\nimport CaptchaField from 'common/components/antHelpers/CaptchaField/CaptchaField';\r\n\r\nclass CreateAccountPage extends Page {\r\n @observable createAccountDto: CreateAccountDto;\r\n @observable createAccountForm: Form;\r\n @observable accountExistsError: boolean = false;\r\n @observable errorMessage: string = '';\r\n @observable isLoading: boolean = false;\r\n\r\n constructor(private parent: LoginPage) {\r\n super();\r\n\r\n this.createAccountDto = {\r\n id: 0,\r\n version: 0,\r\n email: '',\r\n given: '',\r\n family: '',\r\n phoneNumber: '',\r\n acceptPrivacyPolicy: false,\r\n captchaToken: '',\r\n };\r\n\r\n this.createAccountForm = this.createForm()\r\n }\r\n\r\n createForm = (): Form => {\r\n const formFields: FormFields = {};\r\n formFields['email'] = new FormField('', RequiredEmailValidator);\r\n formFields['given'] = new FormField('', RequiredFieldValidator);\r\n formFields['family'] = new FormField('', RequiredFieldValidator);\r\n formFields['phoneNumber'] = new FormField('', RequiredFieldValidator);\r\n formFields['acceptPrivacyPolicy'] = new FormField(false, RequiredFieldValidator);\r\n formFields['captchaToken'] = new CaptchaField('', RequiredFieldValidator);\r\n return new Form(formFields);\r\n }\r\n\r\n onSubmit = asyncCommand(\r\n async () => {\r\n if (!(await this.createAccountForm.validate())) return;\r\n this.isLoading = true;\r\n this.accountExistsError = false;\r\n this.errorMessage = '';\r\n\r\n const { fields } = this.createAccountForm;\r\n this.createAccountDto = {\r\n ...this.createAccountDto,\r\n email: fields.email.value,\r\n given: fields.given.value,\r\n family: fields.family.value,\r\n phoneNumber: fields.phoneNumber.value,\r\n acceptPrivacyPolicy: fields.acceptPrivacyPolicy.value,\r\n captchaToken: fields.captchaToken.value,\r\n };\r\n\r\n try {\r\n await createAccount({\r\n account: this.createAccountDto\r\n });\r\n this.isLoading = false;\r\n this.showPhoneNumberConfirmationPage(\r\n this.createAccountDto.phoneNumber\r\n );\r\n } catch (error) {\r\n if (error.response.status === 400) {\r\n (error.response.data.errors as string[]).some((e) => {\r\n switch (e) {\r\n case 'account already exists':\r\n this.accountExistsError = true;\r\n break;\r\n default:\r\n this.errorMessage = e;\r\n break;\r\n }\r\n });\r\n }\r\n this.isLoading = false;\r\n }\r\n },\r\n () => this.createAccountForm.isDirty\r\n );\r\n\r\n onRemoveChildPage = async () => {\r\n await this.parent.removeChildPage();\r\n };\r\n\r\n showPhoneNumberConfirmationPage = async (phone: string) =>\r\n this.showChildPage(new ConfirmPhoneNumberPage(phone));\r\n\r\n resetErrors = () => {\r\n this.errorMessage = '';\r\n this.accountExistsError = false;\r\n };\r\n\r\n goBack = async () => {\r\n await this.parent.removeChildPage();\r\n };\r\n}\r\n\r\nexport default CreateAccountPage;\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\nimport {CreateAccountDto} from \"./Model/CreateAccountDto\"\r\n\r\n\r\nexport interface CreateAccountRequest {\r\n account: CreateAccountDto\r\n}\r\nexport const createAccount = (createAccountRequest: CreateAccountRequest): Promise => {\r\n return send(\"CreateAccount\", createAccountRequest)\r\n}\r\n","import { Page } from 'react-mvvm';\r\nimport { observable } from 'mobx';\r\nimport { bindableForm, RequiredFieldValidator } from 'react-mvvm/forms';\r\nimport { asyncCommand } from 'react-mvvm/commands';\r\nimport { authenticateUser } from 'model/Api/Account/AuthenticateUserRequest';\r\nimport hello from 'hellojs';\r\nimport { LoginUserDto } from 'model/Api/Account/Model/LoginUserDto';\r\nimport { getRedirectUri } from 'auth/Authentication';\r\nimport AskForPasswordResetPage from '../AskForPasswordResetPage/AskForPasswordResetPage';\r\nimport CreateAccountPage from '../CreateAccountPage/CreateAccountPage';\r\nimport loader from 'react-mvvm/loading/loader';\r\n\r\nclass LoginPage extends Page {\r\n @observable.ref login: LoginUserDto;\r\n @observable errorMessage: string = '';\r\n @observable isLoading: boolean = false;\r\n\r\n constructor() {\r\n super();\r\n\r\n this.login = {\r\n userName: '',\r\n password: ''\r\n };\r\n }\r\n\r\n loginDtoMetadata: {\r\n [P in keyof LoginUserDto]: { required?: boolean };\r\n } = {\r\n userName: {\r\n required: true\r\n },\r\n password: {\r\n required: true\r\n }\r\n };\r\n\r\n /*api = loader({\r\n authenticate: async () =>\r\n await authenticateUser({\r\n login: this.login\r\n })\r\n });*/\r\n\r\n loginForm = bindableForm(this.loginDtoMetadata)\r\n .addField('userName', { validator: RequiredFieldValidator })\r\n .addField('password', { validator: RequiredFieldValidator })\r\n .bindTo(() => this.login);\r\n\r\n onSubmit = asyncCommand(\r\n async () => {\r\n if (!(await this.loginForm.validate())) return;\r\n this.isLoading = true;\r\n\r\n this.loginForm.commit();\r\n try {\r\n const token = await authenticateUser({\r\n login: this.login\r\n });\r\n if ('accessToken' in token) {\r\n hello.utils.store('customJWT', {\r\n access_token: token.accessToken.token,\r\n refresh_token: token.refreshToken.token\r\n });\r\n window.location.href = getRedirectUri();\r\n }\r\n } catch (e) {\r\n this.isLoading = false;\r\n if (\r\n e.response.data.errors &&\r\n e.response.data.errors.length != 0\r\n ) {\r\n this.errorMessage = e.response.data.errors.join(', ');\r\n }\r\n }\r\n },\r\n () => this.loginForm.isDirty\r\n );\r\n\r\n showPasswordResetPage = async () => {\r\n return this.showChildPage(new AskForPasswordResetPage(this));\r\n };\r\n\r\n showCreateAccountPage = async () => {\r\n return this.showChildPage(new CreateAccountPage(this));\r\n };\r\n}\r\n\r\nexport default LoginPage;\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\nimport {LoginUserDto} from \"./Model/LoginUserDto\"\r\n\r\nimport {TokenResult} from \"./Model/TokenResult\"\r\n\r\nexport interface AuthenticateUserRequest {\r\n login: LoginUserDto\r\n}\r\nexport const authenticateUser = (authenticateUserRequest: AuthenticateUserRequest): Promise => {\r\n return send(\"AuthenticateUser\", authenticateUserRequest)\r\n}\r\n","import BaseDialog from 'admin/helpers/BaseDialog';\r\nimport { UserInfoDto } from 'model/Api/Individuals/Model/UserInfoDto';\r\nimport { observable } from 'mobx';\r\nimport {\r\n bindableForm,\r\n RequiredFieldValidator,\r\n RequiredEmailValidator\r\n} from 'react-mvvm/forms';\r\nimport { submitFormCommand } from 'react-mvvm/commands';\r\nimport { TicketDto } from 'model/Api/Tickets/Model/TicketDto';\r\nimport { UpdateUserInfoRequest } from 'model/Api/Individuals/UpdateUserInfoRequest';\r\n\r\nclass UserInfoEditDialog extends BaseDialog {\r\n @observable userInfo: Partial = {};\r\n @observable confirmTicket: boolean = false;\r\n ticketDto: TicketDto = {\r\n id: 0,\r\n version: 0\r\n };\r\n updateUserInfoRequest: UpdateUserInfoRequest = {\r\n pin: '',\r\n ticketRef: 0\r\n };\r\n\r\n constructor(\r\n close: (c: UserInfoDto | undefined) => void,\r\n private onChangeRequested: (\r\n userInfo: UserInfoDto\r\n ) => Promise,\r\n private onChangeConfirmed: (\r\n ticketRef: number,\r\n pin: string\r\n ) => Promise,\r\n userInfo: UserInfoDto | undefined\r\n ) {\r\n super(close);\r\n this.userInfo = userInfo ?? {};\r\n }\r\n\r\n userInfoForm = bindableForm()\r\n .addField('given', { validator: RequiredFieldValidator })\r\n .addField('family', { validator: RequiredFieldValidator })\r\n .addField('email', { validator: RequiredEmailValidator })\r\n .addField('phoneNumber', { validator: RequiredFieldValidator })\r\n .bindTo(() => this.userInfo);\r\n\r\n userInfoConfirmationForm = bindableForm()\r\n .addField('pin', { validator: RequiredFieldValidator })\r\n .bindTo(() => this.updateUserInfoRequest);\r\n\r\n save = submitFormCommand(this.userInfoForm, async () => {\r\n this.ticketDto = await this.onChangeRequested(\r\n this.userInfo as UserInfoDto\r\n );\r\n this.confirmTicket = true;\r\n });\r\n\r\n confirm = submitFormCommand(this.userInfoConfirmationForm, async () => {\r\n const user = await this.onChangeConfirmed(\r\n this.ticketDto.id,\r\n this.updateUserInfoRequest.pin\r\n );\r\n this.confirmTicket = false;\r\n this.close(user);\r\n });\r\n}\r\n\r\nexport default UserInfoEditDialog;\r\n","import BaseDialog from 'admin/helpers/BaseDialog';\r\nimport {asyncCommand} from \"react-mvvm/commands\";\r\n\r\nclass DeleteAccountDialog extends BaseDialog {\r\n constructor(\r\n private onConfirm: () => void,\r\n close: (v: boolean | undefined) => void,\r\n ) {\r\n super(close);\r\n }\r\n\r\n confirm = asyncCommand(async () => {\r\n await this.onConfirm();\r\n this.close(true);\r\n });\r\n\r\n cancel = () => this.close(false);\r\n\r\n activate(): Promise {\r\n return Promise.resolve();\r\n }\r\n}\r\n\r\nexport default DeleteAccountDialog;\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\nimport {MemberDto} from \"./Model/MemberDto\"\r\n\r\nexport interface GetMemberRequest {\r\n}\r\nexport const getMember = (getMemberRequest: GetMemberRequest): Promise => {\r\n return send(\"GetMember\", getMemberRequest)\r\n}\r\n","import loader from 'react-mvvm/loading/loader';\r\nimport { computed, observable } from 'mobx';\r\nimport HomePage from 'web/screen/HomePage/HomePage';\r\nimport UserInfoEditDialog from 'web/screen/HomePage/UserInfoEditDialog/UserInfoEditDialog';\r\nimport { updateUserInfo } from 'model/Api/Individuals/UpdateUserInfoRequest';\r\nimport { updateUserInfoTicket } from 'model/Api/Individuals/UpdateUserInfoTicketRequest';\r\nimport UserAddresses from 'common/components/UserAddresses/UserAddresses';\r\nimport { deleteAccountRequest } from 'model/Api/Account/DeleteAccountRequestRequest';\r\nimport DeleteAccountDialog from 'web/screen/HomePage/UserInfo/DeleteAccountDialog/DeleteAccountDialog';\r\nimport { UserInfoDto } from 'model/Api/Individuals/Model/UserInfoDto';\r\nimport { MemberDto } from 'model/Api/Members/Model/MemberDto';\r\nimport { getMember } from 'model/Api/Members/GetMemberRequest';\r\n\r\nclass UserInfo {\r\n @observable member: MemberDto | undefined;\r\n @observable userAddress: UserAddresses;\r\n parent: HomePage;\r\n\r\n constructor(parent: HomePage) {\r\n this.parent = parent;\r\n this.userAddress = new UserAddresses(this.parent, false, false);\r\n }\r\n\r\n @computed get fullName() {\r\n return `${this.dto.given} ${this.dto.family}`;\r\n }\r\n\r\n @computed get dto() {\r\n return this.parent.userDto;\r\n }\r\n\r\n api = loader({\r\n updateUserInfo: async (ticketRef: number, pin: string) =>\r\n updateUserInfo({ ticketRef, pin })\r\n });\r\n\r\n apiTicket = loader({\r\n updateUserInfoTicket: async (user: UserInfoDto) =>\r\n updateUserInfoTicket({ user })\r\n });\r\n\r\n apiMembership = loader({\r\n getMember: async () => getMember({})\r\n });\r\n\r\n apiRequestDeletion = loader({\r\n deleteAccountRequest: async () => deleteAccountRequest({})\r\n });\r\n\r\n showEditUser = async () => {\r\n const userData = await this.parent.showModal<\r\n UserInfoEditDialog,\r\n UserInfoDto | undefined\r\n >(\r\n (close) =>\r\n new UserInfoEditDialog(\r\n close,\r\n this.apiTicket.updateUserInfoTicket,\r\n this.api.updateUserInfo,\r\n this.dto\r\n )\r\n );\r\n\r\n if (!!userData) {\r\n this.parent.userDto = userData;\r\n }\r\n };\r\n\r\n showDeleteAccountModal = async () => {\r\n const isDeleteRequested = await this.parent.showModal<\r\n DeleteAccountDialog,\r\n boolean | undefined\r\n >(\r\n (close) =>\r\n new DeleteAccountDialog(\r\n () => this.apiRequestDeletion.deleteAccountRequest(),\r\n close\r\n )\r\n );\r\n\r\n if (isDeleteRequested) {\r\n this.parent.userDto.deletionRequested = true;\r\n }\r\n };\r\n\r\n init = async () => {\r\n const membership:\r\n | MemberDto\r\n | undefined = await this.apiMembership.getMember();\r\n this.member = !!membership ? membership : undefined;\r\n };\r\n}\r\n\r\nexport default UserInfo;\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\nimport {UserInfoDto} from \"./Model/UserInfoDto\"\r\n\r\nexport interface UpdateUserInfoRequest {\r\n ticketRef: number\r\n pin: string\r\n}\r\nexport const updateUserInfo = (updateUserInfoRequest: UpdateUserInfoRequest): Promise => {\r\n return send(\"UpdateUserInfo\", updateUserInfoRequest)\r\n}\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\nimport {UserInfoDto} from \"./Model/UserInfoDto\"\r\n\r\nimport {TicketDto} from \"../Tickets/Model/TicketDto\"\r\n\r\nexport interface UpdateUserInfoTicketRequest {\r\n user: UserInfoDto\r\n}\r\nexport const updateUserInfoTicket = (updateUserInfoTicketRequest: UpdateUserInfoTicketRequest): Promise => {\r\n return send(\"UpdateUserInfoTicket\", updateUserInfoTicketRequest)\r\n}\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\n\r\nexport interface DeleteAccountRequestRequest {\r\n}\r\nexport const deleteAccountRequest = (deleteAccountRequestRequest: DeleteAccountRequestRequest): Promise => {\r\n return send(\"DeleteAccountRequest\", deleteAccountRequestRequest)\r\n}\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\nimport {ListOptions} from \"../GenericList/ListOptions\"\r\n\r\nimport {UserMembershipTypeListItemDto} from \"./Model/UserMembershipTypeListItemDto\"\r\n\r\nexport interface GetUserMembershipOptionsRequest {\r\n itemId?: number\r\n options?: ListOptions\r\n filter?: any\r\n}\r\nexport const getUserMembershipOptions = (getUserMembershipOptionsRequest: GetUserMembershipOptionsRequest): Promise => {\r\n return send(\"GetUserMembershipOptions\", getUserMembershipOptionsRequest)\r\n}\r\n","import MembershipApplication, {\r\n MembershipWizardStep\r\n} from '../MembershipApplication';\r\nimport { observable, computed, action } from 'mobx';\r\nimport { RadioChangeEvent } from 'antd/es/radio';\r\nimport loader from 'react-mvvm/loading/loader';\r\nimport { getUserMembershipOptions } from 'model/Api/Individuals/GetUserMembershipOptionsRequest';\r\nimport { UserMembershipTypeListItemDto } from 'model/Api/Individuals/Model/UserMembershipTypeListItemDto';\r\n\r\nclass SubscriptionStep implements MembershipWizardStep {\r\n @observable parent: MembershipApplication;\r\n @observable subscription: UserMembershipTypeListItemDto | undefined;\r\n @observable membershipTypes: UserMembershipTypeListItemDto[] = [];\r\n\r\n constructor(parent: MembershipApplication) {\r\n this.parent = parent;\r\n }\r\n\r\n api = loader({\r\n getMembershipOptions: async () => await getUserMembershipOptions({})\r\n });\r\n\r\n init = async () => {\r\n this.membershipTypes = await this.api.getMembershipOptions();\r\n };\r\n\r\n @computed get isNextDisable(): boolean {\r\n return !this.subscription;\r\n }\r\n\r\n isMembershipTypeDisabled(\r\n membershipType: UserMembershipTypeListItemDto\r\n ): boolean {\r\n return (\r\n this.parent.parent.isActiveRegularMember &&\r\n this.parent.parent.member?.currentMembership.type.id ===\r\n membershipType.id\r\n );\r\n }\r\n\r\n @action\r\n onChangeSubscription = (e: RadioChangeEvent) => {\r\n this.subscription = e.target.value;\r\n };\r\n\r\n onNext = async () => {\r\n await this.parent.formStep.onActivation();\r\n return !!this.subscription;\r\n };\r\n}\r\n\r\nexport default SubscriptionStep;\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\nimport {MembershipApplicationDto} from \"./Model/MembershipApplicationDto\"\r\n\r\n\r\nexport interface CreateOrUpdateMembershipApplicationRequest {\r\n membershipApplication?: MembershipApplicationDto\r\n}\r\nexport const createOrUpdateMembershipApplication = (createOrUpdateMembershipApplicationRequest: CreateOrUpdateMembershipApplicationRequest): Promise => {\r\n return send(\"CreateOrUpdateMembershipApplication\", createOrUpdateMembershipApplicationRequest)\r\n}\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\nimport {MembershipPriceResponse} from \"./Model/MembershipPriceResponse\"\r\n\r\nexport interface GetMembershipPriceRequest {\r\n typeId: number\r\n}\r\nexport const getMembershipPrice = (getMembershipPriceRequest: GetMembershipPriceRequest): Promise => {\r\n return send(\"GetMembershipPrice\", getMembershipPriceRequest)\r\n}\r\n","import MembershipApplication, {\r\n MembershipWizardStep\r\n} from '../MembershipApplication';\r\nimport { action, computed, observable } from 'mobx';\r\nimport { PaymentMethod, SubscriptionType } from 'model/Externals';\r\nimport loader from 'react-mvvm/loading/loader';\r\nimport { homeRoute } from 'web/routes';\r\nimport UserAddresses from 'common/components/UserAddresses/UserAddresses';\r\nimport { submitApplicationAndPayOnline } from 'model/Api/Members/SubmitApplicationAndPayOnlineRequest';\r\nimport { submitApplicationAndPayWithInvoice } from 'model/Api/Members/SubmitApplicationAndPayWithInvoiceRequest';\r\nimport { createOrUpdateMembershipApplication } from 'model/Api/Members/CreateOrUpdateMembershipApplicationRequest';\r\nimport { MembershipApplicationDto } from 'model/Api/Members/Model/MembershipApplicationDto';\r\nimport { getMembershipPrice } from 'model/Api/Members/GetMembershipPriceRequest';\r\nimport { MembershipPriceResponse } from 'model/Api/Members/Model/MembershipPriceResponse';\r\nimport { submitChangeApplication } from 'model/Api/Members/SubmitChangeApplicationRequest';\r\n\r\nclass PaymentStep implements MembershipWizardStep {\r\n @observable parent: MembershipApplication;\r\n @observable subscriptionType: SubscriptionType | undefined;\r\n @observable userAddresses: UserAddresses;\r\n @observable paymentMethod: PaymentMethod | undefined;\r\n @observable isPaymentTermsAccepted: boolean = false;\r\n @observable membershipPrice: MembershipPriceResponse | undefined;\r\n\r\n constructor(parent: MembershipApplication) {\r\n this.parent = parent;\r\n this.userAddresses = new UserAddresses(this.parent, true, true);\r\n }\r\n\r\n onActivation = async () => {\r\n await this.userAddresses.init();\r\n window.scrollTo({ top: 0 });\r\n if (this.subscription) {\r\n this.membershipPrice = await this.api.getMembershipPrice(\r\n this.subscription.id\r\n );\r\n }\r\n this.subscriptionType = this.parent.initApplication?.subscriptionType;\r\n this.paymentMethod = this.parent.initApplication?.paymentMethod;\r\n this.userAddresses.onSelectAddress(\r\n this.parent.initApplication?.privatePartyId ??\r\n this.parent.initApplication?.employerPartyId ??\r\n 0\r\n );\r\n };\r\n\r\n api = loader({\r\n submitApplicationAndPayOnline: async (\r\n membershipApplicationId: number,\r\n membershipTypeId: number,\r\n partyId: number,\r\n paymentMethod: PaymentMethod,\r\n subscriptionType: SubscriptionType\r\n ) =>\r\n submitApplicationAndPayOnline({\r\n membershipApplicationId,\r\n membershipTypeId,\r\n partyId,\r\n paymentMethod,\r\n subscriptionType,\r\n paymentTermsAccepted: this.isPaymentTermsAccepted\r\n }),\r\n submitApplicationAndPayWithInvoice: async (\r\n membershipApplicationId: number,\r\n membershipTypeId: number,\r\n partyId: number,\r\n paymentMethod: PaymentMethod,\r\n subscriptionType: SubscriptionType\r\n ) =>\r\n submitApplicationAndPayWithInvoice({\r\n membershipApplicationId,\r\n membershipTypeId,\r\n partyId,\r\n paymentMethod,\r\n subscriptionType,\r\n paymentTermsAccepted: this.isPaymentTermsAccepted\r\n }),\r\n submitChangeApplication: async (\r\n membershipApplicationId: number,\r\n membershipTypeId: number,\r\n partyId: number,\r\n paymentMethod: PaymentMethod,\r\n subscriptionType: SubscriptionType\r\n ) =>\r\n submitChangeApplication({\r\n membershipApplicationId,\r\n membershipTypeId,\r\n partyId,\r\n paymentMethod,\r\n subscriptionType,\r\n paymentTermsAccepted: this.isPaymentTermsAccepted\r\n }),\r\n updateMembershipApplication: async (\r\n membershipApplication: MembershipApplicationDto\r\n ) => createOrUpdateMembershipApplication({ membershipApplication }),\r\n getMembershipPrice: (typeId: number) =>\r\n getMembershipPrice({\r\n typeId\r\n })\r\n });\r\n\r\n @action\r\n onTermsCheck = (value: boolean) => {\r\n this.isPaymentTermsAccepted = value;\r\n };\r\n\r\n @action\r\n onPaymentMethodCheck = (values: PaymentMethod) => {\r\n this.paymentMethod = values;\r\n };\r\n\r\n onNext = async () => {\r\n return true;\r\n };\r\n\r\n @computed get isNextDisable() {\r\n return true;\r\n }\r\n\r\n @computed get initApplication() {\r\n return this.parent.initApplication;\r\n }\r\n\r\n @computed get subscription() {\r\n return this.parent.subscriptionStep.subscription;\r\n }\r\n\r\n @computed get isReadonly() {\r\n return !!this.parent.parent?.isActiveRegularMember;\r\n }\r\n\r\n @computed get isInvoicePaymentDisabled() {\r\n return (\r\n this.isReadonly || this.subscriptionType !== SubscriptionType.annual\r\n );\r\n }\r\n\r\n @action\r\n onSubscriptionCheck = (value: SubscriptionType) => {\r\n this.paymentMethod = undefined;\r\n this.subscriptionType = value;\r\n };\r\n\r\n onPayNow = async () => {\r\n if (!!this.initApplication) {\r\n await this.api.updateMembershipApplication(this.initApplication);\r\n if (\r\n !!this.userAddresses.selectedParty &&\r\n !!this.paymentMethod &&\r\n !!this.subscriptionType &&\r\n !!this.subscription\r\n ) {\r\n const onlinePaymentToken = await this.api.submitApplicationAndPayOnline(\r\n this.initApplication.id,\r\n this.subscription.id,\r\n this.userAddresses.selectedParty,\r\n this.paymentMethod,\r\n this.subscriptionType\r\n );\r\n\r\n if (onlinePaymentToken) {\r\n window.location.href = onlinePaymentToken.url;\r\n }\r\n }\r\n }\r\n };\r\n\r\n onPayByInvoice = async () => {\r\n if (!!this.initApplication) {\r\n await this.api.updateMembershipApplication(this.initApplication);\r\n\r\n if (\r\n !!this.userAddresses.selectedParty &&\r\n !!this.paymentMethod &&\r\n !!this.subscriptionType &&\r\n !!this.subscription\r\n ) {\r\n const invoicePayment = await this.api.submitApplicationAndPayWithInvoice(\r\n this.initApplication.id,\r\n this.subscription.id,\r\n this.userAddresses.selectedParty,\r\n this.paymentMethod,\r\n this.subscriptionType\r\n );\r\n\r\n homeRoute.historyPush(\r\n `/invoicepaymentstatus?status=${invoicePayment.status}&orderId=${invoicePayment.orderId}&isPaymentForMembership=true`\r\n );\r\n }\r\n }\r\n };\r\n\r\n onChange = async () => {\r\n if (!!this.initApplication) {\r\n await this.api.updateMembershipApplication(this.initApplication);\r\n\r\n if (\r\n !!this.userAddresses.selectedParty &&\r\n !!this.paymentMethod &&\r\n !!this.subscriptionType &&\r\n !!this.subscription\r\n ) {\r\n await this.api.submitChangeApplication(\r\n this.initApplication.id,\r\n this.subscription.id,\r\n this.userAddresses.selectedParty,\r\n this.paymentMethod,\r\n this.subscriptionType\r\n );\r\n\r\n window.location.href = '/membership';\r\n }\r\n }\r\n };\r\n}\r\n\r\nexport default PaymentStep;\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\nimport {SubscriptionType} from \"../../Externals\"\r\nimport {PaymentMethod} from \"../../Externals\"\r\n\r\nimport {OnlinePaymentTokenDto} from \"../Payments/Model/OnlinePaymentTokenDto\"\r\n\r\nexport interface SubmitApplicationAndPayOnlineRequest {\r\n membershipApplicationId: number\r\n membershipTypeId: number\r\n subscriptionType: SubscriptionType\r\n partyId: number\r\n paymentMethod: PaymentMethod\r\n paymentTermsAccepted: boolean\r\n}\r\nexport const submitApplicationAndPayOnline = (submitApplicationAndPayOnlineRequest: SubmitApplicationAndPayOnlineRequest): Promise => {\r\n return send(\"SubmitApplicationAndPayOnline\", submitApplicationAndPayOnlineRequest)\r\n}\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\nimport {SubscriptionType} from \"../../Externals\"\r\nimport {PaymentMethod} from \"../../Externals\"\r\n\r\nimport {InvoicePaymentDto} from \"../Payments/Model/InvoicePaymentDto\"\r\n\r\nexport interface SubmitApplicationAndPayWithInvoiceRequest {\r\n membershipApplicationId: number\r\n membershipTypeId: number\r\n subscriptionType: SubscriptionType\r\n paymentMethod: PaymentMethod\r\n partyId: number\r\n paymentTermsAccepted: boolean\r\n}\r\nexport const submitApplicationAndPayWithInvoice = (submitApplicationAndPayWithInvoiceRequest: SubmitApplicationAndPayWithInvoiceRequest): Promise => {\r\n return send(\"SubmitApplicationAndPayWithInvoice\", submitApplicationAndPayWithInvoiceRequest)\r\n}\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\nimport {SubscriptionType} from \"../../Externals\"\r\nimport {PaymentMethod} from \"../../Externals\"\r\n\r\n\r\nexport interface SubmitChangeApplicationRequest {\r\n membershipApplicationId: number\r\n membershipTypeId: number\r\n subscriptionType: SubscriptionType\r\n paymentMethod: PaymentMethod\r\n partyId: number\r\n paymentTermsAccepted: boolean\r\n}\r\nexport const submitChangeApplication = (submitChangeApplicationRequest: SubmitChangeApplicationRequest): Promise => {\r\n return send(\"SubmitChangeApplication\", submitChangeApplicationRequest)\r\n}\r\n","import {\r\n Form,\r\n FormField,\r\n FormFieldValidator,\r\n FormState\r\n} from 'react-mvvm/forms';\r\nimport { computed, observable } from 'mobx';\r\nimport moment, { Moment } from 'moment';\r\n\r\nclass BirthDatePicker extends FormField {\r\n @observable dateForm: Form;\r\n @observable errors: string[] = [];\r\n\r\n monthList: { index: number; name: string }[];\r\n\r\n private isErrorState = false;\r\n private isValidatingProcess = false;\r\n fieldValidator: FormFieldValidator;\r\n\r\n constructor(\r\n value: string | undefined,\r\n validator: FormFieldValidator\r\n ) {\r\n super(value, validator);\r\n this.monthList = this.getMonthList();\r\n\r\n this.fieldValidator = validator;\r\n\r\n const data = moment(value);\r\n \r\n this.dateForm = new Form({\r\n day: new FormField(\r\n !!data && !!value ? data.date().toString() : undefined,\r\n this.fieldValidator\r\n ),\r\n month: new FormField(\r\n !!data && !!value ? data.month().toString() : undefined,\r\n this.fieldValidator,\r\n undefined,\r\n (value) => {\r\n if (\r\n !this.days.find(\r\n (d) => d === this.dateForm.fields.day.value\r\n )\r\n ) {\r\n this.dateForm.fields.day.value = undefined;\r\n }\r\n }\r\n ),\r\n year: new FormField(\r\n !!data && !!value\r\n ? moment(new Date()).set('year', data.year())\r\n : undefined,\r\n this.fieldValidator,\r\n undefined,\r\n (value) => {\r\n if (\r\n !this.days.find(\r\n (d) => d === this.dateForm.fields.day.value\r\n )\r\n ) {\r\n this.dateForm.fields.day.value = undefined;\r\n }\r\n }\r\n )\r\n });\r\n this.value = value;\r\n }\r\n\r\n @computed get value() {\r\n if (!this.dateForm) {\r\n return undefined;\r\n }\r\n const { fields } = this.dateForm;\r\n if (!fields.day.value || !fields.month.value || !fields.year.value) {\r\n return undefined;\r\n }\r\n const birthDate = moment(new Date());\r\n \r\n birthDate\r\n .year(fields.year.value.year())\r\n .month(fields.month.value - 1)\r\n .date(fields.day.value);\r\n\r\n return birthDate.toISOString();\r\n }\r\n set value(dataValue) {\r\n if (!dataValue || !this.dateForm) {\r\n return;\r\n }\r\n const data = moment(dataValue);\r\n const { fields } = this.dateForm;\r\n \r\n if (!!data) {\r\n fields.day.value = data.date();\r\n fields.month.value = data.month() + 1;\r\n fields.year.value = moment(new Date()).set('year', data.year());\r\n }\r\n }\r\n\r\n @computed get state(): FormState {\r\n if (this.isErrorState) {\r\n return FormState.Invalid;\r\n }\r\n\r\n if (this.isValidatingProcess) {\r\n return FormState.Pending;\r\n }\r\n\r\n return FormState.Valid;\r\n }\r\n @computed get isPristine() {\r\n return this.dateForm.isPristine;\r\n }\r\n\r\n async validate(): Promise {\r\n let isValid = true;\r\n this.errors = [];\r\n this.isErrorState = false;\r\n this.isValidatingProcess = true;\r\n\r\n if (!(await this.dateForm.validate())) {\r\n for (const field of Object.values(this.dateForm.fields)) {\r\n if (field.errors.length > 0) {\r\n this.errors = [...this.errors, ...field.errors];\r\n }\r\n }\r\n isValid = false;\r\n this.isErrorState = true;\r\n }\r\n\r\n this.isValidatingProcess = false;\r\n return isValid || [];\r\n }\r\n\r\n getMonthList = (): { index: number; name: string }[] => {\r\n const date = moment(new Date());\r\n return Array.apply(0, Array(12)).map((i, index) => {\r\n return {\r\n index: index + 1,\r\n name: date.month(index).format('MMMM')\r\n };\r\n });\r\n };\r\n\r\n @computed get days() {\r\n let date = moment(new Date());\r\n if (!!this.dateForm.fields.month.value) {\r\n date.set('month', this.dateForm.fields.month.value - 1);\r\n }\r\n\r\n if (!!this.dateForm.fields.year.value) {\r\n date.set('year', this.dateForm.fields.year.value.year());\r\n }\r\n return [...Array(date.daysInMonth())].map((e, i) => i + 1);\r\n }\r\n}\r\n\r\nexport default BirthDatePicker;\r\n","import FormStep, {\r\n MembershipWizardForm\r\n} from 'web/screen/MembershipApplication/FormStep/FormStep';\r\nimport { computed, observable } from 'mobx';\r\nimport { Form, FormField, RequiredFieldValidator } from 'react-mvvm/forms';\r\nimport BirthDatePicker from 'common/components/BirthDatePicker/BirthDatePicker';\r\nimport { MembershipApplicationDto } from 'model/Api/Members/Model/MembershipApplicationDto';\r\n\r\nclass StudentForm implements MembershipWizardForm {\r\n parent: FormStep;\r\n @observable formValues: Partial = {};\r\n @observable form: Form;\r\n\r\n constructor(parent: FormStep) {\r\n this.parent = parent;\r\n this.form = this.buildMembershipForm();\r\n }\r\n\r\n @computed get userAddresses() {\r\n return this.parent.userAddresses;\r\n }\r\n\r\n @computed get application() {\r\n return this.parent.application;\r\n }\r\n\r\n buildMembershipForm = () => {\r\n return new Form({\r\n birthDate: new BirthDatePicker(\r\n this.parent.parent.initApplication?.birthDate,\r\n RequiredFieldValidator\r\n ),\r\n gender: new FormField(\r\n this.parent.parent.initApplication?.gender,\r\n RequiredFieldValidator\r\n ),\r\n schoolName: new FormField(\r\n this.parent.parent.initApplication?.schoolName,\r\n RequiredFieldValidator\r\n ),\r\n expectedGraduationDate: new FormField(\r\n this.application.expectedGraduationDate,\r\n RequiredFieldValidator\r\n ),\r\n privatePartyId: new FormField(\r\n this.parent.parent.initApplication?.privatePartyId,\r\n RequiredFieldValidator\r\n ),\r\n acceptPrivacyPolicy: new FormField(\r\n this.application.acceptPrivacyPolicy,\r\n RequiredFieldValidator\r\n )\r\n });\r\n };\r\n\r\n onSaveForm = async (): Promise => {\r\n const validation = await this.form.validate();\r\n if (validation) {\r\n const { fields } = this.form;\r\n this.formValues = {\r\n ...this.formValues,\r\n birthDate: fields.birthDate.value,\r\n gender: fields.gender.value,\r\n schoolName: fields.schoolName.value,\r\n expectedGraduationDate: !!fields.expectedGraduationDate.value\r\n ? (fields.expectedGraduationDate\r\n .value as Date).toISOString()\r\n : undefined,\r\n privatePartyId: fields.privatePartyId.value,\r\n acceptPrivacyPolicy: fields.acceptPrivacyPolicy.value\r\n };\r\n return true;\r\n }\r\n return false;\r\n };\r\n\r\n onNext = async () => {\r\n return this.onSaveForm();\r\n };\r\n\r\n @computed get isNextDisable(): boolean {\r\n return (\r\n this.form.isPristine &&\r\n !this.userAddresses?.doubleSelectedParty.private\r\n );\r\n }\r\n\r\n onSelectAddress = async () => {\r\n if (!!this.userAddresses) {\r\n this.form.fields.privatePartyId.value = this.userAddresses.doubleSelectedParty.private;\r\n }\r\n };\r\n}\r\n\r\nexport default StudentForm;\r\n","import {\r\n Form,\r\n FormField,\r\n FormFieldValidator,\r\n FormState\r\n} from 'react-mvvm/forms';\r\nimport { computed, observable } from 'mobx';\r\nimport { command } from 'react-mvvm/commands';\r\nimport { MembershipApplicationLinkDto } from 'model/Api/Members/Model/MembershipApplicationLinkDto';\r\n\r\nconst buildLink = (\r\n validator: FormFieldValidator,\r\n link: MembershipApplicationLinkDto | undefined = {\r\n value: '',\r\n id: 0,\r\n version: 0\r\n }\r\n): UrlFieldRowLink => {\r\n return {\r\n id: !link ? 0 : link.id,\r\n version: !link ? 0 : link.version,\r\n value: new Form({\r\n url: new FormField(link?.value, validator)\r\n })\r\n };\r\n};\r\n\r\nexport type UrlFieldRowLink = {\r\n id: number;\r\n version: number;\r\n value: Form;\r\n};\r\n\r\nclass UrlField extends FormField {\r\n @observable links: UrlFieldRowLink[] = [];\r\n public fieldValidator: FormFieldValidator;\r\n private isErrorState = false;\r\n private isValidatingProcess = false;\r\n\r\n constructor(\r\n value: MembershipApplicationLinkDto[] | undefined,\r\n validator: FormFieldValidator\r\n ) {\r\n super(value, validator);\r\n\r\n this.fieldValidator = validator;\r\n if (!value?.length) {\r\n this.addLink.execute();\r\n return;\r\n }\r\n\r\n this.value = value;\r\n }\r\n\r\n addLink = command(() => this.links.push(buildLink(this.fieldValidator)));\r\n removeLink = (index: number) => this.links.splice(index, 1);\r\n\r\n @computed get value(): MembershipApplicationLinkDto[] | undefined {\r\n if (this.links.length === 1 && !this.links[0].value) {\r\n return [];\r\n }\r\n return this.links.map((link) => {\r\n return {\r\n id: link.id,\r\n version: link.version,\r\n value: link.value.fields.url.value\r\n };\r\n });\r\n }\r\n\r\n set value(data: MembershipApplicationLinkDto[] | undefined) {\r\n if (!!data) {\r\n this.links = data.map((row) => buildLink(this.fieldValidator, row));\r\n }\r\n }\r\n\r\n @computed get state(): FormState {\r\n if (this.isErrorState) {\r\n return FormState.Invalid;\r\n }\r\n\r\n if (this.isValidatingProcess) {\r\n return FormState.Pending;\r\n }\r\n\r\n return FormState.Valid;\r\n }\r\n\r\n @computed get isPristine() {\r\n return this.links.some((row) => row.value.isPristine);\r\n }\r\n\r\n async validate(): Promise {\r\n let isValid = true;\r\n this.isErrorState = false;\r\n this.isValidatingProcess = true;\r\n\r\n for (const row of this.links) {\r\n const validation = row.value.validate();\r\n if (!validation) {\r\n isValid = false;\r\n this.isErrorState = true;\r\n }\r\n }\r\n\r\n this.isValidatingProcess = false;\r\n return isValid || [];\r\n }\r\n}\r\n\r\nexport default UrlField;\r\n","import FormStep, {\r\n MembershipWizardForm\r\n} from 'web/screen/MembershipApplication/FormStep/FormStep';\r\nimport { computed, observable } from 'mobx';\r\nimport {\r\n Form,\r\n FormField,\r\n NullValidator,\r\n RequiredFieldValidator\r\n} from 'react-mvvm/forms';\r\nimport UrlField from 'common/components/antHelpers/UrlField/UrlFied';\r\nimport BirthDatePicker from 'common/components/BirthDatePicker/BirthDatePicker';\r\nimport { MembershipApplicationDto } from 'model/Api/Members/Model/MembershipApplicationDto';\r\nimport i18next from 'i18next';\r\nimport { MembershipApplicationLinkDto } from '../../../../../model/Api/Members/Model/MembershipApplicationLinkDto';\r\nimport { MembershipApplicationAttachmentDto } from '../../../../../model/Api/Members/Model/MembershipApplicationAttachmentDto';\r\n\r\nclass ProfessionalForm implements MembershipWizardForm {\r\n parent: FormStep;\r\n @observable form: Form;\r\n @observable formValues: Partial = {};\r\n\r\n constructor(parent: FormStep) {\r\n this.parent = parent;\r\n this.form = this.buildMembershipForm();\r\n }\r\n\r\n @computed get userAddresses() {\r\n return this.parent.userAddresses;\r\n }\r\n\r\n @computed get application() {\r\n return this.parent.application;\r\n }\r\n\r\n buildMembershipForm = () => {\r\n const linkFormField = new UrlField(\r\n this.parent.parent.initApplication?.membershipApplicationLinks,\r\n NullValidator\r\n );\r\n\r\n const attachmentField = new FormField(\r\n this.parent.parent.initApplication?.attachments,\r\n NullValidator\r\n );\r\n\r\n for (let link of linkFormField.links) {\r\n for (let val of link.value.getFields()) {\r\n const x = val as FormField;\r\n x.validator = this.parent.attachmentOrLinkShouldBeProvided(\r\n linkFormField,\r\n attachmentField,\r\n true\r\n );\r\n }\r\n }\r\n\r\n attachmentField.validator = this.parent.attachmentOrLinkShouldBeProvided(\r\n linkFormField,\r\n attachmentField,\r\n false\r\n );\r\n\r\n return new Form({\r\n birthDate: new BirthDatePicker(\r\n this.parent.parent.initApplication?.birthDate,\r\n RequiredFieldValidator\r\n ),\r\n gender: new FormField(\r\n this.parent.parent.initApplication?.gender,\r\n RequiredFieldValidator\r\n ),\r\n privatePartyId: new FormField(\r\n this.parent.parent.initApplication?.privatePartyId,\r\n RequiredFieldValidator\r\n ),\r\n employerPartyId: new FormField(\r\n this.parent.parent.initApplication?.employerPartyId,\r\n NullValidator\r\n ),\r\n workPosition: new FormField(\r\n this.parent.parent.initApplication?.workPosition,\r\n RequiredFieldValidator\r\n ),\r\n membershipApplicationProfessionalGroups: new FormField(\r\n this.parent.parent.initApplication?.membershipApplicationProfessionalGroups,\r\n NullValidator\r\n ),\r\n membershipApplicationLinks: linkFormField,\r\n attachments: attachmentField,\r\n acceptPrivacyPolicy: new FormField(\r\n this.application.acceptPrivacyPolicy,\r\n RequiredFieldValidator\r\n ),\r\n membershipApplicationRequirement: new FormField(\r\n this.application.membershipApplicationRequirement,\r\n RequiredFieldValidator\r\n )\r\n });\r\n };\r\n\r\n onSaveForm = async (): Promise => {\r\n const validation = await this.form.validate();\r\n if (validation) {\r\n const { fields } = this.form;\r\n this.formValues = {\r\n ...this.formValues,\r\n birthDate: fields.birthDate.value,\r\n gender: fields.gender.value,\r\n privatePartyId: fields.privatePartyId.value,\r\n employerPartyId: fields.employerPartyId.value,\r\n workPosition: fields.workPosition.value,\r\n membershipApplicationRequirement: fields.membershipApplicationRequirement.value,\r\n membershipApplicationProfessionalGroups:\r\n fields.membershipApplicationProfessionalGroups.value,\r\n membershipApplicationLinks:\r\n fields.membershipApplicationLinks.value,\r\n attachments: fields.attachments.value,\r\n acceptPrivacyPolicy: fields.acceptPrivacyPolicy.value\r\n };\r\n return true;\r\n }\r\n\r\n return false;\r\n };\r\n\r\n onNext = async () => {\r\n return this.onSaveForm();\r\n };\r\n\r\n @computed get isNextDisable() {\r\n return (\r\n this.form.isPristine &&\r\n !this.userAddresses?.doubleSelectedParty.private &&\r\n !this.userAddresses?.doubleSelectedParty.company\r\n );\r\n }\r\n\r\n onSelectAddress = async () => {\r\n if (!!this.userAddresses) {\r\n const { doubleSelectedParty } = this.userAddresses;\r\n this.form.fields.privatePartyId.value = doubleSelectedParty.private;\r\n this.form.fields.employerPartyId.value =\r\n doubleSelectedParty.company;\r\n }\r\n };\r\n}\r\n\r\nexport default ProfessionalForm;\r\n","import FormStep, {\r\n MembershipWizardForm\r\n} from 'web/screen/MembershipApplication/FormStep/FormStep';\r\nimport { computed, observable } from 'mobx';\r\nimport {\r\n Form,\r\n FormField,\r\n NullValidator,\r\n RequiredFieldValidator\r\n} from 'react-mvvm/forms';\r\nimport BirthDatePicker from 'common/components/BirthDatePicker/BirthDatePicker';\r\nimport { MembershipApplicationDto } from 'model/Api/Members/Model/MembershipApplicationDto';\r\n\r\nclass AssociateForm implements MembershipWizardForm {\r\n parent: FormStep;\r\n @observable form: Form;\r\n @observable formValues: Partial = {};\r\n\r\n constructor(parent: FormStep) {\r\n this.parent = parent;\r\n this.form = this.buildMembershipForm();\r\n }\r\n\r\n @computed get userAddresses() {\r\n return this.parent.userAddresses;\r\n }\r\n\r\n @computed get application() {\r\n return this.parent.application;\r\n }\r\n\r\n buildMembershipForm = () => {\r\n return new Form({\r\n birthDate: new BirthDatePicker(\r\n this.parent.parent.initApplication?.birthDate,\r\n RequiredFieldValidator\r\n ),\r\n gender: new FormField(\r\n this.parent.parent.initApplication?.gender,\r\n RequiredFieldValidator\r\n ),\r\n privatePartyId: new FormField(\r\n this.parent.parent.initApplication?.privatePartyId,\r\n RequiredFieldValidator\r\n ),\r\n employerPartyId: new FormField(\r\n this.parent.parent.initApplication?.employerPartyId,\r\n NullValidator\r\n ),\r\n workPosition: new FormField(\r\n this.parent.parent.initApplication?.workPosition,\r\n RequiredFieldValidator\r\n ),\r\n acceptPrivacyPolicy: new FormField(\r\n this.application.acceptPrivacyPolicy,\r\n RequiredFieldValidator\r\n )\r\n });\r\n };\r\n\r\n onSaveForm = async (): Promise => {\r\n const validation = await this.form.validate();\r\n if (validation) {\r\n const { fields } = this.form;\r\n this.formValues = {\r\n ...this.formValues,\r\n birthDate: fields.birthDate.value,\r\n gender: fields.gender.value,\r\n privatePartyId: fields.privatePartyId.value,\r\n employerPartyId: fields.employerPartyId.value,\r\n workPosition: fields.workPosition.value,\r\n acceptPrivacyPolicy: fields.acceptPrivacyPolicy.value\r\n };\r\n return true;\r\n }\r\n return false;\r\n };\r\n\r\n onNext = async () => {\r\n return this.onSaveForm();\r\n };\r\n\r\n @computed get isNextDisable() {\r\n return (\r\n this.form.isPristine &&\r\n !this.userAddresses?.doubleSelectedParty.private &&\r\n !this.userAddresses?.doubleSelectedParty.company\r\n );\r\n }\r\n\r\n onSelectAddress = async () => {\r\n if (!!this.userAddresses) {\r\n const { doubleSelectedParty } = this.userAddresses;\r\n this.form.fields.privatePartyId.value = doubleSelectedParty.private;\r\n this.form.fields.employerPartyId.value =\r\n doubleSelectedParty.company;\r\n }\r\n };\r\n}\r\n\r\nexport default AssociateForm;\r\n","import FormStep, {\r\n MembershipWizardForm\r\n} from 'web/screen/MembershipApplication/FormStep/FormStep';\r\nimport { computed, observable } from 'mobx';\r\nimport {\r\n Form,\r\n FormField,\r\n NullValidator,\r\n RequiredFieldValidator\r\n} from 'react-mvvm/forms';\r\nimport BirthDatePicker from 'common/components/BirthDatePicker/BirthDatePicker';\r\nimport { MembershipApplicationDto } from 'model/Api/Members/Model/MembershipApplicationDto';\r\nimport { MembershipApplicationLinkDto } from 'model/Api/Members/Model/MembershipApplicationLinkDto';\r\nimport UrlField from 'common/components/antHelpers/UrlField/UrlFied';\r\n\r\nclass GraduateForm implements MembershipWizardForm {\r\n parent: FormStep;\r\n @observable formValues: Partial = {};\r\n @observable form: Form;\r\n\r\n constructor(parent: FormStep) {\r\n this.parent = parent;\r\n this.form = this.buildMembershipForm();\r\n }\r\n\r\n @computed get userAddresses() {\r\n return this.parent.userAddresses;\r\n }\r\n\r\n @computed get application() {\r\n return this.parent.application;\r\n }\r\n\r\n buildMembershipForm = () => {\r\n const linkFormField = new UrlField(\r\n this.parent.parent.initApplication?.membershipApplicationLinks,\r\n NullValidator\r\n );\r\n\r\n const attachmentField = new FormField(\r\n this.parent.parent.initApplication?.attachments,\r\n NullValidator\r\n );\r\n\r\n for (let link of linkFormField.links) {\r\n for (let val of link.value.getFields()) {\r\n const x = val as FormField;\r\n x.validator = this.parent.attachmentOrLinkShouldBeProvided(\r\n linkFormField,\r\n attachmentField,\r\n true\r\n );\r\n }\r\n }\r\n\r\n attachmentField.validator = this.parent.attachmentOrLinkShouldBeProvided(\r\n linkFormField,\r\n attachmentField,\r\n false\r\n );\r\n return new Form({\r\n birthDate: new BirthDatePicker(\r\n this.parent.parent.initApplication?.birthDate,\r\n RequiredFieldValidator\r\n ),\r\n gender: new FormField(\r\n this.parent.parent.initApplication?.gender,\r\n RequiredFieldValidator\r\n ),\r\n expectedGraduationDate: new FormField(\r\n this.application.expectedGraduationDate,\r\n RequiredFieldValidator\r\n ),\r\n privatePartyId: new FormField(\r\n this.parent.parent.initApplication?.privatePartyId,\r\n RequiredFieldValidator\r\n ),\r\n employerPartyId: new FormField(\r\n this.parent.parent.initApplication?.employerPartyId,\r\n NullValidator\r\n ),\r\n workPosition: new FormField(\r\n this.parent.parent.initApplication?.workPosition,\r\n NullValidator\r\n ),\r\n membershipApplicationLinks: linkFormField,\r\n attachments: attachmentField,\r\n membershipApplicationProfessionalGroups: new FormField(\r\n this.parent.parent.initApplication?.membershipApplicationProfessionalGroups,\r\n NullValidator\r\n ),\r\n membershipApplicationRequirement: new FormField(\r\n this.application.membershipApplicationRequirement,\r\n RequiredFieldValidator\r\n ),\r\n acceptPrivacyPolicy: new FormField(\r\n this.application.acceptPrivacyPolicy,\r\n RequiredFieldValidator\r\n )\r\n });\r\n };\r\n\r\n onSaveForm = async (): Promise => {\r\n const validation = await this.form.validate();\r\n if (validation) {\r\n const { fields } = this.form;\r\n this.formValues = {\r\n ...this.formValues,\r\n birthDate: fields.birthDate.value,\r\n gender: fields.gender.value,\r\n expectedGraduationDate: !!fields.expectedGraduationDate.value\r\n ? (fields.expectedGraduationDate\r\n .value as Date).toISOString()\r\n : undefined,\r\n membershipApplicationLinks:\r\n fields.membershipApplicationLinks.value,\r\n attachments: fields.attachments.value,\r\n privatePartyId: fields.privatePartyId.value,\r\n employerPartyId: fields.employerPartyId.value,\r\n workPosition: fields.workPosition.value,\r\n acceptPrivacyPolicy: fields.acceptPrivacyPolicy.value,\r\n membershipApplicationProfessionalGroups:\r\n fields.membershipApplicationProfessionalGroups.value,\r\n membershipApplicationRequirement:\r\n fields.membershipApplicationRequirement.value,\r\n };\r\n return true;\r\n }\r\n return false;\r\n };\r\n\r\n onNext = async () => {\r\n return this.onSaveForm();\r\n };\r\n\r\n @computed get isNextDisable(): boolean {\r\n return (\r\n this.form.isPristine &&\r\n !this.userAddresses?.doubleSelectedParty.private\r\n );\r\n }\r\n\r\n onSelectAddress = async () => {\r\n if (!!this.userAddresses) {\r\n const { doubleSelectedParty } = this.userAddresses;\r\n this.form.fields.privatePartyId.value = doubleSelectedParty.private;\r\n this.form.fields.employerPartyId.value =\r\n doubleSelectedParty.company;\r\n }\r\n };\r\n}\r\n\r\nexport default GraduateForm;\r\n","import MembershipApplication, {\r\n MembershipWizardStep\r\n} from 'web/screen/MembershipApplication/MembershipApplication';\r\nimport { computed, observable } from 'mobx';\r\nimport { MembershipKind } from 'model/Externals';\r\nimport {\r\n BindableForm,\r\n Form,\r\n FormField,\r\n RequiredFieldValidator\r\n} from 'react-mvvm/forms';\r\nimport UserAddresses from 'common/components/UserAddresses/UserAddresses';\r\nimport StudentForm from 'web/screen/MembershipApplication/FormStep/StudentForm/StudentForm';\r\nimport ProfessionalForm from 'web/screen/MembershipApplication/FormStep/ProfessionalForm/ProfessionalForm';\r\nimport AssociateForm from 'web/screen/MembershipApplication/FormStep/AssociateForm/AssociateForm';\r\nimport { MembershipApplicationDto } from 'model/Api/Members/Model/MembershipApplicationDto';\r\nimport GraduateForm from './GraduateForm/GraduateForm';\r\nimport UrlField from 'common/components/antHelpers/UrlField/UrlFied';\r\nimport { MembershipApplicationAttachmentDto } from 'model/Api/Members/Model/MembershipApplicationAttachmentDto';\r\nimport i18next from 'i18next';\r\nimport { MembershipApplicationLinkDto } from 'model/Api/Members/Model/MembershipApplicationLinkDto';\r\n\r\nexport interface MembershipWizardForm extends MembershipWizardStep {\r\n onSelectAddress: () => void;\r\n form: BindableForm | Form;\r\n formValues: Partial;\r\n}\r\n\r\nclass FormStep implements MembershipWizardStep {\r\n parent: MembershipApplication;\r\n @observable userAddresses: UserAddresses | undefined;\r\n @observable applicationForm: MembershipWizardForm | undefined;\r\n dateFormat: string = 'DD-MM-YYYY';\r\n\r\n constructor(parent: MembershipApplication) {\r\n this.parent = parent;\r\n }\r\n\r\n onActivation = async () => {\r\n switch (this.subscriptionType) {\r\n case MembershipKind.student:\r\n this.applicationForm = new StudentForm(this);\r\n break;\r\n case MembershipKind.graduate:\r\n this.applicationForm = new GraduateForm(this);\r\n break;\r\n case MembershipKind.professional:\r\n this.applicationForm = new ProfessionalForm(this);\r\n break;\r\n case MembershipKind.associate:\r\n this.applicationForm = new AssociateForm(this);\r\n break;\r\n default:\r\n break;\r\n }\r\n this.userAddresses = new UserAddresses(\r\n this.parent,\r\n true,\r\n true,\r\n this.applicationForm?.onSelectAddress,\r\n true\r\n );\r\n await this.userAddresses.init();\r\n this.userAddresses.onSelectAddress(this.parent.initApplication?.privatePartyId ?? 0);\r\n window.scrollTo({ top: 0 });\r\n };\r\n\r\n @computed get subscriptionType(): MembershipKind | undefined {\r\n return this.parent?.subscriptionStep.subscription?.membershipKind;\r\n }\r\n\r\n @computed get isNextDisable(): boolean {\r\n return !this.applicationForm\r\n ? true\r\n : this.applicationForm.isNextDisable;\r\n }\r\n\r\n @computed get membershipAppId(): number {\r\n return !this.parent.initApplication\r\n ? 0\r\n : this.parent.initApplication.id;\r\n }\r\n\r\n @computed get application(): Partial {\r\n return !this.applicationForm ? {} : this.applicationForm?.formValues;\r\n }\r\n\r\n onNext = async () => {\r\n if (\r\n !!this.parent.initApplication &&\r\n !!this.applicationForm &&\r\n (await this.applicationForm.onNext())\r\n ) {\r\n this.parent.initApplication = {\r\n ...this.parent.initApplication,\r\n ...this.application\r\n };\r\n await this.parent.paymentStep.onActivation();\r\n return true;\r\n }\r\n return false;\r\n };\r\n\r\n public attachmentOrLinkShouldBeProvided = (\r\n linkFormField: UrlField,\r\n attachments: FormField,\r\n showErrorMessage: boolean\r\n ): ((_: T) => true | string[]) => {\r\n return (_: T) => {\r\n const v1 =\r\n (linkFormField?.value &&\r\n linkFormField.value.length > 0 &&\r\n RequiredFieldValidator(linkFormField.value[0].value)) ===\r\n true;\r\n const v2 = RequiredFieldValidator(attachments.value) === true;\r\n\r\n if (v1 || v2) {\r\n for (let link of linkFormField.links) {\r\n for (let val of link.value.getFields()) {\r\n const x = val as FormField<\r\n MembershipApplicationLinkDto\r\n >;\r\n x.reset(x.value);\r\n }\r\n }\r\n\r\n attachments.reset(attachments.value);\r\n\r\n return true;\r\n }\r\n\r\n return showErrorMessage\r\n ? [i18next.t('form:oneOfManyRequired')]\r\n : [''];\r\n };\r\n };\r\n}\r\n\r\nexport default FormStep;\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\nimport {UserInfoDto} from \"./Model/UserInfoDto\"\r\n\r\nexport interface GetUserInfoRequest {\r\n}\r\nexport const getUserInfo = (getUserInfoRequest: GetUserInfoRequest): Promise => {\r\n return send(\"GetUserInfo\", getUserInfoRequest)\r\n}\r\n","import { Page } from 'react-mvvm';\r\nimport Membership from 'web/screen/Membership/Membership';\r\nimport { action, computed, observable } from 'mobx';\r\nimport SubscriptionStep from './SubscriptionStep/SubscriptionStep';\r\nimport PaymentStep from './PaymentStep/PaymentStep';\r\nimport FormStep from 'web/screen/MembershipApplication/FormStep/FormStep';\r\nimport ConfirmationModal from 'common/components/ConfirmationModal/ConfirmationModal';\r\nimport loader from 'react-mvvm/loading/loader';\r\nimport { createOrUpdateMembershipApplication } from 'model/Api/Members/CreateOrUpdateMembershipApplicationRequest';\r\nimport { MembershipApplicationDto } from 'model/Api/Members/Model/MembershipApplicationDto';\r\nimport { PaymentMethod } from 'model/Externals';\r\nimport { getUserInfo } from 'model/Api/Individuals/GetUserInfoRequest';\r\nimport { UserInfoDto } from 'model/Api/Individuals/Model/UserInfoDto';\r\nimport AddressDialog from '../../../common/components/AddressDialog/AddressDialog';\r\n\r\nexport interface MembershipWizardStep {\r\n onNext: () => Promise;\r\n isNextDisable: boolean;\r\n}\r\n\r\nclass MembershipApplication extends Page {\r\n @observable parent: Membership;\r\n @observable initApplication: MembershipApplicationDto | undefined;\r\n @observable userInfo: UserInfoDto | undefined;\r\n //@observable membershipInfo: MemberDto | undefined;\r\n\r\n @observable subscriptionStep: SubscriptionStep;\r\n @observable formStep: FormStep;\r\n @observable paymentStep: PaymentStep;\r\n @observable step: number = 0;\r\n\r\n constructor(parent: Membership) {\r\n super();\r\n this.parent = parent;\r\n this.subscriptionStep = new SubscriptionStep(this);\r\n this.formStep = new FormStep(this);\r\n this.paymentStep = new PaymentStep(this);\r\n }\r\n\r\n api = loader({\r\n createOrUpdateMembershipApplication: async () =>\r\n createOrUpdateMembershipApplication({}),\r\n getUserInfo: async () => getUserInfo({})\r\n });\r\n\r\n protected async onActivated(): Promise {\r\n this.userInfo = await this.api.getUserInfo();\r\n // if (\r\n // !!this.initApplication &&\r\n // this.initApplication.membershipApplicationStatus ===\r\n // MembershipApplicationStatus.approved\r\n // ) {\r\n // await this.parent.removeChildPage();\r\n // await this.parent.activate();\r\n // return;\r\n // }\r\n\r\n this.initApplication = await this.api.createOrUpdateMembershipApplication();\r\n await this.subscriptionStep.init();\r\n }\r\n\r\n @action\r\n nextStep = () => (this.step = this.step + 1);\r\n\r\n @action\r\n onPrevStep = () => (this.step = this.step - 1);\r\n\r\n @action\r\n onBackButtonEvent = () => {\r\n if (this.isPrevDisable) {\r\n window.history.back();\r\n } else {\r\n this.onPrevStep();\r\n }\r\n }\r\n\r\n onNextStep = async () => {\r\n window.history.pushState(null, \"\", window.location.pathname);\r\n let valid = false;\r\n switch (this.step) {\r\n case 0:\r\n valid = await this.subscriptionStep.onNext();\r\n break;\r\n case 1:\r\n valid = await this.formStep.onNext();\r\n break;\r\n default:\r\n return;\r\n }\r\n\r\n if (valid) await this.nextStep();\r\n };\r\n\r\n @computed get isPrevDisable() {\r\n return !this.step;\r\n }\r\n\r\n @computed get isNextDisable() {\r\n switch (this.step) {\r\n case 0:\r\n return this.subscriptionStep.isNextDisable;\r\n case 1:\r\n return this.formStep.isNextDisable;\r\n default:\r\n return true;\r\n }\r\n }\r\n\r\n @computed get userName(): string | undefined {\r\n if (!this.userInfo) {\r\n return '-';\r\n }\r\n return `${this.userInfo.family} ${this.userInfo.given}`;\r\n }\r\n\r\n @computed get isPaymentDisable() {\r\n return (\r\n !this.paymentStep.subscriptionType ||\r\n !this.paymentStep.paymentMethod ||\r\n !this.paymentStep.userAddresses.selectedParty ||\r\n !this.paymentStep.isPaymentTermsAccepted\r\n );\r\n }\r\n\r\n onPay = async () => {\r\n if (this.parent.isActiveRegularMember) {\r\n await this.paymentStep.onChange();\r\n } else if (this.paymentStep.paymentMethod === PaymentMethod.bambora) {\r\n await this.paymentStep.onPayNow();\r\n } else {\r\n await this.paymentStep.onPayByInvoice();\r\n }\r\n };\r\n}\r\n\r\nexport default MembershipApplication;\r\n","import { Page } from 'react-mvvm';\r\nimport { action, computed, observable } from 'mobx';\r\nimport Membership from 'web/screen/Membership/Membership';\r\nimport UserAddresses from 'common/components/UserAddresses/UserAddresses';\r\nimport loader from 'react-mvvm/loading/loader';\r\nimport { PaymentMethod, SubscriptionType } from 'model/Externals';\r\nimport { getMembershipPrice } from 'model/Api/Members/GetMembershipPriceRequest';\r\nimport { MembershipPriceResponse } from 'model/Api/Members/Model/MembershipPriceResponse';\r\nimport { changeMembershipSubscription } from 'model/Api/Members/ChangeMembershipSubscriptionRequest';\r\n\r\nclass MembershipPaymentPage extends Page {\r\n @observable parent: Membership;\r\n @observable userAddresses: UserAddresses;\r\n @observable subscriptionType: SubscriptionType | undefined;\r\n @observable paymentMethod: PaymentMethod | undefined;\r\n @observable isPaymentTermsAccepted: boolean = false;\r\n @observable membershipPrice: MembershipPriceResponse | undefined;\r\n\r\n constructor(parent: Membership) {\r\n super();\r\n\r\n this.parent = parent;\r\n this.userAddresses = new UserAddresses(this, true, true);\r\n }\r\n\r\n protected async onActivated(): Promise {\r\n if (!this.parent.member) {\r\n await this.parent.removeAllChildPages(this.parent as Page);\r\n await this.parent.activate();\r\n }\r\n window.scrollTo({ top: 0 });\r\n\r\n if (this.parent.membershipType) {\r\n this.membershipPrice = await this.api.getMembershipPrice(\r\n this.parent.membershipType.id\r\n );\r\n }\r\n await this.userAddresses.init();\r\n if (this.userAddresses.parties.length > 0)\r\n this.userAddresses.selectedParty = this.userAddresses.parties[0].id;\r\n }\r\n\r\n api = loader({\r\n changeMembershipSubscription: (\r\n paymentMethod: PaymentMethod,\r\n subscriptionType: SubscriptionType,\r\n paymentTermsAccepted: boolean,\r\n payingPartyId: number\r\n ) =>\r\n changeMembershipSubscription({\r\n paymentMethod,\r\n subscriptionType,\r\n paymentTermsAccepted,\r\n payingPartyId\r\n }),\r\n getMembershipPrice: (typeId: number) =>\r\n getMembershipPrice({\r\n typeId\r\n })\r\n });\r\n\r\n @computed get membership() {\r\n return this.parent.member;\r\n }\r\n\r\n @action\r\n onSubscriptionCheck = (value: SubscriptionType) => {\r\n this.subscriptionType = value;\r\n };\r\n\r\n @action\r\n onTermsCheck = (value: boolean) => {\r\n this.isPaymentTermsAccepted = value;\r\n };\r\n\r\n @action\r\n onPaymentMethodCheck = (values: PaymentMethod) => {\r\n this.paymentMethod = values;\r\n };\r\n\r\n @computed get subscription() {\r\n return this.parent.membershipType;\r\n }\r\n\r\n onChangeMembershipSubscription = async () => {\r\n if (!!this.subscriptionType && !!this.paymentMethod) {\r\n const result = await this.api.changeMembershipSubscription(\r\n this.paymentMethod,\r\n this.subscriptionType,\r\n this.isPaymentTermsAccepted,\r\n this.userAddresses.selectedParty ?? 0\r\n );\r\n\r\n if (\r\n result.currentSubscription.paymentMethod ===\r\n PaymentMethod.bambora &&\r\n result.token?.url\r\n ) {\r\n window.location.href = result.token.url;\r\n } else {\r\n if (this.parent.member) {\r\n this.parent.member.currentSubscription =\r\n result.currentSubscription;\r\n }\r\n\r\n await this.parent.removeChildPage();\r\n }\r\n }\r\n };\r\n \r\n @computed get userName() {\r\n return this.parent.userName\r\n }\r\n\r\n @computed get isPaymentDisable() {\r\n return (\r\n !this.subscriptionType ||\r\n !this.paymentMethod ||\r\n !this.isPaymentTermsAccepted\r\n );\r\n }\r\n\r\n onBck = async () => {\r\n await this.parent.removeAllChildPages(this.parent as Page);\r\n await this.parent.activate();\r\n };\r\n}\r\n\r\nexport default MembershipPaymentPage;\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\nimport {SubscriptionType} from \"../../Externals\"\r\nimport {PaymentMethod} from \"../../Externals\"\r\n\r\nimport {ChangeMembershipSubscriptionResponse} from \"./Model/ChangeMembershipSubscriptionResponse\"\r\n\r\nexport interface ChangeMembershipSubscriptionRequest {\r\n subscriptionType: SubscriptionType\r\n paymentMethod: PaymentMethod\r\n paymentTermsAccepted: boolean\r\n payingPartyId?: number\r\n}\r\nexport const changeMembershipSubscription = (changeMembershipSubscriptionRequest: ChangeMembershipSubscriptionRequest): Promise => {\r\n return send(\"ChangeMembershipSubscription\", changeMembershipSubscriptionRequest)\r\n}\r\n","import BaseDialog from 'admin/helpers/BaseDialog';\r\nimport { asyncCommand } from 'react-mvvm/commands';\r\n\r\nclass CancelMembershipDialog extends BaseDialog {\r\n constructor(\r\n private onConfirm: () => void,\r\n close: (v: boolean | undefined) => void\r\n ) {\r\n super(close);\r\n }\r\n\r\n confirm = asyncCommand(async () => {\r\n await this.onConfirm();\r\n this.close(true);\r\n });\r\n\r\n cancel = () => this.close(false);\r\n\r\n activate(): Promise {\r\n return Promise.resolve();\r\n }\r\n}\r\n\r\nexport default CancelMembershipDialog;\r\n","import Membership from 'web/screen/Membership/Membership';\r\nimport { Form, FormField, RequiredFieldValidator } from 'react-mvvm';\r\nimport UserAddresses from 'common/components/UserAddresses/UserAddresses';\r\nimport { observable, computed, action } from 'mobx';\r\nimport BirthDatePicker from 'common/components/BirthDatePicker/BirthDatePicker';\r\nimport { MemberDto } from 'model/Api/Members/Model/MemberDto';\r\n\r\nclass PersonalData {\r\n parent: Membership;\r\n form: Form | undefined;\r\n @observable isEdit: boolean;\r\n @observable userAddresses: UserAddresses | undefined;\r\n\r\n constructor(parent: Membership) {\r\n this.parent = parent;\r\n this.isEdit = false;\r\n }\r\n\r\n @computed get member(): MemberDto | undefined {\r\n return this.parent.member;\r\n }\r\n \r\n onInit = async () => {\r\n this.userAddresses = new UserAddresses(\r\n this.parent,\r\n true,\r\n true,\r\n this.onSelectAddress,\r\n true\r\n );\r\n await this.userAddresses.init();\r\n\r\n if (!!this.member) {\r\n this.form = await this.buildForm(this.member);\r\n }\r\n };\r\n\r\n buildForm = async (member: MemberDto) => {\r\n if (!!member.privatePartyId && !!this.userAddresses) {\r\n this.userAddresses.onSelectAddress(member.privatePartyId);\r\n }\r\n\r\n return new Form({\r\n birthDate: new BirthDatePicker(\r\n member.birthDate,\r\n RequiredFieldValidator\r\n ),\r\n gender: new FormField(member.gender, RequiredFieldValidator),\r\n privatePartyId: new FormField(\r\n member.privatePartyId,\r\n RequiredFieldValidator\r\n )\r\n });\r\n };\r\n\r\n private onSelectAddress = () => {\r\n if (!!this.userAddresses && !!this.form) {\r\n const { doubleSelectedParty } = this.userAddresses;\r\n this.form.fields.privatePartyId.value =\r\n doubleSelectedParty.private;\r\n }\r\n };\r\n\r\n onSavePersonalData = async () => {\r\n if (!!this.member && !!this.form) {\r\n const { fields } = this.form;\r\n await this.parent.api.updateMemberPersonalData(fields.birthDate.value, \r\n fields.gender.value, fields.privatePartyId.value);\r\n this.parent.member = await this.parent.api.getMember();\r\n this.parent.userParties = await this.parent.api.getUserParty();\r\n this.isEdit = false;\r\n }\r\n };\r\n\r\n @action\r\n onEdit = () => {\r\n this.isEdit = true;\r\n };\r\n\r\n @action\r\n onCancel = () => {\r\n this.isEdit = false;\r\n };\r\n}\r\n\r\nexport default PersonalData;\r\n","import Membership from 'web/screen/Membership/Membership';\r\nimport { Form, FormField, RequiredFieldValidator } from 'react-mvvm/forms';\r\nimport { action, computed, observable } from 'mobx';\r\nimport moment from 'moment';\r\nimport { MemberDto } from 'model/Api/Members/Model/MemberDto';\r\n\r\nclass SchoolInfo {\r\n parent: Membership;\r\n form: Form | undefined;\r\n @observable isEdit: boolean;\r\n\r\n constructor(parent: Membership) {\r\n this.parent = parent;\r\n this.isEdit = false;\r\n }\r\n\r\n @computed get member(): MemberDto | undefined {\r\n return this.parent.member;\r\n }\r\n\r\n onInit = async () => {\r\n if (!!this.member) {\r\n this.form = await this.buildForm(this.member);\r\n }\r\n };\r\n\r\n buildForm = async (member: MemberDto | undefined) => {\r\n if(!member) return;\r\n \r\n return new Form({\r\n schoolName: new FormField(\r\n member.schoolName,\r\n RequiredFieldValidator\r\n ),\r\n expectedGraduationDate: new FormField(\r\n !member.expectedGraduationDate\r\n ? undefined\r\n : moment(new Date(member.expectedGraduationDate)),\r\n RequiredFieldValidator\r\n )\r\n });\r\n };\r\n\r\n onSave = async () => {\r\n if (!!this.member && !!this.form) {\r\n const { fields } = this.form;\r\n\r\n await this.parent.api.updateMemberEducationData(fields.schoolName.value, \r\n fields.expectedGraduationDate.value);\r\n this.parent.member = await this.parent.api.getMember();\r\n this.isEdit = false;\r\n }\r\n };\r\n\r\n @action\r\n onEdit = () => {\r\n this.isEdit = true;\r\n };\r\n\r\n @action\r\n onCancel = () => {\r\n this.isEdit = false;\r\n };\r\n}\r\n\r\nexport default SchoolInfo;\r\n","import { action, computed, observable } from 'mobx';\r\nimport Membership from 'web/screen/Membership/Membership';\r\nimport {\r\n Form,\r\n FormField,\r\n NullValidator,\r\n RequiredFieldValidator\r\n} from 'react-mvvm/forms';\r\nimport UserAddresses from 'common/components/UserAddresses/UserAddresses';\r\nimport { MemberDto } from 'model/Api/Members/Model/MemberDto';\r\n\r\nclass EmployeeData {\r\n parent: Membership;\r\n form: Form | undefined;\r\n @observable isEdit: boolean;\r\n @observable userAddresses: UserAddresses | undefined;\r\n\r\n constructor(parent: Membership) {\r\n this.parent = parent;\r\n this.isEdit = false;\r\n }\r\n\r\n @computed get member(): MemberDto | undefined {\r\n return this.parent.member;\r\n }\r\n \r\n onInit = async () => {\r\n this.userAddresses = new UserAddresses(\r\n this.parent,\r\n true,\r\n true,\r\n this.onSelectAddress,\r\n true\r\n );\r\n await this.userAddresses.init();\r\n\r\n if (!!this.member) {\r\n this.form = await this.buildForm(this.member);\r\n }\r\n };\r\n\r\n buildForm = async (member: MemberDto) => {\r\n if (!!member.employerPartyId && !!this.userAddresses) {\r\n this.userAddresses.onSelectAddress(member.employerPartyId);\r\n }\r\n\r\n return new Form({\r\n employerPartyId: new FormField(\r\n member.employerPartyId,\r\n NullValidator\r\n ),\r\n workPosition: new FormField(\r\n member.workPosition,\r\n RequiredFieldValidator\r\n )\r\n });\r\n };\r\n\r\n onSelectAddress = () => {\r\n if (!!this.userAddresses && !!this.form) {\r\n const { doubleSelectedParty } = this.userAddresses;\r\n this.form.fields.employerPartyId.value =\r\n doubleSelectedParty.company;\r\n }\r\n };\r\n\r\n onSave = async () => {\r\n if (!!this.form && this.member) {\r\n const { fields } = this.form;\r\n await this.parent.api.updateMemberEmploymentData(fields.workPosition.value, fields.employerPartyId.value);\r\n this.parent.member = await this.parent.api.getMember();\r\n this.parent.userParties = await this.parent.api.getUserParty();\r\n this.isEdit = false;\r\n }\r\n };\r\n\r\n @action\r\n onEdit = () => {\r\n this.isEdit = true;\r\n };\r\n\r\n @action\r\n onCancel = async () => {\r\n this.isEdit = false;\r\n if (!!this.member) {\r\n this.form = await this.buildForm(this.member);\r\n }\r\n };\r\n}\r\n\r\n\r\nexport default EmployeeData;\r\n","import Membership from 'web/screen/Membership/Membership';\r\nimport { action, computed, observable } from 'mobx';\r\nimport {\r\n Form,\r\n FormField,\r\n RequiredFieldValidator\r\n} from 'react-mvvm/forms';\r\nimport { MemberDto } from 'model/Api/Members/Model/MemberDto';\r\n\r\nclass ProfessionalInfo {\r\n parent: Membership;\r\n myInterestsForm: Form | undefined;\r\n\r\n @observable isMyInterestsLoaded: boolean = false;\r\n @observable isMyInterestsEdited: boolean = false;\r\n\r\n constructor(parent: Membership) {\r\n this.parent = parent;\r\n }\r\n\r\n @computed get member(): MemberDto | undefined {\r\n return this.parent.member;\r\n }\r\n \r\n onInit = async () => {\r\n if (!!this.member) {\r\n\r\n this.myInterestsForm = new Form({\r\n interests: new FormField(\r\n this.member.interests,\r\n RequiredFieldValidator\r\n )\r\n });\r\n }\r\n };\r\n\r\n onSave = async () => {\r\n if (!!this.myInterestsForm && !!this.member) {\r\n this.isMyInterestsLoaded = true;\r\n const { fields } = this.myInterestsForm;\r\n \r\n await this.parent.api.updateMemberInterests(fields.interests.value)\r\n this.parent.member = await this.parent.api.getMember();\r\n \r\n this.onMyInterestsState(false);\r\n this.isMyInterestsLoaded = false;\r\n }\r\n };\r\n\r\n @action\r\n onMyInterestsState = (state: boolean) => (this.isMyInterestsEdited = state);\r\n}\r\n\r\nexport default ProfessionalInfo;\r\n","import BaseDialog from 'admin/helpers/BaseDialog';\r\nimport { asyncCommand } from 'react-mvvm/commands';\r\n\r\nclass UpdateCartInfoDialog extends BaseDialog {\r\n constructor(\r\n private onConfirm: () => void,\r\n close: (v: boolean | undefined) => void\r\n ) {\r\n super(close);\r\n }\r\n\r\n confirm = asyncCommand(async () => {\r\n await this.onConfirm();\r\n this.close(true);\r\n });\r\n\r\n cancel = () => this.close(false);\r\n\r\n activate(): Promise {\r\n return Promise.resolve();\r\n }\r\n}\r\n\r\nexport default UpdateCartInfoDialog;\r\n","import BaseDialog from 'admin/helpers/BaseDialog';\r\nimport { asyncCommand } from 'react-mvvm/commands';\r\n\r\nclass AddCartInformationDialog extends BaseDialog {\r\n constructor(\r\n private onConfirm: () => void,\r\n close: (v: boolean | undefined) => void\r\n ) {\r\n super(close);\r\n }\r\n\r\n confirm = asyncCommand(async () => {\r\n await this.onConfirm();\r\n this.close(true);\r\n });\r\n\r\n cancel = () => this.close(false);\r\n\r\n activate(): Promise {\r\n return Promise.resolve();\r\n }\r\n}\r\n\r\nexport default AddCartInformationDialog;\r\n","import {Page} from \"react-mvvm\";\r\nimport loader from 'react-mvvm/loading/loader';\r\nimport {getMembershipApplicationPayment} from \"../../../../model/Api/Members/GetMembershipApplicationPaymentRequest\";\r\nimport {retryOnlinePayment} from \"../../../../model/Api/Members/RetryOnlinePaymentRequest\";\r\nimport {observable} from \"mobx\";\r\nimport {PaymentMethod, PaymentStatus} from \"../../../../model/Externals\";\r\nimport {cancelMembershipApplication} from \"../../../../model/Api/Members/CancelMembershipApplicationRequest\";\r\nimport Membership from \"../Membership\";\r\nimport {PaymentDto} from \"../../../../model/Api/Payments/Model/PaymentDto\";\r\n\r\nclass AlmostMember extends Page {\r\n \r\n constructor(public name: string, public parent: Membership) {\r\n super();\r\n }\r\n \r\n @observable hasBamboraPaymentFailed : boolean = false;\r\n applicationPayment?: PaymentDto;\r\n \r\n api = loader({\r\n getMembershipApplicationPayment: async () => getMembershipApplicationPayment({}),\r\n retryOnlinePayment: async () => retryOnlinePayment({}),\r\n cancelMembershipApplication: async (membershipApplicationPaymentId: number) => cancelMembershipApplication({\r\n membershipApplicationPaymentId\r\n })\r\n })\r\n\r\n protected async onActivated(): Promise {\r\n this.applicationPayment = await this.api.getMembershipApplicationPayment();\r\n \r\n this.hasBamboraPaymentFailed = this.applicationPayment.paymentMethod === PaymentMethod.bambora && \r\n (this.applicationPayment.paymentStatus === PaymentStatus.failed ||\r\n this.applicationPayment.paymentStatus === PaymentStatus.pending);\r\n }\r\n \r\n public onRetryPaymentClicked = async () => {\r\n const onlinePaymentToken = await this.api.retryOnlinePayment();\r\n if (onlinePaymentToken) {\r\n window.location.href = onlinePaymentToken.url;\r\n }\r\n }\r\n \r\n public onCancelApplicationClicked = async () => {\r\n if(this.applicationPayment) {\r\n await this.api.cancelMembershipApplication(this.applicationPayment.id);\r\n this.parent.user = await this.parent.api.getUserInfo();\r\n }\r\n }\r\n}\r\n\r\nexport default AlmostMember","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\nimport {PaymentDto} from \"../Payments/Model/PaymentDto\"\r\n\r\nexport interface GetMembershipApplicationPaymentRequest {\r\n}\r\nexport const getMembershipApplicationPayment = (getMembershipApplicationPaymentRequest: GetMembershipApplicationPaymentRequest): Promise => {\r\n return send(\"GetMembershipApplicationPayment\", getMembershipApplicationPaymentRequest)\r\n}\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\nimport {OnlinePaymentTokenDto} from \"../Payments/Model/OnlinePaymentTokenDto\"\r\n\r\nexport interface RetryOnlinePaymentRequest {\r\n}\r\nexport const retryOnlinePayment = (retryOnlinePaymentRequest: RetryOnlinePaymentRequest): Promise => {\r\n return send(\"RetryOnlinePayment\", retryOnlinePaymentRequest)\r\n}\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\n\r\nexport interface CancelMembershipApplicationRequest {\r\n membershipApplicationPaymentId: number\r\n}\r\nexport const cancelMembershipApplication = (cancelMembershipApplicationRequest: CancelMembershipApplicationRequest): Promise => {\r\n return send(\"CancelMembershipApplication\", cancelMembershipApplicationRequest)\r\n}\r\n","import { Page } from 'react-mvvm';\r\nimport loader from 'react-mvvm/loading/loader';\r\nimport HomePage from 'web/screen/HomePage/HomePage';\r\nimport { computed, observable } from 'mobx';\r\nimport MembershipApplication from 'web/screen/MembershipApplication/MembershipApplication';\r\nimport { getParties } from 'model/Api/Parties/GetPartiesRequest';\r\nimport { PartyDto } from 'model/Api/Parties/Model/PartyDto';\r\nimport { getUserMembershipOptions } from 'model/Api/Individuals/GetUserMembershipOptionsRequest';\r\nimport MembershipPaymentPage from 'web/screen/MembershipPaymentPage/MembershipPaymentPage';\r\nimport CancelMembershipDialog from 'web/screen/Membership/CancelMembershipDialog/CancelMembershipDialog';\r\nimport ConfirmationModal from 'common/components/ConfirmationModal/ConfirmationModal';\r\nimport PersonalData from 'web/screen/Membership/PersonalData/PersonalData';\r\nimport SchoolInfo from 'web/screen/Membership/SchoolInfo/SchoolInfo';\r\nimport { MembershipKind, Gender, MemberStatus } from 'model/Externals';\r\nimport EmployeeData from 'web/screen/Membership/EmployeeData/EmployeeData';\r\nimport ProfessionalInfo from 'web/screen/Membership/ProfessionalInfo/ProfessionalInfo';\r\nimport UpdateCartInfoDialog from 'web/screen/Membership/UpdateCartInfoDialog/UpdateCartInfoDialog';\r\nimport { getMember } from 'model/Api/Members/GetMemberRequest';\r\nimport { MemberDto } from 'model/Api/Members/Model/MemberDto';\r\nimport { MembershipApplicationDto } from 'model/Api/Members/Model/MembershipApplicationDto';\r\nimport { UserMembershipTypeListItemDto } from 'model/Api/Individuals/Model/UserMembershipTypeListItemDto';\r\nimport { createOrUpdateMembershipApplication } from 'model/Api/Members/CreateOrUpdateMembershipApplicationRequest';\r\nimport { getUserInfo } from 'model/Api/Individuals/GetUserInfoRequest';\r\nimport { UserInfoDto } from 'model/Api/Individuals/Model/UserInfoDto';\r\nimport { changePayingParty } from 'model/Api/Members/ChangePayingPartyRequest';\r\nimport AddCartInformationDialog from 'web/screen/Membership/AddCartInformationDialog/AddCartInformationDialog';\r\nimport { stopAutoRenewalForCurrentSubscription } from 'model/Api/Payments/StopAutoRenewalForCurrentSubscriptionRequest';\r\nimport { changeCreditCard } from '../../../model/Api/Payments/ChangeCreditCardRequest';\r\nimport { updateMemberPersonalData } from '../../../model/Api/Members/UpdateMemberPersonalDataRequest';\r\nimport { updateMemberEmploymentData } from '../../../model/Api/Members/UpdateMemberEmploymentDataRequest';\r\nimport { updateMemberInterests } from '../../../model/Api/Members/UpdateMemberInterestsRequest';\r\nimport { updateMemberEducationData } from 'model/Api/Members/UpdateMemberEducationDataRequest';\r\nimport ChangeBillingAddressDialog from '../../../common/components/ChangeBillingAddressDialog/ChangeBillingAddressDialog';\r\nimport MembershipReapplyPage from '../MembershipReapplyPage/MembershipReapplyPage';\r\nimport AlmostMember from './AlmostMember/AlmostMember';\r\n\r\nclass Membership extends Page<\r\n | CancelMembershipDialog\r\n | ConfirmationModal\r\n | UpdateCartInfoDialog\r\n | ChangeBillingAddressDialog\r\n | AddCartInformationDialog\r\n> {\r\n @observable member: MemberDto | undefined;\r\n @observable parent: HomePage;\r\n @observable userParties: PartyDto[] = [];\r\n @observable membershipOptions: UserMembershipTypeListItemDto[] = [];\r\n @observable personaData: PersonalData | undefined;\r\n @observable schoolInfo: SchoolInfo | undefined;\r\n @observable employeeInfo: EmployeeData | undefined;\r\n @observable professionalInfo: ProfessionalInfo | undefined;\r\n @observable user: UserInfoDto | undefined;\r\n @observable almostMember: AlmostMember;\r\n\r\n constructor(parent: HomePage) {\r\n super();\r\n\r\n this.parent = parent;\r\n this.almostMember = new AlmostMember(this.userName ?? '', this);\r\n }\r\n\r\n api = loader({\r\n getMember: async () => getMember({}),\r\n getUserParty: async () => getParties({}),\r\n getUserInfo: async () => getUserInfo({}),\r\n getUserMembershipOptions: async () => getUserMembershipOptions({}),\r\n changeCreditCard: () => changeCreditCard({}),\r\n changeBillingAddress: async (payingPartyRef: number) =>\r\n changePayingParty({ payingPartyRef }),\r\n stopRenewalSubscription: async () =>\r\n stopAutoRenewalForCurrentSubscription({}),\r\n updateMemberPersonalData: async (\r\n birthDate: string,\r\n gender: Gender,\r\n privatePartyId: number\r\n ) => updateMemberPersonalData({ birthDate, gender, privatePartyId }),\r\n updateMemberEmploymentData: async (\r\n workPosition: string,\r\n employerPartyId: number\r\n ) => updateMemberEmploymentData({ workPosition, employerPartyId }),\r\n updateMemberInterests: async (interests: string[]) =>\r\n updateMemberInterests({\r\n interests\r\n }),\r\n updateMemberEducationData: async (\r\n schoolName: string,\r\n expectedGraduationDate?: string\r\n ) => updateMemberEducationData({ schoolName, expectedGraduationDate })\r\n });\r\n\r\n apiSaveMembership = loader({\r\n updateMembershipApplication: async (\r\n membershipApplication: MembershipApplicationDto\r\n ) =>\r\n createOrUpdateMembershipApplication({\r\n membershipApplication\r\n })\r\n });\r\n\r\n protected async onActivated(): Promise {\r\n await this.almostMember.activate();\r\n if (!this.childPage || !this.member) {\r\n this.membershipOptions = await this.api.getUserMembershipOptions();\r\n this.userParties = await this.api.getUserParty();\r\n this.member = await this.api.getMember();\r\n this.user = await this.api.getUserInfo();\r\n\r\n this.personaData = new PersonalData(this);\r\n await this.personaData.onInit();\r\n\r\n if (\r\n !!this.membershipType &&\r\n this.membershipType.membershipKind === MembershipKind.student\r\n ) {\r\n this.schoolInfo = new SchoolInfo(this);\r\n await this.schoolInfo.onInit();\r\n }\r\n\r\n if (\r\n (!!this.membershipType &&\r\n this.membershipType.membershipKind ===\r\n MembershipKind.professional) ||\r\n this.membershipType?.membershipKind === MembershipKind.associate\r\n ) {\r\n this.employeeInfo = new EmployeeData(this);\r\n await this.employeeInfo.onInit();\r\n }\r\n\r\n if (\r\n !!this.membershipType &&\r\n this.membershipType.membershipKind ===\r\n MembershipKind.professional\r\n ) {\r\n this.professionalInfo = new ProfessionalInfo(this);\r\n await this.professionalInfo.onInit();\r\n }\r\n\r\n return;\r\n }\r\n }\r\n\r\n @computed get isMember() {\r\n return !!this.member;\r\n }\r\n\r\n @computed get isActiveRegularMember() {\r\n return (\r\n !!this.isMember &&\r\n this.member?.currentMembership?.memberStatus === MemberStatus.active &&\r\n !this.member?.currentMembership.type.isPrivate\r\n );\r\n }\r\n\r\n @computed get isSubscriptionActive() {\r\n return (\r\n !!this.member &&\r\n !!this.member.currentSubscription?.autoRenew\r\n );\r\n }\r\n\r\n showApplicationPage = async () => {\r\n return this.showChildPage(new MembershipApplication(this));\r\n };\r\n\r\n onChangeMembership = async () => {\r\n return this.showChildPage(new MembershipApplication(this));\r\n };\r\n\r\n onChangeSubscriptionData = async () => {\r\n await this.showMembershipPaymentPage();\r\n };\r\n\r\n onApplyForMembership = async () => {\r\n return this.showChildPage(new MembershipApplication(this));\r\n };\r\n onAddCart = async () => {\r\n await this.showModal(\r\n (close) =>\r\n new AddCartInformationDialog(async () => {\r\n const result = await this.api.changeCreditCard();\r\n window.location.href = result.url;\r\n }, close)\r\n );\r\n };\r\n\r\n onUpdateCart = async () => {\r\n await this.showModal(\r\n (close) =>\r\n new UpdateCartInfoDialog(async () => {\r\n const result = await this.api.changeCreditCard();\r\n window.location.href = result.url;\r\n }, close)\r\n );\r\n };\r\n\r\n onChangeBillingAddress = async () => {\r\n await this.showModal<\r\n ChangeBillingAddressDialog,\r\n PartyDto[] | undefined\r\n >(\r\n (close) =>\r\n new ChangeBillingAddressDialog(\r\n async (ref: number) => {\r\n await this.api.changeBillingAddress(ref);\r\n this.member = await this.api.getMember();\r\n },\r\n close,\r\n this as Page,\r\n this.member?.currentSubscription.billingAddress\r\n )\r\n );\r\n };\r\n\r\n getParty = (id: number | undefined) => {\r\n if (!this.userParties.length || !id) {\r\n return;\r\n }\r\n\r\n return this.userParties.find((party) => party.id === id);\r\n };\r\n\r\n showMembershipPaymentPage = () => {\r\n return this.showChildPage(new MembershipPaymentPage(this));\r\n };\r\n\r\n @computed get userName() {\r\n return `${this.user?.family ?? ''} ${this.user?.given ?? ''}`;\r\n }\r\n\r\n @computed get currentSubscription() {\r\n return !!this.member ? this.member.currentSubscription : undefined;\r\n }\r\n\r\n @computed get membershipType() {\r\n if (this.member && this.member.currentMembership) {\r\n return this.member.currentMembership.type;\r\n }\r\n return undefined;\r\n }\r\n\r\n onStopRenewalSubscription = async () => {\r\n if (this.member?.currentSubscription.autoRenew) {\r\n await this.showModal(\r\n (close) =>\r\n new CancelMembershipDialog(async () => {\r\n const result = await this.api.stopRenewalSubscription();\r\n if (!!this.member) {\r\n this.member.currentSubscription = result;\r\n }\r\n }, close)\r\n );\r\n }\r\n };\r\n}\r\n\r\nexport default Membership;\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\nimport {OnlinePaymentTokenDto} from \"./Model/OnlinePaymentTokenDto\"\r\n\r\nexport interface ChangeCreditCardRequest {\r\n}\r\nexport const changeCreditCard = (changeCreditCardRequest: ChangeCreditCardRequest): Promise => {\r\n return send(\"ChangeCreditCard\", changeCreditCardRequest)\r\n}\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\nimport {SubscriptionDto} from \"../Members/Model/SubscriptionDto\"\r\n\r\nexport interface StopAutoRenewalForCurrentSubscriptionRequest {\r\n}\r\nexport const stopAutoRenewalForCurrentSubscription = (stopAutoRenewalForCurrentSubscriptionRequest: StopAutoRenewalForCurrentSubscriptionRequest): Promise => {\r\n return send(\"StopAutoRenewalForCurrentSubscription\", stopAutoRenewalForCurrentSubscriptionRequest)\r\n}\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\nimport {Gender} from \"../../Externals\"\r\n\r\n\r\nexport interface UpdateMemberPersonalDataRequest {\r\n birthDate: string\r\n gender: Gender\r\n privatePartyId: number\r\n}\r\nexport const updateMemberPersonalData = (updateMemberPersonalDataRequest: UpdateMemberPersonalDataRequest): Promise => {\r\n return send(\"UpdateMemberPersonalData\", updateMemberPersonalDataRequest)\r\n}\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\n\r\nexport interface UpdateMemberEmploymentDataRequest {\r\n workPosition: string\r\n employerPartyId: number\r\n}\r\nexport const updateMemberEmploymentData = (updateMemberEmploymentDataRequest: UpdateMemberEmploymentDataRequest): Promise => {\r\n return send(\"UpdateMemberEmploymentData\", updateMemberEmploymentDataRequest)\r\n}\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\n\r\nexport interface UpdateMemberInterestsRequest {\r\n interests: string[]\r\n}\r\nexport const updateMemberInterests = (updateMemberInterestsRequest: UpdateMemberInterestsRequest): Promise => {\r\n return send(\"UpdateMemberInterests\", updateMemberInterestsRequest)\r\n}\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\n\r\nexport interface UpdateMemberEducationDataRequest {\r\n expectedGraduationDate?: string\r\n schoolName: string\r\n}\r\nexport const updateMemberEducationData = (updateMemberEducationDataRequest: UpdateMemberEducationDataRequest): Promise => {\r\n return send(\"UpdateMemberEducationData\", updateMemberEducationDataRequest)\r\n}\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\nimport {TokenInfo} from \"../Account/Model/TokenInfo\"\r\n\r\nexport interface GetDownloadInvoiceTokenRequest {\r\n}\r\nexport const getDownloadInvoiceToken = (getDownloadInvoiceTokenRequest: GetDownloadInvoiceTokenRequest): Promise => {\r\n return send(\"GetDownloadInvoiceToken\", getDownloadInvoiceTokenRequest)\r\n}\r\n","import { Page } from 'react-mvvm';\r\nimport loader from 'react-mvvm/loading/loader';\r\nimport { PaymentListItemDto } from 'model/Api/Payments/Model/PaymentListItemDto';\r\nimport { List } from 'react-mvvm/lists';\r\nimport { getPayments } from 'model/Api/Payments/GetPaymentsRequest';\r\nimport {getDownloadInvoiceToken} from \"model/Api/Payments/GetDownloadInvoiceTokenRequest\";\r\nimport {action, observable} from \"mobx\";\r\n\r\n\r\nasync function delay(ms: number) {\r\n return new Promise(r => setTimeout(r, ms));\r\n}\r\n\r\nclass Invoices extends Page {\r\n paymentsList: List = new List();\r\n\r\n @observable token: string = '';\r\n @observable isLoading: boolean = false;\r\n \r\n api = loader({\r\n getPayments: async () => await getPayments({}),\r\n getToken: async() => await getDownloadInvoiceToken({})\r\n });\r\n \r\n protected async onActivated(): Promise {\r\n this.token = (await this.api.getToken()).token;\r\n const payment: PaymentListItemDto[] = await this.api.getPayments();\r\n payment.map((item) => this.paymentsList.push(item));\r\n }\r\n\r\n @action\r\n onDownloadClicked = async () : Promise => {\r\n this.isLoading = true;\r\n await delay(5000);\r\n this.isLoading = false;\r\n }\r\n}\r\n\r\nexport default Invoices;\r\n","import { Page } from 'react-mvvm';\r\nimport { computed, observable, runInAction } from 'mobx';\r\nimport JudgingCategoryPage from 'web/screen/JudgingCategoryPage/JudgingCategoryPage';\r\nimport loader from 'react-mvvm/loading/loader';\r\nimport { ListOptions } from 'model/Api/GenericList/ListOptions';\r\nimport { getCompetitionEntries } from 'model/Api/Evaluation/GetCompetitionEntriesRequest';\r\nimport { CompetitionEntryListItemResponse } from 'model/Api/Evaluation/Model/CompetitionEntryListItemDto';\r\nimport {\r\n CategoryEvaluationStatus,\r\n CompetitionStatus,\r\n JudgingSchema,\r\n PhaseOneEvaluation\r\n} from 'model/Externals';\r\nimport { setPhaseOneEvaluation } from 'model/Api/Evaluation/SetPhaseOneEvaluationRequest';\r\nimport { EvaluationResultDto } from 'model/Api/Competitions/Model/EvaluationResultDto';\r\nimport { setPhaseTwoEvaluation } from 'model/Api/Evaluation/SetPhaseTwoEvaluationRequest';\r\nimport { SortDirection } from 'model/Api/GenericList/SortDirection';\r\nimport JudgingEntryDetails from 'web/screen/JudgingEntryDetails/JudgingEntryDetails';\r\nimport { nominateCompetitionEntry } from 'model/Api/Evaluation/NominateCompetitionEntryRequest';\r\nimport { EvaluationCategoryListItemDto } from 'model/Api/Evaluation/Model/EvaluationCategoryListItemDto';\r\nimport { setCategoryEvaluationStatus } from \"model/Api/Evaluation/SetCategoryEvaluationStatusRequest\";\r\n\r\ntype GroupPhaseEntries = {\r\n promoted: CompetitionEntryListItemResponse[];\r\n notPromoted?: CompetitionEntryListItemResponse[];\r\n};\r\n\r\nexport enum JudgeEntriesSorting {\r\n title = 'title',\r\n phaseOneEvaluation = 'phaseOneEvaluation',\r\n evaluationResult = 'evaluationResult'\r\n}\r\n\r\nclass JudgingEntriesPage extends Page {\r\n @observable categoryId: number;\r\n @observable parent: JudgingCategoryPage;\r\n\r\n @observable entryList: CompetitionEntryListItemResponse[] = [];\r\n @observable categoryEvaluationStatus: CategoryEvaluationStatus =\r\n CategoryEvaluationStatus.pending;\r\n @observable competitionStatus: CompetitionStatus = CompetitionStatus.draft;\r\n @observable evaluationResults: EvaluationResultDto[] = [];\r\n @observable sortableValue: JudgeEntriesSorting = this.competitionStatus ===\r\n CompetitionStatus.phaseOneJudgingInProgress\r\n ? JudgeEntriesSorting.phaseOneEvaluation\r\n : JudgeEntriesSorting.evaluationResult;\r\n\r\n constructor(categoryId: number, parent: JudgingCategoryPage) {\r\n super();\r\n\r\n this.categoryId = categoryId;\r\n this.parent = parent;\r\n }\r\n\r\n @computed get isEditable(): boolean {\r\n return (\r\n this.competitionStatus ===\r\n CompetitionStatus.phaseOneJudgingInProgress ||\r\n this.competitionStatus ===\r\n CompetitionStatus.phaseTwoJudgingInProgress\r\n );\r\n }\r\n\r\n @computed get judgingSchema(): JudgingSchema | undefined {\r\n return !this.parent.competitionListItem\r\n ? undefined\r\n : this.parent.competitionListItem.judgingSchema;\r\n }\r\n\r\n api = loader({\r\n getCompetitionEntries: async (\r\n categoryId: number,\r\n options?: ListOptions\r\n ) =>\r\n await getCompetitionEntries({\r\n categoryRef: categoryId,\r\n options\r\n })\r\n });\r\n\r\n apiEvaluation = loader(\r\n {\r\n setEvaluationStatus: async () => {\r\n const categoryEvaluationStatus =\r\n this.categoryEvaluationStatus ===\r\n CategoryEvaluationStatus.pending\r\n ? CategoryEvaluationStatus.fulfilled\r\n : CategoryEvaluationStatus.pending;\r\n await setCategoryEvaluationStatus({\r\n categoryRef: this.categoryId,\r\n categoryEvaluationStatus\r\n });\r\n runInAction(() => (this.categoryEvaluationStatus = categoryEvaluationStatus))\r\n },\r\n setEvaluationPhaseOne: async (\r\n entry: CompetitionEntryListItemResponse,\r\n evaluation: PhaseOneEvaluation\r\n ) => {\r\n await setPhaseOneEvaluation({\r\n competitionEntryRef: entry.id,\r\n evaluation\r\n });\r\n\r\n runInAction(() => (entry.phaseOneEvaluation = evaluation));\r\n },\r\n setEvaluationPhaseTwo: async (\r\n entry: CompetitionEntryListItemResponse,\r\n evaluationRef: number\r\n ) => {\r\n const result: EvaluationResultDto = await setPhaseTwoEvaluation(\r\n {\r\n competitionEntryRef: entry.id,\r\n evaluationRef: evaluationRef ?? null\r\n }\r\n );\r\n\r\n runInAction(() => (entry.phaseTwoEvaluation = result));\r\n },\r\n nominateEntry: async (competitionEntryRef: number) =>\r\n await nominateCompetitionEntry({competitionEntryRef})\r\n },\r\n {\r\n setEvaluationStatus:\r\n 'Something went wrong, we can not set your evaluation status',\r\n setEvaluationPhaseOne:\r\n 'Something went wrong, we can not set your evaluation',\r\n setEvaluationPhaseTwo:\r\n 'Something went wrong, we can not set your evaluation',\r\n nominateEntry:\r\n 'Something went wrong, we can not nominate this entry'\r\n }\r\n );\r\n\r\n setCategoryEntriesData = async (\r\n field: JudgeEntriesSorting = this.sortableValue,\r\n sortDirection: SortDirection = SortDirection.ascending\r\n ) => {\r\n const response = await this.api.getCompetitionEntries(this.categoryId, {\r\n page: 1,\r\n pageSize: 1000,\r\n sorting: {\r\n field,\r\n sortDirection\r\n }\r\n });\r\n runInAction(() => {\r\n this.entryList = response.competitionEntries;\r\n this.competitionStatus = response.competitionStatus;\r\n this.categoryEvaluationStatus = response.categoryEvaluationStatus;\r\n this.evaluationResults = response.evaluationResults;\r\n });\r\n };\r\n\r\n protected async onActivated(): Promise {\r\n await this.setCategoryEntriesData();\r\n const selectedCategory = await this.parent.categories.find(\r\n (c) => c.id === this.categoryId\r\n );\r\n }\r\n\r\n @computed get selectedCategory():\r\n | EvaluationCategoryListItemDto\r\n | undefined {\r\n return this.parent.categories.find((c) => c.id === this.categoryId);\r\n }\r\n\r\n @computed get pageName() {\r\n return !!this.selectedCategory ? this.selectedCategory.name : '';\r\n }\r\n\r\n @computed get isAllEvaluated() {\r\n if (\r\n this.competitionStatus !==\r\n CompetitionStatus.phaseOneJudgingInProgress\r\n ) {\r\n return false;\r\n }\r\n let evaluation = true;\r\n this.entryList.map((entry) => {\r\n if (!entry.phaseOneEvaluation) {\r\n evaluation = false;\r\n }\r\n });\r\n return evaluation;\r\n }\r\n\r\n onSortChange = async (prop: JudgeEntriesSorting): Promise => {\r\n this.sortableValue = prop;\r\n await this.setCategoryEntriesData(\r\n prop,\r\n prop === JudgeEntriesSorting.title\r\n ? SortDirection.ascending\r\n : SortDirection.descending\r\n );\r\n };\r\n\r\n showJudgingEntryDetails = async (entryId: number) => {\r\n return this.showChildPage(new JudgingEntryDetails(entryId, this));\r\n };\r\n\r\n onPromoteEntry = async (entryId: number) => {\r\n await this.apiEvaluation.nominateEntry(entryId);\r\n await this.setCategoryEntriesData(\r\n this.sortableValue,\r\n this.sortableValue === JudgeEntriesSorting.title\r\n ? SortDirection.ascending\r\n : SortDirection.descending\r\n );\r\n };\r\n\r\n @computed get getGroupPhaseEntryList(): GroupPhaseEntries {\r\n if (this.judgingSchema === JudgingSchema.group) {\r\n return {\r\n promoted: this.entryList\r\n };\r\n }\r\n const result: GroupPhaseEntries = {\r\n promoted: [],\r\n notPromoted: []\r\n };\r\n this.entryList.forEach((entry) =>\r\n entry.hasMovedOn\r\n ? result.promoted.push(entry)\r\n : result.notPromoted?.push(entry)\r\n );\r\n\r\n return result;\r\n }\r\n\r\n\r\n}\r\n\r\nexport default JudgingEntriesPage;\r\n","import { action, observable } from 'mobx';\r\nimport { PaymentMethod } from 'model/Externals';\r\n\r\nclass PaymentMethodSelector {\r\n @observable selected: PaymentMethod | undefined;\r\n\r\n @action\r\n onPaymentSelect = (v: PaymentMethod) => (this.selected = v);\r\n}\r\n\r\nexport default PaymentMethodSelector;\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\nimport {OnlinePaymentTokenDto} from \"./Model/OnlinePaymentTokenDto\"\r\n\r\nexport interface PayForCompetitionEntriesOnlineRequest {\r\n competitionEntriesRef: number[]\r\n payingPartyRef: number\r\n isPaymentTermsAccepted: boolean\r\n}\r\nexport const payForCompetitionEntriesOnline = (payForCompetitionEntriesOnlineRequest: PayForCompetitionEntriesOnlineRequest): Promise => {\r\n return send(\"PayForCompetitionEntriesOnline\", payForCompetitionEntriesOnlineRequest)\r\n}\r\n","import { Page } from 'react-mvvm';\r\nimport SubmissionFormPreviewPage from 'web/screen/SubmissionFormPreview/SubmissionFormPreviewPage';\r\nimport { action, computed, observable } from 'mobx';\r\nimport ConfirmationModal from 'common/components/ConfirmationModal/ConfirmationModal';\r\nimport UserAddresses from 'common/components/UserAddresses/UserAddresses';\r\nimport loader from 'react-mvvm/loading/loader';\r\nimport PaymentMethodSelector from 'web/components/PaymentMethodSelector/PaymentMethodSelector';\r\nimport { PaymentMethod } from 'model/Externals';\r\nimport { payForCompetitionEntriesWithInvoice } from \"../../../model/Api/Payments/PayForCompetitionEntriesWithInvoiceRequest\";\r\nimport { payForCompetitionEntriesOnline } from \"../../../model/Api/Payments/PayForCompetitionEntriesOnlineRequest\";\r\nimport { homeRoute } from \"../../routes\";\r\nimport AddressDialog from \"../../../common/components/AddressDialog/AddressDialog\";\r\n\r\nclass SubmissionPayment extends Page {\r\n parent: SubmissionFormPreviewPage;\r\n @observable userAddresses: UserAddresses;\r\n @observable paymentMethod: PaymentMethodSelector;\r\n @observable isPaymentTermsAccepted: boolean = false;\r\n\r\n constructor(parent: SubmissionFormPreviewPage) {\r\n super();\r\n\r\n this.parent = parent;\r\n this.userAddresses = new UserAddresses(this, true, true);\r\n this.paymentMethod = new PaymentMethodSelector();\r\n }\r\n\r\n api = loader({\r\n invoicePayment: async (\r\n competitionEntriesRef: number[],\r\n payingPartyRef: number,\r\n isPaymentTermsAccepted: boolean\r\n ) => await payForCompetitionEntriesWithInvoice({\r\n competitionEntriesRef,\r\n payingPartyRef,\r\n isPaymentTermsAccepted\r\n }),\r\n createTransaction: async (\r\n competitionEntriesRef: number[],\r\n payingPartyRef: number,\r\n isPaymentTermsAccepted: boolean\r\n ) => await payForCompetitionEntriesOnline({\r\n competitionEntriesRef,\r\n payingPartyRef,\r\n isPaymentTermsAccepted\r\n })\r\n });\r\n protected async onActivated(): Promise {\r\n if (this.parent.competitionEntryDto.answers.length === 0) {\r\n return this.parent.goToFormPage();\r\n }\r\n await this.userAddresses.init();\r\n }\r\n\r\n protected async onLeafFocus(): Promise {\r\n window.scrollTo({ top: 0 });\r\n }\r\n\r\n @action\r\n onAcceptTerms = (value: boolean) => {\r\n this.isPaymentTermsAccepted = value;\r\n };\r\n\r\n @computed get competitionStatus() {\r\n return this.parent.competitionStatus;\r\n }\r\n\r\n @computed get entryId() {\r\n return this.parent.entryId;\r\n }\r\n\r\n @computed get product() {\r\n return this.parent.product;\r\n }\r\n\r\n @computed get invoiceFeeProduct() {\r\n return this.parent.invoiceFeeProduct;\r\n }\r\n\r\n @computed get totalPrice() {\r\n if (!this.product || !this.invoiceFeeProduct) {\r\n return 0;\r\n }\r\n let price = this.product.priceIncVat;\r\n if (this.paymentMethod.selected === PaymentMethod.invoice) {\r\n price = price + this.invoiceFeeProduct.priceIncVat;\r\n }\r\n\r\n return price;\r\n }\r\n\r\n onPay = async () => {\r\n if (!this.userAddresses.selectedParty || !this.isPaymentTermsAccepted) {\r\n return;\r\n }\r\n if (this.paymentMethod.selected === PaymentMethod.bambora) {\r\n const result = await this.api.createTransaction(\r\n [this.entryId],\r\n this.userAddresses.selectedParty,\r\n this.isPaymentTermsAccepted\r\n );\r\n\r\n window.location.href = result.url;\r\n } else if (this.paymentMethod.selected === PaymentMethod.invoice) {\r\n const result = await this.api.invoicePayment(\r\n [this.entryId],\r\n this.userAddresses.selectedParty,\r\n this.isPaymentTermsAccepted\r\n );\r\n\r\n homeRoute.historyPush(\r\n `/invoicepaymentstatus?status=${result.status}&orderId=${result.orderId}`\r\n );\r\n }\r\n };\r\n\r\n onBack = async () => this.parent.removeChildPage();\r\n}\r\n\r\nexport default SubmissionPayment;\r\n","import { asyncCommand } from 'react-mvvm/commands';\r\nimport { IActivatable } from '../../../react-mvvm';\r\n\r\nclass SubmissionApprovedModal implements IActivatable {\r\n constructor(\r\n private onConfirm: () => void,\r\n private close: (r: boolean) => void,\r\n public subject?: string\r\n ) {}\r\n\r\n confirm = asyncCommand(async () => {\r\n await this.onConfirm();\r\n this.close(true);\r\n });\r\n\r\n cancel = () => this.close(false);\r\n\r\n activate(): Promise {\r\n return Promise.resolve();\r\n }\r\n}\r\n\r\nexport default SubmissionApprovedModal;\r\n","import { Page } from 'react-mvvm';\r\nimport SubmissionFormPage from '../SubmissionFormPage/SubmissionFormPage';\r\nimport loader from 'react-mvvm/loading/loader';\r\nimport { CompetitionEntryDto } from 'model/Api/Submission/Model/CompetitionEntryDto';\r\nimport { updateCompetitionEntry } from 'model/Api/Submission/UpdateCompetitionEntryRequest';\r\nimport {\r\n CompetitionEntryStatus,\r\n CompetitionStatus,\r\n QuestionType\r\n} from 'model/Externals';\r\nimport { computed, observable } from 'mobx';\r\nimport { homeRoute } from 'web/routes';\r\nimport SubmissionPayment from 'web/screen/SubmissionPayment/SubmissionPayment';\r\nimport SubmissionApprovedModal from 'common/components/SubmissionApprovedModal/SubmissionApprovedModal';\r\nimport i18next from 'i18next';\r\nimport {Modal} from \"antd\";\r\n\r\nexport type QuestionsWithAnswers = {\r\n questionId: number;\r\n questionType: QuestionType;\r\n label: string;\r\n helpText: string;\r\n value: string | undefined;\r\n};\r\n\r\nclass SubmissionFormPreviewPage extends Page {\r\n @observable savedCompetitionEntry: CompetitionEntryDto | undefined;\r\n @observable status: string = '';\r\n @observable parent: SubmissionFormPage;\r\n\r\n constructor(parent: SubmissionFormPage, private isValidForm: boolean) {\r\n super();\r\n this.parent = parent;\r\n }\r\n\r\n @computed get pageName() {\r\n return i18next.t('competitions:submissionPreview');\r\n }\r\n\r\n protected async onActivated(): Promise {\r\n const state: any | undefined = homeRoute.getHistoryState();\r\n this.status = !!state && !!state.status ? state.status : '';\r\n\r\n if (!this.isValidForm && this.status !== 'paid') {\r\n await this.parent.removeChildPage();\r\n }\r\n }\r\n\r\n protected async onLeafFocus(): Promise {\r\n window.scrollTo({ top: 0 });\r\n }\r\n\r\n @computed get competitionEntryDto() {\r\n return (\r\n this.savedCompetitionEntry ??\r\n this.parent.submissionForm.competitionEntryDto\r\n );\r\n }\r\n\r\n @computed get questions() {\r\n return this.parent.submissionForm.questions;\r\n }\r\n\r\n @computed get product() {\r\n return this.parent.submissionForm.product;\r\n }\r\n\r\n @computed get invoiceFeeProduct() {\r\n return this.parent.submissionForm.invoiceFeeProduct;\r\n }\r\n\r\n @computed get competitionStatus() {\r\n return !!this.parent\r\n ? this.parent.submissionForm.competitionStatus\r\n : CompetitionStatus.draft;\r\n }\r\n\r\n @computed get categoryId() {\r\n return this.parent.categoryId;\r\n }\r\n\r\n @computed get entryId() {\r\n return this.parent.entryId;\r\n }\r\n\r\n @computed get categoryName() {\r\n return this.parent.pageName;\r\n }\r\n\r\n @computed get entryPreviewPageDescription() {\r\n return this.parent.submissionForm.entryPreviewPageDescription;\r\n }\r\n\r\n api = loader({\r\n submitCompetitionEntry: async (entry: CompetitionEntryDto) =>\r\n await updateCompetitionEntry({\r\n competitionEntryDto: entry\r\n })\r\n });\r\n\r\n get answers(): QuestionsWithAnswers[] {\r\n return this.questions.map((question) => {\r\n const answer = this.competitionEntryDto.answers.find(\r\n (a) => a.questionId === question.id\r\n );\r\n\r\n return {\r\n questionId: question.id,\r\n label: question.label,\r\n helpText: question.helpText,\r\n questionType: question.questionType,\r\n value: !answer ? answer : answer.value\r\n };\r\n });\r\n }\r\n\r\n onBack = async () => {\r\n const state: any | undefined = homeRoute.getHistoryState();\r\n if (!!state && !!state.backUrl) {\r\n homeRoute.historyPush(state.backUrl);\r\n }\r\n await this.parent.removeChildPage();\r\n };\r\n\r\n onSend = async () => {\r\n const result = await this.showModal(\r\n (close) => new SubmissionApprovedModal(async () => {}, close, '')\r\n );\r\n\r\n if (!result) return;\r\n \r\n this.competitionEntryDto.competitionEntryStatus =\r\n CompetitionEntryStatus.submitted;\r\n this.savedCompetitionEntry = await this.api.submitCompetitionEntry(\r\n this.competitionEntryDto\r\n );\r\n Modal.info({content: 'Takk! Din påmelding er nå registrert.'});\r\n \r\n homeRoute.historyPush('/submissions');\r\n };\r\n\r\n showSubmissionPaymentPage = async () => {\r\n if (\r\n this.competitionEntryDto.competitionEntryStatus ===\r\n CompetitionEntryStatus.submitted\r\n ) {\r\n return this.showChildPage(new SubmissionPayment(this));\r\n }\r\n\r\n if (this.competitionEntryDto.answers.length !== 0) {\r\n this.competitionEntryDto.competitionEntryStatus =\r\n CompetitionEntryStatus.submitted;\r\n this.savedCompetitionEntry = await this.api.submitCompetitionEntry(\r\n this.competitionEntryDto\r\n );\r\n }\r\n\r\n return this.showChildPage(new SubmissionPayment(this));\r\n };\r\n\r\n showSubmissionPaymentPageWithModal = async () => {\r\n const result = await this.showModal(\r\n (close) => new SubmissionApprovedModal(async () => {}, close, '')\r\n );\r\n\r\n if (!result) return;\r\n\r\n return this.showSubmissionPaymentPage();\r\n };\r\n\r\n goToFormPage = async () => {\r\n return this.parent.removeChildPage();\r\n };\r\n}\r\n\r\nexport default SubmissionFormPreviewPage;\r\n","import {asyncCommand, IActivatable} from \"react-mvvm\";\r\n\r\nclass OnBackToSubmissionModal implements IActivatable {\r\n constructor(\r\n private onConfirm: () => void,\r\n private close: (r: boolean) => void,\r\n private onNotSave?: () => void,\r\n private onClose?: () => void,\r\n public subject?: string\r\n ) {}\r\n\r\n confirm = asyncCommand(async () => {\r\n await this.onConfirm();\r\n this.close(true);\r\n });\r\n\r\n cancel = async () => {\r\n if(this.onClose){\r\n await this.onClose();\r\n }\r\n\r\n this.close(false);\r\n }\r\n\r\n activate(): Promise {\r\n return Promise.resolve();\r\n }\r\n \r\n onCancelClick = asyncCommand(async () => {\r\n if(this.onNotSave){\r\n await this.onNotSave();\r\n }\r\n this.close(true);\r\n })\r\n}\r\n\r\nexport default OnBackToSubmissionModal;","import { Page } from 'react-mvvm';\r\nimport { computed, observable } from 'mobx';\r\nimport SubmissionFormPreviewPage from '../SubmissionFormPreview/SubmissionFormPreviewPage';\r\nimport Competition from '../Competition/Competition';\r\nimport { SubmissionCategoryDto } from 'model/Api/Submission/Model/SubmissionCategoryDto';\r\nimport { homeRoute } from 'web/routes';\r\nimport SubmissionForm, {\r\n SubmissionMode\r\n} from 'common/components/SubmissionForm/SubmissionForm';\r\nimport OnBackToSubmissionModal from 'web/screen/SubmissionFormPage/OnBackToSubmissionModal/OnBackToSubmissionModal';\r\n\r\nclass SubmissionFormPage extends Page {\r\n @observable submissionForm: SubmissionForm;\r\n @observable selectedCategory: SubmissionCategoryDto | undefined;\r\n @observable isLoading: boolean = false;\r\n\r\n constructor(\r\n public competitionId: number,\r\n public categoryId: number,\r\n public entryId: number,\r\n private parent: Competition\r\n ) {\r\n super();\r\n this.submissionForm = new SubmissionForm(\r\n this,\r\n categoryId,\r\n entryId,\r\n SubmissionMode.web\r\n );\r\n }\r\n @computed get competition() {\r\n return this.parent.competition;\r\n }\r\n\r\n @computed get competitionEntryDto() {\r\n return this.parent.competitionEntryDto;\r\n }\r\n\r\n @computed get competitionStatus() {\r\n return this.parent.competition.competitionStatus;\r\n }\r\n\r\n @computed get pageName() {\r\n if (\r\n !!this.parent.selectedCategory &&\r\n !!this.parent.selectedCategoryName\r\n ) {\r\n return this.parent.selectedCategoryName;\r\n }\r\n return '';\r\n }\r\n\r\n protected onActivated = async () => {\r\n await this.submissionForm.init();\r\n };\r\n\r\n protected async onLeafFocus(): Promise {\r\n await this.submissionForm.onLeafFocus();\r\n }\r\n\r\n protected async onLeafBlur(): Promise {\r\n await this.submissionForm.onLeafBlur();\r\n }\r\n\r\n onSaveAsDraftClicked = async () => {\r\n await this.submissionForm.onSaveAsDraftClicked();\r\n };\r\n\r\n onContinueClick = async (errorReference: any) => {\r\n this.isLoading = true;\r\n if (await this.submissionForm.onFormSubmit(errorReference)) {\r\n await this.submissionForm.onSaveAsDraftClicked();\r\n\r\n homeRoute.historyPush(`/submissions`, { edited: this.entryId });\r\n } else {\r\n this.isLoading = false;\r\n }\r\n };\r\n\r\n onBackToSubmission = async () => {\r\n if (\r\n this.submissionForm.competitionEntryForm.isDirty &&\r\n this.submissionForm.isFormChanged\r\n ) {\r\n await this.showModal(\r\n (close) =>\r\n new OnBackToSubmissionModal(\r\n async () => {\r\n await this.submissionForm.onSaveAsDraftClicked();\r\n homeRoute.historyPush(`/submissions`, {\r\n edited: this.entryId\r\n });\r\n },\r\n close,\r\n () => {\r\n homeRoute.historyPush(`/submissions`);\r\n }\r\n )\r\n );\r\n\r\n return;\r\n }\r\n\r\n homeRoute.historyPush(`/submissions`);\r\n };\r\n\r\n showFormPreviewPage = async () => {\r\n return await this.showChildPage(\r\n new SubmissionFormPreviewPage(this, false)\r\n );\r\n };\r\n\r\n onBack = async () => {\r\n const state: any | undefined = homeRoute.getHistoryState();\r\n if (!!state && !!state.backUrl) {\r\n homeRoute.historyPush(state.backUrl);\r\n }\r\n await this.parent.removeChildPage();\r\n };\r\n}\r\n\r\nexport default SubmissionFormPage;\r\n","import { IPage, Page } from 'react-mvvm';\r\nimport loader from 'react-mvvm/loading/loader';\r\nimport { getSubmissionCompetitionDetails } from 'model/Api/Submission/GetSubmissionCompetitionDetailsRequest';\r\nimport { computed, observable } from 'mobx';\r\nimport { SubmissionCompetitionDto } from 'model/Api/Submission/Model/SubmissionCompetitionDto';\r\nimport CompetitionsListPage from 'web/screen/CompetitionsListPage/CompetitionsListPage';\r\nimport SubmissionFormPage from '../SubmissionFormPage/SubmissionFormPage';\r\nimport { createCompetitionEntry } from 'model/Api/Submission/CreateCompetitionEntryRequest';\r\nimport { CompetitionEntryStatus, CompetitionStatus } from 'model/Externals';\r\nimport { CompetitionEntryDto } from 'model/Api/Submission/Model/CompetitionEntryDto';\r\nimport { homeRoute } from 'web/routes';\r\nimport { SubmissionCategoryDto } from 'model/Api/Submission/Model/SubmissionCategoryDto';\r\nimport { HeaderBreadcrumbsData } from 'web/components/HeaderBreadcrumbs/HeaderBreadcrumbs';\r\n\r\nclass Competition extends Page {\r\n @observable competition: SubmissionCompetitionDto = {\r\n name: '',\r\n description: '',\r\n categories: [],\r\n competitionStatus: CompetitionStatus.draft,\r\n id: 0,\r\n version: 0\r\n };\r\n @observable selectedCat: number | undefined;\r\n @observable competitionEntryDto: CompetitionEntryDto | undefined;\r\n @observable showHelpText: boolean = false;\r\n\r\n constructor(\r\n public competitionId: number,\r\n private parent: CompetitionsListPage\r\n ) {\r\n super();\r\n }\r\n\r\n api = loader({\r\n getDetails: async (id: number) =>\r\n await getSubmissionCompetitionDetails({ id })\r\n });\r\n\r\n apiEntry = loader({\r\n createEntry: async (categoryId: number) => {\r\n const entry = await createCompetitionEntry({\r\n categoryRef: categoryId,\r\n competitionEntryDto: {\r\n answers: [],\r\n attachments: [],\r\n competitionEntryStatus: CompetitionEntryStatus.created,\r\n id: 0,\r\n version: 0\r\n }\r\n });\r\n return entry\r\n }\r\n \r\n });\r\n\r\n @computed get isSubmissionsOpen(): boolean {\r\n return (\r\n this.competition.competitionStatus ===\r\n CompetitionStatus.submissionOpen\r\n );\r\n }\r\n\r\n @computed get selectedCategory(): SubmissionCategoryDto | undefined {\r\n if (!this.selectedCat) {\r\n return undefined;\r\n }\r\n return this.competition.categories.find((cat) => {\r\n if (cat.id === this.selectedCat) {\r\n return cat;\r\n }\r\n let subCat;\r\n cat.subCategories.find((sub) => {\r\n if (sub.id === this.selectedCat) {\r\n subCat = sub;\r\n }\r\n });\r\n return subCat;\r\n });\r\n }\r\n\r\n @computed get selectedCategoryName(): string | undefined {\r\n if (!this.selectedCat) {\r\n return undefined;\r\n }\r\n let name = '';\r\n this.competition.categories.find((cat) => {\r\n if (cat.id === this.selectedCat) {\r\n name = cat.name;\r\n return true;\r\n }\r\n\r\n cat.subCategories.find((subCat) => {\r\n if (subCat.id === this.selectedCat) {\r\n name = `${cat.name} / ${subCat.name}`;\r\n return true;\r\n }\r\n });\r\n });\r\n return name;\r\n }\r\n\r\n @computed get pageName() {\r\n if (!!this.parent.selectedCompetition) {\r\n return this.parent.selectedCompetition.name;\r\n }\r\n return '';\r\n }\r\n\r\n activateChildPage = async (p: Page) => {\r\n await this.removeAllChildPages(p);\r\n await p.activate();\r\n };\r\n\r\n @computed get breadcrumbs(): HeaderBreadcrumbsData[] {\r\n const breadcrumbsPages: IPage[] = [this];\r\n let currentPage: Page = this;\r\n while (!!currentPage.childPage && breadcrumbsPages.length < 3) {\r\n breadcrumbsPages.push(currentPage.childPage);\r\n currentPage = currentPage.childPage as Page;\r\n }\r\n\r\n return breadcrumbsPages.map((page, index) => {\r\n if (breadcrumbsPages.length - 1 === index) {\r\n return { name: page.pageName ?? '' };\r\n }\r\n\r\n return {\r\n name: page.pageName ?? '',\r\n onClick: () => {\r\n this.activateChildPage(page as Page);\r\n }\r\n };\r\n });\r\n }\r\n\r\n onActivated = async () => {\r\n this.competition = await this.api.getDetails(this.competitionId);\r\n };\r\n\r\n onGoBack = async () => {\r\n await homeRoute.historyPush('/');\r\n };\r\n\r\n onCategorySet = async (categoryId: number) => {\r\n if (!this.isSubmissionsOpen) {\r\n this.showHelpText = true;\r\n return;\r\n }\r\n\r\n this.selectedCat = categoryId;\r\n this.competitionEntryDto = await this.apiEntry.createEntry(\r\n this.selectedCat\r\n );\r\n await this.showFormPage(this.selectedCat, this.competitionEntryDto.id);\r\n };\r\n\r\n showFormPage(categoryId: number, entryId: number) {\r\n this.selectedCat = categoryId;\r\n return this.showChildPage(\r\n new SubmissionFormPage(\r\n this.competitionId,\r\n categoryId,\r\n entryId,\r\n this\r\n )\r\n );\r\n }\r\n}\r\n\r\nexport default Competition;\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\nimport {SubmissionCompetitionDto} from \"./Model/SubmissionCompetitionDto\"\r\n\r\nexport interface GetSubmissionCompetitionDetailsRequest {\r\n id: number\r\n}\r\nexport const getSubmissionCompetitionDetails = (getSubmissionCompetitionDetailsRequest: GetSubmissionCompetitionDetailsRequest): Promise => {\r\n return send(\"GetSubmissionCompetitionDetails\", getSubmissionCompetitionDetailsRequest)\r\n}\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\nimport {CompetitionEntryDto} from \"./Model/CompetitionEntryDto\"\r\n\r\n\r\nexport interface CreateCompetitionEntryRequest {\r\n categoryRef: number\r\n competitionEntryDto: CompetitionEntryDto\r\n}\r\nexport const createCompetitionEntry = (createCompetitionEntryRequest: CreateCompetitionEntryRequest): Promise => {\r\n return send(\"CreateCompetitionEntry\", createCompetitionEntryRequest)\r\n}\r\n","import { action, computed, observable } from 'mobx';\r\nimport { CompetitionListItemDto } from 'model/Api/Competitions/Model/CompetitionListItemDto';\r\nimport loader from 'react-mvvm/loading/loader';\r\nimport { getPublishedCompetitions } from 'model/Api/Submission/GetPublishedCompetitionsRequest';\r\nimport { CompetitionStatus } from 'model/Externals';\r\n\r\nclass CompetitionsList {\r\n @observable list: CompetitionListItemDto[] = [];\r\n\r\n api = loader({\r\n getPublishedCompetitions: async () =>\r\n await getPublishedCompetitions({\r\n filter: {\r\n includeCompetitionStatuses: [\r\n CompetitionStatus.published,\r\n CompetitionStatus.submissionOpen\r\n ]\r\n }\r\n })\r\n });\r\n\r\n onDetails = async (id: number) => {};\r\n\r\n @action\r\n getList = async () => {\r\n this.list = await this.api.getPublishedCompetitions();\r\n };\r\n\r\n @computed get sorted(): {\r\n future: CompetitionListItemDto[];\r\n current: CompetitionListItemDto[];\r\n } {\r\n const future: CompetitionListItemDto[] = [];\r\n const current: CompetitionListItemDto[] = [];\r\n this.list.forEach((item) => {\r\n if (item.competitionStatus === CompetitionStatus.published) {\r\n future.push(item);\r\n return;\r\n }\r\n\r\n if (item.competitionStatus === CompetitionStatus.submissionOpen) {\r\n current.push(item);\r\n return;\r\n }\r\n });\r\n\r\n return {\r\n future,\r\n current\r\n };\r\n }\r\n}\r\n\r\nexport default CompetitionsList;\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\nimport {ListOptions} from \"../GenericList/ListOptions\"\r\n\r\nimport {CompetitionStatus} from \"../../Externals\"\r\n\r\nimport {CompetitionListItemDto} from \"../Competitions/Model/CompetitionListItemDto\"\r\n\r\nexport interface GetPublishedCompetitionsRequest {\r\n itemId?: number\r\n options?: ListOptions\r\n filter?: StatusFilter\r\n}\r\nexport interface StatusFilter {\r\n includeCompetitionStatuses: CompetitionStatus[]\r\n}\r\nexport const getPublishedCompetitions = (getPublishedCompetitionsRequest: GetPublishedCompetitionsRequest): Promise => {\r\n return send(\"GetPublishedCompetitions\", getPublishedCompetitionsRequest)\r\n}\r\n","import { IPage, Page } from 'react-mvvm';\r\nimport { computed, observable } from 'mobx';\r\nimport { CompetitionListItemDto } from 'model/Api/Competitions/Model/CompetitionListItemDto';\r\nimport Competition from 'web/screen/Competition/Competition';\r\nimport { HeaderBreadcrumbsData } from 'web/components/HeaderBreadcrumbs/HeaderBreadcrumbs';\r\nimport CompetitionsList from 'web/components/CompetitionsList/CompetitionsList';\r\n\r\nclass CompetitionsListPage extends Page {\r\n @observable competitions: CompetitionsList = new CompetitionsList();\r\n @observable selectedCompetitionId: number | undefined;\r\n @observable competitionsList: CompetitionListItemDto[] = [];\r\n @observable competitionsPage: Competition | undefined;\r\n\r\n constructor() {\r\n super();\r\n this.competitions.onDetails = async (id: number) => {\r\n await this.showCompetitionPage(id);\r\n };\r\n }\r\n\r\n protected async onActivated() {\r\n await this.competitions.getList();\r\n this.competitionsList = this.competitions.list;\r\n }\r\n\r\n @computed get selectedCompetition(): CompetitionListItemDto | undefined {\r\n if (!this.selectedCompetitionId) {\r\n return undefined;\r\n }\r\n\r\n return this.competitionsList.find(\r\n (competition) => competition.id === this.selectedCompetitionId\r\n );\r\n }\r\n\r\n @computed get breadcrumbs(): HeaderBreadcrumbsData[] {\r\n if (!!this.competitionsPage) {\r\n return this.competitionsPage.breadcrumbs;\r\n }\r\n return [];\r\n }\r\n\r\n showCompetitionPage = async (competitionId: number) => {\r\n this.selectedCompetitionId = competitionId;\r\n this.competitionsPage = new Competition(competitionId, this);\r\n return this.showChildPage(this.competitionsPage);\r\n };\r\n\r\n onRemoveChildPage = async () => {\r\n await this.removeChildPage();\r\n await this.onActivated();\r\n };\r\n}\r\n\r\nexport default CompetitionsListPage;\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\nimport {PhaseOneEvaluation} from \"../../Externals\"\r\n\r\n\r\nexport interface SetPhaseOneEvaluationRequest {\r\n competitionEntryRef: number\r\n evaluation: PhaseOneEvaluation\r\n}\r\nexport const setPhaseOneEvaluation = (setPhaseOneEvaluationRequest: SetPhaseOneEvaluationRequest): Promise => {\r\n return send(\"SetPhaseOneEvaluation\", setPhaseOneEvaluationRequest)\r\n}\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\n\r\nexport interface SetPhaseTwoEvaluationRequest {\r\n competitionEntryRef: number\r\n evaluationRef: number\r\n}\r\nexport const setPhaseTwoEvaluation = (setPhaseTwoEvaluationRequest: SetPhaseTwoEvaluationRequest): Promise => {\r\n return send(\"SetPhaseTwoEvaluation\", setPhaseTwoEvaluationRequest)\r\n}\r\n","import { IActivatable } from 'react-mvvm';\r\nimport { AttachmentResponse } from 'model/Api/Submission/Model/AttachmentResponse';\r\n\r\nclass ImageDialog implements IActivatable {\r\n images: AttachmentResponse[];\r\n startIndex: number | undefined;\r\n\r\n constructor(\r\n private close: (r: boolean) => void,\r\n images: AttachmentResponse[],\r\n startIndex?: number\r\n ) {\r\n this.images = images;\r\n this.startIndex = startIndex;\r\n }\r\n\r\n cancel = () => this.close(false);\r\n\r\n activate(): Promise {\r\n return Promise.resolve();\r\n }\r\n}\r\n\r\nexport default ImageDialog;\r\n","import { Page } from 'react-mvvm';\r\nimport { action, computed, observable } from 'mobx';\r\nimport JudgingEntriesPage from 'web/screen/JudgingEntriesPage/JudgingEntriesPage';\r\nimport { CompetitionEntryEvaluationResponse } from 'model/Api/Evaluation/Model/CompetitionEntryEvaluationResponse';\r\nimport { CompetitionEntryStatus, CompetitionStatus, PhaseOneEvaluation } from 'model/Externals';\r\nimport loader from 'react-mvvm/loading/loader';\r\nimport { getCompetitionEntryEvaluationDetails } from 'model/Api/Evaluation/GetCompetitionEntryEvaluationDetailsRequest';\r\nimport { setPhaseOneEvaluation } from 'model/Api/Evaluation/SetPhaseOneEvaluationRequest';\r\nimport { setPhaseTwoEvaluation } from 'model/Api/Evaluation/SetPhaseTwoEvaluationRequest';\r\nimport { setPrivateNote } from 'model/Api/Evaluation/SetPrivateNoteRequest';\r\nimport { setPublicNote } from 'model/Api/Evaluation/SetPublicNoteRequest';\r\nimport ImageDialog from 'web/components/ImageDialog/ImageDialog';\r\nimport { AttachmentResponse } from 'model/Api/Submission/Model/AttachmentResponse';\r\nimport { CompetitionEntryListItemResponse } from \"model/Api/Evaluation/Model/CompetitionEntryListItemDto\";\r\n\r\nclass JudgingEntryDetails extends Page {\r\n @observable entryId: number;\r\n @observable parent: JudgingEntriesPage;\r\n @observable entry: CompetitionEntryEvaluationResponse = {\r\n competitionEntryStatus: CompetitionEntryStatus.created,\r\n answers: [],\r\n attachments: [],\r\n publicNote: '',\r\n privateNote: '',\r\n title: '',\r\n hasMovedOn: false,\r\n coverImage: {\r\n uid: '0',\r\n type: '',\r\n size: 0,\r\n name: '',\r\n url: '',\r\n mdThumbUrl: '',\r\n thumbUrl: '',\r\n width: 0,\r\n height: 0\r\n }\r\n };\r\n @observable isSavedPublicNotes = false;\r\n @observable isSavePrivateNotes = false;\r\n\r\n constructor(entryId: number, parent: JudgingEntriesPage) {\r\n super();\r\n\r\n this.entryId = entryId;\r\n this.parent = parent;\r\n }\r\n\r\n @computed get pageName() {\r\n return this.entry.title;\r\n }\r\n\r\n @computed get competitionStatus() {\r\n return this.parent.competitionStatus;\r\n }\r\n\r\n @computed get evaluationResults() {\r\n return this.parent.evaluationResults;\r\n }\r\n\r\n @computed get evaluationStatus() {\r\n return this.parent.categoryEvaluationStatus;\r\n }\r\n\r\n @computed get isEditable(): boolean {\r\n return (\r\n this.competitionStatus ===\r\n CompetitionStatus.phaseOneJudgingInProgress ||\r\n this.competitionStatus ===\r\n CompetitionStatus.phaseTwoJudgingInProgress\r\n );\r\n }\r\n\r\n @computed get coverImgIdx(): number {\r\n let index = 0;\r\n if (!this.entry.attachments.length && !!this.entry.coverImage) {\r\n this.entry.attachments.find((a, idx) => {\r\n if (a.uid === this.entry.coverImage.uid) {\r\n index = idx;\r\n }\r\n });\r\n }\r\n\r\n return index;\r\n }\r\n\r\n @computed get sortedAttachments(): AttachmentResponse[] {\r\n if (!this.entry.attachments.length) {\r\n return [];\r\n }\r\n const {attachments, coverImage, answers} = this.entry;\r\n\r\n const sortedAtts: AttachmentResponse[] = [];\r\n\r\n if (!!coverImage && coverImage.uid !== '0') {\r\n sortedAtts.push(coverImage);\r\n }\r\n\r\n answers.forEach(answer => {\r\n if (answer.questionType !== 'file' && answer.questionType !== 'multiFile' && answer.questionType !== 'videoLink') {\r\n return;\r\n }\r\n\r\n if (answer.questionType === 'videoLink') {\r\n const videoAttachment: AttachmentResponse = {\r\n uid: answer.id.toString(),\r\n name: '',\r\n size: 0,\r\n type: 'videoLink/mp4',\r\n url: answer.value,\r\n thumbUrl: '',\r\n mdThumbUrl: '',\r\n width: 0,\r\n height: 0,\r\n };\r\n sortedAtts.push(videoAttachment);\r\n return;\r\n }\r\n\r\n const fileIds: string[] = answer.value === \"\" ? [] : JSON.parse(answer.value);\r\n const files = fileIds.reduce((prev, current) => {\r\n const f: AttachmentResponse | undefined = attachments.find(at => at.uid === current);\r\n if (!!f) {\r\n prev.push(f);\r\n }\r\n return prev\r\n }, []);\r\n\r\n if (!files.length) {\r\n return;\r\n }\r\n\r\n sortedAtts.push(...files);\r\n });\r\n\r\n return sortedAtts;\r\n }\r\n\r\n @computed get sortedEntry(): CompetitionEntryListItemResponse[] {\r\n const {entryList, getGroupPhaseEntryList} = this.parent;\r\n if (this.competitionStatus === CompetitionStatus.phaseTwoJudgingInProgress || this.competitionStatus === CompetitionStatus.phaseTwoJudgingClosed) {\r\n const isPromoted = getGroupPhaseEntryList.promoted.find(e => e.id === this.entryId);\r\n const isNotPromoted = getGroupPhaseEntryList.notPromoted && getGroupPhaseEntryList.notPromoted.find(e => e.id === this.entryId);\r\n\r\n return isPromoted ? getGroupPhaseEntryList.promoted : isNotPromoted && getGroupPhaseEntryList.notPromoted ? getGroupPhaseEntryList.notPromoted : [];\r\n }\r\n\r\n return entryList;\r\n }\r\n\r\n api = loader({\r\n getEvaluationEntryDetails: async (competitionEntryRef: number) =>\r\n await getCompetitionEntryEvaluationDetails({competitionEntryRef})\r\n });\r\n\r\n apiEvaluation = loader(\r\n {\r\n setPhaseOneEvaluation: async (evaluation: PhaseOneEvaluation) => {\r\n await setPhaseOneEvaluation({\r\n competitionEntryRef: this.entryId,\r\n evaluation\r\n });\r\n this.entry.phaseOneEvaluation = evaluation;\r\n },\r\n setPhaseTwoEvaluation: async (evaluationRef: number) => {\r\n this.entry.phaseTwoEvaluation = await setPhaseTwoEvaluation({\r\n competitionEntryRef: this.entryId,\r\n evaluationRef\r\n });\r\n }\r\n },\r\n {\r\n setPhaseOneEvaluation:\r\n 'Something went wrong, we can not set your evaluation',\r\n setPhaseTwoEvaluation:\r\n 'Something went wrong, we can not set your evaluation'\r\n }\r\n );\r\n\r\n apiNotes = loader({\r\n savePrivateNotes: async (note: string) =>\r\n await setPrivateNote({\r\n competitionEntryRef: this.entryId,\r\n privateNote: note\r\n }),\r\n savePublicNotes: async (note: string) =>\r\n await setPublicNote({\r\n competitionEntryRef: this.entryId,\r\n publicNote: note\r\n })\r\n });\r\n\r\n\r\n @action\r\n onSubmissionChange = (moveBy: -1 | 1) => {\r\n const {showJudgingEntryDetails} = this.parent;\r\n\r\n if ((moveBy === -1 && this.entryId === this.sortedEntry[0]?.id) || (moveBy === 1 && this.entryId === this.sortedEntry[this.sortedEntry.length - 1]?.id)) return;\r\n const currentEntryIdx = this.sortedEntry.findIndex((e) => e.id === this.entryId);\r\n showJudgingEntryDetails(this.sortedEntry[currentEntryIdx + moveBy].id);\r\n };\r\n\r\n @action\r\n onPublicNotesSave = async (note: string) => {\r\n await this.apiNotes.savePublicNotes(note);\r\n this.isSavedPublicNotes = true;\r\n setTimeout(() => {\r\n this.isSavedPublicNotes = false;\r\n }, 3000);\r\n };\r\n\r\n @action\r\n onPrivateNotesSave = async (note: string) => {\r\n await this.apiNotes.savePrivateNotes(note);\r\n this.isSavePrivateNotes = true;\r\n setTimeout(() => {\r\n this.isSavePrivateNotes = false;\r\n }, 3000);\r\n };\r\n\r\n showImageDialog = async (\r\n images: AttachmentResponse[],\r\n startIndex?: number\r\n ) => {\r\n await this.showModal(\r\n (close) => new ImageDialog(close, images, startIndex)\r\n );\r\n };\r\n\r\n protected async onActivated(): Promise {\r\n this.entry = await this.api.getEvaluationEntryDetails(this.entryId);\r\n }\r\n}\r\n\r\nexport default JudgingEntryDetails;\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\nimport {CompetitionEntryEvaluationResponse} from \"./Model/CompetitionEntryEvaluationResponse\"\r\n\r\nexport interface GetCompetitionEntryEvaluationDetailsRequest {\r\n competitionEntryRef: number\r\n}\r\nexport const getCompetitionEntryEvaluationDetails = (getCompetitionEntryEvaluationDetailsRequest: GetCompetitionEntryEvaluationDetailsRequest): Promise => {\r\n return send(\"GetCompetitionEntryEvaluationDetails\", getCompetitionEntryEvaluationDetailsRequest)\r\n}\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\n\r\nexport interface SetPrivateNoteRequest {\r\n competitionEntryRef: number\r\n privateNote: string\r\n}\r\nexport const setPrivateNote = (setPrivateNoteRequest: SetPrivateNoteRequest): Promise => {\r\n return send(\"SetPrivateNote\", setPrivateNoteRequest)\r\n}\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\n\r\nexport interface SetPublicNoteRequest {\r\n competitionEntryRef: number\r\n publicNote: string\r\n}\r\nexport const setPublicNote = (setPublicNoteRequest: SetPublicNoteRequest): Promise => {\r\n return send(\"SetPublicNote\", setPublicNoteRequest)\r\n}\r\n","import { Page } from 'react-mvvm';\r\nimport { computed, observable, runInAction } from 'mobx';\r\nimport JudgingIntroPage from 'web/screen/JudgingIntroPage/JudgingIntroPage';\r\nimport { CategoryEvaluationStatus, CompetitionStatus } from 'model/Externals';\r\nimport loader from 'react-mvvm/loading/loader';\r\nimport { ListOptions } from 'model/Api/GenericList/ListOptions';\r\nimport { getEvaluationCompetitionDetails } from 'model/Api/Evaluation/GetEvaluationCompetitionDetailsRequest';\r\nimport { EvaluationCategoryListItemDto } from 'model/Api/Evaluation/Model/EvaluationCategoryListItemDto';\r\nimport { setCategoryEvaluationStatus } from 'model/Api/Evaluation/SetCategoryEvaluationStatusRequest';\r\nimport { SortDirection } from 'model/Api/GenericList/SortDirection';\r\nimport JudgingEntriesPage from 'web/screen/JudgingEntriesPage/JudgingEntriesPage';\r\nimport { EvaluationCompetitionListItemDto } from 'model/Api/Evaluation/Model/EvaluationCompetitionListItemDto';\r\n\r\nexport enum JudgingCategorySorting {\r\n name = 'name',\r\n assessedSubmissions = 'assessedSubmissions'\r\n}\r\n\r\nclass JudgingCategoryPage extends Page {\r\n @observable competitionId: number;\r\n @observable patent: JudgingIntroPage;\r\n @observable categories: EvaluationCategoryListItemDto[] = [];\r\n @observable sortingValue: JudgingCategorySorting =\r\n JudgingCategorySorting.name;\r\n\r\n constructor(competitionId: number, parent: JudgingIntroPage) {\r\n super();\r\n\r\n this.competitionId = competitionId;\r\n this.patent = parent;\r\n }\r\n\r\n @computed get competitionListItem():\r\n | EvaluationCompetitionListItemDto\r\n | undefined {\r\n return !!this.patent.competitionListItem\r\n ? this.patent.competitionListItem\r\n : undefined;\r\n }\r\n\r\n @computed get competitionStatus(): CompetitionStatus {\r\n return !!this.competitionListItem\r\n ? this.competitionListItem.competitionStatus\r\n : CompetitionStatus.draft;\r\n }\r\n\r\n @computed get pageName(): string {\r\n return !this.patent.competitionListItem\r\n ? ''\r\n : this.patent.competitionListItem.name;\r\n }\r\n\r\n api = loader({\r\n getCompetitionDetails: async (options?: ListOptions) =>\r\n await getEvaluationCompetitionDetails({\r\n competitionRef: this.competitionId,\r\n options\r\n })\r\n });\r\n\r\n getCategories = async () => {\r\n this.categories = await this.api.getCompetitionDetails({\r\n page: 1,\r\n pageSize: 1000,\r\n sorting: {\r\n field: 'name',\r\n sortDirection: SortDirection.ascending\r\n }\r\n });\r\n }\r\n\r\n protected async onActivated(): Promise {\r\n if (!this.categories.length) {\r\n await this.getCategories();\r\n }\r\n }\r\n\r\n protected async onLeafFocus(): Promise {\r\n await this.getCategories();\r\n }\r\n\r\n onSortChange = async (prop: JudgingCategorySorting): Promise => {\r\n this.sortingValue = prop;\r\n this.categories = await this.api.getCompetitionDetails({\r\n page: 1,\r\n pageSize: 1000,\r\n sorting: {\r\n field: prop,\r\n sortDirection:\r\n prop === JudgingCategorySorting.name\r\n ? SortDirection.ascending\r\n : SortDirection.descending\r\n }\r\n });\r\n };\r\n\r\n showJudgingEntriesPage = async (categoryId: number) => {\r\n return await this.showChildPage(\r\n new JudgingEntriesPage(categoryId, this)\r\n );\r\n };\r\n}\r\n\r\nexport default JudgingCategoryPage;\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\nimport {ListOptions} from \"../GenericList/ListOptions\"\r\n\r\nimport {CategoryCompetitionEntriesResponse} from \"./Model/CategoryCompetitionEntriesResponse\"\r\n\r\nexport interface GetCompetitionEntriesRequest {\r\n categoryRef: number\r\n options?: ListOptions\r\n}\r\nexport const getCompetitionEntries = (getCompetitionEntriesRequest: GetCompetitionEntriesRequest): Promise => {\r\n return send(\"GetCompetitionEntries\", getCompetitionEntriesRequest)\r\n}\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\nimport {CategoryEvaluationStatus} from \"../../Externals\"\r\n\r\n\r\nexport interface SetCategoryEvaluationStatusRequest {\r\n categoryRef: number\r\n categoryEvaluationStatus: CategoryEvaluationStatus\r\n}\r\nexport const setCategoryEvaluationStatus = (setCategoryEvaluationStatusRequest: SetCategoryEvaluationStatusRequest): Promise => {\r\n return send(\"SetCategoryEvaluationStatus\", setCategoryEvaluationStatusRequest)\r\n}\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\n\r\nexport interface NominateCompetitionEntryRequest {\r\n competitionEntryRef: number\r\n}\r\nexport const nominateCompetitionEntry = (nominateCompetitionEntryRequest: NominateCompetitionEntryRequest): Promise => {\r\n return send(\"NominateCompetitionEntry\", nominateCompetitionEntryRequest)\r\n}\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\nimport {ListOptions} from \"../GenericList/ListOptions\"\r\n\r\nimport {EvaluationCategoryListItemDto} from \"./Model/EvaluationCategoryListItemDto\"\r\n\r\nexport interface GetEvaluationCompetitionDetailsRequest {\r\n competitionRef: number\r\n itemId?: number\r\n options?: ListOptions\r\n filter?: any\r\n}\r\nexport const getEvaluationCompetitionDetails = (getEvaluationCompetitionDetailsRequest: GetEvaluationCompetitionDetailsRequest): Promise => {\r\n return send(\"GetEvaluationCompetitionDetails\", getEvaluationCompetitionDetailsRequest)\r\n}\r\n","import { IPage, Page } from 'react-mvvm';\r\nimport { computed, observable } from 'mobx';\r\nimport JudgingCompetitions from 'web/screen/JudgingCompetitions/JudgingCompetitions';\r\nimport { EvaluationCompetitionListItemDto } from 'model/Api/Evaluation/Model/EvaluationCompetitionListItemDto';\r\nimport JudgingCategoryPage from 'web/screen/JudgingCategoryPage/JudgingCategoryPage';\r\nimport hello from 'hellojs';\r\nimport { HeaderBreadcrumbsData } from 'web/components/HeaderBreadcrumbs/HeaderBreadcrumbs';\r\n\r\nclass JudgingIntroPage extends Page {\r\n pageName: string = 'Start';\r\n @observable competitionId: number;\r\n @observable parent: JudgingCompetitions;\r\n\r\n constructor(competitionId: number, parent: JudgingCompetitions) {\r\n super();\r\n this.competitionId = competitionId;\r\n this.parent = parent;\r\n }\r\n\r\n @computed get breadcrumbs(): HeaderBreadcrumbsData[] {\r\n const breadcrumbsPages: IPage[] = [this];\r\n let currentPage: Page = this;\r\n while (!!currentPage.childPage) {\r\n breadcrumbsPages.push(currentPage.childPage);\r\n currentPage = currentPage.childPage as Page;\r\n }\r\n\r\n return breadcrumbsPages.map((page, index) => {\r\n if (breadcrumbsPages.length - 1 === index) {\r\n return { name: page.pageName ?? '' };\r\n }\r\n\r\n return {\r\n name: page.pageName ?? '',\r\n onClick: () => {\r\n this.activateChildPage(page as Page);\r\n }\r\n };\r\n });\r\n }\r\n\r\n @computed get competitionListItem():\r\n | EvaluationCompetitionListItemDto\r\n | undefined {\r\n return this.parent.evaluations.find((e) => e.id === this.competitionId);\r\n }\r\n\r\n removeAllChildPages = async (page: Page) => {\r\n const allChild: IPage[] = [page];\r\n\r\n const checkChild = async (p: IPage) => {\r\n const child = p.childPage;\r\n if (!child) {\r\n return;\r\n }\r\n allChild.push(child as IPage);\r\n await checkChild(child as IPage);\r\n };\r\n await checkChild(page);\r\n await allChild\r\n .reverse()\r\n .forEach(async (page) => await page.removeChildPage());\r\n };\r\n\r\n activateChildPage = async (p: Page) => {\r\n await this.removeAllChildPages(p);\r\n await p.activate();\r\n };\r\n\r\n showJudgingCategoryPage = async () => {\r\n return await this.showChildPage(\r\n new JudgingCategoryPage(this.competitionId, this)\r\n );\r\n };\r\n\r\n signOutClicked = () => {\r\n hello.logout('customJWT');\r\n hello.utils.store('customJWT', '');\r\n window.location.href = `/login?redirect_uri=${encodeURIComponent(\r\n window.location.href\r\n )}`;\r\n };\r\n}\r\n\r\nexport default JudgingIntroPage;\r\n","import { Page } from 'react-mvvm';\r\nimport { computed, observable } from 'mobx';\r\nimport { EvaluationCompetitionListItemDto } from 'model/Api/Evaluation/Model/EvaluationCompetitionListItemDto';\r\nimport loader from 'react-mvvm/loading/loader';\r\nimport { getEvaluationCompetitions } from 'model/Api/Evaluation/GetEvaluationCompetitionsRequest';\r\nimport { EvaluationResultDto } from 'model/Api/Competitions/Model/EvaluationResultDto';\r\nimport { CompetitionStatus, JudgingSchema } from 'model/Externals';\r\nimport JudgingIntroPage from 'web/screen/JudgingIntroPage/JudgingIntroPage';\r\nimport { HeaderBreadcrumbsData } from 'web/components/HeaderBreadcrumbs/HeaderBreadcrumbs';\r\n\r\nclass JudgingCompetitions extends Page {\r\n @observable evaluations: EvaluationCompetitionListItemDto[] = [];\r\n @observable selectedId: number = 0;\r\n @observable judgingIntroPage: JudgingIntroPage | undefined;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n protected async onActivated() {\r\n this.evaluations = await this.api.getEvaluationCompetitions();\r\n }\r\n\r\n api = loader({\r\n getEvaluationCompetitions: async () =>\r\n await getEvaluationCompetitions({})\r\n });\r\n\r\n @computed get breadcrumbs(): HeaderBreadcrumbsData[] {\r\n return !!this.judgingIntroPage ? this.judgingIntroPage.breadcrumbs : [];\r\n }\r\n\r\n showJudgingIntroductionPage = async (competitionRef: number) => {\r\n this.judgingIntroPage = new JudgingIntroPage(competitionRef, this);\r\n return await this.showChildPage(this.judgingIntroPage);\r\n };\r\n}\r\n\r\nexport default JudgingCompetitions;\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\nimport {EvaluationCompetitionListItemDto} from \"./Model/EvaluationCompetitionListItemDto\"\r\n\r\nexport interface GetEvaluationCompetitionsRequest {\r\n}\r\nexport const getEvaluationCompetitions = (getEvaluationCompetitionsRequest: GetEvaluationCompetitionsRequest): Promise => {\r\n return send(\"GetEvaluationCompetitions\", getEvaluationCompetitionsRequest)\r\n}\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\nimport {ListOptions} from \"../GenericList/ListOptions\"\r\n\r\nimport {CompetitionEntryListItemDto} from \"./Model/CompetitionEntryListItemDto\"\r\n\r\nexport interface GetUserCompetitionEntriesRequest {\r\n itemId?: number\r\n options?: ListOptions\r\n filter?: any\r\n}\r\nexport const getUserCompetitionEntries = (getUserCompetitionEntriesRequest: GetUserCompetitionEntriesRequest): Promise => {\r\n return send(\"GetUserCompetitionEntries\", getUserCompetitionEntriesRequest)\r\n}\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\n\r\nexport interface DeleteCompetitionEntryRequest {\r\n competitionEntryRef: number\r\n}\r\nexport const deleteCompetitionEntry = (deleteCompetitionEntryRequest: DeleteCompetitionEntryRequest): Promise => {\r\n return send(\"DeleteCompetitionEntry\", deleteCompetitionEntryRequest)\r\n}\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\n\r\nexport interface SubmitCompetitionEntryRequest {\r\n competitionEntryId: number\r\n}\r\nexport const submitCompetitionEntry = (submitCompetitionEntryRequest: SubmitCompetitionEntryRequest): Promise => {\r\n return send(\"SubmitCompetitionEntry\", submitCompetitionEntryRequest)\r\n}\r\n","import { Page } from 'react-mvvm';\r\nimport { action, computed, observable } from 'mobx';\r\nimport UserAddresses from 'common/components/UserAddresses/UserAddresses';\r\nimport loader from 'react-mvvm/loading/loader';\r\nimport { homeRoute } from 'web/routes';\r\nimport PaymentMethodSelector from 'web/components/PaymentMethodSelector/PaymentMethodSelector';\r\nimport { PaymentMethod } from 'model/Externals';\r\nimport { payForCompetitionEntriesWithInvoice } from \"../../../model/Api/Payments/PayForCompetitionEntriesWithInvoiceRequest\";\r\nimport { payForCompetitionEntriesOnline } from \"../../../model/Api/Payments/PayForCompetitionEntriesOnlineRequest\";\r\nimport Handelkurv from \"web/screen/Handelkurv/Handelkurv\";\r\nimport ConfirmationModal from \"common/components/ConfirmationModal/ConfirmationModal\";\r\n\r\nclass SubmissionsMyPagePayment extends Page {\r\n parent: Handelkurv;\r\n @observable userAddresses: UserAddresses;\r\n @observable paymentMethod: PaymentMethodSelector;\r\n @observable isPaymentTermsAccepted: boolean = false;\r\n\r\n constructor(parent: Handelkurv) {\r\n super();\r\n this.parent = parent;\r\n this.userAddresses = new UserAddresses(this, true, true);\r\n this.paymentMethod = new PaymentMethodSelector();\r\n }\r\n\r\n api = loader({\r\n invoicePayment: async (\r\n competitionEntriesRef: number[],\r\n payingPartyRef: number,\r\n isPaymentTermsAccepted: boolean\r\n ) => await payForCompetitionEntriesWithInvoice({\r\n competitionEntriesRef,\r\n payingPartyRef,\r\n isPaymentTermsAccepted\r\n }),\r\n createTransaction: async (\r\n competitionEntriesRef: number[],\r\n payingPartyRef: number,\r\n isPaymentTermsAccepted: boolean\r\n ) => await payForCompetitionEntriesOnline({\r\n competitionEntriesRef,\r\n payingPartyRef,\r\n isPaymentTermsAccepted\r\n })\r\n });\r\n\r\n protected async onActivated(): Promise {\r\n if (!this.parent.selectedEntries.length) {\r\n await this.parent.onRemoveChildPage();\r\n return;\r\n }\r\n await this.userAddresses.init();\r\n window.scrollTo({ top: 0 });\r\n }\r\n\r\n @action\r\n onAcceptTerms = (value: boolean) => {\r\n this.isPaymentTermsAccepted = value;\r\n };\r\n\r\n @computed get selectedEntries() {\r\n return this.parent.selectedEntries;\r\n }\r\n\r\n @computed get totalPrice() {\r\n let price = 0;\r\n let invoiceFeePrice = 0;\r\n this.selectedEntries.forEach((entry) => {\r\n if (!!entry) {\r\n price = price + entry.product.priceIncVat;\r\n invoiceFeePrice =\r\n invoiceFeePrice + entry.invoiceFeeProduct.priceIncVat;\r\n }\r\n });\r\n\r\n return { price, invoiceFeePrice };\r\n }\r\n onPay = async () => {\r\n if (!this.userAddresses.selectedParty || !this.isPaymentTermsAccepted) {\r\n return;\r\n }\r\n if (this.paymentMethod.selected === PaymentMethod.bambora) {\r\n const result = await this.api.createTransaction(\r\n this.parent.selectedEntries.map(e => e.id),\r\n this.userAddresses.selectedParty,\r\n this.isPaymentTermsAccepted\r\n );\r\n\r\n window.location.href = result.url;\r\n } else if (this.paymentMethod.selected === PaymentMethod.invoice) {\r\n const result = await this.api.invoicePayment(\r\n this.parent.selectedEntries.map(e => e.id),\r\n this.userAddresses.selectedParty,\r\n this.isPaymentTermsAccepted\r\n );\r\n homeRoute.historyPush(\r\n `/invoicepaymentstatus?status=${result.status}&orderId=${result.orderId}`\r\n );\r\n }\r\n };\r\n \r\n onPaymentClick = async () => {\r\n await this.showModal(\r\n (close) => new ConfirmationModal(\r\n async () => {\r\n await this.onPay();\r\n },\r\n close\r\n )\r\n )\r\n }\r\n\r\n onRemoveSelectedEntry = (id: number) => this.parent.onRemoveSelectedEntry(id)\r\n\r\n onBack = async () => this.parent.onRemoveChildPage();\r\n}\r\n\r\nexport default SubmissionsMyPagePayment;\r\n","import { Page } from 'react-mvvm';\r\nimport Submissions from 'web/screen/Submissions/Submissions';\r\nimport { computed } from 'mobx';\r\nimport { CompetitionEntryListItemDto } from 'model/Api/Submission/Model/CompetitionEntryListItemDto';\r\nimport SubmissionsMyPagePayment from 'web/screen/SubmissionsMyPagePayment/SubmissionsMyPagePayment';\r\nimport loader from 'react-mvvm/loading/loader';\r\nimport { CompetitionEntryStatus } from 'model/Externals';\r\nimport { updateCompetitionEntry } from 'model/Api/Submission/UpdateCompetitionEntryRequest';\r\nimport { CompetitionEntryDto } from 'model/Api/Submission/Model/CompetitionEntryDto';\r\nimport { getCompetitionEntryDetails } from 'model/Api/Submission/GetCompetitionEntryDetailsRequest';\r\n\r\nclass Handelkurv extends Page {\r\n api = loader({\r\n submitCompetitionEntry: async (entry: CompetitionEntryDto) =>\r\n await updateCompetitionEntry({ competitionEntryDto: entry }),\r\n getCompetitionEntryDetails: async (entryId: number) =>\r\n await getCompetitionEntryDetails({ competitionEntryRef: entryId })\r\n });\r\n parent: Submissions;\r\n\r\n constructor(parent: Submissions) {\r\n super();\r\n this.parent = parent;\r\n }\r\n\r\n @computed get selectedEntries(): CompetitionEntryListItemDto[] {\r\n if (!this.parent.selectedEntries.length) {\r\n return [];\r\n }\r\n\r\n return this.parent.selectedEntries.reduce<\r\n CompetitionEntryListItemDto[]\r\n >((prev, current) => {\r\n const entry = this.parent.entriesList.find((e) => e.id === current);\r\n if (!!entry) {\r\n prev.push(entry);\r\n }\r\n\r\n return prev;\r\n }, []);\r\n }\r\n\r\n onPayOrSubmit = async () => {\r\n if (this.selectedEntries.some((e) => e.product?.priceIncVat > 0)) {\r\n await this.showPayment();\r\n return;\r\n }\r\n \r\n this.selectedEntries.forEach(async (entry) => {\r\n const entryDetails = await this.api.getCompetitionEntryDetails(\r\n entry.id\r\n );\r\n entryDetails.competitionEntryStatus =\r\n CompetitionEntryStatus.submitted;\r\n await this.api.submitCompetitionEntry(entryDetails);\r\n });\r\n await this.parent.loadUserEntries();\r\n await this.onRemoveChildPage();\r\n };\r\n\r\n showPayment = async () => {\r\n return this.showChildPage(new SubmissionsMyPagePayment(this));\r\n };\r\n\r\n onRemoveSelectedEntry = (id: number) => {\r\n if (!id) {\r\n return;\r\n }\r\n this.parent.selectedEntries = this.parent.selectedEntries.reduce<\r\n number[]\r\n >((prev, current) => {\r\n if (current !== id) {\r\n prev.push(current);\r\n }\r\n return prev;\r\n }, []);\r\n };\r\n\r\n onRemoveChildPage = async () => {\r\n await this.parent.onRemoveChildPage();\r\n };\r\n}\r\n\r\nexport default Handelkurv;\r\n","import loader from 'react-mvvm/loading/loader';\r\nimport {getUserCompetitionEntries} from 'model/Api/Submission/GetUserCompetitionEntriesRequest';\r\nimport {CompetitionEntryListItemDto} from 'model/Api/Submission/Model/CompetitionEntryListItemDto';\r\nimport {action, computed, observable} from 'mobx';\r\nimport {CompetitionEntryStatus, CompetitionStatus} from 'model/Externals';\r\nimport {Page} from 'react-mvvm';\r\nimport ConfirmationModal from 'common/components/ConfirmationModal/ConfirmationModal';\r\nimport {deleteCompetitionEntry} from 'model/Api/Submission/DeleteCompetitionEntryRequest';\r\nimport SubmissionApprovedModal from 'common/components/SubmissionApprovedModal/SubmissionApprovedModal';\r\nimport {submitCompetitionEntry} from 'model/Api/Submission/SubmitCompetitionEntryRequest';\r\nimport Handelkurv from \"web/screen/Handelkurv/Handelkurv\";\r\nimport {homeRoute} from \"web/routes\";\r\n\r\ntype SortedEntryByCompetitionStatus = {\r\n open: CompetitionEntryListItemDto[];\r\n past: CompetitionEntryListItemDto[];\r\n}\r\n\r\nclass Submissions extends Page {\r\n @observable entriesList: CompetitionEntryListItemDto[] = [];\r\n @observable selectedEntries: number[] = [];\r\n @observable lastEditedEntry: number | undefined;\r\n\r\n api = loader({\r\n getUserEntries: async () => getUserCompetitionEntries({}),\r\n submitCompetitionEntry: async (competitionEntryId: number) =>\r\n submitCompetitionEntry({\r\n competitionEntryId\r\n })\r\n });\r\n\r\n apiSubmission = loader({\r\n delete: async (competitionEntryRef: number) =>\r\n deleteCompetitionEntry({ competitionEntryRef })\r\n });\r\n\r\n async loadUserEntries() {\r\n this.entriesList = await this.api.getUserEntries();\r\n }\r\n\r\n protected async onActivated(): Promise {\r\n this.selectedEntries = [];\r\n \r\n const formState = homeRoute.getHistoryState();\r\n this.lastEditedEntry = formState ? (formState as any)?.edited : undefined;\r\n await this.loadUserEntries();\r\n setTimeout(()=> {\r\n this.lastEditedEntry = undefined;\r\n window.history.replaceState({}, document.title)\r\n },5000)\r\n }\r\n\r\n @computed get sortedEntry(): SortedEntryByCompetitionStatus {\r\n const list: SortedEntryByCompetitionStatus = {\r\n open: [],\r\n past: []\r\n }\r\n\r\n this.entriesList.forEach(e => {\r\n if ((e.competition.competitionStatus === CompetitionStatus.closed || e.competition.competitionStatus === CompetitionStatus.archived) && e.competitionEntryStatus === CompetitionEntryStatus.submitted) {\r\n list.past.push(e);\r\n return\r\n }\r\n\r\n if ((e.competitionEntryStatus === CompetitionEntryStatus.draft || \r\n e.competitionEntryStatus === CompetitionEntryStatus.submitted) && \r\n (e.competition.competitionStatus !== CompetitionStatus.closed && \r\n e.competition.competitionStatus !== CompetitionStatus.archived && \r\n e.competition.competitionStatus !== CompetitionStatus.draft)) {\r\n list.open.push(e);\r\n return;\r\n }\r\n return;\r\n })\r\n return list;\r\n\r\n }\r\n\r\n @action\r\n onSelectRecord = (\r\n record: CompetitionEntryListItemDto,\r\n selected: boolean,\r\n selectedRows: any[]\r\n ) => {\r\n if (selected) {\r\n this.selectedEntries.push(record.id);\r\n return;\r\n }\r\n\r\n this.selectedEntries._remove(record.id);\r\n };\r\n\r\n @action\r\n onSelectAllRecords = (\r\n selected: boolean,\r\n selectedRows: CompetitionEntryListItemDto[],\r\n changeRows: CompetitionEntryListItemDto[]\r\n ) => {\r\n if (selected) {\r\n this.selectedEntries.push(...changeRows.map((entry) => entry.id));\r\n return;\r\n }\r\n\r\n changeRows.map((entry) => this.selectedEntries._remove(entry.id));\r\n };\r\n \r\n @action\r\n onSubmitSingleEntry = (id:number) => {\r\n this.selectedEntries = [id];\r\n return this.showHandelkurvPage();\r\n }\r\n\r\n onRemoveEntry = async (entry: CompetitionEntryListItemDto) => {\r\n const confirmation = await this.showModal(\r\n (close) =>\r\n new ConfirmationModal(\r\n async () => this.apiSubmission.delete(entry.id),\r\n close,\r\n entry.title\r\n )\r\n );\r\n\r\n if (confirmation) {\r\n this.entriesList._remove(entry);\r\n }\r\n };\r\n \r\n showHandelkurvPage = async () => {\r\n return this.showChildPage(new Handelkurv(this));\r\n }\r\n\r\n onApprove = async (record: CompetitionEntryListItemDto) => {\r\n if (record.isReadyToApprove) {\r\n const result = await this.showModal<\r\n SubmissionApprovedModal,\r\n boolean\r\n >(\r\n (close) =>\r\n new SubmissionApprovedModal(\r\n async () => {\r\n await this.api.submitCompetitionEntry(record.id);\r\n },\r\n close,\r\n ''\r\n )\r\n );\r\n\r\n if (result) {\r\n this.entriesList.find((el) => {\r\n if (el.id === record.id) {\r\n el.competitionEntryStatus =\r\n CompetitionEntryStatus.submitted;\r\n return true;\r\n }\r\n return false;\r\n });\r\n }\r\n }\r\n };\r\n\r\n onRemoveChildPage = async () => {\r\n this.selectedEntries = [];\r\n await this.removeChildPage();\r\n this.onActivated();\r\n };\r\n}\r\n\r\nexport default Submissions;\r\n","import { IPage, navigation, Page } from 'react-mvvm';\r\nimport LoginPage from 'web/screen/LoginPage/LoginPage';\r\nimport loader from 'react-mvvm/loading/loader';\r\nimport hello from 'hellojs';\r\nimport { computed, observable } from 'mobx';\r\nimport UserInfo from './UserInfo/UserInfo';\r\nimport Membership from '../Membership/Membership';\r\nimport Invoices from 'web/screen/Invoices/Invoices';\r\nimport UserInfoEditDialog from 'web/screen/HomePage/UserInfoEditDialog/UserInfoEditDialog';\r\nimport { getUserInfo } from 'model/Api/Individuals/GetUserInfoRequest';\r\nimport { UserInfoDto } from 'model/Api/Individuals/Model/UserInfoDto';\r\nimport ConfirmationModal from 'common/components/ConfirmationModal/ConfirmationModal';\r\nimport CompetitionsListPage from 'web/screen/CompetitionsListPage/CompetitionsListPage';\r\nimport { HeaderBreadcrumbsData } from 'web/components/HeaderBreadcrumbs/HeaderBreadcrumbs';\r\nimport JudgingCompetitions from 'web/screen/JudgingCompetitions/JudgingCompetitions';\r\nimport Submissions from 'web/screen/Submissions/Submissions';\r\nimport { validateToken } from 'model/Api/Account/ValidateTokenRequest';\r\nimport DeleteAccountDialog from 'web/screen/HomePage/UserInfo/DeleteAccountDialog/DeleteAccountDialog';\r\nimport AddressDialog from \"../../../common/components/AddressDialog/AddressDialog\";\r\n\r\nclass HomePage extends Page<\r\n UserInfoEditDialog | AddressDialog | ConfirmationModal | DeleteAccountDialog\r\n> {\r\n @observable userInfo: UserInfo;\r\n @observable userDto: UserInfoDto = {\r\n family: '',\r\n given: '',\r\n email: '',\r\n phoneNumber: '',\r\n isJudge: false,\r\n isMember: undefined,\r\n id: 0,\r\n version: 0,\r\n deletionRequested: false\r\n };\r\n membershipPage: Membership;\r\n submissions: Submissions;\r\n competitionList: CompetitionsListPage;\r\n\r\n constructor() {\r\n super();\r\n this.userInfo = new UserInfo(this);\r\n this.membershipPage = new Membership(this);\r\n this.submissions = new Submissions();\r\n this.competitionList = new CompetitionsListPage();\r\n }\r\n\r\n navigation = navigation(this, {\r\n home: undefined,\r\n loginPage: LoginPage\r\n });\r\n\r\n api = loader({\r\n getUserInfo: async () => await getUserInfo({})\r\n });\r\n\r\n apiToken = loader({\r\n validateToken: async (accessToken: string) =>\r\n await validateToken({ accessToken })\r\n });\r\n\r\n signOutClicked = () => {\r\n hello.logout('customJWT');\r\n hello.utils.store('customJWT', '');\r\n window.location.href = `/login?redirect_uri=${encodeURIComponent(\r\n window.location.href\r\n )}`;\r\n };\r\n\r\n showMembershipPage = async () => {\r\n await this.membershipPage.removeChildPage();\r\n return this.showChildPage(this.membershipPage);\r\n };\r\n\r\n showMembershipApplication = async () => {\r\n await this.showMembershipPage();\r\n await this.membershipPage.showApplicationPage();\r\n };\r\n\r\n showInvoicesPage = async () => {\r\n return this.showChildPage(new Invoices());\r\n };\r\n\r\n showSubmissionPage = async () => {\r\n await this.submissions.removeChildPage();\r\n return this.showChildPage(this.submissions);\r\n };\r\n\r\n showCompetitionsListPage = async () => {\r\n return this.showChildPage(this.competitionList);\r\n };\r\n\r\n showJudgePage = async () => {\r\n return this.showChildPage(new JudgingCompetitions());\r\n };\r\n\r\n showSelectedCompetitions = async (id: number) => {\r\n await this.showCompetitionsListPage();\r\n return this.competitionList.showCompetitionPage(id);\r\n };\r\n\r\n @computed get breadcrumbs(): HeaderBreadcrumbsData[] | undefined {\r\n if (\r\n !!this.childPage &&\r\n (this.childPage instanceof CompetitionsListPage ||\r\n this.childPage instanceof JudgingCompetitions)\r\n ) {\r\n return this.childPage.breadcrumbs;\r\n }\r\n return undefined;\r\n }\r\n\r\n async show(model: T) {\r\n await this.showChildPage(model);\r\n return model;\r\n }\r\n\r\n protected async onLeafFocus() {\r\n if (!this.childPage) {\r\n const ct = hello.utils.store('customJWT');\r\n if (!ct) {\r\n this.navigation.items.loginPage.activate();\r\n return;\r\n }\r\n\r\n this.userDto = await this.api.getUserInfo();\r\n await this.userInfo.init();\r\n await this.userInfo.userAddress.init();\r\n await this.competitionList.competitions.getList();\r\n }\r\n }\r\n}\r\n\r\nexport default HomePage;\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\n\r\nexport interface ValidateTokenRequest {\r\n accessToken: string\r\n}\r\nexport const validateToken = (validateTokenRequest: ValidateTokenRequest): Promise => {\r\n return send(\"ValidateToken\", validateTokenRequest)\r\n}\r\n","import {\r\n Page,\r\n bindableForm,\r\n RequiredFieldValidator,\r\n asyncCommand\r\n} from 'react-mvvm';\r\nimport { observable } from 'mobx';\r\nimport { RequestStatus } from 'admin/state/common';\r\nimport hello, { HelloJSLoginEventArguement } from 'hellojs';\r\nimport { AcceptInvitationDto } from 'model/Api/Account/Model/AcceptInvitationDto';\r\nimport { acceptInvitation } from 'model/Api/Account/AcceptInvitationRequest';\r\nimport queryString from 'query-string';\r\nimport { login, store } from 'auth/Authentication';\r\nimport { acceptInvitationByExternalAuth } from 'model/Api/Account/AcceptInvitationByExternalAuthRequest';\r\nimport { TokenResult } from 'model/Api/Account/Model/TokenResult';\r\nimport HomePage from 'web/screen/HomePage/HomePage';\r\nimport CreateAccountPage from 'web/screen/CreateAccountPage/CreateAccountPage';\r\nimport { homeRoute } from 'web/routes';\r\n\r\nexport class AcceptInvitationPage extends Page {\r\n @observable.ref acceptInvitationDto: AcceptInvitationDto;\r\n\r\n constructor() {\r\n super();\r\n this.acceptInvitationDto = {\r\n id: 0,\r\n version: 0,\r\n token: '',\r\n password: '',\r\n passwordConfirmation: '',\r\n userId: '',\r\n given: '',\r\n family: '',\r\n pin: ''\r\n };\r\n }\r\n\r\n @observable errorMessage: string = '';\r\n @observable isLoading: boolean = false;\r\n @observable requestStatus: RequestStatus = RequestStatus.none;\r\n\r\n acceptInvitationForm = bindableForm()\r\n .addField('pin', { validator: RequiredFieldValidator })\r\n .addField('password', { validator: RequiredFieldValidator })\r\n .addField('passwordConfirmation', {\r\n validator: RequiredFieldValidator\r\n })\r\n .addField('token')\r\n .addField('userId')\r\n .bindTo(() => this.acceptInvitationDto);\r\n\r\n async onActivated() {\r\n const params = queryString.parse(globalThis.location.search);\r\n this.acceptInvitationForm.fields.token.value = !params.token\r\n ? ''\r\n : Array.isArray(params.token)\r\n ? params.token[0]\r\n : params.token;\r\n\r\n this.acceptInvitationForm.fields.userId.value = !params.userId\r\n ? ''\r\n : Array.isArray(params.userId)\r\n ? params.userId[0]\r\n : params.userId;\r\n }\r\n\r\n onSubmit = asyncCommand(\r\n async () => {\r\n if (!(await this.acceptInvitationForm.validate())) return;\r\n this.errorMessage = '';\r\n\r\n this.acceptInvitationForm.commit();\r\n try {\r\n const token = await acceptInvitation({\r\n acceptInvitation: this.acceptInvitationDto\r\n });\r\n\r\n if ('accessToken' in token) {\r\n hello.utils.store('customJWT', {\r\n access_token: token.accessToken.token,\r\n refresh_token: token.refreshToken.token\r\n });\r\n window.location.href = '/';\r\n }\r\n } catch (e) {\r\n this.isLoading = false;\r\n if (\r\n e.response.data.errors &&\r\n e.response.data.errors.length != 0\r\n ) {\r\n this.errorMessage = e.response.data.errors.join(', ');\r\n }\r\n }\r\n },\r\n () => this.acceptInvitationForm.isDirty\r\n );\r\n\r\n showRegisterPage = async () => {\r\n homeRoute.historyPush('login/register');\r\n };\r\n\r\n /*onFacebookLogin = asyncCommand(async () => {\r\n login('facebook').then(\r\n (response: HelloJSLoginEventArguement) => {\r\n if (\r\n response &&\r\n response.authResponse &&\r\n response.authResponse.access_token\r\n ) {\r\n acceptInvitationByExternalAuth({\r\n facebook: {\r\n accessToken: response.authResponse.access_token,\r\n token: this.acceptInvitationForm.fields.token\r\n .value!,\r\n userId: this.acceptInvitationForm.fields.userId\r\n .value!\r\n }\r\n }).then((value: TokenResult) => {\r\n store('customJWT', {\r\n access_token: value.accessToken.token,\r\n expires_in: value.accessToken.expiresIn,\r\n refresh_token: value.refreshToken.token\r\n });\r\n window.location.href = '/';\r\n });\r\n }\r\n },\r\n (reason) => {\r\n this.errorMessage = 'Facebook authentication was rejected';\r\n }\r\n );\r\n });*/\r\n}\r\n\r\nexport default AcceptInvitationPage;\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\nimport {AcceptInvitationDto} from \"./Model/AcceptInvitationDto\"\r\n\r\nimport {TokenResult} from \"./Model/TokenResult\"\r\n\r\nexport interface AcceptInvitationRequest {\r\n acceptInvitation: AcceptInvitationDto\r\n}\r\nexport const acceptInvitation = (acceptInvitationRequest: AcceptInvitationRequest): Promise => {\r\n return send(\"AcceptInvitation\", acceptInvitationRequest)\r\n}\r\n","import {\r\n Page,\r\n bindableForm,\r\n RequiredFieldValidator,\r\n asyncCommand\r\n} from 'react-mvvm';\r\nimport queryString from 'query-string';\r\nimport { observable } from 'mobx';\r\n\r\nimport hello from 'hellojs';\r\nimport {\r\n setPasswordByEmail,\r\n SetPasswordByEmailRequest\r\n} from 'model/Api/Account/SetPasswordByEmailRequest';\r\nimport HomePage from 'web/screen/HomePage/HomePage';\r\n\r\nclass ResetPasswordByEmailPage extends Page {\r\n @observable.ref setPasswordRequest: SetPasswordByEmailRequest;\r\n @observable errorMsg: string;\r\n @observable isLoading: boolean;\r\n\r\n constructor(private parent: HomePage) {\r\n super();\r\n\r\n this.errorMsg = '';\r\n this.isLoading = false;\r\n\r\n const query = queryString.parse(globalThis.location.search);\r\n\r\n this.setPasswordRequest = {\r\n userId: !query.userId\r\n ? ''\r\n : Array.isArray(query.userId)\r\n ? query.userId[0]\r\n : query.userId,\r\n token: !query.token\r\n ? ''\r\n : Array.isArray(query.token)\r\n ? query.token[0]\r\n : query.token,\r\n password: '',\r\n confirmPassword: ''\r\n };\r\n }\r\n\r\n setPasswordForm = bindableForm()\r\n .addField('password', { validator: RequiredFieldValidator })\r\n .addField('confirmPassword', { validator: RequiredFieldValidator })\r\n .bindTo(() => this.setPasswordRequest);\r\n\r\n onSubmit = asyncCommand(\r\n async () => {\r\n this.errorMsg = '';\r\n if (!(await this.setPasswordForm.validate())) return;\r\n this.isLoading = true;\r\n\r\n this.setPasswordForm.commit();\r\n try {\r\n const token = await setPasswordByEmail(this.setPasswordRequest);\r\n if ('accessToken' in token) {\r\n hello.utils.store('customJWT', {\r\n access_token: token.accessToken.token,\r\n refresh_token: token.refreshToken.token\r\n });\r\n window.location.href = '/';\r\n }\r\n this.isLoading = false;\r\n } catch (e) {\r\n this.isLoading = false;\r\n if (\r\n e.response.data.errors &&\r\n e.response.data.errors.length != 0\r\n ) {\r\n this.errorMsg = e.response.data.errors.join(', ');\r\n }\r\n }\r\n },\r\n () => this.setPasswordForm.isDirty\r\n );\r\n}\r\n\r\nexport default ResetPasswordByEmailPage;\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\nimport {TokenResult} from \"./Model/TokenResult\"\r\n\r\nexport interface SetPasswordByEmailRequest {\r\n userId: string\r\n token: string\r\n password: string\r\n confirmPassword: string\r\n}\r\nexport const setPasswordByEmail = (setPasswordByEmailRequest: SetPasswordByEmailRequest): Promise => {\r\n return send(\"SetPasswordByEmail\", setPasswordByEmailRequest)\r\n}\r\n","import {\r\n Page,\r\n bindableForm,\r\n RequiredFieldValidator,\r\n asyncCommand\r\n} from 'react-mvvm';\r\nimport queryString from 'query-string';\r\nimport { observable } from 'mobx';\r\nimport hello from 'hellojs';\r\nimport {\r\n setPasswordByPhone,\r\n SetPasswordByPhoneRequest\r\n} from 'model/Api/Account/SetPasswordByPhoneRequest';\r\nimport HomePage from 'web/screen/HomePage/HomePage';\r\n\r\nclass ResetPasswordByPhonePage extends Page {\r\n @observable.ref setPasswordRequest: SetPasswordByPhoneRequest;\r\n @observable errorMsg: string;\r\n @observable isLoading: boolean;\r\n\r\n constructor(private parent: HomePage) {\r\n super();\r\n this.errorMsg = '';\r\n this.isLoading = false;\r\n\r\n const query = queryString.parse(globalThis.location.search);\r\n\r\n this.setPasswordRequest = {\r\n userId: !query.userId\r\n ? ''\r\n : Array.isArray(query.userId)\r\n ? query.userId[0]\r\n : query.userId,\r\n pin: '',\r\n password: '',\r\n confirmPassword: ''\r\n };\r\n }\r\n\r\n setPasswordForm = bindableForm()\r\n .addField('pin', { validator: RequiredFieldValidator })\r\n .addField('password', { validator: RequiredFieldValidator })\r\n .addField('confirmPassword', { validator: RequiredFieldValidator })\r\n .bindTo(() => this.setPasswordRequest);\r\n\r\n onSubmit = asyncCommand(\r\n async () => {\r\n this.errorMsg = '';\r\n if (!(await this.setPasswordForm.validate())) return;\r\n\r\n this.isLoading = true;\r\n\r\n this.setPasswordForm.commit();\r\n try {\r\n const token = await setPasswordByPhone(this.setPasswordRequest);\r\n if ('accessToken' in token) {\r\n hello.utils.store('customJWT', {\r\n access_token: token.accessToken.token,\r\n refresh_token: token.refreshToken.token\r\n });\r\n window.location.href = '/';\r\n }\r\n } catch (e) {\r\n this.isLoading = false;\r\n if (\r\n e.response.data.errors &&\r\n e.response.data.errors.length != 0\r\n ) {\r\n this.errorMsg = e.response.data.errors.join(', ');\r\n }\r\n }\r\n },\r\n () => this.setPasswordForm.isDirty\r\n );\r\n}\r\n\r\nexport default ResetPasswordByPhonePage;\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\nimport {TokenResult} from \"./Model/TokenResult\"\r\n\r\nexport interface SetPasswordByPhoneRequest {\r\n userId: string\r\n pin: string\r\n password: string\r\n confirmPassword: string\r\n}\r\nexport const setPasswordByPhone = (setPasswordByPhoneRequest: SetPasswordByPhoneRequest): Promise => {\r\n return send(\"SetPasswordByPhone\", setPasswordByPhoneRequest)\r\n}\r\n","import { Page } from 'react-mvvm';\r\nimport queryString from 'query-string';\r\nimport { observable } from 'mobx';\r\nimport HomePage from 'web/screen/HomePage/HomePage';\r\nimport { getPaymentDetails } from \"../../../../model/Api/Payments/GetPaymentDetailsRequest\";\r\nimport { PaymentStatus } from \"../../../../model/Externals\";\r\nimport { PaymentConfirmationResponse } from \"../../../../model/Api/Payments/Model/PaymentConfirmationResponse\";\r\n\r\nasync function delay(ms: number) {\r\n return new Promise(r => setTimeout(r, ms));\r\n}\r\n\r\nclass OnlinePaymentStatusPage extends Page {\r\n @observable confirmPaymentResponse: PaymentConfirmationResponse = {\r\n orderId: '0',\r\n status: PaymentStatus.paid,\r\n transactionId: '0',\r\n isPaymentForCompetitionEntry: true\r\n };\r\n @observable isDeclined: boolean = false;\r\n @observable isLoading: boolean = true;\r\n\r\n constructor(private parent: HomePage, private expectedPaymentStatus: PaymentStatus) {\r\n super();\r\n this.isDeclined = expectedPaymentStatus === PaymentStatus.failed;\r\n }\r\n\r\n protected async onActivated(): Promise {\r\n if (this.expectedPaymentStatus === PaymentStatus.failed){\r\n await delay(5000);\r\n await this.onRemoveChildPage();\r\n return;\r\n }\r\n \r\n const query = queryString.parse(globalThis.location.search);\r\n\r\n const orderId = !query.orderid\r\n ? ''\r\n : Array.isArray(query.orderid)\r\n ? query.orderid[0]\r\n : query.orderid;\r\n\r\n if (!orderId) {\r\n return;\r\n }\r\n\r\n const outcome = await this.getPaymentOutcomeWithRetries(orderId);\r\n this.isDeclined = outcome !== \"accepted\";\r\n this.isLoading = false;\r\n await delay(5000);\r\n await this.onRemoveChildPage();\r\n }\r\n\r\n private async getPaymentOutcomeWithRetries(orderId: string) {\r\n for (let attempt = 0; attempt < 3; attempt++) {\r\n await delay(attempt * 2000);\r\n try {\r\n this.confirmPaymentResponse = await getPaymentDetails({orderId});\r\n if (this.expectedPaymentStatus === PaymentStatus.paid && this.confirmPaymentResponse.status === PaymentStatus.paid) {\r\n return 'accepted';\r\n }\r\n if (this.expectedPaymentStatus === PaymentStatus.pending && this.confirmPaymentResponse.transactionId) {\r\n return 'accepted';\r\n }\r\n if (this.confirmPaymentResponse.status === PaymentStatus.failed)\r\n return 'declined';\r\n }\r\n catch {\r\n }\r\n }\r\n return 'inconclusive';\r\n }\r\n\r\n onRemoveChildPage = async () => {\r\n if(this.confirmPaymentResponse.orderId === '0') {\r\n window.location.href = '/submissions';\r\n } else {\r\n if(this.confirmPaymentResponse.isPaymentForCompetitionEntry) {\r\n window.location.href = '/submissions';\r\n } else {\r\n window.location.href = '/membership';\r\n }\r\n }\r\n };\r\n}\r\n\r\nexport default OnlinePaymentStatusPage;\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\n\r\nimport {PaymentConfirmationResponse} from \"./Model/PaymentConfirmationResponse\"\r\n\r\nexport interface GetPaymentDetailsRequest {\r\n orderId: string\r\n}\r\nexport const getPaymentDetails = (getPaymentDetailsRequest: GetPaymentDetailsRequest): Promise => {\r\n return send(\"GetPaymentDetails\", getPaymentDetailsRequest)\r\n}\r\n","import { Page } from 'react-mvvm';\r\nimport { observable } from 'mobx';\r\nimport queryString from 'query-string';\r\nimport HomePage from 'web/screen/HomePage/HomePage';\r\nimport {homeRoute} from \"web/routes\";\r\n\r\nclass InvoicePaymentStatusPage extends Page {\r\n @observable orderId: string;\r\n @observable isPaymentForMembership: boolean;\r\n @observable status: 'success' | 'error';\r\n timer: number;\r\n\r\n constructor(private parent: HomePage) {\r\n super();\r\n this.timer = 0;\r\n this.orderId = '';\r\n this.status = 'success';\r\n this.isPaymentForMembership = false;\r\n }\r\n\r\n protected async onActivated(): Promise {\r\n const query = queryString.parse(globalThis.location.search);\r\n\r\n this.orderId = !query.orderId\r\n ? ''\r\n : Array.isArray(query.orderId)\r\n ? query.orderId[0]\r\n : query.orderId;\r\n\r\n const status = !query.status\r\n ? 'error'\r\n : Array.isArray(query.status)\r\n ? query.status[0]\r\n : query.status;\r\n\r\n this.status =\r\n status === 'success' || status === 'pending' ? 'success' : 'error';\r\n \r\n this.isPaymentForMembership = !!query.isPaymentForMembership;\r\n\r\n this.timer = (setTimeout(async () => {\r\n if (this.isPaymentForMembership) {\r\n await homeRoute.historyPush('/')\r\n } else {\r\n await homeRoute.historyPush('/submissions')\r\n }\r\n }, 5000) as unknown) as number;\r\n }\r\n\r\n onRemoveChildPage = async () => {\r\n if (this.timer) {\r\n clearTimeout(this.timer);\r\n this.timer = 0;\r\n }\r\n await this.parent.removeChildPage();\r\n };\r\n}\r\n\r\nexport default InvoicePaymentStatusPage;\r\n","import {Page} from \"../../../react-mvvm\";\r\nimport {action, computed, observable} from \"mobx\";\r\nimport Membership from \"../Membership/Membership\";\r\nimport UserAddresses from \"../../../common/components/UserAddresses/UserAddresses\";\r\nimport {PaymentMethod, SubscriptionType} from \"../../../model/Externals\";\r\nimport {MembershipPriceResponse} from \"../../../model/Api/Members/Model/MembershipPriceResponse\";\r\nimport loader from \"../../../react-mvvm/loading/loader\";\r\nimport {getMembershipPrice} from \"../../../model/Api/Members/GetMembershipPriceRequest\";\r\nimport {reapplyForMembershipAndPayOnline} from \"../../../model/Api/Members/ReapplyForMembershipAndPayOnlineRequest\";\r\nimport {homeRoute} from \"../../routes\";\r\nimport {reapplyForMembershipAndPayWithInvoice} from \"../../../model/Api/Members/ReapplyForMembershipAndPayWithInvoiceRequest\";\r\n\r\nclass MembershipReapplyPage extends Page {\r\n \r\n @observable parent: Membership;\r\n @observable userAddresses: UserAddresses;\r\n @observable subscriptionType: SubscriptionType | undefined;\r\n @observable paymentMethod: PaymentMethod | undefined;\r\n @observable isPaymentTermsAccepted: boolean = false;\r\n @observable membershipPrice: MembershipPriceResponse | undefined;\r\n\r\n constructor(parent: Membership) {\r\n super();\r\n\r\n this.parent = parent;\r\n this.userAddresses = new UserAddresses(this, true, true);\r\n }\r\n\r\n protected async onActivated(): Promise {\r\n if (!this.parent.member) {\r\n await this.parent.removeAllChildPages(this.parent as Page);\r\n await this.parent.activate();\r\n }\r\n window.scrollTo({ top: 0 });\r\n\r\n if (this.parent.membershipType) {\r\n this.membershipPrice = await this.api.getMembershipPrice(\r\n this.parent.membershipType.id\r\n );\r\n }\r\n await this.userAddresses.init();\r\n if (this.userAddresses.parties.length > 0)\r\n this.userAddresses.selectedParty = this.userAddresses.parties[0].id;\r\n }\r\n\r\n api = loader({\r\n reapplyAndPayOnline: async (partyId: number, subscriptionType: SubscriptionType ) => \r\n reapplyForMembershipAndPayOnline({\r\n partyId,\r\n subscriptionType\r\n }),\r\n reapplyAndPayWithInvoice: async (partyId: number, subscriptionType: SubscriptionType) => \r\n reapplyForMembershipAndPayWithInvoice({\r\n partyId,\r\n subscriptionType \r\n }),\r\n getMembershipPrice: (typeId: number) =>\r\n getMembershipPrice({\r\n typeId\r\n })\r\n });\r\n\r\n @computed get membership() {\r\n return this.parent.member;\r\n }\r\n\r\n @action\r\n onSubscriptionCheck = (value: SubscriptionType) => {\r\n this.subscriptionType = value;\r\n };\r\n\r\n @action\r\n onTermsCheck = (value: boolean) => {\r\n this.isPaymentTermsAccepted = value;\r\n };\r\n\r\n @action\r\n onPaymentMethodCheck = (values: PaymentMethod) => {\r\n this.paymentMethod = values;\r\n };\r\n\r\n @computed get subscription() {\r\n return this.parent.membershipType;\r\n }\r\n\r\n onChangeMembershipSubscription = async () => {\r\n if (!!this.subscriptionType && !!this.paymentMethod) {\r\n if(this.paymentMethod === PaymentMethod.bambora) {\r\n const onlinePaymentToken = await this.api.reapplyAndPayOnline(\r\n this.userAddresses.selectedParty ?? 0,\r\n this.subscriptionType\r\n );\r\n \r\n window.location.href = onlinePaymentToken.url;\r\n } else {\r\n const invoicePayment = await this.api.reapplyAndPayWithInvoice(\r\n this.userAddresses.selectedParty ?? 0, this.subscriptionType);\r\n \r\n homeRoute.historyPush(\r\n `/invoicepaymentstatus?status=${invoicePayment.status}&orderId=${invoicePayment.orderId}`\r\n );\r\n }\r\n }\r\n };\r\n\r\n @computed get userName() {\r\n return this.parent.userName\r\n }\r\n\r\n @computed get isPaymentDisable() {\r\n return (\r\n !this.subscriptionType ||\r\n !this.paymentMethod ||\r\n !this.isPaymentTermsAccepted\r\n );\r\n }\r\n\r\n onBck = async () => {\r\n await this.parent.removeAllChildPages(this.parent as Page);\r\n await this.parent.activate();\r\n };\r\n}\r\n\r\nexport default MembershipReapplyPage;","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\nimport {SubscriptionType} from \"../../Externals\"\r\n\r\nimport {OnlinePaymentTokenDto} from \"../Payments/Model/OnlinePaymentTokenDto\"\r\n\r\nexport interface ReapplyForMembershipAndPayOnlineRequest {\r\n subscriptionType: SubscriptionType\r\n partyId: number\r\n}\r\nexport const reapplyForMembershipAndPayOnline = (reapplyForMembershipAndPayOnlineRequest: ReapplyForMembershipAndPayOnlineRequest): Promise => {\r\n return send(\"ReapplyForMembershipAndPayOnline\", reapplyForMembershipAndPayOnlineRequest)\r\n}\r\n","import { send } from \"api\";\r\nimport { ApiErrorResponse } from \"../../Api/Model/ApiErrorResponse\";\r\nimport {SubscriptionType} from \"../../Externals\"\r\n\r\nimport {InvoicePaymentDto} from \"../Payments/Model/InvoicePaymentDto\"\r\n\r\nexport interface ReapplyForMembershipAndPayWithInvoiceRequest {\r\n subscriptionType: SubscriptionType\r\n partyId: number\r\n}\r\nexport const reapplyForMembershipAndPayWithInvoice = (reapplyForMembershipAndPayWithInvoiceRequest: ReapplyForMembershipAndPayWithInvoiceRequest): Promise => {\r\n return send(\"ReapplyForMembershipAndPayWithInvoice\", reapplyForMembershipAndPayWithInvoiceRequest)\r\n}\r\n","import { route } from 'react-mvvm/routing';\r\nimport HomePage from 'web/screen/HomePage/HomePage';\r\nimport LoginPage from 'web/screen/LoginPage/LoginPage';\r\nimport AcceptInvitationPage from './screen/AcceptInvitation/AcceptInvitationPage';\r\nimport CompetitionsListPage from 'web/screen/CompetitionsListPage/CompetitionsListPage';\r\nimport Competition from 'web/screen/Competition/Competition';\r\nimport SubmissionFormPage from './screen/SubmissionFormPage/SubmissionFormPage';\r\nimport SubmissionFormPreviewPage from './screen/SubmissionFormPreview/SubmissionFormPreviewPage';\r\nimport JudgingCompetitions from 'web/screen/JudgingCompetitions/JudgingCompetitions';\r\nimport JudgingIntroPage from './screen/JudgingIntroPage/JudgingIntroPage';\r\nimport JudgingCategoryPage from 'web/screen/JudgingCategoryPage/JudgingCategoryPage';\r\nimport JudgingEntriesPage from 'web/screen/JudgingEntriesPage/JudgingEntriesPage';\r\nimport JudgingEntryDetails from 'web/screen/JudgingEntryDetails/JudgingEntryDetails';\r\nimport AskForPasswordResetPage from './screen/AskForPasswordResetPage/AskForPasswordResetPage';\r\nimport ResetPasswordByEmailPage from './screen/ResetPasswordPage/ResetPasswordByEmailPage/ResetPasswordByEmailPage';\r\nimport ResetPasswordByPhonePage from './screen/ResetPasswordPage/ResetPasswordByPhonePage/ResetPasswordByPhonePage';\r\nimport CreateAccountPage from './screen/CreateAccountPage/CreateAccountPage';\r\nimport Membership from 'web/screen/Membership/Membership';\r\nimport Invoices from 'web/screen/Invoices/Invoices';\r\nimport OnlinePaymentStatusPage from './screen/SubmissionStatusPage/OnlinePaymentStatusPage/OnlinePaymentStatusPage';\r\nimport SubmissionPayment from 'web/screen/SubmissionPayment/SubmissionPayment';\r\nimport SubmissionsMyPagePayment from 'web/screen/SubmissionsMyPagePayment/SubmissionsMyPagePayment';\r\nimport InvoicePaymentStatusPage from './screen/SubmissionStatusPage/InvoicePaymentStatusPage/InvoicePaymentStatusPage';\r\nimport MembershipApplication from 'web/screen/MembershipApplication/MembershipApplication';\r\nimport ConfirmPhoneNumberPage from './screen/ConfirmPhoneNumberPage/ConfirmPhoneNumberPage';\r\nimport Submissions from 'web/screen/Submissions/Submissions';\r\nimport MembershipPaymentPage from 'web/screen/MembershipPaymentPage/MembershipPaymentPage';\r\nimport { PaymentStatus } from \"../model/Externals\";\r\nimport MembershipReapplyPage from \"./screen/MembershipReapplyPage/MembershipReapplyPage\";\r\nimport Handelkurv from \"web/screen/Handelkurv/Handelkurv\";\r\n\r\nexport const homeRoute = route('', () => new HomePage());\r\n\r\n//Login/Register\r\nexport const loginPageRoute = homeRoute.addRoute(\r\n '/login',\r\n LoginPage,\r\n (home) => home.show(new LoginPage()),\r\n (page) => ({})\r\n);\r\n\r\nexport const askForPasswordReset = loginPageRoute.addRoute<\r\n AskForPasswordResetPage\r\n>(\r\n '/resetpassword',\r\n AskForPasswordResetPage,\r\n (loginPage) => loginPage.showPasswordResetPage(),\r\n (page) => ({})\r\n);\r\n\r\nexport const resetPassword = homeRoute.addRoute(\r\n '/setnewpassword',\r\n ResetPasswordByEmailPage,\r\n (homePage) =>\r\n homePage.showChildPage(new ResetPasswordByEmailPage(homePage)),\r\n (page) => ({})\r\n);\r\n\r\nexport const resetPasswordByPhone = homeRoute.addRoute<\r\n ResetPasswordByPhonePage\r\n>(\r\n '/setnewpasswordbyphone',\r\n ResetPasswordByPhonePage,\r\n (homePage) =>\r\n homePage.showChildPage(new ResetPasswordByPhonePage(homePage)),\r\n (page) => ({})\r\n);\r\n\r\nexport const createAccountRoute = loginPageRoute.addRoute(\r\n '/register',\r\n CreateAccountPage,\r\n (loginPage) => loginPage.showChildPage(new CreateAccountPage(loginPage)),\r\n (page) => ({})\r\n);\r\n\r\n//Membership\r\nexport const membershipRoute = homeRoute.addRoute(\r\n '/membership',\r\n Membership,\r\n (home) => home.showMembershipPage(),\r\n (page) => ({})\r\n);\r\n\r\nexport const membershipPaymentPageRoute = membershipRoute.addRoute<\r\n MembershipPaymentPage\r\n>(\r\n '/payment',\r\n MembershipPaymentPage,\r\n (membership) => membership.showMembershipPaymentPage(),\r\n (page) => ({})\r\n);\r\n\r\nexport const membershipReapplyPageRoute = membershipRoute.addRoute<\r\n MembershipReapplyPage\r\n >(\r\n '/reapply',\r\n MembershipReapplyPage,\r\n (membership) => membership.showChildPage(new MembershipReapplyPage(membership)),\r\n (page) => ({})\r\n);\r\n\r\nexport const membershipApplicationRoute = membershipRoute.addRoute<\r\n MembershipApplication\r\n>(\r\n '/application',\r\n MembershipApplication,\r\n (membership) => membership.showApplicationPage(),\r\n (page) => ({})\r\n);\r\n\r\nexport const invoicesRoute = homeRoute.addRoute(\r\n '/invoices',\r\n Invoices,\r\n (home) => home.showInvoicesPage(),\r\n (page) => ({})\r\n);\r\n\r\nexport const confirmInvitation = homeRoute.addRoute(\r\n '/acceptinvitation',\r\n AcceptInvitationPage,\r\n (home) => home.showChildPage(new AcceptInvitationPage()),\r\n (page) => ({})\r\n);\r\n\r\n//Submissions\r\nexport const submissionsRoute = homeRoute.addRoute(\r\n '/submissions',\r\n Submissions,\r\n (homePage) => homePage.showSubmissionPage(),\r\n (page) => ({})\r\n);\r\n\r\nexport const handelkurvRute = submissionsRoute.addRoute(\r\n '/handelkurv',\r\n Handelkurv,\r\n (submissionsRoute) => submissionsRoute.showHandelkurvPage(),\r\n (page) => ({})\r\n);\r\n\r\n\r\nexport const submissionsMyPagePaymentRoute = handelkurvRute.addRoute(\r\n '/payment',\r\n SubmissionsMyPagePayment,\r\n (handelkurvRute) => handelkurvRute.showPayment(),\r\n (page) => ({})\r\n)\r\n\r\n\r\n//Competitions\r\nexport const competitionsListPageRoute = homeRoute.addRoute<\r\n CompetitionsListPage\r\n>(\r\n '/competitions',\r\n CompetitionsListPage,\r\n (homePage) => homePage.showCompetitionsListPage(),\r\n (page) => ({})\r\n);\r\n\r\nexport const competitionRoute = competitionsListPageRoute.addRoute<\r\n Competition,\r\n { competitionId: string }\r\n>(\r\n '/:competitionId',\r\n Competition,\r\n (competitions, params) =>\r\n competitions.showCompetitionPage(Number(params.competitionId)),\r\n (page) => ({ competitionId: page.competitionId.toString() })\r\n);\r\nexport const submissionFormRoute = competitionRoute.addRoute<\r\n SubmissionFormPage,\r\n { categoryId: string; entryId: string }\r\n>(\r\n '/categories/:categoryId/:entryId',\r\n SubmissionFormPage,\r\n (competitions, params) =>\r\n competitions.showFormPage(\r\n Number(params.categoryId),\r\n Number(params.entryId)\r\n ),\r\n (page) => ({\r\n categoryId: page.categoryId.toString(),\r\n entryId: page.entryId.toString()\r\n })\r\n);\r\nexport const submissionFormPreview = submissionFormRoute.addRoute<\r\n SubmissionFormPreviewPage\r\n>(\r\n '/preview',\r\n SubmissionFormPreviewPage,\r\n (submissionFormPage, params) => submissionFormPage.showFormPreviewPage(),\r\n (page) => ({})\r\n);\r\n\r\nexport const submissionPaymentRoute = submissionFormPreview.addRoute<\r\n SubmissionPayment\r\n>(\r\n '/payment',\r\n SubmissionPayment,\r\n (submissionPreview) => submissionPreview.showSubmissionPaymentPage(),\r\n (page) => ({})\r\n);\r\n\r\n//Judging\r\nexport const judgingCompetitionsRoute = homeRoute.addRoute(\r\n '/judging-competitions',\r\n JudgingCompetitions,\r\n (judgingLanding) => judgingLanding.showChildPage(new JudgingCompetitions()),\r\n () => ({})\r\n);\r\n\r\nexport const judgingIntroRoute = judgingCompetitionsRoute.addRoute<\r\n JudgingIntroPage,\r\n { competitionId: string }\r\n>(\r\n '/:competitionId',\r\n JudgingIntroPage,\r\n (judgingCompetitions, params) =>\r\n judgingCompetitions.showJudgingIntroductionPage(\r\n Number(params.competitionId)\r\n ),\r\n (page) => ({ competitionId: page.competitionId.toString() })\r\n);\r\n\r\nexport const judgingCategoryPageRoute = judgingIntroRoute.addRoute<\r\n JudgingCategoryPage,\r\n { competitionId: string }\r\n>(\r\n '/categories',\r\n JudgingCategoryPage,\r\n (judgingIntro, params) => judgingIntro.showJudgingCategoryPage(),\r\n (page) => ({ competitionId: page.competitionId.toString() })\r\n);\r\n\r\nexport const judgingEntriesPageRoute = judgingCategoryPageRoute.addRoute<\r\n JudgingEntriesPage,\r\n { categoryId: string }\r\n>(\r\n '/:categoryId',\r\n JudgingEntriesPage,\r\n (judgingCategories, params) =>\r\n judgingCategories.showJudgingEntriesPage(Number(params.categoryId)),\r\n (page) => ({ categoryId: page.categoryId.toString() })\r\n);\r\n\r\nexport const judgingEntryDetailsRoute = judgingEntriesPageRoute.addRoute<\r\n JudgingEntryDetails,\r\n { entryId: string }\r\n>(\r\n '/:entryId',\r\n JudgingEntryDetails,\r\n (judgingEntries, params) =>\r\n judgingEntries.showJudgingEntryDetails(Number(params.entryId)),\r\n (page) => ({ entryId: page.entryId.toString() })\r\n);\r\n\r\nexport const pendingPaymentCallback = homeRoute.addRoute(\r\n '/payment/authorized',\r\n OnlinePaymentStatusPage,\r\n (home) => home.showChildPage(new OnlinePaymentStatusPage(home, PaymentStatus.pending)),\r\n (page) => ({})\r\n);\r\n\r\nexport const paidPaymentCallback = homeRoute.addRoute(\r\n '/payment/captured',\r\n OnlinePaymentStatusPage,\r\n (home) => home.showChildPage(new OnlinePaymentStatusPage(home, PaymentStatus.paid)),\r\n (page) => ({})\r\n);\r\n\r\nexport const declinedPaymentCallback = homeRoute.addRoute<\r\n OnlinePaymentStatusPage\r\n>(\r\n '/payment/declined',\r\n OnlinePaymentStatusPage,\r\n (home) => home.showChildPage(new OnlinePaymentStatusPage(home, PaymentStatus.failed)),\r\n (page) => ({})\r\n);\r\n\r\nexport const invoicePaymentStatusCallback = homeRoute.addRoute<\r\n InvoicePaymentStatusPage\r\n>(\r\n '/invoicepaymentstatus',\r\n InvoicePaymentStatusPage,\r\n (home) => home.showChildPage(new InvoicePaymentStatusPage(home)),\r\n (page) => ({})\r\n);\r\n\r\nexport const confirmPhoneNumber = createAccountRoute.addRoute<\r\n ConfirmPhoneNumberPage\r\n>(\r\n '/confirmPhoneNumber',\r\n ConfirmPhoneNumberPage,\r\n (createAccountPage) =>\r\n createAccountPage.showChildPage(new ConfirmPhoneNumberPage('')),\r\n (page) => ({})\r\n);\r\n","import * as React from \"react\";\r\nimport style from './PageWrapper.module.scss';\r\n\r\nconst PageWrapper: React.FC = ({children}) => {\r\n return
\r\n {children}\r\n
\r\n}\r\nexport default PageWrapper","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M149 70c-14.272 0-27.12 6.106-36.075 15.843 7.551.156 14.247 2.959 17.258 5.255.991.824 1.54.642 2.082-.089l1.367-1.633c.36-.365.726-.82 1.274-.82.636 0 .813.455.813 1.091l.272 17.356c0 .454-.089.82-.45.82l-1.638.177c-.365 0-.631-.266-.725-.72-.725-2.547-2.275-6.815-5.458-10.724-2.719-3.366-8.355-7.452-16.537-7.452-.334 0-.678 0-1.017.016A48.818 48.818 0 0 0 100 119a48.782 48.782 0 0 0 10.457 30.262c7.27 0 11.726-1.274 14.904-3.09 2.093-1.274 2.452-3.271 2.452-8v-6.72c0-3.278-.996-4.181-3.725-4.181h-3.814c-.455 0-.632-.188-.632-.548v-2.27c0-.548.089-.725.542-.725 1.269 0 5.36.271 11.538.271 6.544 0 9.45-.27 10.724-.27.642 0 .725.27.725.635v2.182c0 .36-.083.725-.631.725h-3.549c-1.633 0-2.813.637-2.813 3.45v11.996c0 1.274.361 2.181.361 2.907 0 .731-.548 1.091-1.451 1.461-6.549 3.308-13.036 5.324-21.546 5.73C122.465 162.177 135.057 168 149 168c27.062 0 48.995-21.932 48.995-49S176.062 70 149 70\",\n fill: \"#FFF\",\n fillRule: \"evenodd\"\n});\n\nvar SvgLogoSmall = function SvgLogoSmall(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 98,\n height: 99,\n viewBox: \"100 70 98 99\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgLogoSmall, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/logoSmall.f413a52c.svg\";\nexport { ForwardRef as ReactComponent };","import moment from 'moment';\r\n\r\nimport * as React from 'react';\r\nimport { CompetitionListItemDto } from 'model/Api/Competitions/Model/CompetitionListItemDto';\r\nimport Arrow from 'web/components/Arrow';\r\nimport { observer } from 'mobx-react';\r\nimport style from './List.module.scss';\r\nimport { Empty } from 'antd';\r\nimport classNames from 'classnames';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nexport enum CompetitionListItemType {\r\n future = 'future',\r\n current = 'current',\r\n past = 'past'\r\n}\r\n\r\ninterface ListProps {\r\n title: string;\r\n competitions: CompetitionListItemDto[];\r\n type: CompetitionListItemType;\r\n onDetails: (id: number) => void;\r\n}\r\n\r\nconst List: React.FC = observer(\r\n ({ title, competitions, onDetails, type }) => {\r\n const { t } = useTranslation('competitions');\r\n const titleStyle = classNames(style.rowTitle, {\r\n [style.rowTitlePast]: type === CompetitionListItemType.past,\r\n [style.rowTitleFuture]: type === CompetitionListItemType.future\r\n });\r\n return (\r\n
    \r\n
  • {title}
  • \r\n {!competitions.length && (\r\n
  • \r\n \r\n
  • \r\n )}\r\n {competitions.map((competition) => (\r\n onDetails(competition.id)}>\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n {competition.name}\r\n \r\n \r\n {`${moment(\r\n competition.submissionsDeadlineStart\r\n ).format('DD. MMM YYYY')} - ${moment(\r\n competition.submissionsDeadlineEnd\r\n ).format('DD. MMM YYYY')}`}\r\n \r\n {/*\r\n {competition.description}\r\n */}\r\n
    \r\n \r\n ))}\r\n
\r\n );\r\n }\r\n);\r\n\r\nexport default List;\r\n","import * as React from 'react';\r\nimport { ReactComponent as Logo } from './img/logoSmall.svg';\r\nimport { Button } from 'antd';\r\nimport PageWrapper from 'web/components/PageWrapper';\r\nimport style from './CompetitionHeader.module.scss';\r\nimport { ReactNode } from 'react';\r\nimport { observer } from 'mobx-react';\r\nimport hello from 'hellojs';\r\nimport {useTranslation} from \"react-i18next\";\r\n\r\ninterface CompetitionHeaderProps {\r\n logoClick: () => void;\r\n helpClick: () => void;\r\n signoutClick?: () => void;\r\n breadcrumbs?: ReactNode;\r\n}\r\n\r\nconst CompetitionHeader: React.FC = observer(\r\n ({ logoClick, helpClick, signoutClick, breadcrumbs }) => {\r\n const { t } = useTranslation('homePage');\r\n const onSignOutClicked = () => {\r\n hello.logout('customJWT');\r\n hello.utils.store('customJWT', '');\r\n window.location.href = `/login?redirect_uri=${encodeURIComponent(\r\n window.location.href\r\n )}`;\r\n };\r\n return (\r\n
\r\n \r\n
\r\n
\r\n logoClick()} /> \r\n
\r\n
\r\n {!!breadcrumbs && breadcrumbs} \r\n
\r\n
\r\n \r\n !!signoutClick ? signoutClick() : onSignOutClicked()\r\n }>\r\n {t('signOut')}\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n);\r\n\r\nexport default CompetitionHeader;\r\n","import * as React from 'react';\r\nimport style from './MemberMenu.module.scss';\r\nimport HomePage from '../HomePage';\r\nimport PageWrapper from 'web/components/PageWrapper';\r\nimport classNames from 'classnames';\r\nimport Membership from 'web/screen/Membership/Membership';\r\nimport Invoices from 'web/screen/Invoices/Invoices';\r\nimport Submissions from 'web/screen/Submissions/Submissions';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { observer } from 'mobx-react';\r\n\r\ninterface MemberMenuProps {\r\n model: HomePage;\r\n}\r\n\r\nconst MemberMenu: React.FC = observer(({ model }) => {\r\n const { t } = useTranslation('subMenu');\r\n const {\r\n showMembershipPage,\r\n showInvoicesPage,\r\n showSubmissionPage,\r\n navigation,\r\n childPage\r\n } = model;\r\n\r\n return (\r\n
\r\n \r\n
    \r\n navigation.items.home.activate()}>\r\n {t('myPage')}\r\n \r\n showMembershipPage()}>\r\n {t('membership')}\r\n \r\n showSubmissionPage()}>\r\n {t('submissions')}\r\n \r\n showInvoicesPage()}>\r\n {t('invoices')}\r\n \r\n
\r\n
\r\n
\r\n );\r\n});\r\n\r\nexport default MemberMenu;\r\n","import * as React from 'react';\r\nimport UserInfoEditDialog from './UserInfoEditDialog';\r\nimport AntModal from 'common/components/antHelpers/AntModal';\r\nimport AntForm from 'common/components/antHelpers/AntForm';\r\nimport AntField from 'common/components/antHelpers/AntField';\r\nimport AntTextInput from 'common/components/antHelpers/AntTextInput';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { observable } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\n\r\ninterface UserInfoEditDialogViewProps {\r\n dialog: UserInfoEditDialog;\r\n}\r\n\r\nconst UserInfoEditDialogView: React.FC = observer(\r\n ({ dialog }) => {\r\n const { t } = useTranslation(['homePage', 'common']);\r\n const formLayout = {\r\n labelCol: { span: 4 },\r\n wrapperCol: { span: 20 }\r\n };\r\n return (\r\n <>\r\n {!dialog.confirmTicket && (\r\n \r\n \r\n {(fields) => {\r\n return (\r\n <>\r\n \r\n {(props) => (\r\n \r\n )}\r\n \r\n \r\n {(props) => (\r\n \r\n )}\r\n \r\n \r\n {(props) => (\r\n \r\n )}\r\n \r\n \r\n {(props) => (\r\n \r\n )}\r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n )}\r\n {dialog.confirmTicket && (\r\n \r\n \r\n {(fields) => {\r\n return (\r\n <>\r\n \r\n {(props) => (\r\n \r\n )}\r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n )}\r\n \r\n );\r\n }\r\n);\r\n\r\nexport default UserInfoEditDialogView;\r\n","import * as React from 'react';\r\nimport UserInfo from './UserInfo';\r\nimport style from 'web/screen/HomePage/UserInfo/UserInfo.module.scss';\r\nimport { Button, Typography } from 'antd';\r\nimport UserInfoEditDialog from 'web/screen/HomePage/UserInfoEditDialog/UserInfoEditDialog';\r\nimport UserInfoEditDialogView from 'web/screen/HomePage/UserInfoEditDialog/UserInfoEditDialogView';\r\nimport { observer } from 'mobx-react';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\ninterface UserDataProps {\r\n model: UserInfo;\r\n}\r\n\r\nconst UserData: React.FC = observer(({ model }) => {\r\n const { t } = useTranslation(['homePage', 'common']);\r\n return (\r\n <>\r\n
\r\n {model.fullName}\r\n \r\n {t('common:edit')}\r\n \r\n
\r\n
\r\n {t('homePage:mobile')}\r\n \r\n {model.dto.phoneNumber ?? '-'}\r\n \r\n
\r\n
\r\n {t('homePage:email')}\r\n {model.dto.email}\r\n
\r\n {model.parent.dialog instanceof UserInfoEditDialog && (\r\n \r\n )}\r\n \r\n );\r\n});\r\n\r\nexport default UserData;\r\n","import { useTranslation } from 'react-i18next';\r\n\r\nimport * as React from 'react';\r\nimport { PartyDto } from 'model/Api/Parties/Model/PartyDto';\r\nimport style from './UserAddresses.module.scss';\r\nimport Party from './Party';\r\nimport classNames from 'classnames';\r\nimport { observer } from 'mobx-react';\r\nimport Flex from 'common/components/Flex';\r\nimport { Button } from 'antd';\r\n\r\ninterface AddressBoxProps {\r\n party: PartyDto;\r\n onSelect: ((id: number) => void) | undefined;\r\n selected: number | undefined;\r\n onEdit: (party: PartyDto) => void;\r\n onDelete: (partyRef: number) => void;\r\n}\r\n\r\nconst AddressBox: React.FC = observer(\r\n ({ party, onSelect, selected, onEdit, onDelete }) => {\r\n const boxStyle = classNames(style.partyBox, {\r\n [style.partyBoxSelected]: party.id === selected\r\n });\r\n const { t } = useTranslation(['common']);\r\n\r\n return (\r\n
\r\n !!onSelect && onSelect(party.id)}>\r\n \r\n
\r\n \r\n onEdit(party)}\r\n size={'small'}\r\n className={style.btn}>\r\n {t('common:edit')}\r\n \r\n onDelete(party.id)}\r\n size={'small'}\r\n className={style.btn}>\r\n {t('common:delete')}\r\n \r\n \r\n \r\n );\r\n }\r\n);\r\n\r\nexport default AddressBox;\r\n","import * as React from 'react';\r\nimport UserAddresses from './UserAddresses';\r\nimport style from './UserAddresses.module.scss';\r\nimport AddressBox from './AddressBox';\r\nimport ConfirmationModal from 'common/components/ConfirmationModal/ConfirmationModal';\r\nimport ConfirmationModalView from 'common/components/ConfirmationModal/ConfirmationModalView';\r\nimport Party from './Party';\r\nimport { Button, Collapse } from 'antd';\r\nimport { PlusOutlined } from '@ant-design/icons';\r\nimport { observer } from 'mobx-react';\r\nimport Flex from 'common/components/Flex';\r\nimport { useTranslation } from 'react-i18next';\r\nimport AddressDialogView from '../AddressDialog/AddressDialogView';\r\nimport AddressDialog from '../AddressDialog/AddressDialog';\r\n\r\ninterface UserAddressesViewProps {\r\n model: UserAddresses;\r\n}\r\n\r\nconst { Panel } = Collapse;\r\n\r\nconst UserAddressesView: React.FC = observer(\r\n ({ model }) => {\r\n const { t } = useTranslation(['userAddresses']);\r\n return (\r\n <>\r\n \r\n \r\n
\r\n {model.sortedParties.private.map((party) => (\r\n \r\n ))}\r\n
\r\n
\r\n \r\n
\r\n {model.sortedParties.company.map((party) => (\r\n \r\n ))}\r\n
\r\n
\r\n \r\n {model.page.dialog instanceof AddressDialog && (\r\n \r\n )}\r\n {model.page.dialog instanceof ConfirmationModal && (\r\n \r\n {t('userAddresses:deleteConfirmation')}\r\n {!!model.deleteParty && (\r\n \r\n )}\r\n \r\n )}\r\n \r\n model.onCreateAddress()}\r\n className={style.btnAdd}>\r\n {t('userAddresses:addAddress')}\r\n \r\n \r\n \r\n );\r\n }\r\n);\r\n\r\nexport default UserAddressesView;\r\n","import * as React from 'react';\r\nimport UserInfo from './UserInfo';\r\nimport style from './UserInfo.module.scss';\r\nimport { Button, Typography } from 'antd';\r\nimport { observer } from 'mobx-react';\r\nimport Flex from 'common/components/Flex';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { PaymentMethod, SubscriptionType } from 'model/Externals';\r\n\r\ninterface MembershipDataProps {\r\n model: UserInfo;\r\n}\r\n\r\nconst MembershipData: React.FC = observer(({ model }) => {\r\n const { t } = useTranslation(['homePage', 'common', 'membership']);\r\n return (\r\n <>\r\n
\r\n \r\n {t('homePage:membership')}\r\n \r\n
\r\n
\r\n \r\n {t('homePage:membershipStatus')}\r\n \r\n \r\n {model.member?.isActive\r\n ? t('homePage:activeMembership')\r\n : t('homePage:inActiveMembership')}\r\n \r\n
\r\n
\r\n \r\n {t('homePage:membershipType')}\r\n \r\n \r\n {model.member?.currentMembership?.type.name}\r\n \r\n
\r\n
\r\n \r\n {t('homePage:subscriptionType')}\r\n \r\n \r\n {!model.member?.currentSubscription\r\n ? '-'\r\n : model.member.currentSubscription\r\n .subscriptionType === SubscriptionType.annual\r\n ? t('membership:annual')\r\n : t('membership:monthly')}\r\n \r\n
\r\n
\r\n \r\n {t('homePage:paymentType')}\r\n \r\n \r\n {model?.member?.currentSubscription ? (model.member.currentSubscription\r\n .paymentMethod === PaymentMethod.bambora\r\n ? t('common:payByCart')\r\n : t('common:payByInvoice')) : '-'}\r\n \r\n
\r\n \r\n \r\n {t('homePage:allMembershipInformation')}\r\n \r\n \r\n \r\n );\r\n});\r\n\r\nexport default MembershipData;\r\n","import * as React from 'react';\r\nimport style from './Arrow.module.scss';\r\nimport classNames from 'classnames';\r\n\r\ninterface ArrowProps {\r\n direction?: 'left' | 'right';\r\n color?: string;\r\n customStyle?: string;\r\n}\r\n\r\nconst Arrow: React.FC = ({\r\n direction = 'right',\r\n color = '#979797',\r\n customStyle\r\n}) => {\r\n const pointUpper = classNames(style.point, {\r\n [style.leftUpper]: direction === 'left',\r\n [style.rightUpper]: direction === 'right'\r\n });\r\n const pointLower = classNames(style.point, {\r\n [style.leftLower]: direction === 'left',\r\n [style.rightLower]: direction === 'right'\r\n });\r\n const bgColor = { color: color };\r\n \r\n const arrow = classNames(style.arrow, !!customStyle && customStyle);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Arrow;\r\n","import * as React from 'react';\r\nimport CompetitionsList from './CompetitionsList';\r\nimport PageLoader from 'common/components/PageLoader';\r\nimport List from './List';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { CompetitionListItemType } from 'web/components/CompetitionsList/List/List';\r\nimport { observer } from 'mobx-react';\r\n\r\ninterface CompetitionsListViewProps {\r\n model: CompetitionsList;\r\n onDetails?: (id: number) => void;\r\n}\r\n\r\nconst CompetitionsListView: React.FC = observer(\r\n ({ model, onDetails }) => {\r\n const { t } = useTranslation('competitions');\r\n\r\n return (\r\n \r\n \r\n !!onDetails ? onDetails(id) : model.onDetails(id)\r\n }\r\n />\r\n {!!model.sorted.future.length && (\r\n \r\n !!onDetails ? onDetails(id) : model.onDetails(id)\r\n }\r\n />\r\n )}\r\n \r\n );\r\n }\r\n);\r\n\r\nexport default CompetitionsListView;\r\n","import * as React from 'react';\r\nimport style from './ArrowPanel.module.scss';\r\nimport Arrow from 'web/components/Arrow';\r\nimport { ReactElement } from 'react';\r\nimport classNames from 'classnames';\r\n\r\ninterface ArrowPanelProp {\r\n contentBox?: ReactElement;\r\n title?: string;\r\n desc?: string;\r\n onClick?: () => void;\r\n containerStyle?: string;\r\n}\r\n\r\nconst ArrowPanel: React.FC = ({\r\n contentBox,\r\n title,\r\n desc,\r\n onClick,\r\n containerStyle\r\n}) => {\r\n const panelStyle = classNames(style.panel, {[containerStyle as string]: !!containerStyle});\r\n\r\n return (\r\n
!!onClick && onClick()}>\r\n
\r\n \r\n
\r\n {!!contentBox && (\r\n
{contentBox}
\r\n )}\r\n {!!title && !!desc && (\r\n
\r\n {title}\r\n {desc}\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default ArrowPanel;\r\n","import * as React from 'react';\r\nimport AntModal from 'common/components/antHelpers/AntModal';\r\nimport DeleteAccountDialog from 'web/screen/HomePage/UserInfo/DeleteAccountDialog/DeleteAccountDialog';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\ninterface DeleteAccountDialogViewProps {\r\n dialog: DeleteAccountDialog;\r\n}\r\n\r\nconst DeleteAccountDialogView: React.FC = ({\r\n dialog\r\n}) => {\r\n const { t } = useTranslation('homePage');\r\n return (\r\n \r\n

{t('homePage:deleteAccountMsg')}

\r\n \r\n );\r\n};\r\n\r\nexport default DeleteAccountDialogView;\r\n","import * as React from 'react';\r\nimport UserInfo from './UserInfo';\r\nimport { Button, Col, Row } from 'antd';\r\nimport style from './UserInfo.module.scss';\r\nimport { observer } from 'mobx-react';\r\nimport PageLoader from 'common/components/PageLoader';\r\nimport UserData from 'web/screen/HomePage/UserInfo/UserData';\r\nimport UserAddressesView from 'common/components/UserAddresses/UserAddressesView';\r\nimport MembershipData from 'web/screen/HomePage/UserInfo/MembershipData';\r\nimport { useTranslation } from 'react-i18next';\r\nimport CompetitionsListView from 'web/components/CompetitionsList/CompetitionsListView';\r\nimport ArrowPanel from 'web/components/ArrowPanel';\r\nimport DeleteAccountDialog from './DeleteAccountDialog/DeleteAccountDialog';\r\nimport DeleteAccountDialogView from 'web/screen/HomePage/UserInfo/DeleteAccountDialog/DeleteAccountDialogView';\r\ninterface UserInfoViewProps {\r\n model: UserInfo;\r\n}\r\n\r\nconst UserInfoView: React.FC = observer(({ model }) => {\r\n const { t } = useTranslation(['homePage', 'common', 'subMenu']);\r\n\r\n return (\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {t('homePage:invoiceAddresses')}:\r\n \r\n
\r\n {model.parent.userDto.isJudge && (\r\n \r\n {t('subMenu:judge')}\r\n \r\n }\r\n onClick={() => model.parent.showJudgePage()}\r\n containerStyle={style.judgeBtn}\r\n />\r\n )}\r\n \r\n {t('homePage:deleteAccountTitle')}\r\n \r\n \r\n \r\n {model.parent.userDto.isMember !== undefined && (\r\n <>\r\n {model.parent.userDto.isMember || model.parent.userDto.hasPendingApplication ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n \r\n
\r\n )}\r\n\r\n \r\n \r\n )}\r\n \r\n \r\n {model.parent.dialog instanceof DeleteAccountDialog && (\r\n \r\n )}\r\n \r\n );\r\n});\r\n\r\nexport default UserInfoView;\r\n","import * as React from 'react';\r\nimport style from './HeaderBreadcrumbs.module.scss';\r\nimport { observer } from 'mobx-react';\r\n\r\nexport type HeaderBreadcrumbsData = {\r\n name: string;\r\n onClick?: () => void | undefined;\r\n};\r\n\r\ninterface HeaderBreadcrumbsProps {\r\n list: HeaderBreadcrumbsData[];\r\n}\r\n\r\nconst HeaderBreadcrumbs: React.FC = observer(\r\n ({ list }) => {\r\n if (!list.length) {\r\n return null;\r\n }\r\n\r\n return (\r\n
\r\n {list.map((el, index) => {\r\n return !!el.onClick ? (\r\n \r\n {el.name}\r\n \r\n ) : (\r\n {el.name}\r\n );\r\n })}\r\n
\r\n );\r\n }\r\n);\r\n\r\nexport default HeaderBreadcrumbs;\r\n","import * as React from 'react';\r\nimport HomePage from 'web/screen/HomePage/HomePage';\r\nimport { observer } from 'mobx-react';\r\nimport { ContentView } from 'react-mvvm';\r\nimport PageWrapper from 'web/components/PageWrapper/PageWrapper';\r\nimport CompetitionHeader from 'web/components/CompetitionHeader';\r\nimport style from './HomePage.module.scss';\r\nimport MemberMenu from 'web/screen/HomePage/MemberMenu';\r\nimport AskForPasswordResetPage from 'web/screen/AskForPasswordResetPage/AskForPasswordResetPage';\r\nimport CreateAccountPage from 'web/screen/CreateAccountPage/CreateAccountPage';\r\nimport LoginPage from 'web/screen/LoginPage/LoginPage';\r\nimport UserInfoView from 'web/screen/HomePage/UserInfo/UserInfoView';\r\nimport OnlinePaymentStatusPage from '../SubmissionStatusPage/OnlinePaymentStatusPage/OnlinePaymentStatusPage';\r\nimport HeaderBreadcrumbs from 'web/components/HeaderBreadcrumbs';\r\nimport Invoices from 'web/screen/Invoices/Invoices';\r\nimport AcceptInvitationPage from 'web/screen/AcceptInvitation/AcceptInvitationPage';\r\nimport ResetPasswordByEmailPage from '../ResetPasswordPage/ResetPasswordByEmailPage/ResetPasswordByEmailPage';\r\nimport ResetPasswordByPhonePage from '../ResetPasswordPage/ResetPasswordByPhonePage/ResetPasswordByPhonePage';\r\nimport Submissions from 'web/screen/Submissions/Submissions';\r\n\r\ninterface HomePageViewProps {\r\n model: HomePage;\r\n}\r\n\r\nconst HomePageView: React.FC = observer(({ model }) => {\r\n const gotToLoginPage = (e: any) => {\r\n e.preventDefault();\r\n model.navigation.items.loginPage.activate();\r\n };\r\n\r\n return (\r\n
\r\n {model.childPage instanceof AskForPasswordResetPage ||\r\n model.childPage instanceof ResetPasswordByEmailPage ||\r\n model.childPage instanceof ResetPasswordByPhonePage ||\r\n model.childPage instanceof CreateAccountPage ||\r\n model.childPage instanceof OnlinePaymentStatusPage ||\r\n model.childPage instanceof AcceptInvitationPage ||\r\n model.childPage instanceof LoginPage ? null : (\r\n model.navigation.items.home.activate()}\r\n helpClick={() => {}}\r\n signoutClick={model.signOutClicked}\r\n breadcrumbs={\r\n !!model.breadcrumbs ? (\r\n \r\n ) : null\r\n }\r\n />\r\n )}\r\n {!model.childPage ||\r\n model.childPage instanceof Invoices ||\r\n model.childPage instanceof Submissions ? (\r\n \r\n ) : null}\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n});\r\n\r\nexport default HomePageView;\r\n","import * as React from 'react';\r\nimport Flex from 'common/components/Flex';\r\nimport LoginPage from 'web/screen/LoginPage/LoginPage';\r\nimport { observer } from 'mobx-react';\r\nimport { login, store, getRedirectUri } from 'auth/Authentication';\r\nimport { externalAuth } from 'model/Api/Account/ExternalAuthRequest';\r\nimport { TokenResult } from 'model/Api/Account/Model/TokenResult';\r\nimport { HelloJSLoginEventArguement } from 'hellojs';\r\nimport { Col, Row, Button, Typography } from 'antd';\r\nimport { GooglePlusOutlined } from '@ant-design/icons';\r\nimport AntForm from 'common/components/antHelpers/AntForm';\r\nimport AntField from 'common/components/antHelpers/AntField';\r\nimport AntTextInput from 'common/components/antHelpers/AntTextInput';\r\nimport AntPassword from 'common/components/antHelpers/AntPassword';\r\nimport style from './LoginBox.module.scss';\r\nimport Link from 'web/components/Link';\r\nimport { ReactComponent as FacebookIco } from 'common/icons/facebook.svg';\r\nimport { ReactComponent as TwitterIco } from 'common/icons/twitter.svg';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { CloseCircleFilled } from '@ant-design/icons';\r\n\r\ninterface LoginBoxProps {\r\n state: LoginPage;\r\n onResetPasswordClick: () => void;\r\n onCreateAccount: () => void;\r\n}\r\n\r\nconst LoginBox: React.FC = observer(\r\n ({ state, onResetPasswordClick, onCreateAccount }) => {\r\n const { t } = useTranslation('login');\r\n /*const facebookLogin = () => (\r\n event: React.MouseEvent\r\n ) => {\r\n login('facebook').then(\r\n (response: HelloJSLoginEventArguement) => {\r\n if (\r\n response &&\r\n response.authResponse &&\r\n response.authResponse.access_token\r\n ) {\r\n externalAuth({\r\n facebook: {\r\n accessToken: response.authResponse.access_token\r\n }\r\n }).then((value: TokenResult) => {\r\n store('customJWT', {\r\n access_token: value.accessToken.token,\r\n expires_in: value.accessToken.expiresIn,\r\n refresh_token: value.refreshToken.token\r\n });\r\n window.location.href = getRedirectUri();\r\n });\r\n }\r\n },\r\n (reason) => {\r\n state.errorMessage = 'Facebook authentication was rejected';\r\n }\r\n );\r\n };*/\r\n\r\n return (\r\n \r\n
\r\n
\r\n \r\n {t('title')}\r\n \r\n \r\n {(fields) => {\r\n return (\r\n <>\r\n \r\n {(props) => (\r\n \r\n )}\r\n \r\n \r\n {(props) => (\r\n \r\n e.keyCode === 13\r\n ? state.onSubmit.execute()\r\n : null\r\n }\r\n placeholder={t(\r\n 'passwordPlaceholder'\r\n )}\r\n {...props}\r\n />\r\n )}\r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n
\r\n {state.errorMessage && (\r\n \r\n {state.errorMessage}\r\n \r\n )}\r\n
\r\n state.onSubmit.execute()}\r\n className={style.btn}>\r\n {t('loginBtn')}\r\n \r\n \r\n {t('forgotPassword')}\r\n \r\n \r\n {t('or')}\r\n
\r\n \r\n \r\n
\r\n \r\n {t('whyRegister')}\r\n \r\n {t('registerReason')}\r\n \r\n {t('createUser')}\r\n \r\n {/*\r\n Logg inn med e-postadresse\r\n \r\n \r\n \r\n {' '}\r\n Google\r\n \r\n \r\n Facebook\r\n \r\n \r\n Twitter\r\n \r\n */}\r\n
\r\n \r\n \r\n );\r\n }\r\n);\r\n\r\nexport default LoginBox;\r\n","import * as React from 'react';\r\nimport LoginBox from 'web/screen/LoginPage/LoginBox';\r\nimport LoginPage from 'web/screen/LoginPage/LoginPage';\r\nimport { observer } from 'mobx-react';\r\nimport style from './LoginPage.module.scss';\r\nimport { ContentView } from 'react-mvvm';\r\n\r\ninterface LoginPageProps {\r\n model: LoginPage;\r\n}\r\n\r\nconst LoginPageView: React.FC = observer(({ model }) => {\r\n return (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n});\r\n\r\nexport default LoginPageView;\r\n","import AcceptInvitationPage from './AcceptInvitationPage';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\nimport style from './AcceptInvitationPage.module.scss';\r\nimport Flex from 'common/components/Flex';\r\nimport { bindToCommand } from 'react-mvvm';\r\nimport { Col, Row, Typography, Button } from 'antd';\r\nimport { ReactComponent as FacebookIco } from 'common/icons/facebook.svg';\r\nimport { ReactComponent as TwitterIco } from 'common/icons/twitter.svg';\r\nimport AntForm from 'common/components/antHelpers/AntForm';\r\nimport AntField from 'common/components/antHelpers/AntField';\r\nimport AntPassword from 'common/components/antHelpers/AntPassword';\r\nimport { useTranslation } from 'react-i18next';\r\nimport AntTextInput from 'common/components/antHelpers/AntTextInput';\r\n\r\ninterface AcceptInvitationViewProps {\r\n model: AcceptInvitationPage;\r\n}\r\n\r\nconst AcceptInvitationPageView: React.FC = observer(\r\n ({ model }) => {\r\n const { t } = useTranslation('login');\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {t('acceptInvitation')}\r\n \r\n \r\n {(fields) => {\r\n return (\r\n <>\r\n \r\n {(props) => (\r\n \r\n )}\r\n \r\n \r\n {(props) => (\r\n \r\n )}\r\n \r\n \r\n {(props) => (\r\n \r\n )}\r\n \r\n \r\n );\r\n }}\r\n \r\n
\r\n {model.errorMessage && (\r\n \r\n {model.errorMessage}\r\n \r\n )}\r\n
\r\n \r\n \r\n {t('acceptInvitationBtn')}\r\n \r\n \r\n
\r\n \r\n {/*\r\n
\r\n \r\n \r\n Accept Invitation By\r\n \r\n \r\n \r\n Google\r\n \r\n \r\n {' '}\r\n Facebook\r\n \r\n \r\n {' '}\r\n Twitter\r\n \r\n \r\n
\r\n */}\r\n \r\n \r\n \r\n );\r\n }\r\n);\r\n\r\nexport default AcceptInvitationPageView;\r\n","import * as React from 'react';\r\nimport { observer } from 'mobx-react';\r\nimport PageWrapper from 'web/components/PageWrapper';\r\nimport { ContentView } from 'react-mvvm';\r\nimport style from './CompetitionsList.module.scss';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Typography } from 'antd';\r\nimport CompetitionsListPage from './CompetitionsListPage';\r\nimport CompetitionsListView from \"web/components/CompetitionsList/CompetitionsListView\";\r\n\r\ninterface CompetitionsListViewProps {\r\n model: CompetitionsListPage;\r\n}\r\n\r\nconst CompetitionsListPageView: React.FC = observer(\r\n ({ model }) => {\r\n const { t } = useTranslation('competitions');\r\n return (\r\n \r\n
\r\n \r\n \r\n Konkurransekalender\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n);\r\n\r\nexport default CompetitionsListPageView;\r\n","import * as React from 'react';\r\nimport style from './CategoryList.module.scss';\r\nimport { Col, Row, Space, Typography } from 'antd';\r\nimport PageWrapper from 'web/components/PageWrapper';\r\nimport Arrow from 'web/components/Arrow';\r\n\r\ninterface CategoryListHeaderProps {\r\n title: string;\r\n description?: string;\r\n onClick?: () => void;\r\n customStyle?: string;\r\n}\r\n\r\nconst CategoryListHeader: React.FC = ({\r\n title,\r\n description,\r\n onClick,\r\n customStyle = ''\r\n}) => {\r\n return (\r\n
!!onClick && onClick()} className={customStyle}>\r\n
\r\n {!!onClick && (\r\n \r\n \r\n \r\n )}\r\n
\r\n \r\n {title}\r\n \r\n {!!description && (\r\n \r\n {description}\r\n \r\n )}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default CategoryListHeader;\r\n","import * as React from 'react';\r\nimport { observer } from 'mobx-react';\r\nimport { SubmissionCompetitionDto } from 'model/Api/Submission/Model/SubmissionCompetitionDto';\r\nimport { Collapse } from 'antd';\r\nimport style from './CategoryList.module.scss';\r\nimport { ReactComponent as ArrowIcon } from 'common/icons/next_icn.svg';\r\nimport CategoryListHeader from 'web/screen/Competition/CategoryList/CategoryListHeader';\r\nimport PageWrapper from 'web/components/PageWrapper';\r\nimport Arrow from 'web/components/Arrow';\r\nimport Flex from 'common/components/Flex';\r\n\r\ninterface CategoryListProps {\r\n competition: SubmissionCompetitionDto;\r\n\r\n onCategorySet: (id: number) => void;\r\n}\r\n\r\nconst CategoryList: React.FC = observer(\r\n ({ competition, onCategorySet }) => {\r\n return (\r\n (\r\n \r\n \r\n \r\n )}>\r\n {competition.categories.map((category) => {\r\n return category.subCategories.length > 0 ? (\r\n \r\n }>\r\n \r\n \r\n {category.description}\r\n \r\n \r\n
    \r\n {category.subCategories.map((subcategory) => {\r\n return (\r\n \r\n onCategorySet(subcategory.id)\r\n }>\r\n \r\n \r\n \r\n \r\n \r\n \r\n {subcategory.name}\r\n \r\n \r\n {\r\n subcategory.description\r\n }\r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n
\r\n \r\n ) : (\r\n onCategorySet(category.id)}\r\n customStyle={style.category}\r\n />\r\n );\r\n })}\r\n \r\n );\r\n }\r\n);\r\n\r\nexport default CategoryList;\r\n","import * as React from 'react';\r\nimport Competition from 'web/screen/Competition/Competition';\r\nimport { observer } from 'mobx-react';\r\nimport { Typography } from 'antd';\r\nimport CategoryList from 'web/screen/Competition/CategoryList';\r\nimport PageLoader from 'common/components/PageLoader';\r\nimport { ContentView } from 'react-mvvm';\r\nimport style from './Competition.module.scss';\r\nimport PageWrapper from 'web/components/PageWrapper';\r\nimport { useTranslation } from 'react-i18next';\r\nimport PageTitle from 'web/components/PageTitle';\r\nimport BackButton from 'web/components/BackButton';\r\nimport SubmissionsHelpText from 'web/components/SubmissionsHelpText';\r\n\r\ninterface CompetitionViewProps {\r\n model: Competition;\r\n}\r\n\r\nconst CompetitionView: React.FC = observer(\r\n ({ model }) => {\r\n const { t } = useTranslation(['competitions']);\r\n return (\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n {model.competition.description}\r\n \r\n \r\n \r\n {model.showHelpText && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n
\r\n );\r\n }\r\n);\r\n\r\nexport default CompetitionView;\r\n","import { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\nimport { Button } from 'antd';\r\nimport style from './SaveDraftButton.module.scss';\r\nimport { useTranslation } from 'react-i18next';\r\nimport {ButtonType} from \"antd/lib/button/button\";\r\n\r\ninterface SaveDraftButtonProps {\r\n onClick: () => void;\r\n isDisabled?: boolean;\r\n label?: string;\r\n type?: ButtonType\r\n}\r\n\r\nconst SaveDraftButton: React.FC = observer(\r\n ({ onClick, isDisabled = false, label, type= 'default' }) => {\r\n const { t } = useTranslation('common');\r\n return (\r\n \r\n {!label ? t('saveAsDraft') : label}\r\n \r\n );\r\n }\r\n);\r\n\r\nexport default SaveDraftButton;\r\n","import * as React from 'react';\r\nimport Flex from \"common/components/Flex\";\r\nimport PageWrapper from \"web/components/PageWrapper\";\r\nimport {Button} from \"antd\";\r\nimport style from './CompetitionIntro.module.scss';\r\n\r\ninterface CompetitionIntroProps {\r\n onBackBtn: () => void;\r\n backBtnText: string;\r\n categoryId?: number;\r\n}\r\n\r\nconst CompetitionIntro: React.FC = ({onBackBtn, backBtnText}) => {\r\n return
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n};\r\n\r\nexport default CompetitionIntro;\r\n","import * as React from \"react\";\r\nimport OnBackToSubmissionModal from \"web/screen/SubmissionFormPage/OnBackToSubmissionModal/OnBackToSubmissionModal\";\r\nimport {useTranslation} from \"react-i18next\";\r\nimport AntModal from \"common/components/antHelpers/AntModal\";\r\nimport {Button} from \"antd\";\r\n\r\ninterface OnBackToSubmissionModalViewProps {\r\n dialog: OnBackToSubmissionModal;\r\n}\r\n\r\nconst OnBackToSubmissionModalView: React.FC = ({dialog}) => {\r\n const { confirm, cancel, onCancelClick } = dialog;\r\n const { t } = useTranslation('competitions');\r\n\r\n return onCancelClick.execute()}>{t('cancel')}, ]}>\r\n {t('goToSubmissionModalText')}\r\n ;\r\n};\r\n\r\nexport default OnBackToSubmissionModalView;\r\n","import * as React from 'react';\r\nimport {observer} from 'mobx-react';\r\nimport SubmissionFormPage from './SubmissionFormPage';\r\nimport {ContentView} from 'react-mvvm';\r\nimport style from './SubmissionForm.module.scss';\r\nimport PageWrapper from 'web/components/PageWrapper';\r\nimport {useTranslation} from 'react-i18next';\r\nimport PageTitle from 'web/components/PageTitle';\r\nimport SubmissionFormView from 'common/components/SubmissionForm/SubmissionFormView';\r\nimport SaveDraftButton from 'web/components/SaveDraftButton';\r\nimport Flex from 'common/components/Flex';\r\nimport CompetitionIntro from \"web/components/CompetitionIntro/CompetitionIntro\";\r\nimport {Button, Spin} from \"antd\";\r\nimport OnBackToSubmissionModal from \"web/screen/SubmissionFormPage/OnBackToSubmissionModal/OnBackToSubmissionModal\";\r\nimport OnBackToSubmissionModalView\r\n from \"web/screen/SubmissionFormPage/OnBackToSubmissionModal/OnBackToSubmissionModalView\";\r\nimport {CompetitionEntryStatus} from \"model/Externals\";\r\n\r\ninterface SubmissionFormProps {\r\n model: SubmissionFormPage;\r\n}\r\n\r\nconst SubmissionFormPageView: React.FC = observer(\r\n ({ model }) => {\r\n const { t } = useTranslation('competitions');\r\n const errorReference = React.useRef(null);\r\n\r\n return (\r\n \r\n
\r\n {model.isLoading &&
\r\n \r\n
}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {model.submissionForm.competitionEntryDto.competitionEntryStatus !== CompetitionEntryStatus.submitted &&\r\n \r\n \r\n {!model.submissionForm.isFormDisabled &&\r\n }\r\n }\r\n \r\n
\r\n
\r\n {model.dialog instanceof OnBackToSubmissionModal &&\r\n }\r\n
\r\n );\r\n }\r\n);\r\n\r\nexport default SubmissionFormPageView;\r\n","import * as React from 'react';\r\nimport { CompetitionStatus } from 'model/Externals';\r\nimport { Button } from 'antd';\r\nimport { useTranslation } from 'react-i18next';\r\nimport SubmissionsHelpText from 'web/components/SubmissionsHelpText';\r\nimport style from './SubmissionsNextBtn.module.scss';\r\nimport classNames from 'classnames';\r\nimport { ReactElement } from 'react';\r\nimport SaveDraftButton from '../SaveDraftButton';\r\n\r\ninterface SubmissionsNextBtnProps {\r\n onNextClick: () => void;\r\n onSaveDraftClick?: () => void;\r\n isSaveDraftEnabled?: boolean;\r\n competitionStatus: CompetitionStatus;\r\n label?: string;\r\n isVisible?: boolean;\r\n isDisable?: boolean;\r\n isPreview?: boolean;\r\n backBtn?: ReactElement;\r\n containerStyle?: string;\r\n}\r\n\r\nconst SubmissionsNextBtn: React.FC = ({\r\n onNextClick,\r\n onSaveDraftClick,\r\n isSaveDraftEnabled = false,\r\n competitionStatus,\r\n label,\r\n isPreview = false,\r\n isDisable = false,\r\n isVisible = true,\r\n containerStyle,\r\n backBtn,\r\n children\r\n}) => {\r\n const { t } = useTranslation('common');\r\n\r\n const container = classNames(style.container, {\r\n [containerStyle as string]: !!containerStyle\r\n });\r\n return (\r\n
\r\n \r\n {!!backBtn &&
{backBtn}
}\r\n {!isPreview && (\r\n <>\r\n {isVisible &&\r\n competitionStatus ===\r\n CompetitionStatus.submissionOpen && (\r\n <>\r\n {!!onSaveDraftClick && (\r\n
\r\n \r\n
\r\n )}\r\n \r\n {!label ? t('next') : label}\r\n \r\n \r\n )}\r\n {!!children && children}\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default SubmissionsNextBtn;\r\n","import * as React from 'react';\r\nimport SubmissionFormPreviewPage from './SubmissionFormPreviewPage';\r\nimport style from './SubmissionFormPreview.module.scss';\r\nimport { CompetitionEntryStatus } from 'model/Externals';\r\nimport { Button } from 'antd';\r\nimport SubmissionsNextBtn from 'web/components/SubmissionsNextBtn';\r\nimport { useTranslation } from 'react-i18next';\r\nimport BackButton from 'web/components/BackButton';\r\nimport ConfirmationModal from 'common/components/ConfirmationModal/ConfirmationModal';\r\n\r\ninterface SentButtonsProps {\r\n model: SubmissionFormPreviewPage;\r\n align: 'right' | 'left';\r\n isBack: boolean;\r\n}\r\n\r\nconst SentButtons: React.FC = ({ model, align, isBack }) => {\r\n const { t } = useTranslation(['competitions', 'common']);\r\n return (\r\n 0.001\r\n ? t('competitions:finalizeAndPayLater')\r\n : t('competitions:sendIn')\r\n }\r\n isPreview={model.status === 'paid'}\r\n isVisible={\r\n model.competitionEntryDto?.competitionEntryStatus !==\r\n CompetitionEntryStatus.submitted\r\n }\r\n backBtn={isBack ? : undefined}\r\n containerStyle={align === 'left' ? style.buttonLeft : ''}>\r\n {model &&\r\n model.product &&\r\n model.product.priceIncVat > 0.001 && (\r\n \r\n {model.competitionEntryDto?.competitionEntryStatus !==\r\n CompetitionEntryStatus.submitted\r\n ? `${t('common:sendIn')} og ${t(\r\n 'common:pay'\r\n ).toLocaleLowerCase()}`\r\n : t('common:pay')}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default SentButtons;\r\n","import * as React from 'react';\r\nimport SubmissionApprovedModal from './SubmissionApprovedModal';\r\nimport AntModal from 'common/components/antHelpers/AntModal';\r\nimport {useTranslation} from \"react-i18next\";\r\n\r\ninterface SubmissionApprovedModalViewProps {\r\n dialog: SubmissionApprovedModal;\r\n}\r\n\r\nconst SubmissionApprovedModalView: React.FC = ({\r\n dialog\r\n}) => {\r\n const { confirm, cancel } = dialog;\r\n const { t } = useTranslation('competitions');\r\n\r\n return \r\n Alt klart? Innsendte skjema kan ikke endres.\r\n ;\r\n};\r\n\r\nexport default SubmissionApprovedModalView;\r\n","import { observer } from 'mobx-react';\r\nimport SubmissionFormPreviewPage from './SubmissionFormPreviewPage';\r\nimport * as React from 'react';\r\nimport { Row, Col, Typography, Divider, Button } from 'antd';\r\nimport Flex from 'common/components/Flex';\r\nimport style from './SubmissionFormPreview.module.scss';\r\nimport SubmissionsAnswers from 'common/components/SubmissionsAnswers';\r\nimport PageWrapper from 'web/components/PageWrapper';\r\nimport { ContentView } from 'react-mvvm';\r\nimport { useTranslation } from 'react-i18next';\r\nimport PageLoader from 'common/components/PageLoader';\r\nimport BackButton from 'web/components/BackButton';\r\nimport SentButtons from './SentButtons';\r\nimport SubmissionApprovedModalView from 'common/components/SubmissionApprovedModal/SubmissionApprovedModalView';\r\nimport SubmissionApprovedModal from \"common/components/SubmissionApprovedModal/SubmissionApprovedModal\";\r\ninterface SubmissionFormPreviewProps {\r\n model: SubmissionFormPreviewPage;\r\n}\r\n\r\nconst SubmissionFormPreviewPageView: React.FC = observer(\r\n ({ model }) => {\r\n const { t } = useTranslation(['competitions', 'common']);\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n {\r\n window.location.href = '/submissions';\r\n }}\r\n />\r\n
\r\n \r\n {/**/}\r\n \r\n {/*\r\n
\r\n \r\n {model.entryPreviewPageDescription}\r\n \r\n \r\n \r\n \r\n \r\n \r\n */}\r\n \r\n \r\n \r\n
\r\n \r\n {t(\r\n 'competitions:previewFormCategory'\r\n )}\r\n \r\n \r\n {model.categoryName}\r\n \r\n
\r\n
\r\n \r\n Id\r\n \r\n \r\n {model.entryId}\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n {model.answers.map((answer) => (\r\n \r\n ))}\r\n
\r\n \r\n
\r\n {model.dialog instanceof\r\n SubmissionApprovedModal && (\r\n \r\n )}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n );\r\n }\r\n);\r\n\r\nexport default SubmissionFormPreviewPageView;\r\n","import * as React from \"react\";\r\nimport style from './ProgressBar.module.scss';\r\n\r\ninterface ProgressBarProps {\r\n percentage: number\r\n}\r\n\r\nconst ProgressBar: React.FC = ({percentage}) => {\r\n return
\r\n {`${percentage}%`}\r\n
\r\n};\r\n\r\nexport default ProgressBar","import { useTranslation } from 'react-i18next';\r\n\r\nimport * as React from 'react';\r\nimport { EvaluationCompetitionListItemDto } from 'model/Api/Evaluation/Model/EvaluationCompetitionListItemDto';\r\nimport Link from 'web/components/Link';\r\nimport style from './Competition.module.scss';\r\nimport ProgressBar from 'web/components/ProgressBar';\r\nimport Arrow from 'web/components/Arrow';\r\n\r\ninterface CompetitionProps {\r\n competition: EvaluationCompetitionListItemDto;\r\n onClick: () => void;\r\n}\r\n\r\nconst Competition: React.FC = ({ competition, onClick }) => {\r\n const { t } = useTranslation('judging');\r\n return (\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
{competition.name}
\r\n
\r\n {`${competition.categories} ${t(\r\n 'subcategories'\r\n )}`}\r\n {`${competition.submissions} ${t(\r\n 'entries'\r\n )}`}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Competition;\r\n","import * as React from 'react';\r\nimport style from './JudgingCompetitionsView.module.scss';\r\nimport JudgingCompetitions from './JudgingCompetitions';\r\nimport { observer } from 'mobx-react';\r\nimport { ContentView } from 'react-mvvm';\r\nimport PageLoader from 'common/components/PageLoader';\r\nimport Competition from './Competition';\r\nimport { Typography } from 'antd';\r\nimport PageWrapper from 'web/components/PageWrapper';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\ninterface JudgingCompetitionsViewProps {\r\n model: JudgingCompetitions;\r\n}\r\n\r\nconst JudgingCompetitionsView: React.FC = observer(\r\n ({ model }) => {\r\n const { t } = useTranslation('judging');\r\n return (\r\n <>\r\n \r\n \r\n
\r\n \r\n \r\n {t('judgingPageTitle')}\r\n \r\n
\r\n {model.evaluations.map((competition) => {\r\n return (\r\n {\r\n model.showJudgingIntroductionPage(\r\n competition.id\r\n );\r\n }}\r\n />\r\n );\r\n })}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n);\r\n\r\nexport default JudgingCompetitionsView;\r\n","import { useTranslation } from 'react-i18next';\r\n\r\nimport { EvaluationCompetitionListItemDto } from 'model/Api/Evaluation/Model/EvaluationCompetitionListItemDto';\r\nimport * as React from 'react';\r\nimport { Button, Col, Row, Steps, Typography } from 'antd';\r\nimport style from './Introduction.module.scss';\r\nimport Flex from 'common/components/Flex';\r\nimport { CompetitionStatus, JudgingSchema } from 'model/Externals';\r\nimport { observer } from 'mobx-react';\r\n\r\nconst getCurrentStep = (item: EvaluationCompetitionListItemDto): number => {\r\n switch (item.competitionStatus) {\r\n case CompetitionStatus.phaseOneJudgingInProgress:\r\n case CompetitionStatus.phaseOneJudgingClosed:\r\n return 0;\r\n case CompetitionStatus.phaseTwoJudgingInProgress:\r\n case CompetitionStatus.phaseTwoJudgingClosed:\r\n return 1;\r\n case CompetitionStatus.closed:\r\n return 2;\r\n default:\r\n return 0;\r\n }\r\n};\r\n\r\ninterface IntroductionProps {\r\n onStart: () => void;\r\n competitionListItem: EvaluationCompetitionListItemDto;\r\n}\r\n\r\nconst Introduction: React.FC = observer(\r\n ({ onStart, competitionListItem }) => {\r\n const { t } = useTranslation('judging');\r\n return (\r\n <>\r\n \r\n
\r\n \r\n {t('judgingIntro')}\r\n \r\n {competitionListItem.judgingSchema ===\r\n JudgingSchema.individualPlusGroup && (\r\n dot}\r\n className={style.steps}>\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n {competitionListItem.judgingPhaseDescription}\r\n \r\n \r\n {t('startJudging')}\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n);\r\n\r\nexport default Introduction;\r\n","import * as React from 'react';\r\nimport JudgingIntroPage from 'web/screen/JudgingIntroPage/JudgingIntroPage';\r\nimport { ContentView, Page } from 'react-mvvm';\r\nimport PageWrapper from 'web/components/PageWrapper';\r\nimport PageLoader from 'common/components/PageLoader';\r\nimport Introduction from 'web/screen/JudgingIntroPage/Introduction';\r\nimport { observer } from 'mobx-react';\r\nimport CompetitionHeader from 'web/components/CompetitionHeader';\r\nimport HeaderBreadcrumbs, {\r\n HeaderBreadcrumbsData\r\n} from 'web/components/HeaderBreadcrumbs/HeaderBreadcrumbs';\r\n\r\ninterface JudgingIntroPageViewProps {\r\n model: JudgingIntroPage;\r\n}\r\n\r\nconst JudgingIntroPageView: React.FC = observer(\r\n ({ model }) => {\r\n return (\r\n \r\n \r\n \r\n {!!model.competitionListItem && (\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n }\r\n);\r\n\r\nexport default JudgingIntroPageView;\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#000\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.5 9.5h9v-9h-9zM.5 9.5h9v-9h-9zM13.5 22.5h9v-9h-9zM.5 22.5h9v-9h-9z\"\n}));\n\nvar SvgTileMenu = function SvgTileMenu(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 23,\n height: 23,\n viewBox: \"0 0 23 23\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgTileMenu, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/tile_menu.ec3dfbd0.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#000\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 4h16V0H8zM0 4h4V0H0zM8 12h16V8H8zM0 12h4V8H0zM8 20h16v-4H8zM0 20h4v-4H0z\"\n}));\n\nvar SvgListMenu = function SvgListMenu(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 20,\n viewBox: \"0 0 24 20\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgListMenu, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/list_menu.781c2585.svg\";\nexport { ForwardRef as ReactComponent };","import * as React from 'react';\r\nimport style from './ListOptionsLinks.module.scss';\r\nimport { Button } from 'antd';\r\nimport { JudgeEntriesSorting } from 'web/screen/JudgingEntriesPage/JudgingEntriesPage';\r\nimport { JudgingCategorySorting } from 'web/screen/JudgingCategoryPage/JudgingCategoryPage';\r\nimport classNames from 'classnames';\r\n\r\ninterface ListOptionsLinksProps {\r\n onChange: (prop: any) => Promise;\r\n value: JudgeEntriesSorting | JudgingCategorySorting;\r\n options: { id: string; value: string }[];\r\n}\r\n\r\nconst ListOptionsLinks: React.FC = ({\r\n options,\r\n value,\r\n onChange\r\n}) => {\r\n return (\r\n
\r\n {options.map((el) => {\r\n const selected = value === el.id;\r\n \r\n return (\r\n onChange(el.id)}\r\n className={classNames(style.element, {\r\n [style.selected]: selected\r\n })}>\r\n {el.value}\r\n \r\n );\r\n })}\r\n
\r\n );\r\n};\r\n\r\nexport default ListOptionsLinks;\r\n","import * as React from 'react';\r\nimport style from './EvaluationOptionList.module.scss';\r\nimport classNames from 'classnames';\r\nimport Flex from 'common/components/Flex';\r\nimport { ReactComponent as Tiles } from 'common/icons/tile_menu.svg';\r\nimport { ReactComponent as List } from 'common/icons/list_menu.svg';\r\nimport { Select, Button } from 'antd';\r\nimport { JudgeEntriesSorting } from 'web/screen/JudgingEntriesPage/JudgingEntriesPage';\r\nimport { JudgingCategorySorting } from 'web/screen/JudgingCategoryPage/JudgingCategoryPage';\r\nimport { observer } from 'mobx-react';\r\nimport ListOptionsLinks from 'web/components/ListOptionsLinks';\r\n\r\ninterface EvaluationOptionListProps {\r\n view: 'tiles' | 'list';\r\n setView: (v: 'tiles' | 'list') => void;\r\n onChange: (prop: any) => Promise;\r\n value: JudgeEntriesSorting | JudgingCategorySorting;\r\n selectOptions: { id: string; value: string }[];\r\n}\r\n\r\nconst EvaluationOptionList: React.FC = observer(\r\n ({ view, setView, onChange, value, selectOptions }) => {\r\n const iconStyle = classNames(style.iconBtn);\r\n const iconSelected = classNames(style.iconBtn, style.iconBtnSelected);\r\n\r\n return (\r\n
\r\n \r\n setView('list')}>\r\n \r\n \r\n setView('tiles')}>\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n);\r\n\r\nexport default EvaluationOptionList;\r\n","import * as React from 'react';\r\nimport style from './SubmissionCard.module.scss';\r\nimport ProgressBar from 'web/components/ProgressBar';\r\nimport classNames from 'classnames';\r\nimport { EvaluationCategoryListItemDto } from 'model/Api/Evaluation/Model/EvaluationCategoryListItemDto';\r\nimport { observer } from 'mobx-react';\r\n\r\ninterface SubmissionCardProp {\r\n type: 'tiles' | 'list';\r\n onSelect: () => void;\r\n evaluatedCategory: EvaluationCategoryListItemDto;\r\n isEvaluationButton: boolean;\r\n}\r\n\r\nconst SubmissionCard: React.FC = observer(\r\n ({\r\n type,\r\n onSelect,\r\n evaluatedCategory,\r\n isEvaluationButton\r\n }) => {\r\n const box = classNames(\r\n style.box,\r\n type === 'tiles' ? style.tiles : style.list\r\n );\r\n const content = classNames(\r\n type === 'tiles' ? style.tilesContent : style.listContent\r\n );\r\n\r\n return (\r\n
onSelect()}>\r\n {isEvaluationButton && (\r\n \r\n )}\r\n
\r\n
\r\n \r\n {evaluatedCategory.name}\r\n \r\n
\r\n \r\n {evaluatedCategory.submissions}\r\n \r\n
\r\n
\r\n );\r\n }\r\n);\r\n\r\nexport default SubmissionCard;\r\n","import * as React from 'react';\r\nimport style from './JudgingCategoryPageView.module.scss';\r\nimport JudgingCategoryPage, {\r\n JudgingCategorySorting\r\n} from './JudgingCategoryPage';\r\nimport { ContentView } from 'react-mvvm';\r\nimport EvaluationOptionList from 'web/components/EvaluationOptionList';\r\nimport { CompetitionStatus } from 'model/Externals';\r\nimport SubmissionCard from './SubmissionCard';\r\nimport { observer } from 'mobx-react';\r\nimport classNames from 'classnames';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\ninterface JudgingCategoryPageViewProps {\r\n model: JudgingCategoryPage;\r\n}\r\n\r\nconst JudgingCategoryPageView: React.FC = observer(\r\n ({ model }) => {\r\n const { t } = useTranslation('judging');\r\n const [view, setView] = React.useState<'tiles' | 'list'>('list');\r\n const containerStyle = classNames(\r\n { [style.submissions]: view === 'list' },\r\n { [style.submissionsTiles]: view === 'tiles' }\r\n );\r\n\r\n return (\r\n \r\n
\r\n \r\n
\r\n {model.categories.map((category) => {\r\n return (\r\n \r\n model.showJudgingEntriesPage(\r\n category.id\r\n )\r\n }\r\n evaluatedCategory={category}\r\n isEvaluationButton={\r\n model.competitionStatus ===\r\n CompetitionStatus.phaseOneJudgingInProgress\r\n }\r\n />\r\n );\r\n })}\r\n
\r\n
\r\n
\r\n );\r\n }\r\n);\r\n\r\nexport default JudgingCategoryPageView;\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"title\", null, \"note_icn\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Page-1\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icons\",\n transform: \"translate(-238.000000, -21.000000)\",\n fill: \"#000000\",\n fillRule: \"nonzero\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"note_icn\",\n transform: \"translate(238.000000, 21.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"note_icn-2\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"note_icn\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"paper\",\n transform: \"translate(0.161086, 0.302733)\"\n}, /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Stroke-1\",\n points: \"19.2099332 0.75 19.209 14.656 23.3984342 10.1317161 25.3515156 12.0456505 18.948 18.73 18.9487983 23.8725108 6.57978171 23.8725108 6.57978171 23.3725108 18.448 23.372 18.448 19.1917671 18.1739466 19.485104 17.8389142 19.1917671 24.648 12.056 23.416 10.848 17.4980588 17.2402732 16.6866085 18.1167626 16.3846731 17.7178731 18.709 15.182 18.709 1.249 1.249 1.249 1.25 17.9469146 0.75 17.9469146 0.75 0.75\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.66109015,17.6027753 L1,17.6027753 C0.778417609,17.6027753 0.666364975,17.8696994 0.821551174,18.0278639 L6.48264132,23.7975994 C6.63943223,23.9573993 6.91109015,23.8463844 6.91109015,23.6225108 L6.91109015,17.8527753 C6.91109015,17.7147041 6.79916133,17.6027753 6.66109015,17.6027753 Z M6.411,18.102 L6.411,23.011 L1.595,18.102 L6.411,18.102 Z\",\n id: \"Stroke-3\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Stroke-8\",\n points: \"14.6106533 7.27730665 14.6106533 7.77730665 5.13891416 7.77730665 5.13891416 7.27730665\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Stroke-7\",\n points: \"14.6106533 10.6923264 14.6106533 11.1923264 5.08891416 11.1923264 5.08891416 10.6923264\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Stroke-6\",\n points: \"14.6106533 14.1073462 14.6106533 14.6073462 5.08891416 14.6073462 5.08891416 14.1073462\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n id: \"pencil\",\n transform: \"translate(15.000000, 17.700000)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.3350324,2.0878369 L1.54575895,0.320605936 L0.462595531,3.25976357 L3.3350324,2.0878369 Z M1.746,1.221 L2.444,1.911 L1.323,2.368 L1.746,1.221 Z\",\n id: \"Stroke-13\"\n})))))));\n\nvar SvgNoteIcn = function SvgNoteIcn(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"27px\",\n height: \"25px\",\n viewBox: \"0 0 27 25\",\n ref: svgRef\n }, props), title === undefined ? _ref2 : title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgNoteIcn, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/note_icn.22a44875.svg\";\nexport { ForwardRef as ReactComponent };","import * as React from 'react';\r\nimport style from './ActionPhaseFirst.module.scss';\r\nimport classNames from 'classnames';\r\nimport { Radio } from 'antd';\r\nimport { ReactComponent as PrivateNote } from 'common/icons/note_icn.svg';\r\nimport { PhaseOneEvaluation } from 'model/Externals';\r\nimport { RadioChangeEvent } from 'antd/lib/radio';\r\nimport { observer } from 'mobx-react';\r\nimport {useTranslation} from \"react-i18next\";\r\n\r\ninterface ActionPhaseFirstProps {\r\n evaluationValue: PhaseOneEvaluation | undefined;\r\n onEvaluationValueChange?: (value: PhaseOneEvaluation) => void;\r\n isEditable: boolean;\r\n privateNoteActive?: boolean;\r\n onSetPrivateNoteState?: () => void;\r\n isPrivateNote?: boolean;\r\n isList?: boolean;\r\n}\r\n\r\nconst ActionPhaseFirst: React.FC = observer(\r\n ({\r\n evaluationValue,\r\n onEvaluationValueChange,\r\n isEditable,\r\n privateNoteActive,\r\n isPrivateNote,\r\n onSetPrivateNoteState,\r\n isList\r\n }) => {\r\n const { t } = useTranslation('judging');\r\n const notesStyle = classNames(style.judgeIcn, {\r\n [style.judgeIcnActive]: privateNoteActive\r\n });\r\n const containerStyle = classNames(style.judging, {\r\n [style.list]: isList\r\n });\r\n\r\n return (\r\n
\r\n \r\n onEvaluationValueChange && onEvaluationValueChange(\r\n e.target.value as PhaseOneEvaluation\r\n )\r\n }>\r\n \r\n 0\r\n \r\n \r\n 1\r\n \r\n \r\n 2\r\n \r\n \r\n 4\r\n \r\n \r\n {t('inhabil')}\r\n \r\n \r\n {onSetPrivateNoteState && isPrivateNote && (\r\n \r\n )}\r\n
\r\n );\r\n }\r\n);\r\n\r\nexport default ActionPhaseFirst;\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"title\", null, \"comment_icn\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Page-1\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icons\",\n transform: \"translate(-207.000000, -23.000000)\",\n fill: \"#000000\",\n fillRule: \"nonzero\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"comment_icn\",\n transform: \"translate(207.000000, 23.000000)\"\n}, /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Stroke-3\",\n points: \"18.0016 12.1071517 18.0016 12.6071517 7.5016 12.6071517 7.5016 12.1071517\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Stroke-2\",\n points: \"18.0016 9.10715167 18.0016 9.60715167 7.5016 9.60715167 7.5016 9.10715167\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Stroke-1\",\n points: \"18.0016 6.10715167 18.0016 6.60715167 7.5016 6.60715167 7.5016 6.10715167\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Stroke-6\",\n points: \"1.10943235 17.4296373 1.11023026 16.9296379 9.68572258 16.9433227 9.68492467 17.4433221\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.70482817,16.971473 C9.70482817,17.0742788 9.70482817,17.5388638 9.70482817,18.3652278 C9.70482817,19.1915919 9.70482817,20.0179559 9.70482817,20.84432 L9.20482817,20.61112 L9.20482817,16.971473 L9.70482817,16.971473 Z\",\n id: \"Stroke-14\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Stroke-16\",\n points: \"14.525966 17.0145581 14.8065812 17.428388 9.45482817 21 9.20482817 20.61112\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Stroke-12\",\n points: \"24.6875211 0.915217391 24.6875211 17.471473 24.1875211 17.471473 24.1875211 0.915217391\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Stroke-4\",\n points: \"24.4865296 0.915217391 24.4865296 1.41521739 0.913402817 1.41521739 0.913402817 0.915217391\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Stroke-10\",\n points: \"1.41901408 0.948161739 1.41901408 17.4299704 0.919014085 17.4299704 0.919014085 0.948161739\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Stroke-8\",\n points: \"24.6700789 17.0260278 24.6700789 17.5260278 14.5680507 17.5260278 14.5680507 17.0260278\"\n}))));\n\nvar SvgCommentIcn = function SvgCommentIcn(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"26px\",\n height: \"22px\",\n viewBox: \"0 0 26 22\",\n ref: svgRef\n }, props), title === undefined ? _ref2 : title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgCommentIcn, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/comment_icn.49f3ec8f.svg\";\nexport { ForwardRef as ReactComponent };","import { EvaluationResultDto } from 'model/Api/Competitions/Model/EvaluationResultDto';\r\nimport { ReactComponent as PublicNote } from 'common/icons/comment_icn.svg';\r\nimport { ReactComponent as PrivateNote } from 'common/icons/note_icn.svg';\r\nimport * as React from 'react';\r\nimport { Select } from 'antd';\r\nimport style from './ActionPhaseSecond.module.scss';\r\nimport classNames from 'classnames';\r\nimport { observer } from 'mobx-react';\r\nimport {useTranslation} from \"react-i18next\";\r\n\r\ninterface ActionsPhaseSecondProps {\r\n evaluationValue: EvaluationResultDto | undefined;\r\n evaluationResults: EvaluationResultDto[];\r\n onEvaluationPhaseTwo: (evaluationRef: number) => void;\r\n isEditable: boolean;\r\n\r\n isList?: boolean;\r\n\r\n isPrivateNote?: boolean;\r\n privateNoteActive?: boolean;\r\n onSetPrivateNoteState?: () => void;\r\n isPublicNote?: boolean;\r\n publicNoteActive?: boolean;\r\n onSetPublicNoteState?: () => void;\r\n}\r\n\r\nconst ActionsPhaseSecond: React.FC = observer(\r\n ({\r\n evaluationValue,\r\n evaluationResults,\r\n onEvaluationPhaseTwo,\r\n isEditable,\r\n isList,\r\n isPrivateNote,\r\n privateNoteActive,\r\n onSetPrivateNoteState,\r\n isPublicNote,\r\n publicNoteActive,\r\n onSetPublicNoteState\r\n }) => {\r\n const { t } = useTranslation('judging');\r\n const containerStyle = classNames(style.container, {\r\n [style.list]: isList\r\n });\r\n const privateIconStyle = classNames(style.icon, {\r\n [style.iconActive]: privateNoteActive\r\n });\r\n const publicNoteStyle = classNames(style.icon, {\r\n [style.iconActive]: publicNoteActive\r\n });\r\n\r\n return (\r\n
\r\n onEvaluationPhaseTwo(value)}>\r\n {evaluationResults.map((el) => {\r\n return (\r\n \r\n {el.value}\r\n \r\n );\r\n })}\r\n \r\n {isPrivateNote && onSetPrivateNoteState && (\r\n \r\n )}\r\n {isPublicNote && onSetPublicNoteState && (\r\n \r\n )}\r\n
\r\n );\r\n }\r\n);\r\n\r\nexport default ActionsPhaseSecond;\r\n","import React from 'react';\r\nimport { FilePdfOutlined } from '@ant-design/icons';\r\n\r\nconst FilePdfIcon = () => ;\r\n\r\nexport default FilePdfIcon;\r\n","import React from 'react';\r\nimport { SoundOutlined } from '@ant-design/icons';\r\n\r\nconst SoundIcon = () => ;\r\n\r\nexport default SoundIcon;\r\n","import React from 'react';\r\nimport { VideoCameraOutlined } from '@ant-design/icons';\r\n\r\nconst VideoCameraIcon = () => ;\r\n\r\nexport default VideoCameraIcon;\r\n","import React from 'react';\r\nimport FilePdfIcon from '../FilePdfIcon';\r\nimport SoundIcon from '../SoundIcon';\r\nimport VideoCameraIcon from '../VideoCameraIcon';\r\n\r\ninterface RenderIconProps {\r\n url: string;\r\n fileName?: string;\r\n type: string;\r\n}\r\n\r\nconst RenderIcon: React.FC = ({ url, type, fileName }) => {\r\n switch (type) {\r\n case 'application/pdf':\r\n return ;\r\n case 'audio/mpeg': //mp3\r\n return ;\r\n case 'video/mp4':\r\n return ;\r\n default:\r\n return {fileName;\r\n }\r\n};\r\n\r\nexport default RenderIcon;\r\n","import Link from 'web/components/Link';\r\n\r\nimport * as React from 'react';\r\nimport style from './ArtWork.module.scss';\r\nimport classNames from 'classnames';\r\nimport ActionsPhaseFirst from 'web/components/ActionsPhaseFirst';\r\nimport ActionsPhaseSecond from 'web/components/ActionsPhaseSecond';\r\nimport { CompetitionEntryListItemResponse } from 'model/Api/Evaluation/Model/CompetitionEntryListItemDto';\r\nimport { observer } from 'mobx-react';\r\nimport { CompetitionStatus, PhaseOneEvaluation } from 'model/Externals';\r\nimport { EvaluationResultDto } from 'model/Api/Competitions/Model/EvaluationResultDto';\r\nimport RenderIcon from 'common/components/Preview/RenderIcon';\r\n\r\ninterface ArtWorkProps {\r\n type: 'tiles' | 'list';\r\n onEvaluationPhaseOne?: (value: PhaseOneEvaluation) => void;\r\n onEvaluationPhaseTwo?: (\r\n entry: CompetitionEntryListItemResponse,\r\n evaluationRef: number\r\n ) => void;\r\n competitionStatus: CompetitionStatus;\r\n competitionEntry: CompetitionEntryListItemResponse;\r\n seeDetails: () => void;\r\n evaluationResults: EvaluationResultDto[];\r\n isEditable: boolean;\r\n}\r\n\r\nconst ArtWork: React.FC = observer(\r\n ({\r\n type,\r\n onEvaluationPhaseOne,\r\n onEvaluationPhaseTwo,\r\n competitionEntry,\r\n competitionStatus,\r\n seeDetails,\r\n evaluationResults,\r\n isEditable\r\n }) => {\r\n const tile = classNames(style.box, { [style.tiles]: type === 'tiles' });\r\n const list = classNames(style.box, { [style.list]: type === 'list' });\r\n\r\n const [privateNoteVisible, setPrivateNoteVisible] = React.useState<\r\n boolean\r\n >(false);\r\n const [publicNoteVisible, setPublicNoteVisible] = React.useState<\r\n boolean\r\n >(false);\r\n\r\n const onPublicNotesVisible = () => {\r\n setPrivateNoteVisible(false);\r\n setPublicNoteVisible(!publicNoteVisible);\r\n };\r\n\r\n const onPrivateNotesVisible = () => {\r\n setPublicNoteVisible(false);\r\n setPrivateNoteVisible(!privateNoteVisible);\r\n };\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n {publicNoteVisible && (\r\n
\r\n {competitionEntry.publicNote}\r\n
\r\n )}\r\n {privateNoteVisible && (\r\n
\r\n {competitionEntry.privateNote}\r\n
\r\n )}\r\n
\r\n \r\n {competitionEntry.title}\r\n \r\n \r\n
\r\n
{`id: ${competitionEntry.id}`}
\r\n
\r\n {(competitionStatus ===\r\n CompetitionStatus.phaseOneJudgingInProgress ||\r\n competitionStatus ===\r\n CompetitionStatus.phaseOneJudgingClosed) && (\r\n \r\n setPrivateNoteVisible(!privateNoteVisible)\r\n }\r\n isList={type === 'list'}\r\n />\r\n )}\r\n {(competitionStatus ===\r\n CompetitionStatus.phaseTwoJudgingInProgress ||\r\n competitionStatus ===\r\n CompetitionStatus.phaseTwoJudgingClosed) && (\r\n {\r\n !!onEvaluationPhaseTwo &&\r\n onEvaluationPhaseTwo(\r\n competitionEntry,\r\n evaluationRef\r\n );\r\n }}\r\n isList={type === 'list'}\r\n isEditable={isEditable}\r\n isPrivateNote={!!competitionEntry.privateNote}\r\n privateNoteActive={privateNoteVisible}\r\n onSetPrivateNoteState={onPrivateNotesVisible}\r\n isPublicNote={!!competitionEntry.publicNote}\r\n publicNoteActive={publicNoteVisible}\r\n onSetPublicNoteState={onPublicNotesVisible}\r\n />\r\n )}\r\n
\r\n );\r\n }\r\n);\r\n\r\nexport default ArtWork;\r\n","import * as React from 'react';\r\nimport JudgingEntriesPage from 'web/screen/JudgingEntriesPage/JudgingEntriesPage';\r\nimport { CategoryEvaluationStatus, PhaseOneEvaluation } from 'model/Externals';\r\nimport ArtWork from 'web/screen/JudgingEntriesPage/ArtWork';\r\nimport {observer} from \"mobx-react\";\r\n\r\ninterface IndividualPhaseProps {\r\n model: JudgingEntriesPage;\r\n view: 'tiles' | 'list';\r\n}\r\n\r\nconst IndividualPhase: React.FC = observer(({ model, view }) => {\r\n return (\r\n <>\r\n {model.entryList.map((entry) => {\r\n const isEditablePhaseOne: boolean =\r\n model.categoryEvaluationStatus ===\r\n CategoryEvaluationStatus.pending && model.isEditable;\r\n\r\n return (\r\n \r\n model.showJudgingEntryDetails(entry.id)\r\n }\r\n competitionStatus={model.competitionStatus}\r\n onEvaluationPhaseOne={(value: PhaseOneEvaluation) =>\r\n model.apiEvaluation.setEvaluationPhaseOne(\r\n entry,\r\n value\r\n )\r\n }\r\n evaluationResults={model.evaluationResults}\r\n isEditable={isEditablePhaseOne}\r\n />\r\n );\r\n })}\r\n \r\n );\r\n});\r\n\r\nexport default IndividualPhase;\r\n","import * as React from 'react';\r\nimport { CompetitionEntryListItemResponse } from 'model/Api/Evaluation/Model/CompetitionEntryListItemDto';\r\nimport style from './GroupPhase.module.scss';\r\nimport RenderIcon from \"common/components/Preview/RenderIcon\";\r\nimport Link from \"web/components/Link\";\r\nimport { Button } from 'antd';\r\nimport {observer} from \"mobx-react\";\r\nimport {useTranslation} from \"react-i18next\";\r\n\r\ninterface NotPromotedArtWorkProps {\r\n entry: CompetitionEntryListItemResponse;\r\n onDetails: () => void;\r\n onPromote: () => void;\r\n}\r\n\r\nconst NotPromotedArtWork: React.FC = observer(({ entry, onDetails, onPromote }) => {\r\n const { t } = useTranslation('judging');\r\n return
\r\n
\r\n \r\n
\r\n
\r\n {entry.title}\r\n
\r\n \r\n
;\r\n});\r\n\r\nexport default NotPromotedArtWork;\r\n","import * as React from 'react';\r\nimport JudgingEntriesPage from 'web/screen/JudgingEntriesPage/JudgingEntriesPage';\r\nimport { CompetitionStatus } from 'model/Externals';\r\nimport ArtWork from 'web/screen/JudgingEntriesPage/ArtWork';\r\nimport { Collapse } from 'antd';\r\nimport NotPromotedArtWork from 'web/screen/JudgingEntriesPage/GroupPhase/NotPromotedArtWork';\r\nimport style from './GroupPhase.module.scss';\r\nimport { observer } from 'mobx-react';\r\nimport {useTranslation} from \"react-i18next\";\r\n\r\ninterface GroupPhaseProps {\r\n model: JudgingEntriesPage;\r\n view: 'tiles' | 'list';\r\n}\r\n\r\nconst { Panel } = Collapse;\r\n\r\nconst GroupPhase: React.FC = observer(({ model, view }) => {\r\n const { t } = useTranslation('judging');\r\n const isEditablePhaseTwo: boolean =\r\n model.competitionStatus ===\r\n CompetitionStatus.phaseTwoJudgingInProgress && model.isEditable;\r\n const { getGroupPhaseEntryList } = model;\r\n return (\r\n <>\r\n {getGroupPhaseEntryList.promoted.map((entry) => (\r\n model.showJudgingEntryDetails(entry.id)}\r\n competitionStatus={model.competitionStatus}\r\n onEvaluationPhaseTwo={\r\n model.apiEvaluation.setEvaluationPhaseTwo\r\n }\r\n evaluationResults={model.evaluationResults}\r\n isEditable={isEditablePhaseTwo}\r\n />\r\n ))}\r\n {!!getGroupPhaseEntryList.notPromoted &&\r\n getGroupPhaseEntryList.notPromoted.length > 0 && (\r\n \r\n \r\n {getGroupPhaseEntryList.notPromoted.map((entry) => (\r\n \r\n model.showJudgingEntryDetails(entry.id)\r\n }\r\n onPromote={() =>\r\n model.onPromoteEntry(entry.id)\r\n }\r\n />\r\n ))}\r\n \r\n \r\n )}\r\n \r\n );\r\n});\r\n\r\nexport default GroupPhase;\r\n","import * as React from 'react';\r\nimport style from './JudgingEntriesPageView.module.scss';\r\nimport JudgingEntriesPage, {\r\n JudgeEntriesSorting\r\n} from 'web/screen/JudgingEntriesPage/JudgingEntriesPage';\r\nimport { ContentView } from 'react-mvvm';\r\nimport EvaluationOptionList from 'web/components/EvaluationOptionList';\r\nimport PageLoader from 'common/components/PageLoader';\r\nimport { CompetitionStatus } from 'model/Externals';\r\nimport { observer } from 'mobx-react';\r\nimport IndividualPhase from 'web/screen/JudgingEntriesPage/IndividualPhase';\r\nimport GroupPhase from 'web/screen/JudgingEntriesPage/GroupPhase';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\ninterface JudgingEntriesPageViewProps {\r\n model: JudgingEntriesPage;\r\n}\r\n\r\nconst JudgingEntriesPageView: React.FC = observer(\r\n ({ model }) => {\r\n const { t } = useTranslation('judging');\r\n const [view, setView] = React.useState<'tiles' | 'list'>('list');\r\n\r\n return (\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {model.competitionStatus ===\r\n CompetitionStatus.phaseOneJudgingInProgress ||\r\n model.competitionStatus ===\r\n CompetitionStatus.phaseOneJudgingClosed ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n);\r\n\r\nexport default JudgingEntriesPageView;\r\n","import * as React from \"react\";\r\nimport TextArea from \"antd/es/input/TextArea\";\r\nimport {debounce} from \"debounce\";\r\nimport {ChangeEvent} from \"react\";\r\nimport {observer} from \"mobx-react\";\r\n\r\ninterface NoteProps {\r\n note: string,\r\n onSaveNote: (value: string) => void\r\n}\r\n\r\nconst Note: React.FC = observer(({note, onSaveNote}) => {\r\n const [noteValue, setNote] = React.useState('');\r\n const noteRef = React.useRef(null);\r\n const saveComments = React.useRef(debounce(onSaveNote, 1000)).current;\r\n React.useEffect(() => {\r\n setNote(note);\r\n }, [note])\r\n \r\n const onChange = (e: ChangeEvent) => {\r\n setNote(e.target.value);\r\n saveComments(e.target.value);\r\n }\r\n \r\n return