{"version":3,"sources":["assets/images/cards/visa.js","assets/images/cards/unionpay.js","assets/images/cards/placeholder.js","assets/images/cards/mastercard.js","assets/images/cards/jcb.js","assets/images/cards/amex.js","assets/images/cards/dinersclub.js","assets/images/cards/discover.js","assets/images/cards/hipercard.js","coreLib/auth/auth.js","config.js","components/Common/Private-Route/Private-Route.jsx","redux/system/system-action-types.js","redux/system/notification-reducer.js","redux/system/login-reducer.js","redux/system/error-notification-reducer.js","redux/system/system-reducer.js","components/Template-Component/redux/action-types.js","components/Template-Component/redux/reducer.js","views/Course-Enrolment/redux/action-types.js","views/Course-Enrolment/redux/step-1-reducer.js","views/Course-Enrolment/Step-2/redux/action-types.js","services/date-service.js","views/Course-Enrolment/Step-2/redux/reducer.js","views/Course-Enrolment/redux/step-3-reducer.js","views/Course-Enrolment/redux/enrolment-reducer.js","views/Course-Enrolment/redux/reducers.js","components/Register-Box/redux/action-types.js","components/Register-Box/redux/reducer.js","components/Contact-Box/redux/action-types.js","components/Contact-Box/redux/reducer.js","views/Start/redux/action-types.js","views/Start/redux/reducer.js","views/Course-Content/redux/action-types.js","views/Course-Quiz/redux/action-types.js","views/Course-Content/redux/reducer.js","views/Course-Quiz/redux/reducer.js","views/Certificates/redux/action-types.js","views/Certificates/redux/reducer.js","views/Corporate-Vouchers/redux/action-types.js","views/Corporate-Vouchers/redux/reducer.js","views/Third-Party-Form/redux/action-types.js","views/Third-Party-Form/redux/reducer.js","views/Update-Profile/redux/action-types.js","views/Update-Profile/redux/reducer.js","views/Change-Password/redux/action-types.js","views/Change-Password/redux/reducer.js","components/Forgot-Password/redux/action-types.js","components/Forgot-Password/redux/reducer.js","components/Reset-Password/redux/action-types.js","components/Reset-Password/redux/reducer.js","views/NSW-Reprint-Page/redux/action-types.jsx","views/NSW-Reprint-Page/redux/reducers.jsx","views/Corporate-Tax-Invoice/redux/action-types.jsx","views/Corporate-Tax-Invoice/redux/reducers.jsx","views/Coporate-Vouchers/redux/action-types.jsx","views/Start/corporate-constants.js","views/Coporate-Vouchers/redux/reducer.jsx","views/Purchase-Corporate-Vouchers/redux/action-types.jsx","views/Purchase-Corporate-Vouchers/redux/reducer.jsx","views/Course-Survey/redux/action-types.js","views/Course-Survey/redux/reducer.js","views/Course-Completed/redux/action-types.js","views/Course-Completed/redux/reducer.js","views/Admin/Users/redux/datatable/action-types.jsx","views/Admin/Users/redux/datatable/reducers.jsx","views/Admin/Users/redux/dialog/action-types.jsx","views/Admin/Users/redux/dialog/reducers.jsx","views/Admin/Users/redux/reducers.jsx","views/Admin/UserCourses/redux/datatable/action-types.jsx","constants/course-content.js","constants/third-party-form-tasks/index.js","constants/third-party-form-tasks/nsw-food-safety-supervisor-certificate.js","constants/third-party-form-tasks/nsw-food-safety-supervisor-certificate-refresher.js","constants/third-party-form-tasks/food-handling-level-1-certificate-health-and-community.js","constants/third-party-form-tasks/food-handling-level-1-certificate-hospitality-and-retail.js","constants/third-party-form-tasks/food-handling-level-2-certificate-hospitality-and-retail.js","constants/third-party-form-tasks/food-safety-supervisor-certificate-health-and-community.js","constants/third-party-form-tasks/food-safety-supervisor-certificate-hospitality-and-retail.js","coreLib/http/httpInterceptor.js","coreLib/http/httpClient.js","services/course-service.js","views/Admin/UserCourses/redux/datatable/reducers.jsx","views/Admin/UserCourses/redux/dialog/action-types.jsx","views/Admin/UserCourses/redux/dialog/reducers.jsx","views/Admin/UserCourses/redux/reducers.jsx","views/Admin/Nsw-Certificates/redux/dataTable/action-types.js","views/Admin/Nsw-Certificates/redux/dataTable/reducer.js","views/Admin/Nsw-Certificates/redux/dialog/action-types.js","views/Admin/Nsw-Certificates/redux/dialog/reducer.js","views/Admin/Nsw-Certificates/redux/reducers.js","views/Admin/Nsw-Reprints-View/redux/dataTable/action-types.js","views/Admin/Nsw-Reprints-View/redux/dataTable/reducer.js","views/Admin/Nsw-Reprints-View/redux/dialog/action-types.js","views/Admin/Nsw-Reprints-View/redux/dialog/reducer.js","views/Admin/Nsw-Reprints-View/redux/reducers.js","views/Admin/Promo-Codes/redux/datatable/action-types.jsx","views/Admin/Promo-Codes/redux/datatable/reducers.jsx","views/Admin/Promo-Codes/redux/dialog/action-types.jsx","views/Admin/Promo-Codes/redux/dialog/reducers.jsx","views/Admin/Promo-Codes/redux/reducers.jsx","views/Admin/View-Voucher-Purchases/redux/datatable/action-types.jsx","views/Admin/View-Voucher-Purchases/redux/datatable/reducers.jsx","views/Admin/View-Voucher-Purchases/redux/dialog/action-types.jsx","views/Admin/View-Voucher-Purchases/redux/dialog/reducers.jsx","views/Admin/View-Voucher-Purchases/redux/reducers.jsx","views/Admin/Download-Reports/redux/action-types.jsx","views/Admin/Download-Reports/redux/reducers.jsx","views/Admin/Edit-User-Course/redux/action-types.jsx","views/Admin/Edit-User-Course/redux/reducers.jsx","views/Avetmiss/Authorise-Avs/redux/action-types.js","views/Avetmiss/Authorise-Avs/redux/reducer.js","views/Avetmiss/Avetmiss-Reporting/redux/action-types.js","views/Avetmiss/Avetmiss-Reporting/redux/reducer.js","views/Avetmiss/Avetmiss-Reporting-Submission/redux/action-types.js","views/Avetmiss/Avetmiss-Reporting-Submission/redux/reducer.js","views/Avetmiss/Avetmiss-Reporting-Validation/redux/action-types.js","views/Avetmiss/Avetmiss-Reporting-Validation/redux/reducer.js","views/Avetmiss/Avetmiss-Address-Validation/redux/action-types.js","views/Avetmiss/Avetmiss-Address-Validation/redux/reducer.js","views/Admin/Sync/redux/action-types.js","views/Admin/Sync/redux/reducer.js","views/external-learning-course/redux/action-types.js","views/external-learning-course/redux/reducer.js","redux/root-reducer.js","redux/configure-store.js","components/Scroll-To-Top/Scroll-To-Top.jsx","coreLib/auth/authUtil.js","coreLib/auth/userIdentity.js","services/login-service.js","constants/index.js","services/login-impersonation-service.js","redux/system/system-action-creators.js","components/Common/Toast/Toast-Notification.jsx","components/Common/Toast/Toast-Container.jsx","components/Common/Button-Fx/Button-Fx.jsx","components/Common/Basic-Modal/Basic-Modal.jsx","components/Common/Error-Modal/Error-Modal.jsx","components/Common/Error-Modal/Error-Modal-Container.jsx","components/solvable-priority-nav/reducers/reducer.js","components/solvable-priority-nav/hooks/use-scroll-to-section.js","components/solvable-priority-nav/utils/priority-nav-utils.js","components/solvable-priority-nav/components/forward-ref-div.js","components/solvable-priority-nav/components/toggle-button-icon.js","components/solvable-priority-nav/components/toggle-button.js","components/solvable-priority-nav/solvable-priority-nav.js","components/solvable-priority-nav/hooks/use-resize-observe.js","components/solvable-priority-nav/utils/render-nav-item.js","components/Common/Fields/Input-Field.jsx","components/Login-Bar/login-bar.js","components/Header/header.js","components/Copyright/Copyright.jsx","components/Footer/Footer.jsx","components/Footer/Footer.Container.jsx","views/Home/components/hero/hero.js","features/infographic/infographic.js","views/Home/components/infographic-container/infographic-container.js","components/Common/header-image-section/header-image-section.js","components/Common/content-section/components/content-section-container/content-section-container.js","components/Common/content-section/components/fancy-backgrounds/angle/angle.js","components/Common/content-section/components/fancy-backgrounds/arc/arc.js","components/Common/content-section/components/fancy-backgrounds/wave-curve/wave-curve.js","components/Common/content-section/components/fancy-backgrounds/intersecting-waves/intersecting-waves.js","components/Common/content-section/components/fancy-backgrounds/intersecting-waves-scattered/intersecting-waves-scattered.js","components/Common/content-section/components/fancy-backgrounds/custom-svgs/custom-svgs.js","components/Common/content-section/components/fancy-backgrounds/content-background-factory.js","components/Common/Block-Ui-Fx/Block-Ui-Fx.jsx","components/Common/page-tagging/page-tagging.js","components/Common/content-section/index.js","features/green-tick-balls/green-tick-balls.js","components/link-button/link-button.js","views/Home/components/whats-next/whats-next.js","features/select-a-course/components/course-card/course-card.js","features/select-a-course/components/help-question/help-question.js","features/select-a-course/select-a-course.js","views/Home/components/courses-container/courses-container.js","components/Carousel-Item/View.jsx","components/Carousel-Item/index.jsx","components/Carousel/View.jsx","components/Carousel/index.jsx","views/Home/components/happy-customers/happy-customers.js","features/why-train-with-us-points/why-train-with-us-points.js","views/Home/components/why-train-with-us/why-train-with-us.js","views/Home/components/certificate-info/certificate-info.js","views/Home/components/business-info/business-info.js","views/Home/components/happy-clients/happy-clients.js","views/Home/home.js","components/Common/Fields/Validators/Field-Validators.js","components/Common/Fields/form-handler.js","components/Contact-Box/Contact-Box.jsx","components/Contact-Box/redux/service.jsx","components/Contact-Box/redux/action-creators.js","components/Contact-Box/Contact-Box.Container.jsx","views/Contact-Us/contact-us.js","components/Login-Box/Login-Box.jsx","components/Login-Box/Login-Box.Container.jsx","views/Login/login.js","views/Course-Enrolment/New-Enrolment/new-enrolment.js","views/Course-Enrolment/services/step1.service.jsx","views/Course-Enrolment/services/step3.service.jsx","views/Course-Enrolment/redux/action-creators.js","components/Common/Fields/Checkbox-Field.jsx","components/Common/Fields/Payment-Inputs.jsx","components/Common/Page-Title/Page-Title.jsx","components/Common/Fields/Select-Field.jsx","components/Address-Entry/Address-Entry.jsx","components/Common/Loqate-Single-Address-Field/constants/loqate.js","components/Common/Loqate-Single-Address-Field/utils/loqate.js","components/Common/Loqate-Single-Address-Field/index.js","views/Course-Enrolment/Step-1/Step-1-Form.jsx","views/Course-Enrolment/Step-1/Step-1-Form.Container.jsx","views/Course-Enrolment/Step-2/services/api-service.js","views/Course-Enrolment/Step-2/redux/action-creators.js","components/Common/Fields/Date-Picker-Field.jsx","components/Common/Fields/Masked-Input-Field.jsx","components/Common/Fields/Radio-Button-List.jsx","views/Course-Enrolment/Step-2/step-2-constants.js","views/Course-Enrolment/Step-2/Step-2-Form.jsx","views/Course-Enrolment/Step-2/Step-2-Form.Container.jsx","views/Course-Enrolment/Step-3/step-3-constants.js","views/Course-Enrolment/Step-3/Step-3-Form.jsx","views/Course-Enrolment/Step-3/Step-3-Form.Container.jsx","components/Content-Section/index.jsx","components/solvable-datatable/search-box/search-box.jsx","components/solvable-datatable/search-box/search-logic.js","components/solvable-datatable/action-button/action-buttons-factory.jsx","components/solvable-datatable/action-button/action-buttons-factory2.jsx","components/solvable-datatable/solvable-datatable.jsx","views/Coporate-Vouchers/datatable/Email-Modal.jsx","views/Coporate-Vouchers/datatable/datatable.jsx","views/Coporate-Vouchers/redux/service.jsx","views/Start/redux/service.jsx","views/Coporate-Vouchers/redux/action-creators.jsx","views/Coporate-Vouchers/datatable/datatable.container.jsx","views/Coporate-Vouchers/corporate-vouchers.container.jsx","views/Coporate-Vouchers/corporate-vouchers.jsx","views/Purchase-Corporate-Vouchers/purchase-corporate-vouchers.jsx","views/Purchase-Corporate-Vouchers/redux/service.jsx","views/Purchase-Corporate-Vouchers/redux/action-creators.jsx","views/Purchase-Corporate-Vouchers/purchase-corporate-vouchers.container.jsx","components/Course-Content-Buttons/Course-Content-Buttons.jsx","components/Course-Content-Sections/Course-Content-Sections.jsx","components/Common/responsive-html-renderer/responsive-html.js","views/Course-Content/Course-Content.jsx","services/user-course-service.js","views/Course-Content/services/api-service.js","views/Course-Content/redux/action-creators.js","views/Course-Content/Course-Content.Container.jsx","components/Course-Quiz-Question/Course-Quiz-Question-Multi-Select.jsx","components/Course-Quiz-Question/Course-Quiz-Question-Drop-Down.jsx","components/Course-Quiz-Question/Course-Quiz-Question.jsx","views/Course-Quiz/Course-Quiz.jsx","views/Course-Quiz/services/api-service.js","views/Course-Quiz/services/course-quiz-service.js","views/Course-Quiz/redux/action-creators.js","views/Course-Quiz/Course-Quiz.Container.jsx","constants/public-content/about-us-page-content.js","constants/public-content/index.js","services/content-service.js","views/Content-Page/index.js","views/Certificates/certificates.js","components/Register-Box/Register-Box.jsx","components/Register-Box/Register-Service.js","components/Register-Box/redux/action-creators.js","components/Register-Box/Register-Box.Container.jsx","views/Certificates/certificate-register.js","views/Certificates/redux/action-creators.js","components/Your-Courses/Your-Courses.jsx","views/Start/redux/action-creators.js","components/Your-Courses/Your-Courses.Container.jsx","views/Start/start.js","views/Corporate-Vouchers/corporate-vouchers-register.js","views/Corporate-Vouchers/redux/action-creators.js","components/Common/tooltip/tool-tip-fx.jsx","components/Common/signature-pad/signature-pad.jsx","views/Third-Party-Form/sub-views/additional-info-form.jsx","views/Third-Party-Form/sub-views/observer-form.jsx","components/Common/Confirm-Modal/Confirm-Modal.jsx","views/Third-Party-Form/confirm-dialog/Confirm-Email-Form-Sending.jsx","views/Third-Party-Form/message-dialog/Message-Dialog.jsx","views/Third-Party-Form/Third-Party-Form.jsx","views/Third-Party-Form/third-party-form-service.js","views/Third-Party-Form/redux/action-creators.js","views/Third-Party-Form/Third-Party-Form.Container.jsx","views/Update-Profile/Update-Profile.jsx","views/Update-Profile/redux/service.jsx","views/Update-Profile/redux/action-creators.js","views/Update-Profile/Update-Profile.Container.jsx","views/Change-Password/Change-Password.jsx","views/Change-Password/redux/service.js","views/Change-Password/redux/action-creators.js","views/Change-Password/Change-Password.Container.jsx","components/Arrow-Link-Button/Arrow-Link-Button.jsx","views/Pages/403/Error-403.jsx","components/Forgot-Password/Forgot-Password.jsx","components/Forgot-Password/Forgot-Password-Service.js","components/Forgot-Password/redux/action-creators.js","components/Forgot-Password/Forgot-Password.Container.jsx","views/Forgot-Password/Forgot-Password-View.jsx","components/Reset-Password/Reset-Password.jsx","components/Reset-Password/Reset-Password-Service.js","components/Reset-Password/redux/action-creators.js","components/Reset-Password/Reset-Password.Container.jsx","views/Forgot-Password/Reset-Password-View.jsx","views/NSW-Reprint-Page/redux/service.jsx","views/NSW-Reprint-Page/redux/action-creators.jsx","views/NSW-Reprint-Page/nsw-reprint-page.jsx","views/NSW-Reprint-Page/nsw-reprint-page.container.jsx","views/Corporate-Tax-Invoice/datatable/datatable.jsx","views/Corporate-Tax-Invoice/redux/service.jsx","views/Corporate-Tax-Invoice/redux/action-creators.jsx","views/Corporate-Tax-Invoice/datatable/datatable.container.jsx","views/Corporate-Tax-Invoice/corporate-tax-invoice.container.jsx","views/Corporate-Tax-Invoice/corporate-tax-invoice.jsx","components/Common/collapsible-panel/collapsible-panel.js","components/Common/collapsible-panel/header.js","components/Common/collapsible-panel/content.js","components/Common/collapsible-panel/collapsible-item.js","components/Common/content-collapsible-panel/index.js","constants/faqs-content/faqs-general.js","constants/faqs-content/faqs-usi.js","constants/faqs-content/faqs-third-party.js","constants/faqs-content/faqs-nsw.js","views/FAQs/faqs.js","views/Course-Completed/course-completed-service.js","constants/survey-content.js","views/Course-Completed/redux/action-creators.js","views/Course-Completed/Course-Completed.jsx","views/Course-Completed/Course-Completed.Container.jsx","views/Course-Survey/course-survey-service.js","views/Course-Survey/redux/action-creators.js","views/Course-Survey/Course-Survey.jsx","views/Course-Survey/Course-Survey.Container.jsx","views/Print-Course-Content-Guide/services/api-service.js","views/Print-Course-Content-Guide/Print-Course-Content-Guide.jsx","views/Admin/Users/Modals/edit.jsx","views/Admin/Users/Modals/delete.jsx","views/Admin/Users/datatable.jsx","components/Common/Fields/React-Select-Field.jsx","views/Admin/Users/filter-section.jsx","views/Admin/Users/users.jsx","views/Admin/Users/redux/service.jsx","views/Admin/Users/redux/datatable/action-creators.jsx","views/Admin/Users/redux/dialog/action-creators.jsx","views/Admin/Users/users.container.jsx","views/Admin/UserCourses/Modals/delete.jsx","views/Admin/UserCourses/datatable.jsx","views/Admin/UserCourses/filter-section.jsx","views/Admin/UserCourses/users-course.jsx","views/Admin/UserCourses/redux/service.jsx","views/Admin/UserCourses/redux/datatable/action-creators.jsx","views/Admin/UserCourses/redux/dialog/action-creators.jsx","views/Admin/UserCourses/users-courses.container.jsx","components/Common/Fields/Text-Area-Field.jsx","views/Admin/Edit-User-Course/delete-dialog.jsx","views/Admin/Edit-User-Course/edit-user-course.jsx","views/Admin/Edit-User-Course/services/api-service.jsx","views/Admin/Edit-User-Course/redux/action-creators.jsx","views/Admin/Edit-User-Course/edit-user-course.container.jsx","views/Admin/Download-Reports/filter-section.jsx","views/Admin/Download-Reports/download-reports.jsx","views/Admin/Download-Reports/redux/service.jsx","views/Admin/Download-Reports/redux/action-creators.jsx","views/Admin/Download-Reports/download-reports.container.jsx","views/Admin/View-Voucher-Purchases/Modals/edit.jsx","views/Admin/View-Voucher-Purchases/Modals/delete.jsx","views/Admin/View-Voucher-Purchases/Modals/mark-as-paid.jsx","views/Admin/View-Voucher-Purchases/Modals/vouchers-list.jsx","views/Admin/View-Voucher-Purchases/datatable.jsx","views/Admin/View-Voucher-Purchases/filter-section.jsx","views/Admin/View-Voucher-Purchases/voucher-purchases.jsx","views/Admin/View-Voucher-Purchases/redux/service.jsx","views/Admin/View-Voucher-Purchases/redux/datatable/action-creators.jsx","views/Admin/View-Voucher-Purchases/redux/dialog/action-creators.jsx","views/Admin/View-Voucher-Purchases/voucher-purchases.container.jsx","views/Admin/Nsw-Certificates/Modals/View-Details.jsx","views/Admin/Nsw-Certificates/Data-Table/Data-Table.jsx","views/Admin/Nsw-Certificates/Nsw-Certificates.jsx","views/Admin/Nsw-Certificates/service.js","views/Admin/Nsw-Certificates/redux/dataTable/action-creators.js","views/Admin/Nsw-Certificates/redux/dialog/action-creators.js","views/Admin/Nsw-Certificates/Nsw-Certificates.Container.js","views/Admin/Nsw-Reprints-View/Modals/View-Details.jsx","views/Admin/Nsw-Reprints-View/Data-Table/Data-Table.jsx","views/Admin/Nsw-Reprints-View/Nsw-Reprints-View.jsx","views/Admin/Nsw-Reprints-View/service.js","views/Admin/Nsw-Reprints-View/redux/dataTable/action-creators.js","views/Admin/Nsw-Reprints-View/redux/dialog/action-creators.js","views/Admin/Nsw-Reprints-View/Nsw-Reprints-View.Container.js","views/Admin/Promo-Codes/Modals/edit.jsx","views/Admin/Promo-Codes/Modals/delete.jsx","views/Admin/Promo-Codes/datatable.jsx","views/Admin/Promo-Codes/promo-codes.jsx","views/Admin/Promo-Codes/redux/service.jsx","views/Admin/Promo-Codes/redux/datatable/action-creators.jsx","views/Admin/Promo-Codes/redux/dialog/action-creators.jsx","views/Admin/Promo-Codes/promo-codes.container.jsx","components/Common/App-Wrapper/App-Wrapper.jsx","components/Common/App-Wrapper/App-Wrapper-Container.jsx","components/Common/Login-Impersonation/Login-Impersonation.Container.jsx","views/Avetmiss/Authorise-Avs/authorise-avs.jsx","views/Avetmiss/Authorise-Avs/authorise-avs-service.js","views/Avetmiss/Authorise-Avs/redux/action-creators.js","views/Avetmiss/Authorise-Avs/authorise-avs.container.jsx","views/Avetmiss/Avetmiss-Reporting/avetmiss-reporting.jsx","views/Avetmiss/Avetmiss-Reporting/avetmiss-reporting-service.js","views/Avetmiss/Avetmiss-Reporting/redux/action-creators.js","views/Avetmiss/Avetmiss-Reporting/avetmiss-reporting.container.jsx","views/Avetmiss/Avetmiss-Reporting-Submission/delete-dialog.jsx","components/Common/file-uploader/service/icon-factory.js","components/Common/file-uploader/service/helper.js","components/Common/image-preview-fx/image-preview-fx.jsx","components/Common/file-uploader/file-uploader.jsx","components/Common/validation-error-message/validation-error-message.js","views/Avetmiss/Avetmiss-Reporting-Submission/components/dialogs/import/index.js","views/Avetmiss/Avetmiss-Reporting-Submission/avetmiss-reporting-submission.jsx","views/Avetmiss/Avetmiss-Reporting-Submission/avetmiss-reporting-submission-service.js","views/Avetmiss/Avetmiss-Reporting-Submission/redux/action-creators.js","views/Avetmiss/Avetmiss-Reporting-Submission/avetmiss-reporting-submission.container.jsx","views/Avetmiss/Avetmiss-Reporting-Validation/sub-views/validation-error.jsx","views/Avetmiss/Avetmiss-Reporting-Validation/delete-dialog.jsx","views/Avetmiss/Avetmiss-Reporting-Validation/avetmiss-reporting-validation.jsx","views/Avetmiss/Avetmiss-Reporting-Validation/avetmiss-reporting-validation-service.js","views/Avetmiss/Avetmiss-Reporting-Validation/redux/action-creators.js","views/Avetmiss/Avetmiss-Reporting-Validation/avetmiss-reporting-validation.container.jsx","views/Avetmiss/Avetmiss-Address-Validation/components/validation-error.js","views/Avetmiss/Avetmiss-Address-Validation/services/api-service.js","views/Avetmiss/Avetmiss-Address-Validation/redux/action-creators.js","views/Avetmiss/Avetmiss-Address-Validation/index.js","views/Admin/Sync/services/api-service.js","views/Admin/Sync/redux/action-creators.js","views/Admin/Sync/sync-view.js","views/Course-Info-Page/course-content/nsw-food-safety-supervisor-certificate.js","views/Course-Info-Page/course-content/nsw-food-safety-supervisor-certificate-refresher.js","views/Course-Info-Page/course-content/food-safety-supervisor-certificate-hospitality-and-retail.js","views/Course-Info-Page/course-content/food-handling-level-1-certificate-hospitality-and-retail.js","views/Course-Info-Page/course-content/food-handling-level-2-certificate-hospitality-and-retail.js","views/Course-Info-Page/course-content/food-handling-level-1-certificate-health-and-community.js","views/Course-Info-Page/course-content/food-safety-supervisor-certificate-health-and-community.js","views/Course-Info-Page/course-info-page.js","views/Course-Info-Page/course-content/index.js","views/external-learning-course/services/api-service.js","views/external-learning-course/redux/action-creators.js","views/external-learning-course/external-learning-course.js","App.js","serviceWorker.js","index.js","assets/images/cards/index.js","assets/svgs/infographic-1.svg","assets/svgs/infographic-2.svg","assets/svgs/infographic-3.svg","assets/svgs/infographic-4.svg","assets/svgs/infographic-5.svg","assets/svgs/green-tick.svg","assets/svgs/hltfse001.svg","assets/svgs/hltfse005.svg","assets/svgs/hltfse007.svg","assets/svgs/sitxfsa005.svg","assets/svgs/sitxfsa006.svg","assets/images/fruit-bg.jpg","assets/images/food-bg.jpg"],"names":["Object","defineProperty","exports","value","ex","React","require","visa","createElement","stroke","strokeWidth","fill","fillRule","id","transform","strokeOpacity","x","y","width","height","rx","d","default","unionpay","placeholder","mastercard","cx","cy","r","jcb","amex","dinersclub","discover","hipercard","Auth","classCallCheck","this","useLocalStorage","localStorage","subscribers","load","createClass","key","tokenObject","getItem","tokenObjectParsed","JSON","parse","_populateModel","token","refreshToken","expiresIn","setItem","stringify","removeItem","tokenObj","_fetchFullTokenObject","cb","push","_this","forEach","isAuthenticated","clientId","ClientId","GrantType","RefreshToken","getRefreshToken","refresh","Config","apiUrl","process","authLoginUrl","authTokenUrl","maintenancePageUrl","forbiddenPageUrl","loginPageUrlRedirect","logoutRedirectUrl","authStorageKey","googleClientId","enableGoogleLogin","loqateUsername","loqatePassword","crypto_key","crypto_vector","CheckAndRenderAuthenticatedComponent","props","noAccess","isNil","claimsAuthorisationHook","isFunction","react_default","a","react_router","to","pathname","Fragment","children","PrivateRoute","_ref","component","path","rest","objectWithoutProperties","_excluded","assign","render","Private_Route_CheckAndRenderAuthenticatedComponent","state","from","location","ActionTypes","SYS_ADD_NOTIFICATION","SYS_ADD_ERROR_NOTIFICATION","SYS_LOGIN_REQUEST","SYS_LOGIN_SUCCESS","SYS_LOGIN_FAILURE","SYS_LOGOUT_REQUEST","SYS_LOGOUT_SUCCESS","SYS_LOGOUT_FAILURE","SYS_LOGIN_VALIDATION_ERROR","SYS_LOGIN_FORM_INPUT_CHANGE","SYS_LOGIN_USER_LOAD_IDENTITY_STATE","SYS_LOGIN_IMPERSONATION_REQUEST","SYS_LOGIN_IMPERSONATION_SUCCESS","SYS_LOGIN_IMPERSONATION_FAILURE","SYS_LOGIN_IMPERSONATION_INIT","SYS_HANDLE_ERROR","SYS_HANDLE_ERROR_SHOW_FORM","SYS_HANDLE_ERROR_HIDE_FORM","initialState","message","level","position","selectNotificationData","system","notification","loggedIn","loggedInUser","firstName","lastName","email","hasCourses","userType","fields","username","password","isLoading","urlRedirectionViaImpersonation","selectLoginData","login","title","lastErrorOccured","isModalOpen","isModelStateError","status","selectErrorNotification","errorNotification","SystemReducer","combineReducers","arguments","length","undefined","action","type","objectSpread2","payload","error","isModelState","redirectToUrl","name","fieldErrors","TEMPLATE_COMPONENT_TOGGLE_IS_AWESOME_REQUEST","TEMPLATE_COMPONENT_TOGGLE_IS_AWESOME_SUCCESS","TEMPLATE_COMPONENT_TOGGLE_IS_AWESOME_FAILURE","TEMPLATE_COMPONENT_FORM_INPUT_CHANGE","isAwesome","TemplateComponentReducer","ENROLMENT_LOAD_COURSE_DETAILS_REQUEST","ENROLMENT_LOAD_COURSE_DETAILS_SUCCESS","ENROLMENT_LOAD_COURSE_DETAILS_FAILURE","STEP_1_AUTOCOMPLETE_ADDRESS_UPDATE_SUCCESS","STEP_1_INIT","STEP_1_CLEAR_ADDRESS","STEP_1_TOGGLE_MANUAL_ADDRESS_ENTRY","STEP_1_TOGGLE_PROMO_CODE_ENTRY","STEP_1_SUBMIT_ENROLMENT_REQUEST","STEP_1_SUBMIT_ENROLMENT_SUCCESS","STEP_1_SUBMIT_ENROLMENT_FAILURE","STEP_1_SET_CARD_VALIDITY","STEP_1_SHOW_MANUAL_ADDRESS_ENTRY","STEP_1_APPLY_DISCOUNT_CODE_REQUEST","STEP_1_APPLY_DISCOUNT_CODE_SUCCESS","STEP_1_APPLY_DISCOUNT_CODE_FAILURE","STEP_1_APPLY_DISCOUNT_TOGGLE_DISCOUNT_CODE","STEP_1_TOGGLE_SHOW_CONFIRM_NAME_POPUP","STEP_3_TOGGLE_WHERE_EXPERIENCE","STEP_3_SUBMIT_ENROLMENT_REQUEST","STEP_3_SUBMIT_ENROLMENT_SUCCESS","STEP_3_SUBMIT_ENROLMENT_FAILURE","STEP_3_FORM_VALID","STEP_3_INIT","STEP_3_INIT_SUCCEEDED","STEP_3_INIT_FAILED","STEP_1_FORM_INPUT_CHANGE","STEP_3_FORM_INPUT_CHANGE","STEP_3_FORM_DATE_CHANGE","isApplyingDiscountCode","isDiscountCodeApplied","showDiscountCodeForm","discountedPrice","addressEntry","displayAutocompleteAddressField","enterAddressManually","showSearchAddress","fullAddress","hasPromoCode","unitNumber","streetNumber","streetName","city","postcode","cardNumber","cardExpiryDate","cardName","cardCvc","promoCode","discountCode","understandTerms","isCreditCardValid","isSubmitting","isSubmitted","showConfirmNamePopup","Step1Reducer","concat","subdwelling","buildingName","trim","street","locality","totalAfterDiscount","STEP_2_INIT","STEP_2_UPDATE_DOB_FIELD","STEP_2_INIT_SUCCEEDED","STEP_2_INIT_FAILED","STEP_2_UPDATE_ADDRESS_FROM_STEP_1_ADDRESS","STEP_2_TOGGLE_TERTIARY","STEP_2_TOGGLE_WHAT_IS_USI","STEP_2_TOGGLE_HAS_USI","STEP_2_TOGGLE_DISABILITY","STEP_2_TOGGLE_COUNTRY","STEP_2_TOGGLE_OTHER_LANGUAGE","STEP_2_TOGGLE_UNDERSTANDING_OF_ENGLISH","STEP_2_TOGGLE_UNDERSTAND_FALSE_INFO","STEP_2_TOGGLE_UNDERSTAND_TIME_TO_COMPLETE","STEP_2_FORM_VALID","STEP_2_TOGGLE_GUARDIAN_ACKNOWLEDGEMENT","STEP_2_SUBMIT_ENROLMENT_REQUEST","STEP_2_SUBMIT_ENROLMENT_SUCCESS","STEP_2_SUBMIT_ENROLMENT_FAILURE","STEP_2_FORM_DATE_CHANGE","STEP_2_FORM_INPUT_CHANGE","STEP_2_AUTOCOMPLETE_ADDRESS_UPDATE_SUCCESS","STEP_2_TOGGLE_MANUAL_ADDRESS_ENTRY","STEP_2_SHOW_MANUAL_ADDRESS_ENTRY","STEP_2_CLEAR_ADDRESS","DateService","today","Date","formatDate","date","formatString","format","getDateFromString","dateString","getCurrentAge","differenceInYears","addDays","formatDateFromString","getFirstDayOfTheMonth","getFullYear","getMonth","getLastDayOfTheMonth","toIsoDate","dt","moment","isMoment","toDate","toUpperCase","fieldVisibility","showLevelOfEducation","showWhatIsUsi","showHasUsi","showDisability","showCountry","showOtherLanguage","showUnderstandingOfEnglish","showUnderstandFalseInfo","showUnderstandTimeToComplete","showGuardianAcknowledgment","showSubmit","showUsiLastName","courseId","userCourseId","dateOfBirth","gender","levelOfSchool","stillEnrolledInSchool","completedTertiary","levelOfEducation","reasonForUndertakingCourse","phone","usiFirstName","usiMiddleName","usiLastName","hasUsi","usiNumber","howDidYouHear","disability","disabilityType","bornInAustralia","country","aboriginalOrTorresStraitIslandOrigin","languageAtHome","languageAtHomeOther","goodUnderstandingOfEnglish","understandFalseInfo","understandTimeToComplete","studentAcknowledgment","guardianAcknowledgment","isProcessing","formValid","Step2Reducer","showExperience","showWorkPlaceName","whereExperience","workplaceName","workplaceSuburb","workplacePhone","relationshipToObserver","observerFirstName","observerLastName","observerEmail","workplaceStartDate","workplaceEndDate","currentEmploymentStatus","Step3Reducer","courseDetails","courseTitle","courseCode","coursePrice","validStates","EnrolmentReducer","selectEnrolment","courseEnrolment","enrolment","CourseEnrolmentReducer","step1","step2","step3","REGISTER_BOX_REGISTER_REQUEST","REGISTER_BOX_REGISTER_SUCCESS","REGISTER_BOX_REGISTER_FAILURE","REGISTER_BOX_FORM_INPUT_CHANGE","REGISTER_BOX_FORM_NO_LAST_NAME","confirmEmail","confirmPassword","isCorporate","noLastName","RegisterBoxReducer","selectRegisterBox","register","CONTACT_BOX_SUBMIT_REQUEST","CONTACT_BOX_SUBMIT_SUCCESS","CONTACT_BOX_SUBMIT_FAILURE","CONTACT_BOX_FORM_INPUT_CHANGE","hasBeenSent","isSending","ContactBoxReducer","selectContactBox","contact","YOUR_COURSES_LOAD_REQUEST","YOUR_COURSES_LOAD_SUCCESS","YOUR_COURSES_LOAD_FAILURE","YOUR_COURSES_TOGGLE_IS_AWESOME_REQUEST","YOUR_COURSES_TOGGLE_IS_AWESOME_SUCCESS","YOUR_COURSES_TOGGLE_IS_AWESOME_FAILURE","YOUR_COURSES_FORM_INPUT_CHANGE","YOUR_COURSES_DOWNLOAD_CERTIFICATE_REQUEST","YOUR_COURSES_DOWNLOAD_CERTIFICATE_SUCCESS","YOUR_COURSES_DOWNLOAD_CERTIFICATE_FAILURE","YOUR_COURSES_DOWNLOAD_TAX_INVOICE_REQUEST","YOUR_COURSES_DOWNLOAD_TAX_INVOICE_SUCCESS","YOUR_COURSES_DOWNLOAD_TAX_INVOICE_FAILURE","YOUR_COURSES_DOWNLOAD_TPF_REQUEST","YOUR_COURSES_DOWNLOAD_TPF_SUCCESS","YOUR_COURSES_DOWNLOAD_TPF_FAILURE","hasNswCertificate","courses","YourCoursesReducer","some","course","selectYourCourses","yourCourses","COURSE_CONTENT_LOAD_SECTION_REQUEST","COURSE_CONTENT_LOAD_SECTION_SUCCESS","COURSE_CONTENT_LOAD_SECTION_FAILURE","COURSE_CONTENT_TOGGLE_NEXT_PAGE","COURSE_CONTENT_TOGGLE_PREVIOUS_PAGE","COURSE_CONTENT_LOAD_QUIZ_REQUEST","COURSE_CONTENT_LOAD_QUIZ_SUCCESS","COURSE_CONTENT_LOAD_QUIZ_FAILURE","COURSE_QUIZ_LOAD_SECTION_REQUEST","COURSE_QUIZ_LOAD_SECTION_SUCCESS","COURSE_QUIZ_LOAD_SECTION_FAILURE","COURSE_QUIZ_SUBMIT_ANSWER_REQUEST","COURSE_QUIZ_SUBMIT_ANSWER_SUCCESS","COURSE_QUIZ_SUBMIT_ANSWER_FAILURE","COURSE_QUIZ_CHANGE_SELECTED_ANSWER","COURSE_QUIZ_DROPDOWN_CHANGE_SELECTED_ANSWER","COURSE_QUIZ_ALLOW_REDIRECT_TO_COURSE_CONTENT","COURSE_QUIZ_RELOAD_SECTION_99_DATASET_OR_APPLY_ACTION","courseName","content","totalSections","totalPages","currentSection","currentPageIndex","currentSectionContent","allowRedirect","sections","CourseContentReducer","html","QuizActionTypes","selectCourseContent","courseContent","FINAL_QUIZ_SECTION","questions","currentQuestionIndex","totalQuestions","currentProgress","currentQuestion","showIncorrectAnswer","selectedIndex","selectedDropdownIndexes","courseGuideUrl","isFinalQuiz","CourseQuizReducer","Math","ceil","_action$payload$selec","selectedObject","replace","selectCourseQuiz","courseQuiz","CERTIFICATE_REGISTER_FORM_INPUT_CHANGE","CertificateRegisterReducer","selectCertificateRegister","certificateRegister","CORPORATE_VOUCHERS_REGISTER_FORM_INPUT_CHANGE","CorporateVouchersRegisterReducer","selectCorporateVouchersRegister","corporateVouchersRegister","THIRD_PARTY_FORM_LOAD_FORM_REQUEST","THIRD_PARTY_FORM_LOAD_FORM_SUCCESS","THIRD_PARTY_FORM_LOAD_FORM_FAILURE","THIRD_PARTY_FORM_FORM_INPUT_CHANGE","THIRD_PARTY_FORM_OBSERVER_UPDATE_REQUEST","THIRD_PARTY_FORM_OBSERVER_UPDATE_SUCCESS","THIRD_PARTY_FORM_OBSERVER_UPDATE_FAILURE","THIRD_PARTY_FORM_OBSERVER_CREATE_REQUEST","THIRD_PARTY_FORM_OBSERVER_CREATE_SUCCESS","THIRD_PARTY_FORM_OBSERVER_CREATE_FAILURE","THIRD_PARTY_SHOW_CONFIRM_EMAIL_OBSERVER","THIRD_PARTY_HIDE_CONFIRM_EMAIL_OBSERVER","THIRD_PARTY_SEND_EMAIL_TO_OBSERVER_REQUEST","THIRD_PARTY_SEND_EMAIL_TO_OBSERVER_SUCCESS","THIRD_PARTY_SEND_EMAIL_TO_OBSERVER_FAILURE","THIRD_PARTY_FORM_SAVE_PROGRESS_REQUEST","THIRD_PARTY_FORM_SAVE_PROGRESS_SUCCESS","THIRD_PARTY_FORM_SAVE_PROGRESS_FAILURE","THIRD_PARTY_FORM_SHOW_MESSAGE_DIALOG","THIRD_PARTY_FORM_HIDE_MESSAGE_DIALOG","certificateCodes","unitOfCompetencies","studentFirstName","studentLastName","tasks","accessToken","showForm","thirdPartyFormAdditionalContent","thirdPartyFormVersion","studentPerformanceSatisfactory","additionalComments","confirmThirdPartyDeclaration","signature","showConfirmModal","showMessageDialog","showMessageDialogMessage","isSampleForm","isLoadingObserverButton","isLoadingObserverSection","isLoadingForSaveProgress","isLoadingForSubmit","ThirdPartyFormReducer","taskResProps","thirdPartyFormResponses","taskResponses","o","responseFindResult","find","f","taskId","response","comments","_action$payload$third","filter","version","submitCaller","selectThirdPartyForm","thirdPartyForm","UPDATE_PROFILE_FORM_INPUT_CHANGE","UPDATE_PROFILE_ON_SUBMIT","UPDATE_PROFILE_ON_SUBMIT_SUCCESS","UPDATE_PROFILE_ON_SUBMIT_FAILURE","UPDATE_PROFILE_ON_LOAD","UPDATE_PROFILE_ON_LOAD_SUCCESS","UPDATE_PROFILE_ON_LOAD_FAILURE","UpdateProfileReducer","selectUpdateProfile","updateProfile","CHANGE_PASSWORD_ON_SUBMIT","CHANGE_PASSWORD_ON_SUCCESS","CHANGE_PASSWORD_ON_FAILURE","CHANGE_PASSWORD_FORM_INPUT_CHANGE","oldPassword","ChangePasswordReducer","selectChangePassword","changePassword","FORGOT_PASSWORD_RESET_REQUEST","FORGOT_PASSWORD_RESET_SUCCESS","FORGOT_PASSWORD_RESET_FAILURE","FORGOT_PASSWORD_INPUT_CHANGE","submittedTo","ForgotPasswordReducer","selectForgotPassword","forgotPassword","FORGOT_PASSWORD_APPLY_RESET_REQUEST","FORGOT_PASSWORD_APPLY_RESET_SUCCESS","FORGOT_PASSWORD_APPLY_RESET_FAILURE","FORGOT_PASSWORD_APPLY_RESET_INPUT_CHANGE","ResetPasswordReducer","selectResetPassword","resetPassword","NSW_REPRINT_LOAD_COURSE_DETAILS_REQUEST","NSW_REPRINT_LOAD_COURSE_DETAILS_SUCCESS","NSW_REPRINT_LOAD_COURSE_DETAILS_FAILURE","NSW_REPRINT_AUTOCOMPLETE_ADDRESS_UPDATE","NSW_REPRINT_INIT","NSW_REPRINT_CLEAR_ADDRESS","NSW_REPRINT_TOGGLE_MANUAL_ADDRESS_ENTRY","NSW_REPRINT_TOGGLE_PROMO_CODE_ENTRY","NSW_REPRINT_SUBMIT_ENROLMENT_REQUEST","NSW_REPRINT_SUBMIT_ENROLMENT_SUCCESS","NSW_REPRINT_SUBMIT_ENROLMENT_FAILURE","NSW_REPRINT_SET_CARD_VALIDITY","NSW_REPRINT_SHOW_MANUAL_ADDRESS_ENTRY","NSW_REPRINT_FORM_INPUT_CHANGE","NSW_REPRINT_SHOW_CONFIRM_POPUP","nswCertificate","courseCost","showConfirmPopup","NSW_REPRINT_GOOGLE_AUTOCOMPLETE_SCRIPT_REQUEST","CORPORATE_TAX_INVOICE_ON_INIT","CORPORATE_TAX_INVOICE_ON_LOAD_REQUEST","CORPORATE_TAX_INVOICE_ON_LOAD_SUCCESS","CORPORATE_TAX_INVOICE_ON_LOAD_FAILURE","CORPORATE_TAX_INVOICE_DOWNLOAD_REQUEST","CORPORATE_TAX_INVOICE_DOWNLOAD_SUCCESS","CORPORATE_TAX_INVOICE_DOWNLOAD_FAILURE","data","map","tax","invoiceDate","total","CORPORATE_VOUCHERS_ON_INIT","CORPORATE_VOUCHERS_ON_LOAD_REQUEST","CORPORATE_VOUCHERS_ON_LOAD_SUCCESS","CORPORATE_VOUCHERS_ON_LOAD_FAILURE","CORPORATE_VOUCHERS_SHOW_EMAIL_DIALOG","CORPORATE_VOUCHERS_SET_DETAILS_FORM_EMAIL","CORPORATE_VOUCHERS_DOWNLOAD_CERTIFICATE_REQUEST","CORPORATE_VOUCHERS_DOWNLOAD_CERTIFICATE_SUCCESS","CORPORATE_VOUCHERS_DOWNLOAD_CERTIFICATE_FAILURE","CORPORATE_VOUCHERS_SEND_EMAIL_REQUEST","CORPORATE_VOUCHERS_SEND_EMAIL_SUCCESS","CORPORATE_VOUCHERS_SEND_EMAIL_FAILURE","CORPORATE_VOUCHERS_DOWNLOAD_TPF_REQUEST","CORPORATE_VOUCHERS_DOWNLOAD_TPF_SUCCESS","CORPORATE_VOUCHERS_DOWNLOAD_TPF_FAILURE","orderPriority","courseCodes","showEmailAddressDialog","emailDetails","CorporateVouchersReducer","voucher","CorporateConstants","purchaseDate","PURCHASE_CORPORATE_VOUCHERS_INIT","PURCHASE_CORPORATE_VOUCHERS_CLEAR_ADDRESS","PURCHASE_CORPORATE_VOUCHERS_VALIDATE","PURCHASE_CORPORATE_VOUCHERS_QUANTITY_CHANGE","PURCHASE_CORPORATE_VOUCHERS_CREDIT","PURCHASE_CORPORATE_VOUCHERS_INVOICE","PURCHASE_CORPORATE_VOUCHERS_LOAD_COURSE_DETAILS_REQUEST","PURCHASE_CORPORATE_VOUCHERS_LOAD_COURSE_DETAILS_SUCCESS","PURCHASE_CORPORATE_VOUCHERS_LOAD_COURSE_DETAILS_FAILURE","PURCHASE_CORPORATE_VOUCHERS_AUTOCOMPLETE_ADDRESS_UPDATE_SUCCESS","PURCHASE_CORPORATE_VOUCHERS_TOGGLE_MANUAL_ADDRESS_ENTRY","PURCHASE_CORPORATE_VOUCHERS_TOGGLE_PROMO_CODE_ENTRY","PURCHASE_CORPORATE_VOUCHERS_SUBMIT_REQUEST","PURCHASE_CORPORATE_VOUCHERS_SUBMIT_SUCCESS","PURCHASE_CORPORATE_VOUCHERS_SUBMIT_FAILURE","PURCHASE_CORPORATE_VOUCHERS_SET_CARD_VALIDITY","PURCHASE_CORPORATE_VOUCHERS_SHOW_MANUAL_ADDRESS_ENTRY","PURCHASE_CORPORATE_VOUCHERS_FORM_INPUT_CHANGE","PURCHASE_CORPORATE_VOUCHERS_APPLY_PROMO_CODE_REQUEST","PURCHASE_CORPORATE_VOUCHERS_APPLY_PROMO_CODE_SUCCESS","PURCHASE_CORPORATE_VOUCHERS_APPLY_PROMO_CODE_FAILURE","companyName","purchaseNumber","usingCreditCard","paymentMethod","totalPrice","discountAmount","isPromoCodeApplied","PurchaseCorporateVoucherReducer","quantity","parseInt","reduce","currentValue","toFixed","SURVEY_LOAD_DATA_REQUEST","SURVEY_LOAD_DATA_SUCCESS","SURVEY_LOAD_DATA_FAILURE","SURVEY_FORM_INPUT_CHANGE","SURVEY_SUBMIT_REQUEST","SURVEY_SUBMIT_SUCCESS","SURVEY_SUBMIT_FAILURE","SURVEY_UPDATE_REQUEST","SURVEY_UPDATE_SUCCESS","SURVEY_UPDATE_FAILURE","surveyId","surveyQuestions","yesNoLookups","label","bestAspects","needImprovement","uat","rpl","CourseSurveyReducer","surveyResProps","surveyResponses","questionId","hasOwnProperty","undertakingApprenticeshipOrTraineeship","toConsumableArray","selectSurvey","survey","SURVEY_COURSE_COMPLETED_LOAD_DATA_REQUEST","SURVEY_COURSE_COMPLETED_LOAD_DATA_SUCCESS","SURVEY_COURSE_COMPLETED_LOAD_DATA_FAILURE","hasBeenCompleted","thirdPartyFormCompleted","courseContentToken","CourseCompletedReducer","selectCourseCompleted","courseCompleted","ADMIN_USERS_ONLOAD_REQUEST","ADMIN_USERS_ONLOAD_SUCCESS","ADMIN_USERS_ONLOAD_FAILURE","ADMIN_USERS_FILTER_FORM_INPUT_CHANGE","ADMIN_USERS_DELETE_REQUEST","ADMIN_USERS_DELETE_SUCCESS","ADMIN_USERS_DELETE_FAILURE","ADMIN_USERS_EDIT_REQUEST","ADMIN_USERS_EDIT_SUCCESS","ADMIN_USERS_EDIT_FAILURE","ADMIN_USERS_RESET","ADMIN_USERS_DATATABLE_KEEP_SETTINGS","ADMIN_USERS_DATATABLE_CLEAR_SEARCHBOX","settings","userTypes","startDate","subtract","_d","endDate","isReset","Reducer","user","active","registeredDateTime","lastLoginDateTime","userId","loginAsUserToken","searchText","ADMIN_USERS_SHOW_EDIT_DIALOG","ADMIN_USERS_SHOW_DELETE_DIALOG","ADMIN_USERS_DIALOG_FORM_INPUT_CHANGE","dialogs","showDeleteDialog","showEditDialog","DataTable","DataTableReducer","Dialog","DialogReducer","ADMIN_USER_COURSES_ONLOAD_REQUEST","ADMIN_USER_COURSES_ONLOAD_SUCCESS","ADMIN_USER_COURSES_ONLOAD_FAILURE","ADMIN_USER_COURSES_DELETE_SUCCESS","ADMIN_USERS_COURSES_FORM_INPUT_CHANGE","ADMIN_USERS_COURSES_HIDE_FILTER_SECTION","ADMIN_USERS_COURSES_RESET","ADMIN_USERS_COURSES_DOWNLOAD_TAX_INVOICE_REQUEST","ADMIN_USERS_COURSES_DOWNLOAD_TAX_INVOICE_SUCCESS","ADMIN_USERS_COURSES_DOWNLOAD_TAX_INVOICE_FAILURE","ADMIN_USERS_COURSES_DATATABLE_KEEP_SETTINGS","ADMIN_USERS_COURSES_DATATABLE_CLEAR_SEARCHBOX","courseContentPrefix","certificateCodesString","courseImage","courseReadMorePage","courseTags","courseInfo","heading","pageTitle","pageDescription","intro","additionalContent","className","href","target","rel","image","units","currentThirdPartyFormVersion","unitsOfCompetencyLabel","unitsOfCompetencyAdditionalPoints","nswCertificateReprint","thirdPartyFormTasks","taskGroup","task","displayOrder","AUTH_LOGIN_URL","AUTH_TOKEN_URL","MAINTENANCE_PAGE_URL","FORBIDDEN_PAGE_URL","HttpInterceptor","authTokenRequestPromise","api","axios","create","baseURL","_getAuthToken","refreshTokenPayload","getRefreshTokenPayload","post","then","_resetAuthTokenRequestPromise","catch","interceptorReqAuth","config","getToken","headers","Authorization","interceptorRespError","err","console","log","window","Promise","reject","__isRetryRequest","resp","setToken","access_token","refresh_token","expires_in","e","invalid_refreshtoken","removeToken","HttpClient","interceptor","interceptors","request","use","getContentTypeString","get","resourcePathName","cfg","put","urlParams","delete","patch","getProvider","setContentType","contentType","defaults","setAuthToken","common","_regeneratorRuntime","Op","prototype","hasOwn","obj","desc","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","context","Context","makeInvokeMethod","tryCatch","fn","arg","call","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","method","_invoke","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","resolve","invoke","record","result","__await","unwrapped","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","done","methodName","return","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","i","displayName","isGeneratorFunction","genFun","ctor","constructor","mark","setPrototypeOf","__proto__","awrap","async","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","CourseService","httpClient","getCourseContents","asyncToGenerator","_callee","courseToken","_context","decryptPayload","_x","apply","encryptedPayload","secretKey","vector","ciphertext","CryptoJS","enc","Base64","Utf8","initializationVector","decryptedPayload","AES","decrypt","iv","mode","CBC","padding","pad","Pkcs7","toString","getCourse","getCourses","getCourseSections","_ref2","_callee2","sectionId","courseContentDetails","section","_context2","_x2","_x3","getThirdPartyFormTasks","sort","b","getFlattenedCourses","hideFilterSection","courseIds","enrolmentDateTime","ADMIN_USER_COURSES_SHOW_DELETE_DIALOG","ADMIN_USER_COURSES_DELETE_REQUEST","ADMIN_USER_COURSES_DELETE_FAILURE","NSW_CERTIFICATES_LOAD_DATA_REQUEST","NSW_CERTIFICATES_LOAD_DATA_SUCCESS","NSW_CERTIFICATES_LOAD_DATA_FAILURE","NSW_CERTIFICATES_VIEW_UPDATE_SUCCESS","NSW_CERTIFICATES_DATATABLE_KEEP_SETTINGS","NSW_CERTIFICATES_DATATABLE_CLEAR_SEARCHBOX","NswCertificatesViewReducer","item","certificateDateTime","NSW_CERTIFICATES_VIEW_TOGGLE_DIALOG","NSW_CERTIFICATES_VIEW_UPDATE_REQUEST","NSW_CERTIFICATES_VIEW_UPDATE_FAILURE","NSW_CERTIFICATES_VIEW_FORM_INPUT_CHANGE","isModalLoading","NswReprintsViewReducer","dateSent","NSW_REPRINTS_LOAD_DATA_REQUEST","NSW_REPRINTS_LOAD_DATA_SUCCESS","NSW_REPRINTS_LOAD_DATA_FAILURE","NSW_REPRINTS_VIEW_UPDATE_SUCCESS","NSW_REPRINTS_DATATABLE_KEEP_SETTINGS","NSW_REPRINTS_DATATABLE_CLEAR_SEARCHBOX","purchasedDateTime","NSW_REPRINTS_VIEW_TOGGLE_DIALOG","NSW_REPRINTS_VIEW_UPDATE_REQUEST","NSW_REPRINTS_VIEW_UPDATE_FAILURE","NSW_REPRINTS_VIEW_FORM_INPUT_CHANGE","ADMIN_PROMO_CODES_ONLOAD_REQUEST","ADMIN_PROMO_CODES_ONLOAD_SUCCESS","ADMIN_PROMO_CODES_ONLOAD_FAILURE","ADMIN_PROMO_CODES_FILTER_FORM_INPUT_CHANGE","ADMIN_PROMO_CODES_DELETE_REQUEST","ADMIN_PROMO_CODES_DELETE_SUCCESS","ADMIN_PROMO_CODES_DELETE_FAILURE","ADMIN_PROMO_CODES_EDIT_REQUEST","ADMIN_PROMO_CODES_EDIT_SUCCESS","ADMIN_PROMO_CODES_ADD_SUCCESS","ADMIN_PROMO_CODES_EDIT_FAILURE","ADMIN_PROMO_CODES_RESET","ADMIN_PROMO_CODES_DATATABLE_KEEP_SETTINGS","ADMIN_PROMO_CODES_DATATABLE_CLEAR_SEARCHBOX","code","discountPercentage2","discountPercentage","discountAmount2","isOneUseOnly2","isOneUseOnly","expiryDate","expiryDate2","parseFloat","ADMIN_PROMO_CODES_SHOW_EDIT_DIALOG","ADMIN_PROMO_CODES_SHOW_DELETE_DIALOG","ADMIN_PROMO_CODES_DIALOG_FORM_INPUT_CHANGE","ADMIN_PROMO_CODES_ADD_REQUEST","ADMIN_PROMO_CODES_ADD_FAILURE","isEdit","set","year","month","ADMIN_PURCHASE_VOUCHERS_ONLOAD_REQUEST","ADMIN_PURCHASE_VOUCHERS_ONLOAD_SUCCESS","ADMIN_PURCHASE_VOUCHERS_ONLOAD_FAILURE","ADMIN_PURCHASE_VOUCHERS_FORM_INPUT_CHANGE","ADMIN_PURCHASE_VOUCHERS_UPDATE_SUCCESS","ADMIN_PURCHASE_VOUCHERS_DELETE_SUCCESS","ADMIN_PURCHASE_VOUCHERS_PAID_SUCCESS","ADMIN_PURCHASE_VOUCHERS_DOWNLOAD_TAX_INVOICE_REQUEST","ADMIN_PURCHASE_VOUCHERS_DOWNLOAD_TAX_INVOICE_SUCCESS","ADMIN_PURCHASE_VOUCHERS_DOWNLOAD_TAX_INVOICE_FAILURE","ADMIN_PURCHASE_VOUCHERS_DATATABLE_KEEP_SETTINGS","ADMIN_PURCHASE_VOUCHERS_RESET","ADMIN_PURCHASE_VOUCHERS_DATATABLE_CLEAR_SEARCHBOX","amountDue","amountPaid","isCreditCardPurchase","prePurchaseId","ADMIN_PURCHASE_VOUCHERS_SHOW_EDIT_DIALOG","ADMIN_PURCHASE_VOUCHERS_SHOW_VOUCHERS_DIALOG","ADMIN_PURCHASE_VOUCHERS_SHOW_DELETE_DIALOG","ADMIN_PURCHASE_VOUCHERS_SHOW_MARK_AS_PAID_DIALOG","ADMIN_PURCHASE_VOUCHERS_DIALOG_FORM_INPUT_CHANGE","ADMIN_PURCHASE_VOUCHERS_UPDATE_REQUEST","ADMIN_PURCHASE_VOUCHERS_UPDATE_FAILURE","ADMIN_PURCHASE_VOUCHERS_DELETE_REQUEST","ADMIN_PURCHASE_VOUCHERS_DELETE_FAILURE","ADMIN_PURCHASE_VOUCHERS_PAID_REQUEST","ADMIN_PURCHASE_VOUCHERS_PAID_FAILURE","vouchers","showMarkAsPaidDialog","showVouchersDialog","ADMIN_DOWNLOAD_REPORT_INPUT_CHANGE","ADMIN_DOWNLOAD_REPORT_REQUEST","ADMIN_DOWNLOAD_REPORT_SUCCESS","ADMIN_DOWNLOAD_REPORT_FAILURE","reportType","ADMIN_EDIT_COURSES_ONLOAD_REQUEST","ADMIN_EDIT_COURSES_ONLOAD_SUCCESS","ADMIN_EDIT_COURSES_ONLOAD_FAILURE","ADMIN_EDIT_COURSES_FORM_INPUT_CHANGE","ADMIN_EDIT_COURSES_UPDATE_REQUEST","ADMIN_EDIT_COURSES_UPDATE_SUCCESS","ADMIN_EDIT_COURSES_UPDATE_FAILURE","ADMIN_EDIT_COURSES_DELETE_REQUEST","ADMIN_EDIT_COURSES_DELETE_SUCCESS","ADMIN_EDIT_COURSES_DELETE_FAILURE","ADMIN_EDIT_COURSES_SHOW_DELETE_DIALOG","ADMIN_EDIT_COURSES_SHOW_COURSE_TRANSFER_CONFIRMATION","ADMIN_EDIT_COURSES_TRANSFER_REQUEST","ADMIN_EDIT_COURSES_TRANSFER_SUCCESS","ADMIN_EDIT_COURSES_TRANSFER_FAILURE","isDeleting","enrolmentStep2Completed","enrolmentStep3Completed","surveyCompleted","redirectToQuiz","setcount","lastSectionCompleted","lastQuestionCompleted","previousCertificateNumber","nswCertificateDetails","showCourseTransferConfirmation","AVETMISS_AUTHORISE_AVS_LOAD_FORM_REQUEST","AVETMISS_AUTHORISE_AVS_LOAD_FORM_SUCCESS","AVETMISS_AUTHORISE_AVS_LOAD_FORM_FAILURE","AVETMISS_AUTHORISE_AVS_SUBMIT_REQUEST","AVETMISS_AUTHORISE_AVS_SUBMIT_SUCCESS","AVETMISS_AUTHORISE_AVS_SUBMIT_FAILURE","userCode","deviceCode","verificationUrl","errorMessage","AuthoriseAvsReducer","selectAuthoriseAvs","authoriseAvs","AVETMISS_REPORTING_LOAD_FORM_REQUEST","AVETMISS_REPORTING_LOAD_FORM_SUCCESS","AVETMISS_REPORTING_LOAD_FORM_FAILURE","AVETMISS_REPORTING_YEAR_CHANGE","AVETMISS_REPORTING_PERIOD_CHANGE","AVETMISS_REPORTING_SUBMIT_REQUEST","AVETMISS_REPORTING_SUBMIT_SUCCESS","AVETMISS_REPORTING_SUBMIT_FAILURE","AVETMISS_REPORTING_FORM_INPUT_CHANGE","period","years","periods","collections","collectionStartDate","collectionEndDate","AvetmissReportingReducer","selectAvetmissReporting","avetmissReporting","AVETMISS_REPORTING_SUBMISSION_LOAD_FORM_REQUEST","AVETMISS_REPORTING_SUBMISSION_LOAD_FORM_SUCCESS","AVETMISS_REPORTING_SUBMISSION_LOAD_FORM_FAILURE","AVETMISS_REPORTING_SUBMISSION_SUBMIT_REQUEST","AVETMISS_REPORTING_SUBMISSION_SUBMIT_SUCCESS","AVETMISS_REPORTING_SUBMISSION_SUBMIT_FAILURE","AVETMISS_REPORTING_SUBMISSION_DELETE_REQUEST","AVETMISS_REPORTING_SUBMISSION_DELETE_SUCCESS","AVETMISS_REPORTING_SUBMISSION_DELETE_FAILURE","AVETMISS_REPORTING_SUBMISSION_SHOW_DELETE_DIALOG","AVETMISS_REPORTING_SUBMISSION_SHOW_IMPORT_DIALOG","AVETMISS_REPORTING_SUBMISSION_IMPORT_REQUEST","AVETMISS_REPORTING_SUBMISSION_IMPORT_SUCCESS","AVETMISS_REPORTING_SUBMISSION_IMPORT_FAILURE","AVETMISS_REPORTING_SUBMISSION_EXPORT_REQUEST","AVETMISS_REPORTING_SUBMISSION_EXPORT_SUCCESS","AVETMISS_REPORTING_SUBMISSION_EXPORT_FAILURE","showImportDialog","isImporting","isExporting","files","AvetmissReportingSubmissionReducer","selectAvetmissReportingSubmission","avetmissReportingSubmission","AVETMISS_REPORTING_VALIDATION_LOAD_FORM_REQUEST","AVETMISS_REPORTING_VALIDATION_LOAD_FORM_SUCCESS","AVETMISS_REPORTING_VALIDATION_LOAD_FORM_FAILURE","AVETMISS_REPORTING_VALIDATION_SUBMIT_REQUEST","AVETMISS_REPORTING_VALIDATION_SUBMIT_SUCCESS","AVETMISS_REPORTING_VALIDATION_SUBMIT_FAILURE","AVETMISS_REPORTING_VALIDATION_DELETE_REQUEST","AVETMISS_REPORTING_VALIDATION_DELETE_SUCCESS","AVETMISS_REPORTING_VALIDATION_DELETE_FAILURE","AVETMISS_REPORTING_VALIDATION_SHOW_DELETE_DIALOG","AVETMISS_REPORTING_VALIDATION_DOWNLOAD_NAT_FILES_REQUEST","AVETMISS_REPORTING_VALIDATION_DOWNLOAD_NAT_FILES_SUCCESS","AVETMISS_REPORTING_VALIDATION_DOWNLOAD_NAT_FILES_FAILURE","AVETMISS_REPORTING_VALIDATION_FORM_INPUT_CHANGE","isDownloading","hasResult","verificationResult","verificationSuccessful","errors","AvetmissReportingValidationReducer","natFileNumber","recordNumber","fieldValue","updated","selectAvetmissReportingValidation","avetmissReportingValidation","AVETMISS_ADDRESS_VALIDATION_LOAD_FORM_REQUEST","AVETMISS_ADDRESS_VALIDATION_LOAD_FORM_SUCCESS","AVETMISS_ADDRESS_VALIDATION_LOAD_FORM_FAILURE","AVETMISS_ADDRESS_VALIDATION_SUBMIT_REQUEST","AVETMISS_ADDRESS_VALIDATION_SUBMIT_SUCCESS","AVETMISS_ADDRESS_VALIDATION_SUBMIT_FAILURE","AVETMISS_ADDRESS_VALIDATION_DOWNLOAD_NAT_FILES_REQUEST","AVETMISS_ADDRESS_VALIDATION_DOWNLOAD_NAT_FILES_SUCCESS","AVETMISS_ADDRESS_VALIDATION_DOWNLOAD_NAT_FILES_FAILURE","AVETMISS_ADDRESS_VALIDATION_FORM_INPUT_CHANGE","addressErrors","AvetmissAddressValidationReducer","SYNC_COURSES_OPERATE_REQUEST","SYNC_COURSES_OPERATE_FAILURE","SYNC_COURSES_SYNC_REQUEST","SYNC_COURSES_SYNC_SUCCESS","SYNC_COURSES_PUBLISH_SUCCESS","isSyncing","EXTERNAL_LEARNING_COURSE_LOAD_REQUEST","EXTERNAL_LEARNING_COURSE_LOAD_SUCCESS","EXTERNAL_LEARNING_COURSE_LOAD_FAILURE","EXTERNAL_LEARNING_COURSE_GET_SSO_REQUEST","EXTERNAL_LEARNING_COURSE_GET_SSO_FAILURE","isLoadingSso","ExternalLearningCourseReducer","selectExternalLearningCourse","externalLearningCourse","RootReducer","templateComponent","nswReprint","NSWReprintReducer","corporateTaxInvoice","CorporateTaxInvoiceReducer","purchaseCorporateVoucher","corporateVouchers","CorporateVoucherReducer","users","UsersReducer","userCourses","UserCoursesReducer","nswCertificates","NswCertificateReducer","nswReprintsView","PromoCodeReducer","adminVouchers","AdminVouchersReducer","adminDownloadReport","AdminDownloadReport","adminEditCourse","AdminEditCourse","avetmissAddressValidation","syncCourses","ConfigureStore","middleware","thunk","enhancers","applyMiddleware","createStore","compose","ScrollToTop","_Component","inherits","_super","createSuper","prevProps","scrollTo","Component","withRouter","AuthUtils","parseJwt","base64","split","atob","UserIdentity","getFirstName","getClaimsValueByType","getLastName","claimType","claims","getClaims","_perfGetClaimsValueByType","AuthUtil","claimsExist","match","sValues","getUserId","getFullName","getUserName","getRole","trueForAll","expectedClaims","testResults","c","every","getEmail","any","LoginService","userIdentity","userName","userReqModel","UserName","Password","loginUsingGoogleToken","idToken","logout","navLinks","link","subLinks","show","privateNavLinks","roles","testimonials","customerTestimonials","testimonial","emailRegex","australianStates","reportTypes","order","LoginImpersonationService","impersonateLogin","addNotification","addErrorNotification","defaultErrorMessage","Message","onLogin","returnUrl","historyObj","dispatch","Constants","test","loginService","onLoginRequest","onLoginSuccess","handleLoginRedirects","onLoginFailure","invalid_grant","getRedirectUrl","redirectTo","onLogout","onLogoutRequest","onLogoutSuccess","onLogoutFailure","onLoginInputChange","loadUserIdentityState","userInfo","onLoginImpersonationRequest","onLoginImpersonationSuccess","url","onLoginImpersonationFailure","hideErrorForm","ToastNotification","newProps","_newProps$notificatio","toLowerCase","toast","success","react_toastify","autoClose","hideProgressBar","newestOnTop","closeOnClick","rtl","pauseOnVisibilityChange","draggable","pauseOnHover","ToastNotificationContainer","connect","actions","bindActionCreators","override","css","_templateObject","taggedTemplateLiteral","ButtonFx","targetName","onClick","size","round","icon","disabled","loadSpinner","Button","preventDefault","react_spinners","sizeUnit","color","loading","defaultProps","BasicModal","Modal","isOpen","toggle","backdrop","autoFocus","ModalHeader","ModalBody","ModalFooter","showOk","Button_Fx","disableOkButton","okButtonText","showCancel","cancelButtonText","ErrorModal","Basic_Modal","onButtonClick","Row","Col","md","ErrorModalContainer","stateData","actionCreators","reducer","_action$payload$initi","initialChildren","dropdownItems","lastItemWidth","lastChild","lastItem","clientWidth","_state$dropdownItems","toArray","firstItemFromList","useScrollToSection","useCallback","scrollOffset","element","document","getElementById","scrollPosition","getBoundingClientRect","top","scrollY","behavior","getClassName","customClassName","ForwardRefDiv","forwardRef","ref","memo","DefaultIcon","xmlns","viewBox","toggle_button_icon_DefaultIcon","_ref$offset","offset","_ref$debounceMs","debounceMs","_ref$navItems","navItems","logo","logoUrl","_ref$logoAltText","logoAltText","priorityNavClassName","toggleButtonIcon","_ref$useActiveRouteSt","useActiveRouteStyle","_ref$wrapInsideHeader","wrapInsideHeaderElement","_ref$sticky","sticky","_ref$stickyScrollTrig","stickyScrollTriggerValue","_ref$stickyClassNames","stickyClassNamesByRoute","useLocation","history","useHistory","priorityNavRef","useRef","outerNav","nav","dropDownNav","items","Map","current","outerNavWidth","_useState","useState","innerWidth","_useState2","slicedToArray","setWidth","useLayoutEffect","resizeObserver","ResizeObserver","currentRef","observe","unobserve","useResizeObserve","getStickyScrollTriggerValue","currentRoute","scrollTriggerValue","isDropDownOpen","setIsDropDownOpen","_useState3","_useState4","isScrolled","setIsScrolled","_useReducer","useReducer","_useReducer2","scrollToSection","handleToggleClick","handleLinkClick","handleHashNavigation","startsWith","includes","_priorityNavRef$curre","_priorityNavRef$curre2","_link$split","_link$split2","hash","clientHeight","setTimeout","_priorityNavRef$curre3","_priorityNavRef$curre4","substring","handleClickOutsideDropDown","event","contains","childrenFromNavItems","useMemo","index","handleClick","react_router_dom","renderNavItem","memoizedChildren","logoObj","src","alt","useEffect","debounce","outerWidth","offsetWidth","totalWidth","moveItemToList","moveItemToNav","doesItFit","fitHandler","addEventListener","removeEventListener","handleScroll","locationDependency","normalizePath","str","endsWith","trimTrailingSlash","getHeaderClassNames","routeClasses","topClass","stickyClass","priorityNavObj","forward_ref_div","child","isActiveRoute","toggle_button","headerClassNames","EVENT_DEBOUNCE","InputField","_isMounted","onChange","evt","_detectChange","onKeyPress","onBlur","persist","debouncedCallback","validate","setState","fireFieldErrorEvent","onFieldError","_validateField","_isValidComponentInstance","_this$props","enableFieldColorError","enableFieldErrorMessage","other","enableFieldErrorNotification","Input_Field_excluded","Input","login_bar_regeneratorRuntime","getRedirectPath","locationState","LoginBar","loginData","ownProps","loadData","_loadData","onInputChange","stateProps","dispatchProps","_stateProps$loginData","_props$loginData","_props$loginData$fiel","isMobile","Form","onSubmit","Input_Field","Header","useDispatch","currentRole","setNavLinks","Login_Bar_login_bar","solvable_priority_nav_solvable_priority_nav","/","Copyright","Footer","lg","components_Copyright_Copyright","FooterContainer","Hero","Infographic","svg","svg1","imageClass","svg2","svg3","svg4","svg5","InfographicContainer","infographic_infographic","HeaderImageSection","imgSrc","subTitle","style","backgroundImage","Array","isArray","isFeatured","text","ContentSectionContainer","isFullWidth","specificClass","imageSection","imageXlColSize","xLargeColSize","imageLgColSize","largeColSize","imageMdColSize","mediumColSize","childrenXlColSize","childrenLgColSize","childrenMdColSize","smallSizePosition","headingStyle","smallColSizeImageMargin","isVerticallyCentered","xl","sm","headingText","imgAltText","getInnerContainer","Angle","_ref$bgOuterColor","bgOuterColor","_ref$bgInnerColor","bgInnerColor","_ref$padding","_ref$isFullWidth","_ref$showTopSvg","showTopSvg","_ref$showBottomSvg","showBottomSvg","backgroundColor","preserveAspectRatio","points","content_section_container","Arc","WaveCurve","IntersectingWaves","opacity","IntersectingWavesScattered","CustomSvgs","customSvgTop","customSvgBottom","ContentBackgroundFactory","_ref$type","_ref$options","options","content_background_factory_excluded","angle_angle","arc_arc","wave_curve_wave_curve","intersecting_waves_intersecting_waves","intersecting_waves_scattered_intersecting_waves_scattered","custom_svgs_custom_svgs","BlockUiFx","blocking","lowerZIndex","Block_Ui_Fx_excluded","reactblockui_es","tag","zIndex","loader","react_loaders","PageTagging","description","Helmet","ContentSection","_ref$bgType","bgType","bgClass","_ref$includeLoader","includeLoader","_ref$isLoading","headerImageSection","getContainerClass","header_image_section_header_image_section","getContentSection","page_tagging","content_background_factory","Block_Ui_Fx","GreenTickBalls","_ref$bigBalls","bigBalls","LinkButton","btnText","_ref$isPrimaryBtn","isPrimaryBtn","_ref$isTertiaryBtn","isTertiaryBtn","_ref$isLinkBtn","isLinkBtn","_ref$isLargeBtn","isLargeBtn","_ref$marginLeft","marginLeft","_ref$marginRight","marginRight","beforeIcon","afterIcon","WhatsNext","content_section","green_tick_balls_green_tick_balls","link_button","CourseInfoCard","_ref$hideReadMore","hideReadMore","Card","CardBody","CardTitle","CardText","CardFooter","HelpQuestion","question","setResponseHandler","_ref$buttonOneText","buttonOneText","_ref$buttonTwoText","buttonTwoText","SelectACourse","_ref$title","showAllCourses","setShowAllCourses","helpCourses","setHelpCourses","_useState5","_useState6","worksInNsw","setWorksInNsw","_useState7","_useState8","nswCertificateExpired","setNswCertificateExpired","_useState9","_useState10","isFoodSafetySupervisor","setIsFoodSafetySupervisor","_useState11","_useState12","worksInHospitalityOrRetail","setWorksInHospitalityOrRetail","help_question","course_card","CoursesContainer","select_a_course_select_a_course","View","imageName","Carousel_Item_default","_default","Carousel_Item_View","owlOptions","onlyImages","OwlCarousel_default","Carousel","Carousel_View","loop","autoplay","autoplayTimeout","autoplayHoverPause","margin","responsive","0","500","768","1200","HappyCustomers","components_Carousel","WhyTrainWithUsPoints","WhyTrainWithUs","why_train_with_us_points","CertificateInfo","getCertificateInfo","colorClass","unit","sitxfsa005","sitxfsa006","hltfse001","hltfse005","hltfse007","BusinessInfo","certificate_info_certificate_info","HappyClients","Home","hero_hero","infographic_container","whats_next_whats_next","happy_customers_happy_customers","courses_container","why_train_with_us_why_train_with_us","business_info_business_info","happy_clients_happy_clients","required","fieldName","validator","isEmpty","isEmail","isNumeric","min","field","max","strongPassword","meessage","formHandler","fieldComponents","formFields","_isValid","add","comp","getFields","getFieldErrors","getValidFields","getErrorCount","opts","validFn","invalidFn","valResult","isValid","invalid","ContactBox","_this$props$contactBo","contactBox","_this$props$contactBo2","form","ToggleDisplay_default","if","FormGroup","validators","rows","react_keyboard_event_handler_default","handleKeys","onKeyEvent","Service","send","onSubmitRequest","onSubmitSuccess","onSubmitFailure","errMessages","k","ContactBoxContainer","sysActionCreators","HttpService","ContactUs","Contact_Box_Container","LoginBox","_this$props$loginData","LoginBoxContainer","Login","logInData","Login_Box_Container","NewEnrolment","courseService","Table","fontWeight","submitStep1","applyDiscountCode","getStep3","submitStep3","model","workplaceIsHome","onLoadCourseDetails","onLoadCourseDetailsRequest","onLoadCourseDetailsSuccess","onLoadCourseDetailsFailure","setCardValidity","onSubmitEnrolmentStep1","getState","onSubmitEnrolmentStep1Request","Step1Service","_resp$data","enrolmentSuccessful","onSubmitEnrolmentStep1Success","onSubmitEnrolmentStep1Failure","onSubmitEnrolmentStep3Request","onSubmitEnrolmentStep3Success","onSubmitEnrolmentStep3Failure","step1FormInputChange","validateStep3Func","isFormValid","validateStep3","step3OnInitStarted","step3OnInitSucceeded","step3OnInitFailed","onApplyDiscountCodeRequest","onApplyDiscountCodeSuccess","onApplyDiscountCodeFailure","CheckboxField","checked","Checkbox_Field_excluded","check","Label","defaultChecked","cardNameValidator","withSizes","_usePaymentInputs","usePaymentInputs","wrapperProps","getCardImageProps","getCardNumberProps","getExpiryDateProps","getCVCProps","meta","react_payment_inputs_es","images","border","maxLength","erroredInputs","xs","PageTitle","SelectField","Select_Field_excluded","AddressEntry","htmlFor","Select_Field","LOQATE_BASE_URL","loqate_regeneratorRuntime","Loqate","baseUrl","_findAddress","query","sourceOfTruth","featureOptions","params","findEndpointUrl","apiConfig","errorMessages","URLSearchParams","_getApiConfig","messages","join","_retrieveAddress","retrieveEndpointUrl","auth","instance","timeout","Accept","Content-Type","Loqate_Single_Address_Field_regeneratorRuntime","LoqateAddressField","labelClassName","allowAutoSearch","hasData","initialValue","onAddressSelect","clearAddress","toggleManualEntry","_ref$debounceDelay","debounceDelay","isManualEntry","setIsManuallEntry","autoSearch","selectedAddress","setSelectedAddress","savedInput","setSavedInput","activeTimeoutHandlerId","setActiveTimeoutHandlerId","setErrorMessage","loqate","initialise","_selectSuggestedAddress","selectedOption","addressId","results","addressDetails","retrieveAddress","_getAddressSuggestions","_ref3","searchTerm","addressSuggestions","selectAddressOptions","findAddress","entries","_ref4","_ref5","_debouncedCallback","useImperativeHandle","react_select_browser_esm","cacheOptions","isClearable","components","DropdownIndicator","IndicatorSeparator","loadOptions","inputValue","callback","timeoutHandlerId","_callee3","_context3","t0","t1","clearTimeout","Address_Entry","ev","CourseEnrolmentStep1","onAutocompleteAddressSelect","address","updateAutocompleteAddress","bind","assertThisInitialized","identityService","IdentityService","init","setEmail","_this2","_this$props2","toggleDiscountCodeForm","onCreditCardChange","togglePromoCodeEntry","onSubmitEnrolment","toggleShowConfirmNamePopup","onLogoutAndRegister","toggleManualAddressEntry","_this$props$fields","_this$props$courseDet","Page_Title","Loqate_Single_Address_Field","for","Checkbox_Field","maxWidth","Payment_Inputs","textDecoration","currencyFormatter","locale","Step1FormContainer","step1Data","selectStep1","enrolmentData","card","m","_resp$data3","promoCodeValid","Step1Form","ApiService","getStep2","submitStep2","countryOfBirth","englishLanguageAtHome","step2OnInitStarted","step2OnInitSucceeded","step2OnInitFailed","EnrolmentActionTypes","validateStep2Func","validateStep2","onSubmitEnrolmentStep2","age","getAge","dateService","DOB","birthDate","getDate","DatePickerField","placeholderText","dateFormatCalendar","minDate","maxDate","dateFormat","Date_Picker_Field_excluded","react_datepicker_min_default","selected","showMonthDropdown","showYearDropdown","dropdownMode","MaskedInputField","Masked_Input_Field_excluded","react_input_mask_default","mask","cols","RadioButtonList","targetValue","isTabEvt","getValues","getLabelNames","isUndefined","Radio_Button_List_excluded","labels","display","showBorderError","yesNo","genders","countries","languages","validateSelect","CourseEnrolmentStep2","step2OnInit","onDateOfBirthChange","toggleWhatIsUsi","_this$props$fieldVisi","Date_Picker_Field","Radio_Button_List","Step2Constants","Masked_Input_Field","allowFullScreen","frameBorder","Step2FormContainer","step2Data","selectStep2","Actions","SysActions","enrolmentCompleted","redirectToStep3","Step2Form","observerNameValidator","CourseEnrolmentStep3","step3OnInit","Step3Constants","Step3FormContainer","step3Data","selectStep3","Step3Service","_resp$data2","redirectToStep2","userCourseid","Step3Form","_len","args","_key","bgColor","FruitBg","FoodBg","isDeviceSmall","renderBackgroundImage","SearchBox","objectDestructuringEmpty","onSearchInputChange","SearchLogic","_escapeRegExp","s","_checkForNumbersRegex","searchQuery","search","filterText","list","columns","searchableColumnAccessors","searchable","accessor","regexString","words","hasTrailingSpace","word","searchRegex","RegExp","row","virtualField","ActionButtonsFactory","eventHandler","getPreDefinedActionButtons","ActionButtonsFactory2","CustomButton","prop","buttonOpts","getCustomButtonOpts","custom","visibilityRules","getCustomButtonVisibilityRules","btn1HideNow","Link","data-tip","data-for","getToUrl","original","tooltip","index_es","tooltipType","effect","btn2HideNow","btn3HideNow","btn4HideNow","btn5HideNow","btn6HideNow","button","rowInfo","getButtonVisibilityRules","hideEdit","hideRemove","hideAdd","hideView","hideEditNow","hideRemoveNow","hideAddNow","hideViewNow","SolvableDataTable","setupActionButtons","containerWidth","sortable","Cell","actionButtonHandler","onActionButtonClick","searchInputChange","keepSettings","getLatestSettings","onSettingsChanged","pageSizeChange","pageSize","pageIndex","pageChange","stateSettings","getDefaultStateSettings","setPageSize","defaultPageSize","searchLogic","actionButtonsFactory","actionButtonsFactory2","predefinedButtons","actionButtons","buttonComponent","search_box","react_table_es","onPageSizeChange","onPageChange","onError","EmailModal","validationSchema","Yup","shape","sendVoucher","unmountOnClose","showEmailDialog","formik_esm","initialValues","touched","downloadCertificate","downloadThirdPartyForm","thirdPartyFormAccessToken","setEmailDetails","onLoad","Email_Modal_EmailModal","solvable_datatable","hideFn","_original","getVouchers","voucherCode","responseType","thirdPartyAccessToken","downloadTaxInvoice","invoiceId","httpService","onLoadRequest","onLoadSuccess","onLoadFailure","onSendEmailRequest","onSendEmailSuccess","onSendEmailFailure","onDownloadRequest","onDownloadSuccess","onDownloadFailure","onDownloadTpfRequest","onDownloadTpfSuccess","onDownloadTpfFailure","DataTableContainer","yourCoursesService","YourCoursesService","pdfBlob","Blob","saveAs","service","voucherDetails","CorporateVouchers","CorporateStart","Content_Section","datatable_container","CorporatePurchaseVouchers","onAutoCompleteAddressSelect","onInputQuantityChange","applyPromoCode","_course$quantity","Number","marginTop","purchase","courseQuantities","showNotif","applyPromoCodeSuccess","applyPromoCodeFailure","formInputChange","validateFunc","_getState$purchaseCor","purchaseSuccessful","_getState$purchaseCor2","PurchaseCorporateVouchersContainer","selectPurchaseCorporateVouchers","showErrorNotification","PurchaseCorporateVouchers","CourseContentButtons","onPreviousPage","onNextPage","onLoadQuiz","CourseContentSections","getContentSections","ResponsiveHtml","extractTextFromStyle","htmlString","styleValue","generateDivHTML","tableData","headerStyles","tableStyleData","headerWidths","header","styleString","dummyDiv","visibility","whiteSpace","fontSize","_style$split","_style$split2","innerHTML","body","appendChild","removeChild","measureTextWidth","tableDataIndex","parseHTMLTable","DOMParser","parseFromString","querySelector","querySelectorAll","cells","rowData","rowStyleData","j","outerHTML","styleProp","shift","dataStyles","parseAndSelectElements","elementSelector","doc","elements","parseAndReplaceImages","_parseAndSelectImageE","allElements","selectedElements","el","tagName","parent","parentNode","classList","parseAndSelectImageElements","widthInStyle","getAttribute","widthMatch","classAttribute","styleAttribute","widthAttribute","percentage","imgElement","documentElement","sanitisedHtml","figure","table","tableStyle","widthInPx","float","setAttribute","replaceChild","removeFigureTags","newHtml","useMediaQuery","minWidth","isBigScreen","_parseAndSelectElemen","tables","parsedTable","newTable","newTableElement","firstChild","parseAndReplaceTables","videoUrlRegEx","_parseAndSelectElemen2","oembedElement","iframe","frameborder","allowFullscreen","allow","replaceOembedWithIFrame","dangerouslySetInnerHTML","__html","CourseContent","onLoadSection","_this$props$courseCon","Course_Content_Sections","responsive_html","Course_Content_Buttons","user_course_service_regeneratorRuntime","UserCourseService","getCourseId","getStatus","getCourseDetailsAndStatus","promise1","promise2","all","updateRedirectToQuiz","api_service_regeneratorRuntime","getCourseDetailsAndContents","userCourseContentToken","action_creators_regeneratorRuntime","loadSection","apiService","_courseDetailsAndCont","_courseDetailsAndCont2","_courseDetailsAndCont3","_courseDetailsAndCont4","courseDetailsAndContents","selectedSectionId","selectedSection","numberOfSections","loadSectionSuccess","loadSectionFailure","_x4","_x5","_x6","_x7","loadSectionRequest","loadQuizRequest","loadQuizSuccess","loadQuizFailure","CourseContentContainer","userCourseService","hasCompleted","courseExpired","isExternalLearning","CourseQuizQuestionMultiSelect","onQuizInputChange","attributes","getNamedItem","data-index","CourseQuizQuestionDropDown","selectedValue","findIndex","CourseQuizQuestion","getQuizQuestion","questionType","option","Course_Quiz_Question_Drop_Down","Course_Quiz_Question_Multi_Select","getElementsByClassName","questionNo","OtherButton","onRedirectToContent","CourseQuiz","_this$props$courseQui","onSubmitAnswer","Course_Quiz_Question_Course_Quiz_Question","Course_Quiz_OtherButton","role","aria-valuenow","aria-valuemin","aria-valuemax","services_api_service_regeneratorRuntime","getCourseDetailsAndQuestions","CourseQuizService","updateQuizAnswer","redux_action_creators_regeneratorRuntime","courseDetailsAndQuestions","selectedQuestions","hasFinalQuizSections","sectionCount","handleSubmitAnswerRedirects","_callee4","_context4","submitAnswerSuccess","_x8","_x9","_x10","_x11","submitAnswerRequest","submitAnswerFailure","CourseQuizContainer","isObject","correctIndex","aboutPages","pageName","noContentSection","publicPages","ContentService","getContentPage","returnUndefinedIfNotFound","page","ContentPage","_page$bgClass","setPage","Certificates","RegisterBox","_props$registerBox$fi","registerBox","registerType","onRegister","toggleNoLastName","validateEmailField","validateConfirmEmailField","validatePasswordField","confirmPwd","validateConfirmPasswordField","RegisterService","registerUser","onRegisterRequest","onRegisterSuccess","onRegisterFailure","fieldsToCheck","fld","RegisterBoxContainer","registerService","CertificateRegister","useParams","setCourse","Register_Box_Container","YourCourses","getCourseActionButtons","buttons","completedEnrolment","courseButton","hasCertificate","certificateButton","thirdPartyFormButton","userCourseToken","courseGuideButton","completedThirdParty","thirdPartyButton","invoiceGuid","invoiceButton","loadCourses","_this$props$yourCours","enrolmentDate","downloadTaxInvoiceRequest","downloadTaxInvoiceSuccess","downloadTaxInvoiceFailure","downloadCertificateRequest","downloadCertificateSuccess","downloadCertificateFailure","downloadTpfRequest","downloadTpfSuccess","downloadTpfFailure","loadCoursesRequest","loadCoursesRequestSuccess","loadCoursesRequestFailure","YourCoursesContainer","Start","Your_Courses_Container","CorporateVouchersRegister","ToolTipFx","tooltipOpen","Tooltip","placement","SignaturePad","penColor","padColor","outputType","padHeight","padWidth","isReadonly","signatureCanvas","clear","fromDataURL","off","build_default","canvasProps","readOnly","onEnd","getTrimmedCanvas","toDataURL","lineHeight","tool_tip_fx","AdditionalInfoForm","signature_pad_signature_pad","ObserverForm","onUpdateDetails","onEmail","isUpdateButtonLoading","isLoggedIn","alert","ConfirmModal","onToggle","objectTag","ConfirmEmailFormSending","Confirm_Modal","MessageDialog","onMessageToggle","ThirdPartyForm","getUnitsOfCompetency","getTaskItems","fieldResponses","getData","getTasksTable","Set","colSpan","onLoadForm","onLoadSampleForm","saveProgress","submitForm","Confirm_Email_Form_Sending","Message_Dialog","observer_form","point","additional_info_form","ThirdPartyFormService","getUserCourseIds","getThirdPartyForm","updateThirdPartyFormObserver","sendEmail","sendEmailToObserver","LoadFormRequest","LoadFormSuccess","LoadFormFailure","updateThirdPartyRequest","updateThirdPartySuccess","updateThirdPartyFailure","sendEmailToObserverRequest","sendEmailToObserverSuccess","sendEmailToObserverFailure","saveProgressThirdPartyForm","isSubmit","saveProgressThirdPartyFormRequest","sanitizeTaskReponses","getTasksToSubmit","saveProgressThirdPartyFormSuccess","saveProgressThirdPartyFormFailure","isSubmitCaller","qr","ThirdPartyFormContainer","UpdateProfile","getUserInfo","_this$props$updatePro","onGetUserInfo","onGetUserInfoSuccess","onGetUserInfoFailure","onSubmitStart","UpdateProfileContainer","ChnagePassword","passwordValidator","confirmPasswordValidator","_this$props$changePas","_this$props$changePas2","ChangePasswordContainer","ChangePassword","ArrowLinkButton","showAsBlue","showDownArrow","Error403","Arrow_Link_Button","ForgotPassword","onResetPassword","ForgotPasswordService","requestResetPassword","onRequestResetPasswordRequest","onRequestResetPasswordSuccess","onRequestResetPasswordFailure","ForgotPasswordContainer","ForgotPasswordView","Forgot_Password_Container","ResetPassword","_props$fields","ResetPasswordService","resetToken","onResetPasswordRequest","onResetPasswordSuccess","onResetPasswordFailure","ResetPasswordContainer","ResetPasswordView","Reset_Password_Container","submit","NSWReprint","userInput","toggleShowConfirmPopup","nswFormContainer","selectNSWReprint","nswForm","setupDataTable","getTaxInvoices","selectCorporateTaxInvoice","CorporateTaxInvoice","datatable_datatable_container","openByDefault","sectionOpen","collapseState","setCollapse","idsRegistered","setIdsRegistered","_ids","objState","react_scroll_section_es","scrollBehavior","handleInit","caption","handleToggle","scrollFn","setToggle","setToggleAll","setBatchToggle","ids","clonedState","setBatchToggleByState","idsToOpen","idsToClose","CardHeader2","expandItem","header_CardHeader2","CollapsibleItem","toggleFlag","setToggleFlag","smooth","CardHeader","collapsible_panel_header","Collapse","collapsible_panel_content","ContentCollapsiblePanel","marginBottom","openSection","collapsible_panel_collapsible_panel","collapsible_item","general","usi","thirdParty","nsw","FAQs","faqPage","faqContent","setFaqContent","content_collapsible_panel","CourseCompletedService","loadDataRequest","loadDataSuccess","loadDataFailure","NswCertificateMessage","CourseCompleted","onRedirectToThirdParty","Course_Completed_NswCertificateMessage","CourseCompletedContainer","_resp$data$status","_resp$data$courseInfo","CourseSurveyService","getSurveys","createSurvey","updateSurvey","createSurveyRequest","createSurveySuccess","createSurveyFailure","getQuestionsToSubmit","answeredQuestions","sanitizeAnsweredQuestions","updateSurveyRequest","updateSurveySuccess","updateSurveyFailure","CourseSurvey","aatItems","rplItems","bordered","hover","striped","isChecked","compareTo","CourseSurveyContainer","surveyStateData","updatePayload","createPayload","Print_Course_Content_Guide_services_api_service_regeneratorRuntime","getCourseContentGuide","Print_Course_Content_Guide_regeneratorRuntime","PrintCourseContentGuide","loadCourseContent","contentGuide","getSection","sectionNumber","getSectionStyle","paddingTop","getTableOfContents","EditUserModal","toggleEditDialog","onDialogInputChange","onEdit","toggleDeleteDialog","onDelete","dataTable","dialog","isDialogProcessing","edit_EditUserModal","delete_EditUserModal","ReactSelectField","selectAllByDefault","showSelectAll","v","React_Select_Field_excluded","dist_react_select_browser_esm","isMulti","defaultValue","FilterSection","showFilters","_this$props$dataTable","loadRequest","React_Select_Field","userTypesList","Users","clearDataTableSearchbox","filter_section","Users_datatable","u","editUser","deleteUser","getInitialParams","onDeleteSuccess","onEditSuccess","onEditFailure","onDeleteFailure","UsersContainer","fieldValues","dataTableActionCreators","dialogActionCreators","Modals_delete_EditUserModal","_dataTable$fields","onLoadSpecificUserCourse","UserCourses_filter_section","UserCourses_datatable","loadSpecificUserCourses","deleteCourse","onDownloadTaxInvoiceSuccess","onDownloadTaxInvoiceFailure","UsersCourseContainer","invoidGuid","UsersCourse","TextAreaField","Text_Area_Field_excluded","updateCourse","onCourseTransferConfirmation","toggleCourseTransferConfirmation","setCount","right","Text_Area_Field","delete_dialog_EditUserModal","getValue","itm","loadCourse","transferUserCourse","Edit_User_Course_redux_action_creators_regeneratorRuntime","onUpdateCourseSuccess","onUpdateCourseFailure","onDeleteCourseSuccess","onDeleteCourseFailure","EditUserCourseContainer","_err$response","_err$response2","_err$response2$data","EditUserCourse","orderBy","DownloadReports","Download_Reports_filter_section","DownloadReportsContainer","file","toggleMarkAsPaidDialog","onMarkAsPaid","VouchersListDialog","toggleVouchersDialog","_this$props$dialog","Modals_edit_EditUserModal","View_Voucher_Purchases_Modals_delete_EditUserModal","mark_as_paid_EditUserModal","vouchers_list_VouchersListDialog","VoucherPurchases","View_Voucher_Purchases_filter_section","View_Voucher_Purchases_datatable","loadVouchers","updateVouchers","deleteVoucher","markAsPaid","isPaid","updateVoucherSuccess","updateVoucherFailure","deleteVoucherSuccess","deleteVoucherFailure","markAsPaidSuccess","markAsPaidFailure","VoucherPurchasesContainer","ViewDetailsNswReprints","update","certificateNumber","postalAddress","nswCertificateNumber","expressPostNumber","NswReprintsDataTable","handleError","onActionButtonHandler","View_Details","NswCertificatesViewContainer","onLoadData","Data_Table","NswReprintsService","toggleDialog","updateSuccess","updateFailure","NswCertificates","Modals_View_Details","NswReprintsViewContainer","Data_Table_Data_Table","NswReprints","EntryModal","onAdd","DeleteModal","toggleAddDialog","edit_EntryModal","delete_DeleteModal","Promo_Codes_datatable","deletePromoCode","addPromoCode","editPromoCode","onAddSuccess","onAddFailure","PromoCodesContainer","PromoCodes","AppWrapper","AppWrapperContainer","_match$params","textAlign","minHeight","AuthoriseAvs","_this$props$authorise","AuthoriseAvsService","getAuthorisation","getVerification","AuthoriseAvsContainer","validToken","AvetmissReporting","_this$props$avetmissR","_this$props$avetmissR2","AvetmissReportingService","getCollectionTypes","submitRequest","AvetmissReportingContainer","collection","reports","uniqueYears","uniq","IconFactory","getIcon","helper_regeneratorRuntime","fileListToBase64","_fileListToBase","fileList","roundOffSize","getBase64","promises","res","rej","preview","reader","FileReader","onloadend","origFileName","readAsDataURL","ImagePreviewFx","imageLargeUrl","showRotate","closePreview","alternateText","react_modal_image_es","medium","onClose","file_uploader_regeneratorRuntime","StyledContainer","styled","div","file_uploader_templateObject","isDragAccept","validForReject","isDragActive","getColor","FileUploader","setFiles","isPreviewOpen","setPreviewOpen","previewUrl","setPreviewUrl","isDropping","toggleDrop","initialised","dropText","minSize","maxFileSize","maxFiles","initialFiles","fileTypes","cloudStoragePath","onDrop","acceptedFiles","finalAcceptedFiles","itemsUpperLimit","additionalFiles","arrayOfBase64Files","URL","createObjectURL","_useDropzone","useDropzone","accept","maxSize","getRootProps","getInputProps","isDragReject","rejectedFiles","openPreview","removeFile","revokeObjectURL","filesUpdated","imageListing","fileSize","fileListing","ext","lastIndexOf","limitedName","fileName","extension","limitFileName","fileIsAnImage","isAnImage","cursor","downloadFile","DragMessage","rejected","userSelect","pointerEvents","FileTooLarge","isFileTooLarge","getPreviewData","Container","fluid","image_preview_fx","ValidationErrorMessage","msg","import_regeneratorRuntime","ImportNatFileFormDialog","withFormik","mapPropsToValues","handleSubmit","_handleSubmit","resetForm","setSubmitting","import","close","setValues","setFieldValue","closeDialog","file_uploader_file_uploader","validation_error_message_validation_error_message","avetmiss_reporting_submission_regeneratorRuntime","AvetmissReportingSubmission","onImport","toggleImportDialog","exportNatFiles","filename","generatedSuccessfully","Avetmiss_Reporting_Submission_delete_dialog_EditUserModal","dialogs_import","avetmiss_reporting_submission_service_regeneratorRuntime","AvetmissReportingSubmissionService","deleteRequest","importNatFiles","Avetmiss_Reporting_Submission_redux_action_creators_regeneratorRuntime","onDeleteRequest","avetmiss_reporting_submission_container_regeneratorRuntime","AvetmissReportingSubmissionContainer","_resp$data$addressErr","hasNoAddressErrors","_onImport","parameters","ValidationError","fileId","AvetmissReportingValidation","onDownloadNatFiles","Avetmiss_Reporting_Validation_delete_dialog_EditUserModal","validation_error","AvetmissReportingValidationService","downloadNatFiles","onDownloadNatFilesSuccess","onDownloadNatFilesFailure","AvetmissReportingValidationContainer","submitChanges","submitChangesRequest","fixes","formatDateToYYYYMMDD","submitChangesSuccess","submitChangesFailure","Avetmiss_Address_Validation_regeneratorRuntime","AvetmissAddressValidation","addressValidationState","useSelector","Selectors","_addressValidationSta","components_validation_error","syncCoursesFromElearnd","publishCourse","Sync_redux_action_creators_regeneratorRuntime","operateFailure","syncCourseRequest","isSuccessful","syncedCourses","validationMessages","SyncView","_selectSyncCourses$is","selectSyncCourses","showValidationDialog","toggleValidationDialog","setValidationMessages","showPublishConfirmationDialog","togglePublishConfirmationDialog","selectedCourseId","setSelectedCourseId","Spinner","animation","currentSetCount","publishDateTime","isWaitingPublishing","NswFoodSafetySupervisorCertificate","NswFoodSafetySupervisorCertificateRefresher","FoodSafetySupervisorCertificateHospitalityAndRetail","FoodHandlingLevel1CertificateHospitalityAndRetail","FoodHandlingLevel2CertificateHospitalityAndRetail","FoodHandlingLevel1CertificateHealthAndCommunity","FoodSafetySupervisorCertificateHealthAndCommunity","CourseInfoPage","_course$courseInfo$im","courseSlug","nsw_food_safety_supervisor_certificate","nsw_food_safety_supervisor_certificate_refresher","food_safety_supervisor_certificate_hospitality_and_retail","food_handling_level_1_certificate_hospitality_and_retail","food_handling_level_2_certificate_hospitality_and_retail","food_handling_level_1_certificate_health_and_community","food_safety_supervisor_certificate_health_and_community","getCourseContent","external_learning_course_services_api_service_regeneratorRuntime","getSso","external_learning_course_redux_action_creators_regeneratorRuntime","loadSsoRequest","loadSsoFailure","ExternalLearningCourse","onLoadSso","App","store","es","Scroll_To_Top","App_Wrapper_Container","Header_header","Toast_Container","Error_Modal_Container","exact","Private_Route","eLearningCourse","UserCourses","DowloadReportsPage","NswCertificatesContainer","LoginImpersonationContainer","Footer_Container","Boolean","hostname","ReactDOM","src_App","navigator","serviceWorker","ready","registration","unregister","module","__webpack_require__","p"],"mappings":"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","file":"static/js/main.ec903f54.chunk.js","sourcesContent":["Object.defineProperty(exports, \"__esModule\", { value: true });\r\n\r\nfunction _interopDefault(ex) {\r\n return ex && typeof ex === \"object\" && \"default\" in ex ? ex[\"default\"] : ex;\r\n}\r\n\r\nvar React = _interopDefault(require(\"react\"));\r\n\r\nvar visa = React.createElement(\r\n \"g\",\r\n {\r\n stroke: \"none\",\r\n strokeWidth: \"1\",\r\n fill: \"none\",\r\n fillRule: \"evenodd\"\r\n },\r\n React.createElement(\r\n \"g\",\r\n {\r\n id: \"New-Icons\",\r\n transform: \"translate(-80.000000, -280.000000)\",\r\n fillRule: \"nonzero\"\r\n },\r\n React.createElement(\r\n \"g\",\r\n {\r\n id: \"Card-Brands\",\r\n transform: \"translate(40.000000, 200.000000)\"\r\n },\r\n React.createElement(\r\n \"g\",\r\n {\r\n id: \"Color\",\r\n transform: \"translate(0.000000, 80.000000)\"\r\n },\r\n React.createElement(\r\n \"g\",\r\n {\r\n id: \"Visa\",\r\n transform: \"translate(40.000000, 0.000000)\"\r\n },\r\n React.createElement(\"rect\", {\r\n strokeOpacity: \"0.2\",\r\n stroke: \"#000000\",\r\n strokeWidth: \"0.5\",\r\n fill: \"#FFFFFF\",\r\n x: \"0.25\",\r\n y: \"0.25\",\r\n width: \"23.5\",\r\n height: \"15.5\",\r\n rx: \"2\"\r\n }),\r\n React.createElement(\"path\", {\r\n d:\r\n \"M2.78773262,5.91443732 C2.26459089,5.62750595 1.6675389,5.39673777 1,5.23659312 L1.0280005,5.1118821 L3.76497922,5.1118821 C4.13596254,5.12488556 4.43699113,5.23650585 4.53494636,5.63071135 L5.12976697,8.46659052 L5.31198338,9.32072617 L6.97796639,5.1118821 L8.77678896,5.1118821 L6.10288111,11.2775284 L4.30396552,11.2775284 L2.78773262,5.91443732 L2.78773262,5.91443732 Z M10.0999752,11.2840738 L8.39882877,11.2840738 L9.46284763,5.1118821 L11.163901,5.1118821 L10.0999752,11.2840738 Z M16.2667821,5.26277458 L16.0354292,6.59558538 L15.881566,6.53004446 C15.5737466,6.40524617 15.1674138,6.28053516 14.6143808,6.29371316 C13.942741,6.29371316 13.6415263,6.56277129 13.6345494,6.82545859 C13.6345494,7.11441463 13.998928,7.3048411 14.5939153,7.58725177 C15.5740257,8.02718756 16.0286384,8.56556562 16.0218476,9.26818871 C16.0080799,10.5486366 14.8460128,11.376058 13.0610509,11.376058 C12.2978746,11.3694253 11.5627918,11.2180965 11.163808,11.0475679 L11.4018587,9.66204513 L11.6258627,9.76066195 C12.1788958,9.99070971 12.5428092,10.0889775 13.221984,10.0889775 C13.7117601,10.0889775 14.2368857,9.89837643 14.2435835,9.48488392 C14.2435835,9.21565125 14.0198586,9.01850486 13.3617074,8.7164581 C12.717789,8.42086943 11.8568435,7.92848346 11.8707973,7.04197926 C11.8780532,5.84042483 13.0610509,5 14.7409877,5 C15.3990458,5 15.9312413,5.13788902 16.2667821,5.26277458 Z M18.5277524,9.0974856 L19.941731,9.0974856 C19.8717762,8.78889347 19.549631,7.31147374 19.549631,7.31147374 L19.4307452,6.77964104 C19.3467437,7.00942698 19.1998574,7.38373457 19.2069273,7.37055657 C19.2069273,7.37055657 18.6678479,8.74290137 18.5277524,9.0974856 Z M20.6276036,5.1118821 L22,11.2839865 L20.4249023,11.2839865 C20.4249023,11.2839865 20.2707601,10.5748181 20.221922,10.3581228 L18.0377903,10.3581228 C17.9746264,10.5221933 17.6807607,11.2839865 17.6807607,11.2839865 L15.8957988,11.2839865 L18.4226343,5.62399144 C18.5977072,5.22341512 18.9059917,5.1118821 19.3117663,5.1118821 L20.6276036,5.1118821 L20.6276036,5.1118821 Z\",\r\n id: \"Shape\",\r\n fill: \"#171E6C\"\r\n })\r\n )\r\n )\r\n )\r\n )\r\n);\r\n\r\nexports.default = visa;\r\n","Object.defineProperty(exports, \"__esModule\", { value: true });\r\n\r\nfunction _interopDefault(ex) {\r\n return ex && typeof ex === \"object\" && \"default\" in ex ? ex[\"default\"] : ex;\r\n}\r\n\r\nvar React = _interopDefault(require(\"react\"));\r\n\r\nvar unionpay = React.createElement(\r\n \"g\",\r\n {\r\n fill: \"none\"\r\n },\r\n React.createElement(\"path\", {\r\n d:\r\n \"m4.54588254.00006676h5.79377466c.8087588 0 1.3117793.72566459 1.1231113 1.61890981l-2.69741608 12.74856503c-.19036262.8901361-1.00010994 1.6164225-1.80943362 1.6164225h-5.79320976c-.80762905 0-1.31177937-.7262864-1.12311135-1.6164225l2.69854581-12.74856503c.18866803-.89324522.9979917-1.61890981 1.80773904-1.61890981\",\r\n fill: \"#dd2423\"\r\n }),\r\n React.createElement(\"path\", {\r\n d:\r\n \"m9.85756516.00006676h6.66269264c.8086174 0 .4439911.72566459.2537697 1.61890981l-2.6969924 12.74856503c-.1892329.8901361-.1302036 1.6164225-.9405158 1.6164225h-6.66269248c-.81031221 0-1.31177939-.7262864-1.12141672-1.6164225l2.69685116-12.74856503c.19149238-.89324522.99912144-1.61890981 1.8083039-1.61890981\",\r\n fill: \"#16315e\"\r\n }),\r\n React.createElement(\"path\", {\r\n d:\r\n \"m16.2559813.00006676h5.7937745c.8098886 0 1.3129092.72566459 1.1226878 1.61890981l-2.6969924 12.74856503c-.1903626.8901361-1.0006749 1.6164225-1.8104222 1.6164225h-5.7910915c-.8103122 0-1.3129091-.7262864-1.1231113-1.6164225l2.697416-12.74856503c.1886681-.89324522.9974268-1.61890981 1.8077391-1.61890981\",\r\n fill: \"#036862\"\r\n }),\r\n React.createElement(\"path\", {\r\n d:\r\n \"m6.05901135 4.08561434c-.59580116.00668457-.77175951 0-.8279645-.01461278-.02160646.11301588-.42365577 2.15460824-.42478553 2.15631824-.08656699.4130443-.14955043.7074763-.36349659.89759795-.12144798.1105286-.26323144.1638497-.42760986.1638497-.26421996 0-.41814822-.1444178-.44399122-.41832975l-.00494264-.09405035s.08049458-.55326485.08049458-.55637395c0 0 .42196112-1.86048711.49751306-2.10641713.00395412-.01399096.00508387-.02129736.00607239-.02798193-.82132725.00792821-.9669236 0-.97695012-.01461278-.00550753.02005371-.025843.13540142-.025843.13540142l-.43085788 2.09693437-.03699927.1778407-.07159782.5817131c0 .1725552.03078565.31339755.09207452.4324762.19629382.37760055.75622549.4341862 1.07297875.4341862.40812169 0 .79096525-.09544945 1.04967767-.26971465.44907509-.2921002.56656897-.74867195.67135315-1.15440985l.04857917-.20815445s.43467082-1.93230737.5085281-2.18367833c.00282441-.01399096.00395413-.02129736.00776704-.02798193zm1.47893982 1.55881086c-.10478422 0-.29627659.0279819-.46828081.12078865-.0624186.0352883-.12144796.07601755-.18372539.11659135l.056205-.22338905-.03078563-.03762015c-.36476761.08130305-.44639193.0921849-.78333945.14441785l-.02824374.0206755c-.03911752.3570805-.07385733.6255515-.21888878 1.32743145-.05521646.25867735-.11255121.519842-.17002718.7778975l.01553403.03280105c.34527946-.0200537.45006363-.0200537.75015309-.0146128l.02428961-.0290701c.03812903-.21499445.04307165-.2653619.12752039-.70079175.03968242-.20644445.1224365-.66006255.16324868-.8215804.07498704-.038242.14898558-.07586215.21959486-.07586215.16819135 0 .14771465.1615179.14121858.22587635-.00720213.1080413-.06849101.4609245-.13133325.76390655l-.04194194.19556255c-.02923223.14441785-.06128888.2847938-.09052111.427968l.01270966.02860375c.34033679-.0200537.44413246-.0200537.73476028-.0146128l.0341749-.0290701c.0525333-.3357831.06792611-.42563615.16113038-.9145426l.04688457-.22463265c.09108601-.43962715.13684082-.6625498.06792616-.8441214-.07286879-.2034908-.24769738-.2526146-.40826291-.2526146zm1.65214439.4602871c-.18090101.038242-.29627659.0637366-.41094606.08021485-.11368097.02005375-.22453757.038242-.39936616.06498025l-.01383941.0138355-.01270966.01103735c-.01821719.14332965-.0309269.26722735-.05507525.41288885-.02047669.150636-.05196844.3217921-.10323077.56772215-.03968243.18825615-.06015913.25385825-.08275412.32008215-.0220301.06622385-.04631967.1305823-.09094476.31572935l.01045019.0171001.00875554.01570095c.1633899-.00855005.27029237-.0146128.38016043-.01570095.10972684-.00435275.22340776 0 .39936611.00108815l.01539286-.0138355.01652257-.0152346c.02541932-.1669588.02923224-.21188535.04476626-.29334385.01539282-.0873658.04194194-.20830985.10704369-.53134565.03078568-.1517242.06510179-.30298205.09701718-.4578154.03318641-.1542115.06792612-.30609115.10097127-.45781535l-.00494263-.0183437zm.00385525-.620608c-.1643784-.10679765-.45288796-.07290845-.64706354.0746185-.19361063.14457325-.21564072.34977405-.05182718.4579708.16155403.10384405.45119334.0729085.64367421-.0758621.19318708-.14768235.21733543-.3510177.05521651-.4567272zm.99410809 2.473369c.3325698 0 .6734715-.1008904.9300657-.400297.1974235-.2428209.2879446-.60409865.3192952-.7528692.1021011-.4931037.0225949-.7233328-.0772466-.8635533-.1516687-.21375085-.4197016-.28230655-.697761-.28230655-.1672028 0-.5654392.01818825-.87654364.33391765-.22340786.22774175-.32663863.5367866-.38891601.83308405-.06284224.3018939-.13514621.84536505.31887154 1.0476122.14008884.0662239.34203141.08441215.47223481.08441215zm-.0259841-1.10948335c.0766817-.3734032.1672028-.6868008.3982364-.6868008.1810422 0 .1941755.23318275.1136809.6078296-.0144042.0831685-.0804945.3923688-.1698859.5240393-.0624186.09715945-.1362759.15607695-.2179003.15607695-.0242896 0-.1687562 0-.1710157-.23613635-.0011297-.11659135.0204767-.23567.0468846-.3650087zm2.1066988 1.06146325.0259841-.0290701c.0368581-.21499445.0429305-.2655174.1245549-.70079175.0408121-.20644445.1252608-.66006255.1649433-.82158045.0751282-.0383974.1478558-.07601755.2207245-.07601755.1670616 0 .1467262.1615179.140089.2258763-.0060725.1081968-.0673613.4609245-.1313334.76390655l-.0396824.1955626c-.030362.14457325-.0634071.2847938-.0926394.42812345l.0127097.02860375c.3414665-.02005375.441308-.02005375.7336305-.0146128l.0353047-.0290701c.0512623-.33593855.0651017-.42579165.1611304-.9145426l.0457548-.2247881c.0915096-.43962715.1378292-.66239435.0700444-.84396595-.0749871-.2034908-.2509454-.2526146-.4092515-.2526146-.1049254 0-.2974063.02782645-.468422.12078865-.0611476.0352883-.1224365.0758621-.1825956.11659135l.0523921-.22338905-.0281025-.0377756c-.3646263.0814585-.4479453.09234035-.7844692.1445733l-.025843.0206755c-.0408122.35708045-.0739986.62539605-.21903 1.32743145-.0552164.25867735-.1125512.51984195-.1698859.7778975l.0153928.03280105c.3458442-.02005375.4490751-.02005375.7485997-.0146128zm2.5088186.01453505c.0214652-.1153477.1489856-.7990394.1501153-.7990394 0 0 .1085971-.50165375.1152345-.519842 0 0 .0341748-.0522329.0683497-.07290845h.0502738c.4743532 0 1.0099953 0 1.4298381-.3399804.2856852-.2331827.4809905-.57751585.5681223-.99600105.022595-.1026004.0392588-.22463269.0392588-.34666496 0-.16027425-.0292322-.3188385-.1136809-.44273624-.2140874-.32972035-.6404262-.3357831-1.132573-.33827039-.0015534 0-.2426136.00248729-.2426136.00248729-.629976.00855003-.8826161.00606275-.9864117-.00792821-.0087556.05052291-.0252782.14037599-.0252782.14037599s-.2256673 1.15130077-.2256673 1.15316622c0 0-.5400198 2.4477966-.5654392 2.5631443.5500464-.00730635.7755725-.00730635.8704714.0041973zm.4181482-2.0451678s.2399304-1.14896892.2388007-1.14461618l.0077669-.05891749.0033893-.04492654.0958874.01088185s.4948299.046792.5064099.04803565c.1953052.0831685.2757998.29754113.2195948.57736036-.0512623.2557237-.2019425.4707182-.3955532.5745622-.1594358.0879876-.3547411.095294-.5559775.095294h-.1302035zm1.4938667.99045135c-.0634072.2975411-.136276.8410123.3154822 1.0347094.1440429.0674675.2731167.0875212.4043088.08021485.1385355-.00823915.2669031-.08472305.3858092-.1947853-.0107326.04523745-.0214652.0904749-.0321978.1358678l.0204766.0290701c.324944-.01507915.4257741-.01507915.7778319-.0121255l.0319154-.0267383c.0514036-.332674.0998416-.65570975.2334344-1.2921431.0651017-.30484755.1300622-.6067414.1968587-.9103453l-.0104501-.03342285c-.3634967.0741521-.4606551.09000855-.8103124.1445733l-.026549.0237846c-.0035305.0309356-.0072021.0606275-.0105914.09031945-.0543692-.0966931-.1331691-.17923975-.2547583-.2306954-.1554817-.0673121-.5206729.01943185-.8346018.33407305-.2205834.2246327-.3264973.53243385-.3866564.8276432zm.7634275.01818825c.0778115-.3667187.1672028-.67700715.3988014-.67700715.1464436 0 .2235489.14877055.2078737.40247335-.0124272.06327025-.025843.1299605-.0418008.20535625-.0231597.10897405-.0482967.21701535-.0727275.32521215-.0248545.07399665-.0538043.143796-.0855784.1902771-.0595943.09296215-.2013777.150636-.2830021.150636-.0231599 0-.1660731 0-.1710157-.23193905-.0011298-.11550315.0204767-.23442635.0474494-.36500865zm3.9866711-1.21085565-.0281024-.0352883c-.3596838.08021485-.4247856.09296215-.755237.142086l-.0242897.02673825c-.0011296.00435275-.0021182.01103735-.0038128.0171001l-.0011298-.00606275c-.2460027.6247742-.2388006.4899946-.4390485.98185465-.0011298-.02238555-.0011298-.0363765-.0022595-.06016115l-.0501327-1.0662668-.0314917-.0352883c-.3767711.08021485-.3856679.09296215-.7336305.142086l-.0271139.02673825c-.003813.01274735-.003813.0267383-.0060724.0419729l.0022594.00544095c.0434954.2446864.0330452.19012165.0766818.5762722.0203354.1894998.0474494.3800878.0677848.5672558.0343162.3132421.0535219.4674536.0954638.94547815-.2349878.4268798-.2906279.5883977-.51686.9630446l.0015534.0037309-.1592946.27733195c-.0182171.0292256-.0347397.0492793-.0578996.05782935-.0254193.0138355-.0584644.01632275-.1043605.01632275h-.0882616l-.131192.4803564.4500635.00855005c.26422-.00124365.4302931-.1372669.5196844-.32008215l.283002-.53383295h-.004519l.0297972-.03762015c.1903626-.4511308 1.6384179-3.1855867 1.6384179-3.1855867zm-4.7501128 6.3087581h-.1909276l.7066579-2.57293795h.2344228l.0744221-.265051.0072022.29474295c-.0087556.1821934.121448.3437113.4634794.31697305h.3955532l.1361347-.49543555h-.1488443c-.0855785 0-.1252609-.02378465-.1203182-.0747739l-.0072022-.299873h-.7325008v.00155455c-.2368235.00544095-.9440462.0250283-1.0872418.0670012-.1732752.0491238-.3558709.1936971-.3558709.1936971l.071739-.26536195h-.6851925l-.1427719.52652655-.7161194 2.61226815h-.1389591l-.136276.4918601h1.3647364l-.0457548.1640051h.6724828l.0446251-.1640051h.1886681zm-.5599316-2.0501423c-.1097268.03342285-.313929.1347796-.313929.1347796l.1816071-.65757525h.5443977l-.1313333.47911275s-.1681914.01088185-.2807425.0436829zm.0104502.9394154s-.1710158.0236292-.283567.0516111c-.1108566.0369984-.3187303.1535897-.3187303.1535897l.1875382-.6843135h.5472221zm-.3050322 1.1167897h-.5460922l.158306-.5775158h.5443976zm1.315112-1.5959024h.7871525l-.1131162.4032506h-.7976024l-.1197535.4408708h.6979023l-.5284398.8190931c-.0369994.0601612-.0701858.0814585-.1070437.0984031-.0369994.0206755-.0855785.0449265-.1417835.0449265h-.1936107l-.133028.4828437h.5064098c.2632315 0 .4187131-.131826.5335239-.3048476l.3623669-.5459584.0778115.5543531c.0165225.1038439.0843074.1646269.1302034.1882561.0506975.0279819.1030897.0760176.1770882.0831685.0793648.0037309.1366995.0066846.1748285.0066846h.2488272l.1494092-.5403621h-.0981469c-.0563463 0-.1533633-.0104155-.1698859-.0298474-.0165226-.0236292-.0165226-.0600057-.0254194-.1153477l-.0789412-.5555967h-.3232494l.1417836-.1857688h.796049l.1224365-.4408708h-.7370197l.1148107-.4032506h.7347603l.1362759-.497301h-2.1905826zm-6.6483163 1.7081877.1837253-.6728098h.7550958l.1379705-.5004101h-.7558018l.1153756-.4141325h.7385731l.1368408-.4845537h-1.84798632l-.13401641.4845537h.41984283l-.1119863.4141325h-.42097264l-.13952389.5089601h.41970155l-.24487301.8901361c-.03304514.117835.01553408.1627615.04631971.2174817.03149175.0533211.06340718.0886094.13514621.1086631.07399857.0181883.12469597.0290701.19361067.0290701h.8512656l.1516688-.554353-.3773361.0570521c-.0728688 0-.2746701-.0096382-.25264-.0837903zm.0866093-3.22084395-.1913512.38070965c-.0409534.08316845-.0778114.1347796-.1109978.1585642-.0292322.02005375-.0871318.0284483-.1710157.0284483h-.0998415l-.13345158.48704095h.33158128c.1594357 0 .2818722-.0643584.3403368-.09653765.0628422-.0369983.0793647-.0158564.1279439-.0674675l.1119864-.1067977h1.0354146l.1374057-.50709465h-.7579202l.1323219-.2768656zm1.5286064 3.23062205c-.0176524-.027982-.0049427-.0772612.0220301-.1798616l.283002-1.0311339h1.0067472c.1467262-.0023318.25264-.0041973.3215547-.0096382.0739985-.0085501.1544932-.0376202.2421899-.0898531.0905212-.0547202.1368408-.1123941.1759583-.178618.0436366-.0660684.113681-.2106417.1738401-.4335643l.3557296-1.3048905-1.044735.0066846s-.3216959.0522329-.4633381.10990675c-.1429132.06435845-.3471154.2440646-.3471154.2440646l.0943341-.3577023h-.645369l-.9035164 3.29860265c-.0320566.1280949-.0535218.2210571-.0584645.2768655-.0016946.0601612.0689147.1197005.1146695.164627.0540867.0449266.1340164.0376202.2106981.0449266.0806358.0066846.1953053.0108818.3536113.0108818h.4959597l.1522336-.5658567-.4439912.0461702c-.0474494 0-.0817655-.027982-.0960286-.0516111zm.4876277-1.9074346h1.0574447l-.06722.2319391c-.0094616.0054409-.0320566-.0115037-.1396652.0024873h-.9156612zm.2118279-.77789745h1.0663414l-.0766816.27935285s-.5025969-.0054409-.5830915.01088185c-.3541763.06746755-.5610614.27577745-.5610614.27577745zm.802065 1.78653705c-.0087555.0346665-.0225949.0558084-.0419418.0716648-.0214654.0152346-.0562051.0206755-.1080323.0206755h-.1506803l.0088968-.2824619h-.626728l-.0254193 1.380908c-.0009886.0996467.007767.1573206.0739985.2034908.0662315.0576738.2702923.0649802.5449624.0649802h.392729l.1417834-.5168883-.3418902.0206755-.1136809.0073064c-.0155341-.0073064-.030362-.013991-.0468846-.0321792-.0144043-.015701-.0386939-.0060627-.0347398-.1057095l.0026831-.3539713.3585541-.0163228c.1936107 0 .2763648-.0693331.346974-.1354015.0673612-.0632702.0893913-.1360232.1148107-.2344264l.0601592-.3133975h-.4927118z\",\r\n fill: \"#fefefe\"\r\n })\r\n);\r\n\r\nexports.default = unionpay;\r\n","Object.defineProperty(exports, \"__esModule\", { value: true });\r\n\r\nfunction _interopDefault(ex) {\r\n return ex && typeof ex === \"object\" && \"default\" in ex ? ex[\"default\"] : ex;\r\n}\r\n\r\nvar React = _interopDefault(require(\"react\"));\r\n\r\nvar placeholder = React.createElement(\r\n \"g\",\r\n {\r\n stroke: \"none\",\r\n strokeWidth: \"1\",\r\n fill: \"none\",\r\n fillRule: \"evenodd\"\r\n },\r\n React.createElement(\r\n \"g\",\r\n null,\r\n React.createElement(\"rect\", {\r\n id: \"Rectangle\",\r\n fill: \"#D8D8D8\",\r\n x: \"0\",\r\n y: \"0\",\r\n width: \"24\",\r\n height: \"16\",\r\n rx: \"1\"\r\n }),\r\n React.createElement(\"rect\", {\r\n id: \"Rectangle\",\r\n fill: \"#A6A6A6\",\r\n x: \"0.923076923\",\r\n y: \"10.3529412\",\r\n width: \"4.61538462\",\r\n height: \"1.88235294\",\r\n rx: \"0.941176471\"\r\n }),\r\n React.createElement(\"rect\", {\r\n id: \"Rectangle\",\r\n fill: \"#FFFFFF\",\r\n x: \"16.6153846\",\r\n y: \"3.76470588\",\r\n width: \"4.61538462\",\r\n height: \"2.82352941\",\r\n rx: \"1\"\r\n }),\r\n React.createElement(\"rect\", {\r\n id: \"Rectangle\",\r\n fill: \"#A6A6A6\",\r\n x: \"6.46153846\",\r\n y: \"10.3529412\",\r\n width: \"4.61538462\",\r\n height: \"1.88235294\",\r\n rx: \"0.941176471\"\r\n }),\r\n React.createElement(\"rect\", {\r\n id: \"Rectangle\",\r\n fill: \"#A6A6A6\",\r\n x: \"11.9230769\",\r\n y: \"10.3529412\",\r\n width: \"5.61538462\",\r\n height: \"1.88235294\",\r\n rx: \"0.941176471\"\r\n }),\r\n React.createElement(\"rect\", {\r\n id: \"Rectangle\",\r\n fill: \"#A6A6A6\",\r\n x: \"18.4615385\",\r\n y: \"10.3529412\",\r\n width: \"4.61538462\",\r\n height: \"1.88235294\",\r\n rx: \"0.941176471\"\r\n })\r\n )\r\n);\r\n\r\nexports.default = placeholder;\r\n","Object.defineProperty(exports, \"__esModule\", { value: true });\r\n\r\nfunction _interopDefault(ex) {\r\n return ex && typeof ex === \"object\" && \"default\" in ex ? ex[\"default\"] : ex;\r\n}\r\n\r\nvar React = _interopDefault(require(\"react\"));\r\n\r\nvar mastercard = React.createElement(\r\n \"g\",\r\n {\r\n fill: \"none\",\r\n fillRule: \"evenodd\"\r\n },\r\n React.createElement(\"rect\", {\r\n fill: \"#252525\",\r\n height: \"16\",\r\n rx: \"2\",\r\n width: \"24\"\r\n }),\r\n React.createElement(\"circle\", {\r\n cx: \"9\",\r\n cy: \"8\",\r\n fill: \"#eb001b\",\r\n r: \"5\"\r\n }),\r\n React.createElement(\"circle\", {\r\n cx: \"15\",\r\n cy: \"8\",\r\n fill: \"#f79e1b\",\r\n r: \"5\"\r\n }),\r\n React.createElement(\"path\", {\r\n d:\r\n \"m12 3.99963381c1.2144467.91220633 2 2.36454836 2 4.00036619s-.7855533 3.0881599-2 4.0003662c-1.2144467-.9122063-2-2.36454837-2-4.0003662s.7855533-3.08815986 2-4.00036619z\",\r\n fill: \"#ff5f00\"\r\n })\r\n);\r\n\r\nexports.default = mastercard;\r\n","Object.defineProperty(exports, \"__esModule\", { value: true });\r\n\r\nfunction _interopDefault(ex) {\r\n return ex && typeof ex === \"object\" && \"default\" in ex ? ex[\"default\"] : ex;\r\n}\r\n\r\nvar React = _interopDefault(require(\"react\"));\r\n\r\nvar jcb = React.createElement(\r\n \"g\",\r\n {\r\n fill: \"none\"\r\n },\r\n React.createElement(\"path\", {\r\n d:\r\n \"m.20535714 16h4.51785715c1.0278125 0 2.25892857-1.1946667 2.25892857-2.1333333v-13.8666667h-4.51785715c-1.0278125 0-2.25892857 1.19466667-2.25892857 3.2z\",\r\n fill: \"#047ab1\"\r\n }),\r\n React.createElement(\"path\", {\r\n d:\r\n \"m2.76924107 10.816c-.86733559.0001606-1.73039558-.1147397-2.56388393-.3413333v-1.17333337c.64678874.37770431 1.38610045.59084099 2.14598215.61866667.8696875 0 1.35535714-.576 1.35535714-1.36533333v-3.22133334h2.14598214v3.22133334c0 1.25866666-.70026786 2.26133333-3.0834375 2.26133333z\",\r\n fill: \"#fff\"\r\n }),\r\n React.createElement(\"path\", {\r\n d:\r\n \"m8.11160714 16h4.51785716c1.0278125 0 2.2589286-1.1946667 2.2589286-2.1333333v-13.8666667h-4.5178572c-1.02781249 0-2.25892856 1.19466667-2.25892856 3.2z\",\r\n fill: \"#d42d06\"\r\n }),\r\n React.createElement(\"path\", {\r\n d:\r\n \"m8.11160714 6.08c.65508929-.59733333 1.78455357-.97066667 3.61428576-.88533333.9939285.04266666 2.0330357.32 2.0330357.32v1.184c-.5943231-.3394747-1.2623758-.54734656-1.9539732-.608-1.3892411-.11733334-2.23633933.61866666-2.23633933 1.90933333s.84709823 2.0266667 2.23633933 1.92c.6920185-.06606555 1.3596342-.27744592 1.9539732-.61866667v1.17333337s-1.0391072.288-2.0330357.3306666c-1.82973219.0853334-2.95919647-.288-3.61428576-.8853333z\",\r\n fill: \"#fff\"\r\n }),\r\n React.createElement(\"path\", {\r\n d:\r\n \"m16.0178571 16h4.5178572c1.0278125 0 2.2589286-1.1946667 2.2589286-2.1333333v-13.8666667h-4.5178572c-1.0278125 0-2.2589286 1.19466667-2.2589286 3.2z\",\r\n fill: \"#67b637\"\r\n }),\r\n React.createElement(\"path\", {\r\n d:\r\n \"m21.6651786 9.28c0 .8533333-.7002679 1.3866667-1.6377232 1.3866667h-4.0095983v-5.33333337h3.6481697l.2597768.01066667c.8245089.04266667 1.4344196.50133333 1.4344196 1.29066667 0 .61866666-.4179018 1.152-1.1746428 1.28v.032c.8358035.05333333 1.4795982.55466666 1.4795982 1.33333333zm-2.880134-3.104c-.0486104-.00686658-.0976798-.01043129-.1468303-.01066667h-1.3553572v1.344h1.5021875c.2823661-.064.5195536-.30933333.5195536-.672 0-.36266666-.2371875-.608-.5195536-.66133333zm.1694197 2.176c-.059755-.00886168-.1202559-.01243275-.1807143-.01066667h-1.4908929v1.46133334h1.4908929l.1807143-.02133334c.2823661-.064.5195536-.34133333.5195536-.71466666 0-.37333334-.2258929-.64-.5195536-.71466667z\",\r\n fill: \"#fff\"\r\n })\r\n);\r\n\r\nexports.default = jcb;\r\n","Object.defineProperty(exports, \"__esModule\", { value: true });\r\n\r\nfunction _interopDefault(ex) {\r\n return ex && typeof ex === \"object\" && \"default\" in ex ? ex[\"default\"] : ex;\r\n}\r\n\r\nvar React = _interopDefault(require(\"react\"));\r\n\r\nvar amex = React.createElement(\r\n \"g\",\r\n {\r\n fill: \"none\",\r\n fillRule: \"evenodd\"\r\n },\r\n React.createElement(\"rect\", {\r\n fill: \"#016fd0\",\r\n height: \"16\",\r\n rx: \"2\",\r\n width: \"24\"\r\n }),\r\n React.createElement(\"path\", {\r\n d:\r\n \"m13.7640663 13.3938564v-5.70139231l10.1475359.00910497v1.57489503l-1.1728619 1.25339231 1.1728619 1.2648839v1.6083094h-1.8726188l-.9951823-1.0981657-.9881105 1.1023204z\",\r\n fill: \"#fffffe\"\r\n }),\r\n React.createElement(\"path\", {\r\n d:\r\n \"m14.4418122 12.7687956v-4.448884h3.7722872v1.02488398h-2.550895v.69569062h2.4900774v1.0078232h-2.4900774v.6833149h2.550895v1.0371713z\",\r\n fill: \"#016fd0\"\r\n }),\r\n React.createElement(\"path\", {\r\n d:\r\n \"m18.1952707 12.7687956 2.087337-2.2270055-2.0874254-2.2217901h1.6156464l1.2754917 1.41003315 1.2791161-1.41003315h1.5461657v.03500552l-2.0428729 2.18678458 2.0428729 2.1638895v.063116h-1.5617237l-1.2981216-1.4241768-1.2847735 1.4241768z\",\r\n fill: \"#016fd0\"\r\n }),\r\n React.createElement(\"path\", {\r\n d:\r\n \"m14.2373481 2.6319558h2.4460552l.8591381 1.95085083v-1.95085083h3.0198453l.5207514 1.46156906.5225194-1.46156906h2.3059447v5.70139227h-12.1865193z\",\r\n fill: \"#fffffe\"\r\n }),\r\n React.createElement(\r\n \"g\",\r\n {\r\n fill: \"#016fd0\"\r\n },\r\n React.createElement(\"path\", {\r\n d:\r\n \"m14.7004641 3.25135912-1.9740111 4.44517127h1.3539006l.3724199-.89016575h2.0179447l.3721547.89016575h1.3875801l-1.96579-4.44517127zm.1696353 2.55743646.592-1.41507182.5915581 1.41507182z\"\r\n }),\r\n React.createElement(\"path\", {\r\n d:\r\n \"m18.2119779 7.69573481v-4.44508288l1.903116.00654144.9792707 2.73272928.9856354-2.73927072h1.8316022v4.44508288l-1.1786077.01043094v-3.05334807l-1.1125746 3.04291713h-1.0758011l-1.1356464-3.05334807v3.05334807z\"\r\n })\r\n )\r\n);\r\n\r\nexports.default = amex;\r\n","Object.defineProperty(exports, \"__esModule\", { value: true });\r\n\r\nfunction _interopDefault(ex) {\r\n return ex && typeof ex === \"object\" && \"default\" in ex ? ex[\"default\"] : ex;\r\n}\r\n\r\nvar React = _interopDefault(require(\"react\"));\r\n\r\nvar dinersclub = React.createElement(\r\n \"g\",\r\n {\r\n id: \"319\",\r\n stroke: \"none\",\r\n strokeWidth: \"1\",\r\n fill: \"none\",\r\n fillRule: \"evenodd\"\r\n },\r\n React.createElement(\r\n \"g\",\r\n {\r\n id: \"New-Icons\",\r\n transform: \"translate(-320.000000, -280.000000)\",\r\n fillRule: \"nonzero\"\r\n },\r\n React.createElement(\r\n \"g\",\r\n {\r\n id: \"Card-Brands\",\r\n transform: \"translate(40.000000, 200.000000)\"\r\n },\r\n React.createElement(\r\n \"g\",\r\n {\r\n id: \"Color\",\r\n transform: \"translate(0.000000, 80.000000)\"\r\n },\r\n React.createElement(\r\n \"g\",\r\n {\r\n id: \"Diners-Club\",\r\n transform: \"translate(280.000000, 0.000000)\"\r\n },\r\n React.createElement(\"path\", {\r\n d:\r\n \"M21.9972414,15.749927 L21.999381,15.7499362 C22.9544683,15.7581106 23.73806,14.9772525 23.75,14.0041555 L23.7500083,2.00630219 C23.7461702,1.53568921 23.5588633,1.08617106 23.2297297,0.756801782 C22.9014319,0.428268884 22.4589161,0.246148853 21.9972414,0.250070854 L2.00063,0.250061791 C1.54108393,0.246148853 1.09856813,0.428268884 0.77027028,0.756801782 C0.441136651,1.08617106 0.253829819,1.53568921 0.25,2.00426336 L0.249991686,13.9936957 C0.253829819,14.4643086 0.441136651,14.9138268 0.77027028,15.2431961 C1.09856813,15.571729 1.54108393,15.753849 2.00275862,15.749927 L21.9972414,15.749927 Z M21.996203,16.249927 C21.9958359,16.249924 21.9954688,16.249921 21.9951018,16.2499178 L21.9972414,16.249927 L21.996203,16.249927 Z\",\r\n id: \"shape\",\r\n strokeOpacity: \"0.2\",\r\n stroke: \"#000000\",\r\n strokeWidth: \"0.5\",\r\n fill: \"#FFFFFF\"\r\n }),\r\n React.createElement(\"path\", {\r\n d:\r\n \"M10.0021142,2.05179033 L10.0021142,2.03579033 L14.0021142,2.03579033 L14.0021142,2.05179033 C17.1375481,2.28122918 19.5642283,4.89197286 19.5642283,8.03579033 C19.5642283,11.1796078 17.1375481,13.7903515 14.0021142,14.0197903 L14.0021142,14.0357903 L10.0021142,14.0357903 L10.0021142,14.0197903 C6.86668021,13.7903515 4.44,11.1796078 4.44,8.03579033 C4.44,4.89197286 6.86668021,2.28122918 10.0021142,2.05179033 Z\",\r\n id: \"shape\",\r\n fill: \"#0165AC\"\r\n }),\r\n React.createElement(\"path\", {\r\n d:\r\n \"M11.6021142,11.4277903 C13.0374002,10.9175027 13.9961556,9.55908923 13.9961556,8.03579033 C13.9961556,6.51249143 13.0374002,5.15407792 11.6021142,4.64379033 L11.6021142,11.4277903 L11.6021142,11.4277903 Z M9.20211417,4.64379033 C7.76682809,5.15407792 6.80807271,6.51249143 6.80807271,8.03579033 C6.80807271,9.55908923 7.76682809,10.9175027 9.20211417,11.4277903 L9.20211417,4.64379033 L9.20211417,4.64379033 Z M10.4021142,13.2357903 C7.53023347,13.2357903 5.20211417,10.907671 5.20211417,8.03579033 C5.20211417,5.16390963 7.53023347,2.83579033 10.4021142,2.83579033 C13.2739949,2.83579033 15.6021142,5.16390963 15.6021142,8.03579033 C15.6021142,10.907671 13.2739949,13.2357903 10.4021142,13.2357903 Z\",\r\n id: \"shape\",\r\n fill: \"#FFFFFF\"\r\n })\r\n )\r\n )\r\n )\r\n )\r\n);\r\n\r\nexports.default = dinersclub;\r\n","Object.defineProperty(exports, \"__esModule\", { value: true });\r\n\r\nfunction _interopDefault(ex) {\r\n return ex && typeof ex === \"object\" && \"default\" in ex ? ex[\"default\"] : ex;\r\n}\r\n\r\nvar React = _interopDefault(require(\"react\"));\r\n\r\nvar discover = React.createElement(\r\n \"g\",\r\n {\r\n id: \"319\",\r\n stroke: \"none\",\r\n strokeWidth: \"1\",\r\n fill: \"none\",\r\n fillRule: \"evenodd\"\r\n },\r\n React.createElement(\r\n \"g\",\r\n {\r\n id: \"New-Icons\",\r\n transform: \"translate(-280.000000, -280.000000)\",\r\n fillRule: \"nonzero\"\r\n },\r\n React.createElement(\r\n \"g\",\r\n {\r\n id: \"Card-Brands\",\r\n transform: \"translate(40.000000, 200.000000)\"\r\n },\r\n React.createElement(\r\n \"g\",\r\n {\r\n id: \"Color\",\r\n transform: \"translate(0.000000, 80.000000)\"\r\n },\r\n React.createElement(\r\n \"g\",\r\n {\r\n id: \"Discover\",\r\n transform: \"translate(240.000000, 0.000000)\"\r\n },\r\n React.createElement(\"path\", {\r\n d:\r\n \"M21.9972414,15.749927 L21.999381,15.7499362 C22.9544683,15.7581106 23.73806,14.9772525 23.75,14.0041555 L23.7500083,2.00630219 C23.7461702,1.53568921 23.5588633,1.08617106 23.2297297,0.756801782 C22.9014319,0.428268884 22.4589161,0.246148853 21.9972414,0.250070854 L2.00063,0.250061791 C1.54108393,0.246148853 1.09856813,0.428268884 0.77027028,0.756801782 C0.441136651,1.08617106 0.253829819,1.53568921 0.25,2.00426336 L0.249991686,13.9936957 C0.253829819,14.4643086 0.441136651,14.9138268 0.77027028,15.2431961 C1.09856813,15.571729 1.54108393,15.753849 2.00275862,15.749927 L21.9972414,15.749927 Z M21.996203,16.249927 C21.9958359,16.249924 21.9954688,16.249921 21.9951018,16.2499178 L21.9972414,16.249927 L21.996203,16.249927 Z\",\r\n id: \"shape\",\r\n strokeOpacity: \"0.2\",\r\n stroke: \"#000000\",\r\n strokeWidth: \"0.5\",\r\n fill: \"#FFFFFF\"\r\n }),\r\n React.createElement(\"path\", {\r\n d:\r\n \"M12.6124138,15.9999283 L21.9972414,15.9999283 C22.5240217,16.0043364 23.0309756,15.7992919 23.4065697,15.4299059 C23.7821638,15.06052 23.9956285,14.5570537 24,14.0302731 L24,11.6716524 C20.4561668,13.7059622 16.6127929,15.1667795 12.6124138,15.9999283 L12.6124138,15.9999283 Z\",\r\n id: \"shape\",\r\n fill: \"#F27712\"\r\n }),\r\n React.createElement(\"path\", {\r\n d:\r\n \"M23.1724138,9.29647999 L22.32,9.29647999 L21.36,8.03027309 L21.2689655,8.03027309 L21.2689655,9.29647999 L20.5737931,9.29647999 L20.5737931,6.1516524 L21.6,6.1516524 C22.4027586,6.1516524 22.8662069,6.48268688 22.8662069,7.07854895 C22.8662069,7.56682481 22.5765517,7.88130757 22.0551724,7.98061792 L23.1724138,9.29647999 Z M22.1462069,7.10337654 C22.1462069,6.79716964 21.9144828,6.63992826 21.4841379,6.63992826 L21.2689655,6.63992826 L21.2689655,7.5916524 L21.4675862,7.5916524 C21.9144828,7.5916524 22.1462069,7.42613516 22.1462069,7.10337654 L22.1462069,7.10337654 Z M18.1406897,6.1516524 L20.1103448,6.1516524 L20.1103448,6.68130757 L18.8358621,6.68130757 L18.8358621,7.38475585 L20.0606897,7.38475585 L20.0606897,7.92268688 L18.8358621,7.92268688 L18.8358621,8.77510068 L20.1103448,8.77510068 L20.1103448,9.30475585 L18.1406897,9.30475585 L18.1406897,6.1516524 Z M15.9062069,9.37923861 L14.4,6.14337654 L15.1613793,6.14337654 L16.1131034,8.26199723 L17.0731034,6.14337654 L17.817931,6.14337654 L16.2951724,9.37923861 L15.9227586,9.37923861 L15.9062069,9.37923861 Z M9.60827586,9.37096274 C8.54896552,9.37096274 7.72137931,8.65096274 7.72137931,7.71579033 C7.72137931,6.8054455 8.56551724,6.06889378 9.62482759,6.06889378 C9.92275862,6.06889378 10.1710345,6.12682481 10.4772414,6.25923861 L10.4772414,6.98751447 C10.2453534,6.75969251 9.93335245,6.63192067 9.60827586,6.6316524 C8.9462069,6.6316524 8.44137931,7.1116524 8.44137931,7.71579033 C8.44137931,8.35303171 8.93793103,8.80820412 9.64137931,8.80820412 C9.95586207,8.80820412 10.1958621,8.70889378 10.4772414,8.46061792 L10.4772414,9.18889378 C10.1627586,9.32130757 9.89793103,9.37096274 9.60827586,9.37096274 L9.60827586,9.37096274 Z M7.5062069,8.33647999 C7.5062069,8.94889378 7.00137931,9.37096274 6.27310345,9.37096274 C5.74344828,9.37096274 5.36275862,9.18889378 5.04,8.77510068 L5.49517241,8.38613516 C5.65241379,8.66751447 5.91724138,8.80820412 6.24827586,8.80820412 C6.56275862,8.80820412 6.7862069,8.6178593 6.7862069,8.36958343 C6.7862069,8.22889378 6.72,8.12130757 6.57931034,8.03854895 C6.42504922,7.96369158 6.26441119,7.90275992 6.09931034,7.85647999 C5.44551724,7.64958343 5.22206897,7.42613516 5.22206897,6.98751447 C5.22206897,6.47441102 5.70206897,6.0854455 6.33103448,6.0854455 C6.72827586,6.0854455 7.08413793,6.20958343 7.38206897,6.44130757 L7.01793103,6.85510068 C6.87360928,6.69688076 6.66932728,6.60675635 6.45517241,6.60682481 C6.15724138,6.60682481 5.94206897,6.75579033 5.94206897,6.95441102 C5.94206897,7.11992826 6.0662069,7.21096274 6.48,7.3516524 C7.27448276,7.59992826 7.5062069,7.8316524 7.5062069,8.34475585 L7.5062069,8.33647999 Z M4.08827586,6.1516524 L4.78344828,6.1516524 L4.78344828,9.30475585 L4.08827586,9.30475585 L4.08827586,6.1516524 Z M1.8537931,9.30475585 L0.827586207,9.30475585 L0.827586207,6.1516524 L1.8537931,6.1516524 C2.97931034,6.1516524 3.75724138,6.79716964 3.75724138,7.72406619 C3.75724138,8.19579033 3.52551724,8.64268688 3.12,8.94061792 C2.77241379,9.18889378 2.38344828,9.30475585 1.84551724,9.30475585 L1.8537931,9.30475585 Z M2.66482759,6.9378593 C2.43310345,6.75579033 2.16827586,6.68958343 1.71310345,6.68958343 L1.52275862,6.68958343 L1.52275862,8.77510068 L1.71310345,8.77510068 C2.16,8.77510068 2.44137931,8.69234206 2.66482759,8.52682481 C2.90482759,8.32820412 3.04551724,8.03027309 3.04551724,7.72406619 C3.04551724,7.4178593 2.90482759,7.12820412 2.66482759,6.9378593 Z\",\r\n id: \"shape\",\r\n fill: \"#000000\"\r\n }),\r\n React.createElement(\"path\", {\r\n d:\r\n \"M12.4137931,6.06889378 C11.5034483,6.06889378 10.7586207,6.79716964 10.7586207,7.69923861 C10.7586207,8.65923861 11.4703448,9.37923861 12.4137931,9.37923861 C13.3406897,9.37923861 14.0689655,8.65096274 14.0689655,7.72406619 C14.0689655,6.79716964 13.3489655,6.06889378 12.4137931,6.06889378 Z\",\r\n id: \"shape\",\r\n fill: \"#F27712\"\r\n })\r\n )\r\n )\r\n )\r\n )\r\n);\r\n\r\nexports.default = discover;\r\n","Object.defineProperty(exports, \"__esModule\", { value: true });\r\n\r\nfunction _interopDefault(ex) {\r\n return ex && typeof ex === \"object\" && \"default\" in ex ? ex[\"default\"] : ex;\r\n}\r\n\r\nvar React = _interopDefault(require(\"react\"));\r\n\r\nvar hipercard = React.createElement(\r\n \"g\",\r\n {\r\n id: \"Page-1\",\r\n stroke: \"none\",\r\n strokeWidth: \"1\",\r\n fill: \"none\",\r\n fillRule: \"evenodd\"\r\n },\r\n React.createElement(\r\n \"g\",\r\n {\r\n id: \"Group-2\"\r\n },\r\n React.createElement(\"rect\", {\r\n id: \"Rectangle\",\r\n fill: \"#B3131B\",\r\n x: \"0\",\r\n y: \"0\",\r\n width: \"24\",\r\n height: \"16\",\r\n rx: \"2\"\r\n }),\r\n React.createElement(\r\n \"g\",\r\n {\r\n id: \"Hipercard_logo\",\r\n transform: \"translate(2.000000, 6.000000)\",\r\n fill: \"#FFFFFF\",\r\n fillRule: \"nonzero\"\r\n },\r\n React.createElement(\"path\", {\r\n d:\r\n \"M4.45845797,4.72911206 L4.71934477,4.72911206 L4.72670967,4.71021617 C4.73076043,4.69982332 4.73407456,4.67539055 4.73407456,4.65592007 C4.73407456,4.63644958 4.74267391,4.56566228 4.75318417,4.49861521 C4.76369454,4.43156695 4.78836018,4.27726169 4.80799675,4.15571305 C4.82763331,4.0341644 4.85703646,3.85139347 4.87333717,3.74955542 C4.88963776,3.64771736 4.90953167,3.51735868 4.91754595,3.45986946 C4.92556023,3.40238023 4.93534271,3.3553436 4.93928464,3.3553436 C4.94322668,3.3553436 4.96009268,3.38074637 4.9767648,3.41179473 L5.0070776,3.46824705 L5.07434118,3.5349692 L5.14160488,3.60169134 L5.22440039,3.63432372 L5.30719578,3.66695609 L5.40587279,3.67955056 L5.5045498,3.69214384 L5.62980554,3.68457856 L5.75506139,3.67701327 L5.8906751,3.64246001 L6.02628894,3.60790675 L6.09908975,3.57519075 C6.13913019,3.55719677 6.21011098,3.51796553 6.25682484,3.48801021 L6.34175912,3.43354447 L6.42095111,3.35561954 C6.46450662,3.31276155 6.5259323,3.24403729 6.55745263,3.20290069 C6.58897283,3.16176409 6.61476215,3.12510239 6.61476215,3.12143264 C6.61476215,3.11776169 6.63024834,3.09228724 6.64917582,3.06482382 C6.66810343,3.0373592 6.70683989,2.96113177 6.73525696,2.8954298 C6.76367415,2.82972783 6.80808531,2.71146429 6.83394853,2.63262192 L6.88097263,2.48927217 L6.90527961,2.36510142 C6.91864839,2.29680721 6.93584673,2.18391928 6.94349809,2.11423935 L6.95740984,1.98754804 L6.9493753,1.88003572 L6.94134076,1.77252341 L6.91602234,1.66501109 L6.89070392,1.55749878 L6.84971924,1.47700311 L6.80873457,1.39650745 L6.72956721,1.31388424 L6.65039973,1.23125983 L6.55674682,1.18360201 L6.4630938,1.13594299 L6.35995932,1.11163207 L6.25682484,1.08732115 L6.15369036,1.07986696 L6.05055588,1.07241397 L5.93566831,1.0854122 L5.82078075,1.09840925 L5.7270093,1.12198192 L5.63323773,1.1455534 L5.55177641,1.18267501 C5.50697261,1.2030916 5.44177912,1.23776791 5.40690207,1.25973387 C5.3720249,1.28169983 5.33604735,1.30697239 5.32695174,1.31589472 C5.31785613,1.32481824 5.29608043,1.34134766 5.27856116,1.3526257 L5.24670802,1.37313308 L5.26898276,1.26820942 C5.28123392,1.21050159 5.29147275,1.15656744 5.2917358,1.14835469 L5.29221386,1.13342243 L5.06976516,1.13342243 L4.84731634,1.13342243 L4.80831003,1.37532513 C4.78685648,1.50837162 4.75298372,1.71398893 4.73303727,1.83225247 C4.7130907,1.95051602 4.68301183,2.12791134 4.66619545,2.22646429 C4.64937895,2.32501725 4.61938307,2.49972476 4.59953794,2.61470321 C4.5796928,2.72968165 4.54689191,2.91245259 4.52664697,3.02086084 C4.50640216,3.12926909 4.47674372,3.28784975 4.46073931,3.37326231 C4.44473502,3.45867488 4.41461296,3.61994335 4.39380151,3.7316367 C4.37299019,3.84333005 4.33954562,4.02072536 4.31948026,4.12584852 C4.29941502,4.23097167 4.26676167,4.39761576 4.24691738,4.49616871 C4.2270731,4.59472167 4.20785211,4.68745104 4.20420394,4.70223398 L4.19757093,4.72911206 L4.45845773,4.72911206 L4.45845797,4.72911206 Z M5.58158434,3.34795511 L5.48028286,3.35395071 L5.41406652,3.34244331 L5.34785018,3.33093472 L5.28059837,3.30070464 L5.21334656,3.27047457 L5.16636177,3.22630134 L5.11937709,3.18212931 L5.09225746,3.12240025 C5.07734166,3.08954926 5.0581828,3.0337432 5.04968233,2.99838718 L5.03422684,2.93410437 L5.04041916,2.8311458 L5.04661147,2.72818843 L5.07787505,2.56691995 C5.09507,2.47822229 5.12594421,2.31157821 5.14648436,2.19659976 C5.1670245,2.08162131 5.19812318,1.9131519 5.21559259,1.82222277 L5.24735509,1.6568975 L5.3169102,1.5999088 C5.35516545,1.56856538 5.41576424,1.52655673 5.45157423,1.50655705 L5.51668327,1.470194 L5.60161755,1.44430981 L5.68655183,1.41842563 L5.79575304,1.41211346 L5.90495426,1.40580129 L5.99387134,1.42445946 L6.08278843,1.44311762 L6.1455397,1.47157016 L6.20829096,1.50002269 L6.2609103,1.55210763 L6.31352963,1.60419138 L6.34191746,1.65934519 C6.3575308,1.68968039 6.37946059,1.74905705 6.39065044,1.79129506 L6.41099548,1.86808991 L6.40476348,2.09506035 L6.39853137,2.32203079 L6.36736983,2.45618705 C6.35023095,2.52997394 6.31760514,2.64286188 6.29486799,2.70704912 L6.25352781,2.82375493 L6.20290006,2.91822719 C6.17505485,2.9701879 6.1321162,3.04040419 6.10748089,3.07426459 C6.08284558,3.10812381 6.04357913,3.15198525 6.0202222,3.17173287 C5.99686528,3.19148049 5.95774892,3.22234369 5.93329695,3.24031617 L5.8888387,3.27299275 L5.7858622,3.30747553 L5.6828857,3.34195951 L5.58158434,3.34795511 Z M8.10111202,3.67635864 L8.23458018,3.67786023 L8.36804833,3.665875 C8.44145581,3.6592833 8.56157715,3.64555995 8.63498463,3.63537973 C8.70839211,3.62519831 8.83520336,3.60240928 8.91678734,3.58473665 L9.06512179,3.5526048 L9.07250973,3.498771 C9.07657311,3.4691621 9.093232,3.38101873 9.10952955,3.3028967 L9.1391613,3.16085621 L9.1326233,3.1544198 L9.12608543,3.1479822 L9.0807372,3.1695444 C9.05579576,3.181403 8.97811171,3.20969069 8.90810597,3.23240685 L8.78082285,3.27370711 L8.6472364,3.29918394 L8.51364995,3.32466077 L8.30131425,3.32506693 L8.08897856,3.32547309 L8.01617775,3.30258252 C7.9761373,3.28999283 7.91724557,3.26695772 7.88530737,3.25139472 L7.82723768,3.22309628 L7.7793106,3.18046765 L7.73138352,3.13783782 L7.69398963,3.07349051 L7.65659562,3.00914319 L7.63315109,2.92843011 L7.60970656,2.84771703 L7.60953911,2.69835615 L7.60937167,2.54899526 L7.63018579,2.41575047 L7.65099978,2.28250449 L7.83358895,2.27410658 L8.01617823,2.26570748 L8.69111697,2.26997453 L9.3660557,2.27424157 L9.38643459,2.18913124 C9.39764288,2.14232038 9.41477886,2.04555929 9.42451439,1.97410661 L9.44221542,1.84419231 L9.44258913,1.73490963 L9.44296284,1.62562694 L9.42374501,1.54404301 L9.40452717,1.46245909 L9.37275132,1.40843654 C9.35527451,1.37872491 9.32448062,1.33566504 9.3043205,1.31274938 C9.28416037,1.28983373 9.24816377,1.25752509 9.22432794,1.24095266 C9.20049222,1.22438023 9.15368992,1.19652977 9.12032288,1.17906499 L9.05965554,1.14730824 L8.95365525,1.12215633 L8.84765497,1.09700442 L8.71705262,1.08471099 L8.58645027,1.07241636 L8.46511559,1.08019547 L8.34378091,1.08797458 L8.19817929,1.11550012 L8.05257767,1.14302686 L7.96157665,1.17884877 C7.9115261,1.198551 7.83508525,1.23447922 7.7917081,1.2586898 C7.74833095,1.28290038 7.68827028,1.32231081 7.65823994,1.34626814 C7.62820961,1.37022427 7.57621515,1.4167998 7.54269681,1.44976786 C7.50917834,1.48273591 7.45959784,1.54196325 7.43251788,1.58138443 C7.40543792,1.62080561 7.36392374,1.69068862 7.34026433,1.73668 C7.31660479,1.78267138 7.28577559,1.84717876 7.27175488,1.88002975 C7.25773417,1.91288073 7.23225571,1.98007593 7.21513599,2.02935241 C7.1980164,2.07862889 7.17110667,2.17270216 7.15533656,2.23840413 C7.13956645,2.3041061 7.11795686,2.41225991 7.10731533,2.47874552 L7.08796742,2.59963476 L7.08814699,2.77739681 L7.08832657,2.95515887 L7.10676835,3.03280665 C7.11691132,3.07551293 7.13630473,3.14002032 7.14986473,3.1761564 C7.16342485,3.21229249 7.18849963,3.26604864 7.20558671,3.29561453 C7.22267367,3.32518042 7.2591652,3.37278329 7.28667905,3.40139948 C7.31419278,3.43001568 7.36400431,3.47343751 7.39737135,3.49789178 C7.43073838,3.52234606 7.49013972,3.55674044 7.52937438,3.57432587 L7.60070995,3.60629765 L7.70017273,3.62996947 C7.75487732,3.64298921 7.83743756,3.65841484 7.88363999,3.66425037 C7.92984242,3.6700847 8.02770503,3.67553319 8.10111251,3.67635864 L8.10111202,3.67635864 Z M8.32965888,1.99352094 C7.99374575,1.99352094 7.71890777,1.99115328 7.71890777,1.98826001 C7.71890777,1.98536673 7.73323995,1.94370571 7.75075703,1.89567996 C7.76827412,1.84765421 7.79903902,1.77617166 7.81912342,1.73682932 L7.85564031,1.66529779 L7.93590903,1.58670271 L8.01617775,1.50810762 L8.09504529,1.47097884 C8.13842244,1.45055747 8.19575308,1.42832273 8.22244671,1.42156738 C8.24914034,1.41481202 8.32558119,1.40585027 8.39231526,1.40165251 L8.51364995,1.39401794 L8.60682685,1.40580726 L8.70000364,1.41759659 L8.76771701,1.44811814 L8.8354305,1.4786385 L8.87257529,1.51806804 C8.89300502,1.53975447 8.9173507,1.5716916 8.92667697,1.58903811 L8.94363374,1.62057745 L8.95483159,1.69057752 L8.96602945,1.76057759 L8.95321966,1.87704927 L8.94040987,1.99352094 L8.32965888,1.99352094 Z M11.959629,3.67642315 L12.0931723,3.67788054 L12.2447655,3.66019237 C12.328143,3.6504637 12.4391291,3.63434164 12.4914025,3.62436569 C12.5436771,3.61438974 12.628308,3.59458597 12.6794712,3.58035851 C12.7306357,3.56612985 12.7769248,3.55074723 12.7823351,3.54617318 C12.7877455,3.54159912 12.8022037,3.48738425 12.8144634,3.42569488 C12.826723,3.3640055 12.8421665,3.28127956 12.8487817,3.24185837 C12.8553968,3.20243719 12.858816,3.16807267 12.8563809,3.16549477 C12.8539445,3.16291567 12.8449948,3.16624735 12.8364917,3.1728952 C12.8279885,3.17954304 12.7684545,3.20420995 12.7041944,3.22770736 L12.5873588,3.27043156 L12.420981,3.302168 L12.2546045,3.33390325 L12.1131465,3.32915121 L11.9716884,3.32439797 L11.8913406,3.29696441 L11.8109916,3.26953085 L11.7489046,3.21605781 L11.6868164,3.16258596 L11.6456318,3.08873695 L11.6044472,3.01488793 L11.5848322,2.91609248 L11.5652172,2.81729702 L11.5653386,2.68912203 L11.5654599,2.56094705 L11.5892961,2.40565148 L11.6131335,2.25035592 L11.6383541,2.16673523 C11.6522263,2.12074385 11.6679222,2.06698769 11.6732342,2.0472771 C11.678545,2.02756651 11.7007978,1.97112254 11.722683,1.92184607 C11.7445681,1.87256959 11.7836087,1.79641025 11.8094409,1.75260257 L11.8564059,1.67295267 L11.9140896,1.61410998 L11.9717721,1.5552673 L12.0328581,1.51796531 L12.0939452,1.48066331 L12.172393,1.45687442 C12.2155396,1.44379137 12.2917924,1.42680322 12.3418429,1.41912326 L12.4328439,1.40516219 L12.5663121,1.41175628 L12.6997802,1.41835037 L12.8575153,1.44943457 L13.0152504,1.48051877 L13.0794061,1.50407591 C13.1146915,1.51703353 13.145104,1.52763425 13.1469871,1.52763425 C13.1488715,1.52763425 13.1573345,1.48328542 13.1657928,1.42908129 C13.1742522,1.37487717 13.1893087,1.28569809 13.1992508,1.23090743 C13.209193,1.17611557 13.2149333,1.12892841 13.2120067,1.12604708 C13.2090789,1.12316575 13.1616662,1.11575337 13.1066446,1.109575 C13.0516217,1.10339663 12.9020779,1.09242679 12.7743246,1.08519718 L12.5420452,1.0720532 L12.3782433,1.08442906 L12.2144415,1.09680493 L12.0931068,1.12190786 L11.9717721,1.14701198 L11.8936314,1.17778201 C11.8506546,1.19470683 11.787705,1.2252463 11.7537446,1.24564856 C11.7197843,1.26605201 11.6765552,1.29349632 11.6576803,1.30663671 C11.6388043,1.3197771 11.5815404,1.37104495 11.5304257,1.42056632 L11.4374894,1.5106043 L11.3856128,1.58542809 C11.3570809,1.62658022 11.3077232,1.71239058 11.2759299,1.77611671 L11.2181236,1.89198153 L11.1738182,2.01741257 C11.1494494,2.08639964 11.1154271,2.19928757 11.098211,2.26827464 L11.0669102,2.39370567 L11.0555485,2.50719089 L11.0441879,2.62067611 L11.0443092,2.76999877 L11.0444306,2.91932143 L11.0558894,3.0061878 L11.0673483,3.09305536 L11.1036916,3.18241243 L11.1400338,3.27176949 L11.1820095,3.33637364 L11.2239841,3.4009766 L11.2907327,3.46565123 L11.3574813,3.53032586 L11.4280836,3.56706401 L11.4986858,3.60380216 L11.591451,3.6291691 C11.642471,3.64312061 11.7161818,3.65913278 11.7552528,3.6647509 C11.7943226,3.67037021 11.8863841,3.67562278 11.9598316,3.67642315 L11.959629,3.67642315 Z M13.9555105,3.67201037 L14.1193123,3.66738973 L14.2224468,3.64140161 L14.3255813,3.6154123 L14.3923154,3.5843508 C14.4290191,3.56726709 14.4890798,3.53354287 14.5257835,3.50940874 C14.5624872,3.48527462 14.6192998,3.43939314 14.6520322,3.40745004 C14.6847659,3.37550574 14.7333071,3.32100536 14.7599012,3.28633861 C14.7864953,3.25167066 14.8098571,3.22488337 14.8118155,3.22681143 C14.8137726,3.22873948 14.8076537,3.2839817 14.7982163,3.34957257 C14.7887801,3.41516345 14.7809516,3.50242641 14.7808217,3.54349015 L14.7805912,3.61815148 L15.003278,3.61815148 L15.2259647,3.61815148 L15.2327728,3.44792364 L15.2395797,3.27769581 L15.2713548,3.05669828 C15.2888318,2.93514963 15.3170592,2.75506651 15.3340824,2.65651355 C15.3511044,2.55796059 15.3806943,2.39131651 15.3998373,2.28619336 C15.4189803,2.1810702 15.4493055,2.01711392 15.4672278,1.92184607 L15.4998135,1.74863178 L15.5009055,1.59901287 L15.5019975,1.44939515 L15.4676343,1.38024561 L15.4332723,1.31109728 L15.3866749,1.26705665 L15.3400776,1.22301602 L15.2635748,1.18484915 L15.1870721,1.14668347 L15.0730551,1.12171553 L14.9590393,1.09674639 L14.8020602,1.08498574 L14.645081,1.07322389 L14.4428707,1.08554122 C14.3316553,1.09231569 14.1751408,1.10569261 14.0950599,1.11526718 L13.9494583,1.13267701 L13.8502272,1.13304733 L13.750996,1.13341765 L13.7365584,1.20210607 C13.7286171,1.2398847 13.7065499,1.32964076 13.687521,1.40156411 C13.6684909,1.47348627 13.6546854,1.53406946 13.6568415,1.53619223 C13.6589976,1.538315 13.7120682,1.52645639 13.7747764,1.50983976 C13.8374846,1.49322194 13.9706919,1.4658947 14.070793,1.44911203 L14.252795,1.41859765 L14.4165969,1.411951 L14.5803987,1.40530435 L14.6859089,1.42351335 L14.7914191,1.44172116 L14.8618442,1.47594352 L14.9322693,1.51016469 L14.971703,1.56803021 L15.0111368,1.62589572 L15.0105787,1.7171259 L15.0100205,1.80835607 L14.989117,1.90846915 L14.9682134,2.00858342 L14.5316331,2.01013398 L14.0950539,2.01168455 L13.9521677,2.05025639 C13.8735792,2.07147095 13.786558,2.09963679 13.7587857,2.11284647 C13.7310146,2.12605735 13.7032351,2.13686592 13.6970543,2.13686592 C13.6908735,2.13686592 13.6441232,2.16238934 13.5931651,2.19358344 L13.5005139,2.25030097 L13.4275457,2.32200093 C13.387413,2.36143645 13.3361406,2.42057897 13.3136063,2.45342996 C13.2910733,2.48628094 13.2544617,2.55490844 13.232249,2.60593498 L13.1918603,2.69871094 L13.173324,2.80304089 L13.1547877,2.90737084 L13.1547877,3.01681838 L13.1547877,3.12626711 L13.1724965,3.21739215 L13.1902065,3.3085184 L13.2230615,3.3679524 C13.2411331,3.40064092 13.2742951,3.44852332 13.2967566,3.47435973 L13.3375954,3.52133305 L13.4101681,3.56473577 L13.4827396,3.60813849 L13.5658078,3.63128231 C13.6114963,3.64401177 13.6810332,3.65942187 13.720336,3.66552618 L13.7917948,3.67662623 L13.9555966,3.67200559 L13.9555105,3.67201037 Z M14.1071788,3.33797677 L14.0101111,3.34295937 L13.9458219,3.32683969 C13.9104626,3.31797351 13.8568096,3.2982008 13.8265924,3.2829006 L13.771652,3.25508 L13.7416666,3.21999634 C13.7251748,3.20069908 13.6999809,3.16278307 13.6856804,3.13573655 L13.6596808,3.08656281 L13.6545823,2.97172771 L13.649485,2.85689381 L13.6700525,2.78723658 C13.6813657,2.74892516 13.7079052,2.68244671 13.7290308,2.6395051 L13.7674417,2.56143085 L13.840996,2.48951348 L13.9145503,2.4175973 L13.9926644,2.38056886 L14.0707784,2.34354042 L14.1678462,2.3208398 L14.2649139,2.29813917 L14.5682506,2.29813917 L14.8715874,2.29813917 L14.8907789,2.30595173 L14.9099692,2.31376429 L14.8938183,2.40749114 C14.8849342,2.4590409 14.8637479,2.55228633 14.8467356,2.61470321 C14.8297232,2.67712008 14.7996905,2.76887348 14.7799954,2.81860031 C14.7603004,2.86832714 14.7441859,2.91229012 14.7441859,2.91629675 C14.7441859,2.92030338 14.7242458,2.95653742 14.6998745,2.99681631 L14.6555643,3.07005131 L14.5828035,3.14102257 C14.5427861,3.18005671 14.5056371,3.21199384 14.5002523,3.21199384 C14.4948674,3.21199384 14.4703372,3.22543885 14.4457427,3.24187151 L14.4010235,3.27174799 L14.3026357,3.30237108 L14.2042466,3.33299417 L14.1071788,3.33797677 Z M18.0566228,3.67628099 L18.1718907,3.67771091 L18.281092,3.66026166 C18.3411526,3.65066439 18.4175935,3.63520412 18.4509605,3.6259067 C18.4843276,3.61660808 18.5443882,3.59247515 18.5844287,3.57227836 L18.6572295,3.53555693 L18.7198576,3.48128471 L18.7824857,3.4270125 L18.8484444,3.34040775 C18.8847223,3.29277621 18.9175725,3.24574076 18.9214467,3.23588547 L18.9284889,3.21796675 L18.922364,3.27769581 C18.9189945,3.3105468 18.9114402,3.36430295 18.9055761,3.39715394 C18.8997132,3.43000492 18.8913059,3.49316841 18.8868942,3.53751724 L18.8788715,3.61815148 L19.1168877,3.61815148 L19.3549039,3.61815148 L19.3549039,3.53751724 L19.3549039,3.456883 L19.391166,3.15226478 C19.411111,2.98472475 19.4406038,2.7616367 19.4567061,2.65651355 C19.4728085,2.5513904 19.4976627,2.40087316 19.5119389,2.32203079 C19.5262139,2.24318843 19.5514964,2.10073461 19.5681205,2.00546676 C19.5847433,1.9101989 19.6147725,1.74355481 19.6348497,1.63514656 C19.654927,1.52673831 19.68706,1.35471861 19.7062552,1.25288055 C19.7254515,1.1510425 19.7552865,0.992461836 19.7725549,0.900479078 C19.7898244,0.80849632 19.8207636,0.647227848 19.841308,0.542104696 C19.8618536,0.436981544 19.8918657,0.289152111 19.9080008,0.213594845 C19.9241371,0.13803758 19.9373165,0.0721862871 19.9372885,0.0672586394 L19.9372886,0.0582992798 L19.6776105,0.0582992798 L19.4179324,0.0582992798 L19.4102629,0.132960609 C19.4060453,0.174024341 19.386167,0.309758638 19.3660873,0.434592381 C19.3460089,0.559426124 19.3132764,0.758323906 19.2933496,0.876587452 C19.2734228,0.994850998 19.2542119,1.109532 19.2506592,1.13143345 L19.2442006,1.17125601 L19.2237071,1.16267653 C19.2124364,1.15795674 19.1513431,1.14127321 19.0879458,1.12560031 L18.9726778,1.09710477 L18.8149427,1.08501083 L18.6572076,1.07291569 L18.5237395,1.08516015 L18.3902713,1.09740461 L18.2689366,1.12760004 L18.147602,1.15779547 L18.032334,1.21314639 L17.9170661,1.26849731 L17.8321318,1.33040529 L17.7471975,1.39231447 L17.6738471,1.46974245 C17.6335045,1.51232808 17.5752238,1.58276537 17.5443344,1.62626963 L17.488171,1.70537002 L17.4222183,1.84048553 C17.3859453,1.91479923 17.3418026,2.01323153 17.3241241,2.05922291 C17.3064456,2.10521429 17.2752675,2.20716464 17.2548384,2.28577884 L17.2176966,2.42871287 L17.1993969,2.61428869 L17.1810984,2.7998633 L17.1948396,2.94918596 L17.2085795,3.09850862 L17.224825,3.15226478 C17.2337589,3.18183067 17.2525985,3.23450692 17.2666891,3.26932419 L17.2923089,3.33262744 L17.3390179,3.39487707 L17.3857281,3.45712789 L17.4390608,3.5001364 L17.4923947,3.54314491 L17.5651955,3.57873388 C17.6052359,3.59830709 17.6724044,3.62360354 17.714459,3.63494729 C17.7565136,3.64629103 17.8247643,3.65990926 17.8661273,3.66521081 C17.9074903,3.67051236 17.9932036,3.67549377 18.056601,3.67628099 L18.0566228,3.67628099 Z M18.2635057,3.33735678 L18.1718907,3.34214706 L18.1100549,3.33118916 C18.0760448,3.3251625 18.0216226,3.30900698 17.989117,3.29528841 L17.9300149,3.27034555 L17.8802835,3.23022554 L17.830552,3.19010433 L17.7935947,3.12041485 L17.7566361,3.05072537 L17.7397949,2.97307759 L17.7229524,2.8954298 L17.7243805,2.74013424 L17.7258074,2.58483867 L17.7453666,2.44746183 L17.7649257,2.31008498 L17.7953249,2.21451848 C17.8120436,2.1619569 17.8258042,2.11236625 17.8259049,2.10431836 C17.8260262,2.09627046 17.8425132,2.05326554 17.8625892,2.00875185 C17.8826665,1.96423817 17.9162082,1.89556528 17.9371288,1.8561441 C17.9580481,1.81672291 17.9971506,1.75526768 18.0240226,1.71957718 C18.0508934,1.68388667 18.0987648,1.63013051 18.1304016,1.60011905 C18.1620384,1.57010758 18.2123656,1.53074374 18.2422382,1.51264345 L18.2965536,1.47973512 L18.3919567,1.44723295 L18.4873609,1.41473079 L18.6875631,1.41461133 L18.8877654,1.41461133 L19.0030333,1.44609571 C19.0664307,1.46341117 19.1337447,1.48349327 19.1526184,1.49072169 L19.1869367,1.50386327 L19.1802341,1.53665453 C19.176548,1.55468912 19.1621274,1.63395198 19.1481884,1.71279434 C19.1342495,1.79163671 19.1067842,1.94215395 19.0871522,2.0472771 C19.0675203,2.15240025 19.0373589,2.31098092 19.0201245,2.39967858 C19.0028914,2.48837624 18.9779292,2.60126417 18.9646527,2.65054064 C18.9513763,2.69981712 18.9326471,2.76806952 18.9230301,2.80221304 C18.9134143,2.83635657 18.890516,2.89548834 18.872146,2.93361698 C18.8537759,2.97174563 18.8216307,3.02713239 18.8007126,3.05669828 C18.7797957,3.08626416 18.7444145,3.12722038 18.7220889,3.14771103 C18.6997633,3.16820288 18.6514661,3.2046173 18.6147623,3.22863316 L18.5480283,3.2722975 L18.4515745,3.30243201 L18.3551207,3.33256771 L18.2635057,3.33735798 L18.2635057,3.33735678 Z M0.406035224,3.61815148 L0.700846957,3.61815148 L0.721999232,3.48973399 C0.733631588,3.41910437 0.756352721,3.28337007 0.772489021,3.18810222 C0.78862532,3.09283436 0.818658081,2.91543904 0.839229163,2.7938904 C0.859799032,2.67234175 0.890636242,2.49225862 0.907755352,2.39370567 C0.924874463,2.29515271 0.952074059,2.14227379 0.968198225,2.05397392 C0.984323604,1.96567525 1.00057639,1.89041663 1.00431713,1.88673254 L1.01111794,1.88003572 L1.80383747,1.88003572 L2.596557,1.88003572 L2.60535861,1.88869883 L2.61416145,1.89736193 L2.60041544,1.96634661 C2.59285507,2.0042877 2.57049188,2.12134114 2.55072039,2.22646429 C2.53094769,2.33158744 2.49770806,2.50898276 2.47685426,2.62067611 C2.45600047,2.73236946 2.42584638,2.89095012 2.40984597,2.97307759 C2.39384435,3.05520505 2.36146377,3.22722475 2.33788965,3.3553436 C2.31431432,3.48346244 2.29507549,3.59500646 2.29513616,3.60321921 L2.2952575,3.61815148 L2.59128136,3.61815148 L2.88730644,3.61815148 L2.90040452,3.54349015 C2.90760938,3.50242641 2.91920048,3.4285117 2.92616388,3.37923522 C2.93312606,3.32995874 2.9499115,3.22513424 2.96346337,3.14629187 C2.97701646,3.06744951 3.00409472,2.91155665 3.02363688,2.7998633 C3.04317905,2.68816995 3.07588966,2.4973356 3.09632728,2.37578695 C3.11676368,2.25423831 3.14708242,2.07684299 3.16370127,1.98157513 C3.18032,1.88630727 3.2099327,1.7250388 3.22950738,1.62320075 C3.24908194,1.52136269 3.28168651,1.34934299 3.30196202,1.24093474 C3.32223741,1.13252649 3.3526127,0.96857021 3.36946269,0.876587452 C3.3863128,0.784604694 3.41703596,0.617960606 3.43773662,0.506267257 C3.45843729,0.394573908 3.48457667,0.264215227 3.49582403,0.216581299 L3.5162739,0.129974156 L3.21654665,0.129974156 L2.91681989,0.129974156 L2.90866742,0.186716767 C2.9041841,0.217925202 2.88970402,0.305278958 2.87649067,0.380836224 C2.86327611,0.456393489 2.83924092,0.590783883 2.82307672,0.679481542 C2.80691251,0.768179202 2.77737358,0.937511097 2.75743465,1.05577464 C2.73749451,1.17403819 2.7120846,1.33059045 2.7009667,1.40366896 L2.68075113,1.53653985 L2.24076366,1.54530688 L1.80077498,1.55407391 L1.43224272,1.54546337 C1.22954949,1.54072805 1.0625869,1.53591269 1.06121339,1.53476231 C1.05983988,1.53361551 1.06674383,1.4871905 1.07655495,1.43160066 C1.08636486,1.37601082 1.10492543,1.27945999 1.11780025,1.21704312 C1.13067507,1.15462624 1.15508154,1.03098708 1.17203685,0.942289422 C1.18899095,0.853591763 1.20819702,0.74339164 1.21471511,0.697400261 C1.22123321,0.651408882 1.23489429,0.574806358 1.24507305,0.52717243 C1.25525061,0.479538501 1.27456709,0.379202037 1.28799762,0.304203835 C1.30142816,0.229204439 1.31573716,0.159321434 1.3197958,0.148908269 L1.32717538,0.129974156 L1.02986779,0.129974156 L0.732560203,0.129974156 L0.713517938,0.234500018 C0.703043115,0.291989241 0.689078706,0.373967381 0.682484166,0.416673662 C0.675889626,0.459379942 0.653744833,0.596458144 0.633273245,0.721291887 C0.612802871,0.84612563 0.582582041,1.03158437 0.566118138,1.13342243 C0.549653021,1.23526048 0.519668795,1.42071922 0.499487197,1.54555297 C0.479305599,1.67038671 0.446005295,1.86390887 0.4254876,1.97560222 C0.404969905,2.08729557 0.375264748,2.24587624 0.359476679,2.3280037 C0.343687397,2.41013116 0.313600035,2.56602402 0.292613988,2.67443227 C0.271629155,2.78284052 0.241013987,2.93604557 0.224581631,3.01488793 C0.208148062,3.0937303 0.189981833,3.18511576 0.184209942,3.21796675 C0.178439265,3.25081773 0.159657869,3.34556595 0.142475664,3.42851887 C0.125292247,3.51147178 0.111233197,3.58807431 0.111233197,3.5987467 L0.111233197,3.61815148 L0.40604493,3.61815148 L0.406035224,3.61815148 Z M3.6696828,3.61815148 L3.93066933,3.61815148 L3.93803423,3.59925559 C3.94208498,3.58886273 3.94539912,3.56160239 3.94539912,3.53867598 C3.94539912,3.51574958 3.96181061,3.39658174 3.98186905,3.27385882 C4.00192749,3.1511347 4.03506982,2.95127648 4.0555186,2.82972783 C4.07596737,2.70817919 4.10616636,2.53078387 4.12262747,2.43551601 C4.13908859,2.34024816 4.16836313,2.18166749 4.18768216,2.08311454 C4.20700119,1.98456158 4.23665805,1.83135654 4.2535863,1.74265888 C4.27051468,1.65396122 4.3038043,1.48521228 4.32756345,1.3676607 C4.3513226,1.25010912 4.37372499,1.14921121 4.37734671,1.14344138 L4.38393166,1.13295176 L4.1200058,1.13617355 L3.85607993,1.13939533 L3.83409918,1.2946909 C3.82200988,1.38010346 3.79557869,1.54943535 3.77536324,1.670984 C3.75514791,1.79253264 3.72457012,1.97799139 3.70741291,2.08311454 C3.69025558,2.18823769 3.66033444,2.35756959 3.64092138,2.45940764 C3.62150844,2.56124569 3.59175924,2.71713855 3.57481193,2.80583621 C3.55786476,2.89453387 3.52745513,3.05042672 3.50723495,3.15226478 C3.48701476,3.25410283 3.45988239,3.38849323 3.44694071,3.4509101 C3.43399891,3.51332697 3.42009966,3.57649045 3.41605327,3.5912734 L3.40869626,3.61815148 L3.6696828,3.61815148 Z M9.77371379,3.61815148 L10.0327662,3.61815148 L10.0405474,3.5102342 C10.0448257,3.45088023 10.0594866,3.33127278 10.0731246,3.24443986 C10.0867638,3.15760695 10.1146878,2.98442611 10.1351788,2.85959237 C10.155671,2.73475862 10.1937543,2.52697555 10.2198085,2.39785326 C10.2458627,2.26872977 10.2753155,2.14038396 10.2852589,2.11263742 C10.295201,2.08489208 10.3033365,2.05482685 10.3033365,2.04582568 C10.3033365,2.03682332 10.3228132,1.98777501 10.346619,1.9368285 C10.3704237,1.885882 10.4147873,1.80786868 10.4452047,1.76346729 L10.5005078,1.6827351 L10.5745377,1.61525798 L10.6485665,1.54777966 L10.7398538,1.50485597 L10.8311424,1.46193228 L10.9706773,1.46264903 L11.1102122,1.46336577 L11.1788136,1.48354942 C11.216545,1.49465186 11.2506704,1.50373426 11.2546478,1.50373426 C11.2586263,1.50373426 11.2618805,1.49103467 11.2618805,1.47551228 C11.2618805,1.45999108 11.2755307,1.38130521 11.2922142,1.30065544 C11.3088977,1.22000687 11.3225479,1.15061842 11.3225479,1.14646009 C11.3225479,1.14230175 11.2829624,1.12704814 11.2345802,1.11256384 C11.186198,1.09807954 11.1193123,1.08290836 11.0859452,1.07885156 L11.0252779,1.07147502 L10.9464103,1.08520913 C10.9030332,1.09276246 10.8385341,1.10943762 10.8030789,1.12226504 C10.7676249,1.13509245 10.7090846,1.16418528 10.6729899,1.18691816 C10.6368953,1.20964985 10.5807489,1.25394851 10.5482203,1.28535763 C10.5156916,1.31676676 10.4609794,1.3800951 10.4266368,1.42608648 C10.392293,1.47207786 10.356378,1.5204584 10.3468229,1.53359879 L10.3294514,1.55749042 L10.339999,1.50970717 C10.3458012,1.48342638 10.3619594,1.39741653 10.375908,1.31857416 C10.3898566,1.2397318 10.4041729,1.16581708 10.4077208,1.15431924 L10.4141733,1.13341406 L10.1828196,1.13341406 L9.95146594,1.13341406 L9.95146594,1.16220945 C9.95146594,1.1780472 9.93781118,1.27346438 9.92112208,1.37424762 C9.90443298,1.47503205 9.87691282,1.64350027 9.85996613,1.74862342 C9.84301943,1.85374657 9.8129425,2.03651751 9.79312843,2.15478105 C9.77331448,2.2730446 9.74322906,2.44237649 9.72627205,2.53107415 C9.70931504,2.61977181 9.67920475,2.77566467 9.65936022,2.87750272 C9.63951569,2.97934078 9.60656725,3.14598486 9.58614129,3.24782292 C9.56571544,3.34966097 9.54127633,3.46992783 9.53183225,3.515083 C9.52238804,3.56023818 9.51466108,3.6018992 9.51466108,3.60766305 L9.51466108,3.61815148 L9.77371379,3.61814311 L9.77371379,3.61815148 Z M15.9231926,3.61815148 L16.1880687,3.61815148 L16.1880687,3.53834508 L16.1880687,3.4585375 L16.2185916,3.26060494 C16.2353807,3.15174036 16.2630766,2.97934914 16.2801399,2.87751109 C16.2972031,2.77567303 16.3184719,2.64665825 16.3274021,2.59081158 C16.3363336,2.53496491 16.3600011,2.41401355 16.3799983,2.32203079 C16.3999955,2.23004804 16.4249722,2.13059914 16.4355041,2.10103326 C16.4460347,2.07146737 16.4547308,2.04044768 16.4548278,2.03210114 C16.4549492,2.0237546 16.4775041,1.97007848 16.5050034,1.9128222 L16.555003,1.80871922 L16.6209641,1.72243342 L16.6869253,1.63614762 L16.7591146,1.58271997 C16.7988189,1.55333566 16.862664,1.51433975 16.9009912,1.49606385 L16.9706774,1.46283419 L17.1223457,1.46386153 L17.2740141,1.46488886 L17.3337192,1.48376564 L17.3934244,1.50264122 L17.4034867,1.49651779 L17.413549,1.49039556 L17.4140586,1.45227648 C17.4143376,1.43131157 17.4273241,1.35330183 17.4429192,1.27892123 L17.4712752,1.14368388 L17.4393799,1.13139044 C17.4218386,1.12462911 17.3801856,1.1106334 17.3468185,1.10028833 L17.2861512,1.08147964 L17.17695,1.0817544 L17.0677488,1.08202915 L16.9787546,1.11285532 L16.8897605,1.1436803 L16.8229391,1.18334995 L16.7561176,1.22301961 L16.669242,1.3126132 L16.5823676,1.4022068 L16.5356913,1.47170873 C16.5100193,1.50993414 16.4874171,1.53950002 16.4854648,1.5374107 C16.4835113,1.53532018 16.4974648,1.45566431 16.5164719,1.36039645 C16.535479,1.2651286 16.5512658,1.17508703 16.5515534,1.16030409 L16.5520751,1.1334272 L16.327606,1.1334272 L16.1031368,1.1334272 L16.1031368,1.14103908 C16.1031368,1.14522489 16.0919461,1.22182741 16.0782681,1.31126691 C16.0645912,1.40070521 16.0371283,1.57333176 16.0172416,1.6948804 C15.9973536,1.81642905 15.9647218,2.01263902 15.9447271,2.13090257 C15.9247312,2.24916611 15.894588,2.41849801 15.8777419,2.50719567 C15.8608958,2.59589333 15.8309746,2.75178618 15.8112517,2.85362424 C15.7915287,2.95546229 15.7591214,3.11941857 15.7392359,3.21797153 C15.7193504,3.31652448 15.6930086,3.44688316 15.6806992,3.50765749 L15.6583178,3.61815625 L15.9231951,3.61815625 L15.9231926,3.61815148 Z M4.18287366,0.70311036 L4.25654638,0.703373168 L4.31510626,0.683728279 L4.37366602,0.664083389 L4.42549425,0.612324572 L4.47732236,0.56056456 L4.50462182,0.491606161 L4.53192127,0.422646568 L4.5328968,0.32110716 L4.53387233,0.219567752 L4.5096054,0.179918405 L4.48533846,0.140270252 L4.4430896,0.114516275 L4.40084074,0.0887622969 L4.30962145,0.0887622969 L4.21840216,0.0887611023 L4.15629991,0.116134932 L4.09419767,0.143508762 L4.05814865,0.181538257 L4.0220995,0.219567752 L3.99378945,0.285269722 L3.96547928,0.350971692 L3.96012782,0.453313859 L3.95477635,0.555656026 L3.98113328,0.606521296 L4.00749008,0.657385372 L4.05834557,0.680117059 L4.10920094,0.702848746 L4.18287366,0.703111554 L4.18287366,0.70311036 Z\",\r\n id: \"path2997\"\r\n })\r\n )\r\n )\r\n);\r\n\r\nexports.default = hipercard;\r\n","/**\r\n * Authentication library\r\n * Create singleton instance\r\n */\r\n\r\nconst LOCAL_STORAGE_KEY = 'ttg-app-auth';\r\n\r\nclass Auth {\r\n\r\n constructor() {\r\n this.useLocalStorage = (typeof localStorage !== 'undefined');\r\n this.subscribers = [];\r\n this.load();\r\n }\r\n\r\n load() {\r\n if (this.useLocalStorage) {\r\n let tokenObject = localStorage.getItem(LOCAL_STORAGE_KEY);\r\n if (!tokenObject) return;\r\n\r\n let tokenObjectParsed = JSON.parse(tokenObject);\r\n this._populateModel(tokenObjectParsed.token, tokenObjectParsed.refreshToken, tokenObjectParsed.expiresIn);\r\n }\r\n }\r\n\r\n isAuthenticated() {\r\n // Check storage if token still in the local store\r\n if (this.useLocalStorage) {\r\n let tokenObject = localStorage.getItem(LOCAL_STORAGE_KEY);\r\n if (!tokenObject) {\r\n // Reset token variable if token in local store is manually removed\r\n this._populateModel(null, null, null);\r\n return;\r\n }\r\n }\r\n return !!this.token;\r\n }\r\n\r\n setToken(token, refreshToken, expiresIn) {\r\n this._populateModel(token, refreshToken, expiresIn);\r\n\r\n if (this.useLocalStorage) {\r\n localStorage.setItem(LOCAL_STORAGE_KEY, JSON.stringify({ token, refreshToken, expiresIn }));\r\n }\r\n }\r\n\r\n removeToken() {\r\n this._populateModel(null, null, null);\r\n\r\n if (this.useLocalStorage) {\r\n localStorage.removeItem(LOCAL_STORAGE_KEY);\r\n }\r\n }\r\n\r\n getToken() {\r\n const tokenObj = this._fetchFullTokenObject();\r\n if (!tokenObj) \r\n return tokenObj;\r\n\r\n return tokenObj.token;\r\n }\r\n\r\n getRefreshToken() {\r\n const tokenObj = this._fetchFullTokenObject();\r\n if (!tokenObj) \r\n return tokenObj;\r\n\r\n return tokenObj.refreshToken;\r\n }\r\n\r\n subscribe(cb) {\r\n this.subscribers.push(cb);\r\n }\r\n\r\n notifySubscribers() {\r\n this.subscribers.forEach((cb) => cb(this.isAuthenticated()));\r\n }\r\n\r\n // Refresh token payload builder\r\n getRefreshTokenPayload(clientId) {\r\n const refreshTokenPayload = {\r\n ClientId: clientId,\r\n GrantType: 'refresh_token',\r\n RefreshToken: this.getRefreshToken()\r\n };\r\n\r\n return refreshTokenPayload;\r\n }\r\n\r\n _fetchFullTokenObject() {\r\n if (!this.useLocalStorage)\r\n return;\r\n\r\n let tokenObject = localStorage.getItem(LOCAL_STORAGE_KEY);\r\n if (!tokenObject) {\r\n // Reset token variable if token in local store is manually removed\r\n this._populateModel(null, null, null);\r\n return;\r\n }\r\n\r\n return JSON.parse(tokenObject);\r\n }\r\n\r\n _populateModel(token, refresh, expiresIn) {\r\n this.token = token;\r\n this.refreshToken = refresh;\r\n this.expiresIn = expiresIn;\r\n }\r\n}\r\n\r\nexport default Auth = new Auth();\r\n","/**\r\n * Application wide settings\r\n * 7.04.2019\r\n */\r\n\r\nconst Config = {\r\n /** URLs Api configurations **/\r\n // apiUrl: \"https://localhost:44313/api\",\r\n //apiUrl: \"https://api.foodsafetyeducation.com.au/api\",\r\n apiUrl: process.env.REACT_APP_API_URL,\r\n\r\n /** Keys */\r\n\r\n // Auth Urls\r\n authLoginUrl: \"/v1/auth/login\", // BE endpoint\r\n authTokenUrl: \"/v1/auth/token\", // BE endpoint\r\n maintenancePageUrl: \"/pages/maintenance\",\r\n forbiddenPageUrl: \"/pages/Error-403\",\r\n\r\n // Redirects\r\n loginPageUrlRedirect: \"/login\",\r\n logoutRedirectUrl: \"/\",\r\n\r\n // Local sign-in\r\n clientId: \"CB11B32330884911B13D4961D326EFBA\",\r\n authStorageKey: \"ident\",\r\n\r\n // Google sign-in\r\n googleClientId:\r\n \"287026400610-gettkeic6lrhuu63sgie5v8dmqenhn92.apps.googleusercontent.com\",\r\n\r\n /** Feature or Functionality Settings **/\r\n enableGoogleLogin: false,\r\n\r\n // Loqate\r\n loqateUsername: process.env.REACT_APP_LOQATE_USERNAME,\r\n loqatePassword: process.env.REACT_APP_LOQATE_PASSWORD,\r\n\r\n crypto_key: process.env.REACT_APP_CRYPTO_KEY,\r\n crypto_vector: process.env.REACT_APP_CRYPTO_VECTOR,\r\n};\r\n\r\nexport default Config;\r\n","/**\r\n * Higher Order component (HOC) for private route\r\n * Note: This is well integrated with auth security\r\n * - 4.18.2019 rcnet\r\n * - 6.1.2019 rcnet - Added claims authorization hooks\r\n * - 7.4.2019 rcnet - Added login page redirect config variable for extensibility points\r\n */\r\nimport React from \"react\";\r\nimport { Redirect, Route } from \"react-router-dom\";\r\nimport isFunction from \"lodash/isFunction\";\r\nimport isNil from \"lodash/isNil\";\r\nimport Auth from \"../../../coreLib/auth/auth\";\r\nimport Config from \"../../../config\";\r\n\r\n/**\r\n * This component will check for any claim based rules attached in the route.\r\n * @param {*} props\r\n */\r\nconst CheckAndRenderAuthenticatedComponent = (props) => {\r\n let noAccess = false;\r\n if (\r\n !isNil(props.claimsAuthorisationHook) &&\r\n isFunction(props.claimsAuthorisationHook)\r\n ) {\r\n noAccess = !props.claimsAuthorisationHook();\r\n }\r\n\r\n if (noAccess) {\r\n // send to Forbidden page\r\n return (\r\n \r\n );\r\n }\r\n\r\n return <>{props.children};\r\n};\r\n\r\nconst PrivateRoute = ({\r\n component,\r\n path,\r\n claimsAuthorisationHook,\r\n ...rest\r\n}) => (\r\n \r\n Auth.isAuthenticated() ? (\r\n \r\n {React.createElement(component, props)}\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n);\r\n\r\nexport default PrivateRoute;\r\n","/**\r\n * System-wide Action types\r\n */\r\nexport const ActionTypes = {\r\n // Notifications\r\n SYS_ADD_NOTIFICATION: \"SYS_ADD_NOTIFICATION\",\r\n SYS_ADD_ERROR_NOTIFICATION: \"SYS_ADD_NOTIFICATION\",\r\n\r\n // Login\r\n SYS_LOGIN_REQUEST: \"SYS_LOGIN_REQUEST\",\r\n SYS_LOGIN_SUCCESS: \"SYS_LOGIN_SUCCESS\",\r\n SYS_LOGIN_FAILURE: \"SYS_LOGIN_FAILURE\",\r\n SYS_LOGOUT_REQUEST: \"SYS_LOGOUT_REQUEST\",\r\n SYS_LOGOUT_SUCCESS: \"SYS_LOGOUT_SUCCESS\",\r\n SYS_LOGOUT_FAILURE: \"SYS_LOGOUT_FAILURE\",\r\n SYS_LOGIN_VALIDATION_ERROR: \"SYS_LOGIN_VALIDATION_ERROR\",\r\n SYS_LOGIN_FORM_INPUT_CHANGE: \"SYS_LOGIN_FORM_INPUT_CHANGE\",\r\n SYS_LOGIN_USER_LOAD_IDENTITY_STATE:\r\n \"SYS_LOGIN_USER_LOAD_IDENTITY_STATE\",\r\n SYS_LOGIN_IMPERSONATION_REQUEST: \"SYS_LOGIN_IMPERSONATION_REQUEST\",\r\n SYS_LOGIN_IMPERSONATION_SUCCESS: \"SYS_LOGIN_IMPERSONATION_SUCCESS\",\r\n SYS_LOGIN_IMPERSONATION_FAILURE: \"SYS_LOGIN_IMPERSONATION_FAILURE\",\r\n SYS_LOGIN_IMPERSONATION_INIT: \"SYS_LOGIN_IMPERSONATION_INIT\",\r\n\r\n // Error Handler\r\n SYS_HANDLE_ERROR: \"HANDLE_ERROR\",\r\n SYS_HANDLE_ERROR_SHOW_FORM: \"SYS_HANDLE_ERROR_SHOW_FORM\",\r\n SYS_HANDLE_ERROR_HIDE_FORM: \"SYS_HANDLE_ERROR_HIDE_FORM\",\r\n };\r\n","import { ActionTypes } from \"./system-action-types\";\r\n\r\nconst initialState = {\r\n message: \"\",\r\n level: \"success\",\r\n position: \"br\"\r\n};\r\n\r\nexport default function NotificationReducer(state = initialState, action) {\r\n switch (action.type) {\r\n case ActionTypes.SYS_ADD_NOTIFICATION:\r\n return Object.assign({}, state, {\r\n message: action.message,\r\n level: action.level ? action.level : initialState.level\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\n/**\r\n * Selectors\r\n */\r\n\r\nexport const selectNotificationData = state => state.system.notification;\r\n","import { ActionTypes } from \"./system-action-types\";\r\n\r\nconst initialState = {\r\n loggedIn: false,\r\n loggedInUser: {\r\n firstName: \"\",\r\n lastName: \"\",\r\n email: \"\",\r\n id: \"\",\r\n hasCourses: false,\r\n userType: 0,\r\n },\r\n fields: {\r\n username: \"\",\r\n password: \"\",\r\n },\r\n isLoading: false,\r\n urlRedirectionViaImpersonation: \"\",\r\n};\r\n\r\nexport default function LoginReducer(state = initialState, action) {\r\n switch (action.type) {\r\n // ----------------------------\r\n // Login Action Types\r\n // ----------------------------\r\n\r\n case ActionTypes.SYS_LOGIN_REQUEST:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n };\r\n\r\n case ActionTypes.SYS_LOGIN_SUCCESS:\r\n return {\r\n ...state,\r\n loggedIn: true,\r\n loggedInUser: {\r\n ...state.loggedInUser,\r\n firstName: action.payload.firstName,\r\n lastName: action.payload.lastName,\r\n id: action.payload.id,\r\n email: action.payload.email,\r\n userType: action.payload.userType,\r\n },\r\n fields: {\r\n ...state.fields,\r\n username: initialState.fields.username,\r\n password: initialState.fields.password,\r\n },\r\n isLoading: false,\r\n };\r\n\r\n case ActionTypes.SYS_LOGIN_FAILURE:\r\n return {\r\n ...state,\r\n loggedIn: false,\r\n fields: {\r\n ...state.fields,\r\n password: initialState.fields.password,\r\n },\r\n isLoading: false,\r\n };\r\n\r\n case ActionTypes.SYS_LOGOUT_REQUEST:\r\n return {\r\n ...state,\r\n };\r\n\r\n case ActionTypes.SYS_LOGOUT_SUCCESS:\r\n return {\r\n ...state,\r\n loggedIn: false,\r\n loggedInUser: {\r\n ...state.loggedInUser,\r\n firstName: initialState.loggedInUser.firstName,\r\n lastName: initialState.loggedInUser.lastName,\r\n },\r\n fields: {\r\n ...state.fields,\r\n username: initialState.fields.username,\r\n password: initialState.fields.password,\r\n },\r\n };\r\n\r\n case ActionTypes.SYS_LOGOUT_FAILURE:\r\n return {\r\n ...state,\r\n };\r\n\r\n case ActionTypes.SYS_LOGIN_VALIDATION_ERROR:\r\n return {\r\n ...state,\r\n };\r\n\r\n case ActionTypes.SYS_LOGIN_USER_LOAD_IDENTITY_STATE:\r\n return {\r\n ...state,\r\n loggedIn: true,\r\n loggedInUser: {\r\n ...state.loggedInUser,\r\n firstName: action.payload.firstName,\r\n lastName: action.payload.lastName,\r\n id: action.payload.id,\r\n email: action.payload.email,\r\n hasCourses: action.payload.hasCourses,\r\n userType: action.payload.userType,\r\n },\r\n };\r\n\r\n case ActionTypes.SYS_LOGIN_IMPERSONATION_INIT:\r\n return {\r\n ...state,\r\n urlRedirectionViaImpersonation: \"\",\r\n };\r\n\r\n case ActionTypes.SYS_LOGIN_IMPERSONATION_REQUEST:\r\n return {\r\n ...state,\r\n };\r\n\r\n case ActionTypes.SYS_LOGIN_IMPERSONATION_SUCCESS:\r\n return {\r\n ...state,\r\n loggedIn: true,\r\n loggedInUser: {\r\n ...state.loggedInUser,\r\n firstName: action.payload.firstName,\r\n lastName: action.payload.lastName,\r\n id: action.payload.id,\r\n email: action.payload.email,\r\n userType: action.payload.userType,\r\n },\r\n urlRedirectionViaImpersonation: action.payload.redirectToUrl,\r\n isLoading: false,\r\n };\r\n\r\n case ActionTypes.SYS_LOGIN_IMPERSONATION_FAILURE:\r\n return {\r\n ...state,\r\n loggedIn: false,\r\n isLoading: false,\r\n };\r\n\r\n // ----------------------------\r\n // Form Action Types\r\n // ----------------------------\r\n\r\n case ActionTypes.SYS_LOGIN_FORM_INPUT_CHANGE:\r\n let stateResult = Object.assign({}, state, {\r\n fields: {\r\n ...state.fields,\r\n [action.payload.name]: action.payload.value,\r\n },\r\n fieldErrors: {\r\n ...state.fieldErrors,\r\n [action.payload.name]: action.payload.error,\r\n },\r\n });\r\n\r\n return stateResult;\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\n/**\r\n * Selectors\r\n */\r\n\r\nexport const selectLoginData = (state) => state.system.login;\r\n","import { ActionTypes } from './system-action-types';\r\n\r\nconst initialState = {\r\n title: '',\r\n message: '',\r\n lastErrorOccured: null,\r\n isModalOpen: false,\r\n isModelStateError: false,\r\n status: null\r\n};\r\n\r\nexport default function ErrorNotificationReducer(state = initialState, action) {\r\n switch (action.type) {\r\n case ActionTypes.SYS_HANDLE_ERROR_SHOW_FORM:\r\n return {\r\n ...state,\r\n title: 'Application Error',\r\n message: action.payload.message,\r\n lastErrorOccured: action.payload.error,\r\n isModelStateError: action.payload.isModelState,\r\n isModalOpen: true,\r\n status: action.payload.status,\r\n };\r\n\r\n case ActionTypes.SYS_HANDLE_ERROR_HIDE_FORM: \r\n return {\r\n ...state,\r\n isModalOpen: false,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\n/**\r\n * Selectors\r\n */\r\n\r\nexport const selectErrorNotification = state => state.system.errorNotification;","/**\r\n * System Reducers for UserType module\r\n */\r\nimport { combineReducers } from \"redux\";\r\nimport NotificationReducer from \"./notification-reducer\";\r\nimport LoginReducer from \"./login-reducer\";\r\nimport ErrorNotificationReducer from './error-notification-reducer';\r\n\r\n/**\r\n * User Type state with reducers\r\n */\r\nconst SystemReducer = combineReducers({\r\n notification: NotificationReducer,\r\n errorNotification: ErrorNotificationReducer,\r\n login: LoginReducer\r\n});\r\n\r\nexport default SystemReducer;\r\n","/**\r\n * Action types\r\n */\r\nexport const ActionTypes = {\r\n // Actions\r\n TEMPLATE_COMPONENT_TOGGLE_IS_AWESOME_REQUEST:\r\n \"TEMPLATE_COMPONENT_TOGGLE_IS_AWESOME_REQUEST\",\r\n TEMPLATE_COMPONENT_TOGGLE_IS_AWESOME_SUCCESS:\r\n \"TEMPLATE_COMPONENT_TOGGLE_IS_AWESOME_SUCCESS\",\r\n TEMPLATE_COMPONENT_TOGGLE_IS_AWESOME_FAILURE:\r\n \"TEMPLATE_COMPONENT_TOGGLE_IS_AWESOME_FAILURE\",\r\n\r\n // Form Actions\r\n TEMPLATE_COMPONENT_FORM_INPUT_CHANGE: \"TEMPLATE_COMPONENT_FORM_INPUT_CHANGE\"\r\n};\r\n","/**\r\n * TemplateComponent Reducer\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\n\r\nconst initialState = {\r\n isAwesome: true\r\n};\r\n\r\nfunction TemplateComponentReducer(state = initialState, action) {\r\n switch (action.type) {\r\n // ----------------------------\r\n // Action Types\r\n // ----------------------------\r\n\r\n case ActionTypes.TEMPLATE_COMPONENT_TOGGLE_IS_AWESOME_REQUEST:\r\n return {\r\n ...state\r\n };\r\n\r\n case ActionTypes.TEMPLATE_COMPONENT_TOGGLE_IS_AWESOME_SUCCESS:\r\n return {\r\n ...state,\r\n isAwesome: !state.isAwesome\r\n };\r\n\r\n case ActionTypes.TEMPLATE_COMPONENT_TOGGLE_IS_AWESOME_FAILURE:\r\n return {\r\n ...state\r\n };\r\n\r\n // ----------------------------\r\n // Form Action Types\r\n // ----------------------------\r\n\r\n case ActionTypes.TEMPLATE_COMPONENT_FORM_INPUT_CHANGE:\r\n let stateResult = Object.assign({}, state, {\r\n fields: {\r\n ...state.fields,\r\n [action.payload.name]: action.payload.value\r\n },\r\n fieldErrors: {\r\n ...state.fieldErrors,\r\n [action.payload.name]: action.payload.error\r\n }\r\n });\r\n\r\n return stateResult;\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default TemplateComponentReducer;\r\n\r\n/**\r\n * =================\r\n * Selectors\r\n * =================\r\n */\r\n\r\nexport const selectTemplateComponent = state => state.templateComponent;\r\n","/**\r\n * Action types\r\n */\r\nexport const ActionTypes = {\r\n ENROLMENT_LOAD_COURSE_DETAILS_REQUEST:\r\n \"ENROLMENT_LOAD_COURSE_DETAILS_REQUEST\",\r\n ENROLMENT_LOAD_COURSE_DETAILS_SUCCESS:\r\n \"ENROLMENT_LOAD_COURSE_DETAILS_SUCCESS\",\r\n ENROLMENT_LOAD_COURSE_DETAILS_FAILURE:\r\n \"ENROLMENT_LOAD_COURSE_DETAILS_FAILURE\",\r\n\r\n STEP_1_AUTOCOMPLETE_ADDRESS_UPDATE_SUCCESS:\r\n \"STEP_1_AUTOCOMPLETE_ADDRESS_UPDATE_SUCCESS\",\r\n\r\n STEP_1_INIT: \"STEP_1_INIT\",\r\n STEP_1_CLEAR_ADDRESS: \"STEP_1_CLEAR_ADDRESS\",\r\n STEP_1_TOGGLE_MANUAL_ADDRESS_ENTRY: \"STEP_1_TOGGLE_MANUAL_ADDRESS_ENTRY\",\r\n STEP_1_TOGGLE_PROMO_CODE_ENTRY: \"STEP_1_TOGGLE_PROMO_CODE_ENTRY\",\r\n\r\n STEP_1_SUBMIT_ENROLMENT_REQUEST: \"STEP_1_SUBMIT_ENROLMENT_REQUEST\",\r\n STEP_1_SUBMIT_ENROLMENT_SUCCESS: \"STEP_1_SUBMIT_ENROLMENT_SUCCESS\",\r\n STEP_1_SUBMIT_ENROLMENT_FAILURE: \"STEP_1_SUBMIT_ENROLMENT_FAILURE\",\r\n STEP_1_SET_CARD_VALIDITY: \"STEP_1_SET_CARD_VALIDITY\",\r\n STEP_1_SHOW_MANUAL_ADDRESS_ENTRY: \"STEP_1_SHOW_MANUAL_ADDRESS_ENTRY\",\r\n\r\n STEP_1_APPLY_DISCOUNT_CODE_REQUEST: \"STEP_1_APPLY_DISCOUNT_CODE_REQUEST\",\r\n STEP_1_APPLY_DISCOUNT_CODE_SUCCESS: \"STEP_1_APPLY_DISCOUNT_CODE_SUCCESS\",\r\n STEP_1_APPLY_DISCOUNT_CODE_FAILURE: \"STEP_1_APPLY_DISCOUNT_CODE_FAILURE\",\r\n STEP_1_APPLY_DISCOUNT_TOGGLE_DISCOUNT_CODE:\r\n \"STEP_1_APPLY_DISCOUNT_TOGGLE_DISCOUNT_CODE\",\r\n\r\n STEP_1_TOGGLE_SHOW_CONFIRM_NAME_POPUP:\r\n \"STEP_1_TOGGLE_SHOW_CONFIRM_NAME_POPUP\",\r\n\r\n STEP_3_TOGGLE_WHERE_EXPERIENCE: \"STEP_3_TOGGLE_WHERE_EXPERIENCE\",\r\n\r\n STEP_3_SUBMIT_ENROLMENT_REQUEST: \"STEP_3_SUBMIT_ENROLMENT_REQUEST\",\r\n STEP_3_SUBMIT_ENROLMENT_SUCCESS: \"STEP_3_SUBMIT_ENROLMENT_SUCCESS\",\r\n STEP_3_SUBMIT_ENROLMENT_FAILURE: \"STEP_3_SUBMIT_ENROLMENT_FAILURE\",\r\n STEP_3_FORM_VALID: \"STEP_3_FORM_VALID\",\r\n\r\n STEP_3_INIT: \"STEP_3_INIT\",\r\n STEP_3_INIT_SUCCEEDED: \"STEP_3_INIT_SUCCEEDED\",\r\n STEP_3_INIT_FAILED: \"STEP_3_INIT_FAILED\",\r\n\r\n // Form Actions\r\n STEP_1_FORM_INPUT_CHANGE: \"STEP_1_FORM_INPUT_CHANGE\",\r\n\r\n STEP_3_FORM_INPUT_CHANGE: \"STEP_3_FORM_INPUT_CHANGE\",\r\n STEP_3_FORM_DATE_CHANGE: \"STEP_2_FORM_DATE_CHANGE\",\r\n};\r\n","/**\r\n * Step 1 Reducer\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\n\r\nconst initialState = {\r\n isApplyingDiscountCode: false,\r\n isDiscountCodeApplied: false,\r\n showDiscountCodeForm: false,\r\n discountedPrice: 0,\r\n addressEntry: {\r\n displayAutocompleteAddressField: false,\r\n enterAddressManually: false,\r\n showSearchAddress: true,\r\n fullAddress: \"\",\r\n },\r\n hasPromoCode: false,\r\n fields: {\r\n unitNumber: \"\",\r\n streetNumber: \"\",\r\n streetName: \"\",\r\n city: \"\",\r\n state: \"\",\r\n postcode: \"\",\r\n cardNumber: null,\r\n cardExpiryDate: null,\r\n cardName: \"\",\r\n cardCvc: null,\r\n email: \"\",\r\n promoCode: \"\",\r\n discountCode: \"\",\r\n understandTerms: false,\r\n },\r\n isCreditCardValid: false,\r\n fieldErrors: {},\r\n isSubmitting: false,\r\n isSubmitted: false,\r\n showConfirmNamePopup: false,\r\n};\r\n\r\nfunction Step1Reducer(state = initialState, action) {\r\n switch (action.type) {\r\n case ActionTypes.STEP_1_INIT:\r\n return {\r\n ...state,\r\n addressEntry: {\r\n displayAutocompleteAddressField: false,\r\n enterAddressManually: false,\r\n showSearchAddress: true,\r\n fullAddress: \"\",\r\n },\r\n hasPromoCode: false,\r\n fields: {\r\n unitNumber: \"\",\r\n streetNumber: \"\",\r\n streetName: \"\",\r\n city: \"\",\r\n state: \"\",\r\n postcode: \"\",\r\n cardNumber: null,\r\n cardExpiryDate: null,\r\n cardName: \"\",\r\n cardCvc: null,\r\n email: \"\",\r\n promoCode: \"\",\r\n },\r\n isCreditCardValid: false,\r\n fieldErrors: {},\r\n isSubmitting: false,\r\n isSubmitted: false,\r\n showConfirmNamePopup: action.payload.hasCourses,\r\n };\r\n case ActionTypes.STEP_1_SET_CARD_VALIDITY:\r\n return {\r\n ...state,\r\n isCreditCardValid: action.payload,\r\n };\r\n\r\n case ActionTypes.STEP_1_CLEAR_ADDRESS:\r\n return {\r\n ...state,\r\n addressEntry: {\r\n ...state.addressEntry,\r\n fullAddress: \"\",\r\n },\r\n fields: {\r\n ...state.fields,\r\n unitNumber: \"\",\r\n streetNumber: \"\",\r\n streetName: \"\",\r\n city: \"\",\r\n state: \"\",\r\n postcode: \"\",\r\n },\r\n };\r\n\r\n case ActionTypes.STEP_1_AUTOCOMPLETE_ADDRESS_UPDATE_SUCCESS:\r\n return {\r\n ...state,\r\n addressEntry: {\r\n ...state.addressEntry,\r\n fullAddress: action.payload.fullAddress,\r\n enterAddressManually: false,\r\n },\r\n fields: {\r\n ...state.fields,\r\n unitNumber: `${(\r\n action.payload.subdwelling +\r\n \" \" +\r\n action.payload.buildingName\r\n ).trim()}`,\r\n streetNumber: action.payload.streetNumber,\r\n streetName: action.payload.street,\r\n city: action.payload.locality,\r\n state: action.payload.state,\r\n postcode: action.payload.postcode,\r\n },\r\n };\r\n\r\n case ActionTypes.STEP_1_TOGGLE_MANUAL_ADDRESS_ENTRY:\r\n return {\r\n ...state,\r\n addressEntry: {\r\n ...state.addressEntry,\r\n enterAddressManually: !state.addressEntry.enterAddressManually,\r\n },\r\n };\r\n\r\n case ActionTypes.STEP_1_SHOW_MANUAL_ADDRESS_ENTRY:\r\n return {\r\n ...state,\r\n addressEntry: {\r\n ...state.addressEntry,\r\n enterAddressManually: true,\r\n },\r\n };\r\n\r\n case ActionTypes.STEP_1_TOGGLE_PROMO_CODE_ENTRY:\r\n return {\r\n ...state,\r\n hasPromoCode: !state.hasPromoCode,\r\n fields: {\r\n ...state.fields,\r\n cardNumber: null,\r\n cardExpiryDate: \"\",\r\n cardCvc: null,\r\n cardName: null,\r\n promoCode: \"\",\r\n },\r\n isCreditCardValid: false,\r\n };\r\n\r\n case ActionTypes.STEP_1_SUBMIT_ENROLMENT_REQUEST:\r\n return {\r\n ...state,\r\n isSubmitting: true,\r\n isSubmitted: false,\r\n };\r\n\r\n case ActionTypes.STEP_1_SUBMIT_ENROLMENT_SUCCESS:\r\n return {\r\n ...state,\r\n isSubmitting: false,\r\n isSubmitted: true,\r\n };\r\n\r\n case ActionTypes.STEP_1_SUBMIT_ENROLMENT_FAILURE:\r\n return {\r\n ...state,\r\n isSubmitting: false,\r\n isSubmitted: false,\r\n };\r\n\r\n case ActionTypes.STEP_1_APPLY_DISCOUNT_CODE_REQUEST:\r\n return {\r\n ...state,\r\n isApplyingDiscountCode: true,\r\n };\r\n\r\n case ActionTypes.STEP_1_APPLY_DISCOUNT_CODE_SUCCESS:\r\n return {\r\n ...state,\r\n isApplyingDiscountCode: false,\r\n isDiscountCodeApplied: true,\r\n discountedPrice: action.totalAfterDiscount,\r\n showDiscountCodeForm: false,\r\n };\r\n\r\n case ActionTypes.STEP_1_APPLY_DISCOUNT_CODE_FAILURE:\r\n return {\r\n ...state,\r\n isApplyingDiscountCode: false,\r\n fields: {\r\n ...state.fields,\r\n discountCode: \"\",\r\n },\r\n };\r\n\r\n case ActionTypes.STEP_1_APPLY_DISCOUNT_TOGGLE_DISCOUNT_CODE:\r\n return {\r\n ...state,\r\n showDiscountCodeForm: !state.showDiscountCodeForm,\r\n };\r\n\r\n case ActionTypes.STEP_1_FORM_INPUT_CHANGE:\r\n let stateResultInput = Object.assign({}, state, {\r\n fields: {\r\n ...state.fields,\r\n [action.payload.name]: action.payload.value,\r\n },\r\n fieldErrors: {\r\n ...state.fieldErrors,\r\n [action.payload.name]: action.payload.error,\r\n },\r\n });\r\n return stateResultInput;\r\n\r\n case ActionTypes.STEP_1_TOGGLE_SHOW_CONFIRM_NAME_POPUP:\r\n return {\r\n ...state,\r\n showConfirmNamePopup: false,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default Step1Reducer;\r\n\r\n/**\r\n * =================\r\n * Selectors\r\n * =================\r\n */\r\n\r\nexport const selectStep1 = (state) => state.courseEnrolment.step1;\r\n","export const ActionTypes = {\r\n STEP_2_INIT: \"STEP_2_INIT\",\r\n STEP_2_UPDATE_DOB_FIELD: \"STEP_2_UPDATE_DOB_FIELD\",\r\n STEP_2_INIT_SUCCEEDED: \"STEP_2_INIT_SUCCEEDED\",\r\n STEP_2_INIT_FAILED: \"STEP_2_INIT_FAILED\",\r\n\r\n STEP_2_UPDATE_ADDRESS_FROM_STEP_1_ADDRESS:\r\n \"STEP_2_UPDATE_ADDRESS_FROM_STEP_1_ADDRESS\",\r\n\r\n STEP_2_TOGGLE_TERTIARY: \"STEP_2_TOGGLE_TERTIARY\",\r\n STEP_2_TOGGLE_WHAT_IS_USI: \"STEP_2_TOGGLE_WHAT_IS_USI\",\r\n STEP_2_TOGGLE_HAS_USI: \"STEP_2_TOGGLE_HAS_USI\",\r\n STEP_2_TOGGLE_DISABILITY: \"STEP_2_TOGGLE_DISABILITY\",\r\n STEP_2_TOGGLE_COUNTRY: \"STEP_2_TOGGLE_COUNTRY\",\r\n STEP_2_TOGGLE_OTHER_LANGUAGE: \"STEP_2_TOGGLE_OTHER_LANGUAGE\",\r\n STEP_2_TOGGLE_UNDERSTANDING_OF_ENGLISH:\r\n \"STEP_2_TOGGLE_UNDERSTANDING_OF_ENGLISH\",\r\n STEP_2_TOGGLE_UNDERSTAND_FALSE_INFO: \"STEP_2_TOGGLE_UNDERSTAND_FALSE_INFO\",\r\n STEP_2_TOGGLE_UNDERSTAND_TIME_TO_COMPLETE:\r\n \"STEP_2_TOGGLE_UNDERSTAND_TIME_TO_COMPLETE\",\r\n STEP_2_FORM_VALID: \"STEP_2_FORM_VALID\",\r\n\r\n STEP_2_TOGGLE_GUARDIAN_ACKNOWLEDGEMENT:\r\n \"STEP_2_TOGGLE_GUARDIAN_ACKNOWLEDGEMENT\",\r\n\r\n STEP_2_SUBMIT_ENROLMENT_REQUEST: \"STEP_2_SUBMIT_ENROLMENT_REQUEST\",\r\n STEP_2_SUBMIT_ENROLMENT_SUCCESS: \"STEP_2_SUBMIT_ENROLMENT_SUCCESS\",\r\n STEP_2_SUBMIT_ENROLMENT_FAILURE: \"STEP_2_SUBMIT_ENROLMENT_FAILURE\",\r\n\r\n STEP_2_FORM_DATE_CHANGE: \"STEP_2_FORM_DATE_CHANGE\",\r\n STEP_2_FORM_INPUT_CHANGE: \"STEP_2_FORM_INPUT_CHANGE\",\r\n\r\n // ADDRESS\r\n STEP_2_AUTOCOMPLETE_ADDRESS_UPDATE_SUCCESS:\r\n \"STEP_2_AUTOCOMPLETE_ADDRESS_UPDATE_SUCCESS\",\r\n STEP_2_TOGGLE_MANUAL_ADDRESS_ENTRY: \"STEP_2_TOGGLE_MANUAL_ADDRESS_ENTRY\",\r\n STEP_2_SHOW_MANUAL_ADDRESS_ENTRY: \"STEP_2_SHOW_MANUAL_ADDRESS_ENTRY\",\r\n STEP_2_CLEAR_ADDRESS: \"STEP_2_CLEAR_ADDRESS\",\r\n};\r\n","/**\r\n * Date Service\r\n */\r\n\r\nimport format from \"date-fns/format\";\r\nimport differenceInYears from \"date-fns/difference_in_years\";\r\nimport addDays from \"date-fns/add_days\";\r\nimport moment from \"moment\";\r\n\r\nconst DateService = () => {\r\n const today = new Date();\r\n const formatDate = (date, formatString) => {\r\n return format(date, formatString);\r\n };\r\n const getCurrentAge = date => {\r\n return differenceInYears(new Date(), addDays(date, -1));\r\n };\r\n const getDateFromString = dateString => {\r\n if (!dateString || dateString === undefined || dateString === \"\")\r\n return null;\r\n return new Date(dateString);\r\n };\r\n const formatDateFromString = (dateString, formatString) => {\r\n const date = getDateFromString(dateString);\r\n return formatDate(date, formatString);\r\n };\r\n const getFirstDayOfTheMonth = () =>\r\n new Date(today.getFullYear(), today.getMonth(), 1);\r\n const getLastDayOfTheMonth = () =>\r\n new Date(today.getFullYear(), today.getMonth() + 1, 0);\r\n\r\n const toIsoDate = date => {\r\n const isoDateFormat = \"YYYY-MM-DD HH:mm:ss\";\r\n const minDate = \"01 JAN 1900\";\r\n\r\n let dt = moment.isMoment(date) ? date.toDate() : date;\r\n\r\n if (\r\n dt === null ||\r\n moment(dt)\r\n .format(isoDateFormat)\r\n .toUpperCase() == minDate\r\n ) {\r\n return \"\";\r\n }\r\n return moment(dt)\r\n .format(isoDateFormat)\r\n .toUpperCase();\r\n };\r\n\r\n return {\r\n formatDate,\r\n getCurrentAge,\r\n getDateFromString,\r\n formatDateFromString,\r\n getFirstDayOfTheMonth,\r\n getLastDayOfTheMonth,\r\n toIsoDate\r\n };\r\n};\r\n\r\nexport default DateService;\r\n","/**\r\n * Step 2 Reducer\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\nimport DateService from \"../../../../services/date-service\";\r\nimport moment from \"moment\";\r\n\r\nconst initialState = {\r\n addressEntry: {\r\n displayAutocompleteAddressField: false,\r\n enterAddressManually: false,\r\n showSearchAddress: true,\r\n fullAddress: \"\",\r\n },\r\n fieldVisibility: {\r\n showLevelOfEducation: false,\r\n showWhatIsUsi: false,\r\n showHasUsi: false,\r\n showDisability: false,\r\n showCountry: false,\r\n showOtherLanguage: false,\r\n showUnderstandingOfEnglish: false,\r\n showUnderstandFalseInfo: false,\r\n showUnderstandTimeToComplete: false,\r\n showGuardianAcknowledgment: false,\r\n showSubmit: true,\r\n showUsiLastName: true,\r\n },\r\n fields: {\r\n courseId: \"\",\r\n userCourseId: \"\",\r\n dateOfBirth: null,\r\n gender: \"\",\r\n levelOfSchool: \"\",\r\n stillEnrolledInSchool: \"\",\r\n completedTertiary: \"\",\r\n levelOfEducation: \"\",\r\n reasonForUndertakingCourse: \"\",\r\n phone: \"\",\r\n usiFirstName: \"Adam\",\r\n usiMiddleName: \"\",\r\n usiLastName: \"Luck\",\r\n unitNumber: \"\",\r\n streetNumber: \"\",\r\n streetName: \"\",\r\n city: \"\",\r\n state: \"\",\r\n postcode: \"\",\r\n hasUsi: \"\",\r\n usiNumber: \"\",\r\n howDidYouHear: \"\",\r\n disability: \"\",\r\n disabilityType: \"\",\r\n bornInAustralia: \"\",\r\n country: \"\",\r\n aboriginalOrTorresStraitIslandOrigin: \"\",\r\n languageAtHome: \"\",\r\n languageAtHomeOther: \"\",\r\n goodUnderstandingOfEnglish: \"\",\r\n understandFalseInfo: \"\",\r\n understandTimeToComplete: \"\",\r\n studentAcknowledgment: false,\r\n guardianAcknowledgment: false,\r\n },\r\n isProcessing: false,\r\n formValid: false,\r\n fieldErrors: {},\r\n};\r\n\r\nfunction Step2Reducer(state = initialState, action) {\r\n switch (action.type) {\r\n case ActionTypes.STEP_2_INIT:\r\n return {\r\n ...state,\r\n isProcessing: true,\r\n };\r\n case ActionTypes.STEP_2_INIT_SUCCEEDED:\r\n return {\r\n ...state,\r\n isProcessing: false,\r\n fields: {\r\n courseId: action.payload.courseId,\r\n userCourseId: action.payload.userCourseId,\r\n dateOfBirth: null,\r\n gender: \"\",\r\n levelOfSchool: \"\",\r\n stillEnrolledInSchool: \"\",\r\n completedTertiary: \"\",\r\n levelOfEducation: \"\",\r\n reasonForUndertakingCourse: \"\",\r\n phone: \"\",\r\n usiFirstName: action.payload.usiFirstName\r\n ? action.payload.usiFirstName\r\n : \"\",\r\n usiMiddleName: action.payload.usiMiddleName\r\n ? action.payload.usiMiddleName\r\n : \"\",\r\n usiLastName: action.payload.usiLastName\r\n ? action.payload.usiLastName\r\n : \"\",\r\n unitNumber: action.payload.unitNumber\r\n ? action.payload.unitNumber\r\n : \"\",\r\n streetNumber: action.payload.streetNumber\r\n ? action.payload.streetNumber\r\n : \"\",\r\n streetName: action.payload.streetName\r\n ? action.payload.streetName\r\n : \"\",\r\n city: action.payload.city ? action.payload.city : \"\",\r\n state: action.payload.state ? action.payload.state : \"\",\r\n postcode: action.payload.postcode ? action.payload.postcode : \"\",\r\n hasUsi: \"\",\r\n usiNumber: \"\",\r\n howDidYouHear: \"\",\r\n disability: \"\",\r\n disabilityType: \"\",\r\n bornInAustralia: \"\",\r\n country: \"\",\r\n aboriginalOrTorresStraitIslandOrigin: \"\",\r\n languageAtHome: \"\",\r\n languageAtHomeOther: \"\",\r\n goodUnderstandingOfEnglish: \"\",\r\n understandFalseInfo: \"\",\r\n understandTimeToComplete: \"\",\r\n studentAcknowledgment: false,\r\n guardianAcknowledgment: false,\r\n },\r\n addressEntry: {\r\n ...state.addressEntry,\r\n fullAddress: action.payload.fullAddress\r\n ? action.payload.fullAddress\r\n : \"\",\r\n },\r\n fieldVisibility: {\r\n showLevelOfEducation: action.payload.completedTertiary,\r\n showWhatIsUsi: false,\r\n showHasUsi: false,\r\n showDisability: false,\r\n showCountry: false,\r\n showOtherLanguage: false,\r\n showUnderstandingOfEnglish: false,\r\n showUnderstandFalseInfo: false,\r\n showUnderstandTimeToComplete: false,\r\n showGuardianAcknowledgment: false,\r\n showSubmit: false,\r\n showUsiLastName:\r\n action.payload.usiFirstName !== action.payload.usiLastName,\r\n },\r\n };\r\n case ActionTypes.STEP_2_INIT_FAILED:\r\n return {\r\n ...state,\r\n isProcessing: false,\r\n };\r\n case ActionTypes.STEP_2_TOGGLE_TERTIARY:\r\n return {\r\n ...state,\r\n fieldVisibility: {\r\n ...state.fieldVisibility,\r\n showLevelOfEducation: action.payload,\r\n },\r\n fields: {\r\n ...state.fields,\r\n levelOfEducation: action.payload ? state.fields.levelOfEducation : \"\",\r\n },\r\n };\r\n case ActionTypes.STEP_2_FORM_VALID:\r\n return {\r\n ...state,\r\n formValid: action.payload,\r\n };\r\n case ActionTypes.STEP_2_UPDATE_DOB_FIELD:\r\n return {\r\n ...state,\r\n fields: {\r\n ...state.fields,\r\n dateOfBirth: action.payload,\r\n },\r\n fieldVisibility: {\r\n ...state.fieldVisibility,\r\n showGuardianAcknowledgment:\r\n DateService().getCurrentAge(moment(action.payload)) < 18\r\n ? true\r\n : false,\r\n },\r\n };\r\n case ActionTypes.STEP_2_TOGGLE_WHAT_IS_USI:\r\n return {\r\n ...state,\r\n fieldVisibility: {\r\n ...state.fieldVisibility,\r\n showWhatIsUsi: !state.showWhatIsUsi,\r\n },\r\n };\r\n\r\n case ActionTypes.STEP_2_TOGGLE_HAS_USI:\r\n return {\r\n ...state,\r\n fieldVisibility: {\r\n ...state.fieldVisibility,\r\n showHasUsi: action.payload,\r\n showSubmit: action.payload,\r\n },\r\n fields: {\r\n ...state.fields,\r\n usiNumber: action.payload ? state.fields.usiNumber : \"\",\r\n },\r\n };\r\n\r\n case ActionTypes.STEP_2_TOGGLE_DISABILITY:\r\n return {\r\n ...state,\r\n fieldVisibility: {\r\n ...state.fieldVisibility,\r\n showDisability: action.payload,\r\n },\r\n fields: {\r\n ...state.fields,\r\n disabilityType: action.payload ? state.fields.disabilityType : \"\",\r\n },\r\n };\r\n\r\n case ActionTypes.STEP_2_TOGGLE_COUNTRY:\r\n return {\r\n ...state,\r\n fieldVisibility: {\r\n ...state.fieldVisibility,\r\n showCountry: action.payload,\r\n },\r\n fields: {\r\n ...state.fields,\r\n country: action.payload ? state.fields.country : \"\",\r\n },\r\n };\r\n\r\n case ActionTypes.STEP_2_TOGGLE_OTHER_LANGUAGE:\r\n return {\r\n ...state,\r\n fieldVisibility: {\r\n ...state.fieldVisibility,\r\n showOtherLanguage: action.payload,\r\n },\r\n fields: {\r\n ...state.fields,\r\n languageAtHome: action.payload ? \"Other Language\" : \"English\",\r\n languageAtHomeOther: action.payload\r\n ? state.fields.languageAtHomeOther\r\n : \"\",\r\n },\r\n };\r\n\r\n case ActionTypes.STEP_2_TOGGLE_UNDERSTANDING_OF_ENGLISH:\r\n return {\r\n ...state,\r\n fieldVisibility: {\r\n ...state.fieldVisibility,\r\n showUnderstandingOfEnglish: action.payload,\r\n },\r\n };\r\n\r\n case ActionTypes.STEP_2_TOGGLE_UNDERSTAND_FALSE_INFO:\r\n return {\r\n ...state,\r\n fieldVisibility: {\r\n ...state.fieldVisibility,\r\n showUnderstandFalseInfo: action.payload,\r\n },\r\n };\r\n\r\n case ActionTypes.STEP_2_TOGGLE_UNDERSTAND_TIME_TO_COMPLETE:\r\n return {\r\n ...state,\r\n fieldVisibility: {\r\n ...state.fieldVisibility,\r\n showUnderstandTimeToComplete: action.payload,\r\n },\r\n };\r\n\r\n case ActionTypes.STEP_2_TOGGLE_GUARDIAN_ACKNOWLEDGEMENT:\r\n return {\r\n ...state,\r\n fieldVisibility: {\r\n ...state.fieldVisibility,\r\n showGuardianAcknowledgment: action.payload,\r\n },\r\n fields: {\r\n ...state.fields,\r\n guardianAcknowledgment: action.payload\r\n ? state.fields.guardianAcknowledgment\r\n : false,\r\n },\r\n };\r\n\r\n case ActionTypes.STEP_2_UPDATE_ADDRESS_FROM_STEP_1_ADDRESS:\r\n return {\r\n ...state,\r\n fields: {\r\n ...state.fields,\r\n unitNumber: action.payload.unitNumber,\r\n streetNumber: action.payload.streetNumber,\r\n streetName: action.payload.streetName,\r\n city: action.payload.city,\r\n state: action.payload.state,\r\n postcode: action.payload.postcode,\r\n },\r\n };\r\n\r\n case ActionTypes.STEP_2_SUBMIT_ENROLMENT_REQUEST:\r\n return {\r\n ...state,\r\n isProcessing: true,\r\n };\r\n\r\n case ActionTypes.STEP_2_SUBMIT_ENROLMENT_SUCCESS:\r\n return {\r\n ...state,\r\n isProcessing: false,\r\n };\r\n\r\n case ActionTypes.STEP_2_SUBMIT_ENROLMENT_FAILURE:\r\n return {\r\n ...state,\r\n isProcessing: false,\r\n };\r\n\r\n case ActionTypes.STEP_2_FORM_INPUT_CHANGE:\r\n let stateResultInput = Object.assign({}, state, {\r\n fields: {\r\n ...state.fields,\r\n [action.payload.name]: action.payload.value,\r\n },\r\n fieldErrors: {\r\n ...state.fieldErrors,\r\n [action.payload.name]: action.payload.error,\r\n },\r\n });\r\n return stateResultInput;\r\n case ActionTypes.STEP_2_FORM_DATE_CHANGE:\r\n let stateResultDate = Object.assign({}, state, {\r\n fields: {\r\n ...state.fields,\r\n [action.payload.name]: action.payload.value,\r\n },\r\n });\r\n\r\n return stateResultDate;\r\n\r\n // ADDRESS\r\n case ActionTypes.STEP_2_CLEAR_ADDRESS:\r\n return {\r\n ...state,\r\n addressEntry: {\r\n ...state.addressEntry,\r\n fullAddress: \"\",\r\n },\r\n fields: {\r\n ...state.fields,\r\n unitNumber: \"\",\r\n streetNumber: \"\",\r\n streetName: \"\",\r\n city: \"\",\r\n state: \"\",\r\n postcode: \"\",\r\n },\r\n };\r\n case ActionTypes.STEP_2_AUTOCOMPLETE_ADDRESS_UPDATE_SUCCESS:\r\n return {\r\n ...state,\r\n addressEntry: {\r\n ...state.addressEntry,\r\n fullAddress: action.payload.fullAddress,\r\n },\r\n fields: {\r\n ...state.fields,\r\n unitNumber: `${(\r\n action.payload.subdwelling +\r\n \" \" +\r\n action.payload.buildingName\r\n ).trim()}`,\r\n streetNumber: action.payload.streetNumber,\r\n streetName: action.payload.street,\r\n city: action.payload.locality,\r\n state: action.payload.state,\r\n postcode: action.payload.postcode,\r\n },\r\n };\r\n case ActionTypes.STEP_2_TOGGLE_MANUAL_ADDRESS_ENTRY:\r\n return {\r\n ...state,\r\n addressEntry: {\r\n ...state.addressEntry,\r\n enterAddressManually: !state.addressEntry.enterAddressManually,\r\n },\r\n };\r\n case ActionTypes.STEP_2_SHOW_MANUAL_ADDRESS_ENTRY:\r\n return {\r\n ...state,\r\n addressEntry: {\r\n ...state.addressEntry,\r\n enterAddressManually: true,\r\n },\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default Step2Reducer;\r\n\r\n/**\r\n * =================\r\n * Selectors\r\n * =================\r\n */\r\n\r\nexport const selectStep2 = (state) => state.courseEnrolment.step2;\r\n","/**\r\n * Step 3 Reducer\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\n\r\nconst initialState = {\r\n fieldVisibility: {\r\n showExperience: false,\r\n showWorkPlaceName: false,\r\n },\r\n fields: {\r\n userCourseId: \"\",\r\n whereExperience: \"\",\r\n workplaceName: \"\",\r\n workplaceSuburb: \"\",\r\n workplacePhone: \"\",\r\n relationshipToObserver: \"\",\r\n observerFirstName: \"\",\r\n observerLastName: \"\",\r\n observerEmail: \"\",\r\n workplaceStartDate: \"\",\r\n workplaceEndDate: \"\",\r\n currentEmploymentStatus: \"\",\r\n },\r\n isProcessing: false,\r\n formValid: false,\r\n};\r\n\r\nfunction Step3Reducer(state = initialState, action) {\r\n switch (action.type) {\r\n case ActionTypes.STEP_3_INIT:\r\n return {\r\n ...state,\r\n isProcessing: true,\r\n };\r\n case ActionTypes.STEP_3_INIT_SUCCEEDED:\r\n return {\r\n ...state,\r\n isProcessing: false,\r\n fieldVisibility: {\r\n showExperience: false,\r\n showWorkPlaceName: false,\r\n },\r\n fields: {\r\n ...state.fields,\r\n userCourseId: action.payload.userCourseId,\r\n whereExperience: \"\",\r\n workplaceName: action.payload.workplaceName,\r\n workplaceSuburb: action.payload.workplaceSuburb,\r\n workplacePhone: action.payload.workplacePhone,\r\n relationshipToObserver: action.payload.relationshipToObserver,\r\n observerFirstName: action.payload.observerFirstName,\r\n observerLastName: action.payload.observerLastName,\r\n observerEmail: action.payload.observerEmail,\r\n workplaceStartDate: action.payload.workplaceStartDate,\r\n workplaceEndDate: action.payload.workplaceEndDate,\r\n currentEmploymentStatus:\r\n action.payload.currentEmploymentStatus === null ||\r\n action.payload.currentEmploymentStatus === \"\"\r\n ? \"\"\r\n : action.payload.currentEmploymentStatus,\r\n },\r\n };\r\n case ActionTypes.STEP_3_INIT_FAILED:\r\n return {\r\n ...state,\r\n isProcessing: false,\r\n };\r\n case ActionTypes.STEP_3_TOGGLE_WHERE_EXPERIENCE:\r\n return {\r\n ...state,\r\n fieldVisibility: {\r\n ...state.fieldVisibility,\r\n showExperience: true,\r\n showWorkPlaceName: action.payload,\r\n },\r\n fields: {\r\n ...state.fields,\r\n workplaceName: action.payload ? state.fields.workplaceName : \"\",\r\n },\r\n };\r\n case ActionTypes.STEP_3_FORM_VALID:\r\n return {\r\n ...state,\r\n formValid: action.payload,\r\n };\r\n case ActionTypes.STEP_3_SUBMIT_ENROLMENT_REQUEST:\r\n return {\r\n ...state,\r\n isProcessing: true,\r\n };\r\n\r\n case ActionTypes.STEP_3_SUBMIT_ENROLMENT_SUCCESS:\r\n return {\r\n ...state,\r\n isProcessing: false,\r\n };\r\n\r\n case ActionTypes.STEP_3_SUBMIT_ENROLMENT_FAILURE:\r\n return {\r\n ...state,\r\n isProcessing: false,\r\n };\r\n\r\n case ActionTypes.STEP_3_FORM_INPUT_CHANGE:\r\n let stateResultInput = Object.assign({}, state, {\r\n fields: {\r\n ...state.fields,\r\n [action.payload.name]: action.payload.value,\r\n },\r\n fieldErrors: {\r\n ...state.fieldErrors,\r\n [action.payload.name]: action.payload.error,\r\n },\r\n });\r\n return stateResultInput;\r\n case ActionTypes.STEP_3_FORM_DATE_CHANGE:\r\n let stateResultDate = Object.assign({}, state, {\r\n fields: {\r\n ...state.fields,\r\n [action.payload.name]: action.payload.value,\r\n },\r\n });\r\n\r\n return stateResultDate;\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default Step3Reducer;\r\n\r\n/**\r\n * =================\r\n * Selectors\r\n * =================\r\n */\r\n\r\nexport const selectStep3 = (state) => state.courseEnrolment.step3;\r\n","/**\r\n * Enrolment Reducer\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\n\r\nconst initialState = {\r\n courseDetails: {\r\n courseId: 0,\r\n courseTitle: \"\",\r\n courseCode: \"\",\r\n coursePrice: 0,\r\n validStates: \"\",\r\n },\r\n};\r\n\r\nfunction EnrolmentReducer(state = initialState, action) {\r\n switch (action.type) {\r\n case ActionTypes.ENROLMENT_LOAD_COURSE_DETAILS_REQUEST:\r\n return {\r\n ...state,\r\n };\r\n\r\n case ActionTypes.ENROLMENT_LOAD_COURSE_DETAILS_SUCCESS:\r\n return {\r\n ...state,\r\n courseDetails: {\r\n ...state.courseDetails,\r\n courseId: action.payload.courseId,\r\n courseTitle: action.payload.courseTitle,\r\n courseCode: action.payload.courseCode,\r\n coursePrice: action.payload.coursePrice,\r\n validStates: action.payload.validStates,\r\n },\r\n };\r\n\r\n case ActionTypes.ENROLMENT_LOAD_COURSE_DETAILS_FAILURE:\r\n return {\r\n ...state,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default EnrolmentReducer;\r\n\r\n/**\r\n * =================\r\n * Selectors\r\n * =================\r\n */\r\n\r\nexport const selectEnrolment = (state) => state.courseEnrolment.enrolment;\r\n","import { combineReducers } from \"redux\";\r\nimport Step1Reducer from \"./step-1-reducer\";\r\nimport Step2Reducer from \"../Step-2/redux/reducer\";\r\nimport Step3Reducer from \"./step-3-reducer\";\r\nimport EnrolmentReducer from \"./enrolment-reducer\";\r\n\r\nconst CourseEnrolmentReducer = combineReducers({\r\n step1: Step1Reducer,\r\n step2: Step2Reducer,\r\n step3: Step3Reducer,\r\n enrolment: EnrolmentReducer\r\n});\r\n\r\nexport default CourseEnrolmentReducer;\r\n","/**\r\n * Action types\r\n */\r\nexport const ActionTypes = {\r\n // Actions\r\n REGISTER_BOX_REGISTER_REQUEST: \"REGISTER_BOX_REGISTER_REQUEST\",\r\n REGISTER_BOX_REGISTER_SUCCESS: \"REGISTER_BOX_REGISTER_SUCCESS\",\r\n REGISTER_BOX_REGISTER_FAILURE: \"REGISTER_BOX_REGISTER_FAILURE\",\r\n\r\n // Form Actions\r\n REGISTER_BOX_FORM_INPUT_CHANGE: \"REGISTER_BOX_FORM_INPUT_CHANGE\",\r\n\r\n REGISTER_BOX_FORM_NO_LAST_NAME: \"REGISTER_BOX_FORM_NO_LAST_NAME\",\r\n};\r\n","/**\r\n * Register Box Reducer\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\n\r\nconst initialState = {\r\n isLoading: false,\r\n fields: {\r\n firstName: \"\",\r\n lastName: \"\",\r\n email: \"\",\r\n confirmEmail: \"\",\r\n password: \"\",\r\n confirmPassword: \"\",\r\n isCorporate: false,\r\n noLastName: false,\r\n },\r\n fieldErrors: {},\r\n};\r\n\r\nfunction RegisterBoxReducer(state = initialState, action) {\r\n switch (action.type) {\r\n // ----------------------------\r\n // Action Types\r\n // ----------------------------\r\n\r\n case ActionTypes.REGISTER_BOX_REGISTER_REQUEST:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n };\r\n\r\n case ActionTypes.REGISTER_BOX_REGISTER_SUCCESS:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n fields: initialState.fields,\r\n };\r\n\r\n case ActionTypes.REGISTER_BOX_REGISTER_FAILURE:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n };\r\n\r\n // ----------------------------\r\n // Form Action Types\r\n // ----------------------------\r\n\r\n case ActionTypes.REGISTER_BOX_FORM_INPUT_CHANGE:\r\n let stateResult = Object.assign({}, state, {\r\n fields: {\r\n ...state.fields,\r\n [action.payload.name]: action.payload.value,\r\n },\r\n fieldErrors: {\r\n ...state.fieldErrors,\r\n [action.payload.name]: action.payload.error,\r\n },\r\n });\r\n\r\n return stateResult;\r\n\r\n case ActionTypes.REGISTER_BOX_FORM_NO_LAST_NAME:\r\n return {\r\n ...state,\r\n noLastName: true,\r\n fields: {\r\n ...state.fields,\r\n lastName: \"\",\r\n },\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default RegisterBoxReducer;\r\n\r\n/**\r\n * =================\r\n * Selectors\r\n * =================\r\n */\r\n\r\nexport const selectRegisterBox = (state) => state.register;\r\n","/**\r\n * Action types\r\n */\r\nexport const ActionTypes = {\r\n // Actions\r\n CONTACT_BOX_SUBMIT_REQUEST: \"CONTACT_BOX_SUBMIT_REQUEST\",\r\n CONTACT_BOX_SUBMIT_SUCCESS: \"CONTACT_BOX_SUBMIT_SUCCESS\",\r\n CONTACT_BOX_SUBMIT_FAILURE: \"CONTACT_BOX_SUBMIT_FAILURE\",\r\n\r\n // Form Actions\r\n CONTACT_BOX_FORM_INPUT_CHANGE: \"CONTACT_BOX_FORM_INPUT_CHANGE\"\r\n};\r\n","/**\r\n * Contact Box Reducer\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\n\r\nconst initialState = {\r\n fields: {\r\n name: \"\",\r\n email: \"\",\r\n phone: \"\",\r\n message: \"\"\r\n },\r\n hasBeenSent: false,\r\n isSending: false,\r\n fieldErrors: {}\r\n};\r\n\r\nfunction ContactBoxReducer(state = initialState, action) {\r\n switch (action.type) {\r\n case ActionTypes.CONTACT_BOX_SUBMIT_REQUEST:\r\n return {\r\n ...state,\r\n isSending: true\r\n };\r\n\r\n case ActionTypes.CONTACT_BOX_SUBMIT_SUCCESS:\r\n return {\r\n ...state,\r\n isSending: false,\r\n hasBeenSent: true\r\n };\r\n\r\n case ActionTypes.CONTACT_BOX_SUBMIT_FAILURE:\r\n return {\r\n ...state,\r\n isSending: false\r\n };\r\n\r\n case ActionTypes.CONTACT_BOX_FORM_INPUT_CHANGE:\r\n let stateResult = Object.assign({}, state, {\r\n fields: {\r\n ...state.fields,\r\n [action.payload.name]: action.payload.value\r\n },\r\n fieldErrors: {\r\n ...state.fieldErrors,\r\n [action.payload.name]: action.payload.error\r\n }\r\n });\r\n\r\n return stateResult;\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default ContactBoxReducer;\r\n\r\n/**\r\n * =================\r\n * Selectors\r\n * =================\r\n */\r\n\r\nexport const selectContactBox = state => state.contact;\r\n","/**\r\n * Action types\r\n */\r\nexport const ActionTypes = {\r\n // Actions\r\n YOUR_COURSES_LOAD_REQUEST: \"YOUR_COURSES_LOAD_REQUEST\",\r\n YOUR_COURSES_LOAD_SUCCESS: \"YOUR_COURSES_LOAD_SUCCESS\",\r\n YOUR_COURSES_LOAD_FAILURE: \"YOUR_COURSES_LOAD_FAILURE\",\r\n YOUR_COURSES_TOGGLE_IS_AWESOME_REQUEST:\r\n \"YOUR_COURSES_TOGGLE_IS_AWESOME_REQUEST\",\r\n YOUR_COURSES_TOGGLE_IS_AWESOME_SUCCESS:\r\n \"YOUR_COURSES_TOGGLE_IS_AWESOME_SUCCESS\",\r\n YOUR_COURSES_TOGGLE_IS_AWESOME_FAILURE:\r\n \"YOUR_COURSES_TOGGLE_IS_AWESOME_FAILURE\",\r\n\r\n // Form Actions\r\n YOUR_COURSES_FORM_INPUT_CHANGE: \"YOUR_COURSES_FORM_INPUT_CHANGE\",\r\n\r\n YOUR_COURSES_DOWNLOAD_CERTIFICATE_REQUEST:\r\n \"YOUR_COURSES_DOWNLOAD_CERTIFICATE_REQUEST\",\r\n YOUR_COURSES_DOWNLOAD_CERTIFICATE_SUCCESS:\r\n \"YOUR_COURSES_DOWNLOAD_CERTIFICATE_SUCCESS\",\r\n YOUR_COURSES_DOWNLOAD_CERTIFICATE_FAILURE:\r\n \"YOUR_COURSES_DOWNLOAD_CERTIFICATE_FAILURE\",\r\n\r\n YOUR_COURSES_DOWNLOAD_TAX_INVOICE_REQUEST:\r\n \"YOUR_COURSES_DOWNLOAD_TAX_INVOICE_REQUEST\",\r\n YOUR_COURSES_DOWNLOAD_TAX_INVOICE_SUCCESS:\r\n \"YOUR_COURSES_DOWNLOAD_TAX_INVOICE_SUCCESS\",\r\n YOUR_COURSES_DOWNLOAD_TAX_INVOICE_FAILURE:\r\n \"YOUR_COURSES_DOWNLOAD_TAX_INVOICE_FAILURE\",\r\n\r\n YOUR_COURSES_DOWNLOAD_TPF_REQUEST: \"YOUR_COURSES_DOWNLOAD_TPF_REQUEST\",\r\n YOUR_COURSES_DOWNLOAD_TPF_SUCCESS: \"YOUR_COURSES_DOWNLOAD_TPF_SUCCESS\",\r\n YOUR_COURSES_DOWNLOAD_TPF_FAILURE: \"YOUR_COURSES_DOWNLOAD_TPF_FAILURE\",\r\n};\r\n","/**\r\n * Your Courses Reducer\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\n\r\nconst initialState = {\r\n hasNswCertificate: false,\r\n courses: [],\r\n isProcessing: false,\r\n};\r\n\r\nfunction YourCoursesReducer(state = initialState, action) {\r\n switch (action.type) {\r\n case ActionTypes.TEMPLATE_COMPONENT_FORM_INPUT_CHANGE:\r\n let stateResult = Object.assign({}, state, {\r\n fields: {\r\n ...state.fields,\r\n [action.payload.name]: action.payload.value,\r\n },\r\n fieldErrors: {\r\n ...state.fieldErrors,\r\n [action.payload.name]: action.payload.error,\r\n },\r\n });\r\n return stateResult;\r\n case ActionTypes.YOUR_COURSES_DOWNLOAD_TAX_INVOICE_REQUEST:\r\n case ActionTypes.YOUR_COURSES_DOWNLOAD_CERTIFICATE_REQUEST:\r\n case ActionTypes.YOUR_COURSES_DOWNLOAD_TPF_REQUEST:\r\n case ActionTypes.YOUR_COURSES_LOAD_REQUEST:\r\n return {\r\n ...state,\r\n isProcessing: true,\r\n };\r\n case ActionTypes.YOUR_COURSES_DOWNLOAD_CERTIFICATE_FAILURE:\r\n case ActionTypes.YOUR_COURSES_DOWNLOAD_TAX_INVOICE_SUCCESS:\r\n case ActionTypes.YOUR_COURSES_DOWNLOAD_TAX_INVOICE_FAILURE:\r\n case ActionTypes.YOUR_COURSES_DOWNLOAD_CERTIFICATE_SUCCESS:\r\n case ActionTypes.YOUR_COURSES_DOWNLOAD_TPF_SUCCESS:\r\n case ActionTypes.YOUR_COURSES_DOWNLOAD_TPF_FAILURE:\r\n return {\r\n ...state,\r\n isProcessing: false,\r\n };\r\n case ActionTypes.YOUR_COURSES_LOAD_SUCCESS:\r\n return {\r\n ...state,\r\n isProcessing: false,\r\n hasNswCertificate: action.payload.some(\r\n (course) => course.hasNswCertificate\r\n ),\r\n courses: action.payload,\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default YourCoursesReducer;\r\n\r\n/**\r\n * =================\r\n * Selectors\r\n * =================\r\n */\r\n\r\nexport const selectYourCourses = (state) => state.yourCourses;\r\n","/**\r\n * Action types\r\n */\r\nexport const ActionTypes = {\r\n // Actions\r\n COURSE_CONTENT_LOAD_SECTION_REQUEST: \"COURSE_CONTENT_LOAD_SECTION_REQUEST\",\r\n COURSE_CONTENT_LOAD_SECTION_SUCCESS: \"COURSE_CONTENT_LOAD_SECTION_SUCCESS\",\r\n COURSE_CONTENT_LOAD_SECTION_FAILURE: \"COURSE_CONTENT_LOAD_SECTION_FAILURE\",\r\n\r\n COURSE_CONTENT_TOGGLE_NEXT_PAGE: \"COURSE_CONTENT_TOGGLE_NEXT_PAGE\",\r\n COURSE_CONTENT_TOGGLE_PREVIOUS_PAGE: \"COURSE_CONTENT_TOGGLE_PREVIOUS_PAGE\",\r\n\r\n COURSE_CONTENT_LOAD_QUIZ_REQUEST: \"COURSE_CONTENT_LOAD_QUIZ_REQUEST\",\r\n COURSE_CONTENT_LOAD_QUIZ_SUCCESS: \"COURSE_CONTENT_LOAD_QUIZ_SUCCESS\",\r\n COURSE_CONTENT_LOAD_QUIZ_FAILURE: \"COURSE_CONTENT_LOAD_QUIZ_FAILURE\"\r\n};\r\n","/**\r\n * Action types\r\n */\r\nexport const ActionTypes = {\r\n // Actions\r\n COURSE_QUIZ_LOAD_SECTION_REQUEST: \"COURSE_QUIZ_LOAD_SECTION_REQUEST\",\r\n COURSE_QUIZ_LOAD_SECTION_SUCCESS: \"COURSE_QUIZ_LOAD_SECTION_SUCCESS\",\r\n COURSE_QUIZ_LOAD_SECTION_FAILURE: \"COURSE_QUIZ_LOAD_SECTION_FAILURE\",\r\n\r\n COURSE_QUIZ_SUBMIT_ANSWER_REQUEST: \"COURSE_QUIZ_SUBMIT_ANSWER_REQUEST\",\r\n COURSE_QUIZ_SUBMIT_ANSWER_SUCCESS: \"COURSE_QUIZ_SUBMIT_ANSWER_SUCCESS\",\r\n COURSE_QUIZ_SUBMIT_ANSWER_FAILURE: \"COURSE_QUIZ_SUBMIT_ANSWER_FAILURE\",\r\n\r\n COURSE_QUIZ_CHANGE_SELECTED_ANSWER: \"COURSE_QUIZ_CHANGE_SELECTED_ANSWER\",\r\n COURSE_QUIZ_DROPDOWN_CHANGE_SELECTED_ANSWER:\r\n \"COURSE_QUIZ_DROPDOWN_CHANGE_SELECTED_ANSWER\",\r\n\r\n COURSE_QUIZ_ALLOW_REDIRECT_TO_COURSE_CONTENT:\r\n \"COURSE_QUIZ_ALLOW_REDIRECT_TO_COURSE_CONTENT\",\r\n COURSE_QUIZ_RELOAD_SECTION_99_DATASET_OR_APPLY_ACTION:\r\n \"COURSE_QUIZ_RELOAD_SECTION_99_DATASET_OR_APPLY_ACTION\"\r\n};\r\n","/**\r\n * Course Content Reducer\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\nimport * as QuizActionTypes from \"./../../Course-Quiz/redux/action-types\";\r\n\r\nconst initialState = {\r\n courseId: \"\",\r\n courseName: \"\",\r\n content: [],\r\n totalSections: 0,\r\n totalPages: 0,\r\n\r\n currentSection: 0,\r\n currentPageIndex: 0,\r\n currentSectionContent: \"\",\r\n\r\n allowRedirect: false,\r\n isLoading: false,\r\n error: null,\r\n\r\n sections: [],\r\n};\r\n\r\nfunction CourseContentReducer(state = initialState, action) {\r\n switch (action.type) {\r\n // ----------------------------\r\n // Action Types\r\n // ----------------------------\r\n\r\n case ActionTypes.COURSE_CONTENT_LOAD_SECTION_REQUEST:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n };\r\n\r\n case ActionTypes.COURSE_CONTENT_LOAD_SECTION_SUCCESS:\r\n return {\r\n ...state,\r\n courseId: action.payload.courseId,\r\n courseName: action.payload.courseName,\r\n sections: action.payload.sections,\r\n content: action.payload.content,\r\n totalSections: action.payload.totalSections,\r\n totalPages: action.payload.content.length,\r\n currentSection: action.payload.currentSection,\r\n currentPageIndex: action.payload.currentPageIndex,\r\n currentSectionContent:\r\n action.payload.content[action.payload.currentPageIndex].html,\r\n allowRedirect: false,\r\n isLoading: false,\r\n };\r\n\r\n case ActionTypes.COURSE_CONTENT_LOAD_SECTION_FAILURE:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n };\r\n\r\n case ActionTypes.COURSE_CONTENT_TOGGLE_NEXT_PAGE:\r\n return {\r\n ...state,\r\n currentPageIndex: state.currentPageIndex + 1,\r\n currentSectionContent: state.content[state.currentPageIndex + 1].html,\r\n };\r\n\r\n case ActionTypes.COURSE_CONTENT_TOGGLE_PREVIOUS_PAGE:\r\n return {\r\n ...state,\r\n currentPageIndex: state.currentPageIndex - 1,\r\n currentSectionContent: state.content[state.currentPageIndex - 1].html,\r\n };\r\n\r\n case ActionTypes.COURSE_CONTENT_LOAD_QUIZ_REQUEST:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n };\r\n\r\n case ActionTypes.COURSE_CONTENT_LOAD_QUIZ_SUCCESS:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n };\r\n\r\n case ActionTypes.COURSE_CONTENT_LOAD_QUIZ_FAILURE:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n isLoading: false,\r\n };\r\n\r\n case QuizActionTypes.ActionTypes\r\n .COURSE_QUIZ_ALLOW_REDIRECT_TO_COURSE_CONTENT:\r\n return {\r\n ...state,\r\n allowRedirect: true,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default CourseContentReducer;\r\n\r\n/**\r\n * =================\r\n * Selectors\r\n * =================\r\n */\r\n\r\nexport const selectCourseContent = state => state.courseContent;\r\n","/**\r\n * Course Content Reducer\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\n\r\nconst FINAL_QUIZ_SECTION = 99;\r\n\r\nconst initialState = {\r\n courseId: 0,\r\n courseName: \"\",\r\n totalSections: 0,\r\n\r\n currentSection: 0,\r\n questions: [],\r\n currentQuestionIndex: 0,\r\n totalQuestions: 0,\r\n currentProgress: 0,\r\n currentQuestion: {},\r\n showIncorrectAnswer: false,\r\n selectedIndex: -1,\r\n selectedDropdownIndexes: {},\r\n courseGuideUrl: \"#\",\r\n\r\n isLoading: false,\r\n isFinalQuiz: false\r\n};\r\n\r\nfunction CourseQuizReducer(state = initialState, action) {\r\n switch (action.type) {\r\n // ----------------------------\r\n // Action Types\r\n // ----------------------------\r\n\r\n case ActionTypes.COURSE_QUIZ_LOAD_SECTION_REQUEST:\r\n return {\r\n ...state,\r\n isLoading: true\r\n };\r\n\r\n case ActionTypes.COURSE_QUIZ_LOAD_SECTION_SUCCESS:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n courseId: action.payload.courseId,\r\n courseName: action.payload.courseName,\r\n totalSections: action.payload.totalSections,\r\n currentSection: action.payload.currentSection,\r\n questions: action.payload.questions,\r\n currentQuestionIndex: action.payload.currentQuestion - 1,\r\n currentQuestion:\r\n action.payload.questions[action.payload.currentQuestion - 1],\r\n totalQuestions: action.payload.questions.length,\r\n currentProgress: Math.ceil(\r\n ((action.payload.currentQuestion - 1) /\r\n action.payload.questions.length) *\r\n 100\r\n ),\r\n selectedIndex: -1,\r\n courseGuideUrl: action.payload.courseGuideUrl,\r\n isFinalQuiz: action.payload.currentSection === FINAL_QUIZ_SECTION\r\n };\r\n\r\n case ActionTypes.COURSE_QUIZ_LOAD_SECTION_FAILURE:\r\n return {\r\n ...state,\r\n isLoading: false\r\n };\r\n\r\n case ActionTypes.COURSE_QUIZ_SUBMIT_ANSWER_REQUEST:\r\n return {\r\n ...state,\r\n isLoading: true\r\n };\r\n\r\n case ActionTypes.COURSE_QUIZ_SUBMIT_ANSWER_SUCCESS:\r\n return {\r\n ...state,\r\n currentQuestion: state.questions[action.payload.currentQuestion - 1],\r\n currentProgress: Math.ceil(\r\n ((action.payload.currentQuestion - 1) / state.questions.length) * 100\r\n ),\r\n currentQuestionIndex: action.payload.currentQuestion - 1,\r\n showIncorrectAnswer: false,\r\n selectedIndex: -1,\r\n selectedDropdownIndexes: {},\r\n isLoading: false\r\n };\r\n\r\n case ActionTypes.COURSE_QUIZ_SUBMIT_ANSWER_FAILURE:\r\n return {\r\n ...state,\r\n showIncorrectAnswer: true,\r\n isLoading: false\r\n };\r\n\r\n case ActionTypes.COURSE_QUIZ_CHANGE_SELECTED_ANSWER:\r\n return {\r\n ...state,\r\n selectedIndex: action.payload.selectedIndex,\r\n showIncorrectAnswer: false\r\n };\r\n\r\n case ActionTypes.COURSE_QUIZ_DROPDOWN_CHANGE_SELECTED_ANSWER:\r\n const { title, selectedIndex } = action.payload.selectedObject;\r\n let key = title.replace(/\\s/g, \"\");\r\n\r\n return {\r\n ...state,\r\n selectedDropdownIndexes: {\r\n ...state.selectedDropdownIndexes,\r\n [key]: selectedIndex\r\n }\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default CourseQuizReducer;\r\n\r\n/**\r\n * =================\r\n * Selectors\r\n * =================\r\n */\r\n\r\nexport const selectCourseQuiz = state => state.courseQuiz;\r\n","/**\r\n * Action types\r\n */\r\nexport const ActionTypes = {\r\n // Actions\r\n // CERTIFICATE_REGISTER_TOGGLE_IS_AWESOME_REQUEST:\r\n // \"CERTIFICATE_REGISTER_TOGGLE_IS_AWESOME_REQUEST\",\r\n // CERTIFICATE_REGISTER_TOGGLE_IS_AWESOME_SUCCESS:\r\n // \"CERTIFICATE_REGISTER_TOGGLE_IS_AWESOME_SUCCESS\",\r\n // CERTIFICATE_REGISTER_TOGGLE_IS_AWESOME_FAILURE:\r\n // \"CERTIFICATE_REGISTER_TOGGLE_IS_AWESOME_FAILURE\",\r\n\r\n // Form Actions\r\n CERTIFICATE_REGISTER_FORM_INPUT_CHANGE:\r\n \"CERTIFICATE_REGISTER_FORM_INPUT_CHANGE\"\r\n};\r\n","/**\r\n * Certificate Register Reducer\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\n\r\nconst initialState = {};\r\n\r\nfunction CertificateRegisterReducer(state = initialState, action) {\r\n switch (action.type) {\r\n // ----------------------------\r\n // Action Types\r\n // ----------------------------\r\n\r\n // case ActionTypes.CERTIFICATE_REGISTER_TOGGLE_IS_AWESOME_REQUEST:\r\n // return {\r\n // ...state\r\n // };\r\n\r\n // case ActionTypes.CERTIFICATE_REGISTER_TOGGLE_IS_AWESOME_SUCCESS:\r\n // return {\r\n // ...state,\r\n // isAwesome: !state.isAwesome\r\n // };\r\n\r\n // case ActionTypes.CERTIFICATE_REGISTER_TOGGLE_IS_AWESOME_FAILURE:\r\n // return {\r\n // ...state\r\n // };\r\n\r\n // ----------------------------\r\n // Form Action Types\r\n // ----------------------------\r\n\r\n case ActionTypes.CERTIFICATE_REGISTER_FORM_INPUT_CHANGE:\r\n let stateResult = Object.assign({}, state, {\r\n fields: {\r\n ...state.fields,\r\n [action.payload.name]: action.payload.value\r\n },\r\n fieldErrors: {\r\n ...state.fieldErrors,\r\n [action.payload.name]: action.payload.error\r\n }\r\n });\r\n\r\n return stateResult;\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default CertificateRegisterReducer;\r\n\r\n/**\r\n * =================\r\n * Selectors\r\n * =================\r\n */\r\n\r\nexport const selectCertificateRegister = state => state.certificateRegister;\r\n","/**\r\n * Action types\r\n */\r\nexport const ActionTypes = {\r\n // Actions\r\n // CORPORATE_VOUCHERS_REGISTER_TOGGLE_IS_AWESOME_REQUEST:\r\n // \"CORPORATE_VOUCHERS_REGISTER_TOGGLE_IS_AWESOME_REQUEST\",\r\n // CORPORATE_VOUCHERS_REGISTER_TOGGLE_IS_AWESOME_SUCCESS:\r\n // \"CORPORATE_VOUCHERS_REGISTER_TOGGLE_IS_AWESOME_SUCCESS\",\r\n // CORPORATE_VOUCHERS_REGISTER_TOGGLE_IS_AWESOME_FAILURE:\r\n // \"CORPORATE_VOUCHERS_REGISTER_TOGGLE_IS_AWESOME_FAILURE\",\r\n\r\n // Form Actions\r\n CORPORATE_VOUCHERS_REGISTER_FORM_INPUT_CHANGE:\r\n \"CORPORATE_VOUCHERS_REGISTER_FORM_INPUT_CHANGE\"\r\n};\r\n","/**\r\n * Corporate Vouchers Register Reducer\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\n\r\nconst initialState = {};\r\n\r\nfunction CorporateVouchersRegisterReducer(state = initialState, action) {\r\n switch (action.type) {\r\n // ----------------------------\r\n // Action Types\r\n // ----------------------------\r\n\r\n // case ActionTypes.CORPORATE_VOUCHERS_REGISTER_TOGGLE_IS_AWESOME_REQUEST:\r\n // return {\r\n // ...state\r\n // };\r\n\r\n // case ActionTypes.CORPORATE_VOUCHERS_REGISTER_TOGGLE_IS_AWESOME_SUCCESS:\r\n // return {\r\n // ...state,\r\n // isAwesome: !state.isAwesome\r\n // };\r\n\r\n // case ActionTypes.CORPORATE_VOUCHERS_REGISTER_TOGGLE_IS_AWESOME_FAILURE:\r\n // return {\r\n // ...state\r\n // };\r\n\r\n // ----------------------------\r\n // Form Action Types\r\n // ----------------------------\r\n\r\n case ActionTypes.CORPORATE_VOUCHERS_REGISTER_FORM_INPUT_CHANGE:\r\n let stateResult = Object.assign({}, state, {\r\n fields: {\r\n ...state.fields,\r\n [action.payload.name]: action.payload.value\r\n },\r\n fieldErrors: {\r\n ...state.fieldErrors,\r\n [action.payload.name]: action.payload.error\r\n }\r\n });\r\n\r\n return stateResult;\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default CorporateVouchersRegisterReducer;\r\n\r\n/**\r\n * =================\r\n * Selectors\r\n * =================\r\n */\r\n\r\nexport const selectCorporateVouchersRegister = state =>\r\n state.corporateVouchersRegister;\r\n","/**\r\n * Action types\r\n */\r\nexport const ActionTypes = {\r\n // Actions\r\n THIRD_PARTY_FORM_LOAD_FORM_REQUEST: \"THIRD_PARTY_FORM_LOAD_FORM_REQUEST\",\r\n THIRD_PARTY_FORM_LOAD_FORM_SUCCESS: \"THIRD_PARTY_FORM_LOAD_FORM_SUCCESS\",\r\n THIRD_PARTY_FORM_LOAD_FORM_FAILURE: \"THIRD_PARTY_FORM_LOAD_FORM_FAILURE\",\r\n\r\n // Form Actions\r\n THIRD_PARTY_FORM_FORM_INPUT_CHANGE: \"THIRD_PARTY_FORM_FORM_INPUT_CHANGE\",\r\n\r\n // Update third party form\r\n THIRD_PARTY_FORM_OBSERVER_UPDATE_REQUEST:\r\n \"THIRD_PARTY_FORM_OBSERVER_UPDATE_REQUEST\",\r\n THIRD_PARTY_FORM_OBSERVER_UPDATE_SUCCESS:\r\n \"THIRD_PARTY_FORM_OBSERVER_UPDATE_SUCCESS\",\r\n THIRD_PARTY_FORM_OBSERVER_UPDATE_FAILURE:\r\n \"THIRD_PARTY_FORM_OBSERVER_UPDATE_FAILURE\",\r\n\r\n // For review!!!\r\n // Create third party form\r\n THIRD_PARTY_FORM_OBSERVER_CREATE_REQUEST:\r\n \"THIRD_PARTY_FORM_OBSERVER_CREATE_REQUEST\",\r\n THIRD_PARTY_FORM_OBSERVER_CREATE_SUCCESS:\r\n \"THIRD_PARTY_FORM_OBSERVER_CREATE_SUCCESS\",\r\n THIRD_PARTY_FORM_OBSERVER_CREATE_FAILURE:\r\n \"THIRD_PARTY_FORM_OBSERVER_CREATE_FAILURE\",\r\n\r\n // Confirm Dialog\r\n THIRD_PARTY_SHOW_CONFIRM_EMAIL_OBSERVER:\r\n \"THIRD_PARTY_SHOW_CONFIRM_EMAIL_OBSERVER\",\r\n THIRD_PARTY_HIDE_CONFIRM_EMAIL_OBSERVER:\r\n \"THIRD_PARTY_HIDE_CONFIRM_EMAIL_OBSERVER\",\r\n\r\n THIRD_PARTY_SEND_EMAIL_TO_OBSERVER_REQUEST:\r\n \"THIRD_PARTY_SEND_EMAIL_TO_OBSERVER_REQUEST\",\r\n THIRD_PARTY_SEND_EMAIL_TO_OBSERVER_SUCCESS:\r\n \"THIRD_PARTY_SEND_EMAIL_TO_OBSERVER_SUCCESS\",\r\n THIRD_PARTY_SEND_EMAIL_TO_OBSERVER_FAILURE:\r\n \"THIRD_PARTY_SEND_EMAIL_TO_OBSERVER_FAILURE\",\r\n\r\n THIRD_PARTY_FORM_SAVE_PROGRESS_REQUEST:\r\n \"THIRD_PARTY_FORM_SAVE_PROGRESS_REQUEST\",\r\n THIRD_PARTY_FORM_SAVE_PROGRESS_SUCCESS:\r\n \"THIRD_PARTY_FORM_SAVE_PROGRESS_SUCCESS\",\r\n THIRD_PARTY_FORM_SAVE_PROGRESS_FAILURE:\r\n \"THIRD_PARTY_FORM_SAVE_PROGRESS_FAILURE\",\r\n\r\n THIRD_PARTY_FORM_SHOW_MESSAGE_DIALOG: \"THIRD_PARTY_FORM_SHOW_MESSAGE_DIALOG\",\r\n THIRD_PARTY_FORM_HIDE_MESSAGE_DIALOG: \"THIRD_PARTY_FORM_HIDE_MESSAGE_DIALOG\"\r\n};\r\n","/**\r\n * Third Party Form Reducer\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\n\r\nconst initialState = {\r\n courseId: \"\",\r\n courseName: \"\",\r\n certificateCodes: [],\r\n unitOfCompetencies: [],\r\n studentFirstName: \"\",\r\n studentLastName: \"\",\r\n tasks: [],\r\n accessToken: \"\",\r\n showForm: false,\r\n thirdPartyFormAdditionalContent: null,\r\n thirdPartyFormVersion: 0,\r\n\r\n fields: {\r\n observerFirstName: \"\",\r\n observerLastName: \"\",\r\n observerEmail: \"\",\r\n studentPerformanceSatisfactory: \"\",\r\n additionalComments: \"\",\r\n confirmThirdPartyDeclaration: \"false\",\r\n signature: \"\",\r\n },\r\n fieldErrors: {},\r\n\r\n // For confirmation\r\n showConfirmModal: false,\r\n\r\n // For messaging Dialog\r\n showMessageDialog: false,\r\n showMessageDialogMessage: \"\",\r\n\r\n // For the Sample Form link\r\n isSampleForm: false,\r\n\r\n isLoading: false,\r\n isLoadingObserverButton: false, // Update details button loading\r\n isLoadingObserverSection: false, // Observer section\r\n isLoadingForSaveProgress: false, // For save progress\r\n isLoadingForSubmit: false, // For submit button\r\n error: null,\r\n};\r\n\r\nfunction ThirdPartyFormReducer(state = initialState, action) {\r\n switch (action.type) {\r\n // ----------------------------\r\n // Action Types\r\n // ----------------------------\r\n\r\n case ActionTypes.THIRD_PARTY_FORM_LOAD_FORM_REQUEST:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n };\r\n\r\n case ActionTypes.THIRD_PARTY_FORM_LOAD_FORM_SUCCESS:\r\n let taskResProps = {};\r\n // Load responses\r\n if (action.payload.thirdPartyFormResponses.taskResponses) {\r\n const { taskResponses } = action.payload.thirdPartyFormResponses;\r\n\r\n action.payload.tasks.forEach((o) => {\r\n let responseFindResult = taskResponses.find(\r\n (f) => f.taskId == o.taskId\r\n );\r\n\r\n let response = null;\r\n if (responseFindResult && responseFindResult.response !== null)\r\n response = responseFindResult.response ? \"true\" : \"false\";\r\n\r\n taskResProps[`task-${o.taskId}`] = response;\r\n taskResProps[`task-details-${o.taskId}`] = responseFindResult\r\n ? responseFindResult.comments\r\n : null;\r\n });\r\n }\r\n\r\n const {\r\n courseId,\r\n studentFirstName,\r\n studentLastName,\r\n accessToken,\r\n observerFirstName,\r\n observerLastName,\r\n observerEmail,\r\n studentPerformanceSatisfactory,\r\n additionalComments,\r\n confirmThirdPartyDeclaration,\r\n signature,\r\n thirdPartyFormVersion,\r\n isSampleForm,\r\n showForm,\r\n thirdPartyFormAdditionalContent,\r\n } = action.payload.thirdPartyFormResponses;\r\n\r\n return {\r\n ...state,\r\n courseId: courseId,\r\n courseName: action.payload.courseName,\r\n certificateCodes: action.payload.certificateCodes,\r\n unitOfCompetencies: action.payload.unitOfCompetencies,\r\n tasks: action.payload.tasks.filter(\r\n (x) => x.version === thirdPartyFormVersion\r\n ),\r\n studentFirstName: studentFirstName,\r\n studentLastName: studentLastName,\r\n accessToken: accessToken,\r\n isLoading: false,\r\n isSampleForm: isSampleForm,\r\n showForm: showForm,\r\n thirdPartyFormAdditionalContent: thirdPartyFormAdditionalContent,\r\n thirdPartyFormVersion: thirdPartyFormVersion,\r\n fields: {\r\n ...state.fields,\r\n observerFirstName: observerFirstName,\r\n observerLastName: observerLastName,\r\n observerEmail: observerEmail,\r\n studentPerformanceSatisfactory:\r\n studentPerformanceSatisfactory === null\r\n ? null\r\n : studentPerformanceSatisfactory\r\n ? \"1\"\r\n : \"0\",\r\n additionalComments: additionalComments,\r\n confirmThirdPartyDeclaration: \"\" + confirmThirdPartyDeclaration, // the \"\" + is required to set the value as text\r\n signature: signature,\r\n ...taskResProps,\r\n },\r\n };\r\n\r\n case ActionTypes.THIRD_PARTY_FORM_LOAD_FORM_FAILURE:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n };\r\n\r\n case ActionTypes.THIRD_PARTY_FORM_OBSERVER_UPDATE_REQUEST:\r\n return {\r\n ...state,\r\n isLoadingObserverButton: true,\r\n };\r\n\r\n case ActionTypes.THIRD_PARTY_FORM_OBSERVER_UPDATE_SUCCESS:\r\n return {\r\n ...state,\r\n isLoadingObserverButton: false,\r\n };\r\n\r\n case ActionTypes.THIRD_PARTY_FORM_OBSERVER_UPDATE_FAILURE:\r\n return {\r\n ...state,\r\n isLoadingObserverButton: false,\r\n error: action.payload,\r\n };\r\n\r\n case ActionTypes.THIRD_PARTY_SHOW_CONFIRM_EMAIL_OBSERVER:\r\n return {\r\n ...state,\r\n showConfirmModal: true,\r\n };\r\n\r\n case ActionTypes.THIRD_PARTY_HIDE_CONFIRM_EMAIL_OBSERVER:\r\n return {\r\n ...state,\r\n showConfirmModal: false,\r\n };\r\n\r\n case ActionTypes.THIRD_PARTY_SEND_EMAIL_TO_OBSERVER_REQUEST:\r\n return {\r\n ...state,\r\n isLoadingObserverSection: true,\r\n showConfirmModal: false,\r\n };\r\n\r\n case ActionTypes.THIRD_PARTY_SEND_EMAIL_TO_OBSERVER_SUCCESS:\r\n return {\r\n ...state,\r\n isLoadingObserverSection: false,\r\n };\r\n\r\n case ActionTypes.THIRD_PARTY_SEND_EMAIL_TO_OBSERVER_FAILURE:\r\n return {\r\n ...state,\r\n isLoadingObserverSection: false,\r\n error: action.payload,\r\n };\r\n\r\n case ActionTypes.THIRD_PARTY_FORM_SHOW_MESSAGE_DIALOG:\r\n return {\r\n ...state,\r\n showMessageDialogMessage: action.payload,\r\n showMessageDialog: true,\r\n };\r\n\r\n case ActionTypes.THIRD_PARTY_FORM_HIDE_MESSAGE_DIALOG:\r\n return {\r\n ...state,\r\n showMessageDialog: false,\r\n };\r\n\r\n case ActionTypes.THIRD_PARTY_FORM_SAVE_PROGRESS_REQUEST:\r\n if (!action.payload.submitCaller) {\r\n return {\r\n ...state,\r\n isLoadingForSaveProgress: true,\r\n };\r\n }\r\n\r\n return {\r\n ...state,\r\n isLoadingForSubmit: true,\r\n };\r\n\r\n case ActionTypes.THIRD_PARTY_FORM_SAVE_PROGRESS_SUCCESS:\r\n if (!action.payload.submitCaller) {\r\n return {\r\n ...state,\r\n isLoadingForSaveProgress: false,\r\n };\r\n }\r\n return {\r\n ...state,\r\n isLoadingForSubmit: false,\r\n };\r\n\r\n case ActionTypes.THIRD_PARTY_FORM_SAVE_PROGRESS_FAILURE:\r\n if (!action.payload.submitCaller) {\r\n return {\r\n ...state,\r\n isLoadingForSaveProgress: false,\r\n error: action.payload.error,\r\n };\r\n }\r\n\r\n return {\r\n ...state,\r\n isLoadingForSubmit: false,\r\n error: action.payload.error,\r\n };\r\n // ----------------------------\r\n // Form Action Types\r\n // ----------------------------\r\n\r\n case ActionTypes.THIRD_PARTY_FORM_FORM_INPUT_CHANGE:\r\n let stateResult = Object.assign({}, state, {\r\n fields: {\r\n ...state.fields,\r\n [action.payload.name]: action.payload.value,\r\n },\r\n fieldErrors: {\r\n ...state.fieldErrors,\r\n [action.payload.name]: action.payload.error,\r\n },\r\n });\r\n\r\n return stateResult;\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default ThirdPartyFormReducer;\r\n\r\n/**\r\n * =================\r\n * Selectors\r\n * =================\r\n */\r\n\r\nexport const selectThirdPartyForm = (state) => state.thirdPartyForm;\r\n","export const ActionTypes = {\r\n UPDATE_PROFILE_FORM_INPUT_CHANGE: \"UPDATE_PROFILE_FORM_INPUT_CHANGE\",\r\n UPDATE_PROFILE_ON_SUBMIT: \"UPDATE_PROFILE_ON_SUBMIT\",\r\n UPDATE_PROFILE_ON_SUBMIT_SUCCESS: \"UPDATE_PROFILE_ON_SUBMIT_SUCCESS\",\r\n UPDATE_PROFILE_ON_SUBMIT_FAILURE: \"UPDATE_PROFILE_ON_SUBMIT_FAILURE\",\r\n\r\n UPDATE_PROFILE_ON_LOAD: \"UPDATE_PROFILE_ON_LOAD\",\r\n UPDATE_PROFILE_ON_LOAD_SUCCESS: \"UPDATE_PROFILE_ON_LOAD_SUCCESS\",\r\n UPDATE_PROFILE_ON_LOAD_FAILURE: \"UPDATE_PROFILE_ON_LOAD_FAILURE\"\r\n};\r\n","import { ActionTypes } from \"./action-types\";\r\n\r\nconst initialState = {\r\n fields: {\r\n firstName: null,\r\n lastName: null,\r\n email: null,\r\n },\r\n isSubmitting: false,\r\n isSubmitted: false,\r\n fieldErrors: {},\r\n};\r\n\r\nfunction UpdateProfileReducer(state = initialState, action) {\r\n switch (action.type) {\r\n case ActionTypes.UPDATE_PROFILE_FORM_INPUT_CHANGE:\r\n let stateResult = Object.assign({}, state, {\r\n fields: {\r\n ...state.fields,\r\n [action.payload.name]: action.payload.value,\r\n },\r\n fieldErrors: {\r\n ...state.fieldErrors,\r\n [action.payload.name]: action.payload.error,\r\n },\r\n });\r\n return stateResult;\r\n case ActionTypes.UPDATE_PROFILE_ON_SUBMIT:\r\n return {\r\n ...state,\r\n isSubmitting: true,\r\n };\r\n case ActionTypes.UPDATE_PROFILE_ON_SUBMIT_SUCCESS:\r\n return {\r\n ...state,\r\n isSubmitting: false,\r\n isSubmitted: true,\r\n };\r\n case ActionTypes.UPDATE_PROFILE_ON_SUBMIT_FAILURE:\r\n return {\r\n ...state,\r\n isSubmitting: false,\r\n };\r\n case ActionTypes.UPDATE_PROFILE_ON_LOAD:\r\n return {\r\n ...state,\r\n isSubmitting: true,\r\n };\r\n case ActionTypes.UPDATE_PROFILE_ON_LOAD_SUCCESS:\r\n return {\r\n ...state,\r\n isSubmitting: false,\r\n fields: action.payload,\r\n };\r\n case ActionTypes.UPDATE_PROFILE_ON_LOAD_FAILURE:\r\n return {\r\n ...state,\r\n isSubmitting: false,\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default UpdateProfileReducer;\r\n\r\nexport const selectUpdateProfile = (state) => state.updateProfile;\r\n","export const ActionTypes = {\r\n CHANGE_PASSWORD_ON_SUBMIT: \"CHANGE_PASSWORD_ON_SUBMIT\",\r\n CHANGE_PASSWORD_ON_SUCCESS: \"CHANGE_PASSWORD_ON_SUCCESS\",\r\n CHANGE_PASSWORD_ON_FAILURE: \"CHANGE_PASSWORD_ON_FAILURE\",\r\n CHANGE_PASSWORD_FORM_INPUT_CHANGE: \"CHANGE_PASSWORD_FORM_INPUT_CHANGE\"\r\n};\r\n","import { ActionTypes } from \"./action-types\";\r\n\r\nconst initialState = {\r\n fields: {\r\n password: null,\r\n oldPassword: null,\r\n confirmPassword: null\r\n },\r\n isSubmitting: false,\r\n isSubmitted: false,\r\n fieldErrors: {}\r\n};\r\n\r\nfunction ChangePasswordReducer(state = initialState, action) {\r\n switch (action.type) {\r\n case ActionTypes.CHANGE_PASSWORD_FORM_INPUT_CHANGE:\r\n let stateResult = Object.assign({}, state, {\r\n fields: {\r\n ...state.fields,\r\n [action.payload.name]: action.payload.value\r\n },\r\n fieldErrors: {\r\n ...state.fieldErrors,\r\n [action.payload.name]: action.payload.error\r\n }\r\n });\r\n return stateResult;\r\n case ActionTypes.CHANGE_PASSWORD_ON_SUBMIT:\r\n return {\r\n ...state,\r\n isSubmitting: true\r\n };\r\n case ActionTypes.CHANGE_PASSWORD_ON_SUCCESS:\r\n return {\r\n ...state,\r\n isSubmitted: true,\r\n isSubmitting: false\r\n };\r\n case ActionTypes.CHANGE_PASSWORD_ON_FAILURE:\r\n return {\r\n ...state,\r\n isSubmitting: false\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default ChangePasswordReducer;\r\n\r\nexport const selectChangePassword = state => state.changePassword;\r\n","/**\r\n * Action types\r\n */\r\nexport const ActionTypes = {\r\n // Actions\r\n FORGOT_PASSWORD_RESET_REQUEST: \"FORGOT_PASSWORD_RESET_REQUEST\",\r\n FORGOT_PASSWORD_RESET_SUCCESS: \"FORGOT_PASSWORD_RESET_SUCCESS\",\r\n FORGOT_PASSWORD_RESET_FAILURE: \"FORGOT_PASSWORD_RESET_FAILURE\",\r\n\r\n // Form Actions\r\n FORGOT_PASSWORD_INPUT_CHANGE: \"FORGOT_PASSWORD_INPUT_CHANGE\"\r\n};\r\n","/**\r\n * Register Box Reducer\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\n\r\nconst initialState = {\r\n isLoading: false,\r\n isSubmitted: false,\r\n submittedTo: \"\",\r\n fields: {\r\n email: \"\"\r\n },\r\n fieldErrors: {}\r\n};\r\n\r\nfunction ForgotPasswordReducer(state = initialState, action) {\r\n switch (action.type) {\r\n // ----------------------------\r\n // Action Types\r\n // ----------------------------\r\n\r\n case ActionTypes.FORGOT_PASSWORD_RESET_REQUEST:\r\n return {\r\n ...state,\r\n isLoading: true\r\n };\r\n\r\n case ActionTypes.FORGOT_PASSWORD_RESET_SUCCESS:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n isSubmitted: true,\r\n submittedTo: state.fields.email,\r\n fields: initialState.fields\r\n };\r\n\r\n case ActionTypes.FORGOT_PASSWORD_RESET_FAILURE:\r\n return {\r\n ...state,\r\n isLoading: false\r\n };\r\n\r\n // ----------------------------\r\n // Form Action Types\r\n // ----------------------------\r\n\r\n case ActionTypes.FORGOT_PASSWORD_INPUT_CHANGE:\r\n let stateResult = Object.assign({}, state, {\r\n fields: {\r\n ...state.fields,\r\n [action.payload.name]: action.payload.value\r\n },\r\n fieldErrors: {\r\n ...state.fieldErrors,\r\n [action.payload.name]: action.payload.error\r\n },\r\n isSubmitted: false,\r\n submittedTo: \"\"\r\n });\r\n\r\n return stateResult;\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default ForgotPasswordReducer;\r\n\r\n/**\r\n * =================\r\n * Selectors\r\n * =================\r\n */\r\n\r\nexport const selectForgotPassword = state => state.forgotPassword;\r\n","/**\r\n * Action types\r\n */\r\nexport const ActionTypes = {\r\n // Actions\r\n FORGOT_PASSWORD_APPLY_RESET_REQUEST: \"FORGOT_PASSWORD_APPLY_RESET_REQUEST\",\r\n FORGOT_PASSWORD_APPLY_RESET_SUCCESS: \"FORGOT_PASSWORD_APPLY_RESET_SUCCESS\",\r\n FORGOT_PASSWORD_APPLY_RESET_FAILURE: \"FORGOT_PASSWORD_APPLY_RESET_FAILURE\",\r\n\r\n // Form Actions\r\n FORGOT_PASSWORD_APPLY_RESET_INPUT_CHANGE:\r\n \"FORGOT_PASSWORD_APPLY_RESET_INPUT_CHANGE\"\r\n};\r\n","/**\r\n * Reset Password Reducer\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\n\r\nconst initialState = {\r\n isLoading: false,\r\n fields: {\r\n password: \"\",\r\n confirmPassword: \"\"\r\n },\r\n fieldErrors: {}\r\n};\r\n\r\nfunction ResetPasswordReducer(state = initialState, action) {\r\n switch (action.type) {\r\n // ----------------------------\r\n // Action Types\r\n // ----------------------------\r\n\r\n case ActionTypes.FORGOT_PASSWORD_RESET_REQUEST:\r\n return {\r\n ...state,\r\n isLoading: true\r\n };\r\n\r\n case ActionTypes.FORGOT_PASSWORD_RESET_SUCCESS:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n isSubmitted: true\r\n };\r\n\r\n case ActionTypes.FORGOT_PASSWORD_RESET_FAILURE:\r\n return {\r\n ...state,\r\n isLoading: false\r\n };\r\n\r\n // ----------------------------\r\n // Form Action Types\r\n // ----------------------------\r\n\r\n case ActionTypes.FORGOT_PASSWORD_APPLY_RESET_INPUT_CHANGE:\r\n let stateResult = Object.assign({}, state, {\r\n fields: {\r\n ...state.fields,\r\n [action.payload.name]: action.payload.value\r\n },\r\n fieldErrors: {\r\n ...state.fieldErrors,\r\n [action.payload.name]: action.payload.error\r\n }\r\n });\r\n\r\n return stateResult;\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default ResetPasswordReducer;\r\n\r\n/**\r\n * =================\r\n * Selectors\r\n * =================\r\n */\r\n\r\nexport const selectResetPassword = state => state.resetPassword;\r\n","export const ActionTypes = {\r\n NSW_REPRINT_LOAD_COURSE_DETAILS_REQUEST:\r\n \"NSW_REPRINTT_LOAD_COURSE_DETAILS_REQUEST\",\r\n NSW_REPRINT_LOAD_COURSE_DETAILS_SUCCESS:\r\n \"ENSW_REPRINT_LOAD_COURSE_DETAILS_SUCCESS\",\r\n NSW_REPRINT_LOAD_COURSE_DETAILS_FAILURE:\r\n \"NSW_REPRINT_LOAD_COURSE_DETAILS_FAILURE\",\r\n\r\n NSW_REPRINT_AUTOCOMPLETE_ADDRESS_UPDATE:\r\n \"NSW_REPRINT_AUTOCOMPLETE_ADDRESS_UPDATE\",\r\n\r\n NSW_REPRINT_INIT: \"NSW_REPRINT_INIT\",\r\n NSW_REPRINT_CLEAR_ADDRESS: \"NSW_REPRINT_CLEAR_ADDRESS\",\r\n NSW_REPRINT_TOGGLE_MANUAL_ADDRESS_ENTRY:\r\n \"NSW_REPRINT_TOGGLE_MANUAL_ADDRESS_ENTRY\",\r\n NSW_REPRINT_TOGGLE_PROMO_CODE_ENTRY:\r\n \"NSW_REPRINT_TOGGLE_PROMO_CODE_ENTRY\",\r\n NSW_REPRINT_SUBMIT_ENROLMENT_REQUEST:\r\n \"NSW_REPRINT_SUBMIT_ENROLMENT_REQUEST\",\r\n NSW_REPRINT_SUBMIT_ENROLMENT_SUCCESS:\r\n \"NSW_REPRINT_SUBMIT_ENROLMENT_SUCCESS\",\r\n NSW_REPRINT_SUBMIT_ENROLMENT_FAILURE:\r\n \"NSW_REPRINT_SUBMIT_ENROLMENT_FAILURE\",\r\n NSW_REPRINT_SET_CARD_VALIDITY: \"NSW_REPRINT_SET_CARD_VALIDITY\",\r\n NSW_REPRINT_SHOW_MANUAL_ADDRESS_ENTRY:\r\n \"NSW_REPRINT_SHOW_MANUAL_ADDRESS_ENTRY\",\r\n NSW_REPRINT_FORM_INPUT_CHANGE: \"NSW_REPRINT_FORM_INPUT_CHANGE\",\r\n NSW_REPRINT_SHOW_CONFIRM_POPUP: \"NSW_REPRINT_SHOW_CONFIRM_POPUP\",\r\n };\r\n","import { ActionTypes } from \"./action-types\";\r\n\r\nconst initialState = {\r\n addressEntry: {\r\n displayAutocompleteAddressField: false,\r\n enterAddressManually: false,\r\n showSearchAddress: true,\r\n fullAddress: \"\",\r\n },\r\n nswCertificate: {\r\n courseId: 7,\r\n courseTitle: \"The NSW Food Safety Supervisor Certificate Reprint\",\r\n courseCost: 45,\r\n },\r\n fields: {\r\n unitNumber: \"\",\r\n streetNumber: \"\",\r\n streetName: \"\",\r\n city: \"\",\r\n state: \"\",\r\n postcode: \"\",\r\n cardNumber: null,\r\n cardExpiryDate: null,\r\n cardName: \"\",\r\n cardCvc: null,\r\n email: \"\",\r\n },\r\n isCreditCardValid: false,\r\n fieldErrors: {},\r\n isSubmitting: false,\r\n isSubmitted: false,\r\n showConfirmPopup: true,\r\n};\r\n\r\nfunction Step1Reducer(state = initialState, action) {\r\n switch (action.type) {\r\n case ActionTypes.NSW_REPRINT_GOOGLE_AUTOCOMPLETE_SCRIPT_REQUEST:\r\n return {\r\n ...state,\r\n };\r\n\r\n case ActionTypes.NSW_REPRINT_CLEAR_ADDRESS:\r\n return {\r\n ...state,\r\n addressEntry: {\r\n ...state.addressEntry,\r\n fullAddress: \"\",\r\n },\r\n fields: {\r\n ...state.fields,\r\n unitNumber: \"\",\r\n streetNumber: \"\",\r\n streetName: \"\",\r\n city: \"\",\r\n state: \"\",\r\n postcode: \"\",\r\n },\r\n };\r\n case ActionTypes.NSW_REPRINT_INIT:\r\n return {\r\n ...state,\r\n addressEntry: {\r\n displayAutocompleteAddressField: false,\r\n enterAddressManually: false,\r\n showSearchAddress: true,\r\n fullAddress: \"\",\r\n },\r\n hasPromoCode: false,\r\n fields: {\r\n unitNumber: \"\",\r\n streetNumber: \"\",\r\n streetName: \"\",\r\n city: \"\",\r\n state: \"\",\r\n postcode: \"\",\r\n cardNumber: null,\r\n cardExpiryDate: null,\r\n cardName: \"\",\r\n cardCvc: null,\r\n email: \"\",\r\n promoCode: \"\",\r\n },\r\n isCreditCardValid: false,\r\n fieldErrors: {},\r\n isSubmitting: false,\r\n isSubmitted: false,\r\n };\r\n case ActionTypes.NSW_REPRINT_SET_CARD_VALIDITY:\r\n return {\r\n ...state,\r\n isCreditCardValid: action.payload,\r\n };\r\n\r\n case ActionTypes.NSW_REPRINT_AUTOCOMPLETE_ADDRESS_UPDATE:\r\n return {\r\n ...state,\r\n addressEntry: {\r\n ...state.addressEntry,\r\n fullAddress: action.payload.fullAddress,\r\n enterAddressManually: false,\r\n },\r\n fields: {\r\n ...state.fields,\r\n unitNumber: `${(\r\n action.payload.subdwelling +\r\n \" \" +\r\n action.payload.buildingName\r\n ).trim()}`,\r\n streetNumber: action.payload.streetNumber,\r\n streetName: action.payload.street,\r\n city: action.payload.locality,\r\n state: action.payload.state,\r\n postcode: action.payload.postcode,\r\n },\r\n };\r\n\r\n case ActionTypes.NSW_REPRINT_TOGGLE_MANUAL_ADDRESS_ENTRY:\r\n return {\r\n ...state,\r\n addressEntry: {\r\n ...state.addressEntry,\r\n enterAddressManually: !state.addressEntry.enterAddressManually,\r\n },\r\n };\r\n\r\n case ActionTypes.NSW_REPRINT_SHOW_MANUAL_ADDRESS_ENTRY:\r\n return {\r\n ...state,\r\n addressEntry: {\r\n ...state.addressEntry,\r\n enterAddressManually: true,\r\n },\r\n };\r\n\r\n case ActionTypes.NSW_REPRINT_TOGGLE_PROMO_CODE_ENTRY:\r\n return {\r\n ...state,\r\n hasPromoCode: !state.hasPromoCode,\r\n fields: {\r\n ...state.fields,\r\n cardNumber: null,\r\n cardExpiryDate: null,\r\n cardCvc: null,\r\n cardName: \"\",\r\n promoCode: \"\",\r\n },\r\n isCreditCardValid: false,\r\n };\r\n\r\n case ActionTypes.NSW_REPRINT_SUBMIT_ENROLMENT_REQUEST:\r\n return {\r\n ...state,\r\n isSubmitting: true,\r\n isSubmitted: false,\r\n };\r\n\r\n case ActionTypes.NSW_REPRINT_SUBMIT_ENROLMENT_SUCCESS:\r\n return {\r\n ...state,\r\n isSubmitting: false,\r\n isSubmitted: true,\r\n };\r\n\r\n case ActionTypes.NSW_REPRINT_SUBMIT_ENROLMENT_FAILURE:\r\n return {\r\n ...state,\r\n isSubmitting: false,\r\n isSubmitted: false,\r\n };\r\n\r\n case ActionTypes.NSW_REPRINT_FORM_INPUT_CHANGE:\r\n let stateResultInput = Object.assign({}, state, {\r\n fields: {\r\n ...state.fields,\r\n [action.payload.name]: action.payload.value,\r\n },\r\n fieldErrors: {\r\n ...state.fieldErrors,\r\n [action.payload.name]: action.payload.error,\r\n },\r\n });\r\n return stateResultInput;\r\n\r\n case ActionTypes.NSW_REPRINT_SHOW_CONFIRM_POPUP:\r\n return {\r\n ...state,\r\n showConfirmPopup: false,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default Step1Reducer;\r\n\r\nexport const selectNSWReprint = (state) => state.nswReprint;\r\n","export const ActionTypes = {\r\n CORPORATE_TAX_INVOICE_ON_INIT: \"CORPORATE_TAX_INVOICE_ON_INIT\",\r\n CORPORATE_TAX_INVOICE_ON_LOAD_REQUEST:\r\n \"CORPORATE_TAX_INVOICE_ON_LOAD_REQUEST\",\r\n CORPORATE_TAX_INVOICE_ON_LOAD_SUCCESS:\r\n \"CORPORATE_TAX_INVOICE_ON_LOAD_SUCCESS\",\r\n CORPORATE_TAX_INVOICE_ON_LOAD_FAILURE:\r\n \"CORPORATE_TAX_INVOICE_ON_LOAD_FAILURE\",\r\n\r\n CORPORATE_TAX_INVOICE_DOWNLOAD_REQUEST:\r\n \"CORPORATE_TAX_INVOICE_DOWNLOAD_REQUEST\",\r\n CORPORATE_TAX_INVOICE_DOWNLOAD_SUCCESS:\r\n \"CORPORATE_TAX_INVOICE_DOWNLOAD_SUCCESS\",\r\n CORPORATE_TAX_INVOICE_DOWNLOAD_FAILURE:\r\n \"CORPORATE_TAX_INVOICE_DOWNLOAD_FAILURE\"\r\n};\r\n","import { ActionTypes } from \"./action-types\";\r\nimport DateService from \"../../../services/date-service\";\r\n\r\nconst initialState = {\r\n data: [],\r\n isProcessing: false\r\n};\r\n\r\nfunction UpdateProfileReducer(state = initialState, action) {\r\n switch (action.type) {\r\n case ActionTypes.CORPORATE_TAX_INVOICE_ON_INIT:\r\n return {\r\n ...state,\r\n data: [],\r\n isProcessing: false\r\n };\r\n case ActionTypes.CORPORATE_TAX_INVOICE_DOWNLOAD_REQUEST:\r\n case ActionTypes.CORPORATE_TAX_INVOICE_ON_LOAD_REQUEST:\r\n return {\r\n ...state,\r\n isProcessing: true\r\n };\r\n case ActionTypes.CORPORATE_TAX_INVOICE_ON_LOAD_SUCCESS:\r\n return {\r\n ...state,\r\n isProcessing: false,\r\n data: action.payload.map(tax => {\r\n return {\r\n ...tax,\r\n invoiceDate: DateService().formatDateFromString(\r\n tax.invoiceDate,\r\n \"DD/MM/YYYY\"\r\n ),\r\n total: `$${tax.total}.00`\r\n };\r\n })\r\n };\r\n case ActionTypes.CORPORATE_TAX_INVOICE_DOWNLOAD_SUCCESS:\r\n case ActionTypes.CORPORATE_TAX_INVOICE_DOWNLOAD_FAILURE:\r\n case ActionTypes.CORPORATE_TAX_INVOICE_ON_LOAD_FAILURE:\r\n return {\r\n ...state,\r\n isProcessing: false\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default UpdateProfileReducer;\r\n\r\nexport const selectCorporateTaxInvoice = state => state.corporateTaxInvoice;\r\n","export const ActionTypes = {\r\n CORPORATE_VOUCHERS_ON_INIT: \"CORPORATE_VOUCHERS_ON_INIT\",\r\n CORPORATE_VOUCHERS_ON_LOAD_REQUEST: \"CORPORATE_VOUCHERS_ON_LOAD_REQUEST\",\r\n CORPORATE_VOUCHERS_ON_LOAD_SUCCESS: \"CORPORATE_VOUCHERS_ON_LOAD_SUCCESS\",\r\n CORPORATE_VOUCHERS_ON_LOAD_FAILURE: \"CORPORATE_VOUCHERS_ON_LOAD_FAILURE\",\r\n\r\n CORPORATE_VOUCHERS_SHOW_EMAIL_DIALOG: \"CORPORATE_VOUCHERS_SHOW_EMAIL_DIALOG\",\r\n CORPORATE_VOUCHERS_SET_DETAILS_FORM_EMAIL:\r\n \"CORPORATE_VOUCHERS_SET_DETAILS_FORM_EMAIL\",\r\n\r\n CORPORATE_VOUCHERS_DOWNLOAD_CERTIFICATE_REQUEST:\r\n \"CORPORATE_VOUCHERS_DOWNLOAD_CERTIFICATE_REQUEST\",\r\n CORPORATE_VOUCHERS_DOWNLOAD_CERTIFICATE_SUCCESS:\r\n \"CORPORATE_VOUCHERS_DOWNLOAD_CERTIFICATE_SUCCESS\",\r\n CORPORATE_VOUCHERS_DOWNLOAD_CERTIFICATE_FAILURE:\r\n \"CORPORATE_VOUCHERS_DOWNLOAD_CERTIFICATE_FAILURE\",\r\n\r\n CORPORATE_VOUCHERS_SEND_EMAIL_REQUEST:\r\n \"CORPORATE_VOUCHERS_SEND_EMAIL_REQUEST\",\r\n CORPORATE_VOUCHERS_SEND_EMAIL_SUCCESS:\r\n \"CORPORATE_VOUCHERS_SEND_EMAIL_SUCCESS\",\r\n CORPORATE_VOUCHERS_SEND_EMAIL_FAILURE:\r\n \"CORPORATE_VOUCHERS_SEND_EMAIL_FAILURE\",\r\n\r\n CORPORATE_VOUCHERS_DOWNLOAD_TPF_REQUEST:\r\n \"CORPORATE_VOUCHERS_DOWNLOAD_TPF_REQUEST\",\r\n CORPORATE_VOUCHERS_DOWNLOAD_TPF_SUCCESS:\r\n \"CORPORATE_VOUCHERS_DOWNLOAD_TPF_SUCCESS\",\r\n CORPORATE_VOUCHERS_DOWNLOAD_TPF_FAILURE:\r\n \"CORPORATE_VOUCHERS_DOWNLOAD_TPF_FAILURE\",\r\n};\r\n","export const courses = [\r\n {\r\n id: 6,\r\n courseTitle: \"NSW Food Safety Supervisor Certificate\",\r\n courseCost: 179,\r\n orderPriority: 0,\r\n courseCodes: \"SITXFSA005, SITXFSA006\",\r\n },\r\n {\r\n id: 2,\r\n courseTitle: \"Food Handling Level 1\",\r\n courseCost: 55,\r\n orderPriority: 1,\r\n courseCodes: \"SITXFSA005\",\r\n },\r\n {\r\n id: 3,\r\n courseTitle: \"Food Handling Level 2\",\r\n courseCost: 89,\r\n orderPriority: 2,\r\n courseCodes: \"SITXFSA006\",\r\n },\r\n {\r\n id: 4,\r\n courseTitle: \"Food Safety Supervisor Hospitality & Retail\",\r\n courseCost: 139,\r\n orderPriority: 3,\r\n courseCodes: \"SITXFSA005, SITXFSA006\",\r\n },\r\n {\r\n id: 1008,\r\n courseTitle: \"Food Safety Supervisor Health & Community\",\r\n courseCost: 198,\r\n orderPriority: 4,\r\n courseCodes: \"HLTFSE001, HLTFSE005, HLTFSE007\",\r\n },\r\n {\r\n id: 1009,\r\n courseTitle: \"Food Handling Level 1 - Health & Community\",\r\n courseCost: 50,\r\n orderPriority: 5,\r\n courseCodes: \"HLTFSE001\",\r\n },\r\n {\r\n id: 8,\r\n courseTitle: \"NSW Refresher Course\",\r\n courseCost: 149,\r\n orderPriority: 6,\r\n courseCodes: \"SITXFSA005, SITXFSA006\",\r\n },\r\n];\r\n","import { ActionTypes } from \"./action-types\";\r\nimport DateService from \"../../../services/date-service\";\r\nimport * as CorporateConstants from \"../../Start/corporate-constants\";\r\n\r\nconst initialState = {\r\n data: [],\r\n showEmailAddressDialog: false,\r\n emailDetails: null,\r\n isProcessing: false,\r\n};\r\n\r\nfunction CorporateVouchersReducer(state = initialState, action) {\r\n switch (action.type) {\r\n case ActionTypes.CORPORATE_VOUCHERS_ON_INIT:\r\n return {\r\n ...state,\r\n data: [],\r\n showEmailAddressDialog: false,\r\n emailDetails: null,\r\n isProcessing: false,\r\n };\r\n case ActionTypes.CORPORATE_VOUCHERS_SEND_EMAIL_REQUEST:\r\n return {\r\n ...state,\r\n isProcessing: true,\r\n };\r\n case ActionTypes.CORPORATE_VOUCHERS_SEND_EMAIL_SUCCESS:\r\n return {\r\n ...state,\r\n showEmailAddressDialog: false,\r\n emailDetails: null,\r\n isProcessing: false,\r\n };\r\n case ActionTypes.CORPORATE_VOUCHERS_SEND_EMAIL_FAILURE:\r\n return {\r\n ...state,\r\n isProcessing: false,\r\n };\r\n case ActionTypes.CORPORATE_VOUCHERS_SHOW_EMAIL_DIALOG:\r\n return {\r\n ...state,\r\n showEmailAddressDialog: !state.showEmailAddressDialog,\r\n };\r\n case ActionTypes.CORPORATE_VOUCHERS_SET_DETAILS_FORM_EMAIL:\r\n return {\r\n ...state,\r\n emailDetails: action.payload,\r\n };\r\n case ActionTypes.CORPORATE_VOUCHERS_DOWNLOAD_CERTIFICATE_REQUEST:\r\n case ActionTypes.CORPORATE_VOUCHERS_DOWNLOAD_TPF_REQUEST:\r\n case ActionTypes.CORPORATE_VOUCHERS_ON_LOAD_REQUEST:\r\n return {\r\n ...state,\r\n isProcessing: true,\r\n };\r\n case ActionTypes.CORPORATE_VOUCHERS_ON_LOAD_SUCCESS:\r\n return {\r\n ...state,\r\n isProcessing: false,\r\n data: action.payload.map((voucher) => {\r\n return {\r\n ...voucher,\r\n course: CorporateConstants.courses.find(\r\n (course) => course.id === voucher.courseId\r\n ).courseTitle,\r\n purchaseDate: DateService().formatDateFromString(\r\n voucher.purchaseDate,\r\n \"DD/MM/YYYY\"\r\n ),\r\n };\r\n }),\r\n };\r\n case ActionTypes.CORPORATE_VOUCHERS_DOWNLOAD_CERTIFICATE_SUCCESS:\r\n case ActionTypes.CORPORATE_VOUCHERS_DOWNLOAD_CERTIFICATE_FAILURE:\r\n case ActionTypes.CORPORATE_VOUCHERS_DOWNLOAD_TPF_SUCCESS:\r\n case ActionTypes.CORPORATE_VOUCHERS_DOWNLOAD_TPF_FAILURE:\r\n case ActionTypes.CORPORATE_VOUCHERS_ON_LOAD_FAILURE:\r\n return {\r\n ...state,\r\n isProcessing: false,\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default CorporateVouchersReducer;\r\n","export const ActionTypes = {\r\n PURCHASE_CORPORATE_VOUCHERS_INIT: \"PURCHASE_CORPORATE_VOUCHERS_INIT\",\r\n PURCHASE_CORPORATE_VOUCHERS_CLEAR_ADDRESS:\r\n \"PURCHASE_CORPORATE_VOUCHERS_CLEAR_ADDRESS\",\r\n PURCHASE_CORPORATE_VOUCHERS_VALIDATE:\r\n \"PURCHASE_CORPORATE_VOUCHERS_VALIDATE\",\r\n PURCHASE_CORPORATE_VOUCHERS_QUANTITY_CHANGE:\r\n \"PURCHASE_CORPORATE_VOUCHERS_QUANTITY_CHANGE\",\r\n PURCHASE_CORPORATE_VOUCHERS_CREDIT:\r\n \"PURCHASE_CORPORATE_VOUCHERS_CREDIT\",\r\n PURCHASE_CORPORATE_VOUCHERS_INVOICE:\r\n \"PURCHASE_CORPORATE_VOUCHERS_INVOICE\",\r\n PURCHASE_CORPORATE_VOUCHERS_LOAD_COURSE_DETAILS_REQUEST:\r\n \"PURCHASE_CORPORATE_VOUCHERST_LOAD_COURSE_DETAILS_REQUEST\",\r\n PURCHASE_CORPORATE_VOUCHERS_LOAD_COURSE_DETAILS_SUCCESS:\r\n \"PURCHASE_CORPORATE_VOUCHERS_LOAD_COURSE_DETAILS_SUCCESS\",\r\n PURCHASE_CORPORATE_VOUCHERS_LOAD_COURSE_DETAILS_FAILURE:\r\n \"PURCHASE_CORPORATE_VOUCHERS_LOAD_COURSE_DETAILS_FAILURE\",\r\n\r\n PURCHASE_CORPORATE_VOUCHERS_AUTOCOMPLETE_ADDRESS_UPDATE_SUCCESS:\r\n \"PURCHASE_CORPORATE_VOUCHERS_AUTOCOMPLETE_ADDRESS_UPDATE_SUCCESS\",\r\n\r\n PURCHASE_CORPORATE_VOUCHERS_TOGGLE_MANUAL_ADDRESS_ENTRY:\r\n \"PURCHASE_CORPORATE_VOUCHERS_TOGGLE_MANUAL_ADDRESS_ENTRY\",\r\n PURCHASE_CORPORATE_VOUCHERS_TOGGLE_PROMO_CODE_ENTRY:\r\n \"PURCHASE_CORPORATE_VOUCHERS_TOGGLE_PROMO_CODE_ENTRY\",\r\n PURCHASE_CORPORATE_VOUCHERS_SUBMIT_REQUEST:\r\n \"PURCHASE_CORPORATE_VOUCHERS_SUBMIT_REQUEST\",\r\n PURCHASE_CORPORATE_VOUCHERS_SUBMIT_SUCCESS:\r\n \"PURCHASE_CORPORATE_VOUCHERS_SUBMIT_SUCCESS\",\r\n PURCHASE_CORPORATE_VOUCHERS_SUBMIT_FAILURE:\r\n \"PURCHASE_CORPORATE_VOUCHERS_SUBMIT_FAILURE\",\r\n PURCHASE_CORPORATE_VOUCHERS_SET_CARD_VALIDITY:\r\n \"PURCHASE_CORPORATE_VOUCHERS_SET_CARD_VALIDITY\",\r\n PURCHASE_CORPORATE_VOUCHERS_SHOW_MANUAL_ADDRESS_ENTRY:\r\n \"PURCHASE_CORPORATE_VOUCHERS_SHOW_MANUAL_ADDRESS_ENTRY\",\r\n PURCHASE_CORPORATE_VOUCHERS_FORM_INPUT_CHANGE:\r\n \"PURCHASE_CORPORATE_VOUCHERS_FORM_INPUT_CHANGE\",\r\n PURCHASE_CORPORATE_VOUCHERS_APPLY_PROMO_CODE_REQUEST:\r\n \"PURCHASE_CORPORATE_VOUCHERS_APPLY_PROMO_CODE_REQUEST\",\r\n PURCHASE_CORPORATE_VOUCHERS_APPLY_PROMO_CODE_SUCCESS:\r\n \"PURCHASE_CORPORATE_VOUCHERS_APPLY_PROMO_CODE_SUCCESS\",\r\n PURCHASE_CORPORATE_VOUCHERS_APPLY_PROMO_CODE_FAILURE:\r\n \"PURCHASE_CORPORATE_VOUCHERS_APPLY_PROMO_CODE_FAILURE\",\r\n };\r\n","import { ActionTypes } from \"./action-types\";\r\n\r\nconst initialState = {\r\n addressEntry: {\r\n displayAutocompleteAddressField: false,\r\n enterAddressManually: false,\r\n showSearchAddress: true,\r\n fullAddress: \"\",\r\n },\r\n fields: {\r\n companyName: \"\",\r\n unitNumber: \"\",\r\n streetNumber: \"\",\r\n streetName: \"\",\r\n city: \"\",\r\n state: \"\",\r\n postcode: \"\",\r\n phone: \"\",\r\n email: \"\",\r\n purchaseNumber: \"\",\r\n usingCreditCard: true,\r\n paymentMethod: \"\",\r\n cardName: \"\",\r\n cardNumber: null,\r\n cardExpiryDate: null,\r\n cardCvc: null,\r\n promoCode: \"\",\r\n },\r\n courses: [],\r\n totalPrice: 0,\r\n totalAfterDiscount: 0,\r\n discountAmount: 0,\r\n isPromoCodeApplied: false,\r\n isCreditCardValid: false,\r\n fieldErrors: {},\r\n isSubmitting: false,\r\n isSubmitted: false,\r\n formValid: false,\r\n};\r\n\r\nfunction PurchaseCorporateVoucherReducer(state = initialState, action) {\r\n switch (action.type) {\r\n case ActionTypes.PURCHASE_CORPORATE_VOUCHERS_VALIDATE:\r\n return {\r\n ...state,\r\n formValid: action.payload,\r\n };\r\n case ActionTypes.PURCHASE_CORPORATE_VOUCHERS_APPLY_PROMO_CODE_REQUEST:\r\n return {\r\n ...state,\r\n isSubmitting: true,\r\n };\r\n case ActionTypes.PURCHASE_CORPORATE_VOUCHERS_APPLY_PROMO_CODE_SUCCESS:\r\n return {\r\n ...state,\r\n isPromoCodeApplied: true,\r\n totalAfterDiscount: action.payload.totalAfterDiscount,\r\n isSubmitting: false,\r\n };\r\n case ActionTypes.PURCHASE_CORPORATE_VOUCHERS_APPLY_PROMO_CODE_FAILURE:\r\n return {\r\n ...state,\r\n isPromoCodeApplied: false,\r\n fields: {\r\n ...state.fields,\r\n promoCode: \"\",\r\n },\r\n isSubmitting: false,\r\n };\r\n case ActionTypes.PURCHASE_CORPORATE_VOUCHERS_CREDIT:\r\n return {\r\n ...state,\r\n fields: {\r\n ...state.fields,\r\n usingCreditCard: true,\r\n },\r\n isCreditCardValid: false,\r\n };\r\n case ActionTypes.PURCHASE_CORPORATE_VOUCHERS_INVOICE:\r\n return {\r\n ...state,\r\n fields: {\r\n ...state.fields,\r\n usingCreditCard: false,\r\n cardName: \"\",\r\n cardNumber: null,\r\n cardExpiryDate: null,\r\n cardCvc: null,\r\n },\r\n isCreditCardValid: false,\r\n };\r\n case ActionTypes.PURCHASE_CORPORATE_VOUCHERS_INIT:\r\n return {\r\n ...state,\r\n addressEntry: {\r\n displayAutocompleteAddressField: false,\r\n enterAddressManually: false,\r\n showSearchAddress: true,\r\n fullAddress: \"\",\r\n },\r\n fields: {\r\n companyName: \"\",\r\n unitNumber: \"\",\r\n streetNumber: \"\",\r\n streetName: \"\",\r\n city: \"\",\r\n state: \"\",\r\n postcode: \"\",\r\n phone: \"\",\r\n email: \"\",\r\n purchaseNumber: \"\",\r\n usingCreditCard: \"\",\r\n paymentMethod: \"\",\r\n cardName: \"\",\r\n cardNumber: null,\r\n cardExpiryDate: null,\r\n cardCvc: null,\r\n promoCode: \"\",\r\n },\r\n courses: [\r\n {\r\n id: 6,\r\n courseTitle: \"NSW Food Safety Supervisor Certificate\",\r\n courseCost: 179,\r\n orderPriority: 0,\r\n quantity: null,\r\n total: 0,\r\n courseCodes: \"SITXFSA005, SITXFSA006\",\r\n },\r\n {\r\n id: 2,\r\n courseTitle: \"Food Handling Level 1\",\r\n courseCost: 55,\r\n orderPriority: 1,\r\n quantity: null,\r\n total: 0,\r\n courseCodes: \"SITXFSA005\",\r\n },\r\n {\r\n id: 3,\r\n courseTitle: \"Food Handling Level 2\",\r\n courseCost: 89,\r\n orderPriority: 2,\r\n quantity: null,\r\n total: 0,\r\n courseCodes: \"SITXFSA006\",\r\n },\r\n {\r\n id: 4,\r\n courseTitle: \"Food Safety Supervisor Hospitality & Retail\",\r\n courseCost: 139,\r\n orderPriority: 3,\r\n quantity: null,\r\n total: 0,\r\n courseCodes: \"SITXFSA005, SITXFSA006\",\r\n },\r\n {\r\n id: 1008,\r\n courseTitle: \"Food Safety Supervisor Health & Community\",\r\n courseCost: 198,\r\n orderPriority: 4,\r\n quantity: null,\r\n total: 0,\r\n courseCodes: \"HLTFSE001, HLTFSE005, HLTFSE007\",\r\n },\r\n {\r\n id: 1009,\r\n courseTitle: \"Food Handling Level 1 - Health & Community\",\r\n courseCost: 50,\r\n orderPriority: 5,\r\n quantity: null,\r\n total: 0,\r\n courseCodes: \"HLTFSE001\",\r\n },\r\n {\r\n id: 8,\r\n courseTitle: \"NSW Refresher Course\",\r\n courseCost: 149,\r\n orderPriority: 6,\r\n quantity: null,\r\n total: 0,\r\n courseCodes: \"SITXFSA005, SITXFSA006\",\r\n },\r\n ],\r\n totalPrice: 0,\r\n totalAfterDiscount: 0,\r\n discountAmount: 0,\r\n isPromoCodeApplied: false,\r\n isCreditCardValid: false,\r\n fieldErrors: {},\r\n isSubmitting: false,\r\n isSubmitted: false,\r\n };\r\n case ActionTypes.PURCHASE_CORPORATE_VOUCHERS_QUANTITY_CHANGE:\r\n return {\r\n ...state,\r\n courses: state.courses.map((course) => {\r\n if (course.id == action.payload.name) {\r\n return {\r\n ...course,\r\n quantity: action.payload.value,\r\n total: parseInt(action.payload.value) * course.courseCost,\r\n };\r\n }\r\n return course;\r\n }),\r\n totalPrice: state.courses\r\n .reduce((total, currentValue) => total + currentValue.total, 0)\r\n .toFixed(2),\r\n };\r\n case ActionTypes.PURCHASE_CORPORATE_VOUCHERS_CLEAR_ADDRESS:\r\n return {\r\n ...state,\r\n addressEntry: {\r\n ...state.addressEntry,\r\n fullAddress: \"\",\r\n },\r\n fields: {\r\n ...state.fields,\r\n unitNumber: \"\",\r\n streetNumber: \"\",\r\n streetName: \"\",\r\n city: \"\",\r\n state: \"\",\r\n postcode: \"\",\r\n },\r\n };\r\n case ActionTypes.PURCHASE_CORPORATE_VOUCHERS_SET_CARD_VALIDITY:\r\n return {\r\n ...state,\r\n isCreditCardValid: action.payload,\r\n };\r\n\r\n case ActionTypes.PURCHASE_CORPORATE_VOUCHERS_AUTOCOMPLETE_ADDRESS_UPDATE_SUCCESS:\r\n return {\r\n ...state,\r\n addressEntry: {\r\n ...state.addressEntry,\r\n fullAddress: action.payload.fullAddress,\r\n enterAddressManually: false,\r\n },\r\n fields: {\r\n ...state.fields,\r\n unitNumber: `${(\r\n action.payload.subdwelling +\r\n \" \" +\r\n action.payload.buildingName\r\n ).trim()}`,\r\n streetNumber: action.payload.streetNumber,\r\n streetName: action.payload.street,\r\n city: action.payload.locality,\r\n state: action.payload.state,\r\n postcode: action.payload.postcode,\r\n },\r\n };\r\n\r\n case ActionTypes.PURCHASE_CORPORATE_VOUCHERS_TOGGLE_MANUAL_ADDRESS_ENTRY:\r\n return {\r\n ...state,\r\n addressEntry: {\r\n ...state.addressEntry,\r\n enterAddressManually: !state.addressEntry.enterAddressManually,\r\n },\r\n };\r\n\r\n case ActionTypes.PURCHASE_CORPORATE_VOUCHERS_SHOW_MANUAL_ADDRESS_ENTRY:\r\n return {\r\n ...state,\r\n addressEntry: {\r\n ...state.addressEntry,\r\n enterAddressManually: true,\r\n },\r\n };\r\n\r\n case ActionTypes.PURCHASE_CORPORATE_VOUCHERS_TOGGLE_PROMO_CODE_ENTRY:\r\n return {\r\n ...state,\r\n hasPromoCode: !state.hasPromoCode,\r\n fields: {\r\n ...state.fields,\r\n cardNumber: null,\r\n cardExpiryDate: null,\r\n cardCvc: null,\r\n cardName: \"\",\r\n promoCode: \"\",\r\n },\r\n isCreditCardValid: false,\r\n };\r\n\r\n case ActionTypes.PURCHASE_CORPORATE_VOUCHERS_SUBMIT_REQUEST:\r\n return {\r\n ...state,\r\n isSubmitting: true,\r\n isSubmitted: false,\r\n };\r\n\r\n case ActionTypes.PURCHASE_CORPORATE_VOUCHERS_SUBMIT_SUCCESS:\r\n return {\r\n ...state,\r\n isSubmitting: false,\r\n isSubmitted: true,\r\n };\r\n\r\n case ActionTypes.PURCHASE_CORPORATE_VOUCHERS_SUBMIT_FAILURE:\r\n return {\r\n ...state,\r\n isSubmitting: false,\r\n isSubmitted: false,\r\n };\r\n\r\n case ActionTypes.PURCHASE_CORPORATE_VOUCHERS_FORM_INPUT_CHANGE:\r\n let stateResultInput = Object.assign({}, state, {\r\n fields: {\r\n ...state.fields,\r\n [action.payload.name]: action.payload.value,\r\n },\r\n fieldErrors: {\r\n ...state.fieldErrors,\r\n [action.payload.name]: action.payload.error,\r\n },\r\n });\r\n\r\n return stateResultInput;\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default PurchaseCorporateVoucherReducer;\r\n\r\nexport const selectPurchaseCorporateVouchers = (state) =>\r\n state.purchaseCorporateVoucher;\r\n","/**\r\n * Action types\r\n */\r\nexport const ActionTypes = {\r\n SURVEY_LOAD_DATA_REQUEST: \"SURVEY_LOAD_DATA_REQUEST\",\r\n SURVEY_LOAD_DATA_SUCCESS: \"SURVEY_LOAD_DATA_SUCCESS\",\r\n SURVEY_LOAD_DATA_FAILURE: \"SURVEY_LOAD_DATA_FAILURE\",\r\n\r\n SURVEY_FORM_INPUT_CHANGE: \"SURVEY_FORM_INPUT_CHANGE\",\r\n\r\n SURVEY_SUBMIT_REQUEST: \"SURVEY_SUBMIT_REQUEST\",\r\n SURVEY_SUBMIT_SUCCESS: \"SURVEY_SUBMIT_SUCCESS\",\r\n SURVEY_SUBMIT_FAILURE: \"SURVEY_SUBMIT_FAILURE\",\r\n\r\n SURVEY_UPDATE_REQUEST: \"SURVEY_UPDATE_REQUEST\",\r\n SURVEY_UPDATE_SUCCESS: \"SURVEY_UPDATE_SUCCESS\",\r\n SURVEY_UPDATE_FAILURE: \"SURVEY_UPDATE_FAILURE\"\r\n};\r\n","/**\r\n * Survey Reducer\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\n\r\nconst initialState = {\r\n surveyId: null,\r\n userCourseId: null,\r\n surveyQuestions: [],\r\n yesNoLookups: [\r\n {\r\n label: \"Yes\",\r\n value: \"1\"\r\n },\r\n { label: \"No\", value: \"0\" }\r\n ],\r\n\r\n fields: {\r\n bestAspects: \"\",\r\n needImprovement: \"\",\r\n uat: \"-1\",\r\n rpl: \"-1\"\r\n },\r\n fieldErrors: {},\r\n\r\n isLoading: false\r\n};\r\n\r\nfunction CourseSurveyReducer(state = initialState, action) {\r\n switch (action.type) {\r\n case ActionTypes.SURVEY_LOAD_DATA_REQUEST:\r\n return {\r\n ...state,\r\n isLoading: true\r\n };\r\n\r\n case ActionTypes.SURVEY_LOAD_DATA_SUCCESS:\r\n let surveyResProps = {};\r\n if (action.payload.surveyResponses) {\r\n action.payload.surveyQuestions.forEach(o => {\r\n let responseFindResult = action.payload.surveyResponses.find(\r\n f => f.questionId == o.questionId\r\n );\r\n\r\n surveyResProps[`question-${o.questionId}`] = responseFindResult\r\n ? responseFindResult.response\r\n : null;\r\n });\r\n }\r\n\r\n // Check in edit mode\r\n let uat = \"-1\";\r\n let rpl = \"-1\";\r\n if (action.payload.hasOwnProperty(\"surveyId\")) {\r\n uat = action.payload.undertakingApprenticeshipOrTraineeship ? \"1\" : \"0\";\r\n rpl = action.payload.rpl ? \"1\" : \"0\";\r\n }\r\n\r\n return {\r\n ...state,\r\n surveyId: action.payload.surveyId,\r\n userCourseId: action.payload.userCourseId,\r\n surveyQuestions: [...action.payload.surveyQuestions],\r\n fields: {\r\n ...state.fields,\r\n bestAspects: action.payload.bestAspects,\r\n needImprovement: action.payload.needImprovement,\r\n uat: uat,\r\n rpl: rpl,\r\n ...surveyResProps\r\n },\r\n isLoading: false\r\n };\r\n\r\n case ActionTypes.SURVEY_LOAD_DATA_FAILURE:\r\n return {\r\n ...state,\r\n isLoading: false\r\n };\r\n\r\n case ActionTypes.SURVEY_FORM_INPUT_CHANGE:\r\n let stateResult = Object.assign({}, state, {\r\n fields: {\r\n ...state.fields,\r\n [action.payload.name]: action.payload.value\r\n },\r\n fieldErrors: {\r\n ...state.fieldErrors,\r\n [action.payload.name]: action.payload.error\r\n }\r\n });\r\n\r\n return stateResult;\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default CourseSurveyReducer;\r\n\r\n/**\r\n * =================\r\n * Selectors\r\n * =================\r\n */\r\n\r\nexport const selectSurvey = state => state.survey;\r\n","/**\r\n * Action types\r\n */\r\nexport const ActionTypes = {\r\n SURVEY_COURSE_COMPLETED_LOAD_DATA_REQUEST:\r\n \"SURVEY_COURSE_COMPLETED_LOAD_DATA_REQUEST\",\r\n SURVEY_COURSE_COMPLETED_LOAD_DATA_SUCCESS:\r\n \"SURVEY_COURSE_COMPLETED_LOAD_DATA_SUCCESS\",\r\n SURVEY_COURSE_COMPLETED_LOAD_DATA_FAILURE:\r\n \"SURVEY_COURSE_COMPLETED_LOAD_DATA_FAILURE\"\r\n};\r\n","/**\r\n * Course Completed Reducer\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\n\r\nconst initialState = {\r\n hasBeenCompleted: false,\r\n thirdPartyFormCompleted: false,\r\n courseTitle: \"\",\r\n courseId: 0,\r\n isLoading: false,\r\n courseContentToken: \"\"\r\n};\r\n\r\nfunction CourseCompletedReducer(state = initialState, action) {\r\n switch (action.type) {\r\n case ActionTypes.SURVEY_COURSE_COMPLETED_LOAD_DATA_REQUEST:\r\n return {\r\n ...state,\r\n isLoading: true\r\n };\r\n\r\n case ActionTypes.SURVEY_COURSE_COMPLETED_LOAD_DATA_SUCCESS:\r\n return {\r\n ...state,\r\n hasBeenCompleted: action.payload.hasBeenCompleted,\r\n thirdPartyFormCompleted: action.payload.thirdPartyFormCompleted,\r\n courseTitle: action.payload.courseTitle,\r\n courseId: action.payload.courseId,\r\n courseContentToken: action.payload.courseContentToken,\r\n isLoading: false\r\n };\r\n\r\n case ActionTypes.SURVEY_COURSE_COMPLETED_LOAD_DATA_FAILURE:\r\n return {\r\n ...state,\r\n isLoading: false\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default CourseCompletedReducer;\r\n\r\n/**\r\n * =================\r\n * Selectors\r\n * =================\r\n */\r\n\r\nexport const selectCourseCompleted = state => state.courseCompleted;\r\n","export const ActionTypes = {\r\n ADMIN_USERS_ONLOAD_REQUEST: \"ADMIN_USERS_ONLOAD_REQUEST\",\r\n ADMIN_USERS_ONLOAD_SUCCESS: \"ADMIN_USERS_ONLOAD_SUCCESS\",\r\n ADMIN_USERS_ONLOAD_FAILURE: \"ADMIN_USERS_ONLOAD_FAILURE\",\r\n ADMIN_USERS_FILTER_FORM_INPUT_CHANGE: \"ADMIN_USERS_FILTER_FORM_INPUT_CHANGE\",\r\n ADMIN_USERS_DELETE_REQUEST: \"ADMIN_USERS_DELETE_REQUEST\",\r\n ADMIN_USERS_DELETE_SUCCESS: \"ADMIN_USERS_DELETE_SUCCESS\",\r\n ADMIN_USERS_DELETE_FAILURE: \"ADMIN_USERS_DELETE_FAILURE\",\r\n ADMIN_USERS_EDIT_REQUEST: \"ADMIN_USERS_EDIT_REQUEST\",\r\n ADMIN_USERS_EDIT_SUCCESS: \"ADMIN_USERS_EDIT_SUCCESS\",\r\n ADMIN_USERS_EDIT_FAILURE: \"ADMIN_USERS_EDIT_FAILURE\",\r\n ADMIN_USERS_RESET: \"ADMIN_USERS_RESET\",\r\n ADMIN_USERS_DATATABLE_KEEP_SETTINGS: \"ADMIN_USERS_DATATABLE_KEEP_SETTINGS\",\r\n ADMIN_USERS_DATATABLE_CLEAR_SEARCHBOX:\r\n \"ADMIN_USERS_DATATABLE_CLEAR_SEARCHBOX\",\r\n};\r\n","import { ActionTypes } from \"./action-types\";\r\nimport moment from \"moment\";\r\n\r\nconst initialState = {\r\n data: [],\r\n settings: {},\r\n isProcessing: false,\r\n fields: {\r\n userTypes: [],\r\n startDate: moment().subtract(12, \"months\")._d,\r\n endDate: moment()._d,\r\n },\r\n fieldErrors: {},\r\n isSubmitting: false,\r\n isReset: false,\r\n};\r\n\r\nfunction Reducer(state = initialState, action) {\r\n switch (action.type) {\r\n case ActionTypes.ADMIN_USERS_ONLOAD_REQUEST:\r\n return {\r\n ...state,\r\n isProcessing: true,\r\n data: action.payload,\r\n };\r\n case ActionTypes.ADMIN_USERS_RESET:\r\n return {\r\n ...state,\r\n isProcessing: true,\r\n isReset: true,\r\n fields: {\r\n userTypes: [\r\n {\r\n value: 1,\r\n label: \"Admin\",\r\n },\r\n {\r\n value: 2,\r\n label: \"Student\",\r\n },\r\n {\r\n value: 3,\r\n label: \"Business\",\r\n },\r\n ],\r\n startDate: moment().subtract(12, \"months\")._d,\r\n endDate: moment()._d,\r\n },\r\n };\r\n case ActionTypes.ADMIN_USERS_DELETE_FAILURE:\r\n case ActionTypes.ADMIN_USERS_EDIT_FAILURE:\r\n case ActionTypes.ADMIN_USERS_ONLOAD_FAILURE:\r\n return {\r\n ...state,\r\n isProcessing: false,\r\n };\r\n case ActionTypes.ADMIN_USERS_ONLOAD_SUCCESS:\r\n return {\r\n ...state,\r\n isProcessing: false,\r\n isReset: false,\r\n data: action.payload.map((user) => {\r\n return {\r\n ...user,\r\n active: user.active ? \"Yes\" : \"No\",\r\n registeredDateTime: moment(user.registeredDateTime).format(\r\n \"DD/MM/YYYY HH:mm\"\r\n ),\r\n lastLoginDateTime: moment(user.lastLoginDateTime).format(\r\n \"DD/MM/YYYY HH:mm\"\r\n ),\r\n userType:\r\n user.userType === 1\r\n ? \"Admin\"\r\n : user.userType === 2\r\n ? \"Student\"\r\n : \"Business\",\r\n };\r\n }),\r\n };\r\n case ActionTypes.ADMIN_USERS_FILTER_FORM_INPUT_CHANGE:\r\n return {\r\n ...state,\r\n fields: {\r\n ...state.fields,\r\n [action.payload.name]: action.payload.value,\r\n },\r\n fieldErrors: {\r\n ...state.fieldErrors,\r\n [action.payload.name]: action.payload.error,\r\n },\r\n };\r\n case ActionTypes.ADMIN_USERS_DELETE_SUCCESS:\r\n return {\r\n ...state,\r\n data: state.data.filter(\r\n (user) => user.userId !== action.payload.userId\r\n ),\r\n };\r\n case ActionTypes.ADMIN_USERS_EDIT_SUCCESS:\r\n return {\r\n ...state,\r\n data: state.data.map((user) => {\r\n return user.userId === action.payload.userId\r\n ? {\r\n ...action.payload,\r\n active:\r\n action.payload.active === \"true\" ||\r\n action.payload.active === true ||\r\n action.payload.active === \"Yes\"\r\n ? \"Yes\"\r\n : \"No\",\r\n email: action.payload.email,\r\n firstName: action.payload.firstName,\r\n lastLoginDateTime: action.payload.lastLoginDateTime,\r\n lastName: action.payload.lastName,\r\n loginAsUserToken: action.payload.loginAsUserToken,\r\n registeredDateTime: action.payload.registeredDateTime,\r\n userType:\r\n action.payload.userType === 1 ||\r\n action.payload.userType === \"1\"\r\n ? \"Admin\"\r\n : action.payload.userType === 2 ||\r\n action.payload.userType === \"2\"\r\n ? \"Student\"\r\n : \"Business\",\r\n }\r\n : user;\r\n }),\r\n };\r\n case ActionTypes.ADMIN_USERS_DATATABLE_KEEP_SETTINGS:\r\n return {\r\n ...state,\r\n settings: action.payload.settings,\r\n };\r\n case ActionTypes.ADMIN_USERS_DATATABLE_CLEAR_SEARCHBOX:\r\n return {\r\n ...state,\r\n settings: {\r\n ...state.settings,\r\n searchText: \"\",\r\n },\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default Reducer;\r\n","export const ActionTypes = {\r\n ADMIN_USERS_SHOW_EDIT_DIALOG: \"ADMIN_USERS_SHOW_EDIT_DIALOG\",\r\n ADMIN_USERS_SHOW_DELETE_DIALOG: \"ADMIN_USERS_SHOW_DELETE_DIALOG\",\r\n ADMIN_USERS_DIALOG_FORM_INPUT_CHANGE: \"ADMIN_USERS_DIALOG_FORM_INPUT_CHANGE\",\r\n ADMIN_USERS_DELETE_REQUEST: \"ADMIN_USERS_DELETE_REQUEST\",\r\n ADMIN_USERS_DELETE_SUCCESS: \"ADMIN_USERS_DELETE_SUCCESS\",\r\n ADMIN_USERS_DELETE_FAILURE: \"ADMIN_USERS_DELETE_FAILURE\",\r\n ADMIN_USERS_EDIT_REQUEST: \"ADMIN_USERS_EDIT_REQUEST\",\r\n ADMIN_USERS_EDIT_SUCCESS: \"ADMIN_USERS_EDIT_SUCCESS\",\r\n ADMIN_USERS_EDIT_FAILURE: \"ADMIN_USERS_EDIT_FAILURE\"\r\n};\r\n","import { ActionTypes } from \"./action-types\";\r\n\r\nconst initialState = {\r\n isProcessing: false,\r\n dialogs: {\r\n showDeleteDialog: false,\r\n showEditDialog: false,\r\n },\r\n fieldErrors: {},\r\n fields: {\r\n firstName: \"\",\r\n lastName: \"\",\r\n email: \"\",\r\n active: \"\",\r\n userType: \"\",\r\n },\r\n isSubmitting: false,\r\n};\r\n\r\nfunction Reducer(state = initialState, action) {\r\n switch (action.type) {\r\n case ActionTypes.ADMIN_USERS_SHOW_EDIT_DIALOG:\r\n return {\r\n ...state,\r\n fields: action.payload\r\n ? {\r\n ...action.payload,\r\n active: action.payload.active === \"Yes\" ? true : false,\r\n userType:\r\n action.payload.userType === \"Admin\"\r\n ? 1\r\n : action.payload.userType === \"Student\"\r\n ? 2\r\n : 3,\r\n }\r\n : {},\r\n dialogs: {\r\n ...state.dialogs,\r\n showEditDialog: !state.dialogs.showEditDialog,\r\n },\r\n };\r\n case ActionTypes.ADMIN_USERS_SHOW_DELETE_DIALOG:\r\n return {\r\n ...state,\r\n fields: action.payload ? action.payload : {},\r\n dialogs: {\r\n ...state.dialogs,\r\n showDeleteDialog: !state.dialogs.showDeleteDialog,\r\n },\r\n };\r\n\r\n case ActionTypes.ADMIN_USERS_FILTER_FORM_INPUT_CHANGE:\r\n return {\r\n ...state,\r\n fields: {\r\n ...state.fields,\r\n [action.payload.name]: action.payload.value,\r\n },\r\n fieldErrors: {\r\n ...state.fieldErrors,\r\n [action.payload.name]: action.payload.error,\r\n },\r\n };\r\n case ActionTypes.ADMIN_USERS_DIALOG_FORM_INPUT_CHANGE:\r\n return {\r\n ...state,\r\n fields: {\r\n ...state.fields,\r\n [action.payload.name]: action.payload.value,\r\n },\r\n fieldErrors: {\r\n ...state.fieldErrors,\r\n [action.payload.name]: action.payload.error,\r\n },\r\n };\r\n case ActionTypes.ADMIN_USERS_DELETE_REQUEST:\r\n case ActionTypes.ADMIN_USERS_EDIT_REQUEST:\r\n return {\r\n ...state,\r\n isProcessing: true,\r\n };\r\n case ActionTypes.ADMIN_USERS_DELETE_SUCCESS:\r\n return {\r\n ...state,\r\n isProcessing: false,\r\n dialogs: {\r\n ...state.dialogs,\r\n showDeleteDialog: !state.dialogs.showDeleteDialog,\r\n },\r\n };\r\n case ActionTypes.ADMIN_USERS_EDIT_SUCCESS:\r\n return {\r\n ...state,\r\n isProcessing: false,\r\n dialogs: {\r\n ...state.dialogs,\r\n showEditDialog: !state.dialogs.showEditDialog,\r\n },\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default Reducer;\r\n","import { combineReducers } from \"redux\";\r\nimport DataTableReducer from \"../redux/datatable/reducers\";\r\nimport DialogReducer from \"../redux/dialog/reducers\";\r\n\r\nexport default combineReducers({\r\n DataTable: DataTableReducer,\r\n Dialog: DialogReducer\r\n});\r\n","export const ActionTypes = {\r\n ADMIN_USER_COURSES_ONLOAD_REQUEST: \"ADMIN_USER_COURSES_ONLOAD_REQUEST\",\r\n ADMIN_USER_COURSES_ONLOAD_SUCCESS: \"ADMIN_USER_COURSES_ONLOAD_SUCCESS\",\r\n ADMIN_USER_COURSES_ONLOAD_FAILURE: \"ADMIN_USER_COURSES_ONLOAD_FAILURE\",\r\n ADMIN_USER_COURSES_DELETE_SUCCESS: \"ADMIN_USER_COURSES_DELETE_SUCCESS\",\r\n ADMIN_USERS_COURSES_FORM_INPUT_CHANGE:\r\n \"ADMIN_USERS_COURSES_FORM_INPUT_CHANGE\",\r\n ADMIN_USERS_COURSES_HIDE_FILTER_SECTION:\r\n \"ADMIN_USERS_COURSES_HIDE_FILTER_SECTION\",\r\n ADMIN_USERS_COURSES_RESET: \"ADMIN_USERS_COURSES_RESET\",\r\n ADMIN_USERS_COURSES_DOWNLOAD_TAX_INVOICE_REQUEST:\r\n \"ADMIN_USERS_COURSES_DOWNLOAD_TAX_INVOICE_REQUEST\",\r\n ADMIN_USERS_COURSES_DOWNLOAD_TAX_INVOICE_SUCCESS:\r\n \"ADMIN_USERS_COURSES_DOWNLOAD_TAX_INVOICE_SUCCESS\",\r\n ADMIN_USERS_COURSES_DOWNLOAD_TAX_INVOICE_FAILURE:\r\n \"ADMIN_USERS_COURSES_DOWNLOAD_TAX_INVOICE_FAILURE\",\r\n ADMIN_USERS_COURSES_DATATABLE_KEEP_SETTINGS:\r\n \"ADMIN_USERS_COURSES_DATATABLE_KEEP_SETTINGS\",\r\n ADMIN_USERS_COURSES_DATATABLE_CLEAR_SEARCHBOX:\r\n \"ADMIN_USERS_COURSES_DATATABLE_CLEAR_SEARCHBOX\",\r\n};\r\n","import React from \"react\";\r\n\r\nexport const courses = [\r\n {\r\n courseId: 6, // NB: this uses the same quiz questions as courseId: 4\r\n courseTitle: \"NSW Food Safety Supervisor Certificate\",\r\n courseCost: 179,\r\n courseContentPrefix: \"FSSHR\",\r\n certificateCodes: [\"SITXFSA005\", \"SITXFSA006\"],\r\n certificateCodesString: \"SITXFSA005, SITXFSA006\",\r\n unitOfCompetencies: [\r\n \"Use Hygienic Practices for Food Safety\",\r\n \"Participate in Safe Food Handling Practices\",\r\n ],\r\n courseImage:\r\n \"https://solvable.azureedge.net/train-to-gain/images/courses/nsw-food-safety-supervisor-certificate.webp\",\r\n validStates: <>,\r\n courseReadMorePage: \"/courses/nsw-food-safety-supervisor-certificate/\",\r\n courseGuideUrl: \"/Print-Course-Content-Guide/6/\",\r\n courseName: \"NSW Food Safety Supervisor\",\r\n courseTags: \"Hospitality, Retail, Health & Community\",\r\n courseInfo: {\r\n heading: <>NSW Food Safety Supervisor Certificate,\r\n pageTitle: \"NSW Food Safety Supervisor Certificate\",\r\n pageDescription: \"\",\r\n intro: (\r\n <>\r\n Gain the essential skills and certification you need to ensure Food\r\n Safety in your workplace with the NSW Food Safety Supervisor\r\n Certificate. Designed for Food Safety Supervisors, this course\r\n provides in-depth training on best practices in Food Safety and meet\r\n regulatory requirements in New South Wales.\r\n \r\n ),\r\n additionalContent: (\r\n
\r\n

\r\n \r\n Train to Gain Pty Ltd: RTO # 22361 T/A Food Safety Education is\r\n Approved by the NSW Food Authority – RTO Approval Number: 25085,\r\n and is compliant with the new FSANZ Standard 3.2.2A.\r\n \r\n

\r\n

\r\n \r\n See us listed as ‘Food Safety Education’ on the\r\n Approved Training providers list on the NSW Food Authority\r\n website.\r\n \r\n

\r\n
\r\n ),\r\n image:\r\n \"https://solvable.azureedge.net/train-to-gain/images/sample-nsw-food-safety-supervisor-certificate-2024.webp\",\r\n units: [\r\n \"SITXFSA005 - Use Hygienic Practices for Food Safety\",\r\n \"SITXFSA006 - Participate in Safe Food Handling Practices\",\r\n ],\r\n },\r\n currentThirdPartyFormVersion: 2,\r\n thirdPartyFormAdditionalContent: {\r\n unitsOfCompetencyLabel: <>Including the NSW 4 Focus Area’s,\r\n unitsOfCompetencyAdditionalPoints: [\r\n \"Allergen Management \",\r\n \"Cleaning and Sanitising Practices\",\r\n \"Safe Egg Handling\",\r\n \"Food Act Offences\",\r\n ],\r\n },\r\n },\r\n {\r\n courseId: 8, // NB: this uses the same quiz questions as courseId: 4\r\n courseTitle:\r\n \"NSW Refresher Course - Includes your NSW Food Safety Supervisor Certificate\",\r\n courseCost: 149,\r\n courseContentPrefix: \"FSSHR\",\r\n certificateCodes: [\"SITXFSA005\", \"SITXFSA006\"],\r\n certificateCodesString: \"SITXFSA005, SITXFSA006\",\r\n unitOfCompetencies: [\r\n \"Use Hygienic Practices for Food Safety\",\r\n \"Participate in Safe Food Handling Practices\",\r\n ],\r\n courseImage:\r\n \"https://solvable.azureedge.net/train-to-gain/images/courses/nsw-food-safety-supervisor-certificate-refresher.webp\",\r\n validStates: <>,\r\n courseReadMorePage:\r\n \"/courses/nsw-food-safety-supervisor-certificate-refresher/\",\r\n courseGuideUrl: \"/Print-Course-Content-Guide/8/\",\r\n courseName: \"NSW Food Safety Refresher\",\r\n courseTags: \"NSW Food Safety Supervisor Certificate\",\r\n courseInfo: {\r\n heading: <>NSW Food Safety Refresher Certificate,\r\n pageTitle: \"NSW Food Safety Refresher Certificate\",\r\n pageDescription: \"\",\r\n intro: (\r\n <>\r\n This NSW Refresher course ensures that you meet the legal obligations\r\n to operate food safely and helps you stay informed about new standards\r\n and practices to maintain high food safety levels.\r\n
\r\n
\r\n You are required by the NSW Food Authority to complete this refresher\r\n training in order to legally handle food for another 5 years in NSW.\r\n
\r\n
\r\n Students have up to 90 days to apply for re-certification with an\r\n approved RTO (which is us!) following the expiry of their NSW Food\r\n Safety Supervisor Certificate. Should it be left longer than 90 days,\r\n the entire course must be re-completed to provide for issue of a new\r\n NSW Food Safety Supervisor Certificate.\r\n
\r\n
\r\n NSW businesses to replace or renew a NSW Food Safety Supervisor\r\n Certificate within 30 days in the event of a NSW Food Safety\r\n Supervisor Certificate holder leaving the business, or upon expiry of\r\n the NSW Food Safety Supervisor Certificate as per NSW legislation.\r\n \r\n ),\r\n additionalContent: (\r\n
\r\n

\r\n \r\n Train to Gain Pty Ltd: RTO # 22361 T/A Food Safety Education is\r\n Approved by the NSW Food Authority – RTO Approval Number: 25085,\r\n and is compliant with the new FSANZ Standard 3.2.2A.\r\n \r\n

\r\n

\r\n \r\n See us listed as ‘Food Safety Education’ on the\r\n Approved Training providers list on the NSW Food Authority\r\n website.\r\n \r\n

\r\n
\r\n ),\r\n image:\r\n \"https://solvable.azureedge.net/train-to-gain/images/sample-nsw-food-safety-supervisor-certificate-2024.webp\",\r\n units: [\r\n \"SITXFSA005 - Use Hygienic Practices for Food Safety\",\r\n \"SITXFSA006 - Participate in Safe Food Handling Practices\",\r\n ],\r\n },\r\n currentThirdPartyFormVersion: 2,\r\n thirdPartyFormAdditionalContent: {\r\n unitsOfCompetencyLabel: (\r\n <>Including the NSW 4 Focus Area’s\r\n ),\r\n unitsOfCompetencyAdditionalPoints: [\r\n \"Allergen Management \",\r\n \"Cleaning and Sanitising Practices\",\r\n \"Safe Egg Handling\",\r\n \"Food Act Offences\",\r\n ],\r\n },\r\n },\r\n {\r\n courseId: 4,\r\n courseTitle: \"Food Safety Supervisor Hospitality & Retail\",\r\n courseCost: 139,\r\n courseContentPrefix: \"FSSHR\",\r\n certificateCodes: [\"SITXFSA005\", \"SITXFSA006\"],\r\n certificateCodesString: \"SITXFSA005, SITXFSA006\",\r\n unitOfCompetencies: [\r\n \"Use Hygienic Practices for Food Safety\",\r\n \"Participate in Safe Food Handling Practices\",\r\n ],\r\n courseImage:\r\n \"https://solvable.azureedge.net/train-to-gain/images/courses/food-safety-supervisor-certificate-hospitality-and-retail.webp\",\r\n validStates: (\r\n <>\r\n Nationwide{\" \"}\r\n \r\n Except NSW\r\n \r\n \r\n ),\r\n courseReadMorePage:\r\n \"/courses/food-safety-supervisor-certificate-hospitality-and-retail/\",\r\n courseGuideUrl: \"/Print-Course-Content-Guide/4/\",\r\n courseName: \"Food Safety Supervisor\",\r\n courseTags: \"Hospitality & Retail (Except NSW)\",\r\n courseInfo: {\r\n heading: <>Food Safety Supervisor Hospitality & Retail Certificate,\r\n pageTitle: \"Food Safety Supervisor Hospitality & Retail Certificate\",\r\n pageDescription: \"\",\r\n intro: (\r\n <>\r\n This Accredited Online Food Safety Supervisor course empowers\r\n businesses in the hospitality and retail industries to protect their\r\n customers, employees, and reputation, while complying with regulatory\r\n standards.\r\n \r\n ),\r\n units: [\r\n \"SITXFSA005 - Use Hygienic Practices for Food Safety\",\r\n \"SITXFSA006 - Participate in Safe Food Handling Practices\",\r\n ],\r\n },\r\n currentThirdPartyFormVersion: 1,\r\n },\r\n {\r\n courseId: 2,\r\n courseTitle: \"Food Handling Level 1 - Hospitality & Retail\",\r\n courseCost: 55,\r\n courseContentPrefix: \"FH1\",\r\n certificateCodes: [\"SITXFSA005\"],\r\n certificateCodesString: \"SITXFSA005\",\r\n unitOfCompetencies: [\"Use Hygienic Practices for Food Safety\"],\r\n courseImage:\r\n \"https://solvable.azureedge.net/train-to-gain/images/courses/food-handling-level-1-certificate-hospitality-and-retail.webp\",\r\n courseReadMorePage:\r\n \"/courses/food-handling-level-1-certificate-hospitality-and-retail/\",\r\n courseGuideUrl: \"/Print-Course-Content-Guide/2/\",\r\n courseName: \"Food Handling Level 1\",\r\n courseTags: \"Hospitality & Retail\",\r\n courseInfo: {\r\n heading: <>Food Handling Level 1 Hospitality & Retail Certificate,\r\n pageTitle: \"Food Handling Level 1 Hospitality & Retail Certificate\",\r\n pageDescription: \"\",\r\n intro: (\r\n <>\r\n This Accredited online Food Handling course, is what you need to start\r\n your Food Safety career in the hospitality and or retail sector and\r\n complies with national and local Food Safety regulations.\r\n \r\n ),\r\n units: [\"SITXFSA005 - Use Hygienic Practices for Food Safety\"],\r\n },\r\n currentThirdPartyFormVersion: 1,\r\n },\r\n {\r\n courseId: 3,\r\n courseTitle: \"Food Handling Level 2 - Hospitality & Retail\",\r\n courseCost: 89,\r\n courseContentPrefix: \"FH2\",\r\n certificateCodes: [\"SITXFSA006\"],\r\n certificateCodesString: \"SITXFSA006\",\r\n unitOfCompetencies: [\"Participate in Safe Food Handling Practices\"],\r\n courseImage:\r\n \"https://solvable.azureedge.net/train-to-gain/images/courses/food-handling-level-2-certificate-hospitality-and-retail.webp\",\r\n courseReadMorePage:\r\n \"/courses/food-handling-level-2-certificate-hospitality-and-retail/\",\r\n courseGuideUrl: \"/Print-Course-Content-Guide/3/\",\r\n courseName: \"Food Handling Level 2\",\r\n courseTags: \"Hospitality & Retail\",\r\n courseInfo: {\r\n heading: <>Food Handling Level 2 Hospitality & Retail Certificate,\r\n pageTitle: \"Food Handling Level 2 Hospitality & Retail Certificate\",\r\n pageDescription: \"\",\r\n intro: (\r\n <>\r\n Accredited Safe Food Handling training ensures that both individuals\r\n and businesses can provide food that is safe, healthy, and of high\r\n quality. This course helps Food Handlers comply with national and\r\n local Food Safety regulations.\r\n \r\n ),\r\n units: [\"SITXFSA006 - Participate in Safe Food Handling Practices\"],\r\n },\r\n currentThirdPartyFormVersion: 1,\r\n },\r\n {\r\n courseId: 1009,\r\n courseTitle: \"Food Handling Level 1 - Health & Community\",\r\n courseCost: 50,\r\n courseContentPrefix: \"FSSACL1\",\r\n certificateCodes: [\"HLTFSE001\"],\r\n certificateCodesString: \"HLTFSE001\",\r\n unitOfCompetencies: [\"Follow basic food safety practices\"],\r\n courseImage:\r\n \"https://solvable.azureedge.net/train-to-gain/images/courses/food-handling-level-1-certificate-health-and-community.webp\",\r\n courseReadMorePage:\r\n \"/courses/food-handling-level-1-certificate-health-and-community/\",\r\n courseGuideUrl: \"/Print-Course-Content-Guide/1009/\",\r\n courseName: \"Food Handling Level 1\",\r\n courseTags: \"Health & Community\",\r\n courseInfo: {\r\n heading: <>Food Handling Level 1 Health & Community Certificate,\r\n pageTitle: \"Food Handling Level 1 Health & Community Certificate\",\r\n pageDescription: \"\",\r\n intro: (\r\n <>\r\n Becoming an Accredited Food Handler is crucial for public health,\r\n legal compliance, and career advancement, as well as for maintaining\r\n high standards of hygiene and safety in food service operations. This\r\n course helps Food Handlers comply with national and local Food Safety\r\n regulations.\r\n \r\n ),\r\n units: [\"HLTFSE001 - Follow Basic Food Safety Practices\"],\r\n },\r\n currentThirdPartyFormVersion: 1,\r\n },\r\n {\r\n courseId: 1008,\r\n courseTitle: \"Food Safety Supervisor Health & Community\",\r\n courseCost: 198,\r\n courseContentPrefix: \"FSSAC\",\r\n certificateCodes: [\"HLTFSE001\", \"HLTFSE005\", \"HLTFSE007\"],\r\n certificateCodesString: \"HLTFSE001, HLTFSE005, HLTFSE007\",\r\n unitOfCompetencies: [\r\n \"Follow basic food safety practices\",\r\n \"Apply and monitor food safety requirements\",\r\n \"Oversee the day-to-day implementation of food safety in the workplace\",\r\n ],\r\n courseImage:\r\n \"https://solvable.azureedge.net/train-to-gain/images/courses/food-safety-supervisor-certificate-health-and-community.webp\",\r\n courseReadMorePage:\r\n \"/courses/food-safety-supervisor-certificate-health-and-community/\",\r\n courseGuideUrl: \"/Print-Course-Content-Guide/1008/\",\r\n courseName: \"Food Safety Supervisor\",\r\n courseTags: \"Health & Community\",\r\n courseInfo: {\r\n heading: <>Food Safety Supervisor Health & Community Certificate,\r\n pageTitle: \"Food Safety Supervisor Health & Community Certificate\",\r\n pageDescription: \"\",\r\n intro: (\r\n <>\r\n Completing an Accredited Food Safety Supervisor course can greatly\r\n contribute to maintaining high safety standards and safeguarding the\r\n health of vulnerable individuals. This course helps Food Safety\r\n Supervisors comply with national and local Food Safety regulations.\r\n \r\n ),\r\n units: [\r\n \"HLTFSE001 - Follow basic food safety practices\",\r\n \"HLTFSE005 - Apply and monitor food safety requirements\",\r\n \"HLTFSE007 - Oversee the day-to-day implementation of food safety in the workplace\",\r\n ],\r\n },\r\n currentThirdPartyFormVersion: 1,\r\n },\r\n];\r\n\r\nexport const nswCertificateReprint = {\r\n courseId: 7,\r\n courseTitle: \"The NSW Food Safety Supervisor Certificate Reprint\",\r\n courseCost: 45,\r\n courseContentPrefix: \"FSSHR\",\r\n certificateCodes: [\"SITXFSA005\", \"SITXFSA006\"],\r\n certificateCodesString: \"SITXFSA005, SITXFSA006\",\r\n unitOfCompetencies: [\r\n \"Use Hygienic Practices for Food Safety\",\r\n \"Participate in Safe Food Handling Practices\",\r\n ],\r\n courseImage:\r\n \"https://solvable.azureedge.net/train-to-gain/images/courses/nsw-food-safety-supervisor-certificate.webp\",\r\n validStates: <>,\r\n courseReadMorePage: \"/courses/nsw-food-safety-supervisor-certificate/\",\r\n courseGuideUrl: \"/Print-Course-Content-Guide/6/\",\r\n courseInfo: {\r\n heading: <>,\r\n pageTitle: \"\",\r\n pageDescription: \"\",\r\n intro: <>,\r\n units: [\r\n \"SITXFSA005 - Use Hygienic Practices for Food Safety\",\r\n \"SITXFSA006 - Participate in Safe Food Handling Practices\",\r\n ],\r\n },\r\n};\r\n","import { NswFoodSafetySupervisorCertificateThirdPartyFormTasks } from \"./nsw-food-safety-supervisor-certificate.js\";\r\nimport { NswFoodSafetySupervisorCertificateRefresherThirdPartyFormTasks } from \"./nsw-food-safety-supervisor-certificate-refresher.js\";\r\nimport { FoodHandlingLevel1CertificateHealthAndCommunityThirdPartyFormTasks } from \"./food-handling-level-1-certificate-health-and-community.js\";\r\nimport { FoodHandlingLevel1CertificateHospitalityAndRetailThirdPartyFormTasks } from \"./food-handling-level-1-certificate-hospitality-and-retail.js\";\r\nimport { FoodHandlingLevel2CertificateHospitalityAndRetailThirdPartyFormTasks } from \"./food-handling-level-2-certificate-hospitality-and-retail.js\";\r\nimport { FoodSafetySupervisorCertificateHealthAndCommunityThirdPartyFormTasks } from \"./food-safety-supervisor-certificate-health-and-community.js\";\r\nimport { FoodSafetySupervisorCertificateHospitalityAndRetailThirdPartyFormTasks } from \"./food-safety-supervisor-certificate-hospitality-and-retail.js\";\r\n\r\nexport const thirdPartyFormTasks = [\r\n ...NswFoodSafetySupervisorCertificateThirdPartyFormTasks,\r\n ...NswFoodSafetySupervisorCertificateRefresherThirdPartyFormTasks,\r\n ...FoodHandlingLevel1CertificateHealthAndCommunityThirdPartyFormTasks,\r\n ...FoodHandlingLevel1CertificateHospitalityAndRetailThirdPartyFormTasks,\r\n ...FoodHandlingLevel2CertificateHospitalityAndRetailThirdPartyFormTasks,\r\n ...FoodSafetySupervisorCertificateHealthAndCommunityThirdPartyFormTasks,\r\n ...FoodSafetySupervisorCertificateHospitalityAndRetailThirdPartyFormTasks,\r\n];\r\n","export const NswFoodSafetySupervisorCertificateThirdPartyFormTasks = [\r\n {\r\n taskId: 158,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"Task 1: Follow hygiene procedures and identify food hazards\",\r\n task: \"Follow organisational hygiene procedures.\",\r\n displayOrder: 1,\r\n },\r\n {\r\n taskId: 159,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"Task 1: Follow hygiene procedures and identify food hazards\",\r\n task: \"Promptly report unsafe practices that breach hygiene procedures.\",\r\n displayOrder: 2,\r\n },\r\n {\r\n taskId: 160,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"Task 1: Follow hygiene procedures and identify food hazards\",\r\n task:\r\n \"Identify food hazards that may affect the health and safety of customers, colleagues and self\",\r\n displayOrder: 3,\r\n },\r\n {\r\n taskId: 161,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"Task 1: Follow hygiene procedures and identify food hazards\",\r\n task:\r\n \"Remove or minimise the hygiene hazard and report to appropriate person for follow up.\",\r\n displayOrder: 4,\r\n },\r\n {\r\n taskId: 162,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"Task 2: Report any personal health issues.\",\r\n task: \"Report any personal health issues likely to cause a hygiene risk.\",\r\n displayOrder: 5,\r\n },\r\n {\r\n taskId: 163,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"Task 2: Report any personal health issues.\",\r\n task:\r\n \"Report incidents of food contamination resulting from personal health issues.\",\r\n displayOrder: 6,\r\n },\r\n {\r\n taskId: 164,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"Task 2: Report any personal health issues.\",\r\n task:\r\n \"Cease participation in food handling activities where a health issue may cause food contamination.\",\r\n displayOrder: 7,\r\n },\r\n {\r\n taskId: 165,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"Task 3: Prevent food contamination\",\r\n task:\r\n \"Maintain clean clothes, wear required personal protective clothing and only use organisation-approved bandages and dressings.\",\r\n displayOrder: 8,\r\n },\r\n {\r\n taskId: 166,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"Task 3: Prevent food contamination\",\r\n task: \"Prevent food contamination from clothing and other items worn.\",\r\n displayOrder: 9,\r\n },\r\n {\r\n taskId: 167,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"Task 3: Prevent food contamination\",\r\n task: \"Prevent unnecessary direct contact with ready to eat food.\",\r\n displayOrder: 10,\r\n },\r\n {\r\n taskId: 168,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"Task 3: Prevent food contamination\",\r\n task:\r\n \"Avoid unhygienic personal contact with food or food contact surfaces.\",\r\n displayOrder: 11,\r\n },\r\n {\r\n taskId: 169,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"Task 3: Prevent food contamination\",\r\n task:\r\n \"Avoid unhygienic cleaning practices that may cause food-borne illnesses.\",\r\n displayOrder: 12,\r\n },\r\n {\r\n taskId: 170,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"Task 4: Prevent cross contamination by washing hands\",\r\n task:\r\n \"Wash hands at appropriate times and follow hand washing procedures consistently.\",\r\n displayOrder: 13,\r\n },\r\n {\r\n taskId: 171,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"Task 4: Prevent cross contamination by washing hands\",\r\n task: \"Wash hands using appropriate facilities.\",\r\n displayOrder: 14,\r\n },\r\n {\r\n taskId: 172,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"Task 5: Follow food safety program\",\r\n task:\r\n \"Access and use relevant information from organisational food safety program.\",\r\n displayOrder: 15,\r\n },\r\n {\r\n taskId: 173,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"Task 5: Follow food safety program\",\r\n task: \"Follow policies and procedures in food safety program.\",\r\n displayOrder: 16,\r\n },\r\n {\r\n taskId: 174,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"Task 5: Follow food safety program\",\r\n task: \"Control food hazards at critical control points.\",\r\n displayOrder: 17,\r\n },\r\n {\r\n taskId: 175,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"Task 5: Follow food safety program\",\r\n task:\r\n \"Complete food safety monitoring processes and complete documents as required.\",\r\n displayOrder: 18,\r\n },\r\n {\r\n taskId: 176,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"Task 5: Follow food safety program\",\r\n task: \"Identify and report non-conforming practices.\",\r\n displayOrder: 19,\r\n },\r\n {\r\n taskId: 177,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"Task 5: Follow food safety program\",\r\n task:\r\n \"Take corrective actions within scope of job responsibility for incidents where food hazards are not controlled.\",\r\n displayOrder: 20,\r\n },\r\n {\r\n taskId: 178,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"Task 6: Store food safely\",\r\n task: \"Select food storage conditions for specific food type.\",\r\n displayOrder: 21,\r\n },\r\n {\r\n taskId: 179,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"Task 6: Store food safely\",\r\n task:\r\n \"Store food in environmental conditions that protect against contamination and maximise freshness, quality and appearance.\",\r\n displayOrder: 22,\r\n },\r\n {\r\n taskId: 180,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"Task 6: Store food safely\",\r\n task:\r\n \"Store food at controlled temperatures and ensure that frozen items remain frozen during storage.\",\r\n displayOrder: 23,\r\n },\r\n {\r\n taskId: 181,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"Task 7: Prepare food safely\",\r\n task:\r\n \"Use cooling and heating processes that support microbiological safety of the food.\",\r\n displayOrder: 24,\r\n },\r\n {\r\n taskId: 182,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"Task 7: Prepare food safely\",\r\n task:\r\n \"Monitor food temperature during preparation using required temperature measuring device to achieve microbiological safety.\",\r\n displayOrder: 25,\r\n },\r\n {\r\n taskId: 183,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"Task 7: Prepare food safely\",\r\n task:\r\n \"Ensure safety of food prepared, served and sold to customers under other conditions.\",\r\n displayOrder: 26,\r\n },\r\n {\r\n taskId: 184,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"Task 8: Provide safe single use items\",\r\n task:\r\n \"Store, display and provide single use items so they are protected from damage and contamination.\",\r\n displayOrder: 27,\r\n },\r\n {\r\n taskId: 185,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"Task 8: Provide safe single use items\",\r\n task: \"Follow instructions for items intended for single use.\",\r\n displayOrder: 28,\r\n },\r\n {\r\n taskId: 186,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"Task 9: Maintain a clean environment\",\r\n task: \"Clean and sanitise equipment, surfaces and utensils.\",\r\n displayOrder: 29,\r\n },\r\n {\r\n taskId: 187,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"Task 9: Maintain a clean environment\",\r\n task:\r\n \"Use appropriate containers and prevent accumulation of garbage and recycled matter.\",\r\n displayOrder: 30,\r\n },\r\n {\r\n taskId: 188,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"Task 9: Maintain a clean environment\",\r\n task:\r\n \"Identify and report cleaning, sanitising and maintenance requirements.\",\r\n displayOrder: 31,\r\n },\r\n {\r\n taskId: 189,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"Task 9: Maintain a clean environment\",\r\n task:\r\n \"Dispose of or report chipped, broken or cracked eating, drinking or food handling utensils.\",\r\n displayOrder: 32,\r\n },\r\n {\r\n taskId: 190,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"Task 9: Maintain a clean environment\",\r\n task:\r\n \"Take measures within scope of responsibility to ensure food handling areas are free from animals and pests and report incidents of animal or pest infestation.\",\r\n displayOrder: 33,\r\n },\r\n {\r\n taskId: 191,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"Task 10: Dispose of food safely\",\r\n task:\r\n \"Mark and keep separate from other foodstuffs any food identified for disposal until disposal is complete.\",\r\n displayOrder: 34,\r\n },\r\n {\r\n taskId: 192,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"Task 10: Dispose of food safely\",\r\n task: \"Dispose of food promptly to avoid cross contamination.\",\r\n displayOrder: 35,\r\n },\r\n {\r\n taskId: 193,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"General 1: Communication skills\",\r\n task: \"Verbal communication of hazards\",\r\n displayOrder: 36,\r\n },\r\n {\r\n taskId: 194,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"General 1: Communication skills\",\r\n task:\r\n \"Communication skills to verbally report hygiene hazards and poor organisational practice\",\r\n displayOrder: 37,\r\n },\r\n {\r\n taskId: 195,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"General 2: Literacy skills - Understanding workplace documents\",\r\n task:\r\n \"Literacy skills to comprehend workplace documents or diagrams that interpret the content of the organisational food safety program\",\r\n displayOrder: 38,\r\n },\r\n {\r\n taskId: 196,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"General 2: Literacy skills - Understanding workplace documents\",\r\n task:\r\n \"Literacy skills to comprehend workplace documents or diagrams that interpret the content of the hygiene and food safety procedures\",\r\n displayOrder: 39,\r\n },\r\n {\r\n taskId: 197,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"General 2: Literacy skills - Understanding workplace documents\",\r\n task:\r\n \"Literacy skills to comprehend workplace documents or diagrams that interpret the content of the Hazard Analysis and Critical Control Points (HACCP) practices\",\r\n displayOrder: 40,\r\n },\r\n {\r\n taskId: 198,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"General 2: Literacy skills - Understanding workplace documents\",\r\n task:\r\n \"Literacy skills to read and interpret food safety program, including policies, procedures and flow charts that identify critical control points\",\r\n displayOrder: 41,\r\n },\r\n {\r\n taskId: 199,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"General 2: Literacy skills - Understanding workplace documents\",\r\n task:\r\n \"Literacy skills to comprehend and complete documentation for monitoring food safety\",\r\n displayOrder: 42,\r\n },\r\n {\r\n taskId: 200,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup: \"General 2: Literacy skills - Understanding workplace documents\",\r\n task:\r\n \"Numeracy skills to calibrate and use a temperature probe and calculate timings\",\r\n displayOrder: 43,\r\n },\r\n {\r\n taskId: 201,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup:\r\n \"General 3: Problem solving skills – Identifying and reporting hazards\",\r\n task: \"Problem-solving skills to identify and report hygiene hazards\",\r\n displayOrder: 44,\r\n },\r\n {\r\n taskId: 202,\r\n courseId: 6,\r\n version: 1,\r\n taskGroup:\r\n \"General 3: Problem solving skills – Identifying and reporting hazards\",\r\n task:\r\n \"Problem-solving skills to identify and respond to routine food safety issues\",\r\n displayOrder: 45,\r\n },\r\n // -----------------------------------\r\n // Version 2\r\n // -----------------------------------\r\n {\r\n taskId: 329,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup:\r\n \"Use hygienic food handling practices including the correct methods in line with organisational procedures, including each of the following on at least three occasions\",\r\n task: \"Storing\",\r\n displayOrder: 1,\r\n },\r\n {\r\n taskId: 330,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup:\r\n \"Use hygienic food handling practices including the correct methods in line with organisational procedures, including each of the following on at least three occasions\",\r\n task: \"Preparing\",\r\n displayOrder: 2,\r\n },\r\n {\r\n taskId: 331,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup:\r\n \"Use hygienic food handling practices including the correct methods in line with organisational procedures, including each of the following on at least three occasions\",\r\n task: \"Processing\",\r\n displayOrder: 3,\r\n },\r\n {\r\n taskId: 332,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup:\r\n \"Use hygienic food handling practices including the correct methods in line with organisational procedures, including each of the following on at least three occasions\",\r\n task: \"Displaying\",\r\n displayOrder: 4,\r\n },\r\n {\r\n taskId: 333,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup:\r\n \"Use hygienic food handling practices including the correct methods in line with organisational procedures, including each of the following on at least three occasions\",\r\n task: \"Serving\",\r\n displayOrder: 5,\r\n },\r\n {\r\n taskId: 334,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup:\r\n \"Use hygienic food handling practices including the correct methods in line with organisational procedures, including each of the following on at least three occasions\",\r\n task: \"Packaging\",\r\n displayOrder: 6,\r\n },\r\n {\r\n taskId: 335,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup:\r\n \"Use hygienic food handling practices including the correct methods in line with organisational procedures, including each of the following on at least three occasions\",\r\n task: \"Transporting\",\r\n displayOrder: 7,\r\n },\r\n {\r\n taskId: 336,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup:\r\n \"Use hygienic food handling practices including the correct methods in line with organisational procedures, including each of the following on at least three occasions\",\r\n task: \"Disposing\",\r\n displayOrder: 8,\r\n },\r\n {\r\n taskId: 337,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Prevent food contamination\",\r\n task:\r\n \"Maintain clean clothes and use required personal protective equipment, including appropriate bandages and dressings where required.\",\r\n displayOrder: 9,\r\n },\r\n {\r\n taskId: 338,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Prevent food contamination\",\r\n task: \"Prevent food contamination from clothing and other personal items.\",\r\n displayOrder: 10,\r\n },\r\n {\r\n taskId: 339,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Prevent food contamination\",\r\n task: \"Prevent unnecessary direct contact with ready to eat food.\",\r\n displayOrder: 11,\r\n },\r\n {\r\n taskId: 340,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Prevent food contamination\",\r\n task:\r\n \"Ensure hygienic personal contact with food and food contact surfaces.\",\r\n displayOrder: 12,\r\n },\r\n {\r\n taskId: 341,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Prevent food contamination\",\r\n task:\r\n \"Use hygienic cleaning and sanitising practices that prevent food-borne illnesses.\",\r\n displayOrder: 13,\r\n },\r\n {\r\n taskId: 342,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Prevent cross-contamination by washing hands\",\r\n task:\r\n \"Wash hands at appropriate times and follow hand washing procedures consistently in accordance with the NSW guidelines.\",\r\n displayOrder: 14,\r\n },\r\n {\r\n taskId: 343,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Prevent cross-contamination by washing hands\",\r\n task: \"Wash hands using appropriate facilities.\",\r\n displayOrder: 15,\r\n },\r\n {\r\n taskId: 344,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Follow hygiene procedures and identify food hazards\",\r\n task: \"Follow organisational hygiene procedures.\",\r\n displayOrder: 16,\r\n },\r\n {\r\n taskId: 345,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Follow hygiene procedures and identify food hazards\",\r\n task: \"Report unsafe practices that breach hygiene procedures promptly.\",\r\n displayOrder: 17,\r\n },\r\n {\r\n taskId: 346,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Follow hygiene procedures and identify food hazards\",\r\n task:\r\n \"Identify food hazards that may affect the health and safety of customers, colleagues and self.\",\r\n displayOrder: 18,\r\n },\r\n {\r\n taskId: 347,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Follow hygiene procedures and identify food hazards\",\r\n task:\r\n \"Remove or minimise the hygiene hazard and report as appropriate for follow-up.\",\r\n displayOrder: 19,\r\n },\r\n {\r\n taskId: 348,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Report any personal health issues\",\r\n task: \"Report personal health issues likely to cause a hygiene risk.\",\r\n displayOrder: 20,\r\n },\r\n {\r\n taskId: 349,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Report any personal health issues\",\r\n task:\r\n \"Report incidents of food contamination resulting from personal health issues.\",\r\n displayOrder: 21,\r\n },\r\n {\r\n taskId: 350,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Report any personal health issues\",\r\n task:\r\n \"Cease participation in food handling activities where own health issue may cause food contamination.\",\r\n displayOrder: 22,\r\n },\r\n {\r\n taskId: 446,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Report any personal health issues\",\r\n task: \"Report unsafe hygiene practices.\",\r\n displayOrder: 23,\r\n },\r\n {\r\n taskId: 351,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Follow food safety program\",\r\n task:\r\n \"Access and use relevant information from organisational food safety program.\",\r\n displayOrder: 24,\r\n },\r\n {\r\n taskId: 352,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Follow food safety program\",\r\n task: \"Follow policies and procedures in food safety program.\",\r\n displayOrder: 25,\r\n },\r\n {\r\n taskId: 353,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Follow food safety program\",\r\n task: \"Control food hazards at critical control points.\",\r\n displayOrder: 26,\r\n },\r\n {\r\n taskId: 354,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Follow food safety program\",\r\n task:\r\n \"Complete food safety monitoring processes and complete documents as required.\",\r\n displayOrder: 27,\r\n },\r\n {\r\n taskId: 355,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Follow food safety program\",\r\n task: \"Identify and report non-conforming practices.\",\r\n displayOrder: 28,\r\n },\r\n {\r\n taskId: 356,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Follow food safety program\",\r\n task:\r\n \"Take corrective actions within scope of job responsibility for incidents where food hazards are identified.\",\r\n displayOrder: 29,\r\n },\r\n {\r\n taskId: 444,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Follow food safety program\",\r\n task: \"Follow procedures to report incidents of food contamination.\",\r\n displayOrder: 30,\r\n },\r\n {\r\n taskId: 445,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Follow food safety program\",\r\n task:\r\n \"Follow procedures to calibrate temperature probe to ensure accuracy.\",\r\n displayOrder: 31,\r\n },\r\n\r\n {\r\n taskId: 357,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Store food safely\",\r\n task: \"Select food storage conditions for specific food type.\",\r\n displayOrder: 32,\r\n },\r\n {\r\n taskId: 358,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Store food safely\",\r\n task:\r\n \"Store food in environmental conditions that protect against contamination and maximise freshness, quality and appearance.\",\r\n displayOrder: 33,\r\n },\r\n {\r\n taskId: 359,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Store food safely\",\r\n task:\r\n \"Store food at controlled temperatures and ensure that frozen items remain frozen during storage.\",\r\n displayOrder: 34,\r\n },\r\n {\r\n taskId: 360,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Store food safely\",\r\n task: \"Ensure food is stored to avoid cross-contamination of ingredients.\",\r\n displayOrder: 35,\r\n },\r\n {\r\n taskId: 361,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Prepare food safely\",\r\n task:\r\n \"Use cooling and heating processes that support microbiological safety of food.\",\r\n displayOrder: 36,\r\n },\r\n {\r\n taskId: 362,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Prepare food safely\",\r\n task:\r\n \"Monitor food temperature during preparation using required temperature measuring device to achieve microbiological safety.\",\r\n displayOrder: 37,\r\n },\r\n {\r\n taskId: 363,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Prepare food safely\",\r\n task: \"Ensure safety of food prepared, served and sold to customers.\",\r\n displayOrder: 38,\r\n },\r\n {\r\n taskId: 364,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Prepare food safely\",\r\n task:\r\n \"Prepare food to meet customer requirements, including actions to address allergen requests by customers.\",\r\n displayOrder: 39,\r\n },\r\n {\r\n taskId: 365,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Provide safe single use items\",\r\n task:\r\n \"Store, display and provide single use items so they are protected from damage and contamination.\",\r\n displayOrder: 40,\r\n },\r\n {\r\n taskId: 366,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Provide safe single use items\",\r\n task: \"Follow instructions for items intended for single use.\",\r\n displayOrder: 41,\r\n },\r\n {\r\n taskId: 367,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Maintain a clean environment\",\r\n task: \"Clean and sanitise equipment, surfaces and utensils.\",\r\n displayOrder: 42,\r\n },\r\n {\r\n taskId: 368,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Maintain a clean environment\",\r\n task:\r\n \"Use appropriate containers and prevent accumulation of garbage and recycled matter.\",\r\n displayOrder: 43,\r\n },\r\n {\r\n taskId: 369,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Maintain a clean environment\",\r\n task:\r\n \"Identify and report cleaning, sanitising and maintenance requirements.\",\r\n displayOrder: 44,\r\n },\r\n {\r\n taskId: 370,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Maintain a clean environment\",\r\n task:\r\n \"Dispose of, or report damaged or unsafe eating, drinking or food handling utensils.\",\r\n displayOrder: 45,\r\n },\r\n {\r\n taskId: 371,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Maintain a clean environment\",\r\n task:\r\n \"Take measures within scope of responsibility to ensure food handling areas are free from animals and pests and report incidents of animal or pest infestation.\",\r\n displayOrder: 46,\r\n },\r\n {\r\n taskId: 372,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Dispose of food safely\",\r\n task:\r\n \"Mark and keep separate from other foodstuffs any food identified for disposal until disposal is complete.\",\r\n displayOrder: 47,\r\n },\r\n {\r\n taskId: 373,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Dispose of food safely\",\r\n task: \"Dispose of food promptly to avoid cross-contamination.\",\r\n displayOrder: 48,\r\n },\r\n {\r\n taskId: 374,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Dispose of food safely\",\r\n task: \"Use appropriate documentation to record of disposed items.\",\r\n displayOrder: 49,\r\n },\r\n {\r\n taskId: 375,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Food allergen management\",\r\n task: \"Identify critical control points for food allergen management.\",\r\n displayOrder: 50,\r\n },\r\n {\r\n taskId: 376,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Food allergen management\",\r\n task:\r\n \"Apply procedures to prevent cross contamination of food allergens in food storage, preparation and serving.\",\r\n displayOrder: 51,\r\n },\r\n {\r\n taskId: 377,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Food allergen management\",\r\n task: \"Identify food allergens on packaged and unpackaged foods.\",\r\n displayOrder: 52,\r\n },\r\n {\r\n taskId: 378,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Food allergen management\",\r\n task: \"Identify the most common food allergens.\",\r\n displayOrder: 53,\r\n },\r\n {\r\n taskId: 379,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Food allergen management\",\r\n task:\r\n \"Identify tools and resources to help with implementation of food allergen management procedures.\",\r\n displayOrder: 54,\r\n },\r\n {\r\n taskId: 380,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Food Safety compliance and skills\",\r\n task: \"The student is aware of the NSW Food Act 2003 offences.\",\r\n displayOrder: 55,\r\n },\r\n {\r\n taskId: 381,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Food Safety compliance and skills\",\r\n task:\r\n \"Communication skills to verbally report hygiene hazards and poor organisational practice.\",\r\n displayOrder: 56,\r\n },\r\n {\r\n taskId: 382,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Food Safety compliance and skills\",\r\n task:\r\n \"Literacy skills to read and interpret workplace documents, including policies, procedures and flow charts that identify critical control points.\",\r\n displayOrder: 57,\r\n },\r\n {\r\n taskId: 383,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Food Safety compliance and skills\",\r\n task:\r\n \"Literacy skills to comprehend and complete documentation for monitoring food safety.\",\r\n displayOrder: 58,\r\n },\r\n {\r\n taskId: 384,\r\n courseId: 6,\r\n version: 2,\r\n taskGroup: \"Food Safety compliance and skills\",\r\n task:\r\n \"Numeracy skills to calibrate and use a temperature probe and calculate timings.\",\r\n displayOrder: 59,\r\n },\r\n];\r\n","export const NswFoodSafetySupervisorCertificateRefresherThirdPartyFormTasks = [\r\n {\r\n taskId: 238,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"Task 1: Follow hygiene procedures and identify food hazards\",\r\n task: \"Follow organisational hygiene procedures.\",\r\n displayOrder: 1,\r\n },\r\n {\r\n taskId: 239,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"Task 1: Follow hygiene procedures and identify food hazards\",\r\n task: \"Promptly report unsafe practices that breach hygiene procedures.\",\r\n displayOrder: 2,\r\n },\r\n {\r\n taskId: 240,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"Task 1: Follow hygiene procedures and identify food hazards\",\r\n task:\r\n \"Identify food hazards that may affect the health and safety of customers, colleagues and self\",\r\n displayOrder: 3,\r\n },\r\n {\r\n taskId: 241,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"Task 1: Follow hygiene procedures and identify food hazards\",\r\n task:\r\n \"Remove or minimise the hygiene hazard and report to appropriate person for follow up.\",\r\n displayOrder: 4,\r\n },\r\n {\r\n taskId: 242,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"Task 2: Report any personal health issues.\",\r\n task: \"Report any personal health issues likely to cause a hygiene risk.\",\r\n displayOrder: 5,\r\n },\r\n {\r\n taskId: 243,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"Task 2: Report any personal health issues.\",\r\n task:\r\n \"Report incidents of food contamination resulting from personal health issues.\",\r\n displayOrder: 6,\r\n },\r\n {\r\n taskId: 244,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"Task 2: Report any personal health issues.\",\r\n task:\r\n \"Cease participation in food handling activities where a health issue may cause food contamination.\",\r\n displayOrder: 7,\r\n },\r\n {\r\n taskId: 245,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"Task 3: Prevent food contamination\",\r\n task:\r\n \"Maintain clean clothes, wear required personal protective clothing and only use organisation-approved bandages and dressings.\",\r\n displayOrder: 8,\r\n },\r\n {\r\n taskId: 246,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"Task 3: Prevent food contamination\",\r\n task: \"Prevent food contamination from clothing and other items worn.\",\r\n displayOrder: 9,\r\n },\r\n {\r\n taskId: 247,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"Task 3: Prevent food contamination\",\r\n task: \"Prevent unnecessary direct contact with ready to eat food.\",\r\n displayOrder: 10,\r\n },\r\n {\r\n taskId: 248,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"Task 3: Prevent food contamination\",\r\n task:\r\n \"Avoid unhygienic personal contact with food or food contact surfaces.\",\r\n displayOrder: 11,\r\n },\r\n {\r\n taskId: 249,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"Task 3: Prevent food contamination\",\r\n task:\r\n \"Avoid unhygienic cleaning practices that may cause food-borne illnesses.\",\r\n displayOrder: 12,\r\n },\r\n {\r\n taskId: 250,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"Task 4: Prevent cross contamination by washing hands\",\r\n task:\r\n \"Wash hands at appropriate times and follow hand washing procedures consistently.\",\r\n displayOrder: 13,\r\n },\r\n {\r\n taskId: 251,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"Task 4: Prevent cross contamination by washing hands\",\r\n task: \"Wash hands using appropriate facilities.\",\r\n displayOrder: 14,\r\n },\r\n {\r\n taskId: 252,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"Task 5: Follow food safety program\",\r\n task:\r\n \"Access and use relevant information from organisational food safety program.\",\r\n displayOrder: 15,\r\n },\r\n {\r\n taskId: 253,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"Task 5: Follow food safety program\",\r\n task: \"Follow policies and procedures in food safety program.\",\r\n displayOrder: 16,\r\n },\r\n {\r\n taskId: 254,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"Task 5: Follow food safety program\",\r\n task: \"Control food hazards at critical control points.\",\r\n displayOrder: 17,\r\n },\r\n {\r\n taskId: 255,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"Task 5: Follow food safety program\",\r\n task:\r\n \"Complete food safety monitoring processes and complete documents as required.\",\r\n displayOrder: 18,\r\n },\r\n {\r\n taskId: 256,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"Task 5: Follow food safety program\",\r\n task: \"Identify and report non-conforming practices.\",\r\n displayOrder: 19,\r\n },\r\n {\r\n taskId: 257,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"Task 5: Follow food safety program\",\r\n task:\r\n \"Take corrective actions within scope of job responsibility for incidents where food hazards are not controlled.\",\r\n displayOrder: 20,\r\n },\r\n {\r\n taskId: 258,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"Task 6: Store food safely\",\r\n task: \"Select food storage conditions for specific food type.\",\r\n displayOrder: 21,\r\n },\r\n {\r\n taskId: 259,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"Task 6: Store food safely\",\r\n task:\r\n \"Store food in environmental conditions that protect against contamination and maximise freshness, quality and appearance.\",\r\n displayOrder: 22,\r\n },\r\n {\r\n taskId: 260,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"Task 6: Store food safely\",\r\n task:\r\n \"Store food at controlled temperatures and ensure that frozen items remain frozen during storage.\",\r\n displayOrder: 23,\r\n },\r\n {\r\n taskId: 261,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"Task 7: Prepare food safely\",\r\n task:\r\n \"Use cooling and heating processes that support microbiological safety of the food.\",\r\n displayOrder: 24,\r\n },\r\n {\r\n taskId: 262,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"Task 7: Prepare food safely\",\r\n task:\r\n \"Monitor food temperature during preparation using required temperature measuring device to achieve microbiological safety.\",\r\n displayOrder: 25,\r\n },\r\n {\r\n taskId: 263,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"Task 7: Prepare food safely\",\r\n task:\r\n \"Ensure safety of food prepared, served and sold to customers under other conditions.\",\r\n displayOrder: 26,\r\n },\r\n {\r\n taskId: 264,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"Task 8: Provide safe single use items\",\r\n task:\r\n \"Store, display and provide single use items so they are protected from damage and contamination.\",\r\n displayOrder: 27,\r\n },\r\n {\r\n taskId: 265,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"Task 8: Provide safe single use items\",\r\n task: \"Follow instructions for items intended for single use.\",\r\n displayOrder: 28,\r\n },\r\n {\r\n taskId: 266,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"Task 9: Maintain a clean environment\",\r\n task: \"Clean and sanitise equipment, surfaces and utensils.\",\r\n displayOrder: 29,\r\n },\r\n {\r\n taskId: 267,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"Task 9: Maintain a clean environment\",\r\n task:\r\n \"Use appropriate containers and prevent accumulation of garbage and recycled matter.\",\r\n displayOrder: 30,\r\n },\r\n {\r\n taskId: 268,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"Task 9: Maintain a clean environment\",\r\n task:\r\n \"Identify and report cleaning, sanitising and maintenance requirements.\",\r\n displayOrder: 31,\r\n },\r\n {\r\n taskId: 269,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"Task 9: Maintain a clean environment\",\r\n task:\r\n \"Dispose of or report chipped, broken or cracked eating, drinking or food handling utensils.\",\r\n displayOrder: 32,\r\n },\r\n {\r\n taskId: 270,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"Task 9: Maintain a clean environment\",\r\n task:\r\n \"Take measures within scope of responsibility to ensure food handling areas are free from animals and pests and report incidents of animal or pest infestation.\",\r\n displayOrder: 33,\r\n },\r\n {\r\n taskId: 271,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"Task 10: Dispose of food safely\",\r\n task:\r\n \"Mark and keep separate from other foodstuffs any food identified for disposal until disposal is complete.\",\r\n displayOrder: 34,\r\n },\r\n {\r\n taskId: 272,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"Task 10: Dispose of food safely\",\r\n task: \"Dispose of food promptly to avoid cross contamination.\",\r\n displayOrder: 35,\r\n },\r\n {\r\n taskId: 273,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"General 1: Communication skills\",\r\n task: \"Verbal communication of hazards\",\r\n displayOrder: 36,\r\n },\r\n {\r\n taskId: 274,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"General 1: Communication skills\",\r\n task:\r\n \"Communication skills to verbally report hygiene hazards and poor organisational practice\",\r\n displayOrder: 37,\r\n },\r\n {\r\n taskId: 275,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"General 2: Literacy skills - Understanding workplace documents\",\r\n task:\r\n \"Literacy skills to comprehend workplace documents or diagrams that interpret the content of the organisational food safety program\",\r\n displayOrder: 38,\r\n },\r\n {\r\n taskId: 276,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"General 2: Literacy skills - Understanding workplace documents\",\r\n task:\r\n \"Literacy skills to comprehend workplace documents or diagrams that interpret the content of the hygiene and food safety procedures\",\r\n displayOrder: 39,\r\n },\r\n {\r\n taskId: 277,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"General 2: Literacy skills - Understanding workplace documents\",\r\n task:\r\n \"Literacy skills to comprehend workplace documents or diagrams that interpret the content of the Hazard Analysis and Critical Control Points (HACCP) practices\",\r\n displayOrder: 40,\r\n },\r\n {\r\n taskId: 278,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"General 2: Literacy skills - Understanding workplace documents\",\r\n task:\r\n \"Literacy skills to read and interpret food safety program, including policies, procedures and flow charts that identify critical control points\",\r\n displayOrder: 41,\r\n },\r\n {\r\n taskId: 279,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"General 2: Literacy skills - Understanding workplace documents\",\r\n task:\r\n \"Literacy skills to comprehend and complete documentation for monitoring food safety\",\r\n displayOrder: 42,\r\n },\r\n {\r\n taskId: 280,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup: \"General 2: Literacy skills - Understanding workplace documents\",\r\n task:\r\n \"Numeracy skills to calibrate and use a temperature probe and calculate timings\",\r\n displayOrder: 43,\r\n },\r\n {\r\n taskId: 281,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup:\r\n \"General 3: Problem solving skills – Identifying and reporting hazards\",\r\n task: \"Problem-solving skills to identify and report hygiene hazards\",\r\n displayOrder: 44,\r\n },\r\n {\r\n taskId: 282,\r\n courseId: 8,\r\n version: 1,\r\n taskGroup:\r\n \"General 3: Problem solving skills – Identifying and reporting hazards\",\r\n task:\r\n \"Problem-solving skills to identify and respond to routine food safety issues\",\r\n displayOrder: 45,\r\n },\r\n // -----------------------------------\r\n // Version 2\r\n // -----------------------------------\r\n {\r\n taskId: 385,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup:\r\n \"Use hygienic food handling practices including the correct methods in line with organisational procedures, including each of the following on at least three occasions\",\r\n task: \"Storing\",\r\n displayOrder: 1,\r\n },\r\n {\r\n taskId: 386,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup:\r\n \"Use hygienic food handling practices including the correct methods in line with organisational procedures, including each of the following on at least three occasions\",\r\n task: \"Preparing\",\r\n displayOrder: 2,\r\n },\r\n {\r\n taskId: 387,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup:\r\n \"Use hygienic food handling practices including the correct methods in line with organisational procedures, including each of the following on at least three occasions\",\r\n task: \"Processing\",\r\n displayOrder: 3,\r\n },\r\n {\r\n taskId: 388,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup:\r\n \"Use hygienic food handling practices including the correct methods in line with organisational procedures, including each of the following on at least three occasions\",\r\n task: \"Displaying\",\r\n displayOrder: 4,\r\n },\r\n {\r\n taskId: 389,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup:\r\n \"Use hygienic food handling practices including the correct methods in line with organisational procedures, including each of the following on at least three occasions\",\r\n task: \"Serving\",\r\n displayOrder: 5,\r\n },\r\n {\r\n taskId: 390,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup:\r\n \"Use hygienic food handling practices including the correct methods in line with organisational procedures, including each of the following on at least three occasions\",\r\n task: \"Packaging\",\r\n displayOrder: 6,\r\n },\r\n {\r\n taskId: 391,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup:\r\n \"Use hygienic food handling practices including the correct methods in line with organisational procedures, including each of the following on at least three occasions\",\r\n task: \"Transporting\",\r\n displayOrder: 7,\r\n },\r\n {\r\n taskId: 392,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup:\r\n \"Use hygienic food handling practices including the correct methods in line with organisational procedures, including each of the following on at least three occasions\",\r\n task: \"Disposing\",\r\n displayOrder: 8,\r\n },\r\n {\r\n taskId: 393,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Prevent food contamination\",\r\n task:\r\n \"Maintain clean clothes and use required personal protective equipment, including appropriate bandages and dressings where required.\",\r\n displayOrder: 9,\r\n },\r\n {\r\n taskId: 394,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Prevent food contamination\",\r\n task: \"Prevent food contamination from clothing and other personal items.\",\r\n displayOrder: 10,\r\n },\r\n {\r\n taskId: 395,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Prevent food contamination\",\r\n task: \"Prevent unnecessary direct contact with ready to eat food.\",\r\n displayOrder: 11,\r\n },\r\n {\r\n taskId: 396,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Prevent food contamination\",\r\n task:\r\n \"Ensure hygienic personal contact with food and food contact surfaces.\",\r\n displayOrder: 12,\r\n },\r\n {\r\n taskId: 397,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Prevent food contamination\",\r\n task:\r\n \"Use hygienic cleaning and sanitising practices that prevent food-borne illnesses.\",\r\n displayOrder: 13,\r\n },\r\n {\r\n taskId: 398,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Prevent cross-contamination by washing hands\",\r\n task:\r\n \"Wash hands at appropriate times and follow hand washing procedures consistently in accordance with the NSW guidelines.\",\r\n displayOrder: 14,\r\n },\r\n {\r\n taskId: 399,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Prevent cross-contamination by washing hands\",\r\n task: \"Wash hands using appropriate facilities.\",\r\n displayOrder: 15,\r\n },\r\n {\r\n taskId: 400,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Follow hygiene procedures and identify food hazards\",\r\n task: \"Follow organisational hygiene procedures.\",\r\n displayOrder: 16,\r\n },\r\n {\r\n taskId: 401,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Follow hygiene procedures and identify food hazards\",\r\n task: \"Report unsafe practices that breach hygiene procedures promptly.\",\r\n displayOrder: 17,\r\n },\r\n {\r\n taskId: 402,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Follow hygiene procedures and identify food hazards\",\r\n task:\r\n \"Identify food hazards that may affect the health and safety of customers, colleagues and self.\",\r\n displayOrder: 18,\r\n },\r\n {\r\n taskId: 403,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Follow hygiene procedures and identify food hazards\",\r\n task:\r\n \"Remove or minimise the hygiene hazard and report as appropriate for follow-up.\",\r\n displayOrder: 19,\r\n },\r\n {\r\n taskId: 404,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Report any personal health issues\",\r\n task: \"Report personal health issues likely to cause a hygiene risk.\",\r\n displayOrder: 20,\r\n },\r\n {\r\n taskId: 405,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Report any personal health issues\",\r\n task:\r\n \"Report incidents of food contamination resulting from personal health issues.\",\r\n displayOrder: 21,\r\n },\r\n {\r\n taskId: 406,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Report any personal health issues\",\r\n task:\r\n \"Cease participation in food handling activities where own health issue may cause food contamination.\",\r\n displayOrder: 22,\r\n },\r\n {\r\n taskId: 443,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Report any personal health issues\",\r\n task: \"Report unsafe hygiene practices.\",\r\n displayOrder: 23,\r\n },\r\n {\r\n taskId: 407,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Follow food safety program\",\r\n task:\r\n \"Access and use relevant information from organisational food safety program.\",\r\n displayOrder: 24,\r\n },\r\n {\r\n taskId: 408,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Follow food safety program\",\r\n task: \"Follow policies and procedures in food safety program.\",\r\n displayOrder: 25,\r\n },\r\n {\r\n taskId: 409,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Follow food safety program\",\r\n task: \"Control food hazards at critical control points.\",\r\n displayOrder: 26,\r\n },\r\n {\r\n taskId: 410,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Follow food safety program\",\r\n task:\r\n \"Complete food safety monitoring processes and complete documents as required.\",\r\n displayOrder: 27,\r\n },\r\n {\r\n taskId: 411,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Follow food safety program\",\r\n task: \"Identify and report non-conforming practices.\",\r\n displayOrder: 28,\r\n },\r\n {\r\n taskId: 412,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Follow food safety program\",\r\n task:\r\n \"Take corrective actions within scope of job responsibility for incidents where food hazards are identified.\",\r\n displayOrder: 29,\r\n },\r\n {\r\n taskId: 441,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Follow food safety program\",\r\n task: \"Follow procedures to report incidents of food contamination.\",\r\n displayOrder: 30,\r\n },\r\n {\r\n taskId: 442,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Follow food safety program\",\r\n task:\r\n \"Follow procedures to calibrate temperature probe to ensure accuracy.\",\r\n displayOrder: 31,\r\n },\r\n\r\n {\r\n taskId: 413,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Store food safely\",\r\n task: \"Select food storage conditions for specific food type.\",\r\n displayOrder: 32,\r\n },\r\n {\r\n taskId: 414,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Store food safely\",\r\n task:\r\n \"Store food in environmental conditions that protect against contamination and maximise freshness, quality and appearance.\",\r\n displayOrder: 33,\r\n },\r\n {\r\n taskId: 415,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Store food safely\",\r\n task:\r\n \"Store food at controlled temperatures and ensure that frozen items remain frozen during storage.\",\r\n displayOrder: 34,\r\n },\r\n {\r\n taskId: 416,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Store food safely\",\r\n task: \"Ensure food is stored to avoid cross-contamination of ingredients.\",\r\n displayOrder: 35,\r\n },\r\n {\r\n taskId: 417,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Prepare food safely\",\r\n task:\r\n \"Use cooling and heating processes that support microbiological safety of food.\",\r\n displayOrder: 36,\r\n },\r\n {\r\n taskId: 418,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Prepare food safely\",\r\n task:\r\n \"Monitor food temperature during preparation using required temperature measuring device to achieve microbiological safety.\",\r\n displayOrder: 37,\r\n },\r\n {\r\n taskId: 419,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Prepare food safely\",\r\n task: \"Ensure safety of food prepared, served and sold to customers.\",\r\n displayOrder: 38,\r\n },\r\n {\r\n taskId: 420,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Prepare food safely\",\r\n task:\r\n \"Prepare food to meet customer requirements, including actions to address allergen requests by customers.\",\r\n displayOrder: 39,\r\n },\r\n {\r\n taskId: 421,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Provide safe single use items\",\r\n task:\r\n \"Store, display and provide single use items so they are protected from damage and contamination.\",\r\n displayOrder: 40,\r\n },\r\n {\r\n taskId: 422,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Provide safe single use items\",\r\n task: \"Follow instructions for items intended for single use.\",\r\n displayOrder: 41,\r\n },\r\n {\r\n taskId: 423,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Maintain a clean environment\",\r\n task: \"Clean and sanitise equipment, surfaces and utensils.\",\r\n displayOrder: 42,\r\n },\r\n {\r\n taskId: 424,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Maintain a clean environment\",\r\n task:\r\n \"Use appropriate containers and prevent accumulation of garbage and recycled matter.\",\r\n displayOrder: 43,\r\n },\r\n {\r\n taskId: 425,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Maintain a clean environment\",\r\n task:\r\n \"Identify and report cleaning, sanitising and maintenance requirements.\",\r\n displayOrder: 44,\r\n },\r\n {\r\n taskId: 426,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Maintain a clean environment\",\r\n task:\r\n \"Dispose of, or report damaged or unsafe eating, drinking or food handling utensils.\",\r\n displayOrder: 45,\r\n },\r\n {\r\n taskId: 427,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Maintain a clean environment\",\r\n task:\r\n \"Take measures within scope of responsibility to ensure food handling areas are free from animals and pests and report incidents of animal or pest infestation.\",\r\n displayOrder: 46,\r\n },\r\n {\r\n taskId: 428,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Dispose of food safely\",\r\n task:\r\n \"Mark and keep separate from other foodstuffs any food identified for disposal until disposal is complete.\",\r\n displayOrder: 47,\r\n },\r\n {\r\n taskId: 429,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Dispose of food safely\",\r\n task: \"Dispose of food promptly to avoid cross-contamination.\",\r\n displayOrder: 48,\r\n },\r\n {\r\n taskId: 430,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Dispose of food safely\",\r\n task: \"Use appropriate documentation to record of disposed items.\",\r\n displayOrder: 49,\r\n },\r\n {\r\n taskId: 431,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Food allergen management\",\r\n task: \"Identify critical control points for food allergen management.\",\r\n displayOrder: 50,\r\n },\r\n {\r\n taskId: 432,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Food allergen management\",\r\n task:\r\n \"Apply procedures to prevent cross contamination of food allergens in food storage, preparation and serving.\",\r\n displayOrder: 51,\r\n },\r\n {\r\n taskId: 433,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Food allergen management\",\r\n task: \"Identify food allergens on packaged and unpackaged foods.\",\r\n displayOrder: 52,\r\n },\r\n {\r\n taskId: 434,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Food allergen management\",\r\n task: \"Identify the most common food allergens.\",\r\n displayOrder: 53,\r\n },\r\n {\r\n taskId: 435,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Food allergen management\",\r\n task:\r\n \"Identify tools and resources to help with implementation of food allergen management procedures.\",\r\n displayOrder: 54,\r\n },\r\n {\r\n taskId: 436,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Food Safety compliance and skills\",\r\n task: \"The student is aware of the NSW Food Act 2003 offences.\",\r\n displayOrder: 55,\r\n },\r\n {\r\n taskId: 437,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Food Safety compliance and skills\",\r\n task:\r\n \"Communication skills to verbally report hygiene hazards and poor organisational practice.\",\r\n displayOrder: 56,\r\n },\r\n {\r\n taskId: 438,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Food Safety compliance and skills\",\r\n task:\r\n \"Literacy skills to read and interpret workplace documents, including policies, procedures and flow charts that identify critical control points.\",\r\n displayOrder: 57,\r\n },\r\n {\r\n taskId: 439,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Food Safety compliance and skills\",\r\n task:\r\n \"Literacy skills to comprehend and complete documentation for monitoring food safety.\",\r\n displayOrder: 58,\r\n },\r\n {\r\n taskId: 440,\r\n courseId: 8,\r\n version: 2,\r\n taskGroup: \"Food Safety compliance and skills\",\r\n task:\r\n \"Numeracy skills to calibrate and use a temperature probe and calculate timings.\",\r\n displayOrder: 59,\r\n },\r\n];\r\n","export const FoodHandlingLevel1CertificateHealthAndCommunityThirdPartyFormTasks = [\r\n {\r\n taskId: 313,\r\n courseId: 1009,\r\n version: 1,\r\n taskGroup:\r\n \"Task 1: Maintain food safety while carrying out food handling activities\",\r\n task: \"Handle food according to the food safety program\",\r\n displayOrder: 1,\r\n },\r\n {\r\n taskId: 314,\r\n courseId: 1009,\r\n version: 1,\r\n taskGroup:\r\n \"Task 1: Maintain food safety while carrying out food handling activities\",\r\n task:\r\n \"Identify and report processes and practices which are not consistent with the food safety program\",\r\n displayOrder: 2,\r\n },\r\n {\r\n taskId: 315,\r\n courseId: 1009,\r\n version: 1,\r\n taskGroup:\r\n \"Task 1: Maintain food safety while carrying out food handling activities\",\r\n task:\r\n \"Take corrective action, within level of responsibility, and according to the food safety program\",\r\n displayOrder: 3,\r\n },\r\n {\r\n taskId: 316,\r\n courseId: 1009,\r\n version: 1,\r\n taskGroup:\r\n \"Task 1: Maintain food safety while carrying out food handling activities\",\r\n task:\r\n \"Report any corrective action to supervisor, and according to legislative and organisation protocols\",\r\n displayOrder: 4,\r\n },\r\n {\r\n taskId: 317,\r\n courseId: 1009,\r\n version: 1,\r\n taskGroup: \"Task 2: Comply with personal hygiene standards\",\r\n task:\r\n \"Ensure personal hygiene meets the requirements of the food safety program\",\r\n displayOrder: 5,\r\n },\r\n {\r\n taskId: 318,\r\n courseId: 1009,\r\n version: 1,\r\n taskGroup: \"Task 2: Comply with personal hygiene standards\",\r\n task:\r\n \"Report health conditions and/or illness, as required by the food safety program\",\r\n displayOrder: 6,\r\n },\r\n {\r\n taskId: 319,\r\n courseId: 1009,\r\n version: 1,\r\n taskGroup: \"Task 2: Comply with personal hygiene standards\",\r\n task:\r\n \"Wear appropriate clothing and footwear as required by the food safety program\",\r\n displayOrder: 7,\r\n },\r\n {\r\n taskId: 320,\r\n courseId: 1009,\r\n version: 1,\r\n taskGroup:\r\n \"Task 3: Contribute to the cleanliness of food handling areas, according to the food safety program\",\r\n task:\r\n \"Maintain the workplace in a clean and tidy order to meet workplace requirements\",\r\n displayOrder: 8,\r\n },\r\n {\r\n taskId: 321,\r\n courseId: 1009,\r\n version: 1,\r\n taskGroup:\r\n \"Task 3: Contribute to the cleanliness of food handling areas, according to the food safety program\",\r\n task:\r\n \"Comply with workplace measures to prevent pests entering food premises\",\r\n displayOrder: 9,\r\n },\r\n {\r\n taskId: 322,\r\n courseId: 1009,\r\n version: 1,\r\n taskGroup:\r\n \"Task 3: Contribute to the cleanliness of food handling areas, according to the food safety program\",\r\n task: \"Identify and report indicators of pest presence\",\r\n displayOrder: 10,\r\n },\r\n {\r\n taskId: 323,\r\n courseId: 1009,\r\n version: 1,\r\n taskGroup: \"Task 4: Dispose of food according to food safety program\",\r\n task:\r\n \"Keep food for disposal separate, according to food safety program requirements\",\r\n displayOrder: 11,\r\n },\r\n {\r\n taskId: 324,\r\n courseId: 1009,\r\n version: 1,\r\n taskGroup: \"Task 4: Dispose of food according to food safety program\",\r\n task: \"Dispose of food according to the food safety program requirements\",\r\n displayOrder: 12,\r\n },\r\n {\r\n taskId: 325,\r\n courseId: 1009,\r\n version: 1,\r\n taskGroup:\r\n \"General 1: It is critical that the candidate demonstrate the ability to:\",\r\n task:\r\n \"Apply knowledge of aspects of the food safety program relevant to the work role\",\r\n displayOrder: 13,\r\n },\r\n {\r\n taskId: 326,\r\n courseId: 1009,\r\n version: 1,\r\n taskGroup:\r\n \"General 1: It is critical that the candidate demonstrate the ability to:\",\r\n task: \"Comply with personal hygiene requirements\",\r\n displayOrder: 14,\r\n },\r\n {\r\n taskId: 327,\r\n courseId: 1009,\r\n version: 1,\r\n taskGroup:\r\n \"General 1: It is critical that the candidate demonstrate the ability to:\",\r\n task: \"Comply with workplace cleanliness requirements\",\r\n displayOrder: 15,\r\n },\r\n {\r\n taskId: 328,\r\n courseId: 1009,\r\n version: 1,\r\n taskGroup:\r\n \"General 1: It is critical that the candidate demonstrate the ability to:\",\r\n task: \"Demonstrate appropriate disposal of food\",\r\n displayOrder: 16,\r\n },\r\n];\r\n","export const FoodHandlingLevel1CertificateHospitalityAndRetailThirdPartyFormTasks = [\r\n {\r\n taskId: 28,\r\n courseId: 2,\r\n version: 1,\r\n taskGroup: \"Task 1: Follow hygiene procedures and identify food hazards\",\r\n task: \"Follow organisational hygiene procedures.\",\r\n displayOrder: 1,\r\n },\r\n {\r\n taskId: 29,\r\n courseId: 2,\r\n version: 1,\r\n taskGroup: \"Task 1: Follow hygiene procedures and identify food hazards\",\r\n task: \"Promptly report unsafe practices that breach hygiene procedures.\",\r\n displayOrder: 2,\r\n },\r\n {\r\n taskId: 30,\r\n courseId: 2,\r\n version: 1,\r\n taskGroup: \"Task 1: Follow hygiene procedures and identify food hazards\",\r\n task:\r\n \"Identify food hazards that may affect the health and safety of customers, colleagues and self\",\r\n displayOrder: 3,\r\n },\r\n {\r\n taskId: 31,\r\n courseId: 2,\r\n version: 1,\r\n taskGroup: \"Task 1: Follow hygiene procedures and identify food hazards\",\r\n task:\r\n \"Remove or minimise the hygiene hazard and report to appropriate person for follow up.\",\r\n displayOrder: 4,\r\n },\r\n {\r\n taskId: 32,\r\n courseId: 2,\r\n version: 1,\r\n taskGroup: \"Task 2: Report any personal health issues.\",\r\n task: \"Report any personal health issues likely to cause a hygiene risk.\",\r\n displayOrder: 5,\r\n },\r\n {\r\n taskId: 33,\r\n courseId: 2,\r\n version: 1,\r\n taskGroup: \"Task 2: Report any personal health issues.\",\r\n task:\r\n \"Report incidents of food contamination resulting from personal health issues.\",\r\n displayOrder: 6,\r\n },\r\n {\r\n taskId: 34,\r\n courseId: 2,\r\n version: 1,\r\n taskGroup: \"Task 2: Report any personal health issues.\",\r\n task:\r\n \"Cease participation in food handling activities where a health issue may cause food contamination.\",\r\n displayOrder: 7,\r\n },\r\n {\r\n taskId: 35,\r\n courseId: 2,\r\n version: 1,\r\n taskGroup: \"Task 3: Prevent food contamination\",\r\n task:\r\n \"Maintain clean clothes, wear required personal protective clothing and only use organisation-approved bandages and dressings.\",\r\n displayOrder: 8,\r\n },\r\n {\r\n taskId: 36,\r\n courseId: 2,\r\n version: 1,\r\n taskGroup: \"Task 3: Prevent food contamination\",\r\n task: \"Prevent food contamination from clothing and other items worn.\",\r\n displayOrder: 9,\r\n },\r\n {\r\n taskId: 37,\r\n courseId: 2,\r\n version: 1,\r\n taskGroup: \"Task 3: Prevent food contamination\",\r\n task: \"Prevent unnecessary direct contact with ready to eat food.\",\r\n displayOrder: 10,\r\n },\r\n {\r\n taskId: 38,\r\n courseId: 2,\r\n version: 1,\r\n taskGroup: \"Task 3: Prevent food contamination\",\r\n task:\r\n \"Avoid unhygienic personal contact with food or food contact surfaces.\",\r\n displayOrder: 11,\r\n },\r\n {\r\n taskId: 39,\r\n courseId: 2,\r\n version: 1,\r\n taskGroup: \"Task 3: Prevent food contamination\",\r\n task:\r\n \"Avoid unhygienic cleaning practices that may cause food-borne illnesses.\",\r\n displayOrder: 12,\r\n },\r\n {\r\n taskId: 40,\r\n courseId: 2,\r\n version: 1,\r\n taskGroup: \"Task 4: Prevent cross contamination by washing hands\",\r\n task:\r\n \"Wash hands at appropriate times and follow hand washing procedures consistently.\",\r\n displayOrder: 13,\r\n },\r\n {\r\n taskId: 41,\r\n courseId: 2,\r\n version: 1,\r\n taskGroup: \"Task 4: Prevent cross contamination by washing hands\",\r\n task: \"Wash hands using appropriate facilities.\",\r\n displayOrder: 14,\r\n },\r\n {\r\n taskId: 42,\r\n courseId: 2,\r\n version: 1,\r\n taskGroup: \"General 1: Communication skills\",\r\n task: \"Verbal communication of hazards\",\r\n displayOrder: 15,\r\n },\r\n {\r\n taskId: 43,\r\n courseId: 2,\r\n version: 1,\r\n taskGroup: \"General 1: Communication skills\",\r\n task:\r\n \"Communication skills to verbally report hygiene hazards and poor organisational practice\",\r\n displayOrder: 16,\r\n },\r\n {\r\n taskId: 44,\r\n courseId: 2,\r\n version: 1,\r\n taskGroup: \"General 2: Literacy skills - Understanding workplace documents\",\r\n task:\r\n \"Literacy skills to comprehend workplace documents or diagrams that interpret the content of the organisational food safety program\",\r\n displayOrder: 17,\r\n },\r\n {\r\n taskId: 45,\r\n courseId: 2,\r\n version: 1,\r\n taskGroup: \"General 2: Literacy skills - Understanding workplace documents\",\r\n task:\r\n \"Literacy skills to comprehend workplace documents or diagrams that interpret the content of the hygiene and food safety procedures\",\r\n displayOrder: 18,\r\n },\r\n {\r\n taskId: 46,\r\n courseId: 2,\r\n version: 1,\r\n taskGroup: \"General 2: Literacy skills - Understanding workplace documents\",\r\n task:\r\n \"Literacy skills to comprehend workplace documents or diagrams that interpret the content of the Hazard Analysis and Critical Control Points (HACCP) practices\",\r\n displayOrder: 19,\r\n },\r\n {\r\n taskId: 47,\r\n courseId: 2,\r\n version: 1,\r\n taskGroup:\r\n \"General 3: Problem solving skills – Identifying and reporting hazards\",\r\n task: \"Problem-solving skills to identify and report hygiene hazards\",\r\n displayOrder: 20,\r\n },\r\n];\r\n","export const FoodHandlingLevel2CertificateHospitalityAndRetailThirdPartyFormTasks = [\r\n {\r\n taskId: 1,\r\n courseId: 3,\r\n version: 1,\r\n taskGroup: \"Task 1: Follow food safety program\",\r\n task:\r\n \"Access and use relevant information from organisational food safety program.\",\r\n displayOrder: 1,\r\n },\r\n {\r\n taskId: 2,\r\n courseId: 3,\r\n version: 1,\r\n taskGroup: \"Task 1: Follow food safety program\",\r\n task: \"Follow policies and procedures in food safety program.\",\r\n displayOrder: 2,\r\n },\r\n {\r\n taskId: 3,\r\n courseId: 3,\r\n version: 1,\r\n taskGroup: \"Task 1: Follow food safety program\",\r\n task: \"Control food hazards at critical control points.\",\r\n displayOrder: 3,\r\n },\r\n {\r\n taskId: 4,\r\n courseId: 3,\r\n version: 1,\r\n taskGroup: \"Task 1: Follow food safety program\",\r\n task:\r\n \"Complete food safety monitoring processes and complete documents as required.\",\r\n displayOrder: 4,\r\n },\r\n {\r\n taskId: 5,\r\n courseId: 3,\r\n version: 1,\r\n taskGroup: \"Task 1: Follow food safety program\",\r\n task: \"Identify and report non-conforming practices.\",\r\n displayOrder: 5,\r\n },\r\n {\r\n taskId: 6,\r\n courseId: 3,\r\n version: 1,\r\n taskGroup: \"Task 1: Follow food safety program\",\r\n task:\r\n \"Take corrective actions within scope of job responsibility for incidents where food hazards are not controlled.\",\r\n displayOrder: 6,\r\n },\r\n {\r\n taskId: 7,\r\n courseId: 3,\r\n version: 1,\r\n taskGroup: \"Task 2: Store food safely\",\r\n task: \"Select food storage conditions for specific food type.\",\r\n displayOrder: 7,\r\n },\r\n {\r\n taskId: 8,\r\n courseId: 3,\r\n version: 1,\r\n taskGroup: \"Task 2: Store food safely\",\r\n task:\r\n \"Store food in environmental conditions that protect against contamination and maximise freshness, quality and appearance.\",\r\n displayOrder: 8,\r\n },\r\n {\r\n taskId: 9,\r\n courseId: 3,\r\n version: 1,\r\n taskGroup: \"Task 2: Store food safely\",\r\n task:\r\n \"Store food at controlled temperatures and ensure that frozen items remain frozen during storage.\",\r\n displayOrder: 9,\r\n },\r\n {\r\n taskId: 10,\r\n courseId: 3,\r\n version: 1,\r\n taskGroup: \"Task 3: Prepare food safely\",\r\n task:\r\n \"Use cooling and heating processes that support microbiological safety of the food.\",\r\n displayOrder: 10,\r\n },\r\n {\r\n taskId: 11,\r\n courseId: 3,\r\n version: 1,\r\n taskGroup: \"Task 3: Prepare food safely\",\r\n task:\r\n \"Monitor food temperature during preparation using required temperature measuring device to achieve microbiological safety.\",\r\n displayOrder: 11,\r\n },\r\n {\r\n taskId: 12,\r\n courseId: 3,\r\n version: 1,\r\n taskGroup: \"Task 3: Prepare food safely\",\r\n task:\r\n \"Ensure safety of food prepared, served and sold to customers under other conditions.\",\r\n displayOrder: 12,\r\n },\r\n {\r\n taskId: 13,\r\n courseId: 3,\r\n version: 1,\r\n taskGroup: \"Task 4: Provide safe single use items\",\r\n task:\r\n \"Store, display and provide single use items so they are protected from damage and contamination.\",\r\n displayOrder: 13,\r\n },\r\n {\r\n taskId: 14,\r\n courseId: 3,\r\n version: 1,\r\n taskGroup: \"Task 4: Provide safe single use items\",\r\n task: \"Follow instructions for items intended for single use.\",\r\n displayOrder: 14,\r\n },\r\n {\r\n taskId: 15,\r\n courseId: 3,\r\n version: 1,\r\n taskGroup: \"Task 5: Maintain a clean environment\",\r\n task: \"Clean and sanitise equipment, surfaces and utensils.\",\r\n displayOrder: 15,\r\n },\r\n {\r\n taskId: 16,\r\n courseId: 3,\r\n version: 1,\r\n taskGroup: \"Task 5: Maintain a clean environment\",\r\n task:\r\n \"Use appropriate containers and prevent accumulation of garbage and recycled matter.\",\r\n displayOrder: 16,\r\n },\r\n {\r\n taskId: 17,\r\n courseId: 3,\r\n version: 1,\r\n taskGroup: \"Task 5: Maintain a clean environment\",\r\n task:\r\n \"Identify and report cleaning, sanitising and maintenance requirements.\",\r\n displayOrder: 17,\r\n },\r\n {\r\n taskId: 18,\r\n courseId: 3,\r\n version: 1,\r\n taskGroup: \"Task 5: Maintain a clean environment\",\r\n task:\r\n \"Dispose of or report chipped, broken or cracked eating, drinking or food handling utensils.\",\r\n displayOrder: 18,\r\n },\r\n {\r\n taskId: 19,\r\n courseId: 3,\r\n version: 1,\r\n taskGroup: \"Task 5: Maintain a clean environment\",\r\n task:\r\n \"Take measures within scope of responsibility to ensure food handling areas are free from animals and pests and report incidents of animal or pest infestation.\",\r\n displayOrder: 19,\r\n },\r\n {\r\n taskId: 20,\r\n courseId: 3,\r\n version: 1,\r\n taskGroup: \"Task 6: Dispose of food safely\",\r\n task:\r\n \"Mark and keep separate from other foodstuffs any food identified for disposal until disposal is complete.\",\r\n displayOrder: 20,\r\n },\r\n {\r\n taskId: 21,\r\n courseId: 3,\r\n version: 1,\r\n taskGroup: \"Task 6: Dispose of food safely\",\r\n task: \"Dispose of food promptly to avoid cross contamination.\",\r\n displayOrder: 21,\r\n },\r\n {\r\n taskId: 22,\r\n courseId: 3,\r\n version: 1,\r\n taskGroup:\r\n \"General 1: Communication skills – Verbal communication of hazards\",\r\n task:\r\n \"Communication skills to verbally report hygiene hazards and poor organisational practice\",\r\n displayOrder: 22,\r\n },\r\n {\r\n taskId: 23,\r\n courseId: 3,\r\n version: 1,\r\n taskGroup: \"General 2: Literacy skills - Understanding workplace documents\",\r\n task:\r\n \"Literacy skills to read and interpret food safety program, including policies, procedures and flow charts that identify critical control points\",\r\n displayOrder: 23,\r\n },\r\n {\r\n taskId: 24,\r\n courseId: 3,\r\n version: 1,\r\n taskGroup: \"General 2: Literacy skills - Understanding workplace documents\",\r\n task:\r\n \"Literacy skills to comprehend and complete documentation for monitoring food safety\",\r\n displayOrder: 24,\r\n },\r\n {\r\n taskId: 25,\r\n courseId: 3,\r\n version: 1,\r\n taskGroup: \"General 2: Literacy skills - Understanding workplace documents\",\r\n task:\r\n \"Literacy skills to comprehend workplace documents or diagrams that interpret the content of the Hazard Analysis and Critical Control Points (HACCP) practices\",\r\n displayOrder: 25,\r\n },\r\n {\r\n taskId: 26,\r\n courseId: 3,\r\n version: 1,\r\n taskGroup: \"General 2: Literacy skills - Understanding workplace documents\",\r\n task:\r\n \"Numeracy skills to calibrate and use a temperature probe and calculate timings\",\r\n displayOrder: 26,\r\n },\r\n {\r\n taskId: 27,\r\n courseId: 3,\r\n version: 1,\r\n taskGroup:\r\n \"General 3: Problem solving skills – Identifying and reporting hazards\",\r\n task:\r\n \"Problem-solving skills to identify and respond to routine food safety issues\",\r\n displayOrder: 27,\r\n },\r\n];\r\n","export const FoodSafetySupervisorCertificateHealthAndCommunityThirdPartyFormTasks = [\r\n {\r\n taskId: 203,\r\n courseId: 1008,\r\n version: 1,\r\n taskGroup:\r\n \"Task 1: Maintain food safety while carrying out food handling activities\",\r\n task: \"Handle food according to the food safety program\",\r\n displayOrder: 1,\r\n },\r\n {\r\n taskId: 204,\r\n courseId: 1008,\r\n version: 1,\r\n taskGroup:\r\n \"Task 1: Maintain food safety while carrying out food handling activities\",\r\n task:\r\n \"Identify and report processes and practices which are not consistent with the food safety program\",\r\n displayOrder: 2,\r\n },\r\n {\r\n taskId: 205,\r\n courseId: 1008,\r\n version: 1,\r\n taskGroup:\r\n \"Task 1: Maintain food safety while carrying out food handling activities\",\r\n task:\r\n \"Take corrective action, within level of responsibility, and according to the food safety program\",\r\n displayOrder: 3,\r\n },\r\n {\r\n taskId: 206,\r\n courseId: 1008,\r\n version: 1,\r\n taskGroup:\r\n \"Task 1: Maintain food safety while carrying out food handling activities\",\r\n task:\r\n \"Report any corrective action to supervisor, and according to legislative and organisation protocols\",\r\n displayOrder: 4,\r\n },\r\n {\r\n taskId: 207,\r\n courseId: 1008,\r\n version: 1,\r\n taskGroup: \"Task 2: Comply with personal hygiene standards\",\r\n task:\r\n \"Ensure personal hygiene meets the requirements of the food safety program\",\r\n displayOrder: 5,\r\n },\r\n {\r\n taskId: 208,\r\n courseId: 1008,\r\n version: 1,\r\n taskGroup: \"Task 2: Comply with personal hygiene standards\",\r\n task:\r\n \"Report health conditions and/or illness, as required by the food safety program\",\r\n displayOrder: 6,\r\n },\r\n {\r\n taskId: 209,\r\n courseId: 1008,\r\n version: 1,\r\n taskGroup: \"Task 2: Comply with personal hygiene standards\",\r\n task:\r\n \"Wear appropriate clothing and footwear as required by the food safety program\",\r\n displayOrder: 7,\r\n },\r\n {\r\n taskId: 210,\r\n courseId: 1008,\r\n version: 1,\r\n taskGroup:\r\n \"Task 3: Contribute to the cleanliness of food handling areas, according to the food safety program\",\r\n task:\r\n \"Maintain the workplace in a clean and tidy order to meet workplace requirements\",\r\n displayOrder: 8,\r\n },\r\n {\r\n taskId: 211,\r\n courseId: 1008,\r\n version: 1,\r\n taskGroup:\r\n \"Task 3: Contribute to the cleanliness of food handling areas, according to the food safety program\",\r\n task:\r\n \"Comply with workplace measures to prevent pests entering food premises\",\r\n displayOrder: 9,\r\n },\r\n {\r\n taskId: 212,\r\n courseId: 1008,\r\n version: 1,\r\n taskGroup:\r\n \"Task 3: Contribute to the cleanliness of food handling areas, according to the food safety program\",\r\n task: \"Identify and report indicators of pest presence\",\r\n displayOrder: 10,\r\n },\r\n {\r\n taskId: 213,\r\n courseId: 1008,\r\n version: 1,\r\n taskGroup: \"Task 4: Dispose of food according to food safety program\",\r\n task:\r\n \"Keep food for disposal separate, according to food safety program requirements\",\r\n displayOrder: 11,\r\n },\r\n {\r\n taskId: 214,\r\n courseId: 1008,\r\n version: 1,\r\n taskGroup: \"Task 4: Dispose of food according to food safety program\",\r\n task: \"Dispose of food according to the food safety program requirements\",\r\n displayOrder: 12,\r\n },\r\n {\r\n taskId: 215,\r\n courseId: 1008,\r\n version: 1,\r\n taskGroup:\r\n \"Task 5: Monitor the implementation of the food safety program in the workplace\",\r\n task:\r\n \"Implement food safety handling processes and procedures that meet the requirements of the food safety program\",\r\n displayOrder: 13,\r\n },\r\n {\r\n taskId: 216,\r\n courseId: 1008,\r\n version: 1,\r\n taskGroup:\r\n \"Task 5: Monitor the implementation of the food safety program in the workplace\",\r\n task:\r\n \"Implement processes and procedures to maintain the food handling area to meet the requirements of the food safety program\",\r\n displayOrder: 14,\r\n },\r\n {\r\n taskId: 217,\r\n courseId: 1008,\r\n version: 1,\r\n taskGroup:\r\n \"Task 5: Monitor the implementation of the food safety program in the workplace\",\r\n task:\r\n \"Communicate food safety requirements and procedures to others in the workplace\",\r\n displayOrder: 15,\r\n },\r\n {\r\n taskId: 218,\r\n courseId: 1008,\r\n version: 1,\r\n taskGroup:\r\n \"Task 5: Monitor the implementation of the food safety program in the workplace\",\r\n task: \"Support people in the food area to meet food safety requirements\",\r\n displayOrder: 16,\r\n },\r\n {\r\n taskId: 219,\r\n courseId: 1008,\r\n version: 1,\r\n taskGroup:\r\n \"Task 6: Take corrective action when a food safety hazard is found not to be in control\",\r\n task: \"Implement procedures for responding to non-conformance\",\r\n displayOrder: 17,\r\n },\r\n {\r\n taskId: 220,\r\n courseId: 1008,\r\n version: 1,\r\n taskGroup:\r\n \"Task 6: Take corrective action when a food safety hazard is found not to be in control\",\r\n task: \"Identify causes of non -compliance\",\r\n displayOrder: 18,\r\n },\r\n {\r\n taskId: 221,\r\n courseId: 1008,\r\n version: 1,\r\n taskGroup:\r\n \"Task 6: Take corrective action when a food safety hazard is found not to be in control\",\r\n task:\r\n \"Implement measures to prevent the recurrence of non-conformance issues\",\r\n displayOrder: 19,\r\n },\r\n {\r\n taskId: 222,\r\n courseId: 1008,\r\n version: 1,\r\n taskGroup:\r\n \"Task 6: Take corrective action when a food safety hazard is found not to be in control\",\r\n task:\r\n \"Develop or revise procedures to support the effective control of food safety hazards\",\r\n displayOrder: 20,\r\n },\r\n {\r\n taskId: 223,\r\n courseId: 1008,\r\n version: 1,\r\n taskGroup:\r\n \"Task 6: Take corrective action when a food safety hazard is found not to be in control\",\r\n task:\r\n \"Communicate all additional and/or revised processes and procedures to food handlers\",\r\n displayOrder: 21,\r\n },\r\n {\r\n taskId: 224,\r\n courseId: 1008,\r\n version: 1,\r\n taskGroup: \"Task 7: Maintain food safety in the workplace\",\r\n task:\r\n \"Identify processes and procedures that could result in a breach of food safety procedures and take preventive or corrective action\",\r\n displayOrder: 22,\r\n },\r\n {\r\n taskId: 225,\r\n courseId: 1008,\r\n version: 1,\r\n taskGroup: \"Task 7: Maintain food safety in the workplace\",\r\n task:\r\n \"Support food handlers to complete food safety records to meet the food safety program and legal requirements\",\r\n displayOrder: 23,\r\n },\r\n {\r\n taskId: 226,\r\n courseId: 1008,\r\n version: 1,\r\n taskGroup: \"Task 8: Implement the food safety program\",\r\n task:\r\n \"Monitor and control food safety hazards as required by the food safety program\",\r\n displayOrder: 24,\r\n },\r\n {\r\n taskId: 227,\r\n courseId: 1008,\r\n version: 1,\r\n taskGroup: \"Task 8: Implement the food safety program\",\r\n task:\r\n \"Promptly report non-conformance where food safety control requirements are not met and take corrective action\",\r\n displayOrder: 25,\r\n },\r\n {\r\n taskId: 228,\r\n courseId: 1008,\r\n version: 1,\r\n taskGroup: \"Task 8: Implement the food safety program\",\r\n task:\r\n \"Record food safety information to meet the requirements of the food safety program\",\r\n displayOrder: 26,\r\n },\r\n {\r\n taskId: 229,\r\n courseId: 1008,\r\n version: 1,\r\n taskGroup:\r\n \"Task 9: Assist in the identification of breaches of food safety procedures\",\r\n task:\r\n \"Identify and report processes and conditions which could result in a breach of food safety procedures\",\r\n displayOrder: 27,\r\n },\r\n {\r\n taskId: 230,\r\n courseId: 1008,\r\n version: 1,\r\n taskGroup:\r\n \"Task 9: Assist in the identification of breaches of food safety procedures\",\r\n task:\r\n \"Take corrective action to meet the requirements of the food safety program\",\r\n displayOrder: 28,\r\n },\r\n {\r\n taskId: 231,\r\n courseId: 1008,\r\n version: 1,\r\n taskGroup:\r\n \"General 1: It is critical that the candidate demonstrate the ability to:\",\r\n task:\r\n \"Apply knowledge of aspects of the food safety program relevant to the work role\",\r\n displayOrder: 29,\r\n },\r\n {\r\n taskId: 232,\r\n courseId: 1008,\r\n version: 1,\r\n taskGroup:\r\n \"General 1: It is critical that the candidate demonstrate the ability to:\",\r\n task: \"Comply with personal hygiene requirements\",\r\n displayOrder: 30,\r\n },\r\n {\r\n taskId: 233,\r\n courseId: 1008,\r\n version: 1,\r\n taskGroup:\r\n \"General 1: It is critical that the candidate demonstrate the ability to:\",\r\n task: \"Comply with workplace cleanliness requirements\",\r\n displayOrder: 31,\r\n },\r\n {\r\n taskId: 234,\r\n courseId: 1008,\r\n version: 1,\r\n taskGroup:\r\n \"General 1: It is critical that the candidate demonstrate the ability to:\",\r\n task: \"Demonstrate appropriate disposal of food\",\r\n displayOrder: 32,\r\n },\r\n {\r\n taskId: 235,\r\n courseId: 1008,\r\n version: 1,\r\n taskGroup:\r\n \"General 1: It is critical that the candidate demonstrate the ability to:\",\r\n task: \"Apply knowledge of all aspects of the food safety program\",\r\n displayOrder: 33,\r\n },\r\n {\r\n taskId: 236,\r\n courseId: 1008,\r\n version: 1,\r\n taskGroup:\r\n \"General 1: It is critical that the candidate demonstrate the ability to:\",\r\n task: \"Meet reporting requirements\",\r\n displayOrder: 34,\r\n },\r\n {\r\n taskId: 237,\r\n courseId: 1008,\r\n version: 1,\r\n taskGroup:\r\n \"General 1: It is critical that the candidate demonstrate the ability to:\",\r\n task: \"Undertake hazard identification and management\",\r\n displayOrder: 35,\r\n },\r\n];\r\n","export const FoodSafetySupervisorCertificateHospitalityAndRetailThirdPartyFormTasks = [\r\n {\r\n taskId: 113,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"Task 1: Follow hygiene procedures and identify food hazards\",\r\n task: \"Follow organisational hygiene procedures.\",\r\n displayOrder: 1,\r\n },\r\n {\r\n taskId: 114,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"Task 1: Follow hygiene procedures and identify food hazards\",\r\n task: \"Promptly report unsafe practices that breach hygiene procedures.\",\r\n displayOrder: 2,\r\n },\r\n {\r\n taskId: 115,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"Task 1: Follow hygiene procedures and identify food hazards\",\r\n task:\r\n \"Identify food hazards that may affect the health and safety of customers, colleagues and self\",\r\n displayOrder: 3,\r\n },\r\n {\r\n taskId: 116,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"Task 1: Follow hygiene procedures and identify food hazards\",\r\n task:\r\n \"Remove or minimise the hygiene hazard and report to appropriate person for follow up.\",\r\n displayOrder: 4,\r\n },\r\n {\r\n taskId: 117,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"Task 2: Report any personal health issues.\",\r\n task: \"Report any personal health issues likely to cause a hygiene risk.\",\r\n displayOrder: 5,\r\n },\r\n {\r\n taskId: 118,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"Task 2: Report any personal health issues.\",\r\n task:\r\n \"Report incidents of food contamination resulting from personal health issues.\",\r\n displayOrder: 6,\r\n },\r\n {\r\n taskId: 119,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"Task 2: Report any personal health issues.\",\r\n task:\r\n \"Cease participation in food handling activities where a health issue may cause food contamination.\",\r\n displayOrder: 7,\r\n },\r\n {\r\n taskId: 120,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"Task 3: Prevent food contamination\",\r\n task:\r\n \"Maintain clean clothes, wear required personal protective clothing and only use organisation-approved bandages and dressings.\",\r\n displayOrder: 8,\r\n },\r\n {\r\n taskId: 121,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"Task 3: Prevent food contamination\",\r\n task: \"Prevent food contamination from clothing and other items worn.\",\r\n displayOrder: 9,\r\n },\r\n {\r\n taskId: 122,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"Task 3: Prevent food contamination\",\r\n task: \"Prevent unnecessary direct contact with ready to eat food.\",\r\n displayOrder: 10,\r\n },\r\n {\r\n taskId: 123,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"Task 3: Prevent food contamination\",\r\n task:\r\n \"Avoid unhygienic personal contact with food or food contact surfaces.\",\r\n displayOrder: 11,\r\n },\r\n {\r\n taskId: 124,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"Task 3: Prevent food contamination\",\r\n task:\r\n \"Avoid unhygienic cleaning practices that may cause food-borne illnesses.\",\r\n displayOrder: 12,\r\n },\r\n {\r\n taskId: 125,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"Task 4: Prevent cross contamination by washing hands\",\r\n task:\r\n \"Wash hands at appropriate times and follow hand washing procedures consistently.\",\r\n displayOrder: 13,\r\n },\r\n {\r\n taskId: 126,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"Task 4: Prevent cross contamination by washing hands\",\r\n task: \"Wash hands using appropriate facilities.\",\r\n displayOrder: 14,\r\n },\r\n {\r\n taskId: 127,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"Task 5: Follow food safety program\",\r\n task:\r\n \"Access and use relevant information from organisational food safety program.\",\r\n displayOrder: 15,\r\n },\r\n {\r\n taskId: 128,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"Task 5: Follow food safety program\",\r\n task: \"Follow policies and procedures in food safety program.\",\r\n displayOrder: 16,\r\n },\r\n {\r\n taskId: 129,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"Task 5: Follow food safety program\",\r\n task: \"Control food hazards at critical control points.\",\r\n displayOrder: 17,\r\n },\r\n {\r\n taskId: 130,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"Task 5: Follow food safety program\",\r\n task:\r\n \"Complete food safety monitoring processes and complete documents as required.\",\r\n displayOrder: 18,\r\n },\r\n {\r\n taskId: 131,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"Task 5: Follow food safety program\",\r\n task: \"Identify and report non-conforming practices.\",\r\n displayOrder: 19,\r\n },\r\n {\r\n taskId: 132,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"Task 5: Follow food safety program\",\r\n task:\r\n \"Take corrective actions within scope of job responsibility for incidents where food hazards are not controlled.\",\r\n displayOrder: 20,\r\n },\r\n {\r\n taskId: 133,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"Task 6: Store food safely\",\r\n task: \"Select food storage conditions for specific food type.\",\r\n displayOrder: 21,\r\n },\r\n {\r\n taskId: 134,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"Task 6: Store food safely\",\r\n task:\r\n \"Store food in environmental conditions that protect against contamination and maximise freshness, quality and appearance.\",\r\n displayOrder: 22,\r\n },\r\n {\r\n taskId: 135,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"Task 6: Store food safely\",\r\n task:\r\n \"Store food at controlled temperatures and ensure that frozen items remain frozen during storage.\",\r\n displayOrder: 23,\r\n },\r\n {\r\n taskId: 136,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"Task 7: Prepare food safely\",\r\n task:\r\n \"Use cooling and heating processes that support microbiological safety of the food.\",\r\n displayOrder: 24,\r\n },\r\n {\r\n taskId: 137,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"Task 7: Prepare food safely\",\r\n task:\r\n \"Monitor food temperature during preparation using required temperature measuring device to achieve microbiological safety.\",\r\n displayOrder: 25,\r\n },\r\n {\r\n taskId: 138,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"Task 7: Prepare food safely\",\r\n task:\r\n \"Ensure safety of food prepared, served and sold to customers under other conditions.\",\r\n displayOrder: 26,\r\n },\r\n {\r\n taskId: 139,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"Task 8: Provide safe single use items\",\r\n task:\r\n \"Store, display and provide single use items so they are protected from damage and contamination.\",\r\n displayOrder: 27,\r\n },\r\n {\r\n taskId: 140,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"Task 8: Provide safe single use items\",\r\n task: \"Follow instructions for items intended for single use.\",\r\n displayOrder: 28,\r\n },\r\n {\r\n taskId: 141,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"Task 9: Maintain a clean environment\",\r\n task: \"Clean and sanitise equipment, surfaces and utensils.\",\r\n displayOrder: 29,\r\n },\r\n {\r\n taskId: 142,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"Task 9: Maintain a clean environment\",\r\n task:\r\n \"Use appropriate containers and prevent accumulation of garbage and recycled matter.\",\r\n displayOrder: 30,\r\n },\r\n {\r\n taskId: 143,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"Task 9: Maintain a clean environment\",\r\n task:\r\n \"Identify and report cleaning, sanitising and maintenance requirements.\",\r\n displayOrder: 31,\r\n },\r\n {\r\n taskId: 144,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"Task 9: Maintain a clean environment\",\r\n task:\r\n \"Dispose of or report chipped, broken or cracked eating, drinking or food handling utensils.\",\r\n displayOrder: 32,\r\n },\r\n {\r\n taskId: 145,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"Task 9: Maintain a clean environment\",\r\n task:\r\n \"Take measures within scope of responsibility to ensure food handling areas are free from animals and pests and report incidents of animal or pest infestation.\",\r\n displayOrder: 33,\r\n },\r\n {\r\n taskId: 146,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"Task 10: Dispose of food safely\",\r\n task:\r\n \"Mark and keep separate from other foodstuffs any food identified for disposal until disposal is complete.\",\r\n displayOrder: 34,\r\n },\r\n {\r\n taskId: 147,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"Task 10: Dispose of food safely\",\r\n task: \"Dispose of food promptly to avoid cross contamination.\",\r\n displayOrder: 35,\r\n },\r\n {\r\n taskId: 148,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"General 1: Communication skills\",\r\n task: \"Verbal communication of hazards\",\r\n displayOrder: 36,\r\n },\r\n {\r\n taskId: 149,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"General 1: Communication skills\",\r\n task:\r\n \"Communication skills to verbally report hygiene hazards and poor organisational practice\",\r\n displayOrder: 37,\r\n },\r\n {\r\n taskId: 150,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"General 2: Literacy skills - Understanding workplace documents\",\r\n task:\r\n \"Literacy skills to comprehend workplace documents or diagrams that interpret the content of the organisational food safety program\",\r\n displayOrder: 38,\r\n },\r\n {\r\n taskId: 151,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"General 2: Literacy skills - Understanding workplace documents\",\r\n task:\r\n \"Literacy skills to comprehend workplace documents or diagrams that interpret the content of the hygiene and food safety procedures\",\r\n displayOrder: 39,\r\n },\r\n {\r\n taskId: 152,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"General 2: Literacy skills - Understanding workplace documents\",\r\n task:\r\n \"Literacy skills to comprehend workplace documents or diagrams that interpret the content of the Hazard Analysis and Critical Control Points (HACCP) practices\",\r\n displayOrder: 40,\r\n },\r\n {\r\n taskId: 153,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"General 2: Literacy skills - Understanding workplace documents\",\r\n task:\r\n \"Literacy skills to read and interpret food safety program, including policies, procedures and flow charts that identify critical control points\",\r\n displayOrder: 41,\r\n },\r\n {\r\n taskId: 154,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"General 2: Literacy skills - Understanding workplace documents\",\r\n task:\r\n \"Literacy skills to comprehend and complete documentation for monitoring food safety\",\r\n displayOrder: 42,\r\n },\r\n {\r\n taskId: 155,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup: \"General 2: Literacy skills - Understanding workplace documents\",\r\n task:\r\n \"Numeracy skills to calibrate and use a temperature probe and calculate timings\",\r\n displayOrder: 43,\r\n },\r\n {\r\n taskId: 156,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup:\r\n \"General 3: Problem solving skills – Identifying and reporting hazards\",\r\n task: \"Problem-solving skills to identify and report hygiene hazards\",\r\n displayOrder: 44,\r\n },\r\n {\r\n taskId: 157,\r\n courseId: 4,\r\n version: 1,\r\n taskGroup:\r\n \"General 3: Problem solving skills – Identifying and reporting hazards\",\r\n task:\r\n \"Problem-solving skills to identify and respond to routine food safety issues\",\r\n displayOrder: 45,\r\n },\r\n];\r\n","/**\r\n * HttpInterceptor abstraction\r\n * To encapsulate http provider details like FETCH Api or Axios.\r\n *\r\n * Provider: Axios\r\n * - rcnet @solvable\r\n */\r\n\r\nimport axios from \"axios\";\r\nimport Config from \"../../config\";\r\nimport Auth from \"../auth/auth\";\r\n\r\nconst AUTH_LOGIN_URL = Config.authLoginUrl;\r\nconst AUTH_TOKEN_URL = Config.authTokenUrl;\r\nconst MAINTENANCE_PAGE_URL = Config.maintenancePageUrl;\r\nconst FORBIDDEN_PAGE_URL = Config.forbiddenPageUrl;\r\n\r\nconst HttpInterceptor = () => {\r\n const api = axios.create({ baseURL: Config.apiUrl });\r\n let authTokenRequestPromise;\r\n\r\n // By default interceptors were enabled, this will impact setAuthToken rendering it no effect at all.\r\n // Todo: Provide a way to enable /disable interceptor specially the auth alteration when setAuthToken method is called.\r\n const interceptorReqAuth = config => {\r\n const token = Auth.getToken();\r\n if (token != null) config.headers.Authorization = `Bearer ${token}`;\r\n\r\n return config;\r\n };\r\n\r\n // AuthTokenRequestPromise plays a very important role in this code base, it handles concurrent/parallel requests which puts into queue.\r\n // To prevent multiple refreshtoken request to server.\r\n const interceptorRespError = error => {\r\n const err = error.response;\r\n\r\n console.log(err);\r\n\r\n // Check if api server is down\r\n if (error.message === \"Network Error\" && err === undefined) {\r\n window.location.assign(MAINTENANCE_PAGE_URL);\r\n return Promise.reject(error);\r\n }\r\n\r\n if (err.status === 401 && err.config && !err.config.__isRetryRequest) {\r\n console.log(\"Requesting new access token...\");\r\n return _getAuthToken()\r\n .then(resp => {\r\n Auth.setToken(\r\n resp.data.access_token,\r\n resp.data.refresh_token,\r\n resp.data.expires_in\r\n );\r\n err.config.__isRetryRequest = true;\r\n err.config.headers.Authorization = `Bearer ${resp.data.access_token}`;\r\n\r\n console.log(\"Successfully requested access token...\");\r\n return axios(err.config);\r\n })\r\n .catch(e => {\r\n let ex = e.response;\r\n if (ex.status === 400 && ex.data && ex.data.invalid_refreshtoken) {\r\n console.log(\"Invalid refresh token!\");\r\n console.log(\"Redirect to login.\");\r\n\r\n Auth.removeToken();\r\n //Note: Bad practice to use location\r\n //To be fix in the future\r\n window.location.assign(AUTH_LOGIN_URL);\r\n\r\n //history.push({ pathname: '/auth/login' });\r\n //history.replace('/auth/login');\r\n }\r\n return Promise.reject(e);\r\n });\r\n } else if (err.status === 403) {\r\n window.location.assign(FORBIDDEN_PAGE_URL);\r\n } else {\r\n return Promise.reject(error);\r\n }\r\n };\r\n\r\n const _getAuthToken = () => {\r\n if (!authTokenRequestPromise) {\r\n const refreshTokenPayload = Auth.getRefreshTokenPayload(Config.clientId);\r\n\r\n authTokenRequestPromise = api.post(AUTH_TOKEN_URL, refreshTokenPayload);\r\n authTokenRequestPromise\r\n .then(_resetAuthTokenRequestPromise)\r\n .catch(_resetAuthTokenRequestPromise);\r\n }\r\n\r\n return authTokenRequestPromise;\r\n };\r\n\r\n const _resetAuthTokenRequestPromise = () => (authTokenRequestPromise = null);\r\n\r\n return {\r\n interceptorReqAuth,\r\n interceptorRespError\r\n };\r\n};\r\n\r\nexport default HttpInterceptor;\r\n","/**\r\n * Http abstraction\r\n * To encapsulate http provider details like FETCH Api or Axios.\r\n * Wish we have interface like typescript.\r\n *\r\n * Provider: Axios\r\n * - rcnet @solvable\r\n */\r\n\r\nimport axios from \"axios\";\r\nimport Config from \"../../config\";\r\nimport HttpInterceptor from \"./httpInterceptor\";\r\n\r\nconst HttpClient = () => {\r\n let api = axios.create({ baseURL: Config.apiUrl });\r\n let interceptor = HttpInterceptor();\r\n\r\n api.interceptors.request.use(interceptor.interceptorReqAuth, error =>\r\n Promise.reject(error)\r\n );\r\n api.interceptors.response.use(undefined, interceptor.interceptorRespError);\r\n\r\n // ===============\r\n // Methods\r\n // ===============\r\n\r\n /**\r\n *\r\n * @param {resourcePathName} Resource path name for example 'user'\r\n * @param {cfg} you can use params - An object parameter { ID: 12345 }\r\n */\r\n const get = (resourcePathName, cfg = null) =>\r\n cfg ? api.get(resourcePathName, cfg) : api.get(resourcePathName);\r\n\r\n const post = (resourcePathName, payload, cfg = null) =>\r\n cfg\r\n ? api.post(resourcePathName, payload, cfg)\r\n : api.post(resourcePathName, payload);\r\n\r\n const del = urlParams => api.delete(urlParams);\r\n\r\n const put = (urlParams, payload, cfg = null) =>\r\n cfg ? api.put(urlParams, payload, cfg) : api.put(urlParams, payload);\r\n\r\n const patch = (resourcePathName, payload) =>\r\n api.patch(resourcePathName, payload);\r\n\r\n // Note: Has an issue with interceptor\r\n const setAuthToken = token => {\r\n api.defaults.headers.common[\"Authorization\"] = token;\r\n return this;\r\n };\r\n\r\n /**\r\n * Either form, json etc.\r\n * @param {type} 'form', 'json'\r\n * Note: if not in the list of types it will apply as custom\r\n */\r\n const setContentType = type => {\r\n // Pre-defined list of content types\r\n let contentType = getContentTypeString(type);\r\n api.defaults.headers.post[\"Content-Type\"] = contentType;\r\n return this;\r\n };\r\n\r\n /**\r\n *\r\n * @param {type} Basic content types are supported as of the moment.\r\n * Try to contribute by adding new types to enhance the library. thanks :P\r\n * types: form, json, pdf, xml, zip, csv, plain, html\r\n */\r\n const getContentTypeString = type => {\r\n let contentType =\r\n type === \"form\"\r\n ? \"application/x-www-form-urlencoded\"\r\n : type === \"json\"\r\n ? \"application/json\"\r\n : type === \"pdf\"\r\n ? \"application/pdf\"\r\n : type === \"xml\"\r\n ? \"application/xml\"\r\n : type === \"zip\"\r\n ? \"application/zip\"\r\n : type === \"csv\"\r\n ? \"text/csv\"\r\n : type === \"plain\"\r\n ? \"text/plain\"\r\n : type === \"html\"\r\n ? \"text/html\"\r\n : type === \"jpg\"\r\n ? \"image/jpeg\"\r\n : type === \"png\"\r\n ? \"image/png\"\r\n : type;\r\n return contentType;\r\n };\r\n\r\n /**\r\n * Will return the specific provider (actual library)\r\n * Note: Avoid using this!\r\n */\r\n const getProvider = () => api;\r\n\r\n return {\r\n get,\r\n post,\r\n put,\r\n delete: del,\r\n patch,\r\n getProvider,\r\n getContentTypeString,\r\n setContentType,\r\n setAuthToken\r\n };\r\n};\r\n\r\nexport default HttpClient;\r\n","/**\r\n * Course Service\r\n */\r\n\r\nimport CryptoJS from \"crypto-js\";\r\nimport Config from \"../config\";\r\nimport { courses, nswCertificateReprint } from \"../constants/course-content\";\r\nimport { thirdPartyFormTasks } from \"../constants/third-party-form-tasks/index\";\r\nimport HttpClient from \"../coreLib/http/httpClient\";\r\n\r\nconst CourseService = () => {\r\n let httpClient = HttpClient();\r\n\r\n const getCourseContents = async (courseToken) => {\r\n return await httpClient\r\n .get(`/v1/usercourse/${courseToken}/contents`)\r\n .then((resp) => {\r\n var data = decryptPayload(\r\n resp.data,\r\n Config.crypto_key,\r\n Config.crypto_vector\r\n );\r\n return data;\r\n });\r\n };\r\n\r\n const getCourses = () => {\r\n return courses;\r\n };\r\n\r\n const getFlattenedCourses = () => {\r\n return courses.map((course) => {\r\n return {\r\n value: course.courseId,\r\n label: course.courseTitle,\r\n };\r\n });\r\n };\r\n\r\n const getCourse = (courseId) => {\r\n // == instead of === because route can pass as an int instead of a string\r\n // eslint-disable-next-line eqeqeq\r\n if (courseId === 7) return nswCertificateReprint;\r\n\r\n const course = courses.filter((course) => course.courseId == courseId);\r\n\r\n if (course.length > 0) return course[0];\r\n else return null;\r\n };\r\n\r\n const getCourseSections = async (sectionId, courseContentToken) => {\r\n const courseContentDetails = await getCourseContents(courseContentToken);\r\n\r\n const sections = courseContentDetails.sections;\r\n\r\n if (sections.length === 0) {\r\n return null;\r\n }\r\n\r\n const section = sections.find((x) => x.sectionId === sectionId);\r\n\r\n return section;\r\n };\r\n\r\n const getThirdPartyFormTasks = (courseId) => {\r\n let tasks = thirdPartyFormTasks.filter((x) => {\r\n return x.courseId === courseId;\r\n });\r\n\r\n tasks.sort(function(a, b) {\r\n return a - b;\r\n });\r\n\r\n return tasks;\r\n };\r\n\r\n const decryptPayload = (encryptedPayload, secretKey, vector) => {\r\n try {\r\n const ciphertext = CryptoJS.enc.Base64.parse(encryptedPayload);\r\n const key = CryptoJS.enc.Utf8.parse(secretKey);\r\n const initializationVector = CryptoJS.enc.Utf8.parse(vector);\r\n\r\n const decrypted = CryptoJS.AES.decrypt({ ciphertext }, key, {\r\n iv: initializationVector,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.Pkcs7,\r\n });\r\n\r\n const decryptedPayload = decrypted.toString(CryptoJS.enc.Utf8);\r\n const json = JSON.parse(decryptedPayload);\r\n\r\n return json;\r\n } catch (error) {\r\n console.error(\"Error decrypting payload:\", error.message);\r\n }\r\n };\r\n\r\n return {\r\n getCourse,\r\n getCourses,\r\n getCourseSections,\r\n getThirdPartyFormTasks,\r\n getFlattenedCourses,\r\n getCourseContents,\r\n };\r\n};\r\n\r\nexport default CourseService;\r\n","import { ActionTypes } from \"./action-types\";\r\nimport moment from \"moment\";\r\nimport DateService from \"../../../../../services/date-service\";\r\nimport CourseService from \"../../../../../services/course-service\";\r\n\r\nconst initialState = {\r\n data: [],\r\n settings: {},\r\n hideFilterSection: false,\r\n isProcessing: false,\r\n fields: {\r\n courseIds: [],\r\n startDate: moment().subtract(12, \"months\")._d,\r\n endDate: moment()._d,\r\n },\r\n fieldErrors: {},\r\n isReset: false,\r\n};\r\n\r\nfunction Reducer(state = initialState, action) {\r\n switch (action.type) {\r\n case ActionTypes.ADMIN_USER_COURSES_ONLOAD_REQUEST:\r\n return {\r\n ...state,\r\n isProcessing: true,\r\n data: action.payload,\r\n };\r\n case ActionTypes.ADMIN_USERS_COURSES_RESET:\r\n return {\r\n ...state,\r\n isProcessing: true,\r\n isReset: true,\r\n fields: {\r\n courseIds: CourseService().getFlattenedCourses(),\r\n startDate: moment().subtract(12, \"months\")._d,\r\n endDate: moment()._d,\r\n },\r\n };\r\n case ActionTypes.ADMIN_USERS_COURSES_FORM_INPUT_CHANGE:\r\n return {\r\n ...state,\r\n fields: {\r\n ...state.fields,\r\n [action.payload.name]: action.payload.value,\r\n },\r\n fieldErrors: {\r\n ...state.fieldErrors,\r\n [action.payload.name]: action.payload.error,\r\n },\r\n };\r\n case ActionTypes.ADMIN_USER_COURSES_DELETE_SUCCESS:\r\n return {\r\n ...state,\r\n data: state.data.filter(\r\n (course) => course.userCourseId !== action.payload.userCourseId\r\n ),\r\n };\r\n case ActionTypes.ADMIN_USER_COURSES_ONLOAD_SUCCESS:\r\n return {\r\n ...state,\r\n isProcessing: false,\r\n isReset: false,\r\n data: action.payload.map((course) => {\r\n return {\r\n ...course,\r\n active: course.active ? \"Yes\" : \"No\",\r\n enrolmentDateTime: moment(course.enrolmentDateTime).format(\r\n \"DD/MM/YYYY HH:mm\"\r\n ),\r\n registeredDateTime: moment(course.registeredDateTime).format(\r\n \"DD/MM/YYYY HH:mm\"\r\n ),\r\n lastLoginDateTime: moment(course.lastLoginDateTime).format(\r\n \"DD/MM/YYYY HH:mm\"\r\n ),\r\n userType:\r\n course.userType === 1\r\n ? \"Admin\"\r\n : course.userType === 2\r\n ? \"Student\"\r\n : \"Business\",\r\n };\r\n }),\r\n };\r\n case ActionTypes.ADMIN_USER_COURSES_ONLOAD_FAILURE:\r\n return {\r\n ...state,\r\n isProcessing: false,\r\n };\r\n case ActionTypes.ADMIN_USERS_COURSES_HIDE_FILTER_SECTION:\r\n return {\r\n ...state,\r\n hideFilterSection: action.payload,\r\n };\r\n case ActionTypes.ADMIN_USERS_COURSES_DOWNLOAD_TAX_INVOICE_REQUEST:\r\n return {\r\n ...state,\r\n isProcessing: true,\r\n };\r\n case ActionTypes.ADMIN_USERS_COURSES_DOWNLOAD_TAX_INVOICE_SUCCESS:\r\n case ActionTypes.ADMIN_USERS_COURSES_DOWNLOAD_TAX_INVOICE_FAILURE:\r\n return {\r\n ...state,\r\n isProcessing: false,\r\n };\r\n case ActionTypes.ADMIN_USERS_COURSES_DATATABLE_KEEP_SETTINGS:\r\n return {\r\n ...state,\r\n settings: action.payload.settings,\r\n };\r\n case ActionTypes.ADMIN_USERS_COURSES_DATATABLE_CLEAR_SEARCHBOX:\r\n return {\r\n ...state,\r\n settings: {\r\n ...state.settings,\r\n searchText: \"\",\r\n },\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default Reducer;\r\n","export const ActionTypes = {\r\n ADMIN_USER_COURSES_SHOW_DELETE_DIALOG:\r\n \"ADMIN_USER_COURSES_SHOW_DELETE_DIALOG\",\r\n ADMIN_USER_COURSES_DELETE_REQUEST: \"ADMIN_USER_COURSES_DELETE_REQUEST\",\r\n ADMIN_USER_COURSES_DELETE_SUCCESS: \"ADMIN_USER_COURSES_DELETE_SUCCESS\",\r\n ADMIN_USER_COURSES_DELETE_FAILURE: \"ADMIN_USER_COURSES_DELETE_FAILURE\"\r\n};\r\n","import { ActionTypes } from \"./action-types\";\r\n\r\nconst initialState = {\r\n isProcessing: false,\r\n fields: {},\r\n dialogs: {\r\n showDeleteDialog: false\r\n }\r\n};\r\n\r\nfunction Reducer(state = initialState, action) {\r\n switch (action.type) {\r\n case ActionTypes.ADMIN_USER_COURSES_SHOW_DELETE_DIALOG:\r\n return {\r\n ...state,\r\n fields: action.payload ? action.payload : {},\r\n dialogs: {\r\n ...state.dialogs,\r\n showDeleteDialog: !state.dialogs.showDeleteDialog\r\n }\r\n };\r\n case ActionTypes.ADMIN_USER_COURSES_DELETE_REQUEST:\r\n return {\r\n ...state,\r\n isProcessing: true\r\n };\r\n case ActionTypes.ADMIN_USER_COURSES_DELETE_SUCCESS:\r\n return {\r\n ...state,\r\n isProcessing: false,\r\n dialogs: {\r\n ...state.dialogs,\r\n showDeleteDialog: !state.dialogs.showDeleteDialog\r\n }\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default Reducer;\r\n","import { combineReducers } from \"redux\";\r\nimport DataTableReducer from \"../redux/datatable/reducers\";\r\nimport DialogReducer from \"../redux/dialog/reducers\";\r\n\r\nexport default combineReducers({\r\n DataTable: DataTableReducer,\r\n Dialog: DialogReducer\r\n});\r\n","export const ActionTypes = {\r\n NSW_CERTIFICATES_LOAD_DATA_REQUEST: \"NSW_CERTIFICATES_LOAD_DATA_REQUEST\",\r\n NSW_CERTIFICATES_LOAD_DATA_SUCCESS: \"NSW_CERTIFICATES_LOAD_DATA_SUCCESS\",\r\n NSW_CERTIFICATES_LOAD_DATA_FAILURE: \"NSW_CERTIFICATES_LOAD_DATA_FAILURE\",\r\n NSW_CERTIFICATES_VIEW_UPDATE_SUCCESS: \"NSW_CERTIFICATES_VIEW_UPDATE_SUCCESS\",\r\n NSW_CERTIFICATES_DATATABLE_KEEP_SETTINGS:\r\n \"NSW_CERTIFICATES_DATATABLE_KEEP_SETTINGS\",\r\n NSW_CERTIFICATES_DATATABLE_CLEAR_SEARCHBOX:\r\n \"NSW_CERTIFICATES_DATATABLE_CLEAR_SEARCHBOX\",\r\n};\r\n","import { ActionTypes } from \"./action-types\";\r\nimport moment from \"moment\";\r\n\r\nconst initialState = {\r\n isLoading: false,\r\n data: [],\r\n settings: {},\r\n error: {}\r\n};\r\n\r\nfunction NswCertificatesViewReducer(state = initialState, action) {\r\n switch (action.type) {\r\n case ActionTypes.NSW_CERTIFICATES_LOAD_DATA_REQUEST:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n };\r\n\r\n case ActionTypes.NSW_CERTIFICATES_LOAD_DATA_SUCCESS:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.payload.map((item) => {\r\n return {\r\n ...item,\r\n certificateDateTime: moment(item.certificateDateTime).format(\r\n \"DD/MM/YYYY HH:mm\"\r\n ),\r\n status:\r\n item.status == 0\r\n ? \"Unactioned\"\r\n : item.status == 1\r\n ? \"Underway\"\r\n : \"Completed\",\r\n };\r\n }),\r\n };\r\n case ActionTypes.NSW_CERTIFICATES_DATATABLE_KEEP_SETTINGS:\r\n return {\r\n ...state,\r\n settings: action.payload.settings,\r\n };\r\n case ActionTypes.NSW_CERTIFICATES_VIEW_UPDATE_SUCCESS:\r\n return {\r\n ...state,\r\n data: state.data\r\n .map((item) => {\r\n if (item.userCourseId === action.payload.userCourseId) {\r\n return {\r\n ...action.payload,\r\n status:\r\n action.payload.status == 0\r\n ? \"Unactioned\"\r\n : action.payload.status == 1\r\n ? \"Underway\"\r\n : \"Completed\",\r\n };\r\n } else {\r\n return item;\r\n }\r\n })\r\n .filter((item) => item.status !== \"Completed\"),\r\n };\r\n\r\n case ActionTypes.NSW_CERTIFICATES_LOAD_DATA_FAILURE:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n };\r\n\r\n case ActionTypes.NSW_CERTIFICATES_DATATABLE_CLEAR_SEARCHBOX:\r\n return {\r\n ...state,\r\n settings: {\r\n ...state.settings,\r\n searchText: \"\",\r\n },\r\n };\r\n \r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default NswCertificatesViewReducer;\r\n","export const ActionTypes = {\r\n NSW_CERTIFICATES_VIEW_TOGGLE_DIALOG: \"NSW_CERTIFICATES_VIEW_TOGGLE_DIALOG\",\r\n NSW_CERTIFICATES_VIEW_UPDATE_REQUEST: \"NSW_CERTIFICATES_VIEW_UPDATE_REQUEST\",\r\n NSW_CERTIFICATES_VIEW_UPDATE_SUCCESS: \"NSW_CERTIFICATES_VIEW_UPDATE_SUCCESS\",\r\n NSW_CERTIFICATES_VIEW_UPDATE_FAILURE: \"NSW_CERTIFICATES_VIEW_UPDATE_FAILURE\",\r\n NSW_CERTIFICATES_VIEW_FORM_INPUT_CHANGE:\r\n \"NSW_CERTIFICATES_VIEW_FORM_INPUT_CHANGE\"\r\n};\r\n","import { ActionTypes } from \"./action-types\";\r\nimport moment from \"moment\";\r\n\r\nconst initialState = {\r\n isModalOpen: false,\r\n isModalLoading: false,\r\n fields: {},\r\n fieldErrors: {}\r\n};\r\n\r\nfunction NswReprintsViewReducer(state = initialState, action) {\r\n switch (action.type) {\r\n case ActionTypes.NSW_CERTIFICATES_VIEW_TOGGLE_DIALOG:\r\n return {\r\n ...state,\r\n isModalOpen: !state.isModalOpen,\r\n fields: action.payload\r\n ? {\r\n ...action.payload,\r\n dateSent:\r\n action.payload.dateSent == null ||\r\n action.payload.dateSent === undefined\r\n ? \"\"\r\n : moment(action.payload.dateSent),\r\n status:\r\n action.payload.status === \"Unactioned\"\r\n ? 0\r\n : action.payload.status === \"Underway\"\r\n ? 1\r\n : 2\r\n }\r\n : {}\r\n };\r\n case ActionTypes.NSW_CERTIFICATES_VIEW_UPDATE_REQUEST:\r\n return {\r\n ...state,\r\n isModalLoading: true\r\n };\r\n case ActionTypes.NSW_CERTIFICATES_VIEW_UPDATE_SUCCESS:\r\n case ActionTypes.NSW_CERTIFICATES_VIEW_UPDATE_FAILURE:\r\n return {\r\n ...state,\r\n isModalLoading: false,\r\n isModalOpen: false\r\n };\r\n case ActionTypes.NSW_CERTIFICATES_VIEW_FORM_INPUT_CHANGE:\r\n return {\r\n ...state,\r\n fields: {\r\n ...state.fields,\r\n [action.payload.name]: action.payload.value\r\n },\r\n fieldErrors: {\r\n ...state.fieldErrors,\r\n [action.payload.name]: action.payload.error\r\n }\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default NswReprintsViewReducer;\r\n","import { combineReducers } from \"redux\";\r\nimport DataTableReducer from \"../redux/dataTable/reducer\";\r\nimport DialogReducer from \"../redux/dialog/reducer\";\r\n\r\nexport default combineReducers({\r\n DataTable: DataTableReducer,\r\n Dialog: DialogReducer\r\n});\r\n","export const ActionTypes = {\r\n NSW_REPRINTS_LOAD_DATA_REQUEST: \"NSW_REPRINTS_LOAD_DATA_REQUEST\",\r\n NSW_REPRINTS_LOAD_DATA_SUCCESS: \"NSW_REPRINTS_LOAD_DATA_SUCCESS\",\r\n NSW_REPRINTS_LOAD_DATA_FAILURE: \"NSW_REPRINTS_LOAD_DATA_FAILURE\",\r\n NSW_REPRINTS_VIEW_UPDATE_SUCCESS: \"NSW_REPRINTS_VIEW_UPDATE_SUCCESS\",\r\n NSW_REPRINTS_DATATABLE_KEEP_SETTINGS: \"NSW_REPRINTS_DATATABLE_KEEP_SETTINGS\",\r\n NSW_REPRINTS_DATATABLE_CLEAR_SEARCHBOX:\r\n \"NSW_REPRINTS_DATATABLE_CLEAR_SEARCHBOX\",\r\n};\r\n","import { ActionTypes } from \"./action-types\";\r\nimport moment from \"moment\";\r\n\r\nconst initialState = {\r\n isLoading: false,\r\n data: [],\r\n settings: {},\r\n error: {}\r\n};\r\n\r\nfunction NswReprintsViewReducer(state = initialState, action) {\r\n switch (action.type) {\r\n case ActionTypes.NSW_REPRINTS_LOAD_DATA_REQUEST:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n };\r\n\r\n case ActionTypes.NSW_REPRINTS_LOAD_DATA_SUCCESS:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n data: action.payload.map((item) => {\r\n return {\r\n ...item,\r\n purchasedDateTime: moment(item.purchasedDateTime).format(\r\n \"DD/MM/YYYY HH:mm\"\r\n ),\r\n status:\r\n item.status == 0\r\n ? \"Unactioned\"\r\n : item.status == 1\r\n ? \"Underway\"\r\n : \"Completed\",\r\n };\r\n }),\r\n };\r\n\r\n case ActionTypes.NSW_REPRINTS_VIEW_UPDATE_SUCCESS:\r\n return {\r\n ...state,\r\n data: state.data\r\n .map((item) => {\r\n if (item.id === action.payload.id) {\r\n return {\r\n ...action.payload,\r\n status:\r\n action.payload.status == 0\r\n ? \"Unactioned\"\r\n : action.payload.status == 1\r\n ? \"Underway\"\r\n : \"Completed\",\r\n };\r\n } else {\r\n return item;\r\n }\r\n })\r\n .filter((item) => item.status !== \"Completed\"),\r\n };\r\n\r\n case ActionTypes.NSW_REPRINTS_LOAD_DATA_FAILURE:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n };\r\n case ActionTypes.NSW_REPRINTS_DATATABLE_KEEP_SETTINGS:\r\n return {\r\n ...state,\r\n settings: action.payload.settings,\r\n };\r\n case ActionTypes.NSW_REPRINTS_DATATABLE_CLEAR_SEARCHBOX:\r\n return {\r\n ...state,\r\n settings: {\r\n ...state.settings,\r\n searchText: \"\",\r\n },\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default NswReprintsViewReducer;\r\n","export const ActionTypes = {\r\n NSW_REPRINTS_VIEW_TOGGLE_DIALOG: \"NSW_REPRINTS_VIEW_TOGGLE_DIALOG\",\r\n NSW_REPRINTS_VIEW_UPDATE_REQUEST: \"NSW_REPRINTS_VIEW_UPDATE_REQUEST\",\r\n NSW_REPRINTS_VIEW_UPDATE_SUCCESS: \"NSW_REPRINTS_VIEW_UPDATE_SUCCESS\",\r\n NSW_REPRINTS_VIEW_UPDATE_FAILURE: \"NSW_REPRINTS_VIEW_UPDATE_FAILURE\",\r\n NSW_REPRINTS_VIEW_FORM_INPUT_CHANGE: \"NSW_REPRINTS_VIEW_FORM_INPUT_CHANGE\"\r\n};\r\n","import { ActionTypes } from \"./action-types\";\r\nimport moment from \"moment\";\r\n\r\nconst initialState = {\r\n isModalOpen: false,\r\n isModalLoading: false,\r\n fields: {},\r\n fieldErrors: {}\r\n};\r\n\r\nfunction NswReprintsViewReducer(state = initialState, action) {\r\n switch (action.type) {\r\n case ActionTypes.NSW_REPRINTS_VIEW_TOGGLE_DIALOG:\r\n return {\r\n ...state,\r\n isModalOpen: !state.isModalOpen,\r\n fields: action.payload\r\n ? {\r\n ...action.payload,\r\n dateSent:\r\n action.payload.dateSent == null ||\r\n action.payload.dateSent === undefined\r\n ? \"\"\r\n : moment(action.payload.dateSent),\r\n status:\r\n action.payload.status === \"Unactioned\"\r\n ? 0\r\n : action.payload.status === \"Underway\"\r\n ? 1\r\n : 2\r\n }\r\n : {}\r\n };\r\n case ActionTypes.NSW_REPRINTS_VIEW_UPDATE_REQUEST:\r\n return {\r\n ...state,\r\n isModalLoading: true\r\n };\r\n case ActionTypes.NSW_REPRINTS_VIEW_UPDATE_SUCCESS:\r\n case ActionTypes.NSW_REPRINTS_VIEW_UPDATE_FAILURE:\r\n return {\r\n ...state,\r\n isModalLoading: false,\r\n isModalOpen: false\r\n };\r\n case ActionTypes.NSW_REPRINTS_VIEW_FORM_INPUT_CHANGE:\r\n return {\r\n ...state,\r\n fields: {\r\n ...state.fields,\r\n [action.payload.name]: action.payload.value\r\n },\r\n fieldErrors: {\r\n ...state.fieldErrors,\r\n [action.payload.name]: action.payload.error\r\n }\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default NswReprintsViewReducer;\r\n","import { combineReducers } from \"redux\";\r\nimport DataTableReducer from \"../redux/dataTable/reducer\";\r\nimport DialogReducer from \"../redux/dialog/reducer\";\r\n\r\nexport default combineReducers({\r\n DataTable: DataTableReducer,\r\n Dialog: DialogReducer\r\n});\r\n","export const ActionTypes = {\r\n ADMIN_PROMO_CODES_ONLOAD_REQUEST: \"ADMIN_PROMO_CODES_ONLOAD_REQUEST\",\r\n ADMIN_PROMO_CODES_ONLOAD_SUCCESS: \"ADMIN_PROMO_CODES_ONLOAD_SUCCESS\",\r\n ADMIN_PROMO_CODES_ONLOAD_FAILURE: \"ADMIN_PROMO_CODES_ONLOAD_FAILURE\",\r\n ADMIN_PROMO_CODES_FILTER_FORM_INPUT_CHANGE:\r\n \"ADMIN_PROMO_CODES_FILTER_FORM_INPUT_CHANGE\",\r\n ADMIN_PROMO_CODES_DELETE_REQUEST: \"ADMIN_PROMO_CODES_DELETE_REQUEST\",\r\n ADMIN_PROMO_CODES_DELETE_SUCCESS: \"ADMIN_PROMO_CODES_DELETE_SUCCESS\",\r\n ADMIN_PROMO_CODES_DELETE_FAILURE: \"ADMIN_PROMO_CODES_DELETE_FAILURE\",\r\n ADMIN_PROMO_CODES_EDIT_REQUEST: \"ADMIN_PROMO_CODES_EDIT_REQUEST\",\r\n ADMIN_PROMO_CODES_EDIT_SUCCESS: \"ADMIN_PROMO_CODES_EDIT_SUCCESS\",\r\n ADMIN_PROMO_CODES_ADD_SUCCESS: \"ADMIN_PROMO_CODES_ADD_SUCCESS\",\r\n ADMIN_PROMO_CODES_EDIT_FAILURE: \"ADMIN_PROMO_CODES_EDIT_FAILURE\",\r\n ADMIN_PROMO_CODES_RESET: \"ADMIN_PROMO_CODES_RESET\",\r\n ADMIN_PROMO_CODES_DATATABLE_KEEP_SETTINGS:\r\n \"ADMIN_PROMO_CODES_DATATABLE_KEEP_SETTINGS\",\r\n ADMIN_PROMO_CODES_DATATABLE_CLEAR_SEARCHBOX:\r\n \"ADMIN_PROMO_CODES_DATATABLE_CLEAR_SEARCHBOX\",\r\n};\r\n","import { ActionTypes } from \"./action-types\";\r\nimport moment from \"moment\";\r\n\r\nconst initialState = {\r\n data: [],\r\n settings: {},\r\n isProcessing: false,\r\n fields: {\r\n userTypes: \"\",\r\n startDate: moment().subtract(12, \"months\")._d,\r\n endDate: moment()._d\r\n },\r\n fieldErrors: {},\r\n isSubmitting: false\r\n};\r\n\r\nfunction Reducer(state = initialState, action) {\r\n switch (action.type) {\r\n case ActionTypes.ADMIN_PROMO_CODES_ONLOAD_REQUEST:\r\n return {\r\n ...state,\r\n isProcessing: true,\r\n data: action.payload,\r\n };\r\n case ActionTypes.ADMIN_PROMO_CODES_DELETE_FAILURE:\r\n case ActionTypes.ADMIN_PROMO_CODES_EDIT_FAILURE:\r\n case ActionTypes.ADMIN_PROMO_CODES_ONLOAD_FAILURE:\r\n return {\r\n ...state,\r\n isProcessing: false,\r\n };\r\n case ActionTypes.ADMIN_PROMO_CODES_ONLOAD_SUCCESS:\r\n return {\r\n ...state,\r\n isProcessing: false,\r\n isReset: false,\r\n data: action.payload.map((code) => {\r\n return {\r\n ...code,\r\n discountPercentage2: `${code.discountPercentage * 100}%`,\r\n discountAmount2: \"$\" + `${code.discountAmount.toFixed(2)}`,\r\n isOneUseOnly2: code.isOneUseOnly ? \"Yes\" : \"No\",\r\n expiryDate: moment(code.expiryDate),\r\n expiryDate2: moment(code.expiryDate).format(\"DD/MM/YYYY\"),\r\n };\r\n }),\r\n };\r\n case ActionTypes.ADMIN_PROMO_CODES_FILTER_FORM_INPUT_CHANGE:\r\n return {\r\n ...state,\r\n fields: {\r\n ...state.fields,\r\n [action.payload.name]: action.payload.value,\r\n },\r\n fieldErrors: {\r\n ...state.fieldErrors,\r\n [action.payload.name]: action.payload.error,\r\n },\r\n };\r\n case ActionTypes.ADMIN_PROMO_CODES_DELETE_SUCCESS:\r\n return {\r\n ...state,\r\n data: state.data.filter((code) => code.id !== action.payload.id),\r\n };\r\n case ActionTypes.ADMIN_PROMO_CODES_ADD_SUCCESS:\r\n return {\r\n ...state,\r\n data: [\r\n ...state.data,\r\n {\r\n ...action.payload,\r\n discountPercentage2: `${parseFloat(\r\n action.payload.discountPercentage\r\n )}%`,\r\n discountAmount2:\r\n \"$\" + `${parseFloat(action.payload.discountAmount).toFixed(2)}`,\r\n isOneUseOnly2:\r\n action.payload.isOneUseOnly === \"true\" ||\r\n action.payload.isOneUseOnly === true\r\n ? \"Yes\"\r\n : \"No\",\r\n expiryDate: moment(action.payload.expiryDate),\r\n expiryDate2: moment(action.payload.expiryDate).format(\"DD/MM/YYYY\"),\r\n },\r\n ],\r\n };\r\n case ActionTypes.ADMIN_PROMO_CODES_EDIT_SUCCESS:\r\n return {\r\n ...state,\r\n data: state.data.map((code) => {\r\n return code.id === action.payload.id\r\n ? {\r\n ...action.payload,\r\n discountPercentage2: `${parseFloat(\r\n action.payload.discountPercentage\r\n )}%`,\r\n discountAmount2:\r\n \"$\" +\r\n `${parseFloat(action.payload.discountAmount).toFixed(2)}`,\r\n isOneUseOnly2:\r\n action.payload.isOneUseOnly === \"true\" ||\r\n action.payload.isOneUseOnly === true\r\n ? \"Yes\"\r\n : \"No\",\r\n expiryDate: moment(action.payload.expiryDate),\r\n expiryDate2: moment(action.payload.expiryDate).format(\r\n \"DD/MM/YYYY\"\r\n ),\r\n }\r\n : code;\r\n }),\r\n };\r\n case ActionTypes.ADMIN_PROMO_CODES_DATATABLE_KEEP_SETTINGS:\r\n return {\r\n ...state,\r\n settings: action.payload.settings,\r\n };\r\n case ActionTypes.ADMIN_PROMO_CODES_DATATABLE_CLEAR_SEARCHBOX:\r\n return {\r\n ...state,\r\n settings: {\r\n ...state.settings,\r\n searchText: \"\",\r\n },\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default Reducer;\r\n","export const ActionTypes = {\r\n ADMIN_PROMO_CODES_SHOW_EDIT_DIALOG: \"ADMIN_PROMO_CODES_SHOW_EDIT_DIALOG\",\r\n ADMIN_PROMO_CODES_SHOW_DELETE_DIALOG: \"ADMIN_PROMO_CODES_SHOW_DELETE_DIALOG\",\r\n ADMIN_PROMO_CODES_DIALOG_FORM_INPUT_CHANGE:\r\n \"ADMIN_PROMO_CODES_DIALOG_FORM_INPUT_CHANGE\",\r\n ADMIN_PROMO_CODES_DELETE_REQUEST: \"ADMIN_PROMO_CODES_DELETE_REQUEST\",\r\n ADMIN_PROMO_CODES_DELETE_SUCCESS: \"ADMIN_PROMO_CODES_DELETE_SUCCESS\",\r\n ADMIN_PROMO_CODES_DELETE_FAILURE: \"ADMIN_PROMO_CODES_DELETE_FAILURE\",\r\n ADMIN_PROMO_CODES_EDIT_REQUEST: \"ADMIN_PROMO_CODES_EDIT_REQUEST\",\r\n ADMIN_PROMO_CODES_EDIT_SUCCESS: \"ADMIN_PROMO_CODES_EDIT_SUCCESS\",\r\n ADMIN_PROMO_CODES_EDIT_FAILURE: \"ADMIN_PROMO_CODES_EDIT_FAILURE\",\r\n ADMIN_PROMO_CODES_ADD_REQUEST: \"ADMIN_PROMO_CODES_ADD_REQUEST\",\r\n ADMIN_PROMO_CODES_ADD_SUCCESS: \"ADMIN_PROMO_CODES_ADD_SUCCESS\",\r\n ADMIN_PROMO_CODES_ADD_FAILURE: \"ADMIN_PROMO_CODES_ADD_FAILURE\"\r\n};\r\n","import { ActionTypes } from \"./action-types\";\r\nimport moment from \"moment\";\r\n\r\nconst initialState = {\r\n isProcessing: false,\r\n dialogs: {\r\n showDeleteDialog: false,\r\n showEditDialog: false\r\n },\r\n fieldErrors: {},\r\n fields: {\r\n discountCode: \"\",\r\n discountPercentage: \"\",\r\n discountAmount: \"\",\r\n expiryDate: \"\",\r\n isOneUseOnly: \"\"\r\n },\r\n isEdit: false,\r\n isSubmitting: false\r\n};\r\n\r\nfunction Reducer(state = initialState, action) {\r\n switch (action.type) {\r\n case ActionTypes.ADMIN_PROMO_CODES_SHOW_EDIT_DIALOG:\r\n return {\r\n ...state,\r\n isEdit: action.payload ? true : false,\r\n fields: action.payload\r\n ? {\r\n ...action.payload,\r\n discountPercentage: action.payload.discountPercentage * 100\r\n }\r\n : {\r\n discountCode: \"\",\r\n discountPercentage: 0,\r\n discountAmount: 0,\r\n expiryDate: moment().set({ year: 2099, month: 0, date: 1 }),\r\n isOneUseOnly: \"\"\r\n },\r\n dialogs: {\r\n ...state.dialogs,\r\n showEditDialog: !state.dialogs.showEditDialog\r\n }\r\n };\r\n case ActionTypes.ADMIN_PROMO_CODES_SHOW_DELETE_DIALOG:\r\n return {\r\n ...state,\r\n fields: action.payload ? action.payload : {},\r\n dialogs: {\r\n ...state.dialogs,\r\n showDeleteDialog: !state.dialogs.showDeleteDialog\r\n }\r\n };\r\n\r\n case ActionTypes.ADMIN_PROMO_CODES_FILTER_FORM_INPUT_CHANGE:\r\n return {\r\n ...state,\r\n fields: {\r\n ...state.fields,\r\n [action.payload.name]: action.payload.value\r\n },\r\n fieldErrors: {\r\n ...state.fieldErrors,\r\n [action.payload.name]: action.payload.error\r\n }\r\n };\r\n case ActionTypes.ADMIN_PROMO_CODES_DIALOG_FORM_INPUT_CHANGE:\r\n return {\r\n ...state,\r\n fields: {\r\n ...state.fields,\r\n [action.payload.name]: action.payload.value\r\n },\r\n fieldErrors: {\r\n ...state.fieldErrors,\r\n [action.payload.name]: action.payload.error\r\n }\r\n };\r\n case ActionTypes.ADMIN_PROMO_CODES_DELETE_REQUEST:\r\n case ActionTypes.ADMIN_PROMO_CODES_ADD_REQUEST:\r\n case ActionTypes.ADMIN_PROMO_CODES_EDIT_REQUEST:\r\n return {\r\n ...state,\r\n isProcessing: true\r\n };\r\n case ActionTypes.ADMIN_PROMO_CODES_DELETE_SUCCESS:\r\n return {\r\n ...state,\r\n isProcessing: false,\r\n dialogs: {\r\n ...state.dialogs,\r\n showDeleteDialog: !state.dialogs.showDeleteDialog\r\n }\r\n };\r\n case ActionTypes.ADMIN_PROMO_CODES_ADD_SUCCESS:\r\n case ActionTypes.ADMIN_PROMO_CODES_EDIT_SUCCESS:\r\n return {\r\n ...state,\r\n isProcessing: false,\r\n dialogs: {\r\n ...state.dialogs,\r\n showEditDialog: !state.dialogs.showEditDialog\r\n }\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default Reducer;\r\n","import { combineReducers } from \"redux\";\r\nimport DataTableReducer from \"../redux/datatable/reducers\";\r\nimport DialogReducer from \"../redux/dialog/reducers\";\r\n\r\nexport default combineReducers({\r\n DataTable: DataTableReducer,\r\n Dialog: DialogReducer\r\n});\r\n","export const ActionTypes = {\r\n ADMIN_PURCHASE_VOUCHERS_ONLOAD_REQUEST:\r\n \"ADMIN_PURCHASE_VOUCHERS_ONLOAD_REQUEST\",\r\n ADMIN_PURCHASE_VOUCHERS_ONLOAD_SUCCESS:\r\n \"ADMIN_PURCHASE_VOUCHERS_ONLOAD_SUCCESS\",\r\n ADMIN_PURCHASE_VOUCHERS_ONLOAD_FAILURE:\r\n \"ADMIN_PURCHASE_VOUCHERS_ONLOAD_FAILURE\",\r\n ADMIN_PURCHASE_VOUCHERS_FORM_INPUT_CHANGE:\r\n \"ADMIN_PURCHASE_VOUCHERS_FORM_INPUT_CHANGE\",\r\n ADMIN_PURCHASE_VOUCHERS_UPDATE_SUCCESS:\r\n \"ADMIN_PURCHASE_VOUCHERS_UPDATE_SUCCESS\",\r\n ADMIN_PURCHASE_VOUCHERS_DELETE_SUCCESS:\r\n \"ADMIN_PURCHASE_VOUCHERS_DELETE_SUCCESS\",\r\n ADMIN_PURCHASE_VOUCHERS_PAID_SUCCESS: \"ADMIN_PURCHASE_VOUCHERS_PAID_SUCCESS\",\r\n ADMIN_PURCHASE_VOUCHERS_DOWNLOAD_TAX_INVOICE_REQUEST:\r\n \"ADMIN_PURCHASE_VOUCHERS_DOWNLOAD_TAX_INVOICE_REQUEST\",\r\n ADMIN_PURCHASE_VOUCHERS_DOWNLOAD_TAX_INVOICE_SUCCESS:\r\n \"ADMIN_PURCHASE_VOUCHERS_DOWNLOAD_TAX_INVOICE_SUCCESS\",\r\n ADMIN_PURCHASE_VOUCHERS_DOWNLOAD_TAX_INVOICE_FAILURE:\r\n \"ADMIN_PURCHASE_VOUCHERS_DOWNLOAD_TAX_INVOICE_FAILURE\",\r\n ADMIN_PURCHASE_VOUCHERS_DATATABLE_KEEP_SETTINGS:\r\n \"ADMIN_PURCHASE_VOUCHERS_DATATABLE_KEEP_SETTINGS\",\r\n ADMIN_PURCHASE_VOUCHERS_RESET: \"ADMIN_PURCHASE_VOUCHERS_RESET\",\r\n ADMIN_PURCHASE_VOUCHERS_DATATABLE_CLEAR_SEARCHBOX:\r\n \"ADMIN_PURCHASE_VOUCHERS_DATATABLE_CLEAR_SEARCHBOX\",\r\n};\r\n","import { ActionTypes } from \"./action-types\";\r\nimport moment from \"moment\";\r\nimport CourseService from \"../../../../../services/course-service\";\r\n\r\nconst initialState = {\r\n data: [],\r\n isProcessing: false,\r\n fields: {\r\n courseIds: [],\r\n startDate: moment().subtract(12, \"months\")._d,\r\n endDate: moment()._d,\r\n },\r\n fieldErrors: {},\r\n isReset: false,\r\n settings: {},\r\n};\r\n\r\nfunction Reducer(state = initialState, action) {\r\n switch (action.type) {\r\n case ActionTypes.ADMIN_PURCHASE_VOUCHERS_ONLOAD_REQUEST:\r\n return {\r\n ...state,\r\n isProcessing: true,\r\n data: action.payload,\r\n };\r\n case ActionTypes.ADMIN_PURCHASE_VOUCHERS_DOWNLOAD_TAX_INVOICE_REQUEST:\r\n return {\r\n ...state,\r\n isProcessing: true,\r\n };\r\n case ActionTypes.ADMIN_PURCHASE_VOUCHERS_RESET:\r\n return {\r\n ...state,\r\n isProcessing: true,\r\n isReset: true,\r\n fields: {\r\n courseIds: CourseService().getFlattenedCourses(),\r\n startDate: moment().subtract(12, \"months\")._d,\r\n endDate: moment()._d,\r\n },\r\n };\r\n case ActionTypes.ADMIN_PURCHASE_VOUCHERS_DOWNLOAD_TAX_INVOICE_SUCCESS:\r\n case ActionTypes.ADMIN_PURCHASE_VOUCHERS_DOWNLOAD_TAX_INVOICE_FAILURE:\r\n case ActionTypes.ADMIN_PURCHASE_VOUCHERS_ONLOAD_FAILURE:\r\n return {\r\n ...state,\r\n isProcessing: false,\r\n };\r\n case ActionTypes.ADMIN_PURCHASE_VOUCHERS_FORM_INPUT_CHANGE:\r\n return {\r\n ...state,\r\n fields: {\r\n ...state.fields,\r\n [action.payload.name]: action.payload.value,\r\n },\r\n fieldErrors: {\r\n ...state.fieldErrors,\r\n [action.payload.name]: action.payload.error,\r\n },\r\n };\r\n case ActionTypes.ADMIN_PURCHASE_VOUCHERS_ONLOAD_SUCCESS:\r\n return {\r\n ...state,\r\n isProcessing: false,\r\n isReset: false,\r\n data: action.payload.map((voucher) => {\r\n return {\r\n ...voucher,\r\n name: `${voucher.firstName} ${voucher.lastName}`,\r\n purchasedDateTime: moment(voucher.purchasedDateTime).format(\r\n \"DD/MM/YYYY HH:mm\"\r\n ),\r\n amountDue: \"$\" + voucher.amountDue.toFixed(2),\r\n amountPaid: \"$\" + voucher.amountPaid.toFixed(2),\r\n discountAmount: \"$\" + voucher.discountAmount.toFixed(2),\r\n isCreditCardPurchase: voucher.isCreditCardPurchase ? \"Yes\" : \"No\",\r\n };\r\n }),\r\n };\r\n case ActionTypes.ADMIN_PURCHASE_VOUCHERS_UPDATE_SUCCESS:\r\n return {\r\n ...state,\r\n data: state.data.map((voucher) => {\r\n if (action.payload.prePurchaseId === voucher.prePurchaseId) {\r\n return {\r\n ...voucher,\r\n companyName: action.payload.companyName,\r\n firstName: action.payload.firstName,\r\n lastName: action.payload.lastName,\r\n email: action.payload.email,\r\n phone: action.payload.phone,\r\n };\r\n } else {\r\n return voucher;\r\n }\r\n }),\r\n };\r\n case ActionTypes.ADMIN_PURCHASE_VOUCHERS_DELETE_SUCCESS:\r\n return {\r\n ...state,\r\n data: state.data.filter(\r\n (voucher) => voucher.prePurchaseId !== action.payload.prePurchaseId\r\n ),\r\n };\r\n case ActionTypes.ADMIN_PURCHASE_VOUCHERS_PAID_SUCCESS:\r\n return {\r\n ...state,\r\n data: state.data.map((voucher) => {\r\n if (action.payload === voucher.prePurchaseId) {\r\n return {\r\n ...voucher,\r\n amountPaid: 1,\r\n };\r\n } else {\r\n return voucher;\r\n }\r\n }),\r\n };\r\n case ActionTypes.ADMIN_PURCHASE_VOUCHERS_DATATABLE_KEEP_SETTINGS:\r\n return {\r\n ...state,\r\n settings: action.payload.settings,\r\n };\r\n case ActionTypes.ADMIN_PURCHASE_VOUCHERS_DATATABLE_CLEAR_SEARCHBOX:\r\n return {\r\n ...state,\r\n settings: {\r\n ...state.settings,\r\n searchText: \"\",\r\n },\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default Reducer;\r\n","export const ActionTypes = {\r\n ADMIN_PURCHASE_VOUCHERS_SHOW_EDIT_DIALOG:\r\n \"ADMIN_PURCHASE_VOUCHERS_SHOW_EDIT_DIALOG\",\r\n ADMIN_PURCHASE_VOUCHERS_SHOW_VOUCHERS_DIALOG:\r\n \"ADMIN_PURCHASE_VOUCHERS_SHOW_VOUCHERS_DIALOG\",\r\n ADMIN_PURCHASE_VOUCHERS_SHOW_DELETE_DIALOG:\r\n \"ADMIN_PURCHASE_VOUCHERS_SHOW_DELETE_DIALOG\",\r\n ADMIN_PURCHASE_VOUCHERS_SHOW_MARK_AS_PAID_DIALOG:\r\n \"ADMIN_PURCHASE_VOUCHERS_SHOW_MARK_AS_PAID_DIALOG\",\r\n ADMIN_PURCHASE_VOUCHERS_DIALOG_FORM_INPUT_CHANGE:\r\n \"ADMIN_PURCHASE_VOUCHERS_DIALOG_FORM_INPUT_CHANGE\",\r\n ADMIN_PURCHASE_VOUCHERS_UPDATE_REQUEST:\r\n \"ADMIN_PURCHASE_VOUCHERS_UPDATE_REQUEST\",\r\n ADMIN_PURCHASE_VOUCHERS_UPDATE_SUCCESS:\r\n \"ADMIN_PURCHASE_VOUCHERS_UPDATE_SUCCESS\",\r\n ADMIN_PURCHASE_VOUCHERS_UPDATE_FAILURE:\r\n \"ADMIN_PURCHASE_VOUCHERS_UPDATE_FAILURE\",\r\n ADMIN_PURCHASE_VOUCHERS_DELETE_REQUEST:\r\n \"ADMIN_PURCHASE_VOUCHERS_DELETE_REQUEST\",\r\n ADMIN_PURCHASE_VOUCHERS_DELETE_SUCCESS:\r\n \"ADMIN_PURCHASE_VOUCHERS_DELETE_SUCCESS\",\r\n ADMIN_PURCHASE_VOUCHERS_DELETE_FAILURE:\r\n \"ADMIN_PURCHASE_VOUCHERS_DELETE_FAILURE\",\r\n ADMIN_PURCHASE_VOUCHERS_PAID_REQUEST: \"ADMIN_PURCHASE_VOUCHERS_PAID_REQUEST\",\r\n ADMIN_PURCHASE_VOUCHERS_PAID_SUCCESS: \"ADMIN_PURCHASE_VOUCHERS_PAID_SUCCESS\",\r\n ADMIN_PURCHASE_VOUCHERS_PAID_FAILURE: \"ADMIN_PURCHASE_VOUCHERS_PAID_FAILURE\"\r\n};\r\n","import { ActionTypes } from \"./action-types\";\r\n\r\nconst initialState = {\r\n isProcessing: false,\r\n fields: {\r\n companyName: \"\",\r\n firstName: \"\",\r\n lastName: \"\",\r\n email: \"\",\r\n phone: \"\"\r\n },\r\n fieldErrors: {},\r\n vouchers: [],\r\n dialogs: {\r\n showDeleteDialog: false,\r\n showMarkAsPaidDialog: false,\r\n showEditDialog: false,\r\n showVouchersDialog: false\r\n }\r\n};\r\n\r\nfunction Reducer(state = initialState, action) {\r\n switch (action.type) {\r\n case ActionTypes.ADMIN_PURCHASE_VOUCHERS_SHOW_EDIT_DIALOG:\r\n return {\r\n ...state,\r\n dialogs: {\r\n ...state.dialogs,\r\n showEditDialog: !state.dialogs.showEditDialog\r\n },\r\n fields: action.payload ? action.payload : {}\r\n };\r\n case ActionTypes.ADMIN_PURCHASE_VOUCHERS_SHOW_VOUCHERS_DIALOG:\r\n return {\r\n ...state,\r\n dialogs: {\r\n ...state.dialogs,\r\n showVouchersDialog: !state.dialogs.showVouchersDialog\r\n },\r\n vouchers: action.payload ? action.payload : []\r\n };\r\n case ActionTypes.ADMIN_PURCHASE_VOUCHERS_SHOW_DELETE_DIALOG:\r\n return {\r\n ...state,\r\n dialogs: {\r\n ...state.dialogs,\r\n showDeleteDialog: !state.dialogs.showDeleteDialog\r\n },\r\n fields: action.payload ? action.payload : {}\r\n };\r\n case ActionTypes.ADMIN_PURCHASE_VOUCHERS_SHOW_MARK_AS_PAID_DIALOG:\r\n return {\r\n ...state,\r\n dialogs: {\r\n ...state.dialogs,\r\n showMarkAsPaidDialog: !state.dialogs.showMarkAsPaidDialog\r\n },\r\n fields: action.payload ? action.payload : {}\r\n };\r\n case ActionTypes.ADMIN_PURCHASE_VOUCHERS_DIALOG_FORM_INPUT_CHANGE:\r\n return {\r\n ...state,\r\n fields: {\r\n ...state.fields,\r\n [action.payload.name]: action.payload.value\r\n },\r\n fieldErrors: {\r\n ...state.fieldErrors,\r\n [action.payload.name]: action.payload.error\r\n }\r\n };\r\n case ActionTypes.ADMIN_PURCHASE_VOUCHERS_DELETE_REQUEST:\r\n case ActionTypes.ADMIN_PURCHASE_VOUCHERS_PAID_REQUEST:\r\n case ActionTypes.ADMIN_PURCHASE_VOUCHERS_UPDATE_REQUEST:\r\n return {\r\n ...state,\r\n isProcessing: true\r\n };\r\n case ActionTypes.ADMIN_PURCHASE_VOUCHERS_UPDATE_FAILURE:\r\n case ActionTypes.ADMIN_PURCHASE_VOUCHERS_UPDATE_SUCCESS:\r\n return {\r\n ...state,\r\n isProcessing: false,\r\n dialogs: {\r\n ...state.dialogs,\r\n showEditDialog: false\r\n }\r\n };\r\n case ActionTypes.ADMIN_PURCHASE_VOUCHERS_DELETE_SUCCESS:\r\n case ActionTypes.ADMIN_PURCHASE_VOUCHERS_DELETE_FAILURE:\r\n return {\r\n ...state,\r\n isProcessing: false,\r\n dialogs: {\r\n ...state.dialogs,\r\n showDeleteDialog: false\r\n }\r\n };\r\n case ActionTypes.ADMIN_PURCHASE_VOUCHERS_PAID_SUCCESS:\r\n case ActionTypes.ADMIN_PURCHASE_VOUCHERS_PAID_FAILURE:\r\n return {\r\n ...state,\r\n isProcessing: false,\r\n dialogs: {\r\n ...state.dialogs,\r\n showMarkAsPaidDialog: false\r\n }\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default Reducer;\r\n","import { combineReducers } from \"redux\";\r\nimport DataTableReducer from \"../redux/datatable/reducers\";\r\nimport DialogReducer from \"../redux/dialog/reducers\";\r\n\r\nexport default combineReducers({\r\n DataTable: DataTableReducer,\r\n Dialog: DialogReducer\r\n});\r\n","export const ActionTypes = {\r\n ADMIN_DOWNLOAD_REPORT_INPUT_CHANGE: \"ADMIN_DOWNLOAD_REPORT_INPUT_CHANGE\",\r\n ADMIN_DOWNLOAD_REPORT_REQUEST: \"ADMIN_DOWNLOAD_REPORT_REQUEST\",\r\n ADMIN_DOWNLOAD_REPORT_SUCCESS: \"ADMIN_DOWNLOAD_REPORT_SUCCESS\",\r\n ADMIN_DOWNLOAD_REPORT_FAILURE: \"ADMIN_DOWNLOAD_REPORT_FAILURE\"\r\n};\r\n","import { ActionTypes } from \"./action-types\";\r\nimport moment from \"moment\";\r\n\r\nconst initialState = {\r\n isProcessing: false,\r\n fields: {\r\n reportType: \"\",\r\n startDate: moment().subtract(2, \"month\")._d,\r\n endDate: moment()._d\r\n },\r\n fieldErrors: {}\r\n};\r\n\r\nfunction Reducer(state = initialState, action) {\r\n switch (action.type) {\r\n case ActionTypes.ADMIN_DOWNLOAD_REPORT_REQUEST:\r\n return {\r\n ...state,\r\n isProcessing: true\r\n };\r\n case ActionTypes.ADMIN_DOWNLOAD_REPORT_FAILURE:\r\n case ActionTypes.ADMIN_DOWNLOAD_REPORT_SUCCESS:\r\n return {\r\n ...state,\r\n isProcessing: false\r\n };\r\n case ActionTypes.ADMIN_DOWNLOAD_REPORT_INPUT_CHANGE:\r\n return {\r\n ...state,\r\n fields: {\r\n ...state.fields,\r\n [action.payload.name]: action.payload.value\r\n },\r\n fieldErrors: {\r\n ...state.fieldErrors,\r\n [action.payload.name]: action.payload.error\r\n }\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default Reducer;\r\n","export const ActionTypes = {\r\n ADMIN_EDIT_COURSES_ONLOAD_REQUEST: \"ADMIN_EDIT_COURSES_ONLOAD_REQUEST\",\r\n ADMIN_EDIT_COURSES_ONLOAD_SUCCESS: \"ADMIN_EDIT_COURSES_ONLOAD_SUCCESS\",\r\n ADMIN_EDIT_COURSES_ONLOAD_FAILURE: \"ADMIN_EDIT_COURSES_ONLOAD_FAILURE\",\r\n\r\n ADMIN_EDIT_COURSES_FORM_INPUT_CHANGE:\r\n \"ADMIN_EDIT_COURSES_FORM_INPUT_CHANGE\",\r\n\r\n ADMIN_EDIT_COURSES_UPDATE_REQUEST: \"ADMIN_EDIT_COURSES_UPDATE_REQUEST\",\r\n ADMIN_EDIT_COURSES_UPDATE_SUCCESS: \"ADMIN_EDIT_COURSES_UPDATE_SUCCESS\",\r\n ADMIN_EDIT_COURSES_UPDATE_FAILURE: \"ADMIN_EDIT_COURSES_UPDATE_FAILURE\",\r\n\r\n ADMIN_EDIT_COURSES_DELETE_REQUEST: \"ADMIN_EDIT_COURSES_DELETE_REQUEST\",\r\n ADMIN_EDIT_COURSES_DELETE_SUCCESS: \"ADMIN_EDIT_COURSES_DELETE_SUCCESS\",\r\n ADMIN_EDIT_COURSES_DELETE_FAILURE: \"ADMIN_EDIT_COURSES_DELETE_FAILURE\",\r\n\r\n ADMIN_EDIT_COURSES_SHOW_DELETE_DIALOG:\r\n \"ADMIN_EDIT_COURSES_SHOW_DELETE_DIALOG\",\r\n\r\n ADMIN_EDIT_COURSES_SHOW_COURSE_TRANSFER_CONFIRMATION:\r\n \"ADMIN_EDIT_COURSES_SHOW_COURSE_TRANSFER_CONFIRMATION\",\r\n\r\n ADMIN_EDIT_COURSES_TRANSFER_REQUEST:\r\n \"ADMIN_EDIT_COURSES_TRANSFER_REQUEST\",\r\n ADMIN_EDIT_COURSES_TRANSFER_SUCCESS:\r\n \"ADMIN_EDIT_COURSES_TRANSFER_SUCCESS\",\r\n ADMIN_EDIT_COURSES_TRANSFER_FAILURE:\r\n \"ADMIN_EDIT_COURSES_TRANSFER_FAILURE\",\r\n };\r\n","import { ActionTypes } from \"./action-types\";\r\n\r\nconst initialState = {\r\n isProcessing: false,\r\n isDeleting: false,\r\n fields: {\r\n userCourseId: \"\",\r\n firstName: \"\",\r\n lastName: \"\",\r\n usiNumber: \"\",\r\n email: \"\",\r\n phone: \"\",\r\n unitNumber: \"\",\r\n streetNumber: \"\",\r\n streetName: \"\",\r\n city: \"\",\r\n state: \"\",\r\n postcode: \"\",\r\n enrolmentStep2Completed: \"\",\r\n enrolmentStep3Completed: \"\",\r\n thirdPartyFormCompleted: \"\",\r\n surveyCompleted: \"\",\r\n courseCompleted: \"\",\r\n redirectToQuiz: \"\",\r\n setcount: \"\",\r\n lastSectionCompleted: \"\",\r\n lastQuestionCompleted: \"\",\r\n previousCertificateNumber: \"\",\r\n nswCertificateDetails: \"\",\r\n },\r\n fieldErrors: {},\r\n showDeleteDialog: false,\r\n showCourseTransferConfirmation: false,\r\n};\r\n\r\nfunction Reducer(state = initialState, action) {\r\n switch (action.type) {\r\n case ActionTypes.ADMIN_EDIT_COURSES_DELETE_REQUEST:\r\n return {\r\n ...state,\r\n isDeleting: true,\r\n };\r\n case ActionTypes.ADMIN_EDIT_COURSES_DELETE_SUCCESS:\r\n case ActionTypes.ADMIN_EDIT_COURSES_DELETE_FAILURE:\r\n return {\r\n ...state,\r\n isDeleting: false,\r\n showDeleteDialog: false,\r\n };\r\n case ActionTypes.ADMIN_EDIT_COURSES_SHOW_DELETE_DIALOG:\r\n return {\r\n ...state,\r\n showDeleteDialog: !state.showDeleteDialog,\r\n };\r\n case ActionTypes.ADMIN_EDIT_COURSES_UPDATE_REQUEST:\r\n case ActionTypes.ADMIN_EDIT_COURSES_ONLOAD_REQUEST:\r\n return {\r\n ...state,\r\n isProcessing: true,\r\n };\r\n case ActionTypes.ADMIN_EDIT_COURSES_FORM_INPUT_CHANGE:\r\n return {\r\n ...state,\r\n fields: {\r\n ...state.fields,\r\n [action.payload.name]: action.payload.value,\r\n },\r\n fieldErrors: {\r\n ...state.fieldErrors,\r\n [action.payload.name]: action.payload.error,\r\n },\r\n };\r\n case ActionTypes.ADMIN_EDIT_COURSES_ONLOAD_SUCCESS:\r\n return {\r\n ...state,\r\n isProcessing: false,\r\n fields: action.payload,\r\n };\r\n case ActionTypes.ADMIN_EDIT_COURSES_UPDATE_SUCCESS:\r\n case ActionTypes.ADMIN_EDIT_COURSES_UPDATE_FAILURE:\r\n case ActionTypes.ADMIN_EDIT_COURSES_ONLOAD_FAILURE:\r\n return {\r\n ...state,\r\n isProcessing: false,\r\n };\r\n case ActionTypes.ADMIN_EDIT_COURSES_SHOW_COURSE_TRANSFER_CONFIRMATION:\r\n return {\r\n ...state,\r\n showCourseTransferConfirmation: !state.showCourseTransferConfirmation,\r\n };\r\n\r\n case ActionTypes.ADMIN_EDIT_COURSES_TRANSFER_REQUEST:\r\n return {\r\n ...state,\r\n isProcessing: true,\r\n };\r\n case ActionTypes.ADMIN_EDIT_COURSES_TRANSFER_SUCCESS:\r\n case ActionTypes.ADMIN_EDIT_COURSES_TRANSFER_FAILURE:\r\n return {\r\n ...state,\r\n isProcessing: false,\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default Reducer;\r\n","/**\r\n * Action types\r\n */\r\nexport const ActionTypes = {\r\n // Actions\r\n AVETMISS_AUTHORISE_AVS_LOAD_FORM_REQUEST:\r\n \"AVETMISS_AUTHORISE_AVS_LOAD_FORM_REQUEST\",\r\n AVETMISS_AUTHORISE_AVS_LOAD_FORM_SUCCESS:\r\n \"AVETMISS_AUTHORISE_AVS_LOAD_FORM_SUCCESS\",\r\n AVETMISS_AUTHORISE_AVS_LOAD_FORM_FAILURE:\r\n \"AVETMISS_AUTHORISE_AVS_LOAD_FORM_FAILURE\",\r\n AVETMISS_AUTHORISE_AVS_SUBMIT_REQUEST:\r\n \"AVETMISS_AUTHORISE_AVS_SUBMIT_REQUEST\",\r\n AVETMISS_AUTHORISE_AVS_SUBMIT_SUCCESS:\r\n \"AVETMISS_AUTHORISE_AVS_SUBMIT_SUCCESS\",\r\n AVETMISS_AUTHORISE_AVS_SUBMIT_FAILURE: \"AVETMISS_AUTHORISE_AVS_SUBMIT_FAILURE\"\r\n};\r\n","/**\r\n * Authorise Avs Reducer\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\n\r\nconst initialState = {\r\n isLoading: false,\r\n userCode: \"\",\r\n deviceCode: \"\",\r\n verificationUrl: \"\",\r\n errorMessage: \"\"\r\n};\r\n\r\nfunction AuthoriseAvsReducer(state = initialState, action) {\r\n switch (action.type) {\r\n // ----------------------------\r\n // Action Types\r\n // ----------------------------\r\n\r\n case ActionTypes.AVETMISS_AUTHORISE_AVS_LOAD_FORM_REQUEST:\r\n return {\r\n ...state,\r\n isLoading: true\r\n };\r\n\r\n case ActionTypes.AVETMISS_AUTHORISE_AVS_LOAD_FORM_SUCCESS:\r\n return {\r\n ...state,\r\n userCode: action.payload.userCode,\r\n deviceCode: action.payload.deviceCode,\r\n verificationUrl: action.payload.verificationUrl,\r\n errorMessage: action.payload.errorMessage,\r\n isLoading: false\r\n };\r\n\r\n case ActionTypes.AVETMISS_AUTHORISE_AVS_LOAD_FORM_FAILURE:\r\n return {\r\n ...state,\r\n isLoading: false\r\n };\r\n\r\n case ActionTypes.AVETMISS_AUTHORISE_AVS_SUBMIT_REQUEST:\r\n return {\r\n ...state,\r\n isLoading: true\r\n };\r\n\r\n case ActionTypes.AVETMISS_AUTHORISE_AVS_SUBMIT_SUCCESS:\r\n return {\r\n ...state,\r\n isLoading: false\r\n };\r\n\r\n case ActionTypes.AVETMISS_AUTHORISE_AVS_SUBMIT_FAILURE:\r\n return {\r\n ...state,\r\n isLoading: false\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default AuthoriseAvsReducer;\r\n\r\n/**\r\n * =================\r\n * Selectors\r\n * =================\r\n */\r\n\r\nexport const selectAuthoriseAvs = state => state.authoriseAvs;\r\n","/**\r\n * Action types\r\n */\r\nexport const ActionTypes = {\r\n // Actions\r\n AVETMISS_REPORTING_LOAD_FORM_REQUEST: \"AVETMISS_REPORTING_LOAD_FORM_REQUEST\",\r\n AVETMISS_REPORTING_LOAD_FORM_SUCCESS: \"AVETMISS_REPORTING_LOAD_FORM_SUCCESS\",\r\n AVETMISS_REPORTING_LOAD_FORM_FAILURE: \"AVETMISS_REPORTING_LOAD_FORM_FAILURE\",\r\n AVETMISS_REPORTING_YEAR_CHANGE: \"AVETMISS_REPORTING_YEAR_CHANGE\",\r\n AVETMISS_REPORTING_PERIOD_CHANGE: \"AVETMISS_REPORTING_PERIOD_CHANGE\",\r\n AVETMISS_REPORTING_SUBMIT_REQUEST: \"AVETMISS_REPORTING_SUBMIT_REQUEST\",\r\n AVETMISS_REPORTING_SUBMIT_SUCCESS: \"AVETMISS_REPORTING_SUBMIT_SUCCESS\",\r\n AVETMISS_REPORTING_SUBMIT_FAILURE: \"AVETMISS_REPORTING_SUBMIT_FAILURE\",\r\n AVETMISS_REPORTING_FORM_INPUT_CHANGE: \"AVETMISS_REPORTING_FORM_INPUT_CHANGE\"\r\n};\r\n","/**\r\n * Authorise Avs Reducer\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\n\r\nconst initialState = {\r\n fields: {\r\n state: \"All\",\r\n year: \"\",\r\n period: \"\"\r\n },\r\n fieldErrors: {},\r\n years: [],\r\n periods: [],\r\n collections: [],\r\n collectionStartDate: \"\",\r\n collectionEndDate: \"\",\r\n version: \"\",\r\n\r\n isLoading: false\r\n};\r\n\r\nfunction AvetmissReportingReducer(state = initialState, action) {\r\n switch (action.type) {\r\n // ----------------------------\r\n // Action Types\r\n // ----------------------------\r\n\r\n case ActionTypes.AVETMISS_REPORTING_LOAD_FORM_REQUEST:\r\n return {\r\n ...state,\r\n isLoading: true\r\n };\r\n\r\n case ActionTypes.AVETMISS_REPORTING_LOAD_FORM_SUCCESS:\r\n return {\r\n ...state,\r\n years: action.payload.years,\r\n collections: action.payload.collections,\r\n isLoading: false\r\n };\r\n\r\n case ActionTypes.AVETMISS_REPORTING_LOAD_FORM_FAILURE:\r\n return {\r\n ...state,\r\n isLoading: false\r\n };\r\n\r\n case ActionTypes.AVETMISS_REPORTING_YEAR_CHANGE:\r\n return {\r\n ...state,\r\n periods: action.payload\r\n };\r\n\r\n case ActionTypes.AVETMISS_REPORTING_PERIOD_CHANGE:\r\n return {\r\n ...state,\r\n collectionStartDate: action.payload.collectionStartDate,\r\n collectionEndDate: action.payload.collectionEndDate,\r\n version: action.payload.version\r\n };\r\n\r\n case ActionTypes.AVETMISS_REPORTING_SUBMIT_REQUEST:\r\n return {\r\n ...state,\r\n isLoading: true\r\n };\r\n\r\n case ActionTypes.AVETMISS_REPORTING_SUBMIT_SUCCESS:\r\n return {\r\n ...state,\r\n isLoading: false\r\n };\r\n\r\n case ActionTypes.AVETMISS_REPORTING_SUBMIT_FAILURE:\r\n return {\r\n ...state,\r\n isLoading: false\r\n };\r\n\r\n // ----------------------------\r\n // Form Action Types\r\n // ----------------------------\r\n\r\n case ActionTypes.AVETMISS_REPORTING_FORM_INPUT_CHANGE:\r\n let stateResult = Object.assign({}, state, {\r\n fields: {\r\n ...state.fields,\r\n [action.payload.name]: action.payload.value\r\n },\r\n fieldErrors: {\r\n ...state.fieldErrors,\r\n [action.payload.name]: action.payload.error\r\n }\r\n });\r\n\r\n return stateResult;\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default AvetmissReportingReducer;\r\n\r\n/**\r\n * =================\r\n * Selectors\r\n * =================\r\n */\r\n\r\nexport const selectAvetmissReporting = state => state.avetmissReporting;\r\n","/**\r\n * Action types\r\n */\r\nexport const ActionTypes = {\r\n // Actions\r\n AVETMISS_REPORTING_SUBMISSION_LOAD_FORM_REQUEST:\r\n \"AVETMISS_REPORTING_SUBMISSION_LOAD_FORM_REQUEST\",\r\n AVETMISS_REPORTING_SUBMISSION_LOAD_FORM_SUCCESS:\r\n \"AVETMISS_REPORTING_SUBMISSION_LOAD_FORM_SUCCESS\",\r\n AVETMISS_REPORTING_SUBMISSION_LOAD_FORM_FAILURE:\r\n \"AVETMISS_REPORTING_SUBMISSION_LOAD_FORM_FAILURE\",\r\n\r\n AVETMISS_REPORTING_SUBMISSION_SUBMIT_REQUEST:\r\n \"AVETMISS_REPORTING_SUBMISSION_SUBMIT_REQUEST\",\r\n AVETMISS_REPORTING_SUBMISSION_SUBMIT_SUCCESS:\r\n \"AVETMISS_REPORTING_SUBMISSION_SUBMIT_SUCCESS\",\r\n AVETMISS_REPORTING_SUBMISSION_SUBMIT_FAILURE:\r\n \"AVETMISS_REPORTING_SUBMISSION_SUBMIT_FAILURE\",\r\n\r\n AVETMISS_REPORTING_SUBMISSION_DELETE_REQUEST:\r\n \"AVETMISS_REPORTING_SUBMISSION_DELETE_REQUEST\",\r\n AVETMISS_REPORTING_SUBMISSION_DELETE_SUCCESS:\r\n \"AVETMISS_REPORTING_SUBMISSION_DELETE_SUCCESS\",\r\n AVETMISS_REPORTING_SUBMISSION_DELETE_FAILURE:\r\n \"AVETMISS_REPORTING_SUBMISSION_DELETE_FAILURE\",\r\n\r\n AVETMISS_REPORTING_SUBMISSION_SHOW_DELETE_DIALOG:\r\n \"AVETMISS_REPORTING_SUBMISSION_SHOW_DELETE_DIALOG\",\r\n\r\n AVETMISS_REPORTING_SUBMISSION_SHOW_IMPORT_DIALOG:\r\n \"AVETMISS_REPORTING_SUBMISSION_SHOW_IMPORT_DIALOG\",\r\n\r\n AVETMISS_REPORTING_SUBMISSION_IMPORT_REQUEST:\r\n \"AVETMISS_REPORTING_SUBMISSION_IMPORT_REQUEST\",\r\n AVETMISS_REPORTING_SUBMISSION_IMPORT_SUCCESS:\r\n \"AVETMISS_REPORTING_SUBMISSION_IMPORT_SUCCESS\",\r\n AVETMISS_REPORTING_SUBMISSION_IMPORT_FAILURE:\r\n \"AVETMISS_REPORTING_SUBMISSION_IMPORT_FAILURE\",\r\n\r\n AVETMISS_REPORTING_SUBMISSION_EXPORT_REQUEST:\r\n \"AVETMISS_REPORTING_SUBMISSION_EXPORT_REQUEST\",\r\n AVETMISS_REPORTING_SUBMISSION_EXPORT_SUCCESS:\r\n \"AVETMISS_REPORTING_SUBMISSION_EXPORT_SUCCESS\",\r\n AVETMISS_REPORTING_SUBMISSION_EXPORT_FAILURE:\r\n \"AVETMISS_REPORTING_SUBMISSION_EXPORT_FAILURE\",\r\n };\r\n","/**\r\n * Authorise Avs Reducer\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\n\r\nconst initialState = {\r\n isLoading: false,\r\n isDeleting: false,\r\n showDeleteDialog: false,\r\n showImportDialog: false,\r\n isImporting: false,\r\n isExporting: false,\r\n files: [],\r\n year: \"\",\r\n period: \"\",\r\n version: \"\",\r\n collectionStartDate: \"\",\r\n collectionEndDate: \"\",\r\n state: \"\",\r\n};\r\n\r\nfunction AvetmissReportingSubmissionReducer(state = initialState, action) {\r\n switch (action.type) {\r\n // ----------------------------\r\n // Action Types\r\n // ----------------------------\r\n case ActionTypes.AVETMISS_REPORTING_SUBMISSION_LOAD_FORM_REQUEST:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n };\r\n case ActionTypes.AVETMISS_REPORTING_SUBMISSION_LOAD_FORM_SUCCESS:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n files: action.payload.files,\r\n year: action.payload.year,\r\n period: action.payload.period,\r\n version: action.payload.version,\r\n collectionStartDate: action.payload.collectionStartDate,\r\n collectionEndDate: action.payload.collectionEndDate,\r\n state: action.payload.state,\r\n };\r\n\r\n case ActionTypes.AVETMISS_REPORTING_SUBMISSION_LOAD_FORM_FAILURE:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n };\r\n\r\n case ActionTypes.AVETMISS_REPORTING_SUBMISSION_SUBMIT_REQUEST:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n };\r\n\r\n case ActionTypes.AVETMISS_REPORTING_SUBMISSION_SUBMIT_SUCCESS:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n };\r\n\r\n case ActionTypes.AVETMISS_REPORTING_SUBMISSION_SUBMIT_FAILURE:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n };\r\n\r\n case ActionTypes.AVETMISS_REPORTING_SUBMISSION_DELETE_REQUEST:\r\n return {\r\n ...state,\r\n isDeleting: true,\r\n };\r\n\r\n case ActionTypes.AVETMISS_REPORTING_SUBMISSION_DELETE_SUCCESS:\r\n return {\r\n ...state,\r\n isDeleting: false,\r\n showDeleteDialog: false,\r\n };\r\n\r\n case ActionTypes.AVETMISS_REPORTING_SUBMISSION_DELETE_FAILURE:\r\n return {\r\n ...state,\r\n isDeleting: false,\r\n showDeleteDialog: false,\r\n };\r\n\r\n case ActionTypes.AVETMISS_REPORTING_SUBMISSION_SHOW_DELETE_DIALOG:\r\n return {\r\n ...state,\r\n showDeleteDialog: !state.showDeleteDialog,\r\n };\r\n\r\n case ActionTypes.AVETMISS_REPORTING_SUBMISSION_SHOW_IMPORT_DIALOG:\r\n return {\r\n ...state,\r\n showImportDialog: !state.showImportDialog,\r\n };\r\n case ActionTypes.AVETMISS_REPORTING_SUBMISSION_IMPORT_REQUEST:\r\n return {\r\n ...state,\r\n isImporting: true,\r\n };\r\n case ActionTypes.AVETMISS_REPORTING_SUBMISSION_IMPORT_SUCCESS:\r\n case ActionTypes.AVETMISS_REPORTING_SUBMISSION_IMPORT_FAILURE:\r\n return {\r\n ...state,\r\n isImporting: false,\r\n showImportDialog: false,\r\n };\r\n\r\n case ActionTypes.AVETMISS_REPORTING_SUBMISSION_EXPORT_REQUEST:\r\n return {\r\n ...state,\r\n isExporting: true,\r\n };\r\n case ActionTypes.AVETMISS_REPORTING_SUBMISSION_EXPORT_SUCCESS:\r\n case ActionTypes.AVETMISS_REPORTING_SUBMISSION_EXPORT_FAILURE:\r\n return {\r\n ...state,\r\n isExporting: false,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default AvetmissReportingSubmissionReducer;\r\n\r\n/**\r\n * =================\r\n * Selectors\r\n * =================\r\n */\r\n\r\nexport const selectAvetmissReportingSubmission = state =>\r\n state.avetmissReportingSubmission;\r\n","/**\r\n * Action types\r\n */\r\nexport const ActionTypes = {\r\n // Actions\r\n\r\n AVETMISS_REPORTING_VALIDATION_LOAD_FORM_REQUEST:\r\n \"AVETMISS_REPORTING_VALIDATION_LOAD_FORM_REQUEST\",\r\n AVETMISS_REPORTING_VALIDATION_LOAD_FORM_SUCCESS:\r\n \"AVETMISS_REPORTING_VALIDATION_LOAD_FORM_SUCCESS\",\r\n AVETMISS_REPORTING_VALIDATION_LOAD_FORM_FAILURE:\r\n \"AVETMISS_REPORTING_VALIDATION_LOAD_FORM_FAILURE\",\r\n AVETMISS_REPORTING_VALIDATION_SUBMIT_REQUEST:\r\n \"AVETMISS_REPORTING_VALIDATION_SUBMIT_REQUEST\",\r\n AVETMISS_REPORTING_VALIDATION_SUBMIT_SUCCESS:\r\n \"AVETMISS_REPORTING_VALIDATION_SUBMIT_SUCCESS\",\r\n AVETMISS_REPORTING_VALIDATION_SUBMIT_FAILURE:\r\n \"AVETMISS_REPORTING_VALIDATION_SUBMIT_FAILURE\",\r\n AVETMISS_REPORTING_VALIDATION_DELETE_REQUEST:\r\n \"AVETMISS_REPORTING_VALIDATION_DELETE_REQUEST\",\r\n AVETMISS_REPORTING_VALIDATION_DELETE_SUCCESS:\r\n \"AVETMISS_REPORTING_VALIDATION_DELETE_SUCCESS\",\r\n AVETMISS_REPORTING_VALIDATION_DELETE_FAILURE:\r\n \"AVETMISS_REPORTING_VALIDATION_DELETE_FAILURE\",\r\n AVETMISS_REPORTING_VALIDATION_SHOW_DELETE_DIALOG:\r\n \"AVETMISS_REPORTING_VALIDATION_SHOW_DELETE_DIALOG\",\r\n AVETMISS_REPORTING_VALIDATION_DOWNLOAD_NAT_FILES_REQUEST:\r\n \"AVETMISS_REPORTING_VALIDATION_DOWNLOAD_NAT_FILES_REQUEST\",\r\n AVETMISS_REPORTING_VALIDATION_DOWNLOAD_NAT_FILES_SUCCESS:\r\n \"AVETMISS_REPORTING_VALIDATION_DOWNLOAD_NAT_FILES_SUCCESS\",\r\n AVETMISS_REPORTING_VALIDATION_DOWNLOAD_NAT_FILES_FAILURE:\r\n \"AVETMISS_REPORTING_VALIDATION_DOWNLOAD_NAT_FILES_FAILURE\",\r\n AVETMISS_REPORTING_VALIDATION_FORM_INPUT_CHANGE:\r\n \"AVETMISS_REPORTING_VALIDATION_FORM_INPUT_CHANGE\"\r\n};\r\n","/**\r\n * Avetmiss Reporting Validation Reducer\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\n\r\nconst initialState = {\r\n isLoading: false,\r\n isDownloading: false,\r\n isDeleting: false,\r\n showDeleteDialog: false,\r\n hasResult: false,\r\n verificationResult: {\r\n verificationSuccessful: false,\r\n errorMessage: null,\r\n errors: [],\r\n },\r\n};\r\n\r\nfunction AvetmissReportingValidationReducer(state = initialState, action) {\r\n switch (action.type) {\r\n // ----------------------------\r\n // Action Types\r\n // ----------------------------\r\n case ActionTypes.AVETMISS_REPORTING_VALIDATION_LOAD_FORM_SUCCESS:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n hasResult: true,\r\n verificationResult: {\r\n ...state.verificationResult,\r\n verificationSuccessful: action.payload.verificationSuccessful,\r\n errorMessage: action.payload.errorMessage,\r\n errors: action.payload.errors,\r\n },\r\n };\r\n\r\n case ActionTypes.AVETMISS_REPORTING_VALIDATION_LOAD_FORM_REQUEST:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n };\r\n\r\n case ActionTypes.AVETMISS_REPORTING_VALIDATION_LOAD_FORM_FAILURE:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n };\r\n\r\n case ActionTypes.AVETMISS_REPORTING_VALIDATION_SUBMIT_REQUEST:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n };\r\n\r\n case ActionTypes.AVETMISS_REPORTING_VALIDATION_SUBMIT_SUCCESS:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n };\r\n\r\n case ActionTypes.AVETMISS_REPORTING_VALIDATION_SUBMIT_FAILURE:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n };\r\n\r\n case ActionTypes.AVETMISS_REPORTING_VALIDATION_DELETE_REQUEST:\r\n return {\r\n ...state,\r\n isDeleting: true,\r\n };\r\n\r\n case ActionTypes.AVETMISS_REPORTING_VALIDATION_DELETE_SUCCESS:\r\n return {\r\n ...state,\r\n isDeleting: false,\r\n showDeleteDialog: false,\r\n };\r\n\r\n case ActionTypes.AVETMISS_REPORTING_VALIDATION_DELETE_FAILURE:\r\n return {\r\n ...state,\r\n isDeleting: false,\r\n showDeleteDialog: false,\r\n };\r\n\r\n case ActionTypes.AVETMISS_REPORTING_VALIDATION_SHOW_DELETE_DIALOG:\r\n return {\r\n ...state,\r\n showDeleteDialog: !state.showDeleteDialog,\r\n };\r\n\r\n case ActionTypes.AVETMISS_REPORTING_VALIDATION_DOWNLOAD_NAT_FILES_REQUEST:\r\n return {\r\n ...state,\r\n isDownloading: true,\r\n };\r\n case ActionTypes.AVETMISS_REPORTING_VALIDATION_DOWNLOAD_NAT_FILES_SUCCESS:\r\n case ActionTypes.AVETMISS_REPORTING_VALIDATION_DOWNLOAD_NAT_FILES_FAILURE:\r\n return {\r\n ...state,\r\n isDownloading: false,\r\n };\r\n\r\n case ActionTypes.AVETMISS_REPORTING_VALIDATION_FORM_INPUT_CHANGE:\r\n let errors = [...state.verificationResult.errors];\r\n\r\n let error = errors.find(\r\n (x) =>\r\n x.natFileNumber === action.payload.natFileNumber &&\r\n x.recordNumber === action.payload.recordNumber\r\n );\r\n\r\n error.fieldValue = action.payload.fieldValue;\r\n error.updated = true;\r\n\r\n let stateResult = Object.assign({}, state, {\r\n verificationResult: {\r\n ...state.verificationResult,\r\n errors: [...errors],\r\n },\r\n });\r\n\r\n return stateResult;\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default AvetmissReportingValidationReducer;\r\n\r\n/**\r\n * =================\r\n * Selectors\r\n * =================\r\n */\r\n\r\nexport const selectAvetmissReportingValidation = state =>\r\n state.avetmissReportingValidation;\r\n","export const ActionTypes = {\r\n AVETMISS_ADDRESS_VALIDATION_LOAD_FORM_REQUEST:\r\n \"AVETMISS_ADDRESS_VALIDATION_LOAD_FORM_REQUEST\",\r\n AVETMISS_ADDRESS_VALIDATION_LOAD_FORM_SUCCESS:\r\n \"AVETMISS_ADDRESS_VALIDATION_LOAD_FORM_SUCCESS\",\r\n AVETMISS_ADDRESS_VALIDATION_LOAD_FORM_FAILURE:\r\n \"AVETMISS_ADDRESS_VALIDATION_LOAD_FORM_FAILURE\",\r\n\r\n AVETMISS_ADDRESS_VALIDATION_SUBMIT_REQUEST:\r\n \"AVETMISS_ADDRESS_VALIDATION_SUBMIT_REQUEST\",\r\n AVETMISS_ADDRESS_VALIDATION_SUBMIT_SUCCESS:\r\n \"AVETMISS_ADDRESS_VALIDATION_SUBMIT_SUCCESS\",\r\n AVETMISS_ADDRESS_VALIDATION_SUBMIT_FAILURE:\r\n \"AVETMISS_ADDRESS_VALIDATION_SUBMIT_FAILURE\",\r\n\r\n AVETMISS_ADDRESS_VALIDATION_DOWNLOAD_NAT_FILES_REQUEST:\r\n \"AVETMISS_ADDRESS_VALIDATION_DOWNLOAD_NAT_FILES_REQUEST\",\r\n AVETMISS_ADDRESS_VALIDATION_DOWNLOAD_NAT_FILES_SUCCESS:\r\n \"AVETMISS_ADDRESS_VALIDATION_DOWNLOAD_NAT_FILES_SUCCESS\",\r\n AVETMISS_ADDRESS_VALIDATION_DOWNLOAD_NAT_FILES_FAILURE:\r\n \"AVETMISS_ADDRESS_VALIDATION_DOWNLOAD_NAT_FILES_FAILURE\",\r\n\r\n AVETMISS_ADDRESS_VALIDATION_FORM_INPUT_CHANGE:\r\n \"AVETMISS_ADDRESS_VALIDATION_FORM_INPUT_CHANGE\",\r\n };\r\n","import { ActionTypes } from \"./action-types\";\r\n\r\nconst initialState = {\r\n isLoading: false,\r\n isDownloading: false,\r\n hasResult: false,\r\n verificationResult: {\r\n verificationSuccessful: false,\r\n errorMessage: null,\r\n addressErrors: [],\r\n },\r\n year: \"\",\r\n period: \"\",\r\n version: \"\",\r\n collectionStartDate: \"\",\r\n collectionEndDate: \"\",\r\n state: \"\",\r\n};\r\n\r\nfunction AvetmissAddressValidationReducer(state = initialState, action) {\r\n switch (action.type) {\r\n case ActionTypes.AVETMISS_ADDRESS_VALIDATION_LOAD_FORM_SUCCESS:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n hasResult: true,\r\n verificationResult: {\r\n ...state.verificationResult,\r\n verificationSuccessful: action.payload.verificationSuccessful,\r\n errorMessage: action.payload.errorMessage,\r\n errors: action.payload.errors,\r\n addressErrors: action.payload.addressErrors,\r\n },\r\n year: action.payload.year,\r\n period: action.payload.period,\r\n version: action.payload.version,\r\n collectionStartDate: action.payload.collectionStartDate,\r\n collectionEndDate: action.payload.collectionEndDate,\r\n state: action.payload.state,\r\n };\r\n\r\n case ActionTypes.AVETMISS_ADDRESS_VALIDATION_LOAD_FORM_REQUEST:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n };\r\n\r\n case ActionTypes.AVETMISS_ADDRESS_VALIDATION_LOAD_FORM_FAILURE:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n };\r\n\r\n case ActionTypes.AVETMISS_ADDRESS_VALIDATION_SUBMIT_REQUEST:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n };\r\n\r\n case ActionTypes.AVETMISS_ADDRESS_VALIDATION_SUBMIT_SUCCESS:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n };\r\n\r\n case ActionTypes.AVETMISS_ADDRESS_VALIDATION_SUBMIT_FAILURE:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n };\r\n\r\n case ActionTypes.AVETMISS_ADDRESS_VALIDATION_DOWNLOAD_NAT_FILES_REQUEST:\r\n return {\r\n ...state,\r\n isDownloading: true,\r\n };\r\n case ActionTypes.AVETMISS_ADDRESS_VALIDATION_DOWNLOAD_NAT_FILES_SUCCESS:\r\n case ActionTypes.AVETMISS_ADDRESS_VALIDATION_DOWNLOAD_NAT_FILES_FAILURE:\r\n return {\r\n ...state,\r\n isDownloading: false,\r\n };\r\n\r\n case ActionTypes.AVETMISS_ADDRESS_VALIDATION_FORM_INPUT_CHANGE:\r\n let errors = [...state.verificationResult.addressErrors];\r\n\r\n let error = errors.find(\r\n (x) =>\r\n x.natFileNumber === action.payload.natFileNumber &&\r\n x.recordNumber === action.payload.recordNumber\r\n );\r\n\r\n error.fieldValue = action.payload.fieldValue;\r\n error.updated = true;\r\n\r\n let stateResult = Object.assign({}, state, {\r\n verificationResult: {\r\n ...state.verificationResult,\r\n addressErrors: [...errors],\r\n },\r\n });\r\n\r\n return stateResult;\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default AvetmissAddressValidationReducer;\r\n\r\n/**\r\n * =================\r\n * Selectors\r\n * =================\r\n */\r\n\r\nexport const selectAvetmissAddressValidation = (state) =>\r\n state.avetmissAddressValidation;\r\n","const ActionTypes = {\r\n SYNC_COURSES_OPERATE_REQUEST: \"SYNC_COURSES_OPERATE_REQUEST\",\r\n SYNC_COURSES_OPERATE_FAILURE: \"SYNC_COURSES_OPERATE_FAILURE\",\r\n\r\n SYNC_COURSES_SYNC_REQUEST: \"SYNC_COURSES_SYNC_REQUEST\",\r\n SYNC_COURSES_SYNC_SUCCESS: \"SYNC_COURSES_SYNC_SUCCESS\",\r\n\r\n SYNC_COURSES_PUBLISH_SUCCESS: \"SYNC_COURSES_PUBLISH_SUCCESS\",\r\n};\r\n\r\nexport default ActionTypes;\r\n","import ActionTypes from \"./action-types\";\r\n\r\nconst initialState = {\r\n isLoading: false,\r\n isSyncing: false,\r\n courses: [],\r\n};\r\n\r\nexport default function SyncCoursesReducer(state = initialState, action) {\r\n switch (action.type) {\r\n case ActionTypes.SYNC_COURSES_OPERATE_REQUEST:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n };\r\n case ActionTypes.SYNC_COURSES_OPERATE_FAILURE:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n isSyncing: false,\r\n };\r\n case ActionTypes.SYNC_COURSES_SYNC_REQUEST:\r\n return {\r\n ...state,\r\n isSyncing: true,\r\n };\r\n case ActionTypes.SYNC_COURSES_SYNC_SUCCESS:\r\n return {\r\n ...state,\r\n isSyncing: false,\r\n courses: action.payload,\r\n };\r\n case ActionTypes.SYNC_COURSES_PUBLISH_SUCCESS:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n","/**\r\n * Action types\r\n */\r\nexport const ActionTypes = {\r\n // Actions\r\n EXTERNAL_LEARNING_COURSE_LOAD_REQUEST:\r\n \"EXTERNAL_LEARNING_COURSE_LOAD_REQUEST\",\r\n EXTERNAL_LEARNING_COURSE_LOAD_SUCCESS:\r\n \"EXTERNAL_LEARNING_COURSE_LOAD_SUCCESS\",\r\n EXTERNAL_LEARNING_COURSE_LOAD_FAILURE:\r\n \"EXTERNAL_LEARNING_COURSE_LOAD_FAILURE\",\r\n\r\n EXTERNAL_LEARNING_COURSE_GET_SSO_REQUEST:\r\n \"EXTERNAL_LEARNING_COURSE_GET_SSO_REQUEST\",\r\n EXTERNAL_LEARNING_COURSE_GET_SSO_FAILURE:\r\n \"EXTERNAL_LEARNING_COURSE_GET_SSO_FAILURE\",\r\n};\r\n","/**\r\n * Course Content Reducer\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\n\r\nconst initialState = {\r\n courseName: \"\",\r\n\r\n isLoading: false,\r\n isLoadingSso: false,\r\n};\r\n\r\nfunction ExternalLearningCourseReducer(state = initialState, action) {\r\n switch (action.type) {\r\n // ----------------------------\r\n // Action Types\r\n // ----------------------------\r\n\r\n case ActionTypes.EXTERNAL_LEARNING_COURSE_LOAD_REQUEST:\r\n return {\r\n ...state,\r\n isLoading: true,\r\n };\r\n\r\n case ActionTypes.EXTERNAL_LEARNING_COURSE_GET_SSO_REQUEST:\r\n return {\r\n ...state,\r\n isLoadingSso: true,\r\n };\r\n\r\n case ActionTypes.EXTERNAL_LEARNING_COURSE_LOAD_SUCCESS:\r\n return {\r\n ...state,\r\n courseName: action.payload.courseName,\r\n isLoading: false,\r\n };\r\n\r\n case ActionTypes.EXTERNAL_LEARNING_COURSE_GET_SSO_FAILURE:\r\n return {\r\n ...state,\r\n isLoadingSso: true,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport default ExternalLearningCourseReducer;\r\n\r\n/**\r\n * =================\r\n * Selectors\r\n * =================\r\n */\r\n\r\nexport const selectExternalLearningCourse = (state) =>\r\n state.externalLearningCourse;\r\n","import { combineReducers } from \"redux\";\r\nimport SystemReducer from \"./system/system-reducer\";\r\nimport TemplateComponentReducer from \"../components/Template-Component/redux/reducer\";\r\nimport CourseEnrolmentReducer from \"../views/Course-Enrolment/redux/reducers\";\r\nimport RegisterBoxReducer from \"../components/Register-Box/redux/reducer\";\r\nimport ContactBoxReducer from \"../components/Contact-Box/redux/reducer\";\r\nimport YourCoursesReducer from \"../views/Start/redux/reducer\";\r\nimport CourseContentReducer from \"../views/Course-Content/redux/reducer\";\r\nimport CourseQuizReducer from \"../views/Course-Quiz/redux/reducer\";\r\nimport CertificateRegisterReducer from \"../views/Certificates/redux/reducer\";\r\nimport CorporateVouchersRegisterReducer from \"../views/Corporate-Vouchers/redux/reducer\";\r\nimport ThirdPartyFormReducer from \"../views/Third-Party-Form/redux/reducer\";\r\nimport UpdateProfileReducer from \"../views/Update-Profile/redux/reducer\";\r\nimport ChangePasswordReducer from \"../views/Change-Password/redux/reducer\";\r\nimport ForgotPasswordReducer from \"../components/Forgot-Password/redux/reducer\";\r\nimport ResetPasswordReducer from \"../components/Reset-Password/redux/reducer\";\r\nimport NSWReprintReducer from \"../views/NSW-Reprint-Page/redux/reducers\";\r\nimport CorporateTaxInvoiceReducer from \"../views/Corporate-Tax-Invoice/redux/reducers\";\r\nimport CorporateVoucherReducer from \"../views/Coporate-Vouchers/redux/reducer\";\r\nimport PurchaseCorporateVoucherReducer from \"../views/Purchase-Corporate-Vouchers/redux/reducer\";\r\nimport CourseSurveyReducer from \"./../views/Course-Survey/redux/reducer\";\r\nimport CourseCompletedReducer from \"./../views/Course-Completed/redux/reducer\";\r\nimport UsersReducer from \"./../views/Admin/Users/redux/reducers\";\r\nimport UserCoursesReducer from \"./../views/Admin/UserCourses/redux/reducers\";\r\nimport NswCertificateReducer from \"./../views/Admin/Nsw-Certificates/redux/reducers\";\r\nimport NswReprintsViewReducer from \"./../views/Admin/Nsw-Reprints-View/redux/reducers\";\r\nimport PromoCodeReducer from \"./../views/Admin/Promo-Codes/redux/reducers\";\r\nimport AdminVouchersReducer from \"./../views/Admin/View-Voucher-Purchases/redux/reducers\";\r\nimport AdminDownloadReport from \"./../views/Admin/Download-Reports/redux/reducers\";\r\nimport AdminEditCourse from \"./../views/Admin/Edit-User-Course/redux/reducers\";\r\nimport AuthoriseAvsReducer from \"../views/Avetmiss/Authorise-Avs/redux/reducer\";\r\nimport AvetmissReportingReducer from \"../views/Avetmiss/Avetmiss-Reporting/redux/reducer\";\r\nimport AvetmissReportingSubmissionReducer from \"../views/Avetmiss/Avetmiss-Reporting-Submission/redux/reducer\";\r\nimport AvetmissReportingValidationReducer from \"../views/Avetmiss/Avetmiss-Reporting-Validation/redux/reducer\";\r\nimport AvetmissAddressValidationReducer from \"../views/Avetmiss/Avetmiss-Address-Validation/redux/reducer\";\r\nimport SyncCoursesReducer from \"views/Admin/Sync/redux/reducer\";\r\nimport ExternalLearningCourseReducer from \"views/external-learning-course/redux/reducer\";\r\n\r\n/**\r\n * Module reducer registration is per module\r\n */\r\nconst RootReducer = combineReducers({\r\n system: SystemReducer,\r\n templateComponent: TemplateComponentReducer,\r\n courseEnrolment: CourseEnrolmentReducer,\r\n register: RegisterBoxReducer,\r\n contact: ContactBoxReducer,\r\n yourCourses: YourCoursesReducer,\r\n courseContent: CourseContentReducer,\r\n courseQuiz: CourseQuizReducer,\r\n certificateRegister: CertificateRegisterReducer,\r\n corporateVouchersRegister: CorporateVouchersRegisterReducer,\r\n thirdPartyForm: ThirdPartyFormReducer,\r\n updateProfile: UpdateProfileReducer,\r\n changePassword: ChangePasswordReducer,\r\n forgotPassword: ForgotPasswordReducer,\r\n resetPassword: ResetPasswordReducer,\r\n nswReprint: NSWReprintReducer,\r\n corporateTaxInvoice: CorporateTaxInvoiceReducer,\r\n purchaseCorporateVoucher: PurchaseCorporateVoucherReducer,\r\n corporateVouchers: CorporateVoucherReducer,\r\n survey: CourseSurveyReducer,\r\n courseCompleted: CourseCompletedReducer,\r\n users: UsersReducer,\r\n userCourses: UserCoursesReducer,\r\n nswCertificates: NswCertificateReducer,\r\n nswReprintsView: NswReprintsViewReducer,\r\n promoCode: PromoCodeReducer,\r\n adminVouchers: AdminVouchersReducer,\r\n adminDownloadReport: AdminDownloadReport,\r\n adminEditCourse: AdminEditCourse,\r\n authoriseAvs: AuthoriseAvsReducer,\r\n avetmissReporting: AvetmissReportingReducer,\r\n avetmissReportingSubmission: AvetmissReportingSubmissionReducer,\r\n avetmissReportingValidation: AvetmissReportingValidationReducer,\r\n avetmissAddressValidation: AvetmissAddressValidationReducer,\r\n syncCourses: SyncCoursesReducer,\r\n externalLearningCourse: ExternalLearningCourseReducer,\r\n});\r\n\r\nexport default RootReducer;\r\n","/**\r\n * Configure additional middleware here\r\n */\r\nimport { createStore, applyMiddleware, compose } from \"redux\";\r\nimport thunk from \"redux-thunk\";\r\nimport RootReducer from \"./root-reducer\";\r\n\r\nconst ConfigureStore = () => {\r\n let middleware = [thunk];\r\n let enhancers = [applyMiddleware(...middleware)];\r\n\r\n if (\r\n process.env.NODE_ENV === \"development\" &&\r\n typeof window === \"object\" &&\r\n window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__\r\n ) {\r\n enhancers.push(\r\n window.__REDUX_DEVTOOLS_EXTENSION__ &&\r\n window.__REDUX_DEVTOOLS_EXTENSION__()\r\n );\r\n }\r\n\r\n return createStore(RootReducer, compose(...enhancers));\r\n};\r\n\r\nexport default ConfigureStore;\r\n","import { Component } from \"react\";\r\nimport { withRouter } from \"react-router\";\r\n\r\nclass ScrollToTop extends Component {\r\n componentDidUpdate(prevProps) {\r\n if (this.props.location.pathname !== prevProps.location.pathname) {\r\n window.scrollTo(0, 0);\r\n }\r\n }\r\n\r\n render() {\r\n return this.props.children;\r\n }\r\n}\r\n\r\nexport default withRouter(ScrollToTop);\r\n","\r\nconst parseJwt= (token)=> {\r\n let base64Url = token.split('.')[1];\r\n let base64 = base64Url.replace('-', '+').replace('_', '/');\r\n \r\n return JSON.parse(atob(base64));\r\n}\r\n\r\nconst AuthUtils = { parseJwt };\r\nexport default AuthUtils;","/**\r\n * User Claims library\r\n * Create singleton instance\r\n * by rcnet@solvable\r\n *\r\n * Claims Utility methods.\r\n * - Sample below expects ClaimType is equals to ClaimValue, ex. {claimType: 'CanAccessInvoice', claimValue: 'CanAccessInvoice'}.\r\n * - There are times that you the claimType is different than the claimValue, ex. {claimType: 'Rol', claimValue: 'admin'}. Accessing this one is pretty easy,\r\n * just provide the claimType and value in the parameter separated by '==' sign. Refer to Sample Usage #2.\r\n * Sample usage #1:\r\n *\r\n * claimsExist() - accepts a single expected claim parameter to check against current user's claims.\r\n * ex.\r\n * button.disabled = userIdentity.claimsExist('CanAccessProfile') || userIdentity.claimsExist('CanManageProfile')\r\n * button.disabled = userIdentity.claimsExist('CanAccessProfile') && userIdentity.claimsExist('CanManageProfile')\r\n *\r\n * trueForAll() - supplied parameter vs claims checking should be all truthy to say that it is a valid claim.\r\n * ex.\r\n * button.disabled = userIdentity.trueForAll(['CanAccessProfile', 'CanManageProfile'])\r\n *\r\n * any() - performs OR checking of expected claim types against user's claims. If it finds any occurence of expected claims it will considered a thruthy result.\r\n * ex.\r\n * button.disabled = userIdentity.any(['CanAccessProfile', 'CanAccessPayroll'])\r\n *\r\n * Sample usage #2: (Passing a claimType)\r\n *\r\n * trueForAll example.\r\n * button.disabled = userIdentity.trueForAll(['rol==admin','CanAccessProfile', 'CanManageProfile'])\r\n *\r\n * Any example.\r\n * button.disabled = userIdentity.any(['CanAccessProfile', 'CanAccessPayroll', 'rol==NormalUser', 'location==123'])\r\n */\r\nimport Auth from \"../auth/auth\";\r\nimport AuthUtil from \"../auth/authUtil\";\r\n\r\nconst UserIdentity = () => {\r\n // Common Claims\r\n const getFirstName = () => getClaimsValueByType(\"given_name\");\r\n\r\n const getUserId = () => getClaimsValueByType(\"id\");\r\n\r\n const getLastName = () => getClaimsValueByType(\"family_name\");\r\n\r\n const getFullName = () => `${getFirstName()} ${getLastName()}`;\r\n\r\n const getUserName = () => getClaimsValueByType(\"sub\");\r\n\r\n const getRole = () => getClaimsValueByType(\"rol\");\r\n\r\n const getEmail = () => getClaimsValueByType(\"sub\");\r\n\r\n const isAuthenticated = () => Auth.isAuthenticated();\r\n\r\n const hasCourses = () => getClaimsValueByType(\"has_courses\");\r\n\r\n const userType = () => getClaimsValueByType(\"user_type\");\r\n\r\n // -----------------------\r\n // Claims Utility methods\r\n // -----------------------\r\n\r\n /**\r\n * Will return a claim value based on the supply claim type.\r\n * @param {*} claimType\r\n */\r\n const getClaimsValueByType = (claimType) => {\r\n let claims = getClaims();\r\n\r\n return _perfGetClaimsValueByType(claimType, claims);\r\n // let claim = (claims && claims[claimType]);\r\n // return claim ? claim : '';\r\n };\r\n\r\n /**\r\n * Get array of claims\r\n */\r\n const getClaims = () => {\r\n //Todo: Perform debounce here (cache it for 3-5 secs)\r\n let token = Auth.getToken();\r\n if (!token) return null;\r\n return AuthUtil.parseJwt(token);\r\n };\r\n\r\n /**\r\n * Provide either claim type or value\r\n * 1. It will check if the claim is available to this user\r\n * 2. It will check both if the claim type and value are equal\r\n *\r\n * @param {value} value\r\n */\r\n const claimsExist = (value) => {\r\n let path = /==/i;\r\n if (value.match(path)) {\r\n let sValues = value.split(\"==\");\r\n let claim = getClaimsValueByType(sValues[0]);\r\n return claim === sValues[1];\r\n } else {\r\n let claim = getClaimsValueByType(value);\r\n return claim === value;\r\n }\r\n };\r\n\r\n const trueForAll = (expectedClaims) => {\r\n let testResults = [];\r\n expectedClaims.forEach((c) => {\r\n testResults.push(claimsExist(c));\r\n });\r\n\r\n return testResults.every((x) => x === true);\r\n };\r\n\r\n const any = (expectedClaims) => {\r\n const hasAny = expectedClaims.some((c) => {\r\n return claimsExist(c);\r\n });\r\n\r\n return hasAny;\r\n };\r\n\r\n // internal only\r\n const _perfGetClaimsValueByType = (claimType, claims) => {\r\n let claim = claims && claims.hasOwnProperty(claimType);\r\n return claim ? claims[claimType] : \"\";\r\n };\r\n\r\n return {\r\n getFirstName,\r\n getUserId,\r\n getLastName,\r\n getFullName,\r\n getUserName,\r\n isAuthenticated,\r\n hasCourses,\r\n userType,\r\n getRole,\r\n getClaimsValueByType,\r\n getClaims,\r\n claimsExist,\r\n trueForAll,\r\n getEmail,\r\n any,\r\n };\r\n};\r\n\r\nexport default UserIdentity;\r\n","/**\r\n * Login Service\r\n */\r\nimport HttpClient from \"../coreLib/http/httpClient\";\r\nimport Config from \"../config\";\r\nimport Auth from \"../coreLib/auth/auth\";\r\nimport UserIdentity from \"../coreLib/auth/userIdentity\";\r\n\r\nconst LoginService = () => {\r\n let httpClient = HttpClient();\r\n let userIdentity = UserIdentity();\r\n\r\n /**\r\n * Perform local-signin to server\r\n */\r\n const login = (userName, password) => {\r\n const userReqModel = {\r\n UserName: userName,\r\n Password: password,\r\n ClientId: Config.clientId,\r\n GrantType: \"password\",\r\n };\r\n\r\n let promise = new Promise((resolve, reject) => {\r\n httpClient\r\n .post(\"/v1/auth/token\", userReqModel)\r\n .then((resp) => {\r\n Auth.setToken(\r\n resp.data.access_token,\r\n resp.data.refresh_token,\r\n resp.data.expires_in\r\n );\r\n\r\n const user = {\r\n firstName: userIdentity.getFirstName(),\r\n lastName: userIdentity.getLastName(),\r\n id: userIdentity.getUserId(),\r\n email: userIdentity.getEmail(),\r\n userType: userIdentity.userType(),\r\n };\r\n resolve(user);\r\n })\r\n .catch((error) => reject(error));\r\n });\r\n\r\n return promise;\r\n };\r\n\r\n // Note: G-login Not supported yet!\r\n const loginUsingGoogleToken = (idToken) => {\r\n let promise = new Promise((resolve, reject) => {\r\n httpClient\r\n .post(\"/v1/auth/external/google\", {\r\n token: idToken,\r\n })\r\n .then((resp) => {\r\n Auth.setToken(\r\n resp.data.access_token,\r\n resp.data.refresh_token,\r\n resp.data.expires_in\r\n );\r\n\r\n const user = {\r\n firstName: userIdentity.getFirstName(),\r\n lastName: userIdentity.getLastName(),\r\n userType: userIdentity.userType(),\r\n };\r\n resolve(user);\r\n })\r\n .catch((error) => reject(error));\r\n });\r\n\r\n return promise;\r\n };\r\n\r\n const logout = () => {\r\n let promise = new Promise((resolve, reject) => {\r\n try {\r\n Auth.removeToken();\r\n console.info(\"User logout successful\");\r\n resolve(\"User logout successful\");\r\n } catch (ex) {\r\n reject(ex);\r\n }\r\n });\r\n\r\n return promise;\r\n };\r\n\r\n return {\r\n login,\r\n loginUsingGoogleToken,\r\n logout,\r\n };\r\n};\r\n\r\nexport default LoginService;\r\n","export const navLinks = [\r\n {\r\n title: \"Courses\",\r\n link: \"/online-food-safety-training-courses/\",\r\n subLinks: [],\r\n show: true,\r\n },\r\n {\r\n title: \"FAQs\",\r\n link: \"/FAQs/\",\r\n subLinks: [],\r\n show: true,\r\n },\r\n {\r\n title: \"Business\",\r\n link: \"/online-food-safety-training-courses-for-your-business/\",\r\n subLinks: [],\r\n show: true,\r\n },\r\n {\r\n title: \"About\",\r\n link: \"/About-Train-to-Gain/\",\r\n subLinks: [],\r\n show: true,\r\n },\r\n {\r\n title: \"Contact\",\r\n link: \"/Contact-Us/\",\r\n subLinks: [],\r\n show: true,\r\n },\r\n {\r\n title: \"Login\",\r\n link: \"/login/\",\r\n subLinks: [],\r\n show: true,\r\n },\r\n].filter((x) => x.show);\r\n\r\nexport const privateNavLinks = [\r\n {\r\n title: \"Your Courses\",\r\n link: \"/Your-Courses/\",\r\n subLinks: [],\r\n show: true,\r\n roles: [\"Student\"],\r\n },\r\n {\r\n title: \"Your Vouchers\",\r\n link: \"/Corporate/\",\r\n subLinks: [],\r\n show: true,\r\n roles: [\"Business\"],\r\n },\r\n {\r\n title: \"Registers\",\r\n link: \"/Admin/Users/\",\r\n subLinks: [],\r\n show: true,\r\n roles: [\"Admin\"],\r\n },\r\n {\r\n title: \"Courses\",\r\n link: \"/Admin/User-Courses/\",\r\n subLinks: [],\r\n show: true,\r\n roles: [\"Admin\"],\r\n },\r\n {\r\n title: \"Vouchers\",\r\n link: \"/Admin/Voucher-Purchases/\",\r\n subLinks: [],\r\n show: true,\r\n roles: [\"Admin\"],\r\n },\r\n {\r\n title: \"NSW Certs\",\r\n link: \"/Admin/Nsw-Certificates/\",\r\n subLinks: [],\r\n show: true,\r\n roles: [\"Admin\"],\r\n },\r\n {\r\n title: \"NSW Reprints\",\r\n link: \"/Admin/Nsw-Reprints/\",\r\n subLinks: [],\r\n show: true,\r\n roles: [\"Admin\"],\r\n },\r\n {\r\n title: \"Reports\",\r\n link: \"/Admin/Download-Reports\",\r\n subLinks: [],\r\n show: true,\r\n roles: [\"Admin\"],\r\n },\r\n {\r\n title: \"Promo\",\r\n link: \"/Admin/Promo-Codes/\",\r\n subLinks: [],\r\n show: true,\r\n roles: [\"Admin\"],\r\n },\r\n {\r\n title: \"Avetmiss\",\r\n link: \"/Admin/Avetmiss/Reporting/\",\r\n subLinks: [],\r\n show: true,\r\n roles: [\"Admin\"],\r\n },\r\n {\r\n title: \"Sync\",\r\n link: \"/Admin/Sync\",\r\n subLinks: [],\r\n show: true,\r\n roles: [\"Admin\"],\r\n },\r\n {\r\n title: \"FAQs\",\r\n link: \"/FAQs/\",\r\n subLinks: [],\r\n show: true,\r\n roles: [\"Student\"],\r\n },\r\n {\r\n title: \"Contact\",\r\n link: \"/Contact-Us/\",\r\n subLinks: [],\r\n show: true,\r\n roles: [\"Student\"],\r\n },\r\n {\r\n title: \"FAQs\",\r\n link: \"/FAQs/\",\r\n subLinks: [],\r\n show: true,\r\n roles: [\"Business\"],\r\n },\r\n {\r\n title: \"Contact\",\r\n link: \"/Contact-Us/\",\r\n subLinks: [],\r\n show: true,\r\n roles: [\"Business\"],\r\n },\r\n].filter((x) => x.show);\r\n\r\nexport const testimonials = [\r\n \"Bakers-Delight.jpg\",\r\n \"Boost.jpg\",\r\n \"Comcater.jpg\",\r\n \"Community-Solutions.jpg\",\r\n \"Costco.jpg\",\r\n \"Crust.jpg\",\r\n \"Dept-of-Defence.jpg\",\r\n \"Employment-Innovations.jpg\",\r\n \"Global-Food-Equipment.jpg\",\r\n \"Gloria-Jeans.jpg\",\r\n \"Laundry-Hotels.jpg\",\r\n \"Mission-Australia.jpg\",\r\n \"Nandos.jpg\",\r\n \"Ozcare.jpg\",\r\n \"Palace-Cinemas.jpg\",\r\n \"Pancake-Parlour.jpg\",\r\n \"Quest-Hotels.jpg\",\r\n \"Ramsay.jpg\",\r\n \"Regis.jpg\",\r\n \"Ribs-and-Burgers.jpg\",\r\n \"Sarino-Russo.jpg\",\r\n \"Sodexo.jpg\",\r\n \"Spudbar.jpg\",\r\n \"Stix-Catering.jpg\",\r\n \"Subway.jpg\",\r\n \"Sunkids.jpg\",\r\n \"United-Petroleum.jpg\",\r\n \"Urban.jpg\",\r\n \"Yogurtland.jpg\",\r\n];\r\n\r\nexport const customerTestimonials = [\r\n {\r\n testimonial: \"Fantastic customer service and phone support when needed.\",\r\n name: \"Sarah J\",\r\n },\r\n {\r\n testimonial: \"It’s flexible online learning I could do at my own pace.\",\r\n name: \"Christine N\",\r\n },\r\n {\r\n testimonial:\r\n \"Gave me the knowledge and the confidence to start my new job.\",\r\n name: \"Leah A\",\r\n },\r\n {\r\n testimonial:\r\n \"This was much more accessible for me living in a small rural town.\",\r\n name: \"Amy M\",\r\n },\r\n {\r\n testimonial:\r\n \"Explaining with video tutorials was interesting and informative.\",\r\n name: \"Rohan P\",\r\n },\r\n {\r\n testimonial: \"Training resources were available when I needed them.\",\r\n name: \"Li Jun F\",\r\n },\r\n {\r\n testimonial:\r\n \"I had the ability to look at the course guide and re-learn if I didn’t retain the information the first time.\",\r\n name: \"Karmara H\",\r\n },\r\n {\r\n testimonial:\r\n \"The videos and case studies were great and a practical way to learn.\",\r\n name: \"Chona E\",\r\n },\r\n {\r\n testimonial:\r\n \"Very concise information about each step that made it easy to understand.\",\r\n name: \"Jaseema M\",\r\n },\r\n {\r\n testimonial:\r\n \"Engaging delivery, practical examples, comprehensive content.\",\r\n name: \"Darwood L\",\r\n },\r\n {\r\n testimonial: \"Following the steps to enrol and start the course was easy.\",\r\n name: \"John T\",\r\n },\r\n];\r\n\r\n// eslint-disable-next-line\r\nexport const emailRegex = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n\r\nexport const googleApiKey = \"AIzaSyDkUvfSQ1Xd1RMdaQqNe8SOaWSNtyU2Uow\";\r\n\r\nexport const australianStates = [\r\n { value: \"ACT\", label: \"Australia Capital Territory\" },\r\n { value: \"NSW\", label: \"New South Wales\" },\r\n { value: \"NT\", label: \"Northern Territory\" },\r\n { value: \"QLD\", label: \"Queensland\" },\r\n { value: \"SA\", label: \"South Australia\" },\r\n { value: \"TAS\", label: \"Tasmania\" },\r\n { value: \"VIC\", label: \"Victoria\" },\r\n { value: \"WA\", label: \"Western Australia\" },\r\n];\r\n\r\nexport const userTypes = [\r\n { value: 1, label: \"Admin\" },\r\n { value: 2, label: \"Student\" },\r\n { value: 3, label: \"Business\" },\r\n];\r\n\r\nexport const reportTypes = [\r\n { value: 0, label: \"Users\", order: 1 },\r\n { value: 1, label: \"Course Completions\", order: 4 },\r\n { value: 2, label: \"Course Enrolments\", order: 5 },\r\n { value: 3, label: \"NSW Certificates\", order: 6 },\r\n { value: 4, label: \"Voucher Purchases\", order: 8 },\r\n { value: 5, label: \"Unused Vouchers\", order: 9 },\r\n { value: 6, label: \"Quiz Responses\", order: 10 },\r\n { value: 7, label: \"Survey Responses\", order: 11 },\r\n { value: 8, label: \"NSW Reprints\", order: 7 },\r\n { value: 9, label: \"Course Completions Summary\", order: 2 },\r\n { value: 10, label: \"Course Enrolments Summary\", order: 3 },\r\n];\r\n","/**\r\n * Login Impersonation Service\r\n */\r\nimport HttpClient from \"../coreLib/http/httpClient\";\r\nimport Config from \"../config\";\r\nimport Auth from \"../coreLib/auth/auth\";\r\nimport UserIdentity from \"../coreLib/auth/userIdentity\";\r\n\r\nconst LoginImpersonationService = () => {\r\n let httpClient = HttpClient();\r\n let userIdentity = UserIdentity();\r\n\r\n /**\r\n * Impersonate login using token provided by server\r\n */\r\n const impersonateLogin = (userId, token) => {\r\n let promise = new Promise((resolve, reject) => {\r\n httpClient\r\n .post(`/v1/auth/admin/${userId}/token`, { token })\r\n .then((resp) => {\r\n Auth.setToken(\r\n resp.data.access_token,\r\n resp.data.refresh_token,\r\n resp.data.expires_in\r\n );\r\n\r\n const user = {\r\n firstName: userIdentity.getFirstName(),\r\n lastName: userIdentity.getLastName(),\r\n id: userIdentity.getUserId(),\r\n email: userIdentity.getEmail(),\r\n userType: userIdentity.userType(),\r\n };\r\n resolve(user);\r\n })\r\n .catch((error) => reject(error));\r\n });\r\n\r\n return promise;\r\n };\r\n\r\n return {\r\n impersonateLogin,\r\n };\r\n};\r\n\r\nexport default LoginImpersonationService;\r\n","/**\r\n * System-wide Action Creator definitions\r\n */\r\nimport { ActionTypes } from \"./system-action-types\";\r\nimport LoginService from \"../../services/login-service\";\r\nimport * as Constants from \"../../constants\";\r\nimport UserIdentity from \"./../../coreLib/auth/userIdentity\";\r\nimport ErrorService from \"./../../coreLib/error/errorService\";\r\nimport LoginImpersonationService from \"./../../services/login-impersonation-service\";\r\n\r\n// =================\r\n// Notifications\r\n// =================\r\nexport function addNotification(message, level) {\r\n return {\r\n type: ActionTypes.SYS_ADD_NOTIFICATION,\r\n message,\r\n level,\r\n };\r\n}\r\n\r\n/*\r\n error - Error object from the api response\r\n defaultErrorMessage - fallback error message (defined by the user)\r\n*/\r\nexport function addErrorNotification(error, defaultErrorMessage) {\r\n let errorMessage =\r\n error &&\r\n error.response &&\r\n error.response.status &&\r\n error.response.status === 500\r\n ? error.response.data.Message\r\n : error.response.status === 400 && error.response.data.Message\r\n ? error.response.data.Message\r\n : error.message\r\n ? error.message\r\n : defaultErrorMessage\r\n\r\n return {\r\n type: ActionTypes.SYS_ADD_ERROR_NOTIFICATION,\r\n message: errorMessage,\r\n level: 'error',\r\n }\r\n}\r\n\r\n\r\n// =================\r\n// Login\r\n// =================\r\n\r\n// Async\r\nexport const onLogin = (username, password, returnUrl, historyObj) => {\r\n return (dispatch) => {\r\n if (!username || username === undefined || username === \"\") {\r\n dispatch(addNotification(\"Please enter your email address.\", \"warning\"));\r\n return;\r\n }\r\n\r\n if (!Constants.emailRegex.test(username)) {\r\n dispatch(\r\n addNotification(\"Please enter a valid email address.\", \"warning\")\r\n );\r\n return;\r\n }\r\n\r\n if (!password || password === undefined || password === \"\") {\r\n dispatch(addNotification(\"Please enter your password.\", \"warning\"));\r\n return;\r\n }\r\n\r\n const loginService = LoginService();\r\n\r\n dispatch(onLoginRequest());\r\n\r\n loginService\r\n .login(username, password)\r\n .then((resp) => {\r\n dispatch(onLoginSuccess(resp));\r\n handleLoginRedirects(returnUrl, historyObj);\r\n })\r\n .catch((error) => {\r\n dispatch(onLoginFailure());\r\n if (error.response.data && error.response.data.invalid_grant) {\r\n dispatch(\r\n addNotification(error.response.data.invalid_grant[0], \"error\")\r\n );\r\n } else {\r\n dispatch(\r\n addNotification(\"Could not connect to the server.\", \"error\")\r\n );\r\n }\r\n });\r\n };\r\n};\r\n\r\nconst getRedirectUrl = (returnUrl) => {\r\n let redirectTo = returnUrl;\r\n if (returnUrl === \"/\") {\r\n let userIdent = UserIdentity();\r\n let role = userIdent.getRole();\r\n switch (role) {\r\n case \"Admin\":\r\n redirectTo = \"/admin/users\";\r\n break;\r\n case \"Student\":\r\n redirectTo = \"/your-courses\";\r\n break;\r\n case \"Business\":\r\n redirectTo = \"/corporate\";\r\n break;\r\n default:\r\n redirectTo = \"/your-courses\";\r\n }\r\n }\r\n\r\n return redirectTo;\r\n};\r\n\r\nconst handleLoginRedirects = (returnUrl, historyObj) => {\r\n let redirectToUrl = getRedirectUrl(returnUrl);\r\n historyObj.push(redirectToUrl);\r\n};\r\n\r\nconst onLoginRequest = () => ({\r\n type: ActionTypes.SYS_LOGIN_REQUEST,\r\n});\r\n\r\nexport const onLoginSuccess = (user) => ({\r\n type: ActionTypes.SYS_LOGIN_SUCCESS,\r\n payload: {\r\n firstName: user.firstName,\r\n lastName: user.lastName,\r\n id: user.id,\r\n email: user.email,\r\n userType: user.userType,\r\n },\r\n});\r\n\r\nconst onLoginFailure = () => ({\r\n type: ActionTypes.SYS_LOGIN_FAILURE,\r\n});\r\n\r\nexport const onLogout = (logoutRedirectUrl, historyObj) => {\r\n return (dispatch) => {\r\n dispatch(onLogoutRequest());\r\n\r\n const loginService = LoginService();\r\n\r\n loginService\r\n .logout()\r\n .then((resp) => {\r\n dispatch(onLogoutSuccess());\r\n historyObj.push(logoutRedirectUrl);\r\n })\r\n .catch((error) => {\r\n dispatch(onLogoutFailure());\r\n });\r\n };\r\n};\r\n\r\nconst onLogoutRequest = () => ({\r\n type: ActionTypes.SYS_LOGOUT_REQUEST,\r\n});\r\nconst onLogoutSuccess = () => ({\r\n type: ActionTypes.SYS_LOGOUT_SUCCESS,\r\n});\r\n\r\nconst onLogoutFailure = () => ({\r\n type: ActionTypes.SYS_LOGOUT_FAILURE,\r\n});\r\n\r\nexport const onLoginInputChange = (name, value, error) => ({\r\n type: ActionTypes.SYS_LOGIN_FORM_INPUT_CHANGE,\r\n payload: {\r\n name: name,\r\n value: value,\r\n error: error,\r\n },\r\n});\r\n\r\nexport const loadUserIdentityState = (userInfo) => ({\r\n type: ActionTypes.SYS_LOGIN_USER_LOAD_IDENTITY_STATE,\r\n payload: {\r\n ...userInfo,\r\n },\r\n});\r\n\r\n// =============================================\r\n// Login Impersonation\r\n// =============================================\r\n\r\n// Async\r\nexport const onImpersonateLogin = (userId, token, historyObj) => {\r\n return (dispatch) => {\r\n const service = LoginImpersonationService();\r\n\r\n dispatch(onLoginImpersonationRequest());\r\n\r\n service\r\n .impersonateLogin(userId, token)\r\n .then((resp) => {\r\n let redirectToUrl = getRedirectUrl(\"/\");\r\n dispatch(onLoginImpersonationSuccess(resp, redirectToUrl));\r\n })\r\n .catch((error) => {\r\n dispatch(onLoginImpersonationFailure());\r\n if (error.response.data && error.response.data.invalid_grant) {\r\n dispatch(\r\n addNotification(error.response.data.invalid_grant[0], \"error\")\r\n );\r\n } else {\r\n dispatch(\r\n addNotification(\"Could not connect to the server.\", \"error\")\r\n );\r\n }\r\n });\r\n };\r\n};\r\n\r\nexport const loginImpersonationInit = () => ({\r\n type: ActionTypes.SYS_LOGIN_IMPERSONATION_INIT,\r\n});\r\n\r\nconst onLoginImpersonationRequest = () => ({\r\n type: ActionTypes.SYS_LOGIN_IMPERSONATION_REQUEST,\r\n});\r\n\r\nconst onLoginImpersonationSuccess = (user, url) => ({\r\n type: ActionTypes.SYS_LOGIN_IMPERSONATION_SUCCESS,\r\n payload: {\r\n firstName: user.firstName,\r\n lastName: user.lastName,\r\n id: user.id,\r\n email: user.email,\r\n redirectToUrl: url,\r\n userType: user.userType,\r\n },\r\n});\r\n\r\nconst onLoginImpersonationFailure = () => ({\r\n type: ActionTypes.SYS_LOGIN_IMPERSONATION_FAILURE,\r\n});\r\n\r\n// =============================================\r\n// Handle Error\r\n// (Just in case we need Popup error handler)\r\n// =============================================\r\nexport const handleError = (error) => {\r\n return (dispatch) => {\r\n const errorService = ErrorService();\r\n\r\n //dispatch(resetPasswordRequest());\r\n errorService\r\n .resolveError(error)\r\n .then((resp) => {\r\n dispatch(showErrorForm(resp));\r\n })\r\n .catch((err) => {\r\n dispatch(hideErrorForm());\r\n });\r\n };\r\n};\r\n\r\nconst showErrorForm = (data) => ({\r\n type: ActionTypes.SYS_HANDLE_ERROR_SHOW_FORM,\r\n payload: {\r\n message: data.message,\r\n error: data.error,\r\n isModelState: data.isModelState,\r\n status: data.status,\r\n },\r\n});\r\n\r\nexport const hideErrorForm = () => ({\r\n type: ActionTypes.SYS_HANDLE_ERROR_HIDE_FORM,\r\n});\r\n","/**\r\n * Toast Notification\r\n */\r\nimport React, { Component } from \"react\";\r\nimport { ToastContainer, toast } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\n\r\nclass ToastNotification extends Component {\r\n componentWillReceiveProps(newProps) {\r\n let { message, level } = newProps.notification;\r\n if (!level || level === undefined) level = \"success\";\r\n\r\n switch (level.toLowerCase()) {\r\n case \"error\":\r\n toast.error(message);\r\n break;\r\n case \"warning\":\r\n toast.error(message);\r\n break;\r\n default:\r\n toast.success(message);\r\n break;\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default ToastNotification;\r\n","import { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport { addNotification } from \"../../../redux/system/system-action-creators\";\r\nimport { selectNotificationData } from \"../../../redux/system/notification-reducer\";\r\nimport ToastNotification from \"./Toast-Notification\";\r\n\r\nfunction mapStateToProps(state) {\r\n const notification = selectNotificationData(state);\r\n\r\n return {\r\n notification: notification\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators(\r\n {\r\n addNotification\r\n },\r\n dispatch\r\n )\r\n };\r\n}\r\n\r\nconst ToastNotificationContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(ToastNotification);\r\n\r\nexport default ToastNotificationContainer;\r\n","/**\r\n * ButtonFx\r\n * - Progress spinner feature\r\n * rcnet @Solvable 5.5.2019\r\n *\r\n * props exposed:\r\n * - onClick = event onClick\r\n * - isLoading = true or false (spinner hide/show)\r\n * - name = button name\r\n * - targetName = name of button to trigger loading spinner\r\n * - color = refer to reacstrap button colors\r\n */\r\nimport React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Button } from \"reactstrap\";\r\nimport { css } from \"@emotion/core\";\r\nimport { BeatLoader } from \"react-spinners\";\r\n\r\nconst override = css`\r\n display: block;\r\n margin: 0 auto;\r\n border-color: red;\r\n margin-top: 5px;\r\n`;\r\n\r\nconst ButtonFx = props => {\r\n const {\r\n isLoading,\r\n targetName,\r\n //color,\r\n name,\r\n onClick,\r\n size,\r\n round,\r\n icon,\r\n disabled\r\n } = props;\r\n const loadSpinner =\r\n (targetName === props.name || targetName === \"\") && isLoading;\r\n\r\n return (\r\n // \r\n );\r\n};\r\n\r\nButtonFx.propTypes = {\r\n //color: PropTypes.string,\r\n type: PropTypes.string,\r\n isLoading: PropTypes.bool,\r\n name: PropTypes.string,\r\n targetName: PropTypes.string,\r\n size: PropTypes.string,\r\n round: PropTypes.string,\r\n icon: PropTypes.string,\r\n onClick: PropTypes.func\r\n};\r\n\r\nButtonFx.defaultProps = {\r\n //color: \"primary\",\r\n type: \"button\",\r\n name: \"fxButton\",\r\n targetName: \"\",\r\n isLoading: false,\r\n size: \"md\",\r\n round: \"true\",\r\n icon: \"false\"\r\n};\r\n\r\nexport default ButtonFx;\r\n","/**\r\n * Basic Modal\r\n * Type: Presentational Component\r\n *\r\n * Exposed Props:\r\n * - isOpen\r\n * - toggle\r\n * - className\r\n * - title\r\n * - isLoading\r\n * - showCancel\r\n * - cancelButtonText\r\n * - okButtonText\r\n * - disableOkButton\r\n *\r\n * rcnet @solvable 2019\r\n */\r\nimport React from \"react\";\r\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\";\r\nimport PropTypes from \"prop-types\";\r\nimport ButtonFx from \"../Button-Fx/Button-Fx\";\r\n\r\nconst BasicModal = (props) => (\r\n \r\n props.toggle(\"cancel\")}>\r\n {props.title}\r\n \r\n {props.children}\r\n \r\n {props.showOk ? (\r\n props.toggle(\"ok\")}\r\n >\r\n {props.okButtonText ? props.okButtonText : \"Ok\"}\r\n \r\n ) : null}{\" \"}\r\n {props.showCancel ? (\r\n props.toggle(\"cancel\")}\r\n disabled={props.isLoading}\r\n >\r\n {props.cancelButtonText ? props.cancelButtonText : \"Cancel\"}\r\n \r\n ) : null}\r\n \r\n \r\n);\r\n\r\nBasicModal.propTypes = {\r\n backdrop: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf([\"static\"])]),\r\n size: PropTypes.string,\r\n showCancel: PropTypes.bool,\r\n disableOkButton: PropTypes.bool,\r\n};\r\n\r\nBasicModal.defaultProps = {\r\n backdrop: \"static\",\r\n size: \"md\",\r\n showOk: true,\r\n showCancel: true,\r\n disableOkButton: false,\r\n};\r\n\r\nexport default BasicModal;\r\n","/**\r\n * Error Modal\r\n * Another flavor of Modal dialog\r\n * \r\n * Properties exposed:\r\n * - title\r\n * - isModalOpen\r\n * - onButtonClick\r\n * - isModelStateError\r\n * \r\n */\r\nimport React from 'react';\r\nimport { Row, Col } from 'reactstrap';\r\nimport BasicModal from '../Basic-Modal/Basic-Modal';\r\n\r\nconst ErrorModal = (props) => (\r\n \r\n \r\n \r\n

\r\n \r\n

\r\n \r\n \r\n {props.message}\r\n {/* {props.children} */}\r\n \r\n
\r\n
\r\n);\r\n\r\nexport default ErrorModal;","import { connect } from 'react-redux';\r\nimport ErrorModal from './Error-Modal';\r\nimport * as actionCreators from '../../../redux/system/system-action-creators';\r\nimport { selectErrorNotification } from '../../../redux/system/error-notification-reducer';\r\n\r\nfunction mapStateToProps(state) {\r\n const stateData = selectErrorNotification(state);\r\n\r\n return {\r\n title: stateData.title,\r\n message: stateData.message,\r\n isModalOpen: stateData.isModalOpen,\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => (\r\n {\r\n onButtonClick: (e) => {\r\n dispatch(actionCreators.hideErrorForm());\r\n },\r\n });\r\n\r\nconst ErrorModalContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(ErrorModal);\r\n\r\nexport default ErrorModalContainer;","/**\r\n * Reducer function to manage the state of the priority navigation component.\r\n * Handles actions for moving items between the main nav and dropdown (move, return).\r\n *\r\n * State includes children (nav items), dropdownItems, and lastItemWidth.\r\n *\r\n * Adam Luck - Solvable - 2024-06-29\r\n */\r\n\r\nexport function reducer(state, action) {\r\n switch (action.type) {\r\n case \"update\":\r\n const initialChildren = action.payload.initialChildren ?? [];\r\n\r\n return {\r\n ...state,\r\n children: [...initialChildren],\r\n dropdownItems: [],\r\n lastItemWidth: [],\r\n };\r\n\r\n case \"move\":\r\n const lastChild = state.children[state.children.length - 1];\r\n const children = state.children.slice(0, -1);\r\n\r\n return {\r\n ...state,\r\n children,\r\n dropdownItems: [lastChild, ...state.dropdownItems],\r\n ...(action.payload.lastItem && {\r\n lastItemWidth: [\r\n ...state.lastItemWidth,\r\n action.payload.lastItem.clientWidth,\r\n ],\r\n }),\r\n };\r\n\r\n case \"return\":\r\n const [firstItemFromList, ...dropdownItems] = state.dropdownItems;\r\n const lastItemWidth =\r\n state.lastItemWidth.length > 0\r\n ? [...state.lastItemWidth].slice(0, -1)\r\n : [];\r\n\r\n return {\r\n children: [...state.children, firstItemFromList],\r\n dropdownItems,\r\n lastItemWidth,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { useCallback } from \"react\";\r\n\r\nconst useScrollToSection = () => {\r\n return useCallback((sectionId, scrollOffset = 0) => {\r\n if (!sectionId) return;\r\n\r\n const element = document.getElementById(sectionId);\r\n if (element) {\r\n const elementPosition =\r\n element.getBoundingClientRect().top + window.scrollY;\r\n const scrollPosition = elementPosition + scrollOffset;\r\n\r\n window.scrollTo({\r\n top: scrollPosition,\r\n behavior: \"smooth\",\r\n });\r\n }\r\n }, []);\r\n};\r\n\r\nexport default useScrollToSection;\r\n","/**\r\n * Utility functions to support the solvable-priority-nav component.\r\n * Includes logic to determine if items fit in the navigation bar and to move items between the main nav and dropdown.\r\n *\r\n * Uses lodash.debounce to optimize resize handling.\r\n *\r\n * Functions: doesItFit (handles item fitting logic), getClassName (concatenates custom and default class names).\r\n *\r\n * Dependencies: lodash (for debounce).\r\n * Adam Luck - Solvable - 2024-06-29\r\n */\r\n\r\nimport { debounce } from \"lodash\";\r\n\r\nconst moveItemToList = (dispatch, items, state) => {\r\n dispatch({\r\n type: \"move\",\r\n payload: {\r\n lastItem: items.get(state.children.length - 1),\r\n },\r\n });\r\n};\r\n\r\nconst moveItemToNav = (dispatch) => {\r\n dispatch({\r\n type: \"return\",\r\n });\r\n};\r\n\r\nexport const doesItFit = (\r\n nav,\r\n outerNav,\r\n state,\r\n items,\r\n dispatch,\r\n offset,\r\n debounceMs\r\n) => {\r\n const debouncedFunction = debounce(() => {\r\n if (nav.current && outerNav.current) {\r\n const outerWidth = outerNav.current.offsetWidth;\r\n const totalWidth = nav.current.offsetWidth;\r\n\r\n if (state.children.length > 0 && totalWidth > outerWidth)\r\n moveItemToList(dispatch, items, state);\r\n else if (\r\n state.dropdownItems.length > 0 &&\r\n outerWidth >\r\n totalWidth +\r\n state.lastItemWidth[state.lastItemWidth.length - 1] +\r\n (offset || 0)\r\n )\r\n moveItemToNav(dispatch);\r\n }\r\n }, debounceMs);\r\n\r\n return debouncedFunction;\r\n};\r\n\r\nexport const getClassName = (className, customClassName) => {\r\n return customClassName ? `${className} ${customClassName}` : className;\r\n};\r\n","/**\r\n * ForwardRefDiv component to create a div element with forwarded ref and custom className.\r\n * Adam Luck - Solvable - 2024-06-29\r\n */\r\n\r\nimport React, { forwardRef } from \"react\";\r\n\r\nconst ForwardRefDiv = forwardRef((props, ref) => (\r\n
\r\n));\r\n\r\nexport default React.memo(ForwardRefDiv);\r\n","import React from \"react\";\r\n\r\nexport const DefaultIcon = () => (\r\n \r\n \r\n \r\n);\r\n","/**\r\n * Toggle button component for the dropdown menu in the priority navigation.\r\n * Uses DefaultIcon if no children are provided.\r\n * Adam Luck - Solvable - 2024-06-29\r\n */\r\n\r\nimport React from \"react\";\r\nimport { DefaultIcon } from \"./toggle-button-icon\";\r\n\r\nconst ToggleButton = (props) => (\r\n
\r\n {props.children || }\r\n
\r\n);\r\n\r\nexport default React.memo(ToggleButton);\r\n","/**\r\n * Priority navigation component with responsive design.\r\n * Creates a navigation bar with priority items and a dropdown menu for overflow items.\r\n *\r\n * Uses refs, custom hooks, and reducers for handling dynamic resizing and state management.\r\n *\r\n * Props include offset, debounceMs, navItems, logo, logoUrl, logoAltText, priorityNavClassName, toggleButtonIcon, useActiveRouteStyle, wrapInsideHeaderElement, sticky and stickyScrollTriggerValue.\r\n *\r\n * Dependencies: React, react-router-dom, prop-types, local utility functions and components, and a SCSS file for styling.\r\n * Adam Luck - Solvable - 2024-06-29\r\n * Adam Luck - Solvable - Updated 2024-08-13 to add useActiveRouteStyle prop and functionality.\r\n * Adam Luck - Solvable - Updated 2024-10-12 to add smooth scrolling # link functionality.\r\n * Adam Luck - Solvable - Updated 2024-10-13 to add sticky functionality.\r\n */\r\n\r\nimport React, {\r\n useEffect,\r\n useState,\r\n useRef,\r\n useReducer,\r\n useCallback,\r\n useMemo,\r\n} from \"react\";\r\nimport { Link, useLocation } from \"react-router-dom\";\r\nimport { useHistory } from \"react-router\";\r\nimport PropTypes from \"prop-types\";\r\nimport { reducer } from \"./reducers/reducer\";\r\nimport { useResizeObserve } from \"./hooks/use-resize-observe\";\r\nimport useScrollToSection from \"./hooks/use-scroll-to-section\";\r\nimport { renderNavItem } from \"./utils/render-nav-item\";\r\nimport { doesItFit, getClassName } from \"./utils/priority-nav-utils\";\r\nimport ForwardRefDiv from \"./components/forward-ref-div\";\r\nimport ToggleButton from \"./components/toggle-button\";\r\nimport \"./solvable-priority-nav.scss\";\r\n\r\nconst initialState = {\r\n children: [],\r\n dropdownItems: [],\r\n lastItemWidth: [],\r\n};\r\n\r\nconst PriorityNav = ({\r\n children,\r\n offset = 0,\r\n debounceMs = 0,\r\n navItems = [],\r\n logo,\r\n logoUrl,\r\n logoAltText = \"\",\r\n priorityNavClassName,\r\n toggleButtonIcon,\r\n useActiveRouteStyle = false,\r\n wrapInsideHeaderElement = true,\r\n sticky = false,\r\n stickyScrollTriggerValue = 0,\r\n stickyClassNamesByRoute = {},\r\n}) => {\r\n const location = useLocation();\r\n const history = useHistory();\r\n\r\n const priorityNavRef = useRef(null);\r\n const outerNav = useRef(null);\r\n const nav = useRef(null);\r\n const dropDownNav = useRef(null);\r\n const items = useRef(new Map()).current;\r\n\r\n const outerNavWidth = useResizeObserve(outerNav);\r\n\r\n const getStickyScrollTriggerValue = useCallback(() => {\r\n const currentRoute = location.pathname;\r\n const routeClasses = stickyClassNamesByRoute[currentRoute] || {};\r\n const stickyOffset =\r\n routeClasses.scrollTriggerValue || stickyScrollTriggerValue;\r\n\r\n return stickyOffset;\r\n }, [location.pathname, stickyClassNamesByRoute, stickyScrollTriggerValue]);\r\n\r\n const [isDropDownOpen, setIsDropDownOpen] = useState(false);\r\n const [isScrolled, setIsScrolled] = useState(\r\n window.scrollY >= getStickyScrollTriggerValue()\r\n );\r\n const [state, dispatch] = useReducer(reducer, initialState);\r\n\r\n const scrollToSection = useScrollToSection();\r\n\r\n const handleToggleClick = useCallback(() => {\r\n setIsDropDownOpen(!isDropDownOpen);\r\n }, [isDropDownOpen]);\r\n\r\n const handleLinkClick = useCallback(() => {\r\n setIsDropDownOpen(false);\r\n }, []);\r\n\r\n const handleHashNavigation = useCallback(\r\n (link) => {\r\n if (link.startsWith(\"/\") && link.includes(\"#\")) {\r\n const [pathname, hash] = link.split(\"#\");\r\n\r\n const scrollOffset = sticky\r\n ? -priorityNavRef.current?.clientHeight ?? 0\r\n : 0;\r\n\r\n if (location.pathname === pathname) {\r\n // If already on the target page, just scroll\r\n scrollToSection(hash, scrollOffset);\r\n } else {\r\n // Navigate to the page, and then scroll once there\r\n history.push(pathname);\r\n\r\n // Delay scrolling to allow for page navigation\r\n setTimeout(() => {\r\n scrollToSection(hash, scrollOffset);\r\n }, 100);\r\n }\r\n } else if (link.startsWith(\"#\")) {\r\n // Handle in-page anchor links\r\n const scrollOffset = sticky\r\n ? -priorityNavRef.current?.clientHeight ?? 0\r\n : 0;\r\n\r\n scrollToSection(link.substring(1), scrollOffset);\r\n } else {\r\n // Handle normal navigation without a hash\r\n history.push(link);\r\n }\r\n setIsDropDownOpen(false);\r\n },\r\n [history, location.pathname, scrollToSection, sticky]\r\n );\r\n\r\n const handleClickOutsideDropDown = useCallback((event) => {\r\n if (\r\n outerNav.current &&\r\n !outerNav.current.contains(event.target) &&\r\n dropDownNav.current &&\r\n !dropDownNav.current.contains(event.target)\r\n ) {\r\n setIsDropDownOpen(false);\r\n }\r\n }, []);\r\n\r\n const childrenFromNavItems = useMemo(() => {\r\n if (navItems.length === 0) return null;\r\n\r\n return navItems.map((item, i) =>\r\n renderNavItem(item, i, handleLinkClick, handleHashNavigation)\r\n );\r\n }, [handleLinkClick, handleHashNavigation, navItems]);\r\n\r\n const memoizedChildren = useMemo(() => {\r\n return children !== undefined ? children : childrenFromNavItems;\r\n }, [children, childrenFromNavItems]);\r\n\r\n const logoObj = useMemo(() => {\r\n if (!logoUrl && logo) return logo;\r\n if (logoUrl)\r\n return (\r\n \r\n {logoAltText}\r\n \r\n );\r\n }, [logo, logoUrl, logoAltText]);\r\n\r\n useEffect(() => {\r\n const fitHandler = doesItFit(\r\n nav,\r\n outerNav,\r\n state,\r\n items,\r\n dispatch,\r\n offset,\r\n debounceMs\r\n );\r\n fitHandler();\r\n }, [\r\n state.children,\r\n state.dropdownItems,\r\n outerNavWidth,\r\n state,\r\n items,\r\n offset,\r\n debounceMs,\r\n ]);\r\n\r\n useEffect(() => {\r\n if (isDropDownOpen)\r\n document.addEventListener(\"mousedown\", handleClickOutsideDropDown);\r\n else document.removeEventListener(\"mousedown\", handleClickOutsideDropDown);\r\n\r\n return () => {\r\n document.removeEventListener(\"mousedown\", handleClickOutsideDropDown);\r\n };\r\n }, [handleClickOutsideDropDown, isDropDownOpen]);\r\n\r\n useEffect(() => {\r\n // Scroll event listener to track if the page is scrolled\r\n\r\n const handleScroll = () => {\r\n setIsScrolled(window.scrollY > getStickyScrollTriggerValue());\r\n };\r\n\r\n window.addEventListener(\"scroll\", handleScroll);\r\n\r\n return () => {\r\n window.removeEventListener(\"scroll\", handleScroll);\r\n };\r\n }, [getStickyScrollTriggerValue]);\r\n\r\n const locationDependency = useActiveRouteStyle ? location.pathname : null;\r\n\r\n useEffect(() => {\r\n dispatch({\r\n type: \"update\",\r\n payload: {\r\n initialChildren: memoizedChildren,\r\n },\r\n });\r\n }, [children, childrenFromNavItems, memoizedChildren, locationDependency]);\r\n\r\n const trimTrailingSlash = (str) => {\r\n return str.endsWith(\"/\") && str.length > 1 ? str.slice(0, -1) : str;\r\n };\r\n\r\n const normalizePath = (str) => {\r\n return trimTrailingSlash(str).toLowerCase();\r\n };\r\n\r\n const getHeaderClassNames = () => {\r\n const currentRoute = location.pathname;\r\n const routeClasses = stickyClassNamesByRoute[currentRoute] || {};\r\n const topClass = routeClasses.top || \"header-top\";\r\n const stickyClass = routeClasses.sticky || \"header-sticky\";\r\n\r\n return isScrolled ? stickyClass : topClass;\r\n };\r\n\r\n const priorityNavObj = useMemo(() => {\r\n return (\r\n \r\n {logoObj}\r\n
\r\n \r\n \r\n {state.children.map((child, i) => {\r\n const isActiveRoute =\r\n useActiveRouteStyle &&\r\n child.props &&\r\n normalizePath(child.props.to) ===\r\n normalizePath(location.pathname);\r\n\r\n return (\r\n {\r\n if (e) items.set(i, e);\r\n }}\r\n className={getClassName(\r\n \"priority-nav-item\",\r\n isActiveRoute ? \"priority-nav-item-active\" : null\r\n )}\r\n key={i}\r\n >\r\n {child}\r\n \r\n );\r\n })}\r\n\r\n {state.dropdownItems.length > 0 &&\r\n (toggleButtonIcon ? (\r\n \r\n {toggleButtonIcon}\r\n \r\n ) : (\r\n \r\n ))}\r\n \r\n \r\n {state.dropdownItems.length > 0 && isDropDownOpen && (\r\n \r\n
    \r\n {state.dropdownItems.map((item, i) => (\r\n
  • {item}
  • \r\n ))}\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n );\r\n }, [\r\n handleToggleClick,\r\n isDropDownOpen,\r\n items,\r\n logo,\r\n logoObj,\r\n logoUrl,\r\n priorityNavClassName,\r\n state.children,\r\n state.dropdownItems,\r\n toggleButtonIcon,\r\n useActiveRouteStyle,\r\n ]);\r\n\r\n const priorityNav = useMemo(() => {\r\n if (wrapInsideHeaderElement && sticky) {\r\n const headerClassNames = getHeaderClassNames();\r\n return
{priorityNavObj}
;\r\n }\r\n\r\n if (wrapInsideHeaderElement) return
{priorityNavObj}
;\r\n\r\n return priorityNavObj;\r\n }, [\r\n handleToggleClick,\r\n isDropDownOpen,\r\n items,\r\n logo,\r\n logoObj,\r\n logoUrl,\r\n priorityNavClassName,\r\n state.children,\r\n state.dropdownItems,\r\n toggleButtonIcon,\r\n useActiveRouteStyle,\r\n priorityNavObj,\r\n wrapInsideHeaderElement,\r\n sticky,\r\n isScrolled,\r\n getHeaderClassNames,\r\n ]);\r\n\r\n return priorityNav;\r\n};\r\n\r\nPriorityNav.propTypes = {\r\n children: PropTypes.node,\r\n offset: PropTypes.number, // Extra width to trigger show/hide nav item\r\n debounceMs: PropTypes.number,\r\n navItems: PropTypes.array,\r\n logo: PropTypes.element, // Custom logo component\r\n logoUrl: PropTypes.string,\r\n logoAltText: PropTypes.string,\r\n priorityNavClassName: PropTypes.string,\r\n toggleButtonIcon: PropTypes.element, // Custom toggle button component\r\n useActiveRouteStyle: PropTypes.bool, // Highlight active route\r\n wrapInsideHeaderElement: PropTypes.bool, // Wrap inside header\r\n sticky: PropTypes.bool, // Sticky nav\r\n stickyScrollTriggerValue: PropTypes.number, // Scroll value to trigger sticky\r\n stickyClassNamesByRoute: PropTypes.object, // Sticky class names by route\r\n};\r\n\r\nexport default React.memo(PriorityNav);\r\n\r\n// /**\r\n// * Priority navigation component with responsive design.\r\n// * Creates a navigation bar with priority items and a dropdown menu for overflow items.\r\n// *\r\n// * Uses refs, custom hooks, and reducers for handling dynamic resizing and state management.\r\n// *\r\n// * Props include offset, debounceMs, navItems, logo, logoUrl, logoAltText, priorityNavClassName, toggleButtonIcon, useActiveRouteStyle, wrapInsideHeaderElement, sticky and stickyScrollTriggerValue.\r\n// *\r\n// * Dependencies: React, react-router-dom, prop-types, local utility functions and components, and a SCSS file for styling.\r\n// * Adam Luck - Solvable - 2024-06-29\r\n// * Adam Luck - Solvable - Updated 2024-08-13 to add useActiveRouteStyle prop and functionality.\r\n// * Adam Luck - Solvable - Updated 2024-10-12 to add smooth scrolling # link functionality.\r\n// * Adam Luck - Solvable - Updated 2024-10-13 to add sticky functionality.\r\n// */\r\n\r\n// import React, {\r\n// useEffect,\r\n// useState,\r\n// useRef,\r\n// useReducer,\r\n// useCallback,\r\n// useMemo,\r\n// } from \"react\";\r\n// import { Link, useLocation } from \"react-router-dom\";\r\n// import { useHistory } from \"react-router\";\r\n// import PropTypes from \"prop-types\";\r\n// import { reducer } from \"./reducers/reducer\";\r\n// import { useResizeObserve } from \"./hooks/use-resize-observe\";\r\n// import useScrollToSection from \"./hooks/use-scroll-to-section\";\r\n// import { renderNavItem } from \"./utils/render-nav-item\";\r\n// import { doesItFit, getClassName } from \"./utils/priority-nav-utils\";\r\n// import ForwardRefDiv from \"./components/forward-ref-div\";\r\n// import ToggleButton from \"./components/toggle-button\";\r\n// import \"./solvable-priority-nav.scss\";\r\n\r\n// const initialState = {\r\n// children: [],\r\n// dropdownItems: [],\r\n// lastItemWidth: [],\r\n// };\r\n\r\n// const PriorityNav = ({\r\n// children,\r\n// offset = 0,\r\n// debounceMs = 0,\r\n// navItems = [],\r\n// logo,\r\n// logoUrl,\r\n// logoAltText = \"\",\r\n// priorityNavClassName,\r\n// toggleButtonIcon,\r\n// useActiveRouteStyle = false,\r\n// wrapInsideHeaderElement = true,\r\n// sticky = false,\r\n// stickyScrollTriggerValue = 0,\r\n// }) => {\r\n// const location = useLocation();\r\n// const history = useHistory();\r\n\r\n// const priorityNavRef = useRef(null);\r\n// const outerNav = useRef(null);\r\n// const nav = useRef(null);\r\n// const dropDownNav = useRef(null);\r\n// const items = useRef(new Map()).current;\r\n\r\n// const outerNavWidth = useResizeObserve(outerNav);\r\n\r\n// const [isDropDownOpen, setIsDropDownOpen] = useState(false);\r\n// const [isScrolled, setIsScrolled] = useState(\r\n// window.scrollY >= stickyScrollTriggerValue\r\n// );\r\n// const [state, dispatch] = useReducer(reducer, initialState);\r\n\r\n// const scrollToSection = useScrollToSection();\r\n\r\n// const handleToggleClick = useCallback(() => {\r\n// setIsDropDownOpen(!isDropDownOpen);\r\n// }, [isDropDownOpen]);\r\n\r\n// const handleLinkClick = useCallback(() => {\r\n// setIsDropDownOpen(false);\r\n// }, []);\r\n\r\n// const handleHashNavigation = useCallback(\r\n// (link) => {\r\n// if (link.startsWith(\"/\") && link.includes(\"#\")) {\r\n// const [pathname, hash] = link.split(\"#\");\r\n\r\n// const scrollOffset = sticky\r\n// ? -priorityNavRef.current?.clientHeight ?? 0\r\n// : 0;\r\n\r\n// if (location.pathname === pathname) {\r\n// // If already on the target page, just scroll\r\n// scrollToSection(hash, scrollOffset);\r\n// } else {\r\n// // Navigate to the page, and then scroll once there\r\n// history.push(pathname);\r\n\r\n// // Delay scrolling to allow for page navigation\r\n// setTimeout(() => {\r\n// scrollToSection(hash, scrollOffset);\r\n// }, 100);\r\n// }\r\n// } else if (link.startsWith(\"#\")) {\r\n// // Handle in-page anchor links\r\n// const scrollOffset = sticky\r\n// ? -priorityNavRef.current?.clientHeight ?? 0\r\n// : 0;\r\n\r\n// scrollToSection(link.substring(1), scrollOffset);\r\n// } else {\r\n// // Handle normal navigation without a hash\r\n// history.push(link);\r\n// }\r\n// setIsDropDownOpen(false);\r\n// },\r\n// [navigate, location.pathname, scrollToSection, sticky]\r\n// );\r\n\r\n// const handleClickOutsideDropDown = useCallback((event) => {\r\n// if (\r\n// outerNav.current &&\r\n// !outerNav.current.contains(event.target) &&\r\n// dropDownNav.current &&\r\n// !dropDownNav.current.contains(event.target)\r\n// ) {\r\n// setIsDropDownOpen(false);\r\n// }\r\n// }, []);\r\n\r\n// const childrenFromNavItems = useMemo(() => {\r\n// if (navItems.length === 0) return null;\r\n\r\n// return navItems.map((item, i) =>\r\n// renderNavItem(item, i, handleLinkClick, handleHashNavigation)\r\n// );\r\n// }, [handleLinkClick, handleHashNavigation, navItems]);\r\n\r\n// const memoizedChildren = useMemo(() => {\r\n// return children !== undefined ? children : childrenFromNavItems;\r\n// }, [children, childrenFromNavItems]);\r\n\r\n// const logoObj = useMemo(() => {\r\n// if (!logoUrl && logo) return logo;\r\n// if (logoUrl)\r\n// return (\r\n// \r\n// {logoAltText}\r\n// \r\n// );\r\n// }, [logo, logoUrl, logoAltText]);\r\n\r\n// useEffect(() => {\r\n// const fitHandler = doesItFit(\r\n// nav,\r\n// outerNav,\r\n// state,\r\n// items,\r\n// dispatch,\r\n// offset,\r\n// debounceMs\r\n// );\r\n// fitHandler();\r\n// }, [\r\n// state.children,\r\n// state.dropdownItems,\r\n// outerNavWidth,\r\n// state,\r\n// items,\r\n// offset,\r\n// debounceMs,\r\n// ]);\r\n\r\n// useEffect(() => {\r\n// if (isDropDownOpen)\r\n// document.addEventListener(\"mousedown\", handleClickOutsideDropDown);\r\n// else document.removeEventListener(\"mousedown\", handleClickOutsideDropDown);\r\n\r\n// return () => {\r\n// document.removeEventListener(\"mousedown\", handleClickOutsideDropDown);\r\n// };\r\n// }, [handleClickOutsideDropDown, isDropDownOpen]);\r\n\r\n// useEffect(() => {\r\n// // Scroll event listener to track if the page is scrolled\r\n\r\n// const handleScroll = () => {\r\n// setIsScrolled(window.scrollY >= stickyScrollTriggerValue);\r\n// };\r\n\r\n// window.addEventListener(\"scroll\", handleScroll);\r\n\r\n// return () => {\r\n// window.removeEventListener(\"scroll\", handleScroll);\r\n// };\r\n// }, [stickyScrollTriggerValue]);\r\n\r\n// const locationDependency = useActiveRouteStyle ? location.pathname : null;\r\n\r\n// useEffect(() => {\r\n// dispatch({\r\n// type: \"update\",\r\n// payload: {\r\n// initialChildren: memoizedChildren,\r\n// },\r\n// });\r\n// }, [children, childrenFromNavItems, memoizedChildren, locationDependency]);\r\n\r\n// const trimTrailingSlash = (str) => {\r\n// return str.endsWith(\"/\") && str.length > 1 ? str.slice(0, -1) : str;\r\n// };\r\n\r\n// const normalizePath = (str) => {\r\n// return trimTrailingSlash(str).toLowerCase();\r\n// };\r\n\r\n// const priorityNavObj = useMemo(() => {\r\n// return (\r\n// \r\n// {logoObj}\r\n//
\r\n// \r\n// \r\n// {state.children.map((child, i) => {\r\n// const isActiveRoute =\r\n// useActiveRouteStyle &&\r\n// child.props &&\r\n// normalizePath(child.props.to) ===\r\n// normalizePath(location.pathname);\r\n\r\n// return (\r\n// {\r\n// if (e) items.set(i, e);\r\n// }}\r\n// className={getClassName(\r\n// \"priority-nav-item\",\r\n// isActiveRoute ? \"priority-nav-item-active\" : null\r\n// )}\r\n// key={i}\r\n// >\r\n// {child}\r\n// \r\n// );\r\n// })}\r\n\r\n// {state.dropdownItems.length > 0 &&\r\n// (toggleButtonIcon ? (\r\n// \r\n// {toggleButtonIcon}\r\n// \r\n// ) : (\r\n// \r\n// ))}\r\n// \r\n// \r\n// {state.dropdownItems.length > 0 && isDropDownOpen && (\r\n// \r\n//
    \r\n// {state.dropdownItems.map((item, i) => (\r\n//
  • {item}
  • \r\n// ))}\r\n//
\r\n//
\r\n// )}\r\n//
\r\n// \r\n// );\r\n// }, [\r\n// handleToggleClick,\r\n// isDropDownOpen,\r\n// items,\r\n// logo,\r\n// logoObj,\r\n// logoUrl,\r\n// priorityNavClassName,\r\n// state.children,\r\n// state.dropdownItems,\r\n// toggleButtonIcon,\r\n// useActiveRouteStyle,\r\n// ]);\r\n\r\n// const priorityNav = useMemo(() => {\r\n// if (wrapInsideHeaderElement && sticky)\r\n// return (\r\n//
\r\n// {priorityNavObj}\r\n//
\r\n// );\r\n\r\n// if (wrapInsideHeaderElement) return
{priorityNavObj}
;\r\n\r\n// return priorityNavObj;\r\n// }, [\r\n// handleToggleClick,\r\n// isDropDownOpen,\r\n// items,\r\n// logo,\r\n// logoObj,\r\n// logoUrl,\r\n// priorityNavClassName,\r\n// state.children,\r\n// state.dropdownItems,\r\n// toggleButtonIcon,\r\n// useActiveRouteStyle,\r\n// priorityNavObj,\r\n// wrapInsideHeaderElement,\r\n// sticky,\r\n// isScrolled,\r\n// ]);\r\n\r\n// return priorityNav;\r\n// };\r\n\r\n// PriorityNav.propTypes = {\r\n// children: PropTypes.node,\r\n// offset: PropTypes.number, // Extra width to trigger show/hide nav item\r\n// debounceMs: PropTypes.number,\r\n// navItems: PropTypes.array,\r\n// logo: PropTypes.element, // Custom logo component\r\n// logoUrl: PropTypes.string,\r\n// logoAltText: PropTypes.string,\r\n// priorityNavClassName: PropTypes.string,\r\n// toggleButtonIcon: PropTypes.element, // Custom toggle button component\r\n// useActiveRouteStyle: PropTypes.bool, // Highlight active route\r\n// wrapInsideHeaderElement: PropTypes.bool, // Wrap inside header\r\n// sticky: PropTypes.bool, // Sticky nav\r\n// stickyScrollTriggerValue: PropTypes.number, // Scroll value to trigger sticky\r\n// };\r\n\r\n// export default React.memo(PriorityNav);\r\n","/**\r\n * Custom hook to observe and return the width of a referenced element.\r\n *\r\n * Uses ResizeObserver to detect changes in size and updates the width state accordingly.\r\n *\r\n * Dependencies: react (for state and layout effects), resize-observer-polyfill.\r\n * Adam Luck - Solvable - 2024-06-29\r\n */\r\n\r\nimport { useState, useLayoutEffect } from \"react\";\r\nimport ResizeObserver from \"resize-observer-polyfill\";\r\n\r\nexport const useResizeObserve = (ref) => {\r\n const [width, setWidth] = useState(\r\n ref.current ? ref.current.clientWidth : window ? window.innerWidth : 0\r\n );\r\n\r\n useLayoutEffect(() => {\r\n const handleWidth = () => {\r\n if (ref.current) setWidth(ref.current.clientWidth);\r\n };\r\n\r\n const resizeObserver = new ResizeObserver(handleWidth);\r\n\r\n const currentRef = ref.current;\r\n\r\n if (currentRef) resizeObserver.observe(currentRef);\r\n\r\n return () => {\r\n if (currentRef) resizeObserver.unobserve(currentRef);\r\n };\r\n }, [ref]);\r\n\r\n return width;\r\n};\r\n","/**\r\n * Utility function to render navigation items based on their type (internal link, external link, or JavaScript function).\r\n * Handles onClick events for link items to manage dropdown visibility.\r\n *\r\n * Dependencies: react-router-dom for internal links.\r\n * Adam Luck - Solvable - 2024-06-29\r\n */\r\n\r\nimport React from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nexport const renderNavItem = (\r\n item,\r\n index,\r\n handleClick,\r\n handleHashNavigation\r\n) => {\r\n if (typeof item.link === \"function\")\r\n return (\r\n {\r\n item.link();\r\n handleClick();\r\n }}\r\n key={index}\r\n >\r\n {item.title}\r\n \r\n );\r\n\r\n if (item.link.startsWith(\"http\"))\r\n return (\r\n \r\n {item.title}\r\n \r\n );\r\n\r\n if (\r\n item.link.startsWith(\"#\") ||\r\n (item.link.startsWith(\"/\") && item.link.includes(\"#\"))\r\n ) {\r\n return (\r\n {\r\n e.preventDefault();\r\n handleHashNavigation(item.link);\r\n }}\r\n key={index}\r\n >\r\n {item.title}\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n {item.title}\r\n \r\n );\r\n};\r\n","/**\r\n * TextField\r\n * - Input field with built-in validator\r\n * rcnet@solvable\r\n *\r\n * - Added debounce to rate limit the firing of fieldError event\r\n */\r\nimport React, { Component } from \"react\";\r\nimport { Input } from \"reactstrap\";\r\nimport PropTypes from \"prop-types\";\r\nimport \"./Fields.scss\";\r\nimport debounce from \"lodash/debounce\";\r\n\r\nconst EVENT_DEBOUNCE = 2000;\r\n\r\nclass InputField extends Component {\r\n static propTypes = {\r\n placeholder: PropTypes.string,\r\n name: PropTypes.string.isRequired,\r\n value: PropTypes.string,\r\n validate: PropTypes.func,\r\n onChange: PropTypes.func.isRequired,\r\n onFieldError: PropTypes.func,\r\n enableFieldColorError: PropTypes.bool,\r\n enableFieldErrorMessage: PropTypes.bool,\r\n enableFieldErrorNotification: PropTypes.bool,\r\n };\r\n\r\n static defaultProps = {\r\n enableFieldColorError: true,\r\n enableFieldErrorMessage: false,\r\n enableFieldErrorNotification: true,\r\n onFieldError: () => {},\r\n };\r\n\r\n state = {\r\n value: this.props.value,\r\n error: false,\r\n };\r\n\r\n _isMounted = false;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.debouncedCallback = debounce(\r\n (evt, error) => this.fireFieldErrorEvent(error),\r\n EVENT_DEBOUNCE\r\n );\r\n }\r\n\r\n componentDidMount() {\r\n this._isMounted = true;\r\n }\r\n\r\n componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n static getDerivedStateFromProps(props, state) {\r\n return { value: props.value };\r\n }\r\n\r\n onChange = (evt) => {\r\n this._detectChange(evt.target.value);\r\n };\r\n\r\n onKeyPress = (evt) => {\r\n if (evt.key === \"Enter\" && this.props.onKeyPress) {\r\n this.props.onKeyPress();\r\n }\r\n };\r\n\r\n onBlur = (evt) => {\r\n let error = this._detectChange(evt.target.value);\r\n\r\n // Persist react synthetic event\r\n evt.persist();\r\n if (error) this.debouncedCallback(evt, error);\r\n };\r\n\r\n _detectChange = (value) => {\r\n const name = this.props.name;\r\n //const value = evt.target.value;\r\n const error = this.props.validate ? this.props.validate(value) : false;\r\n\r\n this.setState({ value, error });\r\n this.props.onChange({ name, value, error });\r\n\r\n return error;\r\n };\r\n\r\n fireFieldErrorEvent = (error) => this.props.onFieldError(error);\r\n\r\n // Note: Internal function, used by this component\r\n _validateField = () => {\r\n if (!this._isMounted) {\r\n return;\r\n }\r\n let error = this._detectChange(this.state.value);\r\n if (error) this.debouncedCallback(null, error);\r\n return { name: this.props.name, error: error };\r\n };\r\n\r\n _isValidComponentInstance = () => {\r\n return this._isMounted;\r\n };\r\n\r\n render() {\r\n const {\r\n validate,\r\n enableFieldColorError,\r\n enableFieldErrorMessage,\r\n enableFieldErrorNotification,\r\n onFieldError,\r\n ...other\r\n } = this.props;\r\n\r\n return (\r\n <>\r\n \r\n {this.state.error && enableFieldErrorMessage && (\r\n {this.state.error}\r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default InputField;\r\n","import React from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { withRouter, Link } from \"react-router-dom\";\r\nimport { Button, Form } from \"reactstrap\";\r\nimport InputField from \"components/Common/Fields/Input-Field\";\r\nimport ButtonFx from \"components/Common/Button-Fx/Button-Fx\";\r\nimport Auth from \"coreLib/auth/auth\";\r\nimport UserIdentity from \"coreLib/auth/userIdentity\";\r\nimport { addNotification } from \"../../redux/system/system-action-creators\";\r\nimport { selectLoginData } from \"../../redux/system/login-reducer\";\r\nimport {\r\n onLogin,\r\n onLogout,\r\n onLoginInputChange,\r\n loadUserIdentityState,\r\n} from \"redux/system/system-action-creators\";\r\nimport Config from \"config\";\r\nimport \"./login-bar.scss\";\r\n\r\nconst LoginBarView = (props) => {\r\n const { loggedIn, isLoading } = props.loginData;\r\n const { pathname } = props.history.location;\r\n const { firstName } = props.loginData.loggedInUser;\r\n const { username, password } = props.loginData.fields;\r\n const { onLogin, onLogout, onInputChange, isMobile } = props;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n  \r\n \r\n 0400 757 645\r\n \r\n {/*   |  \r\n  \r\n \r\n Email\r\n */}\r\n
\r\n
\r\n {!loggedIn && !pathname.toLowerCase().includes(\"login\") && (\r\n <>\r\n
\r\n \r\n \r\n \r\n Login\r\n \r\n \r\n Forgot your Password?\r\n \r\n \r\n \r\n )}\r\n {loggedIn && (\r\n <>\r\n
Welcome {firstName}
\r\n \r\n \r\n )}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nfunction mapStateToProps(state) {\r\n const loginData = selectLoginData(state);\r\n\r\n return {\r\n loginData: loginData,\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => ({\r\n loadData: async () => {\r\n // Note: We will reload user identity from local storage to redux state if user is authenticated.\r\n if (!Auth.isAuthenticated()) return;\r\n\r\n let userIdentity = UserIdentity();\r\n\r\n const user = {\r\n firstName: userIdentity.getFirstName(),\r\n lastName: userIdentity.getLastName(),\r\n id: userIdentity.getUserId(),\r\n email: userIdentity.getEmail(),\r\n hasCourses: userIdentity.hasCourses(),\r\n userType: userIdentity.userType(),\r\n };\r\n\r\n await dispatch(loadUserIdentityState(user));\r\n },\r\n onInputChange: ({ name, value, error }) => {\r\n dispatch(onLoginInputChange(name, value, error));\r\n },\r\n dispatch: dispatch,\r\n history: ownProps.history,\r\n});\r\n\r\nconst mergeFormProps = (stateProps, dispatchProps, ownProps) => ({\r\n ...stateProps,\r\n ...dispatchProps,\r\n onLogin: (e) => {\r\n const { username, password } = stateProps.loginData.fields;\r\n\r\n if (!username && !password) {\r\n dispatchProps.dispatch(\r\n addNotification(\r\n \"Please enter your email address and password.\",\r\n \"warning\"\r\n )\r\n );\r\n return;\r\n }\r\n\r\n if (!username) {\r\n dispatchProps.dispatch(\r\n addNotification(\"Please enter your email address.\", \"warning\")\r\n );\r\n return;\r\n }\r\n\r\n if (!password) {\r\n dispatchProps.dispatch(\r\n addNotification(\"Please enter your password.\", \"warning\")\r\n );\r\n return;\r\n }\r\n\r\n let returnUrl = getRedirectPath(ownProps);\r\n dispatchProps.dispatch(\r\n onLogin(username, password, returnUrl, ownProps.history)\r\n );\r\n },\r\n onLogout: () => {\r\n dispatchProps.dispatch(\r\n onLogout(Config.logoutRedirectUrl, ownProps.history)\r\n );\r\n },\r\n});\r\n\r\n/**\r\n * Redirect ReturnUrl if its provided otherwise go to default route '/' :-)\r\n */\r\nconst getRedirectPath = (props) => {\r\n const locationState = props.location.state;\r\n const pathName =\r\n locationState && locationState.from && locationState.from.pathname;\r\n return pathName || \"/\";\r\n};\r\n\r\nconst LoginBar = withRouter(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n mergeFormProps\r\n )(LoginBarView)\r\n);\r\n\r\nexport default LoginBar;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { useDispatch, connect } from \"react-redux\";\r\nimport PriorityNav from \"components/solvable-priority-nav/solvable-priority-nav\";\r\nimport LoginBar from \"components/Login-Bar/login-bar\";\r\nimport Auth from \"coreLib/auth/auth\";\r\nimport UserIdentity from \"coreLib/auth/userIdentity\";\r\nimport { selectLoginData } from \"redux/system/login-reducer\";\r\nimport { loadUserIdentityState } from \"../../redux/system/system-action-creators\";\r\nimport * as Constants from \"constants/index\";\r\nimport \"./header.scss\";\r\n\r\nconst HeaderView = ({ loginData }) => {\r\n const dispatch = useDispatch();\r\n const identity = UserIdentity();\r\n const currentRole = identity.getRole();\r\n\r\n const [navLinks, setNavLinks] = useState([]);\r\n\r\n useEffect(() => {\r\n if (!Auth.isAuthenticated()) return;\r\n\r\n let userIdentity = UserIdentity();\r\n\r\n const user = {\r\n firstName: userIdentity.getFirstName(),\r\n lastName: userIdentity.getLastName(),\r\n id: userIdentity.getUserId(),\r\n email: userIdentity.getEmail(),\r\n hasCourses: userIdentity.hasCourses(),\r\n userType: userIdentity.userType(),\r\n };\r\n\r\n dispatch(loadUserIdentityState(user));\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (loginData.loggedIn)\r\n setNavLinks(\r\n Constants.privateNavLinks.filter((o) => o.roles.includes(currentRole))\r\n );\r\n else setNavLinks(Constants.navLinks);\r\n }, [loginData]);\r\n\r\n const logo = (\r\n \r\n \r\n \r\n \r\n );\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nfunction mapStateToProps(state) {\r\n const loginData = selectLoginData(state);\r\n\r\n return {\r\n loginData: loginData,\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => ({\r\n dispatch: dispatch,\r\n history: ownProps.history,\r\n});\r\n\r\nconst Header = connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(HeaderView);\r\n\r\nexport default Header;\r\n","import React from \"react\";\r\nimport \"./copyright.css\";\r\n\r\nconst Copyright = () => {\r\n return (\r\n
\r\n
\r\n \r\n Copyright © {new Date().getFullYear()} TTG - All Rights Reserved.\r\n Train to Gain Pty Ltd T/A Food Safety Education,\r\n ABN 17 134 929 221 RTO # 22361.\r\n \r\n \r\n Website Developed by{\" \"}\r\n \r\n Solvable\r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Copyright;\r\n","import React from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Col, Row } from \"reactstrap\";\r\nimport Copyright from \"../Copyright/Copyright\";\r\nimport \"./footer.scss\";\r\n\r\nconst Footer = (props) => {\r\n const { loggedIn } = props.loginData;\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n

\r\n We are Australia’s number one Registered Training Organisation\r\n for quality customer service and offer fast and effective Food\r\n Safety training that you can trust.\r\n

\r\n \r\n \r\n \r\n \r\n
Information
\r\n
    \r\n {!loggedIn && (\r\n
  • \r\n \r\n Courses\r\n \r\n
  • \r\n )}\r\n
  • \r\n FAQs\r\n
  • \r\n {!loggedIn && (\r\n
  • \r\n \r\n Business\r\n \r\n
  • \r\n )}\r\n
  • \r\n About Us\r\n
  • \r\n
  • \r\n Contact Us\r\n
  • \r\n
  • \r\n \r\n Student Handbook\r\n \r\n
  • \r\n
\r\n \r\n {!loggedIn && (\r\n \r\n
All Courses
\r\n
    \r\n
  • \r\n \r\n NSW Food Safety Supervisor\r\n \r\n
  • \r\n
  • \r\n \r\n NSW Food Safety Supervisor\r\n
    \r\n Refresher\r\n \r\n
  • \r\n
  • \r\n \r\n Food Safety Supervisor\r\n
    \r\n Hospitality & Retail\r\n \r\n
  • \r\n
  • \r\n \r\n Food Handling Level 1\r\n
    \r\n Hospitality & Retail\r\n \r\n
  • \r\n
  • \r\n \r\n Food Handling Level 2\r\n
    \r\n Hospitality & Retail\r\n \r\n
  • \r\n
  • \r\n \r\n Food Handling Level 1\r\n
    \r\n Health & Community\r\n \r\n
  • \r\n
  • \r\n \r\n Food Safety Supervisor\r\n
    \r\n Health & Community\r\n \r\n
  • \r\n
\r\n \r\n )}\r\n \r\n
Opening Hours
\r\n
    \r\n
  • MON-FRI: 9AM - 5PM (AEST)
  • \r\n
\r\n
Call Us On
\r\n \r\n
Email Us
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default Footer;\r\n","import { connect } from \"react-redux\";\r\nimport Footer from \"./Footer\";\r\nimport { selectLoginData } from \"../../redux/system/login-reducer\";\r\n\r\nfunction mapStateToProps(state) {\r\n const stateLogin = selectLoginData(state);\r\n\r\n return {\r\n loginData: stateLogin\r\n };\r\n}\r\n\r\nconst FooterContainer = connect(mapStateToProps)(Footer);\r\n\r\nexport default FooterContainer;\r\n","import React from \"react\";\r\nimport \"./hero.scss\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nconst Hero = () => {\r\n return (\r\n
\r\n
\r\n
\r\n
Welcome to
\r\n

Food Safety Education

\r\n

\r\n We are Australia’s number one Registered Training Organisation\r\n for quality customer service and offer fast and effective Food\r\n Safety training that you can trust.\r\n

\r\n
\r\n \r\n Explore Courses\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Hero;\r\n","import React from \"react\";\r\nimport svg1 from \"../../assets/svgs/infographic-1.svg\";\r\nimport svg2 from \"../../assets/svgs/infographic-2.svg\";\r\nimport svg3 from \"../../assets/svgs/infographic-3.svg\";\r\nimport svg4 from \"../../assets/svgs/infographic-4.svg\";\r\nimport svg5 from \"../../assets/svgs/infographic-5.svg\";\r\nimport \"./infographic.scss\";\r\n\r\nconst Infographic = () => {\r\n const items = [\r\n {\r\n svg: svg1,\r\n imageClass: \"infographic-1\",\r\n value: \"100% Online Training\",\r\n },\r\n {\r\n svg: svg2,\r\n imageClass: \"infographic-2\",\r\n value: \"Nationally Accredited Training\",\r\n },\r\n {\r\n svg: svg3,\r\n imageClass: \"infographic-3\",\r\n value: \"Standard 3.2.2A Compliant\",\r\n },\r\n {\r\n svg: svg4,\r\n imageClass: \"infographic-4\",\r\n value: \"Print Out Your Statement of Attainment Today\",\r\n },\r\n {\r\n svg: svg5,\r\n imageClass: \"infographic-5\",\r\n value: \"2-6 Hours Average Course Duration\",\r\n },\r\n ];\r\n\r\n const getItem = (item, index) => {\r\n return (\r\n
\r\n {/*
{item.svg}
*/}\r\n \"\"\r\n {item.value}\r\n
\r\n );\r\n };\r\n\r\n return (\r\n
\r\n {items.map((item, index) => getItem(item, index))}\r\n
\r\n );\r\n};\r\n\r\nexport default Infographic;\r\n","import Infographic from \"features/infographic/infographic\";\r\nimport React from \"react\";\r\n\r\nconst InfographicContainer = () => {\r\n return ;\r\n};\r\n\r\nexport default InfographicContainer;\r\n","import React from \"react\";\r\nimport { PropTypes } from \"prop-types\";\r\nimport \"./header-image-section.scss\";\r\n\r\nconst HeaderImageSection = ({ imgSrc, title, subTitle, children }) => {\r\n return (\r\n
\r\n \r\n\r\n {children ? (\r\n
\r\n {children}\r\n
\r\n ) : (\r\n
\r\n

\r\n {Array.isArray(title) &&\r\n title.map((item, index) => (\r\n \r\n {item.isFeatured ? (\r\n {item.text} \r\n ) : (\r\n {item.text} \r\n )}\r\n \r\n ))}\r\n {!Array.isArray(title) && title}\r\n

\r\n {subTitle &&

{subTitle}

}\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nHeaderImageSection.propTypes = {\r\n imgSrc: PropTypes.any.isRequired,\r\n title: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\r\n subTitle: PropTypes.string,\r\n children: PropTypes.any,\r\n};\r\n\r\nexport default HeaderImageSection;\r\n","import React from \"react\";\r\nimport { Col, Row } from \"reactstrap\";\r\n\r\nconst ContentSectionContainer = ({\r\n padding,\r\n isFullWidth,\r\n specificClass,\r\n imageSection,\r\n children,\r\n}) => {\r\n const getInnerContainer = () => {\r\n if (!imageSection || !imageSection.imgSrc) return children;\r\n\r\n const imageXlColSize = imageSection.xLargeColSize || 6;\r\n const imageLgColSize = imageSection.largeColSize || 6;\r\n const imageMdColSize = imageSection.mediumColSize || 6;\r\n const childrenXlColSize =\r\n imageSection.xLargeColSize === 12\r\n ? 12\r\n : 12 - imageSection.xLargeColSize || 6;\r\n const childrenLgColSize =\r\n imageSection.largeColSize === 12\r\n ? 12\r\n : 12 - imageSection.largeColSize || 6;\r\n const childrenMdColSize =\r\n imageSection.mediumColSize === 12\r\n ? 12\r\n : 12 - imageSection.mediumColSize || 6;\r\n const position = imageSection.position || \"right\";\r\n const smallSizePosition = imageSection.smallSizePosition || \"bottom\";\r\n const headingStyle = imageSection.headingStyle || \"h2\";\r\n const smallColSizeImageMargin = imageSection.smallColSizeImageMargin || 3;\r\n const isVerticallyCentered = imageSection.isVerticallyCentered || true;\r\n\r\n return (\r\n \r\n \r\n {imageSection.headingText &&\r\n React.createElement(\r\n headingStyle,\r\n { className: \"d-none d-md-block\" },\r\n imageSection.headingText\r\n )}\r\n {children}\r\n \r\n \r\n {imageSection.headingText &&\r\n React.createElement(\r\n headingStyle,\r\n { className: \"d-block d-md-none\" },\r\n imageSection.headingText\r\n )}\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n return (\r\n \r\n {getInnerContainer()}\r\n \r\n );\r\n};\r\n\r\nexport default ContentSectionContainer;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport ContentSectionContainer from \"../../content-section-container/content-section-container\";\r\nimport \"./angle.scss\";\r\n\r\nfunction Angle({\r\n id,\r\n children,\r\n bgOuterColor = \"#fff\",\r\n bgInnerColor = \"#fff\",\r\n padding = 1,\r\n specificClass,\r\n isFullWidth = false,\r\n showTopSvg = true,\r\n showBottomSvg = true,\r\n}) {\r\n return (\r\n \r\n {showTopSvg && (\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n )}\r\n \r\n {showBottomSvg && (\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\nAngle.propTypes = {\r\n children: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\r\n id: PropTypes.string,\r\n bgOuterColor: PropTypes.string,\r\n bgInnerColor: PropTypes.string,\r\n padding: PropTypes.number,\r\n specificClass: PropTypes.string,\r\n isFullWidth: PropTypes.bool,\r\n showTopSvg: PropTypes.bool,\r\n showBottomSvg: PropTypes.bool,\r\n};\r\n\r\nexport default Angle;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport ContentSectionContainer from \"../../content-section-container/content-section-container\";\r\nimport \"./arc.scss\";\r\n\r\nfunction Arc({\r\n id,\r\n children,\r\n bgOuterColor = \"#fff\",\r\n bgInnerColor = \"#fff\",\r\n padding = 1,\r\n specificClass,\r\n isFullWidth = false,\r\n showTopSvg = true,\r\n showBottomSvg = true,\r\n}) {\r\n return (\r\n \r\n {showTopSvg && (\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n )}\r\n \r\n {showBottomSvg && (\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\nArc.propTypes = {\r\n children: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\r\n id: PropTypes.string,\r\n bgOuterColor: PropTypes.string,\r\n bgInnerColor: PropTypes.string,\r\n padding: PropTypes.number,\r\n specificClass: PropTypes.string,\r\n isFullWidth: PropTypes.bool,\r\n showTopSvg: PropTypes.bool,\r\n showBottomSvg: PropTypes.bool,\r\n};\r\n\r\nexport default Arc;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport ContentSectionContainer from \"../../content-section-container/content-section-container\";\r\nimport \"./wave-curve.scss\";\r\n\r\nfunction WaveCurve({\r\n id,\r\n children,\r\n bgOuterColor = \"#fff\",\r\n bgInnerColor = \"#fff\",\r\n padding = 1,\r\n specificClass,\r\n isFullWidth = false,\r\n showTopSvg = true,\r\n showBottomSvg = true,\r\n}) {\r\n return (\r\n \r\n {showTopSvg && (\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n )}\r\n \r\n {showBottomSvg && (\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\nWaveCurve.propTypes = {\r\n children: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\r\n id: PropTypes.string,\r\n bgOuterColor: PropTypes.string,\r\n bgInnerColor: PropTypes.string,\r\n padding: PropTypes.number,\r\n specificClass: PropTypes.string,\r\n isFullWidth: PropTypes.bool,\r\n showTopSvg: PropTypes.bool,\r\n showBottomSvg: PropTypes.bool,\r\n};\r\n\r\nexport default WaveCurve;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport ContentSectionContainer from \"../../content-section-container/content-section-container\";\r\nimport \"./intersecting-waves.scss\";\r\n\r\nfunction IntersectingWaves({\r\n id,\r\n children,\r\n bgOuterColor = \"#fff\",\r\n bgInnerColor = \"#fff\",\r\n padding = 1,\r\n specificClass,\r\n isFullWidth = false,\r\n showTopSvg = true,\r\n showBottomSvg = true,\r\n}) {\r\n return (\r\n \r\n {showTopSvg && (\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n )}\r\n \r\n {showBottomSvg && (\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\nIntersectingWaves.propTypes = {\r\n children: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\r\n id: PropTypes.string,\r\n bgOuterColor: PropTypes.string,\r\n bgInnerColor: PropTypes.string,\r\n padding: PropTypes.number,\r\n specificClass: PropTypes.string,\r\n isFullWidth: PropTypes.bool,\r\n showTopSvg: PropTypes.bool,\r\n showBottomSvg: PropTypes.bool,\r\n};\r\n\r\nexport default IntersectingWaves;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport ContentSectionContainer from \"../../content-section-container/content-section-container\";\r\nimport \"./intersecting-waves-scattered.scss\";\r\n\r\nfunction IntersectingWavesScattered({\r\n id,\r\n children,\r\n bgOuterColor = \"#fff\",\r\n bgInnerColor = \"#fff\",\r\n padding = 4,\r\n specificClass,\r\n isFullWidth = false,\r\n showTopSvg = true,\r\n}) {\r\n return (\r\n \r\n {showTopSvg && (\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n )}\r\n \r\n \r\n );\r\n}\r\n\r\nIntersectingWavesScattered.propTypes = {\r\n children: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\r\n id: PropTypes.string,\r\n bgOuterColor: PropTypes.string,\r\n bgInnerColor: PropTypes.string,\r\n padding: PropTypes.number,\r\n specificClass: PropTypes.string,\r\n isFullWidth: PropTypes.bool,\r\n showTopSvg: PropTypes.bool,\r\n};\r\n\r\nexport default IntersectingWavesScattered;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport ContentSectionContainer from \"../../content-section-container/content-section-container\";\r\nimport \"./custom-svgs.scss\";\r\n\r\nfunction CustomSvgs({\r\n id,\r\n children,\r\n bgInnerColor = \"#fff\",\r\n padding = 1,\r\n specificClass,\r\n isFullWidth = false,\r\n customSvgTop,\r\n customSvgBottom,\r\n}) {\r\n return (\r\n \r\n {customSvgTop && (\r\n
\r\n
{customSvgTop}
\r\n
\r\n )}\r\n \r\n {customSvgBottom && (\r\n
\r\n
{customSvgBottom}
\r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nCustomSvgs.propTypes = {\r\n children: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\r\n id: PropTypes.string,\r\n bgOuterColor: PropTypes.string,\r\n bgInnerColor: PropTypes.string,\r\n padding: PropTypes.number,\r\n specificClass: PropTypes.string,\r\n isFullWidth: PropTypes.bool,\r\n customSvgTop: PropTypes.element,\r\n customSvgBottom: PropTypes.element,\r\n};\r\n\r\nexport default CustomSvgs;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport Angle from \"./angle/angle\";\r\nimport Arc from \"./arc/arc\";\r\nimport WaveCurve from \"./wave-curve/wave-curve\";\r\nimport IntersectingWaves from \"./intersecting-waves/intersecting-waves\";\r\nimport IntersectingWavesScattered from \"./intersecting-waves-scattered/intersecting-waves-scattered\";\r\nimport CustomSvgs from \"./custom-svgs/custom-svgs\";\r\n\r\nfunction ContentBackgroundFactory({ id, type = \"\", options = {}, ...rest }) {\r\n switch (type) {\r\n case \"angle\":\r\n return (\r\n \r\n );\r\n\r\n case \"arc\":\r\n return (\r\n \r\n );\r\n\r\n case \"waveCurve\":\r\n return (\r\n \r\n );\r\n\r\n case \"intersectingWaves\":\r\n return (\r\n \r\n );\r\n\r\n case \"intersectingWavesScattered\":\r\n return (\r\n \r\n );\r\n\r\n case \"customSvgs\":\r\n return (\r\n \r\n );\r\n\r\n default:\r\n return (\r\n \r\n {rest.children}\r\n \r\n );\r\n }\r\n}\r\n\r\nContentBackgroundFactory.propTypes = {\r\n id: PropTypes.string,\r\n type: PropTypes.string,\r\n options: PropTypes.shape({\r\n bgOuterColor: PropTypes.string,\r\n bgInnerColor: PropTypes.string,\r\n padding: PropTypes.number,\r\n isFullWidth: PropTypes.bool,\r\n specificClass: PropTypes.string,\r\n showTopSvg: PropTypes.bool,\r\n showBottomSvg: PropTypes.bool,\r\n customSvgTop: PropTypes.element,\r\n customSvgBottom: PropTypes.element,\r\n }),\r\n};\r\n\r\nexport default ContentBackgroundFactory;\r\n","/**\r\n * Solvable default setup for block-ui component\r\n * Props\r\n * - blocking = true or false (show/hide)\r\n * - lowerZIndex = true or false (set to true if you want block ui to respect fixed fix headers/navbars)\r\n * - color = set color\r\n * rcnet @solvable 2019\r\n */\r\nimport React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport BlockUi from \"react-block-ui\";\r\nimport { Loader } from \"react-loaders\";\r\nimport \"react-block-ui/style.css\";\r\nimport \"loaders.css/loaders.min.css\";\r\n\r\nconst BlockUiFx = ({ blocking, lowerZIndex, children, color, ...rest }) => (\r\n }\r\n >\r\n {children}\r\n \r\n);\r\n\r\nBlockUiFx.propTypes = {\r\n color: PropTypes.string\r\n};\r\n\r\nBlockUiFx.defaultProps = {\r\n color: \"#5DAD39\"\r\n};\r\n\r\nexport default BlockUiFx;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Helmet } from \"react-helmet\";\r\n\r\nconst PageTagging = ({ title, description }) => {\r\n return (\r\n \r\n {title && {title}}\r\n {description && description.length > 0 && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nPageTagging.propTypes = {\r\n title: PropTypes.string.isRequired,\r\n description: PropTypes.string,\r\n};\r\n\r\nexport default PageTagging;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport HeaderImageSection from \"../header-image-section/header-image-section\";\r\nimport ContentBackgroundFactory from \"./components/fancy-backgrounds/content-background-factory\";\r\nimport ContentSectionContainer from \"./components/content-section-container/content-section-container\";\r\nimport BlockUiFx from \"../Block-Ui-Fx/Block-Ui-Fx\";\r\nimport PageTagging from \"../page-tagging/page-tagging\";\r\n\r\nconst ContentSection = ({\r\n id,\r\n bgType = \"plain\",\r\n bgOuterColor,\r\n bgInnerColor,\r\n bgClass,\r\n padding = undefined,\r\n specificClass,\r\n isFullWidth = false,\r\n showTopSvg = true,\r\n showBottomSvg = true,\r\n customSvgTop,\r\n customSvgBottom,\r\n pageTitle,\r\n pageDescription,\r\n includeLoader = false,\r\n isLoading = false,\r\n headerImageSection,\r\n imageSection,\r\n children,\r\n}) => {\r\n const getContainerClass = () => {\r\n return (\r\n <>\r\n {headerImageSection && headerImageSection.imgSrc && (\r\n \r\n )}\r\n \r\n \r\n );\r\n };\r\n\r\n const getContentSection = () => {\r\n if (!bgType || bgType === \"plain\")\r\n return bgClass ? (\r\n <>\r\n {pageTitle && (\r\n \r\n )}\r\n
\r\n {getContainerClass()}\r\n
\r\n \r\n ) : (\r\n <>\r\n {pageTitle && (\r\n \r\n )}\r\n {!id && getContainerClass()}\r\n {id &&
{getContainerClass()}
}\r\n \r\n );\r\n\r\n return (\r\n <>\r\n {pageTitle && (\r\n \r\n )}\r\n \r\n \r\n );\r\n };\r\n\r\n if (includeLoader)\r\n return {getContentSection()};\r\n\r\n return getContentSection();\r\n};\r\n\r\nContentSection.propTypes = {\r\n id: PropTypes.string,\r\n bgType: PropTypes.string,\r\n bgOuterColor: PropTypes.string,\r\n bgInnerColor: PropTypes.string,\r\n bgClass: PropTypes.string,\r\n padding: PropTypes.number,\r\n specificClass: PropTypes.string,\r\n isFullWidth: PropTypes.bool,\r\n showTopSvg: PropTypes.bool,\r\n showBottomSvg: PropTypes.bool,\r\n customSvgTop: PropTypes.element,\r\n customSvgBottom: PropTypes.element,\r\n pageTitle: PropTypes.string,\r\n pageDescription: PropTypes.string,\r\n includeLoader: PropTypes.bool,\r\n isLoading: PropTypes.bool,\r\n headerImageSection: PropTypes.shape({\r\n imgSrc: PropTypes.any.isRequired,\r\n title: PropTypes.string,\r\n subTitle: PropTypes.string,\r\n children: PropTypes.any,\r\n }),\r\n imageSection: PropTypes.shape({\r\n imgSrc: PropTypes.any.isRequired,\r\n imgAltText: PropTypes.string,\r\n xLargeColSize: PropTypes.number,\r\n largeColSize: PropTypes.number,\r\n mediumColSize: PropTypes.number,\r\n position: PropTypes.string, // left, right\r\n smallSizePosition: PropTypes.string, // top, bottom\r\n headingText: PropTypes.string,\r\n headingStyle: PropTypes.string,\r\n smallColSizeImageMargin: PropTypes.number,\r\n isVerticallyCentered: PropTypes.bool,\r\n }),\r\n};\r\n\r\nexport default ContentSection;\r\n","import React from \"react\";\r\nimport svg from \"assets/svgs/green-tick.svg\";\r\nimport \"./green-tick-balls.scss\";\r\n\r\nconst GreenTickBalls = ({ items, bigBalls = false }) => {\r\n return (\r\n
\r\n {items.map((item, index) => (\r\n
\r\n
\r\n \"\"\r\n
\r\n
{item}
\r\n
\r\n ))}\r\n
\r\n );\r\n};\r\n\r\nexport default GreenTickBalls;\r\n","import React from \"react\";\r\nimport { PropTypes } from \"prop-types\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nconst LinkButton = ({\r\n btnText,\r\n to,\r\n isPrimaryBtn = true,\r\n isTertiaryBtn = false,\r\n isLinkBtn = false,\r\n isLargeBtn = false,\r\n marginLeft = 0,\r\n marginRight = 0,\r\n beforeIcon,\r\n afterIcon,\r\n className,\r\n}) => {\r\n return (\r\n 0 ? ` ms-${marginLeft}` : \"\"\r\n }${marginRight > 0 ? ` me-${marginRight}` : \"\"}`\r\n }\r\n >\r\n {beforeIcon && }\r\n {btnText}\r\n {afterIcon && }\r\n \r\n );\r\n};\r\n\r\nLinkButton.propTypes = {\r\n btnText: PropTypes.string.isRequired,\r\n to: PropTypes.string.isRequired,\r\n isPrimaryBtn: PropTypes.bool,\r\n isTertiaryBtn: PropTypes.bool,\r\n isLinkBtn: PropTypes.bool,\r\n isLargeBtn: PropTypes.bool,\r\n marginLeft: PropTypes.number,\r\n marginRight: PropTypes.number,\r\n beforeIcon: PropTypes.string, // font-awesome class (i.e. fas fa-angle-right)\r\n afterIcon: PropTypes.string,\r\n className: PropTypes.string, // this will override the other classes\r\n};\r\n\r\nexport default LinkButton;\r\n","import React from \"react\";\r\nimport ContentSection from \"components/Common/content-section\";\r\nimport GreenTickBalls from \"features/green-tick-balls/green-tick-balls\";\r\nimport \"./whats-next.scss\";\r\nimport LinkButton from \"components/link-button/link-button\";\r\n\r\nconst WhatsNext = () => {\r\n return (\r\n \r\n
\r\n
\r\n
What’s Next
\r\n
\r\n Ready to earn your Food Safety Certification? Follow these easy\r\n steps to get started.\r\n
\r\n
\r\n
\r\n \r\n
\r\n
30+
\r\n
\r\n Over 30 Years Hospitality, Health & Retail Training Experience\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 WhatsNext;\r\n","import LinkButton from \"components/link-button/link-button\";\r\nimport React from \"react\";\r\nimport { Card, CardBody, CardFooter, CardText, CardTitle } from \"reactstrap\";\r\n\r\nconst CourseInfoCard = ({\r\n courseId,\r\n courseTitle,\r\n courseName,\r\n courseTags,\r\n courseCost,\r\n courseImage,\r\n courseReadMorePage,\r\n hideReadMore = false,\r\n className,\r\n}) => {\r\n return (\r\n \r\n {courseTitle}\r\n\r\n \r\n {courseName}\r\n {courseTags}\r\n \r\n \r\n
\r\n \r\n {!hideReadMore && (\r\n \r\n )}\r\n
\r\n
${courseCost}
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default CourseInfoCard;\r\n","import React from \"react\";\r\nimport { Button } from \"reactstrap\";\r\n\r\nconst HelpQuestion = ({\r\n question,\r\n response,\r\n setResponseHandler,\r\n buttonOneText = \"Yes\",\r\n buttonTwoText = \"No\",\r\n}) => {\r\n return (\r\n <>\r\n
{question}
\r\n setResponseHandler(true)}\r\n >\r\n {buttonOneText}\r\n \r\n setResponseHandler(false)}\r\n >\r\n {buttonTwoText}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default HelpQuestion;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Button, Col, Row } from \"reactstrap\";\r\nimport ContentSection from \"components/Common/content-section\";\r\nimport CourseCard from \"./components/course-card/course-card\";\r\nimport HelpQuestion from \"./components/help-question/help-question\";\r\nimport { courses } from \"constants/course-content\";\r\nimport \"./select-a-course.scss\";\r\n\r\nconst SelectACourse = ({\r\n title = (\r\n <>\r\n Providing Quality Online\r\n
\r\n Food Safety Training\r\n \r\n ),\r\n}) => {\r\n const [showAllCourses, setShowAllCourses] = useState(false);\r\n const [helpCourses, setHelpCourses] = useState([]);\r\n\r\n const [worksInNsw, setWorksInNsw] = useState(null);\r\n const [nswCertificateExpired, setNswCertificateExpired] = useState(null);\r\n const [isFoodSafetySupervisor, setIsFoodSafetySupervisor] = useState(null);\r\n const [worksInHospitalityOrRetail, setWorksInHospitalityOrRetail] = useState(\r\n null\r\n );\r\n\r\n const handleWorksInNsw = (response) => {\r\n setWorksInNsw(response);\r\n setNswCertificateExpired(null);\r\n setIsFoodSafetySupervisor(null);\r\n setWorksInHospitalityOrRetail(null);\r\n setHelpCourses([]);\r\n };\r\n\r\n useEffect(() => {\r\n // Logic for setting helpCourseIds based on user responses\r\n if (worksInNsw === true) {\r\n if (nswCertificateExpired === false) {\r\n setHelpCourses(courses.filter((x) => x.courseId === 8)); // NSW Refresher Course\r\n } else if (nswCertificateExpired === true) {\r\n setHelpCourses(courses.filter((x) => x.courseId === 6)); // NSW Food Safety Supervisor\r\n }\r\n } else if (worksInNsw === false) {\r\n if (isFoodSafetySupervisor === true) {\r\n if (worksInHospitalityOrRetail === true) {\r\n setHelpCourses(courses.filter((x) => x.courseId === 4)); // Food Safety Supervisor Hospitality & Retail\r\n } else if (worksInHospitalityOrRetail === false) {\r\n setHelpCourses(courses.filter((x) => x.courseId === 1008)); // Food Safety Supervisor Health & Community\r\n }\r\n } else if (isFoodSafetySupervisor === false) {\r\n if (worksInHospitalityOrRetail === true) {\r\n setHelpCourses(\r\n courses.filter((x) => x.courseId === 2 || x.courseId === 3)\r\n ); // Food Handling Level 1 & 2 - Hospitality & Retail\r\n } else if (worksInHospitalityOrRetail === false) {\r\n setHelpCourses(courses.filter((x) => x.courseId === 1009)); // Food Handling Level 1 - Health & Community\r\n }\r\n }\r\n }\r\n }, [\r\n worksInNsw,\r\n nswCertificateExpired,\r\n isFoodSafetySupervisor,\r\n worksInHospitalityOrRetail,\r\n ]);\r\n\r\n /*\r\n\r\nDo you work in NSW?\r\nYes/No\r\n\r\nIf Yes, then show the following question:\r\n Do you have a NSW Food Safety Supervisor certificate that is due to expire, or has expired, within the immediately preceding 90 days?\r\n Yes/No\r\n \r\n If Yes, then setHelpCourseIds(8) - NSW Refresher Course\r\n If No, then setHelpCourseIds(6) - NSW Food Safety Supervisor\r\n\r\nIf No, then show the following question:\r\n Are you a Food Safety Supervisor?\r\n Yes/No\r\n\r\n If Yes, then show the following question:\r\n Do you work in Hospitality or Retail?\r\n Yes/No\r\n\r\n If Yes, then setHelpCourseIds(4) - Food Safety Supervisor Hospitality & Retail\r\n If No, then setHelpCourseIds(1008) - Food Safety Supervisor Health & Community\r\n\r\n If No, then show the following question:\r\n Do you work in Hospitality or Retail?\r\n Yes/No\r\n\r\n If Yes, then setHelpCourseIds(2, 3) - Food Handling Level 1 & 2 - Hospitality & Retail\r\n If No, then setHelpCourseIds(1009) - Food Handling Level 1 - Health & Community\r\n\r\n*/\r\n return (\r\n <>\r\n
\r\n

{title}

\r\n
\r\n setShowAllCourses(!showAllCourses)}\r\n >\r\n {showAllCourses ? \"Help Me Choose\" : \"Show All Courses\"}\r\n \r\n
\r\n\r\n {!showAllCourses && (\r\n \r\n \r\n \r\n\r\n {worksInNsw === true && (\r\n \r\n Do you need to complete a NSW Food Safety Supervisor\r\n course because you don’t hold a current certificate?\r\n \r\n }\r\n response={nswCertificateExpired}\r\n setResponseHandler={setNswCertificateExpired}\r\n buttonOneText=\"Yes\"\r\n buttonTwoText=\"No\"\r\n />\r\n )}\r\n\r\n {worksInNsw === false && (\r\n \r\n )}\r\n\r\n {worksInNsw === false && isFoodSafetySupervisor !== null && (\r\n \r\n )}\r\n \r\n\r\n {helpCourses.length > 0 && (\r\n \r\n \r\n {helpCourses.map((course, index) => (\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n )}\r\n \r\n )}\r\n\r\n {showAllCourses && (\r\n \r\n {courses.map((course, index) => (\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 SelectACourse;\r\n","import React from \"react\";\r\nimport ContentSection from \"components/Common/content-section\";\r\nimport SelectACourse from \"features/select-a-course/select-a-course\";\r\n\r\nconst CoursesContainer = () => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default CoursesContainer;\r\n","import React from \"react\";\r\nimport \"./carousel-item.css\";\r\n\r\nconst View = ({ imageName }) => {\r\n return (\r\n \r\n {/* \"\" */}\r\n \r\n );\r\n};\r\n\r\nexport default View;\r\n","import React, { Component } from \"react\";\r\nimport View from \"./View\";\r\n\r\nexport default class extends Component {\r\n render() {\r\n return ;\r\n }\r\n}\r\n","import React from \"react\";\r\nimport CarouselItem from \"../Carousel-Item\";\r\nimport OwlCarousel from \"react-owl-carousel\";\r\nimport \"owl.carousel/dist/assets/owl.carousel.css\";\r\nimport \"owl.carousel/dist/assets/owl.theme.default.css\";\r\nimport \"./carousel.scss\";\r\n\r\nconst View = ({ owlOptions, items, onlyImages }) => {\r\n return (\r\n
\r\n
\r\n \r\n {onlyImages &&\r\n items.map((item, i) => )}\r\n\r\n {!onlyImages && items.map((item, i) => item)}\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default View;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport View from \"./View\";\r\n\r\nconst Carousel = ({ owlOptions, items, onlyImages }) => {\r\n const defaultOwlOptions = {\r\n loop: true,\r\n autoplay: true,\r\n autoplayTimeout: 5000,\r\n autoplayHoverPause: true,\r\n margin: 10,\r\n nav: false,\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n },\r\n 500: {\r\n items: 2,\r\n },\r\n 768: {\r\n items: 3,\r\n },\r\n 1200: {\r\n items: 5,\r\n },\r\n },\r\n };\r\n\r\n return (\r\n \r\n );\r\n};\r\nCarousel.propTypes = {\r\n items: PropTypes.array.isRequired,\r\n owlOptions: PropTypes.object,\r\n onlyImages: PropTypes.bool,\r\n};\r\n\r\nexport default Carousel;\r\n","import React from \"react\";\r\nimport ContentSection from \"components/Common/content-section\";\r\nimport Carousel from \"components/Carousel\";\r\nimport * as Constants from \"constants/index\";\r\nimport \"./happy-customers.scss\";\r\n\r\nconst HappyCustomers = () => {\r\n const getTestimonials = () => {\r\n return Constants.customerTestimonials.map((testimonial, i) => (\r\n
\r\n “{testimonial.testimonial}”\r\n
{testimonial.name}
\r\n
\r\n ));\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default HappyCustomers;\r\n","import React from \"react\";\r\nimport { Col, Row } from \"reactstrap\";\r\nimport GreenTickBalls from \"features/green-tick-balls/green-tick-balls\";\r\n\r\nconst WhyTrainWithUsPoints = () => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default WhyTrainWithUsPoints;\r\n","import React from \"react\";\r\nimport ContentSection from \"components/Common/content-section\";\r\nimport WhyTrainWithUsPoints from \"features/why-train-with-us-points/why-train-with-us-points\";\r\nimport \"./why-train-with-us.scss\";\r\n\r\nconst WhyTrainWithUs = () => {\r\n return (\r\n \r\n
\r\n

So Why Train With Us?

\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default WhyTrainWithUs;\r\n","import React from \"react\";\r\nimport { Col, Row } from \"reactstrap\";\r\nimport hltfse001 from \"../../../../assets/svgs/hltfse001.svg\";\r\nimport hltfse005 from \"../../../../assets/svgs/hltfse005.svg\";\r\nimport hltfse007 from \"../../../../assets/svgs/hltfse007.svg\";\r\nimport sitxfsa005 from \"../../../../assets/svgs/sitxfsa005.svg\";\r\nimport sitxfsa006 from \"../../../../assets/svgs/sitxfsa006.svg\";\r\nimport \"./certificate-info.scss\";\r\n\r\nconst CertificateInfo = () => {\r\n const getCertificateInfo = (svg, colorClass, code, unit) => {\r\n return (\r\n
\r\n
\r\n {`${code}\r\n
\r\n
\r\n

{code}

\r\n

{unit}

\r\n
\r\n
\r\n );\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n

\r\n Food Safety Supervisor Certificate for Hospitality or Retail\r\n Industries\r\n

\r\n {getCertificateInfo(\r\n sitxfsa005,\r\n \"orange-icon\",\r\n \"SITXFSA005\",\r\n \"Use Hygienic Practices for Food Safety\"\r\n )}\r\n {getCertificateInfo(\r\n sitxfsa006,\r\n \"orange-icon\",\r\n \"SITXFSA006\",\r\n \"Participate in Safe Food Handling Practices\"\r\n )}\r\n \r\n \r\n
\r\n

\r\n Food Safety Supervisor Certificates for Health or Community\r\n Industries\r\n

\r\n {getCertificateInfo(\r\n hltfse001,\r\n \"green-icon\",\r\n \"HLTFSE001\",\r\n \"Follow Basic Food Safety Practices\"\r\n )}\r\n {getCertificateInfo(\r\n hltfse005,\r\n \"green-icon\",\r\n \"HLTFSE005\",\r\n \"Apply and Monitor Food Safety Requirements\"\r\n )}\r\n {getCertificateInfo(\r\n hltfse007,\r\n \"green-icon\",\r\n \"HLTFSE007\",\r\n \"Oversee the Day to Day Implementation of Food Safety in the Workplace\"\r\n )}\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default CertificateInfo;\r\n","import React from \"react\";\r\nimport { Col, Row } from \"reactstrap\";\r\nimport ContentSection from \"components/Common/content-section\";\r\nimport LinkButton from \"components/link-button/link-button\";\r\nimport CertificateInfo from \"../certificate-info/certificate-info\";\r\nimport \"./business-info.scss\";\r\n\r\nconst BusinessInfo = () => {\r\n return (\r\n \r\n \r\n
\r\n \r\n \r\n

Are you a Business or Organisation?

\r\n\r\n

Buy vouchers for your staff...

\r\n

\r\n We take the hassle out of organising your staff Food Safety\r\n training. Our online Business portal makes it quick and easy for\r\n you to purchase Food Safety Courses for your staff or volunteers.\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 BusinessInfo;\r\n","import React from \"react\";\r\nimport ContentSection from \"components/Common/content-section\";\r\nimport Carousel from \"components/Carousel\";\r\nimport * as Constants from \"constants/index\";\r\nimport \"./happy-clients.scss\";\r\n\r\nconst HappyClients = () => {\r\n return (\r\n \r\n
\r\n

Our Happy Clients

\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default HappyClients;\r\n","import React from \"react\";\r\nimport Hero from \"./components/hero/hero\";\r\nimport InfographicContainer from \"./components/infographic-container/infographic-container\";\r\nimport WhatsNext from \"./components/whats-next/whats-next\";\r\nimport CoursesContainer from \"./components/courses-container/courses-container\";\r\nimport HappyCustomers from \"./components/happy-customers/happy-customers\";\r\nimport WhyTrainWithUs from \"./components/why-train-with-us/why-train-with-us\";\r\nimport BusinessInfo from \"./components/business-info/business-info\";\r\nimport HappyClients from \"./components/happy-clients/happy-clients\";\r\nimport PageTagging from \"components/Common/page-tagging/page-tagging\";\r\n\r\nconst Home = () => {\r\n return (\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 Home;\r\n","/**\r\n * Default field validators\r\n * by rcnet@solvable\r\n */\r\nimport validator from \"validator\";\r\n\r\nexport const required = (fieldName = \"Field\", value) => {\r\n if (value == null || validator.isEmpty(value.toString())) {\r\n return `${fieldName} is required.`;\r\n }\r\n return false;\r\n};\r\n\r\nexport const email = (value) => {\r\n if (!validator.isEmail(value)) {\r\n return `${value} is not a valid email.`;\r\n }\r\n return false;\r\n};\r\n\r\nexport const phone = (value) => {\r\n if (\r\n !validator.isNumeric(value.replace(/ /g, \"\")) ||\r\n value.replace(/ /g, \"\").length !== 10 ||\r\n value[0] !== \"0\" ||\r\n (value[1] !== \"2\" &&\r\n value[1] !== \"3\" &&\r\n value[1] !== \"4\" &&\r\n value[1] !== \"5\" &&\r\n value[1] !== \"7\" &&\r\n value[1] !== \"8\")\r\n )\r\n return `${value} is not a valid phone number. Please enter a 10 digit number starting with 0 (i.e. 0412 345 678 or 03 9123 4567)`;\r\n\r\n return false;\r\n};\r\n\r\nexport const min = (value, field, min) => {\r\n if (value.length < min) {\r\n return `${field} must be at least ${min} characters.`;\r\n }\r\n return false;\r\n};\r\n\r\nexport const max = (value, field, max) => {\r\n if (value.length > max) {\r\n return `${field} must not br more than ${max} characters.`;\r\n }\r\n return false;\r\n};\r\n\r\nexport const strongPassword = (value) => {\r\n const passwordStrengthRegex = /^(?=.*[!@#$&*0-9])(?=.*[a-z].*[a-z].*[a-z]).{8,50}$/m;\r\n\r\n if (!passwordStrengthRegex.test(value))\r\n return \"Sorry, your password is not secure enough. It must be at least 8 characters with at least 1 number or special character.\";\r\n\r\n return false;\r\n};\r\n\r\nexport const meessage = (message) => {\r\n return `${message}`;\r\n};\r\n","/**\r\n * Solvable Form :)\r\n * Form Handler for super Custom Field Validation requirement or if you dont want to rely on heavy weight validation libraries (open source).\r\n * Note: This form handler will be converted into a Form Component in the future. If I have a free time. :-)\r\n * This will support Pristine, Touch properties in the future. For now lets make it simple!\r\n * by Rcnet@solvable 7.25.2019\r\n */\r\nconst formHandler = () => {\r\n let fieldComponents = [];\r\n let formFields = []; // holds form individual statuses, pristine, touch props (future scope)\r\n\r\n const add = comp => {\r\n if (comp === null) return;\r\n fieldComponents.push(comp);\r\n };\r\n\r\n const validate = options => {\r\n formFields = [];\r\n const opts = Object.assign(\r\n { validFn: () => {}, invalidFn: () => {} },\r\n options\r\n );\r\n\r\n // Check for unmounted components, this is to prevent dealing with a dead component.\r\n fieldComponents\r\n .filter(x => x._isValidComponentInstance())\r\n .forEach(c => {\r\n if (c.hasOwnProperty(\"_validateField\")) {\r\n let valResult = c._validateField();\r\n formFields.push({ ...valResult });\r\n }\r\n });\r\n\r\n const { validFn, invalidFn } = opts;\r\n\r\n _isValid() ? (validFn || (() => {}))() : (invalidFn || (() => {}))();\r\n };\r\n\r\n const getFields = () => [...formFields]; // return clone instance to avoid mutation of internal object\r\n const getFieldErrors = () => formFields.filter(x => x.error !== false);\r\n const getValidFields = () => formFields.filter(x => x.error === false);\r\n const getErrorCount = () => formFields.filter(x => x.error !== false).length;\r\n\r\n /**\r\n * Before executing methods below, execute validate method first to get the latest validation result.\r\n */\r\n const isValid = () => _isValid();\r\n const invalid = () => !_isValid();\r\n const _isValid = () => formFields.every(f => f.error === false);\r\n\r\n return {\r\n add,\r\n getFields,\r\n getFieldErrors,\r\n getValidFields,\r\n getErrorCount,\r\n validate,\r\n isValid,\r\n invalid\r\n };\r\n};\r\n\r\nexport default formHandler;\r\n","import React, { Component } from \"react\";\r\nimport { Form, FormGroup } from \"reactstrap\";\r\nimport InputField from \"../Common/Fields/Input-Field\";\r\nimport ToggleDisplay from \"react-toggle-display\";\r\nimport \"./contact-box.scss\";\r\nimport * as validators from \"../Common/Fields/Validators/Field-Validators\";\r\nimport BlockUiFx from \"../Common/Block-Ui-Fx/Block-Ui-Fx\";\r\nimport KeyboardEventHandler from \"react-keyboard-event-handler\";\r\nimport formHandler from \"./../Common/Fields/form-handler\";\r\nimport ButtonFx from \"../Common/Button-Fx/Button-Fx\";\r\n\r\n// Combination of validations\r\nconst emailValidator = (fieldName, value) => {\r\n if (validators.required(fieldName, value))\r\n return validators.required(fieldName, value);\r\n if (validators.email(value)) return validators.email(value);\r\n\r\n return false;\r\n};\r\n\r\nclass ContactBox extends Component {\r\n render() {\r\n const { name, email, phone, message } = this.props.contactBox.fields;\r\n const { hasBeenSent, isSending } = this.props.contactBox;\r\n const { onSubmit, onInputChange, onFieldError, validate } = this.props;\r\n\r\n const form = formHandler();\r\n\r\n return (\r\n
\r\n \r\n
\r\n

\r\n Thanks, a member of the support team will be in contact with you\r\n soon.\r\n

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n validators.required(\"Name\", val)}\r\n onFieldError={onFieldError}\r\n ref={form.add}\r\n onChange={onInputChange}\r\n />\r\n \r\n \r\n emailValidator(\"Email Address\", val)}\r\n onFieldError={onFieldError}\r\n onChange={onInputChange}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n validators.required(\"Message\", val)}\r\n onFieldError={onFieldError}\r\n onChange={onInputChange}\r\n />\r\n {/* TODO: change to textarea */}\r\n \r\n \r\n \r\n form.validate({\r\n validFn: () => onSubmit(),\r\n invalidFn: () => console.log(form.getFieldErrors()),\r\n })\r\n }\r\n >\r\n Submit\r\n \r\n \r\n
\r\n \r\n form.validate({ validFn: () => onSubmit() })\r\n }\r\n />\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default ContactBox;\r\n","import HttpClient from \"../../../coreLib//http/httpClient\";\r\n\r\nconst Service = () => {\r\n let httpClient = HttpClient();\r\n\r\n const send = payload => {\r\n return httpClient.post(\"v1/contactus/send\", payload);\r\n };\r\n\r\n return {\r\n send\r\n };\r\n};\r\n\r\nexport default Service;\r\n","/**\r\n * Action Creator definitions\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\nimport { addNotification } from \"../../../redux/system/system-action-creators\";\r\nimport * as Constants from \"../../../constants\";\r\nimport HttpService from \"./service\";\r\n\r\n// =================\r\n// Contact\r\n// =================\r\n\r\n// Async\r\nexport const onSubmit = fields => {\r\n // eslint-disable-next-line no-unused-vars\r\n const { name, email, message } = fields;\r\n\r\n return dispatch => {\r\n if (!name || name === undefined || name === \"\") {\r\n dispatch(addNotification(\"Please enter your name.\", \"warning\"));\r\n return;\r\n }\r\n\r\n if (!email || email === undefined || email === \"\") {\r\n dispatch(addNotification(\"Please enter your email address.\", \"warning\"));\r\n return;\r\n }\r\n\r\n if (!Constants.emailRegex.test(email)) {\r\n dispatch(\r\n addNotification(\"Please enter a valid email address.\", \"warning\")\r\n );\r\n return;\r\n }\r\n\r\n if (!message || message === undefined || message === \"\") {\r\n dispatch(addNotification(\"Please enter your message.\", \"warning\"));\r\n return;\r\n }\r\n\r\n dispatch(onSubmitRequest());\r\n HttpService()\r\n .send(fields)\r\n .then(() => dispatch(onSubmitSuccess()))\r\n .catch(() => {\r\n dispatch(onSubmitFailure());\r\n dispatch(addNotification(\"Sending failed.\", \"warning\"));\r\n });\r\n };\r\n};\r\n\r\nconst onSubmitRequest = () => ({\r\n type: ActionTypes.CONTACT_BOX_SUBMIT_REQUEST\r\n});\r\n\r\nconst onSubmitSuccess = () => ({\r\n type: ActionTypes.CONTACT_BOX_SUBMIT_SUCCESS\r\n});\r\n\r\nconst onSubmitFailure = () => ({\r\n type: ActionTypes.CONTACT_BOX_SUBMIT_FAILURE\r\n});\r\n\r\nexport const formInputChange = (name, value, error) => ({\r\n type: ActionTypes.CONTACT_BOX_FORM_INPUT_CHANGE,\r\n payload: {\r\n name: name,\r\n value: value,\r\n error: error\r\n }\r\n});\r\n","import { connect } from \"react-redux\";\r\nimport ContactBox from \"./Contact-Box\";\r\nimport { selectContactBox } from \"./redux/reducer\";\r\nimport { onSubmit } from \"./redux/action-creators\";\r\nimport * as actionCreators from \"./redux/action-creators\";\r\nimport * as sysActionCreators from \"../../redux/system/system-action-creators\";\r\n\r\nfunction mapStateToProps(state) {\r\n const contactBox = selectContactBox(state);\r\n\r\n return {\r\n contactBox: contactBox,\r\n fields: contactBox.fields,\r\n fieldErrors: contactBox.fieldErrors\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => ({\r\n onInputChange: ({ name, value, error }) => {\r\n dispatch(actionCreators.formInputChange(name, value, error));\r\n },\r\n onFieldError: error =>\r\n dispatch(sysActionCreators.addNotification(error, \"warning\")),\r\n dispatch: dispatch,\r\n history: ownProps.history\r\n});\r\n\r\nconst mergeFormProps = (stateProps, dispatchProps) => ({\r\n ...stateProps,\r\n ...dispatchProps,\r\n onSubmit: () => {\r\n if (validate(stateProps)) return;\r\n dispatchProps.dispatch(onSubmit(stateProps.contactBox.fields));\r\n },\r\n validate: () => {\r\n return validate(stateProps);\r\n }\r\n});\r\n\r\nconst validate = stateProps => {\r\n const fields = stateProps.fields;\r\n const fieldErrors = stateProps.fieldErrors;\r\n const errMessages = Object.keys(fieldErrors).filter(k => fieldErrors[k]);\r\n\r\n if (!fields.name) return true;\r\n if (!fields.email) return true;\r\n if (!fields.message) return true;\r\n if (errMessages.length > 0) return true;\r\n\r\n return false;\r\n};\r\n\r\nconst ContactBoxContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n mergeFormProps\r\n)(ContactBox);\r\n\r\nexport default ContactBoxContainer;\r\n","import React from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Col, Row } from \"reactstrap\";\r\nimport ContentSection from \"components/Common/content-section\";\r\nimport PageTagging from \"components/Common/page-tagging/page-tagging\";\r\nimport ContactBoxContainer from \"components/Contact-Box/Contact-Box.Container\";\r\nimport LinkButton from \"components/link-button/link-button\";\r\nimport GreenTickBalls from \"features/green-tick-balls/green-tick-balls\";\r\n\r\nconst ContactUs = () => {\r\n return (\r\n \r\n \r\n
\r\n

Contact Us

\r\n \r\n Please read our informative{\" \"}\r\n frequently asked questions (FAQs) first\r\n as these may instantly assist you.\r\n ,\r\n \r\n Student support is available from 9am-5pm Monday to Friday (QLD\r\n Time) via email and phone.\r\n ,\r\n Email us using the email box below.,\r\n \r\n Call us on 0400 757 645\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 ContactUs;\r\n","import React, { Component } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Button, Form, FormGroup } from \"reactstrap\";\r\nimport InputField from \"../Common/Fields/Input-Field\";\r\nimport \"./login-box.scss\";\r\n\r\nclass LoginBox extends Component {\r\n render() {\r\n const { username, password } = this.props.loginData.fields;\r\n const { onLogin, onInputChange } = this.props;\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n   \r\n \r\n Forgot your Password?\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default LoginBox;\r\n","import { connect } from \"react-redux\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport LoginBox from \"./Login-Box\";\r\nimport { selectLoginData } from \"../../redux/system/login-reducer\";\r\nimport {\r\n onLogin,\r\n onLoginInputChange\r\n} from \"../../redux/system/system-action-creators\";\r\n\r\nfunction mapStateToProps(state) {\r\n const loginData = selectLoginData(state);\r\n\r\n return {\r\n loginData: loginData\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => ({\r\n onInputChange: ({ name, value, error }) => {\r\n dispatch(onLoginInputChange(name, value, error));\r\n },\r\n dispatch: dispatch,\r\n history: ownProps.history\r\n});\r\n\r\nconst mergeFormProps = (stateProps, dispatchProps, ownProps) => ({\r\n ...stateProps,\r\n ...dispatchProps,\r\n onLogin: e => {\r\n e.preventDefault();\r\n let returnUrl = getRedirectPath(ownProps);\r\n dispatchProps.dispatch(\r\n onLogin(\r\n stateProps.loginData.fields.username,\r\n stateProps.loginData.fields.password,\r\n returnUrl,\r\n ownProps.history\r\n )\r\n );\r\n }\r\n});\r\n\r\n/**\r\n * Redirect ReturnUrl if its provided otherwise go to default route '/' :-)\r\n */\r\nconst getRedirectPath = props => {\r\n const locationState = props.location.state;\r\n const pathName =\r\n locationState && locationState.from && locationState.from.pathname;\r\n return pathName || \"/\";\r\n};\r\n\r\n// const validate = stateProps => {\r\n// if (\r\n// !stateProps.loginData.fields.username ||\r\n// stateProps.loginData.fields.username == undefined ||\r\n// stateProps.loginData.fields.username === \"\"\r\n// ) {\r\n// dispatch(\r\n// addNotification(\"Please enter your email address........\", \"warning\")\r\n// );\r\n// return false;\r\n// }\r\n\r\n// return true;\r\n// };\r\n\r\nconst LoginBoxContainer = withRouter(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n mergeFormProps\r\n )(LoginBox)\r\n);\r\n\r\nexport default LoginBoxContainer;\r\n","import React from \"react\";\r\nimport { Col, Row } from \"reactstrap\";\r\nimport { connect } from \"react-redux\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport ContentSection from \"components/Common/content-section\";\r\nimport PageTagging from \"components/Common/page-tagging/page-tagging\";\r\nimport LoginBoxContainer from \"components/Login-Box/Login-Box.Container\";\r\nimport LinkButton from \"components/link-button/link-button\";\r\nimport { selectLoginData } from \"../../redux/system/login-reducer\";\r\n\r\nconst LoginView = () => {\r\n return (\r\n \r\n \r\n
\r\n \r\n \r\n

Login

\r\n
Already a student? Login below.
\r\n \r\n \r\n \r\n

Not a student?

\r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nfunction mapStateToProps(state) {\r\n const logInData = selectLoginData(state);\r\n return {\r\n logInData: logInData,\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => ({\r\n dispatch: dispatch,\r\n history: ownProps.history,\r\n});\r\n\r\nconst mergeFormProps = (stateProps, dispatchProps) => ({\r\n ...stateProps,\r\n ...dispatchProps,\r\n});\r\n\r\nconst Login = withRouter(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n mergeFormProps\r\n )(LoginView)\r\n);\r\n\r\nexport default Login;\r\n","import React from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Table } from \"reactstrap\";\r\nimport ContentSection from \"components/Common/content-section\";\r\nimport PageTagging from \"components/Common/page-tagging/page-tagging\";\r\nimport CourseService from \"services/course-service\";\r\nimport \"./new-enrolment.scss\";\r\n\r\nconst NewEnrolment = () => {\r\n const courseService = CourseService();\r\n\r\n return (\r\n <>\r\n \r\n \r\n
\r\n

Enrol in a Course!

\r\n \r\n Your Courses\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {courseService.getCourses().map((course, i) => (\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
CoursePrice\r\n
\r\n {course.courseId !== 6 ? (\r\n course.courseTitle\r\n ) : (\r\n <>\r\n Food Safety Supervisor Hospitality & Retail{\" \"}\r\n \r\n (The NSW Food Safety Supervisor Certificate)\r\n \r\n \r\n )}\r\n
({course.certificateCodesString})\r\n
${course.courseCost}.00\r\n \r\n Enrol Now\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default NewEnrolment;\r\n","import HttpClient from \"../../../coreLib//http/httpClient\";\r\n\r\nconst Service = () => {\r\n let httpClient = HttpClient();\r\n\r\n const submitStep1 = payload => {\r\n return httpClient.post(\"v1/enrolment/step1\", payload);\r\n };\r\n\r\n const applyDiscountCode = (courseId, discountCode) => {\r\n return httpClient.post(\"v1/enrolment/get-discounted-course-price\", {\r\n courseId,\r\n promoCode: discountCode\r\n });\r\n };\r\n\r\n return {\r\n submitStep1,\r\n applyDiscountCode\r\n };\r\n};\r\n\r\nexport default Service;\r\n","import HttpClient from \"../../../coreLib//http/httpClient\";\r\n\r\nconst Service = () => {\r\n let httpClient = HttpClient();\r\n\r\n const getStep3 = id => {\r\n return httpClient.get(`v1/enrolment/${id}/step3`);\r\n };\r\n\r\n const submitStep3 = payload => {\r\n let { userCourseId } = payload;\r\n let model = {\r\n workplaceIsHome: payload.whereExperience === \"Home\" ? true : false,\r\n workplaceName: payload.workplaceName,\r\n workplaceSuburb: payload.workplaceSuburb,\r\n workplacePhone: payload.workplacePhone,\r\n currentEmploymentStatus: payload.currentEmploymentStatus,\r\n observerFirstName: payload.observerFirstName,\r\n observerLastName: payload.observerLastName,\r\n observerEmail: payload.observerEmail,\r\n relationshipToObserver: payload.relationshipToObserver\r\n };\r\n return httpClient.put(`v1/enrolment/${userCourseId}/step3`, model);\r\n };\r\n\r\n return {\r\n getStep3,\r\n submitStep3\r\n };\r\n};\r\n\r\nexport default Service;\r\n","/**\r\n * Action Creator definitions\r\n */\r\nimport IdentityService from \"../../../coreLib/auth/userIdentity\";\r\nimport { addNotification } from \"../../../redux/system/system-action-creators\";\r\nimport CourseService from \"../../../services/course-service\";\r\nimport DateService from \"../../../services/date-service\";\r\nimport Step1Service from \"../services/step1.service\";\r\nimport Step3Service from \"../services/step3.service\";\r\nimport { ActionTypes } from \"./action-types\";\r\n\r\n// ----------------------------\r\n// Enrolment Actions\r\n// ----------------------------\r\n\r\n// Async\r\nexport const onLoadCourseDetails = (courseId) => {\r\n return (dispatch) => {\r\n dispatch(onLoadCourseDetailsRequest());\r\n const courseService = CourseService();\r\n var course = courseService.getCourse(courseId);\r\n\r\n if (course != null) {\r\n dispatch(\r\n onLoadCourseDetailsSuccess(\r\n course.courseId,\r\n course.courseTitle,\r\n course.certificateCodesString,\r\n course.courseCost,\r\n course.validStates\r\n )\r\n );\r\n } else dispatch(onLoadCourseDetailsFailure());\r\n };\r\n};\r\n\r\nexport const setEmail = () => (dispatch) => {\r\n let email = IdentityService().getEmail();\r\n dispatch(step1FormInputChange(\"email\", email));\r\n};\r\n\r\nconst onLoadCourseDetailsRequest = () => ({\r\n type: ActionTypes.ENROLMENT_LOAD_COURSE_DETAILS_REQUEST,\r\n});\r\n\r\nconst onLoadCourseDetailsSuccess = (\r\n courseId,\r\n courseTitle,\r\n courseCode,\r\n coursePrice,\r\n validStates\r\n) => ({\r\n type: ActionTypes.ENROLMENT_LOAD_COURSE_DETAILS_SUCCESS,\r\n payload: {\r\n courseId: courseId,\r\n courseTitle: courseTitle,\r\n courseCode: courseCode,\r\n coursePrice: coursePrice,\r\n validStates: validStates,\r\n },\r\n});\r\n\r\nconst onLoadCourseDetailsFailure = () => ({\r\n type: ActionTypes.ENROLMENT_LOAD_COURSE_DETAILS_FAILURE,\r\n});\r\n\r\nexport const clearStep1FormAddress = () => ({\r\n type: ActionTypes.STEP_1_CLEAR_ADDRESS,\r\n});\r\n\r\nexport const step1CreditCardInputChange = (card) => (dispatch) => {\r\n const { field, value, meta } = card;\r\n dispatch(step1FormInputChange(field, value));\r\n let isCreditCardValid = Object.values(meta).every((m) => m === undefined);\r\n dispatch(setCardValidity(isCreditCardValid));\r\n};\r\n\r\nconst setCardValidity = (value) => ({\r\n type: ActionTypes.STEP_1_SET_CARD_VALIDITY,\r\n payload: value,\r\n});\r\n\r\nexport const updateStep1FormAutocompleteAddress = (data) => {\r\n return (dispatch) => {\r\n dispatch({\r\n type: ActionTypes.STEP_1_AUTOCOMPLETE_ADDRESS_UPDATE_SUCCESS,\r\n payload: data,\r\n });\r\n };\r\n};\r\n\r\n// ----------------------------\r\n// Step 1 Actions\r\n// ----------------------------\r\n\r\nexport const toggleManualAddressEntry = () => ({\r\n type: ActionTypes.STEP_1_TOGGLE_MANUAL_ADDRESS_ENTRY,\r\n});\r\n\r\nexport const togglePromoCodeEntry = () => ({\r\n type: ActionTypes.STEP_1_TOGGLE_PROMO_CODE_ENTRY,\r\n});\r\n\r\nconst showManualAddressEntry = () => ({\r\n type: ActionTypes.STEP_1_SHOW_MANUAL_ADDRESS_ENTRY,\r\n});\r\n\r\nexport const toggleShowConfirmNamePopup = () => ({\r\n type: ActionTypes.STEP_1_TOGGLE_SHOW_CONFIRM_NAME_POPUP,\r\n});\r\n\r\nexport const step1Init = (hasCourses) => ({\r\n type: ActionTypes.STEP_1_INIT,\r\n payload: {\r\n hasCourses,\r\n },\r\n});\r\n\r\n// Async\r\nexport const onSubmitEnrolmentStep1 = (stateProps, fields, history) => {\r\n const {\r\n streetNumber,\r\n streetName,\r\n city,\r\n state,\r\n postcode,\r\n email,\r\n cardNumber,\r\n cardExpiryDate,\r\n cardName,\r\n cardCvc,\r\n promoCode,\r\n understandTerms,\r\n } = fields;\r\n return (dispatch, getState) => {\r\n const { hasPromoCode } = stateProps;\r\n // Submit Validation\r\n\r\n const { addressEntry } = getState().courseEnrolment.step1;\r\n\r\n if (!addressEntry.enterAddressManually && !addressEntry.fullAddress) {\r\n dispatch(addNotification(\"Address is required\", \"error\"));\r\n return true;\r\n }\r\n\r\n if (!streetNumber || streetNumber === undefined || streetNumber === \"\") {\r\n dispatch(addNotification(\"Street number is required.\", \"warning\"));\r\n dispatch(showManualAddressEntry());\r\n return;\r\n }\r\n\r\n if (!streetName || streetName === undefined || streetName === \"\") {\r\n dispatch(addNotification(\"Street name is required.\", \"warning\"));\r\n return;\r\n }\r\n\r\n if (!city || city === undefined || city === \"\") {\r\n dispatch(addNotification(\"City is required.\", \"warning\"));\r\n return;\r\n }\r\n\r\n if (!state || state === undefined || state === \"\") {\r\n dispatch(addNotification(\"State is required.\", \"warning\"));\r\n return;\r\n }\r\n\r\n if (!postcode || postcode === undefined || postcode === \"\") {\r\n dispatch(addNotification(\"Post code is required.\", \"warning\"));\r\n return;\r\n }\r\n\r\n if (!email || email === undefined || email === \"\") {\r\n dispatch(addNotification(\"Email address code is required.\", \"warning\"));\r\n return;\r\n }\r\n\r\n if (!understandTerms) {\r\n dispatch(\r\n addNotification(\r\n \"Please tick the student handbook acknowledgement.\",\r\n \"warning\"\r\n )\r\n );\r\n return;\r\n }\r\n\r\n if (hasPromoCode) {\r\n if (!promoCode || promoCode === undefined || promoCode === \"\") {\r\n dispatch(addNotification(\"Promo code is required.\", \"warning\"));\r\n return;\r\n }\r\n } else {\r\n if (!cardName || cardName === undefined || cardName === \"\") {\r\n dispatch(addNotification(\"Card name is required.\", \"warning\"));\r\n return;\r\n }\r\n if (!cardNumber || cardNumber === undefined || cardNumber === \"\") {\r\n dispatch(addNotification(\"Card number is required.\", \"warning\"));\r\n return;\r\n }\r\n if (\r\n !cardExpiryDate ||\r\n cardExpiryDate === undefined ||\r\n cardExpiryDate === \"\"\r\n ) {\r\n dispatch(addNotification(\"Card expiry date is required.\", \"warning\"));\r\n return;\r\n }\r\n if (!cardCvc || cardCvc === undefined || cardCvc === \"\") {\r\n dispatch(addNotification(\"Card CVC is required.\", \"warning\"));\r\n return;\r\n }\r\n }\r\n // Submit Validation\r\n\r\n let model = {\r\n ...fields,\r\n courseId: stateProps.courseDetails.courseId,\r\n cardExpiryDate: fields.cardExpiryDate.replace(/ /g, \"\"),\r\n fullAddress: addressEntry.fullAddress,\r\n };\r\n\r\n dispatch(onSubmitEnrolmentStep1Request());\r\n Step1Service()\r\n .submitStep1(model)\r\n .then((resp) => {\r\n const { enrolmentSuccessful, errorMessage, id } = resp.data;\r\n if (!enrolmentSuccessful) {\r\n dispatch(onSubmitEnrolmentStep1Failure());\r\n dispatch(addNotification(errorMessage, \"warning\"));\r\n } else {\r\n dispatch(onSubmitEnrolmentStep1Success());\r\n dispatch(\r\n addNotification(\r\n \"Yay that worked!! Let’s continue with your enrolment.\",\r\n \"success\"\r\n )\r\n );\r\n history.push(`/course-enrolment/${id}/step-2/`);\r\n }\r\n })\r\n .catch((err) => {\r\n dispatch(onSubmitEnrolmentStep1Failure());\r\n dispatch(\r\n addNotification(\r\n err.response.data.Message\r\n ? err.response.data.Message\r\n : err.response.data.title\r\n ? err.response.data.title\r\n : \"There was an issue submitting the form\",\r\n \"warning\"\r\n )\r\n );\r\n });\r\n };\r\n};\r\n\r\nconst onSubmitEnrolmentStep1Request = () => ({\r\n type: ActionTypes.STEP_1_SUBMIT_ENROLMENT_REQUEST,\r\n});\r\nconst onSubmitEnrolmentStep1Success = () => ({\r\n type: ActionTypes.STEP_1_SUBMIT_ENROLMENT_SUCCESS,\r\n});\r\nconst onSubmitEnrolmentStep1Failure = () => ({\r\n type: ActionTypes.STEP_1_SUBMIT_ENROLMENT_FAILURE,\r\n});\r\n\r\nconst onSubmitEnrolmentStep1UpdateStep2Address = (\r\n unitNumber,\r\n streetNumber,\r\n streetName,\r\n city,\r\n state,\r\n postcode\r\n) => ({\r\n type: ActionTypes.STEP_2_UPDATE_ADDRESS_FROM_STEP_1_ADDRESS,\r\n payload: {\r\n unitNumber: unitNumber,\r\n streetNumber: streetNumber,\r\n streetName: streetName,\r\n city: city,\r\n state: state,\r\n postcode: postcode,\r\n },\r\n});\r\n\r\n// Async\r\nexport const onSubmitEnrolmentStep3 = (fields, history) => (dispatch) => {\r\n dispatch(onSubmitEnrolmentStep3Request());\r\n Step3Service()\r\n .submitStep3(fields)\r\n .then((resp) => {\r\n dispatch(onSubmitEnrolmentStep3Success());\r\n dispatch(\r\n addNotification(\"Awesome, now you can begin your course.\", \"success\")\r\n );\r\n history.push(`/course-content/${fields.userCourseId}`);\r\n })\r\n .catch((err) => {\r\n dispatch(onSubmitEnrolmentStep3Failure());\r\n dispatch(\r\n addNotification(\"There was an issue submitting the form\", \"warning\")\r\n );\r\n });\r\n};\r\n\r\nconst onSubmitEnrolmentStep3Request = () => ({\r\n type: ActionTypes.STEP_3_SUBMIT_ENROLMENT_REQUEST,\r\n});\r\nconst onSubmitEnrolmentStep3Success = () => ({\r\n type: ActionTypes.STEP_3_SUBMIT_ENROLMENT_SUCCESS,\r\n});\r\nconst onSubmitEnrolmentStep3Failure = () => ({\r\n type: ActionTypes.STEP_3_SUBMIT_ENROLMENT_FAILURE,\r\n});\r\n\r\n// ----------------------------\r\n// Form Actions\r\n// ----------------------------\r\n\r\nexport const step1FormInputChange = (name, value, error) => ({\r\n type: ActionTypes.STEP_1_FORM_INPUT_CHANGE,\r\n payload: {\r\n name: name,\r\n value: value,\r\n error: error,\r\n },\r\n});\r\n\r\nexport const step3FormInputChange = (name, value, error) => {\r\n return (dispatch, getState) => {\r\n dispatch({\r\n type: ActionTypes.STEP_3_FORM_INPUT_CHANGE,\r\n payload: {\r\n name: name,\r\n value: value,\r\n error: error,\r\n },\r\n });\r\n\r\n switch (name) {\r\n case \"whereExperience\":\r\n dispatch({\r\n type: ActionTypes.STEP_3_TOGGLE_WHERE_EXPERIENCE,\r\n payload: value !== \"Home\",\r\n });\r\n break;\r\n default:\r\n break;\r\n }\r\n dispatch(validateStep3Func());\r\n };\r\n};\r\n\r\nconst validateStep3Func = () => {\r\n return (dispatch, getState) => {\r\n let fieldVisibility = getState().courseEnrolment.step3.fieldVisibility;\r\n let fields = getState().courseEnrolment.step3.fields;\r\n let fieldErrors = getState().courseEnrolment.step3.fieldErrors;\r\n let isFormValid = !validateStep3(fields, fieldVisibility, fieldErrors);\r\n dispatch({\r\n type: ActionTypes.STEP_3_FORM_VALID,\r\n payload: isFormValid,\r\n });\r\n };\r\n};\r\n\r\nconst validateStep3 = (fields, fieldVisibility, fieldErrors) => {\r\n const errMessages = Object.keys(fieldErrors).filter((k) => fieldErrors[k]);\r\n if (!fields.whereExperience) return true;\r\n if (!fields.relationshipToObserver) return true;\r\n if (!fields.observerFirstName) return true;\r\n if (!fields.observerLastName) return true;\r\n if (!fields.observerEmail) return true;\r\n if (fieldVisibility.showExperience && fieldVisibility.showWorkPlaceName) {\r\n if (!fields.workplaceName) return true;\r\n if (!fields.workplaceSuburb) return true;\r\n if (!fields.workplacePhone) return true;\r\n }\r\n if (fieldVisibility.showExperience && !fieldVisibility.showWorkPlaceName) {\r\n if (!fields.workplaceSuburb) return true;\r\n if (!fields.workplacePhone) return true;\r\n }\r\n if (errMessages.length > 0) return true;\r\n return false;\r\n};\r\n\r\nexport const step2FormDateChange = (name, value) => {\r\n const dateService = DateService();\r\n\r\n const date = dateService.formatDate(value, \"YYYY-MM-DD\");\r\n\r\n return {\r\n type: ActionTypes.STEP_2_FORM_DATE_CHANGE,\r\n payload: {\r\n name: name,\r\n value: date,\r\n },\r\n };\r\n};\r\n\r\nexport const step3FormDateChange = (name, value) => {\r\n const dateService = DateService();\r\n\r\n const date = dateService.formatDate(value, \"YYYY-MM-DD\");\r\n\r\n return {\r\n type: ActionTypes.STEP_3_FORM_DATE_CHANGE,\r\n payload: {\r\n name: name,\r\n value: date,\r\n },\r\n };\r\n};\r\n\r\nexport const step3OnInit = (id, history) => {\r\n return (dispatch) => {\r\n dispatch(step3OnInitStarted());\r\n Step3Service()\r\n .getStep3(id)\r\n .then((resp) => {\r\n dispatch(step3OnInitSucceeded(resp.data));\r\n const {\r\n enrolmentCompleted,\r\n redirectToStep2,\r\n courseId,\r\n userCourseid,\r\n } = resp.data;\r\n if (enrolmentCompleted) {\r\n history.push(`/course-content/`);\r\n return false;\r\n }\r\n if (redirectToStep2) {\r\n history.push(`/course-enrolment/${userCourseid}/step-2/`);\r\n return false;\r\n }\r\n dispatch(onLoadCourseDetails(courseId));\r\n dispatch(validateStep3Func());\r\n })\r\n .catch((err) => {\r\n dispatch(step3OnInitFailed());\r\n addNotification(\"There was an issue loading the form.\", \"warning\");\r\n });\r\n };\r\n};\r\n\r\nconst step3OnInitStarted = () => {\r\n return (dispatch) => {\r\n dispatch({\r\n type: ActionTypes.STEP_3_INIT,\r\n });\r\n };\r\n};\r\n\r\nconst step3OnInitSucceeded = (payload) => {\r\n return (dispatch) => {\r\n dispatch({\r\n type: ActionTypes.STEP_3_INIT_SUCCEEDED,\r\n payload,\r\n });\r\n };\r\n};\r\n\r\nconst step3OnInitFailed = () => {\r\n return (dispatch) => {\r\n dispatch({\r\n type: ActionTypes.STEP_3_INIT_FAILED,\r\n });\r\n };\r\n};\r\n\r\nexport const toggleDiscountCodeForm = () => (dispatch) => {\r\n dispatch({ type: ActionTypes.STEP_1_APPLY_DISCOUNT_TOGGLE_DISCOUNT_CODE });\r\n};\r\n\r\nexport const applyDiscountCode = (courseId, discountCode) => (dispatch) => {\r\n dispatch(onApplyDiscountCodeRequest());\r\n Step1Service()\r\n .applyDiscountCode(courseId, discountCode)\r\n .then((resp) => {\r\n let { promoCodeValid, totalAfterDiscount } = resp.data;\r\n if (promoCodeValid) {\r\n dispatch(onApplyDiscountCodeSuccess(totalAfterDiscount));\r\n dispatch(addNotification(\"Promo code has been applied.\"));\r\n } else {\r\n dispatch(addNotification(\"Invalid promo code\", \"warning\"));\r\n dispatch(onApplyDiscountCodeFailure());\r\n }\r\n })\r\n .catch(() => {\r\n dispatch(addNotification(\"Invalid promo code\", \"warning\"));\r\n dispatch(onApplyDiscountCodeFailure());\r\n });\r\n};\r\n\r\nconst onApplyDiscountCodeRequest = () => ({\r\n type: ActionTypes.STEP_1_APPLY_DISCOUNT_CODE_REQUEST,\r\n});\r\n\r\nconst onApplyDiscountCodeSuccess = (totalAfterDiscount) => ({\r\n type: ActionTypes.STEP_1_APPLY_DISCOUNT_CODE_SUCCESS,\r\n totalAfterDiscount,\r\n});\r\n\r\nconst onApplyDiscountCodeFailure = () => ({\r\n type: ActionTypes.STEP_1_APPLY_DISCOUNT_CODE_FAILURE,\r\n});\r\n","/**\r\n * Checkbox\r\n * Adam Luck @solvable Jun 13, 2019\r\n */\r\nimport React, { Component } from \"react\";\r\nimport { Input, Label, FormGroup } from \"reactstrap\";\r\nimport PropTypes from \"prop-types\";\r\nimport debounce from \"lodash/debounce\";\r\nimport \"./Fields.scss\";\r\n\r\nconst EVENT_DEBOUNCE = 2000;\r\n\r\nclass CheckboxField extends Component {\r\n static propTypes = {\r\n name: PropTypes.string.isRequired,\r\n value: PropTypes.bool,\r\n label: PropTypes.string.isRequired,\r\n validate: PropTypes.func,\r\n onChange: PropTypes.func.isRequired,\r\n onFieldError: PropTypes.func,\r\n enableFieldColorError: PropTypes.bool,\r\n enableFieldErrorMessage: PropTypes.bool,\r\n enableFieldErrorNotification: PropTypes.bool\r\n };\r\n\r\n static defaultProps = {\r\n enableFieldColorError: true,\r\n enableFieldErrorMessage: false,\r\n enableFieldErrorNotification: true,\r\n onFieldError: () => {}\r\n };\r\n\r\n state = {\r\n value: this.props.value,\r\n error: false\r\n };\r\n\r\n _isMounted = false;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.debouncedCallback = debounce(\r\n (evt, error) => this.fireFieldErrorEvent(error),\r\n EVENT_DEBOUNCE\r\n );\r\n }\r\n\r\n componentDidMount() {\r\n this._isMounted = true;\r\n }\r\n\r\n fireFieldErrorEvent = error => this.props.onFieldError(error);\r\n\r\n componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n static getDerivedStateFromProps(props, state) {\r\n return { value: props.value };\r\n }\r\n\r\n onChange = evt => {\r\n this._detectChange(evt.target.checked ? \"on\" : false);\r\n };\r\n\r\n onBlur = evt => {\r\n let error = this._detectChange(evt.target.checked ? \"on\" : false);\r\n\r\n // Persist react synthetic event\r\n evt.persist();\r\n if (error) this.debouncedCallback(evt, error);\r\n };\r\n\r\n _detectChange = value => {\r\n const name = this.props.name;\r\n //const value = evt.target.checked ? \"on\" : false;\r\n const error = this.props.validate ? this.props.validate(value) : false;\r\n this.setState({ value, error });\r\n this.props.onChange({ name, value, error });\r\n\r\n return error;\r\n };\r\n\r\n // Note: Internal function, used by this component\r\n _validateField = () => {\r\n if (!this._isMounted) {\r\n return;\r\n }\r\n let error = this._detectChange(this.state.value);\r\n if (error) this.debouncedCallback(null, error);\r\n return { name: this.props.name, error: error };\r\n };\r\n\r\n _isValidComponentInstance = () => {\r\n return this._isMounted;\r\n };\r\n\r\n render() {\r\n const {\r\n validate,\r\n label,\r\n value,\r\n enableFieldColorError,\r\n enableFieldErrorMessage,\r\n enableFieldErrorNotification,\r\n onFieldError,\r\n ...other\r\n } = this.props;\r\n\r\n return (\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 CheckboxField;\r\n","import React from \"react\";\r\nimport { Row, Col } from \"reactstrap\";\r\nimport { PaymentInputsWrapper, usePaymentInputs } from \"react-payment-inputs\";\r\nimport images from \"../../../assets/images/cards\";\r\nimport InputField from \"../../../components/Common/Fields/Input-Field\";\r\nimport * as validators from \"../../../components/Common/Fields/Validators/Field-Validators\";\r\nimport \"../../../components/Common/Fields/Fields.scss\";\r\nimport \"../../../assets/styles/enrolment-forms.scss\";\r\nimport \"./payment-inputs.scss\";\r\nimport withSizes from \"react-sizes\";\r\nimport ToogleDisplay from \"react-toggle-display\";\r\nimport KeyboardEventHandler from \"react-keyboard-event-handler\";\r\nimport isNil from \"lodash/isNil\";\r\n\r\nconst cardNameValidator = (fieldName, value) => {\r\n if (validators.required(fieldName, value))\r\n return validators.required(fieldName, value);\r\n if (value.length < 5)\r\n return \"The card name must be at least 5 characters long.\";\r\n\r\n return false;\r\n};\r\n\r\nconst PaymentInputs = (props) => {\r\n const {\r\n wrapperProps,\r\n getCardImageProps,\r\n getCardNumberProps,\r\n getExpiryDateProps,\r\n getCVCProps,\r\n meta,\r\n } = usePaymentInputs();\r\n\r\n return (\r\n
\r\n {\r\n const { cardNumber, cardExpiryDate, cardCvc } = props;\r\n if (isNil(cardNumber) || !cardNumber) {\r\n props.onChange({ field: \"cardNumber\", value: \"\", meta: {} });\r\n props.onFieldError(\"Card number is required.\");\r\n }\r\n\r\n if (isNil(cardExpiryDate) || !cardExpiryDate) {\r\n props.onChange({ field: \"cardExpiryDate\", value: \"\", meta: {} });\r\n props.onFieldError(\"Card expiry date is required.\");\r\n }\r\n\r\n if (isNil(cardCvc) || !cardCvc) {\r\n props.onChange({ field: \"cardCvc\", value: \"\", meta: {} });\r\n props.onFieldError(\"Card CVC is required.\");\r\n }\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n cardNameValidator(\"Card Name\", val)}\r\n />\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {\r\n props.onChange({\r\n field: \"cardNumber\",\r\n value: getCardNumberProps.target.value,\r\n meta: meta.erroredInputs,\r\n });\r\n },\r\n })}\r\n />\r\n {\r\n props.onChange({\r\n field: \"cardExpiryDate\",\r\n value: getExpiryDateProps.target.value,\r\n meta: meta.erroredInputs,\r\n });\r\n },\r\n })}\r\n />\r\n {\r\n props.onChange({\r\n field: \"cardCvc\",\r\n value: getCVCProps.target.value,\r\n meta: meta.erroredInputs,\r\n });\r\n },\r\n })}\r\n />\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n cardNameValidator(\"Card Name\", val)}\r\n />\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {\r\n props.onChange({\r\n field: \"cardNumber\",\r\n value: getCardNumberProps.target.value,\r\n meta: meta.erroredInputs,\r\n });\r\n },\r\n })}\r\n />\r\n
\r\n {\r\n props.onChange({\r\n field: \"cardExpiryDate\",\r\n value: getExpiryDateProps.target.value,\r\n meta: meta.erroredInputs,\r\n });\r\n },\r\n })}\r\n />\r\n
\r\n {\r\n props.onChange({\r\n field: \"cardCvc\",\r\n value: getCVCProps.target.value,\r\n meta: meta.erroredInputs,\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\nconst mapSizesToProps = ({ width }) => ({\r\n isMobile: width < 800,\r\n});\r\n\r\nexport default withSizes(mapSizesToProps)(PaymentInputs);\r\n","import React, { Component } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nclass PageTitle extends Component {\r\n componentDidMount() {\r\n document.title = this.props.title\r\n ? this.props.title.length > 50\r\n ? this.props.title\r\n : `${this.props.title}${\r\n /Food Safety Education/m.test(this.props.title)\r\n ? \"\"\r\n : \" | Food Safety Education\"\r\n }`\r\n : \"Food Safety Education | Train to Gain\";\r\n }\r\n\r\n render() {\r\n return <>;\r\n }\r\n}\r\n\r\nPageTitle.propTypes = {\r\n title: PropTypes.string.isRequired,\r\n};\r\n\r\nexport default PageTitle;\r\n","/**\r\n * SelectField\r\n * - Select field with built-in validator\r\n * Note: This is a temporary approach. Need a robust validation that will fit in Redux architecture.\r\n * rcnet@solvable\r\n */\r\nimport React, { Component } from \"react\";\r\nimport { Input } from \"reactstrap\";\r\nimport PropTypes from \"prop-types\";\r\nimport debounce from \"lodash/debounce\";\r\nimport \"./Fields.scss\";\r\n\r\nconst EVENT_DEBOUNCE = 2000;\r\n\r\nclass SelectField extends Component {\r\n static propTypes = {\r\n placeholder: PropTypes.string,\r\n name: PropTypes.string.isRequired,\r\n value: PropTypes.string,\r\n validate: PropTypes.func,\r\n onChange: PropTypes.func.isRequired,\r\n onFieldError: PropTypes.func,\r\n enableFieldColorError: PropTypes.bool,\r\n enableFieldErrorMessage: PropTypes.bool,\r\n enableFieldErrorNotification: PropTypes.bool,\r\n };\r\n\r\n static defaultProps = {\r\n enableFieldColorError: true,\r\n enableFieldErrorMessage: false,\r\n enableFieldErrorNotification: true,\r\n onFieldError: () => {},\r\n };\r\n\r\n state = {\r\n value: this.props.value,\r\n error: false,\r\n };\r\n\r\n _isMounted = false;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.debouncedCallback = debounce(\r\n (evt, error) => this.fireFieldErrorEvent(error),\r\n EVENT_DEBOUNCE\r\n );\r\n }\r\n\r\n componentDidMount() {\r\n this._isMounted = true;\r\n }\r\n\r\n componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n static getDerivedStateFromProps(props, state) {\r\n return { value: props.value };\r\n }\r\n\r\n onChange = (evt) => {\r\n this._detectChange(evt.target.value);\r\n };\r\n\r\n onBlur = (evt) => {\r\n let error = this._detectChange(evt.target.value);\r\n\r\n // Persist react synthetic event\r\n evt.persist();\r\n if (error) this.debouncedCallback(evt, error);\r\n };\r\n\r\n _detectChange = (value) => {\r\n const name = this.props.name;\r\n //const value = evt.target.value;\r\n const error = this.props.validate ? this.props.validate(value) : false;\r\n\r\n this.setState({ value, error });\r\n //this.props.onChange({ name, value, error });\r\n\r\n //added for special hanndling of select for step 2 :) - Arvi Genio (Ask me first before changing :)\r\n this.props.onChange\r\n ? this.props.onChange({ name, value, error })\r\n : this.props.onInputChange({ name, value, error });\r\n //added for special hanndling of select for step 2 :) - Arvi Genio (Ask me first before changing :)\r\n\r\n return error;\r\n };\r\n\r\n fireFieldErrorEvent = (error) => this.props.onFieldError(error);\r\n\r\n // Note: Internal function, used by this component\r\n _validateField = () => {\r\n if (!this._isMounted) {\r\n return;\r\n }\r\n let error = this._detectChange(this.state.value);\r\n if (error) this.debouncedCallback(null, error);\r\n return { name: this.props.name, error: error };\r\n };\r\n\r\n _isValidComponentInstance = () => {\r\n return this._isMounted;\r\n };\r\n\r\n render() {\r\n const {\r\n validate,\r\n enableFieldColorError,\r\n enableFieldErrorMessage,\r\n enableFieldErrorNotification,\r\n onFieldError,\r\n ...other\r\n } = this.props;\r\n\r\n return (\r\n <>\r\n \r\n {this.props.children}\r\n \r\n {this.state.error && enableFieldErrorMessage && (\r\n {this.state.error}\r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default SelectField;\r\n","import React from \"react\";\r\nimport { FormGroup, Label, Row, Col } from \"reactstrap\";\r\nimport InputField from \"../Common/Fields/Input-Field\";\r\nimport SelectField from \"../Common/Fields/Select-Field\";\r\nimport * as Constants from \"../../constants\";\r\nimport * as validators from \"../Common/Fields/Validators/Field-Validators\";\r\n\r\nconst validateSelect = (fieldName, value) => {\r\n if (validators.required(fieldName, value) || value === \"-1\") {\r\n return `${fieldName} is required.`;\r\n }\r\n return false;\r\n};\r\n\r\nconst AddressEntry = (props) => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n validators.required(\"Street number\", val)}\r\n />\r\n \r\n \r\n \r\n validators.required(\"Street name\", val)}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n validators.required(\"City\", val)}\r\n />\r\n \r\n \r\n \r\n validateSelect(\"State\", val)}\r\n onFieldError={props.onFieldError}\r\n onChange={props.onInputChange}\r\n >\r\n \r\n {Constants.australianStates.map((item, i) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n validators.required(\"Post Code\", val)}\r\n />\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default AddressEntry;\r\n","export const LOQATE_BASE_URL = 'https://hosted.mastersoftgroup.com/harmony';\r\nexport const LOQATE_RETRIEVE_URL = 'rest/v2/address/retrieve';\r\nexport const LOQATE_FIND_URL = 'rest/v2/address/find';\r\n","\r\nimport axios from 'axios';\r\nimport Config from '../../../../config'\r\nimport {\r\n LOQATE_BASE_URL,\r\n LOQATE_FIND_URL,\r\n LOQATE_RETRIEVE_URL\r\n} from '../constants/loqate';\r\n\r\nconst Loqate = class {\r\n constructor(username, password, baseUrl) {\r\n this.username = username;\r\n this.password = password;\r\n this.baseURL = baseUrl;\r\n }\r\n\r\n static initialise(baseUrl = LOQATE_BASE_URL) {\r\n if (!this.instance) {\r\n const username = Config.loqateUsername;\r\n const password = Config.loqatePassword;\r\n\r\n this.instance = new Loqate(username, password, baseUrl);\r\n\r\n this.instance.api = axios.create({\r\n baseURL: baseUrl,\r\n timeout: 60000,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n });\r\n }\r\n\r\n return this.instance;\r\n }\r\n\r\n async findAddress(query) {\r\n const { id, fullAddress, country, sourceOfTruth, featureOptions } = query;\r\n\r\n if (!this.api) {\r\n throw new Error('Loqate error: Initialise Loqate first.');\r\n }\r\n\r\n const params = new URLSearchParams({\r\n country: country,\r\n fullAddress: fullAddress\r\n });\r\n\r\n if (id) {\r\n params.set('id', id);\r\n }\r\n\r\n if (featureOptions) {\r\n params.set('featureOptions', featureOptions);\r\n }\r\n\r\n // Attribute is optional - for Australia and New Zealand only.Default is AUPAF for Australia and NZAD for New Zealand.\r\n if (sourceOfTruth) {\r\n params.set('sourceOfTruth', sourceOfTruth);\r\n }\r\n\r\n const findEndpointUrl = `${LOQATE_BASE_URL}/${LOQATE_FIND_URL}?${params.toString()}`;\r\n const apiConfig = this._getApiConfig();\r\n\r\n const resp = await this.api.get(findEndpointUrl, apiConfig)\r\n .catch(function (error) {\r\n if (error.response && error.response.data) {\r\n throw new Error(`Loqate error: ${JSON.stringify(error.response.data)}`)\r\n }\r\n\r\n throw new Error(`Loqate error: ${JSON.stringify(error)}`)\r\n });\r\n\r\n if (resp.status !== 200) {\r\n throw new Error(`Loqate error: Failed to find address.`);\r\n }\r\n\r\n if (resp.data.status !== 'SUCCESS') {\r\n var errorMessages = ['Failed to find address.'];\r\n\r\n if (resp.data.messages && resp.data.messages.length) {\r\n errorMessages = resp.data.messages;\r\n }\r\n\r\n throw new Error(`Loqate error: ${errorMessages.join('. ')}`);\r\n }\r\n\r\n return resp.data.payload;\r\n }\r\n\r\n async retrieveAddress(id) {\r\n const params = new URLSearchParams({ id: id });\r\n const retrieveEndpointUrl = `${LOQATE_BASE_URL}/${LOQATE_RETRIEVE_URL}?${params.toString()}`;\r\n\r\n const apiConfig = this._getApiConfig();\r\n\r\n const resp = await this.api.get(retrieveEndpointUrl, apiConfig)\r\n .catch(function (error) {\r\n if (error.response && error.response.data) {\r\n throw new Error(`Loqate error: ${JSON.stringify(error.response.data)}`)\r\n }\r\n\r\n throw new Error(`Loqate error: ${JSON.stringify(error)}`)\r\n });\r\n\r\n if (resp.status !== 200) {\r\n throw new Error(`Loqate error: Failed to retrieve address.`);\r\n }\r\n\r\n if (resp.data.status !== 'SUCCESS') {\r\n var errorMessages = ['Failed to retrieve address.'];\r\n\r\n if (resp.data.messages && resp.data.messages.length) {\r\n errorMessages = resp.data.messages;\r\n }\r\n\r\n throw new Error(`Loqate error: ${errorMessages.join('. ')}`);\r\n }\r\n\r\n return resp.data.payload;\r\n }\r\n\r\n _getApiConfig() {\r\n const config = {\r\n auth: {\r\n username: this.username,\r\n password: this.password\r\n }\r\n }\r\n\r\n return config;\r\n }\r\n}\r\n\r\nexport default Loqate;","/* eslint-disable jsx-a11y/anchor-is-valid */\r\nimport \"./address-field.scss\";\r\n\r\nimport PropTypes from \"prop-types\";\r\nimport React, {\r\n forwardRef,\r\n useEffect,\r\n useImperativeHandle,\r\n useMemo,\r\n useState,\r\n} from \"react\";\r\nimport { default as ReactSelectAsync } from \"react-select/async\";\r\nimport { Label } from \"reactstrap\";\r\nimport AddressEntry from \"./../../Address-Entry/Address-Entry\";\r\nimport Loqate from \"./utils/loqate\";\r\nimport debounce from \"lodash/debounce\";\r\n\r\nconst LoqateAddressField = forwardRef(\r\n (\r\n {\r\n name,\r\n label,\r\n labelClassName,\r\n placeholder,\r\n allowAutoSearch,\r\n hasData,\r\n form,\r\n initialValue,\r\n onInputChange,\r\n onAddressSelect,\r\n fields,\r\n validate,\r\n onFieldError,\r\n clearAddress,\r\n toggleManualEntry,\r\n debounceDelay = 50,\r\n },\r\n ref\r\n ) => {\r\n const NOTIFICATION_DEBOUNCE = 2000;\r\n\r\n const [isManualEntry, setIsManuallEntry] = useState(false);\r\n\r\n const autoSearch = !allowAutoSearch ? true : allowAutoSearch;\r\n\r\n const [selectedAddress, setSelectedAddress] = useState(initialValue);\r\n const [savedInput, setSavedInput] = useState();\r\n\r\n const [activeTimeoutHandlerId, setActiveTimeoutHandlerId] = useState();\r\n const [errorMessage, setErrorMessage] = useState();\r\n\r\n let loqate = useMemo(() => Loqate.initialise(), []);\r\n\r\n useEffect(() => setIsManuallEntry(hasData ? true : false), []);\r\n useEffect(() => {\r\n setSelectedAddress(initialValue);\r\n }, [initialValue]);\r\n\r\n const _selectSuggestedAddress = async (selectedOption) => {\r\n _detectChange(selectedOption?.value);\r\n\r\n if (!selectedOption) {\r\n clearAddress();\r\n return;\r\n }\r\n\r\n const addressId = selectedOption.value;\r\n const results = await loqate.retrieveAddress(addressId);\r\n const addressDetails = results[0];\r\n\r\n if (!addressDetails) {\r\n return;\r\n }\r\n\r\n const fullAddress = addressDetails.fullAddress;\r\n\r\n setErrorMessage();\r\n setSavedInput();\r\n setSelectedAddress(fullAddress);\r\n\r\n onAddressSelect(addressDetails);\r\n };\r\n\r\n const _getAddressSuggestions = async (searchTerm) => {\r\n if (!searchTerm || searchTerm === \"\") {\r\n return [];\r\n }\r\n\r\n const addressSuggestions = await loqate.findAddress({\r\n country: \"au\",\r\n fullAddress: searchTerm,\r\n });\r\n\r\n if (!addressSuggestions || !addressSuggestions.length) {\r\n return [];\r\n }\r\n\r\n const selectAddressOptions = Object.entries(addressSuggestions).map(\r\n ([key, item]) => {\r\n return { label: item[\"fullAddress\"], value: item[\"id\"] };\r\n }\r\n );\r\n\r\n return selectAddressOptions ?? [];\r\n };\r\n\r\n const _loadAddressSuggestions = (inputValue, callback) => {\r\n const timeoutHandlerId = setTimeout(async () => {\r\n callback(await _getAddressSuggestions(inputValue));\r\n }, debounceDelay);\r\n\r\n // Cancel last active timeout if new request comes in.\r\n if (activeTimeoutHandlerId !== timeoutHandlerId) {\r\n clearTimeout(activeTimeoutHandlerId);\r\n }\r\n\r\n setActiveTimeoutHandlerId(timeoutHandlerId);\r\n };\r\n\r\n const _debouncedCallback = debounce(\r\n (error) => onFieldError(error),\r\n NOTIFICATION_DEBOUNCE\r\n );\r\n\r\n const _handleLoqateAddressInputChange = (value, action) => {\r\n if (action.action === \"input-change\") {\r\n setSavedInput(value);\r\n setSelectedAddress();\r\n return;\r\n }\r\n\r\n if (action.action === \"input-blur\" && !selectedAddress) {\r\n let errorMessage = _detectChange(value);\r\n if (!errorMessage) return;\r\n\r\n setErrorMessage(errorMessage);\r\n _debouncedCallback(errorMessage);\r\n }\r\n };\r\n\r\n const _isValidComponentInstance = () => {\r\n return true;\r\n };\r\n\r\n const _validateField = () => {\r\n let errorMessage = _detectChange(selectedAddress);\r\n if (errorMessage) {\r\n _debouncedCallback(errorMessage);\r\n }\r\n\r\n return { name, error: errorMessage };\r\n };\r\n\r\n const _detectChange = (value) => {\r\n const errorMessage = validate ? (!isManualEntry ? validate(value) : false) : false;\r\n if (errorMessage) {\r\n setErrorMessage(errorMessage);\r\n }\r\n\r\n onInputChange({ name, value, error: errorMessage });\r\n return errorMessage;\r\n };\r\n\r\n // The useImperativeHandle Hook allows us to expose a value, state, or function inside a child component to the parent component\r\n // which is useful for functional component's use-case wherein the parent component needs to access specific functions.\r\n useImperativeHandle(ref, () => ({\r\n _isValidComponentInstance,\r\n _detectChange,\r\n _validateField,\r\n }));\r\n\r\n return (\r\n
\r\n
\r\n \r\n null,\r\n IndicatorSeparator: () => null,\r\n }}\r\n loadOptions={_loadAddressSuggestions}\r\n onChange={_selectSuggestedAddress}\r\n onInputChange={_handleLoqateAddressInputChange}\r\n className={`loqate-address${errorMessage ? \" field-error \" : \"\"}`}\r\n inputValue={savedInput}\r\n value={\r\n selectedAddress ? { label: selectedAddress, value: 0 } : null\r\n }\r\n />\r\n
\r\n\r\n {/* Only visible when the user chose to enter address manually*/}\r\n {(isManualEntry || !autoSearch) && (\r\n
\r\n \r\n
\r\n )}\r\n\r\n {/* Link to hide or show the auto-suggest field and manual address entry */}\r\n {autoSearch && (\r\n
\r\n {\r\n ev.preventDefault();\r\n setIsManuallEntry(!isManualEntry);\r\n toggleManualEntry();\r\n }}\r\n >\r\n \r\n {isManualEntry\r\n ? \"Enter address using auto-suggest address box.\"\r\n : \"Enter address manually.\"}\r\n \r\n \r\n
\r\n )}\r\n
\r\n );\r\n }\r\n);\r\n\r\nLoqateAddressField.propTypes = {\r\n name: PropTypes.string.isRequired,\r\n label: PropTypes.string,\r\n labelClassName: PropTypes.string,\r\n placeholder: PropTypes.string,\r\n allowAutoSearch: PropTypes.bool,\r\n hasData: PropTypes.bool,\r\n onChange: PropTypes.func,\r\n onAddressSelect: PropTypes.func,\r\n validate: PropTypes.func,\r\n onFieldError: PropTypes.func,\r\n debounceDelay: PropTypes.number,\r\n};\r\n\r\nexport default LoqateAddressField;\r\n","import currencyFormatter from \"currency-formatter\";\r\nimport isNil from \"lodash/isNil\";\r\nimport React, { Component } from \"react\";\r\nimport KeyboardEventHandler from \"react-keyboard-event-handler\";\r\nimport {\r\n Button,\r\n Form,\r\n FormGroup,\r\n Label,\r\n Modal,\r\n ModalBody,\r\n ModalFooter,\r\n ModalHeader,\r\n} from \"reactstrap\";\r\nimport \"../../../assets/styles/enrolment-forms.scss\";\r\nimport BlockUiFx from \"../../../components/Common/Block-Ui-Fx/Block-Ui-Fx\";\r\nimport ButtonFx from \"../../../components/Common/Button-Fx/Button-Fx\";\r\nimport CheckboxField from \"../../../components/Common/Fields/Checkbox-Field\";\r\nimport formHandler from \"../../../components/Common/Fields/form-handler\";\r\nimport InputField from \"../../../components/Common/Fields/Input-Field\";\r\nimport PaymentInputs from \"../../../components/Common/Fields/Payment-Inputs\";\r\nimport * as validators from \"../../../components/Common/Fields/Validators/Field-Validators\";\r\nimport PageTitle from \"../../../components/Common/Page-Title/Page-Title\";\r\nimport ContentSection from \"components/Common/content-section\";\r\nimport IdentityService from \"../../../coreLib/auth/userIdentity\";\r\nimport LoqateAddressField from \"./../../../components/Common/Loqate-Single-Address-Field/index\";\r\n\r\n// Combination of validations\r\nconst emailValidator = (fieldName, value) => {\r\n if (validators.required(fieldName, value))\r\n return validators.required(fieldName, value);\r\n if (validators.email(value)) return validators.email(value);\r\n\r\n return false;\r\n};\r\n\r\nclass CourseEnrolmentStep1 extends Component {\r\n constructor(props) {\r\n super(props);\r\n const { match, onLoadCourseDetails } = this.props;\r\n onLoadCourseDetails(match.params.courseId);\r\n this.onChange = this.onChange.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n let identityService = IdentityService();\r\n\r\n this.props.init(identityService.hasCourses());\r\n this.props.setEmail();\r\n }\r\n\r\n onAutocompleteAddressSelect = (address) => {\r\n this.props.updateAutocompleteAddress(address);\r\n };\r\n\r\n onChange(value) {\r\n if (!value) {\r\n this.props.clearAddress();\r\n }\r\n }\r\n\r\n render() {\r\n const {\r\n onInputChange,\r\n toggleDiscountCodeForm,\r\n applyDiscountCode,\r\n isApplyingDiscountCode,\r\n isDiscountCodeApplied,\r\n discountedPrice,\r\n showDiscountCodeForm,\r\n onCreditCardChange,\r\n hasPromoCode,\r\n onFieldError,\r\n togglePromoCodeEntry,\r\n onSubmitEnrolment,\r\n isSubmitting,\r\n showConfirmNamePopup,\r\n toggleShowConfirmNamePopup,\r\n onLogoutAndRegister,\r\n clearAddress,\r\n toggleManualAddressEntry,\r\n } = this.props;\r\n const { fullAddress } = this.props.addressEntry;\r\n const {\r\n cardName,\r\n cardNumber,\r\n cardExpiryDate,\r\n cardCvc,\r\n email,\r\n promoCode,\r\n discountCode,\r\n understandTerms,\r\n } = this.props.fields;\r\n const {\r\n courseTitle,\r\n courseCode,\r\n coursePrice,\r\n validStates,\r\n } = this.props.courseDetails;\r\n const { firstName, lastName } = this.props.loginData.loggedInUser;\r\n const form = formHandler();\r\n return (\r\n \r\n
\r\n \r\n
\r\n

Course Payment

\r\n

{courseTitle}

\r\n
\r\n ({courseCode}) - ${coursePrice}.00\r\n
\r\n {validStates &&

{validStates}

}\r\n \r\n
Your Details
\r\n\r\n \r\n validators.required(\"Address\", val)}\r\n ref={form.add}\r\n clearAddress={clearAddress}\r\n toggleManualEntry={toggleManualAddressEntry}\r\n />\r\n \r\n\r\n \r\n
\r\n \r\n emailValidator(\"Email Address\", val)}\r\n />\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n View the Student Handbook\r\n \r\n
\r\n\r\n \r\n !val\r\n ? \"Please tick the student handbook acknowledgement.\"\r\n : false\r\n }\r\n name=\"understandTerms\"\r\n label=\"I declare that I have read and understood Train to Gain Pty Ltd T/A Food Safety Education's Student Handbook before course commencement (please tick this to continue)\"\r\n value={understandTerms}\r\n onFieldError={onFieldError}\r\n onChange={onInputChange}\r\n />\r\n
\r\n
Payment Information
\r\n\r\n {hasPromoCode && (\r\n \r\n
\r\n \r\n \r\n validators.required(\"Voucher Code\", val)\r\n }\r\n style={{ maxWidth: \"250px\" }}\r\n />\r\n
\r\n\r\n \r\n form.validate({\r\n validFn: () => {\r\n onSubmitEnrolment();\r\n },\r\n invalidFn: () => console.log(form.getFieldErrors()),\r\n })\r\n }\r\n >\r\n Apply\r\n \r\n {\" \"}\r\n \r\n Cancel\r\n \r\n
\r\n )}\r\n\r\n {showDiscountCodeForm && !isDiscountCodeApplied && (\r\n \r\n
\r\n \r\n validators.required(\"Promo Code\", val)}\r\n style={{ maxWidth: \"250px\" }}\r\n />\r\n
\r\n\r\n applyDiscountCode()}\r\n >\r\n Apply\r\n \r\n \r\n Cancel\r\n \r\n
\r\n )}\r\n\r\n <>\r\n {!hasPromoCode &&\r\n !showDiscountCodeForm &&\r\n !isDiscountCodeApplied && (\r\n
\r\n {\r\n event.preventDefault();\r\n togglePromoCodeEntry();\r\n }}\r\n >\r\n I Have a Voucher Code\r\n \r\n {/* {\r\n event.preventDefault();\r\n toggleDiscountCodeForm();\r\n }}\r\n >\r\n I Have a Promo Code\r\n */}\r\n
\r\n )}\r\n\r\n {!hasPromoCode && !showDiscountCodeForm && (\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n

\r\n \r\n {currencyFormatter.format(coursePrice, {\r\n locale: \"en-AU\",\r\n })}\r\n

\r\n {isDiscountCodeApplied && (\r\n
\r\n {currencyFormatter.format(discountedPrice, {\r\n locale: \"en-AU\",\r\n })}\r\n
\r\n )}\r\n \r\n \r\n {\r\n if (isNil(cardNumber) || !cardNumber) {\r\n onInputChange({\r\n name: \"cardNumber\",\r\n value: \"\",\r\n error: \"Card number is required\",\r\n });\r\n onFieldError(\"Card number is required.\");\r\n }\r\n\r\n if (isNil(cardExpiryDate) || !cardExpiryDate) {\r\n onInputChange({\r\n name: \"cardExpiryDate\",\r\n value: \"\",\r\n error: \"Card expiry date is required.\",\r\n });\r\n onFieldError(\"Card expiry date is required.\");\r\n }\r\n\r\n if (isNil(cardCvc) || !cardCvc) {\r\n onInputChange({\r\n name: \"cardCvc\",\r\n value: \"\",\r\n error: \"Card CVC is required.\",\r\n });\r\n onFieldError(\"Card CVC is required.\");\r\n }\r\n form.validate({\r\n validFn: () => {\r\n onSubmitEnrolment();\r\n },\r\n invalidFn: () => console.log(form.getFieldErrors()),\r\n });\r\n }}\r\n >\r\n Pay Now\r\n \r\n \r\n \r\n )}\r\n\r\n \r\n \r\n Please Confirm Your Name\r\n \r\n \r\n Before you get started, we just wanted to{\" \"}\r\n \r\n confirm your name is {firstName}\r\n {firstName === lastName ? \"\" : ` ${lastName}`}\r\n \r\n .\r\n
\r\n
\r\n If this isn’t your name, please click the 'No,\r\n That’s Not Me' button.\r\n
\r\n \r\n \r\n Yes, I am {firstName}{\" \"}\r\n {firstName === lastName ? \"\" : ` ${lastName}`}\r\n {\" \"}\r\n \r\n onLogoutAndRegister(this.props.match.params.courseId)\r\n }\r\n >\r\n No, That’s Not Me\r\n \r\n \r\n \r\n \r\n \r\n form.validate({\r\n validFn: () => {\r\n onSubmitEnrolment();\r\n },\r\n invalidFn: () => console.log(form.getFieldErrors()),\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 CourseEnrolmentStep1;\r\n","/**\r\n * Course Enrolment Step 1 Container\r\n * Adam Luck @solvable Jun 10, 2019\r\n */\r\nimport { connect } from \"react-redux\";\r\nimport * as actionCreators from \"../redux/action-creators\";\r\nimport Step1Form from \"./Step-1-Form\";\r\nimport { selectEnrolment } from \"../redux/enrolment-reducer\";\r\nimport { selectStep1 } from \"../redux/step-1-reducer\";\r\nimport { selectLoginData } from \"../../../redux/system/login-reducer\";\r\nimport * as sysActionCreators from \"../../../redux/system/system-action-creators\";\r\n\r\nconst mapStateToProps = (state) => {\r\n const step1Data = selectStep1(state);\r\n const loginData = selectLoginData(state);\r\n const enrolmentData = selectEnrolment(state);\r\n\r\n return {\r\n addressEntry: step1Data.addressEntry,\r\n fields: step1Data.fields,\r\n fieldErrors: step1Data.fieldErrors,\r\n isCreditCardValid: step1Data.isCreditCardValid,\r\n loginData: loginData,\r\n hasPromoCode: step1Data.hasPromoCode,\r\n isSubmitting: step1Data.isSubmitting,\r\n showConfirmNamePopup: step1Data.showConfirmNamePopup,\r\n discountedPrice: step1Data.discountedPrice,\r\n isApplyingDiscountCode: step1Data.isApplyingDiscountCode,\r\n isDiscountCodeApplied: step1Data.isDiscountCodeApplied,\r\n showDiscountCodeForm: step1Data.showDiscountCodeForm,\r\n discountCode: step1Data.discountCode,\r\n courseDetails: enrolmentData.courseDetails,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => ({\r\n onLoadCourseDetails: (courseId) => {\r\n dispatch(actionCreators.onLoadCourseDetails(courseId));\r\n },\r\n updateAutocompleteAddress: (address) => {\r\n dispatch(actionCreators.updateStep1FormAutocompleteAddress(address));\r\n },\r\n toggleManualAddressEntry: () => {\r\n dispatch(actionCreators.toggleManualAddressEntry());\r\n },\r\n togglePromoCodeEntry: () => {\r\n dispatch(actionCreators.togglePromoCodeEntry());\r\n },\r\n toggleDiscountCodeForm: () => {\r\n dispatch(actionCreators.toggleDiscountCodeForm());\r\n },\r\n onInputChange: ({ name, value, error }) => {\r\n dispatch(actionCreators.step1FormInputChange(name, value, error));\r\n },\r\n onCreditCardChange: (values) => {\r\n dispatch(actionCreators.step1CreditCardInputChange(values));\r\n },\r\n setEmail: () => {\r\n dispatch(actionCreators.setEmail());\r\n },\r\n init: (hasCourses) => {\r\n dispatch(actionCreators.step1Init(hasCourses));\r\n },\r\n clearAddress: () => {\r\n dispatch(actionCreators.clearStep1FormAddress());\r\n },\r\n onFieldError: (error) =>\r\n dispatch(sysActionCreators.addNotification(error, \"warning\")),\r\n toggleShowConfirmNamePopup: () => {\r\n dispatch(actionCreators.toggleShowConfirmNamePopup());\r\n },\r\n onLogoutAndRegister: (courseId) => {\r\n dispatch(\r\n sysActionCreators.onLogout(\r\n `/Certificates/Enrol/${courseId}/`,\r\n ownProps.history\r\n )\r\n );\r\n },\r\n dispatch: dispatch,\r\n history: ownProps.history,\r\n match: ownProps.match,\r\n});\r\n\r\nconst validate = (stateProps) => {\r\n const fields = stateProps.fields;\r\n const fieldErrors = stateProps.fieldErrors;\r\n const errMessages = Object.keys(fieldErrors).filter((k) => fieldErrors[k]);\r\n\r\n if (!fields.email) return true;\r\n if (!fields.postcode) return true;\r\n if (!fields.state) return true;\r\n if (!fields.city) return true;\r\n if (!fields.streetName) return true;\r\n if (errMessages.length > 0) return true;\r\n\r\n if (stateProps.hasPromoCode) {\r\n if (!fields.promoCode) return true;\r\n } else {\r\n if (!fields.cardName) return true;\r\n if (!stateProps.isCreditCardValid) return true;\r\n }\r\n\r\n if (stateProps.addressEntry.enterAddressManually && !fields.streetNumber)\r\n return true;\r\n\r\n return false;\r\n};\r\n\r\nconst mergeFormProps = (stateProps, dispatchProps) => ({\r\n ...stateProps,\r\n ...dispatchProps,\r\n toggleManualAddressEntry: () => {\r\n dispatchProps.dispatch(dispatchProps.toggleManualAddressEntry);\r\n validate(stateProps);\r\n },\r\n onSubmitEnrolment: () => {\r\n dispatchProps.dispatch(\r\n actionCreators.onSubmitEnrolmentStep1(\r\n stateProps,\r\n stateProps.fields,\r\n dispatchProps.history\r\n )\r\n );\r\n },\r\n applyDiscountCode: () => {\r\n dispatchProps.dispatch(\r\n actionCreators.applyDiscountCode(\r\n stateProps.courseDetails.courseId,\r\n stateProps.fields.discountCode\r\n )\r\n );\r\n },\r\n validate: () => {\r\n return validate(stateProps);\r\n },\r\n});\r\n\r\nconst Step1FormContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n mergeFormProps\r\n)(Step1Form);\r\n\r\nexport default Step1FormContainer;\r\n","import HttpClient from \"../../../../coreLib/http/httpClient\";\r\n\r\nconst ApiService = () => {\r\n let httpClient = HttpClient();\r\n\r\n const submitStep2 = (payload) => {\r\n let { userCourseId } = payload;\r\n\r\n let model = {\r\n ...payload,\r\n completedTertiary: payload.completedTertiary === \"TRUE\" ? true : false,\r\n disability: payload.disability === \"TRUE\" ? true : false,\r\n bornInAustralia: payload.bornInAustralia === \"TRUE\" ? true : false,\r\n countryOfBirth: payload.country,\r\n englishLanguageAtHome:\r\n payload.languageAtHome === \"English\" ? true : false,\r\n languageAtHomeOther: payload.languageAtHomeOther,\r\n goodUnderstandingOfEnglish:\r\n payload.goodUnderstandingOfEnglish === \"TRUE\" ? true : false,\r\n understandFalseInfo:\r\n payload.understandFalseInfo === \"TRUE\" ? true : false,\r\n understandTimeToComplete:\r\n payload.understandTimeToComplete === \"TRUE\" ? true : false,\r\n };\r\n return httpClient.put(`v1/enrolment/${userCourseId}/step2`, model);\r\n };\r\n\r\n const getStep2 = (id) => {\r\n return httpClient.get(`v1/enrolment/${id}/step2`);\r\n };\r\n\r\n return {\r\n getStep2,\r\n submitStep2,\r\n };\r\n};\r\n\r\nexport default ApiService;\r\n","import { ActionTypes } from \"./action-types\";\r\nimport ApiService from \"../services/api-service\";\r\nimport { addNotification } from \"../../../../redux/system/system-action-creators\";\r\nimport CourseService from \"../../../../services/course-service\";\r\nimport * as EnrolmentActionTypes from \"../../redux/action-types\";\r\nimport DateService from \"../../../../services/date-service\";\r\n\r\nexport const updateAutocompleteAddress = (data) => {\r\n return (dispatch) => {\r\n dispatch({\r\n type: ActionTypes.STEP_2_AUTOCOMPLETE_ADDRESS_UPDATE_SUCCESS,\r\n payload: data,\r\n });\r\n };\r\n};\r\n\r\nexport const step2OnInit = (id, history) => {\r\n return (dispatch) => {\r\n dispatch(step2OnInitStarted());\r\n\r\n ApiService()\r\n .getStep2(id)\r\n .then((resp) => {\r\n dispatch(step2OnInitSucceeded(resp.data));\r\n\r\n const {\r\n enrolmentCompleted,\r\n redirectToStep3,\r\n courseId,\r\n userCourseId,\r\n } = resp.data;\r\n\r\n if (enrolmentCompleted) {\r\n history.push(`/Your-Courses/`);\r\n return false;\r\n }\r\n\r\n if (redirectToStep3) {\r\n history.push(`/course-enrolment/${userCourseId}/step-3/`);\r\n return false;\r\n }\r\n dispatch(onLoadCourseDetails(courseId));\r\n dispatch(validateStep2Func());\r\n })\r\n .catch((err) => {\r\n dispatch(step2OnInitFailed());\r\n\r\n history.push(`/Your-Courses/`);\r\n\r\n dispatch(\r\n addNotification(\r\n err.response.data.Message\r\n ? err.response.data.Message\r\n : \"There was an issue loading the form.\",\r\n \"warning\"\r\n )\r\n );\r\n });\r\n };\r\n};\r\n\r\nconst step2OnInitStarted = () => {\r\n return (dispatch) => {\r\n dispatch({\r\n type: ActionTypes.STEP_2_INIT,\r\n });\r\n };\r\n};\r\n\r\nconst step2OnInitSucceeded = (payload) => {\r\n return (dispatch) => {\r\n dispatch({\r\n type: ActionTypes.STEP_2_INIT_SUCCEEDED,\r\n payload,\r\n });\r\n };\r\n};\r\n\r\nconst step2OnInitFailed = () => {\r\n return (dispatch) => {\r\n dispatch({\r\n type: ActionTypes.STEP_2_INIT_FAILED,\r\n });\r\n };\r\n};\r\n\r\n// Async\r\nexport const onLoadCourseDetails = (courseId) => {\r\n return (dispatch) => {\r\n dispatch(onLoadCourseDetailsRequest());\r\n const courseService = CourseService();\r\n var course = courseService.getCourse(courseId);\r\n\r\n if (course != null) {\r\n dispatch(\r\n onLoadCourseDetailsSuccess(\r\n course.courseId,\r\n course.courseTitle,\r\n course.certificateCodesString,\r\n course.courseCost,\r\n course.validStates\r\n )\r\n );\r\n } else dispatch(onLoadCourseDetailsFailure());\r\n };\r\n};\r\n\r\nconst onLoadCourseDetailsFailure = () => ({\r\n type: EnrolmentActionTypes.ActionTypes.ENROLMENT_LOAD_COURSE_DETAILS_FAILURE,\r\n});\r\n\r\nconst onLoadCourseDetailsSuccess = (\r\n courseId,\r\n courseTitle,\r\n courseCode,\r\n coursePrice,\r\n validStates\r\n) => ({\r\n type: EnrolmentActionTypes.ActionTypes.ENROLMENT_LOAD_COURSE_DETAILS_SUCCESS,\r\n payload: {\r\n courseId: courseId,\r\n courseTitle: courseTitle,\r\n courseCode: courseCode,\r\n coursePrice: coursePrice,\r\n validStates: validStates,\r\n },\r\n});\r\n\r\nconst onLoadCourseDetailsRequest = () => ({\r\n type: EnrolmentActionTypes.ActionTypes.ENROLMENT_LOAD_COURSE_DETAILS_REQUEST,\r\n});\r\n\r\nexport const step2FormInputChange = (name, value, error) => {\r\n return (dispatch, getState) => {\r\n dispatch({\r\n type: ActionTypes.STEP_2_FORM_INPUT_CHANGE,\r\n payload: {\r\n name: name,\r\n value: value,\r\n error: error,\r\n },\r\n });\r\n\r\n switch (name) {\r\n case \"completedTertiary\":\r\n dispatch({\r\n type: ActionTypes.STEP_2_TOGGLE_TERTIARY,\r\n payload: value === \"TRUE\" ? true : false,\r\n });\r\n break;\r\n case \"hasUsi\":\r\n dispatch({\r\n type: ActionTypes.STEP_2_TOGGLE_HAS_USI,\r\n payload: value === \"TRUE\" ? true : false,\r\n });\r\n break;\r\n case \"disability\":\r\n dispatch({\r\n type: ActionTypes.STEP_2_TOGGLE_DISABILITY,\r\n payload: value === \"TRUE\" ? true : false,\r\n });\r\n break;\r\n case \"bornInAustralia\":\r\n dispatch({\r\n type: ActionTypes.STEP_2_TOGGLE_COUNTRY,\r\n payload: value === \"FALSE\" ? true : false,\r\n });\r\n break;\r\n case \"languageAtHome\":\r\n dispatch({\r\n type: ActionTypes.STEP_2_TOGGLE_OTHER_LANGUAGE,\r\n payload: value === \"Other Language\" ? true : false,\r\n });\r\n break;\r\n case \"goodUnderstandingOfEnglish\":\r\n dispatch({\r\n type: ActionTypes.STEP_2_TOGGLE_UNDERSTANDING_OF_ENGLISH,\r\n payload: value === \"FALSE\" ? true : false,\r\n });\r\n break;\r\n case \"understandFalseInfo\":\r\n dispatch({\r\n type: ActionTypes.STEP_2_TOGGLE_UNDERSTAND_FALSE_INFO,\r\n payload: value === \"FALSE\" ? true : false,\r\n });\r\n break;\r\n case \"understandTimeToComplete\":\r\n dispatch({\r\n type: ActionTypes.STEP_2_TOGGLE_UNDERSTAND_TIME_TO_COMPLETE,\r\n payload: value === \"FALSE\" ? true : false,\r\n });\r\n break;\r\n default:\r\n break;\r\n }\r\n dispatch(validateStep2Func());\r\n };\r\n};\r\n\r\nconst validateStep2Func = () => {\r\n return (dispatch, getState) => {\r\n let fieldVisibility = getState().courseEnrolment.step2.fieldVisibility;\r\n let fields = getState().courseEnrolment.step2.fields;\r\n let fieldErrors = getState().courseEnrolment.step2.fieldErrors;\r\n let isFormValid = !validateStep2(fields, fieldVisibility, fieldErrors);\r\n dispatch({\r\n type: ActionTypes.STEP_2_FORM_VALID,\r\n payload: isFormValid,\r\n });\r\n };\r\n};\r\n\r\nconst validateStep2 = (fields, fieldVisibility, fieldErrors) => {\r\n const errMessages = Object.keys(fieldErrors).filter((k) => fieldErrors[k]);\r\n if (!fields.phone) return true;\r\n if (!fields.disability) return true;\r\n if (!fields.bornInAustralia) return true;\r\n if (!fields.languageAtHome) return true;\r\n if (!fields.goodUnderstandingOfEnglish) return true;\r\n if (!fields.understandTimeToComplete) return true;\r\n if (!fields.hasUsi) return true;\r\n if (!fields.completedTertiary) return true;\r\n if (!fields.streetNumber) return true;\r\n if (!fields.streetName) return true;\r\n if (!fields.city) return true;\r\n if (!fields.state) return true;\r\n if (!fields.gender) return true;\r\n if (!fields.postcode) return true;\r\n if (!fields.levelOfSchool) return true;\r\n if (!fields.stillEnrolledInSchool) return true;\r\n if (!fields.completedTertiary) return true;\r\n if (!fields.reasonForUndertakingCourse) return true;\r\n if (!fields.usiFirstName) return true;\r\n if (!fields.howDidYouHear) return true;\r\n if (!fields.usiLastName) return true;\r\n if (!fields.understandFalseInfo) return true;\r\n if (!fields.understandTimeToComplete) return true;\r\n if (!fields.aboriginalOrTorresStraitIslandOrigin) return true;\r\n if (!fields.goodUnderstandingOfEnglish) return true;\r\n if (fieldVisibility.showLevelOfEducation && !fields.levelOfEducation)\r\n return true;\r\n if (fieldVisibility.showOtherLanguage && !fields.languageAtHomeOther)\r\n return true;\r\n if (\r\n fieldVisibility.showGuardianAcknowledgment &&\r\n !fields.guardianAcknowledgment\r\n )\r\n return true;\r\n\r\n if (fieldVisibility.showCountry && !fields.country) {\r\n return true;\r\n }\r\n if (fieldVisibility.showHasUsi && !fields.usiNumber) {\r\n return true;\r\n }\r\n if (fieldVisibility.showDisability && !fields.disabilityType) {\r\n return true;\r\n }\r\n if (!fields.studentAcknowledgment) {\r\n return true;\r\n }\r\n if (errMessages.length > 0) return true;\r\n return false;\r\n};\r\n\r\nexport const clearFormAddress = () => ({\r\n type: ActionTypes.STEP_2_CLEAR_ADDRESS,\r\n});\r\n\r\nexport const updateDOBField = (data) => ({\r\n type: ActionTypes.STEP_2_UPDATE_DOB_FIELD,\r\n payload: data,\r\n});\r\n\r\nconst onSubmitEnrolmentStep2Request = () => ({\r\n type: ActionTypes.STEP_2_SUBMIT_ENROLMENT_REQUEST,\r\n});\r\nconst onSubmitEnrolmentStep2Success = () => ({\r\n type: ActionTypes.STEP_2_SUBMIT_ENROLMENT_SUCCESS,\r\n});\r\nconst onSubmitEnrolmentStep2Failure = () => ({\r\n type: ActionTypes.STEP_2_SUBMIT_ENROLMENT_FAILURE,\r\n});\r\n\r\n// Async\r\nexport const onSubmitEnrolmentStep2 = (courseId, fields, history) => {\r\n const {\r\n phone,\r\n dateOfBirth,\r\n gender,\r\n streetNumber,\r\n streetName,\r\n city,\r\n state,\r\n postcode,\r\n levelOfSchool,\r\n stillEnrolledInSchool,\r\n howDidYouHear,\r\n usiMiddleName,\r\n studentAcknowledgment,\r\n guardianAcknowledgment,\r\n usiNumber,\r\n usiFirstName,\r\n usiLastName,\r\n reasonForUndertakingCourse,\r\n completedTertiary,\r\n } = fields;\r\n return (dispatch) => {\r\n if (!phone || phone === undefined || phone === \"\") {\r\n dispatch(addNotification(\"Telephone number is required.\", \"warning\"));\r\n return;\r\n }\r\n if (!howDidYouHear || howDidYouHear === undefined || howDidYouHear === \"\") {\r\n dispatch(\r\n addNotification(\r\n \"How did you hear about our company and courses is required.\",\r\n \"warning\"\r\n )\r\n );\r\n return;\r\n }\r\n if (!dateOfBirth || dateOfBirth === undefined || dateOfBirth === \"\") {\r\n dispatch(addNotification(\"Date of birth is required.\", \"warning\"));\r\n return;\r\n }\r\n if (!gender || gender === undefined || gender === \"\") {\r\n dispatch(addNotification(\"Gender is required.\", \"warning\"));\r\n return;\r\n }\r\n if (!streetNumber || streetNumber === undefined || streetNumber === \"\") {\r\n dispatch(addNotification(\"Street number is required.\", \"warning\"));\r\n return;\r\n }\r\n if (!streetName || streetName === undefined || streetName === \"\") {\r\n dispatch(addNotification(\"Street name is required.\", \"warning\"));\r\n return;\r\n }\r\n if (!city || city === undefined || city === \"\") {\r\n dispatch(addNotification(\"City is required.\", \"warning\"));\r\n return;\r\n }\r\n if (!gender || gender === undefined || gender === \"\") {\r\n dispatch(addNotification(\"Gender is required.\", \"warning\"));\r\n return;\r\n }\r\n if (!state || state === undefined || state === \"\" || state === \"-1\") {\r\n dispatch(addNotification(\"State is required.\", \"warning\"));\r\n return;\r\n }\r\n if (!postcode || postcode === undefined || postcode === \"\") {\r\n dispatch(addNotification(\"Post code is required.\", \"warning\"));\r\n return;\r\n }\r\n\r\n if (!dateOfBirth || dateOfBirth === undefined || dateOfBirth === \"\") {\r\n dispatch(addNotification(\"Date of birth is required.\", \"warning\"));\r\n return;\r\n }\r\n\r\n if (!levelOfSchool || levelOfSchool === undefined || levelOfSchool === \"\") {\r\n dispatch(addNotification(\"Level of school is required.\", \"warning\"));\r\n return;\r\n }\r\n\r\n if (\r\n !stillEnrolledInSchool ||\r\n stillEnrolledInSchool === undefined ||\r\n stillEnrolledInSchool === \"\"\r\n ) {\r\n dispatch(\r\n addNotification(\r\n \"Are you still enrolled in secondary or senior secondary education is required.\",\r\n \"warning\"\r\n )\r\n );\r\n return;\r\n }\r\n\r\n if (!usiFirstName || usiFirstName === undefined || usiFirstName === \"\") {\r\n dispatch(addNotification(\"USI first name is required.\", \"warning\"));\r\n return;\r\n }\r\n\r\n if (!usiLastName || usiLastName === undefined || usiLastName === \"\") {\r\n dispatch(addNotification(\"USI last name is required.\", \"warning\"));\r\n return;\r\n }\r\n if (!usiNumber || usiNumber === undefined || usiNumber === \"\") {\r\n dispatch(addNotification(\"USI number is required.\", \"warning\"));\r\n return;\r\n }\r\n if (\r\n !reasonForUndertakingCourse ||\r\n reasonForUndertakingCourse === undefined ||\r\n reasonForUndertakingCourse === \"\"\r\n ) {\r\n dispatch(\r\n addNotification(\"Reason for undertaking course is required.\", \"warning\")\r\n );\r\n return;\r\n }\r\n if (\r\n !completedTertiary ||\r\n completedTertiary === undefined ||\r\n completedTertiary === \"\"\r\n ) {\r\n dispatch(addNotification(\"completed tertiary is required.\", \"warning\"));\r\n return;\r\n }\r\n\r\n if (!studentAcknowledgment) {\r\n dispatch(\r\n addNotification(\"Please tick STUDENT acknowledgement\", \"warning\")\r\n );\r\n return;\r\n }\r\n\r\n let age = getAge(dateOfBirth);\r\n\r\n if (!guardianAcknowledgment && age < 18) {\r\n dispatch(\r\n addNotification(\r\n \"Please tick PARENT/GUARDIAN acknowledgement\",\r\n \"warning\"\r\n )\r\n );\r\n return;\r\n }\r\n\r\n let dateService = DateService();\r\n\r\n fields.dateOfBirth = dateService.toIsoDate(fields.dateOfBirth);\r\n\r\n dispatch(onSubmitEnrolmentStep2Request());\r\n ApiService()\r\n .submitStep2(fields)\r\n .then((resp) => {\r\n dispatch(onSubmitEnrolmentStep2Success());\r\n dispatch(\r\n addNotification(\"Awesome, we’re nearly done. Last step!\", \"success\")\r\n );\r\n history.push(`/course-enrolment/${fields.userCourseId}/step-3/`);\r\n })\r\n .catch((err) => {\r\n dispatch(onSubmitEnrolmentStep2Failure());\r\n dispatch(\r\n addNotification(\r\n err.response.data.Message\r\n ? err.response.data.Message\r\n : \"There was an issue submitting the form\",\r\n \"warning\"\r\n )\r\n );\r\n });\r\n };\r\n};\r\n\r\n// ----------------------------\r\n// Step 2 Actions\r\n// ----------------------------\r\n\r\nexport const toggleWhatIsUsi = () => ({\r\n type: ActionTypes.STEP_2_TOGGLE_WHAT_IS_USI,\r\n});\r\n\r\nexport const toggleGuardianAcknowledgment = (age) => ({\r\n type: ActionTypes.STEP_2_TOGGLE_GUARDIAN_ACKNOWLEDGEMENT,\r\n payload: age < 18 ? true : false,\r\n});\r\n\r\nconst getAge = (DOB) => {\r\n var today = new Date();\r\n var birthDate = new Date(DOB);\r\n var age = today.getFullYear() - birthDate.getFullYear();\r\n var m = today.getMonth() - birthDate.getMonth();\r\n if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {\r\n age = age - 1;\r\n }\r\n return age;\r\n};\r\n","/**\r\n * DatePicker Field extension of Date-Picker component\r\n * - DatePicker field with built-in validator\r\n * rcnet@solvable\r\n *\r\n * - Added debounce to rate limit the firing of fieldError event\r\n */\r\nimport React, { Component } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport \"./Fields.scss\";\r\nimport debounce from \"lodash/debounce\";\r\nimport DateService from \"./../../../services/date-service\";\r\nimport DatePicker from \"react-datepicker\";\r\n\r\nconst EVENT_DEBOUNCE = 2000;\r\n\r\nclass DatePickerField extends Component {\r\n static propTypes = {\r\n placeholder: PropTypes.string,\r\n name: PropTypes.string.isRequired,\r\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.instanceOf(Date)]),\r\n placeholderText: PropTypes.string,\r\n dateFormatCalendar: PropTypes.string,\r\n dateFormat: PropTypes.string,\r\n minDate: PropTypes.instanceOf(Date),\r\n maxDate: PropTypes.instanceOf(Date),\r\n validate: PropTypes.func,\r\n onChange: PropTypes.func.isRequired,\r\n onFieldError: PropTypes.func,\r\n enableFieldColorError: PropTypes.bool,\r\n enableFieldErrorMessage: PropTypes.bool,\r\n enableFieldErrorNotification: PropTypes.bool,\r\n };\r\n\r\n static defaultProps = {\r\n enableFieldColorError: true,\r\n enableFieldErrorMessage: false,\r\n enableFieldErrorNotification: true,\r\n placeholderText: \"dd/mm/yyyy\",\r\n dateFormatCalendar: \"MMM yyyy\",\r\n dateFormat: \"dd/MM/yyyy\",\r\n onFieldError: () => {},\r\n };\r\n\r\n state = {\r\n value: this.props.value,\r\n error: false,\r\n };\r\n\r\n _isMounted = false;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.debouncedCallback = debounce(\r\n (evt, error) => this.fireFieldErrorEvent(error),\r\n EVENT_DEBOUNCE\r\n );\r\n }\r\n\r\n componentDidMount() {\r\n this._isMounted = true;\r\n }\r\n\r\n componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n static getDerivedStateFromProps(props, state) {\r\n return { value: DateService().getDateFromString(props.value) };\r\n }\r\n\r\n onChange = (val) => {\r\n let value = DateService().getDateFromString(val);\r\n this._detectChange(value);\r\n };\r\n\r\n onBlur = (evt) => {\r\n let value = DateService().getDateFromString(this.state.value);\r\n let error = this._detectChange(value);\r\n // Persist react synthetic event\r\n evt.persist();\r\n if (error) this.debouncedCallback(evt, error);\r\n };\r\n\r\n _detectChange = (value) => {\r\n const name = this.props.name;\r\n const error = this.props.validate ? this.props.validate(value) : false;\r\n\r\n this.setState({ value, error });\r\n this.props.onChange({ name, value, error });\r\n\r\n return error;\r\n };\r\n\r\n fireFieldErrorEvent = (error) => this.props.onFieldError(error);\r\n\r\n // Note: Internal function, used by this component\r\n _validateField = () => {\r\n if (!this._isMounted) {\r\n return;\r\n }\r\n let error = this._detectChange(\r\n DateService().getDateFromString(this.state.value)\r\n );\r\n if (error) this.debouncedCallback(null, error);\r\n return { name: this.props.name, error: error };\r\n };\r\n\r\n _isValidComponentInstance = () => {\r\n return this._isMounted;\r\n };\r\n\r\n render() {\r\n const {\r\n name,\r\n validate,\r\n enableFieldColorError,\r\n enableFieldErrorMessage,\r\n enableFieldErrorNotification,\r\n onFieldError,\r\n placeholderText,\r\n dateFormatCalendar,\r\n minDate,\r\n maxDate,\r\n dateFormat,\r\n ...other\r\n } = this.props;\r\n\r\n return (\r\n <>\r\n \r\n {this.state.error && enableFieldErrorMessage && (\r\n {this.state.error}\r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default DatePickerField;\r\n","import React, { Component } from \"react\";\r\nimport InputMask from \"react-input-mask\";\r\nimport PropTypes from \"prop-types\";\r\nimport \"./Fields.scss\";\r\nimport debounce from \"lodash/debounce\";\r\n\r\nconst EVENT_DEBOUNCE = 2000;\r\n\r\nclass MaskedInputField extends Component {\r\n static propTypes = {\r\n placeholder: PropTypes.string,\r\n name: PropTypes.string.isRequired,\r\n value: PropTypes.string,\r\n validate: PropTypes.func,\r\n onChange: PropTypes.func.isRequired,\r\n onFieldError: PropTypes.func,\r\n enableFieldColorError: PropTypes.bool,\r\n enableFieldErrorMessage: PropTypes.bool,\r\n enableFieldErrorNotification: PropTypes.bool,\r\n rows: PropTypes.number,\r\n };\r\n\r\n static defaultProps = {\r\n enableFieldColorError: true,\r\n enableFieldErrorMessage: false,\r\n enableFieldErrorNotification: true,\r\n rows: 4,\r\n onFieldError: () => {},\r\n };\r\n\r\n state = {\r\n value: this.props.value,\r\n error: false,\r\n };\r\n\r\n _isMounted = false;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.debouncedCallback = debounce(\r\n (evt, error) => this.fireFieldErrorEvent(error),\r\n EVENT_DEBOUNCE\r\n );\r\n }\r\n\r\n componentDidMount() {\r\n this._isMounted = true;\r\n }\r\n\r\n componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n static getDerivedStateFromProps(props, state) {\r\n return { value: props.value };\r\n }\r\n\r\n onChange = (evt) => {\r\n this._detectChange(evt.target.value);\r\n };\r\n\r\n onKeyPress = (evt) => {\r\n if (evt.key === \"Enter\" && this.props.onKeyPress) {\r\n this.props.onKeyPress();\r\n }\r\n };\r\n\r\n onBlur = (evt) => {\r\n let error = this._detectChange(evt.target.value);\r\n\r\n // Persist react synthetic event\r\n evt.persist();\r\n if (error) this.debouncedCallback(evt, error);\r\n };\r\n\r\n _detectChange = (value) => {\r\n const name = this.props.name;\r\n //const value = evt.target.value;\r\n const error = this.props.validate ? this.props.validate(value) : false;\r\n\r\n this.setState({ value, error });\r\n this.props.onChange({ name, value, error });\r\n\r\n return error;\r\n };\r\n\r\n fireFieldErrorEvent = (error) => this.props.onFieldError(error);\r\n\r\n // Note: Internal function, used by this component\r\n _validateField = () => {\r\n if (!this._isMounted) {\r\n return;\r\n }\r\n let error = this._detectChange(this.state.value);\r\n if (error) this.debouncedCallback(null, error);\r\n return { name: this.props.name, error: error };\r\n };\r\n\r\n _isValidComponentInstance = () => {\r\n return this._isMounted;\r\n };\r\n\r\n render() {\r\n const {\r\n validate,\r\n enableFieldColorError,\r\n enableFieldErrorMessage,\r\n enableFieldErrorNotification,\r\n rows,\r\n onFieldError,\r\n ...other\r\n } = this.props;\r\n\r\n return (\r\n <>\r\n \r\n {this.state.error && enableFieldErrorMessage && (\r\n {this.state.error}\r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default MaskedInputField;\r\n","/**\r\n * Radio Button List\r\n * Adam Luck @solvable Jun 13, 2019\r\n * - Release notes:\r\n * 7.21.2019 Rcnet - Fix issues in validation (required and custom). Changed logic when doing the validation.\r\n */\r\nimport React, { Component } from \"react\";\r\nimport { Input, Label } from \"reactstrap\";\r\nimport PropTypes from \"prop-types\";\r\nimport debounce from \"lodash/debounce\";\r\nimport \"./Fields.scss\";\r\n\r\nconst EVENT_DEBOUNCE = 2000;\r\n\r\nclass RadioButtonList extends Component {\r\n static propTypes = {\r\n placeholder: PropTypes.string,\r\n name: PropTypes.string.isRequired,\r\n value: PropTypes.string,\r\n validate: PropTypes.func,\r\n onChange: PropTypes.func.isRequired,\r\n items: PropTypes.array.isRequired,\r\n showBorderError: PropTypes.bool.isRequired,\r\n onFieldError: PropTypes.func,\r\n enableFieldColorError: PropTypes.bool,\r\n enableFieldErrorMessage: PropTypes.bool,\r\n enableFieldErrorNotification: PropTypes.bool,\r\n };\r\n\r\n static defaultProps = {\r\n showBorderError: false,\r\n enableFieldColorError: true,\r\n enableFieldErrorMessage: false,\r\n enableFieldErrorNotification: true,\r\n onFieldError: () => {},\r\n };\r\n\r\n state = {\r\n value: this.props.value,\r\n error: false,\r\n };\r\n\r\n _isMounted = false;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.debouncedCallback = debounce(\r\n (evt, error) => this.fireFieldErrorEvent(error),\r\n EVENT_DEBOUNCE\r\n );\r\n }\r\n\r\n componentDidMount() {\r\n this._isMounted = true;\r\n }\r\n\r\n componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n static getDerivedStateFromProps(props, state) {\r\n return { value: props.value };\r\n }\r\n\r\n onChange = (evt) => {\r\n this._detectChange(evt.target.value, false);\r\n };\r\n\r\n onBlur = (evt) => {\r\n let error = this._detectChange(evt.target.value, true);\r\n\r\n // Persist react synthetic event\r\n evt.persist();\r\n if (error) this.debouncedCallback(evt, error);\r\n };\r\n\r\n // Note:\r\n // 1. If we hit the tab changed event we only validate the Value of the component not the individual radio buttons. So we get the this.props.value.\r\n // 2. If we hit the input onChanged event we are validating the individual selected radio button list. So we are get the value from evt.target.value.\r\n //\r\n // Required field validation only triggers when hitting the onBlur event.\r\n _detectChange = (targetValue, isTabEvt) => {\r\n const name = this.props.name;\r\n const value = isTabEvt ? this.props.value : targetValue; //evt.target.value;\r\n const error = this.props.validate ? this.props.validate(value) : false;\r\n\r\n this.setState({ value, error });\r\n this.props.onChange({ name, value, error });\r\n\r\n return error;\r\n };\r\n\r\n fireFieldErrorEvent = (error) => this.props.onFieldError(error);\r\n\r\n getValues = (items) => {\r\n return items.map(function(item) {\r\n return item.value;\r\n });\r\n };\r\n\r\n getLabelNames = (items) => {\r\n return items.map(function(item) {\r\n return item.label ? item.label : item.value;\r\n });\r\n };\r\n\r\n // Note: Internal function, used by this component\r\n _validateField = () => {\r\n if (!this._isMounted) {\r\n return;\r\n }\r\n let error = this._detectChange(this.state.value);\r\n if (error) this.debouncedCallback(null, error);\r\n return { name: this.props.name, error: error };\r\n };\r\n\r\n _isValidComponentInstance = () => {\r\n return this._isMounted;\r\n };\r\n\r\n isUndefined = (value) => {\r\n return value === null || value === \"\" || value === \"\" || value === undefined\r\n ? true\r\n : false;\r\n };\r\n\r\n render() {\r\n const {\r\n //validate,\r\n items,\r\n enableFieldColorError,\r\n enableFieldErrorMessage,\r\n enableFieldErrorNotification,\r\n onFieldError,\r\n ...other\r\n } = this.props;\r\n\r\n let values = this.getValues(items);\r\n let labels = this.getLabelNames(items);\r\n\r\n return (\r\n
\r\n \r\n {values.map((value, i) => {\r\n return (\r\n \r\n \r\n \r\n {labels[i]}\r\n \r\n \r\n );\r\n })}\r\n
\r\n {this.state.error && enableFieldErrorMessage && (\r\n {this.state.error}\r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default RadioButtonList;\r\n","export const yesNo = [\r\n { value: \"TRUE\", label: \"Yes\" },\r\n { value: \"FALSE\", label: \"No\" },\r\n];\r\n\r\nexport const genders = [\r\n { value: \"F\", label: \"Female\" },\r\n { value: \"M\", label: \"Male\" },\r\n { value: \"O\", label: \"Other\" },\r\n];\r\n\r\nexport const levelOfSchool = [\r\n { value: \"Year 12 or equivalent\" },\r\n { value: \"Year 11 or equivalent\" },\r\n { value: \"Year 10 or equivalent\" },\r\n { value: \"Year 9 or equivalent\" },\r\n { value: \"Year 8 or below\" },\r\n { value: \"Never attended school\" },\r\n];\r\n\r\nexport const levelOfEducation = [\r\n { value: \"Bachelor degree or higher degree level\" },\r\n { value: \"Advanced diploma or associate degree level\" },\r\n { value: \"Diploma level\" },\r\n { value: \"Certificate IV\" },\r\n { value: \"Certificate III\" },\r\n { value: \"Certificate II\" },\r\n { value: \"Certificate I\" },\r\n {\r\n value:\r\n \"Other education (including certificates or overseas qualifications)\",\r\n },\r\n];\r\n\r\nexport const reasonForUndertakingCourse = [\r\n { value: \"To get a job\" },\r\n { value: \"To develop my existing business\" },\r\n { value: \"To start my own business \" },\r\n { value: \"To try for a different career\" },\r\n { value: \"To get a better job or promotion\" },\r\n { value: \"It was a requirement of my job\" },\r\n { value: \"I wanted extra skills for my job\" },\r\n { value: \"To get into another course of study\" },\r\n { value: \"For personal interest or self-development\" },\r\n { value: \"Other reasons\" },\r\n];\r\n\r\nexport const howDidYouHear = [\r\n { value: \"Google\" },\r\n { value: \"Twitter\" },\r\n { value: \"Facebook\" },\r\n { value: \"Word of Mouth\" },\r\n { value: \"Referral\" },\r\n { value: \"Other\" },\r\n];\r\n\r\nexport const disabilityType = [\r\n { value: \"Hearing/deaf\" },\r\n { value: \"Physical\" },\r\n { value: \"Intellectual\" },\r\n { value: \"Learning\" },\r\n { value: \"Mental illness\" },\r\n { value: \"Acquired brain impairment\" },\r\n { value: \"Vision\" },\r\n { value: \"Medical condition\" },\r\n { value: \"Other\" },\r\n];\r\n\r\nexport const countries = [\r\n { value: \"Afghanistan\" },\r\n { value: \"Albania\" },\r\n { value: \"Algeria\" },\r\n { value: \"Andorra\" },\r\n { value: \"Angola\" },\r\n { value: \"Antigua and Barbuda\" },\r\n { value: \"Argentina\" },\r\n { value: \"Armenia\" },\r\n { value: \"Australia\" },\r\n { value: \"Austria\" },\r\n { value: \"Azerbaijan\" },\r\n { value: \"Bahamas\" },\r\n { value: \"Bahrain\" },\r\n { value: \"Bangladesh\" },\r\n { value: \"Barbados\" },\r\n { value: \"Belarus\" },\r\n { value: \"Belgium\" },\r\n { value: \"Belize\" },\r\n { value: \"Benin\" },\r\n { value: \"Bhutan\" },\r\n { value: \"Bolivia\" },\r\n { value: \"Bosnia and Herzegovina\" },\r\n { value: \"Botswana\" },\r\n { value: \"Brazil\" },\r\n { value: \"Brunei\" },\r\n { value: \"Bulgaria\" },\r\n { value: \"Burkina Faso\" },\r\n { value: \"Burundi\" },\r\n { value: \"Côte d'Ivoire\" },\r\n { value: \"Cabo Verde\" },\r\n { value: \"Cambodia\" },\r\n { value: \"Cameroon\" },\r\n { value: \"Canada\" },\r\n { value: \"Central African Republic\" },\r\n { value: \"Chad\" },\r\n { value: \"Chile\" },\r\n { value: \"China\" },\r\n { value: \"Colombia\" },\r\n { value: \"Comoros\" },\r\n { value: \"Congo (Congo-Brazzaville)\" },\r\n { value: \"Costa Rica\" },\r\n { value: \"Croatia\" },\r\n { value: \"Cuba\" },\r\n { value: \"Cyprus\" },\r\n { value: \"Czechia\" },\r\n { value: \"Democratic Republic of the Congo\" },\r\n { value: \"Denmark\" },\r\n { value: \"Djibouti\" },\r\n { value: \"Dominica\" },\r\n { value: \"Dominican Republic\" },\r\n { value: \"Ecuador\" },\r\n { value: \"Egypt\" },\r\n { value: \"El Salvador\" },\r\n { value: \"Equatorial Guinea\" },\r\n { value: \"Eritrea\" },\r\n { value: \"Estonia\" },\r\n { value: \"Ethiopia\" },\r\n { value: \"Fiji\" },\r\n { value: \"Finland\" },\r\n { value: \"France\" },\r\n { value: \"Gabon\" },\r\n { value: \"Gambia\" },\r\n { value: \"Georgia\" },\r\n { value: \"Germany\" },\r\n { value: \"Ghana\" },\r\n { value: \"Greece\" },\r\n { value: \"Grenada\" },\r\n { value: \"Guatemala\" },\r\n { value: \"Guinea\" },\r\n { value: \"Guinea-Bissau\" },\r\n { value: \"Guyana\" },\r\n { value: \"Haiti\" },\r\n { value: \"Holy See\" },\r\n { value: \"Honduras\" },\r\n { value: \"Hungary\" },\r\n { value: \"Iceland\" },\r\n { value: \"India\" },\r\n { value: \"Indonesia\" },\r\n { value: \"Iran\" },\r\n { value: \"Iraq\" },\r\n { value: \"Ireland\" },\r\n { value: \"Israel\" },\r\n { value: \"Italy\" },\r\n { value: \"Jamaica\" },\r\n { value: \"Japan\" },\r\n { value: \"Jordan\" },\r\n { value: \"Kazakhstan\" },\r\n { value: \"Kenya\" },\r\n { value: \"Kiribati\" },\r\n { value: \"Kuwait\" },\r\n { value: \"Kyrgyzstan\" },\r\n { value: \"Laos\" },\r\n { value: \"Latvia\" },\r\n { value: \"Lebanon\" },\r\n { value: \"Lesotho\" },\r\n { value: \"Liberia\" },\r\n { value: \"Libya\" },\r\n { value: \"Liechtenstein\" },\r\n { value: \"Lithuania\" },\r\n { value: \"Luxembourg\" },\r\n { value: \"Madagascar\" },\r\n { value: \"Malawi\" },\r\n { value: \"Malaysia\" },\r\n { value: \"Maldives\" },\r\n { value: \"Mali\" },\r\n { value: \"Malta\" },\r\n { value: \"Marshall Islands\" },\r\n { value: \"Mauritania\" },\r\n { value: \"Mauritius\" },\r\n { value: \"Mexico\" },\r\n { value: \"Micronesia\" },\r\n { value: \"Moldova\" },\r\n { value: \"Monaco\" },\r\n { value: \"Mongolia\" },\r\n { value: \"Montenegro\" },\r\n { value: \"Morocco\" },\r\n { value: \"Mozambique\" },\r\n { value: \"Myanmar (formerly Burma)\" },\r\n { value: \"Namibia\" },\r\n { value: \"Nauru\" },\r\n { value: \"Nepal\" },\r\n { value: \"Netherlands\" },\r\n { value: \"New Zealand\" },\r\n { value: \"Nicaragua\" },\r\n { value: \"Niger\" },\r\n { value: \"Nigeria\" },\r\n { value: \"North Korea\" },\r\n { value: \"North Macedonia\" },\r\n { value: \"Norway\" },\r\n { value: \"Oman\" },\r\n { value: \"Pakistan\" },\r\n { value: \"Palau\" },\r\n { value: \"Palestine State\" },\r\n { value: \"Panama\" },\r\n { value: \"Papua New Guinea\" },\r\n { value: \"Paraguay\" },\r\n { value: \"Peru\" },\r\n { value: \"Philippines\" },\r\n { value: \"Poland\" },\r\n { value: \"Portugal\" },\r\n { value: \"Qatar\" },\r\n { value: \"Romania\" },\r\n { value: \"Russia\" },\r\n { value: \"Rwanda\" },\r\n { value: \"Saint Kitts and Nevis\" },\r\n { value: \"Saint Lucia\" },\r\n { value: \"Saint Vincent and the Grenadines\" },\r\n { value: \"Samoa\" },\r\n { value: \"San Marino\" },\r\n { value: \"Sao Tome and Principe\" },\r\n { value: \"Saudi Arabia\" },\r\n { value: \"Senegal\" },\r\n { value: \"Serbia\" },\r\n { value: \"Seychelles\" },\r\n { value: \"Sierra Leone\" },\r\n { value: \"Singapore\" },\r\n { value: \"Slovakia\" },\r\n { value: \"Slovenia\" },\r\n { value: \"Solomon Islands\" },\r\n { value: \"Somalia\" },\r\n { value: \"South Africa\" },\r\n { value: \"South Korea\" },\r\n { value: \"South Sudan\" },\r\n { value: \"Spain\" },\r\n { value: \"Sri Lanka\" },\r\n { value: \"Sudan\" },\r\n { value: \"Suriname\" },\r\n { value: \"Swaziland\" },\r\n { value: \"Sweden\" },\r\n { value: \"Switzerland\" },\r\n { value: \"Syria\" },\r\n { value: \"Taiwan\" },\r\n { value: \"Tajikistan\" },\r\n { value: \"Tanzania\" },\r\n { value: \"Thailand\" },\r\n { value: \"Timor-Leste\" },\r\n { value: \"Togo\" },\r\n { value: \"Tokelau\" },\r\n { value: \"Tonga\" },\r\n { value: \"Trinidad and Tobago\" },\r\n { value: \"Tunisia\" },\r\n { value: \"Turkey\" },\r\n { value: \"Turkmenistan\" },\r\n { value: \"Tuvalu\" },\r\n { value: \"Uganda\" },\r\n { value: \"Ukraine\" },\r\n { value: \"United Arab Emirates\" },\r\n { value: \"United Kingdom\" },\r\n { value: \"United States of America\" },\r\n { value: \"Uruguay\" },\r\n { value: \"Uzbekistan\" },\r\n { value: \"Vanuatu\" },\r\n { value: \"Venezuela\" },\r\n { value: \"Vietnam\" },\r\n { value: \"Yemen\" },\r\n { value: \"Zambia\" },\r\n { value: \"Zimbabwe\" },\r\n];\r\n\r\nexport const languageAtHome = [\r\n { value: \"English\" },\r\n { value: \"Other Language\" },\r\n];\r\n\r\nexport const languages = [\r\n { value: \"Arabic\" },\r\n { value: \"Awadhi\" },\r\n { value: \"Azerbaijani, South\" },\r\n { value: \"Bengali\" },\r\n { value: \"Bhojpuri\" },\r\n { value: \"Burmese\" },\r\n { value: \"Chinese, Gan\" },\r\n { value: \"Chinese, Hakka\" },\r\n { value: \"Chinese, Jinyu\" },\r\n { value: \"Chinese, Mandarin\" },\r\n { value: \"Chinese, Min Nan\" },\r\n { value: \"Chinese, Wu\" },\r\n { value: \"Chinese, Xiang\" },\r\n { value: \"Chinese, Yue(Cantonese)\" },\r\n { value: \"Dutch\" },\r\n { value: \"French\" },\r\n { value: \"German\" },\r\n { value: \"Gujarati\" },\r\n { value: \"Hausa\" },\r\n { value: \"Hindi\" },\r\n { value: \"Italian\" },\r\n { value: \"Japanese\" },\r\n { value: \"Javanese\" },\r\n { value: \"Kannada\" },\r\n { value: \"Korean\" },\r\n { value: \"Maithili\" },\r\n { value: \"Malayalam\" },\r\n { value: \"Marathi\" },\r\n { value: \"Oriya\" },\r\n { value: \"Panjabi, Eastern\" },\r\n { value: \"Panjabi, Western\" },\r\n { value: \"Persian\" },\r\n { value: \"Polish\" },\r\n { value: \"Portuguese\" },\r\n { value: \"Romanian\" },\r\n { value: \"Russian\" },\r\n { value: \"Sindhi\" },\r\n { value: \"Spanish\" },\r\n { value: \"Sunda\" },\r\n { value: \"Tamil\" },\r\n { value: \"Telugu\" },\r\n { value: \"Thai\" },\r\n { value: \"Turkish\" },\r\n { value: \"Ukrainian\" },\r\n { value: \"Urdu\" },\r\n { value: \"Vietnamese\" },\r\n { value: \"Yoruba\" },\r\n { value: \"Other\" },\r\n];\r\n","import React, { Component } from \"react\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport KeyboardEventHandler from \"react-keyboard-event-handler\";\r\nimport withSizes from \"react-sizes\";\r\nimport ToggleDisplay from \"react-toggle-display\";\r\nimport { Col, Form, FormGroup, Label, Row } from \"reactstrap\";\r\nimport \"../../../assets/styles/enrolment-forms.scss\";\r\nimport BlockUiFx from \"../../../components/Common/Block-Ui-Fx/Block-Ui-Fx\";\r\nimport ButtonFx from \"../../../components/Common/Button-Fx/Button-Fx\";\r\nimport CheckboxField from \"../../../components/Common/Fields/Checkbox-Field\";\r\nimport DatePickerField from \"../../../components/Common/Fields/Date-Picker-Field\";\r\nimport InputField from \"../../../components/Common/Fields/Input-Field\";\r\nimport MaskedInputField from \"../../../components/Common/Fields/Masked-Input-Field\";\r\nimport RadioButtonList from \"../../../components/Common/Fields/Radio-Button-List\";\r\nimport SelectField from \"../../../components/Common/Fields/Select-Field\";\r\nimport * as validators from \"../../../components/Common/Fields/Validators/Field-Validators\";\r\nimport formHandler from \"../../../components/Common/Fields/form-handler\";\r\nimport PageTitle from \"../../../components/Common/Page-Title/Page-Title\";\r\nimport ContentSection from \"components/Common/content-section\";\r\nimport LoqateAddressField from \"./../../../components/Common/Loqate-Single-Address-Field/index\";\r\nimport * as Step2Constants from \"./step-2-constants\";\r\n\r\nconst validateSelect = (fieldName, value) => {\r\n if (validators.required(fieldName, value) || value === \"-1\") {\r\n return `${fieldName} is required.`;\r\n }\r\n return false;\r\n};\r\n\r\nconst validateUsiNumber = (fieldName, value) => {\r\n if (validators.required(fieldName, value) || value === \"-1\") {\r\n return `${fieldName} is required.`;\r\n }\r\n if (!/^[2-9A-HJ-NP-Za-hj-np-z]{10}$/.test(value) && value !== \"INDIV\") {\r\n return `${value} is not a valid USI number.`;\r\n }\r\n return false;\r\n};\r\n\r\nconst phoneValidator = (fieldName, value) => {\r\n if (validators.required(fieldName, value))\r\n return validators.required(fieldName, value);\r\n\r\n if (validators.phone(value)) return validators.phone(value);\r\n\r\n return false;\r\n};\r\n\r\nconst getPhoneMask = (value) => {\r\n if (\r\n value.startsWith(\"02\") ||\r\n value.startsWith(\"03\") ||\r\n value.startsWith(\"07\") ||\r\n value.startsWith(\"08\")\r\n )\r\n return \"99 9999 9999\";\r\n\r\n return \"9999 999 999\";\r\n};\r\n\r\nclass CourseEnrolmentStep2 extends Component {\r\n // eslint-disable-next-line no-useless-constructor\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n const { step2OnInit, match } = this.props;\r\n step2OnInit(match.params.courseId);\r\n }\r\n\r\n onAutocompleteAddressSelect = (address) => {\r\n this.props.updateAutocompleteAddress(address);\r\n };\r\n\r\n render() {\r\n const form = formHandler();\r\n const {\r\n onInputChange,\r\n onDateOfBirthChange,\r\n toggleWhatIsUsi,\r\n onFieldError,\r\n isProcessing,\r\n isMobile,\r\n onSubmitEnrolment,\r\n clearAddress,\r\n addressEntry,\r\n } = this.props;\r\n\r\n const {\r\n showLevelOfEducation,\r\n showWhatIsUsi,\r\n showHasUsi,\r\n showDisability,\r\n showCountry,\r\n showOtherLanguage,\r\n showUnderstandingOfEnglish,\r\n showUnderstandFalseInfo,\r\n showUnderstandTimeToComplete,\r\n showGuardianAcknowledgment,\r\n showUsiLastName,\r\n } = this.props.fieldVisibility;\r\n\r\n const {\r\n dateOfBirth,\r\n gender,\r\n levelOfSchool,\r\n stillEnrolledInSchool,\r\n completedTertiary,\r\n levelOfEducation,\r\n reasonForUndertakingCourse,\r\n phone,\r\n usiFirstName,\r\n usiMiddleName,\r\n usiLastName,\r\n hasUsi,\r\n usiNumber,\r\n howDidYouHear,\r\n disability,\r\n disabilityType,\r\n bornInAustralia,\r\n country,\r\n aboriginalOrTorresStraitIslandOrigin,\r\n languageAtHome,\r\n languageAtHomeOther,\r\n goodUnderstandingOfEnglish,\r\n understandFalseInfo,\r\n understandTimeToComplete,\r\n studentAcknowledgment,\r\n guardianAcknowledgment,\r\n } = this.props.fields;\r\n const { courseTitle, courseCode } = this.props.courseDetails;\r\n\r\n return (\r\n <>\r\n \r\n
\r\n \r\n \r\n
\r\n

Course Enrolment

\r\n
\r\n {courseTitle && (\r\n <>\r\n {courseTitle} ({courseCode})\r\n \r\n )}\r\n
\r\n
\r\n As a Registered Training Organisation we are required to\r\n collect the information below for our training records. Thank\r\n you!\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
Your Details
\r\n \r\n \r\n
\r\n \r\n \r\n validators.required(\"Date of birth\", val)\r\n }\r\n onFieldError={onFieldError}\r\n ref={form.add}\r\n >\r\n \r\n \r\n \r\n validators.required(\"Date of birth\", val)\r\n }\r\n onFieldError={onFieldError}\r\n className=\"mxw-200\"\r\n />\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n val === \"-1\" ||\r\n val === \"\" ||\r\n val === undefined ||\r\n val === null\r\n ? \"Gender is required\"\r\n : false\r\n }\r\n onFieldError={onFieldError}\r\n />\r\n
\r\n
\r\n \r\n \r\n phoneValidator(\"Telephone Number\", val)}\r\n className=\"mxw-200\"\r\n />\r\n \r\n \r\n validators.required(\"Address\", val)}\r\n ref={form.add}\r\n clearAddress={clearAddress}\r\n label={\"Postal\"}\r\n />\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
Your Education Details
\r\n \r\n \r\n validateSelect(\"Level of school\", val)}\r\n className=\"mxw-400\"\r\n >\r\n \r\n {Step2Constants.levelOfSchool.map((item, i) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n val === \"-1\" ||\r\n val === \"\" ||\r\n val === undefined ||\r\n val === null\r\n ? \"Are you still enrolled in secondary or senior secondary education is required.\"\r\n : false\r\n }\r\n onFieldError={onFieldError}\r\n items={Step2Constants.yesNo}\r\n showBorderError={false}\r\n onChange={onInputChange}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n val === \"-1\" ||\r\n val === \"\" ||\r\n val === undefined ||\r\n val === null\r\n ? \"Has completed tertiary is required\"\r\n : false\r\n }\r\n onFieldError={onFieldError}\r\n items={Step2Constants.yesNo}\r\n onChange={onInputChange}\r\n />\r\n
\r\n
\r\n {showLevelOfEducation && (\r\n \r\n \r\n \r\n validateSelect(\"Level of education\", val)\r\n }\r\n onFieldError={onFieldError}\r\n ref={form.add}\r\n className=\"mxw-400\"\r\n >\r\n \r\n {Step2Constants.levelOfEducation.map((item, i) => (\r\n \r\n ))}\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n validateSelect(\"Reason for undertaking course\", val)\r\n }\r\n ref={form.add}\r\n onFieldError={onFieldError}\r\n className=\"mxw-400\"\r\n >\r\n \r\n {Step2Constants.reasonForUndertakingCourse.map(\r\n (item, i) => (\r\n \r\n )\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n validators.required(\"USI first name\", val)\r\n }\r\n onFieldError={onFieldError}\r\n />\r\n \r\n \r\n {showUsiLastName && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n validators.required(\"USI last name\", val)\r\n }\r\n onFieldError={onFieldError}\r\n />\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n val === \"-1\" ||\r\n val === \"\" ||\r\n val === undefined ||\r\n val === null\r\n ? \"Please indicate whether or not you have a USI number\"\r\n : false\r\n }\r\n onFieldError={onFieldError}\r\n items={Step2Constants.yesNo}\r\n onChange={onInputChange}\r\n />\r\n
\r\n
\r\n {showHasUsi && (\r\n \r\n \r\n validateUsiNumber(\"USI Number\", val)}\r\n onFieldError={onFieldError}\r\n className=\"mxw-400\"\r\n />\r\n \r\n )}\r\n {hasUsi === \"FALSE\" && (\r\n
\r\n

\r\n Please go to{\" \"}\r\n \r\n https://www.usi.gov.au/students/create-usi\r\n {\" \"}\r\n to create your USI number.\r\n

\r\n

\r\n If you have forgotten your USI number please follow the\r\n link below:\r\n
\r\n \r\n https://www.usi.gov.au/documents/forgotten-usi-fact-sheet\r\n \r\n

\r\n

\r\n When you have created the number you need to select{\" \"}\r\n \r\n Yes\r\n {\" \"}\r\n to the question{\" \"}\r\n Do you have a Unique Student Identifier (USI)?{\" \"}\r\n above, and enter the USI number into the box and continue\r\n with your enrolment.\r\n

\r\n

\r\n If you experience any issues please call the USI\r\n Department on 1300 857 536\r\n

\r\n
\r\n )}\r\n {showWhatIsUsi && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n \r\n
\r\n
Further Details
\r\n \r\n \r\n \r\n validateSelect(\r\n \"How did you hear about our company and courses\",\r\n val\r\n )\r\n }\r\n className=\"mxw-300\"\r\n >\r\n \r\n {Step2Constants.howDidYouHear.map((item, i) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n val === \"-1\" ||\r\n val === \"\" ||\r\n val === undefined ||\r\n val === null\r\n ? \"Please indicate whether or not you consider yourself to have a disability.\"\r\n : false\r\n }\r\n onFieldError={onFieldError}\r\n value={disability}\r\n items={Step2Constants.yesNo}\r\n onChange={onInputChange}\r\n />\r\n
\r\n
\r\n {showDisability && (\r\n <>\r\n \r\n \r\n \r\n validateSelect(\"Disability type\", val)\r\n }\r\n className=\"mxw-300\"\r\n >\r\n \r\n {Step2Constants.disabilityType.map((item, i) => (\r\n \r\n ))}\r\n \r\n \r\n
\r\n

\r\n For more information, please refer to the student\r\n handbook.{\" \"}\r\n \r\n View the Student Handbook\r\n \r\n

\r\n
\r\n \r\n )}\r\n \r\n \r\n
\r\n \r\n val === \"-1\" ||\r\n val === \"\" ||\r\n val === undefined ||\r\n val === null\r\n ? \"Were you born in Australia is required\"\r\n : false\r\n }\r\n onFieldError={onFieldError}\r\n showBorderError={false}\r\n value={bornInAustralia}\r\n items={Step2Constants.yesNo}\r\n onChange={onInputChange}\r\n />\r\n
\r\n
\r\n {showCountry && (\r\n \r\n \r\n \r\n validateSelect(\"Country of birth\", val)\r\n }\r\n className=\"mxw-400\"\r\n >\r\n \r\n {Step2Constants.countries.map((item, i) => (\r\n \r\n ))}\r\n \r\n \r\n )}\r\n \r\n \r\n
\r\n \r\n val === \"-1\" ||\r\n val === \"\" ||\r\n val === undefined ||\r\n val === null\r\n ? \"Aboriginal or Torres Strait Island Origin is required.\"\r\n : false\r\n }\r\n onFieldError={onFieldError}\r\n items={Step2Constants.yesNo}\r\n showBorderError={false}\r\n onChange={onInputChange}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n val === \"-1\" ||\r\n val === \"\" ||\r\n val === undefined ||\r\n val === null\r\n ? \"Language at home is required.\"\r\n : false\r\n }\r\n onFieldError={onFieldError}\r\n value={languageAtHome}\r\n showBorderError={false}\r\n items={Step2Constants.languageAtHome}\r\n onChange={onInputChange}\r\n />\r\n
\r\n
\r\n {showOtherLanguage && (\r\n \r\n \r\n \r\n validateSelect(\"Other language at home\", val)\r\n }\r\n showBorderError={false}\r\n className=\"mxw-400\"\r\n >\r\n \r\n {Step2Constants.languages.map((item, i) => (\r\n \r\n ))}\r\n \r\n \r\n )}\r\n \r\n \r\n
\r\n \r\n val === \"-1\" ||\r\n val === \"\" ||\r\n val === undefined ||\r\n val === null\r\n ? \"Please indicate whether or not you have a good understanding of English\"\r\n : false\r\n }\r\n onFieldError={onFieldError}\r\n showBorderError={false}\r\n items={Step2Constants.yesNo}\r\n onChange={onInputChange}\r\n />\r\n
\r\n
\r\n {showUnderstandingOfEnglish && (\r\n
\r\n

\r\n If you have any Language, Literacy or Numeracy issues that\r\n may impact upon your studies and you feel you need any\r\n assistance please contact{\" \"}\r\n \r\n contact@traintogain.com.au\r\n {\" \"}\r\n for further information.{\" \"}\r\n \r\n View the Student Handbook\r\n \r\n

\r\n
\r\n )}\r\n
\r\n
\r\n \r\n
\r\n
Acknowledgment
\r\n \r\n \r\n
\r\n \r\n val === \"-1\" ||\r\n val === \"\" ||\r\n val === undefined ||\r\n val === null\r\n ? \"Please tick that you understand about providing false information.\"\r\n : false\r\n }\r\n onFieldError={onFieldError}\r\n showBorderError={false}\r\n items={Step2Constants.yesNo}\r\n onChange={onInputChange}\r\n />\r\n
\r\n {showUnderstandFalseInfo && (\r\n
\r\n

\r\n Please contact the office at{\" \"}\r\n \r\n contact@traintogain.com.au\r\n {\" \"}\r\n to assist you in progressing further.\r\n

\r\n
\r\n )}\r\n \r\n \r\n
\r\n \r\n val === \"-1\" ||\r\n val === \"\" ||\r\n val === undefined ||\r\n val === null\r\n ? \"Please confirm you understand that you have 12 months to complete this course\"\r\n : false\r\n }\r\n onFieldError={onFieldError}\r\n items={Step2Constants.yesNo}\r\n onChange={onInputChange}\r\n />\r\n
\r\n {showUnderstandTimeToComplete && (\r\n
\r\n

\r\n Please contact the office at{\" \"}\r\n \r\n contact@traintogain.com.au\r\n {\" \"}\r\n to assist you in progressing further.\r\n

\r\n
\r\n )}\r\n \r\n \r\n

\r\n I declare that the information I have provided to the best\r\n of my knowledge is true and correct. I consent to the\r\n collection, use and disclosure of my personal information in\r\n accordance with the Privacy Notice attached.{\" \"}\r\n \r\n View the Policy\r\n \r\n

\r\n \r\n !val ? \"Please tick the STUDENT acknowledgement.\" : false\r\n }\r\n name=\"studentAcknowledgment\"\r\n label=\"STUDENT acknowledgement (please tick this to continue)\"\r\n value={studentAcknowledgment}\r\n onFieldError={onFieldError}\r\n onChange={onInputChange}\r\n />\r\n {showGuardianAcknowledgment && (\r\n <>\r\n
\r\n \r\n !val\r\n ? \"Please tick the PARENT/GUARDIAN acknowledgement.\"\r\n : false\r\n }\r\n name=\"guardianAcknowledgment\"\r\n label=\"PARENT/GUARDIAN acknowledgement (please tick this to continue)\"\r\n value={guardianAcknowledgment}\r\n onFieldError={onFieldError}\r\n onChange={onInputChange}\r\n />\r\n
\r\n
\r\n Parental/guardian consent is required for all students\r\n under the age of 18.\r\n
\r\n \r\n )}\r\n
\r\n\r\n \r\n

\r\n GREAT! Thanks for your patience{\" \"}\r\n \r\n

\r\n\r\n \r\n form.validate({\r\n validFn: () => {\r\n onSubmitEnrolment();\r\n },\r\n invalidFn: () => console.log(form.getFieldErrors()),\r\n })\r\n }\r\n >\r\n Continue\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n form.validate({\r\n validFn: () => onSubmitEnrolment(),\r\n })\r\n }\r\n />\r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapSizesToProps = ({ width }) => ({\r\n isMobile: width < 800,\r\n});\r\n\r\nexport default withSizes(mapSizesToProps)(CourseEnrolmentStep2);\r\n","/**\r\n * Course Enrolment Step 2 Container\r\n * Adam Luck @solvable Jun 13, 2019\r\n */\r\nimport { connect } from \"react-redux\";\r\nimport { selectLoginData } from \"../../../redux/system/login-reducer\";\r\nimport * as SysActions from \"../../../redux/system/system-action-creators\";\r\nimport * as Actions from \"./redux/action-creators\";\r\nimport { selectEnrolment } from \"../redux/enrolment-reducer\";\r\nimport Step2Form from \"./Step-2-Form\";\r\nimport { selectStep2 } from \"./redux/reducer\";\r\n\r\nconst mapStateToProps = (state) => {\r\n const step2Data = selectStep2(state);\r\n const loginData = selectLoginData(state);\r\n const enrolmentData = selectEnrolment(state);\r\n\r\n return {\r\n fields: step2Data.fields,\r\n formValid: step2Data.formValid,\r\n isProcessing: step2Data.isProcessing,\r\n loginData: loginData,\r\n fieldErrors: step2Data.fieldErrors,\r\n courseDetails: enrolmentData.courseDetails,\r\n fieldVisibility: step2Data.fieldVisibility,\r\n addressEntry: step2Data.addressEntry,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => ({\r\n onLoadCourseDetails: (courseId) => {\r\n dispatch(Actions.onLoadCourseDetails(courseId));\r\n },\r\n onInputChange: ({ name, value, error }) => {\r\n dispatch(Actions.step2FormInputChange(name, value, error));\r\n },\r\n onDateOfBirthChange: ({ name, value, error }) =>\r\n dispatch(Actions.updateDOBField(value)),\r\n toggleWhatIsUsi: () => {\r\n dispatch(Actions.toggleWhatIsUsi());\r\n },\r\n onFieldError: (error) =>\r\n dispatch(SysActions.addNotification(error, \"warning\")),\r\n clearAddress: () => {\r\n dispatch(Actions.clearFormAddress());\r\n },\r\n updateAutocompleteAddress: (address) => {\r\n dispatch(Actions.updateAutocompleteAddress(address));\r\n },\r\n dispatch: dispatch,\r\n history: ownProps.history,\r\n match: ownProps.match,\r\n});\r\n\r\nconst mergeFormProps = (stateProps, dispatchProps) => ({\r\n ...stateProps,\r\n ...dispatchProps,\r\n step2OnInit: (courseId) => {\r\n dispatchProps.dispatch(\r\n Actions.step2OnInit(courseId, dispatchProps.history)\r\n );\r\n },\r\n onSubmitEnrolment: () => {\r\n dispatchProps.dispatch(\r\n Actions.onSubmitEnrolmentStep2(\r\n stateProps.courseDetails.courseId,\r\n stateProps.fields,\r\n dispatchProps.history\r\n )\r\n );\r\n },\r\n});\r\n\r\nconst Step2FormContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n mergeFormProps\r\n)(Step2Form);\r\n\r\nexport default Step2FormContainer;\r\n","export const relationshipToObserver = [\r\n { value: \"Past or Present Supervisor/Employer/Manager\" },\r\n { value: \"Past or Present Volunteer Supervisor/Manager\" },\r\n];\r\n\r\nexport const currentEmploymentStatus = [\r\n { value: \"Full-time employee\" },\r\n { value: \"Part-time employee\" },\r\n { value: \"Self employed – not employing others\" },\r\n { value: \"Self employed – employing others\" },\r\n { value: \"Employed – unpaid worker in a family business\" },\r\n { value: \"Unemployed – seeking full-time work\" },\r\n { value: \"Unemployed – seeking part-time work\" },\r\n { value: \"Not employed – not seeking employment\" },\r\n];\r\n\r\nexport const whereExperience = [{ value: \"Business\" }, { value: \"Volunteer\" }];\r\n","import React, { Component } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport PageTitle from \"../../../components/Common/Page-Title/Page-Title\";\r\nimport { Button, Form, FormGroup, Label, Row, Col } from \"reactstrap\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport InputField from \"../../../components/Common/Fields/Input-Field\";\r\nimport MaskedInputField from \"../../../components/Common/Fields/Masked-Input-Field\";\r\nimport SelectField from \"../../../components/Common/Fields/Select-Field\";\r\nimport RadioButtonList from \"../../../components/Common/Fields/Radio-Button-List\";\r\nimport ContentSection from \"components/Common/content-section\";\r\nimport * as Step3Constants from \"./step-3-constants\";\r\nimport \"../../../assets/styles/enrolment-forms.scss\";\r\nimport * as validators from \"../../../components/Common/Fields/Validators/Field-Validators\";\r\nimport BlockUiFx from \"../../../components/Common/Block-Ui-Fx/Block-Ui-Fx\";\r\nimport ButtonFx from \"../../../components/Common/Button-Fx/Button-Fx\";\r\nimport formHandler from \"../../../components/Common/Fields/form-handler\";\r\nimport KeyboardEventHandler from \"react-keyboard-event-handler\";\r\n\r\nconst validateSelect = (fieldName, value) => {\r\n if (validators.required(fieldName, value) || value === \"-1\") {\r\n return `${fieldName} is required.`;\r\n }\r\n return false;\r\n};\r\n\r\nconst emailValidator = (fieldName, value) => {\r\n if (validators.required(fieldName, value))\r\n return validators.required(fieldName, value);\r\n if (validators.email(value)) return validators.email(value);\r\n\r\n return false;\r\n};\r\n\r\nconst observerNameValidator = (\r\n fieldName,\r\n value,\r\n observerFirstName,\r\n observerLastName,\r\n studentFirstName,\r\n studentLastName\r\n) => {\r\n if (validators.required(fieldName, value))\r\n return validators.required(fieldName, value);\r\n\r\n if (\r\n observerFirstName !== \"\" &&\r\n observerLastName !== \"\" &&\r\n studentFirstName !== \"\" &&\r\n studentLastName !== \"\" &&\r\n observerFirstName.toLowerCase() === studentFirstName.toLowerCase() &&\r\n observerLastName.toLowerCase() === studentLastName.toLowerCase()\r\n ) {\r\n return \"Observer Name - this cannot be your own name - your observer may be contacted for verification\";\r\n }\r\n\r\n return false;\r\n};\r\n\r\nconst phoneValidator = (fieldName, value) => {\r\n if (validators.required(fieldName, value))\r\n return validators.required(fieldName, value);\r\n\r\n if (validators.phone(value)) return validators.phone(value);\r\n\r\n return false;\r\n};\r\n\r\nconst getPhoneMask = (value) => {\r\n if (\r\n value.startsWith(\"02\") ||\r\n value.startsWith(\"03\") ||\r\n value.startsWith(\"07\") ||\r\n value.startsWith(\"08\")\r\n )\r\n return \"99 9999 9999\";\r\n\r\n return \"9999 999 999\";\r\n};\r\n\r\nclass CourseEnrolmentStep3 extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n const { step3OnInit, match } = this.props;\r\n step3OnInit(match.params.courseId);\r\n }\r\n\r\n render() {\r\n const form = formHandler();\r\n const {\r\n onInputChange,\r\n onFieldError,\r\n formValid,\r\n isProcessing,\r\n onSubmitEnrolment,\r\n } = this.props;\r\n\r\n const { showExperience, showWorkPlaceName } = this.props.fieldVisibility;\r\n\r\n const {\r\n whereExperience,\r\n workplaceName,\r\n workplaceSuburb,\r\n workplacePhone,\r\n relationshipToObserver,\r\n observerFirstName,\r\n observerLastName,\r\n observerEmail,\r\n currentEmploymentStatus,\r\n } = this.props.fields;\r\n const { courseTitle, courseCode } = this.props.courseDetails;\r\n\r\n const { firstName, lastName } = this.props.loginData.loggedInUser;\r\n\r\n return (\r\n <>\r\n \r\n
\r\n \r\n \r\n
\r\n

Course Enrolment

\r\n
\r\n {courseTitle && (\r\n <>\r\n {courseTitle} ({courseCode})\r\n \r\n )}\r\n
\r\n

Ok nearly there!

\r\n

\r\n Because we offer online training, we need to prove your\r\n practical skills in Food Safety. We do this by an online\r\n third-party checklist that is emailed to your nominated\r\n observer. We often have students who are not currently working\r\n in the food industry because they are starting a new food\r\n business or career in the industry, so this observation can be\r\n completed in an industry - realistic simulated environment.\r\n

\r\n

\r\n If the student is the owner/CEO/most senior person in the\r\n organisation, then an appropriately experienced colleague can\r\n complete the report, if they have the relevant experience and\r\n knowledge to competently observe the student completing the\r\n tasks and make the correct decisions based on the\r\n student’s performance. The observer must have witnessed\r\n the student perform the required tasks at least three times\r\n through a variety of methods.\r\n

\r\n

Your observer can be:

\r\n
    \r\n
  • Past or Present Supervisor/Employer/Manager
  • \r\n
  • Past or Present Volunteer Supervisor/Manager
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n
Your Experience
\r\n

\r\n \r\n We need to see that you have experience in dealing with food\r\n safely. This can be now or sometime in the past.\r\n \r\n

\r\n\r\n \r\n \r\n
\r\n \r\n val === \"-1\" ||\r\n val === \"\" ||\r\n val === undefined ||\r\n val === null\r\n ? \"Work experience is required.\"\r\n : false\r\n }\r\n onFieldError={onFieldError}\r\n items={Step3Constants.whereExperience}\r\n onChange={onInputChange}\r\n />\r\n
\r\n
\r\n {showExperience && (\r\n <>\r\n {showWorkPlaceName && (\r\n \r\n \r\n \r\n validators.required(\"Workplace name\", val)\r\n }\r\n onFieldError={onFieldError}\r\n className=\"mxw-400\"\r\n />\r\n \r\n )}\r\n\r\n \r\n \r\n \r\n validators.required(\r\n showWorkPlaceName ? \"Workplace Suburb\" : \"Suburb\",\r\n val\r\n )\r\n }\r\n onFieldError={onFieldError}\r\n className=\"mxw-400\"\r\n />\r\n \r\n \r\n \r\n \r\n phoneValidator(\r\n showWorkPlaceName\r\n ? \"Workplace Phone Number\"\r\n : \"Phone Number\",\r\n val\r\n )\r\n }\r\n className=\"mxw-400\"\r\n />\r\n \r\n \r\n )}\r\n\r\n \r\n \r\n \r\n validateSelect(\"Current employment status\", val)\r\n }\r\n onFieldError={onFieldError}\r\n className=\"mxw-500\"\r\n >\r\n \r\n {Step3Constants.currentEmploymentStatus.map((item, i) => (\r\n \r\n ))}\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
Your Observer Details
\r\n

\r\n \r\n Read our FAQs to know more about who can be your Observer\r\n \r\n

\r\n \r\n \r\n \r\n \r\n \r\n \r\n observerNameValidator(\r\n \"Observer first name\",\r\n val,\r\n val,\r\n observerLastName,\r\n firstName,\r\n lastName\r\n )\r\n }\r\n onFieldError={onFieldError}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n observerNameValidator(\r\n \"Observer last name\",\r\n val,\r\n observerFirstName,\r\n val,\r\n firstName,\r\n lastName\r\n )\r\n }\r\n onFieldError={onFieldError}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n emailValidator(\"Email address\", val)}\r\n onFieldError={onFieldError}\r\n className=\"mxw-400\"\r\n />\r\n
\r\n

\r\n \r\n Please enter your observers email address so your third\r\n party form can be emailed to them directly. If you do not\r\n have it now, enter your own email address so you can\r\n forward it on to your observer at a later date.\r\n \r\n

\r\n
\r\n \r\n \r\n \r\n validateSelect(\"Relationship to observer\", val)\r\n }\r\n onFieldError={onFieldError}\r\n className=\"mxw-400\"\r\n >\r\n \r\n {Step3Constants.relationshipToObserver.map((item, i) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n

\r\n WE’RE DONE! Thanks for your patience{\" \"}\r\n \r\n

\r\n\r\n \r\n form.validate({\r\n validFn: () => {\r\n onSubmitEnrolment();\r\n },\r\n invalidFn: () => console.log(form.getFieldErrors()),\r\n })\r\n }\r\n >\r\n Continue\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n form.validate({\r\n validFn: () => onSubmitEnrolment(),\r\n })\r\n }\r\n />\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default CourseEnrolmentStep3;\r\n","/**\r\n * Course Enrolment Step 3 Container\r\n * Adam Luck @solvable Jun 14, 2019\r\n */\r\nimport { connect } from \"react-redux\";\r\nimport * as actionCreators from \"../redux/action-creators\";\r\nimport Step3Form from \"./Step-3-Form\";\r\nimport { selectEnrolment } from \"../redux/enrolment-reducer\";\r\nimport { selectStep3 } from \"../redux/step-3-reducer\";\r\nimport { selectLoginData } from \"../../../redux/system/login-reducer\";\r\nimport * as sysActionCreators from \"../../../redux/system/system-action-creators\";\r\n\r\nconst mapStateToProps = state => {\r\n const step3Data = selectStep3(state);\r\n const loginData = selectLoginData(state);\r\n const enrolmentData = selectEnrolment(state);\r\n\r\n return {\r\n fields: step3Data.fields,\r\n isProcessing: step3Data.isProcessing,\r\n loginData: loginData,\r\n formValid: step3Data.formValid,\r\n courseDetails: enrolmentData.courseDetails,\r\n fieldVisibility: step3Data.fieldVisibility\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => ({\r\n onLoadCourseDetails: (courseId) => {\r\n dispatch(actionCreators.onLoadCourseDetails(courseId));\r\n },\r\n onInputChange: ({ name, value, error }) => {\r\n dispatch(actionCreators.step3FormInputChange(name, value, error));\r\n },\r\n onFieldError: (error) =>\r\n dispatch(sysActionCreators.addNotification(error, \"warning\")),\r\n dispatch: dispatch,\r\n history: ownProps.history,\r\n match: ownProps.match,\r\n});\r\n\r\nconst mergeFormProps = (stateProps, dispatchProps) => ({\r\n ...stateProps,\r\n ...dispatchProps,\r\n step3OnInit: courseId => {\r\n dispatchProps.dispatch(\r\n actionCreators.step3OnInit(courseId, dispatchProps.history)\r\n );\r\n },\r\n onSubmitEnrolment: () => {\r\n dispatchProps.dispatch(\r\n actionCreators.onSubmitEnrolmentStep3(\r\n stateProps.fields,\r\n dispatchProps.history\r\n )\r\n );\r\n }\r\n});\r\n\r\nconst Step3FormContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n mergeFormProps\r\n)(Step3Form);\r\n\r\nexport default Step3FormContainer;\r\n","import React, { Component } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport \"./section.scss\";\r\nimport FruitBg from \"../../assets/images/fruit-bg.jpg\";\r\nimport FoodBg from \"../../assets/images/food-bg.jpg\";\r\nimport withSizes from \"react-sizes\";\r\n\r\nclass ContentSection extends Component {\r\n state = {};\r\n\r\n static defaultProps = {\r\n padding: 3,\r\n bgColor: \"\",\r\n isFullWidth: false,\r\n };\r\n\r\n renderBackgroundImage(bgColor) {\r\n switch (bgColor) {\r\n case \"fruit\":\r\n return (\r\n <>\r\n \"\"\r\n
\r\n \r\n );\r\n case \"food\":\r\n return \"\";\r\n default:\r\n return \"\";\r\n }\r\n }\r\n\r\n render() {\r\n const padding = this.props.padding ? this.props.padding : 5;\r\n const isFullWidth = this.props.isFullWidth ? this.props.isFullWidth : false;\r\n const { isDeviceSmall } = this.props;\r\n\r\n return (\r\n \r\n {this.renderBackgroundImage(this.props.bgColor)}\r\n\r\n \r\n {/* */}\r\n\r\n
\r\n
{this.props.children}
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nContentSection.propTypes = {\r\n bgColor: PropTypes.string,\r\n};\r\n\r\nconst mapSizesToProps = ({ width }) => ({\r\n isDeviceSmall: width < 1300,\r\n});\r\n\r\nexport default withSizes(mapSizesToProps)(ContentSection);\r\n","/**\r\n * Search Stateless component\r\n * Functional/Controlled Component\r\n * by rcnet @solvable 4.22.2019\r\n * \r\n * Css to override:\r\n * - datatableSearch\r\n */\r\nimport React from 'react';\r\n\r\nconst SearchBox = ({...props}) => (\r\n \r\n);\r\n\r\nexport default SearchBox;\r\n","/**\r\n * Search logic for SearchBox component\r\n */\r\nconst SearchLogic = () => {\r\n const search = (filterText, list, columns) => {\r\n let searchableColumnAccessors = columns\r\n .filter(x => x.searchable)\r\n .map(x => x.accessor);\r\n\r\n // if there are no columns, assume all columns should be searchable\r\n if (searchableColumnAccessors.length === 0)\r\n searchableColumnAccessors = columns.map(x => x.accessor);\r\n\r\n let regexString = \"\";\r\n\r\n // if the start and end char is a \", match entire string\r\n if (\r\n filterText.length > 1 &&\r\n filterText[0] === '\"' &&\r\n filterText[filterText.length - 1] === '\"'\r\n ) {\r\n regexString = `\\\\b${filterText.replace(/\"/gi, \"\")}\\\\b`;\r\n } else {\r\n filterText = filterText.replace('\"', \"\");\r\n\r\n const words = filterText\r\n .split(/\\s+/g)\r\n .map(s => s.trim())\r\n .filter(s => !!s);\r\n const hasTrailingSpace = filterText.endsWith(\" \");\r\n\r\n regexString = words\r\n .map((word, i) => {\r\n if (i + 1 === words.length && !hasTrailingSpace) {\r\n // The last word - ok with the word being \"startswith\"-like\r\n return `(?=.*\\\\b${_escapeRegExp(word)})`;\r\n } else {\r\n // Not the last word - expect the whole word exactly\r\n return `(?=.*\\\\b${_escapeRegExp(word)}\\\\b)`;\r\n }\r\n })\r\n .join(\"\");\r\n }\r\n\r\n const searchRegex = new RegExp(regexString, \"gi\");\r\n\r\n return list.filter(row => {\r\n const virtualField = searchableColumnAccessors\r\n .map(x => (row[x] ? _checkForNumbersRegex(row[x]) : \"\"))\r\n .join(\" \");\r\n\r\n return searchRegex.test(virtualField);\r\n });\r\n };\r\n\r\n const _escapeRegExp = s => {\r\n return s.replace(/[-/\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\");\r\n };\r\n\r\n const _checkForNumbersRegex = searchQuery => {\r\n const searchRegex = /^[0-9$,. ]+$/im;\r\n if (!searchRegex.test(searchQuery)) return searchQuery;\r\n return searchQuery + \" \" + searchQuery.toString().replace(/[$,. ]/gi, \"\");\r\n };\r\n\r\n return {\r\n search\r\n };\r\n};\r\n\r\nexport default SearchLogic;\r\n","import React from \"react\";\r\nimport \"./action-buttons-factory.scss\";\r\n\r\nconst ActionButtonsFactory = eventHandler => {\r\n const getPreDefinedActionButtons = options => {\r\n if (!options)\r\n throw new Error(\"Invalid option for predefined action buttons.\");\r\n\r\n switch (options.type) {\r\n default:\r\n return ;\r\n }\r\n };\r\n\r\n return {\r\n getPreDefinedActionButtons\r\n };\r\n};\r\n\r\nexport default ActionButtonsFactory;\r\n","/**\r\n * Predefined Action Buttons\r\n * Ready made buttons for quick and basic setup.\r\n * If you need a more complex and customize setup then just use Action Button in columns see ReactTable columns configs.\r\n * - Extensibility points still in-progress\r\n * rcnet @solvable 4.23.2019\r\n * RN:\r\n * - Added hide button functionality per data row render\r\n * - Added Custom Button feature which accept 5 buttons configured in the consumer.\r\n */\r\n\r\n/**\r\n *\r\n * Tooltip params and defaults\r\n * tooltip - string (Actual message)\r\n * tooltipType - string (Tooltip's color) - dark, success (default), warning, error, info, light\r\n */\r\n\r\nimport React from \"react\";\r\nimport { Route, Link } from \"react-router-dom\";\r\nimport { Button } from \"reactstrap\";\r\nimport isNil from \"lodash/isNil\";\r\nimport \"./action-buttons-factory.scss\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport { isFunction } from \"util\";\r\n\r\nconst ActionButtonsFactory2 = eventHandler => {\r\n /**\r\n * Available action buttons\r\n * - addEditRemove, editRemove, custom (future scope)\r\n */\r\n\r\n const getPreDefinedActionButtons = options => {\r\n if (!options)\r\n throw new Error(\"Invalid option for predefined action buttons.\");\r\n\r\n switch (options.type) {\r\n case \"editRemove\":\r\n return prop => {\r\n let visibilityRules = getButtonVisibilityRules(options, prop.row);\r\n\r\n return (\r\n (\r\n
\r\n {!visibilityRules.hideEditNow ? (\r\n \r\n eventHandler({\r\n type: \"edit\",\r\n data: prop.original,\r\n e: evt,\r\n history: history\r\n })\r\n }\r\n >\r\n \r\n \r\n ) : null}{\" \"}\r\n {!visibilityRules.hideRemoveNow ? (\r\n \r\n eventHandler({\r\n type: \"remove\",\r\n data: prop.original,\r\n e: evt,\r\n history: history\r\n })\r\n }\r\n >\r\n \r\n \r\n ) : null}\r\n
\r\n )}\r\n />\r\n );\r\n };\r\n\r\n case \"addEditRemove\":\r\n return prop => {\r\n let visibilityRules = getButtonVisibilityRules(options, prop.row);\r\n\r\n return (\r\n (\r\n
\r\n {!visibilityRules.hideAddNow ? (\r\n \r\n eventHandler({\r\n type: \"add\",\r\n data: prop.original,\r\n e: evt,\r\n history: history\r\n })\r\n }\r\n >\r\n \r\n \r\n ) : null}{\" \"}\r\n {!visibilityRules.hideEditNow ? (\r\n \r\n eventHandler({\r\n type: \"edit\",\r\n data: prop.original,\r\n e: evt,\r\n history: history\r\n })\r\n }\r\n >\r\n \r\n \r\n ) : null}{\" \"}\r\n {!visibilityRules.hideRemoveNow ? (\r\n \r\n eventHandler({\r\n type: \"remove\",\r\n data: prop.original,\r\n e: evt,\r\n history: history\r\n })\r\n }\r\n >\r\n \r\n \r\n ) : null}\r\n
\r\n )}\r\n />\r\n );\r\n };\r\n\r\n case \"edit\":\r\n return prop => {\r\n let visibilityRules = getButtonVisibilityRules(options, prop.row);\r\n\r\n return (\r\n (\r\n
\r\n {!visibilityRules.hideEditNow ? (\r\n \r\n eventHandler({\r\n type: \"edit\",\r\n data: prop.original,\r\n e: evt,\r\n history: history\r\n })\r\n }\r\n >\r\n \r\n \r\n ) : null}\r\n
\r\n )}\r\n />\r\n );\r\n };\r\n\r\n case \"view\":\r\n return prop => {\r\n let visibilityRules = getButtonVisibilityRules(options, prop.row);\r\n\r\n return (\r\n (\r\n
\r\n {!visibilityRules.hideViewNow ? (\r\n \r\n eventHandler({\r\n type: \"view\",\r\n data: prop.original,\r\n e: evt,\r\n history: history\r\n })\r\n }\r\n >\r\n \r\n \r\n ) : null}\r\n
\r\n )}\r\n />\r\n );\r\n };\r\n\r\n case \"customButton\":\r\n return CustomButton(options);\r\n\r\n default:\r\n return ;\r\n }\r\n };\r\n\r\n /**\r\n * Custom Button\r\n * - This feature only supports maximum of 6 buttons in the action column. If you need more than that just add below the codes.\r\n * - But I do not recommend adding more than 6 buttons, instead user should reconsider the design or better yet implement a triple dot (ellipsis button).\r\n */\r\n const CustomButton = options => {\r\n return prop => {\r\n let buttonOpts = getCustomButtonOpts(options.custom);\r\n let visibilityRules = getCustomButtonVisibilityRules(\r\n options.custom,\r\n prop.row\r\n );\r\n\r\n return (\r\n (\r\n
\r\n {/* Button1 */}\r\n {!isNil(buttonOpts[\"button1\"]) && !visibilityRules.btn1HideNow ? (\r\n \r\n \r\n eventHandler({\r\n type: \"button1\",\r\n data: prop.original,\r\n e: evt,\r\n history: history\r\n })\r\n }\r\n >\r\n {!isNil(buttonOpts[\"button1\"].icon) ? (\r\n \r\n ) : (\r\n Button1\r\n )}\r\n\r\n {buttonOpts[\"button1\"].tooltip && (\r\n \r\n {buttonOpts[\"button1\"].tooltip}\r\n \r\n )}\r\n \r\n \r\n ) : null}{\" \"}\r\n {/* Button2 */}\r\n {!isNil(buttonOpts[\"button2\"]) && !visibilityRules.btn2HideNow ? (\r\n \r\n \r\n eventHandler({\r\n type: \"button2\",\r\n data: prop.original,\r\n e: evt,\r\n history: history\r\n })\r\n }\r\n >\r\n {!isNil(buttonOpts[\"button2\"].icon) ? (\r\n \r\n ) : (\r\n Button2\r\n )}\r\n\r\n {buttonOpts[\"button2\"].tooltip && (\r\n \r\n {buttonOpts[\"button2\"].tooltip}\r\n \r\n )}\r\n \r\n \r\n ) : null}{\" \"}\r\n {/* Button3 */}\r\n {!isNil(buttonOpts[\"button3\"]) && !visibilityRules.btn3HideNow ? (\r\n \r\n \r\n eventHandler({\r\n type: \"button3\",\r\n data: prop.original,\r\n e: evt,\r\n history: history\r\n })\r\n }\r\n >\r\n {!isNil(buttonOpts[\"button3\"].icon) ? (\r\n \r\n ) : (\r\n Button3\r\n )}\r\n\r\n {buttonOpts[\"button3\"].tooltip && (\r\n \r\n {buttonOpts[\"button3\"].tooltip}\r\n \r\n )}\r\n \r\n \r\n ) : null}{\" \"}\r\n {/* Button4 */}\r\n {!isNil(buttonOpts[\"button4\"]) && !visibilityRules.btn4HideNow ? (\r\n \r\n \r\n eventHandler({\r\n type: \"button4\",\r\n data: prop.original,\r\n e: evt,\r\n history: history\r\n })\r\n }\r\n >\r\n {!isNil(buttonOpts[\"button4\"].icon) ? (\r\n \r\n ) : (\r\n Button4\r\n )}\r\n\r\n {buttonOpts[\"button4\"].tooltip && (\r\n \r\n {buttonOpts[\"button4\"].tooltip}\r\n \r\n )}\r\n \r\n \r\n ) : null}{\" \"}\r\n {/* Button5 */}\r\n {!isNil(buttonOpts[\"button5\"]) && !visibilityRules.btn5HideNow ? (\r\n \r\n \r\n eventHandler({\r\n type: \"button5\",\r\n data: prop.original,\r\n e: evt,\r\n history: history\r\n })\r\n }\r\n >\r\n {!isNil(buttonOpts[\"button5\"].icon) ? (\r\n \r\n ) : (\r\n Button5\r\n )}\r\n\r\n {buttonOpts[\"button5\"].tooltip && (\r\n \r\n {buttonOpts[\"button5\"].tooltip}\r\n \r\n )}\r\n \r\n \r\n ) : null}\r\n {/* Button6 */}\r\n {!isNil(buttonOpts[\"button6\"]) && !visibilityRules.btn6HideNow ? (\r\n \r\n \r\n eventHandler({\r\n type: \"button6\",\r\n data: prop.original,\r\n e: evt,\r\n history: history\r\n })\r\n }\r\n >\r\n {!isNil(buttonOpts[\"button6\"].icon) ? (\r\n \r\n ) : (\r\n Button6\r\n )}\r\n\r\n {buttonOpts[\"button6\"].tooltip && (\r\n \r\n {buttonOpts[\"button6\"].tooltip}\r\n \r\n )}\r\n \r\n \r\n ) : null}\r\n
\r\n )}\r\n />\r\n );\r\n };\r\n };\r\n\r\n const getToUrl = (button, rowInfo) => {\r\n if (isFunction(button.to)) {\r\n return button.to(rowInfo);\r\n } else {\r\n return button.to ? button.to : \"#\";\r\n }\r\n };\r\n\r\n const getCustomButtonOpts = opts => {\r\n let obj = {};\r\n opts.forEach(o => {\r\n obj = {\r\n ...obj,\r\n [o.target]: { ...o }\r\n };\r\n });\r\n return obj;\r\n };\r\n\r\n // Todo: (Rcnet)\r\n // 1. For enhancements, support abstraction of rowInfo\r\n // 2. Create functionality for Disabling support\r\n const getButtonVisibilityRules = (opts, row) => {\r\n const { hideEdit, hideRemove, hideAdd, hideView } = opts;\r\n\r\n // Note: row info should not be mutated by consumer. -rcnet\r\n // Noop or pure func execution\r\n let hideEditNow = (hideEdit || (() => {}))(row);\r\n let hideRemoveNow = (hideRemove || (() => {}))(row);\r\n let hideAddNow = (hideAdd || (() => {}))(row);\r\n let hideViewNow = (hideView || (() => {}))(row);\r\n\r\n return {\r\n hideEditNow,\r\n hideRemoveNow,\r\n hideAddNow,\r\n hideViewNow\r\n };\r\n };\r\n\r\n // For custom button\r\n const getCustomButtonVisibilityRules = (opts, row) => {\r\n let btn1HideNow,\r\n btn2HideNow,\r\n btn3HideNow,\r\n btn4HideNow,\r\n btn5HideNow,\r\n btn6HideNow;\r\n\r\n opts.forEach(o => {\r\n let fn = o[\"hideFn\"];\r\n switch (o.target) {\r\n case \"button1\":\r\n btn1HideNow = (fn || (() => {}))(row);\r\n case \"button2\":\r\n btn2HideNow = (fn || (() => {}))(row);\r\n case \"button3\":\r\n btn3HideNow = (fn || (() => {}))(row);\r\n case \"button4\":\r\n btn4HideNow = (fn || (() => {}))(row);\r\n case \"button5\":\r\n btn5HideNow = (fn || (() => {}))(row);\r\n case \"button6\":\r\n btn6HideNow = (fn || (() => {}))(row);\r\n }\r\n });\r\n\r\n return {\r\n btn1HideNow,\r\n btn2HideNow,\r\n btn3HideNow,\r\n btn4HideNow,\r\n btn5HideNow,\r\n btn6HideNow\r\n };\r\n };\r\n\r\n return {\r\n getPreDefinedActionButtons\r\n };\r\n};\r\n\r\nexport default ActionButtonsFactory2;\r\n","import React, { Component } from \"react\";\r\nimport ReactTable from \"react-table\";\r\nimport PropTypes from \"prop-types\";\r\nimport \"react-table/react-table.css\";\r\nimport \"./searchable-datatable.css\";\r\nimport SearchBox from \"./search-box/search-box\";\r\nimport SearchLogic from \"./search-box/search-logic\";\r\nimport ActionButtonsFactory from \"./action-button/action-buttons-factory\"; //Todo: This will be remove in the future sprint\r\nimport ActionButtonsFactory2 from \"./action-button/action-buttons-factory2\";\r\nimport withSizes from \"react-sizes\";\r\nimport isNil from \"lodash/isNil\";\r\n\r\nclass SolvableDataTable extends Component {\r\n state = {\r\n data: [],\r\n columns: [],\r\n searchText: \"\",\r\n };\r\n\r\n static propTypes = {\r\n columns: PropTypes.array.isRequired,\r\n data: PropTypes.array.isRequired,\r\n defaultPageSize: PropTypes.number,\r\n stateSettings: PropTypes.object,\r\n keepSettings: PropTypes.bool,\r\n onError: PropTypes.func,\r\n onSettingsChanged: PropTypes.func,\r\n };\r\n\r\n static defaultProps = {\r\n data: [],\r\n predefinedButtons: null,\r\n defaultPageSize: 20,\r\n stateSettings: {},\r\n keepSettings: false,\r\n onError: () => {}, // noop\r\n };\r\n\r\n constructor() {\r\n super();\r\n this.searchLogic = SearchLogic();\r\n this.actionButtonsFactory = ActionButtonsFactory(this.actionButtonHandler);\r\n this.actionButtonsFactory2 = ActionButtonsFactory2(\r\n this.actionButtonHandler\r\n );\r\n }\r\n\r\n componentDidMount() {\r\n this.load();\r\n }\r\n\r\n static getDerivedStateFromProps(props, state) {\r\n return {\r\n data: props.data,\r\n };\r\n }\r\n\r\n load() {\r\n const {\r\n columns,\r\n data,\r\n predefinedButtons,\r\n actionButtons,\r\n isMobile,\r\n } = this.props;\r\n let cols = columns.map((item) => item);\r\n\r\n // Setup action buttons if provided\r\n // Todo: This will be remove in the future sprint\r\n if (this.props.predefinedButtons) {\r\n const buttonComponent = this.actionButtonsFactory.getPreDefinedActionButtons(\r\n predefinedButtons\r\n );\r\n cols = this.setupActionButtons(\r\n cols,\r\n buttonComponent,\r\n predefinedButtons.containerWidth\r\n );\r\n } else if (this.props.actionButtons) {\r\n // New version\r\n const buttonComponent = this.actionButtonsFactory2.getPreDefinedActionButtons(\r\n actionButtons\r\n );\r\n cols = this.setupActionButtons(\r\n cols,\r\n buttonComponent,\r\n actionButtons.containerWidth\r\n );\r\n }\r\n\r\n this.setState({ columns: cols, data });\r\n }\r\n\r\n setupActionButtons = (cols, component, containerWidth) => {\r\n return cols.concat({\r\n Header: \"Actions\",\r\n accessor: \"actions\",\r\n sortable: false,\r\n Cell: component,\r\n width: containerWidth ? containerWidth : 100,\r\n });\r\n };\r\n\r\n actionButtonHandler = (evt) => {\r\n (this.props.onActionButtonClick || (() => {}))(evt);\r\n };\r\n\r\n searchInputChange = (evt) => {\r\n if (this.props.keepSettings) {\r\n const settings = this.getLatestSettings();\r\n this.props.onSettingsChanged({\r\n ...settings,\r\n searchText: evt.target.value,\r\n });\r\n } else {\r\n this.setState({ searchText: evt.target.value });\r\n }\r\n };\r\n\r\n pageSizeChange = (pageSize, pageIndex) => {\r\n const settings = this.getLatestSettings();\r\n this.props.onSettingsChanged({\r\n ...settings,\r\n pageSize,\r\n });\r\n };\r\n\r\n pageChange = (pageIndex) => {\r\n const settings = this.getLatestSettings();\r\n this.props.onSettingsChanged({\r\n ...settings,\r\n pageIndex,\r\n });\r\n };\r\n\r\n getLatestSettings = () => {\r\n return Object.keys(this.props.stateSettings).length > 0\r\n ? { ...this.props.stateSettings }\r\n : this.getDefaultStateSettings();\r\n };\r\n\r\n getDefaultStateSettings = () => {\r\n return {\r\n searchText: \"\",\r\n pageIndex: 0,\r\n pageSize: \"\",\r\n };\r\n };\r\n\r\n setPageSize = (length) => {\r\n // Observing the keepSettings feature\r\n let defaultPageSize = this.props.keepSettings\r\n ? this.props.stateSettings.pageSize\r\n ? this.props.stateSettings.pageSize\r\n : this.props.defaultPageSize\r\n : this.props.defaultPageSize;\r\n\r\n // For Mobile Only\r\n // Adjusts Pagesize automatically based on data length\r\n // If data length < 10, pageSize = data length, else, pageSize = this.props.defaultPageSize\r\n let size = this.props.isMobile\r\n ? length >= 10\r\n ? defaultPageSize //this.props.defaultPageSize\r\n : length\r\n : defaultPageSize; //this.props.defaultPageSize;\r\n return size;\r\n };\r\n\r\n render() {\r\n let data = [...this.state.data];\r\n let searchText;\r\n let pageIndex;\r\n let pageSize; // required by keepSettings\r\n\r\n if (this.props.keepSettings) {\r\n // Search\r\n if (this.props.stateSettings.searchText)\r\n data = this.searchLogic.search(\r\n this.props.stateSettings.searchText,\r\n data,\r\n this.state.columns\r\n );\r\n\r\n // Load state settings\r\n // pageIndex = this.props.stateSettings.pageIndex\r\n // ? this.props.stateSettings.pageIndex\r\n // : 0;\r\n searchText = !isNil(this.props.stateSettings.searchText)\r\n ? this.props.stateSettings.searchText\r\n : \"\";\r\n } else if (this.state.searchText) {\r\n data = this.searchLogic.search(\r\n this.state.searchText,\r\n data,\r\n this.state.columns\r\n );\r\n searchText = this.state.searchText;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n {this.props.keepSettings ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapSizesToProps = ({ width }) => ({\r\n isMobile: width < 765,\r\n});\r\n\r\nexport default withSizes(mapSizesToProps)(SolvableDataTable);\r\n","import React, { Component } from \"react\";\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\";\r\nimport { Formik, Form, Field } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport \"../../../components/Common/Fields/Fields.scss\";\r\n\r\nexport default class EmailModal extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n validationSchema = Yup.object().shape({\r\n firstName: Yup.string().required(\"First Name is required\"),\r\n lastName: Yup.string().required(\"Last Name is required\"),\r\n email: Yup.string()\r\n .email(\"Invalid email\")\r\n .required(\"Email Address is required\")\r\n });\r\n\r\n render() {\r\n const { showEmailAddressDialog, sendVoucher } = this.props;\r\n return (\r\n
\r\n \r\n this.props.showEmailDialog()}>\r\n Email Address\r\n \r\n\r\n sendVoucher(values)}\r\n >\r\n {({ isSubmitting, isValid, errors, touched }) => (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Send\r\n \r\n \r\n
\r\n )}\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport SolvableDataTable from \"../../../components/solvable-datatable/solvable-datatable\";\r\nimport BlockUiFx from \"../../../components/Common/Block-Ui-Fx/Block-Ui-Fx\";\r\nimport EmailModal from \"./Email-Modal\";\r\nimport isNil from \"lodash/isNil\";\r\nclass DataTable extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n settings: {},\r\n };\r\n this.actionButtonHandler = this.actionButtonHandler.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.props.onLoad();\r\n }\r\n\r\n onSettingsChanged = (settings) => {\r\n this.setState({ settings });\r\n };\r\n\r\n actionButtonHandler = (evt) => {\r\n switch (evt.type) {\r\n case \"button1\":\r\n this.props.downloadCertificate(evt.data.userCourseId);\r\n break;\r\n case \"button2\":\r\n this.props.downloadThirdPartyForm(evt.data.thirdPartyFormAccessToken);\r\n break;\r\n case \"button3\":\r\n this.props.showEmailDialog();\r\n this.props.setEmailDetails(evt.data);\r\n break;\r\n case \"button4\":\r\n this.props.history.push(`/third-party-form/${evt.data.userCourseId}`);\r\n break;\r\n }\r\n };\r\n\r\n columns = [\r\n {\r\n Header: \"Purchase Date\",\r\n accessor: \"purchaseDate\",\r\n searchable: true,\r\n },\r\n {\r\n accessor: \"hasBeenCompleted\",\r\n show: false,\r\n },\r\n {\r\n accessor: \"thirdPartyFormCompleted\",\r\n show: false,\r\n },\r\n {\r\n Header: \"Course\",\r\n accessor: \"course\",\r\n searchable: true,\r\n Cell: (row) => {row.value},\r\n },\r\n {\r\n Header: \"Redeemed By\",\r\n accessor: \"redeemedBy\",\r\n searchable: true,\r\n maxWidth: 200,\r\n },\r\n {\r\n Header: \"Voucher\",\r\n accessor: \"voucher\",\r\n searchable: true,\r\n maxWidth: 90,\r\n },\r\n {\r\n Header: \"Status\",\r\n accessor: \"status\",\r\n searchable: true,\r\n maxWidth: 150,\r\n },\r\n ];\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n !row.hasBeenCompleted,\r\n },\r\n {\r\n target: \"button2\",\r\n icon: \"fas fa-clipboard-list\",\r\n tooltip: \"Download Third Party Form\",\r\n hideFn: (row) => !row.hasBeenCompleted,\r\n },\r\n {\r\n target: \"button3\",\r\n icon: \"fas fa-envelope\",\r\n tooltip: \"Email Voucher\",\r\n hideFn: (row) => row.status !== \"Not Yet Redeemed\",\r\n },\r\n {\r\n target: \"button4\",\r\n icon: \"fas fa-link\",\r\n tooltip: \"Third Party Form\",\r\n hideFn: (row) =>\r\n row._original.userCourseId == null ||\r\n !(\r\n row.status !== \"Not Yet Redeemed\" &&\r\n !row.thirdPartyFormCompleted\r\n ),\r\n },\r\n ],\r\n }}\r\n columns={this.columns}\r\n onActionButtonClick={this.actionButtonHandler}\r\n data={this.props.data}\r\n />\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default DataTable;\r\n","import HttpClient from \"../../../coreLib//http/httpClient\";\r\n\r\nconst Service = () => {\r\n let httpClient = HttpClient();\r\n\r\n const getVouchers = userId => {\r\n return httpClient.get(`v1/corporate/purchase-vouchers/${userId}`);\r\n };\r\n\r\n const sendVoucher = (payload, voucher) => {\r\n let model = {\r\n firstName: payload.firstName,\r\n lastName: payload.lastName,\r\n email: payload.email,\r\n voucherCode: voucher.voucher,\r\n courseId: voucher.courseId\r\n };\r\n return httpClient.post(`v1/corporate/purchase-vouchers/send`, model);\r\n };\r\n\r\n return {\r\n getVouchers,\r\n sendVoucher\r\n };\r\n};\r\n\r\nexport default Service;\r\n","import HttpClient from \"../../../coreLib//http/httpClient\";\r\n\r\nconst Service = () => {\r\n let httpClient = HttpClient();\r\n\r\n const getCourses = (id) => {\r\n return httpClient.get(`v1/userCourse/${id}`);\r\n };\r\n\r\n const downloadCertificate = (courseId) => {\r\n return httpClient.get(`v1/userCourse/pdf/certificate/${courseId}`, {\r\n responseType: \"blob\",\r\n });\r\n };\r\n\r\n const downloadThirdPartyForm = (thirdPartyAccessToken) => {\r\n return httpClient.get(\r\n `v1/userCourse/pdf/third-party-form/${thirdPartyAccessToken}`,\r\n {\r\n responseType: \"blob\",\r\n }\r\n );\r\n };\r\n\r\n const downloadTaxInvoice = (invoiceId) => {\r\n return httpClient.get(`v1/userCourse/pdf/tax-invoice/${invoiceId}`, {\r\n responseType: \"blob\",\r\n });\r\n };\r\n\r\n return {\r\n getCourses,\r\n downloadCertificate,\r\n downloadThirdPartyForm,\r\n downloadTaxInvoice,\r\n };\r\n};\r\n\r\nexport default Service;\r\n","import { ActionTypes } from \"./action-types\";\r\nimport { addNotification } from \"../../../redux/system/system-action-creators\";\r\nimport HttpService from \"./service\";\r\nimport YourCoursesService from \"../../../views/Start/redux/service\";\r\nimport IdentityService from \"../../../coreLib/auth/userIdentity\";\r\nimport { saveAs } from \"file-saver\";\r\n\r\nexport const onLoad = () => (dispatch) => {\r\n let httpService = HttpService();\r\n let identity = IdentityService();\r\n let userId = identity.getUserId();\r\n\r\n dispatch(init());\r\n dispatch(onLoadRequest());\r\n httpService\r\n .getVouchers(userId)\r\n .then((resp) => {\r\n dispatch(onLoadSuccess(resp.data));\r\n })\r\n .catch((err) => {\r\n dispatch(onLoadFailure());\r\n dispatch(\r\n addNotification(\"There was an error loading the data.\", \"warning\")\r\n );\r\n });\r\n};\r\n\r\nexport const showEmailDialog = () => ({\r\n type: ActionTypes.CORPORATE_VOUCHERS_SHOW_EMAIL_DIALOG,\r\n});\r\n\r\nexport const setEmailDetails = (payload) => ({\r\n type: ActionTypes.CORPORATE_VOUCHERS_SET_DETAILS_FORM_EMAIL,\r\n payload,\r\n});\r\n\r\nconst init = () => ({\r\n type: ActionTypes.CORPORATE_VOUCHERS_ON_INIT,\r\n});\r\n\r\nconst onLoadRequest = () => ({\r\n type: ActionTypes.CORPORATE_VOUCHERS_ON_LOAD_REQUEST,\r\n});\r\n\r\nconst onLoadSuccess = (payload) => ({\r\n type: ActionTypes.CORPORATE_VOUCHERS_ON_LOAD_SUCCESS,\r\n payload,\r\n});\r\n\r\nexport const sendVoucher = (payload) => (dispatch, getState) => {\r\n let service = HttpService();\r\n let voucherDetails = getState().corporateVouchers.emailDetails;\r\n let { firstName, lastName } = payload;\r\n\r\n dispatch(showEmailDialog());\r\n dispatch(onSendEmailRequest());\r\n service\r\n .sendVoucher(payload, voucherDetails)\r\n .then((resp) => {\r\n dispatch(onSendEmailSuccess(resp.data));\r\n dispatch(\r\n addNotification(\r\n `Thanks, we have sent the voucher to ${firstName} ${lastName}.`\r\n )\r\n );\r\n dispatch(onLoad());\r\n })\r\n .catch((err) => {\r\n dispatch(onSendEmailFailure());\r\n dispatch(\r\n addNotification(\"There was an issue during the submission.\", \"warning\")\r\n );\r\n });\r\n};\r\n\r\nconst onSendEmailRequest = () => ({\r\n type: ActionTypes.CORPORATE_VOUCHERS_SEND_EMAIL_REQUEST,\r\n});\r\n\r\nconst onSendEmailSuccess = (payload) => ({\r\n type: ActionTypes.CORPORATE_VOUCHERS_SEND_EMAIL_SUCCESS,\r\n payload,\r\n});\r\n\r\nconst onSendEmailFailure = () => ({\r\n type: ActionTypes.CORPORATE_VOUCHERS_SEND_EMAIL_FAILURE,\r\n});\r\n\r\nconst onLoadFailure = () => ({\r\n type: ActionTypes.CORPORATE_VOUCHERS_ON_LOAD_FAILURE,\r\n});\r\n\r\nexport const downloadCertificate = (courseId) => (dispatch) => {\r\n let yourCoursesService = YourCoursesService();\r\n dispatch(onDownloadRequest());\r\n yourCoursesService\r\n .downloadCertificate(courseId)\r\n .then((resp) => {\r\n const pdfBlob = new Blob([resp.data], { type: \"application/pdf\" });\r\n saveAs(pdfBlob, \"certificate.pdf\");\r\n dispatch(onDownloadSuccess());\r\n })\r\n .catch((err) => {\r\n dispatch(onDownloadFailure());\r\n dispatch(\r\n addNotification(\r\n \"There was an error downloading the certificate.\",\r\n \"warning\"\r\n )\r\n );\r\n });\r\n};\r\n\r\nconst onDownloadRequest = () => ({\r\n type: ActionTypes.CORPORATE_VOUCHERS_DOWNLOAD_CERTIFICATE_REQUEST,\r\n});\r\n\r\nconst onDownloadSuccess = () => ({\r\n type: ActionTypes.CORPORATE_VOUCHERS_DOWNLOAD_CERTIFICATE_SUCCESS,\r\n});\r\n\r\nconst onDownloadFailure = () => ({\r\n type: ActionTypes.CORPORATE_VOUCHERS_DOWNLOAD_CERTIFICATE_FAILURE,\r\n});\r\n\r\nexport const downloadThirdPartyForm = (thirdPartyAccessToken) => (dispatch) => {\r\n let yourCoursesService = YourCoursesService();\r\n dispatch(onDownloadTpfRequest());\r\n yourCoursesService\r\n .downloadThirdPartyForm(thirdPartyAccessToken)\r\n .then((resp) => {\r\n const pdfBlob = new Blob([resp.data], { type: \"application/pdf\" });\r\n saveAs(pdfBlob, \"third-party-form.pdf\");\r\n dispatch(onDownloadTpfSuccess());\r\n })\r\n .catch((err) => {\r\n dispatch(onDownloadTpfFailure());\r\n dispatch(\r\n addNotification(\r\n \"There was an error downloading the third party form.\",\r\n \"warning\"\r\n )\r\n );\r\n });\r\n};\r\n\r\nconst onDownloadTpfRequest = () => ({\r\n type: ActionTypes.CORPORATE_VOUCHERS_DOWNLOAD_TPF_REQUEST,\r\n});\r\n\r\nconst onDownloadTpfSuccess = () => ({\r\n type: ActionTypes.CORPORATE_VOUCHERS_DOWNLOAD_TPF_SUCCESS,\r\n});\r\n\r\nconst onDownloadTpfFailure = () => ({\r\n type: ActionTypes.CORPORATE_VOUCHERS_DOWNLOAD_TPF_FAILURE,\r\n});\r\n","import { connect } from \"react-redux\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport DataTable from \"./datatable\";\r\nimport * as actionCreators from \"../redux/action-creators\";\r\n\r\nconst mapStateToProps = (state) => state.corporateVouchers;\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => ({\r\n onLoad: () => dispatch(actionCreators.onLoad()),\r\n downloadCertificate: (userCourseId) =>\r\n dispatch(actionCreators.downloadCertificate(userCourseId)),\r\n downloadThirdPartyForm: (thirdPartyAccessToken) =>\r\n dispatch(actionCreators.downloadThirdPartyForm(thirdPartyAccessToken)),\r\n setEmailDetails: (data) => dispatch(actionCreators.setEmailDetails(data)),\r\n showEmailDialog: () => dispatch(actionCreators.showEmailDialog()),\r\n sendVoucher: (values) => dispatch(actionCreators.sendVoucher(values)),\r\n dispatch,\r\n history: ownProps.history,\r\n});\r\n\r\nconst DataTableContainer = withRouter(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n )(DataTable)\r\n);\r\n\r\nexport default DataTableContainer;\r\n","import CorporateVouchers from \"./corporate-vouchers\";\r\nexport default CorporateVouchers;\r\n","import React, { Component } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport PageTitle from \"../../components/Common/Page-Title/Page-Title\";\r\nimport ContentSection from \"../../components/Content-Section\";\r\nimport Datatable from \"./datatable/datatable.container\";\r\nimport \"../Start/corporate-start.scss\";\r\n\r\nclass CorporateStart extends Component {\r\n columns = [\r\n {\r\n Header: \"Course\",\r\n accessor: \"course\",\r\n searchable: true,\r\n },\r\n {\r\n Header: \"Redeemed By\",\r\n accessor: \"redeemedBy\",\r\n searchable: true,\r\n maxWidth: 200,\r\n },\r\n {\r\n Header: \"Voucher\",\r\n accessor: \"voucherCode\",\r\n searchable: true,\r\n maxWidth: 90,\r\n },\r\n {\r\n Header: \"Status\",\r\n accessor: \"status\",\r\n searchable: true,\r\n maxWidth: 150,\r\n },\r\n {\r\n Header: \"Actions\",\r\n accessor: \"actions\",\r\n sortable: false,\r\n width: 90,\r\n },\r\n ];\r\n\r\n data = [];\r\n render() {\r\n return (\r\n <>\r\n \r\n \r\n

Business Vouchers

\r\n \r\n Purchase New Vouchers\r\n \r\n\r\n \r\n View Tax Invoices\r\n \r\n\r\n \r\n Access My Training\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 CorporateStart;\r\n","import isNil from \"lodash/isNil\";\r\nimport React, { Component } from \"react\";\r\nimport KeyboardEventHandler from \"react-keyboard-event-handler\";\r\nimport ToggleDisplay from \"react-toggle-display\";\r\nimport { Button, Col, Form, FormGroup, Label, Row, Table } from \"reactstrap\";\r\nimport BlockUiFx from \"../../components/Common/Block-Ui-Fx/Block-Ui-Fx\";\r\nimport ButtonFx from \"../../components/Common/Button-Fx/Button-Fx\";\r\nimport formHandler from \"../../components/Common/Fields/form-handler\";\r\nimport InputField from \"../../components/Common/Fields/Input-Field\";\r\nimport MaskedInputField from \"../../components/Common/Fields/Masked-Input-Field\";\r\nimport PaymentInputs from \"../../components/Common/Fields/Payment-Inputs\";\r\nimport RadioButtonList from \"../../components/Common/Fields/Radio-Button-List\";\r\nimport * as validators from \"../../components/Common/Fields/Validators/Field-Validators\";\r\nimport LoqateAddressField from \"../../components/Common/Loqate-Single-Address-Field\";\r\nimport PageTitle from \"../../components/Common/Page-Title/Page-Title\";\r\nimport ContentSection from \"../../components/Content-Section\";\r\n\r\nimport \"../Start/corporate-start.scss\";\r\n\r\n// Combination of validations\r\nconst emailValidator = (fieldName, value) => {\r\n if (validators.required(fieldName, value))\r\n return validators.required(fieldName, value);\r\n if (validators.email(value)) return validators.email(value);\r\n\r\n return false;\r\n};\r\n\r\nconst phoneValidator = (fieldName, value) => {\r\n if (validators.required(fieldName, value))\r\n return validators.required(fieldName, value);\r\n\r\n if (validators.phone(value)) return validators.phone(value);\r\n\r\n return false;\r\n};\r\n\r\nconst getPhoneMask = (value) => {\r\n if (\r\n value.startsWith(\"02\") ||\r\n value.startsWith(\"03\") ||\r\n value.startsWith(\"07\") ||\r\n value.startsWith(\"08\")\r\n )\r\n return \"99 9999 9999\";\r\n\r\n return \"9999 999 999\";\r\n};\r\n\r\nclass CorporatePurchaseVouchers extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.onChange = this.onChange.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.props.init();\r\n this.props.setEmail();\r\n }\r\n\r\n onAutoCompleteAddressSelect = (address) => {\r\n this.props.updateAutocompleteAddress(address);\r\n };\r\n\r\n onChange(value) {\r\n if (!value) {\r\n this.props.clearAddress();\r\n }\r\n }\r\n\r\n render() {\r\n const form = formHandler();\r\n\r\n const {\r\n onInputChange,\r\n onCreditCardChange,\r\n onInputQuantityChange,\r\n totalPrice,\r\n onFieldError,\r\n applyPromoCode,\r\n courses,\r\n onSubmit,\r\n isPromoCodeApplied,\r\n totalAfterDiscount,\r\n isSubmitting,\r\n clearAddress,\r\n toggleManualAddressEntry,\r\n } = this.props;\r\n const { fullAddress } = this.props.addressEntry;\r\n const {\r\n companyName,\r\n phone,\r\n email,\r\n purchaseNumber,\r\n cardName,\r\n promoCode,\r\n paymentMethod,\r\n cardNumber,\r\n cardExpiryDate,\r\n cardCvc,\r\n } = this.props.fields;\r\n\r\n return (\r\n <>\r\n \r\n \r\n
\r\n \r\n

Purchase New Vouchers

\r\n
\r\n \r\n \r\n \r\n validators.required(\"Company Name\", val)}\r\n onFieldError={onFieldError}\r\n />\r\n \r\n\r\n \r\n validators.required(\"Address\", val)}\r\n ref={form.add}\r\n clearAddress={clearAddress}\r\n toggleManualEntry={toggleManualAddressEntry}\r\n />\r\n \r\n\r\n \r\n \r\n phoneValidator(\"Telephone Number\", val)}\r\n />\r\n \r\n \r\n \r\n emailValidator(\"Email Address\", val)}\r\n onFieldError={onFieldError}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {courses.map((course, i) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {totalPrice && (\r\n \r\n ${Number(totalPrice).toFixed(2)}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {totalPrice && ${totalPrice}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {totalPrice && (\r\n \r\n ${Number(totalAfterDiscount).toFixed(2)}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
CoursePriceQuantityTotal
\r\n {course.id === 6 ? (\r\n <>\r\n Food Safety Supervisor Hospitality & Retail{\" \"}\r\n \r\n (The NSW Food Safety Supervisor Certificate)\r\n \r\n
\r\n (SITXFSA005, SITXFSA006)\r\n \r\n ) : (\r\n <>\r\n {course.courseTitle}\r\n
\r\n {\"(\" + course.courseCodes + \")\"}\r\n \r\n )}\r\n
${course.courseCost}.00\r\n onInputQuantityChange(c)}\r\n className=\"mxw-400\"\r\n />\r\n ${course.total}.00
\r\n 0}>\r\n Total : \r\n \r\n \r\n 0}>\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n Apply\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n val === \"-1\" ||\r\n val === \"\" ||\r\n val === undefined ||\r\n val === null\r\n ? \"Payment method is required\"\r\n : false\r\n }\r\n onFieldError={onFieldError}\r\n items={[{ value: \"Credit Card\" }, { value: \"Invoice\" }]}\r\n onChange={onInputChange}\r\n />\r\n
\r\n
\r\n\r\n {paymentMethod === \"Credit Card\" && (\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n )}\r\n

\r\n $\r\n {isPromoCodeApplied\r\n ? totalAfterDiscount.toFixed(2)\r\n : totalPrice}\r\n

\r\n\r\n \r\n {\r\n if (paymentMethod !== \"Invoice\") {\r\n if (isNil(cardNumber) || !cardNumber) {\r\n onInputChange({\r\n name: \"cardNumber\",\r\n value: \"\",\r\n error: \"Card number is required\",\r\n });\r\n onFieldError(\"Card number is required.\");\r\n }\r\n\r\n if (isNil(cardExpiryDate) || !cardExpiryDate) {\r\n onInputChange({\r\n name: \"cardExpiryDate\",\r\n value: \"\",\r\n error: \"Card expiry date is required.\",\r\n });\r\n onFieldError(\"Card expiry date is required.\");\r\n }\r\n\r\n if (isNil(cardCvc) || !cardCvc) {\r\n onInputChange({\r\n name: \"cardCvc\",\r\n value: \"\",\r\n error: \"Card CVC is required.\",\r\n });\r\n onFieldError(\"Card CVC is required.\");\r\n }\r\n }\r\n\r\n form.validate({\r\n validFn: () => {\r\n onSubmit();\r\n },\r\n invalidFn: () => console.log(form.getFieldErrors()),\r\n });\r\n }}\r\n >\r\n {paymentMethod === \"Credit Card\"\r\n ? \"Purchase Now\"\r\n : \"Order Now\"}\r\n \r\n \r\n
\r\n
\r\n \r\n form.validate({\r\n validFn: () => onSubmit(),\r\n })\r\n }\r\n />\r\n \r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default CorporatePurchaseVouchers;\r\n","import HttpClient from \"../../../coreLib//http/httpClient\";\r\n\r\nconst Service = () => {\r\n let httpClient = HttpClient();\r\n\r\n const purchase = (fields, courses) => {\r\n let model = {\r\n ...fields,\r\n cardExpiryDate:\r\n fields.cardExpiryDate != null\r\n ? fields.cardExpiryDate.replace(/ /g, \"\")\r\n : null,\r\n courseQuantities: courses.map(course => {\r\n return {\r\n courseId: course.id,\r\n quantity: course.quantity\r\n };\r\n })\r\n };\r\n return httpClient.post(\"v1/corporate/purchase-vouchers\", model);\r\n };\r\n\r\n const applyPromoCode = (promoCode, courses) => {\r\n let model = {\r\n promoCode,\r\n courseQuantities: courses.map(course => {\r\n return {\r\n courseId: course.id,\r\n quantity: course.quantity\r\n };\r\n })\r\n };\r\n return httpClient.post(\r\n \"v1/corporate/purchase-vouchers/update-total\",\r\n model\r\n );\r\n };\r\n\r\n return {\r\n purchase,\r\n applyPromoCode\r\n };\r\n};\r\n\r\nexport default Service;\r\n","/* eslint-disable default-case */\r\nimport IdentityService from \"../../../coreLib/auth/userIdentity\";\r\nimport { addNotification } from \"../../../redux/system/system-action-creators\";\r\nimport { ActionTypes } from \"./action-types\";\r\nimport Service from \"./service\";\r\n\r\nexport const init = () => ({\r\n type: ActionTypes.PURCHASE_CORPORATE_VOUCHERS_INIT,\r\n});\r\n\r\nexport const applyPromoCode = (promoCode, courses, showNotif) => (dispatch) => {\r\n let service = Service();\r\n service\r\n .applyPromoCode(promoCode, courses)\r\n .then((resp) => {\r\n let { promoCodeValid } = resp.data;\r\n if (promoCodeValid) {\r\n dispatch(applyPromoCodeSuccess(resp.data));\r\n if (showNotif)\r\n dispatch(addNotification(\"Promo code has been applied.\"));\r\n } else {\r\n dispatch(addNotification(\"Invalid promo code\", \"warning\"));\r\n dispatch(applyPromoCodeFailure());\r\n }\r\n })\r\n .catch((err) => {\r\n dispatch(addNotification(\"Invalid promo code\", \"warning\"));\r\n dispatch(applyPromoCodeFailure());\r\n });\r\n};\r\n\r\nconst applyPromoCodeSuccess = (payload) => ({\r\n type: ActionTypes.PURCHASE_CORPORATE_VOUCHERS_APPLY_PROMO_CODE_SUCCESS,\r\n payload,\r\n});\r\n\r\nconst applyPromoCodeFailure = () => ({\r\n type: ActionTypes.PURCHASE_CORPORATE_VOUCHERS_APPLY_PROMO_CODE_FAILURE,\r\n});\r\n\r\nexport const setEmail = () => (dispatch) => {\r\n let email = IdentityService().getEmail();\r\n dispatch(formInputChange(\"email\", email));\r\n};\r\n\r\nexport const onCreditCardInputChange = (card) => (dispatch) => {\r\n const { field, value, meta } = card;\r\n dispatch(formInputChange(field, value));\r\n let isCreditCardValid = Object.values(meta).every((m) => m === undefined);\r\n dispatch(setCardValidity(isCreditCardValid));\r\n dispatch(validateFunc());\r\n};\r\n\r\nexport const onInputQuantityChange = (payload) => (dispatch, getState) => {\r\n dispatch({\r\n type: ActionTypes.PURCHASE_CORPORATE_VOUCHERS_QUANTITY_CHANGE,\r\n payload,\r\n });\r\n\r\n let state = getState().purchaseCorporateVoucher;\r\n if (state.isPromoCodeApplied)\r\n dispatch(applyPromoCode(state.fields.promoCode, state.courses, false));\r\n dispatch(validateFunc());\r\n};\r\n\r\nconst setCardValidity = (value) => ({\r\n type: ActionTypes.PURCHASE_CORPORATE_VOUCHERS_SET_CARD_VALIDITY,\r\n payload: value,\r\n});\r\n\r\nexport const updateAutocompleteAddress = (data) => {\r\n return (dispatch) => {\r\n dispatch({\r\n type:\r\n ActionTypes.PURCHASE_CORPORATE_VOUCHERS_AUTOCOMPLETE_ADDRESS_UPDATE_SUCCESS,\r\n payload: data,\r\n });\r\n };\r\n};\r\n\r\nexport const toggleManualAddressEntry = () => (dispatch) => {\r\n dispatch({\r\n type: ActionTypes.PURCHASE_CORPORATE_VOUCHERS_TOGGLE_MANUAL_ADDRESS_ENTRY,\r\n });\r\n dispatch(validateFunc());\r\n};\r\n\r\nexport const togglePromoCodeEntry = () => ({\r\n type: ActionTypes.PURCHASE_CORPORATE_VOUCHERS_TOGGLE_PROMO_CODE_ENTRY,\r\n});\r\n\r\nconst showManualAddressEntry = () => ({\r\n type: ActionTypes.PURCHASE_CORPORATE_VOUCHERS_SHOW_MANUAL_ADDRESS_ENTRY,\r\n});\r\n\r\nexport const clearAddress = () => ({\r\n type: ActionTypes.PURCHASE_CORPORATE_VOUCHERS_CLEAR_ADDRESS,\r\n});\r\n\r\nexport const onSubmit = (stateProps, fields, history) => (\r\n dispatch,\r\n getState\r\n) => {\r\n const {\r\n isCreditCardValid,\r\n totalPrice,\r\n fields,\r\n fieldErrors,\r\n addressEntry,\r\n } = getState().purchaseCorporateVoucher;\r\n\r\n if (!fields.companyName) {\r\n dispatch(addNotification(\"Company name is required\", \"error\"));\r\n return true;\r\n }\r\n if (!fields.phone) {\r\n dispatch(addNotification(\"Phone is required\", \"error\"));\r\n return true;\r\n }\r\n if (!fields.email) {\r\n dispatch(addNotification(\"Email is required\", \"error\"));\r\n return true;\r\n }\r\n\r\n if (!addressEntry.enterAddressManually && !addressEntry.fullAddress) {\r\n dispatch(addNotification(\"Address is required\", \"error\"));\r\n return true;\r\n }\r\n\r\n if (!fields.postcode) {\r\n dispatch(addNotification(\"Post Code is required\", \"error\"));\r\n return true;\r\n }\r\n if (!fields.state) {\r\n dispatch(addNotification(\"State is required\", \"error\"));\r\n return true;\r\n }\r\n if (!fields.city) {\r\n dispatch(addNotification(\"City is required\", \"error\"));\r\n return true;\r\n }\r\n if (!fields.streetName) {\r\n dispatch(addNotification(\"Street name is required\", \"error\"));\r\n return true;\r\n }\r\n if (!fields.streetNumber) {\r\n dispatch(addNotification(\"Street number is required\", \"error\"));\r\n if (!addressEntry.enterAddressManually) {\r\n dispatch(showManualAddressEntry());\r\n }\r\n return true;\r\n }\r\n if (!fields.paymentMethod) {\r\n dispatch(addNotification(\"Payment method is required\", \"error\"));\r\n return true;\r\n }\r\n if (fields.paymentMethod === \"Credit Card\") {\r\n if (!fields.cardName) {\r\n dispatch(addNotification(\"Please enter card name\", \"error\"));\r\n return true;\r\n }\r\n if (!fields.cardNumber || !fields.cardExpiryDate || !fields.cardCvc) {\r\n dispatch(\r\n addNotification(\"Please enter a valid credit card details\", \"error\")\r\n );\r\n return true;\r\n }\r\n }\r\n if (totalPrice < 1) {\r\n dispatch(addNotification(\"Please add voucher items\", \"error\"));\r\n return true;\r\n }\r\n\r\n dispatch(onSubmitRequest());\r\n\r\n let service = Service();\r\n service\r\n .purchase(fields, stateProps.courses)\r\n .then((resp) => {\r\n const { purchaseSuccessful, errorMessage } = resp.data;\r\n if (purchaseSuccessful) {\r\n history.push(\"/Corporate\");\r\n dispatch(onSubmitSuccess());\r\n } else {\r\n dispatch(onSubmitFailure());\r\n dispatch(addNotification(errorMessage, \"warning\"));\r\n }\r\n })\r\n .catch((err) => {\r\n dispatch(onSubmitFailure());\r\n dispatch(\r\n addNotification(\"here was an error during submission.\", \"warning\")\r\n );\r\n });\r\n};\r\n\r\nconst onSubmitRequest = () => ({\r\n type: ActionTypes.PURCHASE_CORPORATE_VOUCHERS_SUBMIT_REQUEST,\r\n});\r\nconst onSubmitSuccess = () => ({\r\n type: ActionTypes.PURCHASE_CORPORATE_VOUCHERS_SUBMIT_SUCCESS,\r\n});\r\nconst onSubmitFailure = () => ({\r\n type: ActionTypes.PURCHASE_CORPORATE_VOUCHERS_SUBMIT_FAILURE,\r\n});\r\n\r\nexport const formInputChange = (name, value, error) => {\r\n return (dispatch) => {\r\n dispatch({\r\n type: ActionTypes.PURCHASE_CORPORATE_VOUCHERS_FORM_INPUT_CHANGE,\r\n payload: {\r\n name: name,\r\n value: value,\r\n error: error,\r\n },\r\n });\r\n\r\n switch (name) {\r\n case \"paymentMethod\":\r\n value === \"Credit Card\"\r\n ? dispatch({ type: ActionTypes.PURCHASE_CORPORATE_VOUCHERS_CREDIT })\r\n : dispatch({ type: ActionTypes.PURCHASE_CORPORATE_VOUCHERS_INVOICE });\r\n break;\r\n }\r\n\r\n dispatch(validateFunc(name));\r\n };\r\n};\r\n\r\nconst validateFunc = (name) => {\r\n return (dispatch, getState) => {\r\n const {\r\n isCreditCardValid,\r\n totalPrice,\r\n fields,\r\n fieldErrors,\r\n addressEntry,\r\n } = getState().purchaseCorporateVoucher;\r\n\r\n let isFormValid = !validate(\r\n name,\r\n fields,\r\n totalPrice,\r\n fieldErrors,\r\n addressEntry,\r\n isCreditCardValid\r\n );\r\n\r\n dispatch({\r\n type: ActionTypes.PURCHASE_CORPORATE_VOUCHERS_VALIDATE,\r\n payload: isFormValid,\r\n });\r\n };\r\n};\r\n\r\nconst validate = (\r\n name,\r\n fields,\r\n totalPrice,\r\n fieldErrors,\r\n addressEntry,\r\n isCreditCardValid\r\n) => {\r\n let doesFieldExistAndEmpty =\r\n fields[name] !== undefined && fields[name].length === 0;\r\n\r\n if (doesFieldExistAndEmpty) {\r\n return true;\r\n }\r\n\r\n if (\r\n name === \"cardName\" &&\r\n fields.paymentMethod === \"Credit Card\" &&\r\n !isCreditCardValid\r\n ) {\r\n return true;\r\n }\r\n\r\n if (\r\n name === \"postalAddress\" &&\r\n !addressEntry.enterAddressManually &&\r\n !addressEntry.fullAddress\r\n ) {\r\n return true;\r\n }\r\n\r\n if (addressEntry.enterAddressManually && !fields.streetNumber) {\r\n return true;\r\n }\r\n\r\n if (totalPrice < 1) {\r\n return true;\r\n }\r\n\r\n const errMessages = Object.keys(fieldErrors).filter((k) => fieldErrors[k]);\r\n\r\n if (errMessages.length > 0) {\r\n return true;\r\n }\r\n\r\n return false;\r\n};\r\n","import PurchaseCorporateVouchers from \"./purchase-corporate-vouchers\";\r\nimport { connect } from \"react-redux\";\r\nimport * as actionCreators from \"./redux/action-creators\";\r\nimport { selectPurchaseCorporateVouchers } from \"./redux/reducer\";\r\nimport * as sysActionCreators from \"../../redux/system/system-action-creators\";\r\n\r\nconst mapStateToProps = (state) => {\r\n const stateData = selectPurchaseCorporateVouchers(state);\r\n\r\n return {\r\n addressEntry: stateData.addressEntry,\r\n totalPrice: stateData.totalPrice,\r\n fields: stateData.fields,\r\n isPromoCodeApplied: stateData.isPromoCodeApplied,\r\n totalAfterDiscount: stateData.totalAfterDiscount,\r\n courses: stateData.courses,\r\n fieldErrors: stateData.fieldErrors,\r\n isCreditCardValid: stateData.isCreditCardValid,\r\n isSubmitting: stateData.isSubmitting,\r\n isSubmitted: stateData.isSubmitted,\r\n formValid: stateData.formValid,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => ({\r\n clearAddress: () => {\r\n dispatch(actionCreators.clearAddress());\r\n },\r\n updateAutocompleteAddress: (fullAddress) => {\r\n dispatch(actionCreators.updateAutocompleteAddress(fullAddress));\r\n },\r\n toggleManualAddressEntry: () => {\r\n dispatch(actionCreators.toggleManualAddressEntry());\r\n },\r\n togglePromoCodeEntry: () => {\r\n dispatch(actionCreators.togglePromoCodeEntry());\r\n },\r\n setEmail: () => {\r\n dispatch(actionCreators.setEmail());\r\n },\r\n onInputChange: ({ name, value, error }) => {\r\n dispatch(actionCreators.formInputChange(name, value, error));\r\n },\r\n onCreditCardChange: (values) => {\r\n dispatch(actionCreators.onCreditCardInputChange(values));\r\n },\r\n onInputQuantityChange: (values) => {\r\n if (isNaN(values.value)) {\r\n return;\r\n }\r\n if (\r\n values.value === undefined ||\r\n values.value === null ||\r\n values.value === \"\" ||\r\n values.value === \"\"\r\n ) {\r\n values.value = 0;\r\n dispatch(actionCreators.onInputQuantityChange(values));\r\n } else {\r\n dispatch(actionCreators.onInputQuantityChange(values));\r\n }\r\n },\r\n setEmail: () => {\r\n dispatch(actionCreators.setEmail());\r\n },\r\n init: () => {\r\n dispatch(actionCreators.init());\r\n },\r\n onFieldError: (error) =>\r\n dispatch(sysActionCreators.addNotification(error, \"warning\")),\r\n dispatch: dispatch,\r\n history: ownProps.history,\r\n match: ownProps.match,\r\n});\r\n\r\nconst validate = (stateProps) => {\r\n const fields = stateProps.fields;\r\n const totalPrice = stateProps.totalPrice;\r\n const fieldErrors = stateProps.fieldErrors;\r\n const errMessages = Object.keys(fieldErrors).filter((k) => fieldErrors[k]);\r\n\r\n if (!fields.companyName) return true;\r\n if (!fields.phone) return true;\r\n if (!fields.email) return true;\r\n if (!fields.postcode) return true;\r\n if (!fields.state) return true;\r\n if (!fields.city) return true;\r\n if (!fields.streetName) return true;\r\n if (stateProps.addressEntry.enterAddressManually && !fields.streetNumber)\r\n return true;\r\n if (!fields.paymentMethod) return true;\r\n if (\r\n fields.paymentMethod === \"Credit Card\" &&\r\n (!stateProps.isCreditCardValid || !fields.cardName)\r\n ) {\r\n return true;\r\n }\r\n\r\n if (totalPrice < 1) return true;\r\n if (errMessages.length > 0) return true;\r\n\r\n return false;\r\n};\r\n\r\nconst mergeFormProps = (stateProps, dispatchProps) => ({\r\n ...stateProps,\r\n ...dispatchProps,\r\n toggleManualAddressEntry: () => {\r\n dispatchProps.dispatch(dispatchProps.toggleManualAddressEntry);\r\n validate(stateProps);\r\n },\r\n applyPromoCode: () => {\r\n if (stateProps.fields.promoCode) {\r\n dispatchProps.dispatch(\r\n actionCreators.applyPromoCode(\r\n stateProps.fields.promoCode,\r\n stateProps.courses,\r\n true\r\n )\r\n );\r\n } else {\r\n dispatchProps.dispatch(\r\n sysActionCreators.addNotification(\"Please add a promo code\", \"warning\")\r\n );\r\n }\r\n },\r\n showErrorNotification: (error) => {\r\n dispatchProps.dispatch(sysActionCreators.addNotification(error, \"warning\"));\r\n },\r\n onSubmit: () => {\r\n dispatchProps.dispatch(\r\n actionCreators.onSubmit(\r\n stateProps,\r\n stateProps.fields,\r\n dispatchProps.history\r\n )\r\n );\r\n },\r\n validate: () => {\r\n return validate(stateProps);\r\n },\r\n});\r\n\r\nconst PurchaseCorporateVouchersContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n mergeFormProps\r\n)(PurchaseCorporateVouchers);\r\n\r\nexport default PurchaseCorporateVouchersContainer;\r\n","import React from \"react\";\r\nimport { Button } from \"reactstrap\";\r\n\r\nconst CourseContentButtons = ({\r\n currentSection,\r\n currentPageIndex,\r\n totalPages,\r\n onPreviousPage,\r\n onNextPage,\r\n onLoadQuiz,\r\n}) => {\r\n return (\r\n
\r\n {currentPageIndex > 0 && (\r\n <>\r\n \r\n \r\n )}\r\n {currentPageIndex < totalPages - 1 && (\r\n \r\n )}\r\n\r\n {/* TODO: show the start quiz button if they click back from the quiz */}\r\n {currentPageIndex === totalPages - 1 && (\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default CourseContentButtons;\r\n","import React from \"react\";\r\nimport \"./course-content-sections.scss\";\r\n\r\nconst getContentSections = (currentSection, totalSections) => {\r\n const sections = Array.apply(1, { length: totalSections }).map(\r\n Number.call,\r\n Number\r\n );\r\n\r\n return sections.map((item, i) => (\r\n \r\n {item + 1}\r\n \r\n ));\r\n};\r\n\r\nconst CourseContentSections = ({ currentSection, totalSections }) => {\r\n return (\r\n
\r\n {getContentSections(currentSection, totalSections)}\r\n
\r\n );\r\n};\r\n\r\nexport default CourseContentSections;\r\n","import PropTypes from \"prop-types\";\r\nimport { useMediaQuery } from \"react-responsive\";\r\nimport React from \"react\";\r\n\r\nconst ResponsiveHtml = ({ html }) => {\r\n const sanitizeHtml = (htmlString) => {\r\n return removeFigureTags(htmlString.replace(/\\\\/g, \"\"));\r\n };\r\n\r\n const removeFigureTags = (htmlString) => {\r\n var parser = new DOMParser();\r\n var doc = parser.parseFromString(htmlString, \"text/html\");\r\n\r\n var figures = doc.querySelectorAll(\"figure.table\");\r\n\r\n figures.forEach((figure) => {\r\n var table = figure.querySelector(\"table\");\r\n\r\n if (table) {\r\n let tableStyle = table.getAttribute(\"style\") || \"\";\r\n\r\n // Handle width conversion if width is in percentage\r\n if (figure.style.width) {\r\n const widthInStyle = figure.style.width;\r\n\r\n if (widthInStyle.includes(\"%\")) {\r\n const percentage = parseFloat(widthInStyle);\r\n\r\n const widthInPx =\r\n percentage > 99 ? \"100%\" : `${(percentage / 100) * 1350}px`;\r\n\r\n tableStyle += `width: ${widthInPx}; `;\r\n } else tableStyle += `width: ${widthInStyle}; `;\r\n }\r\n\r\n // Handle float and margin styles\r\n if (figure.style.float) {\r\n tableStyle += `float: ${figure.style.float}; `;\r\n if (figure.style.float === \"right\")\r\n tableStyle += \"margin-left: 16px; \";\r\n else if (figure.style.float === \"left\")\r\n tableStyle += \"margin-right: 16px; \";\r\n }\r\n // Center the table if there is no float style\r\n else tableStyle += \"margin-left: auto; margin-right: auto; \";\r\n\r\n // Set updated style attribute on table\r\n table.setAttribute(\"style\", tableStyle.trim());\r\n }\r\n\r\n // Replace figure with table or remove the figure if no table is found\r\n if (table) figure.parentNode.replaceChild(table, figure);\r\n else figure.parentNode.removeChild(figure);\r\n });\r\n\r\n return doc.body.innerHTML;\r\n };\r\n\r\n function extractTextFromStyle(htmlString) {\r\n // Extract the style attribute value\r\n var styleValue = htmlString.match(/style=\"([^\"]*)\"/);\r\n\r\n if (styleValue && styleValue.length > 1) {\r\n var styleText = styleValue[1]\r\n .replace(/"/g, '\"')\r\n .replace(/'/g, \"'\")\r\n .replace(/&/g, \"&\")\r\n .trim();\r\n\r\n return styleText;\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n const measureTextWidth = (htmlString, styleString) => {\r\n const dummyDiv = document.createElement(\"div\");\r\n dummyDiv.style.position = \"absolute\";\r\n dummyDiv.style.visibility = \"hidden\";\r\n dummyDiv.style.height = \"auto\";\r\n dummyDiv.style.width = \"auto\";\r\n dummyDiv.style.whiteSpace = \"nowrap\";\r\n\r\n // Explicitly set font-related styles\r\n dummyDiv.style.fontSize = \"16px\";\r\n dummyDiv.style.fontWeight = \"bold\";\r\n\r\n // Apply additional styles from the style string\r\n if (styleString) {\r\n styleString.split(\";\").forEach((style) => {\r\n const [key, value] = style.split(\":\");\r\n if (key && value) {\r\n dummyDiv.style[key.trim()] = value.trim();\r\n }\r\n });\r\n }\r\n\r\n // Set the innerHTML to the HTML string\r\n dummyDiv.innerHTML = htmlString;\r\n\r\n document.body.appendChild(dummyDiv);\r\n\r\n const width = dummyDiv.clientWidth;\r\n document.body.removeChild(dummyDiv);\r\n\r\n return width + 25; // add 25px for buffer\r\n };\r\n\r\n const generateDivHTML = (\r\n headers,\r\n tableData,\r\n headerStyles,\r\n tableStyleData\r\n ) => {\r\n // Measure the width of each header\r\n const headerWidths = headers.map((header, index) =>\r\n measureTextWidth(header, headerStyles[index])\r\n );\r\n\r\n // Find the maximum width (limited to 200px)\r\n const maxWidth = Math.min(Math.max(...headerWidths), 200);\r\n\r\n const divString = `
\r\n ${tableData\r\n .map(\r\n (row, tableDataIndex) => `
\r\n ${headers\r\n .map(\r\n (header, index) => `
\r\n
${header}
\r\n
${tableData[tableDataIndex][index]}
\r\n
`\r\n )\r\n .join(\"\")}\r\n
`\r\n )\r\n .join(\"\")}\r\n
`;\r\n\r\n return divString;\r\n };\r\n\r\n const removeStyleProperty = (styleString) => {\r\n return styleString\r\n .split(\";\")\r\n .filter((styleProp) => !styleProp.includes(\"border\"))\r\n .join(\";\");\r\n };\r\n\r\n const parseHTMLTable = (htmlString) => {\r\n const parser = new DOMParser();\r\n\r\n const doc = parser.parseFromString(htmlString, \"text/html\");\r\n\r\n const tableData = [];\r\n const tableStyleData = [];\r\n\r\n const table = doc.querySelector(\"table\");\r\n const rows = table.querySelectorAll(\"tr\");\r\n\r\n for (let i = 0; i < rows.length; i++) {\r\n let cells = rows[i].querySelectorAll(\"th\");\r\n\r\n if (cells.length === 0) cells = rows[i].querySelectorAll(\"td\");\r\n\r\n const rowData = [];\r\n let rowStyleData = [];\r\n\r\n for (let j = 0; j < cells.length; j++) {\r\n rowStyleData.push(\r\n removeStyleProperty(extractTextFromStyle(cells[j].outerHTML))\r\n );\r\n rowData.push(cells[j].innerHTML);\r\n }\r\n\r\n tableData.push(rowData);\r\n tableStyleData.push(rowStyleData);\r\n }\r\n\r\n let headers = tableData.shift();\r\n\r\n // make the heading bold if there is no tag\r\n headers.forEach((header, index) => {\r\n if (!header.includes(\"\"))\r\n headers[index] = `${header}`;\r\n });\r\n\r\n const headerStyles = tableStyleData.shift();\r\n\r\n return {\r\n headers,\r\n data: tableData,\r\n headerStyles,\r\n dataStyles: tableStyleData,\r\n };\r\n };\r\n\r\n // Helper function to parse HTML string and select elements\r\n const parseAndSelectElements = (htmlString, elementSelector) => {\r\n const doc = new DOMParser().parseFromString(htmlString, \"text/html\");\r\n const elements = doc.querySelectorAll(elementSelector);\r\n\r\n return {\r\n doc,\r\n elements,\r\n };\r\n };\r\n\r\n const parseAndSelectImageElements = (htmlString) => {\r\n const doc = new DOMParser().parseFromString(htmlString, \"text/html\");\r\n const allElements = Array.from(doc.querySelectorAll(\"*\"));\r\n\r\n const selectedElements = allElements.filter((el) => {\r\n if (el.tagName === \"IMG\") {\r\n let parent = el.parentNode;\r\n while (parent) {\r\n if (parent.tagName === \"FIGURE\" && parent.classList.contains(\"image\"))\r\n return false;\r\n\r\n parent = parent.parentNode;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n return el.tagName === \"FIGURE\" && el.classList.contains(\"image\");\r\n });\r\n\r\n return {\r\n doc,\r\n selectedElements,\r\n };\r\n };\r\n\r\n // Function to replace tables\r\n const parseAndReplaceTables = (htmlString, isBigScreen) => {\r\n let { doc, elements: tables } = parseAndSelectElements(htmlString, \"table\");\r\n\r\n for (let i = 0; i < tables.length; i++) {\r\n const parsedTable = parseHTMLTable(tables[i].outerHTML);\r\n\r\n const newTable = generateDivHTML(\r\n parsedTable.headers,\r\n parsedTable.data,\r\n parsedTable.headerStyles,\r\n parsedTable.dataStyles\r\n );\r\n\r\n const newTableElement = new DOMParser().parseFromString(\r\n newTable,\r\n \"text/html\"\r\n ).body.firstChild;\r\n\r\n tables[i].parentNode.replaceChild(newTableElement, tables[i]);\r\n }\r\n\r\n return doc.documentElement.outerHTML;\r\n };\r\n\r\n const replaceOembedWithIFrame = (htmlString) => {\r\n const videoUrlRegEx = /(\\/|%3D|vi*=)([0-9A-z-_]{11})([%#?&]|$)/;\r\n\r\n let { doc, elements: oembeds } = parseAndSelectElements(\r\n htmlString,\r\n \"oembed\"\r\n );\r\n\r\n oembeds.forEach((oembedElement) => {\r\n let url = oembedElement.getAttribute(\"url\");\r\n let match = url.match(videoUrlRegEx);\r\n\r\n let iframe = document.createElement(\"iframe\");\r\n iframe.src = match ? `https://www.youtube.com/embed/${match[2]}` : url;\r\n iframe.width = \"560\";\r\n iframe.height = \"315\";\r\n iframe.frameborder = \"0\";\r\n iframe.allowFullscreen = true;\r\n iframe.allow =\r\n \"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\";\r\n\r\n oembedElement.parentNode.replaceChild(iframe, oembedElement);\r\n });\r\n\r\n return doc.documentElement.outerHTML;\r\n };\r\n\r\n // Function to replace images\r\n const parseAndReplaceImages = (htmlString) => {\r\n let { doc, selectedElements: images } = parseAndSelectImageElements(\r\n htmlString\r\n );\r\n\r\n images.forEach((image) => {\r\n if (image.tagName === \"IMG\") {\r\n let src = image.getAttribute(\"src\");\r\n let className = image.getAttribute(\"class\");\r\n let style = image.getAttribute(\"style\");\r\n\r\n let widthInStyle;\r\n\r\n if (style) {\r\n const widthMatch = style.match(/width:\\s*([^;]+);/);\r\n\r\n if (widthMatch) {\r\n widthInStyle = widthMatch[1];\r\n style = style.replace(widthMatch[0], \"\");\r\n }\r\n }\r\n\r\n let classAttribute = className ? ` class=\"${className}\"` : \"\";\r\n let styleAttribute = style ? ` style=\"${style}\"` : \"\";\r\n\r\n let widthAttribute = \"\";\r\n\r\n if (widthInStyle) {\r\n let percentage = parseFloat(widthInStyle);\r\n\r\n widthAttribute = widthInStyle.includes(\"%\")\r\n ? ` width=\"${\r\n percentage > 99 ? \"100%\" : `${(percentage / 100) * 1350}px`\r\n }\"`\r\n : ` width=\"${widthInStyle}\"`;\r\n }\r\n\r\n const imgElement = ``;\r\n\r\n image.outerHTML = imgElement;\r\n } else {\r\n let extractedImageFromFigure = image.querySelector(\"img\");\r\n let src = extractedImageFromFigure.getAttribute(\"src\");\r\n let className = image.getAttribute(\"class\");\r\n\r\n if (className) {\r\n if (className === \"image\") className = \"image-style-align-center\";\r\n else\r\n className = className.replace(\r\n \"image \",\r\n \"image-style-align-center \"\r\n );\r\n }\r\n\r\n let style = image.getAttribute(\"style\");\r\n\r\n let widthInStyle;\r\n\r\n if (style) {\r\n const widthMatch = style.match(/width:\\s*([^;]+);/);\r\n\r\n if (widthMatch) {\r\n widthInStyle = widthMatch[1];\r\n style = style.replace(widthMatch[0], \"\");\r\n }\r\n }\r\n\r\n let classAttribute = className ? ` class=\"${className}\"` : \"\";\r\n let styleAttribute = style ? ` style=\"${style}\"` : \"\";\r\n\r\n let widthAttribute = \"\";\r\n\r\n if (widthInStyle) {\r\n let percentage = parseFloat(widthInStyle);\r\n\r\n widthAttribute = widthInStyle.includes(\"%\")\r\n ? ` width=\"${\r\n percentage > 99 ? \"100%\" : `${(percentage / 100) * 1350}px`\r\n }\"`\r\n : ` width=\"${widthInStyle}\"`;\r\n }\r\n\r\n const imgElement = ``;\r\n\r\n image.outerHTML = imgElement;\r\n }\r\n });\r\n\r\n return doc.documentElement.outerHTML;\r\n };\r\n\r\n const sanitisedHtml = sanitizeHtml(html);\r\n\r\n const isBigScreen = useMediaQuery({\r\n minWidth: 768,\r\n });\r\n\r\n let newHtml = isBigScreen\r\n ? parseAndReplaceImages(sanitisedHtml)\r\n : parseAndReplaceImages(parseAndReplaceTables(sanitisedHtml));\r\n\r\n newHtml = replaceOembedWithIFrame(newHtml);\r\n\r\n return (\r\n // eslint-disable-next-line react/react-in-jsx-scope\r\n \r\n );\r\n};\r\n\r\nResponsiveHtml.propTypes = {\r\n html: PropTypes.string.isRequired,\r\n};\r\n\r\nexport default ResponsiveHtml;\r\n","import React, { Component } from \"react\";\r\nimport PageTitle from \"components/Common/Page-Title/Page-Title\";\r\nimport ContentSection from \"components/Common/content-section\";\r\nimport CourseContentButtons from \"components/Course-Content-Buttons/Course-Content-Buttons\";\r\nimport CourseContentSections from \"components/Course-Content-Sections/Course-Content-Sections\";\r\nimport ResponsiveHtml from \"components/Common/responsive-html-renderer/responsive-html\";\r\nimport BlockUiFx from \"components/Common/Block-Ui-Fx/Block-Ui-Fx\";\r\nimport \"./course-content.scss\";\r\n\r\nclass CourseContent extends Component {\r\n componentDidMount() {\r\n const { match, onLoadSection } = this.props;\r\n onLoadSection(match.params.userCourseId, 1);\r\n }\r\n\r\n componentWillReceiveProps(newProps) {\r\n if (\r\n this.props.courseContent.currentPageIndex !==\r\n newProps.courseContent.currentPageIndex\r\n )\r\n window.scrollTo(0, 0);\r\n }\r\n\r\n render() {\r\n const {\r\n courseName,\r\n currentPageIndex,\r\n totalPages,\r\n totalSections,\r\n currentSection,\r\n currentSectionContent,\r\n isLoading,\r\n } = this.props.courseContent;\r\n const { onNextPage, onPreviousPage, onLoadQuiz } = this.props;\r\n\r\n return (\r\n <>\r\n \r\n {!isLoading ? (\r\n <>\r\n \r\n \r\n
\r\n

\r\n {courseName} - Section {currentSection}\r\n

\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n ) : (\r\n
\r\n )}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default CourseContent;\r\n","/**\r\n * User Course Service\r\n */\r\nimport HttpClient from \"./../coreLib/http/httpClient\";\r\n\r\nconst UserCourseService = () => {\r\n let httpClient = HttpClient();\r\n\r\n const getCourseId = (courseContentToken) =>\r\n httpClient.get(`/v1/userCourse/${courseContentToken}/courseDetails`);\r\n\r\n const getStatus = (courseContentToken) =>\r\n httpClient.get(`/v1/userCourse/${courseContentToken}/status`);\r\n\r\n const getCourseDetailsAndStatus = async (courseContentToken) => {\r\n const promise1 = getCourseId(courseContentToken);\r\n const promise2 = getStatus(courseContentToken);\r\n\r\n return await Promise.all([promise1, promise2]).then((values) => {\r\n const result = {\r\n data: {\r\n id: values[0].data.id,\r\n status: values[1].data,\r\n },\r\n };\r\n\r\n return result;\r\n });\r\n };\r\n\r\n const updateRedirectToQuiz = (courseContentToken) =>\r\n httpClient.patch(`/v1/userCourse/${courseContentToken}/quiz/redirect`);\r\n\r\n return {\r\n getCourseId,\r\n getStatus,\r\n getCourseDetailsAndStatus,\r\n updateRedirectToQuiz,\r\n };\r\n};\r\n\r\nexport default UserCourseService;\r\n","import Config from \"config\";\r\nimport HttpClient from \"coreLib/http/httpClient\";\r\nimport CryptoJS from \"crypto-js\";\r\n\r\nconst ApiService = () => {\r\n let httpClient = HttpClient();\r\n\r\n const getCourseDetailsAndContents = async (userCourseContentToken) => {\r\n return await httpClient\r\n .get(`/v1/usercourse/${userCourseContentToken}/contents`)\r\n .then((resp) => {\r\n var data = decryptPayload(\r\n resp.data,\r\n Config.crypto_key,\r\n Config.crypto_vector\r\n );\r\n return data;\r\n });\r\n };\r\n\r\n const decryptPayload = (encryptedPayload, secretKey, vector) => {\r\n try {\r\n const ciphertext = CryptoJS.enc.Base64.parse(encryptedPayload);\r\n const key = CryptoJS.enc.Utf8.parse(secretKey);\r\n const initializationVector = CryptoJS.enc.Utf8.parse(vector);\r\n\r\n const decrypted = CryptoJS.AES.decrypt({ ciphertext }, key, {\r\n iv: initializationVector,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.Pkcs7,\r\n });\r\n\r\n const decryptedPayload = decrypted.toString(CryptoJS.enc.Utf8);\r\n const json = JSON.parse(decryptedPayload);\r\n\r\n return json;\r\n } catch (error) {\r\n console.error(\"Error decrypting payload:\", error.message);\r\n }\r\n };\r\n\r\n return {\r\n getCourseDetailsAndContents,\r\n };\r\n};\r\n\r\nexport default ApiService;\r\n","/**\r\n * Action Creator definitions\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\nimport { addNotification } from \"../../../redux/system/system-action-creators\";\r\nimport UserCourseService from \"./../../../services/user-course-service\";\r\nimport ApiService from \"../services/api-service\";\r\n\r\n// ----------------------------\r\n// Actions\r\n// ----------------------------\r\n\r\nexport const onLoadSection = (courseContentToken, allowRedirect, history) => {\r\n return async (dispatch) => {\r\n dispatch(loadSectionRequest());\r\n\r\n const userCourseService = UserCourseService();\r\n\r\n await userCourseService\r\n .getCourseDetailsAndStatus(courseContentToken)\r\n .then(async (resp) => {\r\n const { id, status } = resp.data;\r\n // Redirect logic see #feature-354 and as per Adam's page redirect notes\r\n if (\r\n status.hasCompleted &&\r\n !status.thirdPartyFormCompleted &&\r\n !status.courseExpired\r\n ) {\r\n history.push(`/third-party-form/${courseContentToken}`);\r\n } else if (\r\n status.redirectToQuiz &&\r\n !allowRedirect &&\r\n !status.courseExpired\r\n ) {\r\n history.push(`/course-quiz/${courseContentToken}`);\r\n } else if (status.hasCompleted) {\r\n history.push(`/course-completed/${courseContentToken}`);\r\n } else if (status.isExternalLearning) {\r\n history.push(`/elearning/${courseContentToken}`);\r\n } else if (!status.courseExpired) {\r\n await loadSection(\r\n id,\r\n status.currentSection,\r\n history,\r\n dispatch,\r\n courseContentToken\r\n );\r\n } else {\r\n dispatch(\r\n addNotification(\r\n \"Sorry, something went wrong loading your course information. Please try again. If the problem continues, please contact us for assistance.\",\r\n \"error\"\r\n )\r\n );\r\n history.push(\"/your-courses/\");\r\n }\r\n })\r\n .catch((err) => {\r\n dispatch(\r\n addNotification(\r\n \"Sorry, something went wrong loading your course information. Please try again. If the problem continues, please contact us for assistance.\",\r\n \"error\"\r\n )\r\n );\r\n history.push(\"/your-courses/\");\r\n });\r\n };\r\n};\r\n\r\nconst loadSection = async (\r\n courseId,\r\n sectionId,\r\n history,\r\n dispatch,\r\n userCourseContentToken\r\n) => {\r\n const apiService = ApiService();\r\n\r\n try {\r\n const courseDetailsAndContents = await apiService.getCourseDetailsAndContents(\r\n userCourseContentToken\r\n );\r\n\r\n const selectedSectionId = sectionId === 99 ? 1 : sectionId;\r\n const selectedSection =\r\n courseDetailsAndContents.sections?.find(\r\n (x) => x.sectionId === selectedSectionId\r\n ) ?? null;\r\n\r\n const numberOfSections = courseDetailsAndContents.sections?.length ?? 0;\r\n\r\n dispatch(\r\n loadSectionSuccess(\r\n courseId,\r\n courseDetailsAndContents.courseTitle,\r\n courseDetailsAndContents.sections,\r\n numberOfSections,\r\n sectionId,\r\n 0,\r\n selectedSection.content\r\n )\r\n );\r\n } catch (ex) {\r\n dispatch(loadSectionFailure());\r\n dispatch(\r\n addNotification(\r\n \"Sorry, something went wrong loading your course information. Please try again. If the problem continues, please contact us for assistance.\",\r\n \"error\"\r\n )\r\n );\r\n history.push(\"/your-courses/\");\r\n }\r\n};\r\n\r\nconst loadSectionRequest = () => ({\r\n type: ActionTypes.COURSE_CONTENT_LOAD_SECTION_REQUEST,\r\n});\r\n\r\nconst loadSectionSuccess = (\r\n courseId,\r\n courseName,\r\n sections,\r\n totalSections,\r\n currentSection,\r\n currentPageIndex,\r\n content\r\n) => ({\r\n type: ActionTypes.COURSE_CONTENT_LOAD_SECTION_SUCCESS,\r\n payload: {\r\n courseId: courseId,\r\n courseName: courseName,\r\n sections: sections,\r\n totalSections: totalSections,\r\n currentSection: currentSection,\r\n currentPageIndex: currentPageIndex,\r\n content: content,\r\n },\r\n});\r\n\r\nconst loadSectionFailure = () => ({\r\n type: ActionTypes.COURSE_CONTENT_LOAD_SECTION_FAILURE,\r\n});\r\n\r\nexport const onNextPage = () => ({\r\n type: ActionTypes.COURSE_CONTENT_TOGGLE_NEXT_PAGE,\r\n});\r\n\r\nexport const onPreviousPage = () => ({\r\n type: ActionTypes.COURSE_CONTENT_TOGGLE_PREVIOUS_PAGE,\r\n});\r\n\r\nexport const onLoadQuiz = (courseContentToken, history) => {\r\n return (dispatch) => {\r\n dispatch(loadQuizRequest());\r\n\r\n const userCourseService = UserCourseService();\r\n\r\n userCourseService\r\n .updateRedirectToQuiz(courseContentToken)\r\n .then((resp) => {\r\n dispatch(loadQuizSuccess());\r\n history.push(`/course-quiz/${courseContentToken}/`);\r\n })\r\n .catch((err) => {\r\n dispatch(loadQuizFailure(err));\r\n dispatch(\r\n addNotification(\"Sorry, we couldn't find that quiz.\", \"error\")\r\n );\r\n });\r\n };\r\n};\r\n\r\nconst loadQuizRequest = () => ({\r\n type: ActionTypes.COURSE_CONTENT_LOAD_QUIZ_REQUEST,\r\n});\r\n\r\nconst loadQuizSuccess = () => ({\r\n type: ActionTypes.COURSE_CONTENT_LOAD_QUIZ_SUCCESS,\r\n});\r\n\r\nconst loadQuizFailure = (error) => ({\r\n type: ActionTypes.COURSE_CONTENT_LOAD_QUIZ_FAILURE,\r\n payload: error,\r\n});\r\n","import { connect } from \"react-redux\";\r\nimport CourseContent from \"./Course-Content\";\r\nimport { selectCourseContent } from \"./redux/reducer\";\r\nimport * as actionCreators from \"./redux/action-creators\";\r\n\r\nfunction mapStateToProps(state) {\r\n const courseContent = selectCourseContent(state);\r\n\r\n return {\r\n courseContent: courseContent\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => ({\r\n onNextPage: () => {\r\n dispatch(actionCreators.onNextPage());\r\n },\r\n onPreviousPage: () => {\r\n dispatch(actionCreators.onPreviousPage());\r\n },\r\n dispatch: dispatch,\r\n history: ownProps.history,\r\n match: ownProps.match\r\n});\r\n\r\nconst mergeFormProps = (stateProps, dispatchProps) => ({\r\n ...stateProps,\r\n ...dispatchProps,\r\n onLoadSection: courseContentToken => {\r\n dispatchProps.dispatch(\r\n actionCreators.onLoadSection(\r\n courseContentToken,\r\n stateProps.courseContent.allowRedirect,\r\n dispatchProps.history\r\n )\r\n );\r\n },\r\n onLoadQuiz: () => {\r\n dispatchProps.dispatch(\r\n actionCreators.onLoadQuiz(\r\n dispatchProps.match.params.userCourseId,\r\n dispatchProps.history\r\n )\r\n );\r\n }\r\n});\r\n\r\nconst CourseContentContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n mergeFormProps\r\n)(CourseContent);\r\n\r\nexport default CourseContentContainer;\r\n","import React from \"react\";\r\nimport { Input, Label } from \"reactstrap\";\r\n\r\nconst CourseQuizQuestionMultiSelect = ({\r\n questionId,\r\n options,\r\n onQuizInputChange\r\n}) => {\r\n const onChange = e => {\r\n const selectedIndex = parseInt(\r\n e.target.attributes.getNamedItem(\"data-index\").value\r\n );\r\n\r\n onQuizInputChange(selectedIndex);\r\n };\r\n\r\n return (\r\n
\r\n {options.items.map((value, i) => (\r\n
\r\n \r\n \r\n {value}\r\n \r\n
\r\n ))}\r\n
\r\n );\r\n};\r\n\r\nexport default CourseQuizQuestionMultiSelect;\r\n","import React from \"react\";\r\nimport { Input, Label } from \"reactstrap\";\r\n\r\nconst CourseQuizQuestionDropDown = props => {\r\n const { options, onInputChange } = props;\r\n return (\r\n
\r\n \r\n \r\n onInputChange({\r\n title: options.title,\r\n selectedValue: e.target.value,\r\n selectedIndex: options.items.findIndex(o => o === e.target.value)\r\n })\r\n }\r\n >\r\n \r\n {options.items.map((item, i) => (\r\n \r\n ))}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default CourseQuizQuestionDropDown;\r\n","import React, { Component } from \"react\";\r\nimport CourseQuizQuestionMultiSelect from \"./Course-Quiz-Question-Multi-Select\";\r\nimport CourseQuizQuestionDropDown from \"./Course-Quiz-Question-Drop-Down\";\r\nimport \"./Course-Quiz-Question.scss\";\r\n\r\nclass CourseQuizQuestion extends Component {\r\n getQuizQuestion = (questionId, questionType, options, onQuizInputChange) => {\r\n switch (questionType) {\r\n // questionType: DropDown = 0, MultipleChoice = 1, TrueOrFalse = 2\r\n case 0:\r\n return options.map((option, i) => (\r\n \r\n ));\r\n case 1:\r\n case 2:\r\n return (\r\n \r\n );\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n componentWillReceiveProps(newProps) {\r\n // this clears the radiobutton check status.\r\n // for some reason, they won't clear when rendered\r\n // even with different names and ids\r\n if (\r\n newProps.selectedIndex === -1 &&\r\n document.getElementById(\"quizQuestions\")\r\n ) {\r\n const children = document.getElementsByClassName(\"quiz-question-item\");\r\n\r\n for (let i = 0; i < children.length; i++) children[i].checked = false;\r\n }\r\n }\r\n\r\n render() {\r\n const {\r\n question,\r\n onQuizInputChange,\r\n selectedIndex,\r\n isFinalQuiz,\r\n } = this.props;\r\n\r\n return (\r\n
\r\n
\r\n {`${isFinalQuiz ? \"Final Quiz - \" : \"\"}`}Question{\" \"}\r\n {question.questionNo}\r\n
\r\n
\r\n \r\n
\r\n {this.getQuizQuestion(\r\n question.questionId,\r\n question.questionType,\r\n question.options,\r\n onQuizInputChange,\r\n selectedIndex\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default CourseQuizQuestion;\r\n","import React, { Component } from \"react\";\r\nimport { Button } from \"reactstrap\";\r\nimport PageTitle from \"components/Common/Page-Title/Page-Title\";\r\nimport ContentSection from \"components/Common/content-section\";\r\nimport CourseContentSections from \"components/Course-Content-Sections/Course-Content-Sections\";\r\nimport CourseQuizQuestion from \"components/Course-Quiz-Question/Course-Quiz-Question\";\r\nimport BlockUiFx from \"components/Common/Block-Ui-Fx/Block-Ui-Fx\";\r\nimport \"./course-quiz.scss\";\r\n\r\nconst OtherButton = (props) => {\r\n const {\r\n courseGuideUrl,\r\n onRedirectToContent,\r\n isFinalQuiz,\r\n userCourseId,\r\n } = props;\r\n\r\n return isFinalQuiz ? (\r\n \r\n Course Guide\r\n \r\n ) : (\r\n onRedirectToContent(userCourseId)}\r\n >\r\n Go Back to the Course Content\r\n \r\n );\r\n};\r\n\r\nclass CourseQuiz extends Component {\r\n componentDidMount() {\r\n const { match, onLoadSection } = this.props;\r\n onLoadSection(match.params.userCourseId);\r\n }\r\n\r\n render() {\r\n const {\r\n courseName,\r\n totalSections,\r\n currentSection,\r\n currentQuestion,\r\n totalQuestions,\r\n currentProgress,\r\n currentQuestionIndex,\r\n showIncorrectAnswer,\r\n selectedIndex,\r\n isLoading,\r\n courseGuideUrl,\r\n isFinalQuiz,\r\n } = this.props.courseQuiz;\r\n\r\n const {\r\n onQuizInputChange,\r\n onSubmitAnswer,\r\n onRedirectToContent,\r\n match,\r\n } = this.props;\r\n\r\n return (\r\n <>\r\n \r\n {!isLoading ? (\r\n <>\r\n \r\n \r\n
\r\n

\r\n {courseName} -{\" \"}\r\n {isFinalQuiz\r\n ? \"Final Quiz\"\r\n : `Section ${currentSection} Quiz`}\r\n

\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n onSubmitAnswer(match.params.userCourseId)\r\n }\r\n >\r\n Continue\r\n \r\n
\r\n \r\n
\r\n\r\n {showIncorrectAnswer && (\r\n
\r\n Sorry, your answer is incorrect. Please try again.\r\n
\r\n )}\r\n\r\n
\r\n \r\n \r\n {\" \"}\r\n Question {currentQuestionIndex + 1} of {totalQuestions}\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 CourseQuiz;\r\n","import Config from \"config\";\r\nimport HttpClient from \"coreLib/http/httpClient\";\r\nimport CryptoJS from \"crypto-js\";\r\n\r\nconst ApiService = () => {\r\n let httpClient = HttpClient();\r\n\r\n const getCourseDetailsAndQuestions = async (userCourseContentToken) => {\r\n return await httpClient\r\n .get(`/v1/usercourse/${userCourseContentToken}/questions`)\r\n .then((resp) => {\r\n var data = decryptPayload(\r\n resp.data,\r\n Config.crypto_key,\r\n Config.crypto_vector\r\n );\r\n return data;\r\n });\r\n };\r\n\r\n const decryptPayload = (encryptedPayload, secretKey, vector) => {\r\n try {\r\n const ciphertext = CryptoJS.enc.Base64.parse(encryptedPayload);\r\n const key = CryptoJS.enc.Utf8.parse(secretKey);\r\n const initializationVector = CryptoJS.enc.Utf8.parse(vector);\r\n\r\n const decrypted = CryptoJS.AES.decrypt({ ciphertext }, key, {\r\n iv: initializationVector,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.Pkcs7,\r\n });\r\n\r\n const decryptedPayload = decrypted.toString(CryptoJS.enc.Utf8);\r\n const json = JSON.parse(decryptedPayload);\r\n\r\n return json;\r\n } catch (error) {\r\n console.error(\"Error decrypting payload:\", error.message);\r\n }\r\n };\r\n\r\n return {\r\n getCourseDetailsAndQuestions,\r\n };\r\n};\r\n\r\nexport default ApiService;\r\n","/**\r\n * Course Quiz Service\r\n */\r\nimport HttpClient from \"../../../coreLib/http/httpClient\";\r\n\r\nconst CourseQuizService = () => {\r\n let httpClient = HttpClient();\r\n\r\n const getStatus = (courseContentToken) =>\r\n httpClient.get(`/v1/userCourse/${courseContentToken}/status`);\r\n\r\n const updateQuizAnswer = (courseContentToken, data) => {\r\n let promiseDeferred = new Promise((resolve, reject) => {\r\n httpClient\r\n .patch(`/v1/userCourse/${courseContentToken}/quiz/answer`, data)\r\n .then((resp) => {\r\n // Get latest status\r\n getStatus(courseContentToken)\r\n .then((resp) => resolve(resp.data))\r\n .catch((err) => reject(err));\r\n })\r\n .catch((err) => reject(err));\r\n });\r\n\r\n return promiseDeferred;\r\n };\r\n\r\n return {\r\n updateQuizAnswer,\r\n };\r\n};\r\n\r\nexport default CourseQuizService;\r\n","/**\r\n * Action Creator definitions\r\n */\r\nimport { addNotification } from \"../../../redux/system/system-action-creators\";\r\nimport ApiService from \"../services/api-service\";\r\nimport CourseQuizService from \"../services/course-quiz-service\";\r\nimport UserCourseService from \"./../../../services/user-course-service\";\r\nimport { ActionTypes } from \"./action-types\";\r\n\r\n// ----------------------------\r\n// Actions\r\n// ----------------------------\r\n\r\nexport const onLoadSection = (courseContentToken, history) => async (\r\n dispatch\r\n) => {\r\n dispatch(loadSectionRequest());\r\n\r\n const userCourseService = UserCourseService();\r\n\r\n await userCourseService\r\n .getCourseDetailsAndStatus(courseContentToken)\r\n .then(async (resp) => {\r\n const { id, status } = resp.data;\r\n\r\n // Redirect logic see #feature-354\r\n if (\r\n status.hasCompleted &&\r\n !status.thirdPartyFormCompleted &&\r\n !status.courseExpired\r\n ) {\r\n history.push(`/third-party-form/${courseContentToken}`);\r\n } else if (status.courseCompleted) {\r\n history.push(`/course-completed/${courseContentToken}`);\r\n } else if (!status.redirectToQuiz && !status.courseExpired) {\r\n history.push(`/course-content/${courseContentToken}`);\r\n // } else if (status.courseCompleted || status.surveyCompleted) {\r\n // history.push(`/your-courses`);\r\n } else if (!status.courseExpired) {\r\n let data = await loadSection(\r\n id,\r\n status.currentSection,\r\n status.currentQuestion,\r\n courseContentToken\r\n );\r\n\r\n const {\r\n courseId,\r\n courseTitle,\r\n sectionCount,\r\n sectionId,\r\n questions,\r\n currentQuestion,\r\n courseGuideUrl,\r\n } = data;\r\n\r\n dispatch(\r\n loadSectionSuccess(\r\n courseId,\r\n courseTitle,\r\n sectionCount,\r\n sectionId,\r\n questions,\r\n currentQuestion,\r\n courseGuideUrl\r\n )\r\n );\r\n } else {\r\n dispatch(\r\n addNotification(\r\n \"Sorry, something went wrong loading your course information. Please try again. If the problem continues, please contact us for assistance.\",\r\n \"error\"\r\n )\r\n );\r\n history.push(\"/your-courses/\");\r\n }\r\n })\r\n .catch((err) => {\r\n dispatch(\r\n addNotification(\r\n \"Sorry, something went wrong loading your course information. Please try again. If the problem continues, please contact us for assistance.\",\r\n \"error\"\r\n )\r\n );\r\n history.push(\"/your-courses/\");\r\n });\r\n};\r\n\r\nconst loadSection = async (\r\n courseId,\r\n sectionId,\r\n currentQuestion,\r\n courseContentToken\r\n) => {\r\n const FINAL_QUIZ_SECTION = 99;\r\n const apiService = ApiService();\r\n\r\n const courseDetailsAndQuestions = await apiService.getCourseDetailsAndQuestions(\r\n courseContentToken\r\n );\r\n\r\n let selectedQuestions = courseDetailsAndQuestions.questions.filter((x) => {\r\n return x.courseId === courseId && x.sectionId === sectionId;\r\n });\r\n\r\n let hasFinalQuizSections = courseDetailsAndQuestions.questions.find(\r\n (x) => x.sectionId === FINAL_QUIZ_SECTION\r\n );\r\n\r\n return {\r\n courseId,\r\n courseTitle: courseDetailsAndQuestions.courseTitle,\r\n sectionCount:\r\n courseDetailsAndQuestions.sectionCount - (hasFinalQuizSections ? 1 : 0),\r\n sectionId,\r\n questions: selectedQuestions,\r\n currentQuestion,\r\n courseGuideUrl: `/Print-Course-Content-Guide/${courseContentToken}`,\r\n };\r\n};\r\n\r\nconst loadSectionRequest = () => ({\r\n type: ActionTypes.COURSE_QUIZ_LOAD_SECTION_REQUEST,\r\n});\r\n\r\nconst loadSectionSuccess = (\r\n courseId,\r\n courseName,\r\n totalSections,\r\n currentSection,\r\n questions,\r\n currentQuestion,\r\n courseGuideUrl\r\n) => ({\r\n type: ActionTypes.COURSE_QUIZ_LOAD_SECTION_SUCCESS,\r\n payload: {\r\n courseId,\r\n courseName,\r\n totalSections,\r\n currentSection,\r\n questions,\r\n currentQuestion,\r\n courseGuideUrl,\r\n },\r\n});\r\n\r\nconst loadSectionFailure = () => ({\r\n type: ActionTypes.COURSE_QUIZ_LOAD_SECTION_FAILURE,\r\n});\r\n\r\nexport const onSubmitAnswer = (\r\n courseContentToken,\r\n courseId,\r\n currentQuestion,\r\n selectedIndex,\r\n selectedDropdownIndexes,\r\n history\r\n) => {\r\n return (dispatch) => {\r\n dispatch(submitAnswerRequest());\r\n\r\n // QuestionType supported: DropDown = 0, MultipleChoice = 1, TrueOrFalse = 2\r\n let isCorrect = false;\r\n\r\n if (currentQuestion.questionType === 0) {\r\n // Dropdown question\r\n isCorrect = currentQuestion.options.every((o) => {\r\n let key = o.title.replace(/\\s/g, \"\");\r\n return o.correctIndex === selectedDropdownIndexes[key];\r\n });\r\n } else {\r\n // Radio button list\r\n isCorrect = currentQuestion.options[0].correctIndex === selectedIndex;\r\n }\r\n\r\n if (!isCorrect) {\r\n dispatch(submitAnswerFailure());\r\n return;\r\n }\r\n\r\n const { questionId, sectionId, questionNo } = currentQuestion;\r\n let payload = { questionId, sectionId, questionNo };\r\n\r\n const courseService = CourseQuizService();\r\n courseService\r\n .updateQuizAnswer(courseContentToken, payload)\r\n .then((resp) => {\r\n handleSubmitAnswerRedirects(\r\n courseId,\r\n courseContentToken,\r\n resp,\r\n dispatch,\r\n history\r\n );\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n dispatch(\r\n addNotification(\"Unable to save quiz answer to server.\", \"error\")\r\n );\r\n });\r\n };\r\n};\r\n\r\nconst handleSubmitAnswerRedirects = async (\r\n courseId,\r\n courseContentToken,\r\n resp,\r\n dispatch,\r\n history\r\n) => {\r\n const {\r\n courseCompleted,\r\n redirectToQuiz,\r\n currentSection,\r\n currentQuestion,\r\n surveyCompleted,\r\n } = resp;\r\n\r\n if (surveyCompleted) {\r\n history.push(`/course-survey/${courseContentToken}`);\r\n } else if (!redirectToQuiz) {\r\n history.push(`/course-content/${courseContentToken}`);\r\n } else if (resp.currentSection === 99) {\r\n // Reload the dataset for section 99 (Final quiz).\r\n let data = await loadSection(\r\n courseId,\r\n currentSection,\r\n currentQuestion,\r\n courseContentToken\r\n );\r\n\r\n dispatch(\r\n loadSectionSuccess(\r\n data.courseId,\r\n data.courseTitle,\r\n data.sectionCount,\r\n data.sectionId,\r\n data.questions,\r\n data.currentQuestion,\r\n data.courseGuideUrl\r\n )\r\n );\r\n }\r\n\r\n dispatch(submitAnswerSuccess(resp));\r\n};\r\n\r\nconst submitAnswerRequest = () => ({\r\n type: ActionTypes.COURSE_QUIZ_SUBMIT_ANSWER_REQUEST,\r\n});\r\n\r\nconst submitAnswerSuccess = (data) => ({\r\n type: ActionTypes.COURSE_QUIZ_SUBMIT_ANSWER_SUCCESS,\r\n payload: data,\r\n});\r\n\r\nconst submitAnswerFailure = () => ({\r\n type: ActionTypes.COURSE_QUIZ_SUBMIT_ANSWER_FAILURE,\r\n});\r\n\r\nexport const onQuizInputChange = (selectedIndex) => {\r\n return (dispatch) => {\r\n dispatch({\r\n type: ActionTypes.COURSE_QUIZ_CHANGE_SELECTED_ANSWER,\r\n payload: {\r\n selectedIndex: selectedIndex,\r\n },\r\n });\r\n };\r\n};\r\n\r\nexport const onQuizDropdownInputChange = (selectedObject) => {\r\n return (dispatch) => {\r\n dispatch({\r\n type: ActionTypes.COURSE_QUIZ_DROPDOWN_CHANGE_SELECTED_ANSWER,\r\n payload: {\r\n selectedObject: selectedObject,\r\n },\r\n });\r\n };\r\n};\r\n\r\nexport const onRedirectToCourseContent = (courseContentToken, history) => {\r\n return (dispatch) => {\r\n dispatch({\r\n type: ActionTypes.COURSE_QUIZ_ALLOW_REDIRECT_TO_COURSE_CONTENT,\r\n });\r\n\r\n history.push(`/course-content/${courseContentToken}`);\r\n };\r\n};\r\n","import { connect } from \"react-redux\";\r\nimport CourseQuiz from \"./Course-Quiz\";\r\nimport { selectCourseQuiz } from \"./redux/reducer\";\r\nimport * as actionCreators from \"./redux/action-creators\";\r\nimport isObject from \"lodash/isObject\";\r\n\r\nfunction mapStateToProps(state) {\r\n const courseQuiz = selectCourseQuiz(state);\r\n\r\n return {\r\n courseQuiz: courseQuiz\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => ({\r\n onQuizInputChange: selectedIndex => {\r\n if (!isObject(selectedIndex))\r\n dispatch(actionCreators.onQuizInputChange(selectedIndex));\r\n else dispatch(actionCreators.onQuizDropdownInputChange(selectedIndex));\r\n },\r\n onRedirectToContent: courseContentToken => {\r\n dispatch(\r\n actionCreators.onRedirectToCourseContent(\r\n courseContentToken,\r\n ownProps.history\r\n )\r\n );\r\n },\r\n dispatch: dispatch,\r\n history: ownProps.history,\r\n match: ownProps.match\r\n});\r\n\r\nconst mergeFormProps = (stateProps, dispatchProps) => ({\r\n ...stateProps,\r\n ...dispatchProps,\r\n onLoadSection: courseContentToken => {\r\n dispatchProps.dispatch(\r\n actionCreators.onLoadSection(courseContentToken, dispatchProps.history)\r\n );\r\n },\r\n onSubmitAnswer: courseContentToken => {\r\n dispatchProps.dispatch(\r\n actionCreators.onSubmitAnswer(\r\n courseContentToken,\r\n stateProps.courseQuiz.courseId,\r\n stateProps.courseQuiz.currentQuestion,\r\n stateProps.courseQuiz.selectedIndex,\r\n stateProps.courseQuiz.selectedDropdownIndexes,\r\n dispatchProps.history\r\n )\r\n );\r\n }\r\n});\r\n\r\nconst CourseQuizContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n mergeFormProps\r\n)(CourseQuiz);\r\n\r\nexport default CourseQuizContainer;\r\n","import React from \"react\";\r\nimport LinkButton from \"components/link-button/link-button\";\r\nimport WhyTrainWithUsPoints from \"features/why-train-with-us-points/why-train-with-us-points\";\r\nimport ContentSection from \"components/Common/content-section\";\r\n\r\nexport const aboutPages = [\r\n {\r\n pageName: \"about-train-to-gain\",\r\n title:\r\n \"Food Safety Training with Train to Gain Pty Ltd T/A Food Safety Education\",\r\n description: \"\",\r\n noContentSection: true,\r\n content: (\r\n
\r\n \r\n
\r\n

\r\n Food Safety Training with Train to Gain Pty Ltd T/A Food Safety\r\n Education\r\n

\r\n

\r\n Train to Gain Pty Ltd T/A Food Safety Education is a Nationally\r\n Accredited Registered Training Organisation (RTO provider #\r\n 22361). We have over 30 years of Hospitality and Retail experience\r\n and are 100% Aussie trained and owned.\r\n

\r\n

\r\n

\r\n Our mission is to make your training experience as convenient and\r\n straightforward as possible! Our Food Safety training covers\r\n industries, in the Child Care, Aged Care, Hospitality and Retail\r\n sector. This can all be achieved with the convenience and comfort\r\n of completing your training in your own home or workplace, 100%\r\n online.\r\n

\r\n

\r\n We have scrubbed floors, shaken margaritas and flipped burgers! So\r\n we understand how time poor one can be in the food service\r\n industry. This is why we moved our face to face training model to\r\n online training so that we can provide accredited training to\r\n personnel like you, anywhere, anytime!\r\n

\r\n

\r\n We are a preferred registered training provider with companies\r\n such as Nando's, Mission Australia, Crust Pizza, United\r\n Petroleum, Sodexo, Costco and Spud Bar just to name a few.\r\n

\r\n\r\n

\r\n \r\n

\r\n

\r\n \r\n Click here to see our Accreditation to Provide Food Safety\r\n Training\r\n \r\n

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

So Why Train With Us?

\r\n \r\n
\r\n
\r\n
\r\n ),\r\n },\r\n];\r\n","import React from \"react\";\r\nimport { aboutPages } from \"./about-us-page-content\";\r\n\r\nexport const publicPages = [\r\n {\r\n pageName: \"not-found\",\r\n title: \"Page Not Found\",\r\n description: \"\",\r\n content: (\r\n <>\r\n

\r\n Food Safety Training with Train to Gain Pty Ltd T/A Food Safety\r\n Education\r\n

\r\n \r\n ),\r\n },\r\n ...aboutPages,\r\n];\r\n","import { publicPages } from \"constants/public-content/index\";\r\n\r\nconst ContentService = () => {\r\n const getContentPage = (pageName, returnUndefinedIfNotFound = false) => {\r\n let page = publicPages.filter((page) => page.pageName === pageName);\r\n\r\n if (returnUndefinedIfNotFound && page.length === 0) return undefined;\r\n\r\n if (page.length === 0)\r\n page = publicPages.filter((page) => page.pageName === \"not-found\");\r\n\r\n return page[0];\r\n };\r\n\r\n return { getContentPage };\r\n};\r\n\r\nexport default ContentService;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport ContentSection from \"components/Common/content-section\";\r\nimport PageTagging from \"components/Common/page-tagging/page-tagging\";\r\nimport ContentService from \"services/content-service\";\r\n\r\nconst ContentPage = () => {\r\n const location = useLocation();\r\n const [page, setPage] = useState(null);\r\n\r\n useEffect(() => {\r\n const pageName = location.pathname\r\n .replace(new RegExp(\"^[/]+\"), \"\")\r\n .replace(new RegExp(\"[/]+$\"), \"\")\r\n .toLowerCase();\r\n\r\n setPage(ContentService().getContentPage(pageName));\r\n\r\n return () => {\r\n setPage(null);\r\n };\r\n }, [location]);\r\n\r\n return (\r\n <>\r\n {page !== null && (\r\n <>\r\n \r\n {!page.noContentSection && (\r\n \r\n
{page.content}
\r\n \r\n )}\r\n {page.noContentSection && page.content}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default ContentPage;\r\n","import React from \"react\";\r\nimport ContentSection from \"components/Common/content-section\";\r\nimport SelectACourse from \"features/select-a-course/select-a-course\";\r\nimport WhyTrainWithUsPoints from \"features/why-train-with-us-points/why-train-with-us-points\";\r\nimport \"./certificates.scss\";\r\nimport PageTagging from \"components/Common/page-tagging/page-tagging\";\r\n\r\nconst Certificates = () => {\r\n return (\r\n <>\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n

So Why Train With Us?

\r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Certificates;\r\n","import React from \"react\";\r\nimport { Row, Col, Form, FormGroup } from \"reactstrap\";\r\nimport InputField from \"../Common/Fields/Input-Field\";\r\nimport ButtonFx from \"../Common/Button-Fx/Button-Fx\";\r\nimport {\r\n required,\r\n email,\r\n strongPassword,\r\n} from \"../Common/Fields/Validators/Field-Validators\";\r\nimport \"./register-box.scss\";\r\nimport KeyboardEventHandler from \"react-keyboard-event-handler\";\r\nimport formHandler from \"./../Common/Fields/form-handler\";\r\n\r\n// Complex validators\r\nconst validateEmailField = (val) => {\r\n if (required(\"Email\", val)) return required(\"Email\", val);\r\n if (email(val)) return email(val);\r\n\r\n return false;\r\n};\r\n\r\nconst validatePasswordField = (val) => {\r\n if (required(\"Password\", val)) return required(\"Password\", val);\r\n if (strongPassword(val)) return strongPassword(val);\r\n\r\n return false;\r\n};\r\n\r\nconst validateConfirmPasswordField = (password, confirmPwd) => {\r\n if (required(\"Confirm Password\", confirmPwd))\r\n return required(\"Confirm Password\", confirmPwd);\r\n if (password !== confirmPwd) return \"Your passwords do not match.\";\r\n\r\n return false;\r\n};\r\n\r\nconst validateConfirmEmailField = (email, confirmEmail) => {\r\n if (required(\"Confirm Email\", confirmEmail))\r\n return required(\"Confirm Email\", confirmEmail);\r\n if (email !== confirmEmail) return \"Your email addresses do not match.\";\r\n\r\n return false;\r\n};\r\n\r\n//\r\n// Presentation Component\r\n//\r\nconst RegisterBox = (props) => {\r\n const {\r\n firstName,\r\n lastName,\r\n email,\r\n confirmEmail,\r\n password,\r\n confirmPassword,\r\n } = props.registerBox.fields;\r\n const {\r\n courseId,\r\n registerType,\r\n onRegister,\r\n onInputChange,\r\n onFieldError,\r\n isLoading,\r\n noLastName,\r\n toggleNoLastName,\r\n } = props;\r\n\r\n const form = formHandler();\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n required(\"First name\", val)}\r\n onFieldError={onFieldError}\r\n onChange={onInputChange}\r\n ref={form.add}\r\n />\r\n \r\n \r\n {!noLastName && (\r\n \r\n \r\n required(\"Last name\", val)}\r\n onFieldError={onFieldError}\r\n onChange={onInputChange}\r\n ref={form.add}\r\n />\r\n \r\n \r\n NO SURNAME, CLICK HERE\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n validateEmailField(val)}\r\n onFieldError={onFieldError}\r\n onChange={onInputChange}\r\n ref={form.add}\r\n />\r\n \r\n \r\n validateConfirmEmailField(email, val)}\r\n onFieldError={onFieldError}\r\n onChange={onInputChange}\r\n ref={form.add}\r\n />\r\n \r\n \r\n validatePasswordField(val)}\r\n onFieldError={onFieldError}\r\n onChange={onInputChange}\r\n ref={form.add}\r\n />\r\n \r\n \r\n validateConfirmPasswordField(password, val)}\r\n onFieldError={onFieldError}\r\n onChange={onInputChange}\r\n ref={form.add}\r\n />\r\n \r\n \r\n \r\n form.validate({\r\n validFn: () => onRegister(courseId, registerType),\r\n invalidFn: () => console.log(form.getFieldErrors()),\r\n })\r\n }\r\n >\r\n Continue\r\n \r\n \r\n \r\n form.validate({ validFn: () => onRegister(courseId, registerType) })\r\n }\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default RegisterBox;\r\n","/**\r\n * Register API service\r\n */\r\nimport HttpClient from \"../../coreLib/http/httpClient\";\r\n\r\nconst RegisterService = () => {\r\n let httpClient = HttpClient();\r\n\r\n const registerUser = (data, registerType) => {\r\n let payload = {\r\n ...data,\r\n isCorporate: registerType === \"corporate\"\r\n };\r\n\r\n return httpClient.post(\"/v1/accounts\", payload);\r\n };\r\n\r\n return {\r\n registerUser\r\n };\r\n};\r\n\r\nexport default RegisterService;\r\n","/**\r\n * Action Creator definitions\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\nimport {\r\n addNotification,\r\n onLoginSuccess,\r\n} from \"../../../redux/system/system-action-creators\";\r\nimport RegisterService from \"../Register-Service\";\r\nimport Auth from \"../../../coreLib/auth/auth\";\r\nimport UserIdentity from \"./../../../coreLib/auth/userIdentity\";\r\n\r\n// =================\r\n// Register\r\n// =================\r\n\r\n// Async\r\nexport const onRegister = (fields, courseId, registerType, history) => {\r\n return (dispatch) => {\r\n const registerService = RegisterService();\r\n dispatch(onRegisterRequest());\r\n\r\n if (fields.lastName === \"\") fields.lastName = fields.firstName;\r\n\r\n registerService\r\n .registerUser(fields, registerType)\r\n .then((resp) => {\r\n dispatch(onRegisterSuccess(resp));\r\n\r\n Auth.setToken(\r\n resp.data.access_token,\r\n resp.data.refresh_token,\r\n resp.data.expires_in\r\n );\r\n\r\n let userIdentity = UserIdentity();\r\n const user = {\r\n // Todo: implement id fetching here\r\n firstName: userIdentity.getFirstName(),\r\n lastName: userIdentity.getLastName(),\r\n userType: userIdentity.userType(),\r\n };\r\n dispatch(onLoginSuccess(user));\r\n\r\n // Redirect\r\n if (registerType === \"student\") {\r\n history.push(`/course-enrolment/${courseId}/step-1/`);\r\n } else {\r\n history.push(\"/Corporate/Purchase-Vouchers/\");\r\n }\r\n })\r\n .catch((err) => {\r\n // Todo: Implement generic error handler in the web template - rcnet\r\n let error = err.response.data && err.response.data.Message;\r\n dispatch(onRegisterFailure());\r\n dispatch(addNotification(error, \"error\"));\r\n });\r\n };\r\n};\r\n\r\nconst onRegisterRequest = () => ({\r\n type: ActionTypes.REGISTER_BOX_REGISTER_REQUEST,\r\n});\r\nconst onRegisterSuccess = () => ({\r\n type: ActionTypes.REGISTER_BOX_REGISTER_SUCCESS,\r\n});\r\nconst onRegisterFailure = () => ({\r\n type: ActionTypes.REGISTER_BOX_REGISTER_FAILURE,\r\n});\r\n\r\nexport const toggleNoLastName = () => {\r\n return (dispatch) =>\r\n dispatch({\r\n type: ActionTypes.REGISTER_BOX_FORM_NO_LAST_NAME,\r\n });\r\n};\r\n\r\n// ----------------------------\r\n// Form Actions\r\n// ----------------------------\r\n\r\nexport const formInputChange = (name, value, error) => ({\r\n type: ActionTypes.REGISTER_BOX_FORM_INPUT_CHANGE,\r\n payload: {\r\n name: name,\r\n value: value,\r\n error: error,\r\n },\r\n});\r\n","import { connect } from \"react-redux\";\r\nimport RegisterBox from \"./Register-Box\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { selectRegisterBox } from \"./redux/reducer\";\r\nimport { onRegister } from \"./redux/action-creators\";\r\nimport * as actionCreators from \"./redux/action-creators\";\r\nimport { addNotification } from \"../../redux/system/system-action-creators\";\r\n\r\nfunction mapStateToProps(state) {\r\n const registerBox = selectRegisterBox(state);\r\n\r\n return {\r\n registerBox: registerBox,\r\n isLoading: registerBox.isLoading,\r\n noLastName: registerBox.noLastName,\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => ({\r\n onInputChange: ({ name, value, error }) => {\r\n dispatch(actionCreators.formInputChange(name, value, error));\r\n },\r\n onFieldError: (error) => dispatch(addNotification(error, \"Error\")),\r\n toggleNoLastName: () => dispatch(actionCreators.toggleNoLastName()),\r\n dispatch: dispatch,\r\n history: ownProps.history,\r\n courseId: ownProps.courseId,\r\n registerType: ownProps.registerType,\r\n});\r\n\r\nconst mergeFormProps = (stateProps, dispatchProps) => ({\r\n ...stateProps,\r\n ...dispatchProps,\r\n onRegister: (courseId, registerType) => {\r\n if (validate(stateProps.registerBox)) return;\r\n dispatchProps.dispatch(\r\n onRegister(\r\n stateProps.registerBox.fields,\r\n courseId,\r\n registerType,\r\n dispatchProps.history\r\n )\r\n );\r\n },\r\n validate: () => {\r\n return validate(stateProps.registerBox);\r\n },\r\n});\r\n\r\nconst validate = (stateProps) => {\r\n const fields = stateProps.fields;\r\n const fieldErrors = stateProps.fieldErrors;\r\n const errMessages = Object.keys(fieldErrors).filter((k) => fieldErrors[k]);\r\n const fieldsToCheck = stateProps.noLastName\r\n ? [\"firstName\", \"email\", \"confirmEmail\", \"password\", \"confirmPassword\"]\r\n : [\r\n \"firstName\",\r\n \"lastName\",\r\n \"email\",\r\n \"confirmEmail\",\r\n \"password\",\r\n \"confirmPassword\",\r\n ];\r\n\r\n for (var fld in fieldsToCheck) {\r\n if (!fields[fieldsToCheck[fld]]) return true;\r\n }\r\n\r\n if (!stateProps.noLastName && errMessages.length > 0) return true;\r\n else if (stateProps.noLastName && errMessages.length > 1) return true;\r\n\r\n return false;\r\n};\r\n\r\nconst RegisterBoxContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n mergeFormProps\r\n)(RegisterBox);\r\n\r\nexport default withRouter(RegisterBoxContainer);\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport { connect } from \"react-redux\";\r\nimport { Col, Row } from \"reactstrap\";\r\nimport ContentSection from \"components/Common/content-section\";\r\nimport PageTagging from \"components/Common/page-tagging/page-tagging\";\r\nimport RegisterBoxContainer from \"components/Register-Box/Register-Box.Container\";\r\nimport CourseService from \"services/course-service\";\r\nimport { selectCertificateRegister } from \"./redux/reducer\";\r\nimport * as actionCreators from \"./redux/action-creators\";\r\nimport \"./certificate-register.scss\";\r\n\r\nconst CertificateRegisterView = () => {\r\n const { courseId } = useParams();\r\n\r\n const courseService = CourseService();\r\n const [course, setCourse] = useState(null);\r\n\r\n useEffect(() => {\r\n const course = courseService.getCourse(courseId);\r\n setCourse(course);\r\n }, [courseService, courseId]);\r\n\r\n return (\r\n <>\r\n {course && (\r\n <>\r\n \r\n \r\n
\r\n

Let’s Get Started!

\r\n

{course.courseTitle}

\r\n
${course.courseCost}.00
\r\n {course.validStates && (\r\n

{course.validStates}

\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\nfunction mapStateToProps(state) {\r\n const certificateRegister = selectCertificateRegister(state);\r\n\r\n return {\r\n certificateRegister: certificateRegister,\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => ({\r\n onInputChange: ({ name, value, error }) => {\r\n dispatch(actionCreators.formInputChange(name, value, error));\r\n },\r\n dispatch: dispatch,\r\n history: ownProps.history,\r\n});\r\n\r\nconst CertificateRegister = connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(CertificateRegisterView);\r\n\r\nexport default CertificateRegister;\r\n","/**\r\n * Action Creator definitions\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\n//import { addNotification } from \"../../../redux/system/system-action-creators\";\r\n\r\n// ----------------------------\r\n// Actions\r\n// ----------------------------\r\n\r\n// export const toggleIsAwesome = () => {\r\n// return dispatch => {\r\n// dispatch(toggleIsAwesomeRequest());\r\n\r\n// let random = Math.floor(Math.random() * 10 + 1);\r\n// const success = random >= 5;\r\n\r\n// if (success) {\r\n// dispatch(toggleIsAwesomeSuccess());\r\n// dispatch(addNotification(\"Success!!\"));\r\n// } else {\r\n// dispatch(toggleIsAwesomeFailure());\r\n// dispatch(addNotification(\"Failure!!\", \"error\")); // error or warning\r\n// }\r\n// };\r\n// };\r\n\r\n// const toggleIsAwesomeRequest = () => ({\r\n// type: ActionTypes.CERTIFICATE_REGISTER_TOGGLE_IS_AWESOME_REQUEST\r\n// });\r\n// const toggleIsAwesomeSuccess = () => ({\r\n// type: ActionTypes.CERTIFICATE_REGISTER_TOGGLE_IS_AWESOME_SUCCESS\r\n// });\r\n// const toggleIsAwesomeFailure = () => ({\r\n// type: ActionTypes.CERTIFICATE_REGISTER_TOGGLE_IS_AWESOME_FAILURE\r\n// });\r\n\r\n// // Async\r\n// export const toggleIsAwesome = data => {\r\n// return dispatch => {\r\n// const myService = MyService();\r\n\r\n// dispatch(toggleIsAwesomeRequest());\r\n\r\n// myService.doSomething(data).then(resp => {\r\n// dispatch(toggleIsAwesomeSuccess(resp));\r\n// });\r\n// };\r\n// };\r\n\r\n// const toggleIsAwesomeRequest = () => ({\r\n// type: ActionTypes.CERTIFICATE_REGISTER_TOGGLE_IS_AWESOME_REQUEST\r\n// });\r\n// const toggleIsAwesomeSuccess = data => ({\r\n// type: ActionTypes.CERTIFICATE_REGISTER_TOGGLE_IS_AWESOME_SUCCESS,\r\n// payload: data\r\n// });\r\n// const toggleIsAwesomeFailure = () => ({\r\n// type: ActionTypes.CERTIFICATE_REGISTER_TOGGLE_IS_AWESOME_FAILURE\r\n// });\r\n\r\n// ----------------------------\r\n// Form Actions\r\n// ----------------------------\r\n\r\nexport const formInputChange = (name, value, error) => ({\r\n type: ActionTypes.CERTIFICATE_REGISTER_FORM_INPUT_CHANGE,\r\n payload: {\r\n name: name,\r\n value: value,\r\n error: error\r\n }\r\n});\r\n","import React, { Component } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Table } from \"reactstrap\";\r\nimport DateService from \"../../services/date-service\";\r\nimport CourseService from \"../../services/course-service\";\r\nimport \"./your-courses.scss\";\r\nimport BlockUiFx from \"../../components/Common/Block-Ui-Fx/Block-Ui-Fx\";\r\n\r\nclass YourCourses extends Component {\r\n getCourseActionButtons = (\r\n course,\r\n downloadCertificate,\r\n downloadThirdPartyForm,\r\n downloadTaxInvoice\r\n ) => {\r\n let buttons = [];\r\n\r\n if (\r\n !course.hasCompleted &&\r\n course.completedEnrolment &&\r\n !course.courseExpired &&\r\n !course.isExternalLearning\r\n ) {\r\n let courseButton = (\r\n \r\n Continue Course\r\n \r\n );\r\n\r\n buttons.push(courseButton);\r\n }\r\n\r\n if (\r\n !course.hasCompleted &&\r\n course.completedEnrolment &&\r\n !course.courseExpired &&\r\n course.isExternalLearning\r\n ) {\r\n let courseButton = (\r\n \r\n Continue Course\r\n \r\n );\r\n\r\n buttons.push(courseButton);\r\n }\r\n\r\n if (!course.completedEnrolment && !course.courseExpired) {\r\n let courseButton = (\r\n \r\n Continue Enrolment\r\n \r\n );\r\n\r\n buttons.push(courseButton);\r\n }\r\n\r\n if (course.hasCertificate) {\r\n let certificateButton = (\r\n downloadCertificate(course.id)}\r\n title=\"Download Certificate\"\r\n rel=\"noopener noreferrer\"\r\n >\r\n Download Certificate\r\n \r\n );\r\n\r\n buttons.push(certificateButton);\r\n\r\n let thirdPartyFormButton = (\r\n downloadThirdPartyForm(course.thirdPartyAccessToken)}\r\n title=\"Download Third Party Form\"\r\n rel=\"noopener noreferrer\"\r\n >\r\n Download Third Party Form\r\n \r\n );\r\n\r\n buttons.push(thirdPartyFormButton);\r\n }\r\n if (\r\n course.completedEnrolment &&\r\n (course.hasCertificate || !course.courseExpired)\r\n ) {\r\n let userCourseToken = course.id;\r\n let courseGuideUrl =\r\n (course.courseId === 6 || course.courseId === 8) &&\r\n course.isExternalLearning\r\n ? `/userfiles/files/food-safety-supervisor-nsw-course-guide.pdf`\r\n : `/Print-Course-Content-Guide/${userCourseToken}`;\r\n\r\n let courseGuideButton = (\r\n \r\n Course Guide\r\n \r\n );\r\n buttons.push(courseGuideButton);\r\n }\r\n\r\n if (\r\n !course.completedThirdParty &&\r\n course.completedEnrolment &&\r\n !course.courseExpired\r\n ) {\r\n let thirdPartyButton = (\r\n \r\n Email Third Party Form\r\n \r\n );\r\n\r\n buttons.push(thirdPartyButton);\r\n }\r\n\r\n if (course.invoiceGuid && course.invoiceGuid != null) {\r\n let invoiceButton = (\r\n downloadTaxInvoice(course.invoiceGuid)}\r\n title=\"Download Tax Invoice\"\r\n rel=\"noopener noreferrer\"\r\n >\r\n Tax Invoice\r\n \r\n );\r\n\r\n buttons.push(invoiceButton);\r\n }\r\n\r\n return buttons;\r\n };\r\n\r\n componentDidMount() {\r\n this.props.loadCourses();\r\n }\r\n\r\n render() {\r\n const { courses, isProcessing } = this.props.yourCourses;\r\n const {\r\n downloadCertificate,\r\n downloadThirdPartyForm,\r\n downloadTaxInvoice,\r\n } = this.props;\r\n const dateService = DateService();\r\n const courseService = CourseService();\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {courses.map((course, i) => {\r\n const courseDetails = courseService.getCourse(course.courseId);\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
CourseEnrolled OnStatus
\r\n {/*
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Course Id{course.id}
Invoice Id{course.invoiceGuid}
\r\n
*/}\r\n \r\n {courseDetails.courseTitle}\r\n {/* ({courseDetails.certificateCodesString}) */}\r\n {(courseDetails.courseId === 6 ||\r\n courseDetails.courseId === 8) &&\r\n course.hasCertificate && (\r\n <>\r\n

\r\n The “Download Certificate” button\r\n below allows you to obtain your Nationally\r\n Accredited Statement of Attainment.\r\n
\r\n
\r\n Your NSW Food Safety Supervisor Certificate\r\n (HARD COPY) will be expressed posted to you\r\n within the next 5-7 days. Please be patient\r\n 😊\r\n

\r\n \r\n )}\r\n
\r\n
\r\n {this.getCourseActionButtons(\r\n course,\r\n downloadCertificate,\r\n downloadThirdPartyForm,\r\n downloadTaxInvoice\r\n )}\r\n
\r\n
\r\n {dateService.formatDateFromString(\r\n course.enrolmentDate,\r\n \"DD/MM/YYYY\"\r\n )}\r\n {course.status}
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default YourCourses;\r\n","/**\r\n * Action Creator definitions\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\nimport { addNotification } from \"../../../redux/system/system-action-creators\";\r\nimport IdentityService from \"../../../coreLib/auth/userIdentity\";\r\nimport HttpService from \"./service\";\r\nimport { saveAs } from \"file-saver\";\r\n\r\n// ----------------------------\r\n// Actions\r\n// ----------------------------\r\n\r\nexport const toggleIsAwesome = () => {\r\n return (dispatch) => {\r\n dispatch(toggleIsAwesomeRequest());\r\n\r\n let random = Math.floor(Math.random() * 10 + 1);\r\n const success = random >= 5;\r\n\r\n if (success) {\r\n dispatch(toggleIsAwesomeSuccess());\r\n dispatch(addNotification(\"Success!!\"));\r\n } else {\r\n dispatch(toggleIsAwesomeFailure());\r\n dispatch(addNotification(\"Failure!!\", \"error\")); // error or warning\r\n }\r\n };\r\n};\r\n\r\nexport const loadCourses = () => (dispatch) => {\r\n let userId = IdentityService().getUserId();\r\n dispatch(loadCoursesRequest());\r\n HttpService()\r\n .getCourses(userId)\r\n .then((resp) => {\r\n dispatch(loadCoursesRequestSuccess(resp.data));\r\n })\r\n .catch((err) => {\r\n dispatch(loadCoursesRequestFailure());\r\n dispatch(\r\n addNotification(\"There was an issue loading your courses.\", \"warning\")\r\n );\r\n });\r\n};\r\n\r\nexport const downloadTaxInvoice = (invoiceId) => (dispatch) => {\r\n dispatch(downloadTaxInvoiceRequest());\r\n HttpService()\r\n .downloadTaxInvoice(invoiceId)\r\n .then((resp) => {\r\n const pdfBlob = new Blob([resp.data], { type: \"application/pdf\" });\r\n saveAs(pdfBlob, \"taxinvoice.pdf\");\r\n dispatch(downloadTaxInvoiceSuccess());\r\n dispatch(addNotification(\"Your tax invoice has been downloaded.\"));\r\n })\r\n .catch(() => {\r\n dispatch(downloadTaxInvoiceFailure());\r\n dispatch(\r\n addNotification(\r\n \"There was an issue downloading your tax invoice.\",\r\n \"warning\"\r\n )\r\n );\r\n });\r\n};\r\n\r\nconst downloadTaxInvoiceRequest = () => ({\r\n type: ActionTypes.YOUR_COURSES_DOWNLOAD_TAX_INVOICE_REQUEST,\r\n});\r\n\r\nconst downloadTaxInvoiceSuccess = (payload) => ({\r\n type: ActionTypes.YOUR_COURSES_DOWNLOAD_TAX_INVOICE_SUCCESS,\r\n});\r\n\r\nconst downloadTaxInvoiceFailure = () => ({\r\n type: ActionTypes.YOUR_COURSES_DOWNLOAD_TAX_INVOICE_FAILURE,\r\n});\r\n\r\nexport const downloadCertificate = (courseId) => (dispatch) => {\r\n dispatch(downloadCertificateRequest());\r\n HttpService()\r\n .downloadCertificate(courseId)\r\n .then((resp) => {\r\n const pdfBlob = new Blob([resp.data], { type: \"application/pdf\" });\r\n saveAs(pdfBlob, \"certificate.pdf\");\r\n dispatch(downloadCertificateSuccess());\r\n dispatch(addNotification(\"Your certificate has been downloaded.\"));\r\n })\r\n .catch(() => {\r\n dispatch(downloadCertificateFailure());\r\n dispatch(\r\n addNotification(\r\n \"There was an issue downloading your certificate.\",\r\n \"warning\"\r\n )\r\n );\r\n });\r\n};\r\n\r\nexport const downloadThirdPartyForm = (courseId) => (dispatch) => {\r\n dispatch(downloadTpfRequest());\r\n HttpService()\r\n .downloadThirdPartyForm(courseId)\r\n .then((resp) => {\r\n const pdfBlob = new Blob([resp.data], { type: \"application/pdf\" });\r\n saveAs(pdfBlob, \"third-party-form.pdf\");\r\n dispatch(downloadTpfSuccess());\r\n dispatch(addNotification(\"Your third party form has been downloaded.\"));\r\n })\r\n .catch(() => {\r\n dispatch(downloadTpfFailure());\r\n dispatch(\r\n addNotification(\r\n \"There was an issue downloading your third party form.\",\r\n \"warning\"\r\n )\r\n );\r\n });\r\n};\r\n\r\nconst downloadCertificateRequest = () => ({\r\n type: ActionTypes.YOUR_COURSES_DOWNLOAD_CERTIFICATE_REQUEST,\r\n});\r\n\r\nconst downloadCertificateSuccess = (payload) => ({\r\n type: ActionTypes.YOUR_COURSES_DOWNLOAD_CERTIFICATE_SUCCESS,\r\n});\r\n\r\nconst downloadCertificateFailure = () => ({\r\n type: ActionTypes.YOUR_COURSES_DOWNLOAD_CERTIFICATE_FAILURE,\r\n});\r\n\r\nconst downloadTpfRequest = () => ({\r\n type: ActionTypes.YOUR_COURSES_DOWNLOAD_TPF_REQUEST,\r\n});\r\n\r\nconst downloadTpfSuccess = (payload) => ({\r\n type: ActionTypes.YOUR_COURSES_DOWNLOAD_TPF_SUCCESS,\r\n});\r\n\r\nconst downloadTpfFailure = () => ({\r\n type: ActionTypes.YOUR_COURSES_DOWNLOAD_TPF_FAILURE,\r\n});\r\n\r\nconst loadCoursesRequest = () => ({\r\n type: ActionTypes.YOUR_COURSES_LOAD_REQUEST,\r\n});\r\n\r\nconst loadCoursesRequestSuccess = (payload) => ({\r\n type: ActionTypes.YOUR_COURSES_LOAD_SUCCESS,\r\n payload,\r\n});\r\n\r\nconst loadCoursesRequestFailure = () => ({\r\n type: ActionTypes.YOUR_COURSES_LOAD_FAILURE,\r\n});\r\n\r\nconst toggleIsAwesomeRequest = () => ({\r\n type: ActionTypes.YOUR_COURSES_TOGGLE_IS_AWESOME_REQUEST,\r\n});\r\nconst toggleIsAwesomeSuccess = () => ({\r\n type: ActionTypes.YOUR_COURSES_TOGGLE_IS_AWESOME_SUCCESS,\r\n});\r\nconst toggleIsAwesomeFailure = () => ({\r\n type: ActionTypes.YOUR_COURSES_TOGGLE_IS_AWESOME_FAILURE,\r\n});\r\n\r\n// // Async\r\n// export const toggleIsAwesome = data => {\r\n// return dispatch => {\r\n// const myService = MyService();\r\n\r\n// dispatch(toggleIsAwesomeRequest());\r\n\r\n// myService.doSomething(data).then(resp => {\r\n// dispatch(toggleIsAwesomeSuccess(resp));\r\n// });\r\n// };\r\n// };\r\n\r\n// const toggleIsAwesomeRequest = () => ({\r\n// type: ActionTypes.YOUR_COURSES_TOGGLE_IS_AWESOME_REQUEST\r\n// });\r\n// const toggleIsAwesomeSuccess = data => ({\r\n// type: ActionTypes.YOUR_COURSES_TOGGLE_IS_AWESOME_SUCCESS,\r\n// payload: data\r\n// });\r\n// const toggleIsAwesomeFailure = () => ({\r\n// type: ActionTypes.YOUR_COURSES_TOGGLE_IS_AWESOME_FAILURE\r\n// });\r\n\r\n// ----------------------------\r\n// Form Actions\r\n// ----------------------------\r\n\r\nexport const formInputChange = (name, value, error) => ({\r\n type: ActionTypes.YOUR_COURSES_FORM_INPUT_CHANGE,\r\n payload: {\r\n name: name,\r\n value: value,\r\n error: error,\r\n },\r\n});\r\n","import { connect } from \"react-redux\";\r\nimport YourCourses from \"./Your-Courses\";\r\nimport { selectYourCourses } from \"../../views/Start/redux/reducer\";\r\nimport * as actionCreators from \"../../views/Start/redux/action-creators\";\r\n\r\nfunction mapStateToProps(state) {\r\n const yourCourses = selectYourCourses(state);\r\n return {\r\n yourCourses: yourCourses,\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => ({\r\n onInputChange: ({ name, value, error }) => {\r\n dispatch(actionCreators.formInputChange(name, value, error));\r\n },\r\n loadCourses: () => {\r\n dispatch(actionCreators.loadCourses());\r\n },\r\n downloadCertificate: (courseId) => {\r\n dispatch(actionCreators.downloadCertificate(courseId));\r\n },\r\n downloadThirdPartyForm: (thirdPartyAccessToken) => {\r\n dispatch(actionCreators.downloadThirdPartyForm(thirdPartyAccessToken));\r\n },\r\n downloadTaxInvoice: (invoiceId) => {\r\n dispatch(actionCreators.downloadTaxInvoice(invoiceId));\r\n },\r\n dispatch: dispatch,\r\n history: ownProps.history,\r\n});\r\n\r\nconst YourCoursesContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(YourCourses);\r\n\r\nexport default YourCoursesContainer;\r\n","import React from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { connect } from \"react-redux\";\r\nimport ContentSection from \"components/Common/content-section\";\r\nimport PageTagging from \"components/Common/page-tagging/page-tagging\";\r\nimport YourCoursesContainer from \"components/Your-Courses/Your-Courses.Container\";\r\n\r\nconst StartView = ({ isProcessing, hasNswCertificate }) => {\r\n return (\r\n <>\r\n \r\n \r\n
\r\n

Your Courses

\r\n {!isProcessing && (\r\n
\r\n \r\n Enrol in a New Course\r\n \r\n\r\n {hasNswCertificate && (\r\n \r\n Order a Duplicate Copy NSW FoodSafety Supervisor Certificate\r\n \r\n )}\r\n
\r\n )}\r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nfunction mapStateToProps(state) {\r\n const stateData = state.yourCourses;\r\n return {\r\n isProcessing: stateData.isProcessing,\r\n hasNswCertificate: stateData.hasNswCertificate,\r\n };\r\n}\r\n\r\nconst Start = connect(mapStateToProps)(StartView);\r\n\r\nexport default Start;\r\n","import React from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { selectCorporateVouchersRegister } from \"./redux/reducer\";\r\nimport * as actionCreators from \"./redux/action-creators\";\r\nimport PageTagging from \"components/Common/page-tagging/page-tagging\";\r\nimport ContentSection from \"components/Common/content-section\";\r\nimport \"./corporate-vouchers-register.scss\";\r\nimport GreenTickBalls from \"features/green-tick-balls/green-tick-balls\";\r\nimport { Col, Row } from \"reactstrap\";\r\nimport RegisterBoxContainer from \"components/Register-Box/Register-Box.Container\";\r\n\r\nconst CorporateVouchersRegisterView = () => {\r\n return (\r\n <>\r\n \r\n \r\n
\r\n

\r\n Simplify Your Food Safety Training by Ordering Your Course Vouchers\r\n Here\r\n

\r\n

\r\n Managing your team’s Food Safety training has never been\r\n easier. Our Business Training Vouchers are designed to take the\r\n hassle out of compliance, offering a streamlined solution for\r\n business owners and managers to ensure their staff is trained and\r\n up-to-date with Food Safety standards.\r\n

\r\n\r\n

\r\n To order course vouchers for your staff, simply\r\n enter your details below to register for access our business portal.\r\n Your vouchers are generated instantly and can be emailed directly to\r\n your staff, allowing them to begin their Food Safety training\r\n immediately!\r\n

\r\n\r\n \r\n \r\n
\r\n Key Benefits of Training With Us\r\n
\r\n \r\n \r\n \r\n
\r\n Register for a Business Account\r\n
\r\n \r\n \r\n
\r\n
\r\n How do my staff access their training?\r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nfunction mapStateToProps(state) {\r\n const corporateVouchersRegister = selectCorporateVouchersRegister(state);\r\n\r\n return {\r\n corporateVouchersRegister: corporateVouchersRegister,\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => ({\r\n onInputChange: ({ name, value, error }) => {\r\n dispatch(actionCreators.formInputChange(name, value, error));\r\n },\r\n dispatch: dispatch,\r\n history: ownProps.history,\r\n});\r\n\r\nconst CorporateVouchersRegister = connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(CorporateVouchersRegisterView);\r\n\r\nexport default CorporateVouchersRegister;\r\n","/**\r\n * Action Creator definitions\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\n//import { addNotification } from \"../../../redux/system/system-action-creators\";\r\n\r\n// ----------------------------\r\n// Actions\r\n// ----------------------------\r\n\r\n// export const toggleIsAwesome = () => {\r\n// return dispatch => {\r\n// dispatch(toggleIsAwesomeRequest());\r\n\r\n// let random = Math.floor(Math.random() * 10 + 1);\r\n// const success = random >= 5;\r\n\r\n// if (success) {\r\n// dispatch(toggleIsAwesomeSuccess());\r\n// dispatch(addNotification(\"Success!!\"));\r\n// } else {\r\n// dispatch(toggleIsAwesomeFailure());\r\n// dispatch(addNotification(\"Failure!!\", \"error\")); // error or warning\r\n// }\r\n// };\r\n// };\r\n\r\n// const toggleIsAwesomeRequest = () => ({\r\n// type: ActionTypes.CORPORATE_VOUCHERS_REGISTER_TOGGLE_IS_AWESOME_REQUEST\r\n// });\r\n// const toggleIsAwesomeSuccess = () => ({\r\n// type: ActionTypes.CORPORATE_VOUCHERS_REGISTER_TOGGLE_IS_AWESOME_SUCCESS\r\n// });\r\n// const toggleIsAwesomeFailure = () => ({\r\n// type: ActionTypes.CORPORATE_VOUCHERS_REGISTER_TOGGLE_IS_AWESOME_FAILURE\r\n// });\r\n\r\n// // Async\r\n// export const toggleIsAwesome = data => {\r\n// return dispatch => {\r\n// const myService = MyService();\r\n\r\n// dispatch(toggleIsAwesomeRequest());\r\n\r\n// myService.doSomething(data).then(resp => {\r\n// dispatch(toggleIsAwesomeSuccess(resp));\r\n// });\r\n// };\r\n// };\r\n\r\n// const toggleIsAwesomeRequest = () => ({\r\n// type: ActionTypes.CORPORATE_VOUCHERS_REGISTER_TOGGLE_IS_AWESOME_REQUEST\r\n// });\r\n// const toggleIsAwesomeSuccess = data => ({\r\n// type: ActionTypes.CORPORATE_VOUCHERS_REGISTER_TOGGLE_IS_AWESOME_SUCCESS,\r\n// payload: data\r\n// });\r\n// const toggleIsAwesomeFailure = () => ({\r\n// type: ActionTypes.CORPORATE_VOUCHERS_REGISTER_TOGGLE_IS_AWESOME_FAILURE\r\n// });\r\n\r\n// ----------------------------\r\n// Form Actions\r\n// ----------------------------\r\n\r\nexport const formInputChange = (name, value, error) => ({\r\n type: ActionTypes.CORPORATE_VOUCHERS_REGISTER_FORM_INPUT_CHANGE,\r\n payload: {\r\n name: name,\r\n value: value,\r\n error: error\r\n }\r\n});\r\n","import React, { Component } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Tooltip } from \"reactstrap\";\r\n\r\nclass ToolTipFx extends Component {\r\n static propTypes = {\r\n placement: PropTypes.string,\r\n target: PropTypes.string\r\n };\r\n\r\n static defaultProps = {\r\n placement: \"auto\"\r\n };\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n tooltipOpen: false\r\n };\r\n }\r\n\r\n toggle = () => {\r\n this.setState({\r\n tooltipOpen: !this.state.tooltipOpen\r\n });\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n {this.props.children}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default ToolTipFx;\r\n","/* eslint-disable react-hooks/exhaustive-deps */\r\nimport React, { useEffect } from \"react\";\r\nimport SignatureCanvas from \"react-signature-canvas\";\r\nimport { Row, Col, Button } from \"reactstrap\";\r\nimport \"./signature-pad.scss\";\r\nimport { PropTypes } from \"prop-types\";\r\nimport ToolTipFx from \"./../tooltip/tool-tip-fx\";\r\n\r\nconst SignaturePad = ({\r\n id,\r\n penColor,\r\n padColor,\r\n onChange,\r\n outputType,\r\n initialValue,\r\n padHeight,\r\n padWidth,\r\n isReadonly,\r\n}) => {\r\n let signatureCanvas = {};\r\n\r\n const clearPad = () => {\r\n signatureCanvas.clear();\r\n onChange(\"\");\r\n };\r\n\r\n const getTrimmedCanvasPad = () => {\r\n return signatureCanvas.getTrimmedCanvas().toDataURL(outputType);\r\n };\r\n\r\n const onEnd = () => {\r\n onChange(getTrimmedCanvasPad());\r\n };\r\n\r\n // useEffect(() => {\r\n // if (initialValue) {\r\n // signatureCanvas.clear();\r\n // signatureCanvas.fromDataURL(initialValue);\r\n // }\r\n\r\n // if (isReadonly && signatureCanvas) signatureCanvas.off();\r\n\r\n // return () => {\r\n // if (signatureCanvas) signatureCanvas.off();\r\n // };\r\n // }, []);\r\n\r\n useEffect(() => {\r\n if (initialValue && signatureCanvas.isEmpty()) {\r\n signatureCanvas.clear();\r\n signatureCanvas.fromDataURL(initialValue);\r\n }\r\n\r\n if (isReadonly && signatureCanvas) signatureCanvas.off();\r\n\r\n return () => {\r\n if (signatureCanvas) signatureCanvas.off();\r\n };\r\n }, [initialValue]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n
\r\n {\r\n signatureCanvas = ref;\r\n }}\r\n />\r\n
\r\n
\r\n \r\n \r\n x\r\n \r\n \r\n Clear\r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default SignaturePad;\r\n\r\nSignaturePad.propTypes = {\r\n id: PropTypes.string,\r\n onChange: PropTypes.func.isRequired,\r\n penColor: PropTypes.string,\r\n padColor: PropTypes.string,\r\n outputType: PropTypes.string,\r\n padHeight: PropTypes.number,\r\n padWidth: PropTypes.number,\r\n};\r\n\r\nSignaturePad.defaultProps = {\r\n id: \"signaturePad1\",\r\n penColor: \"#000\",\r\n padColor: \"#fff\",\r\n outputType: \"image/png\",\r\n padHeight: 150,\r\n padWidth: 300,\r\n};\r\n","/**\r\n * Presentational Component\r\n *\r\n */\r\nimport React from \"react\";\r\nimport { FormGroup, Label, Input } from \"reactstrap\";\r\nimport InputField from \"../../../components/Common/Fields/Input-Field\";\r\nimport RadioButtonList from \"../../../components/Common/Fields/Radio-Button-List\";\r\nimport SignaturePad from \"../../../components/Common/signature-pad/signature-pad\";\r\n\r\nconst AdditionalInfoForm = (props) => {\r\n const {\r\n onInputChange,\r\n additionalComments,\r\n studentPerformanceSatisfactory,\r\n confirmThirdPartyDeclaration,\r\n signature,\r\n } = props;\r\n\r\n return (\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 onInputChange({\r\n name: e.target.name,\r\n value: e.target.checked.toString(),\r\n error: false,\r\n })\r\n }\r\n />\r\n \r\n \r\n {confirmThirdPartyDeclaration === \"true\" && (\r\n \r\n \r\n \r\n onInputChange({\r\n name: \"signature\",\r\n value: value,\r\n error: false,\r\n })\r\n }\r\n />\r\n \r\n )}\r\n\r\n
\r\n You can save your changes at any time, and come back at a later date to\r\n complete this form.\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default AdditionalInfoForm;\r\n","/**\r\n * Presentational component\r\n */\r\nimport React from \"react\";\r\nimport { Button, Form, FormGroup, Label, Row, Col, Input } from \"reactstrap\";\r\nimport InputField from \"./../../../components/Common/Fields/Input-Field\";\r\nimport BlockUiFx from \"./../../../components/Common/Block-Ui-Fx/Block-Ui-Fx\";\r\nimport ButtonFx from \"./../../../components/Common/Button-Fx/Button-Fx\";\r\nimport * as validators from \"../../../components/Common/Fields/Validators/Field-Validators\";\r\n\r\nconst validateEmailField = (val) => {\r\n if (validators.required(\"Email\", val))\r\n return validators.required(\"Email\", val);\r\n if (validators.email(val)) return validators.email(val);\r\n\r\n return false;\r\n};\r\n\r\nconst observerNameValidator = (\r\n fieldName,\r\n value,\r\n observerFirstName,\r\n observerLastName,\r\n studentFirstName,\r\n studentLastName,\r\n userType\r\n) => {\r\n if (userType && userType === 3) return false;\r\n\r\n if (validators.required(fieldName, value))\r\n return validators.required(fieldName, value);\r\n\r\n if (\r\n observerFirstName !== \"\" &&\r\n observerLastName !== \"\" &&\r\n studentFirstName !== \"\" &&\r\n studentLastName !== \"\" &&\r\n observerFirstName.toLowerCase() === studentFirstName.toLowerCase() &&\r\n observerLastName.toLowerCase() === studentLastName.toLowerCase()\r\n ) {\r\n return \"Observer Name - this cannot be your own name - your observer may be contacted for verification\";\r\n }\r\n\r\n return false;\r\n};\r\n\r\nconst ObserverForm = (props) => {\r\n const {\r\n observerFirstName,\r\n observerLastName,\r\n observerEmail,\r\n onInputChange,\r\n onUpdateDetails,\r\n onEmail,\r\n isLoading,\r\n isUpdateButtonLoading,\r\n onFieldError,\r\n form,\r\n isSampleForm,\r\n isLoggedIn,\r\n firstName,\r\n lastName,\r\n userType,\r\n } = props;\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n observerNameValidator(\r\n \"Observer first name\",\r\n val,\r\n val,\r\n observerLastName,\r\n firstName,\r\n lastName,\r\n userType\r\n )\r\n }\r\n onFieldError={onFieldError}\r\n onChange={onInputChange}\r\n ref={form.add}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n observerNameValidator(\r\n \"Observer last name\",\r\n val,\r\n observerFirstName,\r\n val,\r\n firstName,\r\n lastName,\r\n userType\r\n )\r\n }\r\n onFieldError={onFieldError}\r\n onChange={onInputChange}\r\n ref={form.add}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n validateEmailField(val)}\r\n onFieldError={onFieldError}\r\n className=\"mxw-400\"\r\n ref={form.add}\r\n />\r\n \r\n {!isSampleForm && isLoggedIn && (\r\n \r\n \r\n form.validate({\r\n validFn: () => onUpdateDetails(),\r\n })\r\n }\r\n disabled={isUpdateButtonLoading}\r\n >\r\n Update Details\r\n \r\n \r\n form.validate({\r\n validFn: () => onEmail(),\r\n })\r\n }\r\n disabled={isUpdateButtonLoading}\r\n >\r\n Email this form to your Observer\r\n \r\n \r\n )}\r\n {isSampleForm && (\r\n \r\n alert(\"This is just a sample form.\")}\r\n disabled={isUpdateButtonLoading}\r\n >\r\n Update Details\r\n \r\n alert(\"This is just a sample form.\")}\r\n disabled={isUpdateButtonLoading}\r\n >\r\n Email this form to your Observer\r\n \r\n \r\n )}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default ObserverForm;\r\n","/**\r\n * Confirm Modal\r\n * Another flavor of Modal dialog\r\n *\r\n * Propeties exposed:\r\n * - title\r\n * - isModalOpen\r\n * - onToggle\r\n *\r\n * Requires to pass objectTag value (id, object to delete etc.)\r\n */\r\nimport React from \"react\";\r\nimport BasicModal from \"./../Basic-Modal/Basic-Modal\";\r\n\r\nconst ConfirmModal = (props) => (\r\n props.onToggle({ type: evt, objectTag: props.objectTag })}\r\n okButtonText={\"Yes\"}\r\n cancelButtonText={\"No\"}\r\n >\r\n {props.children}\r\n \r\n);\r\n\r\nexport default ConfirmModal;\r\n","/**\r\n * Confirm Email Sending\r\n */\r\nimport React from \"react\";\r\nimport ConfirmModal from \"../../../components/Common/Confirm-Modal/Confirm-Modal\";\r\n\r\nconst ConfirmEmailFormSending = (props) => {\r\n return (\r\n \r\n An email will be sent to your observer requesting they complete your third\r\n party form. Are you ready to send it now?\r\n \r\n );\r\n};\r\n\r\nexport default ConfirmEmailFormSending;\r\n","import React from \"react\";\r\nimport BasicModal from \"./../../../components/Common/Basic-Modal/Basic-Modal\";\r\n\r\nconst MessageDialog = props => {\r\n return (\r\n \r\n props.onMessageToggle({ type: evt, objectTag: props.objectTag })\r\n }\r\n okButtonText={\"Ok\"}\r\n showCancel={false}\r\n >\r\n {props.showMessageDialogMessage}\r\n \r\n );\r\n};\r\n\r\nexport default MessageDialog;\r\n","import React, { Component } from \"react\";\r\nimport { Form, FormGroup } from \"reactstrap\";\r\nimport PageTitle from \"../../components/Common/Page-Title/Page-Title\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport InputField from \"../../components/Common/Fields/Input-Field\";\r\nimport RadioButtonList from \"../../components/Common/Fields/Radio-Button-List\";\r\nimport ContentSection from \"components/Common/content-section\";\r\nimport \"./third-party-form.scss\";\r\nimport AdditionalInfoForm from \"./sub-views/additional-info-form\";\r\nimport ObserverForm from \"./sub-views/observer-form\";\r\nimport ConfirmEmailFormSending from \"./confirm-dialog/Confirm-Email-Form-Sending\";\r\nimport MessageDialog from \"./message-dialog/Message-Dialog\";\r\nimport ButtonFx from \"./../../components/Common/Button-Fx/Button-Fx\";\r\nimport BlockUiFx from \"./../../components/Common/Block-Ui-Fx/Block-Ui-Fx\";\r\nimport formHandler from \"./../../components/Common/Fields/form-handler\";\r\nimport KeyboardEventHandler from \"react-keyboard-event-handler\";\r\nimport Auth from \"../../coreLib/auth/auth\";\r\n\r\nclass ThirdPartyForm extends Component {\r\n form = formHandler();\r\n\r\n componentDidMount() {\r\n const { match, onLoadForm, onLoadSampleForm } = this.props;\r\n\r\n if (match.params.userCourseId.toLowerCase() === \"sample\")\r\n onLoadSampleForm(2);\r\n else if (match.params.userCourseId.toLowerCase().startsWith(\"sample-\")) {\r\n onLoadSampleForm(\r\n parseInt(match.params.userCourseId.toLowerCase().replace(\"sample-\", \"\"))\r\n );\r\n } else onLoadForm(match.params.userCourseId);\r\n }\r\n\r\n getUnitsOfCompetency = (certificateCodes, unitOfCompetencies) => {\r\n let units = [];\r\n\r\n for (let i = 0; i < certificateCodes.length; i++) {\r\n units.push(\r\n \r\n {certificateCodes[i]} - {unitOfCompetencies[i]}\r\n \r\n );\r\n }\r\n\r\n return units;\r\n };\r\n\r\n getTaskItems = (tasks, fieldResponses) => {\r\n const getData = (id) => {\r\n return fieldResponses[id] != null ? fieldResponses[id] : undefined;\r\n };\r\n\r\n return tasks.map((task, i) => (\r\n \r\n {task.task}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ));\r\n };\r\n\r\n getTasksTable = (tasks, fieldResponses) => {\r\n let taskGroups = Array.from(\r\n new Set(\r\n tasks.map((x) => {\r\n return x.taskGroup;\r\n })\r\n )\r\n );\r\n\r\n return taskGroups.map((taskGroup, i) => (\r\n \r\n {i === 0 && (\r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n {this.getTaskItems(\r\n tasks.filter((x) => x.taskGroup === taskGroup),\r\n fieldResponses\r\n )}\r\n \r\n
\r\n Does the student consistently meet workplace standards in the\r\n following task area?\r\n Yes / NoIf No, provide a brief explanationComments (optional)
{taskGroup}
\r\n ));\r\n };\r\n\r\n render() {\r\n const {\r\n courseName,\r\n certificateCodes,\r\n unitOfCompetencies,\r\n studentFirstName,\r\n studentLastName,\r\n tasks,\r\n onInputChange,\r\n onUpdateDetails,\r\n onEmail,\r\n isLoading,\r\n isLoadingObserverSection,\r\n isLoadingObserverButton,\r\n isLoadingForSaveProgress,\r\n isLoadingForSubmit,\r\n saveProgress,\r\n submitForm,\r\n validate,\r\n onFieldError,\r\n isSampleForm,\r\n showForm,\r\n thirdPartyFormAdditionalContent,\r\n thirdPartyFormVersion,\r\n } = this.props;\r\n\r\n const {\r\n observerFirstName,\r\n observerLastName,\r\n observerEmail,\r\n additionalComments,\r\n studentPerformanceSatisfactory,\r\n confirmThirdPartyDeclaration,\r\n signature,\r\n } = this.props.fields;\r\n\r\n const { firstName, lastName, userType } = this.props.loginData.loggedInUser;\r\n\r\n let isLoggedIn = Auth.isAuthenticated();\r\n\r\n if (isLoggedIn === undefined) isLoggedIn = false;\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n

Third Party Form

\r\n
Observer Details
\r\n \r\n
\r\n
\r\n\r\n {showForm && (\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Student Name\r\n {studentFirstName} {studentLastName}\r\n
Course Name{courseName}
\r\n Unit of Competency\r\n {thirdPartyFormAdditionalContent &&\r\n thirdPartyFormVersion > 1 &&\r\n thirdPartyFormAdditionalContent.unitsOfCompetencyLabel && (\r\n
\r\n {\r\n thirdPartyFormAdditionalContent.unitsOfCompetencyLabel\r\n }\r\n
\r\n )}\r\n
\r\n {this.getUnitsOfCompetency(\r\n certificateCodes,\r\n unitOfCompetencies\r\n )}\r\n {thirdPartyFormAdditionalContent &&\r\n thirdPartyFormVersion > 1 &&\r\n thirdPartyFormAdditionalContent.unitsOfCompetencyAdditionalPoints && (\r\n
    \r\n {thirdPartyFormAdditionalContent.unitsOfCompetencyAdditionalPoints.map(\r\n (point, i) => (\r\n
  • {point}
  • \r\n )\r\n )}\r\n
\r\n )}\r\n
Who can complete this form?\r\n

\r\n Because we offer online training, we need to prove\r\n your practical skills in Food Safety. We do this\r\n by an online third-party checklist that is emailed\r\n to your nominated observer. We often have students\r\n who are not currently working in the food industry\r\n because they are starting a new food business or\r\n career in the industry, so this observation can be\r\n completed in an industry - realistic simulated\r\n environment.\r\n

\r\n

\r\n If the student is the owner/CEO/most senior person\r\n in the organisation, then an appropriately\r\n experienced colleague can complete the report, if\r\n they have the relevant experience and knowledge to\r\n competently observe the student completing the\r\n tasks and make the correct decisions based on the\r\n student’s performance. Your observer can be:\r\n

\r\n

Your observer can be:

\r\n
    \r\n
  • \r\n Past or Present Supervisor/Employer/Manager\r\n
  • \r\n
  • \r\n Past or Present Volunteer Supervisor/Manager\r\n
  • \r\n
\r\n
Third Party Evidence Report Purpose\r\n In order to make a judgement about the\r\n student’s ability to complete this course, we\r\n are required to collect evidence from a variety of\r\n methods and over a period of time. We seek your\r\n support in gathering this supplementary evidence\r\n that contributes towards being able to make a valid\r\n judgement about the student’s abilities in\r\n their practical skills.\r\n
Instructions for the Third Party\r\n

\r\n We recommend that you have a short discussion with\r\n the student before starting the observation tasks,\r\n to ensure you both understand what is required to\r\n demonstrate accurately in the required tasks and\r\n against the criteria. The observer must have\r\n witnessed the student perform the required tasks\r\n at least three times through a variety of methods.\r\n

\r\n

\r\n After observing the student completing the\r\n required tasks, use the criteria checklist to tick\r\n either ‘Yes’ or ‘No’ to\r\n confirm whether the student consistently meets\r\n workplace standards on those areas. If you tick\r\n ‘No’ against a criteria, please\r\n provide immediate feedback to the student to\r\n enable them to demonstrate successfully, either\r\n immediately or during their next observation\r\n session with you. If you believe by the end of the\r\n observation sessions that the student has\r\n demonstrated satisfactorily in each criteria,\r\n please complete and resubmit this supplementary\r\n evidence with ‘Yes’ ticked for each\r\n criteria.\r\n

\r\n
\r\n If you have any questions or concerns in regard to\r\n completing this Third-Party Report, or would like to\r\n gain assistance throughout this procedure, please\r\n contact us on:{\" \"}\r\n 0400 757 645{\" \"}\r\n or email:{\" \"}\r\n \r\n contact@traintogain.com.au\r\n \r\n . We value your contribution as this Third-Party\r\n Form will support other evidence of the\r\n student’s overall understanding in this\r\n course.\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n The following day-to-day tasks were observed by the Third\r\n Party:\r\n
\r\n {this.getTasksTable(tasks, this.props.fields)}\r\n \r\n {!isSampleForm && (\r\n \r\n \r\n this.form.validate({\r\n validFn: () => saveProgress(),\r\n })\r\n }\r\n disabled={isLoadingForSubmit}\r\n >\r\n Save Progress\r\n \r\n \r\n this.form.validate({\r\n validFn: () => submitForm(),\r\n })\r\n }\r\n disabled={isLoadingForSaveProgress}\r\n >\r\n Submit\r\n \r\n \r\n )}\r\n {isSampleForm && (\r\n \r\n alert(\"This is just a sample form.\")}\r\n disabled={isLoadingForSubmit}\r\n >\r\n Save Progress\r\n \r\n alert(\"This is just a sample form.\")}\r\n disabled={isLoadingForSaveProgress}\r\n >\r\n Submit\r\n \r\n \r\n )}\r\n
\r\n
\r\n \r\n this.form.validate({ validFn: () => saveProgress() })\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 ThirdPartyForm;\r\n","/**\r\n * Survey Service\r\n */\r\nimport HttpClient from \"./../../coreLib/http/httpClient\";\r\n\r\nconst ThirdPartyFormService = () => {\r\n let httpClient = HttpClient();\r\n\r\n const getUserCourseIds = (courseContentToken) =>\r\n httpClient.get(`/v1/userCourse/${courseContentToken}/ids`);\r\n\r\n const getStatus = (courseContentToken) =>\r\n httpClient.get(`/v1/userCourse/${courseContentToken}/status`);\r\n\r\n const getThirdPartyForm = (courseContentToken) => {\r\n let promise1 = getUserCourseIds(courseContentToken);\r\n let promise2 = getStatus(courseContentToken);\r\n\r\n let promiseDeferred = new Promise((resolve, reject) => {\r\n //getUserCourseIds(courseContentToken)\r\n Promise.all([promise1, promise2])\r\n .then((resp) => {\r\n // Extract access token\r\n let accessToken = `${courseContentToken.substring(0, 8)}-${\r\n resp[0].data.thirdPartyAccessToken\r\n }`;\r\n\r\n httpClient\r\n .get(`/v1/userCourse/third-party-form/${accessToken}`)\r\n .then((result) => {\r\n resolve({\r\n ...result.data,\r\n courseId: resp[0].data.courseId,\r\n studentFirstName: resp[0].data.firstName,\r\n studentLastName: resp[0].data.lastName,\r\n accessToken,\r\n status: { ...resp[1].data },\r\n isSampleForm: false,\r\n });\r\n })\r\n .catch((e) => reject(e));\r\n })\r\n .catch((err) => reject(err));\r\n });\r\n\r\n return promiseDeferred;\r\n };\r\n\r\n const updateThirdPartyFormObserver = (\r\n accessToken,\r\n data,\r\n sendEmail = false\r\n ) => {\r\n let payload = {\r\n firstName: data.observerFirstName,\r\n lastName: data.observerLastName,\r\n email: data.observerEmail,\r\n sendEmailToObserver: sendEmail,\r\n };\r\n\r\n return httpClient.patch(\r\n `/v1/userCourse/third-party-form/${accessToken}/update-observer`,\r\n payload\r\n );\r\n };\r\n\r\n const saveProgress = (accessToken, payload) =>\r\n httpClient.put(`/v1/userCourse/third-party-form/${accessToken}`, payload);\r\n\r\n return {\r\n getUserCourseIds,\r\n getThirdPartyForm,\r\n updateThirdPartyFormObserver,\r\n saveProgress,\r\n };\r\n};\r\n\r\nexport default ThirdPartyFormService;\r\n","/**\r\n * Action Creator definitions\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\nimport { addNotification } from \"../../../redux/system/system-action-creators\";\r\nimport CourseService from \"../../../services/course-service\";\r\nimport ThirdPartyFormService from \"./../third-party-form-service\";\r\n\r\n// ----------------------------\r\n// Actions\r\n// ----------------------------\r\n\r\nexport const onLoadForm = (courseContentToken, history) => {\r\n return (dispatch) => {\r\n dispatch(LoadFormRequest());\r\n const service = ThirdPartyFormService();\r\n const courseService = CourseService();\r\n\r\n service\r\n .getThirdPartyForm(courseContentToken)\r\n .then((resp) => {\r\n if (resp.status.hasCompleted && resp.status.thirdPartyFormCompleted) {\r\n dispatch(\r\n addNotification(\r\n \"Sorry, this third party form has already been completed.\",\r\n \"error\"\r\n )\r\n );\r\n\r\n history.push(\"/\");\r\n } else if (resp.status.courseExpired) {\r\n dispatch(\r\n addNotification(\r\n \"Sorry, this student's course has expired.\",\r\n \"error\"\r\n )\r\n );\r\n\r\n history.push(\"/\");\r\n } else {\r\n const course = courseService.getCourse(resp.courseId);\r\n const tasks = courseService.getThirdPartyFormTasks(resp.courseId);\r\n\r\n dispatch(\r\n LoadFormSuccess(\r\n course.courseTitle,\r\n course.certificateCodes,\r\n course.unitOfCompetencies,\r\n tasks,\r\n {\r\n thirdPartyFormAdditionalContent:\r\n course.thirdPartyFormAdditionalContent,\r\n ...resp,\r\n }\r\n )\r\n );\r\n }\r\n })\r\n .catch((err) => {\r\n dispatch(LoadFormFailure());\r\n dispatch(\r\n addNotification(\r\n \"Sorry, something went wrong loading your course information. Please try again. If the problem continues, please contact us for assistance.\",\r\n \"error\"\r\n )\r\n );\r\n history.push(\"/your-courses/\");\r\n });\r\n };\r\n};\r\n\r\nexport const onLoadSampleForm = (courseId, history) => {\r\n return (dispatch) => {\r\n dispatch(LoadFormRequest());\r\n const courseService = CourseService();\r\n\r\n let course = courseService.getCourse(courseId);\r\n\r\n if (course == null) {\r\n courseId = 2;\r\n course = courseService.getCourse(courseId);\r\n }\r\n\r\n const tasks = courseService.getThirdPartyFormTasks(courseId);\r\n\r\n dispatch(\r\n LoadFormSuccess(\r\n course.courseTitle,\r\n course.certificateCodes,\r\n course.unitOfCompetencies,\r\n tasks,\r\n {\r\n observerFirstName: \"Sample\",\r\n observerLastName: \"Observer\",\r\n observerEmail: \"sample@observer.com.au\",\r\n studentPerformanceSatisfactory: null,\r\n additionalComments: \"\",\r\n confirmThirdPartyDeclaration: null,\r\n thirdPartyFormAdditionalContent:\r\n course.thirdPartyFormAdditionalContent,\r\n thirdPartyFormVersion: course.currentThirdPartyFormVersion,\r\n signature: \"\",\r\n taskResponses: [],\r\n studentFirstName: \"Sample\",\r\n studentLastName: \"Student\",\r\n isSampleForm: true,\r\n showForm: true,\r\n }\r\n )\r\n );\r\n };\r\n};\r\n\r\nconst LoadFormRequest = () => ({\r\n type: ActionTypes.THIRD_PARTY_FORM_LOAD_FORM_REQUEST,\r\n});\r\n\r\nconst LoadFormSuccess = (\r\n courseName,\r\n certificateCodes,\r\n unitOfCompetencies,\r\n tasks,\r\n thirdPartyFormResponses\r\n) => ({\r\n type: ActionTypes.THIRD_PARTY_FORM_LOAD_FORM_SUCCESS,\r\n payload: {\r\n courseName: courseName,\r\n certificateCodes: certificateCodes,\r\n unitOfCompetencies: unitOfCompetencies,\r\n tasks: tasks,\r\n thirdPartyFormResponses: thirdPartyFormResponses, // server data\r\n },\r\n});\r\n\r\nconst LoadFormFailure = () => ({\r\n type: ActionTypes.THIRD_PARTY_FORM_LOAD_FORM_FAILURE,\r\n});\r\n\r\n// ----------------------------\r\n// Form Actions\r\n// ----------------------------\r\n\r\nexport const formInputChange = (name, value, error) => {\r\n return (dispatch) => {\r\n dispatch({\r\n type: ActionTypes.THIRD_PARTY_FORM_FORM_INPUT_CHANGE,\r\n payload: {\r\n name: name,\r\n value: value,\r\n error: error,\r\n },\r\n });\r\n };\r\n};\r\n\r\n// ------------------------\r\n// Update Third Party Form\r\n// ------------------------\r\n\r\nexport const updateThirdPartyFormObserver = (accessToken, data, history) => {\r\n return (dispatch) => {\r\n dispatch(updateThirdPartyRequest());\r\n const service = ThirdPartyFormService();\r\n\r\n service\r\n .updateThirdPartyFormObserver(accessToken, data)\r\n .then((resp) => {\r\n dispatch(updateThirdPartySuccess());\r\n dispatch(addNotification(\"Successfully saved.\", \"success\"));\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n dispatch(updateThirdPartyFailure());\r\n dispatch(addNotification(\"Unable to save Third Party Form.\", \"error\"));\r\n });\r\n };\r\n};\r\n\r\nconst updateThirdPartyRequest = () => ({\r\n type: ActionTypes.THIRD_PARTY_FORM_OBSERVER_UPDATE_REQUEST,\r\n});\r\n\r\nconst updateThirdPartySuccess = () => ({\r\n type: ActionTypes.THIRD_PARTY_FORM_OBSERVER_UPDATE_SUCCESS,\r\n});\r\n\r\nconst updateThirdPartyFailure = (err) => ({\r\n type: ActionTypes.THIRD_PARTY_FORM_OBSERVER_UPDATE_FAILURE,\r\n payload: {\r\n ...err,\r\n },\r\n});\r\n\r\n// ---------------------\r\n// Send Email Confirm\r\n// ---------------------\r\nexport const showConfirmEmailObserver = () => ({\r\n type: ActionTypes.THIRD_PARTY_SHOW_CONFIRM_EMAIL_OBSERVER,\r\n});\r\n\r\nexport const hideConfirmEmailObserver = () => ({\r\n type: ActionTypes.THIRD_PARTY_HIDE_CONFIRM_EMAIL_OBSERVER,\r\n});\r\n\r\nexport const sendEmailAndUpdateThirdPartyForm = (\r\n accessToken,\r\n data,\r\n history\r\n) => {\r\n return (dispatch) => {\r\n dispatch(sendEmailToObserverRequest());\r\n const service = ThirdPartyFormService();\r\n\r\n service\r\n .updateThirdPartyFormObserver(accessToken, data, true)\r\n .then((resp) => {\r\n dispatch(sendEmailToObserverSuccess());\r\n dispatch(\r\n addNotification(\"Third Party Form successfully sent.\", \"success\")\r\n );\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n dispatch(sendEmailToObserverFailure());\r\n dispatch(\r\n addNotification(\r\n \"Unable to send Third Party Form to Observer.\",\r\n \"error\"\r\n )\r\n );\r\n });\r\n };\r\n};\r\n\r\nconst sendEmailToObserverRequest = () => ({\r\n type: ActionTypes.THIRD_PARTY_SEND_EMAIL_TO_OBSERVER_REQUEST,\r\n});\r\n\r\nconst sendEmailToObserverSuccess = () => ({\r\n type: ActionTypes.THIRD_PARTY_SEND_EMAIL_TO_OBSERVER_SUCCESS,\r\n});\r\n\r\nconst sendEmailToObserverFailure = () => ({\r\n type: ActionTypes.THIRD_PARTY_SEND_EMAIL_TO_OBSERVER_FAILURE,\r\n});\r\n\r\n// --------------------------\r\n// Save Progress\r\n// --------------------------\r\n\r\nexport const saveProgressThirdPartyForm = (\r\n accessToken,\r\n data,\r\n courseId,\r\n thirdPartyFormVersion,\r\n history,\r\n isSubmit = false\r\n) => {\r\n return (dispatch) => {\r\n dispatch(saveProgressThirdPartyFormRequest(isSubmit));\r\n\r\n const service = ThirdPartyFormService();\r\n const courseService = CourseService();\r\n const tasks = courseService\r\n .getThirdPartyFormTasks(courseId)\r\n .filter((x) => x.version === thirdPartyFormVersion);\r\n\r\n const taskResponses = sanitizeTaskReponses(data);\r\n let result = getTasksToSubmit(tasks, taskResponses);\r\n\r\n const {\r\n observerFirstName,\r\n observerLastName,\r\n observerEmail,\r\n studentPerformanceSatisfactory,\r\n additionalComments,\r\n confirmThirdPartyDeclaration,\r\n signature,\r\n } = data;\r\n\r\n let payload = {\r\n observerFirstName,\r\n observerLastName,\r\n observerEmail,\r\n studentPerformanceSatisfactory: studentPerformanceSatisfactory === \"1\",\r\n additionalComments: additionalComments == null ? \"\" : additionalComments,\r\n confirmThirdPartyDeclaration: confirmThirdPartyDeclaration === \"true\",\r\n taskResponses: [...result],\r\n signature: signature,\r\n };\r\n\r\n service\r\n .saveProgress(accessToken, payload)\r\n .then((resp) => {\r\n dispatch(saveProgressThirdPartyFormSuccess(isSubmit));\r\n dispatch(\r\n addNotification(\"Third Party Form successfully saved.\", \"success\")\r\n );\r\n dispatch(showMessageDialog(resp.data.message));\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n dispatch(saveProgressThirdPartyFormFailure());\r\n dispatch(addNotification(\"Unable to save Third Party Form.\", \"error\"));\r\n });\r\n };\r\n};\r\n\r\nconst saveProgressThirdPartyFormRequest = (isSubmitCaller) => ({\r\n type: ActionTypes.THIRD_PARTY_FORM_SAVE_PROGRESS_REQUEST,\r\n payload: {\r\n submitCaller: isSubmitCaller,\r\n },\r\n});\r\n\r\nconst saveProgressThirdPartyFormSuccess = (isSubmitCaller) => ({\r\n type: ActionTypes.THIRD_PARTY_FORM_SAVE_PROGRESS_SUCCESS,\r\n payload: {\r\n submitCaller: isSubmitCaller,\r\n },\r\n});\r\n\r\nconst saveProgressThirdPartyFormFailure = (err, isSubmitCaller) => ({\r\n type: ActionTypes.THIRD_PARTY_FORM_SAVE_PROGRESS_FAILURE,\r\n payload: {\r\n error: err,\r\n submitCaller: isSubmitCaller,\r\n },\r\n});\r\n\r\n// ---------------------\r\n// Show Message Dialog\r\n// ---------------------\r\nexport const showMessageDialog = (message) => ({\r\n type: ActionTypes.THIRD_PARTY_FORM_SHOW_MESSAGE_DIALOG,\r\n payload: message,\r\n});\r\n\r\nexport const hideMessageDialog = () => ({\r\n type: ActionTypes.THIRD_PARTY_FORM_HIDE_MESSAGE_DIALOG,\r\n});\r\n\r\n// ---------------------\r\n// Helper methods\r\n// ---------------------\r\nconst sanitizeTaskReponses = (taskResponses) => {\r\n let aq = Object.keys(taskResponses)\r\n .filter((k) => k.split(\"-\")[0] === \"task\" && k.split(\"-\")[1] !== \"details\")\r\n .map((k) => {\r\n let resp = taskResponses[k] !== null ? taskResponses[k] === \"true\" : null;\r\n return {\r\n taskId: k.split(\"-\")[1],\r\n response: resp,\r\n comments: taskResponses[`task-details-${k.split(\"-\")[1]}`],\r\n };\r\n });\r\n\r\n return aq;\r\n};\r\n\r\nconst getTasksToSubmit = (tasks, taskResponses) => {\r\n let result = tasks.map((o) => {\r\n let qr = taskResponses.find((x) => x.taskId == o.taskId);\r\n let comments = \"\";\r\n if (qr && qr.comments) comments = qr.comments;\r\n\r\n return {\r\n taskId: o.taskId,\r\n response: qr ? qr.response : null,\r\n comments: comments,\r\n };\r\n });\r\n\r\n return result;\r\n};\r\n","import { connect } from \"react-redux\";\r\nimport ThirdPartyForm from \"./Third-Party-Form\";\r\nimport { selectThirdPartyForm } from \"./redux/reducer\";\r\nimport * as actionCreators from \"./redux/action-creators\";\r\nimport { addNotification } from \"./../../redux/system/system-action-creators\";\r\nimport { selectLoginData } from \"./../../redux/system/login-reducer\";\r\n\r\nfunction mapStateToProps(state) {\r\n const thirdPartyForm = selectThirdPartyForm(state);\r\n const loginData = selectLoginData(state);\r\n\r\n // Redux fields should not be exposed in the view\r\n // create a proper view model props abstraction here to map with.\r\n // Redux fields might change, state Selector and view model props will minimize certain issue.\r\n return {\r\n courseId: thirdPartyForm.courseId,\r\n courseName: thirdPartyForm.courseName,\r\n certificateCodes: thirdPartyForm.certificateCodes,\r\n unitOfCompetencies: thirdPartyForm.unitOfCompetencies,\r\n studentFirstName: thirdPartyForm.studentFirstName,\r\n studentLastName: thirdPartyForm.studentLastName,\r\n tasks: thirdPartyForm.tasks,\r\n accessToken: thirdPartyForm.accessToken,\r\n thirdPartyFormAdditionalContent:\r\n thirdPartyForm.thirdPartyFormAdditionalContent,\r\n thirdPartyFormVersion: thirdPartyForm.thirdPartyFormVersion,\r\n\r\n loginData: loginData,\r\n fields: thirdPartyForm.fields,\r\n fieldErrors: thirdPartyForm.fieldErrors,\r\n\r\n isModalOpen: thirdPartyForm.showConfirmModal,\r\n isLoading: thirdPartyForm.isLoading,\r\n isLoadingObserverSection: thirdPartyForm.isLoadingObserverSection,\r\n isLoadingObserverButton: thirdPartyForm.isLoadingObserverButton,\r\n isLoadingForSaveProgress: thirdPartyForm.isLoadingForSaveProgress,\r\n isLoadingForSubmit: thirdPartyForm.isLoadingForSubmit,\r\n\r\n showMessageDialog: thirdPartyForm.showMessageDialog,\r\n showMessageDialogMessage: thirdPartyForm.showMessageDialogMessage,\r\n\r\n isSampleForm: thirdPartyForm.isSampleForm,\r\n showForm: thirdPartyForm.showForm,\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => ({\r\n onInputChange: ({ name, value, error }) => {\r\n dispatch(actionCreators.formInputChange(name, value, error));\r\n },\r\n onFieldError: (error) => dispatch(addNotification(error, \"Error\")),\r\n dispatch: dispatch,\r\n history: ownProps.history,\r\n match: ownProps.match,\r\n});\r\n\r\nconst mergeFormProps = (stateProps, dispatchProps) => ({\r\n ...stateProps,\r\n ...dispatchProps,\r\n onLoadForm: (courseId) => {\r\n dispatchProps.dispatch(\r\n actionCreators.onLoadForm(courseId, dispatchProps.history)\r\n );\r\n },\r\n onLoadSampleForm: (courseId) => {\r\n dispatchProps.dispatch(\r\n actionCreators.onLoadSampleForm(courseId, dispatchProps.history)\r\n );\r\n },\r\n onEmail: (e) => {\r\n dispatchProps.dispatch(actionCreators.showConfirmEmailObserver());\r\n },\r\n onToggle: (evt) => {\r\n if (evt.type === \"ok\") {\r\n if (validate(stateProps)) return;\r\n dispatchProps.dispatch(\r\n actionCreators.sendEmailAndUpdateThirdPartyForm(\r\n stateProps.accessToken,\r\n stateProps.fields,\r\n dispatchProps.history\r\n )\r\n );\r\n } else {\r\n dispatchProps.dispatch(actionCreators.hideConfirmEmailObserver());\r\n }\r\n },\r\n onUpdateDetails: () => {\r\n if (validate(stateProps)) return;\r\n\r\n dispatchProps.dispatch(\r\n actionCreators.updateThirdPartyFormObserver(\r\n stateProps.accessToken,\r\n stateProps.fields,\r\n dispatchProps.history\r\n )\r\n );\r\n },\r\n saveProgress: () => {\r\n if (validate(stateProps)) return;\r\n\r\n dispatchProps.dispatch(\r\n actionCreators.saveProgressThirdPartyForm(\r\n stateProps.accessToken,\r\n stateProps.fields,\r\n stateProps.courseId,\r\n stateProps.thirdPartyFormVersion,\r\n dispatchProps.history\r\n )\r\n );\r\n },\r\n submitForm: () => {\r\n //if (validate(stateProps)) return;\r\n\r\n dispatchProps.dispatch(\r\n actionCreators.saveProgressThirdPartyForm(\r\n stateProps.accessToken,\r\n stateProps.fields,\r\n stateProps.courseId,\r\n stateProps.thirdPartyFormVersion,\r\n dispatchProps.history,\r\n true\r\n )\r\n );\r\n },\r\n onMessageToggle: () => {\r\n dispatchProps.dispatch(actionCreators.hideMessageDialog());\r\n },\r\n validate: () => {\r\n return validate(stateProps);\r\n },\r\n});\r\n\r\n// Obsolete\r\nconst validate = (stateProps) => {\r\n const fields = stateProps.fields;\r\n const fieldErrors = stateProps.fieldErrors;\r\n const errMessages = Object.keys(fieldErrors).filter((k) => fieldErrors[k]);\r\n const fieldsToCheck = [\r\n \"observerFirstName\",\r\n \"observerLastName\",\r\n \"observerEmail\",\r\n ];\r\n\r\n for (var fld in fieldsToCheck) {\r\n if (!fields[fieldsToCheck[fld]]) return true;\r\n }\r\n if (errMessages.length > 0) return true;\r\n\r\n return false;\r\n};\r\n\r\nconst ThirdPartyFormContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n mergeFormProps\r\n)(ThirdPartyForm);\r\n\r\nexport default ThirdPartyFormContainer;\r\n","import React, { Component } from \"react\";\r\nimport { Row, Col, Button, Form, FormGroup } from \"reactstrap\";\r\nimport PageTitle from \"../../components/Common/Page-Title/Page-Title\";\r\nimport InputField from \"../../components/Common/Fields/Input-Field\";\r\nimport ContentSection from \"../../components/Content-Section\";\r\nimport * as validators from \"../../components/Common/Fields/Validators/Field-Validators\";\r\nimport \"./update-profile.scss\";\r\nimport BockUiFx from \"../../components/Common/Block-Ui-Fx/Block-Ui-Fx\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\n// Combination of validations\r\nconst emailValidator = (fieldName, value) => {\r\n if (validators.required(fieldName, value))\r\n return validators.required(fieldName, value);\r\n if (validators.email(value)) return validators.email(value);\r\n\r\n return false;\r\n};\r\n\r\nclass UpdateProfile extends Component {\r\n componentDidMount() {\r\n const { getUserInfo } = this.props;\r\n getUserInfo();\r\n }\r\n\r\n render() {\r\n const { firstName, lastName, email } = this.props.updateProfile.fields;\r\n const { onSubmit, onInputChange, onFieldError, validate } = this.props;\r\n const { isSubmitting } = this.props.updateProfile;\r\n return (\r\n <>\r\n \r\n
\r\n
\r\n \r\n

Update Profile

\r\n
\r\n Updating your details will not change the details on your\r\n existing certificates, or any courses that you have already\r\n enrolled in. If you wish to change your existing certificate or\r\n a course which you are enrolled in, please{\" \"}\r\n contact us.\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n validators.required(\"First Name\", val)\r\n }\r\n onFieldError={onFieldError}\r\n onChange={onInputChange}\r\n />\r\n \r\n \r\n \r\n validators.required(\"Last Name\", val)\r\n }\r\n onFieldError={onFieldError}\r\n onChange={onInputChange}\r\n />\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n emailValidator(\"Email Address\", val)\r\n }\r\n onFieldError={onFieldError}\r\n onChange={onInputChange}\r\n />\r\n \r\n \r\n \r\n\r\n \r\n \r\n Submit\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 UpdateProfile;\r\n","import HttpClient from \"../../../coreLib//http/httpClient\";\r\n\r\nconst Service = () => {\r\n let httpClient = HttpClient();\r\n\r\n const getUserInfo = id => {\r\n return httpClient.get(`v1/accounts/${id}`);\r\n };\r\n\r\n const updateProfile = (id, payload) => {\r\n return httpClient.put(`v1/accounts/${id}`, payload);\r\n };\r\n\r\n return {\r\n getUserInfo,\r\n updateProfile\r\n };\r\n};\r\n\r\nexport default Service;\r\n","import { ActionTypes } from \"./action-types\";\r\nimport { addNotification } from \"../../../redux/system/system-action-creators\";\r\nimport * as Constants from \"../../../constants\";\r\nimport HttpService from \"./service\";\r\nimport IdentityService from \"../../../coreLib/auth/userIdentity\";\r\n\r\nexport const onSubmit = (fields) => {\r\n const { firstName, lastName, email } = fields;\r\n\r\n return (dispatch) => {\r\n if (!firstName || firstName === undefined || firstName === \"\") {\r\n dispatch(addNotification(\"First name is required.\", \"warning\"));\r\n return;\r\n }\r\n\r\n if (!lastName || lastName === undefined || lastName === \"\") {\r\n dispatch(addNotification(\"Last name is required.\", \"warning\"));\r\n return;\r\n }\r\n\r\n if (!email || email === undefined || email === \"\") {\r\n dispatch(addNotification(\"Email address is required.\", \"warning\"));\r\n return;\r\n }\r\n\r\n if (!Constants.emailRegex.test(email)) {\r\n dispatch(addNotification(\"Invalid email address.\", \"warning\"));\r\n return;\r\n }\r\n\r\n dispatch(onSubmitStart());\r\n let id = IdentityService().getUserId();\r\n HttpService()\r\n .updateProfile(id, fields)\r\n .then(() => {\r\n dispatch(onSubmitSuccess());\r\n dispatch(addNotification(\"Your profle has been updated successfully.\"));\r\n })\r\n .catch(() => {\r\n dispatch(addNotification(\"Error updating your profile.\", \"warning\"));\r\n dispatch(onSubmitFailure());\r\n });\r\n };\r\n};\r\n\r\nexport const getUserInfo = () => (dispatch) => {\r\n dispatch(onGetUserInfo());\r\n let id = IdentityService().getUserId();\r\n HttpService()\r\n .getUserInfo(id)\r\n .then((resp) => dispatch(onGetUserInfoSuccess(resp.data)))\r\n .catch(() => {\r\n dispatch(addNotification(\"Error loading user details.\", \"warning\"));\r\n dispatch(onGetUserInfoFailure());\r\n });\r\n};\r\n\r\nconst onGetUserInfo = () => ({\r\n type: ActionTypes.UPDATE_PROFILE_ON_LOAD,\r\n});\r\n\r\nconst onGetUserInfoSuccess = (payload) => ({\r\n type: ActionTypes.UPDATE_PROFILE_ON_LOAD_SUCCESS,\r\n payload,\r\n});\r\n\r\nconst onGetUserInfoFailure = () => ({\r\n type: ActionTypes.UPDATE_PROFILE_ON_LOAD_FAILURE,\r\n});\r\n\r\nconst onSubmitStart = () => ({\r\n type: ActionTypes.UPDATE_PROFILE_ON_SUBMIT,\r\n});\r\n\r\nconst onSubmitSuccess = (payload) => ({\r\n type: ActionTypes.UPDATE_PROFILE_ON_SUBMIT_SUCCESS,\r\n payload,\r\n});\r\n\r\nconst onSubmitFailure = () => ({\r\n type: ActionTypes.UPDATE_PROFILE_ON_SUBMIT_FAILURE,\r\n});\r\n\r\nexport const formInputChange = (name, value, error) => ({\r\n type: ActionTypes.UPDATE_PROFILE_FORM_INPUT_CHANGE,\r\n payload: {\r\n name: name,\r\n value: value,\r\n error: error,\r\n },\r\n});\r\n","import { connect } from \"react-redux\";\r\nimport UpdateProfile from \"./Update-Profile\";\r\nimport { selectUpdateProfile } from \"./redux/reducer\";\r\nimport { onSubmit, getUserInfo } from \"./redux/action-creators\";\r\nimport * as actionCreators from \"./redux/action-creators\";\r\nimport * as sysActionCreators from \"../../redux/system/system-action-creators\";\r\n\r\nfunction mapStateToProps(state) {\r\n const updateProfile = selectUpdateProfile(state);\r\n return {\r\n updateProfile: updateProfile,\r\n fields: updateProfile.fields,\r\n fieldErrors: updateProfile.fieldErrors,\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => ({\r\n onInputChange: ({ name, value, error }) => {\r\n dispatch(actionCreators.formInputChange(name, value, error));\r\n },\r\n onFieldError: (error) =>\r\n dispatch(sysActionCreators.addNotification(error, \"warning\")),\r\n dispatch: dispatch,\r\n history: ownProps.history,\r\n});\r\n\r\nconst mergeFormProps = (stateProps, dispatchProps) => ({\r\n ...stateProps,\r\n ...dispatchProps,\r\n onSubmit: () => {\r\n // Validation code here\r\n if (validate(stateProps)) return;\r\n dispatchProps.dispatch(onSubmit(stateProps.updateProfile.fields));\r\n },\r\n getUserInfo: () => {\r\n dispatchProps.dispatch(getUserInfo());\r\n },\r\n validate: () => {\r\n return validate(stateProps);\r\n },\r\n});\r\n\r\nconst validate = (stateProps) => {\r\n const fields = stateProps.fields;\r\n const fieldErrors = stateProps.fieldErrors;\r\n const errMessages = Object.keys(fieldErrors).filter((k) => fieldErrors[k]);\r\n\r\n if (!fields.firstName) return true;\r\n if (!fields.lastName) return true;\r\n if (!fields.email) return true;\r\n if (errMessages.length > 0) return true;\r\n\r\n return false;\r\n};\r\n\r\nconst UpdateProfileContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n mergeFormProps\r\n)(UpdateProfile);\r\n\r\nexport default UpdateProfileContainer;\r\n","import React, { Component } from \"react\";\r\nimport { Row, Col, Button, Form, FormGroup, Label } from \"reactstrap\";\r\nimport PageTitle from \"../../components/Common/Page-Title/Page-Title\";\r\nimport InputField from \"../../components/Common/Fields/Input-Field\";\r\nimport ContentSection from \"../../components/Content-Section\";\r\nimport * as validators from \"../../components/Common/Fields/Validators/Field-Validators\";\r\nimport ToggleDisplay from \"react-toggle-display\";\r\nimport BlockUiFx from \"../../components/Common/Block-Ui-Fx/Block-Ui-Fx\";\r\n\r\nclass ChnagePassword extends Component {\r\n passwordValidator = (fieldName, value) => {\r\n if (validators.required(fieldName, value))\r\n return validators.required(fieldName, value);\r\n if (value.length < 8) return validators.min(value, \"Password\", 8);\r\n if (value.length > 50) return validators.max(value, \"Password\", 50);\r\n if (!/^(?=.*[!@#$&*0-9])(?=.*[a-z].*[a-z].*[a-z]).{8,50}$/.test(value)) {\r\n return validators.meessage(\r\n \"Password must have at least 1 special character or a number.\"\r\n );\r\n }\r\n\r\n return false;\r\n };\r\n\r\n confirmPasswordValidator = (fieldName, value) => {\r\n if (validators.required(fieldName, value))\r\n return validators.required(fieldName, value);\r\n if (this.props.changePassword.fields.password != value)\r\n return validators.meessage(\r\n \"Password and confirm confirm password must match\"\r\n );\r\n return false;\r\n };\r\n\r\n render() {\r\n const {\r\n password,\r\n oldPassword,\r\n confirmPassword,\r\n } = this.props.changePassword.fields;\r\n const { isSubmitting, isSubmitted } = this.props.changePassword;\r\n const { onSubmit, onInputChange, onFieldError, validate } = this.props;\r\n return (\r\n <>\r\n \r\n \r\n

Change Password

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

Your password has been successfully changed.

\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n validators.required(\"Old Password\", val)\r\n }\r\n onFieldError={onFieldError}\r\n onChange={onInputChange}\r\n />\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n this.passwordValidator(\"Password\", val)\r\n }\r\n onFieldError={onFieldError}\r\n onChange={onInputChange}\r\n />\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n this.confirmPasswordValidator(\r\n \"Confirm Password\",\r\n val\r\n )\r\n }\r\n onFieldError={onFieldError}\r\n onChange={onInputChange}\r\n />\r\n \r\n \r\n \r\n\r\n \r\n \r\n Submit\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 ChnagePassword;\r\n","import HttpClient from \"../../../coreLib//http/httpClient\";\r\n\r\nconst Service = () => {\r\n let httpClient = HttpClient();\r\n\r\n const changePassword = (id, payload) => {\r\n return httpClient.patch(`v1/accounts/${id}/password/change`, payload);\r\n };\r\n\r\n return {\r\n changePassword\r\n };\r\n};\r\n\r\nexport default Service;\r\n","import { ActionTypes } from \"./action-types\";\r\nimport { addNotification } from \"../../../redux/system/system-action-creators\";\r\nimport HttpService from \"./service\";\r\n\r\nexport const onSubmit = (id, fields) => {\r\n const { oldPassword, password, confirmPassword } = fields;\r\n\r\n return dispatch => {\r\n if (!oldPassword || oldPassword === undefined || oldPassword === \"\") {\r\n dispatch(addNotification(\"Old password is required.\", \"warning\"));\r\n return;\r\n }\r\n\r\n if (!password || password === undefined || password === \"\") {\r\n dispatch(addNotification(\"Password is required.\", \"warning\"));\r\n return;\r\n }\r\n\r\n if (\r\n !confirmPassword ||\r\n confirmPassword === undefined ||\r\n confirmPassword === \"\"\r\n ) {\r\n dispatch(addNotification(\"Confirm Password is required.\", \"warning\"));\r\n return;\r\n }\r\n\r\n dispatch(onSubmitRequest());\r\n HttpService()\r\n .changePassword(id, fields)\r\n .then(() => dispatch(onSubmitSuccess()))\r\n .catch(err => {\r\n dispatch(onSubmitFailure());\r\n dispatch(\r\n addNotification(\r\n err.response.data.Message\r\n ? err.response.data.Message\r\n : \"Changing of password failed.\",\r\n \"warning\"\r\n )\r\n );\r\n });\r\n };\r\n};\r\n\r\nconst onSubmitRequest = () => ({\r\n type: ActionTypes.CHANGE_PASSWORD_ON_SUBMIT\r\n});\r\n\r\nconst onSubmitSuccess = () => ({\r\n type: ActionTypes.CHANGE_PASSWORD_ON_SUCCESS\r\n});\r\n\r\nconst onSubmitFailure = () => ({\r\n type: ActionTypes.CHANGE_PASSWORD_ON_FAILURE\r\n});\r\n\r\nexport const formInputChange = (name, value, error) => ({\r\n type: ActionTypes.CHANGE_PASSWORD_FORM_INPUT_CHANGE,\r\n payload: {\r\n name: name,\r\n value: value,\r\n error: error\r\n }\r\n});\r\n","import { connect } from \"react-redux\";\r\nimport ChangePassword from \"./Change-Password\";\r\nimport { selectChangePassword } from \"./redux/reducer\";\r\nimport { selectLoginData } from \"../../redux/system/login-reducer\";\r\nimport { onSubmit } from \"./redux/action-creators\";\r\nimport * as actionCreators from \"./redux/action-creators\";\r\nimport * as sysActionCreators from \"../../redux/system/system-action-creators\";\r\n\r\nfunction mapStateToProps(state) {\r\n const changePassword = selectChangePassword(state);\r\n const loginData = selectLoginData(state);\r\n return {\r\n changePassword: changePassword,\r\n fields: changePassword.fields,\r\n loginData: loginData,\r\n fieldErrors: changePassword.fieldErrors\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => ({\r\n onInputChange: ({ name, value, error }) => {\r\n dispatch(actionCreators.formInputChange(name, value, error));\r\n },\r\n onFieldError: error =>\r\n dispatch(sysActionCreators.addNotification(error, \"warning\")),\r\n dispatch: dispatch,\r\n history: ownProps.history\r\n});\r\n\r\nconst mergeFormProps = (stateProps, dispatchProps) => ({\r\n ...stateProps,\r\n ...dispatchProps,\r\n onSubmit: () => {\r\n // Validation code here\r\n if (validate(stateProps)) return;\r\n dispatchProps.dispatch(\r\n onSubmit(\r\n stateProps.loginData.loggedInUser.id,\r\n stateProps.changePassword.fields\r\n )\r\n );\r\n },\r\n validate: () => {\r\n return validate(stateProps);\r\n }\r\n});\r\n\r\nconst validate = stateProps => {\r\n const fields = stateProps.fields;\r\n const fieldErrors = stateProps.fieldErrors;\r\n const errMessages = Object.keys(fieldErrors).filter(k => fieldErrors[k]);\r\n\r\n if (!fields.password) return true;\r\n if (!fields.oldPassword) return true;\r\n if (!fields.confirmPassword) return true;\r\n if (errMessages.length > 0) return true;\r\n\r\n return false;\r\n};\r\n\r\nconst ChangePasswordContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n mergeFormProps\r\n)(ChangePassword);\r\n\r\nexport default ChangePasswordContainer;\r\n","import React from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nconst ArrowLinkButton = ({ to, title, showAsBlue, showDownArrow }) => {\r\n return (\r\n \r\n {title}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ArrowLinkButton;\r\n","/**\r\n * Forbidden page (HTTP 403)\r\n */\r\nimport React, { Component } from \"react\";\r\nimport ContentSection from \"../../../components/Content-Section\";\r\nimport ArrowLinkButton from \"../../../components/Arrow-Link-Button/Arrow-Link-Button\";\r\n\r\nclass Error403 extends Component {\r\n state = {};\r\n render() {\r\n return (\r\n <>\r\n \r\n

403 - Access Forbidden...

\r\n
\r\n You do not have enough permission to access the page.\r\n
\r\n
\r\n Contact your system administrator.\r\n
\r\n \r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Error403;\r\n","import React from \"react\";\r\nimport { Row, Col, Form, FormGroup } from \"reactstrap\";\r\nimport InputField from \"../Common/Fields/Input-Field\";\r\nimport ButtonFx from \"../Common/Button-Fx/Button-Fx\";\r\nimport * as Constants from \"../../constants\";\r\nimport { required, email } from \"../Common/Fields/Validators/Field-Validators\";\r\nimport formHandler from \"./../Common/Fields/form-handler\";\r\n//import \"./register-box.scss\";\r\nimport KeyboardEventHandler from \"react-keyboard-event-handler\";\r\n\r\n// Custom validators\r\nconst validateEmailField = val => {\r\n if (required(\"Email\", val)) return required(\"Email\", val);\r\n if (email(val)) return email(val);\r\n\r\n return false;\r\n};\r\n\r\n//\r\n// Presentation Component\r\n//\r\nconst ForgotPassword = props => {\r\n const { email } = props.fields;\r\n const {\r\n onInputChange,\r\n onFieldError,\r\n onResetPassword,\r\n validate,\r\n isLoading,\r\n isSubmitted,\r\n submittedTo\r\n } = props;\r\n\r\n const form = formHandler();\r\n\r\n return (\r\n
\r\n \r\n validateEmailField(val)}\r\n onFieldError={onFieldError}\r\n onChange={onInputChange}\r\n ref={form.add}\r\n />\r\n \r\n \r\n \r\n form.validate({\r\n validFn: () => onResetPassword()\r\n })\r\n }\r\n >\r\n Submit\r\n \r\n \r\n {isSubmitted ? (\r\n
\r\n Reset password link has been succesfully sent to your email{\" \"}\r\n {submittedTo}.\r\n
\r\n ) : null}\r\n \r\n form.validate({ validFn: () => onResetPassword() })\r\n }\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default ForgotPassword;\r\n","/**\r\n * Forgot Password API service\r\n */\r\nimport HttpClient from \"../../coreLib/http/httpClient\";\r\n\r\nconst ForgotPasswordService = () => {\r\n let httpClient = HttpClient();\r\n\r\n const requestResetPassword = email =>\r\n httpClient.patch(`/v1/accounts/password/reset/request`, {\r\n username: email\r\n });\r\n\r\n return {\r\n requestResetPassword\r\n };\r\n};\r\n\r\nexport default ForgotPasswordService;\r\n","/**\r\n * Action Creator definitions\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\nimport { addNotification } from \"../../../redux/system/system-action-creators\";\r\nimport ForgotPasswordService from \"../Forgot-Password-Service\";\r\n\r\n// =================\r\n// Reset Password\r\n// =================\r\n\r\n// Async\r\nexport const onRequestResetPassword = email => {\r\n return dispatch => {\r\n const service = ForgotPasswordService();\r\n dispatch(onRequestResetPasswordRequest());\r\n\r\n service\r\n .requestResetPassword(email)\r\n .then(resp => {\r\n dispatch(onRequestResetPasswordSuccess(resp));\r\n })\r\n .catch(err => {\r\n // Todo: Implement generic error handler in the web template - rcnet\r\n let error = err.response.data && err.response.data.Message;\r\n dispatch(onRequestResetPasswordFailure());\r\n dispatch(addNotification(error, \"error\"));\r\n });\r\n };\r\n};\r\n\r\nconst onRequestResetPasswordRequest = () => ({\r\n type: ActionTypes.FORGOT_PASSWORD_RESET_REQUEST\r\n});\r\nconst onRequestResetPasswordSuccess = () => ({\r\n type: ActionTypes.FORGOT_PASSWORD_RESET_SUCCESS\r\n});\r\nconst onRequestResetPasswordFailure = () => ({\r\n type: ActionTypes.FORGOT_PASSWORD_RESET_FAILURE\r\n});\r\n\r\n// ----------------------------\r\n// Form Actions\r\n// ----------------------------\r\nexport const formInputChange = (name, value, error) => ({\r\n type: ActionTypes.FORGOT_PASSWORD_INPUT_CHANGE,\r\n payload: {\r\n name: name,\r\n value: value,\r\n error: error\r\n }\r\n});\r\n","import { connect } from \"react-redux\";\r\nimport ForgotPassword from \"./Forgot-Password\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { selectForgotPassword } from \"./redux/reducer\";\r\nimport * as actionCreators from \"./redux/action-creators\";\r\nimport { addNotification } from \"../../redux/system/system-action-creators\";\r\n\r\nfunction mapStateToProps(state) {\r\n const stateData = selectForgotPassword(state);\r\n\r\n return {\r\n fields: stateData.fields,\r\n fieldErrors: stateData.fieldErrors,\r\n isLoading: stateData.isLoading,\r\n isSubmitted: stateData.isSubmitted,\r\n submittedTo: stateData.submittedTo\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => ({\r\n onInputChange: ({ name, value, error }) => {\r\n dispatch(actionCreators.formInputChange(name, value, error));\r\n },\r\n onFieldError: error => dispatch(addNotification(error, \"Error\")),\r\n dispatch: dispatch,\r\n history: ownProps.history\r\n});\r\n\r\nconst mergeFormProps = (stateProps, dispatchProps) => ({\r\n ...stateProps,\r\n ...dispatchProps,\r\n onResetPassword: () => {\r\n if (validate(stateProps)) return;\r\n dispatchProps.dispatch(\r\n actionCreators.onRequestResetPassword(stateProps.fields.email)\r\n );\r\n },\r\n validate: () => {\r\n return validate(stateProps);\r\n }\r\n});\r\n\r\nconst validate = stateProps => {\r\n const fields = stateProps.fields;\r\n const fieldErrors = stateProps.fieldErrors;\r\n const errMessages = Object.keys(fieldErrors).filter(k => fieldErrors[k]);\r\n const fieldsToCheck = [\"email\"];\r\n\r\n for (var fld in fieldsToCheck) {\r\n if (!fields[fieldsToCheck[fld]]) return true;\r\n }\r\n\r\n if (errMessages.length > 0) return true;\r\n\r\n return false;\r\n};\r\n\r\nconst ForgotPasswordContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n mergeFormProps\r\n)(ForgotPassword);\r\n\r\nexport default withRouter(ForgotPasswordContainer);\r\n","import React from \"react\";\r\nimport PageTitle from \"../../components/Common/Page-Title/Page-Title\";\r\nimport ContentSection from \"../../components/Content-Section\";\r\nimport ForgotPasswordContainer from \"../../components/Forgot-Password/Forgot-Password.Container\";\r\n\r\nconst ForgotPasswordView = () => (\r\n <>\r\n \r\n \r\n
\r\n
\r\n

Forgot Password

\r\n \r\n
\r\n
\r\n
\r\n \r\n);\r\n\r\nexport default ForgotPasswordView;\r\n","import React from \"react\";\r\nimport { Row, Col, Form, FormGroup } from \"reactstrap\";\r\nimport InputField from \"../Common/Fields/Input-Field\";\r\nimport ButtonFx from \"../Common/Button-Fx/Button-Fx\";\r\nimport * as Constants from \"../../constants\";\r\nimport {\r\n required,\r\n strongPassword\r\n} from \"../Common/Fields/Validators/Field-Validators\";\r\nimport formHandler from \"./../Common/Fields/form-handler\";\r\nimport KeyboardEventHandler from \"react-keyboard-event-handler\";\r\n\r\n// Custom validators\r\nconst validatePasswordField = val => {\r\n if (required(\"Password\", val)) return required(\"Password\", val);\r\n if (strongPassword(val)) return strongPassword(val);\r\n\r\n return false;\r\n};\r\n\r\nconst validateConfirmPasswordField = (password, confirmPwd) => {\r\n if (required(\"Confirm Password\", confirmPwd))\r\n return required(\"Confirm Password\", confirmPwd);\r\n if (password !== confirmPwd) return \"Your passwords do not match.\";\r\n\r\n return false;\r\n};\r\n\r\n//\r\n// Presentation Component\r\n//\r\nconst ResetPassword = props => {\r\n const { password, confirmPassword } = props.fields;\r\n const { onInputChange, onFieldError, onResetPassword, isLoading } = props;\r\n\r\n const form = formHandler();\r\n\r\n return (\r\n
\r\n \r\n validatePasswordField(val)}\r\n onFieldError={onFieldError}\r\n onChange={onInputChange}\r\n ref={form.add}\r\n />\r\n \r\n \r\n validateConfirmPasswordField(password, val)}\r\n onFieldError={onFieldError}\r\n onChange={onInputChange}\r\n ref={form.add}\r\n />\r\n \r\n \r\n form.validate({ validFn: () => onResetPassword() })}\r\n >\r\n Submit\r\n \r\n \r\n \r\n form.validate({ validFn: () => onResetPassword() })\r\n }\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default ResetPassword;\r\n","/**\r\n * Forgot Password API service\r\n */\r\nimport HttpClient from \"../../coreLib/http/httpClient\";\r\n\r\nconst ResetPasswordService = () => {\r\n let httpClient = HttpClient();\r\n\r\n const resetPassword = (data, resetToken) =>\r\n httpClient.post(`/v1/accounts/password/reset`, {\r\n ...data,\r\n resetToken\r\n });\r\n\r\n return {\r\n resetPassword\r\n };\r\n};\r\n\r\nexport default ResetPasswordService;\r\n","/**\r\n * Action Creator definitions\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\nimport {\r\n addNotification,\r\n onLoginSuccess,\r\n} from \"../../../redux/system/system-action-creators\";\r\nimport ResetPasswordService from \"../Reset-Password-Service\";\r\nimport Auth from \"../../../coreLib/auth/auth\";\r\nimport UserIdentity from \"./../../../coreLib/auth/userIdentity\";\r\n\r\n// =================\r\n// Reset Password\r\n// =================\r\n\r\n// Async\r\nexport const onResetPassword = (data, resetToken, history) => {\r\n return (dispatch) => {\r\n const service = ResetPasswordService();\r\n dispatch(onResetPasswordRequest());\r\n\r\n service\r\n .resetPassword(data, resetToken)\r\n .then((resp) => {\r\n dispatch(onResetPasswordSuccess(resp));\r\n\r\n Auth.setToken(\r\n resp.data.access_token,\r\n resp.data.refresh_token,\r\n resp.data.expires_in\r\n );\r\n\r\n let userIdentity = UserIdentity();\r\n const user = {\r\n // Todo: implement id fetching here\r\n firstName: userIdentity.getFirstName(),\r\n lastName: userIdentity.getLastName(),\r\n userType: userIdentity.userType(),\r\n };\r\n dispatch(onLoginSuccess(user));\r\n\r\n // Redirect to home\r\n history.push(\"/\");\r\n })\r\n .catch((err) => {\r\n // Todo: Implement generic error handler in the web template - rcnet\r\n let error = err.response.data && err.response.data.Message;\r\n dispatch(onResetPasswordFailure());\r\n dispatch(addNotification(error, \"error\"));\r\n });\r\n };\r\n};\r\n\r\nconst onResetPasswordRequest = () => ({\r\n type: ActionTypes.FORGOT_PASSWORD_APPLY_RESET_REQUEST,\r\n});\r\nconst onResetPasswordSuccess = () => ({\r\n type: ActionTypes.FORGOT_PASSWORD_APPLY_RESET_SUCCESS,\r\n});\r\nconst onResetPasswordFailure = () => ({\r\n type: ActionTypes.FORGOT_PASSWORD_APPLY_RESET_FAILURE,\r\n});\r\n\r\n// ----------------------------\r\n// Form Actions\r\n// ----------------------------\r\nexport const formInputChange = (name, value, error) => ({\r\n type: ActionTypes.FORGOT_PASSWORD_APPLY_RESET_INPUT_CHANGE,\r\n payload: {\r\n name: name,\r\n value: value,\r\n error: error,\r\n },\r\n});\r\n","import { connect } from \"react-redux\";\r\nimport ResetPassword from \"./Reset-Password\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { selectResetPassword } from \"./redux/reducer\";\r\nimport * as actionCreators from \"./redux/action-creators\";\r\nimport { addNotification } from \"../../redux/system/system-action-creators\";\r\n\r\nfunction mapStateToProps(state) {\r\n const stateData = selectResetPassword(state);\r\n\r\n return {\r\n fields: stateData.fields,\r\n fieldErrors: stateData.fieldErrors,\r\n isLoading: stateData.isLoading\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => ({\r\n onInputChange: ({ name, value, error }) => {\r\n dispatch(actionCreators.formInputChange(name, value, error));\r\n },\r\n onFieldError: error => dispatch(addNotification(error, \"Error\")),\r\n dispatch: dispatch,\r\n history: ownProps.history,\r\n resetToken: ownProps.match.params.resetToken\r\n});\r\n\r\nconst mergeFormProps = (stateProps, dispatchProps) => ({\r\n ...stateProps,\r\n ...dispatchProps,\r\n onResetPassword: () => {\r\n if (validate(stateProps)) return;\r\n dispatchProps.dispatch(\r\n actionCreators.onResetPassword(\r\n stateProps.fields,\r\n dispatchProps.resetToken,\r\n dispatchProps.history\r\n )\r\n );\r\n },\r\n validate: () => {\r\n return validate(stateProps);\r\n }\r\n});\r\n\r\nconst validate = stateProps => {\r\n const fields = stateProps.fields;\r\n const fieldErrors = stateProps.fieldErrors;\r\n const errMessages = Object.keys(fieldErrors).filter(k => fieldErrors[k]);\r\n //const fieldsToCheck = [\"password\", \"confirmPassword\"];\r\n\r\n // for (var fld in fieldsToCheck) {\r\n // if (!fields[fieldsToCheck[fld]]) return true;\r\n // }\r\n if (!fields.password) return true;\r\n if (!fields.confirmPassword) return true;\r\n if (errMessages.length > 0) return true;\r\n\r\n return false;\r\n};\r\n\r\nconst ResetPasswordContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n mergeFormProps\r\n)(ResetPassword);\r\n\r\nexport default withRouter(ResetPasswordContainer);\r\n","import React from \"react\";\r\nimport PageTitle from \"../../components/Common/Page-Title/Page-Title\";\r\nimport ContentSection from \"../../components/Content-Section\";\r\nimport ResetPasswordContainer from \"../../components/Reset-Password/Reset-Password.Container\";\r\n\r\nconst ResetPasswordView = () => (\r\n <>\r\n \r\n \r\n
\r\n
\r\n

Reset Password

\r\n \r\n
\r\n
\r\n
\r\n \r\n);\r\n\r\nexport default ResetPasswordView;\r\n","import HttpClient from \"../../../coreLib//http/httpClient\";\r\n\r\nconst Service = () => {\r\n let httpClient = HttpClient();\r\n\r\n const submit = payload => {\r\n return httpClient.post(\"v1/userCourse/nsw-reprint\", payload);\r\n };\r\n\r\n return {\r\n submit\r\n };\r\n};\r\n\r\nexport default Service;\r\n","import IdentityService from \"../../../coreLib/auth/userIdentity\";\r\nimport { addNotification } from \"../../../redux/system/system-action-creators\";\r\nimport { ActionTypes } from \"./action-types\";\r\nimport Service from \"./service\";\r\n\r\nexport const init = () => ({\r\n type: ActionTypes.NSW_REPRINT_INIT,\r\n});\r\n\r\nexport const setEmail = () => (dispatch) => {\r\n let email = IdentityService().getEmail();\r\n dispatch(formInputChange(\"email\", email));\r\n};\r\n\r\nexport const onCreditCardInputChange = (card) => (dispatch) => {\r\n const { field, value, meta } = card;\r\n dispatch(formInputChange(field, value));\r\n let isCreditCardValid = Object.values(meta).every((m) => m === undefined);\r\n dispatch(setCardValidity(isCreditCardValid));\r\n};\r\n\r\nconst setCardValidity = (value) => ({\r\n type: ActionTypes.NSW_REPRINT_SET_CARD_VALIDITY,\r\n payload: value,\r\n});\r\n\r\nexport const updateAutocompleteAddress = (data) => {\r\n return (dispatch) => {\r\n dispatch({\r\n type: ActionTypes.NSW_REPRINT_AUTOCOMPLETE_ADDRESS_UPDATE,\r\n payload: data,\r\n });\r\n };\r\n};\r\n\r\nexport const toggleManualAddressEntry = () => ({\r\n type: ActionTypes.NSW_REPRINT_TOGGLE_MANUAL_ADDRESS_ENTRY,\r\n});\r\n\r\nexport const togglePromoCodeEntry = () => ({\r\n type: ActionTypes.NSW_REPRINT_TOGGLE_PROMO_CODE_ENTRY,\r\n});\r\n\r\nconst showManualAddressEntry = () => ({\r\n type: ActionTypes.NSW_REPRINT_SHOW_MANUAL_ADDRESS_ENTRY,\r\n});\r\n\r\nexport const clearAddress = () => ({\r\n type: ActionTypes.NSW_REPRINT_CLEAR_ADDRESS,\r\n});\r\n\r\nexport const toggleShowConfirmPopup = () => ({\r\n type: ActionTypes.NSW_REPRINT_SHOW_CONFIRM_POPUP,\r\n});\r\n\r\nexport const onSubmit = (stateProps, fields, history) => {\r\n const {\r\n streetNumber,\r\n streetName,\r\n city,\r\n state,\r\n postcode,\r\n email,\r\n cardNumber,\r\n cardExpiryDate,\r\n cardName,\r\n cardCvc,\r\n promoCode,\r\n } = fields;\r\n return (dispatch, getState) => {\r\n const { hasPromoCode } = stateProps;\r\n const { addressEntry } = getState().nswReprint;\r\n\r\n if (!addressEntry.enterAddressManually && !addressEntry.fullAddress) {\r\n dispatch(addNotification(\"Address is required\", \"error\"));\r\n return true;\r\n }\r\n\r\n if (!streetNumber || streetNumber === undefined || streetNumber === \"\") {\r\n dispatch(addNotification(\"Street number is required.\", \"warning\"));\r\n dispatch(showManualAddressEntry());\r\n return;\r\n }\r\n\r\n if (!streetName || streetName === undefined || streetName === \"\") {\r\n dispatch(addNotification(\"Street name is required.\", \"warning\"));\r\n return;\r\n }\r\n\r\n if (!city || city === undefined || city === \"\") {\r\n dispatch(addNotification(\"City is required.\", \"warning\"));\r\n return;\r\n }\r\n\r\n if (!state || state === undefined || state === \"\") {\r\n dispatch(addNotification(\"State is required.\", \"warning\"));\r\n return;\r\n }\r\n\r\n if (!postcode || postcode === undefined || postcode === \"\") {\r\n dispatch(addNotification(\"Post code is required.\", \"warning\"));\r\n return;\r\n }\r\n\r\n if (!email || email === undefined || email === \"\") {\r\n dispatch(addNotification(\"Email address code is required.\", \"warning\"));\r\n return;\r\n }\r\n\r\n if (!cardName) {\r\n dispatch(addNotification(\"Please enter a card name\", \"error\"));\r\n return true;\r\n }\r\n if (!cardNumber || !cardExpiryDate || !cardCvc) {\r\n dispatch(\r\n addNotification(\"Please enter a valid credit card details\", \"error\")\r\n );\r\n return true;\r\n }\r\n // Submit Validation\r\n\r\n let model = {\r\n ...fields,\r\n cardExpiryDate: fields.cardExpiryDate.replace(/ /g, \"\"),\r\n };\r\n\r\n dispatch(onSubmitRequest());\r\n Service()\r\n .submit(model)\r\n .then((resp) => {\r\n const { purchaseSuccessful, errorMessage } = resp.data;\r\n if (!purchaseSuccessful) {\r\n dispatch(onSubmitFailure());\r\n dispatch(addNotification(errorMessage, \"warning\"));\r\n } else {\r\n dispatch(onSubmitSuccess());\r\n }\r\n })\r\n .catch((err) => {\r\n dispatch(onSubmitFailure());\r\n dispatch(\r\n addNotification(\r\n err.response.data.Message\r\n ? err.response.data.Message\r\n : err.response.data.title\r\n ? err.response.data.title\r\n : \"There was an issue submitting the form\",\r\n \"warning\"\r\n )\r\n );\r\n });\r\n };\r\n};\r\n\r\nconst onSubmitRequest = () => ({\r\n type: ActionTypes.NSW_REPRINT_SUBMIT_ENROLMENT_REQUEST,\r\n});\r\nconst onSubmitSuccess = () => ({\r\n type: ActionTypes.NSW_REPRINT_SUBMIT_ENROLMENT_SUCCESS,\r\n});\r\nconst onSubmitFailure = () => ({\r\n type: ActionTypes.NSW_REPRINT_SUBMIT_ENROLMENT_FAILURE,\r\n});\r\n\r\nexport const formInputChange = (name, value, error) => ({\r\n type: ActionTypes.NSW_REPRINT_FORM_INPUT_CHANGE,\r\n payload: {\r\n name: name,\r\n value: value,\r\n error: error,\r\n },\r\n});\r\n","import isNil from \"lodash/isNil\";\r\nimport React, { Component } from \"react\";\r\nimport KeyboardEventHandler from \"react-keyboard-event-handler\";\r\nimport { Link } from \"react-router-dom\";\r\nimport ToggleDisplay from \"react-toggle-display\";\r\nimport {\r\n Button,\r\n Form,\r\n FormGroup,\r\n Label,\r\n Modal,\r\n ModalBody,\r\n ModalFooter,\r\n ModalHeader,\r\n} from \"reactstrap\";\r\nimport \"../../assets/styles/enrolment-forms.scss\";\r\nimport BlockUiFx from \"../../components/Common/Block-Ui-Fx/Block-Ui-Fx\";\r\nimport ButtonFx from \"../../components/Common/Button-Fx/Button-Fx\";\r\nimport formHandler from \"../../components/Common/Fields/form-handler\";\r\nimport InputField from \"../../components/Common/Fields/Input-Field\";\r\nimport PaymentInputs from \"../../components/Common/Fields/Payment-Inputs\";\r\nimport * as validators from \"../../components/Common/Fields/Validators/Field-Validators\";\r\nimport PageTitle from \"../../components/Common/Page-Title/Page-Title\";\r\nimport ContentSection from \"../../components/Content-Section\";\r\nimport LoqateAddressField from \"./../../components/Common/Loqate-Single-Address-Field/index\";\r\n\r\n// Combination of validations\r\nconst emailValidator = (fieldName, value) => {\r\n if (validators.required(fieldName, value))\r\n return validators.required(fieldName, value);\r\n if (validators.email(value)) return validators.email(value);\r\n\r\n return false;\r\n};\r\n\r\nclass NSWReprint extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.onChange = this.onChange.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.props.init();\r\n this.props.setEmail();\r\n }\r\n\r\n onAddressSelect = (address) => {\r\n this.props.updateAutocompleteAddress(address);\r\n };\r\n\r\n onSuggestNoResults(userInput) {\r\n if (!userInput || userInput === \"\") return;\r\n }\r\n\r\n onChange(value) {\r\n if (!value) {\r\n this.props.clearAddress();\r\n }\r\n }\r\n\r\n render() {\r\n const {\r\n onInputChange,\r\n onCreditCardChange,\r\n onFieldError,\r\n onSubmit,\r\n isSubmitting,\r\n isSubmitted,\r\n showConfirmPopup,\r\n toggleShowConfirmPopup,\r\n clearAddress,\r\n toggleManualAddressEntry,\r\n } = this.props;\r\n const { fullAddress } = this.props.addressEntry;\r\n const {\r\n email,\r\n cardName,\r\n cardNumber,\r\n cardExpiryDate,\r\n cardCvc,\r\n } = this.props.fields;\r\n const { courseCost } = this.props.nswCertificate;\r\n const form = formHandler();\r\n\r\n return (\r\n <>\r\n \r\n
\r\n \r\n

\r\n The{\" \"}\r\n \r\n NSW Food Safety Supervisor Certificate\r\n {\" \"}\r\n Reprint\r\n

\r\n {/*

\r\n \r\n This option is for processing a duplicate of your current NSW\r\n Certificate.\r\n \r\n

\r\n

\r\n \r\n This option is not available for expired certificates. If your\r\n certificate has expired, you will need to{\" \"}\r\n \r\n Enrol in a new NSW course\r\n \r\n .\r\n \r\n

*/}\r\n

${courseCost}.00

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

\r\n Thank you for ordering your{\" \"}\r\n \r\n NSW Food Safety Supervisor Certificate\r\n {\" \"}\r\n Reprint.\r\n

\r\n

You will receive this in the post within 7 business days.

\r\n
\r\n
\r\n \r\n \r\n \r\n
Your Details
\r\n\r\n \r\n validators.required(\"Address\", val)}\r\n ref={form.add}\r\n clearAddress={clearAddress}\r\n toggleManualEntry={toggleManualAddressEntry}\r\n />\r\n \r\n\r\n \r\n
\r\n \r\n emailValidator(\"Email Address\", val)}\r\n />\r\n
\r\n
\r\n
\r\n\r\n \r\n
Payment Information
\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 if (isNil(cardNumber) || !cardNumber) {\r\n onInputChange({\r\n name: \"cardNumber\",\r\n value: \"\",\r\n error: \"Card number is required\",\r\n });\r\n onFieldError(\"Card number is required.\");\r\n }\r\n\r\n if (isNil(cardExpiryDate) || !cardExpiryDate) {\r\n onInputChange({\r\n name: \"cardExpiryDate\",\r\n value: \"\",\r\n error: \"Card expiry date is required.\",\r\n });\r\n onFieldError(\"Card expiry date is required.\");\r\n }\r\n\r\n if (isNil(cardCvc) || !cardCvc) {\r\n onInputChange({\r\n name: \"cardCvc\",\r\n value: \"\",\r\n error: \"Card CVC is required.\",\r\n });\r\n onFieldError(\"Card CVC is required.\");\r\n }\r\n\r\n form.validate({\r\n validFn: () => {\r\n onSubmit();\r\n },\r\n invalidFn: () => console.log(form.getFieldErrors()),\r\n });\r\n }}\r\n >\r\n Pay Now\r\n \r\n \r\n\r\n \r\n \r\n Order a Duplicate Copy NSW FSS Certificate\r\n \r\n \r\n Before you get started, we just wanted to confirm you\r\n understand that:\r\n
    \r\n
  • \r\n This option is for processing a duplicate of your\r\n current NSW FSS Certificate.\r\n
  • \r\n
  • \r\n This option is not available for expired certificates.\r\n If your certificate has expired, you will need to{\" \"}\r\n \r\n Enrol in a new NSW Food Safety Supervisor course\r\n \r\n .\r\n
  • \r\n
\r\n {/* Before you get started, we just wanted to{\" \"}\r\n \r\n confirm your name is {firstName}\r\n {firstName === lastName ? \"\" : ` ${lastName}`}\r\n \r\n .\r\n
\r\n
\r\n If this isn’t your name, please click the 'No,\r\n That’s Not Me' button. */}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n form.validate({\r\n validFn: () => onSubmit(),\r\n })\r\n }\r\n />\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default NSWReprint;\r\n","/**\r\n * Course Enrolment Step 1 Container\r\n * Adam Luck @solvable Jun 10, 2019\r\n */\r\nimport { connect } from \"react-redux\";\r\nimport * as actionCreators from \"./redux/action-creators\";\r\nimport nswForm from \"./nsw-reprint-page\";\r\nimport { selectNSWReprint } from \"./redux/reducers\";\r\nimport * as sysActionCreators from \"../../redux/system/system-action-creators\";\r\n\r\nconst mapStateToProps = (state) => {\r\n const stateData = selectNSWReprint(state);\r\n\r\n return {\r\n addressEntry: stateData.addressEntry,\r\n fields: stateData.fields,\r\n fieldErrors: stateData.fieldErrors,\r\n isCreditCardValid: stateData.isCreditCardValid,\r\n isSubmitting: stateData.isSubmitting,\r\n isSubmitted: stateData.isSubmitted,\r\n nswCertificate: stateData.nswCertificate,\r\n showConfirmPopup: stateData.showConfirmPopup,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => ({\r\n clearAddress: () => {\r\n dispatch(actionCreators.clearAddress());\r\n },\r\n updateAutocompleteAddress: (address) => {\r\n dispatch(actionCreators.updateAutocompleteAddress(address));\r\n },\r\n toggleManualAddressEntry: () => {\r\n dispatch(actionCreators.toggleManualAddressEntry());\r\n },\r\n togglePromoCodeEntry: () => {\r\n dispatch(actionCreators.togglePromoCodeEntry());\r\n },\r\n onInputChange: ({ name, value, error }) => {\r\n dispatch(actionCreators.formInputChange(name, value, error));\r\n },\r\n onCreditCardChange: (values) => {\r\n dispatch(actionCreators.onCreditCardInputChange(values));\r\n },\r\n setEmail: () => {\r\n dispatch(actionCreators.setEmail());\r\n },\r\n init: () => {\r\n dispatch(actionCreators.init());\r\n },\r\n toggleShowConfirmPopup: () => {\r\n dispatch(actionCreators.toggleShowConfirmPopup());\r\n },\r\n onFieldError: (error) =>\r\n dispatch(sysActionCreators.addNotification(error, \"warning\")),\r\n dispatch: dispatch,\r\n history: ownProps.history,\r\n match: ownProps.match,\r\n});\r\n\r\nconst validate = (stateProps) => {\r\n const fields = stateProps.fields;\r\n const fieldErrors = stateProps.fieldErrors;\r\n const errMessages = Object.keys(fieldErrors).filter((k) => fieldErrors[k]);\r\n\r\n if (!fields.email) return true;\r\n if (!fields.postcode) return true;\r\n if (!fields.state) return true;\r\n if (!fields.city) return true;\r\n if (!fields.cardName) return true;\r\n if (!stateProps.isCreditCardValid) return true;\r\n if (!fields.streetName) return true;\r\n if (stateProps.addressEntry.enterAddressManually && !fields.streetNumber)\r\n return true;\r\n if (errMessages.length > 0) return true;\r\n\r\n return false;\r\n};\r\n\r\nconst mergeFormProps = (stateProps, dispatchProps) => ({\r\n ...stateProps,\r\n ...dispatchProps,\r\n toggleManualAddressEntry: () => {\r\n dispatchProps.dispatch(dispatchProps.toggleManualAddressEntry);\r\n validate(stateProps);\r\n },\r\n onSubmit: () => {\r\n dispatchProps.dispatch(\r\n actionCreators.onSubmit(\r\n stateProps,\r\n stateProps.fields,\r\n dispatchProps.history\r\n )\r\n );\r\n },\r\n validate: () => {\r\n return validate(stateProps);\r\n },\r\n});\r\n\r\nconst nswFormContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n mergeFormProps\r\n)(nswForm);\r\n\r\nexport default nswFormContainer;\r\n","import React, { Component } from \"react\";\r\nimport TTGDataTable from \"../../../components/solvable-datatable/solvable-datatable\";\r\nimport ContentSection from \"../../../components/Content-Section\";\r\nimport BlockUiFx from \"../../../components/Common/Block-Ui-Fx/Block-Ui-Fx\";\r\n\r\nclass DataTable extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.columns = this.setupDataTable();\r\n this.state = {\r\n settings: {},\r\n };\r\n this.actionButtonHandler = this.actionButtonHandler.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.props.onLoad();\r\n }\r\n\r\n setupDataTable = () => {\r\n return [\r\n {\r\n Header: \"Invoice Number\",\r\n accessor: \"invoiceNumber\",\r\n searchable: true,\r\n },\r\n {\r\n Header: \"Invoice Date\",\r\n accessor: \"invoiceDate\",\r\n searchable: true,\r\n },\r\n {\r\n Header: \"Vouchers\",\r\n accessor: \"vouchers\",\r\n searchable: true,\r\n },\r\n {\r\n Header: \"Total\",\r\n accessor: \"total\",\r\n searchable: true,\r\n },\r\n ];\r\n };\r\n\r\n onSettingsChanged = (settings) => {\r\n this.setState({ settings });\r\n };\r\n\r\n actionButtonHandler = (evt) => {\r\n this.props.downloadTaxInvoice(evt.data.invoiceGuid);\r\n };\r\n\r\n render() {\r\n const { isProcessing } = this.props;\r\n return (\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 DataTable;\r\n","import HttpClient from \"../../../coreLib//http/httpClient\";\r\n\r\nconst Service = () => {\r\n let httpClient = HttpClient();\r\n\r\n const getTaxInvoices = id => {\r\n return httpClient.get(`v1/corporate/tax-invoices/${id}`);\r\n };\r\n\r\n return {\r\n getTaxInvoices\r\n };\r\n};\r\n\r\nexport default Service;\r\n","import { ActionTypes } from \"./action-types\";\r\nimport { addNotification } from \"../../../redux/system/system-action-creators\";\r\nimport HttpService from \"./service\";\r\nimport YourCoursesService from \"../../../views/Start/redux/service\";\r\nimport IdentityService from \"../../../coreLib/auth/userIdentity\";\r\nimport { saveAs } from \"file-saver\";\r\n\r\nexport const onLoad = () => dispatch => {\r\n let httpService = HttpService();\r\n let identity = IdentityService();\r\n let userId = identity.getUserId();\r\n\r\n dispatch(init());\r\n dispatch(onLoadRequest());\r\n httpService\r\n .getTaxInvoices(userId)\r\n .then(resp => {\r\n dispatch(onLoadSuccess(resp.data));\r\n })\r\n .catch(err => {\r\n dispatch(onLoadFailure());\r\n dispatch(\r\n addNotification(\"There was an error loading the data.\", \"warning\")\r\n );\r\n });\r\n};\r\n\r\nconst init = () => ({\r\n type: ActionTypes.CORPORATE_TAX_INVOICE_ON_INIT\r\n});\r\n\r\nconst onLoadRequest = () => ({\r\n type: ActionTypes.CORPORATE_TAX_INVOICE_ON_LOAD_REQUEST\r\n});\r\n\r\nconst onLoadSuccess = payload => ({\r\n type: ActionTypes.CORPORATE_TAX_INVOICE_ON_LOAD_SUCCESS,\r\n payload\r\n});\r\n\r\nconst onLoadFailure = () => ({\r\n type: ActionTypes.CORPORATE_TAX_INVOICE_ON_LOAD_FAILURE\r\n});\r\n\r\nexport const downloadTaxInvoice = invoiceGuid => dispatch => {\r\n let yourCoursesService = YourCoursesService();\r\n dispatch(onDownloadRequest());\r\n yourCoursesService\r\n .downloadTaxInvoice(invoiceGuid)\r\n .then(resp => {\r\n const pdfBlob = new Blob([resp.data], { type: \"application/pdf\" });\r\n saveAs(pdfBlob, \"taxinvoice.pdf\");\r\n dispatch(onDownloadSuccess());\r\n })\r\n .catch(err => {\r\n dispatch(onDownloadFailure());\r\n dispatch(\r\n addNotification(\r\n \"There was an error downloading the tax invoice.\",\r\n \"warning\"\r\n )\r\n );\r\n });\r\n};\r\n\r\nconst onDownloadRequest = () => ({\r\n type: ActionTypes.CORPORATE_TAX_INVOICE_DOWNLOAD_REQUEST\r\n});\r\n\r\nconst onDownloadSuccess = () => ({\r\n type: ActionTypes.CORPORATE_TAX_INVOICE_DOWNLOAD_SUCCESS\r\n});\r\n\r\nconst onDownloadFailure = () => ({\r\n type: ActionTypes.CORPORATE_TAX_INVOICE_DOWNLOAD_FAILURE\r\n});\r\n","import { connect } from \"react-redux\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport DataTable from \"./datatable\";\r\nimport { onLoad, downloadTaxInvoice } from \"../redux/action-creators\";\r\nimport { selectCorporateTaxInvoice } from \"../redux/reducers\";\r\n\r\nconst mapStateToProps = state => {\r\n const stateData = selectCorporateTaxInvoice(state);\r\n return {\r\n data: stateData.data,\r\n isProcessing: stateData.isProcessing\r\n };\r\n};\r\n\r\nconst DataTableContainer = withRouter(\r\n connect(\r\n mapStateToProps,\r\n { onLoad, downloadTaxInvoice }\r\n )(DataTable)\r\n);\r\n\r\nexport default DataTableContainer;\r\n","import CorporateTaxInvoice from \"./corporate-tax-invoice\";\r\nexport default CorporateTaxInvoice;\r\n","import React, { Component } from \"react\";\r\nimport PageTitle from \"../../components/Common/Page-Title/Page-Title\";\r\nimport ContentSection from \"../../components/Content-Section\";\r\nimport DataTable from \"./datatable/datatable.container\";\r\n\r\nclass CorporateTaxInvoice extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n \r\n \r\n

Business Tax Invoices

\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 CorporateTaxInvoice;\r\n","/**\r\n * Solvable Collapsible Panel\r\n * - extensible and robust collapsible panel :-)\r\n * - functional component and react hooks\r\n * Props:\r\n * - openByDefault = {true/false} = Initial state of the component if collapsible is open or close.\r\n * - sectionOpen = name of section to open by default\r\n *\r\n * API/Helpers\r\n * - handleInit, collapseState, handleToggle, setToggle, setToggleAll, setBatchToggle, setBatchToggleByState\r\n *\r\n * Note: Collapsible panel fire twice below are the following reasons:\r\n * 1. Initial load, registering its collapsible items id to local state\r\n * 2. Applying setCollapse initial settings which updates the local state and triggers render mechanism.\r\n *\r\n * rcnet @solvable 2019\r\n */\r\nimport React, { useState, useEffect } from \"react\";\r\nimport \"./collapsible-panel.scss\";\r\nimport { ScrollingProvider } from \"react-scroll-section\";\r\n\r\nconst CollapsiblePanel = ({ children, openByDefault, sectionOpen }) => {\r\n const [collapseState, setCollapse] = useState({});\r\n const [idsRegistered, setIdsRegistered] = useState([]);\r\n let _ids = [];\r\n\r\n useEffect(() => {\r\n if (idsRegistered.length === 0) return;\r\n let objState = {};\r\n idsRegistered.forEach((o) => {\r\n if (o !== sectionOpen) {\r\n objState[o] = openByDefault ? openByDefault : false;\r\n } else {\r\n objState[o] = true;\r\n }\r\n });\r\n setCollapse(objState);\r\n }, [openByDefault, sectionOpen, idsRegistered]);\r\n\r\n const handleInit = (id) => {\r\n if (collapseState[id] === undefined) {\r\n _ids.push(id);\r\n setIdsRegistered(_ids);\r\n }\r\n };\r\n\r\n const handleToggle = (id, scrollFn) => {\r\n setCollapse({ ...collapseState, [id]: !collapseState[id] });\r\n };\r\n\r\n const setToggle = (id, isOpen) => {\r\n setCollapse({ ...collapseState, [id]: isOpen });\r\n };\r\n\r\n const setBatchToggle = (ids, isOpen) => {\r\n let clonedState = { ...collapseState };\r\n\r\n ids.forEach((id) => {\r\n clonedState[id] = isOpen;\r\n });\r\n\r\n setCollapse(clonedState);\r\n };\r\n\r\n const setBatchToggleByState = (idsToOpen, idsToClose) => {\r\n let clonedState = { ...collapseState };\r\n\r\n // Ids to Open\r\n idsToOpen.forEach((id) => {\r\n clonedState[id] = true;\r\n });\r\n\r\n idsToClose.forEach((id) => {\r\n clonedState[id] = false;\r\n });\r\n\r\n setCollapse(clonedState);\r\n };\r\n\r\n const setToggleAll = (isOpen) => {\r\n Object.keys(collapseState).forEach((k) => {\r\n collapseState[k] = isOpen;\r\n });\r\n setCollapse({ ...collapseState });\r\n };\r\n\r\n return (\r\n \r\n
\r\n {children({\r\n handleInit,\r\n collapseState,\r\n caption: \"Collapsible Panel\",\r\n idsRegistered,\r\n handleToggle,\r\n setToggle,\r\n setToggleAll,\r\n setBatchToggle,\r\n setBatchToggleByState,\r\n })}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default React.memo(CollapsiblePanel);\r\n","import React from \"react\";\r\n\r\nconst CardHeader2 = ({ title, icon, expandItem }) => {\r\n return (\r\n
\r\n
\r\n \r\n \r\n
\r\n
{title}
\r\n \r\n
\r\n );\r\n};\r\n\r\nconst Header = ({ title, icon, expandItem, onClick }) => {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default React.memo(Header);\r\n","import React from \"react\";\r\nimport { CardBody } from \"reactstrap\";\r\n\r\nconst Content = ({ component }) => {\r\n return {component};\r\n};\r\n\r\nexport default React.memo(Content);\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Collapse, Card, CardHeader, CardBody } from \"reactstrap\";\r\nimport Header from \"./header\";\r\nimport Content from \"./content\";\r\nimport { Section, SectionLink } from \"react-scroll-section\";\r\nimport { PropTypes } from \"prop-types\";\r\n\r\nconst CollapsibleItem = ({\r\n id,\r\n title,\r\n icon,\r\n children,\r\n init,\r\n collapseState,\r\n toggle,\r\n}) => {\r\n const [toggleFlag, setToggleFlag] = useState(false);\r\n\r\n useEffect(() => {\r\n init(id);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (Object.keys(collapseState).length === 0) return;\r\n setToggleFlag(collapseState[id]);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [collapseState]);\r\n\r\n return (\r\n
\r\n \r\n \r\n {({ onClick }) => (\r\n <>\r\n \r\n toggle(id, onClick)}\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\nCollapsibleItem.propTypes = {\r\n icon: PropTypes.string,\r\n};\r\n\r\nCollapsibleItem.defaultProps = {\r\n icon: \"\",\r\n};\r\n\r\nexport default React.memo(CollapsibleItem);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport CollapsiblePanel from \"../collapsible-panel/collapsible-panel\";\r\nimport CollapsibleItem from \"../collapsible-panel/collapsible-item\";\r\n\r\nconst ContentCollapsiblePanel = ({\r\n sections,\r\n marginTop,\r\n marginBottom,\r\n openSection,\r\n}) => {\r\n return (\r\n
\r\n \r\n {({ handleInit, collapseState, handleToggle }) => {\r\n return sections.map((section, i) => (\r\n
\r\n \r\n {section.content}\r\n \r\n
\r\n ));\r\n }}\r\n
\r\n
\r\n );\r\n};\r\n\r\nContentCollapsiblePanel.propTypes = {\r\n sections: PropTypes.array.isRequired,\r\n marginTop: PropTypes.number.isRequired,\r\n marginBottom: PropTypes.number.isRequired,\r\n openSection: PropTypes.number.isRequired,\r\n};\r\n\r\nContentCollapsiblePanel.defaultProps = {\r\n sections: [],\r\n marginTop: 3,\r\n marginBottom: 3,\r\n openSection: 0,\r\n};\r\n\r\nexport default ContentCollapsiblePanel;\r\n","import React from \"react\";\r\n\r\nexport const general = [\r\n {\r\n title: \"Are these courses Standard 3.2.2A Compliant?\",\r\n content: (\r\n <>\r\n They sure are! All our courses are current and fully compliant with the\r\n new legislation standard 3.2.2A.\r\n \r\n ),\r\n },\r\n {\r\n title: \"Are these courses Nationally Recognised?\",\r\n content: (\r\n <>\r\n They sure are! We are a Nationally Recognised Training Organisation and\r\n all of the courses that Train to Gain Pty Ltd T/A Food Safety Education\r\n offer are Nationally accredited and recognised. We only offer the most\r\n current and up-to-date course codes.{\" \"}\r\n \r\n Click here to see our Accreditation to provide Food Safety training!\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: \"What is a Recognised Training Organisation (RTO)?\",\r\n content: (\r\n <>\r\n RTO’s deliver and assess nationally recognised training, and issue\r\n nationally recognised qualifications and statements of attainment.\r\n
\r\n
\r\n That’s us! Nationally Recognised Training is delivered in\r\n association with Train to Gain Pty Ltd T/A Food Safety Education. (RTO\r\n provider # 22361). Look out for this symbol on our home page to support\r\n our authenticity.\r\n \r\n ),\r\n },\r\n {\r\n title: \"How long do I have to complete my course?\",\r\n content: (\r\n <>\r\n The length of each course will vary on the individual, depending on your\r\n prior knowledge and how you learn. In general, it takes approximately\r\n 2-3 hours to complete each of the Level 1 Food Safety courses and on\r\n average, about 3-4 hours to complete the Food Safety Supervisor courses.\r\n If you want a break, your course will be exactly where you left off when\r\n you come back to it. No repeating anything! If you are looking to fast\r\n track your learning, it is not uncommon for people to sign up and\r\n complete their course in the same day. We allow your enrolment to be\r\n open for 12 months in case life gets in the way!!\r\n \r\n ),\r\n },\r\n {\r\n title: \"When do I pay for the course?\",\r\n content: (\r\n <>Payment for all our courses are paid after you select your course.\r\n ),\r\n },\r\n {\r\n title: \"Are there additional costs involved?\",\r\n content: (\r\n <>\r\n No! Payment is made up front with no additional charges. The prices\r\n quoted on our homepage are all inclusive of GST with no hidden fees.\r\n \r\n ),\r\n },\r\n {\r\n title: \"Which payment gateway do you use? Is it secure?\",\r\n content: (\r\n <>\r\n We use eWay as our payment gateway facility that links up to the CBA. We\r\n do not store your credit card numbers.\r\n \r\n ),\r\n },\r\n {\r\n title: \"I don’t have a credit card. How else can I make payment?\",\r\n content: (\r\n <>\r\n If you do not have a credit card, you cannot pay. You could ask your\r\n employer to buy a prepaid voucher or your employer pays with the\r\n business credit card and you reimburse them.\r\n \r\n ),\r\n },\r\n {\r\n title: \"What do I need to have to do your courses online?\",\r\n content: (\r\n <>\r\n
    \r\n
  • Good understanding of written English
  • \r\n
  • Be able to operate a computer
  • \r\n
  • Have access to the internet
  • \r\n
  • Have access to an email account
  • \r\n
  • Have access to a printer
  • \r\n
  • \r\n Have an observer with Food Safety knowledge and practical skills who\r\n has seen you deal with food in a safe manner\r\n
  • \r\n
  • \r\n A Unique Student Identifier (USI). This is a requirement of the\r\n government for every student doing any nationally recognised\r\n training.\r\n
  • \r\n
\r\n \r\n ),\r\n },\r\n {\r\n title: \"Do I have to complete my course in one sitting?\",\r\n content: (\r\n <>\r\n No! Take your time and complete the course at your own pace. You can\r\n start, stop and resume your course at time intervals that are suitable\r\n to you. The system will remember your progress. Each time you log into\r\n the website you will be able to resume your course where you last left\r\n it. We understand that most people lead busy lives and have other\r\n important commitments so our online training method allows you to study\r\n in and around other commitments or work rosters.\r\n \r\n ),\r\n },\r\n {\r\n title: \"What if I get a question wrong, what happens then?\",\r\n content: (\r\n <>\r\n If you get any questions wrong then you just repeat the question until\r\n you get it right. You have as many times as you need to get the question\r\n right and you can always contact us for support. You also have the\r\n workbook available on line to assist you in your training.\r\n
\r\n
\r\n Other training providers may lock you out for days if you get a question\r\n wrong, or make you pay for the whole course again!\r\n
\r\n
\r\n We will NEVER do that because we understand that everyone learns\r\n differently, therefore, you will not be judged on how long it takes to\r\n learn new information.\r\n \r\n ),\r\n },\r\n {\r\n title: \"What if I have problems with reading and writing?\",\r\n content: (\r\n <>\r\n Train to Gain Pty Ltd T/A Food Safety Education T/A Food Safety\r\n Education provides support for participants who require assistance with\r\n Language Literacy and/or Numeracy (LLN). To assist in identifying any\r\n special learning needs, you are required to provide Train to Gain Pty\r\n Ltd T/A Food Safety Education Pty Ltd T/A Food Safety Education with\r\n information regarding your LLN requirements on your enrolment form,\r\n prior to the start of the training course. Conversely, if you do have\r\n any learning difficulties you are encouraged to discuss these with our\r\n student support team prior to course commencement or during the course\r\n enrolment.\r\n
\r\n
\r\n Be assured that discussions with our staff will be treated as\r\n confidential.\r\n
\r\n
\r\n Simply contact us for assistance. You are still able to complete the\r\n course online, but we will talk through how we can assist and support\r\n you in the successful completion of your chosen course.\r\n \r\n ),\r\n },\r\n {\r\n title: \"How will my name appear on my certificate?\",\r\n content: (\r\n <>\r\n Our system will print your name EXACTLY as you enter it into the\r\n enrolment screen. Please take care to spell your name correctly and use\r\n capitals correctly.\r\n \r\n ),\r\n },\r\n {\r\n title: \"How do I log into my account?\",\r\n content: (\r\n <>\r\n Go to{\" \"}\r\n \r\n https://www.foodsafetyeducation.com.au/Login/\r\n {\" \"}\r\n Click on ‘Login’ at the top right of the screen. Enter your\r\n email address and password you set up when you enrolled in the course.\r\n \r\n ),\r\n },\r\n {\r\n title: \"I can’t remember my password. What do I do?\",\r\n content: (\r\n <>\r\n Enter your email address in the login bar at the top right of the\r\n website. Then click on the ‘forgot password’ tab. This will\r\n give you the option to create a new password.\r\n \r\n ),\r\n },\r\n {\r\n title: \"I’m having trouble logging in. Why?\",\r\n content: (\r\n <>\r\n Have you forgotten your password? Are you entering it incorrectly? Does\r\n your username or password contain a mixture of upper and lower-case\r\n letters? It should be entered exactly as you registered. Are cookies\r\n enabled on your browser? Try logging out of your computer and re-try. If\r\n you can’t determine the reason, please contact us and we will fix\r\n it for you asap. Remember you receive a welcome email when you first\r\n register with us and this email contains your username and password.\r\n Please search your email inbox for your registration email.\r\n \r\n ),\r\n },\r\n {\r\n title: \"Do Food Safety certificates expire?\",\r\n content: (\r\n <>\r\n As per Standard 3.2.2A, Food Handlers and Supervisors must renew their\r\n training every five (5) years. The Statement of Attainment that you\r\n receive doesn’t have an expiry date.\r\n \r\n ),\r\n },\r\n {\r\n title: \"What is a Statement of Attainment?\",\r\n content: (\r\n <>\r\n A Statement of Attainment forms part of an accreditation. We offer units\r\n of competency from the hospitality, retail and health support training\r\n packages. We refer to \"certificates\" in our marketing purely because\r\n this is how the \"Food Safety Certificate\" or the \"Food Safety Supervisor\r\n Certificate\" qualification is perceived in the community and by State\r\n regulators. The Statements of Attainments that you receive from Train to\r\n Gain Pty Ltd T/A Food Safety Education are nationally accredited units\r\n of competency.\r\n \r\n ),\r\n },\r\n {\r\n title: \"I work in Hospitality / Retail, which course is right for me?\",\r\n content: (\r\n <>\r\n It depends on what role you have at work. Different job roles require\r\n different Statements of Attainments.\r\n
\r\n
\r\n When it comes to the Hospitality & Retail industry a unit of\r\n competency is transferable to the Retail sector and vice versa to the\r\n Hospitality sector in the Food Safety area. However, when it comes to\r\n the Health Food Safety units these are only accepted in those fields. We\r\n always strongly suggest you talk to your local council about what\r\n requirements they need from you as they have their own local policies\r\n regarding Food Safety Accreditation.\r\n
\r\n
\r\n Statement of Attainments that we offer for Hospitality and Retail:\r\n
\r\n
\r\n Food Handling Level 1\r\n
\r\n
\r\n SITXFSA005 Use Hygienic Practices for Food Safety\r\n
\r\n
\r\n This unit is for people working in a kitchen, café, restaurant, school\r\n canteen, hotel, supermarkets or other food retail outlets, under\r\n supervision. (Also known as Food Handling Level 1, Food Handlers, RSF,\r\n Food Hygiene Training, Safe Food Handling).\r\n
\r\n
\r\n Food Handling Level 2\r\n
\r\n
\r\n SITXFSA006 Participate in Safe Food Handling Practices\r\n
\r\n
\r\n This unit is for people who will be the Food Safety Supervisor and who\r\n have already completed Food Handling Level 1.\r\n
\r\n
\r\n \r\n Food Handling Level 1 & 2 together is the Food Safety Supervisor\r\n Certificate for Hospitality & Retail\r\n \r\n
\r\n
\r\n SITXFSA005 Use Hygienic Practices for Food Safety & SITXFSA006\r\n Participate in Safe Food Handling Practices\r\n
\r\n
\r\n This certificate is Level 1 & Level 2 combined into one course. This\r\n is for people who will be the Food Safety Supervisor.\r\n
\r\n
\r\n If you are unsure about what level of training you need, or the code you\r\n require on your certificate, please contact the Environmental Health\r\n Office at your local council and they will advise you of the correct\r\n training.\r\n
\r\n
\r\n We understand how confusing it can be to get the certificates you need,\r\n so let us help you get the Food Safety certificate that your council\r\n wants to see!\r\n \r\n ),\r\n },\r\n {\r\n title:\r\n \"I work in the Health Care/Child Care/Aged Care sector. Which course is right for me?\",\r\n content: (\r\n <>\r\n We offer three units in the one course, as shown below. Combined, they\r\n make up the Food Safety Supervisor Certificate within the Health sector.\r\n We strongly suggest you talk with your local council about what\r\n requirements they need from you as they have their own local policies\r\n regarding Food Safety Accreditation. We also offer level 1 as a\r\n stand-alone unit - Follow Basic Food Safety Practices. This unit is best\r\n for people starting out in the Health industry.\r\n
\r\n
\r\n Food Handling Level 1\r\n
\r\n
\r\n HLTFSE001 Follow Basic Food Safety Practices\r\n
\r\n
\r\n This course is designed for all people handling food in the Community\r\n and Health Service industries. (Child care, aged care, hospitals, meals\r\n on wheels etc). This unit of competency describes the skills and\r\n knowledge required for basic Food Safety practices including personal\r\n hygiene and conduct when working in a food service environment. It\r\n describes the most basic level of competence required by any person in\r\n the Health industry who directly handles food.\r\n
\r\n
\r\n \r\n Food Safety Supervisor Certificate for Health & Community\r\n \r\n
\r\n
\r\n HLTFSE001 Follow Basic Food Safety Practices\r\n
\r\n
\r\n HLTFSE005 Apply and Monitor Food Safety Requirements\r\n
\r\n
\r\n HLTFSE007 Oversee the Day to Day Implementation of Food Safety in the\r\n Workplace\r\n
\r\n
\r\n This is for people who will be the Food Safety Supervisor. There are 3\r\n units of competency altogether.\r\n
\r\n
\r\n If you are unsure about what level of training you need, or the code you\r\n require on your certificate, please contact the Environmental Health\r\n Office at your local council and they will advise you of the correct\r\n training.\r\n
\r\n
\r\n We understand how confusing it can be to get the certificates you need,\r\n so let us help you get the Food Safety certificate that your council\r\n wants to see!\r\n \r\n ),\r\n },\r\n {\r\n title: \"How do I get my certificate?\",\r\n content: (\r\n <>\r\n
    \r\n
  1. Register your details
  2. \r\n
  3. \r\n Choose the course you would like to do and make your secure payment\r\n
  4. \r\n
  5. Complete your enrolment and start your online training
  6. \r\n
  7. Third-party checklist and assessment is submitted online
  8. \r\n
\r\n \r\n ),\r\n },\r\n {\r\n title: \"When do I get my certificate?\",\r\n content: (\r\n <>\r\n When you have successfully completed your online training assessment,\r\n your Statement of Attainment will be issued when your online third-party\r\n form has been successfully submitted. We will send you a\r\n ‘Congratulations’ email with your Statement of Attainment\r\n attached so you can download it, save it and/or print your own copy. You\r\n can also log into the website at any time and download it yourself.\r\n \r\n ),\r\n },\r\n {\r\n title: \"How do I order course vouchers for my staff?\",\r\n content: (\r\n <>\r\n At Food Safety Education, we offer you the flexibility to purchase Food\r\n Safety Training for your staff so they can proceed with their Food\r\n Safety Training today! Simply click on the “Business” tab in\r\n the navigation bar of this website to gain further information.\r\n \r\n ),\r\n },\r\n {\r\n title: \"I have lost my certificate, what should I do?\",\r\n content: (\r\n <>\r\n If you forgot to save it to your computer and have lost your\r\n certificate, don’t worry!! You can log back in to your student\r\n portal where you will see an option to print your Statement of\r\n Attainment. If you have trouble accessing that option, we will send you\r\n a FREE copy via email. Just let us know and we will email you a copy.\r\n (NSW residents please look under the NSW section of the FAQs about\r\n reprints for NSW).\r\n \r\n ),\r\n },\r\n {\r\n title: \"Why do I need to enter my date of birth during enrolment?\",\r\n content: (\r\n <>\r\n We are required to verify your identify. It is a government requirement\r\n that we capture this information.\r\n \r\n ),\r\n },\r\n {\r\n title: \"What computer/technical software do I need?\",\r\n content: (\r\n <>\r\n Any modern desktop/PC, tablet or mobile web browser with JavaScript\r\n enabled, a reliable internet connection and a printer so you can print\r\n out your certificate.\r\n \r\n ),\r\n },\r\n {\r\n title: \"Train to Gain Pty Ltd T/A Food Safety Education Refund Policy\",\r\n content: (\r\n <>\r\n SCOPE:\r\n
\r\n
\r\n 1. This policy covers all fees payable for training services provided\r\n within Train to Gain Pty Ltd T/A Food Safety Education’s scope of\r\n registration. Standards for Registered Training Organisations\r\n (RTO’s) 2015, standard 5.3.\r\n
\r\n
\r\n PURPOSE:\r\n
\r\n
\r\n 2. To provide for appropriate handling of clients’ payments and to\r\n facilitate refunds in the case of cancellation by either party. The\r\n refunds process will allow customers the option to disengage from\r\n training in a manner in which a negative impact may be negated or\r\n reduced, depending upon notification time frame and the reasoning for\r\n the refund request.\r\n
\r\n
\r\n General Rules:\r\n
\r\n
\r\n 3. The following reflects Train to Gain Pty Ltd T/A Food Safety\r\n Educations refund process for students completing online training with\r\n Train to Gain Pty Ltd T/A Food Safety Education.\r\n
\r\n
\r\n
    \r\n
  • \r\n Refunds must be requested in writing to the Director of Train to\r\n Gain via email at contact@traintogain.com.au.\r\n
  • \r\n
  • \r\n Once payment has been made the Director shall determine the outcome\r\n of any refund requests.\r\n
  • \r\n
  • \r\n The Director of Train to Gain Pty Ltd T/A Food Safety Education will\r\n process refund requests within 30 days from the day of receipt.\r\n
  • \r\n
  • \r\n If the online course does not work for the student all efforts will\r\n be made by the Train to Gain Pty Ltd T/A Food Safety Education staff\r\n to assist the student in completing their work.\r\n
  • \r\n
  • \r\n If the online course does not work due to the student’s\r\n computer not supporting their requirements or the student not having\r\n the necessary experience as stipulated by Train to Gain Pty Ltd T/A\r\n Food Safety Education, a refund will not be applicable.\r\n
  • \r\n
  • \r\n If a student changes their mind or sources an alternate course\r\n elsewhere a refund will not be applicable.\r\n
  • \r\n
  • \r\n In some cases, a student may enrol for a wrong course. In this case\r\n we will refund the student only AFTER they have paid and enrolled in\r\n their correct course.\r\n
  • \r\n
  • \r\n If a refund has been granted an administration fee of{\" \"}\r\n $25.00 will incur.\r\n
  • \r\n
  • \r\n Under certain circumstances a course may be transferred to another\r\n party. If all parties agree to the transfer this request must be\r\n made in writing.\r\n
  • \r\n
  • \r\n In the case of a fraudulent fee being paid by a student, Train to\r\n Gain will assist the person making the complaint in every way\r\n possible and will provide personal details about the person to the\r\n Police only. The student or person who claims the fraudulent payment\r\n needs to take the matter up with their financial institution. Train\r\n to Gain accepts no responsibility for fraudulent fees being paid and\r\n will not be liable for refunds to the complainant. The student who\r\n has made the payment under another person’s credit card will\r\n have their enrolment suspended pending all Train to Gain Pty Ltd T/A\r\n Food Safety Education investigations.\r\n
  • \r\n
\r\n
\r\n
\r\n We abide by The Consumer Affairs policies and procedures.\r\n
\r\n
\r\n Please view the following information about Train to Gain Pty Ltd T/A\r\n Food Safety Education’s rights and obligations regarding refunds\r\n below:\r\n
\r\n
\r\n \r\n http://www.consumer.vic.gov.au/shopping/refunds-and-returns/change-of-mind\r\n \r\n \r\n ),\r\n },\r\n {\r\n title:\r\n \"Train to Gain Pty Ltd T/A Food Safety Education Privacy Statement and Student Declaration\",\r\n content: (\r\n <>\r\n Privacy Notice\r\n
\r\n
\r\n Under the Data Provision Requirements 2012, Train to Gain Pty Ltd T/A\r\n Food Safety Education Pty Ltd is required to collect personal\r\n information about you and to disclose that personal information to the\r\n National Centre for Vocational Education Research Ltd (NCVER).\r\n
\r\n
\r\n Your personal information (including the personal information contained\r\n on this enrolment form and your training activity data) may be used or\r\n disclosed by Train to Gain Pty Ltd T/A Food Safety Education for\r\n statistical, regulatory and research purposes. Train to Gain Pty Ltd T/A\r\n Food Safety Education Pty Ltd may disclose your personal information for\r\n these purposes to third parties, including:\r\n
\r\n
\r\n
    \r\n
  • \r\n School – if you are a secondary student undertaking VET, including a\r\n school-based apprenticeship or traineeship;\r\n
  • \r\n
  • \r\n Employer – if you are enrolled in training paid by your employer;\r\n
  • \r\n
  • \r\n Commonwealth and State or Territory government departments and\r\n authorised agencies;\r\n
  • \r\n
  • NCVER;
  • \r\n
  • Organisations conducting student surveys; and
  • \r\n
  • Researchers.
  • \r\n
\r\n
\r\n
\r\n Personal information disclosed to NCVER may be used or disclosed for the\r\n following purposes:\r\n
\r\n
\r\n
    \r\n
  • \r\n Issuing statements of attainment or qualification, and populating\r\n authenticated VET transcripts;\r\n
  • \r\n
  • \r\n Facilitating statistics and research relating to education,\r\n including surveys;\r\n
  • \r\n
  • \r\n Understanding how the VET market operates, for policy, workforce\r\n planning and consumer information; and\r\n
  • \r\n
  • \r\n Administering VET, including programme administration, regulation,\r\n monitoring and evaluation.\r\n
  • \r\n
\r\n
\r\n
\r\n You may receive an NCVER student survey which may be administered by an\r\n NCVER employee, agent or third party contractor. You may opt out of the\r\n survey at the time of being contacted. NCVER will collect, hold, use and\r\n disclose your personal information in accordance with the Privacy Act\r\n 1988 (Cth), the VET Data Policy and all NCVER policies and protocols\r\n (including those published on NCVER’s website at{\" \"}\r\n \r\n www.ncver.edu.au\r\n \r\n .\r\n \r\n ),\r\n },\r\n {\r\n title:\r\n \"Train to Gain Pty Ltd T/A Food Safety Education - Complaints and Appeals Policy\",\r\n content: (\r\n <>\r\n If you have any complaint or issue that you would like to raise with us,\r\n please see our complaints and appeals policy to best direct your enquiry\r\n at the link in our footer of{\" \"}\r\n \r\n www.foodsafetyeducation.com.au\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: \"Accurate Representation of Self\",\r\n content: (\r\n <>\r\n When you register & enrol in a course you agree not to impersonate\r\n or represent any other person than the person on the Enrolment Form. All\r\n course assessments must be completed by the enrolled customer.\r\n
\r\n
\r\n Your observer will be required to complete a comprehensive Third-Party\r\n Form that states you have been observed dealing with the practical\r\n requirements of the training. Please note – there are random checks done\r\n on the references you provide. Should you be found to be fraudulent in\r\n your information, disciplinary action will be taken. Please see this\r\n information in our student handbook link at the footer of our website at{\" \"}\r\n \r\n www.foodsafetyeducation.com.au\r\n \r\n
\r\n
\r\n Making false or misleading representation that you are another person or\r\n character is a criminal offence and can give rise to civil liability.\r\n You will also be asked to declare that the work is all yours.\r\n \r\n ),\r\n },\r\n {\r\n title: \"Legal Stuff\",\r\n content: (\r\n <>\r\n Train to Gain Pty Ltd T/A Food Safety Education has a record keeping\r\n system that ensures that student assessment records are collated and\r\n kept for a minimum of four years after the completion of a\r\n students’ course.\r\n
\r\n
\r\n This is conducted in accordance with the Principles of Assessment\r\n (primarily concerned with the retention, archiving, retrieval and\r\n transfer of records) contained in the Australian Skills Quality\r\n Authority Standards for Registered Training Organisations.\r\n
\r\n
\r\n \r\n Please click on this link to see our accreditation to do Food Safety\r\n training!\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: \"State Food Legislation\",\r\n content: (\r\n <>\r\n If you would like more information regarding the various State Food\r\n Safety legislation you can access this information at the links below.\r\n
\r\n
\r\n \r\n Click here to see our Accreditation to provide Food Safety training!\r\n \r\n
\r\n
\r\n \r\n NSW Food Safety Legislation\r\n \r\n
\r\n
\r\n \r\n Queensland Food Safety Legislation\r\n \r\n
\r\n
\r\n \r\n South Australian Food Safety Legislation\r\n \r\n
\r\n
\r\n \r\n Western Australia Food Safety Legislation\r\n \r\n
\r\n
\r\n \r\n Victorian Food Safety Legislation\r\n \r\n
\r\n
\r\n \r\n Tasmanian Food Safety Legislation\r\n \r\n
\r\n
\r\n \r\n Northern Territory Food Safety Legislation\r\n \r\n
\r\n
\r\n \r\n ACT Food Safety Legislation\r\n \r\n \r\n ),\r\n },\r\n];\r\n","import React from \"react\";\r\nexport const usi = [\r\n {\r\n title: \"What is a USI number?\",\r\n content: (\r\n <>\r\n When you start your course, you will be asked to supply your Unique\r\n Student Identifier (USI). If you don’t already have a USI\r\n you’ll be asked to create one.\r\n
\r\n
\r\n The USI is a Government initiative launched on 1st January 2015, making\r\n it compulsory for all students participating in nationally recognised\r\n training to have this unique reference ID. The reference ID is 10\r\n characters long and is comprised of numbers and letters. You can apply\r\n for a USI{\" \"}\r\n \r\n here\r\n \r\n . Once you have a USI, this unique number is assigned to you\r\n permanently.\r\n
\r\n
\r\n One of the benefits of having this USI is that you can easily access\r\n details of any nationally recognised training that you have completed by\r\n looking it up on the USI website. This means that if you lose your\r\n Statement of Attainment, can’t remember the units that formed your\r\n qualification or don’t know the name of the Registered Training\r\n Organisation (RTO) that issued your qualification it doesn’t\r\n matter, as all of this information is stored in one central location.\r\n
\r\n
\r\n In the event that we do not have your correct USI number, Train to Gain\r\n Pty Ltd T/A Food Safety Education will have the authority to use your\r\n personal details gained from Train to Gain’s enrolment form. This\r\n information will only be used to enter into the USI registry website to\r\n obtain your correct USI details.\r\n
\r\n
\r\n \r\n https://www.usi.gov.au/students\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: \"I don’t have a USI number. How do I get one?\",\r\n content: (\r\n <>\r\n Applying for a Unique Student Identifier (USI) is free of charge and\r\n just takes a few minutes to do. Begin by visiting{\" \"}\r\n \r\n https://www.usi.gov.au/\r\n \r\n
\r\n You’ll need to have a form of ID ready to complete your\r\n application. This could be any of the following:\r\n
\r\n
\r\n
    \r\n
  • Driver’s Licence
  • \r\n
  • Medicare Card
  • \r\n
  • Australian Passport
  • \r\n
  • Visa
  • \r\n
  • Australian Birth Certificate
  • \r\n
  • Certificate of Registration by Descent
  • \r\n
  • Citizenship Certificate
  • \r\n
  • Immi Card
  • \r\n
\r\n
\r\n
\r\n You’ll then need to supply some personal information including\r\n your name, date of birth, place of birth, gender and country in which\r\n you intend to study. Finally, you need to provide answers to some check\r\n questions that you will be asked the next time you try to access the\r\n website.\r\n
\r\n
\r\n Once you have completed the online form, you will be issued with a USI\r\n that can be used to access your account and check training details at\r\n any time.\r\n \r\n ),\r\n },\r\n {\r\n title: \"I’m an international student, do I need a USI?\",\r\n content: (\r\n <>\r\n If you are an International student studying in Australia you will need\r\n a USI. All international students in Australia will have been issued\r\n with an Australian Visa. Once you arrive in Australia your visa will be\r\n activated and you will be able to apply for a USI. Please Note:\r\n
\r\n
\r\n We are not registered for CRICOS. The Commonwealth Register of\r\n Institutions and Courses for Overseas Students is a register of\r\n Australian education institutions that recruit, enrol and teach overseas\r\n students. Please go to this link for further information.{\" \"}\r\n \r\n http://cricos.education.gov.au/\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: \"I’ve Forgotten my USI\",\r\n content: (\r\n <>\r\n If you have forgotten or lost your USI, you can retrieve it online. You\r\n will need to enter a few details to verify who you are to find your USI.\r\n The details must be the same as those you entered when you applied for a\r\n USI or, if you did so, when you last updated your USI account. Go to{\" \"}\r\n \r\n https://www.usi.gov.au/faqs/i-have-forgotten-my-usi\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: \"Will my USI appear on my training certificate?\",\r\n content: (\r\n <>\r\n No, under legislation your USI must not be printed on your qualification\r\n or statement of attainment.\r\n \r\n ),\r\n },\r\n {\r\n title:\r\n \"I’m not able to proceed with my enrolment but I know my USI is correct\",\r\n content: (\r\n <>\r\n You must make sure that you use the exact same name and format that you\r\n used when applying for your USI. i.e. If you used a middle name when\r\n applying for your USI, you must include your middle name when enrolling\r\n in courses, (all letters are case sensitive). Go here to get more\r\n information about this{\" \"}\r\n \r\n www.usi.gov.au\r\n \r\n \r\n ),\r\n },\r\n];\r\n","import React from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nexport const thirdParty = [\r\n {\r\n title: \"Why do I need a third-party observer?\",\r\n content: (\r\n <>\r\n Because we offer online training, we need to prove your practical skills\r\n in Food Safety and we do this by an online third-party checklist form\r\n that is emailed to your nominated observer. There are some things we\r\n can’t see you doing through your computer – such as washing your\r\n hands. This is a short form with a checklist.\r\n
\r\n
\r\n Observer reports are a fundamental part of the assessment process at\r\n Food Safety Education. It’s a mandatory requirement for our\r\n accredited Food Safety courses that students are observed performing\r\n certain tasks.\r\n \r\n ),\r\n },\r\n {\r\n title: \"Who can be my third-party observer?\",\r\n content: (\r\n <>\r\n Your observer checklist can be submitted by anyone who works in the food\r\n industry who has observed you working with food over a period of time.\r\n It could also be someone you work with currently, have worked with in\r\n the past, or someone from a community organisation where you have\r\n volunteered your time. Your observer must have sufficient skills &\r\n knowledge and is in a current supervisory role. Many places are happy to\r\n have volunteers help out in return for observing you do the tasks listed\r\n on the observer report. Your Observer can be:\r\n
\r\n
\r\n
    \r\n
  • Past or Present Supervisor/Employer/Manager
  • \r\n
  • Past or Present Volunteer Supervisor/Manager
  • \r\n
\r\n \r\n ),\r\n },\r\n {\r\n title: \"What happens after I nominate my observer?\",\r\n content: (\r\n <>\r\n Once you have entered your observers email into the enrolment form, a\r\n system generated email will be sent to your observer with the\r\n third-party checklist. The third-party checklist needs to be correctly\r\n filled out and then submitted back to us online.\r\n
\r\n
\r\n It’s important to be in contact with your observer straight away\r\n to let them know that you have nominated them for this task and request\r\n that they return the completed checklist asap.\r\n \r\n ),\r\n },\r\n {\r\n title: \"Here is an example of a Third Party Form\",\r\n content: (\r\n <>\r\n

\r\n \r\n \r\n Click here to see an example of the Third Party Form\r\n \r\n \r\n

\r\n \r\n ),\r\n },\r\n {\r\n title: \"What are the assessments?\",\r\n content: (\r\n <>\r\n There are multiple choice questions and open text answers that are\r\n required to be completed to gain competency. Case studies are included\r\n for the NSW courses only.\r\n \r\n ),\r\n },\r\n];\r\n","import React from \"react\";\r\nexport const nsw = [\r\n {\r\n title: \"I’m in NSW - What certificate do I need?\",\r\n content: (\r\n <>\r\n If you are wanting to work in a food business in NSW it is a requirement\r\n to have a specific NSW Food Safety Supervisor Certificate. We are\r\n approved and registered with the NSW Food Authority – RTO Approval\r\n Number: 25085.\r\n
\r\n
\r\n Please click on the link below for your assurance.\r\n
\r\n
\r\n \r\n http://www.foodauthority.nsw.gov.au/rp/fss-food-safety-supervisors/approved-training-providers/all-rtos\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: \"How do I get my NSW Food Safety Supervisor Certificate?\",\r\n content: (\r\n <>\r\n It’s as easy as following these 4 steps for the\r\n quickest, cheapest and most convenient way to get your NSW Food Safety\r\n Supervisor Certificate:\r\n
\r\n
\r\n
    \r\n
  1. Register
  2. \r\n
  3. \r\n Select the NSW $179 NSW Food Safety Supervisor Certificate course\r\n
  4. \r\n
  5. \r\n Make payment and enter the postal address where your NSW Food Safety\r\n Supervisor Certificate is to be posted to\r\n
  6. \r\n
  7. \r\n Start enrolment and complete online course. Third-party checklist\r\n and case studies submitted online\r\n
  8. \r\n
\r\n
\r\n
\r\n Upon completion of the course you will receive the NSW Food Safety\r\n Supervisor Certificate PLUS a Nationally Accredited Statement of\r\n Attainment that is recognised in every other State of Australia.\r\n \r\n ),\r\n },\r\n {\r\n title: \"How long does it take to do the course?\",\r\n content: (\r\n <>\r\n Depending on your level of understanding and comprehension it can take\r\n anything from three to four hours to complete. Some students have taken\r\n eight or nine hours and some, longer. There is no right answer to this\r\n question but remember, we allow you up to twelve months to complete your\r\n training.\r\n \r\n ),\r\n },\r\n {\r\n title:\r\n \"How long does it take to get the NSW Food Safety Supervisor Certificate (hard copy)?\",\r\n content: (\r\n <>\r\n We express post your NSW Food Safety Supervisor Certificate to your\r\n nominated postal address, within 5-7 business days of you having\r\n completed your online training.\r\n
\r\n
\r\n You will also receive the Nationally Recognised Statement of Attainment,\r\n which will be emailed to you automatically. This Statement of Attainment\r\n is also acceptable in all the other States of Australia.\r\n \r\n ),\r\n },\r\n {\r\n title:\r\n \"I didn’t get my NSW Food Safety Supervisor Certificate in the mail?\",\r\n content: (\r\n <>\r\n If a certificate has been deemed successfully delivered by Australia\r\n Post (or has been returned due to an incorrect or insufficient address\r\n being supplied) there will be a $45 fee charged for any reissued\r\n certificates. Please email or call our student support team to assist\r\n you further.\r\n \r\n ),\r\n },\r\n {\r\n title: \"I need a reprint of my NSW Food Safety Supervisor Certificate?\",\r\n content: (\r\n <>\r\n In your student portal you will have the option to purchase a reprint of\r\n your NSW certificate. You must have already completed your NSW\r\n certificate with Train to Gain Pty Ltd T/A Food Safety Education in\r\n order to obtain another certificate. Simply select the option for a\r\n reprint. There is a $45.00 fee. This needs to be paid online using a\r\n credit card at the time of your order. You MUST enter your name as you\r\n had previously registered with us so we can confirm that you have\r\n successfully completed the training. A current postal address is\r\n required. Your new certificate will be posted within 5-7 business days\r\n of payment.\r\n \r\n ),\r\n },\r\n {\r\n title: \"Do I need a prerequisite for this training?\",\r\n content: (\r\n <>\r\n No! There are no prerequisites for enrolling in our courses, so anyone\r\n can join.\r\n \r\n ),\r\n },\r\n {\r\n title:\r\n \"Will I get a NSW Food Safety Supervisor Certificate if I do the 3 units from the health sector?\",\r\n content: (\r\n <>\r\n NO!! The NSW Food Authority only recognises units from the hospitality\r\n and retail sector.\r\n \r\n ),\r\n },\r\n {\r\n title:\r\n \"Why does the NSW Food Safety Supervisor Certificate course cost more than the other states?\",\r\n content: (\r\n <>\r\n The NSW Food Authority have implemented their own Food Safety Supervisor\r\n Certificate that is required in NSW only.\r\n
\r\n
\r\n The costs are explained below:\r\n
\r\n
\r\n Total price for a NSW Food Safety Supervisor Certificate with us is\r\n $179.00. With Train to Gain Pty Ltd T/A Food Safety Education (RTO #\r\n 22361), there are no hidden fees or charges.\r\n
\r\n
\r\n $139 Nationally Accredited Certificate - This can be\r\n downloaded automatically at the successful completion of your course.\r\n
\r\n
\r\n $30 NSW Food Safety Supervisor Certificate - This is\r\n what the NSW Food Authority charge us!\r\n
\r\n
\r\n \r\n $10 to cover Express Postage, Administration & Handling\r\n {\" \"}\r\n - This ensures you will receive your certificate within 5 to 7 business\r\n days via express post after you have successfully completed the course.\r\n \r\n ),\r\n },\r\n {\r\n title:\r\n \"What do I do when my NSW Food Safety Supervisor certification expires?\",\r\n content: (\r\n <>\r\n The NSW Food Safety Supervisor Certificate needs to be renewed every 5\r\n years. You will need to ensure that the NSW Food Safety Supervisor\r\n Certificate is kept on the premises at all times, as council inspectors\r\n may request to view the certificate during an inspection.\r\n
\r\n
\r\n Students have up to 90 days to apply for re-certification with an\r\n approved RTO (which is us!) following the expiry of their NSW Food\r\n Safety Supervisor Certificate. Should it be left longer than 90 days,\r\n the entire course must be re-completed to provide for issue of a new NSW\r\n Food Safety Supervisor Certificate.\r\n
\r\n
\r\n NSW businesses to replace or renew a NSW Food Safety Supervisor\r\n Certificate within 30 days in the event of a NSW Food Safety Supervisor\r\n Certificate holder leaving the business, or upon expiry of the NSW Food\r\n Safety Supervisor Certificate as per NSW legislation.\r\n
\r\n
\r\n Please click on the link below to gain more information from the NSW\r\n Food Authority website.\r\n
\r\n
\r\n \r\n http://www.foodauthority.nsw.gov.au/rp/fss-food-safety-supervisors?utm_campaign=redirected\r\n \r\n \r\n ),\r\n },\r\n {\r\n title: \"How do I attain my NSW Food Safety Refresher course?\",\r\n content: (\r\n <>\r\n We offer the NSW Food Safety Refresher course for ONLY $149. If you\r\n already have a NSW Food Safety Supervisor Certificate, you can renew it\r\n online with us today! We accept previous certificates from other\r\n registered training providers as long as you have your previous NSW Food\r\n Safety Supervisor Certificate number.\r\n
\r\n
\r\n Simply:\r\n
\r\n
\r\n
    \r\n
  1. \r\n Log back in (top right) of the website or re register if you have\r\n updated your details.\r\n
  2. \r\n
  3. Select the NSW Refresher Course option.
  4. \r\n
\r\n
\r\n Please click on the link below to gain more information from the NSW\r\n Food Authority website.\r\n
\r\n
\r\n \r\n http://www.foodauthority.nsw.gov.au/rp/fss-food-safety-supervisors?utm_campaign=redirected\r\n \r\n \r\n ),\r\n },\r\n];\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport PageTagging from \"components/Common/page-tagging/page-tagging\";\r\nimport ContentSection from \"components/Common/content-section\";\r\nimport ContentCollapsiblePanel from \"components/Common/content-collapsible-panel\";\r\nimport LinkButton from \"components/link-button/link-button\";\r\n\r\nimport { general } from \"constants/faqs-content/faqs-general\";\r\nimport { usi } from \"constants/faqs-content/faqs-usi\";\r\nimport { thirdParty } from \"constants/faqs-content/faqs-third-party\";\r\nimport { nsw } from \"constants/faqs-content/faqs-nsw\";\r\n\r\nimport \"./faqs.scss\";\r\n\r\nconst FAQs = () => {\r\n const { faqPage } = useParams();\r\n\r\n const [faqContent, setFaqContent] = useState(null);\r\n\r\n useEffect(() => {\r\n switch (faqPage) {\r\n case \"usi\":\r\n setFaqContent(usi);\r\n break;\r\n case \"third-party-observer-assessment\":\r\n setFaqContent(thirdParty);\r\n break;\r\n case \"nsw-students\":\r\n setFaqContent(nsw);\r\n break;\r\n default:\r\n setFaqContent(general);\r\n break;\r\n }\r\n }, [faqPage]);\r\n\r\n return (\r\n \r\n \r\n
\r\n

Frequently Asked Questions

\r\n
\r\n {\" \"}\r\n \r\n \r\n \r\n \r\n
\r\n {faqContent && (\r\n \r\n )}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default FAQs;\r\n","/**\r\n * Survey Service\r\n */\r\nimport HttpClient from \"../../coreLib/http/httpClient\";\r\n\r\nconst CourseCompletedService = () => {\r\n let httpClient = HttpClient();\r\n\r\n const getStatus = courseContentToken => {\r\n let promise1 = httpClient.get(\r\n `/v1/userCourse/${courseContentToken}/status`\r\n );\r\n let promise2 = httpClient.get(\r\n `/v1/userCourse/${courseContentToken}/course`\r\n );\r\n\r\n let promiseDeferred = new Promise((resolve, reject) => {\r\n Promise.all([promise1, promise2])\r\n .then(values => {\r\n const result = {\r\n data: {\r\n status: values[0].data,\r\n courseInfo: values[1].data\r\n }\r\n };\r\n\r\n resolve(result);\r\n })\r\n .catch(err => reject(err));\r\n });\r\n\r\n return promiseDeferred;\r\n };\r\n\r\n return {\r\n getStatus\r\n };\r\n};\r\n\r\nexport default CourseCompletedService;\r\n","export const surveyQuestions = [\r\n {\r\n questionId: 1,\r\n question: \"I developed the skills expected from this training.\"\r\n },\r\n {\r\n questionId: 2,\r\n question: \"I identified ways to build on my current knowledge and skills.\"\r\n },\r\n {\r\n questionId: 3,\r\n question: \"The training focused on relevant skills.\"\r\n },\r\n {\r\n questionId: 4,\r\n question: \"I developed the knowledge expected from this training.\"\r\n },\r\n {\r\n questionId: 5,\r\n question: \"The training prepared me well for work.\"\r\n },\r\n {\r\n questionId: 6,\r\n question: \"I set high standards for myself in this training.\"\r\n },\r\n {\r\n questionId: 7,\r\n question: \"The training had a good mix of theory and practice.\"\r\n },\r\n {\r\n questionId: 8,\r\n question: \"I looked for my own resources to help me learn.\"\r\n },\r\n {\r\n questionId: 9,\r\n question: \"Overall, I am satisfied with the training.\"\r\n },\r\n {\r\n questionId: 10,\r\n question: \"I would recommend the training organisation to others.\"\r\n },\r\n {\r\n questionId: 11,\r\n question: \"Training organisation staff respected my background and needs.\"\r\n },\r\n {\r\n questionId: 12,\r\n question: \"I pushed myself to understand things I found confusing.\"\r\n },\r\n {\r\n questionId: 13,\r\n question: \"Trainers had an excellent knowledge of the subject content.\"\r\n },\r\n {\r\n questionId: 14,\r\n question: \"I received useful feedback on my assessments.\"\r\n },\r\n {\r\n questionId: 15,\r\n question:\r\n \"The way I was assessed was a fair test of my skills and knowledge.\"\r\n },\r\n {\r\n questionId: 16,\r\n question: \"I learned to work with people.\"\r\n },\r\n {\r\n questionId: 17,\r\n question: \"The training was at the right level of difficulty for me.\"\r\n },\r\n {\r\n questionId: 18,\r\n question: \"The amount of work I had to do was reasonable.\"\r\n },\r\n {\r\n questionId: 19,\r\n question: \"Assessments were based on realistic activities.\"\r\n },\r\n {\r\n questionId: 20,\r\n question: \"It was always easy to know the standards expected.\"\r\n },\r\n {\r\n questionId: 21,\r\n question: \"Training facilities and materials were in good condition.\"\r\n },\r\n {\r\n questionId: 22,\r\n question: \"I usually had a clear idea of what was expected of me.\"\r\n },\r\n {\r\n questionId: 23,\r\n question: \"Trainers explained things clearly.\"\r\n },\r\n {\r\n questionId: 24,\r\n question:\r\n \"The training organisation had a range of services to support learners.\"\r\n },\r\n {\r\n questionId: 25,\r\n question: \"I learned to plan and manage my work.\"\r\n },\r\n {\r\n questionId: 26,\r\n question:\r\n \"The training used up-to-date equipment, facilities and materials.\"\r\n },\r\n {\r\n questionId: 27,\r\n question: \"I approached trainers if I needed help.\"\r\n },\r\n {\r\n questionId: 28,\r\n question: \"Trainers made the subject as interesting as possible.\"\r\n },\r\n {\r\n questionId: 29,\r\n question: \"I would recommend the training to others.\"\r\n },\r\n {\r\n questionId: 30,\r\n question:\r\n \"The training organisation gave appropriate recognition of existing knowledge and skills.\"\r\n },\r\n {\r\n questionId: 31,\r\n question: \"Training resources were available when I needed them.\"\r\n },\r\n {\r\n questionId: 32,\r\n question: \"I was given enough material to keep up my interest.\"\r\n },\r\n {\r\n questionId: 33,\r\n question: \"The training was flexible enough to meet my needs.\"\r\n },\r\n {\r\n questionId: 34,\r\n question: \"Trainers encouraged learners to ask questions.\"\r\n },\r\n {\r\n questionId: 35,\r\n question:\r\n \"Trainers made it clear right from the start what they expected from me.\"\r\n }\r\n];\r\n","/**\r\n * Action Creator definitions\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\nimport { addNotification } from \"../../../redux/system/system-action-creators\";\r\nimport CourseCompletedService from \"./../course-completed-service\";\r\nimport { surveyQuestions } from \"./../../../constants/survey-content\";\r\n\r\n// ----------------------------\r\n// Actions\r\n// ----------------------------\r\n\r\nexport const loadData = (courseContentToken, history) => {\r\n return dispatch => {\r\n dispatch(loadDataRequest());\r\n\r\n const service = CourseCompletedService();\r\n\r\n service\r\n .getStatus(courseContentToken)\r\n .then(resp => {\r\n const { hasCompleted, thirdPartyFormCompleted } = resp.data.status;\r\n const { courseTitle, courseId } = resp.data.courseInfo;\r\n\r\n //if (!hasCompleted || (hasCompleted && thirdPartyFormCompleted)) {\r\n if (!hasCompleted) {\r\n history.push(`/course-content/${courseContentToken}`);\r\n } else {\r\n let payload = {\r\n hasBeenCompleted: hasCompleted,\r\n thirdPartyFormCompleted: thirdPartyFormCompleted,\r\n courseTitle: courseTitle,\r\n courseId: courseId,\r\n courseContentToken: courseContentToken\r\n };\r\n\r\n dispatch(loadDataSuccess(payload));\r\n }\r\n })\r\n .catch(err => {\r\n console.error(err);\r\n dispatch(loadDataFailure(err));\r\n dispatch(\r\n addNotification(\"Unable to load data for this page.\", \"error\")\r\n );\r\n });\r\n };\r\n};\r\n\r\nconst loadDataRequest = () => ({\r\n type: ActionTypes.SURVEY_COURSE_COMPLETED_LOAD_DATA_REQUEST\r\n});\r\n\r\nconst loadDataSuccess = payload => ({\r\n type: ActionTypes.SURVEY_COURSE_COMPLETED_LOAD_DATA_SUCCESS,\r\n payload: {\r\n ...payload\r\n }\r\n});\r\n\r\nconst loadDataFailure = err => ({\r\n type: ActionTypes.SURVEY_COURSE_COMPLETED_LOAD_DATA_FAILURE,\r\n payload: err\r\n});\r\n","import React, { useEffect } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport PageTitle from \"../../components/Common/Page-Title/Page-Title\";\r\nimport { Button } from \"reactstrap\";\r\nimport \"./course-completed.scss\";\r\nimport ContentSection from \"../../components/Content-Section/index\";\r\nimport BlockUiFx from \"./../../components/Common/Block-Ui-Fx/Block-Ui-Fx\";\r\n\r\nconst NswCertificateMessage = (props) => {\r\n const { courseId } = props;\r\n if (parseInt(courseId) === 6)\r\n return (\r\n

\r\n Your NSW Food Safety Supervisor Certificate will be posted to you within\r\n 7 business days\r\n

\r\n );\r\n\r\n return null;\r\n};\r\n\r\nconst CourseCompleted = (props) => {\r\n const {\r\n courseTitle,\r\n hasBeenCompleted,\r\n thirdPartyFormCompleted,\r\n courseId,\r\n loadData,\r\n isLoading,\r\n onRedirectToThirdParty,\r\n courseContentToken,\r\n } = props;\r\n\r\n useEffect(() => {\r\n loadData();\r\n }, []);\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n {hasBeenCompleted && !thirdPartyFormCompleted && (\r\n <>\r\n

Well done, almost there...

\r\n

\r\n We are still waiting for your observer to complete your third\r\n party form.\r\n

\r\n

\r\n Please contact your observer and ask them to complete your third\r\n party form. If they have lost or deleted their email with your\r\n third party form link, you can resend it by clicking the 'View\r\n Third Party Form' button below, then click the 'Email this form\r\n to your Observer' button on your third party form.\r\n

\r\n \r\n \r\n )}\r\n {hasBeenCompleted && thirdPartyFormCompleted && (\r\n <>\r\n

Congratulations!

\r\n

\r\n You have successfully completed the test for:\r\n

\r\n
{courseTitle}
\r\n \r\n \r\n Download Certificate\r\n \r\n \r\n )}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default CourseCompleted;\r\n","import { connect } from \"react-redux\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport * as actionCreators from \"./redux/action-creators\";\r\nimport CourseCompleted from \"./Course-Completed\";\r\nimport { selectCourseCompleted } from \"./redux/reducer\";\r\n\r\nfunction mapStateToProps(state) {\r\n const stateData = selectCourseCompleted(state);\r\n\r\n return {\r\n hasBeenCompleted: stateData.hasBeenCompleted,\r\n thirdPartyFormCompleted: stateData.thirdPartyFormCompleted,\r\n courseTitle: stateData.courseTitle,\r\n courseId: stateData.courseId,\r\n isLoading: stateData.isLoading\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => ({\r\n dispatch: dispatch,\r\n history: ownProps.history,\r\n courseContentToken: ownProps.match.params.id\r\n});\r\n\r\nconst mergeFormProps = (stateProps, dispatchProps) => ({\r\n ...stateProps,\r\n ...dispatchProps,\r\n loadData: () => {\r\n dispatchProps.dispatch(\r\n actionCreators.loadData(\r\n dispatchProps.courseContentToken,\r\n dispatchProps.history\r\n )\r\n );\r\n },\r\n onRedirectToThirdParty: () => {\r\n dispatchProps.history.push(\r\n `/third-party-form/${dispatchProps.courseContentToken}`\r\n );\r\n }\r\n});\r\n\r\nconst CourseCompletedContainer = withRouter(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n mergeFormProps\r\n )(CourseCompleted)\r\n);\r\n\r\nexport default CourseCompletedContainer;\r\n","/**\r\n * Survey Service\r\n */\r\nimport HttpClient from \"./../../coreLib/http/httpClient\";\r\n\r\nconst CourseSurveyService = () => {\r\n let httpClient = HttpClient();\r\n\r\n const getCourseId = courseContentToken =>\r\n httpClient.get(`/v1/userCourse/${courseContentToken}/ids`);\r\n\r\n const getStatus = courseContentToken =>\r\n httpClient.get(`/v1/userCourse/${courseContentToken}/status`);\r\n\r\n const getSurveys = courseContentToken => {\r\n let promise1 = getCourseId(courseContentToken);\r\n let promise2 = getStatus(courseContentToken);\r\n\r\n let promiseDeferred = new Promise((resolve, reject) => {\r\n Promise.all([promise1, promise2])\r\n .then(resp => {\r\n httpClient\r\n .get(`/v1/survey/${resp[0].data.userCourseId}`)\r\n .then(result => {\r\n resolve({\r\n ...result.data,\r\n userCourseId: resp[0].data.userCourseId,\r\n status: resp[1].data\r\n });\r\n })\r\n .catch(e => reject(e));\r\n })\r\n .catch(err => reject(err));\r\n });\r\n\r\n return promiseDeferred;\r\n };\r\n\r\n const createSurvey = data => {\r\n let payload = {\r\n userCourseId: data.userCourseId,\r\n bestAspects: data.bestAspects,\r\n needImprovement: data.needImprovement,\r\n undertakingApprenticeshipOrTraineeship: data.uat === \"1\",\r\n rpl: data.rpl === \"1\",\r\n surveyResponses: data.surveyResponses\r\n };\r\n\r\n return httpClient.post(\"v1/survey\", payload);\r\n };\r\n\r\n const updateSurvey = (surveyId, data) => {\r\n let payload = {\r\n userCourseId: data.userCourseId,\r\n bestAspects: data.bestAspects,\r\n needImprovement: data.needImprovement,\r\n undertakingApprenticeshipOrTraineeship: data.uat === \"1\",\r\n rpl: data.rpl === \"1\",\r\n surveyResponses: data.surveyResponses\r\n };\r\n\r\n return httpClient.put(`v1/survey/${surveyId}`, payload);\r\n };\r\n\r\n return {\r\n getCourseId,\r\n getSurveys,\r\n createSurvey,\r\n updateSurvey\r\n };\r\n};\r\n\r\nexport default CourseSurveyService;\r\n","/**\r\n * Action Creator definitions\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\nimport { addNotification } from \"../../../redux/system/system-action-creators\";\r\nimport CourseSurveyService from \"./../course-survey-service\";\r\nimport { surveyQuestions } from \"./../../../constants/survey-content\";\r\n\r\n// ----------------------------\r\n// Actions\r\n// ----------------------------\r\n\r\nexport const loadData = (courseContentToken, history) => {\r\n return dispatch => {\r\n dispatch(loadDataRequest());\r\n\r\n const service = CourseSurveyService();\r\n\r\n service\r\n .getSurveys(courseContentToken)\r\n .then(resp => {\r\n const payload = {\r\n ...resp,\r\n surveyQuestions\r\n };\r\n\r\n if (!payload.status.hasCompleted) {\r\n history.push(`/course-content/${courseContentToken}`);\r\n } else {\r\n dispatch(loadDataSuccess(payload));\r\n }\r\n })\r\n .catch(err => {\r\n console.error(err);\r\n dispatch(loadDataFailure(err));\r\n dispatch(addNotification(\"Unable to load survey.\", \"error\"));\r\n });\r\n };\r\n};\r\n\r\nconst loadDataRequest = () => ({\r\n type: ActionTypes.SURVEY_LOAD_DATA_REQUEST\r\n});\r\n\r\nconst loadDataSuccess = payload => ({\r\n type: ActionTypes.SURVEY_LOAD_DATA_SUCCESS,\r\n payload: {\r\n ...payload\r\n }\r\n});\r\n\r\nconst loadDataFailure = err => ({\r\n type: ActionTypes.SURVEY_LOAD_DATA_FAILURE,\r\n payload: err\r\n});\r\n\r\nexport const formInputChange = (name, value, error) => ({\r\n type: ActionTypes.SURVEY_FORM_INPUT_CHANGE,\r\n payload: {\r\n name: name,\r\n value: value,\r\n error: error\r\n }\r\n});\r\n\r\n// =======================\r\n// Survey Create\r\n// =======================\r\n\r\nexport const createSurvey = (data, history, courseContentToken) => {\r\n return dispatch => {\r\n dispatch(createSurveyRequest());\r\n\r\n // Build questionnaires\r\n const answeredQuestions = sanitizeAnsweredQuestions(data.fields);\r\n let result = getQuestionsToSubmit(surveyQuestions, answeredQuestions);\r\n let payload = {\r\n userCourseId: data.userCourseId,\r\n bestAspects: data.fields.bestAspects,\r\n needImprovement: data.fields.needImprovement,\r\n undertakingApprenticeshipOrTraineeship: data.fields.uat === \"1\",\r\n rpl: data.fields.rpl === \"1\",\r\n surveyResponses: [...result]\r\n };\r\n\r\n const service = CourseSurveyService();\r\n service\r\n .createSurvey(payload)\r\n .then(resp => {\r\n dispatch(createSurveySuccess());\r\n history.push(`/course-completed/${courseContentToken}`);\r\n })\r\n .catch(err => {\r\n console.error(err);\r\n dispatch(createSurveyFailure(err));\r\n dispatch(addNotification(\"Unable to save survey.\", \"error\"));\r\n });\r\n };\r\n};\r\n\r\nconst createSurveyRequest = () => ({\r\n type: ActionTypes.SURVEY_SUBMIT_REQUEST\r\n});\r\n\r\nconst createSurveySuccess = payload => ({\r\n type: ActionTypes.SURVEY_SUBMIT_SUCCESS,\r\n payload: {\r\n ...payload\r\n }\r\n});\r\n\r\nconst createSurveyFailure = err => ({\r\n type: ActionTypes.SURVEY_SUBMIT_FAILURE,\r\n payload: err\r\n});\r\n\r\nconst getQuestionsToSubmit = (questions, answeredQuestions) => {\r\n let result = questions.map(o => {\r\n let qr = answeredQuestions.find(x => x.questionId == o.questionId);\r\n return {\r\n questionId: o.questionId,\r\n response: qr ? qr.response : null\r\n };\r\n });\r\n\r\n return result;\r\n};\r\n\r\nconst sanitizeAnsweredQuestions = answeredQuestions => {\r\n let aq = Object.keys(answeredQuestions)\r\n .filter(k => k.split(\"-\")[0] == \"question\")\r\n .map(k => {\r\n return {\r\n questionId: k.split(\"-\")[1],\r\n response: answeredQuestions[k]\r\n };\r\n });\r\n\r\n return aq;\r\n};\r\n\r\n// =======================\r\n// Survey Update\r\n// =======================\r\n\r\nexport const updateSurvey = (surveyId, data, history, courseContentToken) => {\r\n return dispatch => {\r\n dispatch(updateSurveyRequest());\r\n\r\n // Build questionnaires\r\n const answeredQuestions = sanitizeAnsweredQuestions(data.fields);\r\n let result = getQuestionsToSubmit(surveyQuestions, answeredQuestions);\r\n let payload = {\r\n userCourseId: data.userCourseId,\r\n bestAspects: data.fields.bestAspects,\r\n needImprovement: data.fields.needImprovement,\r\n uat: data.fields.uat,\r\n rpl: data.fields.rpl,\r\n surveyResponses: [...result]\r\n };\r\n\r\n const service = CourseSurveyService();\r\n service\r\n .updateSurvey(surveyId, payload)\r\n .then(resp => {\r\n dispatch(updateSurveySuccess());\r\n history.push(`/course-completed/${courseContentToken}`);\r\n })\r\n .catch(err => {\r\n console.error(err);\r\n dispatch(updateSurveyFailure(err));\r\n dispatch(addNotification(\"Unable to update survey.\", \"error\"));\r\n });\r\n };\r\n};\r\n\r\nconst updateSurveyRequest = () => ({\r\n type: ActionTypes.SURVEY_SUBMIT_REQUEST\r\n});\r\n\r\nconst updateSurveySuccess = payload => ({\r\n type: ActionTypes.SURVEY_SUBMIT_SUCCESS,\r\n payload: {\r\n ...payload\r\n }\r\n});\r\n\r\nconst updateSurveyFailure = err => ({\r\n type: ActionTypes.SURVEY_SUBMIT_FAILURE,\r\n payload: err\r\n});\r\n","import React, { useEffect } from \"react\";\r\nimport PageTitle from \"../../components/Common/Page-Title/Page-Title\";\r\nimport { Table, Input, Form, FormGroup, Label, Button } from \"reactstrap\";\r\nimport ContentSection from \"components/Common/content-section\";\r\nimport \"./course-survey.scss\";\r\nimport RadioButtonList from \"./../../components/Common/Fields/Radio-Button-List\";\r\nimport InputField from \"./../../components/Common/Fields/Input-Field\";\r\nimport { required } from \"../../components/Common/Fields/Validators/Field-Validators\";\r\nimport BlockUiFx from \"./../../components/Common/Block-Ui-Fx/Block-Ui-Fx\";\r\nimport ButtonFx from \"./../../components/Common/Button-Fx/Button-Fx\";\r\nimport formHandler from \"./../../components/Common/Fields/form-handler\";\r\nimport KeyboardEventHandler from \"react-keyboard-event-handler\";\r\n\r\nconst CourseSurvey = (props) => {\r\n const {\r\n aatItems,\r\n rplItems,\r\n surveyQuestions,\r\n isLoading,\r\n onSubmit,\r\n onFieldError,\r\n onInputChange,\r\n loadData,\r\n validate,\r\n fields,\r\n match,\r\n } = props;\r\n\r\n const form = formHandler();\r\n\r\n useEffect(() => {\r\n let userCourseToken = match.params.id;\r\n loadData(userCourseToken);\r\n }, []);\r\n\r\n const RenderQuestionnaires = (props) => {\r\n const isChecked = (id, compareTo) => {\r\n let result =\r\n props.fields[id] != null && props.fields[id] === compareTo\r\n ? true\r\n : false;\r\n return result;\r\n };\r\n\r\n const questions = props.src.map((o, i) => (\r\n \r\n {o.question}\r\n \r\n {/* Strongly Agree */}\r\n \r\n props.onInputChange({\r\n name: e.target.name,\r\n value: parseInt(e.target.value),\r\n error: false,\r\n })\r\n }\r\n />\r\n \r\n Strongly Agree\r\n \r\n \r\n \r\n {/* Agree */}\r\n \r\n props.onInputChange({\r\n name: e.target.name,\r\n value: parseInt(e.target.value),\r\n error: false,\r\n })\r\n }\r\n />\r\n \r\n Agree\r\n \r\n \r\n \r\n {/* Disagree */}\r\n \r\n props.onInputChange({\r\n name: e.target.name,\r\n value: parseInt(e.target.value),\r\n error: false,\r\n })\r\n }\r\n />\r\n \r\n Disagree\r\n \r\n \r\n \r\n {/* Strongly Disagree */}\r\n \r\n props.onInputChange({\r\n name: e.target.name,\r\n value: parseInt(e.target.value),\r\n error: false,\r\n })\r\n }\r\n />\r\n \r\n Strongly Disagree\r\n \r\n \r\n \r\n ));\r\n return questions;\r\n };\r\n\r\n return (\r\n \r\n \r\n {!isLoading ? (\r\n
\r\n \r\n
\r\n

Survey

\r\n

\r\n Thanks! We really appreciate you filling in this form as much as\r\n you can, it helps us improve our service to you.\r\n

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n <>\r\n \r\n \r\n \r\n
\r\n Strongly Agree\r\n \r\n Agree\r\n \r\n Disagree\r\n \r\n Strongly Disagree\r\n
\r\n \r\n \r\n required(\"Best aspects\", val)}\r\n onFieldError={onFieldError}\r\n onChange={onInputChange}\r\n ref={form.add}\r\n />\r\n \r\n \r\n \r\n required(\"Need of Improvement\", val)}\r\n onFieldError={onFieldError}\r\n onChange={onInputChange}\r\n ref={form.add}\r\n />\r\n \r\n \r\n \r\n
\r\n \r\n val === \"-1\"\r\n ? \"Apprenticeship and Traineeship are required.\"\r\n : false\r\n }\r\n ref={form.add}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n val === \"-1\" ? \"RPL is required.\" : false\r\n }\r\n ref={form.add}\r\n />\r\n
\r\n
\r\n
\r\n \r\n form.validate({\r\n validFn: () => onSubmit(),\r\n })\r\n }\r\n >\r\n Submit\r\n \r\n
\r\n \r\n form.validate({ validFn: () => onSubmit() })\r\n }\r\n />\r\n \r\n
\r\n
\r\n
\r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default CourseSurvey;\r\n","import { connect } from \"react-redux\";\r\nimport * as actionCreators from \"./redux/action-creators\";\r\nimport CourseSurvey from \"./Course-Survey\";\r\nimport { addNotification } from \"../../redux/system/system-action-creators\";\r\nimport { selectSurvey } from \"./redux/reducer\";\r\n\r\nfunction mapStateToProps(state) {\r\n const surveyStateData = selectSurvey(state);\r\n\r\n return {\r\n userCourseId: surveyStateData.userCourseId,\r\n surveyId: surveyStateData.surveyId,\r\n surveyQuestions: surveyStateData.surveyQuestions,\r\n aatItems: surveyStateData.yesNoLookups,\r\n rplItems: surveyStateData.yesNoLookups,\r\n fields: surveyStateData.fields,\r\n fieldErrors: surveyStateData.fieldErrors,\r\n\r\n isLoading: surveyStateData.isLoading\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => ({\r\n onFieldError: error => dispatch(addNotification(error, \"Error\")),\r\n onInputChange: ({ name, value, error }) => {\r\n dispatch(actionCreators.formInputChange(name, value, error));\r\n },\r\n dispatch: dispatch,\r\n history: ownProps.history,\r\n match: ownProps.match\r\n});\r\n\r\nconst mergeFormProps = (stateProps, dispatchProps) => ({\r\n ...stateProps,\r\n ...dispatchProps,\r\n loadData: courseContentToken => {\r\n dispatchProps.dispatch(\r\n actionCreators.loadData(courseContentToken, dispatchProps.history)\r\n );\r\n },\r\n onSubmit: () => {\r\n if (validate(stateProps)) return;\r\n\r\n if (!stateProps.surveyId) {\r\n const createPayload = {\r\n userCourseId: stateProps.userCourseId,\r\n fields: stateProps.fields\r\n };\r\n\r\n dispatchProps.dispatch(\r\n actionCreators.createSurvey(\r\n createPayload,\r\n dispatchProps.history,\r\n dispatchProps.match.params.id\r\n )\r\n );\r\n } else {\r\n const updatePayload = {\r\n userCourseId: stateProps.userCourseId,\r\n fields: stateProps.fields\r\n };\r\n\r\n dispatchProps.dispatch(\r\n actionCreators.updateSurvey(\r\n stateProps.surveyId,\r\n updatePayload,\r\n dispatchProps.history,\r\n dispatchProps.match.params.id\r\n )\r\n );\r\n }\r\n },\r\n validate: () => {\r\n return validate(stateProps);\r\n }\r\n});\r\n\r\nconst validate = stateProps => {\r\n const fields = stateProps.fields;\r\n const fieldErrors = stateProps.fieldErrors;\r\n const errMessages = Object.keys(fieldErrors).filter(k => fieldErrors[k]);\r\n\r\n if (!fields.bestAspects) return true;\r\n if (!fields.needImprovement) return true;\r\n if (!fields.uat || fields.uat === \"-1\") return true;\r\n if (!fields.rpl || fields.rpl === \"-1\") return true;\r\n\r\n if (errMessages.length > 0) return true;\r\n\r\n return false;\r\n};\r\n\r\nconst CourseSurveyContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n mergeFormProps\r\n)(CourseSurvey);\r\n\r\nexport default CourseSurveyContainer;\r\n","import HttpClient from \"coreLib/http/httpClient\";\r\nimport CryptoJS from \"crypto-js\";\r\nimport Config from \"config\";\r\n\r\nconst ApiService = () => {\r\n const httpClient = HttpClient();\r\n\r\n const getCourseContentGuide = async (courseContentToken) => {\r\n return await httpClient\r\n .get(`/v1/usercourse/${courseContentToken}/content-guides`)\r\n .then((resp) => {\r\n var data = decryptPayload(\r\n resp.data,\r\n Config.crypto_key,\r\n Config.crypto_vector\r\n );\r\n return data;\r\n });\r\n };\r\n\r\n const decryptPayload = (encryptedPayload, secretKey, vector) => {\r\n try {\r\n const ciphertext = CryptoJS.enc.Base64.parse(encryptedPayload);\r\n const key = CryptoJS.enc.Utf8.parse(secretKey);\r\n const initializationVector = CryptoJS.enc.Utf8.parse(vector);\r\n\r\n const decrypted = CryptoJS.AES.decrypt({ ciphertext }, key, {\r\n iv: initializationVector,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.Pkcs7,\r\n });\r\n\r\n const decryptedPayload = decrypted.toString(CryptoJS.enc.Utf8);\r\n const json = JSON.parse(decryptedPayload);\r\n\r\n return json;\r\n } catch (error) {\r\n console.error(\"Error decrypting payload:\", error.message);\r\n }\r\n };\r\n\r\n return { getCourseContentGuide };\r\n};\r\n\r\nexport default ApiService;\r\n","import React, { Component } from \"react\";\r\nimport ContentSection from \"../../components/Content-Section\";\r\nimport ResponsiveHtml from \"components/Common/responsive-html-renderer/responsive-html\";\r\nimport ApiService from \"./services/api-service\";\r\n\r\nclass PrintCourseContentGuide extends Component {\r\n state = {\r\n sectionId: 0,\r\n sections: [],\r\n sectionCount: 0,\r\n };\r\n\r\n componentDidMount() {\r\n const { match } = this.props;\r\n this.loadCourseContent(match.params.token);\r\n }\r\n\r\n loadCourseContent = async (userCourseToken) => {\r\n const apiService = ApiService();\r\n\r\n const contentGuide = await apiService.getCourseContentGuide(\r\n userCourseToken\r\n );\r\n\r\n const sectionCount = contentGuide.sections.length;\r\n\r\n let sections = [];\r\n\r\n for (let i = 1; i <= sectionCount; i++) {\r\n const section = this.getSection(contentGuide.sections, i);\r\n\r\n if (section != null) {\r\n sections.push(section);\r\n }\r\n }\r\n\r\n this.setState({\r\n sections: sections,\r\n sectionCount: sectionCount,\r\n });\r\n };\r\n\r\n getSection = (sections, sectionNumber) => {\r\n return sections.find((x) => x.sectionId === sectionNumber);\r\n };\r\n\r\n getSectionStyle = (sectionNumber) => {\r\n return sectionNumber === 0 ? {} : { paddingTop: \"160px\" };\r\n };\r\n\r\n getTableOfContents = () => {\r\n let items = [];\r\n\r\n for (let i = 1; i <= this.state.sections.length; i++) {\r\n items.push(\r\n
  • \r\n Section {i}\r\n
  • \r\n );\r\n }\r\n\r\n items.push(\r\n
  • \r\n How to save for offline use\r\n
  • \r\n );\r\n\r\n return items;\r\n };\r\n\r\n render() {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n

    Table of Contents

    \r\n
      {this.getTableOfContents()}
    \r\n
    \r\n\r\n {this.state.sections.map((section, a) => (\r\n
    \r\n {section.content.map((content, i) => (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n ))}\r\n
    \r\n ))}\r\n\r\n
    \r\n \r\n

    How to save for offline use

    \r\n

    \r\n You can come back to the Food Safety Education website anytime to\r\n access your course guide. We would encourage you not save or print\r\n this material as it does change from time to time. By coming back,\r\n you are always guaranteed to have access to the very latest course\r\n guide.\r\n

    \r\n

    \r\n If you wish to save a copy to read later, you can save this page,\r\n or print to PDF. If you are using a browser, such as Google\r\n Chrome, you can save the page to read later.{\" \"}\r\n \r\n Click here for instructions on how to save this page in Google\r\n Chrome\r\n \r\n .\r\n

    \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default PrintCourseContentGuide;\r\n","import React, { Component } from \"react\";\r\nimport {\r\n Modal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n Form,\r\n Row,\r\n Col,\r\n FormGroup,\r\n} from \"reactstrap\";\r\nimport { userTypes } from \"../../../../constants\";\r\nimport formHandler from \"../../../../components/Common/Fields/form-handler\";\r\nimport \"../../../../components/Common/Fields/Fields.scss\";\r\nimport ButtonFx from \"../../../../components/Common/Button-Fx/Button-Fx\";\r\nimport InputField from \"../../../../components/Common/Fields/Input-Field\";\r\nimport SelectField from \"../../../../components/Common/Fields/Select-Field\";\r\nimport * as validators from \"../../../../components/Common/Fields/Validators/Field-Validators\";\r\n\r\nconst emailValidator = (fieldName, value) => {\r\n if (validators.required(fieldName, value))\r\n return validators.required(fieldName, value);\r\n if (validators.email(value)) return validators.email(value);\r\n\r\n return false;\r\n};\r\n\r\nconst validateSelect = (fieldName, value) => {\r\n if (validators.required(fieldName, value) || value === \"-1\") {\r\n return `${fieldName} is required.`;\r\n }\r\n return false;\r\n};\r\n\r\nexport default class EditUserModal extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n const {\r\n toggleEditDialog,\r\n onFieldError,\r\n onDialogInputChange,\r\n onEdit,\r\n dialogs,\r\n isProcessing,\r\n fields,\r\n } = this.props;\r\n const { firstName, lastName, email, active, userType } = fields;\r\n const form = formHandler();\r\n return (\r\n
    \r\n \r\n toggleEditDialog()}>Edit User\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n validators.required(\"First Name\", val)}\r\n onFieldError={onFieldError}\r\n onChange={onDialogInputChange}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n validators.required(\"Last Name\", val)}\r\n onFieldError={onFieldError}\r\n onChange={onDialogInputChange}\r\n />\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n emailValidator(\"Email\", val)}\r\n onFieldError={onFieldError}\r\n onChange={onDialogInputChange}\r\n />\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n validateSelect(\"Active\", val)}\r\n value={active}\r\n onFieldError={onFieldError}\r\n onChange={onDialogInputChange}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n validateSelect(\"User type\", val)}\r\n value={userType}\r\n onFieldError={onFieldError}\r\n onChange={onDialogInputChange}\r\n >\r\n \r\n {userTypes.map((type) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n form.validate({\r\n validFn: () => {\r\n onEdit(fields);\r\n },\r\n })\r\n }\r\n className=\"ttg-btn\"\r\n isLoading={isProcessing}\r\n >\r\n Save\r\n \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\";\r\nimport ButtonFx from \"../../../../components/Common/Button-Fx/Button-Fx\";\r\n\r\nexport default class EditUserModal extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n const {\r\n dialogs,\r\n toggleDeleteDialog,\r\n fields,\r\n onDelete,\r\n isProcessing\r\n } = this.props;\r\n return (\r\n
    \r\n \r\n toggleDeleteDialog()}>\r\n Delete Use\r\n \r\n \r\n
    \r\n Are you sure you want to delete this user? Please note, this will\r\n delete any courses or vouchers attached to this user. This cannot\r\n be undone.\r\n
    \r\n
    \r\n \r\n {\r\n onDelete(fields);\r\n }}\r\n className=\"ttg-btn\"\r\n isLoading={isProcessing}\r\n >\r\n Delete\r\n \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n","import SolvableDataTable from \"../../../components/solvable-datatable/solvable-datatable\";\r\nimport BlockUiFx from \"../../../components/Common/Block-Ui-Fx/Block-Ui-Fx\";\r\nimport React, { Component } from \"react\";\r\nimport EditDialog from \"./Modals/edit\";\r\nimport DeleteDialog from \"./Modals/delete\";\r\n\r\nclass DataTable extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n settings: {},\r\n };\r\n this.actionButtonHandler = this.actionButtonHandler.bind(this);\r\n }\r\n\r\n onSettingsChanged = (settings) => {\r\n this.setState({ settings });\r\n };\r\n\r\n columns = [\r\n {\r\n Header: \"First Name\",\r\n accessor: \"firstName\",\r\n searchable: true,\r\n },\r\n {\r\n accessor: \"userId\",\r\n show: false,\r\n },\r\n {\r\n accessor: \"loginAsUserToken\",\r\n show: false,\r\n },\r\n {\r\n Header: \"Last Name\",\r\n accessor: \"lastName\",\r\n searchable: true,\r\n },\r\n {\r\n Header: \"Email\",\r\n accessor: \"email\",\r\n searchable: true,\r\n },\r\n {\r\n Header: \"Active\",\r\n accessor: \"active\",\r\n searchable: true,\r\n },\r\n {\r\n Header: \"User Type\",\r\n accessor: \"userType\",\r\n searchable: true,\r\n },\r\n {\r\n Header: \"Date Registered\",\r\n accessor: \"registeredDateTime\",\r\n searchable: true,\r\n },\r\n {\r\n Header: \"Last Login\",\r\n accessor: \"lastLoginDateTime\",\r\n searchable: true,\r\n },\r\n ];\r\n\r\n actionButtonHandler = (evt) => {\r\n const { toggleEditDialog, toggleDeleteDialog } = this.props;\r\n switch (evt.type) {\r\n case \"button1\":\r\n toggleEditDialog(evt.data);\r\n break;\r\n case \"button2\":\r\n toggleDeleteDialog(evt.data);\r\n break;\r\n case \"button3\":\r\n this.props.history.push(`/Admin/User-Courses/${evt.data.userId}`);\r\n break;\r\n }\r\n };\r\n\r\n render() {\r\n const {\r\n toggleEditDialog,\r\n toggleDeleteDialog,\r\n onFieldError,\r\n onDelete,\r\n onEdit,\r\n dataTable,\r\n dialog,\r\n onSettingsChanged,\r\n onDialogInputChange,\r\n } = this.props;\r\n const { data, isProcessing, settings } = dataTable;\r\n const { dialogs, fields, isProcessing: isDialogProcessing } = dialog;\r\n return (\r\n
    \r\n \r\n \r\n \r\n {\r\n return `/login/${row.userId}/${row.loginAsUserToken}`;\r\n },\r\n },\r\n ],\r\n }}\r\n keepSettings={true}\r\n stateSettings={settings}\r\n onSettingsChanged={onSettingsChanged}\r\n onActionButtonClick={this.actionButtonHandler}\r\n data={data}\r\n />\r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default DataTable;\r\n","import React, { Component } from \"react\";\r\nimport Select from \"react-select\";\r\nimport PropTypes from \"prop-types\";\r\nimport \"./Fields.scss\";\r\nimport debounce from \"lodash/debounce\";\r\n\r\nconst EVENT_DEBOUNCE = 2000;\r\n\r\nclass ReactSelectField extends Component {\r\n static propTypes = {\r\n keepSettings: PropTypes.bool,\r\n name: PropTypes.string.isRequired,\r\n showSelectAll: PropTypes.bool,\r\n selectAllByDefault: PropTypes.bool,\r\n validate: PropTypes.func,\r\n onChange: PropTypes.func.isRequired,\r\n onFieldError: PropTypes.func,\r\n enableFieldColorError: PropTypes.bool,\r\n enableFieldErrorMessage: PropTypes.bool,\r\n enableFieldErrorNotification: PropTypes.bool\r\n };\r\n\r\n static defaultProps = {\r\n keepSettings: false,\r\n showSelectAll: false,\r\n selectAllByDefault: false,\r\n enableFieldColorError: true,\r\n enableFieldErrorMessage: false,\r\n enableFieldErrorNotification: true,\r\n onFieldError: () => {}\r\n };\r\n\r\n state = {\r\n error: false,\r\n options: this.props.options,\r\n value: this.props.keepSettings\r\n ? this.props.value.length > 0\r\n ? this.props.value\r\n : this.props.options\r\n : this.props.selectAllByDefault\r\n ? this.props.options\r\n : null\r\n };\r\n\r\n _isMounted = false;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.debouncedCallback = debounce(\r\n error => this.fireFieldErrorEvent(error),\r\n EVENT_DEBOUNCE\r\n );\r\n }\r\n\r\n componentDidMount() {\r\n this._isMounted = true;\r\n if (this.props.selectAllByDefault && !this.props.keepSettings) {\r\n this.onChange(this.state.options);\r\n } else {\r\n this.onChange(this.state.value);\r\n }\r\n\r\n //Option to add 'Select All' option item.\r\n if (this.props.showSelectAll) {\r\n let additionalOption = { value: \"*\", label: \"Select All\" };\r\n this.setState({\r\n ...this.state,\r\n options: [additionalOption, ...this.state.options]\r\n });\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n static getDerivedStateFromProps(props, state) {\r\n return { defaultValue: props.defaultValue };\r\n }\r\n\r\n onChange = value => {\r\n this._detectChange(value);\r\n };\r\n\r\n onKeyPress = evt => {\r\n if (evt.key === \"Enter\" && this.props.onKeyPress) {\r\n this.props.onKeyPress();\r\n }\r\n };\r\n\r\n onBlur = () => {\r\n this._validateField();\r\n };\r\n\r\n _detectChange = value => {\r\n const name = this.props.name;\r\n const error = this.props.validate ? this.props.validate(value) : false;\r\n\r\n if (error) this.debouncedCallback(value, error);\r\n\r\n if (this.props.showSelectAll && value) {\r\n value = value.find(v => v.value === \"*\")\r\n ? this.state.options.filter(v => v.value !== \"*\")\r\n : value;\r\n }\r\n\r\n this.setState({ value, error });\r\n this.props.onChange({ name, value, error });\r\n return error;\r\n };\r\n\r\n fireFieldErrorEvent = error => this.props.onFieldError(error);\r\n\r\n // Note: Internal function, used by this component\r\n _validateField = () => {\r\n if (!this._isMounted) {\r\n return;\r\n }\r\n let error = this._detectChange(this.state.value);\r\n if (error) this.debouncedCallback(null, error);\r\n return { name: this.props.name, error: error };\r\n };\r\n\r\n _isValidComponentInstance = () => {\r\n return this._isMounted;\r\n };\r\n\r\n render() {\r\n const {\r\n validate,\r\n enableFieldColorError,\r\n enableFieldErrorMessage,\r\n enableFieldErrorNotification,\r\n onFieldError,\r\n ...other\r\n } = this.props;\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default ReactSelectField;\r\n","import React, { Component } from \"react\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardFooter,\r\n CardHeader,\r\n Row,\r\n Col,\r\n Collapse,\r\n Form,\r\n FormGroup,\r\n} from \"reactstrap\";\r\nimport { userTypes as userTypesList } from \"../../../constants\";\r\nimport formHandler from \"../../../components/Common/Fields/form-handler\";\r\nimport ReactSelectField from \"../../../components/Common/Fields/React-Select-Field\";\r\nimport DatePickerField from \"../../../components/Common/Fields/Date-Picker-Field\";\r\nimport ButtonFx from \"../../../components/Common/Button-Fx/Button-Fx\";\r\nimport * as validators from \"../../../components/Common/Fields/Validators/Field-Validators\";\r\nimport KeyboardEventHandler from \"react-keyboard-event-handler\";\r\nimport withSizes from \"react-sizes\";\r\n\r\nclass FilterSection extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n showFilters: false,\r\n };\r\n }\r\n\r\n toggle = () => {\r\n this.setState({\r\n showFilters: !this.state.showFilters,\r\n });\r\n };\r\n\r\n render() {\r\n const form = formHandler();\r\n const { isProcessing } = this.props.dataTable;\r\n const { userTypes, startDate, endDate } = this.props.dataTable.fields;\r\n const { showFilters } = this.state;\r\n const { onInputChange, onFieldError, loadRequest, reset } = this.props;\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n Filter Registers\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 validators.required(\"User type\", val)\r\n }\r\n keepSettings={true}\r\n showSelectAll={true}\r\n selectAllByDefault={true}\r\n ref={form.add}\r\n onChange={onInputChange}\r\n onFieldError={onFieldError}\r\n options={userTypesList}\r\n value={userTypes}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n validators.required(\"Start Date\", val)\r\n }\r\n onFieldError={onFieldError}\r\n ref={form.add}\r\n >\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n validators.required(\"End Date\", val)\r\n }\r\n onFieldError={onFieldError}\r\n ref={form.add}\r\n >\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n form.validate({\r\n validFn: () => loadRequest(this.props.dataTable.fields),\r\n });\r\n }}\r\n className=\"ttg-btn\"\r\n isLoading={isProcessing}\r\n >\r\n Filter\r\n \r\n reset()}\r\n className=\"ttg-blue-btn ml-2\"\r\n isLoading={isProcessing}\r\n >\r\n Reset\r\n \r\n \r\n
    \r\n
    \r\n \r\n form.validate({\r\n validFn: () => loadRequest(this.props.dataTable.fields),\r\n })\r\n }\r\n />\r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapSizesToProps = ({ width }) => ({\r\n isMobile: width < 800,\r\n});\r\n\r\nexport default withSizes(mapSizesToProps)(FilterSection);\r\n","import React, { Component } from \"react\";\r\nimport PageTitle from \"../../../components/Common/Page-Title/Page-Title\";\r\nimport ContentSection from \"../../../components/Content-Section\";\r\nimport Datatable from \"./datatable\";\r\nimport FilterSection from \"./filter-section\";\r\nimport ToggleDisplay from \"react-toggle-display\";\r\n\r\nclass Users extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n const { onLoad } = this.props;\r\n onLoad();\r\n\r\n this.props.clearDataTableSearchbox();\r\n }\r\n\r\n render() {\r\n const { isProcessing, isReset } = this.props.dataTable;\r\n return (\r\n <>\r\n \r\n \r\n

    Registers

    \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 Users;\r\n","import HttpClient from \"../../../../coreLib//http/httpClient\";\r\nimport moment from \"moment\";\r\n\r\nconst Service = () => {\r\n let httpClient = HttpClient();\r\n\r\n const load = (payload) => {\r\n return httpClient.post(\"v1/admin/users\", {\r\n ...payload,\r\n startDate: moment(payload.startDate),\r\n endDate: moment(payload.endDate),\r\n userTypes: payload.userTypes.map((u) => {\r\n return typeof u === \"object\" ? u.value : u;\r\n }),\r\n });\r\n };\r\n\r\n const editUser = (payload) => {\r\n let model = {\r\n firstName: payload.firstName,\r\n lastName: payload.lastName,\r\n email: payload.email,\r\n active:\r\n payload.active === \"Yes\" ||\r\n payload.active === true ||\r\n payload.active === \"true\"\r\n ? true\r\n : false,\r\n userType: parseInt(payload.userType),\r\n };\r\n return httpClient.put(`v1/admin/users/${payload.userId}`, model);\r\n };\r\n\r\n const deleteUser = (userId) => {\r\n return httpClient.delete(`v1/admin/users/${userId}`);\r\n };\r\n\r\n return {\r\n load,\r\n editUser,\r\n deleteUser,\r\n };\r\n};\r\n\r\nexport default Service;\r\n","import { ActionTypes } from \"./action-types\";\r\nimport HttpService from \"../service\";\r\nimport moment from \"moment\";\r\n\r\nexport const onLoad = () => (dispatch, getState) => {\r\n let fieldValues = getState().users.DataTable.fields;\r\n let params = fieldValues ? fieldValues : getInitialParams();\r\n dispatch(loadRequest(params));\r\n};\r\n\r\nexport const resetData = () => dispatch => {\r\n let params = getInitialParams();\r\n dispatch(loadRequest(params));\r\n};\r\n\r\nexport const loadRequest = params => dispatch => {\r\n let service = HttpService();\r\n dispatch({ type: ActionTypes.ADMIN_USERS_ONLOAD_REQUEST });\r\n service\r\n .load(params)\r\n .then(resp => {\r\n dispatch(onLoadSuccess(resp.data));\r\n })\r\n .catch(() => {\r\n dispatch(onLoadFailure());\r\n });\r\n};\r\n\r\nconst getInitialParams = () => {\r\n return {\r\n userTypes: [1, 2, 3],\r\n startDate: moment().subtract(12, \"months\")._d,\r\n endDate: moment()._d\r\n };\r\n};\r\n\r\nexport const reset = () => dispatch => {\r\n dispatch({ type: ActionTypes.ADMIN_USERS_RESET });\r\n dispatch(resetData());\r\n};\r\n\r\nconst onLoadSuccess = payload => dispatch => {\r\n dispatch({\r\n type: ActionTypes.ADMIN_USERS_ONLOAD_SUCCESS,\r\n payload\r\n });\r\n};\r\n\r\nconst onLoadFailure = () => dispatch => {\r\n dispatch({\r\n type: ActionTypes.ADMIN_USERS_ONLOAD_FAILURE\r\n });\r\n};\r\n\r\nexport const formInputChange = (name, value, error) => ({\r\n type: ActionTypes.ADMIN_USERS_FILTER_FORM_INPUT_CHANGE,\r\n payload: {\r\n name: name,\r\n value: value,\r\n error: error\r\n }\r\n});\r\n\r\nexport const keepDataTableSettings = settings => ({\r\n type: ActionTypes.ADMIN_USERS_DATATABLE_KEEP_SETTINGS,\r\n payload: {\r\n settings\r\n }\r\n});\r\n\r\nexport const clearDataTableSearchboxFilter = () => ({\r\n type: ActionTypes.ADMIN_USERS_DATATABLE_CLEAR_SEARCHBOX,\r\n});","import { ActionTypes } from \"./action-types\";\r\nimport { addNotification } from \"../../../../../redux/system/system-action-creators\";\r\nimport HttpService from \"../service\";\r\n\r\nexport const onDelete = payload => dispatch => {\r\n let service = HttpService();\r\n dispatch({ type: ActionTypes.ADMIN_USERS_DELETE_REQUEST });\r\n service\r\n .deleteUser(payload.userId)\r\n .then(() => {\r\n dispatch(onDeleteSuccess(payload));\r\n dispatch(addNotification(\"User has been successfully deleted.\"));\r\n })\r\n .catch(() => {\r\n dispatch(onDeleteFailure());\r\n dispatch(\r\n addNotification(\"There was an error deleting the user\", \"warning\")\r\n );\r\n });\r\n};\r\n\r\nconst onDeleteSuccess = payload => dispatch => {\r\n dispatch({\r\n type: ActionTypes.ADMIN_USERS_DELETE_SUCCESS,\r\n payload\r\n });\r\n};\r\n\r\nexport const onEdit = payload => dispatch => {\r\n let service = HttpService();\r\n dispatch({ type: ActionTypes.ADMIN_USERS_EDIT_REQUEST });\r\n service\r\n .editUser(payload)\r\n .then(() => {\r\n dispatch(onEditSuccess(payload));\r\n dispatch(addNotification(\"User has been successfully edited.\"));\r\n })\r\n .catch(() => {\r\n dispatch(onEditFailure());\r\n dispatch(\r\n addNotification(\"There was an error updating the user\", \"warning\")\r\n );\r\n });\r\n};\r\n\r\nconst onEditSuccess = payload => dispatch => {\r\n dispatch({\r\n type: ActionTypes.ADMIN_USERS_EDIT_SUCCESS,\r\n payload\r\n });\r\n};\r\n\r\nconst onEditFailure = () => dispatch => {\r\n dispatch({\r\n type: ActionTypes.ADMIN_USERS_EDIT_FAILURE\r\n });\r\n};\r\n\r\nconst onDeleteFailure = () => dispatch => {\r\n dispatch({\r\n type: ActionTypes.ADMIN_USERS_DELETE_FAILURE\r\n });\r\n};\r\n\r\nexport const toggleDeleteDialog = payload => ({\r\n type: ActionTypes.ADMIN_USERS_SHOW_DELETE_DIALOG,\r\n payload\r\n});\r\n\r\nexport const toggleEditDialog = payload => ({\r\n type: ActionTypes.ADMIN_USERS_SHOW_EDIT_DIALOG,\r\n payload\r\n});\r\n\r\nexport const formInputChange = (name, value, error) => ({\r\n type: ActionTypes.ADMIN_USERS_DIALOG_FORM_INPUT_CHANGE,\r\n payload: {\r\n name: name,\r\n value: value,\r\n error: error\r\n }\r\n});\r\n","import { connect } from \"react-redux\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport Users from \"./users\";\r\nimport * as dataTableActionCreators from \"./redux/datatable/action-creators\";\r\nimport * as dialogActionCreators from \"./redux/dialog/action-creators\";\r\nimport * as sysActionCreators from \"../../../redux/system/system-action-creators\";\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n dataTable: state.users.DataTable,\r\n dialog: state.users.Dialog\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => ({\r\n onLoad: () => dispatch(dataTableActionCreators.onLoad()),\r\n reset: () => dispatch(dataTableActionCreators.reset()),\r\n toggleEditDialog: (payload) =>\r\n dispatch(dialogActionCreators.toggleEditDialog(payload)),\r\n toggleDeleteDialog: (payload) =>\r\n dispatch(dialogActionCreators.toggleDeleteDialog(payload)),\r\n onInputChange: ({ name, value, error }) => {\r\n dispatch(dataTableActionCreators.formInputChange(name, value, error));\r\n },\r\n onDialogInputChange: ({ name, value, error }) => {\r\n dispatch(dialogActionCreators.formInputChange(name, value, error));\r\n },\r\n onFieldError: (error) =>\r\n dispatch(sysActionCreators.addNotification(error, \"warning\")),\r\n onDelete: (payload) => dispatch(dialogActionCreators.onDelete(payload)),\r\n onEdit: (payload) => dispatch(dialogActionCreators.onEdit(payload)),\r\n onSettingsChanged: (settings) => {\r\n dispatch(dataTableActionCreators.keepDataTableSettings(settings));\r\n },\r\n clearDataTableSearchbox: () =>\r\n dispatch(dataTableActionCreators.clearDataTableSearchboxFilter()),\r\n dispatch,\r\n history: ownProps.history,\r\n});\r\n\r\nconst mergeFormProps = (stateProps, dispatchProps) => ({\r\n ...stateProps,\r\n ...dispatchProps,\r\n loadRequest: payload => {\r\n dispatchProps.dispatch(dataTableActionCreators.loadRequest(payload));\r\n }\r\n});\r\n\r\nconst UsersContainer = withRouter(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n mergeFormProps\r\n )(Users)\r\n);\r\n\r\nexport default UsersContainer;\r\n","import React, { Component } from \"react\";\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\";\r\nimport ButtonFx from \"../../../../components/Common/Button-Fx/Button-Fx\";\r\n\r\nexport default class EditUserModal extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n const {\r\n toggleDeleteDialog,\r\n dialogs,\r\n onDelete,\r\n fields,\r\n isProcessing\r\n } = this.props;\r\n return (\r\n
    \r\n \r\n Delete User\r\n \r\n
    \r\n Are you sure you want to delete this user’s course? Please note,\r\n this cannot be undone.\r\n
    \r\n
    \r\n \r\n onDelete(fields)}\r\n className=\"ttg-btn\"\r\n isLoading={isProcessing}\r\n >\r\n Delete\r\n \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n","import SolvableDataTable from \"../../../components/solvable-datatable/solvable-datatable\";\r\nimport BlockUiFx from \"../../../components/Common/Block-Ui-Fx/Block-Ui-Fx\";\r\nimport React, { Component } from \"react\";\r\nimport DeleteDialog from \"./Modals/delete\";\r\n\r\nclass DataTable extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n settings: {},\r\n };\r\n this.actionButtonHandler = this.actionButtonHandler.bind(this);\r\n }\r\n\r\n columns = [\r\n {\r\n Header: \"First Name\",\r\n accessor: \"firstName\",\r\n searchable: true,\r\n },\r\n {\r\n accessor: \"userCourseId\",\r\n show: false,\r\n },\r\n {\r\n accessor: \"loginAsUserToken\",\r\n show: false,\r\n },\r\n {\r\n Header: \"Last Name\",\r\n accessor: \"lastName\",\r\n searchable: true,\r\n },\r\n {\r\n Header: \"Email\",\r\n accessor: \"email\",\r\n searchable: true,\r\n },\r\n {\r\n Header: \"Enrolled Date/Time\",\r\n accessor: \"enrolmentDateTime\",\r\n searchable: true,\r\n },\r\n {\r\n Header: \"Course Title\",\r\n accessor: \"courseTitle\",\r\n searchable: true,\r\n },\r\n {\r\n Header: \"Certificate Number\",\r\n accessor: \"certificateNumber\",\r\n searchable: true,\r\n },\r\n ];\r\n\r\n actionButtonHandler = (evt) => {\r\n const { toggleDeleteDialog, downloadTaxInvoice } = this.props;\r\n switch (evt.type) {\r\n case \"button1\":\r\n this.props.history.push(\r\n `/Admin/Edit-User-Course/${evt.data.userCourseId}`\r\n );\r\n break;\r\n case \"button2\":\r\n toggleDeleteDialog(evt.data);\r\n break;\r\n case \"button3\":\r\n downloadTaxInvoice(evt.data.invoiceGuid);\r\n break;\r\n }\r\n };\r\n\r\n render() {\r\n const {\r\n dataTable,\r\n onDelete,\r\n toggleDeleteDialog,\r\n dialog,\r\n onSettingsChanged,\r\n } = this.props;\r\n const { data, isProcessing, settings } = dataTable;\r\n const { dialogs, fields, isProcessing: isDialogProcessing } = dialog;\r\n return (\r\n
    \r\n \r\n \r\n row._original.invoiceGuid === null,\r\n },\r\n {\r\n target: \"button4\",\r\n icon: \"fas fa-address-card\",\r\n tooltip:\r\n \"You can right click “Open link in incognito window” to avoid having to log out and in again\",\r\n to: (row) => {\r\n return `/login/${row.userId}/${row.loginAsUserToken}`;\r\n },\r\n },\r\n ],\r\n }}\r\n keepSettings={true}\r\n stateSettings={settings}\r\n onSettingsChanged={onSettingsChanged}\r\n onActionButtonClick={this.actionButtonHandler}\r\n data={data}\r\n />\r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default DataTable;\r\n","import React, { Component } from \"react\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardFooter,\r\n CardHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Collapse,\r\n Form,\r\n FormGroup,\r\n} from \"reactstrap\";\r\nimport CourseService from \"../../../services/course-service\";\r\nimport ReactSelectField from \"../../../components/Common/Fields/React-Select-Field\";\r\nimport DatePickerField from \"../../../components/Common/Fields/Date-Picker-Field\";\r\nimport formHandler from \"../../../components/Common/Fields/form-handler\";\r\nimport * as validators from \"../../../components/Common/Fields/Validators/Field-Validators\";\r\nimport KeyboardEventHandler from \"react-keyboard-event-handler\";\r\nimport ButtonFx from \"../../../components/Common/Button-Fx/Button-Fx\";\r\n\r\nclass FilterSection extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n showFilters: false,\r\n };\r\n }\r\n\r\n toggle = () => {\r\n this.setState({\r\n showFilters: !this.state.showFilters,\r\n });\r\n };\r\n\r\n render() {\r\n const { showFilters } = this.state;\r\n const form = formHandler();\r\n const {\r\n dataTable,\r\n onInputChange,\r\n onFieldError,\r\n onLoad,\r\n reset,\r\n } = this.props;\r\n const { isProcessing } = dataTable;\r\n const { courseIds, startDate, endDate } = dataTable.fields;\r\n\r\n const courses = CourseService()\r\n .getCourses()\r\n .map((course) => {\r\n return {\r\n label: course.courseTitle,\r\n value: course.courseId,\r\n };\r\n });\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n Filter Course Enrolments\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 validators.required(\"Course\", val)}\r\n showSelectAll={true}\r\n selectAllByDefault={true}\r\n ref={form.add}\r\n onChange={onInputChange}\r\n onFieldError={onFieldError}\r\n options={courses}\r\n keepSettings={true}\r\n value={courseIds}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n validators.required(\"Start Date\", val)\r\n }\r\n onFieldError={onFieldError}\r\n ref={form.add}\r\n >\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n validators.required(\"End Date\", val)\r\n }\r\n onFieldError={onFieldError}\r\n ref={form.add}\r\n >\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n form.validate({\r\n validFn: () => onLoad(dataTable.fields),\r\n });\r\n }}\r\n type=\"submit\"\r\n className=\"ttg-btn\"\r\n isLoading={false}\r\n >\r\n Filter\r\n \r\n\r\n reset()}\r\n className=\"ttg-blue-btn ml-2\"\r\n isLoading={isProcessing}\r\n >\r\n Reset\r\n \r\n \r\n
    \r\n
    \r\n \r\n form.validate({\r\n validFn: () => onLoad(dataTable.fields),\r\n })\r\n }\r\n />\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default FilterSection;\r\n","import React, { Component } from \"react\";\r\nimport PageTitle from \"../../../components/Common/Page-Title/Page-Title\";\r\nimport ContentSection from \"../../../components/Content-Section\";\r\nimport Datatable from \"./datatable\";\r\nimport FilterSection from \"./filter-section\";\r\nimport ToggleDisplay from \"react-toggle-display\";\r\n\r\nclass Users extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n const {\r\n onLoad,\r\n match,\r\n hideFilterSection,\r\n onLoadSpecificUserCourse,\r\n } = this.props;\r\n match.params.id ? hideFilterSection(true) : hideFilterSection(false);\r\n match.params.id ? onLoadSpecificUserCourse(match.params.id) : onLoad();\r\n this.props.clearDataTableSearchbox();\r\n }\r\n\r\n render() {\r\n const { isProcessing, hideFilterSection, isReset } = this.props.dataTable;\r\n return (\r\n <>\r\n \r\n \r\n

    Course Enrolments

    \r\n
    \r\n \r\n {!isReset && (\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 Users;\r\n","import HttpClient from \"../../../../coreLib//http/httpClient\";\r\nimport moment from \"moment\";\r\n\r\nconst Service = () => {\r\n let httpClient = HttpClient();\r\n\r\n const loadCourses = payload => {\r\n let model = {\r\n courseIds: payload.courseIds.map(course =>\r\n typeof course === \"object\" ? course.value : course\r\n ),\r\n startDate: moment(payload.startDate),\r\n endDate: moment(payload.endDate)\r\n };\r\n return httpClient.post(\"v1/admin/users/courses\", model);\r\n };\r\n\r\n const loadSpecificUserCourses = id => {\r\n return httpClient.get(`v1/admin/users/courses/${id}`);\r\n };\r\n\r\n const deleteCourse = id => {\r\n return httpClient.delete(`v1/admin/users/course/${id}`);\r\n };\r\n\r\n const downloadTaxInvoice = invoiceId => {\r\n return httpClient.get(`v1/userCourse/pdf/tax-invoice/${invoiceId}`, {\r\n responseType: \"blob\"\r\n });\r\n };\r\n\r\n return {\r\n loadCourses,\r\n loadSpecificUserCourses,\r\n deleteCourse,\r\n downloadTaxInvoice\r\n };\r\n};\r\n\r\nexport default Service;\r\n","import { ActionTypes } from \"./action-types\";\r\nimport HttpService from \"../service\";\r\nimport { addNotification } from \"../../../../../redux/system/system-action-creators\";\r\nimport CourseService from \"../../../../../services/course-service\";\r\nimport moment from \"moment\";\r\nimport { saveAs } from \"file-saver\";\r\n\r\nexport const onLoad = () => (dispatch, getState) => {\r\n let fieldValues = getState().userCourses.DataTable.fields;\r\n let params = fieldValues ? fieldValues : getInitialParams();\r\n dispatch(loadRequest(params));\r\n};\r\n\r\nexport const loadRequest = (params) => (dispatch) => {\r\n let service = HttpService();\r\n dispatch({ type: ActionTypes.ADMIN_USER_COURSES_ONLOAD_REQUEST });\r\n service\r\n .loadCourses(params)\r\n .then((resp) => {\r\n dispatch(onLoadSuccess(resp.data));\r\n })\r\n .catch(() => {\r\n dispatch(onLoadFailure());\r\n });\r\n};\r\n\r\nexport const resetData = () => (dispatch) => {\r\n let params = getInitialParams();\r\n dispatch(loadRequest(params));\r\n};\r\n\r\nexport const onLoadSpecificUserCourse = (id) => (dispatch) => {\r\n let service = HttpService();\r\n\r\n service\r\n .loadSpecificUserCourses(id)\r\n .then((resp) => {\r\n dispatch(onLoadSuccess(resp.data));\r\n })\r\n .catch(() => {\r\n dispatch(addNotification(\"Error loading Course Enrolments.\", \"warning\"));\r\n });\r\n};\r\n\r\nexport const reset = () => (dispatch) => {\r\n dispatch({ type: ActionTypes.ADMIN_USERS_COURSES_RESET });\r\n dispatch(resetData());\r\n};\r\n\r\nconst onLoadFailure = () => (dispatch) => {\r\n dispatch({\r\n type: ActionTypes.ADMIN_USER_COURSES_ONLOAD_FAILURE,\r\n });\r\n};\r\n\r\nconst getInitialParams = () => {\r\n return {\r\n courseIds: CourseService()\r\n .getCourses()\r\n .map((course) => course.courseId),\r\n startDate: moment().subtract(12, \"months\")._d,\r\n endDate: moment()._d,\r\n };\r\n};\r\n\r\nexport const formInputChange = (name, value, error) => ({\r\n type: ActionTypes.ADMIN_USERS_COURSES_FORM_INPUT_CHANGE,\r\n payload: {\r\n name: name,\r\n value: value,\r\n error: error,\r\n },\r\n});\r\n\r\nconst onLoadSuccess = (payload) => (dispatch) => {\r\n dispatch({\r\n type: ActionTypes.ADMIN_USER_COURSES_ONLOAD_SUCCESS,\r\n payload,\r\n });\r\n};\r\n\r\nexport const hideFilterSection = (payload) => ({\r\n type: ActionTypes.ADMIN_USERS_COURSES_HIDE_FILTER_SECTION,\r\n payload,\r\n});\r\n\r\nexport const downloadTaxInvoice = (invoidGuid) => (dispatch) => {\r\n dispatch({\r\n type: ActionTypes.ADMIN_USERS_COURSES_DOWNLOAD_TAX_INVOICE_REQUEST,\r\n });\r\n let service = HttpService();\r\n service\r\n .downloadTaxInvoice(invoidGuid)\r\n .then((resp) => {\r\n dispatch(onDownloadTaxInvoiceSuccess());\r\n const pdfBlob = new Blob([resp.data], { type: \"application/pdf\" });\r\n saveAs(pdfBlob, \"taxinvoice.pdf\");\r\n })\r\n .catch(() => {\r\n dispatch(onDownloadTaxInvoiceFailure());\r\n dispatch(addNotification(\"Unable to download tax invoice.\", \"warning\"));\r\n });\r\n};\r\n\r\nconst onDownloadTaxInvoiceSuccess = () => ({\r\n type: ActionTypes.ADMIN_USERS_COURSES_DOWNLOAD_TAX_INVOICE_SUCCESS,\r\n});\r\n\r\nconst onDownloadTaxInvoiceFailure = () => ({\r\n type: ActionTypes.ADMIN_USERS_COURSES_DOWNLOAD_TAX_INVOICE_FAILURE,\r\n});\r\n\r\nexport const keepDataTableSettings = (settings) => ({\r\n type: ActionTypes.ADMIN_USERS_COURSES_DATATABLE_KEEP_SETTINGS,\r\n payload: {\r\n settings,\r\n },\r\n});\r\n\r\nexport const clearDataTableSearchboxFilter = () => ({\r\n type: ActionTypes.ADMIN_USERS_COURSES_DATATABLE_CLEAR_SEARCHBOX,\r\n});\r\n","import { ActionTypes } from \"./action-types\";\r\nimport HttpService from \"../service\";\r\nimport { addNotification } from \"../../../../../redux/system/system-action-creators\";\r\n\r\nexport const onDelete = payload => dispatch => {\r\n let service = HttpService();\r\n dispatch({ type: ActionTypes.ADMIN_USER_COURSES_DELETE_REQUEST });\r\n service\r\n .deleteCourse(payload.userCourseId)\r\n .then(() => {\r\n dispatch(onDeleteSuccess(payload));\r\n dispatch(addNotification(\"User course has been successfully deleted.\"));\r\n })\r\n .catch(() => {\r\n dispatch(onDeleteFailure());\r\n dispatch(addNotification(\"Unable to delete the user course.\", \"warning\"));\r\n });\r\n};\r\n\r\nconst onDeleteSuccess = payload => dispatch => {\r\n dispatch({\r\n type: ActionTypes.ADMIN_USER_COURSES_DELETE_SUCCESS,\r\n payload\r\n });\r\n};\r\n\r\nconst onDeleteFailure = () => dispatch => {\r\n dispatch({ type: ActionTypes.ADMIN_USER_COURSES_DELETE_FAILURE });\r\n};\r\n\r\nexport const toggleDeleteDialog = payload => ({\r\n type: ActionTypes.ADMIN_USER_COURSES_SHOW_DELETE_DIALOG,\r\n payload\r\n});\r\n","import { connect } from \"react-redux\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport UsersCourse from \"./users-course\";\r\nimport * as dataTableActionCreators from \"./redux/datatable/action-creators\";\r\nimport * as dialogActionCreators from \"./redux/dialog/action-creators\";\r\nimport * as sysActionCreators from \"../../../redux/system/system-action-creators\";\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n dataTable: state.userCourses.DataTable,\r\n dialog: state.userCourses.Dialog\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => ({\r\n onLoad: (payload) => dispatch(dataTableActionCreators.onLoad(payload)),\r\n reset: () => dispatch(dataTableActionCreators.reset()),\r\n onLoadSpecificUserCourse: (id) =>\r\n dispatch(dataTableActionCreators.onLoadSpecificUserCourse(id)),\r\n toggleDeleteDialog: (payload) => {\r\n dispatch(dialogActionCreators.toggleDeleteDialog(payload));\r\n },\r\n onInputChange: ({ name, value, error }) => {\r\n dispatch(dataTableActionCreators.formInputChange(name, value, error));\r\n },\r\n hideFilterSection: (payload) => {\r\n dispatch(dataTableActionCreators.hideFilterSection(payload));\r\n },\r\n onFieldError: (error) =>\r\n dispatch(sysActionCreators.addNotification(error, \"warning\")),\r\n onDelete: (payload) => dispatch(dialogActionCreators.onDelete(payload)),\r\n downloadTaxInvoice: (invoiceGuid) =>\r\n dispatch(dataTableActionCreators.downloadTaxInvoice(invoiceGuid)),\r\n onSettingsChanged: (settings) => {\r\n dispatch(dataTableActionCreators.keepDataTableSettings(settings));\r\n },\r\n clearDataTableSearchbox: () =>\r\n dispatch(dataTableActionCreators.clearDataTableSearchboxFilter()),\r\n dispatch,\r\n history: ownProps.history,\r\n});\r\n\r\nconst UsersCourseContainer = withRouter(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n )(UsersCourse)\r\n);\r\n\r\nexport default UsersCourseContainer;\r\n","import React, { Component } from \"react\";\r\nimport { Input } from \"reactstrap\";\r\nimport PropTypes from \"prop-types\";\r\nimport \"./Fields.scss\";\r\nimport debounce from \"lodash/debounce\";\r\n\r\nconst EVENT_DEBOUNCE = 2000;\r\n\r\nclass TextAreaField extends Component {\r\n static propTypes = {\r\n placeholder: PropTypes.string,\r\n name: PropTypes.string.isRequired,\r\n value: PropTypes.string,\r\n validate: PropTypes.func,\r\n onChange: PropTypes.func.isRequired,\r\n onFieldError: PropTypes.func,\r\n enableFieldColorError: PropTypes.bool,\r\n enableFieldErrorMessage: PropTypes.bool,\r\n enableFieldErrorNotification: PropTypes.bool,\r\n rows: PropTypes.number,\r\n };\r\n\r\n static defaultProps = {\r\n enableFieldColorError: true,\r\n enableFieldErrorMessage: false,\r\n enableFieldErrorNotification: true,\r\n rows: 4,\r\n onFieldError: () => {},\r\n };\r\n\r\n state = {\r\n value: this.props.value,\r\n error: false,\r\n };\r\n\r\n _isMounted = false;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.debouncedCallback = debounce(\r\n (evt, error) => this.fireFieldErrorEvent(error),\r\n EVENT_DEBOUNCE\r\n );\r\n }\r\n\r\n componentDidMount() {\r\n this._isMounted = true;\r\n }\r\n\r\n componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n static getDerivedStateFromProps(props, state) {\r\n return { value: props.value };\r\n }\r\n\r\n onChange = (evt) => {\r\n this._detectChange(evt.target.value);\r\n };\r\n\r\n onKeyPress = (evt) => {\r\n if (evt.key === \"Enter\" && this.props.onKeyPress) {\r\n this.props.onKeyPress();\r\n }\r\n };\r\n\r\n onBlur = (evt) => {\r\n let error = this._detectChange(evt.target.value);\r\n\r\n // Persist react synthetic event\r\n evt.persist();\r\n if (error) this.debouncedCallback(evt, error);\r\n };\r\n\r\n _detectChange = (value) => {\r\n const name = this.props.name;\r\n //const value = evt.target.value;\r\n const error = this.props.validate ? this.props.validate(value) : false;\r\n\r\n this.setState({ value, error });\r\n this.props.onChange({ name, value, error });\r\n\r\n return error;\r\n };\r\n\r\n fireFieldErrorEvent = (error) => this.props.onFieldError(error);\r\n\r\n // Note: Internal function, used by this component\r\n _validateField = () => {\r\n if (!this._isMounted) {\r\n return;\r\n }\r\n let error = this._detectChange(this.state.value);\r\n if (error) this.debouncedCallback(null, error);\r\n return { name: this.props.name, error: error };\r\n };\r\n\r\n _isValidComponentInstance = () => {\r\n return this._isMounted;\r\n };\r\n\r\n render() {\r\n const {\r\n validate,\r\n enableFieldColorError,\r\n enableFieldErrorMessage,\r\n enableFieldErrorNotification,\r\n rows,\r\n onFieldError,\r\n ...other\r\n } = this.props;\r\n\r\n return (\r\n <>\r\n \r\n {this.state.error && enableFieldErrorMessage && (\r\n {this.state.error}\r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default TextAreaField;\r\n","import React, { Component } from \"react\";\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\";\r\nimport ButtonFx from \"../../../components/Common/Button-Fx/Button-Fx\";\r\n\r\nexport default class EditUserModal extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n const {\r\n toggleDeleteDialog,\r\n showDeleteDialog,\r\n isDeleting,\r\n deleteCourse,\r\n fields\r\n } = this.props;\r\n return (\r\n
    \r\n \r\n toggleDeleteDialog()}>\r\n Delete User Course\r\n \r\n \r\n
    \r\n Are you sure you want to delete this user course? Please note,\r\n this will delete any courses or vouchers attached to this user.\r\n This cannot be undone.\r\n
    \r\n
    \r\n \r\n deleteCourse(fields)}\r\n className=\"ttg-btn\"\r\n isLoading={isDeleting}\r\n >\r\n Delete\r\n \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport PageTitle from \"../../../components/Common/Page-Title/Page-Title\";\r\nimport ContentSection from \"../../../components/Content-Section\";\r\nimport { Row, Col, Form, FormGroup, Button } from \"reactstrap\";\r\nimport ButtonFx from \"../../../components/Common/Button-Fx/Button-Fx\";\r\nimport Textarea from \"../../../components/Common/Fields/Text-Area-Field\";\r\nimport formHandler from \"../../../components/Common/Fields/form-handler\";\r\nimport AddressEntry from \"../../../components/Address-Entry/Address-Entry\";\r\nimport BlockUiFx from \"../../../components/Common/Block-Ui-Fx/Block-Ui-Fx\";\r\nimport InputField from \"../../../components/Common/Fields/Input-Field\";\r\nimport MaskedInputField from \"../../../components/Common/Fields/Masked-Input-Field\";\r\nimport CheckboxField from \"../../../components/Common/Fields/Checkbox-Field\";\r\nimport * as validators from \"../../../components/Common/Fields/Validators/Field-Validators\";\r\nimport ToggleDisplay from \"react-toggle-display\";\r\nimport KeyboardEventHandler from \"react-keyboard-event-handler\";\r\nimport DeleteDialog from \"./delete-dialog\";\r\nimport ConfirmModal from \"./../../../components/Common/Confirm-Modal/Confirm-Modal\";\r\n\r\nconst validateUsiNumber = (fieldName, value) => {\r\n if (validators.required(fieldName, value) || value === \"-1\") {\r\n return `${fieldName} is required.`;\r\n }\r\n if (!/^[2-9A-HJ-NP-Za-hj-np-z]{10}$/.test(value) && value !== \"INDIV\") {\r\n return `${value} is not a valid USI number.`;\r\n }\r\n return false;\r\n};\r\n\r\nconst emailValidator = (fieldName, value) => {\r\n if (validators.required(fieldName, value))\r\n return validators.required(fieldName, value);\r\n if (validators.email(value)) return validators.email(value);\r\n\r\n return false;\r\n};\r\n\r\nconst phoneValidator = (fieldName, value) => {\r\n if (validators.required(fieldName, value))\r\n return validators.required(fieldName, value);\r\n\r\n if (validators.phone(value)) return validators.phone(value);\r\n\r\n return false;\r\n};\r\n\r\nconst getPhoneMask = (value) => {\r\n if (\r\n value.startsWith(\"02\") ||\r\n value.startsWith(\"03\") ||\r\n value.startsWith(\"07\") ||\r\n value.startsWith(\"08\")\r\n )\r\n return \"99 9999 9999\";\r\n\r\n return \"9999 999 999\";\r\n};\r\n\r\nclass Users extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n const { onLoad, match } = this.props;\r\n onLoad(match.params.userCourseId);\r\n }\r\n\r\n render() {\r\n const {\r\n isProcessing,\r\n fields,\r\n onInputChange,\r\n onFieldError,\r\n updateCourse,\r\n toggleDeleteDialog,\r\n isDeleting,\r\n deleteCourse,\r\n showDeleteDialog,\r\n showCourseTransferConfirmation,\r\n onCourseTransferConfirmation,\r\n toggleCourseTransferConfirmation,\r\n } = this.props;\r\n const {\r\n firstName,\r\n lastName,\r\n usiNumber,\r\n email,\r\n phone,\r\n unitNumber,\r\n streetNumber,\r\n streetName,\r\n city,\r\n state,\r\n postcode,\r\n enrolmentStep2Completed,\r\n enrolmentStep3Completed,\r\n thirdPartyFormCompleted,\r\n surveyCompleted,\r\n courseCompleted,\r\n redirectToQuiz,\r\n setCount,\r\n lastSectionCompleted,\r\n lastQuestionCompleted,\r\n previousCertificateNumber,\r\n nswCertificateDetails,\r\n comments,\r\n } = fields;\r\n const form = formHandler();\r\n return (\r\n <>\r\n \r\n \r\n \r\n

    Edit User Course

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

    Personal Information

    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n validators.required(\"First Name\", val)}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n validators.required(\"Last Name\", val)}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n validateUsiNumber(\"USI Number\", val)}\r\n />\r\n \r\n \r\n \r\n\r\n \r\n \r\n

    Contact Information

    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n emailValidator(\"Email\", val)}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n phoneValidator(\"Phone Number\", val)}\r\n />\r\n \r\n \r\n \r\n\r\n \r\n \r\n

    Address

    \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

    Course Status

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

    Comment

    \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

    NSW Certificate Details

    \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 form.validate({\r\n validFn: () => updateCourse(fields),\r\n })\r\n }\r\n isLoading={isProcessing}\r\n className=\"ttg-btn mr-2\"\r\n >\r\n Save\r\n \r\n\r\n toggleDeleteDialog()}\r\n disabled={isProcessing}\r\n >\r\n Delete\r\n \r\n\r\n toggleCourseTransferConfirmation()}\r\n disabled={isProcessing}\r\n >\r\n Transfer to new user\r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n\r\n \r\n onCourseTransferConfirmation(evt, fields.userCourseId)\r\n }\r\n >\r\n Are you sure you want to transfer this user course to a new user\r\n matching the details of the user course? Note: this cannot be\r\n undone.\r\n \r\n\r\n \r\n form.validate({\r\n validFn: () => updateCourse(fields),\r\n })\r\n }\r\n />\r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Users;\r\n","import HttpClient from \"../../../../coreLib/http/httpClient\";\r\n\r\nconst Service = () => {\r\n let httpClient = HttpClient();\r\n\r\n const loadCourse = (payload) => {\r\n return httpClient.get(`v1/admin/users/course/${payload}`);\r\n };\r\n\r\n const updateCourse = (payload) => {\r\n let model = {\r\n ...payload,\r\n enrolmentStep2Completed: getValue(payload.enrolmentStep2Completed),\r\n enrolmentStep3Completed: getValue(payload.enrolmentStep3Completed),\r\n thirdPartyFormCompleted: getValue(payload.thirdPartyFormCompleted),\r\n surveyCompleted: getValue(payload.surveyCompleted),\r\n courseCompleted: getValue(payload.courseCompleted),\r\n redirectToQuiz: getValue(payload.redirectToQuiz),\r\n };\r\n return httpClient.put(\r\n `v1/admin/users/course/${payload.userCourseId}`,\r\n model\r\n );\r\n };\r\n\r\n const getValue = (itm) => (itm || itm === \"on\" ? true : false);\r\n\r\n const deleteCourse = (userCourseId) =>\r\n httpClient.delete(`v1/admin/users/course/${userCourseId}`);\r\n\r\n const transferUserCourse = (userCourseId) =>\r\n httpClient.post(`v1/admin/users/courses/${userCourseId}/reassignment`);\r\n\r\n return {\r\n loadCourse,\r\n deleteCourse,\r\n updateCourse,\r\n transferUserCourse,\r\n };\r\n};\r\n\r\nexport default Service;\r\n","import { ActionTypes } from \"./action-types\";\r\nimport HttpService from \"../services/api-service\";\r\nimport { addNotification } from \"../../../../redux/system/system-action-creators\";\r\n\r\nexport const onLoad = (payload) => (dispatch) => {\r\n let service = HttpService();\r\n dispatch({ type: ActionTypes.ADMIN_EDIT_COURSES_ONLOAD_REQUEST });\r\n service\r\n .loadCourse(payload)\r\n .then((resp) => {\r\n dispatch(onLoadSuccess(resp.data));\r\n })\r\n .catch(() => {\r\n dispatch(onLoadFailure());\r\n dispatch(addNotification(\"Error loading user course.\", \"warning\"));\r\n });\r\n};\r\n\r\nconst onLoadSuccess = (payload) => (dispatch) => {\r\n dispatch({\r\n type: ActionTypes.ADMIN_EDIT_COURSES_ONLOAD_SUCCESS,\r\n payload,\r\n });\r\n};\r\n\r\nconst onLoadFailure = () => (dispatch) => {\r\n dispatch({ type: ActionTypes.ADMIN_EDIT_COURSES_ONLOAD_FAILURE });\r\n};\r\n\r\nexport const updateCourse = (payload) => (dispatch) => {\r\n let service = HttpService();\r\n dispatch({ type: ActionTypes.ADMIN_EDIT_COURSES_UPDATE_REQUEST });\r\n service\r\n .updateCourse(payload)\r\n .then((resp) => {\r\n dispatch(onUpdateCourseSuccess());\r\n dispatch(addNotification(\"User course has been successfully updated.\"));\r\n })\r\n .catch(() => {\r\n dispatch(onUpdateCourseFailure());\r\n dispatch(addNotification(\"Unable to update the user course\", \"warning\"));\r\n });\r\n};\r\n\r\nconst onUpdateCourseSuccess = () => (dispatch) => {\r\n dispatch({ type: ActionTypes.ADMIN_EDIT_COURSES_UPDATE_SUCCESS });\r\n};\r\n\r\nconst onUpdateCourseFailure = () => (dispatch) => {\r\n dispatch({ type: ActionTypes.ADMIN_EDIT_COURSES_UPDATE_FAILURE });\r\n};\r\n\r\nexport const deleteCourse = (payload, history) => (dispatch) => {\r\n let service = HttpService();\r\n dispatch({ type: ActionTypes.ADMIN_EDIT_COURSES_DELETE_REQUEST });\r\n service\r\n .deleteCourse(payload.userCourseId)\r\n .then((resp) => {\r\n dispatch(onDeleteCourseSuccess());\r\n dispatch(addNotification(\"User course has been successfully updated.\"));\r\n history.push(\"/admin/User-Courses\");\r\n })\r\n .catch(() => {\r\n dispatch(onDeleteCourseFailure());\r\n dispatch(addNotification(\"Unable to update the user course\", \"warning\"));\r\n });\r\n};\r\n\r\nconst onDeleteCourseSuccess = () => (dispatch) => {\r\n dispatch({ type: ActionTypes.ADMIN_EDIT_COURSES_DELETE_SUCCESS });\r\n};\r\n\r\nconst onDeleteCourseFailure = () => (dispatch) => {\r\n dispatch({ type: ActionTypes.ADMIN_EDIT_COURSES_DELETE_FAILURE });\r\n};\r\n\r\nexport const toggleDeleteDialog = () => (dispatch) => {\r\n dispatch({ type: ActionTypes.ADMIN_EDIT_COURSES_SHOW_DELETE_DIALOG });\r\n};\r\n\r\nexport const toggleCourseTransferConfirmation = () => (dispatch) => {\r\n dispatch({\r\n type: ActionTypes.ADMIN_EDIT_COURSES_SHOW_COURSE_TRANSFER_CONFIRMATION,\r\n });\r\n};\r\n\r\nexport const handleCourseTransfer = (userCourseId, history) => async (\r\n dispatch\r\n) => {\r\n let service = HttpService();\r\n\r\n dispatch({ type: ActionTypes.ADMIN_EDIT_COURSES_TRANSFER_REQUEST });\r\n\r\n await service\r\n .transferUserCourse(userCourseId)\r\n .then((resp) => {\r\n dispatch({ type: ActionTypes.ADMIN_EDIT_COURSES_TRANSFER_SUCCESS });\r\n dispatch(\r\n addNotification(\r\n \"The user course has been successfully transferred to a new user.\"\r\n )\r\n );\r\n\r\n history.push(\"/admin/User-Courses\");\r\n })\r\n .catch((err) => {\r\n dispatch({ type: ActionTypes.ADMIN_EDIT_COURSES_TRANSFER_FAILURE });\r\n\r\n let status = err.response?.status;\r\n let errorMessage = err.response?.data?.Message;\r\n\r\n if (status === 400 && errorMessage) {\r\n dispatch(addNotification(errorMessage, \"warning\"));\r\n return;\r\n }\r\n\r\n dispatch(\r\n addNotification(\r\n \"Unable to transfer the user course to a new user\",\r\n \"error\"\r\n )\r\n );\r\n });\r\n};\r\n\r\nexport const formInputChange = (name, value, error) => ({\r\n type: ActionTypes.ADMIN_EDIT_COURSES_FORM_INPUT_CHANGE,\r\n payload: {\r\n name: name,\r\n value: value,\r\n error: error\r\n }\r\n});\r\n","import { connect } from \"react-redux\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport EditUserCourse from \"./edit-user-course\";\r\nimport * as actionCreators from \"./redux/action-creators\";\r\nimport * as sysActionCreators from \"../../../redux/system/system-action-creators\";\r\n\r\nconst mapStateToProps = state => state.adminEditCourse;\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => ({\r\n onLoad: (payload) => dispatch(actionCreators.onLoad(payload)),\r\n onInputChange: ({ name, value, error }) => {\r\n dispatch(actionCreators.formInputChange(name, value, error));\r\n },\r\n updateCourse: (payload) => dispatch(actionCreators.updateCourse(payload)),\r\n deleteCourse: (payload) =>\r\n dispatch(actionCreators.deleteCourse(payload, ownProps.history)),\r\n toggleDeleteDialog: () => dispatch(actionCreators.toggleDeleteDialog()),\r\n toggleCourseTransferConfirmation: () =>\r\n dispatch(actionCreators.toggleCourseTransferConfirmation()),\r\n onCourseTransferConfirmation: (evt, userCourseId) => {\r\n dispatch(actionCreators.toggleCourseTransferConfirmation());\r\n\r\n if (evt.type !== \"ok\") return;\r\n\r\n dispatch(\r\n actionCreators.handleCourseTransfer(userCourseId, ownProps.history)\r\n );\r\n },\r\n onFieldError: (error) =>\r\n dispatch(sysActionCreators.addNotification(error, \"warning\")),\r\n dispatch,\r\n history: ownProps.history,\r\n});\r\n\r\nconst EditUserCourseContainer = withRouter(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n )(EditUserCourse)\r\n);\r\n\r\nexport default EditUserCourseContainer;\r\n","import React, { Component } from \"react\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardFooter,\r\n CardHeader,\r\n Row,\r\n Col,\r\n Collapse,\r\n Form,\r\n FormGroup\r\n} from \"reactstrap\";\r\nimport ButtonFx from \"../../../components/Common/Button-Fx/Button-Fx\";\r\nimport { reportTypes } from \"../../../constants\";\r\nimport DatePickerField from \"../../../components/Common/Fields/Date-Picker-Field\";\r\nimport formHandler from \"../../../components/Common/Fields/form-handler\";\r\nimport * as validators from \"../../../components/Common/Fields/Validators/Field-Validators\";\r\nimport SelectField from \"../../../components/Common/Fields/Select-Field\";\r\nimport KeyboardEventHandler from \"react-keyboard-event-handler\";\r\nimport orderBy from \"lodash/orderBy\";\r\n\r\nconst validateSelect = (fieldName, value) => {\r\n if (validators.required(fieldName, value) || value === \"-1\") {\r\n return `${fieldName} is required.`;\r\n }\r\n return false;\r\n};\r\n\r\nclass FilterSection extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n const { reportType, startDate, endDate } = this.props.fields;\r\n const {\r\n onInputChange,\r\n onFieldError,\r\n loadRequest,\r\n isProcessing\r\n } = this.props;\r\n const form = formHandler();\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n Filter Reports\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n validateSelect(\"Report type\", val)}\r\n value={reportType}\r\n onFieldError={onFieldError}\r\n onChange={onInputChange}\r\n >\r\n ;\r\n {orderBy(reportTypes, [\"order\"], [\"asc\"]).map(\r\n state => {\r\n return (\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 validators.required(\"Start Date\", val)\r\n }\r\n onFieldError={onFieldError}\r\n ref={form.add}\r\n >\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n validators.required(\"End Date\", val)\r\n }\r\n onFieldError={onFieldError}\r\n ref={form.add}\r\n >\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n form.validate({\r\n validFn: () => loadRequest(this.props.fields)\r\n });\r\n }}\r\n className=\"ttg-btn\"\r\n isLoading={isProcessing}\r\n >\r\n Filter\r\n \r\n \r\n
    \r\n
    \r\n \r\n form.validate({\r\n validFn: () => loadRequest(this.props.fields)\r\n })\r\n }\r\n />\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default FilterSection;\r\n","import React, { Component } from \"react\";\r\nimport PageTitle from \"../../../components/Common/Page-Title/Page-Title\";\r\nimport ContentSection from \"../../../components/Content-Section\";\r\nimport FilterSection from \"./filter-section\";\r\n\r\nclass DownloadReports extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n return (\r\n <>\r\n \r\n \r\n

    Download Reports

    \r\n
    \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default DownloadReports;\r\n","import HttpClient from \"../../../../coreLib//http/httpClient\";\r\nimport moment from \"moment\";\r\n\r\nconst Service = () => {\r\n let httpClient = HttpClient();\r\n\r\n const load = payload => {\r\n return httpClient.post(\r\n \"v1/admin/reports/excel\",\r\n {\r\n startDate: moment(payload.startDate),\r\n endDate: moment(payload.endDate),\r\n reportType: payload.reportType\r\n },\r\n {\r\n responseType: \"arraybuffer\"\r\n }\r\n );\r\n };\r\n\r\n return {\r\n load\r\n };\r\n};\r\n\r\nexport default Service;\r\n","import { ActionTypes } from \"./action-types\";\r\nimport HttpService from \"./service\";\r\nimport { addNotification } from \"../../../../redux/system/system-action-creators\";\r\nimport { saveAs } from \"file-saver\";\r\n\r\nexport const loadRequest = params => dispatch => {\r\n let service = HttpService();\r\n dispatch({ type: ActionTypes.ADMIN_DOWNLOAD_REPORT_REQUEST });\r\n service\r\n .load(params)\r\n .then(resp => {\r\n let file = new Blob([resp.data], {\r\n type:\r\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"\r\n });\r\n saveAs(file, \"report.xlsx\");\r\n dispatch(onLoadSuccess());\r\n })\r\n .catch(() => {\r\n dispatch(onLoadFailure());\r\n dispatch(addNotification(\"Request failed.\", \"warning\"));\r\n });\r\n};\r\n\r\nconst onLoadSuccess = () => dispatch => {\r\n dispatch({\r\n type: ActionTypes.ADMIN_DOWNLOAD_REPORT_SUCCESS\r\n });\r\n};\r\n\r\nconst onLoadFailure = () => dispatch => {\r\n dispatch({\r\n type: ActionTypes.ADMIN_DOWNLOAD_REPORT_FAILURE\r\n });\r\n};\r\n\r\nexport const formInputChange = (name, value, error) => ({\r\n type: ActionTypes.ADMIN_DOWNLOAD_REPORT_INPUT_CHANGE,\r\n payload: {\r\n name: name,\r\n value: value,\r\n error: error\r\n }\r\n});\r\n","import DownloadReports from \"./download-reports\";\r\nimport { connect } from \"react-redux\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport * as actionCreators from \"./redux/action-creators\";\r\nimport * as sysActionCreators from \"../../../redux/system/system-action-creators\";\r\n\r\nconst mapStateToProps = state => state.adminDownloadReport;\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => ({\r\n onInputChange: ({ name, value, error }) => {\r\n dispatch(actionCreators.formInputChange(name, value, error));\r\n },\r\n onFieldError: error =>\r\n dispatch(sysActionCreators.addNotification(error, \"warning\")),\r\n dispatch,\r\n history: ownProps.history\r\n});\r\n\r\nconst mergeFormProps = (stateProps, dispatchProps) => ({\r\n ...stateProps,\r\n ...dispatchProps,\r\n loadRequest: () => {\r\n dispatchProps.dispatch(actionCreators.loadRequest(stateProps.fields));\r\n }\r\n});\r\n\r\nconst DownloadReportsContainer = withRouter(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n mergeFormProps\r\n )(DownloadReports)\r\n);\r\n\r\nexport default DownloadReportsContainer;\r\n","import React, { Component } from \"react\";\r\nimport {\r\n Modal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n Form,\r\n Row,\r\n Col,\r\n FormGroup\r\n} from \"reactstrap\";\r\nimport \"../../../../components/Common/Fields/Fields.scss\";\r\nimport ButtonFx from \"../../../../components/Common/Button-Fx/Button-Fx\";\r\nimport formHandler from \"../../../../components/Common/Fields/form-handler\";\r\nimport \"../../../../components/Common/Fields/Fields.scss\";\r\nimport InputField from \"../../../../components/Common/Fields/Input-Field\";\r\nimport * as validators from \"../../../../components/Common/Fields/Validators/Field-Validators\";\r\n\r\nexport default class EditUserModal extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n const {\r\n dialogs,\r\n toggleEditDialog,\r\n onFieldError,\r\n isProcessing,\r\n fields,\r\n onEdit,\r\n onDialogInputChange\r\n } = this.props;\r\n const { companyName, firstName, lastName, email, phone } = fields;\r\n const form = formHandler();\r\n return (\r\n
    \r\n \r\n toggleEditDialog()}>\r\n Edit Voucher Purchase\r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n validators.required(\"Company Name\", val)}\r\n onFieldError={onFieldError}\r\n onChange={onDialogInputChange}\r\n />\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n validators.required(\"First Name\", val)}\r\n onFieldError={onFieldError}\r\n onChange={onDialogInputChange}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n validators.required(\"Last Name\", val)}\r\n onFieldError={onFieldError}\r\n onChange={onDialogInputChange}\r\n />\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n validators.required(\"Email\", val)}\r\n onFieldError={onFieldError}\r\n onChange={onDialogInputChange}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n validators.required(\"Phone\", val)}\r\n onFieldError={onFieldError}\r\n onChange={onDialogInputChange}\r\n />\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n onEdit(fields)}\r\n className=\"ttg-btn\"\r\n isLoading={isProcessing}\r\n >\r\n Save\r\n \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\";\r\nimport ButtonFx from \"../../../../components/Common/Button-Fx/Button-Fx\";\r\n\r\nexport default class EditUserModal extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n const {\r\n dialogs,\r\n toggleDeleteDialog,\r\n onDelete,\r\n fields,\r\n isProcessing,\r\n } = this.props;\r\n return (\r\n
    \r\n \r\n toggleDeleteDialog()}>\r\n Delete Voucher Purchase\r\n \r\n \r\n
    \r\n Are you sure you want to delete this voucher purchase? Please\r\n note, this will delete the tax invoice and any vouchers attached\r\n to this purchase. This cannot be undone.\r\n
    \r\n
    \r\n \r\n onDelete(fields)}\r\n className=\"ttg-btn\"\r\n isLoading={isProcessing}\r\n >\r\n Delete\r\n \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\";\r\nimport ButtonFx from \"../../../../components/Common/Button-Fx/Button-Fx\";\r\n\r\nexport default class EditUserModal extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n const {\r\n dialogs,\r\n toggleMarkAsPaidDialog,\r\n onMarkAsPaid,\r\n fields,\r\n isProcessing\r\n } = this.props;\r\n return (\r\n
    \r\n \r\n toggleMarkAsPaidDialog()}>\r\n Mark As Paid\r\n \r\n \r\n
    \r\n Are you sure you want to mark this purchase as paid? Please note,\r\n this cannot be undone.\r\n
    \r\n
    \r\n \r\n onMarkAsPaid(fields.prePurchaseId)}\r\n className=\"ttg-btn\"\r\n isLoading={isProcessing}\r\n >\r\n Save\r\n \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter, Table } from \"reactstrap\";\r\nimport ButtonFx from \"../../../../components/Common/Button-Fx/Button-Fx\";\r\n\r\nexport default class VouchersListDialog extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n const { dialogs, vouchers, toggleVouchersDialog } = this.props;\r\n return (\r\n
    \r\n \r\n toggleVouchersDialog()}>\r\n Vouchers\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 {vouchers.map((voucher, key) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
    Voucher CodeCourseStatus
    \r\n {voucher.voucherCode}\r\n {voucher.course}{voucher.status}
    \r\n
    \r\n
    \r\n \r\n toggleVouchersDialog()}\r\n className=\"ttg-btn\"\r\n isLoading={false}\r\n >\r\n Close\r\n \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n","import SolvableDataTable from \"../../../components/solvable-datatable/solvable-datatable\";\r\nimport BlockUiFx from \"../../../components/Common/Block-Ui-Fx/Block-Ui-Fx\";\r\nimport React, { Component } from \"react\";\r\nimport EditDialog from \"./Modals/edit\";\r\nimport DeleteDialog from \"./Modals/delete\";\r\nimport MarkAsPaidDialog from \"./Modals/mark-as-paid\";\r\nimport VouchersDialog from \"./Modals/vouchers-list\";\r\n\r\nclass DataTable extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n settings: {}\r\n };\r\n this.actionButtonHandler = this.actionButtonHandler.bind(this);\r\n }\r\n\r\n columns = [\r\n {\r\n Header: \"Company Name\",\r\n accessor: \"companyName\",\r\n searchable: true\r\n },\r\n {\r\n Header: \"Name\",\r\n accessor: \"name\",\r\n searchable: true\r\n },\r\n {\r\n accessor: \"userId\",\r\n show: false\r\n },\r\n {\r\n accessor: \"loginAsUserToken\",\r\n show: false\r\n },\r\n {\r\n accessor: \"prePurchaseId\",\r\n show: false\r\n },\r\n {\r\n accessor: \"vouchers\",\r\n show: false\r\n },\r\n {\r\n accessor: \"invoiceGuid\",\r\n show: false\r\n },\r\n {\r\n Header: \"Email\",\r\n accessor: \"email\",\r\n searchable: true\r\n },\r\n {\r\n Header: \"Phone\",\r\n accessor: \"phone\",\r\n searchable: true\r\n },\r\n {\r\n Header: \"Amount Due\",\r\n accessor: \"amountDue\",\r\n searchable: true\r\n },\r\n {\r\n Header: \"Amount Paid\",\r\n accessor: \"amountPaid\",\r\n searchable: true\r\n },\r\n {\r\n Header: \"Discount\",\r\n accessor: \"discountAmount\",\r\n searchable: true\r\n },\r\n {\r\n Header: \"Credit Card Purchase\",\r\n accessor: \"isCreditCardPurchase\",\r\n searchable: true\r\n },\r\n {\r\n Header: \"Purchased Date\",\r\n accessor: \"purchasedDateTime\",\r\n searchable: true\r\n }\r\n ];\r\n\r\n actionButtonHandler = evt => {\r\n const {\r\n toggleEditDialog,\r\n downloadTaxInvoice,\r\n toggleDeleteDialog,\r\n toggleVouchersDialog,\r\n toggleMarkAsPaidDialog\r\n } = this.props;\r\n switch (evt.type) {\r\n case \"button1\":\r\n toggleEditDialog(evt.data);\r\n break;\r\n case \"button2\":\r\n toggleMarkAsPaidDialog(evt.data);\r\n break;\r\n case \"button3\":\r\n toggleDeleteDialog(evt.data);\r\n break;\r\n case \"button4\":\r\n toggleVouchersDialog(evt.data.vouchers);\r\n break;\r\n case \"button5\":\r\n downloadTaxInvoice(evt.data.invoiceGuid);\r\n break;\r\n }\r\n };\r\n\r\n render() {\r\n const { data, isProcessing, settings } = this.props.dataTable;\r\n const {\r\n toggleDeleteDialog,\r\n toggleVouchersDialog,\r\n toggleEditDialog,\r\n toggleMarkAsPaidDialog,\r\n onFieldError,\r\n onEdit,\r\n onMarkAsPaid,\r\n onDelete,\r\n onSettingsChanged,\r\n onDialogInputChange\r\n } = this.props;\r\n const {\r\n isProcessing: isDialogProcessing,\r\n dialogs,\r\n fields,\r\n vouchers\r\n } = this.props.dialog;\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n row.amountPaid !== \"$0.00\",\r\n tooltip: \"Mark as paid\",\r\n },\r\n {\r\n target: \"button3\",\r\n icon: \"fas fa-trash-alt\",\r\n tooltip: \"Delete voucher\",\r\n },\r\n {\r\n target: \"button4\",\r\n icon: \"fas fa-list-alt\",\r\n tooltip: \"View vouchers\",\r\n },\r\n {\r\n target: \"button5\",\r\n icon: \"fas fa-download\",\r\n tooltip: \"Download tax invoice\",\r\n hideFn: (row) => row.invoiceGuid === null,\r\n },\r\n {\r\n target: \"button6\",\r\n icon: \"fas fa-address-card\",\r\n tooltip:\r\n \"You can right click “Open link in incognito window” to avoid having to log out and in again\",\r\n to: (row) => {\r\n return `/login/${row.userId}/${row.loginAsUserToken}`;\r\n },\r\n },\r\n ],\r\n }}\r\n keepSettings={true}\r\n stateSettings={settings}\r\n onSettingsChanged={onSettingsChanged}\r\n onActionButtonClick={this.actionButtonHandler}\r\n data={data}\r\n />\r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default DataTable;\r\n","import React, { Component } from \"react\";\r\nimport {\r\n Card,\r\n CardBody,\r\n CardFooter,\r\n CardHeader,\r\n Input,\r\n Row,\r\n Col,\r\n Collapse,\r\n Form,\r\n FormGroup\r\n} from \"reactstrap\";\r\nimport {} from \"../../../constants\";\r\nimport ReactSelectField from \"../../../components/Common/Fields/React-Select-Field\";\r\nimport DatePickerField from \"../../../components/Common/Fields/Date-Picker-Field\";\r\nimport formHandler from \"../../../components/Common/Fields/form-handler\";\r\nimport * as validators from \"../../../components/Common/Fields/Validators/Field-Validators\";\r\nimport KeyboardEventHandler from \"react-keyboard-event-handler\";\r\nimport ButtonFx from \"../../../components/Common/Button-Fx/Button-Fx\";\r\nimport CourseService from \"../../../services/course-service\";\r\n\r\nclass FilterSection extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n showFilters: false\r\n };\r\n }\r\n\r\n toggle = () => {\r\n this.setState({\r\n showFilters: !this.state.showFilters\r\n });\r\n };\r\n\r\n render() {\r\n const { showFilters } = this.state;\r\n const form = formHandler();\r\n const {\r\n dataTable,\r\n onInputChange,\r\n onFieldError,\r\n onLoad,\r\n reset\r\n } = this.props;\r\n const { isProcessing } = dataTable;\r\n const { courseIds, startDate, endDate } = dataTable.fields;\r\n\r\n const courses = CourseService()\r\n .getCourses()\r\n .map(course => {\r\n return {\r\n label: course.courseTitle,\r\n value: course.courseId\r\n };\r\n });\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n Filter Vouchers\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 validators.required(\"Course\", val)}\r\n showSelectAll={true}\r\n selectAllByDefault={true}\r\n ref={form.add}\r\n onChange={onInputChange}\r\n onFieldError={onFieldError}\r\n keepSettings={true}\r\n options={courses}\r\n value={courseIds}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n validators.required(\"Start Date\", val)\r\n }\r\n onFieldError={onFieldError}\r\n ref={form.add}\r\n >\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n validators.required(\"End Date\", val)\r\n }\r\n onFieldError={onFieldError}\r\n ref={form.add}\r\n >\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n form.validate({\r\n validFn: () => onLoad(dataTable.fields)\r\n })\r\n }\r\n type=\"submit\"\r\n className=\"ttg-btn\"\r\n isLoading={isProcessing}\r\n >\r\n Filter\r\n \r\n reset()}\r\n className=\"ttg-blue-btn ml-2\"\r\n isLoading={isProcessing}\r\n >\r\n Reset\r\n \r\n \r\n
    \r\n \r\n form.validate({\r\n validFn: () => onLoad(dataTable.fields)\r\n })\r\n }\r\n />\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default FilterSection;\r\n","import React, { Component } from \"react\";\r\nimport PageTitle from \"../../../components/Common/Page-Title/Page-Title\";\r\nimport ContentSection from \"../../../components/Content-Section\";\r\nimport Datatable from \"./datatable\";\r\nimport FilterSection from \"./filter-section\";\r\nimport ToggleDisplay from \"react-toggle-display\";\r\n\r\nclass VoucherPurchases extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n const { onLoad } = this.props;\r\n onLoad();\r\n this.props.clearDataTableSearchbox();\r\n }\r\n\r\n render() {\r\n const { isProcessing, isReset } = this.props.dataTable;\r\n return (\r\n <>\r\n \r\n \r\n

    Voucher Purchases

    \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 VoucherPurchases;\r\n","import HttpClient from \"../../../../coreLib//http/httpClient\";\r\nimport moment from \"moment\";\r\n\r\nconst Service = () => {\r\n let httpClient = HttpClient();\r\n\r\n const loadVouchers = payload => {\r\n let model = {\r\n courseIds: payload.courseIds.map(course =>\r\n typeof course === \"object\" ? course.value : course\r\n ),\r\n startDate: moment(payload.startDate),\r\n endDate: moment(payload.endDate)\r\n };\r\n return httpClient.post(\"v1/admin/vouchers\", model);\r\n };\r\n\r\n const updateVouchers = payload => {\r\n let model = {\r\n companyName: payload.companyName,\r\n firstName: payload.firstName,\r\n lastName: payload.lastName,\r\n email: payload.email,\r\n phone: payload.phone\r\n };\r\n return httpClient.put(`v1/admin/vouchers/${payload.prePurchaseId}`, model);\r\n };\r\n\r\n const deleteVoucher = payload => {\r\n return httpClient.delete(`v1/admin/vouchers/${payload.prePurchaseId}`);\r\n };\r\n\r\n const markAsPaid = prePurchaseId => {\r\n return httpClient.put(`v1/admin/vouchers/${prePurchaseId}/paid`, {\r\n isPaid: true\r\n });\r\n };\r\n\r\n const downloadTaxInvoice = invoiceId => {\r\n return httpClient.get(`v1/userCourse/pdf/tax-invoice/${invoiceId}`, {\r\n responseType: \"blob\"\r\n });\r\n };\r\n\r\n return {\r\n loadVouchers,\r\n updateVouchers,\r\n deleteVoucher,\r\n markAsPaid,\r\n downloadTaxInvoice\r\n };\r\n};\r\n\r\nexport default Service;\r\n","import { ActionTypes } from \"./action-types\";\r\nimport HttpService from \"../service\";\r\nimport CourseService from \"../../../../../services/course-service\";\r\nimport { addNotification } from \"../../../../../redux/system/system-action-creators\";\r\nimport moment from \"moment\";\r\nimport { saveAs } from \"file-saver\";\r\n\r\nexport const onLoad = () => (dispatch, getState) => {\r\n let fieldValues = getState().adminVouchers.DataTable.fields;\r\n let params = fieldValues ? fieldValues : getInitialParams();\r\n dispatch(loadRequest(params));\r\n};\r\n\r\nexport const resetData = () => dispatch => {\r\n let params = getInitialParams();\r\n dispatch(loadRequest(params));\r\n};\r\n\r\nexport const loadRequest = params => dispatch => {\r\n let service = HttpService();\r\n dispatch({ type: ActionTypes.ADMIN_PURCHASE_VOUCHERS_ONLOAD_REQUEST });\r\n service\r\n .loadVouchers(params)\r\n .then(resp => {\r\n dispatch(onLoadSuccess(resp.data));\r\n })\r\n .catch(() => {\r\n dispatch(onLoadFailure());\r\n dispatch(addNotification(\"Unable to load vouchers.\", \"warning\"));\r\n });\r\n};\r\n\r\nexport const reset = () => dispatch => {\r\n dispatch({ type: ActionTypes.ADMIN_PURCHASE_VOUCHERS_RESET });\r\n dispatch(resetData());\r\n};\r\n\r\nconst onLoadFailure = () => dispatch => {\r\n dispatch({\r\n type: ActionTypes.ADMIN_PURCHASE_VOUCHERS_ONLOAD_FAILURE\r\n });\r\n};\r\n\r\nexport const formInputChange = (name, value, error) => ({\r\n type: ActionTypes.ADMIN_PURCHASE_VOUCHERS_FORM_INPUT_CHANGE,\r\n payload: {\r\n name: name,\r\n value: value,\r\n error: error\r\n }\r\n});\r\n\r\nconst getInitialParams = () => {\r\n return {\r\n courseIds: CourseService()\r\n .getCourses()\r\n .map(course => course.courseId),\r\n startDate: moment().subtract(12, \"months\")._d,\r\n endDate: moment()._d\r\n };\r\n};\r\n\r\nconst onLoadSuccess = payload => dispatch => {\r\n dispatch({\r\n type: ActionTypes.ADMIN_PURCHASE_VOUCHERS_ONLOAD_SUCCESS,\r\n payload\r\n });\r\n};\r\n\r\nexport const downloadTaxInvoice = invoidGuid => dispatch => {\r\n dispatch({\r\n type: ActionTypes.ADMIN_PURCHASE_VOUCHERS_DOWNLOAD_TAX_INVOICE_REQUEST\r\n });\r\n let service = HttpService();\r\n service\r\n .downloadTaxInvoice(invoidGuid)\r\n .then(resp => {\r\n dispatch(onDownloadTaxInvoiceSuccess());\r\n const pdfBlob = new Blob([resp.data], { type: \"application/pdf\" });\r\n saveAs(pdfBlob, \"taxinvoice.pdf\");\r\n })\r\n .catch(() => {\r\n dispatch(onDownloadTaxInvoiceFailure());\r\n dispatch(addNotification(\"Unable to download tax invoice.\", \"warning\"));\r\n });\r\n};\r\n\r\nconst onDownloadTaxInvoiceSuccess = () => ({\r\n type: ActionTypes.ADMIN_PURCHASE_VOUCHERS_DOWNLOAD_TAX_INVOICE_SUCCESS\r\n});\r\n\r\nconst onDownloadTaxInvoiceFailure = () => ({\r\n type: ActionTypes.ADMIN_PURCHASE_VOUCHERS_DOWNLOAD_TAX_INVOICE_FAILURE\r\n});\r\n\r\nexport const keepDataTableSettings = settings => ({\r\n type: ActionTypes.ADMIN_PURCHASE_VOUCHERS_DATATABLE_KEEP_SETTINGS,\r\n payload: {\r\n settings\r\n }\r\n});\r\n\r\nexport const clearDataTableSearchboxFilter = () => ({\r\n type: ActionTypes.ADMIN_PURCHASE_VOUCHERS_DATATABLE_CLEAR_SEARCHBOX,\r\n});\r\n","import { ActionTypes } from \"./action-types\";\r\nimport HttpService from \"../service\";\r\nimport { addNotification } from \"../../../../../redux/system/system-action-creators\";\r\n\r\nexport const toggleDeleteDialog = payload => ({\r\n type: ActionTypes.ADMIN_PURCHASE_VOUCHERS_SHOW_DELETE_DIALOG,\r\n payload\r\n});\r\n\r\nexport const toggleEditDialog = payload => ({\r\n type: ActionTypes.ADMIN_PURCHASE_VOUCHERS_SHOW_EDIT_DIALOG,\r\n payload\r\n});\r\n\r\nexport const toggleVouchersDialog = payload => ({\r\n type: ActionTypes.ADMIN_PURCHASE_VOUCHERS_SHOW_VOUCHERS_DIALOG,\r\n payload\r\n});\r\n\r\nexport const toggleMarkAsPaidDialog = payload => ({\r\n type: ActionTypes.ADMIN_PURCHASE_VOUCHERS_SHOW_MARK_AS_PAID_DIALOG,\r\n payload\r\n});\r\n\r\nexport const formInputChange = (name, value, error) => ({\r\n type: ActionTypes.ADMIN_PURCHASE_VOUCHERS_DIALOG_FORM_INPUT_CHANGE,\r\n payload: {\r\n name: name,\r\n value: value,\r\n error: error\r\n }\r\n});\r\n\r\nexport const updateVoucher = payload => dispatch => {\r\n let service = HttpService();\r\n dispatch({ type: ActionTypes.ADMIN_PURCHASE_VOUCHERS_UPDATE_REQUEST });\r\n service\r\n .updateVouchers(payload)\r\n .then(() => {\r\n dispatch(updateVoucherSuccess(payload));\r\n dispatch(addNotification(\"Voucher has been updated.\"));\r\n })\r\n .catch(() => {\r\n dispatch(updateVoucherFailure());\r\n dispatch(addNotification(\"Unable to update the voucher.\", \"warning\"));\r\n });\r\n};\r\n\r\nconst updateVoucherSuccess = payload => dispatch => {\r\n dispatch({\r\n type: ActionTypes.ADMIN_PURCHASE_VOUCHERS_UPDATE_SUCCESS,\r\n payload\r\n });\r\n};\r\n\r\nconst updateVoucherFailure = () => dispatch => {\r\n dispatch({ type: ActionTypes.ADMIN_PURCHASE_VOUCHERS_UPDATE_FAILURE });\r\n};\r\n\r\nexport const deleteVoucher = payload => dispatch => {\r\n let service = HttpService();\r\n dispatch({ type: ActionTypes.ADMIN_PURCHASE_VOUCHERS_DELETE_REQUEST });\r\n service\r\n .deleteVoucher(payload)\r\n .then(() => {\r\n dispatch(deleteVoucherSuccess(payload));\r\n dispatch(addNotification(\"Voucher has been deleted.\"));\r\n })\r\n .catch(() => {\r\n dispatch(deleteVoucherFailure());\r\n dispatch(addNotification(\"Unable to delete the voucher.\", \"warning\"));\r\n });\r\n};\r\n\r\nconst deleteVoucherSuccess = payload => dispatch => {\r\n dispatch({\r\n type: ActionTypes.ADMIN_PURCHASE_VOUCHERS_DELETE_SUCCESS,\r\n payload\r\n });\r\n};\r\n\r\nconst deleteVoucherFailure = () => dispatch => {\r\n dispatch({ type: ActionTypes.ADMIN_PURCHASE_VOUCHERS_DELETE_FAILURE });\r\n};\r\n\r\nexport const markAsPaid = prePurchaseId => dispatch => {\r\n let service = HttpService();\r\n dispatch({ type: ActionTypes.ADMIN_PURCHASE_VOUCHERS_PAID_REQUEST });\r\n service\r\n .markAsPaid(prePurchaseId)\r\n .then(() => {\r\n dispatch(markAsPaidSuccess(prePurchaseId));\r\n dispatch(addNotification(\"Successfully mark as paid.\"));\r\n })\r\n .catch(() => {\r\n dispatch(markAsPaidFailure());\r\n dispatch(addNotification(\"Unable to mark as paid\", \"warning\"));\r\n });\r\n};\r\n\r\nconst markAsPaidSuccess = payload => dispatch => {\r\n dispatch({\r\n type: ActionTypes.ADMIN_PURCHASE_VOUCHERS_PAID_SUCCESS,\r\n payload\r\n });\r\n};\r\n\r\nconst markAsPaidFailure = () => dispatch => {\r\n dispatch({ type: ActionTypes.ADMIN_PURCHASE_VOUCHERS_PAID_FAILURE });\r\n};\r\n","import { connect } from \"react-redux\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport VoucherPurchases from \"./voucher-purchases\";\r\nimport * as dataTableActionCreators from \"./redux/datatable/action-creators\";\r\nimport * as dialogActionCreators from \"./redux/dialog/action-creators\";\r\nimport * as sysActionCreators from \"../../../redux/system/system-action-creators\";\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n dataTable: state.adminVouchers.DataTable,\r\n dialog: state.adminVouchers.Dialog\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => ({\r\n onLoad: (payload) => dispatch(dataTableActionCreators.onLoad(payload)),\r\n reset: () => dispatch(dataTableActionCreators.reset()),\r\n toggleEditDialog: (payload) =>\r\n dispatch(dialogActionCreators.toggleEditDialog(payload)),\r\n onInputChange: ({ name, value, error }) => {\r\n dispatch(dataTableActionCreators.formInputChange(name, value, error));\r\n },\r\n onEdit: (payload) => dispatch(dialogActionCreators.updateVoucher(payload)),\r\n onDelete: (payload) => dispatch(dialogActionCreators.deleteVoucher(payload)),\r\n onMarkAsPaid: (payload) => dispatch(dialogActionCreators.markAsPaid(payload)),\r\n onDialogInputChange: ({ name, value, error }) => {\r\n dispatch(dialogActionCreators.formInputChange(name, value, error));\r\n },\r\n onFieldError: (error) =>\r\n dispatch(sysActionCreators.addNotification(error, \"warning\")),\r\n toggleDeleteDialog: (payload) =>\r\n dispatch(dialogActionCreators.toggleDeleteDialog(payload)),\r\n toggleMarkAsPaidDialog: (payload) =>\r\n dispatch(dialogActionCreators.toggleMarkAsPaidDialog(payload)),\r\n toggleVouchersDialog: (payload) =>\r\n dispatch(dialogActionCreators.toggleVouchersDialog(payload)),\r\n downloadTaxInvoice: (invoiceGuid) =>\r\n dispatch(dataTableActionCreators.downloadTaxInvoice(invoiceGuid)),\r\n onSettingsChanged: (settings) => {\r\n dispatch(dataTableActionCreators.keepDataTableSettings(settings));\r\n },\r\n clearDataTableSearchbox: () =>\r\n dispatch(dataTableActionCreators.clearDataTableSearchboxFilter()),\r\n dispatch,\r\n history: ownProps.history,\r\n});\r\n\r\nconst VoucherPurchasesContainer = withRouter(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n )(VoucherPurchases)\r\n);\r\n\r\nexport default VoucherPurchasesContainer;\r\n","import React, { Component } from \"react\";\r\nimport {\r\n Input,\r\n Form,\r\n FormGroup,\r\n Row,\r\n Col,\r\n Label,\r\n Modal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n} from \"reactstrap\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport formHandler from \"../../../../components/Common/Fields/form-handler\";\r\nimport InputField from \"../../../../components/Common/Fields/Input-Field\";\r\nimport ButtonFx from \"../../../../components/Common/Button-Fx/Button-Fx\";\r\nimport DatePickerField from \"../../../../components/Common/Fields/Date-Picker-Field\";\r\nimport SelectField from \"../../../../components/Common/Fields/Select-Field\";\r\n\r\nclass ViewDetailsNswReprints extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n const { isModalOpen, fields, isModalLoading } = this.props.dialog;\r\n const { onToggle, onDialogInputChange, onFieldError, update } = this.props;\r\n const form = formHandler();\r\n\r\n return (\r\n \r\n onToggle()}>\r\n NSW Certificate Details\r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Edit these details\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n {\r\n form.validate({\r\n validFn: () => {\r\n update(fields);\r\n },\r\n });\r\n }}\r\n className=\"ttg-btn\"\r\n isLoading={isModalLoading}\r\n >\r\n Update\r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default ViewDetailsNswReprints;\r\n","import React, { Component } from \"react\";\r\nimport BlockUiFx from \"./../../../../components/Common/Block-Ui-Fx/Block-Ui-Fx\";\r\nimport SolvableDataTable from \"./../../../../components/solvable-datatable/solvable-datatable\";\r\nimport ViewDetailsNswCertificate from \"./../Modals/View-Details\";\r\n\r\nclass NswReprintsDataTable extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.columns = this.setupDataTable();\r\n }\r\n\r\n setupDataTable = () => {\r\n return [\r\n {\r\n Header: \"First Name\",\r\n accessor: \"firstName\",\r\n searchable: true\r\n },\r\n {\r\n Header: \"Last Name\",\r\n accessor: \"lastName\",\r\n searchable: true\r\n },\r\n {\r\n Header: \"Email\",\r\n accessor: \"email\",\r\n searchable: true\r\n },\r\n {\r\n Header: \"Phone\",\r\n accessor: \"phone\",\r\n searchable: true\r\n },\r\n {\r\n Header: \"Certificate Number\",\r\n accessor: \"certificateNumber\",\r\n searchable: true\r\n },\r\n {\r\n Header: \"Certificate Date/Time\",\r\n accessor: \"certificateDateTime\",\r\n searchable: true\r\n },\r\n {\r\n Header: \"Status\",\r\n accessor: \"status\",\r\n searchable: true\r\n }\r\n ];\r\n };\r\n\r\n render() {\r\n const { isLoading, data, settings } = this.props.dataTable;\r\n const {\r\n handleError,\r\n onSettingsChanged,\r\n onActionButtonHandler\r\n } = this.props;\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 NswReprintsDataTable;\r\n","import React, { Component } from \"react\";\r\nimport NswCertDataTable from \"./Data-Table/Data-Table\";\r\nimport PageTitle from \"../../../components/Common/Page-Title/Page-Title\";\r\nimport ContentSection from \"../../../components/Content-Section/index\";\r\n\r\nexport default class NswCertificatesViewContainer extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n const { onLoadData } = this.props;\r\n onLoadData();\r\n this.props.clearDataTableSearchbox();\r\n }\r\n\r\n render() {\r\n const { data } = this.props.dataTable;\r\n const { actionButtonHandler } = this.props;\r\n return (\r\n <>\r\n \r\n \r\n

    NSW Certificates

    \r\n
    \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import HttpClient from \"../../../coreLib/http/httpClient\";\r\nimport DateService from \"../../../services/date-service\";\r\n\r\nconst NswReprintsService = () => {\r\n let httpClient = HttpClient();\r\n let dateService = DateService();\r\n\r\n const loadData = () => {\r\n return httpClient.get(\"/v1/admin/nsw/certificates\");\r\n };\r\n\r\n const update = payload => {\r\n return httpClient.put(\r\n `/v1/admin/nsw/certificates/${payload.userCourseId}`,\r\n {\r\n nswCertificateNumber: payload.nswCertificateNumber,\r\n expressPostNumber: payload.expressPostNumber,\r\n dateSent: dateService.toIsoDate(payload.dateSent),\r\n status: payload.status\r\n }\r\n );\r\n };\r\n\r\n return {\r\n loadData,\r\n update\r\n };\r\n};\r\n\r\nexport default NswReprintsService;\r\n","/**\r\n * Action Creator definitions\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\nimport { addNotification } from \"../../../../../redux/system/system-action-creators\";\r\nimport NswReprintsService from \"../../service\";\r\n\r\n// ----------------------------\r\n// Actions\r\n// ----------------------------\r\n\r\nexport const loadData = () => {\r\n return dispatch => {\r\n dispatch(loadDataRequest());\r\n const service = NswReprintsService();\r\n\r\n service\r\n .loadData()\r\n .then(resp => {\r\n dispatch(loadDataSuccess(resp.data));\r\n })\r\n .catch(err => {\r\n dispatch(loadDataFailure(err));\r\n dispatch(\r\n addNotification(\"Unable to load data for this page.\", \"error\")\r\n );\r\n });\r\n };\r\n};\r\n\r\nconst loadDataRequest = () => ({\r\n type: ActionTypes.NSW_CERTIFICATES_LOAD_DATA_REQUEST\r\n});\r\n\r\nconst loadDataSuccess = payload => ({\r\n type: ActionTypes.NSW_CERTIFICATES_LOAD_DATA_SUCCESS,\r\n payload\r\n});\r\n\r\nconst loadDataFailure = err => ({\r\n type: ActionTypes.NSW_CERTIFICATES_LOAD_DATA_FAILURE,\r\n payload: err\r\n});\r\n\r\nexport const keepDataTableSettings = settings => ({\r\n type: ActionTypes.NSW_CERTIFICATES_DATATABLE_KEEP_SETTINGS,\r\n payload: {\r\n settings\r\n }\r\n});\r\n\r\nexport const clearDataTableSearchboxFilter = () => ({\r\n type: ActionTypes.NSW_CERTIFICATES_DATATABLE_CLEAR_SEARCHBOX,\r\n});\r\n","import { ActionTypes } from \"./action-types\";\r\nimport { addNotification } from \"../../../../../redux/system/system-action-creators\";\r\nimport NswReprintsService from \"../../service\";\r\n\r\nexport const toggleDialog = payload => dispatch => {\r\n dispatch({ type: ActionTypes.NSW_CERTIFICATES_VIEW_TOGGLE_DIALOG, payload });\r\n};\r\n\r\nexport const update = payload => dispatch => {\r\n let service = NswReprintsService();\r\n dispatch({ type: ActionTypes.NSW_CERTIFICATES_VIEW_UPDATE_REQUEST });\r\n service\r\n .update(payload)\r\n .then(() => {\r\n dispatch(updateSuccess(payload));\r\n dispatch(addNotification(\"Successfully updated.\"));\r\n })\r\n .catch(() => {\r\n dispatch(updateFailure());\r\n dispatch(addNotification(\"Unable to update.\", \"error\"));\r\n });\r\n};\r\n\r\nconst updateSuccess = payload => ({\r\n type: ActionTypes.NSW_CERTIFICATES_VIEW_UPDATE_SUCCESS,\r\n payload\r\n});\r\n\r\nconst updateFailure = () => ({\r\n type: ActionTypes.NSW_CERTIFICATES_VIEW_UPDATE_FAILURE\r\n});\r\n\r\nexport const formInputChange = (name, value, error) => ({\r\n type: ActionTypes.NSW_CERTIFICATES_VIEW_FORM_INPUT_CHANGE,\r\n payload: {\r\n name: name,\r\n value: value,\r\n error: error\r\n }\r\n});\r\n","import NswCertificates from \"./Nsw-Certificates\";\r\nimport { connect } from \"react-redux\";\r\nimport * as dataTableActionCreators from \"./redux/dataTable/action-creators\";\r\nimport * as dialogActionCreators from \"./redux/dialog/action-creators\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport * as sysActionCreators from \"../../../redux/system/system-action-creators\";\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n dataTable: state.nswCertificates.DataTable,\r\n dialog: state.nswCertificates.Dialog\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => ({\r\n onLoadData: () => {\r\n dispatch(dataTableActionCreators.loadData());\r\n },\r\n actionButtonHandler: (evt) => {\r\n if (evt.type === \"button1\") {\r\n dispatch(dialogActionCreators.toggleDialog(evt.data));\r\n }\r\n },\r\n onDialogInputChange: ({ name, value, error }) => {\r\n dispatch(dialogActionCreators.formInputChange(name, value, error));\r\n },\r\n update: (payload) => {\r\n dispatch(dialogActionCreators.update(payload));\r\n },\r\n onFieldError: (error) =>\r\n dispatch(sysActionCreators.addNotification(error, \"warning\")),\r\n onToggle: (payload) => {\r\n dispatch(dialogActionCreators.toggleDialog(payload));\r\n },\r\n onSettingsChanged: (settings) => {\r\n dispatch(dataTableActionCreators.keepDataTableSettings(settings));\r\n },\r\n clearDataTableSearchbox: () =>\r\n dispatch(dataTableActionCreators.clearDataTableSearchboxFilter()),\r\n dispatch: dispatch,\r\n history: ownProps.history,\r\n});\r\n\r\nexport default withRouter(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n )(NswCertificates)\r\n);\r\n","import React, { Component } from \"react\";\r\nimport {\r\n Input,\r\n Form,\r\n FormGroup,\r\n Row,\r\n Col,\r\n Label,\r\n Modal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter\r\n} from \"reactstrap\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport formHandler from \"../../../../components/Common/Fields/form-handler\";\r\nimport InputField from \"../../../../components/Common/Fields/Input-Field\";\r\nimport ButtonFx from \"../../../../components/Common/Button-Fx/Button-Fx\";\r\nimport DatePickerField from \"../../../../components/Common/Fields/Date-Picker-Field\";\r\nimport SelectField from \"../../../../components/Common/Fields/Select-Field\";\r\nimport * as validators from \"../../../../components/Common/Fields/Validators/Field-Validators\";\r\n\r\nconst validateSelect = (fieldName, value) => {\r\n if (validators.required(fieldName, value) || value === \"-1\") {\r\n return `${fieldName} is required.`;\r\n }\r\n return false;\r\n};\r\n\r\nclass ViewDetailsNswReprints extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n const { isModalOpen, fields, isModalLoading } = this.props.dialog;\r\n const { onToggle, onDialogInputChange, onFieldError, update } = this.props;\r\n const form = formHandler();\r\n\r\n return (\r\n \r\n onToggle()}>NSW Reprint Details\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n View Original Certificate{\" \"}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n {\r\n form.validate({\r\n validFn: () => {\r\n update(fields);\r\n }\r\n });\r\n }}\r\n className=\"ttg-btn\"\r\n isLoading={isModalLoading}\r\n >\r\n Update\r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default ViewDetailsNswReprints;\r\n","/**\r\n * NSW Reprints Data table\r\n */\r\nimport React, { Component } from \"react\";\r\nimport BlockUiFx from \"./../../../../components/Common/Block-Ui-Fx/Block-Ui-Fx\";\r\nimport SolvableDataTable from \"./../../../../components/solvable-datatable/solvable-datatable\";\r\nimport ViewDetailsNswCertificate from \"./../Modals/View-Details\";\r\nimport \"../nsw-reprint.scss\";\r\n\r\nclass NswReprintsDataTable extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.columns = this.setupDataTable();\r\n }\r\n\r\n setupDataTable = () => {\r\n return [\r\n {\r\n Header: \"First Name\",\r\n accessor: \"firstName\",\r\n searchable: true\r\n },\r\n {\r\n Header: \"Last Name\",\r\n accessor: \"lastName\",\r\n searchable: true\r\n },\r\n {\r\n Header: \"Email\",\r\n accessor: \"email\",\r\n searchable: true\r\n },\r\n {\r\n Header: \"Phone\",\r\n accessor: \"phone\",\r\n searchable: true\r\n },\r\n {\r\n Header: \"Purchased Date/Time\",\r\n accessor: \"purchasedDateTime\",\r\n searchable: true,\r\n width: 200\r\n },\r\n {\r\n Header: \"Status\",\r\n accessor: \"status\",\r\n searchable: true\r\n }\r\n ];\r\n };\r\n\r\n render() {\r\n const { isLoading, data, settings } = this.props.dataTable;\r\n const {\r\n handleError,\r\n onSettingsChanged,\r\n onActionButtonHandler\r\n } = this.props;\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 NswReprintsDataTable;\r\n","import React, { Component } from \"react\";\r\nimport \"./nsw-reprint.scss\";\r\nimport NswCertDataTable from \"./Data-Table/Data-Table\";\r\nimport PageTitle from \"../../../components/Common/Page-Title/Page-Title\";\r\nimport ContentSection from \"../../../components/Content-Section/index\";\r\n\r\nexport default class NswReprintsViewContainer extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n const { onLoadData } = this.props;\r\n onLoadData();\r\n this.props.clearDataTableSearchbox();\r\n }\r\n\r\n render() {\r\n const { data } = this.props.dataTable;\r\n const { actionButtonHandler } = this.props;\r\n return (\r\n <>\r\n \r\n \r\n

    View NSW Reprints

    \r\n
    \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import HttpClient from \"../../../coreLib/http/httpClient\";\r\nimport DateService from \"../../../services/date-service\";\r\n\r\nconst NswReprintsService = () => {\r\n let httpClient = HttpClient();\r\n let dateService = DateService();\r\n\r\n const loadData = () => {\r\n return httpClient.get(\"/v1/admin/nsw/reprints\");\r\n };\r\n\r\n const update = payload => {\r\n return httpClient.put(`/v1/admin/nsw/reprints/${payload.id}`, {\r\n nswCertificateNumber: payload.nswCertificateNumber,\r\n expressPostNumber: payload.expressPostNumber,\r\n dateSent: dateService.toIsoDate(payload.dateSent),\r\n status: payload.status\r\n });\r\n };\r\n\r\n return {\r\n loadData,\r\n update\r\n };\r\n};\r\n\r\nexport default NswReprintsService;\r\n","/**\r\n * Action Creator definitions\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\nimport { addNotification } from \"../../../../../redux/system/system-action-creators\";\r\nimport NswReprintsService from \"../../service\";\r\n\r\n// ----------------------------\r\n// Actions\r\n// ----------------------------\r\n\r\nexport const loadData = () => {\r\n return dispatch => {\r\n dispatch(loadDataRequest());\r\n const service = NswReprintsService();\r\n\r\n service\r\n .loadData()\r\n .then(resp => {\r\n dispatch(loadDataSuccess(resp.data));\r\n })\r\n .catch(err => {\r\n dispatch(loadDataFailure(err));\r\n dispatch(\r\n addNotification(\"Unable to load data for this page.\", \"error\")\r\n );\r\n });\r\n };\r\n};\r\n\r\nconst loadDataRequest = () => ({\r\n type: ActionTypes.NSW_REPRINTS_LOAD_DATA_REQUEST\r\n});\r\n\r\nconst loadDataSuccess = payload => ({\r\n type: ActionTypes.NSW_REPRINTS_LOAD_DATA_SUCCESS,\r\n payload: payload\r\n});\r\n\r\nconst loadDataFailure = err => ({\r\n type: ActionTypes.NSW_REPRINTS_LOAD_DATA_FAILURE,\r\n payload: err\r\n});\r\n\r\nexport const keepDataTableSettings = settings => ({\r\n type: ActionTypes.NSW_REPRINTS_DATATABLE_KEEP_SETTINGS,\r\n payload: {\r\n settings\r\n }\r\n});\r\n\r\nexport const clearDataTableSearchboxFilter = () => ({\r\n type: ActionTypes.NSW_REPRINTS_DATATABLE_CLEAR_SEARCHBOX,\r\n});\r\n","import { ActionTypes } from \"./action-types\";\r\nimport { addNotification } from \"../../../../../redux/system/system-action-creators\";\r\nimport NswReprintsService from \"../../service\";\r\n\r\nexport const toggleDialog = payload => dispatch => {\r\n dispatch({ type: ActionTypes.NSW_REPRINTS_VIEW_TOGGLE_DIALOG, payload });\r\n};\r\n\r\nexport const update = payload => dispatch => {\r\n let service = NswReprintsService();\r\n dispatch({ type: ActionTypes.NSW_REPRINTS_VIEW_UPDATE_REQUEST });\r\n service\r\n .update(payload)\r\n .then(() => {\r\n dispatch(updateSuccess(payload));\r\n dispatch(addNotification(\"Successfully updated.\"));\r\n })\r\n .catch(() => {\r\n dispatch(updateFailure());\r\n dispatch(addNotification(\"Unable to update.\", \"error\"));\r\n });\r\n};\r\n\r\nconst updateSuccess = payload => ({\r\n type: ActionTypes.NSW_REPRINTS_VIEW_UPDATE_SUCCESS,\r\n payload\r\n});\r\n\r\nconst updateFailure = () => ({\r\n type: ActionTypes.NSW_REPRINTS_VIEW_UPDATE_FAILURE\r\n});\r\n\r\nexport const formInputChange = (name, value, error) => ({\r\n type: ActionTypes.NSW_REPRINTS_VIEW_FORM_INPUT_CHANGE,\r\n payload: {\r\n name: name,\r\n value: value,\r\n error: error\r\n }\r\n});\r\n","import NswReprints from \"./Nsw-Reprints-View\";\r\nimport { connect } from \"react-redux\";\r\nimport \"./nsw-reprint.scss\";\r\nimport * as dataTableActionCreators from \"./redux/dataTable/action-creators\";\r\nimport * as dialogActionCreators from \"./redux/dialog/action-creators\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport * as sysActionCreators from \"../../../redux/system/system-action-creators\";\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n dataTable: state.nswReprintsView.DataTable,\r\n dialog: state.nswReprintsView.Dialog\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => ({\r\n onLoadData: () => {\r\n dispatch(dataTableActionCreators.loadData());\r\n },\r\n actionButtonHandler: (evt) => {\r\n if (evt.type === \"button1\") {\r\n dispatch(dialogActionCreators.toggleDialog(evt.data));\r\n }\r\n },\r\n onDialogInputChange: ({ name, value, error }) => {\r\n dispatch(dialogActionCreators.formInputChange(name, value, error));\r\n },\r\n update: (payload) => {\r\n dispatch(dialogActionCreators.update(payload));\r\n },\r\n onFieldError: (error) =>\r\n dispatch(sysActionCreators.addNotification(error, \"warning\")),\r\n onToggle: (payload) => {\r\n dispatch(dialogActionCreators.toggleDialog(payload));\r\n },\r\n onSettingsChanged: (settings) => {\r\n dispatch(dataTableActionCreators.keepDataTableSettings(settings));\r\n },\r\n clearDataTableSearchbox: () =>\r\n dispatch(dataTableActionCreators.clearDataTableSearchboxFilter()),\r\n dispatch: dispatch,\r\n history: ownProps.history,\r\n});\r\n\r\nconst NswReprintsViewContainer = withRouter(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n )(NswReprints)\r\n);\r\n\r\nexport default NswReprintsViewContainer;\r\n","import React, { Component } from \"react\";\r\nimport {\r\n Modal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n Form,\r\n Row,\r\n Col,\r\n FormGroup\r\n} from \"reactstrap\";\r\nimport formHandler from \"../../../../components/Common/Fields/form-handler\";\r\nimport \"../../../../components/Common/Fields/Fields.scss\";\r\nimport ButtonFx from \"../../../../components/Common/Button-Fx/Button-Fx\";\r\nimport InputField from \"../../../../components/Common/Fields/Input-Field\";\r\nimport SelectField from \"../../../../components/Common/Fields/Select-Field\";\r\nimport DatePickerField from \"../../../../components/Common/Fields/Date-Picker-Field\";\r\nimport * as validators from \"../../../../components/Common/Fields/Validators/Field-Validators\";\r\n\r\nconst validateSelect = (fieldName, value) => {\r\n if (validators.required(fieldName, value) || value === \"-1\") {\r\n return `${fieldName} is required.`;\r\n }\r\n return false;\r\n};\r\n\r\nexport default class EntryModal extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n const {\r\n toggleEditDialog,\r\n onFieldError,\r\n onDialogInputChange,\r\n onEdit,\r\n onAdd,\r\n dialogs,\r\n isProcessing,\r\n isEdit,\r\n fields\r\n } = this.props;\r\n const {\r\n discountCode,\r\n discountPercentage,\r\n discountAmount,\r\n expiryDate,\r\n isOneUseOnly\r\n } = fields;\r\n const form = formHandler();\r\n return (\r\n
    \r\n \r\n toggleEditDialog()}>\r\n {`${isEdit ? \"Edit\" : \"Add\"} Promo Code`}\r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n validators.required(\"Promo Code\", val)}\r\n onFieldError={onFieldError}\r\n onChange={onDialogInputChange}\r\n />\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n validators.required(\"Discount %\", val)}\r\n onFieldError={onFieldError}\r\n onChange={onDialogInputChange}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n validators.required(\"Discount $\", val)}\r\n onFieldError={onFieldError}\r\n onChange={onDialogInputChange}\r\n />\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n validateSelect(\"One Time Use\", val)}\r\n value={isOneUseOnly}\r\n onFieldError={onFieldError}\r\n onChange={onDialogInputChange}\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 form.validate({\r\n validFn: () => {\r\n isEdit ? onEdit(fields) : onAdd(fields);\r\n }\r\n })\r\n }\r\n className=\"ttg-btn\"\r\n isLoading={isProcessing}\r\n >\r\n Save\r\n \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\";\r\nimport ButtonFx from \"../../../../components/Common/Button-Fx/Button-Fx\";\r\n\r\nexport default class DeleteModal extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n const {\r\n dialogs,\r\n toggleDeleteDialog,\r\n fields,\r\n onDelete,\r\n isProcessing\r\n } = this.props;\r\n return (\r\n
    \r\n \r\n toggleDeleteDialog()}>\r\n Delete Promo Code\r\n \r\n \r\n
    \r\n Are you sure you want to delete this promo code? Please note, this\r\n cannot be undone.\r\n
    \r\n
    \r\n \r\n {\r\n onDelete(fields);\r\n }}\r\n className=\"ttg-btn\"\r\n isLoading={isProcessing}\r\n >\r\n Delete\r\n \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n","import SolvableDataTable from \"../../../components/solvable-datatable/solvable-datatable\";\r\nimport BlockUiFx from \"../../../components/Common/Block-Ui-Fx/Block-Ui-Fx\";\r\nimport React, { Component } from \"react\";\r\nimport EditDialog from \"./Modals/edit\";\r\nimport DeleteDialog from \"./Modals/delete\";\r\n\r\nclass DataTable extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n settings: {}\r\n };\r\n this.actionButtonHandler = this.actionButtonHandler.bind(this);\r\n }\r\n\r\n onSettingsChanged = settings => {\r\n this.setState({ settings });\r\n };\r\n\r\n columns = [\r\n {\r\n accessor: \"id\",\r\n show: false\r\n },\r\n {\r\n Header: \"Promo Code\",\r\n accessor: \"discountCode\",\r\n searchable: true\r\n },\r\n {\r\n accessor: \"discountPercentage\",\r\n show: false\r\n },\r\n {\r\n Header: \"Discount %\",\r\n accessor: \"discountPercentage2\",\r\n searchable: true\r\n },\r\n {\r\n accessor: \"discountAmount\",\r\n show: false\r\n },\r\n {\r\n Header: \"Discount $\",\r\n accessor: \"discountAmount2\",\r\n searchable: true\r\n },\r\n\r\n {\r\n accessor: \"expiryDate\",\r\n show: false\r\n },\r\n {\r\n Header: \"Expires On\",\r\n accessor: \"expiryDate2\",\r\n searchable: true\r\n },\r\n {\r\n accessor: \"isOneUseOnly\",\r\n show: false\r\n },\r\n {\r\n Header: \"One Time Use\",\r\n accessor: \"isOneUseOnly2\",\r\n searchable: true\r\n }\r\n ];\r\n\r\n actionButtonHandler = evt => {\r\n const {\r\n toggleEditDialog,\r\n toggleDeleteDialog,\r\n toggleAddDialog\r\n } = this.props;\r\n switch (evt.type) {\r\n case \"button1\":\r\n toggleAddDialog();\r\n break;\r\n case \"button2\":\r\n toggleEditDialog(evt.data);\r\n break;\r\n case \"button3\":\r\n toggleDeleteDialog(evt.data);\r\n break;\r\n }\r\n };\r\n\r\n render() {\r\n const {\r\n toggleEditDialog,\r\n toggleDeleteDialog,\r\n onFieldError,\r\n onDelete,\r\n onEdit,\r\n onAdd,\r\n dataTable,\r\n dialog,\r\n onSettingsChanged,\r\n onDialogInputChange\r\n } = this.props;\r\n const { data, isProcessing, settings } = dataTable;\r\n const {\r\n dialogs,\r\n fields,\r\n isProcessing: isDialogProcessing,\r\n isEdit\r\n } = dialog;\r\n return (\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 DataTable;\r\n","import React, { Component } from \"react\";\r\nimport PageTitle from \"../../../components/Common/Page-Title/Page-Title\";\r\nimport ContentSection from \"../../../components/Content-Section\";\r\nimport Datatable from \"./datatable\";\r\n\r\nclass Users extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n const { onLoad } = this.props;\r\n onLoad();\r\n this.props.clearDataTableSearchbox();\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n \r\n \r\n

    Promo Codes

    \r\n
    \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Users;\r\n","import HttpClient from \"../../../../coreLib//http/httpClient\";\r\n\r\nconst Service = () => {\r\n let httpClient = HttpClient();\r\n\r\n const load = () => {\r\n return httpClient.get(\"v1/admin/promocodes\");\r\n };\r\n\r\n const deletePromoCode = id => {\r\n return httpClient.delete(`v1/admin/promocodes/${id}`);\r\n };\r\n\r\n const addPromoCode = payload => {\r\n let model = {\r\n discountCode: payload.discountCode,\r\n discountPercentage: payload.discountPercentage / 100,\r\n discountAmount: payload.discountAmount,\r\n expiryDate: payload.expiryDate,\r\n isOneUseOnly: payload.isOneUseOnly\r\n };\r\n return httpClient.post(`v1/admin/promocodes/`, model);\r\n };\r\n\r\n const editPromoCode = payload => {\r\n let model = {\r\n discountCode: payload.discountCode,\r\n discountPercentage: payload.discountPercentage / 100,\r\n discountAmount: payload.discountAmount,\r\n expiryDate: payload.expiryDate,\r\n isOneUseOnly:\r\n payload.isOneUseOnly === true || payload.isOneUseOnly === \"true\"\r\n ? true\r\n : false\r\n };\r\n return httpClient.put(`v1/admin/promocodes/${payload.id}`, model);\r\n };\r\n\r\n return {\r\n load,\r\n deletePromoCode,\r\n addPromoCode,\r\n editPromoCode\r\n };\r\n};\r\n\r\nexport default Service;\r\n","import { ActionTypes } from \"./action-types\";\r\nimport HttpService from \"../service\";\r\n\r\nexport const onLoad = () => dispatch => {\r\n dispatch(loadRequest());\r\n};\r\n\r\nexport const loadRequest = params => dispatch => {\r\n let service = HttpService();\r\n dispatch({ type: ActionTypes.ADMIN_PROMO_CODES_ONLOAD_REQUEST });\r\n service\r\n .load(params)\r\n .then(resp => {\r\n dispatch(onLoadSuccess(resp.data));\r\n })\r\n .catch(() => {\r\n dispatch(onLoadFailure());\r\n });\r\n};\r\n\r\nconst onLoadSuccess = payload => dispatch => {\r\n dispatch({\r\n type: ActionTypes.ADMIN_PROMO_CODES_ONLOAD_SUCCESS,\r\n payload\r\n });\r\n};\r\n\r\nconst onLoadFailure = () => dispatch => {\r\n dispatch({\r\n type: ActionTypes.ADMIN_PROMO_CODES_ONLOAD_FAILURE\r\n });\r\n};\r\n\r\nexport const formInputChange = (name, value, error) => ({\r\n type: ActionTypes.ADMIN_PROMO_CODES_FILTER_FORM_INPUT_CHANGE,\r\n payload: {\r\n name: name,\r\n value: value,\r\n error: error\r\n }\r\n});\r\n\r\nexport const keepDataTableSettings = settings => ({\r\n type: ActionTypes.ADMIN_PROMO_CODES_DATATABLE_KEEP_SETTINGS,\r\n payload: {\r\n settings\r\n }\r\n});\r\n\r\nexport const clearDataTableSearchboxFilter = () => ({\r\n type: ActionTypes.ADMIN_PROMO_CODES_DATATABLE_CLEAR_SEARCHBOX,\r\n});\r\n","import { ActionTypes } from \"./action-types\";\r\nimport { addNotification } from \"../../../../../redux/system/system-action-creators\";\r\nimport HttpService from \"../service\";\r\n\r\nexport const onDelete = payload => dispatch => {\r\n let service = HttpService();\r\n dispatch({ type: ActionTypes.ADMIN_PROMO_CODES_DELETE_REQUEST });\r\n service\r\n .deletePromoCode(payload.id)\r\n .then(() => {\r\n dispatch(onDeleteSuccess(payload));\r\n dispatch(addNotification(\"Promo code has been successfully deleted.\"));\r\n })\r\n .catch(() => {\r\n dispatch(onDeleteFailure());\r\n dispatch(\r\n addNotification(\r\n \"There was an error deleting the promo code.\",\r\n \"warning\"\r\n )\r\n );\r\n });\r\n};\r\n\r\nconst onDeleteSuccess = payload => dispatch => {\r\n dispatch({\r\n type: ActionTypes.ADMIN_PROMO_CODES_DELETE_SUCCESS,\r\n payload\r\n });\r\n};\r\n\r\nexport const onAdd = payload => dispatch => {\r\n let service = HttpService();\r\n dispatch({ type: ActionTypes.ADMIN_PROMO_CODES_ADD_REQUEST });\r\n service\r\n .addPromoCode(payload)\r\n .then(() => {\r\n dispatch(onAddSuccess(payload));\r\n dispatch(addNotification(\"Promo code has been successfully added.\"));\r\n })\r\n .catch(() => {\r\n dispatch(onAddFailure());\r\n dispatch(addNotification(\"Unable to add a promo code.\", \"warning\"));\r\n });\r\n};\r\n\r\nconst onAddSuccess = payload => dispatch => {\r\n dispatch({\r\n type: ActionTypes.ADMIN_PROMO_CODES_ADD_SUCCESS,\r\n payload\r\n });\r\n};\r\n\r\nconst onAddFailure = () => dispatch => {\r\n dispatch({\r\n type: ActionTypes.ADMIN_PROMO_CODES_ADD_FAILURE\r\n });\r\n};\r\n\r\nexport const onEdit = payload => dispatch => {\r\n let service = HttpService();\r\n dispatch({ type: ActionTypes.ADMIN_PROMO_CODES_EDIT_REQUEST });\r\n service\r\n .editPromoCode(payload)\r\n .then(() => {\r\n dispatch(onEditSuccess(payload));\r\n dispatch(addNotification(\"Promo code has been successfully edited.\"));\r\n })\r\n .catch(() => {\r\n dispatch(onEditFailure());\r\n dispatch(\r\n addNotification(\"There was an error updating the promo code\", \"warning\")\r\n );\r\n });\r\n};\r\n\r\nconst onEditSuccess = payload => dispatch => {\r\n dispatch({\r\n type: ActionTypes.ADMIN_PROMO_CODES_EDIT_SUCCESS,\r\n payload\r\n });\r\n};\r\n\r\nconst onEditFailure = () => dispatch => {\r\n dispatch({\r\n type: ActionTypes.ADMIN_PROMO_CODES_EDIT_FAILURE\r\n });\r\n};\r\n\r\nconst onDeleteFailure = () => dispatch => {\r\n dispatch({\r\n type: ActionTypes.ADMIN_PROMO_CODES_DELETE_FAILURE\r\n });\r\n};\r\n\r\nexport const toggleDeleteDialog = payload => ({\r\n type: ActionTypes.ADMIN_PROMO_CODES_SHOW_DELETE_DIALOG,\r\n payload\r\n});\r\n\r\nexport const toggleEditDialog = payload => ({\r\n type: ActionTypes.ADMIN_PROMO_CODES_SHOW_EDIT_DIALOG,\r\n payload\r\n});\r\n\r\nexport const toggleAddDialog = payload => ({\r\n type: ActionTypes.ADMIN_PROMO_CODES_SHOW_EDIT_DIALOG,\r\n payload\r\n});\r\n\r\nexport const formInputChange = (name, value, error) => ({\r\n type: ActionTypes.ADMIN_PROMO_CODES_DIALOG_FORM_INPUT_CHANGE,\r\n payload: {\r\n name: name,\r\n value: value,\r\n error: error\r\n }\r\n});\r\n","import { connect } from \"react-redux\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport PromoCodes from \"./promo-codes\";\r\nimport * as dataTableActionCreators from \"./redux/datatable/action-creators\";\r\nimport * as dialogActionCreators from \"./redux/dialog/action-creators\";\r\nimport * as sysActionCreators from \"../../../redux/system/system-action-creators\";\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n dataTable: state.promoCode.DataTable,\r\n dialog: state.promoCode.Dialog\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => ({\r\n onLoad: () => dispatch(dataTableActionCreators.onLoad()),\r\n toggleEditDialog: (payload) =>\r\n dispatch(dialogActionCreators.toggleEditDialog(payload)),\r\n toggleDeleteDialog: (payload) =>\r\n dispatch(dialogActionCreators.toggleDeleteDialog(payload)),\r\n toggleAddDialog: () => dispatch(dialogActionCreators.toggleEditDialog()),\r\n onInputChange: ({ name, value, error }) => {\r\n dispatch(dataTableActionCreators.formInputChange(name, value, error));\r\n },\r\n onDialogInputChange: ({ name, value, error }) => {\r\n dispatch(dialogActionCreators.formInputChange(name, value, error));\r\n },\r\n onFieldError: (error) =>\r\n dispatch(sysActionCreators.addNotification(error, \"warning\")),\r\n onDelete: (payload) => dispatch(dialogActionCreators.onDelete(payload)),\r\n onEdit: (payload) => dispatch(dialogActionCreators.onEdit(payload)),\r\n onAdd: (payload) => dispatch(dialogActionCreators.onAdd(payload)),\r\n onSettingsChanged: (settings) => {\r\n dispatch(dataTableActionCreators.keepDataTableSettings(settings));\r\n },\r\n clearDataTableSearchbox: () =>\r\n dispatch(dataTableActionCreators.clearDataTableSearchboxFilter()),\r\n dispatch,\r\n history: ownProps.history,\r\n});\r\n\r\nconst mergeFormProps = (stateProps, dispatchProps) => ({\r\n ...stateProps,\r\n ...dispatchProps,\r\n loadRequest: payload => {\r\n dispatchProps.dispatch(dataTableActionCreators.loadRequest(payload));\r\n }\r\n});\r\n\r\nconst PromoCodesContainer = withRouter(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n mergeFormProps\r\n )(PromoCodes)\r\n);\r\n\r\nexport default PromoCodesContainer;\r\n","import React, { Component } from \"react\";\r\n\r\nclass AppWrapper extends Component {\r\n render() {\r\n const { children } = this.props;\r\n const { loggedIn } = this.props.loginData;\r\n\r\n return (\r\n
    \r\n {children}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default AppWrapper;\r\n","import { connect } from \"react-redux\";\r\nimport { selectLoginData } from \"../../../redux/system/login-reducer\";\r\nimport AppWrapper from \"./App-Wrapper\";\r\n\r\nfunction mapStateToProps(state) {\r\n const loginData = selectLoginData(state);\r\n\r\n return {\r\n loginData: loginData\r\n };\r\n}\r\n\r\nconst AppWrapperContainer = connect(mapStateToProps)(AppWrapper);\r\n\r\nexport default AppWrapperContainer;\r\n","/**\r\n * Login Impersonation Component\r\n * - grabs the token and user id to send back to server\r\n * - if successfull server will respond a valid jwt\r\n * rcnet @solvable 2019\r\n */\r\nimport React, { useEffect } from \"react\";\r\nimport { Redirect } from \"react-router-dom\";\r\nimport { connect } from \"react-redux\";\r\nimport { selectLoginData } from \"../../../redux/system/login-reducer\";\r\nimport * as actionCreators from \"../../../redux/system/system-action-creators\";\r\nimport ContentSection from \"../../Content-Section/index\";\r\nimport BlockUiFx from \"./../Block-Ui-Fx/Block-Ui-Fx\";\r\n\r\n// Functional component with react hooks\r\nconst LoginImpersonationContainer = ({\r\n urlRedirectionViaImpersonation,\r\n match,\r\n onLogin,\r\n}) => {\r\n // redirectNow =false;\r\n\r\n useEffect(() => {\r\n const { userId, token } = match.params;\r\n onLogin(userId, token);\r\n }, []);\r\n\r\n return (\r\n <>\r\n {urlRedirectionViaImpersonation !== \"\" ? (\r\n \r\n ) : (\r\n \r\n \r\n
    \r\n

    Logging in please wait...

    \r\n
    \r\n
    \r\n
    \r\n )}\r\n \r\n );\r\n};\r\n\r\n// ---------------\r\n// Redux-Connect\r\n// ---------------\r\nconst mapStateToProps = (state) => {\r\n const { urlRedirectionViaImpersonation } = selectLoginData(state);\r\n return { urlRedirectionViaImpersonation };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => ({\r\n onLogin: (id, token) => {\r\n dispatch(actionCreators.loginImpersonationInit());\r\n dispatch(actionCreators.onImpersonateLogin(id, token, ownProps.history));\r\n },\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(LoginImpersonationContainer);\r\n","import React, { Component } from \"react\";\r\nimport PageTitle from \"../../../components/Common/Page-Title/Page-Title\";\r\nimport ContentSection from \"../../../components/Content-Section\";\r\nimport ButtonFx from \"../../../components/Common/Button-Fx/Button-Fx\";\r\n\r\nclass AuthoriseAvs extends Component {\r\n componentDidMount() {\r\n const { onLoadForm } = this.props;\r\n\r\n onLoadForm();\r\n }\r\n\r\n render() {\r\n const { isLoading, onSubmit } = this.props;\r\n const {\r\n userCode,\r\n deviceCode,\r\n verificationUrl,\r\n errorMessage,\r\n } = this.props.authoriseAvs;\r\n\r\n return (\r\n <>\r\n \r\n \r\n

    Avetmiss Validation Service | Authorise

    \r\n

    \r\n The security token this website uses to communicate with the\r\n Avetmiss Validation Service has expired.\r\n

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

    \r\n Please click the link below, and enter the code listed below. Once\r\n you have authorised the website, please click the 'Verify Access'\r\n button below to verify this website can access the Avetmiss\r\n Validation Service. Please note, you will need to be logged into the\r\n Avetmiss Validation Service with an admin account before you click\r\n the link below.\r\n

    \r\n

    \r\n \r\n {verificationUrl}\r\n \r\n

    \r\n
    {userCode}
    \r\n onSubmit(deviceCode)}\r\n >\r\n Verify Access\r\n \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default AuthoriseAvs;\r\n","/**\r\n * Avetmiss Reporting Authorise AVS Service\r\n */\r\nimport HttpClient from \"../../../coreLib/http/httpClient\";\r\n\r\nconst AuthoriseAvsService = () => {\r\n let httpClient = HttpClient();\r\n\r\n const getStatus = () => {\r\n return httpClient.get(\"/v1/avetmiss/status\");\r\n };\r\n\r\n const getAuthorisation = () => {\r\n return httpClient.get(\"/v1/avetmiss/authorise\");\r\n };\r\n\r\n const getVerification = deviceCode => {\r\n return httpClient.get(`/v1/avetmiss/verify/${deviceCode}`);\r\n };\r\n\r\n return {\r\n getStatus,\r\n getAuthorisation,\r\n getVerification\r\n };\r\n};\r\n\r\nexport default AuthoriseAvsService;\r\n","/**\r\n * Action Creator definitions\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\nimport { addNotification } from \"../../../../redux/system/system-action-creators\";\r\nimport AuthoriseAvsService from \"../authorise-avs-service\";\r\n\r\n// ----------------------------\r\n// Actions\r\n// ----------------------------\r\nexport const onLoadForm = history => {\r\n return dispatch => {\r\n dispatch(LoadFormRequest());\r\n\r\n const service = AuthoriseAvsService();\r\n\r\n service\r\n .getStatus()\r\n .then(resp => {\r\n if (resp.data.validToken) {\r\n history.push(\"/Admin/Avetmiss/Reporting/\");\r\n return;\r\n }\r\n\r\n service\r\n .getAuthorisation()\r\n .then(resp => {\r\n dispatch(\r\n LoadFormSuccess(\r\n resp.data.userCode,\r\n resp.data.deviceCode,\r\n resp.data.verificationUrl,\r\n resp.data.errorMessage\r\n )\r\n );\r\n })\r\n .catch(err => {\r\n dispatch(LoadFormFailure());\r\n dispatch(\r\n addNotification(\r\n \"Sorry, an error occurred trying to get the Avetmiss Reporting Authorisation Details.\",\r\n \"error\"\r\n )\r\n );\r\n });\r\n })\r\n .catch(err => {\r\n dispatch(LoadFormFailure());\r\n dispatch(\r\n addNotification(\r\n \"Sorry, an error occurred trying to get the Avetmiss Reporting Authorisation Details.\",\r\n \"error\"\r\n )\r\n );\r\n });\r\n };\r\n};\r\n\r\nconst LoadFormRequest = () => ({\r\n type: ActionTypes.AVETMISS_AUTHORISE_AVS_LOAD_FORM_REQUEST\r\n});\r\n\r\nconst LoadFormSuccess = (\r\n userCode,\r\n deviceCode,\r\n verificationUrl,\r\n errorMessage\r\n) => ({\r\n type: ActionTypes.AVETMISS_AUTHORISE_AVS_LOAD_FORM_SUCCESS,\r\n payload: {\r\n userCode,\r\n deviceCode,\r\n verificationUrl,\r\n errorMessage\r\n }\r\n});\r\n\r\nconst LoadFormFailure = () => ({\r\n type: ActionTypes.AVETMISS_AUTHORISE_AVS_LOAD_FORM_FAILURE\r\n});\r\n\r\n// Async\r\nexport const onSubmit = (deviceCode, history) => dispatch => {\r\n dispatch(onSubmitRequest());\r\n\r\n const service = AuthoriseAvsService();\r\n\r\n service\r\n .getVerification(deviceCode)\r\n .then(resp => {\r\n if (resp.data.verificationSuccessful) {\r\n dispatch(onSubmitSuccess());\r\n dispatch(\r\n addNotification(\r\n \"Awesome, that worked, we are set for another year.\",\r\n \"info\"\r\n )\r\n );\r\n history.push(\"/Admin/Avetmiss/Reporting/\");\r\n }\r\n })\r\n .catch(err => {\r\n dispatch(onSubmitFailure());\r\n dispatch(\r\n addNotification(\r\n \"Hmm, that did not work. Try again, and if you keep getting this error, you might need to call support.\",\r\n \"error\"\r\n )\r\n );\r\n });\r\n};\r\n\r\nconst onSubmitRequest = () => ({\r\n type: ActionTypes.AVETMISS_AUTHORISE_AVS_SUBMIT_REQUEST\r\n});\r\nconst onSubmitSuccess = () => ({\r\n type: ActionTypes.AVETMISS_AUTHORISE_AVS_SUBMIT_SUCCESS\r\n});\r\nconst onSubmitFailure = () => ({\r\n type: ActionTypes.AVETMISS_AUTHORISE_AVS_SUBMIT_FAILURE\r\n});\r\n","import { connect } from \"react-redux\";\r\nimport AuthoriseAvs from \"./authorise-avs\";\r\nimport { selectAuthoriseAvs } from \"./redux/reducer\";\r\nimport * as actionCreators from \"./redux/action-creators\";\r\n\r\nfunction mapStateToProps(state) {\r\n const authoriseAvs = selectAuthoriseAvs(state);\r\n\r\n return {\r\n authoriseAvs: authoriseAvs,\r\n isLoading: authoriseAvs.isLoading\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => ({\r\n dispatch: dispatch,\r\n history: ownProps.history\r\n});\r\n\r\nconst mergeFormProps = (stateProps, dispatchProps) => ({\r\n ...stateProps,\r\n ...dispatchProps,\r\n onLoadForm: () => {\r\n dispatchProps.dispatch(actionCreators.onLoadForm(dispatchProps.history));\r\n },\r\n onSubmit: deviceCode => {\r\n dispatchProps.dispatch(\r\n actionCreators.onSubmit(deviceCode, dispatchProps.history)\r\n );\r\n }\r\n});\r\n\r\nconst AuthoriseAvsContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n mergeFormProps\r\n)(AuthoriseAvs);\r\n\r\nexport default AuthoriseAvsContainer;\r\n","import React, { Component } from \"react\";\r\nimport { Row, Col, Form, FormGroup } from \"reactstrap\";\r\nimport PageTitle from \"../../../components/Common/Page-Title/Page-Title\";\r\nimport ContentSection from \"../../../components/Content-Section\";\r\nimport SelectField from \"../../../components/Common/Fields/Select-Field\";\r\nimport KeyboardEventHandler from \"react-keyboard-event-handler\";\r\nimport formHandler from \"../../../components/Common/Fields/form-handler\";\r\nimport * as Constants from \"../../../constants\";\r\nimport ButtonFx from \"../../../components/Common/Button-Fx/Button-Fx\";\r\n\r\nclass AvetmissReporting extends Component {\r\n componentDidMount() {\r\n const { onLoadForm } = this.props;\r\n\r\n onLoadForm();\r\n }\r\n\r\n render() {\r\n const form = formHandler();\r\n\r\n const { onSubmit, onInputChange, onFieldError, isLoading } = this.props;\r\n\r\n const {\r\n years,\r\n periods,\r\n collectionStartDate,\r\n collectionEndDate,\r\n version,\r\n } = this.props.avetmissReporting;\r\n\r\n const { state, year, period } = this.props.avetmissReporting.fields;\r\n\r\n return (\r\n <>\r\n \r\n \r\n

    Avetmiss Validation Service | Reporting

    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n val !== \"-1\" && val !== \"\"\r\n ? false\r\n : \"Select a valid state\"\r\n }\r\n onFieldError={onFieldError}\r\n ref={form.add}\r\n >\r\n \r\n {Constants.australianStates.map((item, i) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n val !== \"-1\" && val !== \"\" ? false : \"Select a Year\"\r\n }\r\n onFieldError={onFieldError}\r\n ref={form.add}\r\n >\r\n \r\n {years.map((item, i) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n\r\n {year && (\r\n \r\n \r\n \r\n \r\n val !== \"-1\" && val !== \"\" ? false : \"Select a Period\"\r\n }\r\n onFieldError={onFieldError}\r\n ref={form.add}\r\n >\r\n \r\n {periods.map((item, i) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n )}\r\n\r\n {year && period && (\r\n \r\n \r\n \r\n
    \r\n
    Avetmiss Version
    \r\n

    {version}

    \r\n
    Collection Period
    \r\n

    \r\n {collectionStartDate} - {collectionEndDate}\r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n )}\r\n \r\n {\r\n form.validate({\r\n validFn: () =>\r\n onSubmit(\r\n collectionStartDate,\r\n collectionEndDate,\r\n state,\r\n version,\r\n year,\r\n period\r\n ),\r\n invalidFn: () => console.log(form.getFieldErrors()),\r\n });\r\n }}\r\n >\r\n Generate NAT Files\r\n \r\n \r\n \r\n form.validate({\r\n validFn: () =>\r\n onSubmit(\r\n collectionStartDate,\r\n collectionEndDate,\r\n state,\r\n version,\r\n year,\r\n period\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 AvetmissReporting;\r\n","/**\r\n * Avetmiss Reporting Service\r\n */\r\nimport HttpClient from \"../../../coreLib/http/httpClient\";\r\n\r\nconst AvetmissReportingService = () => {\r\n let httpClient = HttpClient();\r\n\r\n const getStatus = () => {\r\n return httpClient.get(\"/v1/avetmiss/status\");\r\n };\r\n\r\n const getCollectionTypes = () => {\r\n return httpClient.get(\"/v1/avetmiss/collections\");\r\n };\r\n\r\n const submitRequest = payload => {\r\n return httpClient.post(\"/v1/avetmiss/compile\", payload);\r\n };\r\n\r\n return {\r\n getStatus,\r\n getCollectionTypes,\r\n submitRequest\r\n };\r\n};\r\n\r\nexport default AvetmissReportingService;\r\n","/**\r\n * Action Creator definitions\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\nimport { addNotification } from \"../../../../redux/system/system-action-creators\";\r\nimport AvetmissReportingService from \"../avetmiss-reporting-service\";\r\nimport uniq from \"lodash/uniq\";\r\nimport moment from \"moment\";\r\n\r\n// ----------------------------\r\n// Actions\r\n// ----------------------------\r\n\r\nexport const onLoadForm = history => {\r\n return dispatch => {\r\n dispatch(LoadFormRequest());\r\n\r\n const service = AvetmissReportingService();\r\n\r\n service\r\n .getStatus()\r\n .then(resp => {\r\n if (!resp.data.validToken) {\r\n history.push(\"/Admin/Avetmiss/Authorise/\");\r\n return;\r\n }\r\n\r\n if (\r\n resp.status !== 204 &&\r\n resp.data.reports !== null &&\r\n resp.data.reports !== [] &&\r\n resp.data.reports.length > 0\r\n ) {\r\n history.push(\"/Admin/Avetmiss/Submission/\");\r\n return;\r\n }\r\n\r\n service\r\n .getCollectionTypes()\r\n .then(resp => {\r\n const years = resp.data.map(collection => collection.year);\r\n const uniqueYears = uniq(years);\r\n\r\n dispatch(LoadFormSuccess(uniqueYears, resp.data));\r\n })\r\n .catch(err => {\r\n dispatch(LoadFormFailure());\r\n dispatch(\r\n addNotification(\r\n \"Sorry, an error occurred trying to get the Avetmiss Reporting Collection Types.\",\r\n \"error\"\r\n )\r\n );\r\n\r\n if (\r\n err.response.data.Message ===\r\n \"The NCVER API returned an unauthorised response. You will need to login again.\"\r\n )\r\n history.push(\"/Admin/Avetmiss/Authorise/\");\r\n });\r\n })\r\n .catch(err => {\r\n dispatch(LoadFormFailure());\r\n dispatch(\r\n addNotification(\r\n \"Sorry, an error occurred trying to get the Avetmiss Reporting Collection Types.\",\r\n \"error\"\r\n )\r\n );\r\n });\r\n };\r\n};\r\n\r\nconst LoadFormRequest = () => ({\r\n type: ActionTypes.AVETMISS_REPORTING_LOAD_FORM_REQUEST\r\n});\r\n\r\nconst LoadFormSuccess = (years, collections) => ({\r\n type: ActionTypes.AVETMISS_REPORTING_LOAD_FORM_SUCCESS,\r\n payload: {\r\n years,\r\n collections\r\n }\r\n});\r\n\r\nconst LoadFormFailure = () => ({\r\n type: ActionTypes.AVETMISS_REPORTING_LOAD_FORM_FAILURE\r\n});\r\n\r\n// Async\r\nexport const onSubmit = (\r\n collectionStartDate,\r\n collectionEndDate,\r\n state,\r\n version,\r\n year,\r\n period,\r\n history\r\n) => dispatch => {\r\n dispatch(onSubmitRequest());\r\n\r\n const service = AvetmissReportingService();\r\n\r\n let model = {\r\n collectionStartDate: moment(collectionStartDate, \"DD/MM/YYYY\").format(\r\n \"YYYY-MM-DD\"\r\n ),\r\n collectionEndDate: moment(collectionEndDate, \"DD/MM/YYYY\").format(\r\n \"YYYY-MM-DD\"\r\n ),\r\n state,\r\n year,\r\n period,\r\n version\r\n };\r\n\r\n service\r\n .submitRequest(model)\r\n .then(resp => {\r\n dispatch(onSubmitSuccess());\r\n dispatch({\r\n type: \"AVETMISS_REPORTING_SUBMISSION_LOAD_FORM_SUCCESS\",\r\n payload: {\r\n files: resp.data.reports,\r\n year: resp.data.year,\r\n period: resp.data.period,\r\n version: resp.data.version,\r\n collectionStartDate: collectionStartDate,\r\n collectionEndDate: collectionEndDate,\r\n state: state,\r\n },\r\n });\r\n history.push(\"/Admin/Avetmiss/Submission/\");\r\n })\r\n .catch(err => {\r\n dispatch(onSubmitFailure());\r\n dispatch(\r\n addNotification(\"There was an issue generating the NAT files.\", \"error\")\r\n );\r\n });\r\n};\r\n\r\nconst onSubmitRequest = () => ({\r\n type: ActionTypes.AVETMISS_REPORTING_SUBMIT_REQUEST\r\n});\r\nconst onSubmitSuccess = () => ({\r\n type: ActionTypes.AVETMISS_REPORTING_SUBMIT_SUCCESS\r\n});\r\nconst onSubmitFailure = () => ({\r\n type: ActionTypes.AVETMISS_REPORTING_SUBMIT_FAILURE\r\n});\r\n\r\n// ----------------------------\r\n// Form Actions\r\n// ----------------------------\r\n\r\nexport const formInputChange = (name, value, error) => {\r\n return (dispatch, getState) => {\r\n dispatch({\r\n type: ActionTypes.AVETMISS_REPORTING_FORM_INPUT_CHANGE,\r\n payload: {\r\n name: name,\r\n value: value,\r\n error: error\r\n }\r\n });\r\n\r\n switch (name) {\r\n case \"year\":\r\n const periods = getState()\r\n .avetmissReporting.collections.filter(c => c.year === value)\r\n .map(collection => collection.period);\r\n\r\n dispatch({\r\n type: ActionTypes.AVETMISS_REPORTING_YEAR_CHANGE,\r\n payload: periods\r\n });\r\n break;\r\n\r\n case \"period\":\r\n if (value === \"\") return;\r\n\r\n const collections = getState()\r\n .avetmissReporting.collections.filter(\r\n c =>\r\n c.year === getState().avetmissReporting.fields.year &&\r\n c.period === value\r\n )\r\n .map(collection => ({\r\n collectionStartDate: moment(collection.collectionStartDate).format(\r\n \"DD/MM/YYYY\"\r\n ),\r\n collectionEndDate: moment(collection.collectionEndDate).format(\r\n \"DD/MM/YYYY\"\r\n ),\r\n version: collection.version\r\n }));\r\n\r\n dispatch({\r\n type: ActionTypes.AVETMISS_REPORTING_PERIOD_CHANGE,\r\n payload: collections[0]\r\n });\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n};\r\n","import { connect } from \"react-redux\";\r\nimport AvetmissReporting from \"./avetmiss-reporting\";\r\nimport { selectAvetmissReporting } from \"./redux/reducer\";\r\nimport * as actionCreators from \"./redux/action-creators\";\r\nimport { addNotification } from \"../../../redux/system/system-action-creators\";\r\n\r\nfunction mapStateToProps(state) {\r\n const avetmissReporting = selectAvetmissReporting(state);\r\n\r\n return {\r\n avetmissReporting: avetmissReporting,\r\n isLoading: avetmissReporting.isLoading\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => ({\r\n onInputChange: ({ name, value, error }) => {\r\n dispatch(actionCreators.formInputChange(name, value, error));\r\n },\r\n onFieldError: error => dispatch(addNotification(error, \"Error\")),\r\n dispatch: dispatch,\r\n history: ownProps.history\r\n});\r\n\r\nconst mergeFormProps = (stateProps, dispatchProps) => ({\r\n ...stateProps,\r\n ...dispatchProps,\r\n onLoadForm: () => {\r\n dispatchProps.dispatch(actionCreators.onLoadForm(dispatchProps.history));\r\n },\r\n onSubmit: (\r\n collectionStartDate,\r\n collectionEndDate,\r\n state,\r\n version,\r\n year,\r\n period\r\n ) => {\r\n dispatchProps.dispatch(\r\n actionCreators.onSubmit(\r\n collectionStartDate,\r\n collectionEndDate,\r\n state,\r\n version,\r\n year,\r\n period,\r\n dispatchProps.history\r\n )\r\n );\r\n },\r\n validate: () => {\r\n return validate(stateProps);\r\n }\r\n});\r\n\r\nconst validate = stateProps => {\r\n const fields = stateProps.fields;\r\n const fieldErrors = stateProps.fieldErrors;\r\n const errMessages = Object.keys(fieldErrors).filter(k => fieldErrors[k]);\r\n\r\n if (!fields.state) return true;\r\n if (!fields.collectionStartDate) return true;\r\n if (!fields.collectionEndDate) return true;\r\n if (!fields.version) return true;\r\n if (errMessages.length > 0) return true;\r\n\r\n return false;\r\n};\r\n\r\nconst AvetmissReportingContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n mergeFormProps\r\n)(AvetmissReporting);\r\n\r\nexport default AvetmissReportingContainer;\r\n","import React, { Component } from \"react\";\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\";\r\nimport ButtonFx from \"../../../components/Common/Button-Fx/Button-Fx\";\r\n\r\nexport default class EditUserModal extends Component {\r\n render() {\r\n const {\r\n toggleDeleteDialog,\r\n showDeleteDialog,\r\n isDeleting,\r\n onDelete\r\n } = this.props;\r\n return (\r\n
    \r\n \r\n toggleDeleteDialog()}>\r\n Delete NAT Files\r\n \r\n \r\n
    \r\n Are you sure you want to delete the NAT files? Please note, this\r\n will delete any manual changes you have made. This cannot be\r\n undone.\r\n
    \r\n
    \r\n \r\n onDelete()}\r\n className=\"ttg-btn\"\r\n isLoading={isDeleting}\r\n >\r\n Delete\r\n \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n","const IconFactory = () => {\r\n const getIcon = type => {\r\n switch (type) {\r\n case \"pdf\":\r\n return \"fas fa-file-pdf pdf\";\r\n case \"doc\":\r\n case \"docx\":\r\n return \"fas fa-file-word word\";\r\n case \"xls\":\r\n case \"xlsx\":\r\n return \"fas fa-file-excel excel\";\r\n case \"jpg\":\r\n case \"JPG\":\r\n case \"jpeg\":\r\n case \"png\":\r\n case \"gif\":\r\n case \"bmp\":\r\n return \"fas fa-file-image image\";\r\n default:\r\n return \"fas fa-file file\";\r\n }\r\n };\r\n\r\n return {\r\n getIcon\r\n };\r\n};\r\n\r\nexport default IconFactory;\r\n","const getColor = (props) => {\r\n if (props.isDragAccept) {\r\n return \"#43325d\";\r\n }\r\n if (props.validForReject) {\r\n // && props.isDragReject\r\n return \"#ff1744\";\r\n }\r\n if (props.isDragActive) {\r\n return \"#2196f3\";\r\n }\r\n return \"#eeeeee\";\r\n};\r\n\r\nconst toKilobyte = (fileSize) => {\r\n if (fileSize === \"-\") return \"0\";\r\n if (fileSize <= 0) return 0;\r\n return (fileSize / 1024).toFixed(2);\r\n};\r\n\r\nconst readFileAsync = async (inputFile) => {\r\n let reader = new FileReader();\r\n return new Promise((resolve) => {\r\n let { name, size } = inputFile;\r\n reader.onload = function (e) {\r\n resolve({\r\n name,\r\n size,\r\n data: e.target.result,\r\n });\r\n };\r\n reader.readAsDataURL(inputFile);\r\n });\r\n};\r\n\r\nasync function fileListToBase64(fileList, roundOffSize) {\r\n // create function which return resolved promise\r\n // with data:base64 string\r\n function getBase64(file) {\r\n if (file.type === \"init\") {\r\n return new Promise((res, rej) => {\r\n res({ name: file.name, data: file.preview, size: file.size });\r\n });\r\n }\r\n\r\n const reader = new FileReader();\r\n\r\n return new Promise((resolve) => {\r\n reader.onloadend = (ev) => {\r\n resolve({\r\n name: file.name,\r\n origFileName: file.name,\r\n preview: ev.target.result,\r\n data: ev.target.result,\r\n size: roundOffSize ? Math.round(file.size / 1024) : file.size,\r\n type: \"new\",\r\n });\r\n };\r\n reader.readAsDataURL(file);\r\n });\r\n }\r\n // here will be array of promisified functions\r\n const promises = [];\r\n\r\n // loop through fileList with for loop\r\n for (let i = 0; i < fileList.length; i++) {\r\n promises.push(getBase64(fileList[i]));\r\n }\r\n\r\n // array with base64 strings\r\n return await Promise.all(promises);\r\n}\r\n\r\nasync function fileToBase64(file, roundOffSize) {\r\n // create function which return resolved promise\r\n // with data:base64 string\r\n function getBase64(file) {\r\n if (file.type === \"init\") {\r\n return new Promise((res, rej) => {\r\n res({ name: file.name, data: file.preview, size: file.size });\r\n });\r\n }\r\n\r\n const reader = new FileReader();\r\n\r\n return new Promise((resolve) => {\r\n reader.onloadend = (ev) => {\r\n resolve({\r\n name: file.name,\r\n origFileName: file.name,\r\n preview: ev.target.result,\r\n data: ev.target.result,\r\n size: roundOffSize ? Math.round(file.size / 1024) : file.size,\r\n type: \"new\",\r\n });\r\n };\r\n reader.readAsDataURL(file);\r\n });\r\n }\r\n\r\n // array with base64 strings\r\n return await getBase64(file);\r\n}\r\n\r\nconst mapFiles = (files) =>\r\n files.map((file) => {\r\n let { name, origFileName, data, size } = file;\r\n\r\n return {\r\n name,\r\n origFileName,\r\n data,\r\n size,\r\n };\r\n });\r\n\r\nexport {\r\n fileListToBase64,\r\n toKilobyte,\r\n getColor,\r\n readFileAsync,\r\n fileToBase64,\r\n mapFiles,\r\n};\r\n","import React from \"react\";\r\nimport { Lightbox } from \"react-modal-image\";\r\n\r\nconst ImagePreviewFx = ({\r\n isOpen,\r\n imageLargeUrl,\r\n showRotate,\r\n closePreview,\r\n alternateText\r\n}) => {\r\n return (\r\n <>\r\n {isOpen && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default ImagePreviewFx;\r\n","/* eslint-disable react-hooks/exhaustive-deps */\r\nimport React, { useEffect, useState, useCallback } from \"react\";\r\nimport { PropTypes } from \"prop-types\";\r\nimport {\r\n Container,\r\n Row,\r\n Col,\r\n Button,\r\n Card,\r\n CardBody,\r\n CardFooter,\r\n} from \"reactstrap\";\r\nimport { useDropzone } from \"react-dropzone\";\r\nimport \"./file-uploader.scss\";\r\nimport styled from \"styled-components\";\r\nimport IconFactory from \"./service/icon-factory\";\r\nimport { fileListToBase64, toKilobyte, getColor } from \"./service/helper\";\r\nimport ImagePreviewFx from \"./../image-preview-fx/image-preview-fx\";\r\nimport ToolTipFx from \"./../tooltip/tool-tip-fx\";\r\nimport BlockUiFx from \"../Block-Ui-Fx/Block-Ui-Fx\";\r\nimport { saveAs } from \"file-saver\";\r\n\r\nconst StyledContainer = styled.div`\r\n flex: 1;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n padding: 20px;\r\n border-width: 2px;\r\n border-radius: 2px;\r\n border-color: ${(props) => getColor(props)};\r\n border-style: dashed;\r\n background-color: #fafafa;\r\n color: #bdbdbd;\r\n outline: none;\r\n transition: border 0.24s ease-in-out;\r\n`;\r\n\r\nconst FileUploader = (props) => {\r\n const [files, setFiles] = useState([]);\r\n const [isPreviewOpen, setPreviewOpen] = useState(false);\r\n const [previewUrl, setPreviewUrl] = useState(\"\");\r\n const [isDropping, toggleDrop] = useState(false);\r\n const [initialised, initialise] = useState(false);\r\n const {\r\n text,\r\n dropText,\r\n minSize,\r\n maxFileSize,\r\n maxFiles,\r\n initialFiles,\r\n mode,\r\n fileTypes,\r\n isReadonly,\r\n cloudStoragePath,\r\n onChange,\r\n } = props;\r\n\r\n const onDrop = useCallback(async (acceptedFiles) => {\r\n // Reject files exceeding the maxFiles limit\r\n\r\n toggleDrop(true);\r\n let finalAcceptedFiles = [];\r\n let filesCount = files.length + acceptedFiles.length;\r\n if (filesCount > maxFiles) {\r\n let itemsUpperLimit = maxFiles - files.length;\r\n finalAcceptedFiles = acceptedFiles.slice(0, itemsUpperLimit);\r\n } else {\r\n finalAcceptedFiles = acceptedFiles;\r\n }\r\n\r\n let additionalFiles = finalAcceptedFiles.map((file) =>\r\n Object.assign(file, {\r\n preview: URL.createObjectURL(file),\r\n })\r\n );\r\n\r\n // Convert to base64 each file\r\n let arrayOfBase64Files = await fileListToBase64(additionalFiles);\r\n\r\n arrayOfBase64Files = arrayOfBase64Files.map((x) => ({\r\n ...x,\r\n size: x.size / 1024 < 0 ? x.size : x.size / 1024,\r\n }));\r\n\r\n files.push(...arrayOfBase64Files);\r\n setFiles(files);\r\n\r\n onChange([...files]);\r\n toggleDrop(false);\r\n });\r\n\r\n const getFileTypesAccepted = () => {\r\n if (mode === \"Image\" && fileTypes.length === 0) return \"image/*\";\r\n if (mode === \"File\" && fileTypes.length === 0) {\r\n return [\r\n \".doc\",\r\n \".docx\",\r\n \".xls\",\r\n \".xlsx\",\r\n \".pdf\",\r\n \".jpg\",\r\n \".jpeg\",\r\n \".png\",\r\n ].join(\",\");\r\n } else {\r\n return fileTypes.join(\",\");\r\n }\r\n };\r\n\r\n const {\r\n getRootProps,\r\n getInputProps,\r\n isDragActive,\r\n isDragAccept,\r\n isDragReject,\r\n rejectedFiles,\r\n } = useDropzone({\r\n accept: getFileTypesAccepted(),\r\n minSize: minSize,\r\n maxSize: maxFileSize,\r\n //multiple: true,\r\n onDrop,\r\n disabled: isReadonly,\r\n });\r\n\r\n const openPreview = (file) => {\r\n setPreviewUrl(file.preview);\r\n setPreviewOpen(true);\r\n };\r\n\r\n const removeFile = useCallback((file) => () => {\r\n if (isReadonly) return;\r\n URL.revokeObjectURL(file.preview);\r\n let filesUpdated = files.filter((o) => o !== file);\r\n setFiles(filesUpdated);\r\n\r\n onChange([...filesUpdated]);\r\n });\r\n\r\n const closePreview = (e) => {\r\n setPreviewOpen(false);\r\n };\r\n\r\n const downloadFile = (file) => {\r\n saveAs(file.preview, file.name);\r\n };\r\n\r\n // Refactor: Separate file\r\n const imageListing = files.map((file, index) => (\r\n
    \r\n
    \r\n
    \r\n openPreview(file)}\r\n alt=\"\"\r\n />\r\n Open preview\r\n
    \r\n
    \r\n
    \r\n
    \r\n Filename\r\n
    \r\n
    \r\n {file.name}\r\n
    \r\n
    \r\n Size\r\n
    \r\n
    \r\n \r\n {file.size > 1024 ? toKilobyte(file.size) : Math.round(file.size)}{\" \"}\r\n Kb\r\n \r\n
    \r\n
    \r\n {!isReadonly && (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n ));\r\n\r\n const limitFileName = (fileName) => {\r\n if (fileName.length > 18) {\r\n let name = fileName.substring(0, fileName.lastIndexOf(\".\"));\r\n let extension = fileName.substring(fileName.lastIndexOf(\".\"));\r\n return `${name.substring(0, 16)}...${extension}`;\r\n }\r\n return fileName;\r\n };\r\n\r\n const isAnImage = (ext) => {\r\n switch (ext) {\r\n case \"jpg\":\r\n case \"jpeg\":\r\n case \"png\":\r\n case \"JPG\":\r\n case \"JPEG\":\r\n case \"PNG\":\r\n return true;\r\n default:\r\n return false;\r\n }\r\n };\r\n\r\n // Refactor: Separate file\r\n const fileListing = files.map((file, index) => {\r\n const ext = file.name.substring(file.name.lastIndexOf(\".\") + 1);\r\n const icon = IconFactory().getIcon(ext);\r\n let limitedName = limitFileName(file.name);\r\n const fileIsAnImage = isAnImage(ext);\r\n\r\n return (\r\n \r\n \r\n \r\n
    \r\n \r\n Remove\r\n
    \r\n \r\n \r\n {fileIsAnImage && (\r\n <>\r\n openPreview(file)}\r\n alt=\"\"\r\n style={{ cursor: \"pointer\" }}\r\n />\r\n \r\n Open preview\r\n \r\n \r\n )}\r\n {!fileIsAnImage && (\r\n <>\r\n downloadFile(file)\r\n : () => {}\r\n }\r\n style={file.type === \"init\" ? { cursor: \"pointer\" } : {}}\r\n />\r\n {file.type === \"init\" && (\r\n \r\n Download\r\n \r\n )}\r\n \r\n )}\r\n \r\n \r\n
    \r\n \r\n \r\n \r\n {limitedName}\r\n \r\n {\" \"}\r\n ({Math.round(file.size)} kb)\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n );\r\n });\r\n\r\n const DragMessage = ({ isDragActive, isDragReject, rejected }) => {\r\n return (\r\n <>\r\n \r\n {!isDragActive && !rejected && (\r\n \r\n {text} Maximum of {maxFiles} file{maxFiles > 1 ? \"s\" : \"\"}.\r\n {files.length > 0 ? (\r\n <>\r\n
    \r\n \r\n {files.length} file(s) attached.\r\n \r\n \r\n ) : null}\r\n

    \r\n )}\r\n {isDragActive && !rejected && (\r\n \r\n {dropText}\r\n

    \r\n )}\r\n {rejected && (\r\n \r\n File type is not supported.\r\n

    \r\n )}\r\n
    \r\n \r\n );\r\n };\r\n\r\n const FileTooLarge = () => {\r\n const isFileTooLarge =\r\n rejectedFiles.length > 0 && rejectedFiles[0].size > maxFileSize;\r\n return (\r\n <>{isFileTooLarge &&

    File is too large.

    }\r\n );\r\n };\r\n\r\n const reloadInitialFiles = () => {\r\n if (!initialFiles || initialFiles.length <= 0) return;\r\n\r\n setFiles(\r\n initialFiles.map((o) =>\r\n Object.assign(\r\n {},\r\n {\r\n type: \"init\",\r\n name: o.name,\r\n size: o.size,\r\n data: o.data || null,\r\n preview: getPreviewData(o),\r\n }\r\n )\r\n )\r\n );\r\n };\r\n\r\n const getPreviewData = (file) => {\r\n if (file.data.includes(\"data:\")) return file.data;\r\n return `${cloudStoragePath}/${file.name}`;\r\n };\r\n\r\n const isImageMode = () => mode === \"Image\";\r\n\r\n // Component did mount\r\n useEffect(() => {\r\n if (initialFiles.length > 0 && !initialised) {\r\n initialise(true);\r\n reloadInitialFiles();\r\n }\r\n }, [initialFiles]);\r\n\r\n useEffect(\r\n () => () => {\r\n // Make sure to revoke the data uris to avoid memory leaks\r\n files.forEach((file) => URL.revokeObjectURL(file.preview));\r\n },\r\n [files]\r\n );\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n 0 ? true : false\r\n }\r\n className=\"mb-2\"\r\n >\r\n \r\n 0 ? true : false\r\n }\r\n />\r\n \r\n \r\n {isImageMode() ? (\r\n \r\n ) : (\r\n {fileListing}\r\n )}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default FileUploader;\r\n\r\nFileUploader.propTypes = {\r\n minSize: PropTypes.number,\r\n maxFileSize: PropTypes.number,\r\n maxFiles: PropTypes.number,\r\n mode: PropTypes.string, //Note: Mode can be Image or File, each mode has different layout and behavior\r\n fileTypes: PropTypes.array,\r\n initialFiles: PropTypes.array,\r\n isReadonly: PropTypes.bool,\r\n cloudStoragePath: PropTypes.string,\r\n onChange: PropTypes.func.isRequired,\r\n xs: PropTypes.any,\r\n sm: PropTypes.any,\r\n md: PropTypes.any,\r\n lg: PropTypes.any,\r\n xl: PropTypes.any,\r\n};\r\n\r\nFileUploader.defaultProps = {\r\n minSize: 0,\r\n maxFileSize: 100000, // 100kb default\r\n maxFiles: 5,\r\n mode: \"File\",\r\n fileTypes: [],\r\n initialFiles: [],\r\n cloudStoragePath: \"\",\r\n isReadonly: false,\r\n xs: 6,\r\n sm: 6,\r\n md: 6,\r\n lg: 6,\r\n xl: 6,\r\n};\r\n","import React from \"react\";\r\nimport { ErrorMessage } from 'formik';\r\nimport \"./validation-error-message.scss\";\r\n\r\nconst ValidationErrorMessage = ({name}) => (\r\n \r\n {msg =>
    {msg}
    }\r\n
    \r\n);\r\n\r\nexport default ValidationErrorMessage;","import React, { useEffect } from \"react\";\r\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\";\r\nimport { withFormik, Form } from \"formik\";\r\nimport FileUploader from \"./../../../../../../components/Common/file-uploader/file-uploader\";\r\nimport ValidationErrorMessage from \"./../../../../../../components/Common/validation-error-message/validation-error-message\";\r\nimport * as Yup from \"yup\";\r\n\r\nconst ImportNatFileDialog = ({\r\n isOpen,\r\n isImporting,\r\n close,\r\n resetForm,\r\n handleSubmit,\r\n values,\r\n data,\r\n setValues,\r\n setFieldValue,\r\n}) => {\r\n useEffect(() => {\r\n if (data) {\r\n setValues({\r\n id: data.id,\r\n title: data.title,\r\n displayOrder: data.displayOrder,\r\n files: [\r\n {\r\n ...data.file,\r\n size: data.file.size,\r\n },\r\n ],\r\n });\r\n }\r\n }, [data, setValues]);\r\n\r\n const closeDialog = () => {\r\n if (!isImporting) {\r\n close();\r\n resetForm();\r\n }\r\n };\r\n\r\n return (\r\n \r\n Import NAT files\r\n
    \r\n \r\n {\r\n setFieldValue(\r\n \"files\",\r\n files.map(({ name, data, size }) => {\r\n return {\r\n name,\r\n data,\r\n size,\r\n };\r\n })\r\n );\r\n }}\r\n xs=\"12\"\r\n sm=\"12\"\r\n md=\"12\"\r\n lg=\"12\"\r\n xl=\"12\"\r\n />\r\n\r\n \r\n \r\n {!isImporting && (\r\n \r\n \r\n Upload\r\n \r\n {\r\n e.preventDefault();\r\n closeDialog();\r\n }}\r\n >\r\n Cancel\r\n \r\n \r\n )}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst ImportNatFileFormDialog = withFormik({\r\n mapPropsToValues: () => ({ files: \"\" }),\r\n validationSchema: Yup.object().shape({\r\n files: Yup.array()\r\n .required(\"Please add a file.\")\r\n .min(1, \"Please add a file.\"),\r\n }),\r\n handleSubmit: async (values, { props, resetForm, setSubmitting }) => {\r\n try {\r\n setSubmitting(true);\r\n await props.import(values.files[0].data);\r\n resetForm();\r\n } catch (error) {\r\n setSubmitting(false);\r\n }\r\n },\r\n})(ImportNatFileDialog);\r\n\r\nexport default ImportNatFileFormDialog;\r\n","import React, { Component } from \"react\";\r\nimport { FormGroup, Row, Col, Table } from \"reactstrap\";\r\nimport PageTitle from \"../../../components/Common/Page-Title/Page-Title\";\r\nimport ContentSection from \"../../../components/Content-Section\";\r\nimport formHandler from \"../../../components/Common/Fields/form-handler\";\r\nimport ButtonFx from \"../../../components/Common/Button-Fx/Button-Fx\";\r\nimport DeleteDialog from \"./delete-dialog\";\r\nimport ImportNatFileFormDialog from \"./components/dialogs/import\";\r\n\r\nclass AvetmissReportingSubmission extends Component {\r\n componentDidMount() {\r\n const { onLoadForm } = this.props;\r\n const { files } = this.props.avetmissReportingSubmission;\r\n\r\n if (!files || files.length === 0) onLoadForm();\r\n }\r\n\r\n render() {\r\n const form = formHandler();\r\n\r\n const {\r\n isLoading,\r\n toggleDeleteDialog,\r\n showDeleteDialog,\r\n isDeleting,\r\n onSubmit,\r\n onDelete,\r\n onImport,\r\n toggleImportDialog,\r\n showImportDialog,\r\n isImporting,\r\n isExporting,\r\n exportNatFiles,\r\n } = this.props;\r\n\r\n const {\r\n files,\r\n year,\r\n period,\r\n version,\r\n collectionStartDate,\r\n collectionEndDate,\r\n state,\r\n } = this.props.avetmissReportingSubmission;\r\n return (\r\n <>\r\n \r\n \r\n

    Avetmiss Validation Service | Submission

    \r\n
    \r\n \r\n
    \r\n Avetmiss Reporting for {period} {year}\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 {files.map((file, key) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
    File IdDescriptionStatus
    \r\n {file.filename}\r\n {file.description}\r\n {file.generatedSuccessfully\r\n ? \"Generated Successfully\"\r\n : file.errorMessage}\r\n
    \r\n \r\n
    \r\n \r\n {!isDeleting && (\r\n {\r\n form.validate({\r\n validFn: () =>\r\n onSubmit(\r\n year,\r\n period,\r\n version,\r\n collectionStartDate,\r\n collectionEndDate,\r\n state\r\n ),\r\n invalidFn: () => console.log(form.getFieldErrors()),\r\n });\r\n }}\r\n >\r\n Submit for Validation\r\n \r\n )}\r\n\r\n {!isLoading && (\r\n toggleDeleteDialog()}\r\n >\r\n Delete NAT Files\r\n \r\n )}\r\n\r\n {!isLoading && (\r\n exportNatFiles()}\r\n >\r\n Export NAT Files\r\n \r\n )}\r\n\r\n {!isLoading && (\r\n toggleImportDialog()}\r\n >\r\n Import NAT Files\r\n \r\n )}\r\n \r\n
    \r\n\r\n \r\n\r\n {\r\n try {\r\n await onImport(value);\r\n } catch (e) {}\r\n }}\r\n />\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default AvetmissReportingSubmission;\r\n","/**\r\n * Avetmiss Reporting Service\r\n */\r\nimport HttpClient from \"../../../coreLib/http/httpClient\";\r\n\r\nconst AvetmissReportingSubmissionService = () => {\r\n let httpClient = HttpClient();\r\n\r\n const getStatus = () => {\r\n return httpClient.get(\"/v1/avetmiss/status\");\r\n };\r\n\r\n const submitRequest = payload => {\r\n return httpClient.post(\"/v1/avetmiss/submit\", payload);\r\n };\r\n\r\n const deleteRequest = payload => {\r\n return httpClient.delete(\"/v1/avetmiss\");\r\n };\r\n\r\n const importNatFiles = (file) => {\r\n let payload = {\r\n file: file,\r\n };\r\n\r\n return httpClient.post(\"/v1/avetmiss/nat-files\", payload);\r\n };\r\n\r\n const exportNatFiles = async () => {\r\n const resp = await HttpClient().get(`/v1/avetmiss/download`, {\r\n responseType: \"blob\",\r\n });\r\n\r\n if (resp && resp.status === 200) {\r\n return { data: resp.data, headers: resp.headers };\r\n }\r\n\r\n return null;\r\n };\r\n\r\n return {\r\n getStatus,\r\n submitRequest,\r\n deleteRequest,\r\n importNatFiles,\r\n exportNatFiles,\r\n };\r\n};\r\n\r\nexport default AvetmissReportingSubmissionService;\r\n","/**\r\n * Action Creator definitions\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\nimport { addNotification } from \"../../../../redux/system/system-action-creators\";\r\nimport AvetmissReportingSubmissionService from \"../avetmiss-reporting-submission-service\";\r\nimport { saveAs } from \"file-saver\";\r\nimport { parse } from \"content-disposition\";\r\n\r\n// ----------------------------\r\n// Actions\r\n// ----------------------------\r\n\r\nexport const onLoadForm = (history) => {\r\n return (dispatch) => {\r\n dispatch(LoadFormRequest());\r\n\r\n const service = AvetmissReportingSubmissionService();\r\n\r\n service\r\n .getStatus()\r\n .then((resp) => {\r\n if (!resp.data.validToken) {\r\n history.push(\"/Admin/Avetmiss/Authorise/\");\r\n return;\r\n }\r\n\r\n if (resp.data.reports === null || resp.data.reports === []) {\r\n history.push(\"/Admin/Avetmiss/Reporting/\");\r\n return;\r\n }\r\n\r\n dispatch(\r\n LoadFormSuccess(\r\n resp.data.year,\r\n resp.data.period,\r\n resp.data.version,\r\n resp.data.reports,\r\n resp.data.collectionStartDate,\r\n resp.data.collectionEndDate,\r\n resp.data.state\r\n )\r\n );\r\n })\r\n .catch((err) => {\r\n dispatch(LoadFormFailure());\r\n dispatch(\r\n addNotification(\r\n \"Sorry, an error occurred trying to get the Avetmiss Reporting Collection Types.\",\r\n \"error\"\r\n )\r\n );\r\n });\r\n };\r\n};\r\n\r\nconst LoadFormRequest = () => ({\r\n type: ActionTypes.AVETMISS_REPORTING_SUBMISSION_LOAD_FORM_REQUEST,\r\n});\r\n\r\nconst LoadFormSuccess = (\r\n year,\r\n period,\r\n version,\r\n reports,\r\n collectionStartDate,\r\n collectionEndDate,\r\n state\r\n) => ({\r\n type: ActionTypes.AVETMISS_REPORTING_SUBMISSION_LOAD_FORM_SUCCESS,\r\n payload: {\r\n year,\r\n period,\r\n version,\r\n collectionStartDate,\r\n collectionEndDate,\r\n state,\r\n files: reports,\r\n },\r\n});\r\n\r\nconst LoadFormFailure = () => ({\r\n type: ActionTypes.AVETMISS_REPORTING_SUBMISSION_LOAD_FORM_FAILURE,\r\n});\r\n\r\n// Async\r\nexport const onSubmit = (\r\n year,\r\n period,\r\n version,\r\n collectionStartDate,\r\n collectionEndDate,\r\n state,\r\n history\r\n) => (dispatch) => {\r\n dispatch(onSubmitRequest());\r\n\r\n const service = AvetmissReportingSubmissionService();\r\n\r\n let model = {\r\n year,\r\n period,\r\n version,\r\n };\r\n\r\n service\r\n .submitRequest(model)\r\n .then((resp) => {\r\n let hasNoAddressErrors = !resp.data.addressErrors?.length;\r\n\r\n dispatch(onSubmitSuccess());\r\n\r\n if (hasNoAddressErrors) {\r\n dispatch({\r\n type: \"AVETMISS_REPORTING_VALIDATION_LOAD_FORM_SUCCESS\",\r\n payload: {\r\n verificationSuccessful: resp.data.verificationSuccessful,\r\n errorMessage: resp.data.errorMessage,\r\n errors: resp.data.errors,\r\n },\r\n });\r\n\r\n history.push(\"/Admin/Avetmiss/Validation/\");\r\n return;\r\n }\r\n\r\n dispatch({\r\n type: \"AVETMISS_ADDRESS_VALIDATION_LOAD_FORM_SUCCESS\",\r\n payload: {\r\n verificationSuccessful: resp.data.verificationSuccessful,\r\n errorMessage: resp.data.errorMessage,\r\n addressErrors: resp.data.addressErrors,\r\n year: year,\r\n period: period,\r\n version: version,\r\n collectionStartDate: collectionStartDate,\r\n collectionEndDate: collectionEndDate,\r\n state: state,\r\n },\r\n });\r\n\r\n history.push(\"/Admin/Avetmiss/Address-Validation\");\r\n })\r\n .catch((err) => {\r\n dispatch(onSubmitFailure());\r\n dispatch(\r\n addNotification(\"There was an issue validating the NAT files.\", \"error\")\r\n );\r\n\r\n if (\r\n err.response.data.Message ===\r\n \"The NCVER API returned an unauthorised response. You will need to login again.\"\r\n )\r\n history.push(\"/Admin/Avetmiss/Authorise/\");\r\n });\r\n};\r\n\r\nconst onSubmitRequest = () => ({\r\n type: ActionTypes.AVETMISS_REPORTING_SUBMISSION_SUBMIT_REQUEST,\r\n});\r\nconst onSubmitSuccess = () => ({\r\n type: ActionTypes.AVETMISS_REPORTING_SUBMISSION_SUBMIT_SUCCESS,\r\n});\r\nconst onSubmitFailure = () => ({\r\n type: ActionTypes.AVETMISS_REPORTING_SUBMISSION_SUBMIT_FAILURE,\r\n});\r\n\r\nexport const onDelete = (history) => (dispatch) => {\r\n dispatch(onDeleteRequest());\r\n\r\n const service = AvetmissReportingSubmissionService();\r\n\r\n service\r\n .deleteRequest()\r\n .then((resp) => {\r\n dispatch(onDeleteSuccess());\r\n history.push(\"/Admin/Avetmiss/Reporting/\");\r\n })\r\n .catch((err) => {\r\n dispatch(onDeleteFailure());\r\n dispatch(\r\n addNotification(\"There was an issue deleting the NAT files.\", \"error\")\r\n );\r\n });\r\n};\r\n\r\nconst onDeleteRequest = () => ({\r\n type: ActionTypes.AVETMISS_REPORTING_SUBMISSION_DELETE_REQUEST,\r\n});\r\nconst onDeleteSuccess = () => ({\r\n type: ActionTypes.AVETMISS_REPORTING_SUBMISSION_DELETE_SUCCESS,\r\n});\r\nconst onDeleteFailure = () => ({\r\n type: ActionTypes.AVETMISS_REPORTING_SUBMISSION_DELETE_FAILURE,\r\n});\r\n\r\nexport const toggleDeleteDialog = () => (dispatch) => {\r\n dispatch({\r\n type: ActionTypes.AVETMISS_REPORTING_SUBMISSION_SHOW_DELETE_DIALOG,\r\n });\r\n};\r\n\r\nexport const toggleImportDialog = () => (dispatch) => {\r\n dispatch({\r\n type: ActionTypes.AVETMISS_REPORTING_SUBMISSION_SHOW_IMPORT_DIALOG,\r\n });\r\n};\r\n\r\nexport const importNatFiles = (file) => async (dispatch) => {\r\n dispatch({\r\n type: ActionTypes.AVETMISS_REPORTING_SUBMISSION_IMPORT_REQUEST,\r\n });\r\n\r\n const service = AvetmissReportingSubmissionService();\r\n\r\n await service\r\n .importNatFiles(file)\r\n .then((resp) => {\r\n dispatch({\r\n type: ActionTypes.AVETMISS_REPORTING_SUBMISSION_IMPORT_SUCCESS,\r\n });\r\n\r\n dispatch(\r\n addNotification(\r\n \"The NAT files have been successfully uploaded.\",\r\n \"info\"\r\n )\r\n );\r\n })\r\n .catch((err) => {\r\n dispatch({\r\n type: ActionTypes.AVETMISS_REPORTING_SUBMISSION_IMPORT_FAILURE,\r\n });\r\n dispatch(\r\n addNotification(\"There was an issue importing the NAT files.\", \"error\")\r\n );\r\n });\r\n};\r\n\r\nexport const exportNatFiles = () => async (dispatch) => {\r\n dispatch({\r\n type: ActionTypes.AVETMISS_REPORTING_SUBMISSION_EXPORT_REQUEST,\r\n });\r\n\r\n const service = AvetmissReportingSubmissionService();\r\n\r\n await service\r\n .exportNatFiles()\r\n .then((resp) => {\r\n dispatch({\r\n type: ActionTypes.AVETMISS_REPORTING_SUBMISSION_EXPORT_SUCCESS,\r\n });\r\n\r\n const { data, headers } = resp;\r\n\r\n if (!data) {\r\n throw Error(\"Unable to export the NAT files.\");\r\n }\r\n\r\n let file = new Blob([data], {\r\n type: headers[\"content-type\"],\r\n });\r\n\r\n saveAs(file, parse(headers[\"content-disposition\"]).parameters.filename);\r\n\r\n dispatch(\r\n addNotification(\r\n \"The NAT files have been successfully exported.\",\r\n \"info\"\r\n )\r\n );\r\n })\r\n .catch((err) => {\r\n dispatch({\r\n type: ActionTypes.AVETMISS_REPORTING_SUBMISSION_EXPORT_FAILURE,\r\n });\r\n dispatch(\r\n addNotification(\"There was an issue exporting the NAT files.\", \"error\")\r\n );\r\n });\r\n};\r\n","import { connect } from \"react-redux\";\r\nimport AvetmissReportingSubmission from \"./avetmiss-reporting-submission\";\r\nimport { selectAvetmissReportingSubmission } from \"./redux/reducer\";\r\nimport * as actionCreators from \"./redux/action-creators\";\r\n\r\nfunction mapStateToProps(state) {\r\n const avetmissReportingSubmission = selectAvetmissReportingSubmission(state);\r\n\r\n return {\r\n avetmissReportingSubmission: avetmissReportingSubmission,\r\n isLoading: avetmissReportingSubmission.isLoading,\r\n isDeleting: avetmissReportingSubmission.isDeleting,\r\n isImporting: avetmissReportingSubmission.isImporting,\r\n showDeleteDialog: avetmissReportingSubmission.showDeleteDialog,\r\n showImportDialog: avetmissReportingSubmission.showImportDialog,\r\n isExporting: avetmissReportingSubmission.isExporting,\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => ({\r\n // onInputChange: ({ name, value, error }) => {\r\n // dispatch(actionCreators.formInputChange(name, value, error));\r\n // },\r\n toggleDeleteDialog: () => dispatch(actionCreators.toggleDeleteDialog()),\r\n toggleImportDialog: () => dispatch(actionCreators.toggleImportDialog()),\r\n dispatch: dispatch,\r\n history: ownProps.history,\r\n});\r\n\r\nconst mergeFormProps = (stateProps, dispatchProps) => ({\r\n ...stateProps,\r\n ...dispatchProps,\r\n onLoadForm: () => {\r\n dispatchProps.dispatch(actionCreators.onLoadForm(dispatchProps.history));\r\n },\r\n onSubmit: (\r\n year,\r\n period,\r\n version,\r\n collectionStartDate,\r\n collectionEndDate,\r\n state\r\n ) => {\r\n dispatchProps.dispatch(\r\n actionCreators.onSubmit(\r\n year,\r\n period,\r\n version,\r\n collectionStartDate,\r\n collectionEndDate,\r\n state,\r\n dispatchProps.history\r\n )\r\n );\r\n },\r\n onDelete: () => {\r\n dispatchProps.dispatch(actionCreators.onDelete(dispatchProps.history));\r\n },\r\n onImport: async (payload) => {\r\n dispatchProps.dispatch(actionCreators.importNatFiles(payload));\r\n },\r\n validate: () => {\r\n return validate(stateProps);\r\n },\r\n exportNatFiles: () => {\r\n dispatchProps.dispatch(actionCreators.exportNatFiles());\r\n },\r\n});\r\n\r\nconst validate = stateProps => {\r\n const fields = stateProps.fields;\r\n const fieldErrors = stateProps.fieldErrors;\r\n const errMessages = Object.keys(fieldErrors).filter(k => fieldErrors[k]);\r\n\r\n if (!fields.year) return true;\r\n if (!fields.period) return true;\r\n if (!fields.version) return true;\r\n if (errMessages.length > 0) return true;\r\n\r\n return false;\r\n};\r\n\r\nconst AvetmissReportingSubmissionContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n mergeFormProps\r\n)(AvetmissReportingSubmission);\r\n\r\nexport default AvetmissReportingSubmissionContainer;\r\n","import React from \"react\";\r\nimport TextAreaField from \"../../../../components/Common/Fields/Text-Area-Field\";\r\n\r\nconst ValidationError = ({\r\n natFileNumber,\r\n fileId,\r\n recordNumber,\r\n errorMessage,\r\n fieldValue,\r\n onInputChange\r\n}) => {\r\n return (\r\n \r\n \r\n {fileId} ({recordNumber})\r\n \r\n {errorMessage}\r\n \r\n cardNameValidator(\"Card Name\", val)}\r\n rows={10}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ValidationError;\r\n","import React, { Component } from \"react\";\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\";\r\nimport ButtonFx from \"../../../components/Common/Button-Fx/Button-Fx\";\r\n\r\nexport default class EditUserModal extends Component {\r\n render() {\r\n const {\r\n toggleDeleteDialog,\r\n showDeleteDialog,\r\n isDeleting,\r\n onDelete\r\n } = this.props;\r\n return (\r\n
    \r\n \r\n toggleDeleteDialog()}>\r\n Delete NAT Files\r\n \r\n \r\n
    \r\n Are you sure you are ready to delete the NAT files?\r\n
    \r\n
    \r\n \r\n onDelete()}\r\n className=\"ttg-btn\"\r\n isLoading={isDeleting}\r\n >\r\n Delete\r\n \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport PageTitle from \"../../../components/Common/Page-Title/Page-Title\";\r\nimport ContentSection from \"../../../components/Content-Section\";\r\nimport ValidationError from \"./sub-views/validation-error\";\r\nimport ButtonFx from \"../../../components/Common/Button-Fx/Button-Fx\";\r\nimport DeleteDialog from \"./delete-dialog\";\r\nimport \"./avetmiss-reporting-validation.scss\";\r\n\r\nclass AvetmissReportingValidation extends Component {\r\n componentDidMount() {\r\n const { hasResult, onLoadForm } = this.props;\r\n\r\n if (!hasResult) onLoadForm();\r\n }\r\n\r\n render() {\r\n const { verificationResult } = this.props.avetmissReportingValidation;\r\n const {\r\n isLoading,\r\n isDownloading,\r\n isDeleting,\r\n toggleDeleteDialog,\r\n showDeleteDialog,\r\n onDelete,\r\n onDownloadNatFiles,\r\n onInputChange,\r\n onSubmit,\r\n } = this.props;\r\n\r\n return (\r\n <>\r\n \r\n \r\n

    Avetmiss Validation Service | Validation

    \r\n
    \r\n \r\n {verificationResult.verificationSuccessful && (\r\n <>\r\n

    Avetmiss Reporting Validated Successfully

    \r\n
    Step 1
    \r\n

    \r\n Please login to the{\" \"}\r\n \r\n AVETMISS Validation Software\r\n {\" \"}\r\n to finalise your submission. Once you login, click the latest\r\n submission under Collections and then press “Finalise\r\n Submission”.\r\n

    \r\n
    Step 2
    \r\n
    \r\n onDownloadNatFiles()}\r\n >\r\n Download NAT Files\r\n \r\n
    \r\n
    Step 3
    \r\n
    \r\n toggleDeleteDialog()}\r\n >\r\n Delete NAT Files\r\n \r\n
    \r\n \r\n \r\n )}\r\n {!verificationResult.verificationSuccessful && (\r\n <>\r\n \r\n \r\n {verificationResult.errors.map((error, i) => (\r\n \r\n ))}\r\n \r\n
    \r\n onSubmit(verificationResult.errors)}\r\n >\r\n Save Changes\r\n \r\n \r\n )}\r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default AvetmissReportingValidation;\r\n","/**\r\n * Avetmiss Reporting Validation Service\r\n */\r\nimport HttpClient from \"../../../coreLib/http/httpClient\";\r\n\r\nconst AvetmissReportingValidationService = () => {\r\n let httpClient = HttpClient();\r\n\r\n const getStatus = () => {\r\n return httpClient.get(\"/v1/avetmiss/status\");\r\n };\r\n\r\n const submitRequest = payload => {\r\n return httpClient.put(\"/v1/avetmiss/validation/update\", payload);\r\n };\r\n\r\n const deleteRequest = payload => {\r\n return httpClient.delete(\"/v1/avetmiss\");\r\n };\r\n\r\n const downloadNatFiles = () => {\r\n return httpClient.get(\"/v1/avetmiss/download\", {\r\n responseType: \"blob\"\r\n });\r\n };\r\n\r\n return {\r\n getStatus,\r\n submitRequest,\r\n deleteRequest,\r\n downloadNatFiles\r\n };\r\n};\r\n\r\nexport default AvetmissReportingValidationService;\r\n","/**\r\n * Action Creator definitions\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\nimport { addNotification } from \"../../../../redux/system/system-action-creators\";\r\nimport AvetmissReportingValidationService from \"../avetmiss-reporting-validation-service\";\r\nimport { saveAs } from \"file-saver\";\r\n\r\n// ----------------------------\r\n// Actions\r\n// ----------------------------\r\nexport const onLoadForm = history => {\r\n return dispatch => {\r\n dispatch(LoadFormRequest());\r\n\r\n const service = AvetmissReportingValidationService();\r\n\r\n service\r\n .getStatus()\r\n .then(resp => {\r\n dispatch(LoadFormSuccess());\r\n\r\n if (!resp.data.validToken) {\r\n history.push(\"/Admin/Avetmiss/Authorise/\");\r\n return;\r\n }\r\n\r\n if (\r\n resp.status !== 204 &&\r\n resp.data.reports !== null &&\r\n resp.data.reports !== [] &&\r\n resp.data.reports.length > 0\r\n ) {\r\n history.push(\"/Admin/Avetmiss/Submission/\");\r\n return;\r\n } else {\r\n history.push(\"/Admin/Avetmiss/Reporting/\");\r\n return;\r\n }\r\n })\r\n .catch(err => {\r\n dispatch(LoadFormFailure());\r\n history.push(\"/Admin/Avetmiss/Reporting/\");\r\n });\r\n };\r\n};\r\n\r\nconst LoadFormRequest = () => ({\r\n type: ActionTypes.AVETMISS_REPORTING_VALIDATION_LOAD_FORM_REQUEST\r\n});\r\n\r\nconst LoadFormSuccess = () => ({\r\n type: ActionTypes.AVETMISS_REPORTING_VALIDATION_LOAD_FORM_SUCCESS\r\n});\r\n\r\nconst LoadFormFailure = () => ({\r\n type: ActionTypes.AVETMISS_REPORTING_VALIDATION_LOAD_FORM_FAILURE\r\n});\r\n\r\n// Async\r\nexport const onSubmit = (errors, history) => dispatch => {\r\n dispatch(onSubmitRequest());\r\n\r\n const service = AvetmissReportingValidationService();\r\n\r\n const model = errors\r\n .filter(x => x.updated)\r\n .map(error => ({\r\n natFileNumber: error.natFileNumber,\r\n version: error.version,\r\n fileId: error.fileId,\r\n recordNumber: error.recordNumber,\r\n fieldValue: error.fieldValue\r\n }));\r\n\r\n if (model.length > 0) {\r\n service\r\n .submitRequest(model)\r\n .then(resp => {\r\n dispatch(onSubmitSuccess());\r\n dispatch(addNotification(\"Changes saved.\", \"info\"));\r\n history.push(\"/Admin/Avetmiss/Submission/\");\r\n })\r\n .catch(err => {\r\n dispatch(onSubmitFailure());\r\n dispatch(\r\n addNotification(\"There was an issue updating the NAT files.\", \"error\")\r\n );\r\n });\r\n } else {\r\n dispatch(onSubmitFailure());\r\n dispatch(addNotification(\"No changes have been detected.\", \"error\"));\r\n }\r\n};\r\n\r\nconst onSubmitRequest = () => ({\r\n type: ActionTypes.AVETMISS_REPORTING_VALIDATION_SUBMIT_REQUEST\r\n});\r\nconst onSubmitSuccess = () => ({\r\n type: ActionTypes.AVETMISS_REPORTING_VALIDATION_SUBMIT_SUCCESS\r\n});\r\nconst onSubmitFailure = () => ({\r\n type: ActionTypes.AVETMISS_REPORTING_VALIDATION_SUBMIT_FAILURE\r\n});\r\n\r\nexport const onDelete = history => dispatch => {\r\n dispatch(onDeleteRequest());\r\n\r\n const service = AvetmissReportingValidationService();\r\n\r\n service\r\n .deleteRequest()\r\n .then(resp => {\r\n dispatch(onDeleteSuccess());\r\n history.push(\"/Admin/Avetmiss/Reporting/\");\r\n })\r\n .catch(err => {\r\n dispatch(onDeleteFailure());\r\n dispatch(\r\n addNotification(\"There was an issue deleting the NAT files.\", \"error\")\r\n );\r\n });\r\n};\r\n\r\nconst onDeleteRequest = () => ({\r\n type: ActionTypes.AVETMISS_REPORTING_VALIDATION_DELETE_REQUEST\r\n});\r\nconst onDeleteSuccess = () => ({\r\n type: ActionTypes.AVETMISS_REPORTING_VALIDATION_DELETE_SUCCESS\r\n});\r\nconst onDeleteFailure = () => ({\r\n type: ActionTypes.AVETMISS_REPORTING_VALIDATION_DELETE_FAILURE\r\n});\r\n\r\nexport const toggleDeleteDialog = () => dispatch => {\r\n dispatch({\r\n type: ActionTypes.AVETMISS_REPORTING_VALIDATION_SHOW_DELETE_DIALOG\r\n });\r\n};\r\n\r\nexport const onDownloadNatFiles = () => dispatch => {\r\n dispatch({\r\n type: ActionTypes.AVETMISS_REPORTING_VALIDATION_DOWNLOAD_NAT_FILES_REQUEST\r\n });\r\n let service = AvetmissReportingValidationService();\r\n service\r\n .downloadNatFiles()\r\n .then(resp => {\r\n dispatch(onDownloadNatFilesSuccess());\r\n const pdfBlob = new Blob([resp.data], { type: \"application/zip\" });\r\n saveAs(pdfBlob, \"natfiles.zip\");\r\n })\r\n .catch(() => {\r\n dispatch(onDownloadNatFilesFailure());\r\n dispatch(addNotification(\"Unable to the NAT files.\", \"error\"));\r\n });\r\n};\r\n\r\nconst onDownloadNatFilesSuccess = () => ({\r\n type: ActionTypes.AVETMISS_REPORTING_VALIDATION_DOWNLOAD_NAT_FILES_SUCCESS\r\n});\r\n\r\nconst onDownloadNatFilesFailure = () => ({\r\n type: ActionTypes.AVETMISS_REPORTING_VALIDATION_DOWNLOAD_NAT_FILES_FAILURE\r\n});\r\n\r\n// ----------------------------\r\n// Form Actions\r\n// ----------------------------\r\n\r\nexport const formInputChange = (name, value, error) => {\r\n return dispatch => {\r\n const natFileNumber = parseInt(name.match(/(\\d+)-/im)[1]);\r\n const recordNumber = parseInt(name.match(/-(\\d+)/im)[1]);\r\n\r\n dispatch({\r\n type: ActionTypes.AVETMISS_REPORTING_VALIDATION_FORM_INPUT_CHANGE,\r\n payload: {\r\n natFileNumber: natFileNumber,\r\n recordNumber: recordNumber,\r\n fieldValue: value\r\n }\r\n });\r\n };\r\n};\r\n","import { connect } from \"react-redux\";\r\nimport AvetmissReportingValidation from \"./avetmiss-reporting-validation\";\r\nimport { selectAvetmissReportingValidation } from \"./redux/reducer\";\r\nimport * as actionCreators from \"./redux/action-creators\";\r\n\r\nfunction mapStateToProps(state) {\r\n const avetmissReportingValidation = selectAvetmissReportingValidation(state);\r\n\r\n return {\r\n isLoading: avetmissReportingValidation.isLoading,\r\n isDownloading: avetmissReportingValidation.isDownloading,\r\n isDeleting: avetmissReportingValidation.isDeleting,\r\n showDeleteDialog: avetmissReportingValidation.showDeleteDialog,\r\n hasResult: avetmissReportingValidation.hasResult,\r\n avetmissReportingValidation: avetmissReportingValidation\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => ({\r\n onInputChange: ({ name, value, error }) => {\r\n dispatch(actionCreators.formInputChange(name, value, error));\r\n },\r\n toggleDeleteDialog: () => dispatch(actionCreators.toggleDeleteDialog()),\r\n onDownloadNatFiles: () => dispatch(actionCreators.onDownloadNatFiles()),\r\n dispatch: dispatch,\r\n history: ownProps.history\r\n});\r\n\r\nconst mergeFormProps = (stateProps, dispatchProps) => ({\r\n ...stateProps,\r\n ...dispatchProps,\r\n onLoadForm: () => {\r\n dispatchProps.dispatch(actionCreators.onLoadForm(dispatchProps.history));\r\n },\r\n onSubmit: errors => {\r\n dispatchProps.dispatch(\r\n actionCreators.onSubmit(errors, dispatchProps.history)\r\n );\r\n },\r\n onDelete: () => {\r\n dispatchProps.dispatch(actionCreators.onDelete(dispatchProps.history));\r\n }\r\n});\r\n\r\nconst AvetmissReportingValidationContainer = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n mergeFormProps\r\n)(AvetmissReportingValidation);\r\n\r\nexport default AvetmissReportingValidationContainer;\r\n","import React from \"react\";\r\nimport TextAreaField from \"../../../../components/Common/Fields/Text-Area-Field\";\r\n\r\nconst ValidationError = ({\r\n natFileNumber,\r\n fileId,\r\n recordNumber,\r\n errorMessage,\r\n fieldValue,\r\n onInputChange,\r\n}) => {\r\n return (\r\n \r\n \r\n {fileId} ({recordNumber})\r\n \r\n {errorMessage}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ValidationError;\r\n","import HttpClient from \"../../../../coreLib/http/httpClient\";\r\n\r\nconst ApiService = () => {\r\n let httpClient = HttpClient();\r\n\r\n const submitChanges = (payload) => {\r\n return httpClient.post(\"/v1/avetmiss/validation/address-fixes\", payload);\r\n };\r\n\r\n return {\r\n submitChanges,\r\n };\r\n};\r\n\r\nexport default ApiService;\r\n","import moment from \"moment\";\r\nimport { addNotification } from \"../../../../redux/system/system-action-creators\";\r\nimport ApiService from \"../services/api-service\";\r\nimport { ActionTypes } from \"./action-types\";\r\n\r\nexport const formInputChange = (name, value, error) => (dispatch) => {\r\n const natFileNumber = parseInt(name.match(/(\\d+)-/im)[1]);\r\n const recordNumber = parseInt(name.match(/-(\\d+)/im)[1]);\r\n\r\n dispatch({\r\n type: ActionTypes.AVETMISS_ADDRESS_VALIDATION_FORM_INPUT_CHANGE,\r\n payload: {\r\n natFileNumber: natFileNumber,\r\n recordNumber: recordNumber,\r\n fieldValue: value,\r\n },\r\n });\r\n};\r\n\r\nexport const submitChanges = (\r\n collectionStartDate,\r\n collectionEndDate,\r\n state,\r\n version,\r\n year,\r\n period,\r\n errors,\r\n history\r\n) => (dispatch) => {\r\n dispatch(submitChangesRequest());\r\n\r\n const service = ApiService();\r\n\r\n const fixes = errors\r\n .filter((x) => x.updated)\r\n .map((error) => ({\r\n natFileNumber: error.natFileNumber,\r\n version: error.version,\r\n fileId: error.fileId,\r\n recordNumber: error.recordNumber,\r\n fieldValue: error.fieldValue,\r\n }));\r\n\r\n const formatDateToYYYYMMDD = (date) => {\r\n const isDDMMYYYY = /^(\\d{2})\\/(\\d{2})\\/(\\d{4})$/.test(date);\r\n\r\n return isDDMMYYYY ? moment(date, \"DD/MM/YYYY\").format(\"YYYY-MM-DD\") : date;\r\n };\r\n\r\n const payload = {\r\n collectionStartDate: formatDateToYYYYMMDD(collectionStartDate),\r\n collectionEndDate: formatDateToYYYYMMDD(collectionEndDate),\r\n state: state,\r\n version: version,\r\n year: year,\r\n period: period,\r\n fixes: fixes,\r\n };\r\n\r\n if (fixes.length > 0) {\r\n service\r\n .submitChanges(payload)\r\n .then((resp) => {\r\n dispatch(submitChangesSuccess());\r\n dispatch(addNotification(\"Changes saved.\", \"info\"));\r\n\r\n dispatch({\r\n type: \"AVETMISS_REPORTING_SUBMISSION_LOAD_FORM_SUCCESS\",\r\n payload: {\r\n files: resp.data.reports,\r\n year: resp.data.year,\r\n period: resp.data.period,\r\n version: resp.data.version,\r\n collectionStartDate: collectionStartDate,\r\n collectionEndDate: collectionEndDate,\r\n state: state,\r\n },\r\n });\r\n\r\n history.push(\"/Admin/Avetmiss/Submission/\");\r\n })\r\n .catch((err) => {\r\n dispatch(submitChangesFailure());\r\n dispatch(\r\n addNotification(\r\n \"There was an issue applying address validation error fixes.\",\r\n \"error\"\r\n )\r\n );\r\n });\r\n\r\n return;\r\n }\r\n\r\n dispatch(submitChangesFailure());\r\n dispatch(addNotification(\"No changes have been detected.\", \"error\"));\r\n};\r\n\r\nconst submitChangesRequest = () => ({\r\n type: ActionTypes.AVETMISS_ADDRESS_VALIDATION_SUBMIT_REQUEST,\r\n});\r\nconst submitChangesSuccess = () => ({\r\n type: ActionTypes.AVETMISS_ADDRESS_VALIDATION_SUBMIT_SUCCESS,\r\n});\r\nconst submitChangesFailure = () => ({\r\n type: ActionTypes.AVETMISS_ADDRESS_VALIDATION_SUBMIT_FAILURE,\r\n});\r\n","import React, { useState } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useHistory } from \"react-router\";\r\nimport ButtonFx from \"../../../components/Common/Button-Fx/Button-Fx\";\r\nimport PageTitle from \"../../../components/Common/Page-Title/Page-Title\";\r\nimport ContentSection from \"../../../components/Content-Section\";\r\nimport ValidationError from \"./components/validation-error\";\r\nimport * as Selectors from \"./redux/reducer\";\r\nimport * as Actions from \"./redux/action-creators\";\r\nimport \"./style.scss\";\r\n\r\nconst AvetmissAddressValidation = () => {\r\n const addressValidationState = useSelector((state) =>\r\n Selectors.selectAvetmissAddressValidation(state)\r\n );\r\n\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n\r\n useState(() => {\r\n let hasNoAddressErrors = !addressValidationState.verificationResult\r\n .addressErrors?.length;\r\n\r\n if (hasNoAddressErrors) {\r\n history.push(\"/Admin/Avetmiss/Validation/\");\r\n }\r\n }, []);\r\n\r\n const onSubmit = async (errors) => {\r\n dispatch(\r\n Actions.submitChanges(\r\n addressValidationState.collectionStartDate,\r\n addressValidationState.collectionEndDate,\r\n addressValidationState.state,\r\n addressValidationState.version,\r\n addressValidationState.year,\r\n addressValidationState.period,\r\n errors,\r\n history\r\n )\r\n );\r\n };\r\n\r\n const onInputChange = async ({ name, value, error }) => {\r\n dispatch(Actions.formInputChange(name, value, error));\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n

    Avetmiss Validation Service | Address

    \r\n

    \r\n State identifiers\r\n
    \r\n NSW: 01\r\n
    \r\n VIC: 02\r\n
    \r\n QLD: 03\r\n
    \r\n SA: 04\r\n
    \r\n WA: 05\r\n
    \r\n TAS: 06\r\n
    \r\n NT: 07\r\n
    \r\n ACT: 08\r\n

    \r\n
    \r\n \r\n {!addressValidationState.verificationResult.verificationSuccessful && (\r\n <>\r\n \r\n \r\n {addressValidationState.verificationResult.addressErrors.map(\r\n (error, i) => (\r\n \r\n )\r\n )}\r\n \r\n
    \r\n \r\n onSubmit(\r\n addressValidationState.verificationResult.addressErrors\r\n )\r\n }\r\n >\r\n Save Changes\r\n \r\n \r\n )}\r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default AvetmissAddressValidation;\r\n","import HttpClient from \"coreLib/http/httpClient\";\r\n\r\nconst ApiService = () => {\r\n const syncApiRootUrl = \"v1/sync\";\r\n const courseApiRootUrl = \"v1/courses\";\r\n\r\n const syncCoursesFromElearnd = () => {\r\n return HttpClient().post(`${syncApiRootUrl}/elearnd-courses`);\r\n };\r\n\r\n const publishCourse = (courseId) => {\r\n return HttpClient().post(`${courseApiRootUrl}/${courseId}/publish`);\r\n };\r\n\r\n return {\r\n syncCoursesFromElearnd,\r\n publishCourse,\r\n };\r\n};\r\n\r\nexport default ApiService;\r\n","import ActionTypes from \"./action-types\";\r\nimport ApiService from \"../services/api-service\";\r\nimport {\r\n addErrorNotification,\r\n addNotification,\r\n} from \"redux/system/system-action-creators\";\r\n\r\nconst operateRequest = () => ({\r\n type: ActionTypes.SYNC_COURSES_OPERATE_REQUEST,\r\n});\r\n\r\nconst operateFailure = () => ({\r\n type: ActionTypes.SYNC_COURSES_OPERATE_FAILURE,\r\n});\r\n\r\nconst syncCourseRequest = (payload) => ({\r\n type: ActionTypes.SYNC_COURSES_SYNC_REQUEST,\r\n payload,\r\n});\r\n\r\nconst syncCourseSuccess = (payload) => ({\r\n type: ActionTypes.SYNC_COURSES_SYNC_SUCCESS,\r\n payload,\r\n});\r\n\r\nconst publishCourseSuccess = () => ({\r\n type: ActionTypes.SYNC_COURSES_PUBLISH_SUCCESS,\r\n});\r\n\r\nexport const syncCoursesFromElearnd = () => async (dispatch) => {\r\n dispatch(syncCourseRequest());\r\n\r\n const apiService = ApiService();\r\n\r\n return await apiService\r\n .syncCoursesFromElearnd()\r\n .then((resp) => {\r\n if (resp.data.isSuccessful) {\r\n dispatch(syncCourseSuccess(resp.data.syncedCourses));\r\n dispatch(addNotification(\"Successfully synced courses from eLearnd.\"));\r\n\r\n return {\r\n isSuccessful: true,\r\n };\r\n }\r\n\r\n dispatch(operateFailure());\r\n return {\r\n isSuccessful: false,\r\n validationMessages: resp.data.validationMessages,\r\n };\r\n })\r\n .catch((error) => {\r\n dispatch(operateFailure());\r\n dispatch(\r\n addErrorNotification(\r\n error,\r\n \"Sorry, unable to sync courses from eLearnd.\"\r\n )\r\n );\r\n });\r\n};\r\n\r\nexport const publishCourse = (courseId) => async (dispatch) => {\r\n dispatch(operateRequest());\r\n\r\n const apiService = ApiService();\r\n\r\n await apiService\r\n .publishCourse(courseId)\r\n .then((resp) => {\r\n dispatch(addNotification(\"Successfully published course.\"));\r\n dispatch(publishCourseSuccess());\r\n dispatch(syncCoursesFromElearnd());\r\n })\r\n .catch((error) => {\r\n dispatch(operateFailure());\r\n dispatch(addErrorNotification(error, \"Sorry, unable to publish course.\"));\r\n });\r\n};\r\n","import React, { useEffect } from \"react\";\r\nimport { Button, Spinner, Table } from \"reactstrap\";\r\nimport \"./sync-view.scss\";\r\nimport PageTitle from \"components/Common/Page-Title/Page-Title\";\r\nimport ContentSection from \"components/Content-Section\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport * as Actions from \"./redux/action-creators\";\r\nimport BlockUiFx from \"components/Common/Block-Ui-Fx/Block-Ui-Fx\";\r\nimport { useState } from \"react\";\r\nimport ConfirmModal from \"components/Common/Confirm-Modal/Confirm-Modal\";\r\nimport BasicModal from \"components/Common/Basic-Modal/Basic-Modal\";\r\n\r\nconst SyncView = () => {\r\n const dispatch = useDispatch();\r\n\r\n const selectSyncCourses = useSelector((state) => state.syncCourses);\r\n const [showValidationDialog, toggleValidationDialog] = useState(false);\r\n const [validationMessages, setValidationMessages] = useState(null);\r\n\r\n const [\r\n showPublishConfirmationDialog,\r\n togglePublishConfirmationDialog,\r\n ] = useState(false);\r\n\r\n const [selectedCourseId, setSelectedCourseId] = useState(null);\r\n\r\n useEffect(() => {\r\n dispatch(Actions.syncCoursesFromElearnd()).then((resp) => {\r\n if (!resp.isSuccessful) {\r\n setValidationMessages(resp.validationMessages);\r\n toggleValidationDialog(true);\r\n }\r\n });\r\n }, []);\r\n\r\n const handleOnPublishConfirmation = (evt) => {\r\n if (evt.type !== \"ok\") {\r\n togglePublishConfirmationDialog(false);\r\n return;\r\n }\r\n\r\n dispatch(Actions.publishCourse(selectedCourseId));\r\n togglePublishConfirmationDialog(false);\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n

    Content Sync

    \r\n
    \r\n \r\n \r\n Are you sure you wish to publish the new content now? Note: this\r\n cannot be undone.\r\n \r\n\r\n toggleValidationDialog(false)}\r\n okButtonText={\"Ok\"}\r\n showCancel={false}\r\n >\r\n Sorry, failed to sync courses from eLearnd.\r\n {validationMessages && (\r\n
    \r\n Please check the following:\r\n
      \r\n {validationMessages.map((msg, index) => (\r\n
    • {msg}
    • \r\n ))}\r\n
    \r\n
    \r\n )}\r\n \r\n\r\n \r\n {selectSyncCourses.isSyncing && (\r\n
    \r\n \r\n \r\n Syncing with eLearnd, please wait.\r\n \r\n
    \r\n )}\r\n {!selectSyncCourses.isSyncing && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {selectSyncCourses.courses.map((course, i) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
    CourseCSCLast PublishedStatus
    \r\n {course.courseTitle}\r\n
    ({course.certificateCodesString})\r\n
    {course.currentSetCount}{course.publishDateTime}\r\n {course.isWaitingPublishing\r\n ? \"Waiting Publishing\"\r\n : \"Synced\"}\r\n \r\n {course.isWaitingPublishing && (\r\n {\r\n setSelectedCourseId(course.courseId);\r\n togglePublishConfirmationDialog(true);\r\n }}\r\n disabled={selectSyncCourses.isLoading}\r\n >\r\n Publish Now\r\n \r\n )}\r\n
    \r\n )}\r\n
    \r\n \r\n \r\n );\r\n};\r\n\r\nexport default SyncView;\r\n","import React from \"react\";\r\nimport ContentCollapsiblePanel from \"components/Common/content-collapsible-panel\";\r\n\r\nconst NswFoodSafetySupervisorCertificate = () => {\r\n return (\r\n <>\r\n \r\n

    \r\n This Food Safety Supervisor course prepares you with an\r\n extensive understanding of the role of a Food Safety\r\n Supervisor in NSW.\r\n

    \r\n

    \r\n Owners of registered food businesses must ensure those who\r\n handle food within their business handle food safely. The\r\n owner must nominate a Food Safety Supervisor, who has the\r\n responsibility of recognising, preventing and alleviating the\r\n hazards associated with food handling in your business. Under{\" \"}\r\n FSANZ Standard 3.2.2A, all Australian\r\n businesses that serve food must have one or more qualified\r\n Food Safety Supervisor. A Food Safety Supervisor is someone\r\n who has the appropriate Food Safety training to supervise Food\r\n Safety in a business. Food Safety Supervisors are mainly\r\n responsible for:\r\n

    \r\n
      \r\n
    • Supervising Food Handling staff
    • \r\n
    • Maintaining the Food Safety Program
    • \r\n
    • \r\n Ensuring safe food handling practices across the business\r\n
    • \r\n
    \r\n

    \r\n All retail, hospitality and food service businesses need to\r\n appoint at least one Food Safety Supervisor (FSS) per premises\r\n if food they prepare and serve is:\r\n

    \r\n
      \r\n
    • Ready-to-eat.
    • \r\n
    • \r\n Potentially hazardous, that is, needs temperature control.\r\n
    • \r\n
    • \r\n NOT sold and served in the supplier's original package.\r\n
    • \r\n
    \r\n\r\n

    \r\n Broadly, this includes all businesses selling potentially\r\n hazardous food to the public that are not{\" \"}\r\n \r\n licensed\r\n {\" \"}\r\n by the Food Authority, such as: cafes, restaurants, quick\r\n service venues, takeaway shops, pubs and clubs with food\r\n service areas, mobile vendors, home-based businesses,\r\n caterers, motels, and supermarkets selling potentially\r\n hazardous food (such as hot-chickens). It also includes\r\n outlets that sell food through third party ordering apps.\r\n

    \r\n

    \r\n Children’s services that provide meals as part of their\r\n operation now are required to comply with new Food Safety\r\n requirements, introduced under Standard 3.2.2A of the Food\r\n Standards Code.\r\n

    \r\n

    \r\n \r\n Click here for the Food Safety requirements for\r\n children’s services in NSW.\r\n \r\n

    \r\n \r\n ),\r\n },\r\n {\r\n title: \"How do I get my certificate?\",\r\n content: (\r\n <>\r\n

    \r\n It's as easy as following these 3 steps for the quickest,\r\n cheapest and most convenient way to get your NSW Food Safety\r\n Supervisor Certificate:\r\n

    \r\n
      \r\n
    1. Select the NSW $179 Food Safety Supervisor Course.
    2. \r\n
    3. \r\n Make payment and enter the postal address where your NSW\r\n Food Safety Supervisor Certificate will be express posted.\r\n
    4. \r\n
    5. Begin enrolment and complete online course.
    6. \r\n
    \r\n

    Total course fee: $179

    \r\n

    \r\n With Food Safety Education there are no hidden fees or\r\n charges.\r\n

    \r\n

    \r\n Upon completion of the course, you will receive the NSW Food\r\n Safety Supervisor Certificate (HARD COPY) this will be\r\n expressed posted to you PLUS a Nationally Accredited Statement\r\n of Attainment that is recognised in every other State of\r\n Australia, which you can download straight away!\r\n

    \r\n

    That’s right you will get two certificates!

    \r\n \r\n ),\r\n },\r\n {\r\n title: \"Breakdown of Costs\",\r\n content: (\r\n <>\r\n
      \r\n
    • \r\n $139 Nationally Accredited Certificate - This can be\r\n downloaded automatically on the successful completion of\r\n your course.\r\n
    • \r\n
    • \r\n $30 NSW Food Safety Supervisor Certificate - This is what\r\n the NSW Food Authority charge us!\r\n
    • \r\n
    • \r\n $10 Express Postage, Administration & Handling. This ensures\r\n you will receive your certificate within 5 to 7 business\r\n days via express post after you have successfully completed\r\n the course.\r\n
    • \r\n
    \r\n \r\n ),\r\n },\r\n {\r\n title: \"Which category does my food business comply with?\",\r\n content: (\r\n <>\r\n

    \r\n Food service, catering and retail businesses must comply with\r\n Standard 3.2.2A, based on whether they are classified as\r\n category one or category two businesses (see below).\r\n

    \r\n
      \r\n
    • \r\n Category one (higher risk) businesses must implement all\r\n three management tools.\r\n
    • \r\n
    • \r\n Category two businesses must have a Food Safety Supervisor\r\n and trained food handlers.\r\n
    • \r\n
    \r\n

    \r\n These requirements are in place because unpackaged,\r\n potentially hazardous food that is ready to eat is high risk\r\n and needs careful handling to keep it safe.\r\n

    \r\n\r\n

    \r\n Category one business\r\n

    \r\n
      \r\n
    • \r\n A caterer or food service business that processes unpackaged\r\n potentially hazardous food into food that is both\r\n ready-to-eat and potentially hazardous food.\r\n
    • \r\n
    • \r\n The food is then served to a consumer to eat without any\r\n further processing.\r\n
    • \r\n
    \r\n

    \r\n Category two business\r\n

    \r\n
      \r\n
    • \r\n A retailer of potentially hazardous, ready-to-eat food,\r\n where the food was handled unpackaged, but not made or\r\n processed onsite (other than slicing, weighing, repacking,\r\n reheating, or hot-holding).\r\n
    • \r\n
    \r\n

    \r\n Sometimes it can be confusing to know which category your food\r\n business falls under. We suggest talking with the NSW Food\r\n Authority before you commence your training if you are unsure.\r\n

    \r\n\r\n

    \r\n PH: 1300 552 406\r\n

    \r\n

    \r\n Please click on this link below for more information on\r\n Standard 3.2.2 A, this is very useful.\r\n

    \r\n

    \r\n \r\n https://www.foodauthority.nsw.gov.au/retail/standard-322a-food-safety-management-tools/standard-322a-frequently-asked-questions\r\n \r\n

    \r\n \r\n ),\r\n },\r\n {\r\n title: \"Course Summary\",\r\n content: (\r\n <>\r\n

    \r\n The current national units of competency we deliver and are\r\n accepted for the NSW Food Safety Supervisor Certificate are:\r\n

    \r\n

    \r\n Two hospitality units:\r\n

    \r\n
      \r\n
    • SITXFSA005 – Use hygiene practices for food safety
    • \r\n
    • \r\n SITXFSA006 – Participate in safe food handling practices\r\n
    • \r\n
    \r\n

    \r\n The units of competency we deliver incorporate the mandatory 4\r\n key focus areas as determined by the NSW Food Authority. The\r\n key focus areas were developed in response to common high risk\r\n Food Safety issues in the retail and hospitality sectors and\r\n include:\r\n

    \r\n
      \r\n
    • Allergen Management
    • \r\n
    • Cleaning and Sanitising Practices
    • \r\n
    • Safe Egg Handling
    • \r\n
    • Food Act Offences
    • \r\n
    \r\n

    \r\n This Food Safety Supervisor course prepares you with an\r\n extensive understanding of the role a Food Safety Supervisor\r\n must play within the workplace. Our course is designed to be\r\n as flexible and straight forward as possible! We pride\r\n ourselves on our learning platform which is filled with many\r\n short DVD's and visual images making this training course a\r\n fast and effective way to obtain your Nationally Accredited\r\n Certificate.\r\n

    \r\n

    \r\n Open text responses are required to answer some questions and\r\n case studies from the key focus areas and a third party form\r\n needs to be completed from your nominated observer.\r\n

    \r\n

    \r\n All our training courses allow students to complete their\r\n course in their own time. That's right, there are no lock outs\r\n and no penalties if you get any answers wrong!\r\n

    \r\n

    \r\n On completion of your Food Safety Supervisor training, we also\r\n offer you a downloadable course workbook. This online course\r\n material is always updated so we encourage you to log back in\r\n any time after your training and obtain any new Food Safety\r\n information, this is especially helpful when training up new\r\n staff and when council come around!\r\n

    \r\n \r\n ),\r\n },\r\n {\r\n title: \"NSW Food Authority Information\",\r\n content: (\r\n <>\r\n

    \r\n You will need to ensure that the NSW Food Safety Supervisor\r\n certificate is always kept on the premises, as council\r\n inspectors may request to view the certificate during an\r\n inspection.\r\n

    \r\n

    \r\n For further Food Safety Supervisor information please{\" \"}\r\n \r\n click here\r\n \r\n .\r\n

    \r\n

    \r\n Email:{\" \"}\r\n \r\n contact@foodauthority.nsw.gov.au\r\n \r\n
    \r\n Phone:{\" \"}\r\n \r\n 1300 552 406\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 NswFoodSafetySupervisorCertificate;\r\n","import React from \"react\";\r\nimport ContentCollapsiblePanel from \"components/Common/content-collapsible-panel\";\r\n\r\nconst NswFoodSafetySupervisorCertificateRefresher = () => {\r\n return (\r\n <>\r\n \r\n

    \r\n The NSW Food Authority Refresher Course Training is an\r\n essential program for individuals in New South Wales (NSW),\r\n Australia, who work in the food industry. This online training\r\n ensures that food handlers and supervisors maintain up-to-date\r\n knowledge of safe food handling practices and comply with\r\n legal requirements.{\" \"}\r\n \r\n Please click here for more information about the NSW Food\r\n Safety Refresher Course.\r\n \r\n

    \r\n \r\n ),\r\n },\r\n {\r\n title: \"Purpose of the Refresher Training\",\r\n content: (\r\n <>\r\n
      \r\n
    1. \r\n Compliance with Regulations: The course aligns with the\r\n requirements of the{\" \"}\r\n NSW Food Act 2003 and Food Standards Code. It is\r\n particularly aimed at Food Safety Supervisors (FSS) who are\r\n required to renew their certification every five years.\r\n
    2. \r\n
    3. \r\n Updated Knowledge: It helps participants stay informed about\r\n the latest changes in food safety laws, practices, and\r\n industry standards.\r\n
    4. \r\n
    5. \r\n Public Health Protection: By ensuring best practices, the\r\n course reduces risks of foodborne illnesses, safeguarding\r\n consumer health.\r\n
    6. \r\n
    \r\n \r\n ),\r\n },\r\n {\r\n title: \"How do I Renew?\",\r\n content: (\r\n <>\r\n

    \r\n If you already have a NSW Food Safety Supervisor Certificate\r\n you can renew it with us online today!\r\n

    \r\n

    \r\n Simply\r\n

    \r\n
      \r\n
    • \r\n Simply Log back in (top right) of the website or re register\r\n if you have updated your details.\r\n
    • \r\n
    • \r\n Select the NSW Refresher Course option and begin your\r\n training.\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 NswFoodSafetySupervisorCertificateRefresher;\r\n","import React from \"react\";\r\nimport ContentCollapsiblePanel from \"components/Common/content-collapsible-panel\";\r\n\r\nconst FoodSafetySupervisorCertificateHospitalityAndRetail = () => {\r\n return (\r\n <>\r\n \r\n

    \r\n When you enrol with us, you have access to everything you need\r\n to be accredited as a qualified Food Safety Supervisor (FSS)\r\n in Australia.{\" \"}\r\n \r\n If you are a business in NSW please do the NSW specific\r\n training. Not this one!\r\n \r\n

    \r\n

    \r\n Under FSANZ Standard 3.2.2A, all Australian businesses that\r\n serve food must have one or more qualified Food Safety\r\n Supervisor. A Food Safety Supervisor is someone who has the\r\n appropriate Food Safety training to supervise Food Safety in a\r\n business. Food Safety Supervisors are mainly responsible for:\r\n

    \r\n
      \r\n
    • Supervising Food Handling Staff
    • \r\n
    • Maintaining the Food Safety Program
    • \r\n
    • \r\n Ensuring Safe Food Handling Practices across the business\r\n
    • \r\n
    \r\n

    \r\n The new requirements outlined in FSANZ Standard 3.2.2A demand\r\n a higher level of compliance compared to previous regulations.\r\n Failure to comply can have serious consequences. Enforcement\r\n begins in December 2023 and is overseen by local governments.\r\n

    \r\n

    \r\n Penalties for non-compliance vary based on the severity of\r\n violations and potentially leading to fines, license\r\n suspension or even revocation.\r\n

    \r\n

    \r\n Owners of registered food businesses must ensure those who\r\n handle food within their business handle food safely. The\r\n owner must nominate a Food Safety Supervisor, who has the\r\n responsibility of recognising, preventing and alleviating the\r\n hazards associated with food handling in your business.\r\n

    \r\n \r\n ),\r\n },\r\n {\r\n title: \"Is this course for me?\",\r\n content: (\r\n <>\r\n

    \r\n Either way, it is a requirement that a Food Safety Supervisor\r\n is appointed to the food business. Depending on how large the\r\n food operation is, or how available the FSS can be, will vary\r\n on how many FSS there will be.\r\n

    \r\n

    This qualification needs to be renewed every 5 years.

    \r\n

    \r\n Under Standard 3.2.2A -{\" \"}\r\n category one and two businesses must:\r\n

    \r\n
      \r\n
    • \r\n appoint a certified Food Safety Supervisor (FSS) before\r\n engaging in a ‘prescribed activity’\r\n
    • \r\n
    • \r\n the certificate must be from either a registered training\r\n organisation or an organisation recognised by the relevant\r\n food regulator, THAT’S US!\r\n
    • \r\n
    • \r\n the certificate must have been obtained within the past 5\r\n years\r\n
    • \r\n
    • \r\n ensure that the FSS is reasonably available to advise and\r\n supervise each food handler engaged in that prescribed\r\n activity.\r\n
    • \r\n
    \r\n

    \r\n Prescribed activities involve handling unpackaged potentially\r\n hazardous foods that are ready to eat, which are high risk.\r\n

    \r\n \r\n ),\r\n },\r\n {\r\n title: \"Who should be a FSS?\",\r\n content: (\r\n <>\r\n
      \r\n
    • \r\n The FSS should be in a position to oversee food handling and\r\n be involved in the day-to-day food handling operations of\r\n the food business.\r\n
    • \r\n
    • \r\n They must be ‘reasonably available’ as a point of contact\r\n for food handlers and authorised officers.\r\n
    • \r\n
    • \r\n ‘Reasonably available’ means the FSS works onsite and\r\n oversees food handling of high-risk unpackaged foods, or can\r\n be easily contacted (e.g. by phone).\r\n
    • \r\n
    • \r\n It is not considered reasonable for a business to appoint\r\n someone as a FSS who does not regularly handle food as part\r\n of their normal duties, or is never onsite at a food\r\n business.\r\n
    • \r\n
    \r\n \r\n ),\r\n },\r\n {\r\n title: \"Role of the FSS\",\r\n content: (\r\n <>\r\n

    \r\n The FSS makes sure the business is handling food safely, so if\r\n something goes wrong, food that could be unsafe to eat is not\r\n processed further or served to consumers.\r\n

    \r\n

    The role of the FSS is to:

    \r\n
      \r\n
    • \r\n make sure Food Safety risks are managed and issues are\r\n prevented or corrected\r\n
    • \r\n
    • \r\n instruct staff, review and update business procedures, and\r\n inspect premises and food handling operations\r\n
    • \r\n
    • \r\n share their Food Safety knowledge with other food handlers\r\n
    • \r\n
    • \r\n foster a positive Food Safety culture, so Food Safety is a\r\n top priority in ‘the way we do things here’\r\n
    • \r\n
    \r\n

    \r\n The business needs to make sure the FSS is able to fulfil\r\n these duties.\r\n

    \r\n

    \r\n \r\n

    \r\n

    \r\n This Food Safety Supervisor training applies to: hospitality,\r\n retail and tourism enterprises. It is particularly relevant to\r\n staff working in these industries, such as kitchen hands,\r\n cooks, chefs, catering staff, bar staff, food and beverage\r\n attendants, housekeeping and laundry staff, sandwich hands,\r\n cafe and fast-food outlet’s, cooking crew, salespeople,\r\n owner-operators of small business catering operations or any\r\n retail food outlets involving the preparation of food.\r\n

    \r\n

    \r\n This Food Safety training will also apply to any venue that\r\n operates a permanent or temporary kitchen or smaller food\r\n preparation area, such as restaurants, cafes, clubs, hotels,\r\n attractions, events and conference venues, fast- food\r\n restaurants, retail food outlets such as sandwich shops and\r\n food court outlets. It would also apply to tour operators\r\n involved in the preparation and service of food at temporary\r\n sites.\r\n

    \r\n \r\n ),\r\n },\r\n {\r\n title: \"Course Summary\",\r\n content: (\r\n <>\r\n

    \r\n Our course is designed to be as flexible and straightforward\r\n as possible! We pride ourselves on our learning platform which\r\n is filled with many short DVD's and visual images making this\r\n training course a fast and effective way to obtain your\r\n Nationally Accredited Certificate.\r\n

    \r\n

    \r\n All our training courses allow students to complete their\r\n course in their own time. That's right, there are no lock outs\r\n and no penalties if you get any answers wrong!\r\n

    \r\n

    \r\n On completion of your Food Safety training, we also offer you\r\n a downloadable course workbook. This online course material is\r\n always updated so we encourage you to log back in any time\r\n after your training and obtain any new Food Safety\r\n information, this is especially helpful when training up new\r\n staff and when council come around!\r\n

    \r\n

    \r\n This Food Safety Supervisor course prepares you with an\r\n extensive understanding of the role a Food Safety Supervisor\r\n must play within the workplace.\r\n

    \r\n \r\n ),\r\n },\r\n {\r\n title: \"State Food Safety Legislation\",\r\n content: (\r\n <>\r\n

    \r\n \r\n Please click for more information on the link below for your\r\n States or Territories Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n Queensland Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n Victorian Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n ACT Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n South Australian Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n NSW Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n Western Australia Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n Tasmanian Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n Northern Territory Food Safety Legislation\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 FoodSafetySupervisorCertificateHospitalityAndRetail;\r\n","import React from \"react\";\r\nimport ContentCollapsiblePanel from \"components/Common/content-collapsible-panel\";\r\n\r\nconst FoodHandlingLevel1CertificateHospitalityAndRetail = () => {\r\n return (\r\n <>\r\n \r\n

    \r\n All Food Handlers in Australia must be trained in Food Safety.\r\n Our Food Handling Certificate course is designed to meet these\r\n legal requirements and helps to protect customers from\r\n food-related illnesses and incidents.\r\n

    \r\n

    \r\n The Food Handler is classified as any person who directly\r\n handles food or food contact surfaces such as cutlery, plates,\r\n and bowls. Food Handling activities include: preparing,\r\n serving, packing, displaying, and storing food.\r\n

    \r\n

    \r\n People at many levels use this skill in the workplace during\r\n their daily activities, including cooks, chefs, caterers,\r\n kitchen stewards, kitchen hands, bar staff, food attendants,\r\n and room attendants in the hospitality and retail industries.\r\n

    \r\n \r\n ),\r\n },\r\n {\r\n title: \"Is this course for me?\",\r\n content: (\r\n <>\r\n

    \r\n This course is designed for all people handling food in the\r\n Hospitality and Retail Service industries.\r\n

    \r\n

    \r\n Under Standard 3.2.2A, all staff who handle unpackaged,\r\n potentially hazardous food must be trained in Food Safety and\r\n be able to show they have appropriate skills and knowledge.\r\n This is different from the Food Safety Supervisor requirement.\r\n

    \r\n

    Food Handlers are required to:

    \r\n
      \r\n
    • \r\n Have Food Safety skills and knowledge as per Standard 3.2.2A\r\n
    • \r\n
    • Be able to demonstrate this to a Health Inspector
    • \r\n
    • Handle food in a safe and hygienic manner
    • \r\n
    \r\n

    \r\n Businesses can choose how Food Handlers are trained, but the\r\n training must cover:\r\n

    \r\n

    \r\n \r\n

    \r\n

    \r\n \r\n Rest assured, when you enrol with us, you have access to\r\n everything you need to be accredited as a qualified Food\r\n Handler in Australia.\r\n \r\n

    \r\n \r\n ),\r\n },\r\n {\r\n title: \"Course Summary\",\r\n content: (\r\n <>\r\n

    \r\n This unit of competency describes the skills and knowledge\r\n required for basic Food Handling practices within the\r\n Hospitality and Retail sector.\r\n

    \r\n

    \r\n The content of the course ensures that individuals are aware\r\n of their responsibilities as a Food Handler and provides\r\n comprehensive information about personal hygiene and best\r\n practices for ensuring Food Safety.\r\n

    \r\n

    \r\n At the end of the course, students are expected to be able to\r\n identify Food Safety hazards in the workplace and know what to\r\n do if a Food Safety incident occurs.\r\n

    \r\n

    \r\n Our Food Handler course is designed to be as flexible and\r\n straightforward as possible! We pride ourselves on our\r\n learning platform which is filled with many short DVD's and\r\n visual images, making this training course a fast and\r\n effective way to obtain your Nationally Accredited\r\n Certificate.\r\n

    \r\n

    \r\n All our training courses allow students to complete their\r\n course in their own time. That's right, there are no lockouts\r\n and no penalties if you get any answers wrong!\r\n

    \r\n

    \r\n On completion of your Food Handling training, we also offer\r\n you a downloadable course workbook. This online course\r\n material is always updated so we encourage you to log back in\r\n any time after your training and obtain any new Food Safety\r\n information. This is especially helpful when you need to\r\n refresh your Food Safety skills and when council comes around!\r\n

    \r\n \r\n ),\r\n },\r\n {\r\n title: \"State Food Safety Legislation\",\r\n content: (\r\n <>\r\n

    \r\n \r\n Please click for more information on the link below for your\r\n States or Territories Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n Queensland Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n Victorian Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n ACT Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n South Australian Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n NSW Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n Western Australia Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n Tasmanian Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n Northern Territory Food Safety Legislation\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 FoodHandlingLevel1CertificateHospitalityAndRetail;\r\n","import React from \"react\";\r\nimport ContentCollapsiblePanel from \"components/Common/content-collapsible-panel\";\r\n\r\nconst FoodHandlingLevel2CertificateHospitalityAndRetail = () => {\r\n return (\r\n <>\r\n \r\n

    \r\n All Food Handlers in Australia must be trained in Food Safety.\r\n Our Food Handling Certificate course (Level 2) is designed to\r\n meet these legal requirements and helps to protect customers\r\n from food-related illnesses and incidents.\r\n

    \r\n

    \r\n This course is designed for all people supervising food\r\n operations in the Hospitality or Retail food industries. This\r\n course is also known as Level 2 of the Food Safety Supervisor\r\n qualification.\r\n

    \r\n

    \r\n People at many levels use this skill in the workplace during\r\n their daily activities, including cooks, chefs, caterers,\r\n kitchen stewards, kitchen hands, bar staff, food attendants,\r\n and room attendants in the hospitality and retail industries.\r\n

    \r\n \r\n ),\r\n },\r\n {\r\n title: \"Is this course for me?\",\r\n content: (\r\n <>\r\n

    \r\n This course is perfect for people who have completed Level 1 -\r\n Food Handling in Hospitality & Retail and wish to further\r\n their Food Safety skills and responsibilities.\r\n

    \r\n

    \r\n The two completed units (Level 1 & 2) make up the Food Safety\r\n Supervisor qualification.\r\n

    \r\n

    \r\n Under the Standard 3.2.2A, all staff who handle unpackaged,\r\n potentially hazardous food must be trained in Food Safety and\r\n be able to show they have appropriate skills and knowledge.\r\n This is different from the Food Safety Supervisor requirement.\r\n

    \r\n

    Food Handlers are required to:

    \r\n
      \r\n
    • \r\n Have Food Safety skills and knowledge as per Standard 3.2.2A\r\n
    • \r\n
    • Be able to demonstrate this to a Health Inspector
    • \r\n
    • Handle food in a safe and hygienic manner
    • \r\n
    \r\n

    \r\n Businesses can choose how Food Handlers are trained, but the\r\n training must cover:\r\n

    \r\n

    \r\n \r\n

    \r\n

    \r\n \r\n Rest assured, when you enrol with us, you have access to\r\n everything you need to be accredited as a qualified Food\r\n Handler in Australia.\r\n \r\n

    \r\n \r\n ),\r\n },\r\n {\r\n title: \"Course Summary\",\r\n content: (\r\n <>\r\n

    \r\n This unit applies to all tourism, hospitality, retail, and\r\n catering organisations with permanent or temporary kitchen\r\n premises or smaller food preparation areas.\r\n

    \r\n

    Critical aspects of this training include:

    \r\n
      \r\n
    • \r\n Consistently use safe Food Handling practices in a range of\r\n different Food Handling circumstances\r\n
    • \r\n
    • \r\n Demonstrate knowledge of a Food Safety program and\r\n requirements, including critical control points and methods\r\n of food hazard control for each critical control point\r\n
    • \r\n
    • \r\n Take corrective actions within the scope of job\r\n responsibility for incidents where food hazards are not\r\n controlled\r\n
    • \r\n
    \r\n

    \r\n Our Food Handler (Level 2) course is designed to be as\r\n flexible and straightforward as possible! We pride ourselves\r\n on our learning platform which is filled with many short DVD's\r\n and visual images, making this training course a fast and\r\n effective way to obtain your Nationally Accredited\r\n Certificate.\r\n

    \r\n

    \r\n All our training courses allow students to complete their\r\n course in their own time. That's right, there are no lockouts\r\n and no penalties if you get any answers wrong!\r\n

    \r\n

    \r\n On completion of your Food Handling training, we also offer\r\n you a downloadable course workbook. This online course\r\n material is always updated so we encourage you to log back in\r\n any time after your training and obtain any new Food Safety\r\n information. This is especially helpful when you need to\r\n refresh your Food Safety skills and when council comes around!\r\n

    \r\n \r\n ),\r\n },\r\n {\r\n title: \"State Food Safety Legislation\",\r\n content: (\r\n <>\r\n

    \r\n \r\n Please click for more information on the link below for your\r\n States or Territories Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n Queensland Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n Victorian Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n ACT Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n South Australian Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n NSW Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n Western Australia Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n Tasmanian Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n Northern Territory Food Safety Legislation\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 FoodHandlingLevel2CertificateHospitalityAndRetail;\r\n","import React from \"react\";\r\nimport ContentCollapsiblePanel from \"components/Common/content-collapsible-panel\";\r\n\r\nconst FoodHandlingLevel1CertificateHealthAndCommunity = () => {\r\n return (\r\n <>\r\n \r\n

    \r\n All Food Handlers in Australia must be trained in Food Safety.\r\n Our Food Handling Certificate course is designed to meet these\r\n legal requirements and helps to protect customers from\r\n food-related illnesses and incidents.\r\n

    \r\n

    \r\n The Food Handler is classified as any person who directly\r\n handles food or food contact surfaces such as cutlery, plates,\r\n and bowls. Food Handling activities include: preparing,\r\n serving, packing, displaying, and storing food.\r\n

    \r\n

    \r\n People at many levels use this skill in the workplace during\r\n their daily activities, including cooks, chefs, caterers,\r\n kitchen stewards, kitchen hands, bar staff, food attendants,\r\n and room attendants in the Health and Community industries.\r\n

    \r\n \r\n ),\r\n },\r\n {\r\n title: \"Is this course for me?\",\r\n content: (\r\n <>\r\n

    \r\n This course is designed for all people handling food in the\r\n Community and Health Service industries.\r\n

    \r\n

    \r\n Under the Standard 3.2.2A, all staff who handle unpackaged,\r\n potentially hazardous food must be trained in Food Safety and\r\n be able to show they have appropriate skills and knowledge.\r\n This is different from the Food Safety Supervisor requirement.\r\n

    \r\n

    Food Handlers are required to:

    \r\n
      \r\n
    • \r\n Have Food Safety skills and knowledge as per Standard 3.2.2A\r\n
    • \r\n
    • Be able to demonstrate this to a Health Inspector
    • \r\n
    • Handle food in a safe and hygienic manner
    • \r\n
    \r\n

    \r\n Businesses can choose how Food Handlers are trained, but the\r\n training must cover:\r\n

    \r\n

    \r\n \r\n

    \r\n

    \r\n \r\n Rest assured, when you enrol with us, you have access to\r\n everything you need to be accredited as a qualified Food\r\n Handler in Australia.\r\n \r\n

    \r\n \r\n ),\r\n },\r\n {\r\n title: \"Course Summary\",\r\n content: (\r\n <>\r\n

    \r\n This unit of competency describes the skills and knowledge\r\n required for basic Food Handling practices. You will\r\n understand Food Safety principles and regulations and ensure\r\n the lowest possible risk to this vulnerable population.\r\n

    \r\n

    \r\n The content of the course ensures that individuals are aware\r\n of their responsibilities as a Food Handler and provides\r\n comprehensive information about personal hygiene and best\r\n practices for ensuring Food Safety.\r\n

    \r\n

    \r\n At the end of the course, students are expected to be able to\r\n identify Food Safety hazards in the workplace and know what to\r\n do if a Food Safety incident occurs.\r\n

    \r\n

    \r\n Our Food Handler course is designed to be as flexible and\r\n straightforward as possible! We pride ourselves on our\r\n learning platform which is filled with many short DVD's and\r\n visual images, making this training course a fast and\r\n effective way to obtain your Nationally Accredited\r\n Certificate.\r\n

    \r\n

    \r\n All our training courses allow students to complete their\r\n course in their own time. That's right, there are no lockouts\r\n and no penalties if you get any answers wrong!\r\n

    \r\n

    \r\n On completion of your Food Handling training, we also offer\r\n you a downloadable course workbook. This online course\r\n material is always updated so we encourage you to log back in\r\n any time after your training and obtain any new Food Safety\r\n information. This is especially helpful when you need to\r\n refresh your Food Safety skills and when council comes around!\r\n

    \r\n \r\n ),\r\n },\r\n {\r\n title: \"State Food Safety Legislation\",\r\n content: (\r\n <>\r\n

    \r\n \r\n Please click for more information on the link below for your\r\n States or Territories Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n Queensland Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n Victorian Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n ACT Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n South Australian Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n NSW Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n Western Australia Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n Tasmanian Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n Northern Territory Food Safety Legislation\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 FoodHandlingLevel1CertificateHealthAndCommunity;\r\n","import React from \"react\";\r\nimport ContentCollapsiblePanel from \"components/Common/content-collapsible-panel\";\r\n\r\nconst FoodSafetySupervisorCertificateHealthAndCommunity = () => {\r\n return (\r\n <>\r\n \r\n

    \r\n When you enrol with us, you have access to everything you need\r\n to be accredited as a qualified Food Safety Supervisor (FSS)\r\n in Australia.\r\n

    \r\n

    \r\n \r\n *If you are in{\" \"}\r\n \r\n Childcare\r\n {\" \"}\r\n in NSW, please do the NSW specific training. Not this one!\r\n \r\n

    \r\n

    \r\n \r\n As NSW Aged Care providers are licensed, the required\r\n training comes under their Food Safety Plan. If you reside\r\n in NSW and work with vulnerable persons, we strongly suggest\r\n talking to your Food Safety auditor or ring the NSW Food\r\n Authority before you begin your training. Ph:{\" \"}\r\n 1300 552 406\r\n \r\n

    \r\n

    \r\n Under FSANZ Standard 3.2.2A, all Australian businesses that\r\n serve food must have one or more qualified Food Safety\r\n Supervisors. A Food Safety Supervisor is someone who has the\r\n appropriate Food Safety training to supervise Food Safety in a\r\n business. Food Safety Supervisors are mainly responsible for:\r\n

    \r\n
      \r\n
    • Supervising Food Handling Staff
    • \r\n
    • Maintaining the Food Safety Program
    • \r\n
    • \r\n Ensuring Safe Food Handling Practices across the business\r\n
    • \r\n
    \r\n \r\n ),\r\n },\r\n {\r\n title: \"Is this course for me?\",\r\n content: (\r\n <>\r\n

    \r\n Either way, it is a requirement that a Food Safety Supervisor\r\n is appointed to the food business. Depending on how large the\r\n food operation is, or how available the FSS can be, will vary\r\n on how many FSS there will be.\r\n

    \r\n

    This qualification needs to be renewed every 5 years.

    \r\n

    \r\n Under Standard 3.2.2A - category one and two businesses must:\r\n

    \r\n
      \r\n
    • \r\n Appoint a certified Food Safety Supervisor (FSS) before\r\n engaging in a ‘prescribed activity’\r\n
    • \r\n
    • \r\n The certificate must be from either a registered training\r\n organisation or an organisation recognised by the relevant\r\n food regulator, THAT’S US!\r\n
    • \r\n
    • \r\n The certificate must have been obtained within the past 5\r\n years\r\n
    • \r\n
    • \r\n Ensure that the FSS is reasonably available to advise and\r\n supervise each food handler engaged in that prescribed\r\n activity.\r\n
    • \r\n
    \r\n

    \r\n Prescribed activities involve handling unpackaged, potentially\r\n hazardous foods that are ready to eat, which are high risk.\r\n

    \r\n \r\n ),\r\n },\r\n {\r\n title: \"Who should be a FSS?\",\r\n content: (\r\n <>\r\n
      \r\n
    • \r\n The FSS should be in a position to oversee food handling and\r\n be involved in the day-to-day food handling operations of\r\n the food business.\r\n
    • \r\n
    • \r\n They must be ‘reasonably available’ as a point\r\n of contact for food handlers and authorised officers.\r\n
    • \r\n
    • \r\n ‘Reasonably available’ means the FSS works\r\n onsite and oversees food handling of high-risk unpackaged\r\n foods, or can be easily contacted (e.g. by phone).\r\n
    • \r\n
    • \r\n It is not considered reasonable for a business to appoint\r\n someone as a FSS who does not regularly handle food as part\r\n of their normal duties or is never onsite at a food\r\n business.\r\n
    • \r\n
    \r\n \r\n ),\r\n },\r\n {\r\n title: \"Role of the FSS\",\r\n content: (\r\n <>\r\n

    \r\n The FSS makes sure the business is handling food safely, so if\r\n something goes wrong, food that could be unsafe to eat is not\r\n processed further or served to consumers.\r\n

    \r\n

    The role of the FSS is to:

    \r\n
      \r\n
    • \r\n Ensure all your food handling staff complete the necessary\r\n Food Safety training\r\n
    • \r\n
    • \r\n Make sure Food Safety risks are managed and issues are\r\n prevented or corrected\r\n
    • \r\n
    • \r\n Instruct staff, review and update business procedures, and\r\n inspect premises and food handling operations\r\n
    • \r\n
    • \r\n Share their Food Safety knowledge with other food handlers\r\n
    • \r\n
    • \r\n Foster a positive Food Safety culture, so Food Safety is a\r\n top priority in ‘the way we do things here’\r\n
    • \r\n
    \r\n

    \r\n The business needs to make sure the FSS is able to fulfil\r\n these duties.\r\n

    \r\n

    \r\n \r\n

    \r\n \r\n ),\r\n },\r\n {\r\n title: \"Course Summary\",\r\n content: (\r\n <>\r\n

    \r\n These three units make up the Food Safety Supervisor\r\n Certificate for the Health and Communities sector. This course\r\n is designed for all people handling and supervising food in\r\n the Community and Health Service industries.\r\n

    \r\n

    \r\n With this Food Safety training, you can better understand Food\r\n Safety principles and regulations and ensure the lowest\r\n possible risk to this vulnerable population.\r\n

    \r\n

    \r\n Our course is designed to be as flexible and straightforward\r\n as possible! We pride ourselves on our learning platform which\r\n is filled with many short DVD's and visual images making this\r\n training course a fast and effective way to obtain your\r\n Nationally Accredited Certificate.\r\n

    \r\n

    \r\n All our training courses allow students to complete their\r\n course in their own time. That's right, there are no lockouts\r\n and no penalties if you get any answers wrong!\r\n

    \r\n

    \r\n On completion of your Food Safety training, we also offer you\r\n a downloadable course workbook. This online course material is\r\n always updated so we encourage you to log back in any time\r\n after your training and obtain any new Food Safety\r\n information. This is especially helpful when training up new\r\n staff and when council come around!\r\n

    \r\n

    \r\n This Food Safety Supervisor course prepares you with an\r\n extensive understanding of the role a Food Safety Supervisor\r\n must play within the workplace.\r\n

    \r\n \r\n ),\r\n },\r\n {\r\n title: \"State Food Safety Legislation\",\r\n content: (\r\n <>\r\n

    \r\n \r\n Please click for more information on the link below for your\r\n States or Territories Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n Queensland Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n Victorian Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n ACT Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n South Australian Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n NSW Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n Western Australia Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n Tasmanian Food Safety Legislation\r\n \r\n

    \r\n

    \r\n \r\n Northern Territory Food Safety Legislation\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 FoodSafetySupervisorCertificateHealthAndCommunity;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport { Col, Row } from \"reactstrap\";\r\nimport ContentSection from \"components/Common/content-section\";\r\nimport PageTagging from \"components/Common/page-tagging/page-tagging\";\r\nimport LinkButton from \"components/link-button/link-button\";\r\nimport Infographic from \"features/infographic/infographic\";\r\nimport { courses } from \"constants/course-content\";\r\nimport { getCourseContent } from \"./course-content\";\r\nimport \"./course-info-page.scss\";\r\n\r\nconst CourseInfoPage = () => {\r\n const { courseSlug } = useParams();\r\n\r\n const [course, setCourse] = useState(null);\r\n\r\n useEffect(() => {\r\n const course = courses.find(\r\n (course) =>\r\n course.courseReadMorePage === `/courses/${courseSlug.toLowerCase()}/`\r\n );\r\n setCourse(course);\r\n }, [courseSlug]);\r\n\r\n return (\r\n \r\n {course && (\r\n <>\r\n \r\n
    \r\n
    \r\n

    {course.courseInfo.heading}

    \r\n \r\n \r\n {course.courseInfo.units.map((unit, index) => (\r\n

    \r\n {unit}\r\n

    \r\n ))}\r\n

    {course.courseInfo.intro}

    \r\n
    ${course.courseCost}
    \r\n \r\n {course.courseInfo.additionalContent && (\r\n <>{course.courseInfo.additionalContent}\r\n )}\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n {getCourseContent(course.courseId)}\r\n \r\n
    \r\n
    \r\n \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nexport default CourseInfoPage;\r\n","import React from \"react\";\r\nimport NswFoodSafetySupervisorCertificate from \"./nsw-food-safety-supervisor-certificate\";\r\nimport NswFoodSafetySupervisorCertificateRefresher from \"./nsw-food-safety-supervisor-certificate-refresher\";\r\nimport FoodSafetySupervisorCertificateHospitalityAndRetail from \"./food-safety-supervisor-certificate-hospitality-and-retail\";\r\nimport FoodHandlingLevel1CertificateHospitalityAndRetail from \"./food-handling-level-1-certificate-hospitality-and-retail\";\r\nimport FoodHandlingLevel2CertificateHospitalityAndRetail from \"./food-handling-level-2-certificate-hospitality-and-retail\";\r\nimport FoodHandlingLevel1CertificateHealthAndCommunity from \"./food-handling-level-1-certificate-health-and-community\";\r\nimport FoodSafetySupervisorCertificateHealthAndCommunity from \"./food-safety-supervisor-certificate-health-and-community\";\r\n\r\nexport const getCourseContent = (courseId) => {\r\n switch (courseId) {\r\n case 6:\r\n return ;\r\n case 8:\r\n return ;\r\n case 4:\r\n return ;\r\n case 2:\r\n return ;\r\n case 3:\r\n return ;\r\n case 1009:\r\n return ;\r\n case 1008:\r\n return ;\r\n default:\r\n return <>;\r\n }\r\n};\r\n","import HttpClient from \"coreLib/http/httpClient\";\r\n\r\nconst ApiService = () => {\r\n let httpClient = HttpClient();\r\n\r\n const getSso = async (userCourseContentToken) => {\r\n return await httpClient.get(\r\n `/v1/usercourse/${userCourseContentToken}/elearnd-sso`\r\n );\r\n };\r\n\r\n return {\r\n getSso,\r\n };\r\n};\r\n\r\nexport default ApiService;\r\n","/**\r\n * Action Creator definitions\r\n */\r\nimport { ActionTypes } from \"./action-types\";\r\nimport { addNotification } from \"redux/system/system-action-creators\";\r\nimport UserCourseService from \"services/user-course-service\";\r\nimport CourseService from \"services/course-service\";\r\nimport ApiService from \"../services/api-service\";\r\n\r\n// ----------------------------\r\n// Actions\r\n// ----------------------------\r\n\r\nexport const onLoadSection = (courseContentToken, history) => {\r\n return async (dispatch) => {\r\n dispatch(loadSectionRequest());\r\n\r\n const userCourseService = UserCourseService();\r\n\r\n await userCourseService\r\n .getCourseDetailsAndStatus(courseContentToken)\r\n .then(async (resp) => {\r\n const { id, status } = resp.data;\r\n if (!status.isExternalLearning) {\r\n history.push(\"/Your-Courses/\");\r\n } else if (!status.courseExpired) {\r\n const courseService = CourseService();\r\n\r\n const course = courseService.getCourse(id);\r\n\r\n dispatch(loadSectionSuccess(course.courseTitle));\r\n } else {\r\n dispatch(\r\n addNotification(\r\n \"Sorry, something went wrong loading your course information. Please try again. If the problem continues, please contact us for assistance.\",\r\n \"error\"\r\n )\r\n );\r\n history.push(\"/your-courses/\");\r\n }\r\n })\r\n .catch((err) => {\r\n dispatch(\r\n addNotification(\r\n \"Sorry, something went wrong loading your course information. Please try again. If the problem continues, please contact us for assistance.\",\r\n \"error\"\r\n )\r\n );\r\n history.push(\"/your-courses/\");\r\n });\r\n };\r\n};\r\n\r\nexport const onLoadSso = (courseContentToken) => {\r\n return async (dispatch) => {\r\n dispatch(loadSsoRequest());\r\n\r\n const apiService = ApiService();\r\n\r\n await apiService\r\n .getSso(courseContentToken)\r\n .then((resp) => {\r\n window.location.href = resp.data;\r\n })\r\n .catch(() => {\r\n dispatch(loadSsoFailure());\r\n\r\n dispatch(\r\n addNotification(\r\n \"Sorry, something went wrong trying to login to eLearnd. Please try again. If the problem continues, please contact us for assistance.\",\r\n \"error\"\r\n )\r\n );\r\n });\r\n };\r\n};\r\n\r\nconst loadSectionRequest = () => ({\r\n type: ActionTypes.EXTERNAL_LEARNING_COURSE_LOAD_REQUEST,\r\n});\r\n\r\nconst loadSectionSuccess = (courseName) => ({\r\n type: ActionTypes.EXTERNAL_LEARNING_COURSE_LOAD_SUCCESS,\r\n payload: {\r\n courseName,\r\n },\r\n});\r\n\r\nconst loadSsoRequest = () => ({\r\n type: ActionTypes.EXTERNAL_LEARNING_COURSE_GET_SSO_REQUEST,\r\n});\r\n\r\nconst loadSsoFailure = () => ({\r\n type: ActionTypes.EXTERNAL_LEARNING_COURSE_GET_SSO_FAILURE,\r\n});\r\n","import React, { useEffect } from \"react\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport { connect } from \"react-redux\";\r\nimport ContentSection from \"components/Common/content-section\";\r\nimport PageTagging from \"components/Common/page-tagging/page-tagging\";\r\nimport { selectExternalLearningCourse } from \"./redux/reducer\";\r\nimport * as actionCreators from \"./redux/action-creators\";\r\nimport ButtonFx from \"components/Common/Button-Fx/Button-Fx\";\r\n\r\nconst ExternalLearningCourseView = ({\r\n externalLearningCourse,\r\n onLoadSection,\r\n onLoadSso,\r\n}) => {\r\n const { courseName, isLoading, isLoadingSso } = externalLearningCourse;\r\n\r\n const { id } = useParams();\r\n\r\n useEffect(() => {\r\n onLoadSection(id);\r\n }, [id]);\r\n\r\n return (\r\n \r\n \r\n
    \r\n {!isLoading && (\r\n <>\r\n

    {courseName}

    \r\n
    \r\n Your course is ready for you on eLearnd, our learning platform.\r\n
    \r\n
    Simply click the button below to get access your course.
    \r\n onLoadSso(id)}\r\n >\r\n Continue Course\r\n \r\n \r\n )}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nfunction mapStateToProps(state) {\r\n const externalLearningCourse = selectExternalLearningCourse(state);\r\n\r\n return {\r\n externalLearningCourse: externalLearningCourse,\r\n };\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => ({\r\n dispatch: dispatch,\r\n history: ownProps.history,\r\n});\r\n\r\nconst mergeFormProps = (stateProps, dispatchProps) => ({\r\n ...stateProps,\r\n ...dispatchProps,\r\n onLoadSection: (courseContentToken) => {\r\n dispatchProps.dispatch(\r\n actionCreators.onLoadSection(courseContentToken, dispatchProps.history)\r\n );\r\n },\r\n onLoadSso: (courseContentToken) => {\r\n dispatchProps.dispatch(actionCreators.onLoadSso(courseContentToken));\r\n },\r\n});\r\n\r\nconst ExternalLearningCourse = connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n mergeFormProps\r\n)(ExternalLearningCourseView);\r\n\r\nexport default ExternalLearningCourse;\r\n","import React from \"react\";\r\nimport { BrowserRouter as Router, Switch, Route } from \"react-router-dom\";\r\nimport { Provider } from \"react-redux\";\r\nimport PrivateRoute from \"./components/Common/Private-Route/Private-Route\";\r\nimport ConfigureStore from \"./redux/configure-store\";\r\nimport ScrollToTop from \"./components/Scroll-To-Top/Scroll-To-Top\";\r\nimport ToastNotificationContainer from \"./components/Common/Toast/Toast-Container\";\r\nimport ErrorModalContainer from \"./components/Common/Error-Modal/Error-Modal-Container\";\r\nimport Header from \"./components/Header/header\";\r\nimport FooterContainer from \"./components/Footer/Footer.Container\";\r\nimport Home from \"./views/Home/home\";\r\nimport ContactUs from \"./views/Contact-Us/contact-us\";\r\nimport Login from \"./views/Login/login\";\r\nimport NewEnrolment from \"./views/Course-Enrolment/New-Enrolment/new-enrolment\";\r\nimport Step1FormContainer from \"./views/Course-Enrolment/Step-1/Step-1-Form.Container\";\r\nimport Step2FormContainer from \"./views/Course-Enrolment/Step-2/Step-2-Form.Container\";\r\nimport Step3FormContainer from \"./views/Course-Enrolment/Step-3/Step-3-Form.Container\";\r\nimport CorporateVouchers from \"./views/Coporate-Vouchers/corporate-vouchers.container\";\r\nimport CorporatePurchaseVouchers from \"./views/Purchase-Corporate-Vouchers/purchase-corporate-vouchers.container\";\r\nimport CourseContentContainer from \"./views/Course-Content/Course-Content.Container\";\r\nimport CourseQuizContainer from \"./views/Course-Quiz/Course-Quiz.Container\";\r\nimport ContentPage from \"./views/Content-Page\";\r\nimport Certificates from \"./views/Certificates/certificates\";\r\nimport CertificateRegister from \"views/Certificates/certificate-register\";\r\nimport Start from \"./views/Start/start\";\r\nimport CorporateVouchersRegister from \"./views/Corporate-Vouchers/corporate-vouchers-register\";\r\nimport ThirdPartyFormContainer from \"./views/Third-Party-Form/Third-Party-Form.Container\";\r\nimport UpdateProfile from \"./views/Update-Profile/Update-Profile.Container\";\r\nimport ChangePassword from \"./views/Change-Password/Change-Password.Container\";\r\nimport Error403 from \"./views/Pages/403/Error-403\";\r\nimport ForgotPasswordView from \"./views/Forgot-Password/Forgot-Password-View\";\r\nimport ResetPasswordView from \"./views/Forgot-Password/Reset-Password-View\";\r\nimport NSWReprint from \"./views/NSW-Reprint-Page/nsw-reprint-page.container\";\r\nimport CorporateTaxInvoice from \"./views/Corporate-Tax-Invoice/corporate-tax-invoice.container\";\r\n\r\nimport \"./App.scss\";\r\nimport FAQs from \"./views/FAQs/faqs\";\r\nimport CourseCompletedContainer from \"./views/Course-Completed/Course-Completed.Container\";\r\nimport CourseSurveyContainer from \"./views/Course-Survey/Course-Survey.Container\";\r\nimport PrintCourseContentGuide from \"./views/Print-Course-Content-Guide/Print-Course-Content-Guide\";\r\n//Admin Pages\r\nimport Users from \"./views/Admin/Users/users.container\";\r\nimport UserCourses from \"./views/Admin/UserCourses/users-courses.container\";\r\nimport EditUserCourse from \"./views/Admin/Edit-User-Course/edit-user-course.container\";\r\nimport DowloadReportsPage from \"./views/Admin/Download-Reports/download-reports.container\";\r\nimport VoucherPurchases from \"./views/Admin/View-Voucher-Purchases/voucher-purchases.container\";\r\nimport NswCertificatesContainer from \"./views/Admin/Nsw-Certificates/Nsw-Certificates.Container\";\r\nimport NswReprintsViewContainer from \"./views/Admin/Nsw-Reprints-View/Nsw-Reprints-View.Container\";\r\nimport PromoCodesContainer from \"./views/Admin/Promo-Codes/promo-codes.container\";\r\nimport AppWrapperContainer from \"./components/Common/App-Wrapper/App-Wrapper-Container\";\r\nimport LoginImpersonationContainer from \"./components/Common/Login-Impersonation/Login-Impersonation.Container\";\r\nimport AuthoriseAvsContainer from \"./views/Avetmiss/Authorise-Avs/authorise-avs.container\";\r\nimport AvetmissReportingContainer from \"./views/Avetmiss/Avetmiss-Reporting/avetmiss-reporting.container\";\r\nimport AvetmissReportingSubmissionContainer from \"./views/Avetmiss/Avetmiss-Reporting-Submission/avetmiss-reporting-submission.container\";\r\nimport AvetmissReportingValidationContainer from \"./views/Avetmiss/Avetmiss-Reporting-Validation/avetmiss-reporting-validation.container\";\r\nimport AvetmissAddressValidation from \"./views/Avetmiss/Avetmiss-Address-Validation\";\r\nimport SyncView from \"./views/Admin/Sync/sync-view\";\r\nimport CourseInfoPage from \"views/Course-Info-Page/course-info-page\";\r\nimport eLearningCourse from \"views/external-learning-course/external-learning-course\";\r\n\r\nfunction App() {\r\n const store = ConfigureStore();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* Admin Routes */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* Admin Routes */}\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 App;\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import \"react-app-polyfill/ie9\";\r\nimport \"react-app-polyfill/stable\";\r\nimport React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport \"bootstrap/dist/css/bootstrap.min.css\";\r\nimport \"./index.scss\";\r\nimport App from \"./App\";\r\nimport * as serviceWorker from \"./serviceWorker\";\r\n\r\nReactDOM.render(, document.getElementById(\"root\"));\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n","Object.defineProperty(exports, \"__esModule\", { value: true });\r\n\r\nrequire(\"react\");\r\nvar visa = require(\"./visa.js\");\r\nvar unionpay = require(\"./unionpay.js\");\r\nvar placeholder = require(\"./placeholder.js\");\r\nvar mastercard = require(\"./mastercard.js\");\r\nvar jcb = require(\"./jcb.js\");\r\nvar amex = require(\"./amex.js\");\r\nvar dinersclub = require(\"./dinersclub.js\");\r\nvar discover = require(\"./discover.js\");\r\nvar hipercard = require(\"./hipercard.js\");\r\n\r\nvar index = {\r\n amex: amex.default,\r\n dinersclub: dinersclub.default,\r\n discover: discover.default,\r\n hipercard: hipercard.default,\r\n jcb: jcb.default,\r\n unionpay: unionpay.default,\r\n mastercard: mastercard.default,\r\n placeholder: placeholder.default,\r\n visa: visa.default\r\n};\r\n\r\nexports.default = index;\r\n","module.exports = __webpack_public_path__ + \"static/media/infographic-1.5b14e8e6.svg\";","module.exports = __webpack_public_path__ + \"static/media/infographic-2.4e1138dd.svg\";","module.exports = __webpack_public_path__ + \"static/media/infographic-3.ca68e8f0.svg\";","module.exports = __webpack_public_path__ + \"static/media/infographic-4.b32e9f76.svg\";","module.exports = __webpack_public_path__ + \"static/media/infographic-5.2ba2f3f7.svg\";","module.exports = __webpack_public_path__ + \"static/media/green-tick.68ae9e29.svg\";","module.exports = __webpack_public_path__ + \"static/media/hltfse001.9c4b0a17.svg\";","module.exports = __webpack_public_path__ + \"static/media/hltfse005.86b01dfb.svg\";","module.exports = __webpack_public_path__ + \"static/media/hltfse007.79fcbb33.svg\";","module.exports = __webpack_public_path__ + \"static/media/sitxfsa005.4bfa9d1c.svg\";","module.exports = __webpack_public_path__ + \"static/media/sitxfsa006.3e05c55c.svg\";","module.exports = __webpack_public_path__ + \"static/media/fruit-bg.9f615b19.jpg\";","module.exports = __webpack_public_path__ + \"static/media/food-bg.0852897d.jpg\";"],"sourceRoot":""}