{"version":3,"sources":["utils/time-stamp.js","redux/reducers/app/reducer.js","utils/combine-immutable-reducers.js","redux/reducers/cache/reducer.js","redux/reducers/cache/images/reducer.js","redux/reducers/cache/images/action-types.js","redux/reducers/cache/pdfs/reducer.js","redux/reducers/cache/pdfs/action-types.js","redux/reducers/login/credentials/action-types.js","redux/reducers/login/reducer.js","redux/reducers/login/credentials/reducer.js","redux/reducers/session/user/action-types.js","utils/cookies.js","libs/browser_storage/storage-api.js","libs/browser_storage/session-storage-api.js","redux/reducers/session/user/reducer.js","redux/reducers/session/client/reducer.js","redux/reducers/session/tokens/action-types.js","libs/api/constants.js","libs/api/api-request.js","libs/api/http-request.js","custom/promise-helper.js","libs/browser_storage/local-storage-api.js","libs/api/api.js","libs/api/helper.js","redux/reducers/session/tokens/reducer.js","redux/reducers/session/reducer.js","redux/reducers/session/client/action-types.js","redux/reducers/schedules/action-types.js","redux/reducers/schedules/schedule/reducer.js","redux/reducers/schedules/schedule/action-types.js","redux/reducers/elearning/reducer.js","redux/reducers/proctorio/reducer.js","redux/reducers/messages/reducer.js","redux/reducers/messages/general/reducer.js","redux/reducers/messages/general/action-types.js","redux/reducers/messages/session/reducer.js","redux/reducers/messages/session/action-types.js","redux/reducers/exam/action-types.js","utils/type-validator.js","custom/object-helper.js","redux/reducers/exam/content/action-types.js","redux/reducers/exam/content/sections/section/action-types.js","redux/reducers/exam/helpers.js","redux/reducers/exam/content/sections/section/reducer.js","redux/reducers/exam/content/sections/reducer.js","redux/reducers/exam/content/mappings/reducer.js","redux/reducers/exam/content/mappings/mapping/reducer.js","redux/reducers/exam/content/questions/question/action-types.js","redux/reducers/exam/content/questions/question/workings/action-types.js","redux/reducers/exam/content/questions/question/table/rows/row/reducer.js","redux/reducers/exam/content/questions/question/table/rows/reducer.js","redux/reducers/exam/content/questions/question/table/reducer.js","redux/reducers/exam/content/questions/question/combo/options/option/reducer.js","redux/reducers/exam/content/questions/question/combo/options/reducer.js","redux/reducers/exam/content/questions/question/combo/reducer.js","redux/reducers/exam/content/questions/question/radios/options/option/reducer.js","redux/reducers/exam/content/questions/question/radios/options/reducer.js","redux/reducers/exam/content/questions/question/radios/reducer.js","utils/randomize.js","custom/array-helper.js","redux/reducers/exam/content/questions/question/blanks/constants.js","redux/reducers/exam/content/questions/question/blanks/reducer.js","redux/reducers/exam/content/questions/question/checks/options/option/reducer.js","redux/reducers/exam/content/questions/question/checks/options/reducer.js","redux/reducers/exam/content/questions/question/checks/reducer.js","redux/reducers/exam/content/questions/question/multi_text/parts/part/reducer.js","redux/reducers/exam/content/questions/question/multi_text/parts/reducer.js","redux/reducers/exam/content/questions/question/multi_text/reducer.js","redux/reducers/exam/content/questions/question/long_text/reducer.js","redux/reducers/exam/content/questions/question/match/options/reducer.js","redux/reducers/exam/content/questions/question/match/options/option/reducer.js","redux/reducers/exam/content/questions/question/match/selections/reducer.js","redux/reducers/exam/content/questions/question/match/selections/selection/reducer.js","redux/reducers/exam/content/questions/question/match/reducer.js","redux/reducers/exam/content/questions/question/workings/reducer.js","redux/reducers/exam/content/questions/question/ascx/action-types.js","redux/reducers/exam/content/questions/question/ascx/reducer.js","redux/reducers/exam/content/questions/question/ict/reducer.js","redux/reducers/exam/content/questions/question/static_text/reducer.js","constants/form.js","redux/reducers/exam/content/questions/question/form/reducer.js","redux/reducers/exam/content/questions/question/radios-text/reducer.js","constants/question-types.js","libs/browser_storage/db-storage-api.js","libs/browser_storage/db/pouch/pouch-api.js","libs/activity_logger/activity-logger-helper.js","redux/reducers/exam/content/questions/reducer.js","libs/api/interface/api-assessment.js","libs/activity_logger/activity-logger-sent.js","libs/activity_logger/activity-logger-maintain.js","libs/activity_logger/activity-logger-question.js","libs/activity_logger/activity-logger.js","redux/reducers/exam/content/questions/question/reducer.js","redux/reducers/exam/content/reducer.js","redux/reducers/exam/reducer.js","redux/reducers/exam/time/reducer.js","redux/reducers/exam/time/action-types.js","redux/reducers/exam/messages/reducer.js","redux/reducers/exam/result/reducer.js","redux/reducers/exam/result/action-types.js","custom/color-helper.js","constants/theme.js","utils/theme-config.js","redux/reducers/settings/client/reducer.js","redux/reducers/settings/reducer.js","redux/reducers/settings/app/reducer.js","redux/reducers/settings/app/action-types.js","redux/reducers/settings/client/action-types.js","redux/reducers/reducer.js","redux/reducers/app/action-types.js","redux/reducers/login/action-types.js","redux/reducers/schedules/reducer.js","redux/reducers/elearning/action-types.js","redux/reducers/proctorio/action-types.js","redux/reducers/theme/reducer.js","redux/reducers/theme/action-types.js","custom/console.js","libs/api/interface/api-error.js","redux/store.js","components/pages/app_initialization/initializing/validating_app_settings/browser_checker/detect-browser.js","redux/reducers/selectors.js","redux/reducers/session/selectors.js","redux/reducers/session/user/selectors.js","redux/reducers/session/client/selectors.js","utils/error-logger.js","redux/middleware/snapshot-store.js","utils/inactivity-manager.js","redux/middleware/detect-inactivity.js","components/hocs/messages/context.js","redux/reducers/messages/general/selectors.js","redux/reducers/messages/selectors.js","redux/reducers/messages/complex-selectors.js","redux/reducers/messages/session/selectors.js","components/hocs/messages/provider.jsx","temp/xams.UI.Components/machine/machine-context.js","temp/xams.UI.Components/callback/index.jsx","temp/xams.UI.Components/machine/state-view/index.jsx","temp/xams.UI.Components/machine/state-control/index.jsx","temp/xams.UI.Components/machine/index.jsx","redux/reducers/login/selectors.js","redux/reducers/login/credentials/selectors.js","components/pages/login/form/actions.js","components/pages/login/form/validator.jsx","libs/api/interface/api-authentication.js","components/pages/login/form/login_token.js","constants/message-ids.js","components/pages/login/form/authenticator.jsx","components/functional/callback.jsx","components/pages/network_error/set-network-error.jsx","components/pages/actions.js","machines/xstate-config.js","machines/form.js","components/pages/login/form/other-view.jsx","components/pages/login/form/form-styles.js","redux/reducers/settings/selectors.js","utils/number.js","redux/reducers/settings/client/selectors.js","redux/reducers/cache/selectors.js","redux/reducers/cache/images/selectors.js","components/presentation/image.jsx","components/hocs/messages/index.jsx","utils/html-attributes-to-props.js","utils/css-to-react-style.js","utils/html-to-react.js","components/presentation/material-text.jsx","components/layout/align.jsx","components/presentation/loading-spinner.jsx","components/pages/login/form/form.jsx","components/contexts/app_page/index.jsx","components/pages/login/form/form-view.jsx","components/pages/login/form/machine.jsx","libs/api/interface/api-messages.js","components/functional/message_loader/fetcher.jsx","components/functional/message_loader/general/fetcher.jsx","components/functional/message_loader/actions.js","components/functional/message_loader/checker.jsx","components/functional/message_loader/general/checker.jsx","components/functional/message_loader/session/fetcher.jsx","components/functional/message_loader/session/checker.jsx","components/functional/message_loader/loader.jsx","components/contexts/app_page/context.js","components/pages/app-page-modifier.jsx","machines/login.js","components/pages/login/initializing-session-messages-page.jsx","components/pages/login/maintaining-activity-log.jsx","components/pages/login/set_password/checking-set-password-token.jsx","components/pages/login/set_password/set-password.jsx","components/pages/login/set_password/page.jsx","components/pages/reset_password/constants.js","libs/api/interface/api-password.js","components/pages/forgot_password/forgot-password-info.jsx","components/pages/reset_password/styles.js","components/pages/reset_password/reset-password.jsx","components/pages/reset_password/page.jsx","components/pages/login/admin_redirect/check.jsx","redux/reducers/settings/app/entify-supported-browsers-versions.js","redux/reducers/settings/app/selectors.js","components/actions.js","components/pages/login/admin_redirect/helper.js","components/pages/login/admin_redirect/url.jsx","components/pages/login/admin_redirect/iframe.jsx","components/pages/login/machine.jsx","components/pages/login/page.jsx","components/pages/login/actions.js","components/pages/forgot_password/styles.js","components/pages/forgot_password/forgot-password.jsx","components/pages/forgot_password/page.jsx","redux/reducers/proctorio/selectors.js","libs/api/interface/api-general.js","components/pages/app_initialization/initializing/initializing_client/session-initializer.jsx","components/pages/app_initialization/initializing/initializing_client/actions.js","components/pages/proctorio/actions.js","components/pages/proctorio/authenicate-user.jsx","components/pages/proctorio/load-schedule.jsx","redux/reducers/app/selectors.js","components/pages/proctorio/loading-failed.jsx","components/pages/proctorio/redirect-to-exam.jsx","libs/api/interface/api-settings.js","components/pages/client-settings-fetcher.jsx","components/pages/proctorio/check-parent.jsx","machines/proctorio.js","components/pages/proctorio/machine.jsx","components/pages/proctorio/machine-page.jsx","components/pages/proctorio/start-page.jsx","redux/reducers/exam/selectors.js","redux/reducers/schedules/selectors.js","components/pages/proctorio/end/finish-page.jsx","components/pages/proctorio/helper.js","components/pages/proctorio/return/return-page.jsx","components/pages/network_error/error.js","components/pages/network_error/page.jsx","components/pages/double-login.jsx","components/pages/token-refresher.jsx","components/pages/_exam/actions.js","components/pages/_exam/exam-clearer.jsx","components/pages/_exam/initializing/password/form/validator.jsx","components/pages/_exam/initializing/password/form/actions.js","components/pages/_exam/initializing/password/form/authenticator.jsx","components/pages/_exam/initializing/password/form/other-view.jsx","components/pages/_exam/initializing/password/form/form.jsx","components/pages/_exam/initializing/password/form/form-styles.js","components/pages/_exam/initializing/password/form/form-view.jsx","components/pages/_exam/initializing/password/form/machine.jsx","components/pages/_exam/initializing/password/page.jsx","redux/reducers/schedules/schedule/selectors.js","components/pages/_exam/initializing/initializing_exam/exam-fetcher.jsx","components/pages/_exam/initializing/initializing_exam/actions.js","redux/reducers/exam/content/selectors.js","redux/reducers/exam/content/questions/question/ascx/selectors.js","redux/reducers/exam/content/questions/question/combo/selectors.js","redux/reducers/exam/content/questions/question/match/selectors.js","redux/reducers/exam/content/questions/question/table/selectors.js","redux/reducers/exam/content/questions/question/blanks/selectors.js","redux/reducers/exam/content/questions/question/checks/selectors.jsx","redux/reducers/exam/content/questions/question/radios/selectors.js","redux/reducers/exam/content/questions/question/long_text/selectors.js","redux/reducers/exam/content/questions/question/multi_text/selectors.jsx","redux/reducers/exam/content/questions/question/ict/selectors.js","redux/reducers/exam/content/questions/question/static_text/selectors.js","utils/key-listener.js","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/form/form-helper.js","redux/reducers/exam/content/questions/question/form/selectors.js","redux/reducers/exam/content/questions/question/selectors.js","redux/reducers/exam/content/questions/selectors.js","components/pages/_exam/initializing/initializing_exam/ascx-initializer.jsx","libs/api/interface/api-ascx.js","components/functional/image_preloading/actions.js","components/functional/image_preloading/image-preloader.jsx","components/functional/image_preloading/multi-image-preloader.jsx","utils/deep-extract.js","utils/image-src-extractor.jsx","utils/get-ascx-image-url.js","utils/get-form-grid-images.js","components/pages/_exam/initializing/initializing_exam/image-preloader.jsx","redux/reducers/exam/content/sections/selectors.js","redux/reducers/exam/content/sections/section/selectors.js","redux/reducers/exam/content/resource-urls-selector.js","components/pages/_exam/initializing/initializing_exam/resource-loader.jsx","components/presentation/hide.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_boxes/answer-box.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_boxes/actions.js","components/pages/exam/disabled-context.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/ascx.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_boxes/ascx.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/combo.jsx","redux/reducers/exam/content/questions/question/combo/options/selectors.js","redux/reducers/exam/content/questions/question/combo/options/option/selectors.js","components/pages/exam/_layout/content/panel/answer_panel/answer_boxes/combo.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/mcq.jsx","redux/reducers/exam/content/questions/question/radios/options/selectors.js","redux/reducers/exam/content/questions/question/radios/options/option/selectors.js","components/pages/exam/_layout/content/panel/answer_panel/answer_boxes/radios.jsx","redux/reducers/exam/content/questions/question/checks/options/option/selectors.js","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/checks.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/drag_and_drop/draggable-option.jsx","utils/is-within-bounds.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/drag_and_drop/droppable-option.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/drag_and_drop/checks.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_boxes/checks.jsx","redux/reducers/exam/content/questions/question/checks/options/selectors.js","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/option-helper.js","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/match.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/drag_and_drop/match.jsx","redux/reducers/exam/content/questions/question/match/selections/selectors.js","redux/reducers/exam/content/questions/question/match/options/option/selectors.js","redux/reducers/exam/content/questions/question/match/selections/selection/selectors.js","components/pages/exam/_layout/content/panel/answer_panel/answer_boxes/match.jsx","redux/reducers/exam/content/questions/question/match/options/selectors.js","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/table-helper.js","components/presentation/text_editors/multi_line/editor.jsx","components/presentation/text_editors/multi_line/index.jsx","components/presentation/text_editors/single_line/editor.jsx","components/presentation/text_editors/single_line/index.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/table.jsx","redux/reducers/exam/content/questions/question/table/rows/row/selectors.js","components/pages/exam/_layout/content/panel/answer_panel/answer_boxes/table.jsx","temp/xams.UI.Utils/check-types/index.js","temp/xams.UI.Utils/check-types/methods/array/array-like.js","temp/xams.UI.Utils/check-types/methods/function/generator.js","custom/string-helper.js","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/blanks.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/drag_and_drop/blanks.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_boxes/blanks.jsx","components/pages/exam/_layout/content/panel/marks-chip.jsx","components/presentation/text_editors/rich/font-formats.js","components/presentation/text_editors/rich/editor.jsx","components/presentation/text_editors/rich/styles.js","components/presentation/text_editors/rich/index.jsx","components/presentation/text_editors/word-count.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/multi-text.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/multi-text-styles.js","redux/reducers/exam/content/questions/question/multi_text/parts/part/selectors.js","components/pages/exam/_layout/content/panel/answer_panel/answer_boxes/multi-text.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/ict.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_boxes/ict.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/static_text.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_boxes/static_text.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/form/form-confirmation.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/form/field/form-field-input.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/form/field/form-field-text-loading.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/form/field/form-field-text.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/form/field/form-field-value.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/form/field/form-field-text-area.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/form/field/form-field-calendar.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/form/field/form-field.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/form/select/form-select-radio.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/form/select/form-select-checkbox.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/form/select/form-select-checkbox-single.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/form/select/form-select-dropdown.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/form/select/form-select.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/form/button/form-button.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/form/button/form-file.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/form/form-image.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/form/form-hotspot.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/form/form-delay.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/form/form-cell.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/form/form-row.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/form/form-populated.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/form/form.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/form/form-answer-form.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_boxes/form.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/mcq_text/confirmation-dialog.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_forms/mcq_text/mcq-text.jsx","redux/reducers/exam/content/questions/question/radios-text/selectors.js","components/pages/exam/_layout/content/panel/answer_panel/answer_boxes/radios-text.jsx","components/pages/exam/_layout/content/panel/answer_panel/answer_boxes/unsupported.jsx","components/pages/exam/_layout/content/panel/answer_panel/get-answer-box.jsx","components/pages/_exam/initializing/initializing_exam/answer-initializer.jsx","machines/exam-init.js","components/pages/_exam/initializing/initializing_exam/view.jsx","components/pages/_exam/initializing/validating_schedule/can-start-checker.jsx","components/pages/_exam/initializing/validating_schedule/actions.js","components/layout/popup.jsx","components/pages/exam/initialization/close-error-button.jsx","components/pages/_exam/initializing/validating_schedule/completed-popup.jsx","components/pages/_exam/initializing/validating_schedule/cant-start-popup.jsx","components/pages/_exam/initializing/validating_schedule/completion-checker.jsx","components/pages/_exam/initializing/validating_schedule/initializing_schedule/actions.js","components/pages/_exam/initializing/validating_schedule/initializing_schedule/checker.jsx","components/pages/_exam/initializing/validating_schedule/initializing_schedule/fetcher.jsx","components/pages/_exam/initializing/validating_schedule/initializing_schedule/schedule-not-found-popup.jsx","components/pages/_exam/initializing/validating_schedule/initializing_schedule/view.jsx","components/pages/_exam/initializing/validating_schedule/password-requirement-checker.jsx","components/pages/_exam/initializing/validating_schedule/view.jsx","components/pages/_exam/initializing/checking_resources/pdf_check/pdf-browser-support.js","components/pages/exam/_presentation/text-panel.jsx","components/pages/_exam/initializing/checking_resources/pdf_check/pdf-check-buttons.jsx","components/pages/_exam/initializing/checking_resources/pdf_check/pdf-check-browser-icon.jsx","components/pages/_exam/initializing/checking_resources/pdf_check/pdf-check-panel.jsx","components/pages/_exam/initializing/checking_resources/resource-helper.js","components/pages/exam/_layout/side/panels/pdf_resource/pdf_js_viewer/pdf-js-backend.js","redux/reducers/cache/pdfs/selectors.js","components/pages/_exam/initializing/checking_resources/pdf_check/preload-pdf.jsx","components/pages/_exam/initializing/checking_resources/pdf_check/pdf-check-page.jsx","constants/proctoring.js","components/pages/_exam/initializing/checking_resources/proctoring/open-integrity-advocate.jsx","components/pages/_exam/initializing/checking_resources/proctoring/checking-proctorio.jsx","components/pages/_exam/initializing/checking_resources/view.jsx","components/pages/_exam/initializing/view.jsx","components/pages/exam/_layout/side/drawer.jsx","components/pages/exam/_layout/content/content-box.jsx","components/pages/exam/_layout/content/bar/drawer-icon-button.jsx","components/pages/exam/_layout/content/content-bar.jsx","components/pages/exam/_layout/constants.js","components/functional/get-dom-element.jsx","components/layout/scroll_wrapper/material-scroll-wrapper.jsx","components/pages/exam/_layout/content/content-panel.jsx","components/pages/exam/_layout/mobile.jsx","components/pages/exam/_layout/side/panel.jsx","components/functional/bounds-listener.jsx","components/pages/exam/_layout/desktop.jsx","components/functional/view-switcher.jsx","components/pages/exam/_layout/layout.jsx","components/pages/exam/_layout/content/bar/title.jsx","components/pages/_exam/initialized/intro/page/intro-title.jsx","components/layout/action_button/mobile.jsx","components/layout/action_button/desktop.jsx","components/layout/action_button/button.jsx","components/pages/_exam/initialized/intro/page/start-exam-button.jsx","redux/reducers/exam/messages/selectors.js","components/pages/exam/running/instructions-panel.jsx","components/pages/_exam/initialized/intro/page/return-to-schedules-button.jsx","components/pages/_exam/initialized/running/leave_resume_exam/full_screen/helper.js","components/pages/_exam/initialized/intro/page/index.jsx","redux/reducers/exam/content/mappings/mapping/selectors.js","redux/reducers/exam/content/mappings/selectors.js","redux/reducers/exam/content/mappings/helpers.js","redux/reducers/exam/content/helpers.js","redux/reducers/exam/content/complex-selectors.js","components/pages/_exam/initialized/intro/actions.js","components/pages/_exam/initialized/intro/commenced-checker.jsx","components/pages/_exam/initialized/intro/redirect-to-questions.jsx","components/pages/_exam/initialized/intro/start-activity-logger.jsx","components/pages/_exam/initialized/intro/public-exam.jsx","components/pages/_exam/initialized/intro/audio_check/title.jsx","components/functional/audio/audio-helper.js","components/functional/audio/audio-chip.jsx","components/pages/_exam/initialized/intro/audio_check/audio-check-panel.jsx","components/pages/exam/_layout/content/panel/content-helper.js","components/pages/_exam/initialized/intro/audio_check/settings.js","components/pages/_exam/initialized/intro/audio_check/audio-check-page.jsx","machines/exam-intro.js","components/pages/_exam/initialized/intro/machine.jsx","components/pages/_exam/initialized/intro/index.jsx","components/pages/_exam/initialized/outro/page/outro-title.jsx","components/pages/_exam/initialized/outro/page/close-button.jsx","components/pages/_exam/initialized/outro/page/outro-text-panel.jsx","components/pages/_exam/initialized/outro/actions.js","components/pages/_exam/initialized/outro/page/immediate-resit-button.jsx","components/pages/_exam/initialized/outro/page/learner-feedback-panel.jsx","components/pages/_exam/initialized/outro/page/index.jsx","components/hocs/exam_request_saver/context.js","components/hocs/exam_request_saver/index.jsx","redux/reducers/exam/time/selectors.js","components/pages/_exam/initialized/outro/exam-completer.jsx","components/pages/_exam/initialized/outro/finish-activity-logger.jsx","components/pages/_exam/initialized/outro/close-integrity-advocate.jsx","components/pages/_exam/initialized/outro/result-fetcher.jsx","components/pages/_exam/initialized/outro/page/download_results/progress-label.jsx","components/pages/_exam/initialized/outro/page/download_results/result-downloader.jsx","machines/exam-outro.js","components/pages/_exam/initialized/outro/machine.jsx","components/pages/_exam/initialized/outro/index.jsx","components/pages/_exam/initialized/running/exam-starter.jsx","components/pages/_exam/initialized/running/actions.js","components/pages/_exam/initialized/running/pause/pause-message.jsx","components/pages/_exam/initialized/running/pause/pause-image.jsx","components/pages/_exam/initialized/running/pause/paused-page.jsx","components/pages/_exam/initialized/running/pause/pause-manager.jsx","components/pages/_exam/initialized/running/playing_exam/instructions/resume-button.jsx","components/pages/_exam/initialized/running/playing_exam/instructions/instructions-title.jsx","components/functional/timer-debug.js","components/functional/timer.jsx","components/presentation/timer.jsx","redux/reducers/exam/complex-selectors.js","components/pages/exam/running/exam-timer.jsx","components/pages/exam/running/actions.js","components/pages/_exam/initialized/running/playing_exam/instructions/index.jsx","components/pages/_exam/initialized/running/playing_exam/questions/exam_popup/buttons/popup-button.jsx","components/pages/_exam/initialized/running/playing_exam/questions/exam_popup/buttons/confirm.jsx","utils/detokenize-message.js","constants/message-tokens.js","components/pages/_exam/initialized/running/playing_exam/questions/exam_popup/part-finished.jsx","components/pages/_exam/initialized/running/playing_exam/questions/exam_popup/buttons/cancel.jsx","components/pages/_exam/initialized/running/playing_exam/questions/exam_popup/exam-finish-confirm.jsx","components/pages/_exam/initialized/running/playing_exam/questions/exam_popup/exam-finish-confirm-2.jsx","components/pages/_exam/initialized/running/playing_exam/questions/exam_popup/part-finish-confirm.jsx","components/pages/_exam/initialized/running/playing_exam/questions/exam_popup/part-finish-confirm-2.jsx","components/pages/_exam/initialized/running/playing_exam/questions/exam_popup/practice-finish-confirm.jsx","components/pages/_exam/initialized/running/playing_exam/questions/exam_popup/practice-finish-confirm-2.jsx","components/pages/_exam/initialized/running/playing_exam/questions/exam_popup/index.jsx","components/pages/exam/_layout/content/panel/answer_panel/panel.jsx","components/pages/exam/_layout/content/panel/scenario_panel/scenario-text.jsx","components/layout/expansion-panel.jsx","components/pages/exam/_layout/content/panel/scenario_panel/panel.jsx","components/pages/exam/_layout/content/panel/question_panel/bookmarker.jsx","components/pages/exam/_layout/content/panel/question_panel/actions.js","components/pages/exam/_layout/content/panel/question_panel/section-text.jsx","components/pages/exam/_layout/content/panel/question_panel/question-text.jsx","components/pages/exam/_layout/content/panel/question_panel/question-intro.jsx","components/pages/exam/_layout/content/panel/question_panel/evidence-text.jsx","components/pages/exam/_layout/content/panel/question_panel/panel.jsx","components/pages/exam/_layout/content/panel/exam_state_panel/exam-state-card.jsx","components/pages/exam/_layout/content/panel/exam_state_panel/panel.jsx","components/pages/exam/_layout/content/panel/display_all_questions/question-number.jsx","components/pages/exam/_layout/content/panel/display_all_questions/display-all-questions-bar.jsx","components/pages/exam/_layout/content/panel/display_all_questions/actions.js","components/pages/exam/_layout/content/panel/display_all_questions/display-all-questions-panel.jsx","components/pages/exam/_layout/content/panel/exam_id_marker/exam-id-marker.jsx","components/pages/exam/_layout/content/panel/content.jsx","libs/api/interface/api-upload.js","components/pages/exam/_layout/side/panels/upload/services/upload-service.js","components/pages/exam/_layout/side/panels/upload/common.js","components/pages/exam/_layout/side/panels/upload/file-drag-and-drop.jsx","components/pages/exam/_layout/side/panels/upload/file-to-upload.jsx","components/pages/exam/_layout/side/panels/upload/files-to-upload-list.jsx","components/pages/exam/_layout/side/panels/upload/uploaded-file.jsx","components/pages/exam/_layout/side/panels/upload/uploaded-file-list.jsx","components/pages/exam/_layout/side/panels/upload/common-dialog-option.jsx","components/pages/exam/_layout/side/panels/upload/common-dialog.jsx","components/pages/exam/_layout/side/panels/upload/panel.jsx","components/pages/exam/_layout/side/panels/workings/constants.js","components/pages/exam/_layout/side/panels/workings/calculator-helper.js","components/pages/exam/_layout/side/panels/workings/workings.jsx","components/pages/exam/_layout/side/panels/workings/calculator-button.jsx","components/pages/exam/_layout/side/panels/workings/calculator-button-row.jsx","components/pages/exam/_layout/side/panels/workings/calculator-display.jsx","components/pages/exam/_layout/side/panels/workings/calculator.jsx","redux/reducers/exam/content/questions/question/workings/selectors.js","components/pages/exam/_layout/side/panels/workings/panel.jsx","components/pages/exam/_layout/side/panels/workings/actions.js","components/pages/exam/running/mini-question-navigation.jsx","components/pages/exam/running/questions_screen/finish-button.jsx","components/pages/exam/running/reading_screen/start-button.jsx","components/pages/exam/_layout/side/panels/pdf_resource/constants.js","components/pages/exam/_layout/side/panels/pdf_resource/document-loader.jsx","components/pages/exam/_layout/side/panels/pdf_resource/panel.jsx","components/pages/exam/_layout/side/panels/pdf_resource/pdf_js_viewer/pdf-js-panel.jsx","components/pages/exam/_layout/side/panels/pdf_resource/panel-pdf-js.jsx","components/pages/exam/_layout/side/panels/pdf_resource/index.jsx","components/pages/exam/_layout/side/panels/navigation/panel-title.jsx","components/pages/exam/_layout/side/panels/navigation/section-heading.jsx","components/pages/exam/_layout/side/panels/navigation/bookmark-icon.jsx","components/pages/exam/_layout/side/panels/navigation/actions.js","components/pages/exam/_layout/side/panels/navigation/question-button.jsx","components/layout/navigation_panel/results/result-panel.jsx","components/layout/navigation_panel/results/section-panel.jsx","components/layout/navigation_panel/results/panel.jsx","components/layout/navigation_panel/constants.js","components/layout/navigation_panel/sections/navigation-item.jsx","components/layout/navigation_panel/sections/panel.jsx","components/layout/navigation_panel/panel.jsx","components/pages/exam/_layout/side/panels/navigation/section-marks.js","components/pages/exam/_layout/side/panels/navigation/panel-content.jsx","components/pages/exam/_layout/side/panels/navigation/panel.jsx","components/pages/exam/running/questions_screen/instructions-button.jsx","components/pages/exam/running/questions_screen/print_static_text/print-static-text-dialog.jsx","components/pages/exam/running/questions_screen/print_static_text/print-static-text-button.jsx","components/pages/exam/exam_saver/time.jsx","components/pages/exam/exam_saver/multi-text.jsx","components/pages/exam/exam_saver/question.jsx","components/pages/exam/exam_saver/index.jsx","components/pages/_exam/initialized/running/playing_exam/questions/actions.js","components/pages/_exam/initialized/running/playing_exam/questions/page.jsx","utils/routing-blocker.js","components/pages/_exam/initialized/running/playing_exam/questions/index.jsx","custom/stack.js","libs/browser_storage/apis/users.js","libs/browser_storage/apis/exams.js","libs/browser_storage/apis/request-log-mappings.js","libs/browser_storage/apis/network-request-log.js","components/pages/layout/app_bar/bug_reporter/popup/query-logs.js","libs/browser_storage/apis/scheduled-bug-reports.js","components/pages/_exam/initialized/running/playing_exam/connection-loss-notifier.jsx","machines/exam-running.js","components/pages/_exam/initialized/running/playing_exam/view.jsx","components/pages/_exam/initialized/running/machine.jsx","components/pages/_exam/initialized/running/leave_resume_exam/full_screen/error.jsx","components/pages/_exam/initialized/running/leave_resume_exam/full_screen/full-screen-dialog.jsx","components/pages/_exam/initialized/running/leave_resume_exam/leave-resume-exam.jsx","libs/api/interface/api-dash.js","components/pages/_exam/initialized/running/pause/exam-pause-notifier.jsx","components/pages/_exam/initialized/running/page.jsx","components/pages/_exam/initialized/redirect-to-intro.jsx","components/pages/_exam/initialized/router.jsx","components/pages/_exam/initialized/page.jsx","components/pages/_exam/machine.jsx","components/pages/_exam/page.jsx","libs/api/interface/api-e-learning.js","components/pages/e_learning/helper.jsx","components/pages/e_learning/course/constants.js","components/pages/e_learning/course/reset-scorm-button.jsx","components/pages/e_learning/course/go-schedules-button.jsx","components/pages/e_learning/course/title.jsx","components/pages/e_learning/course/play-scorm-button.jsx","components/pages/e_learning/course/scos.jsx","components/pages/e_learning/course/save-counter.js","components/pages/e_learning/course/full-screen.js","components/pages/e_learning/course/play-sco.jsx","components/pages/e_learning/course/info-message.jsx","components/pages/e_learning/course/complete-message.jsx","components/pages/e_learning/course/course.jsx","components/pages/e_learning/course/page.jsx","components/pages/admin/admin-page.jsx","components/pages/rubric/form-styles.js","components/pages/rubric/confirm-dob.jsx","components/pages/rubric/confirm_learner_identifier/learner-identification-helper.jsx","components/pages/rubric/confirm_learner_identifier/confirm-learner-identifier-text.jsx","utils/message-helper.js","components/pages/rubric/confirm_learner_identifier/confirm-learner-identifier.jsx","components/pages/rubric/form.jsx","machines/rubric.js","components/pages/rubric/machine.jsx","components/pages/rubric/page.jsx","components/pages/schedules/form/styles.js","components/pages/schedules/form/clock.jsx","components/pages/schedules/form/item.jsx","redux/reducers/elearning/selectors.js","components/pages/e_learning/elearning-schedule.jsx","components/pages/e_learning/elearning-completed-switch.jsx","components/pages/e_learning/elearning-schedules.jsx","components/pages/e_learning/actions.js","components/pages/e_learning/styles.js","components/pages/schedules/form/index.jsx","components/pages/schedules/initializing_schedules/page.jsx","components/pages/schedules/initializing_schedules/schedules-clearer.jsx","components/pages/schedules/initializing_schedules/actions.js","components/pages/schedules/initializing_schedules/e-learning.js","components/pages/schedules/initializing_schedules/schedules-fetcher.jsx","machines/schedules.js","components/pages/schedules/initializing_schedules/view.jsx","components/pages/schedules/machine.jsx","components/pages/schedules/page.jsx","components/pages/activity_logs/activity-log-table.jsx","libs/activity_logger/activity-logger-reset.js","components/pages/activity_logs/activity-logs.jsx","components/pages/activity_logs/activity-log.jsx","components/pages/inactivity-detector.jsx","components/pages/network-request-logger.jsx","components/pages/scheduled-bug-report-sender.jsx","components/hocs/exam_request_saver/exam-api-queue.js","components/hocs/exam_request_saver/provider-activity-logger.js","components/hocs/exam_request_saver/provider.jsx","components/hocs/exam_request_saver/actions.js","components/pages/proctorio/redirect/redirect-to-proctorio.jsx","components/pages/proctorio/redirect/cant-redirect-popup.jsx","machines/proctorio-redirect.js","components/pages/proctorio/redirect/redirect-machine.jsx","components/pages/proctorio/redirect/redirect-machine-page.jsx","components/pages/proctorio/end/end-page.jsx","components/pages/session-page-router.jsx","components/pages/session-page-wrapper.jsx","components/pages/app_initialization/initializing/no-client-page.jsx","components/pages/app_initialization/initializing/logo-preloader.jsx","libs/api/interface/api-config.js","components/pages/app_initialization/initializing/settings-initializer.jsx","components/pages/app_initialization/initializing/actions.js","components/pages/app_initialization/initializing/initializing_client/session-loader.jsx","components/pages/app_initialization/initializing/initializing_client/session-verifier.jsx","components/pages/app_initialization/initializing/initializing_client/login-url-checker.jsx","components/pages/app_initialization/initializing/initializing_client/login-url-initializer.jsx","machines/init.js","components/pages/app_initialization/initializing/initializing_client/view.jsx","components/pages/app_initialization/initializing/validating_app_settings/browser_checker/check-version-support.js","components/pages/app_initialization/initializing/validating_app_settings/browser_checker/check-browser-support.js","components/pages/app_initialization/initializing/validating_app_settings/browser_checker/index.jsx","components/pages/app_initialization/initializing/validating_app_settings/unsupported_browser/constants.js","components/pages/app_initialization/initializing/validating_app_settings/unsupported_browser/supported-browser.jsx","components/pages/app_initialization/initializing/validating_app_settings/unsupported_browser/sort-supported-browsers.js","components/pages/app_initialization/initializing/validating_app_settings/unsupported_browser/index.jsx","components/pages/app_initialization/initializing/validating_app_settings/view.jsx","components/pages/app_initialization/initializing/view.jsx","components/pages/app_initialization/machine.jsx","components/pages/app_initialization/actions.js","components/presentation/loading-text.jsx","components/pages/app_initialization/page.jsx","components/pages/page-router.jsx","components/pages/layout/app_bar/logo.jsx","components/pages/layout/app_bar/bug_reporter/popup/form/user-selector.jsx","components/pages/layout/app_bar/bug_reporter/popup/form/exam-selector.jsx","components/pages/layout/app_bar/bug_reporter/popup/form/date-time-selector.jsx","components/pages/layout/app_bar/bug_reporter/popup/form/index.jsx","components/pages/layout/app_bar/bug_reporter/popup/submit-button.jsx","components/pages/layout/app_bar/bug_reporter/popup/cancel-button.jsx","components/pages/layout/app_bar/bug_reporter/popup/index.jsx","components/pages/layout/app_bar/bug_reporter/button.jsx","components/pages/layout/app_bar/bug_reporter/index.jsx","components/pages/activity_logs/activity-reporter.jsx","components/pages/proctorio/proctoring-indicator.jsx","components/pages/layout/app_bar/logout-button.jsx","redux/reducers/theme/selectors.js","components/pages/layout/app_bar/theme-selector-item.jsx","components/pages/layout/app_bar/theme-selector.jsx","components/pages/layout/app_bar/version-number.jsx","components/pages/layout/app_bar/constants.js","components/pages/layout/app_bar/app-bar.jsx","components/pages/layout/page-wrapper.jsx","components/contexts/app_page/provider.jsx","components/pages/app-page.jsx","components/app.jsx","components/app-theme.jsx","components/app-route-blocker.jsx","components/app-router.jsx","components/error-logger.jsx","components/network-error-browser-navigation.jsx","components/app-wrapper.jsx","index.js","../node_modules/pdfjs-dist/build sync"],"names":["getTimeStamp","Date","toISOString","incrementTimeStamp","timeStamp","moment","add","initialState","initialized","networkError","networkErrorInfo","offlineReason","Immutable","combineImmutableReducers","ownReducer","childReducerMappings","reducer","undefined","check","function","validateReducerType","mappings","object","of","validateMappingsType","state","arguments","length","action","Object","keys","forEach","key","_state","get","_reducer","set","CACHE_REDUCER","images","ImmutableMap","type","imageUrl","blobUrl","pdfs","pdfUrl","CLEAR","reducerMapping","credentials","value","ACTION_TYPES","delete","REMOVE_SESSION","name","options","path","domain","maxAge","expires","secure","sameSite","preformattedCookie","nonEmptyString","validateCookieName","push","concat","string","validateCookieValue","assigned","startsWith","validateCookiePath","indexOf","validateCookieDomain","integer","validateCookieMaxAge","NaN","parse","validateCookieExpires","date","toUTCString","boolean","validateCookieSecure","validateCookieSameSite","document","cookie","join","cookies","decodeURIComponent","split","map","trim","cookieIndex","findIndex","substring","this","objectSpread","StorageApi","storageObject","classCallCheck","storage","toConsumableArray","initializeDefaultStorageValues","_this","emptyKeys","resetDataFor","validateStorageExists","serializedState","getItem","alert","JSON","data","stringify","setItem","_this2","storageTypes","includes","_this3","filter","KEYS","USER","TOKENS","CLIENT_SESSION","CLIENT_SETTINGS","EXTERNAL_EXAM","EXTERNAL_SCHEDULE","STUDENT_LOGIN","STUDENT_LOGIN_DETAILS","STUDENT_LOGIN_RESPONSE","STUDENT_REFERRER","sessionStorageApi","window","sessionStorage","values","freeze","handleSessionLoad","externalSessionData","URLSearchParams","location","search","user","saveDataTo","loadFromQueryString","retrieveDataFrom","client","SAVE_TOKENS","ENDPOINTS","PING","ORGS","LOG_ERROR","BUG_REPORT","LOGOUT","ABANDON_SESSION","AUTHENTICATION","LOGIN_TOKEN","ADMIN_LOGIN","INIT","MESSAGES","TIME","SETTING","ASCX","SET_PASSWORD_TOKEN","CHECK_LOCAL","CHECK","SET","RESET","PASSWORD","FORGOT","GET_LOGIN_DATA","SCHEDULE","FETCH","WORK","CAN_START","VERIFY_PASSWORD","ASSESSMENT","START","COMPLETE","GET_RESULT","IS_COMPLETE","SAVE_TIME","SAVE_ANSWER","SAVE_ACTIVITY_LOG","PRINT_STATIC_TEXT","UPLOAD","DATABASEINFO","FILES","DELETE","DOWNLOAD","ELEARNING","COURSE","QUERY","INFO","SCORM","GET","SAVE","PROCTORING","GET_PROCTORIO_LAUNCH_URL","DASH","EVENTS","STATUS_CODES","REQUEST_TYPES","POST","OAUTH","ID","SECRET","GRANT_TYPES","REFRESH","GENERIC_ERRORS","DOUBLE_LOGIN","DOUBLE_LOGIN_THROW","UNAUTHORIZED","ApiRequest","endpoint","retries","id","IdGenerator","uuid","payload","checkErrorRequest","responseType","progressListener","checkRequestError","params","emptyObject","finalParams","entries","_ref","_ref2","slicedToArray","paramName","paramValue","cutOffIndex","lastIndexOf","slice","createEndpointParams","PRODUCABLE_ERROR_CODES","HttpRequest","token","shouldErrorOut","errorFrequency","random","requestType","onload","onerror","runMockErrorRequest","runOrdinaryRequest","request","XMLHttpRequest","timeout","ontimeout","upload","addEventListener","e","loaded","runDeleteRequest","runPostRequest","runGetRequest","status","errorCode","randomIndex","getRandomErrorCode","response","getAllResponseHeaders","open","tokenizeRequest","send","endPoint","FormData","toLowerCase","formifyRequest","stringifyPayload","jsonifyRequest","args","setRequestHeader","apply","_step","s","_iterator","_createForOfIteratorHelper","n","done","pair","err","f","frequency","_callee","asyncFunction","maxAttempts","handleError","latestError","i","_args","regenerator_default","a","wrap","_context","prev","next","sent","abrupt","t0","stop","USERS","EXAMS","EXAM_QUEUES","NETWORK_REQUEST_LOG","REQUEST_LOG_MAPPINGS","FAILED_EXAM_REQUESTS","SCHEDULED_BUG_REPORTS","localStorageApi","localStorage","isGenericErrorType","genericErrorTypes","genericErrorType","some","errorType","REQUEST_STATES","isAdminLogin","ending","endpointUrl","Api","hubpointUrl","refreshToken","genericErrorHandlers","handleRequestError","bind","errorObj","listeners","apiRequest","setCheckRequestError","setProgressListener","setPayload","makeRequest","setResponseType","emitEvent","Promise","resolve","reject","asyncRequest","sendRequest","tryAtMost","then","result","catch","error","getEndpoint","beginning","getBeginning","authenticationUrl","createEndpoint","getPayload","httpRequest","ResponseType","onError","OnError","OnLoad","getResolverObject","onSuccess","NetworkErrorConfiguration","networkErrorConfiguration","Payload","run","handlers","genericError","handler","hasOwnProperty","index","splice","listener","_this4","failedResponse","event","statusCode","responseHeaders","_this5","concatParams","hubConnection","signalR","withUrl","configureLogging","Debug","withAutomaticReconnect","build","startHub","findFileName","contentDisposition","getResponseHeader","replace","match","blob","fileName","_callee2","connection","_context2","start","console","log","api","saveTokensToApi","access","refresh","RefreshToken","Token","handleTokenLoading","SESSION_REDUCER","orgId","urlToken","handleSessionCreation","tokens","tokenData","handleTokenSaving","guid","firstName","lastName","languageId","dateOfBirth","admin","learnerIdentifier","email","ADD_SCHEDULE","SCHEDULE_REDUCER","SCHEDULES_ACTION_TYPES","info","examName","examGuid","objectGUID","examTypeGuid","objectTypeGUID","scheduleType","startDt","startDateTime","startDtFmt","formattedStartDateTime","completeDt","completedDateTime","completeDtFmt","formattedCompletedDateTime","commenced","completed","practice","version","requiresPassword","proctorProvider","proctoringSessionID","objectID","qualificationID","cantStartMessage","practiceExtraTime","scheduleId","scheduleUserId","scheduleUserID","message","showCompleted","showCourseInfo","elearning","entered","parent","clientName","userInfo1","userInfo2","completedExamGuid","debug","calling","MESSAGES_REDUCER","general","session","SET_EXAM_DATA","TypeException","validateAsObject","obj","validateAsString","str","validateAsArray","arr","array","bool","num","number","getProp","prop","props","currentLevel","SET_CURRENT_QUESTION_ID","SET_COMPLETE","SET_TIME_REMAINING","SET_READING_TIME_REMAINING","SET_AUDIO_ELAPSED","SET_AUDIO_STATE","extractMessage","serverMessageObject","SECTION_REDUCER","EXAM_ACTION_TYPES","withMutations","mutableState","TEXT","parseInt","INTROTEXT","getDisplayAllQuestions","mediaUrl","mediaObj","url","autoPlay","canPause","duration","elapsed","getMediaProperties","isOneWay","timeData","sectionTime","readingTime","totalTime","totalTimeRemaining","sectionTimeRemaining","readingTimeRemaining","warningTime","canBypassReadingTime","extractTimeData","media","populateSections","taskGroups","nonEmptyArray","taskGroup","nestedTaskgroups","nestedPaperParts","createMapping","mappees","ImmutableList","mappee","MAPPING_REDUCER","SET_LOCAL_ANSWER","SET_SERVER_ANSWER","TOGGLE_BOOKMARK","CHANGE","ROW_REDUCER","x","ROWS_REDUCER","rowData","rowAction","createRows","TABLE_QUESTION_REDUCER","showAnswerInputField","noOfAnswerLines","answerLabel","columnCount","rowsData","rowsAction","handleSetExamData","OPTION_REDUCER","optionText","OPTIONS_REDUCER","createOptions","COMBO_QUESTION_REDUCER","LABEL","optionsData","optionsAction","RADIOS_QUESTION_REDUCER","validateMinMax","min","max","randomFloat","Math","randomize","floor","randomInteger","shuffle","shuffledArray","swapIndex","swapValue","WORDS_WITH_SQUARE_BRACKETS","isVariable","text","charAt","charCodeAt","serverAnswerText","ANSWERTEXT","answerText","startingPosition","returnText","startBracket","substr","endBracket","toLocalAnswerText","unshuffledOptions","option","extractOptions","variableOptions","BLANKS","BLANK","reduce","blank","OPTIONS","OPTION","extractVariableOptions","FILL_IN_BLANKS_QUESTION_REDUCER","CHECKS_QUESTION_REDUCER","PART_REDUCER","partData","partText","PARTS_REDUCER","createParts","MULTI_TEXT_QUESTION_REDUCER","partsData","partsAction","showWordCount","totalWorkingLines","total","LONG_TEXT_QUESTION_REDUCER","optionData","createRandomizedSelections","selectionData","SELECTION_REDUCER","MATCH_QUESTION_REDUCER","subData","subAction","SELECTIONS_REDUCER","WORKINGS_REDUCER","WORKINGS","SET_ASCX_HTML","ASCX_QUESTION_REDUCER","ascxProperties","ASCXPROPERTY","property","propType","default","html","ICT_QUESTION_REDUCER","answer","STATIC_TEXT_QUESTION_REDUCER","FORM_TYPES","FORM_FIELD_TYPES","INPUT","TEXT_AREA","DATE","VALUE","CALENDAR","FORM_SELECT_TYPES","RADIO","CHECKBOX","CHECKBOX_RADIO","DROPDOWN","DROPDOWN_MULTI","FORM_SEPERATORS","getString","nonEmptyObject","extractFromString","toExtract","extracted","remaining","b","found","stringName","stringValue","j","getFormData","styleString","_extractFromString","formData","style","rows","getRows","rowState","rowStates","rowStateDefault","setRowStates","getRowStates","getSetRowStates","item","parts","rowStateNameStart","rowNameStart","end","isNaN","rowStateName","rowName","row","getRow","_extractFromString2","width","height","cells","getCells","cell","getCell","cellData","components","getCellProperty","getComponents","rootValue","cellProperties","component","getComponent","componentData","componentType","_extractFromString3","getComponentExtractVariables","left","top","getFieldComponent","getSelectComponent","getButtonComponent","getFileComponent","getImageComponent","getHotspotComponent","getDelayComponent","variables","fieldType","startingValue","getTextStartingValue","getOptions","selectType","_field","field","src","delay","FORM_QUESTION_REDUCER","RADIOS_TEXT_QUESTION_REDUCER","lines","otherText","CHECKS","COMBO","MATCH","MULTI_TEXT","RADIOS","TABLE","ICT","RADIOS_TEXT","SENT_EXAMS","STUDENT_ACTIVITY","UPLOAD_FILES","dbStorageApi","DBApi","lastID","dbs","initialize","initializeDB","db","PouchDB","viewCleanup","records","record","doc","remove","getDB","isSameOrBefore","newRecord","_id","put","lastId","bulkDocs","getRev","allDocs","include_docs","_results","_rev","compact","file","attachments","destroy","questionNumber","encryptValue","_value","_obj","removeTypeFromValue","textValue","btoa","unescape","encodeURIComponent","decryptValue","atob","displayToConsole","text1","text2","text3","getActivityTypeName","ACTIVITIES","activityType","activityName","assessmentApi","getExamSchedule","userGuid","proctoringMode","getExamScheduleWork","showCompletedCourses","saveExamTime","formRunGuid","timeRemaining","elapsedTime","page","IsFromLocalStorage","ClientTime","post","getExam","scheduleGuid","versionNumber","extraTime","examObjectTypeGuid","canExamStart","checkExamPassword","password","startExam","publicExamUserName","appVersion","publicUserName","playerVersion","finishExam","examTimeRemaining","saveActivityLog","saveAnswer","resetSchedule","getResult","isComplete","properties","parameters","expression","getProctorioLaunchUrl","userID","proctorSessionID","host","getPrintStaticTextUrl","postPrintStaticTextUrl","activityLoggerSent","ActivityLoggerSent","exams","reSend","retrieveAll","exam","hasBeenSent","needToSave","sentDate","format","rev","formRunGuids","deletedItems","_deleted","compactDB","getExpiredDate","currentDate","expired","subtract","removeFormRunGuid","activity","_activity","maintainActivityLog","activities","totalRecords","date1","date2","isActivityOnAnotherDay","FINISH_EXAM","finish","uploadOutstandingActivities","deleteExpiredExams","formRunGuidsChecked","deletedActivities","formRunGuidsToCheck","onComplete","alreadyCheckedFormRunGuids","recordsToDelete","expiredDate","hasActivityDateExpired","ActivityLoggerQuestion","_activityTypes","activityTypes","QuestionActivity","canSave","save","setFormRunGuid","reset","setMode","_mode","_activityType","saveOnCounter","timer","lastDBValue","saveCounter","mode","saveToDB","resetBeforeSave","_reset","setTimer","setTimeout","timedOut","clearTimer","clearTimeout","isEqual","_formRunGuid","doSetTimer","LOCAL_ANSWER","SERVER_ANSWER","MOVE_QUESTION","MOVE_NEXT_QUESTION","MOVE_PREVIOUS_QUESTION","START_EXAM","TIMED_OUT","RESUME_EXAM","SET_FORM_RUN_GUID","MOVE_SECTION","OFFLINE","ONLINE","UPLOAD_ONLINE","UPLOAD_OFFLINE","DELETE_UPLOAD_ONLINE","DELETE_UPLOAD_OFFLINE","CONFIRM_POPUP","DISPLAY_POPUP","POPUP_ERROR","EXAM_TIMER","FULL_SCREEN","CHANGE_SYSTEM_TIME","activityLogger","ActivityLogger","navigation","previewMode","lastType","initialised","maintained","noFormRunGuid","currentQuestion","initialiseActivityLog","isInitialised","initialise","isLogging","moveNextOrPreviousQuestion","setNavigation","finishOrMoveQuestion","addToDB","updateFormRunGuid","items","ensureUniqueIDS","_item","formRunGuidObj","_previewMode","commonProperties","marks","dragAndDrop","resourceUrl","requiresWorkings","requiresCalculator","introText","disabled","bookmarked","versionId","extractCommonQuestionProperties","questionType","QUESTION_TYPES","getQuestionReducer","questionReducer","QUESTION_REDUCER","WORKINGS_ACTION_TYPES","workingsState","populateQuestions","questions","question","questionActionTypes","QUESTION_ACTION_TYPES","CONTENT_REDUCER","setFromQuestion","sections","SECTION_ACTION_TYPES","sectionData","paperParts","questionState","questionId","delegateToQuestionReducer","populateQuestionsFromSections","section","_sections","EXAM","populateMappings","EXAM_REDUCER","pausedProperty","paused","examProperties","time","examTime","EXAMPROPERTIES","content","messages","outroText","proctoredOutroText","extractMessageData","totalMarks","score","grade","passed","allowImmediateResit","resultStillBeingProcessed","ColorHelper","color","chroma","valid","initializeMethods","getShades","step","range","shades","contrast","configuration","_configuration$step","contrastingColor","contrastingShade","shadeContrastValue","shade","newContrastValue","color1","hex","color2","contrastRange","multi_contrast","single_contrast","COLOR_NAMES","PRIMARY","SECONDARY","ERROR","BACKGROUND","DEFAULT_THEME","_DEFAULT_THEME","defineProperty","colorNames","requiredColorNames","validateConfig","config","colorName","every","ThemeConfig","initializeBaseColors","leadingColorName","getLeadingColorName","trailingColorName","getTrailingColorName","primary","secondary","background","offsetExtremeColors","generateMissingColors","tryOffsetExtremeColor","colorValue","lightness","darken","brighten","generateBackgroundColor","generateLeadingColor","generateTrailingColor","generateErrorColor","colorHelper","leadingColor","colorAfterMix","mix","ASSISTIVE_THEMES","_ASSISTIVE_THEMES","extractThemes","themes","primaryColour","secondaryColour","Default","extractThemesFromPrimarySecondaryColors","themeName","themeConfig","generateTheme","handleSettingsLoad","settings","setPreviewMode","fromJS","SETTINGS_REDUCER","app","json","useResetScheduleCheat","supportedBrowsers","pdfSupportedBrowsers","useInactivityTimer","apiEndpointUrl","hubEndpointUrl","hubUrl","scormServer","adminUrl","produceRandomNetworkErrors","active","logoUrl","logo","appBarLogoUrl","appBarLogo","uploadFileTypesAllowed","demoMode","canDownloadResult","downloadResult","proctoringType","enableForgottenPassword","legacySingleSignon","handleSettingsCreation","uploadFileTypes","ROOT_REDUCER","combineReducers","offline","reason","update","reasons","cache","login","stateProperty","schedules","scheduleIndex","scheduleState","proctorio","theme","LOG_TYPES","IMPORTANT","UNIMPORTANT","TEMP","MODES","environment","shouldLog","Console","toLog","dir","_console","exception","_console2","store","errorApi","detectBrowser","_detect","detect","os","Version","create","browser","Browser","getAppData","getCacheData","getSessionData","getLoginData","getSchedulesData","getElearningData","getProctorioData","getExamData","getMessagesData","getThemeData","getSettingsData","getUserSessionData","sessionData","getClientSessionData","getUserId","userSessionData","getUserGuid","getLanguageId","getFirstName","getLastName","getDateOfBirth","getLearnerIdentifier","isAdmin","getName","getPublicExamUserName","getOrgId","clientSessionData","getUrlToken","errorLogger","ErrorLogger","previousState","stateChanges","currentState","_detectBrowser","orgID","errorMessage","stackTrace","getInfo","siteId","centreId","toJS","EXEMPT_FROM_SNAPSHOTS","snapshotStore","oldState","getState","returnValue","newState","diffImmutable","logToConsole","setAppState","inactivityManager","InactivityManager","EXEMPT_FROM_ACTIVITY_CHECK","SET_SECTION_TIME_REMAINING","SET_SECTION_READING_TIME_REMAINING","timeoutId","tryClearTimeout","createTimeout","notifyInactivity","detectInactivity","storeState","hasUserSession","shouldResetTimer","MessagesContext","React","createContext","getMessageById","generalMessageData","messageId","getGeneralMessageData","messagesData","getSessionMessageData","generalMessage","GENERAL_SELECTORS","sessionMessageData","SESSION_SELECTORS","MessagesProvider","children","react_default","createElement","Provider","messagesContextSelector","createSelector","_","messageIds","messageIdsSelector","generalMessageIds","keySeq","toArray","sessionMessageIds","connect","MachineContext","Component","StateView","possibleConstructorReturn","getPrototypeOf","call","parentStateName","delegateYield","getActiveStateNames","onEnter","onExit","activeStateNames","context","viewMappings","state_view_createForOfIteratorHelper","getView","contextType","StateControl","_this$props","getControl","events","objectWithoutProperties","createTransitionCallbacks","callbacks","validateEvent","createTransitionCallback","transition","StateMachine","current","InitialState","initializeBoundMethods","resetState","applyStateTransition","machine","nextState","setState","onChange","MachineContextValue","previousProps","initial","getCredentialData","loginData","getLoginError","getUsername","loginCredentialsData","getPassword","setUsername","setPassword","clearCredentials","LOGIN_CREDENTIALS_ACTION_TYPES","setLoginError","createUserSession","saveTokens","TOKEN_ACTION_TYPES","LoginValidator","clearLoginError","isFormValid","onFail","u","p","dispatch","toOauthPayload","grant_type","client_id","client_secret","refresh_token","append","toFormData","authenticationApi","requestAuthentication","refreshApiToken","abandonUserSession","userGUID","logoutUser","checkLoginToken","checkSetPasswordToken","resetPassword","adminLogin","getLoginToken","loginToken","getSetPasswordToken","setPasswordToken","getSetPasswordUserDetails","getLogoutPage","logout","loginTokin","referrer","server","getServerName","MESSAGE_IDS","GENERAL","CONFIRM_ACTION","CONFIRM","CANCEL","CLOSE","NUMBERS","BACK","RESUME","PAUSED","FINISH","LOG_OFF","MARKS","MARK","NEXT","PREVIOUS","BROWSER_NAV_INTERRUPTED","LOGIN","APP_BAR_TITLE","TITLE","USERNAME","MESSAGE","BUTTON","WRONG_PASSWORD","SUSPENDED","INVALID_LOGIN_TOKEN","FORGOTTEN_PASSWORD","RETURN","SUBMIT","SUBMITTING","SUCCESS","SET_PASSWORD","NO_MATCH","INVALID_PASSWORD","RETYPE","RESET_PASSWORD","COMPLETE_RETURN","RUBRIC","CONFIRM_NAME","CONFIRM_INSTRUCTIONS","INTRO","COMPLETED","START_TIME","PASSWORD_PROMPT","APP_BAR","WELCOME","ASSESSMENT_COMPLETE","FINISH_CONFIRM_TITLE_1","FINISH_CONFIRM_TITLE_2","FINISH_CONFIRM_INFO_1","FINISH_CONFIRM_INFO_2","FINISH_CONFIRM_PART_TITLE_1","FINISH_CONFIRM_PART_TITLE_2","FINISH_CONFIRM_PART_INFO_1","FINISH_CONFIRM_PART_INFO_2","FINISH_CONFIRM_PRACTICE_TITLE_1","FINISH_CONFIRM_PRACTICE_TITLE_2","FINISH_CONFIRM_PRACTICE_INFO_1","FINISH_CONFIRM_PRACTICE_INFO_2","FINISH_PAPER_PART_ALERT_TITLE","FINISH_PAPER_PART_ALERT_INFO","RETURN_TO_EXAM","RETURN_HOME","PROGRESS","INSTRUCTIONS","CANT_START","SCENARIO_HEADING","ALREADY_COMPLETED","PAUSED_TITLE","CONFIRM_RESUME","CONFIRM_RESUME_TITLE","CANT_NAVIGATE","SIT_NEXT_RESIT","PAPER_PART_NAV_INTERRUPTED","QUESTION_NAV_TITLE","START_ANSWERING","MULTITEXT_MAX_CHARACTERS","PROCTORING_EXAM_OUTRO_MULTI","PROCTORING_EXAM_OUTRO_SINGLE","PROCTORING_INTEGRITY_ADVOCATE_EXAM_OUTRO_MULTI","PROCTORING_INTEGRITY_ADVOCATE_EXAM_OUTRO_SINGLE","PROCTORING_INTEGRITY_ADVOCATE_EXAM_OUTRO_PRACTICE","CONFIRM_MULTI_TEXT_OPTION_CHANGE","SESSION","INACTIVITY","DOUBLE_LOGIN_HEADING","PRACTICE_DOWNLOAD","ERRORS","NETWORK_ERROR_TITLE","NETWORK_ERROR_SUBHEADER","EXAM_COMPLETER_OFFLINE_TITLE","EXAM_COMPLETER_OFFLINE_MESSAGE","PDF_CHECK","SUPPORTED","NOT_SUPPORTED","OTHER_SUPPORTED","CONTINUE","AUDIO","TEST_PAGE","allMessageIds","messageGroup","Set","size","getGeneralMessageIds","getSessionMessageIds","messageNotDefined","getScreenResolutionString","_getScreenResolutionD","_window","screen","devicePixelRatio","cssWidth","cssHeight","css","pixelRatio","getScreenResolutionData","cssResolution","actualResolution","LoginAuthenticator","username","screenRes","userAgent","navigator","loginTokenOk","parsedResponse","access_token","userLanguageId","UserLanguageID","userId","UserID","UserGUID","userFirstName","UserFirstName","userLastName","UserLastName","DOB","Admin","NINumber","Email","clearFormData","suspended","suspendedText","wrongPasswordText","clearPassword","onFailLoginToken","doesOrgNeedLoginToken","UserTypeID","userTypeId","doesUserNeedLoginToken","invalidLoginTokenText","ACTIONS","msg","Callback","onCreate","onMount","onUnmount","SetNetworkError","XStateConfig","_name","_states","_transitions","_initialState","stateName","stateConfig","evt","nextStateName","on","states","toObject","STATES","UNFILLED","SUBMITTABLE","SUBMITTED","SUBMISSION_FAILED","SUBMISSION_ERROR","SUBMITTING_STATES","VALIDATING_FORM","SUBMITTING_FORM","CAN_SUBMIT","CANT_SUBMIT","FAIL","validatingForm","addTransition","submittingForm","unfilled","submittable","submitting","addState","submissionFailed","submissionError","submitted","_form","Machine","form","renderOtherViews","onFinish","state_view_StateView","state_control_StateControl","validator_LoginValidator","authenticator_LoginAuthenticator","SubmittingView","callback","styles","spacing","breakpoints","palette","layout","display","marginLeft","unit","marginRight","up","overflowY","card","position","marginTop","backgroundColor","light","padding","cardContent","flexDirection","alignItems","paperContent","formText","contrastText","formInputText","submit","submitDisabled","loginInfo","errorContainer","main","errorIcon","logoBox","marginBottom","overflow","maxWidth","input","&:-webkit-autofill","inputUnderline","&:before","borderBottom","forgotten","justifyContent","cursor","getAppSettingsData","settingsData","getClientSettingsData","isBitSet","bitPosition","getLogoUrl","clientSettingsData","getAppBarLogoUrl","getProctoringMode","getProctoringType","getPreviewMode","getDemoMode","getIsDownloadablePracticeExam","getCanDownloadResult","getThemesData","getCalculatorEvaluationMode","getConfirmDobMode","getConfirmLearnerIdentifierMode","getHideSectionNamesInPlayer","getEnableForgottenPassword","getShowQuestionIdInPlayer","getCachedImageData","cacheData","getCachedPdfData","getCachedUrl","cachedImagesData","Image","imgProps","newImgProps","pointerEvents","userSelect","_ref3","cachedImageData","cachedUrl","withMessages","Consumer","assign","htmlAttributesToProps","htmlAttributes","attributeName","propName","attributeToPropName","isStyle","attributeValue","propValue","cssString","postCssRootInstance","postCss","postCssJs","objectify","cssToReactStyle","isValidNode","htmlParser","Parser","nodeProcessingDefinitions","ProcessNodeDefinitions","processingInstructions","shouldProcessNode","node","processNode","attribs","processDefaultNode","htmlToReact","emptyString","createError","parseWithInstructions","MaterialText","typographyProps","isHtml","openTagIndex","isHtmlText","container","_text","getSpaceOutReg","finalText","Typography_default","getFlexAlignment","Align","right","bottom","SIZES","xs","sm","md","lg","xl","LoadingSpinner","modalProps","disableModal","disableBackdropClick","disableEscapeKeyDown","hideBackdrop","Fragment","Modal_default","align_Align","CircularProgress_default","defaultProps","loginMessageId","loginTitleMessageId","usernameMessageId","loginButtonMessageId","passwordMessageId","forgottenPasswordMessageId","LoginForm","userInput","passwordInput","onFieldChange","filled","isFormFilled","_this2$props","onCanSubmit","onCantSubmit","onSubmit","preventDefault","saveUsername","savePassword","checkForAutofill","count","intervalId","setInterval","clearInterval","handleForgottenPassword","_this2$props2","history","showSpinner","focus","Fade_default","in","onEntered","className","classes","loading_spinner_LoadingSpinner","Card_default","raised","CardContent_default","Branding","Title","Form","label","inputElement","FormControl_default","margin","required","fullWidth","InputLabel_default","htmlFor","isFieldFilled","getComputedStyle","image_Image","alt","material_text_MaterialText","variant","UserInput","PasswordInput","ErrorPanel","LoginButton","InfoPanel","ForgottenPassword","inputProps","BasicInputProps","inputRef","getFormInput","Input_default","autoComplete","disableInputs","underline","errorText","Warning_default","disableSubmit","Button_default","Hidden_default","xsDown","_this$props2","canForgetPassword","buttonProps","onClick","withStyles","withRouter","LoginFormMachine","machine_StateMachine","form_LoginForm","renderFormFromView","messagesApi","iDs","langID","MessageFetcher","setMessage","GeneralMessageFetcher","setGeneralMessage","MessageChecker","getMessage","GeneralMessageChecker","SessionMessageFetcher","userData","setSessionMessage","SessionMessageChecker","MessageLoader","alreadyLoaded","updateLoadedState","onLoad","messageFetcherProps","AppPageContext","AppPageModifier","appBarProps","loading","appPage","pushAppBarState","pushLoadingState","revokeAppBarState","revokeLoadingState","CHECKING_SET_PASSWORD","LOGIN_SET_PASSWORD","SHOWING_FORM","CHECKING_ADMIN_REDIRECT","ADMIN_REDIRECT_URL","ADMIN_REDIRECT_IFRAME","INITIALIZING_SESSION_MESSAGES","MAINTAINING_ACTIVITY_LOG","REDIRECTING_TO_RUBRIC","NETWORK_ERROR","AUTHENTICATED","PASSWORD_AUTHENTICATED","NEED_TO_SET_PASSWORD","NO_NEED_TO_SET_PASSWORD","PASSWORD_SET","NOT_ADMIN","REDIRECTING_ADMIN_URL","REDIRECTING_ADMIN_IFRAME","MESSAGES_INITIALIZED","ACTIVITY_LOG_MAINTAINED","checkingSetPasswordToken","loginSetPassword","showingForm","checkingAdminRedirect","adminRedirectUrl","adminRedirectIframe","initializingSessionMessages","maintainingActivityLog","redirectingToRubric","_login","InitializingSessionMessagesPage","app_page_modifier_AppPageModifier","title","loadingTitle","loader_MessageLoader","MaintainingActivityLogPage","maintain","CheckingSetPasswordToken","onNeedToSetPassword","onNoNeedToSetPassword","resultCode","checkIfNeedToSetPassword","logonID","first","last","saveOffUserDetails","retypePasswordMessageId","noMatchMessageId","invalidPasswordMessageId","RESULT_CODE","SetPassword","retypePasswordInput","submitPassword","setPasswordFailed","setPasswordSuccess","hasPasswordBeenSet","onPasswordSet","newPassword","handleShowPassword","_showPassword","showPassword","prevState","shrink","readOnly","InitialPasswordInput","RetypePasswordInput","endAdornment","InputAdornment_default","IconButton_default","aria-label","Visibility_default","VisibilityOff_default","_this$state","SetPasswordPage","setPasswordProps","set_password_SetPassword","CONSTANTS","NO_EMAIL","INVALID_LOGON_ID","INVALID_TOKEN","passwordApi","ForgotPasswordInfo","icon","Done_default","Clear_default","progress","getIcon","root","List_default","ListItem_default","listItem","core_index_es","ListItemAvatar_default","Avatar_default","avatar","ListItemText_default","listItemText","paddingLeft","common","white","returnMessageId","ResetPassword","success","Reset","resetPasswordSuccess","displayInvalidPasswordMessage","handleReturnToLogin","onCancel","pageType","TitleMessage","Buttons","buttons","ReturnButton","SubmitButton","_this$state2","infoMessageId","submittingMessageId","successMessageId","errorMessageId","forgot_password_info_ForgotPasswordInfo","_buttons","paddingTop","down","&>div","&>div:last-child","paddingBottom","ResetPasswordPage","pathname","resetProps","reset_password_ResetPassword","CheckAdminRedirect","onNotAdmin","loginViaIframe","onAdminIframe","onAdminUrl","iFrameRedirect","singleSignOn","getLegacySingleSignon","entifySupportedBrowserVersions","supportedBrowser","returnObj","include","getVersionsEntities","exclude","versions","putAllVersionsIntoArray","getRangeEntity","getLessThanRange","getGreaterThanRange","getBetweenRange","VersionRange","ranges","isResetScheduleCheatActive","appSettingsData","getScormServer","getAppVersion","getSupportedBrowsers","entifySupportedBrowsersVersions","getHubUrl","getApiEndpointUrl","getRemoveCurrentSessionActions","setNetworkError","getAdminRedirectUrl","returnUrl","mapStoreToProps","appSettingsAdminUrl","getAppSettingsAdminUrl","adminPage","getClientSettingsAdminUrl","mapDispatchToProps","mergeProps","ownProps","redirect","notifyServerAboutLogout","_getLogoutPage","logoutUrl","redirectToLoginPage","AdminRedirectUrl","AdminRedirectIframe","handleMessageFromAdmin","assertThisInitialized","adminIframe","iFrameVisible","removeEventListener","divClass","iframeContainer","visible","hidden","ref","frame","iframe","frameBorder","displayIframe","zIndex","visibility","LoginPageMachine","checking_set_password_token_CheckingSetPasswordToken","page_ResetPasswordPage","machine_LoginFormMachine","check_CheckAdminRedirect","url_AdminRedirectUrl","iframe_AdminRedirectIframe","initializing_session_messages_page_InitializingSessionMessagesPage","maintaining_activity_log_MaintainingActivityLogPage","Redirect","to","LoginPage","clearUserSession","machine_LoginPageMachine","titleMessageId","fieldMessageId","submitMessageId","ForgotPassword","loginInput","LoginIdInput","ForgotPasswordPage","forgot_password_ForgotPassword","getParent","proctorioData","getClientName","getUserInfo1","getUserInfo2","getExamGuid","getDebugMode","getError","generalApi","ping","init","getTime","fetchResource","download","getClientUrl","pathName","protocol","hostname","href","SessionInitializer","saveNetworkErrorInfo","createClientSession","createClientSettings","setNetworkErrorInfo","setEntered","setParent","setClientName","setUserInfo1","setUserInfo2","setExamGuid","getErrorObj","responseText","AuthenicateUser","noNewSession","redirectedViaProctorio","setError","hasNetworkErrorOccurred","appData","isOfflineMode","getOfflineReason","getNetworkErrorInfo","displayErrorObject","displayDateTime","LoadingFailed","loadingError","ExpansionPanel_default","ExpansionPanelSummary_default","expandIcon","ExpandMore_default","ExpansionPanelDetails_default","displayError","displayLoadingError","displayMessage","RedirectToExam","debugMode","postMessage","settingsApi","setting","getNotifyImmediatelyOnConnectionLoss","getRememberScenario","getUploadFileTypes","getResultFeedbackMask","getIntegrityAdvocateAppID","getProctorioLoginlessMode","getOrgFullScreenExam","getCalculatorExtraButtonsFlag","getShowQuestionIDInPlayer","ClientSettingsFetcher","fetchSettings","setCalculatorEvaluationMode","setConfirmDobMode","setHideSectionNamesInPlayer","setConfirmLearnerIdentifierMode","setRememberScenario","setNotifyImmediatelyOnLostConnection","setUploadFileTypes","setResultFeedbackMask","setIntegrityAdvocateAppID","setOrgFullScreenExam","setCalculatorExtraButtonsFlag","setShowQuestionIDInPlayer","ProctorioParentChecker","handleMessageFromProctorio","origin","setProctorioActive","redirectToSchedule","enteredSet","parentSet","body","_this$props3","AUTHENICATING_USER","FETCHING_CLIENT_SETTINGS","CHECKING_PROCTORIO_PARENT","REDIRECT_TO_EXAM","LOADING_FAILED","INITIALIZING_SESSION_MESSAGES_FAILED","FETCHING_CLIENT_SETTINGS_FAILED","USER_AUTHENICATED","SESSION_MESSAGES_INITIALIZED","CLIENT_SETTINGS_FETCHED","PROCTORIO_PARENT_CHECKED","LOAD_FAILURE","authenicatingUser","fetchingClientSetttings","checkProctorioParent","redirectToExam","loadingFailed","initializingSessionMessagesFailed","fetchingClientSetttingsFailed","_proctorio","ProctorioMachine","authenicate_user_AuthenicateUser","client_settings_fetcher_ClientSettingsFetcher","check_parent_ProctorioParentChecker","redirect_to_exam_RedirectToExam","loading_failed_LoadingFailed","ProctorioMachinePage","machineProps","machine_ProctorioMachine","getParameters","variable","ProctorioStartPage","_getParameters","validParameters","clientNameSet","userInfo1Set","userInfo2Set","examGuidSet","examData","getGuid","getScheduleGuid","getExamPassword","isExamPaused","isPracticeExam","getFormRunGuid","shouldShowFeedback","getTimeData","getContentData","getMessageData","getLeaveExam","getResumeExam","getShowExamInFullScreen","getScheduleCount","schedulesData","getScheduleDataByExamGuid","find","ProctorioFinishPage","checkOrgSetting","loadOrgSetting","returnToSchedules","proctorioActive","returnToProctorio","proctorioDebug","gotoSchedules","Paper_default","paper","currentProctoringSessionID","schedule","isScheduleForLastCompletedExamComplete","flexGrow","encodeString","baseString","decodeString","encodedString","ProctorioReturnPage","dataClear","clearData","parseObject","toUpperCase","getErrorInfo","checkObjects","errorInfo","unshift","NetworkErrorPage","handleToggleInfo","showExtraInfo","subheader","cardProps","hasErrors","CardHeader_default","displayRetryButton","ExpandLess_default","elevation","extraInfo","line","reload","Refresh_default","fontSize","alignProps","displayNetworkErrorCard","maxHeight","DoubleLogin","showingPopup","exitToLogin","revokeCurrentSession","doubleLoginError","unsubscribeFromApi","addGenericErrorHandler","Prompt","dialogProps","Dialog_default","DialogTitle_default","DialogContent_default","DialogActions_default","TokenRefresher","unauthorizedError","_JSON$parse","ExamClearer","clearPreviousExam","onClear","ExamPasswordValidator","isPasswordValid","ExamPasswordAuthenticator","setPasswordError","validator_ExamPasswordValidator","authenticator_ExamPasswordAuthenticator","cancelMessageId","schedulePasswordPromptMessageId","ExamPasswordForm","target","wasEmpty","isEmpty","focusOnPassword","relayPassword","InfoText","Divider_default","CancelButton","LoadingPanel","passwordText","LockOpen_default","lockIcon","autoFocus","button","buttonDisabled","returnToSchedulesPage","TextField_default","setExamPassword","scroller","textAlign","ExamPasswordFormMachine","form_ExamPasswordForm","ExamPasswordPage","machine_ExamPasswordFormMachine","getVersion","scheduleData","getScheduleType","getScheduleInfo","getScheduleStartTime","getScheduleStartTimeFmt","getScheduleCompletedTime","getScheduleCompletedTimeFmt","hasScheduleCommenced","hasScheduleCompleted","isSchedulePractice","requiresSchedulePassword","getExamName","getExamTypeGuid","getProctorProvider","getProctoringSessionID","getScheduleUserId","ExamFetcher","getPracticeExtraTime","getMappingsData","contentData","getSectionsData","getQuestionsData","getResourceUrl","getCurrentQuestionId","isAnswered","localAnswer","getControlName","questionData","getProperties","getHtml","getResumedAnswer","blanksData","getDropdownLabel","dropdownData","getOptionsData","matchData","getSelectionsData","getRowsData","tableData","getHasAnswerBox","getAnswerBoxSize","getAnswerBoxLabel","answerBox","getVariableOptions","getAnswerText","checksData","getMaxOptions","mcqData","getPartsData","multiTextData","getShowWordCount","getEvidenceText","keySubscriptions","keyCode","subscription","keyListener","subscribe","listenerIndex","getUnsubscribeFunction","enable","disable","getStyle","_styleString","startStyle","styleObject","getStyleName","createFormValue","formValue","seps","getFormValue","removeSpacesFromName","getFormSelected","hasFormBeenSelected","selected","getComponentValue","addSpacesToName","isFontProperty","addFontStyles","styleObj","fontObj","newStyleObj","fontProperty","propertyFound","getActionObj","prevProps","prevFormAction","formAction","names","getInitialValues","newValue","rowStateHidden","rowFamily","currentRowState","getRowState","r","insertVariablesIntoText","disableArrowKeyListeners","enableArrowKeyListeners","initialValues","changed","getInitialValue","getId","getType","getText","getMarks","getNumber","getIntroText","getLocalAnswer","getWorkingsData","isDisabled","isBookmarked","isDragAndDrop","getVersionId","getVersionNumber","questionSelectors","RADIOS_SELECTORS","BLANKS_SELECTORS","COMBO_SELECTORS","CHECKS_SELECTORS","TABLE_SELECTORS","MULTI_TEXT_SELECTORS","MATCH_SELECTORS","LONG_TEXT_SELECTORS","ASCX_SELECTORS","ICT_SELECTORS","STATIC_TEXT_SELECTORS","FORM_SELECTORS","getQuestionSelectors","getQuestionCount","questionsData","getQuestionIds","getQuestionDataById","getQuestionDataValues","valueSeq","getQuestionDataByNumber","AscxInitializer","ascxQuestions","questionCount","loadCount","ascxQuestion","controlName","initialValue","questionID","initialData","getAscx","saveAscxHtml","questionIds","getQuestionData","q","setAscxHtml","ImagePreloader","isCached","loadIntoRam","loadIntoBrowserStorage","URL","createObjectURL","cacheImage","img","_ref4","finalProps","MultiImagePreloader","imageCount","urls","commonProps","image_preloader_ImagePreloader","referenceCache","deepExtractFromIterable","iterable","deepExtractFrom","instanceStrict","Map","alreadyMet","deepExtract","structure","extractImageSrcs","extractImageSrc","htmlString","srcIndex","openingIndex","closingIndex","openingTagIndex","closingTagIndex","htmlSubstring","_marked","imageSrcExtractor","require","getAscxImageUrl","propertyValue","stringEnd","isImageProperty","alreadyStartsWithResourceUrl","rootStart","addResourceUrlBeforeRoot","getFormGridImages","examQuestionData","rowImages","getRowImages","cellImages","getCellImages","_component","ExamImagePreloader","imageUrls","populateImageUrlsFor","examMessageData","examSectionsData","examQuestionsData","populateAscxImageParameters","populateFormGridImageParameters","multi_image_preloader_MultiImagePreloader","examContentData","getSectionDataById","sectionsData","getSectionId","getSectionName","getWarningTime","milliseconds","from","seconds","getSectionTimeRemaining","getReadingTimeRemaining","getSectionTime","getReadingTime","getResourceUrls","resourceUrls","rootResourceUrl","getSectionIds","getSectionResourceUrl","getQuestionResourceUrl","ExamResourceLoader","loadUrls","urlCount","successCount","cachePdf","cachePdfResource","Hide","AnswerBox","mounted","setAnswer","toLocalAnswer","serverAnswer","toServerAnswer","setLocalAnswer","setServerAnswer","setCurrentQuestion","onFormChange","formAnswer","noQuestionPanel","setInitialFormValue","initialAnswer","extractResumedAnswer","extractInitialAnswer","toFormValue","FormComponent","extractFormData","extractFormValue","DisableNavigationContext","DisableAnsweringContext","AscxAnswerForm","iFrameId","handleMessageFromIframe","imageId","cachedImageUrl","getCachedImageUrl","iFrame","getElementById","contentWindow","isEndpointInitialized","ascx","valStart","valEnd","val","blobContent","Blob","getIframe","borderWidth","overflowX","AscxAnswerBox","setUpExtractionFunctions","setUpTransformationFunctions","answerBoxProps","answer_box_AnswerBox","ComboDropDown","inputText","selectProps","Select_default","MenuItem_default","ComboAnswerForm","dropdownProps","combo_ComboDropDown","&:after","getOptionText","getOptionId","ComboAnswerBox","selectedOptionData","getSelectedOptionData","toString","selectedOption","getSelectedOption","optionId","optionID","currentValue","radioClasses","checked","labelNode","getLabelNode","control","Radio_default","FormControlLabel_default","formControlLabel","McqAnswerForm","RadioGroup_default","getOptionGroup","RadiosAnswerBox","confirmMessageId","ChecksAnswerForm","removeExcessiveAnswers","getExcessiveAnswers","maxOptions","MaxOptionsWarning","controlProps","Checkbox_default","getFormControlLabel","MaxOptionsWarningMessage","DraggableOption","onStop","onDragStop","onDrag","draggableProps","bounds","draggableKey","disableRipple","disableFocusRipple","textTransform","react_draggable_default","isWithinBounds","boundingRectangle","y","REF_ERROR","DroppableOption","createRef","containsPoint","point","getBoundingClientRect","highlighted","defaultColor","highlightedColor","spanProps","minWidth","minHeight","verticalAlign","inline","border","onReset","materialTextProps","float","DropboxClearIcon","ChecksDragAndDropAnswerForm","initializeBoundProperties","draggableKeys","generateId","highlightedIndex","droppableRefs","Array","fill","resetDraggable","findHoveredDroppable","droppableRef","droppable","onOptionDrag","draggableIndex","clientX","clientY","existsHighlighted","exitingDroppable","newHighlightedIndex","onOptionDrop","droppableIndex","Draggables","Droppables","droppable_option_DroppableOption","uniqueProps","draggable_option_DraggableOption","droppables","getDroppable","ChecksAnswerBox","getSelectedOptions","addAnswer","removeAnswer","_getOptionTextById","getOptionTextById","localAnswerValues","getOptionWidthFromLength","optionLength","optionWidth","preventChangeEvent","MatchDropdown","selections","newStyling","getDropdown","handleChange","selectionId","selection","getDropdownSelections","disabledValue","MatchAnswerForm","tableStyle","tableBodyStyle","_props","Table_default","TableBody_default","sharedProps","leftCellProps","align","rightCellProps","TableRow_default","noBorder","TableCell_default","match_MatchDropdown","getMatchItems","select","MatchDragAndDropAnswerForm","highlightedOptionId","generateNewDraggableKey","highlightedId","onSelectionDrag","newHighlightedId","getKeyWithValue","onSelectionDrop","DraggableSelections","DroppableOptions","answeredSelectionIds","unansweredSelections","_this$props2$formData","divStyle","_ref5","valueWrapper","_ref6","getSelectedId","getSelectionText","MatchAnswerBox","answeredOptions","getAnsweredOptions","resumedAnswer","answeredOption","getSelectionId","selectionsData","answeredEntries","_getOptionDataById","_getSelectionDataById","selectionText","selectedOptionId","isEmptyRow","MultiLineTextEditor","canPaste","lineCount","maxLineCount","_props$inputProps","additionalProps","onPaste","editorProps","multiline","rowsMax","spellCheck","onDrop","_ref$inputProps","onFocus","onBlur","editor_MultiLineTextEditor","SingleLineTextEditor","_props$InputProps","InputProps","suffix","editor_SingleLineTextEditor","TableAnswerForm","Headings","Content","TextBox","textBox","single_line_SingleLineTextEditor","multi_line_MultiLineTextEditor","isHeading","createCell","child","getTextCell","TableHead_default","createRow","contentRows","tableRows","rowId","cellValues","inputCellNumber","rowValues","cellValue","getInputCell","lastRow","answerBoxValue","getSingleLineEditor","getMultiLineEditor","borderStyle","getValues","TableAnswerBox","_rowsData","firstRow","hasAnswerBox","_serverAnswer","valuesLengths","valuesIndex","serverIndex","initialAnswerIndex","answerBoxSize","answerBoxLabel","rowFormValueIndex","rowFormValue","rowAnswerText","hasLocalAnswerGotAnswerBox","getAnswerBoxFromLocalAnswer","checkTypes","arrayLike","arrayLikeObject","generator","generatorFunction","constructor","pluralize","_count","BlanksAnswerForm","selectionIndex","getRenderableSegments","displayDiv","textSegments","segments","splitSegments","renderableSegments","flexWrap","_index","textSegment","isDropDownSegment","createDropdown","getTextNode","getOptionWidth","dropdownUnderline","margins","getDropdownItems","variableName","BlanksDragAndDropAnswerForm","generateKey","highlightedDroppable","source","toSearch","splitOut","droppableSegments","segment","updateDraggableKey","enteringDroppable","answerIndex","UndraggedOptions","Answer","optionAnswer","optionValue","AnswerRenderables","getTextSegment","BlanksAnswerBox","Grade_default","MarksChip","getChipLabel","Chip_default","FONT_FORMATS","Andale Mono","Arial","Arial Black","Book Antiqua","Comic Sans MS","Courier New","Georgia","Helvetica","Impact","Tahoma","Terminal","Times New Roman","Trebuchet MS","Verdana","Signature","fontFormats","fontName","TAB_KEYCODE","RichTextEditor","setLoaded","setEditorMode","editor","EditorMode","tryAllowTab","execCommand","shiftKey","plugins","initConfig","menubar","branding","elementpath","gecko_spellcheck","paste_preprocess","plugin","setup","font_formats","content_css","content_style","toolbar","Editor","Spinner","readonly","onEditorChange","es2015","loadingDiv","editor_RichTextEditor","WordCount","wordCount","getWordCount","MultiTextAnswerForm","Parts","part","partId","partValue","renderPartQuestion","richText","rich_RichTextEditor","renderPartMarks","getMultiLineTextEditor","renderWordCount","SharedNonRichEditorProps","getSingleLineTextEditor","numberOfMarks","marks_chip_MarksChip","word_count_WordCount","partElement","usesRichText","getRichTextPart","getMultiLinePart","getSingleLinePart","colSpan","getLineCount","getSuffix","MultiTextAnswerBox","PART_SELECTORS","resumedValue","partIds","partValues","IctAnswerForm","IctAnswerBox","StaticTextAnswerForm","StaticTextAnswerBox","FormConfirmation","handleClose","onConfirm","showConfirmation","confirmationName","onClose","aria-labelledby","aria-describedby","DialogContentText_default","FormFieldInput","enabled","regEx","handleKeyDown","onAction","handleKeyUp","autoTab","maxLength","today","year","getFullYear","RegExp","_this$props4","noPaste","spellChecker","maxlength","onKeyUp","onKeyDown","divStyleObj","formProps","FormFieldTextLoading","counterMax","character","parseFloat","handleTimer","counter","newCounter","repeat","FormFieldText","handleOnClick","isInstructionText","instruction","multipleText","getMultipleText","divProps","form_field_text_loading_FormFieldTextLoading","FormFieldValue","FormFieldTextArea","FormFieldCalendar","month","daysInMonth","selectColour","handleClick","selectedDay","displayDayRow","startDay","day","displayMonth","displayDays","FormField","form_field_text_FormFieldText","TEXTAREA","form_field_text_area_FormFieldTextArea","form_field_value_FormFieldValue","form_field_calendar_FormFieldCalendar","form_field_input_FormFieldInput","FormSelectRadio","actionObj","actionOnSelect","FormSelectCheckbox","updateAction","getValue","addValue","removeValue","isChecked","FormSelectCheckboxSingle","getActionValue","FormSelectDropdown","isMultiple","dropdownOptions","selectAction","actions","actionValue","getAction","multiple","optionProps","FormSelect","form_select_radio_FormSelectRadio","single","form_select_checkbox_single_FormSelectCheckboxSingle","form_select_checkbox_FormSelectCheckbox","form_select_dropdown_FormSelectDropdown","FormButton","changeAction","_styleObj","FormFile","fileInputRef","click","selectedFiles","files","FormImage","altName","imageProps","FormHotspot","checkbox","hasCheckbox","checkBoxPosition","checkBoxSize","handleChecked","_checked","getChecked","hotSpotProps","transform","FormDelay","_delay","FormCell","form_field_FormField","form_select_FormSelect","form_button_FormButton","form_file_FormFile","form_image_FormImage","form_hotspot_FormHotspot","form_delay_FormDelay","form_row_FormRow","displayRows","displayComponents","isStringBoolean","FormRow","handleFinishedTimer","finished","rowFamilyVisible","rowVisible","c","form_cell_FormCell","FormPopulated","fieldValue","getFieldValue","formSelected","displaySelected","displayPopulated","getInitialRowState","handleConfirmation","handleAction","confirmed","_action","formValues","getFontStyles","getFormAction","onClickAction","handleClickAction","form_populated_FormPopulated","form_confirmation_FormConfirmation","displayForm","displayConfirmation","FormAnswerForm","form_Form","FormAnswerBox","getInitialAnswer","ConfirmationDialog","noProps","yesProps","_label","addValuesToLabel","getTitle","getContent","getButtons","displayDescriptionInOption","radioRoot","radioChecked","description","radioText","radioItem","McqTextAnswerForm","handleRadioChange","handleTextChange","confirmRadio","confirmationText","confirmation","radioValue","radio","displayDescription","getCurrentDescription","_this$props5","_this$props6","getLabel","confirmation_dialog_ConfirmationDialog","confirm","displayOptions","displayText","removeStartBr","RadiosTextAnswerBox","_splitOptionText","pos","splitOptionText","UnsupportedAnswerBox","getAnswerBox","radios_RadiosAnswerBox","combo_ComboAnswerBox","checks_ChecksAnswerBox","multi_text_MultiTextAnswerBox","match_MatchAnswerBox","blanks_BlanksAnswerBox","table_TableAnswerBox","ascx_AscxAnswerBox","ict_IctAnswerBox","static_text_StaticTextAnswerBox","form_FormAnswerBox","radios_text_RadiosTextAnswerBox","unsupported_UnsupportedAnswerBox","ExamAnswerInitializer","questionDataList","hide_Hide","CLEARING_PREVIOUS_EXAM","INITIALIZING","INITIALIZED","INITIALIZING_STATES","VALIDATING_SCHEDULE","INPUTTING_PASSWORD","INITIALIZING_EXAM","CHECKING_RESOURCES","INITIALIZING_EXAM_STATES","FETCHING_EXAM","INITIALIZING_IMAGES","INITIALIZING_RESOURCES","INITIALIZING_ASCX_QUESTIONS","INITIALIZING_ANSWERS","CHECKING_RESOURCES_STATES","CHECKING_AUDIO","CHECKING_PDF","CHECKING_INTEGRITY_ADVOCATE","CHECKING_PROCTORIO","VALIDATING_SCHEDULE_STATES","INITIALIZING_SCHEDULE_DATA","CHECKING_SCHEDULE_COMPLETION","SCHEDULE_ALREADY_COMPLETED","CHECKING_SCHEDULE_CAN_START","SCHEDULE_CANT_START","CHECKING_PASSWORD_REQUIREMENT","INITIALIZING_SCHEDULE_DATA_STATES","CHECKING_DATA","FETCHING_DATA","DATA_NOT_FOUND","SCHEDULES_NOT_LOADED","SCHEDULE_NOT_FOUND","SCHEDULE_INCOMPLETE","SCHEDULE_COMPLETE","SCHEDULE_CAN_START","PASSWORD_REQUIRED","PASSWORD_NOT_REQUIRED","PREVIOUS_EXAM_CLEARED","checkingScheduleData","fetchingScheduleData","scheduleDataNotFound","initializingScheduleData","checkingScheduleCompletion","scheduleAlreadyComplete","checkingScheduleCanStart","scheduleCantStart","checkingPasswordRequirement","fetchingExam","initializingExamImages","initializingResources","initializingAscxQuestions","initializingExamAnswers","checkingAudio","checkingPdf","checkingIntegrityAdvocate","checkingProctorio","validatingSchedule","inputtingPassword","initializingExam","checkingResources","clearingPreviousExam","initializing","_examInit","examInit","CanStartChecker","canStart","setCantStartMessage","Popup","canClickBackdrop","Actions","CloseErrorButton","ScheduleCompletedPopup","close_error_button_CloseErrorButton","popup_Popup","ScheduleCantStartPopup","getCantStartMessage","ScheduleCompletionChecker","onIncomplete","ScheduleDataChecker","scheduleCount","onSchedulesNotLoaded","practiceExam","onScheduleNotFound","setCurrentExam","ScheduleDataFetcher","getScheduleFromQueryString","getScheduleFromSessionStorage","saveSchedules","parsedSessionData","getScheduleFromExternalData","externalScheduleData","externalExamData","externalDataObject","objectTypeGuid","getRequiresPassword","ScheduleNotFoundPopup","PasswordRequirementChecker","onRequired","onNotRequired","ValidatingScheduleView","checker_ScheduleDataChecker","fetcher_ScheduleDataFetcher","schedule_not_found_popup_ScheduleNotFoundPopup","InitializingScheduleView","completion_checker_ScheduleCompletionChecker","completed_popup_ScheduleCompletedPopup","can_start_checker_CanStartChecker","cant_start_popup_ScheduleCantStartPopup","password_requirement_checker_PasswordRequirementChecker","getComparisonAndVersion","firstChar","isFirstNumber","comparison","getVersionBits","compareVersion","currentVersion","supported","_getComparisonAndVers2","supportedVersion","getSupportedVersionText","getVersionText","versionText","_getComparisonAndVers4","displayVersion","nextVersion","_version","removeTrailingZeros","versionString","browserNameMatch","currentBrowser","browserNamesTheSame","getBrowserName","populateMessage","getCurrentBrowser","sebBrowser","getSebBrowser","v","isCromeOS","checkPdfBrowserSupport","_getCurrentBrowser","isOSExempt","supportedBrowserVersion","comparisons","checkEquals","checkNotEquals","isBrowserSupported","versionNotSupported","notSupported","TextPanel","panel","boxSizing","PdfCheckButtons","ContinueButton","onContinue","canContinue","continue","cancel","PdfCheckBrowserIcon","_size","browserName","HelpOutline_default","getBrowserIcon","PdfCheckPanel","pdf_check_buttons_PdfCheckButtons","_this$currentBrowser","displayButtons","text_panel_TextPanel","browserSupport","displayBrowserVersionNotSupported","displayBrowserNotSupported","displayName","supportedVersionText","iconProps","support","pdf_check_browser_icon_PdfCheckBrowserIcon","displayOtherSupportedBrowsers","otherSupported","otherSupportedBrowsers","displayOthers","displayInOthers","browserOS","getOtherSupportedBrowsers","displayCurrentBrowser","column","displayBrowserSupport","&>div:first-child","paddingRight","isResource","resource","resourceType","extension","isResourceType","PDFJsBackend","element","displayed","process","appendChild","cachedPdfsData","PreloadPdfs","viewerRef","backend","PDFJSBackend","loadPdf","currentUrl","cachedPdfData","finalResourceUrl","maxPageWidth","PdfCheckPage","pdfSupported","preload","checking","hasPdf","preload_pdf_PreloadPdfs","panelProps","pdf_check_panel_PdfCheckPanel","getPdfSupportedBrowsers","PROCTORING_TYPES","INTEGRITY_ADVOCATE","PROCTORIO","OpenIntegrityAdvocate","handleIntegrityAdvocateReady","handleScriptLoaded","isIntegrityAdvocate","addIntegrityAdvocateScript","script","proctoringProvider","integrityAdvocateAppId","checkParmeters","objectId","qualificationId","async","_error","_i","_Object$entries","getObjectId","getQualificationId","getEmail","getIntegrityAdvocateAppId","CheckingProctorio","isProctorio","proctoringSessionId","InitializingView","page_ExamPasswordPage","exam_fetcher_ExamFetcher","image_preloader_ExamImagePreloader","resource_loader_ExamResourceLoader","ascx_initializer_AscxInitializer","answer_initializer_ExamAnswerInitializer","InitializingExamView","pdf_check_page_PdfCheckPage","open_integrity_advocate_OpenIntegrityAdvocate","checking_proctorio_CheckingProctorio","CheckingResourcesView","SideDrawer","anchor","drawerProps","Drawer_default","appBarHeight","appBar","modal","ContentBox","DrawerIconButton","Icon","closed","ContentBar","AppBar_default","Toolbar_default","drawer_icon_button_DrawerIconButton","GetDomElement","childRef","domElement","updateDomElement","currentDomElement","findDomElement","setDomElement","Element","ReactDOM","findDOMNode","_templateObject2","taggedTemplateLiteral","_templateObject","cloneElement","onDomElement","MaterialScrollWrapper","updateScrollStyling","horizontal","vertical","classList","get_dom_element_GetDomElement","ContentPanel","material_scroll_wrapper_MaterialScrollWrapper","MobileExamLayout","leftDrawerOpen","rightDrawerOpen","toggleDrawer","side","closeDrawers","getDrawer","content_box_ContentBox","drawerConfig","drawer_SideDrawer","contentBarProps","content_bar_ContentBar","bar","content_panel_ContentPanel","centre","SidePanel","square","flexShrink","MUTATION_OBSERVER_CONFIG","attributes","attributeFilter","BoundsListener","elementPos","elementSize","w","h","observer","MutationObserver","notifyChangeInElementBounds","windowSize","newElementRect","onPositionChange","onSizeChange","newPosition","getNewPosition","newSize","getNewSize","updateObserver","disconnect","observe","relativeToDocument","relativeTo","pageXOffset","pageYOffset","withWindowSizeListener","DesktopExamLayout","leftContentWidth","rightContentWidth","setPanel","setDrawer","isDrawer","findAvailableSidePanels","availableSidePanels","getPanelSidePriority","prioritize","findPanelSidesThatFitOnScreen","panelSidesByPriority","viewportWidth","clientWidth","totalContentWidth","nextPanelSide","updatePanelStates","panelSidesThatFit","panelSide","statePropertyName","panelFits","updatePanelWidth","oldWindowSize","newWindowSize","existsDrawer","widthIncreased","windowWidth","getPanelOrDrawer","getPanel","panel_SidePanel","bounds_listener_BoundsListener","EMPTY_STATE","mobile","tablet","desktop","ViewSwitcher","setView","view","setMobileView","setTabletView","setDesktopView","smUp","callback_Callback","only","smDown","View","getDesktopView","getTabletView","getMobileView","ExamLayoutContainer","ExamLayout","viewSwitcherProps","mobile_MobileExamLayout","desktop_DesktopExamLayout","layout_ExamLayoutContainer","view_switcher_ViewSwitcher","ContentBarTitle","examInstructionsMessageId","IntroTitle","title_ContentBarTitle","MobileActionButton","colorClass","primaryBackground","secondaryBackground","iconButtonProps","DesktopActionButton","alignment","buttonComponentProps","iconLeft","iconRight","ActionButton","getMobileActionButton","mobile_MobileActionButton","getDesktopActionButton","desktop_DesktopActionButton","startMessageId","resumeMessageId","StartExamButton","resume","button_ActionButton","ArrowForwardIcon","getOutroText","messageData","getProctoredOutroText","InstructionsPanel","returnFromExamMessageId","MyHomeIcon","Home_default","ReturnToSchedulesButton","openInFullScreen","fullscreenElement","elem","documentElement","requestFullscreen","webkitRequestFullscreen","msRequestFullscreen","closeFullScreen","exitFullscreen","webkitExitFullscreen","msExitFullscreen","ExamIntroPage","handleExamStart","handleFullScreenChange","showExamInFullScreen","onExamStart","setInitialFullScreen","showReturnButton","examLayoutProps","intro_title_IntroTitle","return_to_schedules_button_ReturnToSchedulesButton","start_exam_button_StartExamButton","layout_ExamLayout","getChildrenForId","mappingsData","mappingData","getMappingDataById","getParentSectionId","childId","findKey","mapping","traverseParentIds","mark","nextParentId","SELECTORS","traverseDepthFirst","childIds","traverseParents","_traverseParentIds","_getSectionDataById","parentId","helpers_createForOfIteratorHelper","traverseChildIds","_traverseChildIds","_iterator2","_step2","isQuestion","CONTENT_SELECTORS","QUESTIONS_SELECTORS","currentQuestionId","currentQuestionData","questionResourceUrl","QUESTION_SELECTORS","complex_selectors_createForOfIteratorHelper","parentSectionData","sectionResourceUrl","SECTION_SELECTORS","getPaperPartId","getFirstQuestionIdInSection","firstId","MAPPINGS_SELECTORS","hasSamePaperPart","id1","id2","getSiblingQuestionId","direction","siblingNumber","siblingData","siblingId","getNextQuestionId","getResumedQuestionId","resumedNumber","resumedQuestionData","resumedId","_step8","_iterator8","hasWorkings","_step9","_iterator9","hasCalculator","setCurrentQuestionId","CommencedChecker","onCommenced","onNotCommenced","initialQuestionId","storeProps","dispatchProps","RedirectToExamQuestions","StartActivityLogger","PublicExamPage","handleComplete","handleClear","handleKeyPress","busy","isDownloadablePracticeExam","nameInput","setPublicExamUserName","helperText","noValidate","inputDiv","placeholder","InputLabelProps","buttonDiv","_panel","PageTitle","isAudio","_url","urlHasChanged","audio","prevAudio","hasAudioStateChanged","playing","toHHMMSS","secs","sec_num","AudioChip","audioState","canPlay","finishPlay","audioDataLoaded","updateElapsed","playAudio","getUrl","startAudioTime","Audio","currentTime","pause","startTimer","startAudio","endAudio","newAudioState","play","autoDelay","delayTime","elapsedTimer","autoRepeat","onFinished","elapsedUpdate","onElapsed","audioTime","timing","MusicNote_default","chip","deleteIcon","onDelete","_this$props7","StopRounded_default","HourglassEmpty_default","PlayCircleFilledWhite_default","PauseCircleFilled_default","_this$state3","_this$props8","displayState","AudioCheckPanel","audio_chip_AudioChip","findCurrentSection","getMappingsAndSections","_currentQuestionId","questionIdSetFromQuestion","getQuestionIdSetFromQuestion","_getPaperPartId","currentPaperPartId","cachedResults","_shouldInclude","shouldInclude","sectionId","paperPartMapping","mappingId","displayAllQuestionsInSection","displayAllQuestions","trimIt","getSettings","AudioCheckPage","handleAudioChecked","audioChecked","hasAudio","mediaSession","setActionHandler","onAudioChecked","audioProps","titleProps","title_PageTitle","audio_check_panel_AudioCheckPanel","_getMappingsAndSectio","checkSectionsForAudio","ATTEMPTING_TO_RESUME","AUDIO_CHECK_SCREEN","INTRO_SCREEN","PUBLIC_EXAM","STARTING_ACTIVITY_LOGGER","RESUMING_ACTIVITY_LOGGER","REDIRECT_TO_EXAM_QUESTIONS","CAN_RESUME_EXAM","CANT_RESUME_EXAM","STARTED_ACTIVITY_LOGGER","RESUMED_ACTIVITY_LOGGER","DISPLAY_AUDIO_CHECK","DISPLAY_INTRO","attemptingToResume","publicExam","audioCheckScreen","introScreen","resumingActivityLogger","startingActivityLogger","redirectToExamQuestions","_examIntro","examIntro","ExamIntroPageMachine","commenced_checker_CommencedChecker","public_exam_PublicExamPage","audio_check_page_AudioCheckPage","page_ExamIntroPage","start_activity_logger_StartActivityLogger","redirect_to_questions_RedirectToExamQuestions","ExamIntro","needToSetShowExamInFullScreen","setShowExamInFullScreen","machine_ExamIntroPageMachine","OutroTitle","barTitle","CloseButton","ExitToAppIcon","OutroTextPanel","proctoredText","proctoringName","replaceAll","ImmediateResitButton","buttonText","clearExamPaper","getBinaryFromMask","mask","bits","binaryValue","leading","leadingLength","getBinaryValue","binary","place","LearnerFeedbackPanel","resultFeedbackMask","_getWhatToShowFromMas","showMarks","showGrade","showPercentage","getWhatToShowFromMask","getTable","results","getResultTable","Feedback","ResultStillBeingProcessed","listItemClass","Avatar","displayResult","ResitButton","immediate_resit_button_ImmediateResitButton","resultData","getResultData","_paper","fontWeight","ExamOutroPage","showCloseButton","showFeedbackPanel","closeButtonProps","outro_title_OutroTitle","close_button_CloseButton","learner_feedback_panel_LearnerFeedbackPanel","outro_text_panel_OutroTextPanel","ExamRequestSaverContext","withExamRequestSaver","examRequestSaver","getExamTimeRemaining","getTimeRemaining","getExamElapsedTime","round","ExamCompleter","completeExam","completeSchedule","popupProps","paperPartId","paperPartData","FinishActivityLogger","timeoutTimer","handleTimeout","canDisplay","displayActivityLogToConsole","CloseIntegrityAdvocate","IntegrityAdvocate","endSession","ResultFetcher","tryCounter","tryCounterMax","tryDelay","saveExamResult","setFormRunId","setExamResult","maxScore","percentScore","pass","immediateResitAvailable","formRunID","trySaveResult","marked","feedbackMessage","feedbackMessageID","saveResult","_this2$props3","tryFetchResults","trySaveComplete","Processed","hasExamBeenCompleted","_this2$props4","shouldFetchResults","tryExamComplete","ProgressLabel","topLine","LinearProgress_default","bottomLine","LOCAL_MESSAGES","getErrorObject","ResultDownloader","willSendErrorReport","invoked","connected","timedOutValue","startedTimeStamp","progressArray","tryStart","timeOut","tries","tryAgainTimer","setupSignalR","sendErrorReport","handleHubStartError","startConnection","transport","LongPolling","getFileName","invoke","reporterGuid","bugDescription","errorTimeStamp","userName","progressProps","progress_label_ProgressLabel","noSelect","ErrorOutline_default","CloudDownload_default","COMPLETING_EXAM","FINISHING_ACTIVITY_LOGGER","CLOSING_INTEGRTITY_ADVOCATE","FETCHING_RESULTS","DOWNLOADING_RESULTS","OUTRO_SCREEN","FINISHED","GOT_COMPLETION","EXAM_COMPLETED","RESULT_DOWNLOADED","FINISHED_ACTIVITY_LOGGER","CLOSED_INTEGRITY_ADVOCATE","finishingActivityLogger","closingIntegrityAdvocate","completingExam","fetchingResults","downloadingResults","displaying","_examOutro","examOutro","ExamOutroPageMachine","finish_activity_logger_FinishActivityLogger","close_integrity_advocate_CloseIntegrityAdvocate","exam_completer_ExamCompleter","result_fetcher_ResultFetcher","result_downloader_ResultDownloader","page_ExamOutroPage","ExamOutro","machine_ExamOutroPageMachine","ExamStarter","formRunGUID","commenceSchedule","onStarted","PauseMessage","Pause_default","&>div:nth-child(2)","PauseImage","showImage","confirmExamResume","image","gutterBottom","PlayArrow_default","onConfirmation","displayImage","displayTitle","flex","ExamPausedPage","confirmResumeExam","setExamPaused","pause_image_PauseImage","getConfirmExamResume","setConfirmResumeExam","ExamPauseManager","onPause","prevPaused","onUnpause","ResumeButton","InstructionsTitle","formatNumber","hours","getHours","minutes","getMinutes","getSeconds","getMilliseconds","displayTime","getElapsedDateTime","lastDateTime","currentDateTime","elapsedDateTime","Timer","resumeTime","startTime","endTime","tickTime","ticker","isFinished","debugTimerCounter","validateTimerDirection","timerStartDt","getDateTime","setDelay","timeToElapse","abs","onTick","checkTime","tryUpdateTime","tick","oldTime","onTimeChange","oldTickValue","newTickValue","updateTime","showDebug","newTime","timeDifference","hasLeftExam","previousTimerStartDt","newTimerStartDt","leaveExam","resumeExam","diff","checkTimeDifference","now","uiProps","_this$state4","reactTimer","MAX_ANGLE","PI","RADIUS","CENTER","ONE_MIN","ANGLE_OFFSET","TimerUi","Circle","Text","ElapsedArc","toElapse","dimensionalProps","cx","SIZE","cy","colorProps","stroke","textColor","ceil","textAnchor","dy","_this$calculateElapse","calculateElapsedArcAngles","_this$calculateElapse2","startAngle","endAngle","commands","partialCircle","arcCurveCommands","arcEndPoint","dPathAttribute","command","strokeWidth","d","_step10","_iterator10","CONTENT_COMPLEX_SELECTORS","TIME_SELECTORS","getAnsweringTimeRemaining","answeringTimeRemaining","_step11","_iterator11","_step12","_iterator12","getAnsweringTime","_step13","_iterator13","answeringTime","_step14","_iterator14","ExamTimer","handleOnTick","timerKey","timerPaperPartId","prevStartTime","prevResumeTime","tickValue","setTimeRemaining","incrementElapsedTime","timerProps","TimerUiComponent","timer_TimerUi","timer_Timer","reading","setSectionReadingTimeRemaining","setSectionTimeRemaining","setExamReadingTimeRemaining","setExamTimeRemaining","incrementExamElapsedTime","ExamInstructionsPage","instructions_title_InstructionsTitle","resume_button_ResumeButton","onShowQuestions","exam_timer_ExamTimer","PopupButton","ConfirmButton","popup_button_PopupButton","detokenizeMessage","tokenMappings","replacement","massReplace","MESSAGE_TOKENS","CURRENT_PAPER_PART","NEXT_PAPER_PART","finishPartTitle","finishPartText","PartFinishedPopup","_tokenMappings","paperPartName","nextPaperPartName","popupTitle","popupText","confirm_ConfirmButton","finishConfirmTitle1","finishConfirm1","ExamFinishConfirmPopup","cancel_CancelButton","finishConfirmTitle2","finishConfirm2","ExamFinishConfirmPopup2","finishConfirmPartTitle1","finishConfirmPart1","PartFinishConfirmPopup","finishConfirmPartTitle2","finishConfirmPart2","PartFinishConfirmPopup2","practiceFinishConfirmTitle1","practiceFinishConfirm1","PracticeFinishConfirmPopup","practiceFinishConfirmTitle2","practiceFinishConfirm2","PracticeFinishConfirmPopup2","POPUP_TYPES","EXAM_FINISH_CONFIRM","EXAM_FINISH_CONFIRM_2","PART_FINISH_CONFIRM","PART_FINISH_CONFIRM_2","PRACTICE_EXAM_FINISH_CONFIRM","PRACTICE_EXAM_FINISH_CONFIRM_2","PART_FINISHED","extractPopupData","ExamPopup","exam_finish_confirm_ExamFinishConfirmPopup","exam_finish_confirm_2_ExamFinishConfirmPopup2","part_finish_confirm_PartFinishConfirmPopup","part_finish_confirm_2_PartFinishConfirmPopup2","practice_finish_confirm_PracticeFinishConfirmPopup","practice_finish_confirm_2_PracticeFinishConfirmPopup2","part_finished_PartFinishedPopup","AnswerPanel","ScenarioText","ExpansionPanel","startOpen","summary","expanded","defaultExpanded","getSummary","ScenarioPanel","setShowScenario","questionNumberInSection","showScenario","rememberShowScenario","expansion_panel_ExpansionPanel","scenario_text_ScenarioText","_step5","_iterator5","scenarioText","getQuestionScenarioText","_step6","_iterator6","getQuestionNoInSection","getShowScenario","Bookmarker","_ref$classes","textSelected","Bookmark_default","toggleBookmark","SectionText","divider","_step4","_iterator4","sectionText","QuestionText","_ref$text","QuestionIntro","EvidenceText","QuestionPanel","contents","wrapper","leftSection","section_text_SectionText","question_intro_QuestionIntro","question_text_QuestionText","evidence_text_EvidenceText","rightSection","bookmarker_Bookmarker","_spacing","ExamStateCard","disableNavigation","disableAnswering","CombinedContextConsumer","ExamStatePanel","panel_CombinedContextConsumer","exam_state_card_ExamStateCard","getExamStatePanel","QuestionNumber","answered","fabProps","activeLabel","Fab_default","displayFab","textDecoration","buttonColor","buttonActiveColor","dark","buttonDisabledColor","DisplayAllQuestionsBar","handleAudioElapsed","handleAudioFinished","newAudioProps","setElapsedAudio","currentSection","setStateAudio","_currentSection$data","hasMedia","displayScenarioText","displayDivider","displayMedia","canExpand","getMediaPropsFromSection","setAudioElapsed","setAudioState","isFirstQuestionInSection","DisplayAllQuestionsPanel","divRefs","barRef","scrollToQuestion","previousQuestionId","prevCurrentSection","clearQuestionIdSetFromQuestion","prevSectionId","scrollQuestion","lastScroll","scrollIntoView","behavior","scrollTo","display_all_questions_bar_DisplayAllQuestionsBar","numberProps","divName","panelClass","lastPanel","question_number_QuestionNumber","panel_QuestionPanel","panel_AnswerPanel","displayBar","displayQuestions","ExamIdMarker","show","ExamContent","display_all_questions_panel_DisplayAllQuestionsPanel","panel_ScenarioPanel","exam_id_marker_ExamIdMarker","panel_ExamStatePanel","uploadApi","getFiles","uploadFile","deleteFile","downloadFile","uploadObject","oldFileIndex","mapApiJsonToFile","mimeType","dateTimeUploaded","fileSize","filesGot","finishedCallback","filesGotFailed","failureCallback","deletedCallback","failedCallback","fileType","fileDeleted","fileDeletedFailed","progressCallback","fileToUpload","fileUploadProgress","fileUploaded","fileUploadedFail","uploaded","uploadedSoFar","percent","uploadedTotal","uploadedFile","finishedUpload","uploadedCallback","fileToUploadIndex","replaceFilesUpload","deleteCallback","needToCheckProp","isArray","getFirstFileType","fileTypes","getFileExtension","pop","FileDragAndDrop","dragging","highlightClass","dropRef","handleDrag","stopPropagation","handleDragIn","dragCounter","dataTransfer","handleHighlight","handleDragOut","handleDrop","drag","onFileDrop","highlight","dragHighlight","div","uploadImage","borderRadius","uploadDocument","isImage","FileToUpload","preview","componentWillUnmount","revokeObjectURL","handleDelete","getFilePreview","primaryTypographyProps","noWrap","ListItemSecondaryAction_default","Delete_default","FilesToUploadList","handleFileDrop","onAddFilesToUpload","handleFileSelect","handleDeleteAll","isUploading","uploadProgress","getUploadBoxContent","disableUploading","isDeleting","getUploadOptions","instantUpload","cardDivider","rightIcon","onUpload","CloudUpload_default","list","ListSubheader_default","listSubHeader","file_to_upload","file_drag_and_drop","maxFilesToUpload","maxFileSize","minFileSize","accepts","listStyleType","UploadedFile","uploadInputRef","handleReplace","newFiles","onReplace","disableDragAndDrop","disableButtons","UploadedItem","UploadInput","uploadGuid","dispatchEvent","MouseEvent","UploadedItemIcon","UploadedItemText","UploadedItemActions","Image_default","Description_default","itemWidth","react_moment_dist_default","DeleteAction","ReplaceAction","Tooltip_default","placement","Cached_default","reference","UploadedFileList","deleteDialogOpen","fileNameToDelete","replaceDialogOpen","fileNameToReplace","replaceFiles","fileIndex","fileIndexToDelete","onDialog","handleDeleteConfirmed","fileIndexToReplace","notSameFileName","handleReplaceConfirmed","getListSubHeader","subHeaderText","gotFiles","maxFiles","list1","list2","uploaded_file","CommonDialogOption","onSelect","CommonDialog","handleSelect","handleNotConfirmed","common_dialog_option","UPLOADED","TOUPLOAD","INVALID_FILE_TYPE","FILE_TOO_BIG","FILE_TOO_SMALL","FILE_DUPLICATE","isSameFileExtension","fileExtension1","fileExtension2","fileTypeOk","acceptedFileExtension","fileExtension","allowedFileExtension","actualFileType1","actualFileType2","matchesFileType","fileMinSizeOk","fileMaxSizeOk","UploadPanel","checkUpload","uploads","uploadedFiles","filesToUpload","disableUpload","commonDialog","updateFiles","getFilesFailed","handleDialog","getFilesFailedConfirmed","handleDragEvent","handleAddFilesToUpload","filesToUploadErrors","errors","fileCount","checkFileOkToUpload","handleFilesToUploadError","handleUpload","rejects","fileNameExists","newFileName","typeOfFilesToCheck","isUpload","handleFilesToUploadErrorConfirmed","handleDeleteFileToUpload","handleReplaceUploadedFiles","fileToReplace","fileToReplacePosition","uploadedFileHasBeenDeleted","handleUploadProgress","handleFileUploaded","handleDeleteUploadedFile","uploadedFileHasBeenDeletedFailed","uploadedFileHasBeenDeletedFailedConfirmed","maxUploadedFiles","numberOfFilesToUpload","checkDuplicateFileNames","checkIndex","replaceIndex","checkDuplicateFileName","existingUploadedFileIndex","checkDuplicateFileNameConfirmed","handleUploadChecked","uploadFiles","handleFileUploadedFailed","handleCheckReplace","uploadComplete","newProgress","handleFileUploadedFailedConfirmed","isOpen","onFailure","uploadPanel","upload_files_to_upload_list","uploaded_file_list","common_dialog","grey","CALCULATOR_BUTTONS","OPERANDS","OPERATORS","CALCULATOR_EVALUATION","CALCULATOR_PARTS","isOperand","isOperator","evaluationType","decimalPlaces","getScientificResult","getLeftToRightResult","removeTrailingSpaces","math","precision","notation","getCalculationParts","evaluatePart","toFixed","numberStart","sign","previousOperator","currentCharacter","operator","getNumberFromValue","spaceOutResult","spacedResult","operatorFound","isNotZeroNumber","operand","addCalculatorSymbols","removeCalculatorSymbols","getPercentageParts","currentChar","calculateDefaultRowCount","screenHeight","innerHeight","clientHeight","calculateRowCount","rowCount","Workings","useListener","updateCounter","lastTime","timeCounter","checkTimeOk","updateRowCount","newRowCount","textFieldProps","notchedOutline","inputBorder","workingsRef","borderColor","singleButton","doubleButton","plusMinus","fontFamily","squareRoot","CalculatorButtonRow","calculator_button","CalculatorDisplay","wordBreak","Calculator","justProcessedAnswer","handleButtonClick","_button","lastCharacter","previousCharacter","operatorAllowed","decimalPointAllowed","onResult","isPositive","previous","plusMinusValue","isValidPercentage","number1","number2","percentage","processPercentage","squareRootValue","processSquareRoot","getExtraButtons","buttonRow","calculator_button_row","calculatorPercentageButton","calculatorSquareButton","displayProps","seb","calculator_display_CalculatorDisplay","getCalculatorButtons","flag","getCalculatorPercentageButton","getCalculatorSquareButton","getWorkings","workingsData","WorkingsPanel","setFocus","handleWorkingsChange","handleCalculatorResult","workingsElement","cursorPosition","caretPos","createTextRange","move","setSelectionRange","setFocusPosition","_result","selectionStart","selectionEnd","workingsBeforeSelection","workingsAfterSelection","workingsProps","workings_Workings","disableCalculator","calculator_Calculator","saveWorkings","MiniQuestionNavigation","nextQuestionId","onQuestionChange","navigateLeft","navigate","navigateRight","unsubscribeFromLeftArrowKey","unsubscribeFromRightArrowKey","getQuestionButton","QuestionProgress","previousQuestion","nextQuestion","useDesktopButtons","NavigateBeforeIcon","NavigateNextIcon","_MESSAGE_IDS$GENERAL","CurrentQuestionNumber","_getQuestionDataById","nextQuestionData","getPreviousQuestionId","previousQuestionData","finishMessageId","FinishExamButton","AssignmentTurnedInIcon","StartAnsweringButton","SCALE","DocumentLoader","pageCount","pageToLoad","onDocumentLoad","numPages","onPageLoad","updateMaxPageWidth","updateLoaderState","createOnPageLoad","documentProps","onLoadSuccess","entry","DocumentPage","pageProps","pageNumber","PdfResourcePanel","navigateBackward","navigateForward","LoadedDocument","KeyboardArrowLeft","KeyboardArrowRight","isFirstPage","isLastPage","loaderProps","document_loader_DocumentLoader","navigationContainer","MobileStepper","documentContainer","Document","steps","stepper","dot","dotActive","activeStep","backButton","getStepperButton","nextButton","MobileStepper_default","SpinnerNode","onContextMenu","scale","PdfJsPanel","pdfProps","pdf_js_panel_PdfJsPanel","CachedPdfResourcePanel","_getCurrentBrowser2","useOldPdfViewer","panel_PdfResourcePanel","panel_pdf_js_PdfResourcePanel","NavigationPanelTitle","SectionHeading","marksText","BookmarkIcon","QuestionButton","order","bookmark_icon_BookmarkIcon","ResultPanel","cardStyle","SectionPanel","headingNode","resultPanel","containerStyle","PropTypes","oneOfType","ResultsPanel","renderableIds","chosenSection","renderables","areSections","getSectionPanels","getResultPanel","ids","_this$props2$data","hideSectionNamesInPlayer","getResultPanelForAllSections","section_panel_SectionPanel","result_panel_ResultPanel","calcSelectedNode","nodes","currentNode","SectionNavigationItem","getNavigationButton","nextNode","SectionNavigationPanel","getParentId","getNavigationItems","navigationItems","_this$props$data","navigation_item_SectionNavigationItem","mappingsHasCurrentQuestion","NavigationPanel","validateMappingIdsAreSections","validateExistenceOfRootMapping","findChosenSection","updateChosenSection","newSectionId","questionDisplayedOnNewSection","getFirstQuestionInSection","resultIds","mappingIds","resultId","changeManually","currentMappings","currentMapping","newSection","findSection","parentResultsId","currentResultsId","nestResults","getFirstQuestionFromMappings","panel_SectionNavigationPanel","panel_ResultsPanel","getMarksForSection","NavigationPanelContent","rootMarks","calculateRootSectionsMarks","section_heading_SectionHeading","question_button_QuestionButton","wrapperStyle","InstructionsButton","ChromeReaderIcon","PrintStaticTextDialog","printing","Print_default","onErrorClose","colour","errorButton","dialog","PrintStaticTextButton","handleCloseDialog","printByApiCall","printByHub","filename","link","print_static_text_dialog_PrintStaticTextDialog","ExamTimeSaver","timeOnLastSave","shouldSave","saveTime","interval","MultiTextSaver","resetTimer","shouldResetElapsedTime","shouldSaveQuestion","saveQuestion","answerOnLastSave","hasAnswerChanged","answerName","ExamQuestionSaver","savePreviousQuestion","saveCurrentQuestion","ExamSaver","getQuestionAnswer","questionVersionId","questionVersionNumber","workings","QuestionSaver","time_ExamTimeSaver","question_ExamQuestionSaver","multi_text_MultiTextSaver","getServerAnswer","doesEndWith","endPart","ExamQuestionPage","popup","popupData","popupType","closePopup","openPopup","needToCloseFullScreen","timesUp","paperPartTimedOut","prevPopup","newPopup","mini_question_navigation_MiniQuestionNavigation","instructions_button_InstructionsButton","onShowInstructions","StartOrFinishButton","DownloadResourceButton","PrintResourceButton","content_ExamContent","inReadingTime","MenuIcon","panel_title_NavigationPanelTitle","RightContent","tryUpdatePopupData","checkPopupChange","hasUnansweredQuestions","getPopupOnConfirm","exam_popup_ExamPopup","clearReadingTime","hasDownload","isPdfResourceViewable","UploadIcon","panel_UploadPanel","ImportContactsIcon","pdf_resource_CachedPdfResourcePanel","BuildIcon","panel_WorkingsPanel","isDownloadableResource","isPrintableResource","print_static_text_button_PrintStaticTextButton","bypassReadingTime","start_button_StartAnsweringButton","finishPart","finishPractice","finish_button_FinishExamButton","areThereUnansweredQuestions","_step3","_getQuestionData","_iterator3","hasPaperPartUnansweredQuestions","nextPaperPartId","parentSectionId","siblingIds","nextIndex","getNextPaperPartId","paperPart","nextPaperPart","clientData","initialFullScreen","getInitialFullScreen","returnObject","nextPartQuestionId","BLOCKING_TYPES","BLOCK","NOTIFY","blockingTypes","validateBlockingValue","blockingValue","getPopup","blockingMessage","setTransition","validateBlockingMessage","validateSetTransition","finalMessage","routingBlocker","RoutingBlocker","blockingFunctions","block","blockingFunction","unsubscribe","ExamQuestionsPageRouter","createQuestionPage","_match$params","page_ExamQuestionPage","blockInvalidRoutingMessage","isValidQuestion","lastForwardSlash","getQuestionIdFromLocation","blockMessage","Switch","Route","exact","render","STACK_TYPES","FIFO","LIFO","StackItem","nextId","previousId","Stack","stackType","frontId","backId","validateNewId","newItem","frontItem","FrontItem","createReferences","tryUpdateBackItem","hasItemWithId","popItem","fromFront","popItemId","itemToPop","getStackItem","neighbourId","neighbourItem","removeReferences","lhsItem","rhsItem","NextId","PreviousId","currentItem","BackItem","generateElements","stack","stackToCopy","currentItemId","stackItems","currentStackItem","storedUsers","StoredUsers","users","removeAll","dangerously_getUsers","storedExams","StoredExams","requestLogMappings","RequestLogMappings","saveToLocalStorage","requestLog","referenceCount","getStaticData","removeMappingReference","saveIt","getMapping","containsUser","containsExam","dangerously_getMappings","dateHasExpired","utc","networkRequestLog","NetworkRequestLog","logs","logStack","FromStack","removeAllLogs","removeExpiredLogs","poppedItems","lastItem","poppedItem","userGuids","examGuids","tryRemoveAssociatedUser","tryRemoveAssociatedExam","removeExcessLogs","MAX_POPS","_requestLog","firstItem","hasRequestLogGotActivities","removeActivitiesFromRequestLog","dangerously_getLogStack","clearSpace","validateQueryType","query","minDt","maxDt","matchesUser","requestData","matchesExam","matchesDate","minDate","maxDate","requestDate","queryLogs","query_logs_createForOfIteratorHelper","getRequestLogStack","findUserActivityByQuery","userActivity","userActivityByGuid","loggedRequest","userActivityItem","requests","userRequest","String","scheduledBugReports","ScheduledBugReports","_localStorageApi$retr2","queue","queryKeys","report","isAlreadyScheduled","processQueue","scheduledReport","POPUPS","NONE","CONNECTION_LOST","CONNECTION_RETURNED","ConnectionLossNotifier","handleOffline","handleOnline","scheduleBugReport","notifyImmediately","ConnectionLostPopup","ConnectionReturnedPopup","okButton","STARTING_EXAM","RUNNING","RUNNING_STATES","QUESTIONS","PAUSE_EXAM","UNPAUSE_EXAM","EXAM_STARTED","SHOW_INSTRUCTIONS","SHOW_QUESTIONS","instructions","startingExam","running","_examRunning","examRunning","ExamUnpauseControl","pause_manager_ExamPauseManager","ExamPauseControl","ExamRunningPageMachine","_examGuid","exam_starter_ExamStarter","machine_ExamPauseControl","exam_saver_ExamSaver","connection_loss_notifier_ConnectionLossNotifier","questions_ExamQuestionsPageRouter","instructions_ExamInstructionsPage","PlayingExamView","machine_ExamUnpauseControl","paused_page_ExamPausedPage","FullScreenError","buttonClick","titleTypographyProps","CardActions_default","_root","Transition","Slide_default","FullScreenDialog","diagProps","fullScreen","TransitionComponent","errorProps","Close_default","error_FullScreenError","LeaveResumeExam","handleLeaveExam","handleResumeExam","handleLeaveBrowser","handleRightClick","getDialogProps","setLeaveExam","setResumeExam","ev","detectLeaveExam","alertLeaveBrowser","preventRightClick","onfocus","onblur","tabFocus","handleGoToFullScreen","full_screen_dialog_FullScreenDialog","dashApi","apiData","subscribeSignalR","groupID","ExamPauseNotifier","pauseExam","unPauseExam","canOrgPause","prevFormGuid","ExamRunningPage","leave_resume_exam_LeaveResumeExam","exam_pause_notifier_ExamPauseNotifier","machine_ExamRunningPageMachine","RedirectToExamIntro","ExamRouter","wasInIntro","ExamInitializedPage","router_ExamRouter","ExamInitializationMachine","exam_clearer_ExamClearer","page_ExamInitializedPage","ExamPage","machine_ExamInitializationMachine","eLearningApi","getCourseAttempts","ATTEMPTS","getCourseAttemptDetails","collections","resolvers","service","entity","getCourseAttemptDetailsDev","getScormData","scoAttemptId","saveScormData","resetScormData","getCourseDetails","getCourseInfo","hasScormFailed","hasScormCompleted","hasScormStarted","displayDate","_date","long","getStatusIcon","_enabled","Star_default","StarHalf_default","StarBorder_default","Block_default","getStatusText","dateStarted","dateEnded","checkForCompletedSwitch","eLearning","allCompleted","oneCompleted","hasCompletedSwitch","completedSwitch","convertCourseData","Course_ID","courseID","attemptId","Course_Name","courseName","Status","DateStarted","DateEnded","GUID","courseInfoTextId","LearningObject_TextMessageID","scos","convertCourseDataScos","ScoAttempts","scoAttemptDetails","sco","Sco_ID","scoID","Sco_Name","scoName","Sco_Url","getCourseDataFromSaveResponse","courseData","SCO","ResetScormButton","schedulesMessageId","GoSchedulesButton","ArrowBack_default","leftIcon","CourseTitle","handleReturnSchedules","handleResetCourse","handleResetSuccess","courseAttemptId","handleResetFailue","updateCourseData","onReturnToSchedules","listItemProps","PrimaryText","SecondaryText","SecondaryAction","Info","secondaryAction","ResetButton","reset_scorm_button_ResetScormButton","go_schedules_button_GoSchedulesButton","statusText","PlayScormButton","getStatusButtonText","ArrowForward_default","listItemAvatar","CourseScos","onPlaySco","showCompletedMessage","lastSco","scoFound","_sco","isScoEnabled","scoProps","isLast","scos_CourseSco","CourseSco","handlePlaySco","handleResetSco","itemProps","resetButton","scormButton","hasScormNotStarted","play_scorm_button_PlayScormButton","SaveCounter","counters","_counter","openFullScreen","WINDOW","IFRAME","SAVE_DATA","SAVE_DATA_CLOSE","READY","SET_PARAMETERS","PlaySco","close","localSaveCounter","getCounter","removeCounter","waitingToClose","needToClosePlayer","closePlayer","handleMessageFromPlayer","getPlayerParameters","sendMessageToPlayer","loadingTimer","scormType","waitIframe","scoPlayer","resizeIframe","_getInitialScormData","studentInfo","attemptData","courseAttemptDetails","coreEntry","getInitialScormData","waitIframeTimer","webkitFullscreenElement","msFullscreenElement","onCloseSco","player","getPlayerUrl","courseProps","titleRef","courseTitle","title_CourseTitle","FullButton","backgroundColour","CourseInfoMessage","completeMessageId","completeReturnMessageId","CourseCompleteMessage","Message","_this$Messages","Messages","completeMessage","returnMessage","_this$Messages2","Course","handleCloseSco","displaySco","handleReturnToSchedules","scoIndex","prevStatus","scoData","_courseData","play_sco_PlaySco","CourseContents","completeProps","scosProps","complete_message_CourseCompleteMessage","scos_CourseScos","_layout","CoursePage","courseAttemptGuid","elearningGuid","handleUpdateCourseData","onCourseInfoSuccess","parsedReponse","getCourseData","course_Course","displayCourses","AdminPage","ConfirmDob","handleDateChange","dob","_date1","_date2","getDate","getMonth","datesAreTheSame","checkBox","material_ui_pickers_esm","datePicker","getLearnerIdentifierLabel","isLearnerIdentifierNI","isLearnerIdentifierPPS","isFormat","removeSpaces","correct","isCharacterNumber","isCharacterAlphabetic","ConfirmLearnerIdentifierText","prevMatch","identifier","CheckBox_default","CheckBoxOutlineBlank_default","textClass","textProps","displayCheckBox","&>div:nth-child(1)","addMessageParameters","_message","_parameters","ConfirmLearnerIdentifier","confirmMode","confirmMessage","enterMessage","confirm_learner_identifier_text_ConfirmLearnerIdentifierText","labelText","Checkbox","nextMessageId","rubricMessageId","rubricIntroMessageId","confirmNameMessageId","confirmInstructionsMessageId","RubricForm","checkedCount","checkboxCount","NeedsToConfirmDob","NeedsToConfirmLearnerIdentifier","onCheckboxChange","oldCheckedCount","onUnfilled","onFilled","Rubric","Agreement","Button","rubricTextContainer","rubricText","rubric","rubricPaper","checks","FormGroup_default","ConfirmMessage1","ConfirmMessage2","DateOfBirthConfirmMessage","LearnerIdentifierConfirmMessage","confirmDobMode","dobProps","confirm_dob_ConfirmDob","confirmLearnerIdentifierMode","confirm_learner_identifier_ConfirmLearnerIdentifier","UNCHECKED","CHECKED","unchecked","_rubric","RubricFormMachine","form_RubricForm","welcomeMessageId","RubricPage","machine_RubricFormMachine","_scheduleButton","schedulesText","clockIcon","scheduleButton","Clock","formattedDateString","serverTime","getServerDateTime","delta","timerStart","serverStartTime","formattedDate","ScheduleItem","resetting","handleCheat","openExam","needToStartProctorio","listItemTextProps","secondaryTypographyProps","CheatAction","scheduleInfo","completedDtFmt","getSecondaryAction","completedDt","getShowCompleted","eLearningData","ElearningSchedule","openElearning","attemptGUID","_guid","isButton","ElearningCompletedSwitch","shortMessage","words","getShortMessage","Switch_default","labelPlacement","ElearningSchedules","handleSwitchChange","showCompletedValue","_checkForCompletedSwi","ElearningList","switchProps","School_default","switch","elearning_completed_switch_ElearningCompletedSwitch","displayElearning","getNotCompleted","_eLearning","eLearningProps","elearning_schedule_ElearningSchedule","elearningData","setShowCompleted","schedulesTitleMessageId","SchedulesForm","Assessments","Elearning","SchedulesText","RefreshButton","SchedulesList","eLearningCount","elearning_schedules_ElearningSchedules","AccessTime_default","clock_Clock","scheduleItems","item_ScheduleItem","schedulesTable","onRefresh","Autorenew_default","SchedulesInitializationPage","welcomeMessage","SchedulesClearer","clearSchedules","clearElearning","sortElearning","sort","dateA","dateB","SchedulesFetcher","assessments","courses","uniqueAssessments","assessment","sortedCourses","saveElearning","includeCompleted","INITIALIZING_SCHEDULES","DISPLAYING_SCHEDULES","INITIALIZATION_ERROR","CLEARING_SCHEDULES","FETCHING_SCHEDULES","clearingSchedules","fetchingSchedules","initializingSchedules","displayingSchedules","initializationError","_schedules","SchedulesPageMachine","page_SchedulesInitializationPage","schedules_clearer_SchedulesClearer","schedules_fetcher_SchedulesFetcher","InitializingSchedulesView","form_SchedulesForm","SchedulesPage","machine_SchedulesPageMachine","displayCellData","dateString","activityValue","desc","orderBy","EnhancedTableHead","createSortHandler","onRequestSort","onSelectAllClick","numSelected","indeterminate","numeric","disablePadding","sortDirection","enterDelay","TableSortLabel_default","EnhancedTableToolbar","icons","spacer","lighten","EnhancedTable","handleRequestSort","handleSelectAllClick","selectedIndex","newSelected","handleChangePage","handleChangeRowsPerPage","rowsPerPage","isSelected","prevData","prevSelected","onSelectChange","emptyRows","activity_log_table_EnhancedTableToolbar","tableWrapper","table","activity_log_table_EnhancedTableHead","cmp","stabilizedThis","el","stableSort","getSorting","hover","role","aria-checked","tabIndex","scope","TablePagination_default","rowsPerPageOptions","backIconButtonProps","nextIconButtonProps","onChangePage","onChangeRowsPerPage","deleteKeyFormRunGuids","deletedRecords","uploadFormRunGuid","currentFormRunGuid","_formRunGuids$current","ActivityLogsPage","handleSelectChange","handleReset","getData","getLogs","deleteFormRunGuids","foundFormRunGuids","_foundFormRunGuids","foundFormRunGuid","uploadFormRunGuids","clear","displayLogs","_this6","ArrowUpward_default","movePage","activity_log_table_EnhancedTable","ActivityLogPage","logId","displayActivities","InactivityDetector","handleInactivity","logOut","isInactivityTimerActive","isActive","createLogoutFunction","IGNORED_ENDPOINTS","NetworkRequestLogger","logNetworkRequest","requestState","convertToRequestLog","storeUserAndExam","getUserName","ScheduledBugReportSender","examApiQueue","PromiseQueue","Infinity","removeActiviesFromPayload","_payload","TYPES","APIS","_APIS","FUNCTIONS","_FUNCTIONS","ExamRequestSaverProvider","showPopup","providerValue","logRequest","getLocalExamQueue","localExamQueues","usersQueues","removeRequestLocally","examQueue","requestIndex","userQueues","storeFailedRequestLocally","fromTrySendRequest","func","storeRequestLocally","onAcivityLogSuccess","moveStoredRequestsToFailed","setOfflineMode","_type","trySendRequest","moveAllExamQueusToFailedRequests","examQueues","_localStorageApi$retr4","oldQueueLength","flushFailedRequests","createNewIds","generateCallbacksId","startPinging","pingInterval","RedirectToProctorio","CantRedirectPopup","REDIRECT_TO_PROCTORIO","CANT_REDIRECT","redirectToProctori","cantRedirect","_proctorioRedirect","proctorioRedirect","RedirectProctorioMachine","redirect_to_proctorio_RedirectToProctorio","cant_redirect_popup_CantRedirectPopup","RedirectProctorioMachinePage","redirect_machine_RedirectProctorioMachine","ProctorioEndPage","SessionPageRouter","settingsFetched","currentPath","nextPath","network_request_logger_NetworkRequestLogger","inactivity_detector_InactivityDetector","scheduled_bug_report_sender_ScheduledBugReportSender","provider_ExamRequestSaverProvider","SessionPageWrapper","double_login_DoubleLogin","session_page_router_SessionPageRouter","token_refresher_TokenRefresher","NoClientPage","LogoPreloader","configApi","EndpointUrl","HubpointUrl","AuthenticationUrl","numValue","setActivityLogger","SettingsInitializer","saveSettings","SessionLoader","loadUserSession","loadClientSession","loadClientSettings","loadTokens","SessionVerifier","LoginUrlChecker","isLoginUrl","onLoginUrl","onOtherUrl","LoginUrlInitializer","INITIALIZE_ERROR","INITIALIZING_APP_SETTINGS","VALIDATING_APP_SETTINGS","INITIALIZING_CLIENT","INITIALIZING_GENERAL_MESSAGES","PRELOADING_LOGOS","NO_CLIENT","VALIDATING_APP_SETTINGS_STATES","CHECKING_BROWSER_SUPPORT","UNSUPPORTED_BROWSER","INITIALIZING_CLIENT_STATES","CHECKING_LOGIN_ATTEMPT","LOADING_SESSION","VERIFYING_SESSION","INITIALIZING_SESSION","INITIALIZING_LOGIN_URL","LOGIN_ATTEMPT","VALID_SESSION","SESSION_LOADED","INVALID_SESSION","NO_LOGIN_ATTEMPT","CONFIG_INITIALIZED","CLIENT_INITIALIZED","SESSION_INITIALIZED","INITIALIZE_FAILED","SESSION_MESSAGES_INITALIZED","DETECTED_UNSUPPORTED_BROWSER","checkingLoginAttempt","loadingSession","verifyingSession","initializingSession","initializingLoginUrl","checkingBrowserSupport","unsupportedBrowser","initializingAppSettings","validatingAppSettings","initializingClient","initializingGeneralMessages","preloadingLogos","noClient","initializeError","_init","checkVersionsSupported","supportedVersions","isVersionSupported","is","equals","contains","checkBrowserSupport","checkVersionSupport","BrowserChecker","isCurrentBrowserSupported","onSupported","onNotSupported","BROWSER","AOL","EDGE","EDGE_CHROMIUM","CHROME","FIREFOX","FXIOS","CRIOS","IE","SAFARI","IOS","BROWSER_IMAGES","OPERA","displayVersionsText","versionsText","isIncludeText","startingText","SupportedBrowser","heading","getTextForSupportedBrowser","singleVersions","getSingleVersionsText","singleVersionsText","localeCompare","browserListStyle","textStyle","padding-bottom","displaySupportedBrowsers","sortedSupportedBrowsers","sortSupportedBrowsers","currentBrowserSupported","starting","displayCurrentBrowserText","supported_browser_SupportedBrowser","browserList","UnsupportedBrowserPage","_detectBrowser2","settings_initializer_SettingsInitializer","browser_checker_BrowserChecker","unsupported_browser_UnsupportedBrowserPage","ValidatingAppSettingsView","login_url_checker_LoginUrlChecker","session_loader_SessionLoader","session_verifier_SessionVerifier","session_initializer_SessionInitializer","login_url_initializer_LoginUrlInitializer","InitializingClientView","logo_preloader_LogoPreloader","no_client_page_NoClientPage","AppInitializationMachine","setAppInitialized","LoadingText","dotCount","maxDots","updateDotCount","minDots","MaterialTextProps","AppInitializationPage","machine_AppInitializationMachine","PageRouter","atLogin","toNonLogin","page_NetworkErrorPage","page_AppInitializationPage","AppBarLogo","UserSelector","Options","NullOption","uniqueUserGuids","findUserGuidsByQuery","createKey","ExamSelector","uniqueExamGuids","findExamGuidsByQuery","DateTimeSelector","dateTimeString","colonIndex","BugReportForm","setUserGuid","setDt","dateKey","dt","isMinDt","minDateTime","isValidDateRange","validateDateRange","setMinDt","setMaxDt","setBugDescription","user_selector_UserSelector","ExamSelectorRow","getDateTimeSelectorRow","date_time_selector_DateTimeSelector","exam_selector_ExamSelector","BugReportPopup","canSubmit","updateFormData","submitForm","form_BugReportForm","cancel_button_CancelButton","submit_button_SubmitButton","BugReportButton","BugReport_default","BugReporter","openBugReportForm","closeBugReportForm","button_BugReportButton","popup_BugReportPopup","ActivityReporter","isOn","Assessment_default","ProctoringIndicator","logOffMessageId","LogoutButton","ariaLabel","ExitToApp_default","getTheme","themeData","ThemeSelectorItem","colour1","colour2","border1","border2","&>div:not(:last-child)","bgr","ThemeSelector","themeNames","setCurrentTheme","currentTheme","renderValue","theme_selector_item_ThemeSelectorItem","withDefaultFirst","themesData","VersionNumber","chipProps","AppBar","colorPrimary","Logo","WelcomeMessage","OtherContent","theme_selector_ThemeSelector","proctoring_indicator_ProctoringIndicator","version_number_VersionNumber","flexBasis","bug_reporter_BugReporter","activity_reporter_ActivityReporter","logo_AppBarLogo","TitleComponent","logout_button_LogoutButton","other","PageWrapper","AppPageProvider","AppPage","defaultValue","initializeContext","setStateValue","unsetStateValue","nextValue","contextValue","provider_AppPageProvider","provider_MessagesProvider","app_bar_AppBar","page_wrapper_PageWrapper","page_router_PageRouter","App","app_page_AppPage","adjustMuiPalette","muiPalette","getMuiPalette","convertToMuiPalette","defaultTheme","createDefaultTheme","AppTheme","muiThemeConfig","typography","useNextVariants","createMuiTheme","augmentColor","augmentNonStandardColors","MuiThemeProvider_default","AppRouteBlocker","unblock","AppRouter","BrowserRouter","getUserConfirmation","app_route_blocker_AppRouteBlocker","componentStack","NetworkErrorBrowserNavigation","removeNetworkError","AppWrapper","components_error_logger_ErrorLogger","app_theme_AppTheme","app_router_AppRouter","network_error_browser_navigation_NetworkErrorBrowserNavigation","app_App","createStore","applyMiddleware","Xams","es","utils","DateFnsUtils","app_wrapper_AppWrapper","src_Xams","webpackEmptyContext","req","Error","code","module","exports"],"mappings":"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","file":"static/js/main.082847dd.chunk.js","sourcesContent":["import moment from \"moment\";\r\n\r\nconst getTimeStamp=()=>{\r\n // const date = new moment(); \r\n // return date.subtract(1, \"days\").toISOString(); \r\n \r\n return new Date().toISOString();\r\n}\r\n\r\nconst incrementTimeStamp = (timeStamp) => {\r\n const date = new moment(timeStamp);\r\n \r\n return date.add(1, \"ms\").toISOString();\r\n };\r\n\r\n export {incrementTimeStamp, getTimeStamp}","// npm\r\n// import {Map as ImmutableMap} from 'immutable'\r\nimport * as Immutable from \"immutable\";\r\nimport { check } from \"@xams-utils/check-types\";\r\nimport { getTimeStamp } from \"utils/time-stamp\";\r\n\r\n// redux\r\nimport * as ACTION_TYPES from \"./action-types\";\r\n\r\nconst initialState = {\r\n initialized: false,\r\n networkError: false,\r\n networkErrorInfo: null,\r\n offlineReason: Immutable.List(),\r\n};\r\n\r\nconst APP_REDUCER = (state = Immutable.Map(initialState), action) => {\r\n switch (action.type) {\r\n case ACTION_TYPES.INITIALIZED:\r\n return state.set(\"initialized\", true);\r\n case ACTION_TYPES.SET_NETWORK_ERROR:\r\n return state.set(\"networkError\", action.value);\r\n case ACTION_TYPES.SET_NETWORK_ERROR_INFO:\r\n return state.set(\"networkErrorInfo\", action.value); \r\n case ACTION_TYPES.SET_OFFLINE_MODE: {\r\n if (check.boolean(action.value)) {\r\n return state.set(\"offline\", action.value);\r\n } else if (check.object(action.value)) {\r\n const { offline } = action.value;\r\n state = state.set(\"offline\", offline);\r\n\r\n const reason = { ...action.value };\r\n reason.timeStamp = getTimeStamp();\r\n\r\n //state = state.set('offlineReason', Immutable.Map(action.value));\r\n state = state.update(\"offlineReason\", (reasons) =>\r\n reasons.push(Immutable.Map(reason))\r\n );\r\n\r\n return state;\r\n }\r\n }\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport { APP_REDUCER };\r\n","\r\n// npm\r\nimport check from 'check-types'\r\nimport * as Immutable from 'immutable'\r\n\r\n\r\nconst validateMappingsType = (mappings) =>\r\n{\r\n\tconst correctType = check.object.of.function(mappings);\r\n\tif (!correctType) { throw \"CombineImmtableReducers: Bad 'mappings' type\"; }\r\n}\r\n\r\nconst validateReducerType = (reducer) =>\r\n{\r\n\tif (reducer === undefined) { return; }\r\n\tconst correctType = check.function(reducer);\r\n\tif (!correctType) { throw \"CombineImmtableReducers: Bad 'reducer' type\"; }\r\n}\r\n\r\nconst combineImmutableReducers = (ownReducer, childReducerMappings) =>\r\n{\r\n\tvalidateReducerType(ownReducer);\r\n\tvalidateMappingsType(childReducerMappings);\r\n\r\n\treturn (state=Immutable.Map(), action) => {\r\n\t\tObject.keys(childReducerMappings).forEach(key => {\r\n\t\t\tlet _state = state.get(key);\r\n\t\t\tlet _reducer = childReducerMappings[key];\r\n\t\t\tstate = state.set(key, _reducer(_state, action));\r\n\t\t});\r\n\r\n\t\treturn !!ownReducer ? ownReducer(state, action) : state;\r\n\t}\r\n}\r\n\r\n\r\nexport {combineImmutableReducers}","\r\n// utils\r\nimport {combineImmutableReducers} from 'utils/combine-immutable-reducers'\r\n\r\n// redux (reducers)\r\nimport {CACHED_PDFS_REDUCER} from './pdfs/reducer'\r\nimport {CACHED_IMAGES_REDUCER} from './images/reducer'\r\n\r\n\r\nconst CACHE_REDUCER = combineImmutableReducers(undefined, {\r\n\timages: CACHED_IMAGES_REDUCER,\r\n\tpdfs: CACHED_PDFS_REDUCER\r\n});\r\n\r\n\r\nexport {CACHE_REDUCER}","\r\n// npm\r\nimport {Map as ImmutableMap} from 'immutable'\r\n\r\n// redux (action-types)\r\nimport * as ACTION_TYPES from './action-types'\r\n\r\n\r\nconst CACHED_IMAGES_REDUCER = (state=ImmutableMap(), action) =>\r\n{\r\n\tswitch (action.type)\r\n\t{\r\n\t\tcase ACTION_TYPES.CACHE_IMAGE:\r\n\t\t\treturn state.set(action.imageUrl, action.blobUrl);\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n}\r\n\r\n\r\nexport {CACHED_IMAGES_REDUCER}","\r\nconst CACHE_IMAGE = '[cache][images]cache.image';\r\n\r\n\r\nexport {CACHE_IMAGE}","\r\n// npm\r\nimport {Map as ImmutableMap} from 'immutable'\r\n\r\n// redux (action-types)\r\nimport * as ACTION_TYPES from './action-types'\r\n\r\n\r\nconst CACHED_PDFS_REDUCER = (state=ImmutableMap(), action) =>\r\n{\r\n\tswitch (action.type)\r\n\t{\r\n\t\tcase ACTION_TYPES.CACHE_PDF:\r\n\t\t\treturn state.set(action.pdfUrl, action.blobUrl);\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n}\r\n\r\n\r\nexport {CACHED_PDFS_REDUCER}","\r\nconst CACHE_PDF = '[cache][pdfs]cache.pdf';\r\n\r\n\r\nexport {CACHE_PDF}","const CLEAR = '[login][credentials]clear';\nconst CLEAR_PASSWORD = '[login][credentials]clear.password';\nconst SET_USERNAME = '[login][credentials]set.username';\nconst SET_PASSWORD = '[login][credentials]set.password';\n\nexport {\n\tCLEAR,\n\tCLEAR_PASSWORD,\n\tSET_USERNAME,\n\tSET_PASSWORD\n}","\n// npm\nimport * as Immutable from 'immutable'\n\n// redux\nimport * as ACTION_TYPES from './action-types'\nimport {CREDENTIALS_REDUCER} from './credentials/reducer'\n\n\nconst reducerMapping = {\n\tcredentials: CREDENTIALS_REDUCER\n}\n\nconst LOGIN_REDUCER = (state=Immutable.Map(), action) =>\n{\n\t['credentials'].forEach(stateProperty => {\n\t\tlet _state = state.get(stateProperty);\n\t\tlet _reducer = reducerMapping[stateProperty];\n\t\tstate = state.set(stateProperty, _reducer(_state, action));\n\t});\n\n\tswitch (action.type)\n\t{\n\t\tcase ACTION_TYPES.SET_ERROR:\n\t\t\treturn state.set('error', action.value);\n\t\tcase ACTION_TYPES.CLEAR_ERROR:\n\t\t\treturn state.delete('error');\n\t\tdefault:\n\t\t\treturn state;\n\t}\n}\n\n\nexport {LOGIN_REDUCER}","\n// npm\nimport * as Immutable from 'immutable'\n\n// redux\nimport * as ACTION_TYPES from './action-types'\n\n\nconst CREDENTIALS_REDUCER = (state=Immutable.Map(), action) =>\n{\n\tswitch (action.type)\n\t{\n\t\tcase ACTION_TYPES.SET_USERNAME:\n\t\t\treturn state.set('u', action.value);\n\t\tcase ACTION_TYPES.SET_PASSWORD:\n\t\t\treturn state.set('p', action.value);\n\t\tcase ACTION_TYPES.CLEAR:\n\t\t\treturn Immutable.Map();\n\t\tcase ACTION_TYPES.CLEAR_PASSWORD:\n\t\t\treturn state.delete('p');\n\t\tdefault:\n\t\t\treturn state;\n\t}\n}\n\n\nexport {CREDENTIALS_REDUCER}","const CREATE_SESSION = \"[session][user]create.session\";\nconst REMOVE_SESSION = \"[session][user]remove.session\";\nconst LOAD_SESSION = \"[session][user]load.session\";\nconst SET_PUBLIC_EXAM_USER_NAME = \"[session][user]set.public.exam.user.name\";\n\nexport {CREATE_SESSION, REMOVE_SESSION, LOAD_SESSION, SET_PUBLIC_EXAM_USER_NAME}","\r\n// xams-utils\r\nimport {check} from '@xams-utils/check-types'\r\n\r\n\r\n// Cookies class\r\n// ------------------------------------------------------------------------------\r\n\r\nconst validateCookieName = (name) =>\r\n{\r\n\tif (!check.nonEmptyString(name)) {\r\n\t\tthrow \"[Cookies.set] name must be a non-empty string\";\r\n\t}\r\n}\r\n\r\nconst validateCookieValue = (value) =>\r\n{\r\n\tif (!check.string(value)) {\r\n\t\tthrow \"[Cookies.set] value must be a string\";\r\n\t}\r\n}\r\n\r\nconst validateCookiePath = (path) =>\r\n{\r\n\tif (!check.nonEmptyString(path)) {\r\n\t\tthrow \"[Cookies.set] path must be a non-empty string\";\r\n\t}\r\n\r\n\tif (!path.startsWith('/')) {\r\n\t\tthrow \"[Cookies.set] path must begin with a '/' (RFC 6265)\";\r\n\t}\r\n}\r\n\r\nconst validateCookieDomain = (domain) =>\r\n{\r\n\tif (!check.nonEmptyString(domain)) {\r\n\t\tthrow \"[Cookies.set] domain must be a non-empty string\";\r\n\t}\r\n\r\n\tif (domain.indexOf('.') === -1) {\r\n\t\tthrow \"[Cookies.set] domain is not valid\";\r\n\t}\r\n}\r\n\r\nconst validateCookieMaxAge = (maxAge) =>\r\n{\r\n\tif (!check.integer(maxAge)) {\r\n\t\tthrow \"[Cookies.set] maxAge must be an integer (in seconds)\";\r\n\t}\r\n}\r\n\r\nconst validateCookieExpires = (expires) =>\r\n{\r\n\tconst date = Date.parse(expires);\r\n\t\r\n\tif (date === NaN) {\r\n\t\tthrow \"[Cookies.set] expires must be a date-formatted string\";\r\n\t}\r\n}\r\n\r\nconst validateCookieSecure = (secure) =>\r\n{\r\n\tif (!check.boolean(secure)) {\r\n\t\tthrow \"[Cookies.set] secure must be a boolean\";\r\n\t}\r\n}\r\n\r\nconst validateCookieSameSite = (sameSite) =>\r\n{\r\n\tif (!check.boolean(sameSite)) {\r\n\t\tthrow \"[Cookies.set] sameSite must be a boolean\";\r\n\t}\r\n}\r\n\r\n\r\n// Cookies class\r\n// ------------------------------------------------------------------------------\r\n\r\nclass Cookies\r\n{\r\n\tset(name, value, options={})\r\n\t{\r\n\t\tconst {path, domain, maxAge, expires, secure, sameSite} = options;\r\n\t\tconst preformattedCookie = [];\r\n\r\n\t\tvalidateCookieName(name);\r\n\t\tpreformattedCookie.push(`${name}=`);\r\n\r\n\t\tvalidateCookieValue(value);\r\n\t\tpreformattedCookie.push(value);\r\n\r\n\t\tif (check.assigned(path)) {\r\n\t\t\tvalidateCookiePath(path);\r\n\t\t\tpreformattedCookie.push(`;path=${path}`);\r\n\t\t}\r\n\r\n\t\tif (check.assigned(domain)) {\r\n\t\t\tvalidateCookieDomain(domain);\r\n\t\t\tpreformattedCookie.push(`;domain=${domain}`);\r\n\t\t}\r\n\r\n\t\tif (check.assigned(maxAge)) {\r\n\t\t\tvalidateCookieMaxAge(maxAge);\r\n\t\t\tpreformattedCookie.push(`;max-age=${maxAge}`)\r\n\t\t}\r\n\r\n\t\tif (check.assigned(expires)) {\r\n\t\t\tvalidateCookieExpires(expires);\r\n\t\t\tconst date = new Date(expires);\r\n\t\t\tpreformattedCookie.push(`;expires=${date.toUTCString(date)}`);\r\n\t\t}\r\n\r\n\t\tif (check.assigned(secure)) {\r\n\t\t\tvalidateCookieSecure(secure);\r\n\t\t\tpreformattedCookie.push(\";secure\");\r\n\t\t}\r\n\r\n\t\tif (check.assigned(sameSite)) {\r\n\t\t\tvalidateCookieSameSite(sameSite);\r\n\t\t\tpreformattedCookie.push(\";samesite=strict\");\r\n\t\t}\r\n\r\n\t\tdocument.cookie = preformattedCookie.join('');\r\n\t}\r\n\r\n\tget(name)\r\n\t{\r\n\t\tconst cookiesString = decodeURIComponent(document.cookie);\r\n\t\tconst cookies = cookiesString.split(';').map(cookie => cookie.trim());\r\n\t\tconst cookieIndex = cookies.findIndex(cookie => cookie.startsWith(`${name}=`));\r\n\t\tif (cookieIndex === -1) { return; }\r\n\t\tconst cookie = cookies[cookieIndex];\r\n\t\treturn cookie.substring(cookie.indexOf('=') + 1);\r\n\t}\r\n\r\n\tdelete(name, options={})\r\n\t{\r\n\t\tthis.set(name, \"\", {maxAge: 1, ...options});\r\n\t}\r\n}\r\n\r\n\r\n// EXPORT\r\n// ------------------------------------------------------------------------------\r\n\r\nconst COOKIE_NAMES = {\r\n\tUSER: 'xams-user',\r\n\tCLIENT: 'xams-client',\r\n\tTOKENS: 'xams-token',\r\n\tSETTINGS: 'xams-settings',\r\n\tSCHEDULE: 'xams-schedule',\r\n\tEXAM: 'xams-exam'\r\n}\r\n\r\nconst cookies = new Cookies();\r\n\r\nexport {COOKIE_NAMES, cookies}","\n// xams-utils\nimport {check} from '@xams-utils/check-types'\n\n\nclass StorageApi\n{\n\tconstructor(storageObject, keys)\n\t{\n\t\tthis.storage = storageObject;\n\t\tthis.keys = [...keys];\n\t\tthis.initializeDefaultStorageValues();\n\t}\n\n\tinitializeDefaultStorageValues()\n\t{\n\t\tthis.emptyKeys.forEach(key => {\n\t\t\tthis.resetDataFor(key);\n\t\t});\n\t}\n\n\tretrieveDataFrom(key)\n\t{\n\t\tthis.validateStorageExists(key);\n\t\tconst serializedState = this.storage.getItem(key);\n\t\tif (!serializedState) { alert(`Storage key '${key}' not initialized`); }\n\t\treturn JSON.parse(serializedState);\n\t}\n\n\tsaveDataTo(key, data)\n\t{\n\t\tif (!check.object(data)) { throw \"storage data must be an object\"; }\n\t\tconst serializedState = JSON.stringify(data);\n\t\tthis.storage.setItem(key, serializedState);\n\t}\n\n\thasData(key)\n\t{\n\t\tthis.validateStorageExists(key);\n\t\tconst serializedState = this.storage.getItem(key);\n\t\treturn serializedState && serializedState !== \"{}\";\n\t}\n\n\tresetAllData()\n\t{\n\t\tthis.storageTypes.forEach(key => {\n\t\t\tthis.resetDataFor(key)\n\t\t});\n\t}\n\n\tresetDataFor(key)\n\t{\n\t\tthis.storage.setItem(key, JSON.stringify({}));\n\t}\n\n\tget emptyKeys()\n\t{\n\t\treturn this.keys.filter(key => {\n\t\t\treturn this.storage.getItem(key) === null;\n\t\t})\n\t}\n\n\tvalidateStorageExists(key)\n\t{\n\t\tif (!this.keys.includes(key)) {\n\t\t\talert(`No '${key}' storage type`);\n\t\t}\n\t}\n}\n\n\nexport {StorageApi}","// other modules\nimport {StorageApi} from './storage-api'\n\n\nconst KEYS = {\n\tUSER: 'user',\n\tTOKENS: 'tokens',\n\tCLIENT_SESSION: 'client.session',\n\tCLIENT_SETTINGS: 'client.settings',\n\tEXTERNAL_EXAM: 'external.exam',\n\tEXTERNAL_SCHEDULE: 'external.schedule',\n\tSTUDENT_LOGIN: 'student.login',\n\tSTUDENT_LOGIN_DETAILS: 'student.login.details',\n\tSTUDENT_LOGIN_RESPONSE: 'student.login.response',\n\tSTUDENT_REFERRER: 'student.referrer'\n}\n\nconst sessionStorageApi = new StorageApi(window.sessionStorage, Object.values(KEYS));\nObject.freeze(sessionStorageApi);\n\nexport {sessionStorageApi, KEYS}","// npm\nimport * as Immutable from 'immutable'\n\n// xams-utils\nimport {check} from '@xams-utils/check-types'\n\n// redux\nimport * as ACTION_TYPES from './action-types'\n\n// utils\nimport {COOKIE_NAMES, cookies} from 'utils/cookies'\nimport {KEYS, sessionStorageApi} from 'libs/browser_storage/session-storage-api'\n\n\n\nconst handleSessionCreation = (state, action) =>\n{\n\tconst {id, guid, firstName, lastName, languageId, dateOfBirth, admin, learnerIdentifier, email} = action;\n\n\tconst data = {id, guid, languageId, firstName, lastName, dateOfBirth, admin, learnerIdentifier, email};\n\n\tsessionStorageApi.saveDataTo(KEYS.USER, data);\n\treturn Immutable.Map(data);\n}\n\nconst handleSessionRemoval = (state, action) =>\n{\n\tsessionStorageApi.resetDataFor(KEYS.USER);\n\treturn Immutable.Map();\n}\n\nconst loadFromQueryString = () =>\n{\n\tconst urlParameters = new URLSearchParams(window.location.search);\n\tconst externalSessionData = urlParameters.get('x');\n\tif (!externalSessionData) { return; }\n\n\tconst parsedSessionData = JSON.parse(externalSessionData);\n\tconst data = parsedSessionData.user;\n\tsessionStorageApi.saveDataTo(KEYS.USER, data);\n\n\treturn data;\n}\n\nconst handleSessionLoad = () =>\n{\n\tconst data = loadFromQueryString() || sessionStorageApi.retrieveDataFrom(KEYS.USER);\n\treturn Immutable.Map(data);\n}\n\n\nconst USER_REDUCER = (state=Immutable.Map(), action) =>\n{\n\tswitch (action.type)\n\t{\n\t\tcase ACTION_TYPES.LOAD_SESSION:\n\t\t\treturn handleSessionLoad(state, action);\n\t\tcase ACTION_TYPES.CREATE_SESSION:\n\t\t\treturn handleSessionCreation(state, action);\n\t\tcase ACTION_TYPES.REMOVE_SESSION:\n\t\t\treturn handleSessionRemoval(state, action);\n\t\tcase ACTION_TYPES.SET_PUBLIC_EXAM_USER_NAME:\n\t\t\treturn state.set('publicExamUserName', action.value);\n\t\tdefault:\n\t\t\treturn state;\n\t}\n}\n\nexport {USER_REDUCER}","// npm\nimport {Map as ImmutableMap} from 'immutable'\n\n// xams-utils\nimport {check} from '@xams-utils/check-types'\n\n// redux (action-types)\nimport * as ACTION_TYPES from './action-types'\n\n// utils\nimport {KEYS, sessionStorageApi} from 'libs/browser_storage/session-storage-api'\nimport {COOKIE_NAMES, cookies} from 'utils/cookies'\n\n\nconst handleSessionCreation = (action) =>\n{\n\tconst data = {\n\t\tid: action.orgId,\n\t\turlToken: action.urlToken\n\t};\n\n\tsessionStorageApi.saveDataTo(KEYS.CLIENT_SESSION, data);\n\treturn ImmutableMap(data);\n}\n\nconst handleSessionRemoval = () =>\n{\n\tsessionStorageApi.resetDataFor(KEYS.CLIENT_SESSION);\n\treturn ImmutableMap();\n}\n\nconst loadFromQueryString = () =>\n{\n\tconst urlParameters = new URLSearchParams(window.location.search);\n\tconst externalSessionData = urlParameters.get('x');\n\tif (!externalSessionData) { return; }\n\n\tconst parsedSessionData = JSON.parse(externalSessionData);\n\tconst data = parsedSessionData.client;\n\tsessionStorageApi.saveDataTo(KEYS.CLIENT_SESSION, data);\n\n\treturn data;\n}\n\nconst handleSessionLoad = () =>\n{\n\tconst data = loadFromQueryString() || sessionStorageApi.retrieveDataFrom(KEYS.CLIENT_SESSION);\n\treturn ImmutableMap(data);\n}\n\n\nconst CLIENT_REDUCER = (state=ImmutableMap(), action) =>\n{\n\tswitch (action.type)\n\t{\n\t\tcase ACTION_TYPES.LOAD_SESSION:\n\t\t\treturn handleSessionLoad();\n\t\tcase ACTION_TYPES.CREATE_SESSION:\n\t\t\treturn handleSessionCreation(action);\n\t\tcase ACTION_TYPES.REMOVE_SESSION:\n\t\t\treturn handleSessionRemoval();\n\t\tdefault:\n\t\t\treturn state;\n\t}\n}\n\nexport {CLIENT_REDUCER}","const LOAD_TOKENS = \"[session][tokens]load.tokens\"\nconst SAVE_TOKENS = \"[session][tokens]save.tokens\"\nconst DISCARD_TOKENS = \"[session][tokens]discard.tokens\"\n\nexport {LOAD_TOKENS, SAVE_TOKENS, DISCARD_TOKENS}","\nconst ENDPOINTS = {\n PING: 'assessment/api/assessment/ping',\n ORGS: 'org/api/Orgs',\n USER: 'org/api/Users',\n LOG_ERROR: 'error/api/Error',\n BUG_REPORT: 'error/api/DebugReport',\n LOGOUT: 'assessment/api/assessment/logout',\n ABANDON_SESSION: 'assessment/api/assessment/abandon',\n AUTHENTICATION: 'connect/token',\n LOGIN_TOKEN: 'security/api/Token/CheckStudentLogin',\n ADMIN_LOGIN: 'user/login/zigzagoon',\n INIT: 'assessment/api/assessment/init',\n MESSAGES: 'message/api/Messages/system',\n TIME: 'assessment/api/assessment/serverdatetime',\n SETTING: 'settings/api/settings/setting',\n ASCX: 'ascx/api/ascx',\n SET_PASSWORD_TOKEN:{\n CHECK_LOCAL: 'http://localhost/projects/sco_player/server/set_password_token/check.php',\n CHECK: 'security/api/Password/checktoken',\n SET: 'http://localhost/projects/sco_player/server/set_password/token/set.php',\n RESET: 'security/api/password/reset',\n },\n PASSWORD: {\n FORGOT : 'security/api/password/recover',\n RESET: 'security/api/password/reset',\n GET_LOGIN_DATA: 'security/api/Token/StudentLogin'\n }, \n SCHEDULE: {\n FETCH: 'assessment/api/assessment/schedules',\n WORK: 'assessment/api/assessment/work',\n CAN_START: 'assessment/api/assessment/canstart',\n VERIFY_PASSWORD: 'assessment/api/assessment/checkpassword'\n },\n ASSESSMENT: {\n START: 'assessment/api/assessment/start',\n RESET: 'assessment/api/assessment/reset',\n FETCH: 'assessment/api/assessment/exam/json',\n COMPLETE: 'assessment/api/assessment/complete',\n GET_RESULT: 'assessment/api/assessment/result',\n IS_COMPLETE: 'formrun/api/FormRuns/query',\n SAVE_TIME: 'assessment/api/assessment/savetime',\n SAVE_ANSWER: 'assessment/api/assessment/saveanswer',\n SAVE_ACTIVITY_LOG: 'assessment/api/assessment/activitylog',\n PRINT_STATIC_TEXT: 'print/Question/pdfAsLink'\n },\n UPLOAD: {\n DATABASEINFO: 'upload/databaseinfo',\n UPLOAD: 'upload/upload',\n FILES: 'upload/upload/files',\n DELETE: 'upload/upload',\n DOWNLOAD: 'upload/upload'\n },\n ELEARNING:{\n COURSE: {\n QUERY: 'lms/api/CourseAttempts/query',\n INFO: 'message/api/Messages/form'\n }, \n SCORM:{\n GET: 'lms/api/ScoAttempt',\n SAVE: 'lms/api/ScoAttempt',\n RESET: 'http://localhost/projects/sco_player/server/ajax/reset_scorm_data.php',\n }\n },\n PROCTORING:{\n GET_PROCTORIO_LAUNCH_URL: 'proctor/api/Proctorio/launchurl'\n },\n DASH:{\n EVENTS: 'dashboard/dashevents',\n }\n}\n\nconst RETRY_COUNT = 3;\nconst DEFAULT_ERROR_MESSAGE = 'There is a problem with the XAMS service';\n\nconst STATUS_CODES = {\n BAD_REQUEST: 400,\n UNAUTHORIZED: 401,\n DOUBLE_LOGIN: 499\n}\n\nconst REQUEST_TYPES = {\n GET: 'GET',\n POST: 'POST',\n DELETE: 'DELETE'\n}\n\n// oauth2 credentials require both the user to authenticate\n// and the client app to be authorised. So the client app has\n// an id and secret which is added to user credentials for requesting\n// access token and subsequently used to get a refresh token.\nconst OAUTH = {\n ID: 'ro.client',\n SECRET: 'secret',\n GRANT_TYPES: {\n PASSWORD: 'password',\n REFRESH: 'refresh_token'\n }\n}\n\n// Generic errors are handled close to the api's implementation rather than\n// from the dozens of api calls (to limit duplicated handling)\nconst GENERIC_ERRORS = {\n DOUBLE_LOGIN: 'Double Login Error',\n DOUBLE_LOGIN_THROW: 'double-login error was handled',\n UNAUTHORIZED: 'No authorization for page'\n};\n\nObject.freeze(OAUTH);\nObject.freeze(ENDPOINTS);\nObject.freeze(REQUEST_TYPES);\nObject.freeze(GENERIC_ERRORS);\n\n\nexport {\n OAUTH,\n ENDPOINTS,\n RETRY_COUNT,\n STATUS_CODES,\n REQUEST_TYPES,\n GENERIC_ERRORS,\n DEFAULT_ERROR_MESSAGE\n}","\r\n// xams-utils\r\nimport {check} from '@xams-utils/check-types'\r\nimport {IdGenerator} from '@xams-utils/id-generator'\r\n\r\n// constants\r\nimport {REQUEST_TYPES} from './constants'\r\n\r\n\r\nconst createEndpointParams = (params={}) =>\r\n{\r\n\tif (!check.object(params)) { throw \"ApiRequest: params not an object\"; }\r\n\tif (check.emptyObject(params)) { return \"\"; }\r\n\r\n\tlet finalParams = '?';\r\n\r\n\tObject.entries(params).forEach(([paramName, paramValue]) => {\t\t\t\t\t\t\t\t\t\t// Object.entries ensures we're working with 'own' properties\r\n\t\tfinalParams = `${finalParams}${paramName}=${paramValue}&`;\r\n\t});\r\n\r\n\t// remove final '&' character\r\n\tconst cutOffIndex = finalParams.lastIndexOf('&');\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// using lastIndexOf instead of string length in case..\r\n\treturn finalParams.slice(0, cutOffIndex);\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// ..there are any problems with unicode characters\r\n}\r\n\r\n\r\nclass ApiRequest\r\n{\r\n\tconstructor(type, endpoint, retries, id=null)\r\n\t{\r\n\t\tthis.id = id || IdGenerator.uuid();\r\n\t\tthis.type = type;\r\n\t\tthis.endpoint = endpoint;\r\n\t\tthis.retries = retries;\r\n\t\tthis.payload = null;\r\n\t\tthis.checkErrorRequest = null;\r\n\t\tthis.responseType = null;\r\n\t\tthis.progressListener = null;\r\n\t}\r\n\r\n\tsetPayload(payload)\r\n\t{\r\n\t\tthis.payload = payload;\r\n\t}\r\n\r\n\tsetResponseType(responseType)\r\n\t{\r\n\t\tthis.responseType = responseType;\r\n\t}\r\n\r\n\tsetProgressListener(progressListener)\r\n\t{\r\n\t\tthis.progressListener = progressListener;\r\n\t}\r\n\r\n\tsetCheckRequestError(checkRequestError){\r\n\t\tthis.checkRequestError = checkRequestError;\r\n\t}\r\n\r\n\tgetEndpoint()\r\n\t{\r\n\t\tconst isPostRequest = this.type === REQUEST_TYPES.POST;\r\n\t\tconst params = isPostRequest ? \"\" : createEndpointParams(this.payload);\r\n\r\n\t\treturn `${this.endpoint}${params}`;\r\n\t}\r\n\r\n\tgetPayload()\r\n\t{\r\n\t\treturn this.type === REQUEST_TYPES.POST ? this.payload : null;\t\t\t\t\t\t\t\t// payload added to endpoint for other request types\r\n\t}\r\n}\r\n\r\n\r\nexport {ApiRequest}","\n// xams-utils\nimport {random} from '@xams-utils/random'\nimport {check} from '@xams-utils/check-types'\nimport {convert} from '@xams-utils/convert-unit'\n\n// constants\nimport {REQUEST_TYPES} from './constants'\n\n\nconst PRODUCABLE_ERROR_CODES = [444];\n\nconst getRandomErrorCode = () => {\n const randomIndex = random.integer(PRODUCABLE_ERROR_CODES.length);\n return PRODUCABLE_ERROR_CODES[randomIndex];\n}\n\nconst authenicateEndPoint = (endPoint) => {\n if (!endPoint) return false;\n\n return check.nonEmptyString(endPoint)\n ? endPoint.toLowerCase().indexOf(\"auth\") !== -1\n : false;\n};\n\n\nclass HttpRequest\n{\n constructor(token, endpoint)\n {\n //this.timeout = convert(30).from('s').to('ms');\n this.endpoint = endpoint;\n this.requestType = null;\n this.responseType = null;\n this.progressListener = null;\n this.payload = null;\n this.onload = () => {};\n this.onerror = () => {};\n this.token = token;\n }\n\n run()\n {\n if (!check.string(this.endpoint)) {\n throw 'HttpRequest endpoint not a string';\n }\n\n if (this.shouldErrorOut()) {\n this.runMockErrorRequest();\n }\n else {\n this.runOrdinaryRequest();\n }\n }\n\n runOrdinaryRequest()\n {\n const request = new XMLHttpRequest();\n\n request.timeout = this.timeout;\n request.onload = () => { this.onload(request); }\n request.onerror = () => { this.onerror(request); }\n request.ontimeout = () => { this.onerror(request); }\n \n if (this.responseType !== null) {\n request.responseType = this.responseType;\n }\n\n if (this.progressListener !== null) {\n const onLoad = (e) => this.progressListener(e.loaded);\n request.upload.addEventListener('progress', onLoad);\n }\n\n if (this.requestType === REQUEST_TYPES.DELETE) {\n this.runDeleteRequest(request);\n }\n else if (!this.payload) {\n this.runGetRequest(request);\n }\n else {\n this.runPostRequest(request);\n }\n }\n\n runMockErrorRequest()\n {\n const status = this.errorCode || getRandomErrorCode();\n const getAllResponseHeaders = () => \"Test headers\";\n const response = \"Test response\";\n this.onerror({status, response, getAllResponseHeaders}); \n }\n\n shouldErrorOut = () => {\n if (!this.errorFrequency) { return false; }\n const randomNumber = random.integer(this.errorFrequency);\n return randomNumber === 0;\n }\n\n runGetRequest(request)\n {\n request.open(REQUEST_TYPES.GET, this.endpoint);\n this.tokenizeRequest(request);\n request.send();\n }\n\n runDeleteRequest(request)\n {\n request.open(REQUEST_TYPES.DELETE, this.endpoint);\n this.tokenizeRequest(request);\n request.send();\n }\n\n runPostRequest(request)\n {\n request.open(REQUEST_TYPES.POST, this.endpoint);\n\n if (!(this.payload instanceof FormData)) {\n this.stringifyPayload();\n this.jsonifyRequest(request);\n }\n else {\n if (authenicateEndPoint(this.endpoint)){\n this.formifyRequest(request);\n }\n }\n\n this.tokenizeRequest(request);\n request.send(this.payload);\n }\n\n tokenizeRequest(request)\n {\n const args = ['Authorization', `Bearer ${this.token}`];\n if (!!this.token) { request.setRequestHeader(...args); }\n }\n\n stringifyPayload()\n {\n const payload = this.payload;\n this.payload = check.string(payload) ? payload : JSON.stringify(payload);\n }\n\n jsonifyRequest(request)\n {\n request.setRequestHeader('Content-Type', 'application/json');\n }\n\n formifyRequest(request)\n {\n const payload = this.payload;\n let s = \"\";\n\n for (let pair of payload.entries()) {\n if (s.length > 0) s += \"&\";\n s += `${pair[0]}=${pair[1]}`;\n }\n\n this.payload = s;\n\n request.setRequestHeader(\n \"Content-Type\",\n \"application/x-www-form-urlencoded\"\n );\n }\n\n set Payload(value)\n {\n this.payload = value;\n }\n\n set OnLoad(value)\n {\n if (!check.function(value)) {\n throw 'HttpRequest.onload is not a function';\n }\n\n this.onload = value;\n }\n\n set OnError(value)\n {\n if (!check.function(value)) {\n throw 'HttpRequest.onerror is not a function';\n }\n\n this.onerror = value;\n }\n\n set ResponseType(value)\n {\n this.responseType = value;\n }\n\n set NetworkErrorConfiguration({frequency, errorCode}={})\n {\n if (check.assigned(frequency)) {\n if (!check.integer(frequency)) {\n throw \"HttpRequest error frequency must be an integer\";\n }\n if (check.assigned(errorCode) && !check.integer(errorCode)) {\n throw \"HttpRequest random error code must be an integer\";\n }\n\n this.errorFrequency = frequency;\n this.errorCode = errorCode;\n }\n }\n}\n\n\nexport {HttpRequest}","async function tryAtMost(asyncFunction, maxAttempts, handleError, checkRequestError=null)\n{\n\tlet latestError = null;\n\n\tfor (let i = 1; i <= maxAttempts; i++)\n\t{\n\t\ttry \n\t\t{\n\t\t\tconst response = await asyncFunction();\n\t\t\treturn response;\n\t\t}\n\t\tcatch (asyncError)\n\t\t{\n\t\t\tlatestError = asyncError;\n\t\t\tif (checkRequestError && checkRequestError(asyncError)){\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tawait handleError(asyncError);\n\t\t}\n\t}\n\n\tthrow latestError;\n}\n\n\nexport {tryAtMost};","\r\n// internal\r\nimport {StorageApi} from './storage-api'\r\n\r\n\r\nconst KEYS = {\r\n\tUSERS: 'users',\r\n\tEXAMS: 'exams',\r\n\tEXAM_QUEUES: 'persistent_exam_queus',\r\n\tNETWORK_REQUEST_LOG: 'network_request_log',\r\n\tREQUEST_LOG_MAPPINGS: 'request_log_mappings',\r\n\tFAILED_EXAM_REQUESTS: 'failed_exam_requests',\r\n\tSCHEDULED_BUG_REPORTS: 'scheduled_bug_reports'\r\n}\r\n\r\nconst localStorageApi = new StorageApi(window.localStorage, Object.values(KEYS));\r\nObject.freeze(localStorageApi);\r\n\r\nexport {localStorageApi, KEYS}","// npm\nimport check from \"check-types\";\n\n// api stuff\nimport { ApiRequest } from \"./api-request\";\nimport { HttpRequest } from \"./http-request\";\nimport { tryAtMost } from \"custom/promise-helper\";\nimport {\n STATUS_CODES,\n REQUEST_TYPES,\n RETRY_COUNT,\n GENERIC_ERRORS,\n} from \"./constants\";\n\nimport * as signalR from \"@microsoft/signalr\";\nimport { concatParams } from \"./helper\";\n\n// utils\nimport { localStorageApi, KEYS } from \"libs/browser_storage/local-storage-api\";\n\n// IIFE to cache the generic error types\nconst isGenericErrorType = (() => {\n const genericErrorTypes = Object.values(GENERIC_ERRORS);\n return (genericErrorType) => {\n return genericErrorTypes.some(\n (errorType) => errorType === genericErrorType\n );\n };\n})();\n\nconst REQUEST_STATES = {\n STARTING: \"STARTING\",\n RESPONDED: \"RESPONDED\",\n NO_RESPONSE: \"FAILED\",\n};\n\nconst createEvent = (state, endpoint, payload, statusCode = null) => ({\n state,\n endpoint,\n payload,\n statusCode,\n});\n\nconst getBeginning = (ending, endpointUrl) => {\n if (isAdminLogin(ending, endpointUrl)) return \"\";\n\n if (ending.length < endpointUrl.length) return endpointUrl;\n\n const start = ending.substring(0, endpointUrl.length);\n //console.log(start.toLowerCase(), endpointUrl.toLowerCase(), start.toLowerCase() === endpointUrl.toLowerCase());\n\n return start.toLowerCase() === endpointUrl.toLowerCase() ? \"\" : endpointUrl;\n};\n\nconst isTempElearning = (ending, endpointUrl) => {\n const tempElearning = \"http://localhost/projects/sco_player/server/\";\n return ending.lastIndexOf(tempElearning, 0) === 0;\n};\n\nconst isAdminLogin = (ending, endpointUrl) => {\n const adminUrl = \"https://\";\n return ending.lastIndexOf(adminUrl, 0) === 0;\n};\n\nclass Api {\n constructor() {\n this.token = null;\n this.endpointUrl = \"\";\n this.hubpointUrl = \"\"\n this.refreshToken = null;\n this.genericErrorHandlers = {};\n this.handleRequestError = this.handleRequestError.bind(this);\n this.errorObj = null;\n\n this.listeners = [];\n }\n\n post(\n endpoint,\n payload = \"{}\",\n retries = RETRY_COUNT,\n progressListener = null,\n id,\n checkRequestError = null\n ) {\n const apiRequest = new ApiRequest(\n REQUEST_TYPES.POST,\n endpoint,\n retries,\n id\n );\n\n if (check.function(checkRequestError)) {\n apiRequest.setCheckRequestError(checkRequestError);\n }\n\n apiRequest.setProgressListener(progressListener);\n apiRequest.setPayload(payload);\n\n return this.makeRequest(apiRequest);\n }\n\n get(endpoint, params = {}, retries = RETRY_COUNT) {\n const apiRequest = new ApiRequest(REQUEST_TYPES.GET, endpoint, retries);\n apiRequest.setPayload(params);\n return this.makeRequest(apiRequest);\n }\n\n delete(endpoint, params = {}, retries = RETRY_COUNT) {\n const apiRequest = new ApiRequest(\n REQUEST_TYPES.DELETE,\n endpoint,\n retries\n );\n apiRequest.setPayload(params);\n return this.makeRequest(apiRequest);\n }\n\n download(endpoint, params = {}, retries = RETRY_COUNT) {\n const apiRequest = new ApiRequest(REQUEST_TYPES.GET, endpoint, retries);\n apiRequest.setResponseType(\"blob\");\n apiRequest.setPayload(params);\n return this.makeRequest(apiRequest);\n }\n\n makeRequest(apiRequest) {\n this.emitEvent(apiRequest, REQUEST_STATES.STARTING);\n\n return new Promise((resolve, reject) => {\n const asyncRequest = this.sendRequest.bind(this, apiRequest);\n const { checkRequestError } = apiRequest;\n\n tryAtMost(\n asyncRequest,\n apiRequest.retries,\n this.handleRequestError,\n checkRequestError\n )\n .then((result) => {\n resolve(result);\n })\n .catch((error) => {\n reject(error);\n });\n });\n }\n\n sendRequest(apiRequest) {\n const {\n type: requestType,\n progressListener,\n responseType,\n } = apiRequest;\n\n const createEndpoint = () => {\n //const beginning = responseType === 'blob' ? '' : this.endpointUrl;\n //const beginning = this.endpointUrl;\n\n const ending = apiRequest.getEndpoint();\n const beginning = getBeginning(ending, this.endpointUrl);\n\n if (ending === \"connect/token\") {\n return `${this.authenticationUrl}connect/token`;\n }\n\n return `${beginning}${ending}`;\n };\n\n const endpoint = createEndpoint();\n const payload = apiRequest.getPayload();\n\n return new Promise((resolve, reject) => {\n const httpRequest = new HttpRequest(this.token, endpoint);\n\n if (requestType !== null) {\n httpRequest.requestType = requestType;\n }\n if (progressListener !== null) {\n httpRequest.progressListener = progressListener;\n }\n if (responseType !== null) {\n httpRequest.ResponseType = responseType;\n }\n\n const onError = (request) => {\n this.emitEvent(apiRequest, REQUEST_STATES.NO_RESPONSE, request);\n\n this.errorObj = {\n error: request,\n apiRequest,\n endpoint,\n payload,\n };\n // try {\n // var err = new Error();\n // this.errorObj.stack = err.stack;\n // } catch (e) {\n // this.errorObj.stack = e.stack;\n // }\n\n reject(request);\n };\n\n const onSuccess = (request) => {\n this.emitEvent(apiRequest, REQUEST_STATES.RESPONDED, request);\n resolve(\n responseType ? getResolverObject(request) : request.response\n );\n };\n\n httpRequest.OnError = onError;\n\n httpRequest.OnLoad = (request) => {\n if (request.status === 200) {\n onSuccess(request);\n } else {\n onError(request);\n }\n };\n\n httpRequest.NetworkErrorConfiguration =\n this.networkErrorConfiguration;\n httpRequest.Payload = payload;\n httpRequest.run();\n });\n }\n\n async handleRequestError(request) {\n const { status } = request;\n\n const genericErrorType =\n status === STATUS_CODES.DOUBLE_LOGIN\n ? GENERIC_ERRORS.DOUBLE_LOGIN\n : status === STATUS_CODES.UNAUTHORIZED\n ? GENERIC_ERRORS.UNAUTHORIZED\n : null;\n\n const handlers = this.genericErrorHandlers[genericErrorType] || [];\n\n for (let i = 0; i < handlers.length; i++) {\n await handlers[i]();\n }\n }\n\n // These errors are not intended to be handled by the api caller.\n // e.g. double-login, unauthorized etc.\n // Instead, an external handler deals with the error\n // on handler success: retry original api call (assuming retry count hasn't been exceeded)\n // on handler failure: abort original api call (which propogates back to original api caller)\n // @note: Handlers can be synchronous or async functions\n addGenericErrorHandler(genericError, handler) {\n if (!isGenericErrorType(genericError)) {\n throw \"Not a generic_error type\";\n }\n if (!check.function(handler)) {\n throw \"Generic error handler must be a function\";\n }\n if (!this.genericErrorHandlers.hasOwnProperty(genericError)) {\n this.genericErrorHandlers[genericError] = [];\n }\n\n this.genericErrorHandlers[genericError].push(handler);\n\n const removeHandler = () => {\n const index =\n this.genericErrorHandlers[genericError].indexOf(handler);\n this.genericErrorHandlers[genericError].splice(index, 1);\n };\n\n return removeHandler;\n }\n\n subscribe(listener) {\n this.listeners.push(listener);\n\n const unsubscribe = () => {\n const index = this.listeners.indexOf(listener);\n this.listeners.splice(index, 1);\n };\n\n return unsubscribe;\n }\n\n emitEvent(\n apiRequest,\n state,\n request = { getAllResponseHeaders: () => null }\n ) {\n const failedResponse = request.status !== 200;\n\n const event = {\n id: apiRequest.id,\n type: apiRequest.type,\n payload: apiRequest.payload,\n endpoint: apiRequest.endpoint,\n statusCode: request.status || null,\n response: failedResponse ? request.response || null : null,\n responseHeaders: failedResponse\n ? request.getAllResponseHeaders()\n : null,\n };\n\n this.listeners.forEach((listener) => {\n listener(state, event);\n });\n }\n\n get Token() {\n return this.token;\n }\n\n get RefreshToken() {\n return this.refreshToken;\n }\n\n set Token(value) {\n this.token = value;\n }\n\n set RefreshToken(value) {\n this.refreshToken = value;\n }\n\n set EndpointUrl(value) {\n this.endpointUrl = value;\n }\n\n set HubpointUrl(value) {\n this.hubpointUrl = value;\n }\n\n set AuthenticationUrl(value) {\n this.authenticationUrl = value;\n }\n\n isEndpointInitialized() {\n return this.endpointUrl !== \"\";\n }\n\n produceRandomNetworkErrors(frequency, errorCode) {\n this.networkErrorConfiguration = { frequency, errorCode };\n return () => {\n this.networkErrorConfiguration = undefined;\n };\n }\n\n subscribeSignalR(endpoint, params) {\n endpoint = this.hubpointUrl + endpoint + concatParams(params);\n const hubConnection = new signalR.HubConnectionBuilder()\n .withUrl(endpoint)\n .configureLogging(signalR.LogLevel.Debug)\n .withAutomaticReconnect()\n .build();\n startHub(hubConnection);\n return hubConnection;\n }\n}\n\n// temporary bodge/hack (for downloading blobs from api)\nconst findFileName = (request) => {\n let contentDisposition = request.getResponseHeader(\"Content-Disposition\");\n if (!contentDisposition) {\n return \"\";\n }\n contentDisposition = contentDisposition.replace(/\"/g, \"\");\n return contentDisposition.match(\n /filename[^;=\\n]*=((['\"]).*?\\2|[^;\\n]*)/\n )[1];\n};\n\nconst getResolverObject = (request) => ({\n blob: request.response,\n fileName: findFileName(request),\n});\n\nasync function startHub(connection) {\n try {\n await connection.start();\n console.log(\"SignalR Connected.\");\n } catch (err) {\n console.log(err);\n }\n};\n\nconst api = new Api();\nexport { api, REQUEST_STATES };\n","import check from \"check-types\";\r\n\r\nconst concatParams = (params) => {\r\n if (!check.object(params)) {\r\n throw \"Api params not an object\";\r\n }\r\n if (check.emptyObject(params)) {\r\n return \"\";\r\n }\r\n\r\n let finalParams = \"?\";\r\n\r\n Object.entries(params).forEach(([paramName, paramValue]) => {\r\n // Object.entries ensures we're working with 'own' properties\r\n finalParams = `${finalParams}${paramName}=${paramValue}&`;\r\n });\r\n\r\n // remove final '&' character\r\n const cutOffIndex = finalParams.lastIndexOf(\"&\"); // using lastIndexOf instead of string length in case..\r\n return finalParams.slice(0, cutOffIndex); // ..there are any problems with unicode characters\r\n};\r\n\r\nexport {concatParams}","\n// npm\nimport * as Immutable from 'immutable'\n\n// xams-utils\nimport {check} from '@xams-utils/check-types'\n\n// redux\nimport * as ACTION_TYPES from './action-types'\n\n// utils\nimport {api} from 'libs/api/api'\nimport {COOKIE_NAMES, cookies} from 'utils/cookies'\nimport {KEYS, sessionStorageApi} from 'libs/browser_storage/session-storage-api'\n\n\nconst saveTokensToApi = (access, refresh) =>\n{\n\tapi.RefreshToken = refresh;\n\tapi.Token = access;\n}\n\nconst loadFromQueryString = () =>\n{\n\tconst urlParameters = new URLSearchParams(window.location.search);\n\tconst externalSessionData = urlParameters.get('x');\n\tif (!externalSessionData) { return; }\n\n\tconst parsedSessionData = JSON.parse(externalSessionData);\n\tconst data = parsedSessionData.token;\n\tsessionStorageApi.saveDataTo(KEYS.TOKENS, data);\n\n\treturn data;\n}\n\nconst handleTokenLoading = () =>\n{\n\tconst data = loadFromQueryString() || sessionStorageApi.retrieveDataFrom(KEYS.TOKENS);\n\tsaveTokensToApi(data.access, data.refresh);\n\treturn Immutable.Map(data);\n}\n\nconst handleTokenSaving = (access, refresh) =>\n{\n\tsaveTokensToApi(access, refresh);\n\tconst tokenData = {access, refresh};\n\tsessionStorageApi.saveDataTo(KEYS.TOKENS, tokenData);\n\treturn Immutable.Map(tokenData);\n}\n\nconst handleTokenDiscarding = () =>\n{\n\tsaveTokensToApi(null, null);\n\tsessionStorageApi.resetDataFor(KEYS.TOKENS);\n\treturn Immutable.Map();\n}\n\nconst TOKENS_REDUCER = (state=Immutable.Map(), action) =>\n{\n\tswitch (action.type)\n\t{\n\t\tcase ACTION_TYPES.LOAD_TOKENS:\n\t\t\treturn handleTokenLoading();\n\t\tcase ACTION_TYPES.SAVE_TOKENS:\n\t\t\treturn handleTokenSaving(action.access, action.refresh);\n\t\tcase ACTION_TYPES.DISCARD_TOKENS:\n\t\t\treturn handleTokenDiscarding();\n\t\tdefault:\n\t\t\treturn state;\n\t}\n}\n\n\nexport {TOKENS_REDUCER}","\n// utils\nimport {combineImmutableReducers} from 'utils/combine-immutable-reducers'\n\n// redux (reducers)\nimport {USER_REDUCER} from './user/reducer'\nimport {CLIENT_REDUCER} from './client/reducer'\nimport {TOKENS_REDUCER} from './tokens/reducer'\n\n\nconst SESSION_REDUCER = combineImmutableReducers(undefined, {\n\tclient: CLIENT_REDUCER,\n\ttokens: TOKENS_REDUCER,\n\tuser: USER_REDUCER\n});\n\n\nexport {SESSION_REDUCER}","const CREATE_SESSION = '[session][client]create.session'\nconst REMOVE_SESSION = '[session][client]remove.session'\nconst LOAD_SESSION = '[session][client]load.session'\n\nexport {CREATE_SESSION, REMOVE_SESSION, LOAD_SESSION}","const ADD_SCHEDULE = '[schedules]add.schedule'\nconst CLEAR_SCHEDULES = '[schedules]clear.schedules'\nconst CLEAR_SCHEDULES_EXCEPT = '[schedules]clear.schedules.except.one'\n\nexport {\n\tADD_SCHEDULE, \n\tCLEAR_SCHEDULES,\n\tCLEAR_SCHEDULES_EXCEPT\n}","import * as Immutable from 'immutable'\nimport * as ACTION_TYPES from './action-types'\nimport * as SCHEDULES_ACTION_TYPES from '../action-types'\n\n\nconst SCHEDULE_REDUCER = (state=Immutable.Map(), action) =>\n{\n\tswitch (action.type)\n\t{\n\t\tcase SCHEDULES_ACTION_TYPES.ADD_SCHEDULE:{\n\t\t\treturn Immutable.Map({\n\t\t\t\tguid: action.guid,\n\t\t\t\tinfo: action.info,\n\t\t\t\texamName: action.examName,\n\t\t\t\texamGuid: action.objectGUID,\n\t\t\t\texamTypeGuid: action.objectTypeGUID,\n\t\t\t\ttype: action.scheduleType,\n\t\t\t\tstartDt: action.startDateTime,\n\t\t\t\tstartDtFmt: action.formattedStartDateTime,\n\t\t\t\tcompleteDt: action.completedDateTime,\n\t\t\t\tcompleteDtFmt: action.formattedCompletedDateTime,\n\t\t\t\tcommenced: action.commenced,\n\t\t\t\tcompleted: action.completed,\n\t\t\t\tpractice: action.practice,\n\t\t\t\tversion: action.version,\n\t\t\t\trequiresPassword: action.requiresPassword,\n\t\t\t\tproctorProvider: action.proctorProvider,\n\t\t\t\tproctoringSessionID: action.proctoringSessionID,\n\t\t\t\tobjectID: action.objectID,\n\t\t\t\tqualificationID: action.qualificationID,\n\t\t\t\tcantStartMessage: \"\",\n\t\t\t\tpracticeExtraTime: action.practiceExtraTime,\n\t\t\t\tscheduleId: action.id,\n\t\t\t\tscheduleUserId: action.scheduleUserID\t\t\t\t\n\t\t\t});\n\t\t}\n\t\tcase ACTION_TYPES.SET_COMMENCED:\n\t\t\treturn state.set('commenced', true);\n\t\tcase ACTION_TYPES.SET_COMPLETED:\n\t\t\treturn state.set('completed', true);\n\t\tcase ACTION_TYPES.SET_CANT_START_MESSAGE:\n\t\t\treturn state.set('cantStartMessage', action.message);\n\t\tdefault:\n\t\t\treturn state;\n\t}\n}\n\nexport {SCHEDULE_REDUCER}","const SET_COMMENCED = '[schedule]set.commenced';\r\nconst SET_COMPLETED = '[schedule]set.completed';\r\nconst SET_CANT_START_MESSAGE = '[schedule]set.cant.start.msg';\r\n\r\nexport {SET_COMPLETED, SET_COMMENCED, SET_CANT_START_MESSAGE}","\n// npm\nimport * as Immutable from 'immutable'\n\n// redux\nimport * as ACTION_TYPES from './action-types'\n\nconst initialState={\n\tshowCompleted: false,\n\tshowCourseInfo: true,\n\telearning: Immutable.List()\n}\n\nconst ELEARNING_REDUCER = (state=Immutable.Map(initialState), action) =>\n{\n\tswitch (action.type)\n\t{\n\t\tcase ACTION_TYPES.CLEAR_ELEARNING:{\n\t\t\treturn state.set('elearning', Immutable.List());\n\t\t}\n\t\tcase ACTION_TYPES.ADD_ELEARNING:{\n\t\t\treturn state.update('elearning', elearning => elearning.push(Immutable.Map(action)));\n\t\t}\n\t\tcase ACTION_TYPES.SET_SHOW_COMPLETED:{\n\t\t\treturn state.set('showCompleted', action.value)\n\t\t}\n\t\tcase ACTION_TYPES.SET_SHOW_COURSE_INFO:{\n\t\t\treturn state.set('showCourseInfo', action.value)\n\t\t}\t\t\n\t\tdefault:\n\t\t\treturn state;\n\t}\n}\n\n\nexport {ELEARNING_REDUCER}","\n// npm\nimport * as Immutable from 'immutable'\n\n// redux\nimport * as ACTION_TYPES from './action-types'\n\nconst initialState={\n\tentered: false,\n\tparent: false,\n\tclientName: null,\n\tuserInfo1: null,\n\tuserInfo2: null,\n\texamGuid: null,\n\tcompletedExamGuid: null,\n\tdebug: false,\n\tcalling: 'multi',\n\terror: null,\n}\n\nconst PROCTORIO_REDUCER = (state=Immutable.Map(initialState), action) =>\n{\n\tswitch (action.type)\n\t{\n\t\tcase ACTION_TYPES.SET_ENTERED:{\n\t\t\treturn state.set('entered', action.value)\n\t\t}\n\t\tcase ACTION_TYPES.SET_PARENT:{\n\t\t\treturn state.set('parent', action.value)\n\t\t}\n\t\tcase ACTION_TYPES.SET_CLIENT_NAME:{\n\t\t\treturn state.set('clientName', action.value)\n\t\t}\n\t\tcase ACTION_TYPES.SET_USER_INFO_1:{\n\t\t\treturn state.set('userInfo1', action.value)\n\t\t}\n\t\tcase ACTION_TYPES.SET_USER_INFO_2:{\n\t\t\treturn state.set('userInfo2', action.value)\n\t\t}\n\t\tcase ACTION_TYPES.SET_EXAM_GUID:{\n\t\t\treturn state.set('examGuid', action.value)\n\t\t}\t\t\n\t\tcase ACTION_TYPES.SET_COMPLETED_EXAM_GUID:{\n\t\t\treturn state.set('completedExamGuid', action.value)\n\t\t}\t\t\t\t\n\t\tcase ACTION_TYPES.CLEAR_DATA:{\n\t\t\treturn Immutable.Map(initialState)\n\t\t}\t\t\n\t\tcase ACTION_TYPES.SET_ERROR:{\n\t\t\treturn state.set('error', action.value)\n\t\t}\t\t\n\n\t\tdefault:\n\t\t\treturn state;\n\t}\n}\n\n\nexport {PROCTORIO_REDUCER}","\n// utils\nimport {combineImmutableReducers} from 'utils/combine-immutable-reducers'\n\n// redux (reducers)\nimport {GENERAL_MESSAGES_REDUCER} from './general/reducer'\nimport {SESSION_MESSAGES_REDUCER} from './session/reducer'\n\n\nconst MESSAGES_REDUCER = combineImmutableReducers(undefined, {\n\tgeneral: GENERAL_MESSAGES_REDUCER,\n\tsession: SESSION_MESSAGES_REDUCER\n});\n\n\nexport {MESSAGES_REDUCER}","\r\n// npm\r\nimport {Map as ImmutableMap} from 'immutable'\r\n\r\n// redux (action-types)\r\nimport * as ACTION_TYPES from './action-types'\r\n\r\n\r\nconst GENERAL_MESSAGES_REDUCER = (state=ImmutableMap(), action) =>\r\n{\r\n\tswitch (action.type)\r\n\t{\r\n\t\tcase ACTION_TYPES.SET_MESSAGE:\r\n\t\t\treturn state.set(action.id, action.value || \"MESSAGE_UNDEFINED\");\r\n\t\tcase ACTION_TYPES.CLEAR_MESSAGES:\r\n\t\t\treturn ImmutableMap();\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n}\r\n\r\n\r\nexport {GENERAL_MESSAGES_REDUCER}","const SET_MESSAGE = '[messages][general]set.message';\r\nconst CLEAR_MESSAGES = '[messages][general]clear';\r\n\r\nexport {SET_MESSAGE, CLEAR_MESSAGES}","\r\n// npm\r\nimport {Map as ImmutableMap} from 'immutable'\r\n\r\n// redux (action-types)\r\nimport * as ACTION_TYPES from './action-types'\r\n\r\n\r\nconst SESSION_MESSAGES_REDUCER = (state=ImmutableMap(), action) =>\r\n{\r\n\tswitch (action.type)\r\n\t{\r\n\t\tcase ACTION_TYPES.SET_MESSAGE:\r\n\t\t\treturn state.set(action.id, action.value || \"MESSAGE_UNDEFINED\");\r\n\t\tcase ACTION_TYPES.CLEAR_MESSAGES:\r\n\t\t\treturn ImmutableMap();\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n}\r\n\r\n\r\nexport {SESSION_MESSAGES_REDUCER}","const SET_MESSAGE = '[messages][session]set.message';\r\nconst CLEAR_MESSAGES = '[messages][session]clear';\r\n\r\nexport {SET_MESSAGE, CLEAR_MESSAGES}","\n// EXAM PASSWORD\nconst SET_PASSWORD = '[exam]set.password';\nconst CLEAR_PASSWORD = '[exam]clear.password';\nconst SET_PASSWORD_ERROR = '[exam]set.password.error';\n\n// EXAM\nconst SET_CURRENT_EXAM = '[exam]set.current';\nconst SET_EXAM_DATA = '[exam]add.data';\nconst CLEAR_EXAM = '[exam]clear';\nconst CLEAR_EXAM_DATA = '[exam]clear.data';\nconst PAUSE_EXAM = '[exam]pause';\nconst RESUME_EXAM = '[exam]resume';\nconst CONFIRM_RESUME_EXAM = '[exam]resume.confirmation';\nconst SET_FORMRUN_GUID = '[exam]set.formrun.guid';\nconst SET_FORMRUN_ID = '[exam]set.formrun.id';\n\n// SHOW SCENARIO DROPDOWN\nconst SET_SHOW_SCENARIO = '[exam]set.show.scenario';\n\n// LEAVE / RESUME EXAM\nconst SET_LEAVE_EXAM = '[exam]set.leave_exam';\nconst SET_RESUME_EXAM = '[exam]set.resume_exam';\n\n// FULL SCREEN\nconst SET_SHOW_EXAM_IN_FULL_SCREEN = '[exam]set.show.exam.in.full_screen'\nconst SET_INITIAL_FULL_SCREEN = '[exam]set.initial_full_screen'\n\nexport {\n\tSET_PASSWORD,\n\tCLEAR_PASSWORD,\n\tSET_PASSWORD_ERROR,\n\tSET_CURRENT_EXAM,\n\tSET_EXAM_DATA,\n\tCLEAR_EXAM,\n\tCLEAR_EXAM_DATA,\n\tPAUSE_EXAM,\n\tRESUME_EXAM,\n\tCONFIRM_RESUME_EXAM,\n\tSET_FORMRUN_GUID,\n\tSET_FORMRUN_ID,\n\tSET_SHOW_SCENARIO,\n\tSET_LEAVE_EXAM,\n\tSET_RESUME_EXAM,\n\tSET_SHOW_EXAM_IN_FULL_SCREEN,\n\tSET_INITIAL_FULL_SCREEN\n}","// Responsibility:\n// To throw a suitable error if any type check fails\n\nimport check from 'check-types'\n\n\n\nconst TypeException = function(value)\n{\n\tconst type = typeof value;\n\tconst name = value.name;\n\tconst error = `Unexpected type for '${name}': [${type}]`;\n\n\tthis.name = \"Type Validation Error\";\n\tthis.message = {type, name, value, error};\n}\n\n\n\nconst validateAsObject = (obj) =>\n{\n\tif (!check.object(obj)) { throw new TypeException(obj); }\n}\n\nconst validateAsString = (str) =>\n{\n\tif (!check.string(str)) { throw new TypeException(str); }\n}\n\nconst validateAsArray = (arr) =>\n{\n\tif (!check.array(arr)) { throw new TypeException(arr); }\n}\n\nconst validateAsBool = (bool) =>\n{\n\tif (!check.bool(bool)) { throw new TypeException(bool); }\n}\n\nconst validateAsNumber = (num) =>\n{\n\tif (!check.number(num)) { throw new TypeException(num); }\n}\n\n\nObject.freeze(validateAsObject);\nObject.freeze(validateAsString);\nObject.freeze(validateAsArray);\nObject.freeze(validateAsBool);\nObject.freeze(validateAsNumber);\n\n\nexport {\n\tvalidateAsNumber, \n\tvalidateAsBool, \n\tvalidateAsArray, \n\tvalidateAsString, \n\tvalidateAsObject\n};","// other modules\nimport {validateAsObject, validateAsString} from 'utils/type-validator'\n\n\n\nconst toFormData = (obj) =>\n{\n\tlet formData = new FormData();\n\tfor (let prop in obj) { formData.append(encodeURIComponent(prop), encodeURIComponent(obj[prop])); }\n\treturn formData;\n}\n\n\n// ---------------\n// @getProp @DOC\n// ---------------\n// Traverse a nested object's properties and return the desired property value.\n// If any of the nested props do not exist, return null instead. \n// Useful if we only want the value if it exists (null if not).\n// ---------------\nconst getProp = (obj, prop) => // prop = a string describing the nested property to get\n{\n\tvalidateAsObject(obj);\n\tvalidateAsString(prop);\n\n\tconst props = prop.split('.');\n\tlet currentLevel = obj;\n\n\tfor (var i = 0; i < props.length; i++) \n\t{\n\t\tconst prop = props[i];\n\t\tcurrentLevel = currentLevel.hasOwnProperty(prop) ? currentLevel[prop] : null;\n\t\tif (!currentLevel) break;\n\t}\n\n\treturn currentLevel;\n}\n\n\nconst getKeyWithValue = (obj, value) =>\n{\n\tvalidateAsObject(obj);\n\tfor (let key in obj) { \n\t\tif (obj[key] === value) { \n\t\t\treturn key;\n\t\t} \n\t}\n}\n\n\nexport {getProp, toFormData, getKeyWithValue};","const SET_CURRENT_QUESTION_ID = '[exam][question_data]set.current.question.id';\r\nconst SET_QUESTION_ID_FROM_QUESTION = '[exam][question_data]set.question.id.from.question';\r\n\r\nexport {SET_CURRENT_QUESTION_ID, SET_QUESTION_ID_FROM_QUESTION}","\r\nconst SET_COMPLETE = '[exam][content][sections][section]set.complete';\r\nconst SET_TIME_REMAINING = '[exam][content][sections][section]set.time.remaining';\r\nconst SET_READING_TIME_REMAINING = '[exam][content][sections][section]set.reading.time.remaining';\r\nconst SET_AUDIO_ELAPSED = '[exam][content][sections][section]set.audio_elapsed';\r\nconst SET_AUDIO_STATE = '[exam][content][sections][section]set.audio_state';\r\n\r\nexport {SET_COMPLETE, SET_TIME_REMAINING, SET_READING_TIME_REMAINING, SET_AUDIO_ELAPSED, SET_AUDIO_STATE}","\r\n// npm\r\nimport check from 'check-types'\r\n\r\n// custom\r\nimport {getProp} from 'custom/object-helper'\r\n\r\n\r\n\r\nconst extractMessage = (serverMessageObject) => \r\n{\r\n\tif (!check.object(serverMessageObject)) { return \"\"; }\r\n\treturn getProp(serverMessageObject, 'MESSAGE.MSGINST') || \"\";\r\n}\r\n\r\n\r\n\r\nexport {extractMessage}","// npm\r\nimport { Map as ImmutableMap } from \"immutable\";\r\nimport { check } from \"@xams-utils/check-types\";\r\n\r\n// redux\r\nimport * as ACTION_TYPES from \"./action-types\";\r\nimport * as EXAM_ACTION_TYPES from \"../../../action-types\";\r\nimport { extractMessage } from \"redux/reducers/exam/helpers\";\r\n\r\n// custom\r\nimport { getProp } from \"custom/object-helper\";\r\n\r\n// TEMP\r\nconst extractTimeData = (data) => {\r\n if (!data[\"@AllowedTime\"]) {\r\n return {};\r\n }\r\n\r\n const sectionTime = data[\"@AllowedTime\"];\r\n const readingTime = data[\"@ReadingTime\"];\r\n\r\n const totalTime = sectionTime + readingTime;\r\n const totalTimeRemaining = data[\"@TimeRemaining\"] || totalTime;\r\n\r\n const sectionTimeRemaining =\r\n totalTimeRemaining < sectionTime ? totalTimeRemaining : sectionTime;\r\n const readingTimeRemaining =\r\n totalTimeRemaining < sectionTime\r\n ? 0\r\n : totalTimeRemaining - sectionTimeRemaining;\r\n\r\n return {\r\n sectionTime,\r\n readingTime,\r\n sectionTimeRemaining,\r\n readingTimeRemaining,\r\n warningTime: data[\"@WarningTime\"],\r\n canBypassReadingTime: !!getProp(\r\n data,\r\n \"PAPERPARTPROPERTIES.@AllowBypassReadingTime\"\r\n ),\r\n }; // note: look into minimizing properties and instead infer these values in selectors\r\n};\r\n\r\nconst getDisplayAllQuestions = (data) => {\r\n const flow = getProp(data, \"SECTIONPROPERTIES.@Flow\");\r\n\r\n return flow === \"SinglePage\";\r\n};\r\n\r\nconst getMediaProperties = (data) => {\r\n const mediaUrl = getProp(data, \"MEDIAPROPERTIES.@MediaURL\");\r\n\r\n if (check.nonEmptyString(mediaUrl)) {\r\n const mediaObj = { url: mediaUrl };\r\n\r\n const autoPlay = getProp(data, \"MEDIAPROPERTIES.@AutoPlay\");\r\n mediaObj.autoPlay = autoPlay === \"True\";\r\n\r\n const canPause = getProp(data, \"MEDIAPROPERTIES.@CanPause\");\r\n mediaObj.canPause = canPause === \"True\";\r\n\r\n mediaObj.duration = 0;\r\n mediaObj.elapsed = 0;\r\n\r\n return mediaObj;\r\n }\r\n\r\n return null;\r\n};\r\n\r\nconst SECTION_REDUCER = (state = ImmutableMap(), action) => {\r\n switch (action.type) {\r\n case EXAM_ACTION_TYPES.SET_EXAM_DATA:\r\n var { data } = action;\r\n return state.withMutations((mutableState) => {\r\n mutableState.set(\"id\", data[\"@ID\"]);\r\n mutableState.set(\"name\", data[\"@Name\"]);\r\n mutableState.set(\"text\", extractMessage(data.TEXT));\r\n mutableState.set(\"resourceUrl\", data[\"@ResourceURL\"]);\r\n mutableState.set(\"marks\", parseInt(data[\"@Marks\"]), 10);\r\n mutableState.set(\r\n \"requiresWorkings\",\r\n data[\"@ShowWorkings\"] === \"True\"\r\n );\r\n mutableState.set(\r\n \"requiresCalculator\",\r\n data[\"@ShowCalculator\"] === \"True\"\r\n );\r\n mutableState.set(\r\n \"scenarioText\",\r\n extractMessage(data.INTROTEXT)\r\n );\r\n\r\n mutableState.set(\r\n \"displayAllQuestions\",\r\n getDisplayAllQuestions(data)\r\n );\r\n mutableState.set(\"media\", getMediaProperties(data));\r\n\r\n // one way stuff\r\n const isOneWay = getProp(data, \"PAPERPARTPROPERTIES.@OneWay\");\r\n mutableState.set(\"oneWay\", isOneWay);\r\n\r\n if (isOneWay) {\r\n const timeData = extractTimeData(data);\r\n Object.keys(timeData).forEach((key) => {\r\n mutableState.set(key, timeData[key]);\r\n });\r\n }\r\n });\r\n case ACTION_TYPES.SET_TIME_REMAINING:\r\n return state.set(\r\n \"sectionTimeRemaining\",\r\n action.value < 0 ? 0 : action.value\r\n );\r\n case ACTION_TYPES.SET_READING_TIME_REMAINING:\r\n return state.set(\r\n \"readingTimeRemaining\",\r\n action.value < 0 ? 0 : action.value\r\n );\r\n case ACTION_TYPES.SET_COMPLETE:\r\n return state.set(\"complete\", true);\r\n case ACTION_TYPES.SET_AUDIO_ELAPSED:{\r\n const media = state.get('media');\r\n media.elapsed=action.value;\r\n\r\n return state.set('media', media);\r\n }\r\n case ACTION_TYPES.SET_AUDIO_STATE:{\r\n const media = state.get('media');\r\n media.state=action.value;\r\n\r\n return state.set('media', media);\r\n } \r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport { SECTION_REDUCER };\r\n","\r\n// npm\r\nimport check from 'check-types'\r\nimport {Map as ImmutableMap} from 'immutable'\r\n\r\n// redux\r\nimport {SECTION_REDUCER} from './section/reducer'\r\nimport * as EXAM_ACTION_TYPES from '../../action-types'\t\t\t\t\t\t\t\t\t\t\t\t\t\t// explicitly using EXAM_ACTION_TYPES to make clear it is not a 'sections' action type\r\nimport * as SECTION_ACTION_TYPES from './section/action-types'\r\n\r\n// custom\r\nimport {getProp} from 'custom/object-helper'\r\n\r\n\r\n// Note: state is mutable here\r\nconst populateSections = (state, taskGroups) =>\r\n{\r\n\tif (!check.nonEmptyArray(taskGroups)) { return; }\r\n\tconst actionType = EXAM_ACTION_TYPES.SET_EXAM_DATA;\r\n\r\n\ttaskGroups.forEach(taskGroup => {\r\n\t\tconst action = {type: actionType, data: taskGroup};\r\n\t\tstate.set(taskGroup['@ID'], SECTION_REDUCER(undefined, action));\r\n\r\n\t\tconst nestedTaskgroups = getProp(taskGroup, 'OBJECTS.TASKGROUP');\r\n\t\tconst nestedPaperParts = getProp(taskGroup, 'OBJECTS.PAPERPART');\r\n\t\tpopulateSections(state, nestedTaskgroups);\r\n\t\tpopulateSections(state, nestedPaperParts);\r\n\t});\r\n}\r\n\r\nconst SECTIONS_REDUCER = (state=ImmutableMap(), action) =>\r\n{\r\n\tif (Object.values(SECTION_ACTION_TYPES).includes(action.type)) {\r\n\t\tconst sectionData = state.get(action.id);\r\n\t\treturn state.set(action.id, SECTION_REDUCER(sectionData, action));\r\n\t}\r\n\r\n\tswitch (action.type)\r\n\t{\r\n\t\tcase EXAM_ACTION_TYPES.SET_EXAM_DATA:\r\n\t\t\treturn state.withMutations(mutableState => {\r\n\t\t\t\tconst taskGroups = getProp(action, 'data.EXAM.OBJECTS.TASKGROUP');\r\n\t\t\t\tconst paperParts = getProp(action, 'data.EXAM.OBJECTS.PAPERPART');\r\n\t\t\t\tpopulateSections(mutableState, taskGroups);\r\n\t\t\t\tpopulateSections(mutableState, paperParts);\r\n\t\t\t});\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n}\r\n\r\n\r\nexport {SECTIONS_REDUCER}","// npm\r\nimport check from 'check-types'\r\nimport {Map as ImmutableMap} from 'immutable'\r\n\r\n// custom\r\nimport {getProp} from 'custom/object-helper'\r\n\r\n// redux\r\nimport {MAPPING_REDUCER} from './mapping/reducer'\r\nimport * as EXAM_ACTION_TYPES from '../../action-types'\r\n\r\n\r\n// Note: state is mutable here\r\n// --------------------------------------------------------------------\r\nconst createMapping = (mappees) =>\r\n{\r\n const action = {type: EXAM_ACTION_TYPES.SET_EXAM_DATA, mappees};\r\n return MAPPING_REDUCER(undefined, action);\r\n}\r\n\r\nconst populateMappings = (state, taskGroups) =>\r\n{\r\n if (!check.nonEmptyArray(taskGroups)) { return; }\r\n\r\n taskGroups.forEach(taskGroup => {\r\n const paperParts = getProp(taskGroup, 'OBJECTS.PAPERPART');\r\n const sections = paperParts || getProp(taskGroup, 'OBJECTS.TASKGROUP');\r\n const questions = getProp(taskGroup, 'OBJECTS.QUESTION');\r\n state.set(taskGroup['@ID'], createMapping(sections || questions));\r\n if (sections) {\r\n populateMappings(state, sections);\r\n }\r\n });\r\n}\r\n// --------------------------------------------------------------------\r\n\r\nconst MAPPINGS_REDUCER = (state = ImmutableMap(), action) =>\r\n{\r\n switch (action.type)\r\n {\r\n case EXAM_ACTION_TYPES.SET_EXAM_DATA:\r\n return state.withMutations(mutableState => {\r\n const {data: {EXAM: exam}} = action;\r\n\r\n // 1. Create root mappings\r\n const paperParts = getProp(exam, 'OBJECTS.PAPERPART');\r\n const taskGroups = paperParts || getProp(exam, 'OBJECTS.TASKGROUP');\r\n const questions = getProp(exam, 'OBJECTS.QUESTION');\r\n mutableState.set('root', createMapping(taskGroups || questions));\r\n\r\n // 2. Create other mappings\r\n if (taskGroups) { populateMappings(mutableState, taskGroups); }\r\n });\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport {MAPPINGS_REDUCER}","\r\n// npm\r\nimport {List as ImmutableList} from 'immutable'\r\n\r\n// redux\r\nimport * as EXAM_ACTION_TYPES from '../../../action-types'\r\n\r\n\r\nconst MAPPING_REDUCER = (state=ImmutableList(), action) =>\r\n{\r\n\tswitch (action.type)\r\n\t{\r\n\t\tcase EXAM_ACTION_TYPES.SET_EXAM_DATA:\r\n\t\t\treturn state.withMutations(mutableState => {\r\n\t\t\t\taction.mappees.forEach(mappee => {\r\n\t\t\t\t\tmutableState.push(mappee['@ID']);\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n}\r\n\r\n\r\nexport {MAPPING_REDUCER}","const SET_LOCAL_ANSWER = '[exam][question]set.local.answer';\t\t\t\t\t\t\t\t\t\t\t// used to determine client-side which answer was selected\r\nconst SET_SERVER_ANSWER = '[exam][question]set.server.answer';\t\t\t\t\t\t\t\t\t\t// contains 'answerText' and 'options' for saving to server\r\nconst TOGGLE_BOOKMARK = '[exam][question]toggle.bookmark';\r\n\r\nexport {SET_LOCAL_ANSWER, SET_SERVER_ANSWER, TOGGLE_BOOKMARK}","const CHANGE = '[workings]change';\t\t\t// modify workings (with diff comparison)\r\nconst ADD = '[workings]add';\t\t\t\t\t\t// add to end of workings (without diff)\r\n\r\nexport {CHANGE, ADD}","\r\n// npm\r\nimport * as Immutable from 'immutable'\r\n\r\n// custom\r\nimport {getProp} from 'custom/object-helper'\r\n\r\n// redux\r\nimport {extractMessage} from 'redux/reducers/exam/helpers'\r\nimport {SET_EXAM_DATA} from 'redux/reducers/exam/action-types'\r\n\r\n\r\nconst ROW_REDUCER = (state=Immutable.Map(), action) =>\r\n{\r\n\tswitch (action.type)\r\n\t{\r\n\t\tcase SET_EXAM_DATA:\r\n\t\t\tstate = state.set('id', action.data['@ID']);\r\n\t\t\tconst valuesAsText = extractMessage(getProp(action, 'data.TEXT'));\r\n\t\t\tconst values = valuesAsText.split('|');\r\n\t\t\treturn state.set('values', values.map(x => x === \"\" ? undefined : x));\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n}\r\n\r\nexport {ROW_REDUCER}","\r\n// npm\r\nimport * as Immutable from 'immutable'\r\n\r\n// redux\r\nimport {ROW_REDUCER} from './row/reducer'\r\nimport {SET_EXAM_DATA} from 'redux/reducers/exam/action-types'\r\n\r\n\r\nconst createRows = (state, action) =>\r\n{\r\n\tconst {data} = action;\r\n\r\n\tfor (let i = 0; i < data.length; i++)\r\n\t{\r\n\t\tconst rowData = data[i];\r\n\t\tconst rowAction = {...action, data: rowData};\r\n\t\tstate = state.push(ROW_REDUCER(undefined, rowAction));\r\n\t}\r\n\r\n\treturn state;\r\n}\r\n\r\nconst ROWS_REDUCER = (state=Immutable.List(), action) =>\r\n{\r\n\tswitch (action.type)\r\n\t{\r\n\t\tcase SET_EXAM_DATA:\r\n\t\t\treturn createRows(state, action);\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n}\r\n\r\n\r\nexport {ROWS_REDUCER}","// redux\r\nimport { ROWS_REDUCER } from \"./rows/reducer\";\r\nimport { SET_EXAM_DATA } from \"redux/reducers/exam/action-types\";\r\n\r\n// custom\r\nimport { getProp } from \"custom/object-helper\";\r\n\r\nconst handleSetExamData = (state, action) => {\r\n const showAnswerInputField =\r\n !!action.data[\"@ShowAnswerInputField\"];\r\n state = state.set(\"showAnswerInputField\", showAnswerInputField);\r\n\r\n const noOfAnswerLines = showAnswerInputField\r\n ? action.data[\"@NoOfAnswerLines\"]\r\n ? parseInt(action.data[\"@NoOfAnswerLines\"])\r\n : 0\r\n : 0;\r\n state = state.set(\"noOfAnswerLines\", noOfAnswerLines);\r\n\r\n const answerLabel = showAnswerInputField\r\n ? action.data[\"@AnswerLabel\"]\r\n ? action.data[\"@AnswerLabel\"]\r\n : ''\r\n : '';\r\n state = state.set(\"answerLabel\", answerLabel);\r\n\r\n const columnCount = action.data[\"@NumberOfColumns\"];\r\n state = state.set(\"resumedAnswer\", action.data[\"ANSWER\"]);\r\n\r\n const rowsData = getProp(action, \"data.OPTIONS.OPTION\");\r\n const rowsAction = { ...action, data: rowsData, columnCount };\r\n return state.set(\"rows\", ROWS_REDUCER(undefined, rowsAction));\r\n};\r\n\r\n// Note: state should always be initialized at this point (via QUESTION_REDUCER)\r\nconst TABLE_QUESTION_REDUCER = (state, action) => {\r\n switch (action.type) {\r\n case SET_EXAM_DATA:\r\n return handleSetExamData(state, action);\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport { TABLE_QUESTION_REDUCER };\r\n","\r\n// npm\r\nimport * as Immutable from 'immutable'\r\n\r\n// custom\r\nimport {getProp} from 'custom/object-helper'\r\n\r\n// redux\r\nimport {extractMessage} from 'redux/reducers/exam/helpers'\r\nimport {SET_EXAM_DATA} from 'redux/reducers/exam/action-types'\r\n\r\n\r\nconst OPTION_REDUCER = (state=Immutable.Map(), action) =>\r\n{\r\n\tswitch (action.type)\r\n\t{\r\n\t\tcase SET_EXAM_DATA:\r\n\t\t\tstate = state.set('id', action.data['@ID']);\r\n\t\t\tconst optionText = extractMessage(getProp(action, 'data.TEXT'));\r\n\t\t\tstate = state.set('text', optionText);\r\n\t\t\treturn state.set('selected', getProp(action, 'data.@Selected'));\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n}\r\n\r\n\r\nexport {OPTION_REDUCER}","\r\n// npm\r\nimport * as Immutable from 'immutable'\r\n\r\n// redux\r\nimport {OPTION_REDUCER} from './option/reducer'\r\nimport {SET_EXAM_DATA} from 'redux/reducers/exam/action-types'\r\n\r\n\r\nconst createOptions = (state, {type, data}) =>\r\n{\r\n\tfor (let i = 0; i < data.length; i++)\r\n\t{\r\n\t\tconst optionData = data[i];\r\n\t\tconst action = {type, data: optionData};\r\n\t\tstate = state.push(OPTION_REDUCER(undefined, action));\r\n\t}\r\n\r\n\treturn state;\r\n}\r\n\r\nconst OPTIONS_REDUCER = (state=Immutable.List(), action) =>\r\n{\r\n\tswitch (action.type)\r\n\t{\r\n\t\tcase SET_EXAM_DATA:\r\n\t\t\treturn createOptions(state, action);\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n}\r\n\r\n\r\nexport {OPTIONS_REDUCER}","\r\nimport {getProp} from 'custom/object-helper'\r\nimport {extractMessage} from 'redux/reducers/exam/helpers'\r\nimport {SET_EXAM_DATA} from 'redux/reducers/exam/action-types'\r\nimport {OPTIONS_REDUCER} from './options/reducer'\r\n\r\n\r\n// Note: state should always be initialized at this point (via QUESTION_REDUCER)\r\nconst COMBO_QUESTION_REDUCER = (state, action) =>\r\n{\r\n\tswitch (action.type)\r\n\t{\r\n\t\tcase SET_EXAM_DATA:\r\n\t\t\tstate = state.set('dropdownLabel', extractMessage(action.data.LABEL));\r\n\t\t\tconst optionsData = getProp(action, 'data.OPTIONS.OPTION');\r\n\t\t\tconst optionsAction = {...action, data: optionsData};\r\n\t\t\treturn state.set('options', OPTIONS_REDUCER(undefined, optionsAction));\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n}\r\n\r\nexport {COMBO_QUESTION_REDUCER}","\r\n// npm\r\nimport * as Immutable from 'immutable'\r\n\r\n// custom\r\nimport {getProp} from 'custom/object-helper'\r\n\r\n// redux\r\nimport {extractMessage} from 'redux/reducers/exam/helpers'\r\nimport {SET_EXAM_DATA} from 'redux/reducers/exam/action-types'\r\n\r\n\r\nconst OPTION_REDUCER = (state=Immutable.Map(), action) =>\r\n{\r\n\tswitch (action.type)\r\n\t{\r\n\t\tcase SET_EXAM_DATA:\r\n\t\t\tstate = state.set('id', action.data['@ID']);\r\n\t\t\tconst optionText = extractMessage(getProp(action, 'data.TEXT'));\r\n\t\t\tstate = state.set('text', optionText);\r\n\t\t\treturn state.set('selected', getProp(action, 'data.@Selected'));\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n}\r\n\r\n\r\nexport {OPTION_REDUCER}","\r\n// npm\r\nimport * as Immutable from 'immutable'\r\n\r\n// redux\r\nimport {OPTION_REDUCER} from './option/reducer'\r\nimport {SET_EXAM_DATA} from 'redux/reducers/exam/action-types'\r\n\r\n\r\nconst createOptions = (state, {type, data}) =>\r\n{\r\n\tfor (let i = 0; i < data.length; i++)\r\n\t{\r\n\t\tconst optionData = data[i];\r\n\t\tconst action = {type, data: optionData};\r\n\t\tstate = state.push(OPTION_REDUCER(undefined, action));\r\n\t}\r\n\r\n\treturn state;\r\n}\r\n\r\nconst OPTIONS_REDUCER = (state=Immutable.List(), action) =>\r\n{\r\n\tswitch (action.type)\r\n\t{\r\n\t\tcase SET_EXAM_DATA:\r\n\t\t\treturn createOptions(state, action);\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n}\r\n\r\n\r\nexport {OPTIONS_REDUCER}","\r\nimport {getProp} from 'custom/object-helper'\r\nimport {OPTIONS_REDUCER} from './options/reducer'\r\nimport {SET_EXAM_DATA} from 'redux/reducers/exam/action-types'\r\n\r\n\r\n// Note: state should always be initialized at this point \r\n// (via QUESTION_REDUCER)\r\nconst RADIOS_QUESTION_REDUCER = (state, action) =>\r\n{\r\n\tswitch (action.type)\r\n\t{\r\n\t\tcase SET_EXAM_DATA:\r\n\t\t\tconst optionsData = getProp(action, 'data.OPTIONS.OPTION');\r\n\t\t\tconst optionsAction = {...action, data: optionsData};\r\n\t\t\treturn state.set('options', OPTIONS_REDUCER(undefined, optionsAction));\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n}\r\n\r\nexport {RADIOS_QUESTION_REDUCER}","\r\nconst validateMinMax = (min, max) => {\r\n\tif (min >= max) { throw \"randomize: min-max error\"; }\r\n}\r\n\r\n// -------------------------------------------------------\r\n// Note: min=inclusive, max=exclusive\r\n\r\nconst randomInteger = (min, max) =>\r\n{\r\n\treturn Math.floor(randomFloat(min, max));\r\n}\r\n\r\nconst randomFloat = (min, max) =>\r\n{\r\n\treturn Math.random() * (max - min) + min;\r\n}\r\n\r\n// -------------------------------------------------------\r\n\r\nconst randomize = {\r\n\tinteger: (min=0, max=10) => {\r\n\t\tvalidateMinMax(min, max);\r\n\t\treturn randomInteger(min, max);\r\n\t},\r\n\tfloat: (min=0, max=10) => {\r\n\t\tvalidateMinMax(min, max);\r\n\t\treturn randomFloat(min, max);\r\n\t}\r\n}\r\n\r\n// -------------------------------------------------------\r\n\r\nexport {randomize}","\nimport {randomize} from 'utils/randomize'\nimport {validateAsArray} from 'utils/type-validator'\n\n\nconst containsDuplicates = function(array)\n{\n\tvalidateAsArray(array);\n\treturn (new Set(array)).size !== array.length;\n}\n\nconst hasIndex = function(array, index)\n{\n\tvalidateAsArray(array);\n\treturn index >= 0 && index < array.length;\n}\n\nconst shuffle = function(array)\n{\n\tvalidateAsArray(array);\n\tconst shuffledArray = [...array];\n\n\tfor (let i = shuffledArray.length - 1; i > 0; i--)\n\t{\n\t\tconst swapIndex = randomize.integer(0, i + 1);\n\t\tconst swapValue = shuffledArray[swapIndex];\n\n\t\tshuffledArray[swapIndex] = shuffledArray[i];\n\t\tshuffledArray[i] = swapValue;\n\t}\n\n\treturn shuffledArray;\n}\n\nexport {containsDuplicates, hasIndex, shuffle}","\r\nconst WORDS_WITH_SQUARE_BRACKETS = /\\[(.*?)\\]/g;\r\n\r\nexport {WORDS_WITH_SQUARE_BRACKETS}","// redux\r\nimport { extractMessage } from \"redux/reducers/exam/helpers\";\r\nimport { SET_EXAM_DATA } from \"redux/reducers/exam/action-types\";\r\n\r\nimport { check } from \"@xams-utils/check-types\";\r\n\r\n// custom\r\nimport { getProp } from \"custom/object-helper\";\r\nimport { shuffle } from \"custom/array-helper\";\r\n\r\n// constants\r\nimport { WORDS_WITH_SQUARE_BRACKETS } from \"./constants\";\r\n\r\nconst isVariable = (text) => {\r\n if (!text) {\r\n return false;\r\n }\r\n\r\n if (text.charAt(0) !== \"V\" && text.charAt(0) !== \"v\") {\r\n return false;\r\n }\r\n\r\n if (text.length === 1) {\r\n return false;\r\n }\r\n\r\n for (let i = 1; i < text.length; i++) {\r\n if (text.charCodeAt(i) < 48 || text.charCodeAt(i) > 57) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nconst extractAnswerText = (data) => extractMessage(data.ANSWERTEXT || {});\r\n\r\nconst toLocalAnswerTextOld = (serverAnswerText) =>\r\n serverAnswerText.replace(WORDS_WITH_SQUARE_BRACKETS, \"[]\");\r\n\r\nconst toLocalAnswerText = (serverAnswerText) => {\r\n let startingPosition = 0;\r\n let returnText = \"\";\r\n\r\n while (true) {\r\n const startBracket = serverAnswerText.indexOf(\"[\", startingPosition);\r\n\r\n if (startBracket === -1) {\r\n returnText += serverAnswerText.substr(startingPosition);\r\n break;\r\n }\r\n\r\n const endBracket = serverAnswerText.indexOf(\"]\", startBracket);\r\n //debugger;\r\n\r\n if (endBracket === -1) {\r\n returnText += serverAnswerText.substr(startingPosition);\r\n break;\r\n }\r\n\r\n returnText += serverAnswerText.substring(\r\n startingPosition,\r\n startBracket\r\n );\r\n\r\n const optionText = serverAnswerText.substring(\r\n startBracket + 1,\r\n endBracket\r\n );\r\n\r\n if (isVariable(optionText)) {\r\n returnText += \"[\" + optionText + \"]\";\r\n } else returnText += \"[]\";\r\n startingPosition = endBracket + 1;\r\n }\r\n\r\n return returnText;\r\n};\r\n\r\nconst removeBrackets = (text) => {\r\n text = text.replace(/\\[/g, \"\");\r\n return text.replace(/\\]/g, \"\");\r\n};\r\n\r\nconst extractOptions = (serverAnswerText) => {\r\n const options = serverAnswerText.match(WORDS_WITH_SQUARE_BRACKETS);\r\n const unshuffledOptions = options.map((option) => removeBrackets(option));\r\n return shuffle(unshuffledOptions);\r\n};\r\n\r\nconst extractVariableOptions = (data) => {\r\n if (!data.BLANKS) return null;\r\n if (check.array(data.BLANKS.BLANK)) {\r\n const options = data.BLANKS.BLANK.reduce((options, blank) => {\r\n if (blank[\"@Text\"] && isVariable(blank[\"@Text\"])) {\r\n if (!options) {\r\n options = [];\r\n }\r\n if (\r\n blank.OPTIONS &&\r\n blank.OPTIONS.OPTION &&\r\n check.array(blank.OPTIONS.OPTION)\r\n ) {\r\n options[blank[\"@Text\"]] = shuffle(blank.OPTIONS.OPTION);\r\n }\r\n }\r\n return options;\r\n }, null);\r\n\r\n return options;\r\n } else if (check.object(data.BLANKS.BLANK)) {\r\n const blank = data.BLANKS.BLANK;\r\n\r\n if (blank[\"@Text\"] && isVariable(blank[\"@Text\"])) {\r\n if (\r\n blank.OPTIONS &&\r\n blank.OPTIONS.OPTION &&\r\n check.array(blank.OPTIONS.OPTION)\r\n ) {\r\n const options = [];\r\n options[blank[\"@Text\"]] = shuffle(blank.OPTIONS.OPTION);\r\n\r\n return options;\r\n }\r\n }\r\n }\r\n\r\n return null;\r\n};\r\n\r\nconst handleSetExamData = (state, action) => {\r\n const serverAnswerText = extractAnswerText(action.data); // format: \"How [now] brown [cow]\"\r\n const answerText = toLocalAnswerText(serverAnswerText); // format: \"How [] brown []\"\r\n const options = extractOptions(serverAnswerText);\r\n const variableOptions = extractVariableOptions(action.data);\r\n\r\n state = state.set(\"answerText\", answerText);\r\n state = state.set(\"options\", options);\r\n state = state.set(\"variableOptions\", variableOptions);\r\n return state.set(\"resumedAnswer\", getProp(action, \"data.ANSWER\"));\r\n};\r\n\r\n// Note: state should always be initialized at this point (via QUESTION_REDUCER)\r\nconst FILL_IN_BLANKS_QUESTION_REDUCER = (state, action) => {\r\n switch (action.type) {\r\n case SET_EXAM_DATA:\r\n return handleSetExamData(state, action);\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport { FILL_IN_BLANKS_QUESTION_REDUCER };\r\n","\r\n// npm\r\nimport * as Immutable from 'immutable'\r\n\r\n// custom\r\nimport {getProp} from 'custom/object-helper'\r\n\r\n// redux\r\nimport {extractMessage} from 'redux/reducers/exam/helpers'\r\nimport {SET_EXAM_DATA} from 'redux/reducers/exam/action-types'\r\n\r\n\r\nconst OPTION_REDUCER = (state=Immutable.Map(), action) =>\r\n{\r\n\tswitch (action.type)\r\n\t{\r\n\t\tcase SET_EXAM_DATA:\r\n\t\t\tstate = state.set('id', action.data['@ID']);\r\n\t\t\tconst optionText = extractMessage(getProp(action, 'data.TEXT'));\r\n\t\t\tstate = state.set('text', optionText);\r\n\t\t\treturn state.set('selected', getProp(action, 'data.@Selected'));\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n}\r\n\r\n\r\nexport {OPTION_REDUCER}","\r\n// npm\r\nimport * as Immutable from 'immutable'\r\n\r\n// redux\r\nimport {OPTION_REDUCER} from './option/reducer'\r\nimport {SET_EXAM_DATA} from 'redux/reducers/exam/action-types'\r\n\r\n\r\nconst createOptions = (state, {type, data}) =>\r\n{\r\n\tfor (let i = 0; i < data.length; i++)\r\n\t{\r\n\t\tconst optionData = data[i];\r\n\t\tconst action = {type, data: optionData};\r\n\t\tstate = state.push(OPTION_REDUCER(undefined, action));\r\n\t}\r\n\r\n\treturn state;\r\n}\r\n\r\nconst OPTIONS_REDUCER = (state=Immutable.List(), action) =>\r\n{\r\n\tswitch (action.type)\r\n\t{\r\n\t\tcase SET_EXAM_DATA:\r\n\t\t\treturn createOptions(state, action);\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n}\r\n\r\n\r\nexport {OPTIONS_REDUCER}","\r\nimport {getProp} from 'custom/object-helper'\r\nimport {OPTIONS_REDUCER} from './options/reducer'\r\nimport {SET_EXAM_DATA} from 'redux/reducers/exam/action-types'\r\n\r\n\r\n// Note: state should always be initialized at this point (via QUESTION_REDUCER)\r\nconst CHECKS_QUESTION_REDUCER = (state, action) =>\r\n{\r\n\tswitch (action.type)\r\n\t{\r\n\t\tcase SET_EXAM_DATA:\r\n\t\t\tstate = state.set('minOptions', action.data['@Minimum']);\r\n\t\t\tstate = state.set('maxOptions', action.data['@Maximum']);\r\n\t\t\tconst optionsData = getProp(action, 'data.OPTIONS.OPTION');\r\n\t\t\tconst optionsAction = {...action, data: optionsData};\r\n\t\t\tstate = state.set('maxOptions', action.data['@Maximum']);\r\n\t\t\treturn state.set('options', OPTIONS_REDUCER(undefined, optionsAction));\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n}\r\n\r\nexport {CHECKS_QUESTION_REDUCER}","\r\n// npm\r\nimport * as Immutable from 'immutable'\r\n\r\n// redux\r\nimport {extractMessage} from 'redux/reducers/exam/helpers'\r\nimport {SET_EXAM_DATA} from 'redux/reducers/exam/action-types'\r\n\r\n// custom\r\nimport {getProp} from 'custom/object-helper'\r\n\r\n\r\nconst PART_REDUCER = (state=Immutable.Map(), action) =>\r\n{\r\n\tswitch (action.type)\r\n\t{\r\n\t\tcase SET_EXAM_DATA:\r\n\t\t\tstate = state.set('id', action.partData['@ID']);\r\n\t\t\tstate = state.set('lineCount', action.partData['@NumberOfLines']);\r\n\t\t\tstate = state.set('usesRichText', action.partData['@RichEditor']);\r\n\t\t\tstate = state.set('marks', action.partData['@Score']);\r\n\t\t\tstate = state.set('answerText', action.partData['ANSWERTEXT']);\r\n\t\t\tstate = state.set('workingAreaSize', action.partData['@WorkingAreaSize']);\r\n\t\t\tstate = state.set('suffix', action.partData['@Suffix']);\r\n\t\t\tconst partText = getProp(action, 'partData.TEXT');\r\n\t\t\treturn state.set('text', extractMessage(partText || {}) || \"\");\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n}\r\n\r\n\r\nexport {PART_REDUCER}","\r\n// npm\r\nimport * as Immutable from 'immutable'\r\n\r\n// redux\r\nimport {PART_REDUCER} from './part/reducer'\r\nimport {SET_EXAM_DATA} from 'redux/reducers/exam/action-types'\r\n\r\n\r\nconst createParts = (state, {type, data}) =>\r\n{\r\n\tfor (let i = 0; i < data.length; i++)\r\n\t{\r\n\t\tconst partData = data[i];\r\n\t\tconst action = {type, partData};\r\n\t\tstate = state.push(PART_REDUCER(undefined, action));\r\n\t}\r\n\r\n\treturn state;\r\n}\r\n\r\nconst PARTS_REDUCER = (state=Immutable.List(), action) =>\r\n{\r\n\tswitch (action.type)\r\n\t{\r\n\t\tcase SET_EXAM_DATA:\r\n\t\t\treturn createParts(state, action);\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n}\r\n\r\n\r\nexport {PARTS_REDUCER}","import { getProp } from \"custom/object-helper\";\r\nimport { PARTS_REDUCER } from \"./parts/reducer\";\r\nimport { SET_EXAM_DATA } from \"redux/reducers/exam/action-types\";\r\nimport { check } from \"@xams-utils/check-types\";\r\n\r\n// Note: state should always be initialized at this point (via QUESTION_REDUCER)\r\nconst MULTI_TEXT_QUESTION_REDUCER = (state, action) => {\r\n switch (action.type) {\r\n case SET_EXAM_DATA:\r\n const partsData = getProp(action, \"data.PARTS.MULTITEXTPART\");\r\n const partsAction = { ...action, data: partsData };\r\n\r\n const showWordCount = getProp(action, \"data.@ShowWordCount\");\r\n state = state.set(\r\n \"showWordCount\",\r\n check.boolean(showWordCount) ? showWordCount : false\r\n );\r\n\r\n if (state.get(\"requiresWorkings\")) {\r\n const totalWorkingLines = partsData.reduce(\r\n (total, partData) => {\r\n return total + partData[\"@WorkingAreaSize\"];\r\n },\r\n 0\r\n );\r\n state.set(\"requiresWorkings\", totalWorkingLines > 0);\r\n }\r\n\r\n return state.set(\"parts\", PARTS_REDUCER(undefined, partsAction));\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport { MULTI_TEXT_QUESTION_REDUCER };\r\n","const LONG_TEXT_QUESTION_REDUCER = (state, action) => state;\r\n\r\nexport {LONG_TEXT_QUESTION_REDUCER}","\r\n// npm\r\nimport {List as ImmutableList} from 'immutable'\r\n\r\n// redux\r\nimport {OPTION_REDUCER} from './option/reducer'\r\nimport {SET_EXAM_DATA} from 'redux/reducers/exam/action-types'\r\n\r\n\r\nconst createOptions = (state, {type, data}) =>\r\n{\r\n\tdata.forEach(optionData => {\r\n\t\tconst action = {type, data: optionData};\r\n\t\tstate = state.push(OPTION_REDUCER(undefined, action));\r\n\t})\r\n\r\n\treturn state;\r\n}\r\n\r\nconst OPTIONS_REDUCER = (state=ImmutableList(), action) =>\r\n{\r\n\tswitch (action.type)\r\n\t{\r\n\t\tcase SET_EXAM_DATA:\r\n\t\t\treturn createOptions(state, action);\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n}\r\n\r\n\r\nexport {OPTIONS_REDUCER}","\r\n// npm\r\nimport * as Immutable from 'immutable'\r\n\r\n// custom\r\nimport {getProp} from 'custom/object-helper'\r\n\r\n// redux\r\nimport {extractMessage} from 'redux/reducers/exam/helpers'\r\nimport {SET_EXAM_DATA} from 'redux/reducers/exam/action-types'\r\n\r\n\r\nconst OPTION_REDUCER = (state=Immutable.Map(), action) =>\r\n{\r\n\tswitch (action.type)\r\n\t{\r\n\t\tcase SET_EXAM_DATA:\r\n\t\t\treturn state.withMutations(mutableState => {\r\n\t\t\t\tmutableState.set('id', action.data['@ID']);\r\n\t\t\t\tmutableState.set('marks', action.data['@Score']);\r\n\t\t\t\tmutableState.set('text', extractMessage(getProp(action, 'data.TEXT')));\r\n\t\t\t\tmutableState.set('selectedId', getProp(action, 'data.@SelectedOptionID'));\r\n\t\t\t});\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n}\r\n\r\n\r\nexport {OPTION_REDUCER}","\r\n// npm\r\nimport {List as ImmutableList} from 'immutable'\r\n\r\n// redux\r\nimport {SELECTION_REDUCER} from './selection/reducer'\r\nimport {SET_EXAM_DATA} from 'redux/reducers/exam/action-types'\r\n\r\n// custom\r\nimport {shuffle} from 'custom/array-helper'\r\n\r\n\r\nconst createRandomizedSelections = (state, {type, data}) =>\r\n{\r\n\tdata = shuffle(data);\r\n\tdata.forEach(selectionData => {\r\n\t\tconst action = {type, data: selectionData};\r\n\t\tstate = state.push(SELECTION_REDUCER(undefined, action));\r\n\t})\r\n\treturn state;\r\n}\r\n\r\nconst SELECTIONS_REDUCER = (state=ImmutableList(), action) =>\r\n{\r\n\tswitch (action.type)\r\n\t{\r\n\t\tcase SET_EXAM_DATA:\r\n\t\t\treturn createRandomizedSelections(state, action);\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n}\r\n\r\n\r\nexport {SELECTIONS_REDUCER}","\r\n// npm\r\nimport {Map as ImmutableMap} from 'immutable'\r\n\r\n// custom\r\nimport {getProp} from 'custom/object-helper'\r\n\r\n// redux\r\nimport {extractMessage} from 'redux/reducers/exam/helpers'\r\nimport {SET_EXAM_DATA} from 'redux/reducers/exam/action-types'\r\n\r\n\r\nconst SELECTION_REDUCER = (state=ImmutableMap(), action) =>\r\n{\r\n\tswitch (action.type)\r\n\t{\r\n\t\tcase SET_EXAM_DATA:{\r\n\t\t\tconst id = getProp(action, 'data.@ID');\r\n\t\t\tvar selectionData = getProp(action, 'data.ANSWER');\r\n\r\n\t\t\tif (!selectionData) { throw \"match q selection not found\"; }\r\n\t\t\t// state = state.set('id', getProp(selectionData, 'MESSAGE.@PK'));\r\n\t\t\tstate = state.set('id', id);\r\n\r\n\t\t\treturn state.set('text', extractMessage(selectionData));\r\n\t\t}\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n}\r\n\r\n\r\nexport {SELECTION_REDUCER}","\r\n// custom\r\nimport {getProp} from 'custom/object-helper'\r\n\r\n// redux\r\nimport {OPTIONS_REDUCER} from './options/reducer'\r\nimport {SELECTIONS_REDUCER} from './selections/reducer'\r\nimport {SET_EXAM_DATA} from 'redux/reducers/exam/action-types'\r\n\r\n\r\n// Note: state should always be initialized at this point \r\n// (via QUESTION_REDUCER)\r\nconst MATCH_QUESTION_REDUCER = (state, action) =>\r\n{\r\n\tswitch (action.type)\r\n\t{\r\n\t\tcase SET_EXAM_DATA:\r\n\t\t\tconst subData = getProp(action, 'data.OPTIONS.MATCHOPTION');\r\n\t\t\tconst subAction = {...action, data: subData};\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// 'options' and 'selections' use the same action data\r\n\t\t\tstate = state.set('options', OPTIONS_REDUCER(undefined, subAction));\r\n\t\t\treturn state.set('selections', SELECTIONS_REDUCER(undefined, subAction));\t\t// selections = potential answers for each option\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n}\r\n\r\nexport {MATCH_QUESTION_REDUCER}","\r\n// npm\r\nimport {Map as ImmutableMap} from 'immutable'\r\n\r\n// redux\r\nimport * as ACTION_TYPES from './action-types'\r\nimport * as EXAM_ACTION_TYPES from 'redux/reducers/exam/action-types'\r\n\r\n\r\nconst WORKINGS_REDUCER = (state=ImmutableMap(), action) =>\r\n{\r\n\tswitch (action.type)\r\n\t{\r\n\t\tcase EXAM_ACTION_TYPES.SET_EXAM_DATA:\r\n\t\t\treturn state.set('value', action.data.WORKINGS || \"\");\r\n\t\tcase ACTION_TYPES.CHANGE:\r\n\t\t\treturn state.set('value', action.value);\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n}\r\n\r\nexport {WORKINGS_REDUCER}","const SET_ASCX_HTML = '[exam][question][ascx]set.ascx.html';\t\t\t\r\n\r\nexport {SET_ASCX_HTML}\r\n","\r\n// redux (action-types)\r\nimport * as ACTION_TYPES from './action-types'\r\nimport {SET_EXAM_DATA} from 'redux/reducers/exam/action-types'\r\n\r\n\r\n// Note: 'state' should always be initialized at this point (via QUESTION_REDUCER)\r\nconst ASCX_QUESTION_REDUCER = (state, action) =>\r\n{\r\n\tswitch (action.type)\r\n\t{\r\n\t\tcase SET_EXAM_DATA:\r\n\t\t\treturn state.withMutations(mutableState => {\r\n\t\t\t\tconst {data} = action;\r\n\t\t\t\tconst ascxProperties = data['PROPERTIES'].ASCXPROPERTY;\r\n\r\n\t\t\t\tmutableState.set('controlName', data['@ControlName']);\r\n\t\t\t\tmutableState.set('resumedAnswer', data['ANSWER']);\r\n\t\t\t\tmutableState.set('properties', ascxProperties.map(property => ({\r\n\t\t\t\t\tname: property['@PropertyName'],\r\n\t\t\t\t\tpropType: property['@PropertyType'],\r\n\t\t\t\t\tvalue: property['@PropertyValue'],\r\n\t\t\t\t\tdefault: property['@DefaultValue']\r\n\t\t\t\t})));\r\n\t\t\t});\r\n\t\tcase ACTION_TYPES.SET_ASCX_HTML:\r\n\t\t\treturn state.set('html', action.html);\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n}\r\n\r\n\r\nexport {ASCX_QUESTION_REDUCER}","\r\nimport {extractMessage} from 'redux/reducers/exam/helpers'\r\nimport {SET_EXAM_DATA} from 'redux/reducers/exam/action-types'\r\n\r\n\r\nconst ICT_QUESTION_REDUCER = (state, action) => {\r\n switch (action.type) {\r\n case SET_EXAM_DATA:\r\n\t\t\treturn state.withMutations(mutableState => {\r\n\t\t\t\tconst {data} = action;\r\n const answer = data['ANSWER'];\r\n mutableState.set('resumedAnswer', answer===''?'visited':answer);\r\n mutableState.set('evidenceText', extractMessage(data['EVIDENCETEXT']));\r\n\r\n\t\t\t}); \r\n // case SET_EXAM_DATA:\r\n // return state.set('evidenceText', extractMessage(action.data.EVIDENCETEXT));\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\n\r\nexport {ICT_QUESTION_REDUCER};","const STATIC_TEXT_QUESTION_REDUCER = (state, action) => state;\r\n\r\nexport {STATIC_TEXT_QUESTION_REDUCER}","const FORM_TYPES = {\r\n FIELD: 'field',\r\n IMAGE: 'image',\r\n HOTSPOT: 'hotspot',\r\n FILE: 'file',\r\n BUTTON: 'button',\r\n SELECT: 'select',\r\n DELAY: 'delay'\r\n}\r\n\r\nconst FORM_FIELD_TYPES = {\r\n TEXT: 'text',\r\n INPUT: 'input',\r\n TEXT_AREA: 'text_area',\r\n DATE: 'date',\r\n TIME: 'time',\r\n VALUE: 'value',\r\n CALENDAR: 'calendar'\r\n}\r\n\r\nconst FORM_SELECT_TYPES = {\r\n RADIO: 'radio',\r\n CHECKBOX: 'checkbox',\r\n CHECKBOX_RADIO: 'checkbox_radio',\r\n DROPDOWN: 'dropdown',\r\n DROPDOWN_MULTI: 'dropdown_muli'\r\n}\r\n\r\nconst FORM_SEPERATORS = [\"~\", \"¬\", \"|\", \"}\"]\r\n\r\nexport { FORM_TYPES, FORM_FIELD_TYPES, FORM_SELECT_TYPES, FORM_SEPERATORS }","// redux\r\nimport { SET_EXAM_DATA } from \"redux/reducers/exam/action-types\";\r\n\r\n// custom\r\nimport { getProp } from \"custom/object-helper\";\r\nimport { extractMessage } from \"redux/reducers/exam/helpers\";\r\nimport { check } from \"@xams-utils/check-types\";\r\nimport {\r\n FORM_TYPES,\r\n FORM_FIELD_TYPES,\r\n FORM_SELECT_TYPES,\r\n} from \"constants/form\";\r\n\r\nconst getString = (data, name) => {\r\n if (check.nonEmptyObject(data)) {\r\n if (check.assigned(data[name])) {\r\n return \"\" + data[name];\r\n }\r\n }\r\n return \"\";\r\n};\r\n\r\nconst extractFromString = (toExtract, string) => {\r\n if (!check.nonEmptyArray(toExtract) || !check.nonEmptyString(string)) {\r\n return { extracted: [], remaining: string };\r\n }\r\n\r\n const extracted = {};\r\n const remaining = [];\r\n const a = string.split(\";\");\r\n\r\n for (let i = 0; i < a.length; i++) {\r\n const b = a[i].split(\":\");\r\n let found = false;\r\n\r\n if (b.length === 2) {\r\n const stringName = b[0].trim();\r\n const stringValue = b[1].trim();\r\n\r\n for (let j = 0; j < toExtract.length; j++) {\r\n const extractName = toExtract[j].trim();\r\n\r\n if (extractName === stringName) {\r\n extracted[stringName] = stringValue;\r\n found = true;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (!found) {\r\n remaining.push(a[i]);\r\n }\r\n }\r\n\r\n return { extracted, remaining: remaining.join(\";\") };\r\n};\r\n\r\nconst handleSetExamData = (state, action) => {\r\n state = state.set(\"resumedAnswer\", action.data[\"ANSWER\"]);\r\n\r\n return state.set(\"formData\", getFormData(action));\r\n};\r\n\r\nconst getFormData = (action) => {\r\n const styleString = getString(action.data, \"@CssStyle\");\r\n const { extracted, remaining } = extractFromString(\r\n [\"rowState\", \"rowStates\", \"rowStateDefault\", \"setRowStates\"],\r\n styleString\r\n );\r\n\r\n const formData = {\r\n style: remaining,\r\n rows: getRows(getProp(action, \"data.OBJECTS.QGRIDROW\")),\r\n };\r\n\r\n if (check.nonEmptyObject(extracted)) {\r\n const { rowState, rowStates, rowStateDefault, setRowStates } =\r\n extracted;\r\n\r\n if (check.nonEmptyString(rowState)) {\r\n formData.rowState = rowState;\r\n }\r\n\r\n if (check.nonEmptyString(rowStateDefault)) {\r\n formData.rowStateDefault = rowStateDefault;\r\n }\r\n\r\n if (check.nonEmptyString(rowStates)) {\r\n formData.rowStates = getRowStates(rowStates);\r\n }\r\n\r\n if (check.nonEmptyString(setRowStates)) {\r\n formData.rowStates = getSetRowStates(setRowStates);\r\n }\r\n }\r\n\r\n return formData;\r\n};\r\n\r\nconst getRowStates = (text) => {\r\n const rowStates = text.split(\"~\").reduce((obj, item) => {\r\n const parts = item.split(\"=\");\r\n\r\n if (check.nonEmptyArray(parts) && parts.length == 2) {\r\n const rows = parts[1].split(\",\");\r\n\r\n if (check.nonEmptyArray(rows) && rows.length > 0) {\r\n obj[parts[0]] = rows;\r\n }\r\n }\r\n\r\n return obj;\r\n }, {});\r\n\r\n return rowStates;\r\n};\r\n\r\nconst getSetRowStates = (text) => {\r\n if (check.nonEmptyString(text)) {\r\n const parts = text.split(\",\");\r\n\r\n if (check.nonEmptyArray(parts) && parts.length > 1) {\r\n const rowStateNameStart =\r\n parts.length > 2 && check.nonEmptyString(parts[2])\r\n ? parts[2]\r\n : \"rowState\";\r\n const rowNameStart =\r\n parts.length > 3 && check.nonEmptyString(parts[3])\r\n ? parts[3]\r\n : \"row\";\r\n const start = parseInt(parts[0]);\r\n const end = parseInt(parts[1]);\r\n\r\n if (!isNaN(start) && !isNaN(end) && start < end) {\r\n const rowStates = {};\r\n\r\n for (let i = start; i <= end; i++) {\r\n const rowStateName = `${rowStateNameStart}${i}`;\r\n const rowName = `${rowNameStart}${i}`;\r\n\r\n rowStates[rowStateName] = [rowName];\r\n }\r\n\r\n return rowStates;\r\n }\r\n }\r\n }\r\n\r\n return null;\r\n};\r\n\r\nconst getRows = (rows) => {\r\n if (check.nonEmptyArray(rows)) {\r\n return rows.map((row) => getRow(row));\r\n }\r\n return [];\r\n};\r\n\r\nconst getRow = (rowData) => {\r\n const styleString = getString(rowData, \"@CssStyle\");\r\n const { extracted, remaining } = extractFromString(\r\n [\"rowFamily\", \"rowFamilyVisible\",\"finished\"],\r\n styleString\r\n );\r\n\r\n const row = {\r\n style: remaining,\r\n width: getString(rowData, \"@Width\"),\r\n height: getString(rowData, \"@Height\"),\r\n cells: getCells(getProp(rowData, \"OBJECTS.QGRIDCELL\")),\r\n ...extracted,\r\n };\r\n\r\n return row;\r\n};\r\n\r\nconst getCells = (cells) => {\r\n if (check.nonEmptyArray(cells)) {\r\n return cells.map((cell) => getCell(cell));\r\n }\r\n return [];\r\n};\r\n\r\nconst getCell = (cellData) => {\r\n const components = getProp(cellData, \"OBJECTS.QUESTION\");\r\n const cell = {\r\n style: getCellProperty(cellData, \"@CssStyle\"),\r\n width: getCellProperty(cellData, \"@Width\"),\r\n height: getCellProperty(cellData, \"@Height\"),\r\n components: getComponents(components),\r\n };\r\n\r\n return cell;\r\n};\r\n\r\nconst getCellProperty = (cellData, property) => {\r\n const rootValue = getString(cellData, property);\r\n if (check.nonEmptyString(rootValue)) {\r\n return rootValue;\r\n }\r\n\r\n const cellProperties = getProp(cellData, \"QGRIDCELLPROPERTIES\");\r\n\r\n if (check.nonEmptyObject(cellProperties)) {\r\n const propertyValue = getString(cellProperties, property);\r\n\r\n return propertyValue;\r\n }\r\n\r\n return \"\";\r\n};\r\n\r\nconst getComponents = (components) => {\r\n if (check.nonEmptyArray(components)) {\r\n return components.map((component) => getComponent(component));\r\n }\r\n return [];\r\n};\r\n\r\nconst getComponent = (componentData) => {\r\n const styleString = getString(componentData, \"@Style\");\r\n const componentType = getString(componentData, \"@QuestionType\");\r\n\r\n const { extracted, remaining } = extractFromString(\r\n getComponentExtractVariables(componentType, componentData),\r\n styleString\r\n );\r\n\r\n const left = getString(componentData, \"@Left\");\r\n const top = getString(componentData, \"@Top\");\r\n const width = getString(componentData, \"@Width\");\r\n const height = getString(componentData, \"@Height\");\r\n\r\n let component = {};\r\n\r\n if (componentType === \"COMPFIELD\" || componentType === \"COMPTEXT\") {\r\n component = getFieldComponent(componentData);\r\n } else if (componentType === \"COMPSELECT\") {\r\n component = getSelectComponent(componentData);\r\n } else if (componentType === \"COMPBUTTON\") {\r\n component = getButtonComponent(componentData);\r\n } else if (componentType === \"COMPFILE\") {\r\n component = getFileComponent(componentData);\r\n } else if (componentType === \"COMPIMAGE\") {\r\n component = getImageComponent(componentData);\r\n } else if (componentType === \"COMPHOTSPOT\") {\r\n component = getHotspotComponent(componentData);\r\n } else if (componentType === \"COMPDELAY\") {\r\n component = getDelayComponent(componentData);\r\n } else {\r\n debugger;\r\n }\r\n\r\n return {\r\n style: remaining,\r\n left,\r\n top,\r\n width,\r\n height,\r\n ...extracted,\r\n ...component,\r\n };\r\n};\r\n\r\nconst getComponentExtractVariables = (componentType, componentData) => {\r\n const variables = [];\r\n\r\n if (componentType === \"COMPFIELD\") {\r\n variables.push(\"maxLength\", \"spellCheck\", \"autoTab\", \"noPaste\");\r\n\r\n const fieldType = getString(componentData, \"@FieldType\");\r\n if (fieldType === \"Calendar\") {\r\n variables.push(\"month\", \"selectColour\");\r\n }\r\n } else if (componentType === \"COMPBUTTON\") {\r\n variables.push(\"changeAction\");\r\n } else if (componentType === \"COMPSELECT\") {\r\n variables.push(\"actionOnSelect\");\r\n const selectType = getString(componentData, \"@SelectType\");\r\n if (selectType === \"Checkbox\") {\r\n variables.push(\"single\");\r\n }\r\n\r\n } else if (componentType === \"COMPTEXT\") {\r\n variables.push(\"action\",\"loading\", \"instruction\");\r\n } else if (componentType === \"COMPHOTSPOT\") {\r\n variables.push(\"checkbox\"); \r\n }\r\n\r\n return variables;\r\n};\r\n\r\nconst getFieldComponent = (componentData) => {\r\n const component = {\r\n component: FORM_TYPES.FIELD,\r\n name: getString(componentData, \"@Name\"),\r\n };\r\n\r\n const componentType = getString(componentData, \"@QuestionType\");\r\n\r\n if (componentType === \"COMPTEXT\") {\r\n const text = extractMessage(getProp(componentData, \"TEXT\"));\r\n component.text = text;\r\n component.type = check.nonEmptyString(text)\r\n ? FORM_FIELD_TYPES.TEXT\r\n : FORM_FIELD_TYPES.VALUE;\r\n } else {\r\n const fieldType = getString(componentData, \"@FieldType\");\r\n\r\n const startingValue = getTextStartingValue(componentData);\r\n if (check.nonEmptyString(startingValue)) {\r\n component.startingValue = startingValue;\r\n }\r\n\r\n if (fieldType === \"Text\") {\r\n component.type = FORM_FIELD_TYPES.INPUT;\r\n } else if (fieldType === \"Date\") {\r\n component.type = FORM_FIELD_TYPES.DATE;\r\n } else if (fieldType === \"Time\") {\r\n component.type = FORM_FIELD_TYPES.TIME;\r\n } else if (fieldType === \"Calendar\") {\r\n component.type = FORM_FIELD_TYPES.CALENDAR;\r\n }\r\n\r\n component.action = getString(componentData, \"@Action\");\r\n }\r\n\r\n return component;\r\n};\r\n\r\nconst getTextStartingValue = (componentData) => {\r\n const text = extractMessage(getProp(componentData, \"TEXT\"));\r\n\r\n if (check.nonEmptyString(text)) {\r\n return text.trim() === \"Question Text\" ? null : text.trim();\r\n // const checkValue='value:';\r\n\r\n // if (text.toLowerCase().startsWith(checkValue)){\r\n // const value=text.substring(checkValue.length).trim();\r\n\r\n // return value;\r\n // }\r\n }\r\n\r\n return null;\r\n};\r\n\r\nconst getSelectComponent = (componentData) => {\r\n const component = {\r\n component: FORM_TYPES.SELECT,\r\n name: getString(componentData, \"@Name\"),\r\n text: extractMessage(getProp(componentData, \"TEXT\")),\r\n options: getOptions(getProp(componentData, \"OPTIONS.OPTION\")),\r\n };\r\n const selectType = getString(componentData, \"@SelectType\");\r\n\r\n const startingValue = getTextStartingValue(componentData);\r\n if (check.nonEmptyString(startingValue)) {\r\n component.startingValue = startingValue;\r\n }\r\n\r\n if (selectType === \"Radio\") {\r\n component.type = FORM_SELECT_TYPES.RADIO;\r\n } else if (selectType === \"Checkbox\") {\r\n component.type = FORM_SELECT_TYPES.CHECKBOX;\r\n } else if (selectType === \"Dropdown\") {\r\n component.type = FORM_SELECT_TYPES.DROPDOWN;\r\n } else {\r\n debugger;\r\n }\r\n\r\n component.action = getString(componentData, \"@Action\");\r\n\r\n return component;\r\n};\r\n\r\nconst getOptions = (options) => {\r\n if (check.nonEmptyArray(options)) {\r\n return options.map((option) => extractMessage(getProp(option, \"TEXT\")));\r\n } else if (check.nonEmptyObject(options)) {\r\n return [extractMessage(getProp(options, \"TEXT\"))];\r\n }\r\n return [];\r\n};\r\n\r\nconst getButtonComponent = (componentData) => {\r\n const component = {\r\n component: FORM_TYPES.BUTTON,\r\n name: getString(componentData, \"@Name\"),\r\n text: extractMessage(getProp(componentData, \"TEXT\")),\r\n action: getString(componentData, \"@Action\"),\r\n };\r\n\r\n return component;\r\n};\r\n\r\nconst getFileComponent = (componentData) => {\r\n const _field = getString(componentData, \"@Field\");\r\n const field = check.nonEmptyString(_field) ? _field : \"attached\";\r\n const component = {\r\n component: FORM_TYPES.FILE,\r\n name: getString(componentData, \"@Name\"),\r\n text: extractMessage(getProp(componentData, \"TEXT\")),\r\n field,\r\n action: getString(componentData, \"@Action\"),\r\n };\r\n\r\n return component;\r\n};\r\n\r\nconst getImageComponent = (componentData) => {\r\n const component = {\r\n component: FORM_TYPES.IMAGE,\r\n name: getString(componentData, \"@Name\"),\r\n src: getString(componentData, \"@Source\"),\r\n };\r\n\r\n return component;\r\n};\r\n\r\nconst getHotspotComponent = (componentData) => {\r\n const component = {\r\n component: FORM_TYPES.HOTSPOT,\r\n name: getString(componentData, \"@Name\"),\r\n };\r\n\r\n return component;\r\n};\r\n\r\nconst getDelayComponent = (componentData) => {\r\n const component = {\r\n component: FORM_TYPES.DELAY,\r\n delay: getString(componentData, \"@Delay\"),\r\n action: getString(componentData, \"@Action\"),\r\n };\r\n\r\n return component;\r\n};\r\n\r\n// Note: state should always be initialized at this point (via QUESTION_REDUCER)\r\nconst FORM_QUESTION_REDUCER = (state, action) => {\r\n switch (action.type) {\r\n case SET_EXAM_DATA:\r\n return handleSetExamData(state, action);\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport { FORM_QUESTION_REDUCER };\r\n","import { getProp } from \"custom/object-helper\";\r\nimport { OPTIONS_REDUCER } from \"../radios/options/reducer\";\r\nimport { SET_EXAM_DATA } from \"redux/reducers/exam/action-types\";\r\n\r\n// Note: state should always be initialized at this point\r\n// (via QUESTION_REDUCER)\r\nconst RADIOS_TEXT_QUESTION_REDUCER = (state, action) => {\r\n switch (action.type) {\r\n case SET_EXAM_DATA:\r\n const lines = getProp(action, \"data.@NoOfAnswerLines\");\r\n state = state.set(\"lines\", lines);\r\n\r\n const showWordCount= true;\r\n state = state.set(\"showWordCount\", showWordCount);\r\n\r\n const otherText = getProp(action, \"data.OtherText\");\r\n state = state.set(\"otherText\", otherText);\r\n\r\n const optionsData = getProp(action, \"data.OPTIONS.OPTION\");\r\n const optionsAction = { ...action, data: optionsData };\r\n return state.set(\r\n \"options\",\r\n OPTIONS_REDUCER(undefined, optionsAction)\r\n );\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport { RADIOS_TEXT_QUESTION_REDUCER };\r\n","const BLANKS = 'QUESTIONBLANKS'\r\nconst CHECKS = 'QUESTIONCHECKS'\r\nconst COMBO = 'QUESTIONCOMBO'\r\nconst LONG_TEXT = 'QUESTIONLTEXT'\r\nconst MATCH = 'QUESTIONMATCH'\r\nconst MULTI_TEXT = 'QUESTIONMULTITEXT'\r\nconst RADIOS = 'QUESTIONRADIOS'\r\nconst TABLE = 'QUESTIONTABLE'\r\nconst TRUE_OR_FALSE = 'QUESTIONTRUEFALSE'\r\nconst ASCX = 'QUESTIONASCX'\r\nconst ICT = 'QUPLOAD'\r\nconst STATIC_TEXT = 'STATICTEXT'\r\nconst FORM='QGRID'\r\nconst RADIOS_TEXT = 'QUESTIONOPENTEXTOPTION'\r\n\r\nexport {\r\n BLANKS,\r\n CHECKS,\r\n COMBO,\r\n LONG_TEXT,\r\n MATCH,\r\n MULTI_TEXT,\r\n RADIOS,\r\n TABLE,\r\n TRUE_OR_FALSE,\r\n ASCX,\r\n ICT,\r\n STATIC_TEXT,\r\n FORM,\r\n RADIOS_TEXT \r\n}","// other modules\nimport {DBApi} from './db/pouch/pouch-api'\n\n\nconst KEYS = {\n\tSENT_EXAMS: 'sent_exams',\n\tSTUDENT_ACTIVITY: 'student_activity',\n\tUPLOAD_FILES: 'upload_files'\t\n}\n\nconst dbStorageApi = new DBApi(Object.values(KEYS));\nObject.freeze(dbStorageApi);\n\nexport {dbStorageApi, KEYS}","// xams-utils\nimport { check } from \"@xams-utils/check-types\";\nimport moment from \"moment\";\nimport PouchDB from \"pouchdb-browser\";\nimport { incrementTimeStamp, getTimeStamp } from \"utils/time-stamp\";\n\nclass DBApi {\n constructor(keys) {\n this.keys = [...keys];\n this.lastID = { value: null };\n this.dbs = {};\n this.initialized = { value: false };\n\n this.initialize();\n }\n\n initialize() {\n return new Promise((resolve) => {\n this.initializeDB(0).then(() => {\n this.initializeDB(1).then(() => {\n this.initializeDB(2).then(() => {\n this.initialized.value = true;\n resolve();\n });\n });\n });\n });\n }\n\n initializeDB(key) {\n return new Promise((resolve) => {\n const db = this.keys[key];\n this.dbs[db] = new PouchDB(db);\n\n this.dbs[db]\n .viewCleanup()\n .then((result) => {\n resolve();\n })\n .catch((err) => {\n debugger;\n });\n });\n }\n\n isInitialised() {\n return this.initialized.value;\n }\n\n removeRecords(db, records) {\n records.forEach((record) => {\n db.get(record.id).then((doc) => {\n return db.remove(doc);\n });\n });\n }\n\n add(key, data) {\n if (!check.object(data) && !check.array(data)) {\n throw \"storage data must be an object\";\n }\n const db = this.getDB(key);\n\n if (check.object(data)) {\n let id = !data.id ? getTimeStamp() : \"\" + data.id;\n if (data.id) delete data.id;\n\n // if (this.lastID.value === id) id = incrementTimeStamp(id);\n\n if (\n this.lastID.value &&\n moment(id).isSameOrBefore(this.lastID.value)\n ) {\n id = incrementTimeStamp(this.lastID.value);\n }\n\n this.lastID.value = \"\" + id;\n\n const newRecord = {\n _id: id,\n ...data,\n };\n\n return new Promise((resolve) => {\n db.put(newRecord)\n .then((response) => {\n resolve(response);\n })\n .catch((e) => {\n if (e.name === \"conflict\") {\n const id = getTimeStamp();\n this.lastID.value = \"\" + id;\n\n const newRecord = {\n _id: id,\n ...data,\n };\n\n db.put(newRecord)\n .then((response) => {\n resolve(response);\n })\n .catch((e) => {\n resolve();\n });\n } else {\n resolve();\n }\n });\n });\n }\n\n if (data.length > 0) {\n const lastItem = data[data.length - 1];\n const lastId = \"\" + lastItem._id;\n this.lastID.value = \"\" + lastId;\n }\n\n return db.bulkDocs(data);\n }\n\n retrieveAll(key, getRev = false) {\n const db = this.getDB(key);\n if (!db) debugger;\n return new Promise((resolve, reject) => {\n db.allDocs({\n include_docs: true,\n //descending: true,\n })\n .then(function (result) {\n const _results = result.rows.map((row) => {\n const data = { ...row.doc };\n data.id = row.doc._id;\n delete data._id;\n if (!getRev) delete data._rev;\n\n return data;\n });\n resolve(_results);\n })\n .catch(function (err) {\n debugger;\n reject([]);\n });\n });\n }\n\n remove(key, data) {\n if (!check.array(data)) {\n throw \"storage data must be an array\";\n }\n\n const db = this.getDB(key);\n\n return db.bulkDocs(data);\n }\n\n getDB(key) {\n return this.dbs[key];\n }\n\n compactDB(key) {\n const db = this.getDB(key);\n return db.compact();\n }\n\n saveFile(key, data) {\n const db = this.getDB(key);\n data._id = getTimeStamp();\n\n return db.put(data);\n }\n\n getFile(key, file) {\n const db = this.getDB(key);\n const { id } = file;\n\n return db.get(id, { attachments: true });\n }\n\n get(key, id) {\n const db = this.getDB(key);\n\n return db.get(id);\n }\n\n reset(key) {\n return new Promise((resolve) => {\n if (!this.dbs[key]) {\n this.dbs[key] = new PouchDB(key);\n resolve();\n } else {\n this.dbs[key]\n .destroy()\n .then(() => {\n this.dbs[key] = null;\n this.dbs[key] = new PouchDB(key);\n resolve();\n })\n .catch((err) => {\n debugger;\n resolve();\n });\n }\n });\n }\n\n delete(key) {\n return new Promise((resolve) => {\n if (!this.dbs[key]) {\n resolve();\n } else {\n this.dbs[key]\n .destroy()\n .then(() => {\n this.dbs[key] = null;\n resolve();\n })\n .catch((err) => {\n debugger;\n resolve();\n });\n }\n });\n }\n}\n\nexport { DBApi };\n","import moment from \"moment\";\r\nimport { check } from \"@xams-utils/check-types\";\r\nimport { incrementTimeStamp } from \"utils/time-stamp\";\r\n\r\nconst hasDateExpired = (currentDate, recordDate, expired = 30) => {\r\n const date1 = new moment(currentDate).subtract(expired, \"days\");\r\n const date2 = new moment(recordDate);\r\n\r\n return date2 < date1;\r\n};\r\n\r\nconst ensureUniqueIDS = (items) => {\r\n for (let i = 0; i < items.length; i++) {\r\n if (i == 0) continue;\r\n if (items[i - 1]._id === items[i]._id)\r\n items[i]._id = incrementTimeStamp(items[i - 1]._id);\r\n }\r\n return items;\r\n};\r\n\r\nconst removeTypeFromValue = (_obj) => {\r\n const obj = {};\r\n \r\n if (check.object(_obj)){\r\n Object.keys(_obj).forEach((key) => {\r\n if (key !== \"type\") obj[key] = _obj[key];\r\n });\r\n }\r\n\r\n return obj;\r\n};\r\n\r\nconst encryptValue=(_value) => {\r\n if (!_value) return '';\r\n\r\n const value = removeTypeFromValue(_value);\r\n\r\n //return value;\r\n\r\n if (check.object(value) || check.string(value)) {\r\n const textValue = check.object(value) ? JSON.stringify(value) : value;\r\n\r\n try{\r\n return window.btoa(textValue);\r\n }\r\n catch(e){\r\n try{\r\n window.btoa(unescape(encodeURIComponent(textValue)));\r\n }\r\n catch(e){\r\n return value;\r\n }\r\n } \r\n }\r\n \r\n return value;\r\n}\r\n\r\nconst decryptValue=(value) => {\r\n if (!value) return '';\r\n\r\n try{\r\n return window.atob(value);\r\n }\r\n catch(e){\r\n return value;\r\n }\r\n}\r\n\r\nconst displayToConsole=(text1=null, text2=null, text3=null)=>{\r\n if (check.assigned(text1) && check.assigned(text2) && check.assigned(text3)) console.log(text1, text2, text3);\r\n else if (check.assigned(text1) && check.assigned(text2)) console.log(text1, text2);\r\n else if (check.assigned(text1)) console.log(text1);\r\n}\r\n\r\nconst getActivityTypeName=(ACTIVITIES, activityType)=>{\r\n let activityName = 'Not Known';\r\n\r\n for (const key in ACTIVITIES) {\r\n if (ACTIVITIES[key] === activityType) {\r\n activityName = key;\r\n }\r\n }\r\n\r\n return activityName;\r\n}\r\n\r\nconst displayActivityLogToConsole = (ACTIVITIES, {activities, include, exclude}) => {\r\n activities.forEach((activity)=>{\r\n let canDisplay = true;\r\n\r\n if (include && include.length>0){\r\n if (include.indexOf(activity.type)===-1){\r\n canDisplay = false;\r\n }\r\n }\r\n else if (exclude && exclude.length>0){\r\n if (exclude.indexOf(activity.type)!==-1){\r\n canDisplay = false;\r\n }\r\n }\r\n \r\n if (canDisplay){\r\n const activityName = getActivityTypeName(ACTIVITIES, activity.type);\r\n console.log(activity.id, activityName, decryptValue(activity.value));\r\n }\r\n })\r\n}\r\n\r\n\r\nexport { hasDateExpired, ensureUniqueIDS, encryptValue, decryptValue, displayToConsole, displayActivityLogToConsole, getActivityTypeName };\r\n","// npm\r\nimport check from 'check-types';\r\nimport { Map as ImmutableMap } from 'immutable';\r\n\r\n// redux\r\n// import * as ACTION_TYPES from './action-types'\r\nimport { QUESTION_REDUCER } from './question/reducer';\r\nimport * as EXAM_ACTION_TYPES from '../../action-types';\r\nimport * as QUESTION_ACTION_TYPES from './question/action-types';\r\n\r\n// custom\r\nimport { getProp } from 'custom/object-helper';\r\n\r\n// TEMPORARY HACK!\r\nimport {CHANGE} from './question/workings/action-types'\r\nimport {SET_ASCX_HTML} from './question/ascx/action-types'\r\n\r\n// as we traverse the questions, we'll build up the current question number\r\n// to be injected as data into the 'question' reducer\r\nlet questionNumber;\r\n\r\n// Note: state is mutable in the functions below\r\n// -----------------------------------------------------------------------\r\nconst populateQuestions = (state, questions) => {\r\n if (!check.nonEmptyArray(questions)) {\r\n return;\r\n }\r\n const actionType = EXAM_ACTION_TYPES.SET_EXAM_DATA;\r\n\r\n questions.forEach(question => {\r\n const action = {\r\n type: actionType,\r\n data: question,\r\n number: questionNumber++\r\n };\r\n state.set(question['@ID'], QUESTION_REDUCER(undefined, action));\r\n });\r\n};\r\n\r\nconst populateQuestionsFromSections = (state, sections) => {\r\n if (!check.nonEmptyArray(sections)) {\r\n return;\r\n }\r\n\r\n sections.forEach(section => {\r\n const paperParts = getProp(section, 'OBJECTS.PAPERPART');\r\n const taskGroups = getProp(section, 'OBJECTS.TASKGROUP');\r\n const _sections = paperParts || taskGroups;\r\n if (!_sections) {\r\n const questions = getProp(section, 'OBJECTS.QUESTION');\r\n populateQuestions(state, questions);\r\n }\r\n else {\r\n populateQuestionsFromSections(state, _sections);\r\n }\r\n });\r\n};\r\n\r\nconst delegateToQuestionReducer = (state, action) => {\r\n const questionState = state.get(action.questionId);\r\n return state.set(action.questionId, QUESTION_REDUCER(questionState, action));\r\n};\r\n// -----------------------------------------------------------------------\r\n\r\nconst questionActionTypes = Object.values(QUESTION_ACTION_TYPES);\r\n\r\nconst QUESTIONS_REDUCER = (state = ImmutableMap(), action) => {\r\n if (\r\n questionActionTypes.includes(action.type) ||\r\n action.type === SET_ASCX_HTML || action.type === CHANGE\r\n ) {\r\n return delegateToQuestionReducer(state, action);\r\n } else {\r\n switch (action.type) {\r\n case EXAM_ACTION_TYPES.SET_EXAM_DATA:\r\n questionNumber = 1;\r\n return state.withMutations(mutableState => {\r\n const paperParts = getProp(action, 'data.EXAM.OBJECTS.PAPERPART');\r\n const taskGroups = getProp(action, 'data.EXAM.OBJECTS.TASKGROUP');\r\n const sections = paperParts || taskGroups; \r\n if (!sections) {\r\n const questions = getProp(action, 'data.EXAM.OBJECTS.QUESTION');\r\n populateQuestions(mutableState, questions);\r\n }\r\n else {\r\n populateQuestionsFromSections(mutableState, sections);\r\n }\r\n });\r\n default:\r\n return state;\r\n }\r\n }\r\n};\r\n\r\nexport { QUESTIONS_REDUCER };\r\n","\n// utils\nimport {api} from '../api'\nimport { check } from '@xams-utils/check-types';\n\n// constants\nimport {ENDPOINTS} from '../constants'\n\n\n\nconst getExamSchedule = (userGuid, proctoringMode) => api.get(ENDPOINTS.SCHEDULE.FETCH, {userGuid, proctoringMode});\n\nconst getExamScheduleWork = (userGuid, proctoringMode) => api.get(ENDPOINTS.SCHEDULE.WORK, {userGuid, proctoringMode, showCompletedCourses: true});\n\nconst saveExamTime = ({formRunGuid, timeRemaining, elapsedTime, page, IsFromLocalStorage, ClientTime}, id) => \n{\n\tconst payload = {formRunGuid, timeRemaining, page, elapsedTime};\n\n\tif (IsFromLocalStorage){\n\t\tpayload.IsFromLocalStorage=IsFromLocalStorage;\n\t}\n\tif (ClientTime){\n\t\tpayload.ClientTime=ClientTime;\n\t}\t\n\n\treturn api.post(ENDPOINTS.ASSESSMENT.SAVE_TIME, payload, undefined, undefined, id);\n}\n\nconst getExam = (userGuid, scheduleGuid, scheduleType, examGuid, examTypeGuid, versionNumber, extraTime) => \n{\n\tconst payload = {\n\t\tuserGuid,\n\t\tscheduleGuid,\n\t\tscheduleType,\n\t\texamGuid,\n\t\texamObjectTypeGuid: examTypeGuid,\n\t\tversionNumber\n\t};\n\n\tif (check.integer(extraTime) && extraTime>0){\n\t\tpayload.extraTime=extraTime;\n\t}\n\n\treturn api.get(ENDPOINTS.ASSESSMENT.FETCH, payload);\n}\n\nconst canExamStart = (userGuid, scheduleGuid, scheduleType, examGuid, examTypeGuid, proctoringMode,proctoringSessionID) =>\n{\n\tconst payload = {\n\t\tuserGuid,\n\t\tscheduleGuid,\n\t\tscheduleType,\n\t\texamGuid,\n\t\texamObjectTypeGuid: examTypeGuid,\n\t\tproctoringMode,\n\t\tproctoringSessionID\n\t};\n\n\treturn api.get(ENDPOINTS.SCHEDULE.CAN_START, payload);\n}\n\nconst checkExamPassword = (scheduleGuid, password, userGuid) =>\n{\n\tconst payload = {scheduleGuid, password, userGuid};\n\treturn api.post(ENDPOINTS.SCHEDULE.VERIFY_PASSWORD, payload);\n}\n\nconst startExam = (userGuid, scheduleGuid, scheduleType, examGuid, examTypeGuid, versionNumber, publicExamUserName, appVersion) =>\n{\n\tconst payload = {\n\t\tuserGuid,\n\t\tscheduleGuid,\n\t\tscheduleType,\n\t\texamGuid,\n\t\texamObjectTypeGuid: examTypeGuid,\n\t\tversionNumber,\n\t\tpublicUserName: publicExamUserName,\n\t\tplayerVersion: appVersion\n\t};\n\n\treturn api.get(ENDPOINTS.ASSESSMENT.START, payload);\n}\n\nconst finishExam = ({formRunGuid, examTimeRemaining, IsFromLocalStorage, ClientTime, elapsedTime}, id) =>\n{\n\tconst payload = {formRunGuid, timeRemaining: examTimeRemaining, elapsedTime};\n\t\n\tif (IsFromLocalStorage){\n\t\tpayload.IsFromLocalStorage=IsFromLocalStorage;\n\t}\n\tif (ClientTime){\n\t\tpayload.ClientTime=ClientTime;\n\t}\t\n\t\n\treturn api.post(ENDPOINTS.ASSESSMENT.COMPLETE, payload, undefined, undefined, id);\n}\n\nconst saveActivityLog=(payload, id) =>{\n\tconst {formRunGuid} = payload;\n\tconst endPoint = `${ENDPOINTS.ASSESSMENT.SAVE_ACTIVITY_LOG}/${formRunGuid}` ;\n\n\treturn api.post(endPoint, payload, undefined, undefined, id);\n}\n\nconst saveAnswer = (payload, id) =>\n{\n\treturn api.post(ENDPOINTS.ASSESSMENT.SAVE_ANSWER, payload, undefined, undefined, id);\n}\n\nconst resetSchedule = (userGuid, scheduleGuid, scheduleType, examGuid, examTypeGuid) =>\n{\n\tconst payload = {\n\t\tuserGuid,\n\t\tscheduleGuid,\n\t\tscheduleType,\n\t\texamGuid,\n\t\texamObjectTypeGuid: examTypeGuid\n\t};\n\n\treturn api.get(ENDPOINTS.ASSESSMENT.RESET, payload);\n}\n\nconst getResult = (formRunGuid) =>\n{\n\treturn api.get(ENDPOINTS.ASSESSMENT.GET_RESULT, {formRunGuid});\n}\n\nconst isComplete = (formRunGuid) => {\n\tconst payload = {\n\t\tproperties:[\"ID\",\"GUID\",\"Processed\"],\n\t\tparameters:[\n\t\t\t{\n\t\t\t\tname: \"GUID\",\n\t\t\t\tvalue: formRunGuid,\n\t\t\t\texpression: \"equals\"\n\t\t\t}\n\t\t]\n\t}\n\n\treturn api.post(ENDPOINTS.ASSESSMENT.IS_COMPLETE, payload);\n}\n\nconst getProctorioLaunchUrl=(userID, proctorSessionID, options, host)=>{\n\treturn api.get(ENDPOINTS.PROCTORING.GET_PROCTORIO_LAUNCH_URL, {proctorSessionID, userID, options, host});\t\n}\n\nconst postPrintStaticTextUrl=(parameters)=>{\n\tconst url = `${ENDPOINTS.ASSESSMENT.PRINT_STATIC_TEXT}?${parameters}`;\n\treturn api.post(ENDPOINTS.ASSESSMENT.PRINT_STATIC_TEXT, {});\t\n}\n\nconst getPrintStaticTextUrl=(payload)=>{\n\treturn api.get(ENDPOINTS.ASSESSMENT.PRINT_STATIC_TEXT, payload);\t\n}\n\nconst assessmentApi = {\n\tgetExamSchedule,\n\tgetExamScheduleWork,\n\tsaveExamTime,\n\tgetExam,\n\tcanExamStart,\n\tcheckExamPassword,\n\tstartExam,\n\tfinishExam,\n\tsaveActivityLog,\n\tsaveAnswer,\n\tresetSchedule,\n\tgetResult,\n\tisComplete,\n\tgetProctorioLaunchUrl,\n\tgetPrintStaticTextUrl,\n \tpostPrintStaticTextUrl\n}\n\nexport {assessmentApi};","import { dbStorageApi, KEYS } from \"libs/browser_storage/db-storage-api\";\r\nimport { check } from \"@xams-utils/check-types\";\r\nimport moment from \"moment\";\r\n\r\nimport { displayToConsole} from \"./activity-logger-helper\";\r\n\r\nclass ActivityLoggerSent {\r\n constructor() {\r\n this.key = KEYS.SENT_EXAMS;\r\n this.exams = [];\r\n this.sent = this.sent.bind(this);\r\n this.reSend = this.reSend.bind(this);\r\n this.remove = this.remove.bind(this);\r\n }\r\n\r\n initialise() {\r\n return new Promise((resolve) => {\r\n dbStorageApi\r\n .retrieveAll(this.key, true)\r\n .then((data) => {\r\n this.exams = data;\r\n resolve();\r\n })\r\n .catch((e) => {\r\n debugger;\r\n });\r\n });\r\n }\r\n\r\n hasBeenSent(formRunGuid) {\r\n return this.exams.some((exam) => exam.formRunGuid === formRunGuid);\r\n }\r\n\r\n reSend(formRunGuid) {\r\n if (!this.hasBeenSent(formRunGuid)) {\r\n return this.sent(formRunGuid);\r\n }\r\n\r\n return new Promise((resolve) => {\r\n this.remove(formRunGuid).then(() => {\r\n this.sent(formRunGuid).then(() => {\r\n resolve();\r\n });\r\n });\r\n });\r\n }\r\n\r\n sent(formRunGuid, needToSave = true, sentDate = null) {\r\n if (needToSave && !this.hasBeenSent(formRunGuid)) {\r\n const obj = { formRunGuid };\r\n\r\n if (sentDate) {\r\n obj.id = new moment(sentDate).format();\r\n }\r\n\r\n return new Promise((resolve) => {\r\n dbStorageApi.add(this.key, obj).then((response) => {\r\n const { id, rev } = response;\r\n this.exams = this.exams.concat([\r\n { id, _rev: rev, formRunGuid },\r\n ]);\r\n resolve();\r\n });\r\n });\r\n }\r\n\r\n return new Promise((resolve) => {\r\n resolve();\r\n });\r\n }\r\n\r\n get(formRunGuid) {\r\n if (!formRunGuid) return this.exams;\r\n for (let i = 0; i < this.exams.length; i++) {\r\n if (this.exams[i].formRunGuid === formRunGuid) {\r\n return this.exams[i];\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n remove(formRunGuids) {\r\n return new Promise((resolve) => {\r\n let deletedItems = null;\r\n \r\n displayToConsole('Delete sent');\r\n \r\n if (check.array(formRunGuids)) {\r\n formRunGuids.forEach((formRunGuid) => {\r\n const item = this.get(formRunGuid);\r\n if (item) {\r\n if (!deletedItems) deletedItems = [];\r\n deletedItems = deletedItems.concat([\r\n {\r\n _id: item.id,\r\n _rev: item._rev,\r\n _deleted: true,\r\n },\r\n ]);\r\n }\r\n });\r\n\r\n this.exams = this.exams.filter((exam) => {\r\n return formRunGuids.indexOf(exam.formRunGuid) === -1;\r\n });\r\n } else {\r\n const item = this.get(formRunGuids);\r\n\r\n if (item) {\r\n this.exams = this.exams.filter(\r\n (exam) => exam.formRunGuid !== formRunGuids\r\n );\r\n\r\n deletedItems = [{\r\n _id: item.id,\r\n _rev: item._rev,\r\n _deleted: true,\r\n }];\r\n }\r\n }\r\n\r\n displayToConsole('deletedItems', deletedItems);\r\n\r\n if (check.nonEmptyArray(deletedItems)) {\r\n dbStorageApi.remove(this.key, deletedItems).then(() => {\r\n dbStorageApi.compactDB(this.key).then((result) => {\r\n resolve();\r\n });\r\n });\r\n } else {\r\n resolve();\r\n }\r\n });\r\n }\r\n\r\n clear() {\r\n this.exams = [];\r\n }\r\n}\r\n\r\nconst activityLoggerSent = new ActivityLoggerSent();\r\n\r\nexport { activityLoggerSent };\r\n","import moment from \"moment\";\r\nimport { check } from \"@xams-utils/check-types\";\r\n\r\nimport { ACTIVITIES } from \"./activity-logger\";\r\nimport { dbStorageApi, KEYS } from \"libs/browser_storage/db-storage-api\";\r\nimport { assessmentApi } from \"libs/api/interface/api-assessment\";\r\nimport { activityLoggerSent } from \"./activity-logger-sent\";\r\nimport { displayToConsole } from \"./activity-logger-helper\";\r\n\r\nconst isActivityOnAnotherDay = (activity) => {\r\n const date1 = new moment();\r\n const date2 = new moment(activity.id);\r\n\r\n return date1.date() !== date2.date();\r\n};\r\n\r\nconst hasActivityDateExpired = (activity, currentDate = null, expired = 90) => {\r\n const { id } = activity;\r\n\r\n const expiredDate = getExpiredDate(currentDate, expired);\r\n const activityDate = new moment(id);\r\n\r\n // console.log(\r\n // activityDate.format(\"DD/MM/YY HH:mm:ss:SSS\"),\r\n // \"<\",\r\n // expiredDate.format(\"DD/MM/YY HH:mm:ss:SSS\"),\r\n // activityDate < expiredDate\r\n // );\r\n\r\n return activityDate < expiredDate;\r\n};\r\n\r\nconst getExpiredDate = (currentDate, expired) => {\r\n const date = currentDate ? new moment(currentDate) : new moment();\r\n //return date.subtract(12, \"hours\");\r\n return date.subtract(expired, \"days\");\r\n};\r\n\r\nconst removeFormRunGuid = (activity) => {\r\n const _activity = {};\r\n Object.keys(activity).forEach((key) => {\r\n if (key !== \"formRunGuid\") _activity[key] = activity[key];\r\n });\r\n return _activity;\r\n};\r\n\r\nconst maintainActivityLog = (activities) => {\r\n return new Promise((resolve) => {\r\n const totalRecords = parseInt(activities.length);\r\n\r\n displayToConsole(\"Maintain activity log\");\r\n displayToConsole(\"totalRecords\", totalRecords);\r\n\r\n if (totalRecords === 0) {\r\n resolve();\r\n } else {\r\n const formRunGuids = {};\r\n let formRunGuidFound = false;\r\n\r\n activities.forEach((activity) => {\r\n const { formRunGuid } = activity;\r\n\r\n if (!activityLoggerSent.hasBeenSent(formRunGuid)) {\r\n if (formRunGuids[formRunGuid]) {\r\n formRunGuids[formRunGuid].activities.push(\r\n removeFormRunGuid(activity)\r\n );\r\n } else {\r\n if (isActivityOnAnotherDay(activity)) {\r\n formRunGuidFound = true;\r\n formRunGuids[formRunGuid] = {\r\n activities: [removeFormRunGuid(activity)],\r\n };\r\n }\r\n }\r\n if (\r\n formRunGuids[formRunGuid] &&\r\n activity.type === ACTIVITIES.FINISH_EXAM\r\n ) {\r\n formRunGuids[formRunGuid].finish = true;\r\n }\r\n }\r\n });\r\n\r\n uploadOutstandingActivities(formRunGuids).then(() => {\r\n deleteExpiredExams(activities).then(() => resolve());\r\n });\r\n }\r\n });\r\n};\r\n\r\nconst uploadOutstandingActivities = (formRunGuids) => {\r\n return new Promise((resolve) => {\r\n displayToConsole(\"uploadOutstandingActivities\");\r\n displayToConsole(\"formRunGuids\", Object.keys(formRunGuids).length, formRunGuids);\r\n\r\n if (Object.keys(formRunGuids).length === 0) {\r\n resolve();\r\n } else {\r\n let formRunGuidsChecked = 0;\r\n let deletedActivities = [];\r\n\r\n const formRunGuidsToCheck = Object.keys(formRunGuids).reduce(\r\n (total, formRunGuid) => {\r\n if (!formRunGuids[formRunGuid].finish) {\r\n total++;\r\n }\r\n return total;\r\n },\r\n 0\r\n );\r\n\r\n displayToConsole(\"formRunGuidsToCheck\", formRunGuidsToCheck);\r\n\r\n if (formRunGuidsToCheck === 0) {\r\n resolve();\r\n } else {\r\n Object.keys(formRunGuids).forEach((formRunGuid) => {\r\n if (!formRunGuids[formRunGuid].finish) {\r\n const payload = {\r\n formRunGuid,\r\n activities: formRunGuids[\r\n formRunGuid\r\n ].activities.map((activity) => {\r\n const { id, type, value } = activity;\r\n return {\r\n id,\r\n type,\r\n value,\r\n };\r\n }),\r\n };\r\n\r\n const onComplete = () => {\r\n formRunGuidsChecked++;\r\n \r\n displayToConsole(\"onComplete\", formRunGuidsChecked,formRunGuidsToCheck);\r\n\r\n if (formRunGuidsChecked === formRunGuidsToCheck) {\r\n resolve(deletedActivities);\r\n }\r\n };\r\n\r\n const onSuccess = () => {\r\n return activityLoggerSent\r\n .sent(formRunGuid)\r\n .then(() => {\r\n deletedActivities = deletedActivities.concat(\r\n formRunGuids[formRunGuid].activities\r\n );\r\n onComplete();\r\n });\r\n };\r\n\r\n displayToConsole(\"saveActivityLog\", formRunGuid);\r\n\r\n assessmentApi\r\n .saveActivityLog(payload)\r\n .then(onSuccess, onComplete);\r\n }\r\n });\r\n }\r\n }\r\n });\r\n};\r\n\r\nconst deleteExpiredExams = (activities) => {\r\n return new Promise((resolve) => {\r\n displayToConsole(\"deleteExpiredExams\");\r\n\r\n const formRunGuids = {};\r\n const alreadyCheckedFormRunGuids = {};\r\n const currentDate = new moment();\r\n let recordsToDelete = false;\r\n\r\n activities.forEach((activity) => {\r\n const { formRunGuid } = activity;\r\n\r\n if (formRunGuids[formRunGuid]) {\r\n formRunGuids[formRunGuid].activities.push(activity);\r\n } else if (!alreadyCheckedFormRunGuids[formRunGuid]) {\r\n if (hasActivityDateExpired(activity, currentDate)) {\r\n recordsToDelete = true;\r\n formRunGuids[formRunGuid] = {\r\n activities: [activity],\r\n };\r\n } else {\r\n alreadyCheckedFormRunGuids[formRunGuid] = true;\r\n }\r\n }\r\n });\r\n\r\n displayToConsole(\"recordsToDelete\", recordsToDelete);\r\n\r\n if (!recordsToDelete){\r\n resolve();\r\n }\r\n else {\r\n let deletedActivities = [];\r\n\r\n Object.keys(formRunGuids).forEach((formRunGuid) => {\r\n deletedActivities = deletedActivities.concat(\r\n formRunGuids[formRunGuid].activities.map((activity) => ({\r\n _id: activity.id,\r\n _rev: activity._rev,\r\n _deleted: true,\r\n }))\r\n );\r\n });\r\n\r\n displayToConsole(\"deletedActivities\", deletedActivities.length);\r\n\r\n if (deletedActivities.length > 0) {\r\n\r\n dbStorageApi\r\n .remove(KEYS.STUDENT_ACTIVITY, deletedActivities)\r\n .then(() => {\r\n dbStorageApi\r\n .compactDB(KEYS.STUDENT_ACTIVITY)\r\n .then((result) => {\r\n activityLoggerSent\r\n .remove(Object.keys(formRunGuids))\r\n .then(() => resolve());\r\n });\r\n });\r\n } else {\r\n resolve();\r\n }\r\n }\r\n });\r\n};\r\n\r\nexport { maintainActivityLog };\r\n","import isEqual from \"lodash/isEqual\";\r\nimport { dbStorageApi, KEYS } from \"libs/browser_storage/db-storage-api\";\r\nimport {encryptValue} from './activity-logger-helper'\r\n\r\nconst showTime=()=>{\r\n const d = new Date();\r\n const s =`${d.getMinutes()}:${d.getSeconds()}`;\r\n return s;\r\n}\r\n\r\nclass ActivityLoggerQuestion {\r\n constructor(_activityTypes) {\r\n const activityTypes = _activityTypes;\r\n const activities = [];\r\n let mode = 0;\r\n\r\n activityTypes.forEach((activityType) => {\r\n activities[activityType] = new QuestionActivity(activityType);\r\n });\r\n\r\n this.canSave = (activityType) => {\r\n return activityTypes.indexOf(activityType) !== -1;\r\n };\r\n\r\n this.save = (activityType, value) => {\r\n activities[activityType].save(value);\r\n };\r\n\r\n this.setFormRunGuid = (formRunGuid) => {\r\n activityTypes.forEach((activityType) => {\r\n activities[activityType].setFormRunGuid(formRunGuid);\r\n });\r\n };\r\n\r\n this.reset = () => {\r\n activityTypes.forEach((activityType) => {\r\n activities[activityType].reset();\r\n });\r\n };\r\n\r\n this.finish = () => {\r\n activityTypes.forEach((activityType) => {\r\n activities[activityType].finish();\r\n });\r\n };\r\n\r\n this.setMode = (_mode) => {\r\n mode = _mode;\r\n activityTypes.forEach((activityType) => {\r\n activities[activityType].setMode(_mode);\r\n }); \r\n }\r\n }\r\n}\r\n\r\nclass QuestionActivity {\r\n constructor(_activityType) {\r\n const activityType = _activityType;\r\n const timerDelay = 1000 * 30;\r\n let saveOnCounter = activityType===2?1:2; // When we start saving values to DB, 1=when move to question, 2=when user types something in\r\n let value = null;\r\n let timer = null;\r\n let lastDBValue = null;\r\n let formRunGuid = null;\r\n let saveCounter = 0;\r\n let mode = 0;\r\n\r\n const saveToDB = (resetBeforeSave=false) => {\r\n const _value = value;\r\n\r\n if (resetBeforeSave){\r\n _reset();\r\n }\r\n\r\n return dbStorageApi.add(KEYS.STUDENT_ACTIVITY, {\r\n formRunGuid,\r\n type: activityType,\r\n value: encryptValue(_value),\r\n });\r\n };\r\n\r\n const setTimer = () => {\r\n timer = setTimeout(() => {\r\n try {\r\n timedOut();\r\n } catch (error) {}\r\n }, timerDelay);\r\n };\r\n\r\n const clearTimer = () => {\r\n clearTimeout(timer);\r\n timer = null;\r\n };\r\n\r\n const timedOut = () => {\r\n if (formRunGuid) {\r\n if (\r\n saveCounter == saveOnCounter &&\r\n !isEqual(lastDBValue, value)\r\n ) {\r\n lastDBValue = value;\r\n saveToDB().then(() => {\r\n setTimer();\r\n });\r\n } else {\r\n lastDBValue = value;\r\n setTimer();\r\n }\r\n }\r\n };\r\n\r\n const _reset = () => {\r\n value = null;\r\n lastDBValue = null;\r\n timer = null;\r\n saveCounter = 0;\r\n };\r\n\r\n this.setFormRunGuid = (_formRunGuid) => {\r\n formRunGuid = _formRunGuid;\r\n };\r\n\r\n this.save = (_value) => {\r\n //clearTimer();\r\n const doSetTimer = mode ===1 && saveCounter===0;\r\n if (saveCounter < saveOnCounter) saveCounter++;\r\n value = _value;\r\n if (doSetTimer) setTimer();\r\n };\r\n\r\n this.finish = () => {\r\n clearTimer();\r\n if (formRunGuid) {\r\n if (\r\n saveCounter === saveOnCounter &&\r\n !isEqual(lastDBValue, value)\r\n ) {\r\n saveToDB(true);\r\n } else{\r\n _reset();\r\n }\r\n }\r\n };\r\n\r\n this.reset = () => {\r\n formRunGuid = null;\r\n clearTimer();\r\n _reset();\r\n };\r\n\r\n this.setMode = (_mode) => {\r\n mode = _mode;\r\n saveOnCounter = activityType===2?1:_mode;\r\n }\r\n\r\n this.save = this.save.bind(this);\r\n this.finish = this.finish.bind(this);\r\n this.setFormRunGuid = this.setFormRunGuid.bind(this);\r\n this.reset = this.reset.bind(this);\r\n this.setMode = this.setMode.bind(this);\r\n }\r\n}\r\n\r\nexport { ActivityLoggerQuestion };\r\n","import { check } from \"@xams-utils/check-types\";\r\nimport { dbStorageApi, KEYS } from \"libs/browser_storage/db-storage-api\";\r\n\r\nimport { ensureUniqueIDS, encryptValue } from \"./activity-logger-helper\";\r\nimport { getTimeStamp } from \"utils/time-stamp\";\r\nimport { maintainActivityLog } from \"./activity-logger-maintain\";\r\nimport { ActivityLoggerQuestion } from \"./activity-logger-question\";\r\nimport { activityLoggerSent } from \"./activity-logger-sent\";\r\nimport { createDummyData } from \"./dummy_data/create-dummy-date\";\r\n\r\nconst ACTIVITIES = {\r\n LOCAL_ANSWER: 0,\r\n SERVER_ANSWER: 1,\r\n WORKINGS: 2,\r\n MOVE_QUESTION: 3,\r\n MOVE_NEXT_QUESTION: 4,\r\n MOVE_PREVIOUS_QUESTION: 5,\r\n START_EXAM: 6,\r\n FINISH_EXAM: 7,\r\n TIMED_OUT: 8,\r\n RESUME_EXAM: 9,\r\n SET_FORM_RUN_GUID: 10,\r\n MOVE_SECTION: 11,\r\n OFFLINE: 12,\r\n ONLINE: 13,\r\n UPLOAD_ONLINE: 14,\r\n UPLOAD_OFFLINE: 15,\r\n DELETE_UPLOAD_ONLINE: 16,\r\n DELETE_UPLOAD_OFFLINE: 17,\r\n CONFIRM_POPUP: 18,\r\n DISPLAY_POPUP: 19,\r\n POPUP_ERROR: 20,\r\n EXAM_TIMER: 21,\r\n FULL_SCREEN: 22,\r\n CHANGE_SYSTEM_TIME: 23\r\n};\r\n\r\nclass ActivityLogger {\r\n constructor() {\r\n this.formRunGuid = null;\r\n this.navigation = null;\r\n this.mode = 0;\r\n this.previewMode = false;\r\n this.lastType = null;\r\n this.initialised = false;\r\n this.maintained = false;\r\n\r\n this.noFormRunGuid = [];\r\n\r\n this.currentQuestion = new ActivityLoggerQuestion([\r\n ACTIVITIES.LOCAL_ANSWER,\r\n ACTIVITIES.SERVER_ANSWER,\r\n ACTIVITIES.WORKINGS,\r\n ]);\r\n\r\n //dbStorageApi.initialize();\r\n\r\n // dbStorageApi.initialize().then(() => {\r\n // activityLoggerSent.initialise();\r\n // });\r\n }\r\n\r\n initialise() {\r\n return new Promise((resolve) => {\r\n if (this.previewMode) {\r\n this.initialised = true;\r\n resolve();\r\n } else {\r\n this.initialiseActivityLog(resolve);\r\n }\r\n });\r\n }\r\n\r\n initialiseActivityLog(resolve) {\r\n if (dbStorageApi.isInitialised()) {\r\n activityLoggerSent.initialise().then(() => {\r\n this.initialised = true;\r\n resolve();\r\n });\r\n } else {\r\n this.timer = setTimeout(() => {\r\n this.initialiseActivityLog(resolve);\r\n }, 500);\r\n }\r\n }\r\n\r\n maintain() {\r\n if (this.previewMode) {\r\n return new Promise((resolve) => {\r\n this.maintained = true;\r\n resolve();\r\n });\r\n }\r\n\r\n // return new Promise((resolve) => {\r\n // createDummyData().then(()=>{\r\n // this.maintained=true;\r\n // resolve();\r\n // });\r\n // });\r\n\r\n return new Promise((resolve) => {\r\n this.maintainActivityLog(resolve);\r\n });\r\n }\r\n\r\n maintainActivityLog(resolve) {\r\n if (dbStorageApi.isInitialised()) {\r\n activityLoggerSent.initialise().then(() => {\r\n dbStorageApi\r\n .retrieveAll(KEYS.STUDENT_ACTIVITY, true)\r\n .then((data) => {\r\n maintainActivityLog(data).then(() => {\r\n this.maintained = true;\r\n resolve();\r\n });\r\n });\r\n });\r\n } else {\r\n this.timer = setTimeout(() => {\r\n this.maintainActivityLog(resolve);\r\n }, 500);\r\n }\r\n }\r\n\r\n log(type, value) {\r\n if (!this.isLogging()) {\r\n return new Promise((resolve) => {\r\n resolve();\r\n });\r\n }\r\n\r\n if (\r\n type === ACTIVITIES.ONLINE &&\r\n this.lastType === ACTIVITIES.FINISH_EXAM\r\n ) {\r\n return new Promise((resolve) => {\r\n resolve();\r\n });\r\n }\r\n\r\n this.lastType = type;\r\n //const value = encryptObject({..._value});\r\n\r\n if (this.formRunGuid && this.currentQuestion.canSave(type)) {\r\n this.currentQuestion.save(type, value);\r\n return;\r\n } else if (this.moveNextOrPreviousQuestion(type)) {\r\n this.setNavigation(type);\r\n return;\r\n } else if (this.finishOrMoveQuestion(type)) {\r\n this.currentQuestion.finish();\r\n }\r\n\r\n if (type === ACTIVITIES.SET_FORM_RUN_GUID)\r\n this.updateFormRunGuid(value.formRunGuid);\r\n else {\r\n if (type === ACTIVITIES.MOVE_QUESTION && this.navigation) {\r\n type = parseInt(this.navigation);\r\n this.navigation = null;\r\n }\r\n\r\n return this.addToDB(type, value);\r\n }\r\n }\r\n\r\n addToDB(type, value) {\r\n if (!this.formRunGuid) {\r\n this.noFormRunGuid = this.noFormRunGuid.concat([\r\n { _id: getTimeStamp(), type, value: encryptValue(value) },\r\n ]);\r\n } else {\r\n return dbStorageApi.add(KEYS.STUDENT_ACTIVITY, {\r\n formRunGuid: this.formRunGuid,\r\n type,\r\n value: encryptValue(value),\r\n });\r\n }\r\n }\r\n\r\n updateFormRunGuid(formRunGuid) {\r\n if (!this.isLogging()) return;\r\n\r\n if (!this.formRunGuid) {\r\n this.currentQuestion.setFormRunGuid(formRunGuid);\r\n const data = ensureUniqueIDS(\r\n this.noFormRunGuid.map((item) => ({ formRunGuid, ...item }))\r\n );\r\n\r\n this.noFormRunGuid = [];\r\n this.formRunGuid = formRunGuid;\r\n\r\n if (this.mode === 1) dbStorageApi.add(KEYS.STUDENT_ACTIVITY, data);\r\n } else {\r\n //debugger;\r\n }\r\n }\r\n\r\n moveNextOrPreviousQuestion(type) {\r\n return (\r\n [\r\n ACTIVITIES.MOVE_NEXT_QUESTION,\r\n ACTIVITIES.MOVE_PREVIOUS_QUESTION,\r\n ].indexOf(type) !== -1\r\n );\r\n }\r\n\r\n finishOrMoveQuestion(type) {\r\n return (\r\n [\r\n ACTIVITIES.FINISH_EXAM,\r\n ACTIVITIES.TIMED_OUT,\r\n ACTIVITIES.MOVE_QUESTION,\r\n ].indexOf(type) !== -1\r\n );\r\n }\r\n\r\n setNavigation(type) {\r\n this.navigation = type;\r\n }\r\n\r\n get(formRunGuid = null) {\r\n return new Promise((resolve) => {\r\n dbStorageApi.retrieveAll(KEYS.STUDENT_ACTIVITY).then((data) => {\r\n const activities = data\r\n .filter(\r\n (item) =>\r\n !formRunGuid || item.formRunGuid === formRunGuid\r\n )\r\n .map((item) => {\r\n const _item = { ...item };\r\n delete _item.formRunGuid;\r\n return _item;\r\n });\r\n\r\n resolve(activities);\r\n });\r\n });\r\n }\r\n\r\n getLogs() {\r\n return new Promise((resolve) => {\r\n dbStorageApi\r\n .retrieveAll(KEYS.STUDENT_ACTIVITY)\r\n .then((activities) => {\r\n const formRunGuids = activities.reduce(\r\n (formRunGuids, activity) => {\r\n const { formRunGuid, id } = activity;\r\n if (\r\n !formRunGuids.some(\r\n (_formRunGuid) =>\r\n _formRunGuid.formRunGuid === formRunGuid\r\n )\r\n ) {\r\n const formRunGuidObj = {\r\n formRunGuid,\r\n id: parseInt(formRunGuids.length) + 1,\r\n date: id,\r\n };\r\n const sent = activityLoggerSent.get(\r\n formRunGuid\r\n );\r\n if (sent) formRunGuidObj.sent = sent.id;\r\n //formRunGuids[formRunGuid] = formRunGuidObj;\r\n return formRunGuids.concat(formRunGuidObj);\r\n }\r\n return formRunGuids;\r\n },\r\n []\r\n );\r\n\r\n resolve(formRunGuids);\r\n });\r\n });\r\n }\r\n\r\n remove(formRunGuid = null) {\r\n return new Promise((resolve) => {\r\n dbStorageApi\r\n .retrieveAll(KEYS.STUDENT_ACTIVITY, true)\r\n .then((data) => {\r\n const activities = data\r\n .filter(\r\n (item) =>\r\n !formRunGuid || item.formRunGuid === formRunGuid\r\n )\r\n .map((item) => ({\r\n _id: item.id,\r\n _rev: item._rev,\r\n _deleted: true,\r\n }));\r\n\r\n dbStorageApi\r\n .remove(KEYS.STUDENT_ACTIVITY, activities)\r\n .then(() => {\r\n resolve(true);\r\n });\r\n });\r\n });\r\n }\r\n\r\n reset() {\r\n this.formRunGuid = null;\r\n this.navigation = null;\r\n this.noFormRunGuid = [];\r\n this.currentQuestion.reset();\r\n }\r\n\r\n sent(formRunGuid) {\r\n this.reset();\r\n return activityLoggerSent.sent(formRunGuid, this.mode !== 0);\r\n }\r\n\r\n setMode(_mode) {\r\n if (this.previewMode && _mode !== 0) {\r\n return;\r\n }\r\n if (check.number(_mode) && _mode >= 0 && _mode < 3) {\r\n this.mode = _mode;\r\n this.currentQuestion.setMode(_mode);\r\n }\r\n }\r\n\r\n isLogging() {\r\n return this.mode > 0;\r\n }\r\n\r\n setPreviewMode(_previewMode) {\r\n if (_previewMode) {\r\n this.previewMode = true;\r\n this.reset();\r\n this.setMode(0);\r\n }\r\n }\r\n}\r\n\r\nconst activityLogger = new ActivityLogger();\r\n\r\nexport { activityLogger, ACTIVITIES };\r\n","// npm\r\nimport * as Immutable from \"immutable\";\r\n\r\n// redux\r\nimport * as ACTION_TYPES from \"./action-types\";\r\nimport { extractMessage } from \"redux/reducers/exam/helpers\";\r\nimport { SET_EXAM_DATA } from \"redux/reducers/exam/action-types\";\r\nimport * as WORKINGS_ACTION_TYPES from \"./workings/action-types\";\r\n\r\n// redux (reducers)\r\nimport { TABLE_QUESTION_REDUCER } from \"./table/reducer\";\r\nimport { COMBO_QUESTION_REDUCER } from \"./combo/reducer\";\r\nimport { RADIOS_QUESTION_REDUCER } from \"./radios/reducer\";\r\nimport { FILL_IN_BLANKS_QUESTION_REDUCER } from \"./blanks/reducer\";\r\nimport { CHECKS_QUESTION_REDUCER } from \"./checks/reducer\";\r\nimport { MULTI_TEXT_QUESTION_REDUCER } from \"./multi_text/reducer\";\r\nimport { LONG_TEXT_QUESTION_REDUCER } from \"./long_text/reducer\";\r\nimport { MATCH_QUESTION_REDUCER } from \"./match/reducer\";\r\nimport { WORKINGS_REDUCER } from \"./workings/reducer\";\r\nimport { ASCX_QUESTION_REDUCER } from \"./ascx/reducer\";\r\nimport { ICT_QUESTION_REDUCER } from \"./ict/reducer\";\r\nimport { STATIC_TEXT_QUESTION_REDUCER } from \"./static_text/reducer\";\r\nimport { FORM_QUESTION_REDUCER } from \"./form/reducer\";\r\nimport { RADIOS_TEXT_QUESTION_REDUCER } from \"./radios-text/reducer\";\r\n\r\n// constants\r\nimport * as QUESTION_TYPES from \"constants/question-types\";\r\n\r\n// TEMPORARY HACK\r\nimport { SET_ASCX_HTML } from \"./ascx/action-types\";\r\n\r\nimport { getTimeStamp } from \"utils/time-stamp\";\r\n\r\nimport {\r\n activityLogger,\r\n ACTIVITIES,\r\n} from \"libs/activity_logger/activity-logger\";\r\n\r\nconst getQuestionReducer = (questionType) => {\r\n switch (questionType) {\r\n case QUESTION_TYPES.RADIOS:\r\n case QUESTION_TYPES.TRUE_OR_FALSE:\r\n return RADIOS_QUESTION_REDUCER;\r\n case QUESTION_TYPES.BLANKS:\r\n return FILL_IN_BLANKS_QUESTION_REDUCER;\r\n case QUESTION_TYPES.COMBO:\r\n return COMBO_QUESTION_REDUCER;\r\n case QUESTION_TYPES.CHECKS:\r\n return CHECKS_QUESTION_REDUCER;\r\n case QUESTION_TYPES.TABLE:\r\n return TABLE_QUESTION_REDUCER;\r\n case QUESTION_TYPES.MULTI_TEXT:\r\n return MULTI_TEXT_QUESTION_REDUCER;\r\n case QUESTION_TYPES.MATCH:\r\n return MATCH_QUESTION_REDUCER;\r\n case QUESTION_TYPES.LONG_TEXT:\r\n return LONG_TEXT_QUESTION_REDUCER;\r\n case QUESTION_TYPES.ASCX:\r\n return ASCX_QUESTION_REDUCER;\r\n case QUESTION_TYPES.ICT:\r\n return ICT_QUESTION_REDUCER;\r\n case QUESTION_TYPES.STATIC_TEXT:\r\n return STATIC_TEXT_QUESTION_REDUCER;\r\n case QUESTION_TYPES.FORM:\r\n return FORM_QUESTION_REDUCER;\r\n case QUESTION_TYPES.RADIOS_TEXT: \r\n return RADIOS_TEXT_QUESTION_REDUCER; \r\n default:\r\n throw \"Unknown question type\";\r\n }\r\n};\r\n\r\nconst extractCommonQuestionProperties = (data, number) => ({\r\n number,\r\n id: data[\"@ID\"],\r\n marks: data[\"@Marks\"],\r\n type: data[\"@QuestionType\"],\r\n dragAndDrop: data[\"@DragAndDrop\"],\r\n resourceUrl: data[\"@ResourceURL\"],\r\n requiresWorkings: data[\"@ShowWorkings\"] === \"True\",\r\n requiresCalculator: data[\"@ShowCalculator\"] === \"True\",\r\n text: extractMessage(data.TEXT || {}) || \"\",\r\n introText: extractMessage(data.INTROTEXT || {}) || \"\",\r\n disabled: data[\"@Disabled\"] === \"True\",\r\n bookmarked: false, // temp\r\n versionId: data[\"@VersionID\"] == null ? null : data[\"@VersionID\"], \r\n versionNumber: data[\"@VersionNumber\"] == null ? null : data[\"@VersionNumber\"], \r\n});\r\n\r\nconst handleSetExamData = (action) => {\r\n // 1. Build up common question properties\r\n const { data, number } = action;\r\n const commonProperties = extractCommonQuestionProperties(data, number);\r\n let state = Immutable.Map(commonProperties);\r\n\r\n // 2. Build up workings data (may exist if parent section requires workings)\r\n state = state.set(\"workings\", WORKINGS_REDUCER(undefined, action));\r\n\r\n // 3. Delegate to concrete question reducer for further initialization\r\n const questionReducer = getQuestionReducer(data[\"@QuestionType\"]);\r\n return questionReducer(state, action);\r\n};\r\n\r\nconst QUESTION_REDUCER = (state = Immutable.Map(), action) => {\r\n if (action.type === SET_EXAM_DATA) {\r\n return handleSetExamData(action);\r\n }\r\n\r\n switch (action.type) {\r\n case ACTION_TYPES.SET_LOCAL_ANSWER: {\r\n activityLogger.log(ACTIVITIES.LOCAL_ANSWER, action);\r\n return state.set(\"localAnswer\", action.value);\r\n }\r\n case ACTION_TYPES.SET_SERVER_ANSWER: {\r\n if (action.value){\r\n action.value.ClientTime=getTimeStamp();\r\n }\r\n activityLogger.log(ACTIVITIES.SERVER_ANSWER, action);\r\n return state.set(\"serverAnswer\", action.value);\r\n }\r\n case ACTION_TYPES.TOGGLE_BOOKMARK:\r\n return state.set(\"bookmarked\", !state.get(\"bookmarked\"));\r\n case WORKINGS_ACTION_TYPES.CHANGE:\r\n case WORKINGS_ACTION_TYPES.ADD: {\r\n activityLogger.log(ACTIVITIES.WORKINGS, action);\r\n var workingsState = state.get(\"workings\");\r\n return state.set(\r\n \"workings\",\r\n WORKINGS_REDUCER(workingsState, action)\r\n );\r\n }\r\n case SET_ASCX_HTML:\r\n return ASCX_QUESTION_REDUCER(state, action);\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport { QUESTION_REDUCER };\r\n","// npm\r\nimport { Map as ImmutableMap } from \"immutable\";\r\n\r\n// custom\r\nimport { getProp } from \"custom/object-helper\";\r\n\r\n// redux\r\nimport * as ACTION_TYPES from \"./action-types\";\r\nimport * as EXAM_ACTION_TYPES from \"../action-types\";\r\nimport { SECTIONS_REDUCER } from \"./sections/reducer\";\r\nimport { MAPPINGS_REDUCER } from \"./mappings/reducer\";\r\nimport { QUESTIONS_REDUCER } from \"./questions/reducer\";\r\n\r\n// utils\r\nimport { combineImmutableReducers } from \"utils/combine-immutable-reducers\";\r\nimport {\r\n activityLogger,\r\n ACTIVITIES,\r\n} from \"libs/activity_logger/activity-logger\";\r\n\r\nconst ownReducer = (state = ImmutableMap(), action) => {\r\n switch (action.type) {\r\n case EXAM_ACTION_TYPES.SET_EXAM_DATA:\r\n state = state.set(\r\n \"initialPage\",\r\n getProp(action, \"data.EXAM.@Page\") || 1\r\n );\r\n\r\n state = state.set(\r\n \"requiresCalculator\",\r\n getProp(action, \"data.EXAM.@ShowCalculator\") === \"True\" || false\r\n ); \r\n\r\n return state.set(\r\n \"resourceUrl\",\r\n getProp(action, \"data.EXAM.@ResourceURL\")\r\n );\r\n case ACTION_TYPES.SET_CURRENT_QUESTION_ID: {\r\n if (action.setFromQuestion){\r\n state = state.set(\r\n \"questionIdSetFromQuestion\",\r\n true\r\n );\r\n }\r\n\r\n activityLogger.log(ACTIVITIES.MOVE_QUESTION, action);\r\n return state.set(\"currentQuestionId\", action.value);\r\n }\r\n case ACTION_TYPES.SET_QUESTION_ID_FROM_QUESTION: {\r\n return state.set(\"questionIdSetFromQuestion\", action.value);\r\n } \r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nconst CONTENT_REDUCER = combineImmutableReducers(ownReducer, {\r\n sections: SECTIONS_REDUCER,\r\n questions: QUESTIONS_REDUCER,\r\n mappings: MAPPINGS_REDUCER,\r\n});\r\n\r\nexport { CONTENT_REDUCER };\r\n","\n// npm\nimport {Map as ImmutableMap} from 'immutable'\n\n// redux (reducers)\nimport {TIME_REDUCER} from './time/reducer'\nimport {CONTENT_REDUCER} from './content/reducer'\nimport {MESSAGES_REDUCER} from './messages/reducer'\nimport {RESULT_REDUCER} from './result/reducer'\n\n// redux (action types)\nimport * as ACTION_TYPES from './action-types'\n\n// utils\nimport {getProp} from 'custom/object-helper'\nimport {combineImmutableReducers} from 'utils/combine-immutable-reducers'\nimport {activityLogger, ACTIVITIES} from 'libs/activity_logger/activity-logger'\nimport { check } from '@xams-utils/check-types'\n\n\nconst ownReducer = (state=ImmutableMap(), action) =>\n{\n\tswitch (action.type)\n\t{\n\t\tcase ACTION_TYPES.SET_EXAM_DATA:\n\t\t\treturn state.withMutations(mutableState => {\n\t\t\t\tconst pausedProperty=getProp(action, 'data.EXAM.@Paused') || false;\n\t\t\t\tconst paused = check.boolean(pausedProperty)\n ? pausedProperty\n : check.nonEmptyString(pausedProperty)\n ? pausedProperty.toLowerCase() === \"true\"\n : false;\n\t\t\t\tmutableState.set('paused', paused);\n\t\t\t\tmutableState.set('confirmResume', false);\n\n\t\t\t\tconst examProperties = getProp(action, 'data.EXAM.EXAMPROPERTIES') || {};\n\t\t\t\tmutableState.set('showFeedbackReport', examProperties['@ShowFeedback'] || false);\n\t\t\t\tmutableState.set('canDownloadFeedbackReport', examProperties['@DownloadAnswers'] || false);\n\t\t\t\tmutableState.set('showScenario', true);\n\t\t\t\tmutableState.set('showExamInFullScreen', false);\n\t\t\t\tmutableState.set('initialFullScreen', false);\t\n\n\t\t\t\tconst practice = examProperties[\"@Practice\"];\n if (check.boolean(practice)) {\n mutableState.set(\"practice\", practice);\n }\n\t\t\t});\n\t\tcase ACTION_TYPES.SET_CURRENT_EXAM:\n\t\t\treturn state.withMutations(mutableState => {\n\t\t\t\tmutableState.set('name', action.name);\n\t\t\t\tmutableState.set('guid', action.examGuid);\n\t\t\t\tmutableState.set('practice', action.practice);\n\t\t\t\tmutableState.set('scheduleGuid', action.scheduleGuid);\n\t\t\t})\n\t\tcase ACTION_TYPES.SET_PASSWORD:\n\t\t\treturn state.set('p', action.value);\n\t\tcase ACTION_TYPES.CLEAR_PASSWORD:\n\t\t\treturn state.delete('p');\n\t\tcase ACTION_TYPES.CLEAR_EXAM:\n\t\t\treturn ImmutableMap();\n\t\tcase ACTION_TYPES.CLEAR_EXAM_DATA:\n\t\t\treturn ImmutableMap({\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// keeping only properties from SET_CURRENT_EXAM\n\t\t\t\tname: state.get('name'),\n\t\t\t\tguid: state.get('guid'),\n\t\t\t\tscheduleGuid: state.get('scheduleGuid')\n\t\t\t});\n\t\tcase ACTION_TYPES.SET_PASSWORD_ERROR:\n\t\t\treturn state.set('passwordError', action.value);\n\t\tcase ACTION_TYPES.PAUSE_EXAM:\n\t\t\treturn state.set('paused', true);\n\t\tcase ACTION_TYPES.RESUME_EXAM:\n\t\t\treturn state.set('paused', false);\n\t\tcase ACTION_TYPES.CONFIRM_RESUME_EXAM:{\n\t\t\treturn state.set('confirmResume', action.value);\t\t\t\n\t\t}\t\t\t\n\t\tcase ACTION_TYPES.SET_FORMRUN_GUID:{\n\t\t\tactivityLogger.log(ACTIVITIES.SET_FORM_RUN_GUID, {formRunGuid: action.value});\n\t\t\treturn state.set('formRunGuid', action.value);\n\t\t}\n\t\tcase ACTION_TYPES.SET_FORMRUN_ID:\n\t\t\treturn state.set('formRunId', action.id);\n\t\tcase ACTION_TYPES.SET_SHOW_SCENARIO:\n\t\t\treturn state.set('showScenario', action.value);\t\t\t\t\n\t\tcase ACTION_TYPES.SET_LEAVE_EXAM:\n\t\t\treturn state.set('leaveExam', action.value);\t\t\t\t\t\t\t\n\t\tcase ACTION_TYPES.SET_RESUME_EXAM:\n\t\t\treturn state.set('resumeExam', action.value);\n\t\tcase ACTION_TYPES.SET_SHOW_EXAM_IN_FULL_SCREEN:\n\t\t\treturn state.set('showExamInFullScreen', action.value);\t\t\t\n\t\tcase ACTION_TYPES.SET_INITIAL_FULL_SCREEN:\n\t\t\treturn state.set('initialFullScreen', action.value);\t\t\t\t\t\t\t\t\t\t\n\t\tdefault:\n\t\t\treturn state;\n\t}\n}\n\nconst EXAM_REDUCER = combineImmutableReducers(ownReducer, {\n\ttime: TIME_REDUCER,\n\tcontent: CONTENT_REDUCER,\n\tmessages: MESSAGES_REDUCER,\n\tresult: RESULT_REDUCER\n});\n\n\nexport {EXAM_REDUCER}","// npm\r\nimport check from \"check-types\";\r\nimport * as Immutable from \"immutable\";\r\n\r\n// redux\r\nimport * as ACTION_TYPES from \"./action-types\";\r\nimport { SET_EXAM_DATA } from \"redux/reducers/exam/action-types\";\r\n\r\nconst extractTimeData = ({ EXAM }) => {\r\n\r\n const examTime = EXAM[\"@AllowedTime\"];\r\n const readingTime = EXAM[\"@ReadingTime\"];\r\n const warningTime = EXAM[\"@WarningTime\"];\r\n\r\n const totalTime = examTime + readingTime;\r\n const totalTimeRemaining = EXAM[\"@TimeRemaining\"] || totalTime;\r\n\r\n const examTimeRemaining =\r\n totalTimeRemaining < examTime ? totalTimeRemaining : examTime;\r\n const readingTimeRemaining =\r\n totalTimeRemaining < examTime ? 0 : totalTimeRemaining - examTime;\r\n\r\n const elapsedTime = EXAM[\"@ElapsedTime\"]\r\n ? parseInt(EXAM[\"@ElapsedTime\"], 10) * 1000\r\n : 0;\r\n\r\n return {\r\n examTime,\r\n readingTime,\r\n warningTime,\r\n examTimeRemaining,\r\n readingTimeRemaining,\r\n canBypassReadingTime: !!EXAM.EXAMPROPERTIES[\"@AllowBypassReadingTime\"],\r\n elapsedTime,\r\n }; // note: look into minimizing properties and instead infer these values in selectors\r\n};\r\n\r\nconst TIME_REDUCER = (state = Immutable.Map(), action) => {\r\n switch (action.type) {\r\n case SET_EXAM_DATA:\r\n return Immutable.Map(extractTimeData(action.data));\r\n case ACTION_TYPES.SET_EXAM_TIME_REMAINING:\r\n return state.set(\r\n \"examTimeRemaining\",\r\n action.value < 0 ? 0 : action.value\r\n );\r\n case ACTION_TYPES.SET_READING_TIME_REMAINING:\r\n return state.set(\r\n \"readingTimeRemaining\",\r\n action.value < 0 ? 0 : action.value\r\n );\r\n case ACTION_TYPES.INCREMENT_EXAM_ELAPSED_TIME: {\r\n const elapsedTime = state.get(\"elapsedTime\");\r\n // console.log(\r\n // \"elapsedTime\",\r\n // elapsedTime,\r\n // action.value,\r\n // elapsedTime + action.value\r\n // );\r\n return state.set(\"elapsedTime\", elapsedTime + action.value);\r\n }\r\n case ACTION_TYPES.SET_EXAM_ELAPSED_TIME:\r\n return state.set(\"elapsedTime\", action.value);\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport { TIME_REDUCER };\r\n","const SET_EXAM_TIME_REMAINING = '[time-data]set.exam.time.remaining';\r\nconst SET_READING_TIME_REMAINING = '[time-data]set.reading.time.remaining';\r\nconst INCREMENT_EXAM_ELAPSED_TIME = '[time-data]increment.elapsed.time';\r\nconst SET_EXAM_ELAPSED_TIME = '[time-data]set.elapsed.time';\r\n\r\nexport {SET_EXAM_TIME_REMAINING, SET_READING_TIME_REMAINING, INCREMENT_EXAM_ELAPSED_TIME, SET_EXAM_ELAPSED_TIME}","\r\n// npm\r\nimport * as Immutable from 'immutable'\r\n\r\n// custom\r\nimport {getProp} from 'custom/object-helper'\r\n\r\n// redux\r\nimport {extractMessage} from '../helpers'\r\nimport {SET_EXAM_DATA} from 'redux/reducers/exam/action-types'\r\n\r\n\r\nconst extractMessageData = ({EXAM}) => ({\r\n\tintroText: extractMessage(EXAM.TEXT),\r\n\toutroText: extractMessage(getProp(EXAM, 'EXAMPROPERTIES.OUTROTEXT')),\r\n\tproctoredOutroText: extractMessage(getProp(EXAM, 'EXAMPROPERTIES.PROCTOREDOUTROTEXT'))\r\n});\r\n\r\n\r\nconst MESSAGES_REDUCER = (state=Immutable.Map(), action) =>\r\n{\r\n\tswitch (action.type)\r\n\t{\r\n\t\tcase SET_EXAM_DATA:\r\n\t\t\treturn Immutable.Map(extractMessageData(action.data));\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n}\r\n\r\n\r\nexport {MESSAGES_REDUCER}","\r\n// npm\r\nimport {Map as ImmutableMap} from 'immutable'\r\n\r\n// redux (action-types)\r\nimport * as ACTION_TYPES from './action-types'\r\n\r\n\r\nconst RESULT_REDUCER = (state=ImmutableMap(), action) =>\r\n{\r\n\tswitch (action.type)\r\n\t{\r\n\t\tcase ACTION_TYPES.SET_EXAM_RESULT:\r\n\t\t\treturn ImmutableMap({\r\n\t\t\t\tmarks: action.marks,\r\n\t\t\t\ttotalMarks: action.totalMarks,\r\n\t\t\t\tscore: action.score,\r\n\t\t\t\tgrade: action.grade,\r\n\t\t\t\tpassed: action.passed,\r\n\t\t\t\tmessage: action.message,\r\n\t\t\t\tallowImmediateResit: action.allowImmediateResit,\r\n\t\t\t\tresultStillBeingProcessed: action.resultStillBeingProcessed\r\n\t\t\t})\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n}\r\n\r\n\r\nexport {RESULT_REDUCER}","const SET_EXAM_RESULT = '[exam][result]set';\r\n\r\nexport {SET_EXAM_RESULT}","\r\n// npm\r\nimport chroma from 'chroma-js'\r\n\r\n// utils\r\nimport {roundToNearest} from 'custom/math-helper'\r\n\r\n\r\n// PRIVATE METHODS\r\n\r\nclass ColorHelper\r\n{\r\n\tconstructor(color)\r\n\t{\r\n\t\tif (!chroma.valid(color)) {\r\n\t\t\tthrow \"ColorHelper received invalid color: \" + color;\r\n\t\t}\r\n\t\t\r\n\t\tthis.color = chroma(color);\r\n\t\tthis.initializeMethods();\r\n\t}\r\n\r\n\tinitializeMethods()\r\n\t{\r\n\t\t// PRIVATE METHODS\r\n\t\t// ------------------------------------------------------------------------\r\n\r\n\t\t// ------------------------------------------------------------------------\r\n\t\t// getShades()\r\n\t\t// ------------------------------------------------------------------------ \r\n\r\n\t\tconst getShades = (color, step, range={min: 0, max: 1}) => {\r\n\t\t\tconst shades = [];\r\n\r\n\t\t\tfor (let i = range.min; i <= range.max; i += step) {\r\n\t\t\t\tshades.push(color.set('hsl.l', i));\r\n\t\t\t}\r\n\r\n\t\t\treturn shades;\r\n\t\t}\r\n\r\n\t\t// ------------------------------------------------------------------------\r\n\t\t// contrast()\r\n\t\t// ------------------------------------------------------------------------ \r\n\r\n\t\tconst single_contrast = (range, step) => {\r\n\t\t\tconst shades = getShades(this.color, step);\r\n\r\n\t\t\tlet contrastingShade;\r\n\t\t\tlet shadeContrastValue = 0;\r\n\r\n\t\t\tshades.forEach((shade, index) => {\r\n\t\t\t\tconst newContrastValue = chroma.contrast(this.color, shade);\r\n\t\t\t\tif (newContrastValue < range.min) { return; }\r\n\t\t\t\tif (newContrastValue > range.max) { return; }\r\n\t\t\t\tif (newContrastValue > shadeContrastValue) {\r\n\t\t\t\t\tshadeContrastValue = newContrastValue;\r\n\t\t\t\t\tcontrastingShade = shade;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tif (!contrastingShade) {\r\n\t\t\t\tconst contrastRange = `${range.min}-${range.max}`;\r\n\t\t\t\tthrow `Could not contrast ${this.color.hex()} using a range of ${contrastRange}`;\r\n\t\t\t}\r\n\r\n\t\t\treturn contrastingShade.hex();\r\n\t\t}\r\n\r\n\t\tconst multi_contrast = (range, step, contrastingColor) => {\r\n\t\t\tconst shades = getShades(this.color, step);\r\n\r\n\t\t\tlet contrastingShade;\r\n\t\t\tlet shadeContrastValue = 0;\r\n\r\n\t\t\tshades.forEach((shade, index) => {\r\n\t\t\t\tconst newContrastValue = chroma.contrast(contrastingColor, shade);\r\n\t\t\t\tif (newContrastValue < range.min) { return; }\r\n\t\t\t\tif (newContrastValue > range.max) { return; }\r\n\t\t\t\tif (newContrastValue > shadeContrastValue) {\r\n\t\t\t\t\tshadeContrastValue = newContrastValue;\r\n\t\t\t\t\tcontrastingShade = shade;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tif (!contrastingShade) {\r\n\t\t\t\tconst color1 = this.color.hex();\r\n\t\t\t\tconst color2 = contrastingColor.hex();\r\n\t\t\t\tconst contrastRange = `${range.min}-${range.max}`;\r\n\t\t\t\tthrow `Could not contrast ${color1} against ${color2} using a contrast range of ${contrastRange}`;\r\n\t\t\t}\r\n\r\n\t\t\treturn contrastingShade.hex();\t\t\t\r\n\t\t}\r\n\r\n\r\n\t\t// PUBLIC METHODS\r\n\t\t// ------------------------------------------------------------------------\r\n\r\n\t\tthis.contrast = (configuration={}) => {\r\n\t\t\tconst range = configuration.range || {min: 4.5, max: 6};\r\n\t\t\tconst {step=0.05, contrastingColor} = configuration;\r\n\r\n\t\t\treturn contrastingColor ?\r\n\t\t\t\tmulti_contrast(range, step, chroma(contrastingColor)) :\r\n\t\t\t\tsingle_contrast(range, step);\r\n\t\t}\r\n\t}\r\n}\r\n\r\n\r\nexport {ColorHelper}","\r\nconst COLOR_NAMES = {\r\n\tPRIMARY: 'primary',\r\n\tSECONDARY: 'secondary',\r\n\tERROR: 'error',\r\n\tBACKGROUND: 'background'\r\n}\r\n\r\nconst DEFAULT_THEME = {\r\n\t[COLOR_NAMES.PRIMARY]: '#B2B9EA',\r\n\t[COLOR_NAMES.SECONDARY]: '#56678E',\r\n\t[COLOR_NAMES.BACKGROUND]: '#122054',\r\n\t[COLOR_NAMES.ERROR]: '#D6CBB3'\r\n}\r\n\r\n\r\nexport {COLOR_NAMES, DEFAULT_THEME}","\r\n// npm\r\nimport chroma from 'chroma-js'\r\n\r\n// xams-utils\r\nimport {check} from '@xams-utils/check-types'\r\n\r\n// helpers\r\nimport {ColorHelper} from 'custom/color-helper'\r\n\r\n// constants\r\nimport {COLOR_NAMES} from 'constants/theme'\r\n\r\n\r\nconst STEP = 0.05;\r\nconst MIN_CONTRAST = 4.5;\r\nconst MAX_CONTRAST = 6;\r\n\r\nconst colorNames = Object.values(COLOR_NAMES);\r\n\r\nconst requiredColorNames = [\r\n\tCOLOR_NAMES.PRIMARY,\r\n\tCOLOR_NAMES.SECONDARY,\r\n\tCOLOR_NAMES.BACKGROUND\r\n];\r\n\r\n\r\nconst validateConfig = (config) =>\r\n{\r\n\tif (!check.object(config)) {\r\n\t\tthrow \"Theme config must be an object\";\r\n\t}\r\n\r\n\tcolorNames.forEach(colorName => {\r\n\t\tconst color = config[colorName];\r\n\r\n\t\tif (check.assigned(color) && !chroma.valid(color)) {\r\n\t\t\tthrow `Theme '${colorName} colour' is invalid`;\r\n\t\t}\r\n\t});\r\n\r\n\tif (requiredColorNames.every(colorName => !colorName)) {\r\n\t\tthrow \"Theme must have 1 of the following: primary/secondary/background\";\r\n\t}\r\n}\r\n\r\n\r\nclass ThemeConfig\r\n{\r\n\tconstructor(config)\r\n\t{\r\n\t\tvalidateConfig(config);\r\n\t\tthis.initializeBaseColors(config);\r\n\r\n\t\tthis.leadingColorName = this.getLeadingColorName();\t\t\t\t\t\t\t\t\t\t\t\t\t\t// When generating background colour, we contrast against the 'leading colour' (either primary or secondary)\r\n\t\tthis.trailingColorName = this.getTrailingColorName(this.leadingColorName);\t\t// The trailing colour then becomes the opposite of the leading colour (again, either primary or secondary)\r\n\t}\r\n\r\n\tinitializeBaseColors({primary, secondary, error, background})\r\n\t{\r\n\t\tthis.primary = primary && chroma(primary).hex();\r\n\t\tthis.secondary = secondary && chroma(secondary).hex();\r\n\t\tthis.error = error && chroma(error).hex();\r\n\t\tthis.background = background && chroma(background).hex();\r\n\t}\r\n\r\n\tgetLeadingColorName()\r\n\t{\r\n\t\tconst {PRIMARY, SECONDARY} = COLOR_NAMES;\r\n\t\treturn this.background || this.primary ? PRIMARY : SECONDARY;\r\n\t}\r\n\r\n\tgetTrailingColorName(leadingColorName)\r\n\t{\r\n\t\tconst {PRIMARY, SECONDARY} = COLOR_NAMES;\r\n\t\treturn leadingColorName === PRIMARY ? SECONDARY : PRIMARY;\r\n\t}\r\n\r\n\tgenerateTheme()\r\n\t{\r\n\t\tthis.offsetExtremeColors();\r\n\t\tthis.generateMissingColors();\r\n\r\n\t\treturn {\r\n\t\t\tprimary: this.primary,\r\n\t\t\tsecondary: this.secondary,\r\n\t\t\terror: this.error,\r\n\t\t\tbackground: this.background\r\n\t\t}\r\n\t}\r\n\r\n\t// NOTE:\r\n\t// Each theme colour has 3 variations: light, main (supplied), dark\r\n\t// To ensure that the 'main' colour can always be distinguished from light & dark,\r\n\t// we need to brighten/darken the supplied colour ONLY if it is white/black.\r\n\toffsetExtremeColors()\r\n\t{\r\n\t\tcolorNames.forEach(colorName => {\r\n\t\t\tthis.tryOffsetExtremeColor(colorName);\r\n\t\t});\r\n\t}\r\n\r\n\ttryOffsetExtremeColor(colorName)\r\n\t{\r\n\t\tconst colorValue = this[colorName];\r\n\t\tif (!colorValue) { return; }\r\n\r\n\t\tconst color = chroma(colorValue);\r\n\t\tconst lightness = color.get('hsl.l');\r\n\r\n\t\tif (lightness === 1) {\r\n\t\t\tthis[colorName] = color.darken(STEP).hex();\r\n\t\t}\r\n\t\telse if (lightness === 0) {\r\n\t\t\tthis[colorName] = color.brighten(STEP).hex();\r\n\t\t}\r\n\t}\r\n\r\n\tgenerateMissingColors()\r\n\t{\r\n\t\tif (!this.background) {\r\n\t\t\tthis.generateBackgroundColor();\r\n\t\t}\r\n\r\n\t\tif (!this[this.leadingColorName]) {\r\n\t\t\tthis.generateLeadingColor();\r\n\t\t}\r\n\r\n\t\tif (!this[this.trailingColorName]) {\r\n\t\t\tthis.generateTrailingColor();\r\n\t\t}\r\n\r\n\t\tif (!this.error) {\r\n\t\t\tthis.generateErrorColor();\r\n\t\t}\r\n\t}\r\n\r\n\tgenerateBackgroundColor()\r\n\t{\r\n\t\tconst contrastingColor = this[this.leadingColorName];\r\n\t\tthis.background = new ColorHelper(contrastingColor).contrast();\r\n\t}\r\n\r\n\tgenerateLeadingColor()\r\n\t{\r\n\t\tconst colorHelper = new ColorHelper(this.background);\r\n\t\tthis[this.leadingColorName] = colorHelper.contrast();\r\n\t}\r\n\r\n\tgenerateTrailingColor() // opposite of leading\r\n\t{\r\n\t\tconst {leadingColorName, trailingColorName} = this;\r\n\t\tconst leadingColor = this[leadingColorName];\r\n\r\n\t\tconst colorAfterMix = chroma.mix(leadingColor, this.background);\r\n\t\tconst colorHelper = new ColorHelper(colorAfterMix);\r\n\t\tconst contrastingColor = this.background;\r\n\t\tthis[trailingColorName] = colorHelper.contrast({contrastingColor});\r\n\t}\r\n\r\n\tgenerateErrorColor()\r\n\t{\r\n\t\tconst colorAfterMix = chroma.mix('red', this.background);\r\n\t\tconst colorHelper = new ColorHelper(colorAfterMix);\r\n\t\tthis.error = colorHelper.contrast({contrastingColor: this.background});\r\n\t}\r\n}\r\n\r\n\r\nexport {ThemeConfig}","\r\n// npm\r\nimport chroma from 'chroma-js'\r\nimport {Map as ImmutableMap, fromJS} from 'immutable'\r\n\r\n// xams-utils\r\nimport {check} from '@xams-utils/check-types'\r\n\r\n// internal\r\nimport {ThemeConfig} from 'utils/theme-config'\r\n\r\n// redux (action-types)\r\nimport * as ACTION_TYPES from './action-types'\r\n\r\n// utils\r\nimport * as colorHelper from 'custom/color-helper'\r\nimport {sessionStorageApi, KEYS} from 'libs/browser_storage/session-storage-api'\r\nimport { activityLogger } from \"libs/activity_logger/activity-logger\";\r\n\r\n\r\nconst ASSISTIVE_THEMES = {\r\n\t['Default']: {\r\n\t\tprimary: \"#1CA286\",\r\n\t\tsecondary: \"#364651\"\r\n\t},\r\n\t['White on Black']: {\r\n\t\tprimary: \"#FFFFFF\",\r\n\t\tbackground: \"#000000\"\r\n\t},\r\n\t['Black on White']: {\r\n\t\tprimary: \"#000000\",\r\n\t\tbackground: \"#FFFFFF\"\r\n\t},\r\n\t['Bright on Black']: {\r\n\t\tprimary: \"#0090b2\",\r\n\t\tbackground: \"#000000\"\r\n\t},\r\n\t['Dark on Bright']: {\r\n\t\tprimary: \"#1C304A\",\r\n\t\tbackground: \"#00CFFF\"\r\n\t},\r\n\t['Black on Yellow']: {\r\n\t\tprimary: \"#000000\",\r\n\t\tbackground: \"#FFFF00\"\r\n\t},\r\n\t['Yellow on Black']: {\r\n\t\tprimary: \"#FFFF00\",\r\n\t\tbackground: \"#000000\"\r\n\t},\r\n\t['White on Purple']: {\r\n\t\tprimary: \"#FFFFFF\",\r\n\t\tbackground: \"#800080\"\r\n\t},\r\n\t['Purple on White']: {\r\n\t\tprimary: \"#800080\",\r\n\t\tbackground: \"#FFFFFF\"\r\n\t},\r\n\t['Light on Medium']: {\r\n\t\tprimary: \"#83EFFF\",\r\n\t\tbackground: \"#046B99\"\r\n\t},\r\n\t['Medium on Light']: {\r\n\t\tprimary: \"#046B99\",\r\n\t\tbackground: \"#83EFFF\"\r\n\t},\r\n\t['Medium on White']: {\r\n\t\tprimary: \"#046B99\",\r\n\t\tbackground: \"#FFFFFF\"\r\n\t},\r\n\t['Black on Purple']: {\r\n\t\tprimary: \"#000000\",\r\n\t\tbackground: \"#800080\"\r\n\t}\r\n}\r\n\r\n\r\nconst extractThemesFromPrimarySecondaryColors = ({primaryColour, secondaryColour}) =>\r\n{\r\n\tif (!primaryColour || !secondaryColour) {\r\n\t\treturn;\r\n\t}\r\n\r\n\treturn {\r\n\t\t...ASSISTIVE_THEMES,\r\n\t\tDefault: {\r\n\t\t\tprimary: primaryColour,\r\n\t\t\tsecondary: secondaryColour,\r\n\t\t\tbackground: 'white'\r\n\t\t}\r\n\t}\r\n}\r\n\r\nconst extractThemes = (data) => \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// data = action/queryStringObject/sessionStorage\r\n{\r\n\tconst themes = data.themes ||\r\n\t \textractThemesFromPrimarySecondaryColors(data) ||\r\n\t\tASSISTIVE_THEMES;\r\n\r\n\tObject.keys(themes).forEach(themeName => {\r\n\t\tconst themeConfig = new ThemeConfig(themes[themeName]);\r\n\t\tthemes[themeName] = themeConfig.generateTheme();\r\n\t});\r\n\r\n\treturn themes;\r\n}\r\n\r\n\r\n\r\n// CREATE SETTINGS\r\n// ---------------------------------------------------------------------------\r\n\r\nconst handleSettingsCreation = (action) =>\r\n{\r\n\tconst data = {\r\n\t\tlogoUrl: action.logo,\r\n\t\tthemes: extractThemes(action),\r\n\t\tappBarLogoUrl: action.appBarLogo,\r\n\t\tuploadFileTypesAllowed: \".doc,.docx,.rtf,.odt,.wps,.xls,.xlsx,.csv,.xml,.xlr,.pptx,.ppt,.pps,.jpeg,.jpg,.gif,.bmp,.png,.tiff,.avi,.mp4,.mp3,.wav,.m4a,.wmv,.flv,.m4v,.mov,.mpg,.mpeg,.mkv,.pdf,.txt,.dat,.odp\".split(','), //action.allowedFileTypes\r\n\t\tproctoringMode: action.proctoringMode,\r\n\t\tpreviewMode: action.previewMode,\r\n\t\tdemoMode: action.demoMode,\r\n\t\tcanDownloadResult: action.downloadResult,\r\n\t\tproctoringType: action.proctoringType,\r\n\t\tproctoringSessionID: action.proctoringSessionID,\r\n\t\tenableForgottenPassword: action.enableForgottenPassword,\r\n\t\tlegacySingleSignon: action.legacySingleSignon,\r\n\t\tadminUrl: action.adminUrl\r\n\t}\r\n\r\n\tsessionStorageApi.saveDataTo(KEYS.CLIENT_SETTINGS, data);\r\n\tactivityLogger.setPreviewMode(data.previewMode);\r\n\t\r\n\tconst returnValue = ImmutableMap(fromJS(data));\r\n\t\r\n\treturn returnValue\r\n}\r\n\r\n\r\n// REMOVE SETTINGS\r\n// ---------------------------------------------------------------------------\r\n\r\nconst handleSettingsRemoval = () =>\r\n{\r\n\tsessionStorageApi.resetDataFor(KEYS.CLIENT_SETTINGS);\r\n\treturn ImmutableMap();\r\n}\r\n\r\n\r\n// LOAD SETTINGS\r\n// ---------------------------------------------------------------------------\r\n\r\nconst loadFromQueryString = () =>\r\n{\r\n\tconst urlParameters = new URLSearchParams(window.location.search);\r\n\tconst externalSessionData = urlParameters.get('x');\r\n\tif (!externalSessionData) { return; }\r\n\r\n\tconst parsedSessionData = JSON.parse(externalSessionData);\r\n\tconst data = parsedSessionData.settings;\r\n\tdata.themes = extractThemes(data);\r\n\tsessionStorageApi.saveDataTo(KEYS.CLIENT_SETTINGS, data);\r\n\r\n\treturn data;\r\n}\r\n\r\nconst handleSettingsLoad = () =>\r\n{\r\n\tconst key = KEYS.CLIENT_SETTINGS;\r\n\tconst data = loadFromQueryString() || sessionStorageApi.retrieveDataFrom(key);\r\n\r\n\t// TEMP MB 07/09/20, REMOVED 27/10\r\n\t// if (data.demoMode === '1'){\r\n\t// \tdata.downloadResult = '1';\r\n\t// }\r\n\r\n\tactivityLogger.setPreviewMode(data.previewMode);\r\n\treturn ImmutableMap(fromJS(data));\r\n}\r\n// ---------------------------------------------------------------------------\r\n\r\n\r\nconst CLIENT_SETTINGS_REDUCER = (state=ImmutableMap(), action) =>\r\n{\r\n\tswitch (action.type)\r\n\t{\r\n\t\tcase ACTION_TYPES.CREATE_SETTINGS:\r\n\t\t\treturn handleSettingsCreation(action);\r\n\t\tcase ACTION_TYPES.REMOVE_SETTINGS:\r\n\t\t\treturn handleSettingsRemoval();\r\n\t\tcase ACTION_TYPES.LOAD_SETTINGS:\r\n\t\t\treturn handleSettingsLoad();\r\n\t\tcase ACTION_TYPES.SET_NOTIFY_IMMEDIATELY_ON_LOST_CONNECTION:\r\n\t\t\treturn state.set('notifyImmediatelyOnLostConnection', action.value === \"1\");\r\n\t\tcase ACTION_TYPES.SET_CALCULATOR_EVALUATION_MODE:\r\n\t\t\treturn state.set('calculatorEvaluationMode', check.string(action.value) ? parseInt(action.value, 10) : undefined);\r\n\t\tcase ACTION_TYPES.SET_CONFIRM_DOB_MODE:\r\n\t\t\treturn state.set('confirmDobMode', check.string(action.value) ? parseInt(action.value, 10) : undefined);\r\n\t\tcase ACTION_TYPES.SET_CONFIRM_LEARNER_IDENTIFIER_MODE:\r\n\t\t\treturn state.set('confirmLearnerIdentifierMode', check.string(action.value) ? parseInt(action.value, 10) : undefined);\t\t\t\r\n\t\tcase ACTION_TYPES.SET_HIDE_SECTION_NAMES_IN_PLAYER:\r\n\t\t\treturn state.set('hideSectionNamesInPlayer', check.string(action.value) ? parseInt(action.value, 10) === 1 : false);\r\n\t\tcase ACTION_TYPES.SET_REMEMBER_SCENARIO:\r\n\t\t\treturn state.set('rememberScenario', check.string(action.value) ? parseInt(action.value, 10) === 1 : false);\r\n\t\tcase ACTION_TYPES.SET_UPLOAD_FILE_TYPES:{\r\n\t\t\tlet uploadFileTypes=\".doc,.docx,.rtf,.odt,.wps,.xls,.xlsx,.csv,.xml,.xlr,.pptx,.ppt,.pps,.jpeg,.jpg,.gif,.bmp,.png,.tiff,.avi,.mp4,.mp3,.wav,.m4a,.wmv,.flv,.m4v,.mov,.mpg,.mpeg,.mkv,.pdf,.txt,.dat,.odp,.zip\".split(',');\r\n\r\n\t\t\tif (check.array(action.value)) {\r\n\t\t\t\tuploadFileTypes=action.value;\r\n\t\t\t} else if (check.nonEmptyString(action.value)) {\r\n\t\t\t\tuploadFileTypes = action.value\r\n\t\t\t\t\t.split(\",\")\r\n\t\t\t\t\t.filter((item) => check.nonEmptyString(item))\r\n\t\t\t\t\t.map((item) => item.trim());\r\n\t\t\t}\r\n\r\n\t\t\treturn state.set('uploadFileTypes', uploadFileTypes);\r\n\t\t}\r\n\t\tcase ACTION_TYPES.SET_RESULT_FEEDBACK_MASK:{\r\n\t\t\treturn state.set('resultFeedbackMask', check.nonEmptyString(action.value) ? parseInt(action.value, 10) : -1);\r\n\t\t}\t\t\r\n\t\tcase ACTION_TYPES.SET_INTEGRITY_ADVOCATE_APP_ID:{\r\n\t\t\treturn state.set('integrityAdvocateAppId', check.nonEmptyString(action.value) ? action.value : \"\");\r\n\t\t}\r\n\t\tcase ACTION_TYPES.SET_ORG_FULL_SCREEN_EXAM:\r\n\t\t\treturn state.set('fullScreenExam', check.string(action.value) ? parseInt(action.value, 10) === 1 : false);\r\n\t\tcase ACTION_TYPES.SET_ORG_CALCULATOR_EXTRA_BUTTONS_FLAG:\r\n\t\t\treturn state.set(\r\n\t\t\t\t\"calculatorExtraButtonsFlag\",\r\n\t\t\t\tcheck.nonEmptyString(action.value)\r\n\t\t\t\t\t? parseInt(action.value, 10)\r\n\t\t\t\t\t: 0\r\n\t\t\t);\r\n\t\tcase ACTION_TYPES.SET_ORG_SHOW_QUESTION_ID_IN_PLAYER:\r\n\t\t\treturn state.set('showQuestionIdInPlayer', check.string(action.value) ? parseInt(action.value, 10) === 1 : false);\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n}\r\n\r\n\r\nexport {CLIENT_SETTINGS_REDUCER}","\r\n// utils\r\nimport {combineImmutableReducers} from 'utils/combine-immutable-reducers'\r\n\r\n// redux (reducers)\r\nimport {APP_SETTINGS_REDUCER} from './app/reducer'\r\nimport {CLIENT_SETTINGS_REDUCER} from './client/reducer'\r\n\r\n\r\nconst SETTINGS_REDUCER = combineImmutableReducers(undefined, {\r\n\tapp: APP_SETTINGS_REDUCER,\r\n\tclient: CLIENT_SETTINGS_REDUCER\r\n});\r\n\r\n\r\nexport {SETTINGS_REDUCER}","\r\n// npm\r\nimport {Map as ImmutableMap} from 'immutable'\r\n\r\n// redux (action-types)\r\nimport {SAVE_SETTINGS} from './action-types'\r\n\r\n// utils\r\nimport {api} from 'libs/api/api'\r\n\r\n\r\nconst APP_SETTINGS_REDUCER = (state = ImmutableMap(), action) =>\r\n{\r\n switch (action.type) {\r\n case SAVE_SETTINGS:\r\n return state.withMutations(mutableState => {\r\n const {json} = action;\r\n mutableState.set('useResetScheduleCheat', json.useResetScheduleCheat);\r\n mutableState.set('supportedBrowsers', json.supportedBrowsers);\r\n mutableState.set('pdfSupportedBrowsers', json.pdfSupportedBrowsers);\r\n mutableState.set('useInactivityTimer', json.useInactivityTimer);\r\n mutableState.set('apiEndpointUrl', json.apiEndpointUrl);\r\n mutableState.set('hubEndpointUrl', json.hubEndpointUrl);\r\n mutableState.set('hubUrl', json.hubUrl);\r\n mutableState.set('scormServer', json.scormServer);\r\n mutableState.set('appVersion', json.version || \"0.0.0.0\");\r\n mutableState.set('adminUrl', json.adminUrl);\r\n mutableState.set('authenticationUrl', json.authenticationUrl);\r\n\r\n const {produceRandomNetworkErrors} = json;\r\n if (produceRandomNetworkErrors.active) {\r\n const {frequency, errorCode} = produceRandomNetworkErrors;\r\n api.produceRandomNetworkErrors(frequency, errorCode);\r\n mutableState.set('produceRandomNetworkErrors', true);\r\n mutableState.set('networkErrorFrequency', frequency);\r\n mutableState.set('networkErrorCode', errorCode);\r\n }\r\n });\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\n\r\nexport {APP_SETTINGS_REDUCER}\r\n","\r\nconst SAVE_SETTINGS = '[settings][app]save';\r\n\r\nexport {SAVE_SETTINGS}","const CREATE_SETTINGS = \"[settings][client]create.settings\";\r\nconst REMOVE_SETTINGS = \"[settings][client]remove.settings\";\r\nconst LOAD_SETTINGS = \"[settings][client]load.settings\";\r\nconst SET_NOTIFY_IMMEDIATELY_ON_LOST_CONNECTION =\r\n \"[settings][client]set.n.i.o.l.c\";\r\nconst SET_CALCULATOR_EVALUATION_MODE =\r\n \"[settings][client]set.calculator.evaluation.mode\";\r\nconst SET_CONFIRM_DOB_MODE = \"[settings][client]set.confirm.dob.mode\";\r\nconst SET_CONFIRM_LEARNER_IDENTIFIER_MODE = \"[settings][client]set.confirm.learner.identifier.mode\";\r\nconst SET_HIDE_SECTION_NAMES_IN_PLAYER = \"[settings][client]set.hide.section.name.in.player\";\r\nconst SET_REMEMBER_SCENARIO = \"[settings][client]set.remember.scenario\";\r\nconst SET_UPLOAD_FILE_TYPES = \"[settings][client]set.upload_file_types\";\r\nconst SET_RESULT_FEEDBACK_MASK = \"[settings][client]set.result.feedback.mask\";\r\nconst SET_INTEGRITY_ADVOCATE_APP_ID = \"[settings][client]set.integrity.advocate.app.id\";\r\nconst SET_ORG_FULL_SCREEN_EXAM = \"[settings][client]set.org.full.screen.exam\";\r\nconst SET_ORG_CALCULATOR_EXTRA_BUTTONS_FLAG = \"[settings][client]set.org.calculator.extra.buttons.flag\";\r\nconst SET_ORG_SHOW_QUESTION_ID_IN_PLAYER = \"[settings][client]set.org.show_question.id.in.player\";\r\n\r\n\r\nexport {\r\n CREATE_SETTINGS,\r\n REMOVE_SETTINGS,\r\n LOAD_SETTINGS,\r\n SET_NOTIFY_IMMEDIATELY_ON_LOST_CONNECTION,\r\n SET_CALCULATOR_EVALUATION_MODE,\r\n SET_CONFIRM_DOB_MODE,\r\n SET_CONFIRM_LEARNER_IDENTIFIER_MODE,\r\n SET_HIDE_SECTION_NAMES_IN_PLAYER,\r\n SET_REMEMBER_SCENARIO,\r\n SET_UPLOAD_FILE_TYPES,\r\n SET_RESULT_FEEDBACK_MASK,\r\n SET_INTEGRITY_ADVOCATE_APP_ID,\r\n SET_ORG_FULL_SCREEN_EXAM,\r\n SET_ORG_CALCULATOR_EXTRA_BUTTONS_FLAG,\r\n SET_ORG_SHOW_QUESTION_ID_IN_PLAYER \r\n};\r\n","// npm libraries\nimport {combineReducers} from 'redux-immutable'\n\n// redux-related modules\nimport {APP_REDUCER} from './app/reducer'\nimport {CACHE_REDUCER} from './cache/reducer'\nimport {LOGIN_REDUCER} from './login/reducer'\nimport {SESSION_REDUCER} from './session/reducer'\nimport {SCHEDULES_REDUCER} from './schedules/reducer'\nimport {ELEARNING_REDUCER} from './elearning/reducer'\nimport {PROCTORIO_REDUCER} from './proctorio/reducer'\nimport {MESSAGES_REDUCER} from './messages/reducer'\nimport {EXAM_REDUCER} from './exam/reducer'\nimport {THEME_REDUCER} from './theme/reducer'\nimport {SETTINGS_REDUCER} from './settings/reducer'\n\n\nconst ROOT_REDUCER = combineReducers({\n\tapp: APP_REDUCER,\n\tcache: CACHE_REDUCER,\n\texam: EXAM_REDUCER,\n\tlogin: LOGIN_REDUCER,\n\tmessages: MESSAGES_REDUCER,\n\tschedules: SCHEDULES_REDUCER,\n\telearning: ELEARNING_REDUCER,\n\tproctorio: PROCTORIO_REDUCER,\n\tsession: SESSION_REDUCER,\n\tsettings: SETTINGS_REDUCER,\n\ttheme: THEME_REDUCER\n});\n\n\nexport {ROOT_REDUCER}","\r\nconst INITIALIZED = '[app]initialized';\r\nconst SET_NETWORK_ERROR = '[app]set.network.error';\r\nconst SET_NETWORK_ERROR_INFO = '[app]set.network.error.info';\r\nconst SET_OFFLINE_MODE = '[app]set.offline.mode';\r\nconst SET_OFFLINE_REASON = '[app]set.offline.reason';\r\n\r\n\r\nexport {INITIALIZED, SET_NETWORK_ERROR, SET_OFFLINE_MODE, SET_OFFLINE_REASON, SET_NETWORK_ERROR_INFO}","const SET_ERROR = '[login]set.error';\r\nconst CLEAR_ERROR = '[login]clear.error';\r\n\r\nexport {\r\n\tSET_ERROR,\r\n\tCLEAR_ERROR\r\n}","\n// npm\nimport * as Immutable from 'immutable'\n\n// redux\nimport * as ACTION_TYPES from './action-types'\nimport {SCHEDULE_REDUCER} from './schedule/reducer'\nimport * as SCHEDULE_ACTION_TYPES from './schedule/action-types'\n\n\nconst SCHEDULES_REDUCER = (state=Immutable.List(), action) =>\n{\n\tswitch (action.type)\n\t{\n\t\tcase ACTION_TYPES.CLEAR_SCHEDULES:\n\t\t\treturn Immutable.List();\n\t\tcase ACTION_TYPES.ADD_SCHEDULE:\n\t\t\treturn state.push(SCHEDULE_REDUCER(undefined, action));\n\t\tcase ACTION_TYPES.CLEAR_SCHEDULES_EXCEPT:\n\t\t\treturn state.filter(x => x.get('guid') === action.guid);\n\t\tcase SCHEDULE_ACTION_TYPES.SET_COMMENCED:\n\t\tcase SCHEDULE_ACTION_TYPES.SET_COMPLETED:\n\t\tcase SCHEDULE_ACTION_TYPES.SET_CANT_START_MESSAGE:\n\t\t\tconst scheduleIndex = state.findIndex(x => x.get('guid') === action.guid);\n\t\t\tif (scheduleIndex === -1) { throw \"error in schedules reducer\"; }\n\t\t\tconst scheduleState = state.get(scheduleIndex);\n\t\t\treturn state.set(scheduleIndex, SCHEDULE_REDUCER(scheduleState, action));\n\t\tdefault:\n\t\t\treturn state;\n\t}\n}\n\n\nexport {SCHEDULES_REDUCER}","const ADD_ELEARNING = '[elearning]add.elearning'\nconst CLEAR_ELEARNING = '[elearning]clear.elearning';\nconst SET_SHOW_COMPLETED = '[elearning]set.completed';\nconst SET_SHOW_COURSE_INFO = '[elearning]set.course_info';\n\nexport {\n\tADD_ELEARNING, \n\tCLEAR_ELEARNING,\n\tSET_SHOW_COMPLETED,\n\tSET_SHOW_COURSE_INFO\n}","const SET_ENTERED = '[proctorio]set.entered';\nconst SET_PARENT = '[proctorio]set.parent';\nconst SET_CLIENT_NAME = '[proctorio]set.client.name';\nconst SET_USER_INFO_1 = '[proctorio]set.user.info1';\nconst SET_USER_INFO_2 = '[proctorio]set.user.info2';\nconst SET_EXAM_GUID = '[proctorio]set.exam.guid';\nconst CLEAR_DATA = '[proctorio]clear.data';\nconst SET_COMPLETED_EXAM_GUID = '[proctorio]set.completed.exam.guid';\nconst SET_ERROR = '[proctorio]set.error';\n\nexport {\n\tSET_ENTERED,\n\tSET_PARENT,\n\tSET_CLIENT_NAME,\n\tSET_USER_INFO_1,\n\tSET_USER_INFO_2,\n\tSET_EXAM_GUID,\n\tCLEAR_DATA,\n\tSET_COMPLETED_EXAM_GUID,\n\tSET_ERROR\n}","// internal\r\nimport * as ACTION_TYPES from './action-types'\r\n\r\n\r\nconst THEME_REDUCER = (state='Default', action) =>\r\n{\r\n\tswitch (action.type)\r\n\t{\r\n\t\tcase ACTION_TYPES.SET_THEME:\r\n\t\t\treturn (state = action.value);\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n}\r\n\r\nexport {THEME_REDUCER}","const SET_THEME = '[theme]set';\r\nconst GET_THEME = '[theme]get';\r\n\r\nexport {SET_THEME, GET_THEME}\r\n","// Use TEMP to log specific things temporarily\n// Make sure to convert to a different log_type when you're done!\nconst LOG_TYPES = {\n\tIMPORTANT: 0,\n\tUNIMPORTANT: 1,\n\tTEMP: 2\n}\n\nconst MODES = {\n\tIMPORTANT_ONLY: 0,\n\tUNIMPORTANT_ONLY: 1,\n\tTEMP_ONLY: 2,\n\tDISABLED: 3,\n\tALL: 4\n}\n\n// -----------------------------\n\nconst environment = MODES.TEMP_ONLY;\n\n\nconst shouldLog = function(type)\n{\n\tswitch (environment)\n\t{\n\t\tcase MODES.DISABLED:\n\t\t\treturn false;\n\t\tcase MODES.ALL:\n\t\t\treturn true;\n\t\tcase MODES.IMPORTANT_ONLY:\n\t\t\treturn type === LOG_TYPES.IMPORTANT;\n\t\tcase MODES.UNIMPORTANT_ONLY:\n\t\t\treturn type === LOG_TYPES.UNIMPORTANT;\n\t\tcase MODES.TEMP_ONLY:\n\t\t\treturn type === LOG_TYPES.TEMP;\n\t\tdefault:\n\t\t\treturn false;\n\t}\n}\n\nconst log = function(toLog, type)\n{\n\tif (shouldLog(type)) { console.log(toLog); }\n}\n\nconst dir = function(toLog, type)\n{\n\tif (shouldLog(type)) { console.dir(toLog); }\n}\n\nconst error = function(toLog, type)\n{\n\tif (shouldLog(type)) { console.error(...arguments); }\n}\n\nconst exception = function(toLog, type)\n{\n\tif (shouldLog(type)) { console.error(...arguments); }\n}\n\n\nconst Console = {log, dir, error, exception};\nObject.freeze(Console);\n\n\nexport {Console, LOG_TYPES}","\r\n// other modules\r\nimport {api} from '../api'\r\nimport {ENDPOINTS} from '../constants'\r\n\r\n\r\nconst logError = (payload) => api.post(ENDPOINTS.LOG_ERROR, payload);\r\nconst sendBugReport = (payload) => api.post(ENDPOINTS.BUG_REPORT, payload);\r\n\r\n\r\nconst errorApi = {logError, sendBugReport};\r\n\r\n\r\nexport {errorApi}","// npm\nimport {createStore, applyMiddleware} from 'redux'\n\n// redux\nimport {ROOT_REDUCER} from './reducers/reducer'\nimport {snapshotStore} from './middleware/snapshot-store'\nimport {detectInactivity} from './middleware/detect-inactivity'\n\n\nlet store;\n\nconst getStore = function()\n{\n\tif (!store)\n\t{\n\t\tstore = createStore(\n\t\t\tROOT_REDUCER, \n\t\t\tundefined, \n\t\t\tapplyMiddleware(snapshotStore, detectInactivity)\n\t\t);\n\t}\n\n\treturn store;\n}\n\n\nexport {getStore}","\r\n// npm\r\nimport {detect} from 'detect-browser'\r\n\r\n// @xams-entities\r\nimport {Version} from '@xams-entities/version'\r\nimport {Browser} from '@xams-entities/browser'\r\n\r\n\r\nconst detectBrowser = () => {\r\n const { name, version, os } = detect();\r\n const _version = Version.create(version);\r\n const browser = Browser.create(name, os);\r\n return { version: _version , browser };\r\n};\r\n\r\n\r\nexport {detectBrowser}","const getAppData = (store) => store.get('app');\nconst getCacheData = (store) => store.get('cache');\nconst getSessionData = (store) => store.get('session');\nconst getLoginData = (store) => store.get('login');\nconst getRubricData = (store) => store.get('rubric');\nconst getSchedulesData = (store) => store.get('schedules');\nconst getElearningData = (store) => store.get('elearning');\nconst getProctorioData = (store) => store.get('proctorio');\nconst getExamPassword = (store) => store.get('examPassword');\nconst getExamData = (store) => store.get('exam');\nconst getMessagesData = (store) => store.get('messages');\nconst getThemeData = (store) => store.get('theme');\nconst getSettingsData = (store) => store.get('settings');\n\nexport {\n\tgetAppData,\n\tgetCacheData,\n\tgetSessionData,\n\tgetLoginData,\n\tgetRubricData,\n\tgetSchedulesData,\n\tgetElearningData,\n\tgetProctorioData,\n\tgetExamPassword,\n\tgetExamData,\n\tgetMessagesData,\n\tgetThemeData,\n\tgetSettingsData\n}","const getUserSessionData = (sessionData) => sessionData.get('user');\nconst getClientSessionData = (sessionData) => sessionData.get('client');\nconst getTokenData = (sessionData) => sessionData.get('tokens');\n\nexport {getUserSessionData, getClientSessionData, getTokenData}","\nconst getUserId = (userSessionData) => userSessionData.get('id');\nconst getUserGuid = (userSessionData) => userSessionData.get('guid');\nconst getLanguageId = (userSessionData) => userSessionData.get('languageId');\nconst getFirstName = (userSessionData) => userSessionData.get('firstName');\nconst getLastName = (userSessionData) => userSessionData.get('lastName');\nconst getDateOfBirth = (userSessionData) => userSessionData.get('dateOfBirth');\nconst getLearnerIdentifier = (userSessionData) => userSessionData.get('learnerIdentifier');\nconst isAdmin = (userSessionData) => !!userSessionData.get('admin');\nconst getEmail = (userSessionData) => userSessionData.get('email');\n\nconst getName = (userSessionData) => (\n\t`${userSessionData.get('firstName')} ${userSessionData.get('lastName')}`\n);\n\nconst getPublicExamUserName = (userSessionData) => userSessionData.get('publicExamUserName');\n\nexport {\n\tgetUserId,\n\tgetUserGuid,\n\tgetLanguageId, \n\tgetFirstName, \n\tgetLastName, \n\tgetName,\n\tisAdmin,\n\tgetDateOfBirth,\n\tgetLearnerIdentifier,\n\tgetPublicExamUserName,\n\tgetEmail\n}","\nconst getOrgId = (clientSessionData) => clientSessionData.get('id');\nconst getUrlToken = (clientSessionData) => clientSessionData.get('urlToken');\n\nexport {\n\tgetOrgId,\n\tgetUrlToken\n}","\r\n// libs\r\nimport {errorApi} from 'libs/api/interface/api-error'\r\n\r\nimport {detectBrowser} from 'components/pages/app_initialization/initializing/validating_app_settings/browser_checker/detect-browser'\r\n\r\n// redux (selectors)\r\nimport {getSessionData} from 'redux/reducers/selectors'\r\nimport {getClientSessionData, getUserSessionData} from 'redux/reducers/session/selectors'\r\nimport {getUserId, getLanguageId} from 'redux/reducers/session/user/selectors'\r\nimport {getOrgId} from 'redux/reducers/session/client/selectors'\r\n\r\n\r\nclass ErrorLogger\r\n{\r\n\tconstructor()\r\n\t{\r\n\t\tthis.previousState = null;\r\n\t\tthis.action = null;\r\n\t\tthis.stateChanges = null;\r\n\t}\r\n\r\n\tsetAppState({previousState, action, stateChanges, currentState})\r\n\t{\r\n\t\tthis.previousState = previousState;\r\n\t\tthis.action = action;\r\n\t\tthis.stateChanges = stateChanges;\r\n\t\tthis.currentState = currentState;\r\n\t}\r\n\r\n\tlog(error)\r\n\t{\r\n\t\tconst sessionData = this.currentState && getSessionData(this.currentState);\r\n\t\tconst clientSessionData = sessionData && getClientSessionData(sessionData);\r\n\t\tconst userSessionData = sessionData && getUserSessionData(sessionData);\r\n\r\n\t\tconst {browser, version} = detectBrowser();\r\n\r\n\t\terrorApi.logError({\r\n\t\t\torgID: clientSessionData ? getOrgId(clientSessionData) : null,\r\n\t\t\tuserID: userSessionData ? getUserId(userSessionData) : null,\r\n\t\t\tlanguageId: userSessionData ? getLanguageId(userSessionData) : null,\r\n\t\t\terrorMessage: error.message,\r\n\t\t\tstackTrace: error.stackTrace,\r\n\t\t\tinfo: this.getInfo(),\r\n\t\t\tsiteId: null,\r\n\t\t\tcentreId: null,\r\n\t\t\tapp: \"xams.UI.Web.Player\",\r\n\t\t\tbrowser: {\r\n\t\t\t\tbrowser, \r\n\t\t\t\tversion\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tgetInfo()\r\n\t{\r\n\t\tif (!this.stateChanges) { return null; }\r\n\r\n\t\treturn JSON.stringify({\r\n\t\t\taction: this.action,\r\n\t\t\tpreviousState: this.previousState.toJS(),\r\n\t\t\tstateChanges: this.stateChanges.toJS()\r\n\t\t});\r\n\t}\r\n}\r\n\r\n\r\nconst errorLogger = new ErrorLogger();\r\nexport {errorLogger}","\n// npm\nimport diffImmutable from 'immutable-diff'\n\n// redux (action-types)\nimport {SET_EXAM_TIME_REMAINING, SET_READING_TIME_REMAINING} from 'redux/reducers/exam/time/action-types'\n\n// custom\nimport {Console, LOG_TYPES} from 'custom/console'\n\n// utils\nimport {errorLogger} from 'utils/error-logger'\n\n\nconst EXEMPT_FROM_SNAPSHOTS = [\n\tSET_READING_TIME_REMAINING,\n\tSET_EXAM_TIME_REMAINING\n];\n\n\nconst logToConsole = (oldState, action, newState) =>\n{\n\tconst toLog = {\n\t\toldState: oldState.toJS(),\n\t\taction: action.type,\n\t\tnewState: newState.toJS()\n\t}\n\n\t//Console.log(toLog, LOG_TYPES.TEMP);\n}\n\nconst snapshotStore = store => next => action =>\n{\n\tconst oldState = store.getState();\n\tconst returnValue = next(action);\n\tconst newState = store.getState();\n\tconst stateChanges = diffImmutable(oldState, newState);\n\t\n\tif (!EXEMPT_FROM_SNAPSHOTS.includes(action.type)) {\n\t\tlogToConsole(oldState, action, newState);\n\t\t\n\t\terrorLogger.setAppState({\n\t\t\tpreviousState: oldState,\n\t\t\taction: action.type,\n\t\t\tstateChanges,\n\t\t\tcurrentState: newState\n\t\t});\n\t}\n\t\n\treturn returnValue;\n}\n\n\nexport {snapshotStore}","\r\nclass InactivityManager\r\n{\r\n\tconstructor()\r\n\t{\r\n\t\tthis.listener = null;\r\n\t}\r\n\r\n\tnotifyInactivity()\r\n\t{\r\n\t\tif (this.listener) {\r\n\t\t\tthis.listener();\r\n\t\t}\r\n\t}\r\n\r\n\tsubscribe(listener)\r\n\t{\r\n\t\tif (this.listener) {\r\n\t\t\tthrow \"Trying to overwrite inactivity listener. Are you trying to subscribe in multiple places?\";\r\n\t\t}\r\n\r\n\t\tthis.listener = listener;\r\n\t}\r\n\r\n\tunsubscribe()\r\n\t{\r\n\t\tthis.listener = null;\r\n\t}\r\n}\r\n\r\n\r\n\r\nconst inactivityManager = new InactivityManager();\r\n\r\nexport {inactivityManager}","\r\n// redux (action types)\r\n\r\nimport {\r\n\tSET_EXAM_TIME_REMAINING,\r\n\tSET_READING_TIME_REMAINING as SET_EXAM_READING_TIME_REMAINING\r\n} from 'redux/reducers/exam/time/action-types'\r\n\r\nimport {\r\n\tSET_TIME_REMAINING as SET_SECTION_TIME_REMAINING,\r\n\tSET_READING_TIME_REMAINING as SET_SECTION_READING_TIME_REMAINING\r\n} from 'redux/reducers/exam/content/sections/section/action-types'\r\n\r\n\r\n// redux (selectors)\r\nimport {getSessionData} from 'redux/reducers/selectors'\r\nimport {getUserSessionData} from 'redux/reducers/session/selectors'\r\nimport {getUserGuid} from 'redux/reducers/session/user/selectors'\r\n\r\n\r\n// utils\r\nimport {inactivityManager} from 'utils/inactivity-manager'\r\n\r\n\r\n// Constants\r\n// ----------------------------------------------------------------------------\r\nconst MAX_INACTIVITY_INTERVAL = 600000; // 10m\r\n\r\nconst EXEMPT_FROM_ACTIVITY_CHECK = [\r\n\tSET_EXAM_TIME_REMAINING,\r\n\tSET_EXAM_READING_TIME_REMAINING,\r\n\tSET_SECTION_TIME_REMAINING,\r\n\tSET_SECTION_READING_TIME_REMAINING\r\n];\r\n\r\n\r\n\r\n// Validation\r\n// ----------------------------------------------------------------------------\r\nconst hasUserSession = (storeState) =>\r\n{\r\n\tconst sessionData = getSessionData(storeState);\r\n\tif (!sessionData) { return false; }\r\n\r\n\tconst userSessionData = getUserSessionData(sessionData);\r\n\tif (!userSessionData) { return false; }\r\n\r\n\tconst userGuid = getUserGuid(userSessionData);\r\n\tif (!userGuid) { return false; }\r\n\r\n\treturn true;\r\n}\r\n\r\n\r\n// Timeout stuff\r\n// ----------------------------------------------------------------------------\r\nlet timeoutId = null;\r\n\r\nconst tryClearTimeout = () =>\r\n{\r\n\tif (timeoutId) {\r\n\t\tclearTimeout(timeoutId);\r\n\t\ttimeoutId = null;\r\n\t}\r\n}\r\n\r\nconst createTimeout = () =>\r\n{\r\n\ttimeoutId = setTimeout(() => {\r\n\t\tinactivityManager.notifyInactivity();\r\n\t}, MAX_INACTIVITY_INTERVAL);\r\n}\r\n\r\nconst resetTimeout = () =>\r\n{\r\n\ttryClearTimeout();\r\n\tcreateTimeout();\r\n}\r\n\r\n\r\n// Middleware\r\n// ----------------------------------------------------------------------------\r\nconst shouldResetTimer = (action) => (\r\n\t!EXEMPT_FROM_ACTIVITY_CHECK.includes(action.type)\r\n)\r\n\r\nconst detectInactivity = (store) => (next) => (action) =>\r\n{\r\n\tconst storeState = store.getState();\r\n\tconst containsUserSession = hasUserSession(storeState);\r\n\r\n\tif (containsUserSession) {\r\n\t\tif (!timeoutId) {\r\n\t\t\tcreateTimeout();\r\n\t\t}\r\n\t\telse if (shouldResetTimer(action)) {\r\n\t\t\tresetTimeout();\r\n\t\t}\r\n\t}\r\n\telse {\r\n\t\ttryClearTimeout();\r\n\t}\r\n\r\n\treturn next(action);\r\n}\r\n\r\n\r\nexport {detectInactivity}","\r\n// npm\r\nimport React from 'react'\r\n\r\n\r\nconst MessagesContext = React.createContext();\r\n\r\n\r\nexport {MessagesContext}","\r\nconst getMessageIds = (generalMessageData) => (\r\n\tgeneralMessageData.keySeq().toArray()\r\n);\r\n\r\nconst getMessageById = (generalMessageData) => (messageId) => {\r\n\treturn generalMessageData.get(messageId);\r\n}\r\n\r\nexport {getMessageIds, getMessageById}","const getGeneralMessageData = (messagesData) => messagesData.get('general');\nconst getSessionMessageData = (messagesData) => messagesData.get('session');\n\nexport {getGeneralMessageData, getSessionMessageData}","\r\n// redux (selectors)\r\nimport * as GENERAL_SELECTORS from './general/selectors'\r\nimport * as SESSION_SELECTORS from './session/selectors'\r\nimport {getGeneralMessageData, getSessionMessageData} from './selectors'\r\n\r\n\r\nconst getMessageIds = (messagesData) => {\r\n\tconst generalMessageData = getGeneralMessageData(messagesData);\r\n\tconst generalMessageIds = GENERAL_SELECTORS.getMessageIds(generalMessageData);\r\n\r\n\tconst sessionMessageData = getSessionMessageData(messagesData);\r\n\tconst sessionMessageIds = SESSION_SELECTORS.getMessageIds(sessionMessageData);\r\n\r\n\treturn [...generalMessageIds, ...sessionMessageIds];\r\n}\r\n\r\nconst getMessageById = (messagesData) => (id) => {\r\n\tconst generalMessageData = getGeneralMessageData(messagesData);\r\n\tconst generalMessage = GENERAL_SELECTORS.getMessageById(generalMessageData)(id);\r\n\tif (generalMessage) { return generalMessage; }\r\n\r\n\tconst sessionMessageData = getSessionMessageData(messagesData);\r\n\tconst sessionMessage = SESSION_SELECTORS.getMessageById(sessionMessageData)(id);\r\n\treturn sessionMessage;\r\n}\r\n\r\n\r\nexport {getMessageIds, getMessageById}","\r\nconst getMessageIds = (sessionMessageData) => (\r\n\tsessionMessageData.keySeq().toArray()\r\n);\r\n\r\nconst getMessageById = (sessionMessageData) => (messageId) => {\r\n\treturn sessionMessageData.get(messageId);\r\n}\r\n\r\nexport {getMessageIds, getMessageById}","\r\n// npm\r\nimport React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport {connect} from 'react-redux'\r\nimport {createSelector} from 'reselect'\r\n\r\n// react\r\nimport {MessagesContext} from './context'\r\n\r\n// redux (selectors)\r\nimport {getMessagesData} from 'redux/reducers/selectors'\r\nimport {getMessageIds, getMessageById} from 'redux/reducers/messages/complex-selectors'\r\n\r\n\r\n// Not connected to store\r\n// --------------------------------------------------------------------------\r\n\r\nlet MessagesProvider = ({children, messages}) => (\r\n\t\r\n\t\t{children}\r\n\t\r\n)\r\n\r\nMessagesProvider.propTypes = {\r\n\tchildren: PropTypes.node.isRequired,\r\n\tmessages: PropTypes.objectOf(PropTypes.string.isRequired).isRequired\r\n}\r\n\r\n\r\n// Connected to store\r\n// --------------------------------------------------------------------------\r\n\r\nconst getMessagesContext = (messagesData, messageIds) =>\r\n{\r\n\tconst messages = {};\r\n\r\n\tmessageIds.forEach(id => {\r\n\t\tmessages[id] = getMessageById(messagesData)(id) || \"MESSAGE UNDEFINED\";\r\n\t});\r\n\r\n\treturn messages;\r\n}\r\n\r\nconst messagesContextSelector = createSelector(\r\n\t(messagesData) => messagesData,\r\n\t(_, messageIds) => messageIds,\r\n\tgetMessagesContext\r\n)\r\n\r\nconst messageIdsSelector = createSelector(\r\n\tgetMessagesData,\r\n\tgetMessageIds\r\n)\r\n\r\nconst emptyObject = {};\r\n\r\nconst mapStoreToProps = (store, props) =>\r\n{\r\n\tconst messagesData = getMessagesData(store);\r\n\tif (!messagesData) { return {messages: emptyObject}; }\r\n\r\n\tconst messageIds = messageIdsSelector(store);\r\n\tconst messages = messagesContextSelector(messagesData, messageIds);\r\n\r\n\treturn {messages}\r\n}\r\n\r\nMessagesProvider = connect(mapStoreToProps)(MessagesProvider);\r\n\r\n\r\n// Export\r\n// --------------------------------------------------------------------------\r\nexport {MessagesProvider}","\r\n// npm\r\nimport React from 'react'\r\n\r\n\r\nconst MachineContext = React.createContext();\r\n\r\n\r\nexport {MachineContext}","\r\n// npm\r\nimport React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\n\r\nclass XamsCallback extends React.Component\r\n{\r\n\tconstructor(props)\r\n\t{\r\n\t\tsuper(props);\r\n\r\n\t\tif (props.onCreate) {\r\n\t\t\tprops.onCreate();\r\n\t\t}\r\n\t}\r\n\r\n\tcomponentDidMount()\r\n\t{\r\n\t\tif (this.props.onMount) {\r\n\t\t\tthis.props.onMount();\r\n\t\t}\r\n\t}\r\n\r\n\tcomponentWillUnmount()\r\n\t{\r\n\t\tif (this.props.onUnmount) {\r\n\t\t\tthis.props.onUnmount();\r\n\t\t}\r\n\t}\r\n\r\n\trender()\r\n\t{\r\n\t\treturn null;\r\n\t}\r\n}\r\n\r\nXamsCallback.propTypes = {\r\n\tonCreate: PropTypes.func,\r\n\tonMount: PropTypes.func,\r\n\tonUnmount: PropTypes.func\r\n}\r\n\r\n\r\nexport {XamsCallback}","\r\n// npm\r\nimport React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\n// xams-utils\r\nimport {check} from '@xams-utils/check-types'\r\n\r\n// components\r\nimport {MachineContext} from '../machine-context'\r\n\r\n\r\nclass StateView extends React.Component\r\n{\r\n\tconstructor(props)\r\n\t{\r\n\t\tsuper(props);\r\n\t\t\r\n\t\tif (Object.keys(props.children).some(key => key === 'undefined')) {\r\n\t\t\tthrow \" received an undefined state mapping\";\r\n\t\t}\r\n\t}\r\n\r\n\t*getActiveStateNames(state)\r\n\t{\r\n\t\tif (check.object(state)) {\r\n\t\t\tfor (let parentStateName in state) {\r\n\t\t\t\tyield parentStateName;\r\n\t\t\t\tyield* this.getActiveStateNames(state[parentStateName]);\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\tyield state;\r\n\t\t}\r\n\t}\r\n\r\n\tcomponentDidMount()\r\n\t{\r\n\t\tif (this.props.onEnter) {\r\n\t\t\tthis.props.onEnter();\r\n\t\t}\r\n\t}\r\n\r\n\tcomponentWillUnmount()\r\n\t{\r\n\t\tif (this.props.onExit) {\r\n\t\t\tthis.props.onExit();\r\n\t\t}\r\n\t}\r\n\r\n\trender()\r\n\t{\r\n\t\tconst activeStateNames = this.getActiveStateNames(this.context.state);\r\n\t\tconst {children:viewMappings} = this.props;\r\n\r\n\t\tfor (const activeStateName of activeStateNames) {\r\n\t\t\tconst getView = viewMappings[activeStateName];\r\n\t\t\tif (getView) { return getView(); }\r\n\t\t}\r\n\r\n\t\treturn null;\r\n\t}\r\n}\r\n\r\nStateView.propTypes = {\r\n\tonEnter: PropTypes.func,\r\n\tonExit: PropTypes.func,\r\n\tchildren: PropTypes.objectOf(PropTypes.func).isRequired\t\t\t\t\t\t\t\t\t\t\t\t\t// an object where each key represents a state, and each value is a function returning the elements to render in that state\r\n}\r\n\r\nStateView.contextType = MachineContext;\r\n\r\n\r\nexport {StateView}","\r\n// npm\r\nimport React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\n// xams-utils\r\nimport {check} from '@xams-utils/check-types'\r\n\r\n// components\r\nimport {MachineContext} from '../machine-context'\r\n\r\n\r\nclass StateControl extends React.Component\r\n{\r\n\trender()\r\n\t{\r\n\t\tconst {children:getControl, ...events} = this.props;\r\n\t\treturn getControl(this.createTransitionCallbacks(events));\r\n\t}\r\n\r\n\tcreateTransitionCallbacks(events)\r\n\t{\r\n\t\tconst callbacks = {};\r\n\r\n\t\tObject.keys(events).forEach(key => {\r\n\t\t\tconst event = events[key];\r\n\t\t\tthis.validateEvent(event);\r\n\t\t\tcallbacks[key] = this.createTransitionCallback(event);\r\n\t\t});\r\n\r\n\t\treturn callbacks;\r\n\t}\r\n\r\n\tcreateTransitionCallback(event)\r\n\t{\r\n\t\treturn () => {\r\n\t\t\tthis.context.transition(event);\r\n\t\t}\r\n\t}\r\n\r\n\tvalidateEvent(event)\r\n\t{\r\n\t\tif (!check.string(event)) {\r\n\t\t\tthrow \" Every prop must be an event string\";\r\n\t\t}\r\n\t}\r\n}\r\n\r\nStateControl.propTypes = {\r\n\tchildren: PropTypes.func.isRequired\r\n}\r\n\r\nStateControl.contextType = MachineContext;\r\n\r\n\r\n\r\nexport {StateControl}","\r\n// npm\r\nimport React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\n// xams-utils\r\nimport {check} from '@xams-utils/check-types'\r\n\r\n// internal\r\nimport {StateView} from './state-view'\r\nimport {StateControl} from './state-control'\r\nimport {MachineContext} from './machine-context'\r\n\r\n\r\nconst RESET_MACHINE = '**reset-machine**';\r\n\r\n\r\nclass StateMachine extends React.Component\r\n{\r\n\tconstructor(props)\r\n\t{\r\n\t\tsuper(props);\r\n\t\tthis.state = {current: this.InitialState};\r\n\t\tthis.initializeBoundMethods();\r\n\t}\r\n\r\n\t*getActiveStateNames(state)\r\n\t{\r\n\t\tif (check.object(state)) {\r\n\t\t\tfor (let parentStateName in state) {\r\n\t\t\t\tyield parentStateName;\r\n\t\t\t\tyield* this.getActiveStateNames(state[parentStateName]);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tyield state;\r\n\t}\r\n\r\n\tinitializeBoundMethods()\r\n\t{\r\n\t\tthis.transition = (event) => {\r\n\t\t\tif (!check.string(event)) { throw \"Invalid state machine event type\"; }\r\n\t\t\telse if (event === RESET_MACHINE) { this.resetState(); }\r\n\t\t\telse { this.applyStateTransition(event); }\r\n\t\t}\r\n\t}\r\n\r\n\tapplyStateTransition(event)\r\n\t{\r\n\t\tconst {machine} = this.props;\r\n\t\tconst {current} = this.state;\r\n\t\tconst nextState = machine.transition(current, event).value;\r\n\r\n\t\t//console.log({currentState: current, event, nextState});\r\n\r\n\t\tthis.setState({current: nextState}, this.onChange);\r\n\t}\r\n\r\n\tresetState()\r\n\t{\r\n\t\tthis.setState({current: this.InitialState});\r\n\t}\r\n\r\n\trender()\r\n\t{\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{this.props.children}\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\tcomponentDidUpdate(previousProps, previousState)\r\n\t{\r\n\t\tif (!this.props.onChange) { return; }\r\n\r\n\t\tif (previousState.current !== this.state.current) {\r\n\t\t\tthis.props.onChange(this.state.current);\r\n\t\t}\r\n\t}\r\n\r\n\tget InitialState()\r\n\t{\r\n\t\t// In a hierarchical machine, machine.initial returns only the initial\r\n\t\t// state of the topmost machine. Emitting a fake event will force the\r\n\t\t// machine to build up a complete 'initial state' by attempting to \r\n\t\t// apply the transition.\r\n\t\tconst {machine} = this.props;\r\n\t\treturn machine.transition(machine.initial, \"fake_event\").value;\r\n\t}\r\n\r\n\tget MachineContextValue()\r\n\t{\r\n\t\treturn {\r\n\t\t\ttransition: this.transition,\r\n\t\t\tstate: this.state.current\r\n\t\t}\r\n\t}\r\n}\r\n\r\nStateMachine.propTypes = {\r\n\tonChange: PropTypes.func,\r\n\tchildren: PropTypes.node.isRequired,\r\n\tmachine: PropTypes.shape({\r\n\t\ttransition: PropTypes.func.isRequired,\r\n\t\tinitial: PropTypes.string.isRequired,\r\n\t\tid: PropTypes.string\r\n\t})\r\n}\r\n\r\n\r\nexport {StateMachine, StateView, StateControl, RESET_MACHINE}","const getCredentialData = (loginData) => loginData.get('credentials');\nconst getLoginError = (loginData) => loginData.get('error');\n\nexport {getCredentialData, getLoginError}","const getUsername = (loginCredentialsData) => loginCredentialsData.get('u');\nconst getPassword = (loginCredentialsData) => loginCredentialsData.get('p');\n\nexport {\n\tgetUsername,\n\tgetPassword\n}","\r\n// redux\r\nimport * as LOGIN_ACTION_TYPES from 'redux/reducers/login/action-types'\r\nimport * as USER_SESSION_ACTION_TYPES from 'redux/reducers/session/user/action-types'\r\nimport * as TOKEN_ACTION_TYPES from 'redux/reducers/session/tokens/action-types'\r\nimport * as LOGIN_CREDENTIALS_ACTION_TYPES from 'redux/reducers/login/credentials/action-types' \r\n\r\n\r\n\r\nconst setUsername = (value) => ({\r\n\ttype: LOGIN_CREDENTIALS_ACTION_TYPES.SET_USERNAME,\r\n\tvalue\r\n});\r\n\r\nconst setPassword = (value) => ({\r\n\ttype: LOGIN_CREDENTIALS_ACTION_TYPES.SET_PASSWORD,\r\n\tvalue\r\n});\r\n\r\nconst clearCredentials = () => ({\r\n\ttype: LOGIN_CREDENTIALS_ACTION_TYPES.CLEAR\r\n});\r\n\r\nconst clearPassword = () => ({\r\n\ttype: LOGIN_CREDENTIALS_ACTION_TYPES.CLEAR_PASSWORD\r\n});\r\n\r\n\r\n\r\nconst setLoginError = (value) => ({\r\n\ttype: LOGIN_ACTION_TYPES.SET_ERROR,\r\n\tvalue\r\n});\r\n\r\nconst clearLoginError = () => ({\r\n\ttype: LOGIN_ACTION_TYPES.CLEAR_ERROR\r\n});\r\n\r\n\r\n\r\nconst createUserSession = (data) => ({\r\n\ttype: USER_SESSION_ACTION_TYPES.CREATE_SESSION,\r\n\t...data\r\n});\r\n\r\nconst saveTokens = (data) => ({\r\n\ttype: TOKEN_ACTION_TYPES.SAVE_TOKENS,\r\n\t...data\r\n});\r\n\r\n\r\n\r\nexport {\r\n\tsetUsername,\r\n\tsetPassword,\r\n\tclearCredentials,\r\n\tclearPassword,\r\n\tsetLoginError,\r\n\tclearLoginError,\r\n\tcreateUserSession,\r\n\tsaveTokens\r\n}","\r\n// npm\r\nimport React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport {connect} from 'react-redux'\r\n\r\n// redux (selectors)\r\nimport {getLoginData} from 'redux/reducers/selectors'\r\nimport {getCredentialData} from 'redux/reducers/login/selectors'\r\nimport {getUsername, getPassword} from 'redux/reducers/login/credentials/selectors'\r\n\r\nimport {clearLoginError} from './actions'\r\n\r\n\r\n// LoginValidator (not connected to store)\r\n// -------------------------------------------------\r\n\r\nclass LoginValidator extends React.Component\r\n{\r\n\tcomponentDidMount()\r\n\t{\r\n\t\tthis.props.clearLoginError();\r\n\t\tif (this.isFormValid()) { this.props.onSuccess(); }\r\n\t\telse { this.props.onFail(); }\r\n\t}\r\n\r\n\trender() \r\n\t{ \r\n\t\treturn null; \r\n\t}\r\n\r\n\tisFormValid()\r\n\t{\r\n\t\treturn this.props.u !== \"\" && this.props.p !== \"\";\r\n\t}\r\n}\r\n\r\nLoginValidator.propTypes = {\r\n\tu: PropTypes.string.isRequired,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// username\r\n\tp: PropTypes.string.isRequired,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// password\r\n\tonSuccess: PropTypes.func.isRequired,\r\n\tonFail: PropTypes.func.isRequired,\r\n\tclearLoginError: PropTypes.func.isRequired\r\n}\r\n\r\n\r\n// LoginValidator (connected to store)\r\n// -------------------------------------------------\r\n\r\nconst mapStoreToProps = (store) => ({\r\n\tu: getUsername(getCredentialData(getLoginData(store))),\r\n\tp: getPassword(getCredentialData(getLoginData(store)))\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n\tclearLoginError: () => dispatch(clearLoginError())\r\n});\r\n\r\nLoginValidator = connect(mapStoreToProps, mapDispatchToProps)(LoginValidator);\r\n\r\n\r\n// EXPORT\r\n// -------------------------------------------------\r\nexport {LoginValidator}","import {api} from '../api'\nimport {OAUTH, ENDPOINTS, RETRY_COUNT} from '../constants'\nimport {toFormData} from 'custom/object-helper'\n\n\nconst requestAuthentication = (payload) =>\n{\n\tpayload = toOauthPayload(payload, OAUTH.GRANT_TYPES.PASSWORD);\n\t\n\tconst checkRequestError = (request) => {\n\t\treturn request.status && request.status!==0;\n\t}\n\n\treturn api.post(ENDPOINTS.AUTHENTICATION, payload, RETRY_COUNT, null, null, checkRequestError);\n\t//return api.post(ENDPOINTS.AUTHENTICATION, payload);\n}\n\nconst checkLoginToken = (token) =>\n{\n\tapi.Token = token;\n\treturn api.get(ENDPOINTS.LOGIN_TOKEN, {});\n}\n\nconst refreshApiToken = () =>\n{\n\tconst payload = toOauthPayload({}, OAUTH.GRANT_TYPES.REFRESH);\n\treturn api.post(ENDPOINTS.AUTHENTICATION, payload);\n}\n\nconst toOauthPayload = (payload, grant_type) =>\n{\n\tpayload.client_id = OAUTH.ID;\n\tpayload.grant_type = grant_type;\n\tpayload.client_secret = OAUTH.SECRET;\n\tpayload.refresh_token = api.RefreshToken;\n\treturn toFormData(payload);\n}\n\nconst logoutUser = (userGuid) =>\n{\n\treturn api.get(ENDPOINTS.LOGOUT, {userGUID: userGuid});\n}\n\nconst abandonUserSession = (userGuid, reason) =>\n{\n\treturn api.get(ENDPOINTS.ABANDON_SESSION, {userGUID: userGuid, reason});\n}\n\nconst checkSetPasswordToken = (token) =>\n{\n\tconst endpoint = `${ENDPOINTS.SET_PASSWORD_TOKEN.CHECK}/${token}`;\n\n\treturn api.get(endpoint, {});\n}\n\nconst resetPassword = (payload) =>\n{\n\treturn api.post(ENDPOINTS.SET_PASSWORD_TOKEN.RESET, payload);\n}\n\nconst adminLogin = (userID, adminUrl) => {\n\tconst endPoint = `${adminUrl}/${ENDPOINTS.ADMIN_LOGIN}`;\n\n\treturn api.get(endPoint, {userID});\n}\n\n\n\nconst authenticationApi = {\n\trequestAuthentication,\n\trefreshApiToken,\n\tabandonUserSession,\n\tlogoutUser,\n\tcheckLoginToken,\n\tcheckSetPasswordToken,\n\tresetPassword,\n\tadminLogin\n}\n\nexport {authenticationApi}","import { check } from \"@xams-utils/check-types\";\r\n\r\nimport {\r\n sessionStorageApi,\r\n KEYS,\r\n} from \"libs/browser_storage/session-storage-api\";\r\n\r\nconst getLoginToken = () => {\r\n const { loginToken } = sessionStorageApi.retrieveDataFrom(\r\n KEYS.STUDENT_LOGIN\r\n );\r\n\r\n return loginToken;\r\n};\r\n\r\nconst getSetPasswordToken = () => {\r\n const { setPasswordToken } = sessionStorageApi.retrieveDataFrom(\r\n KEYS.STUDENT_LOGIN\r\n );\r\n\r\n return setPasswordToken;\r\n};\r\n\r\nconst getSetPasswordUserDetails=()=>{\r\n return sessionStorageApi.retrieveDataFrom(\r\n KEYS.STUDENT_LOGIN_DETAILS\r\n );\r\n}\r\n\r\nconst doesOrgNeedLoginToken = (orgId) => {\r\n if (orgId === 29) return true;\r\n\r\n return false;\r\n};\r\n\r\nconst doesUserNeedLoginToken = (orgId, userTypeId) => {\r\n // 248\t29\tSuper Admin\r\n // 249\t29\tAdmin\r\n // 250\t29\tCentre Admin\r\n // 251\t29\tStudent\r\n // 252\t29\tPublic\r\n // 253\t29\tService Account\r\n // 254\t29\tHigher Admin\r\n // 255\t29\tAssessor\r\n if (orgId === 29) {\r\n return check.string(userTypeId) ? userTypeId === \"4\" : userTypeId === 4;\r\n }\r\n\r\n return false;\r\n};\r\n\r\nconst getStudentLoginResponse = () => {\r\n const { response } = sessionStorageApi.retrieveDataFrom(\r\n KEYS.STUDENT_LOGIN_RESPONSE\r\n );\r\n\r\n return response;\r\n};\r\n\r\nconst loginTokenErrorMessage =\r\n \"Invalid login token, you need to logged in by an admin user\";\r\n\r\nconst getLogoutPage = () => {\r\n let url = `/login`;\r\n let logout = true;\r\n\r\n const loginTokin = getLoginToken();\r\n\r\n if (check.assigned(loginTokin)) {\r\n const { referrer } = sessionStorageApi.retrieveDataFrom(\r\n KEYS.STUDENT_REFERRER\r\n );\r\n\r\n if (referrer && check.string(referrer)) {\r\n const server = getServerName(referrer);\r\n\r\n if (server) {\r\n url = `${server}/login`;\r\n logout = false;\r\n }\r\n }\r\n }\r\n\r\n return { logout, url };\r\n};\r\n\r\nconst getServerName = (url) => {\r\n const items = url.split(\"/\");\r\n\r\n return items.length > 2 && items[1] === \"\"\r\n ? `${items[0]}//${items[2]}`\r\n : null;\r\n};\r\n\r\nexport {\r\n getLoginToken,\r\n doesOrgNeedLoginToken,\r\n doesUserNeedLoginToken,\r\n getStudentLoginResponse,\r\n loginTokenErrorMessage,\r\n getLogoutPage,\r\n getSetPasswordToken,\r\n getSetPasswordUserDetails\r\n};\r\n","\n// npm\nimport {containsDuplicates} from 'custom/array-helper'\n\n\n// CONSTANTS\n// ----------------------------------------------------------------------------\n\nconst MESSAGE_IDS = \n{\n\tGENERAL:\n\t{\n\t\tCONFIRM_ACTION: 'ConfirmAction',\n\t\tPASSWORD: 'Password',\n\t\tCONFIRM: 'OK',\n\t\tCANCEL: 'Cancel',\n\t\tCLOSE: 'Close',\n\t\tNUMBERS: 'Numbers',\n\t\tSTART: 'Start',\n\t\tBACK: 'Back',\n\t\tRESUME: 'Resume',\n\t\tPAUSED: 'Paused',\n\t\tFINISH: 'Finish',\n\t\tLOG_OFF: 'LogOff',\n\t\tMARKS: 'Marks',\n\t\tMARK: 'Mark',\n\t\tNEXT: 'Next',\n\t\tPREVIOUS: 'Previous',\n\t\tBROWSER_NAV_INTERRUPTED: 'BrowserNavigationInterrupt'\n\t},\n\tLOGIN: \n\t{\n\t\tAPP_BAR_TITLE: 'AppBar_Login',\n\t\tTITLE: 'Login_Title',\n\t\tUSERNAME: 'UserName',\n\t\tMESSAGE: 'LoginMessage',\n\t\tBUTTON: 'LogIn',\n\t\tWRONG_PASSWORD: 'LoginFailed',\n\t\tSUSPENDED: 'LoginSuspended',\n\t\tINVALID_LOGIN_TOKEN: 'InvalidLoginToken',\n\t},\n\tFORGOTTEN_PASSWORD:{\n\t\tTITLE: 'LoginForgot',\n\t\tINFO: 'LoginForgotInfo',\n\t\tRETURN: 'LoginForgotReturn',\n\t\tSUBMIT: 'LoginForgotSubmit',\n\t\tSUBMITTING: 'LoginForgotSubmitting',\n\t\tERROR: 'LoginForgotError',\n\t\tSUCCESS: 'LoginForgotSuccess',\n\t},\n\tSET_PASSWORD: \n\t{\n\t\tAPP_BAR_TITLE: 'AppBar_SetPassword', // Set Password\n\t\tTITLE: 'SetPassword_Title', // Set Password\n\t\tMESSAGE: 'SetPasswordMessage', // Welcome to XAMS, now set your password or else....\n\t\tNO_MATCH: 'SetPassword_NoMatch', // Passwords dont match\n\t\tINVALID_PASSWORD: 'Invalid_Password', // Your password is invalid...\n\t\tPASSWORD: 'SetPassword_Password',\n\t\tRETYPE: 'SetPassword_Retype',\n\t\tSUBMITTING: 'SetPassword_Submit' // Setting your password\n\t},\n\tRESET_PASSWORD:{\n\t\tTITLE: 'ResetPassword_Title',\n\t\tMESSAGE: 'ResetPassword_Message',\n\t\tSUBMITTING: 'ResetPassword_Submit', // Resetting your password\n\t\tSUCCESS: 'ResetPassword_Success',\n\t\tERROR: 'ResetPassword_Error'\n\t},\n\tELEARNING:{\n\t\tCOMPLETE: 'Elearning_Complete',\n\t\tCOMPLETE_RETURN: 'Elearning_Complete_Return',\n\t},\n\tRUBRIC: \n\t{\n\t\tSUBMIT: 'Submit',\n\t\tRUBRIC: 'rubric',\n\t\tCONFIRM_NAME: 'ConfirmName',\n\t\tCONFIRM_INSTRUCTIONS: 'UnderstoodInstructions',\n\t\tINTRO: 'StudentHome'\n\t},\n\tSCHEDULE: \n\t{\n\t\tAPP_BAR_TITLE: 'AppBar_Schedules',\n\t\tTITLE: 'Schedule_Title',\n\t\tCOMPLETED: 'Completed',\n\t\tSTART_TIME: 'StartTime',\n\t\tPASSWORD: 'SchedulePassword',\n\t\tPASSWORD_PROMPT: 'SchedulePassword_Info'\n\t},\n\tAPP_BAR: \n\t{\n\t\tWELCOME: 'WelcomeUser'\n\t},\n\tEXAM: \n\t{\n\t\tASSESSMENT_COMPLETE: 'AssessmentComplete',\n\t\tFINISH_CONFIRM_TITLE_1: 'Exam_FinishConfirm',\n\t\tFINISH_CONFIRM_TITLE_2: 'Exam_DoubleCheck',\n\t\tFINISH_CONFIRM_INFO_1: 'Exam_FinishConfirmInfo',\n\t\tFINISH_CONFIRM_INFO_2: 'Exam_DoubleCheckInfo',\n\t\tFINISH_CONFIRM_PART_TITLE_1: 'Exam_FinishConfirmPart',\n\t\tFINISH_CONFIRM_PART_TITLE_2: 'Exam_DoubleCheckPart',\n\t\tFINISH_CONFIRM_PART_INFO_1: 'Exam_FinishConfirmPartInfo',\n\t\tFINISH_CONFIRM_PART_INFO_2: 'Exam_DoubleCheckPartInfo',\n\t\tFINISH_CONFIRM_PRACTICE_TITLE_1: 'PracticeExam_FinishConfirm',\n\t\tFINISH_CONFIRM_PRACTICE_TITLE_2: 'PracticeExam_DoubleCheck',\n\t\tFINISH_CONFIRM_PRACTICE_INFO_1: 'PracticeExam_FinishConfirmInfo',\n\t\tFINISH_CONFIRM_PRACTICE_INFO_2: 'PracticeExam_DoubleCheckInfo',\n\t\tFINISH_PAPER_PART_ALERT_TITLE: 'Exam_FinishPaperPartAlert_Title',\n\t\tFINISH_PAPER_PART_ALERT_INFO: 'Exam_FinishPaperPartAlert_Info',\n\t\tRETURN_TO_EXAM: 'Exam_Return',\n\t\tRETURN_HOME: 'Exam_ReturnHome',\n\t\tPROGRESS: 'Progress',\n\t\tINSTRUCTIONS: 'Instructions',\n\t\tCANT_START: 'CantStart',\n\t\tSCENARIO_HEADING: 'ScenarioHeading',\n\t\tALREADY_COMPLETED: 'Assessment_Already_Completed',\n\t\tPAUSED: 'Assessment_Paused',\n\t\tPAUSED_TITLE: 'Assessment_Paused_Title',\n\t\tCONFIRM_RESUME: 'Assessment_Confirm_Resume',\n\t\tCONFIRM_RESUME_TITLE: 'Assessment_Confirm_Resume_Title',\t\t\n\t\tCANT_NAVIGATE: 'CantNavigateToExam',\n\t\tSIT_NEXT_RESIT: 'SitNextResit',\n\t\tPAPER_PART_NAV_INTERRUPTED: 'PaperPartNavigationInterrupt',\n\t\tQUESTION_NAV_TITLE: 'QuestionNavigationPanelTitle',\n\t\tSTART_ANSWERING: 'StartAnswering',\n\t\tMULTITEXT_MAX_CHARACTERS: 'MultiText_MaxLinesReached',\n\t\tPROCTORING_EXAM_OUTRO_MULTI: 'Proctoring-ExamOutroMulti',\n\t\tPROCTORING_EXAM_OUTRO_SINGLE: 'Proctoring-ExamOutroSingle',\n\n\t\tPROCTORING_INTEGRITY_ADVOCATE_EXAM_OUTRO_MULTI: 'ProctoringIaExamOutroMulti',\n\t\tPROCTORING_INTEGRITY_ADVOCATE_EXAM_OUTRO_SINGLE: 'ProctoringIaExamOutroSingle',\n\t\tPROCTORING_INTEGRITY_ADVOCATE_EXAM_OUTRO_PRACTICE: 'ProctoringIaExamOutroPractice',\n\n\t\tCONFIRM_MULTI_TEXT_OPTION_CHANGE: 'ConfirmMultiTextOptionChange'\n\t},\n\tSESSION:\n\t{\n\t\tINACTIVITY: 'Inactivity',\n\t\tDOUBLE_LOGIN: 'DoubleLoginWarning',\n\t\tDOUBLE_LOGIN_HEADING: 'DoubleLoginHeading'\n\t},\n\tPRACTICE_DOWNLOAD: {\n\t\tTIMED_OUT: 'PracticeDownloadTimedOut'\n\t},\n\tERRORS: {\n\t\tNETWORK_ERROR_TITLE: 'ErrorNetworkErrorTitle',\n\t\tNETWORK_ERROR_SUBHEADER: 'ErrorNetworkErrorSubheader',\n\t\tEXAM_COMPLETER_OFFLINE_TITLE: 'ErrorExamCompleterOfflineTitle',\n\t\tEXAM_COMPLETER_OFFLINE_MESSAGE: 'ErrorExamCompleterOfflineMessage',\n\t},\n\tPDF_CHECK:{\n\t\tTITLE: 'PdfCheckTitleUIv6',\n\t\tSUPPORTED: 'PdfCheckSupportedUIv6',\n\t\tNOT_SUPPORTED: 'PdfCheckNotSupportedUIv6',\n\t\tOTHER_SUPPORTED: 'PdfCheckOtherSupportedUIv6',\n\t\tCONTINUE: 'PdfCheckContinueUIv6',\n\t\tCANCEL: 'PdfCheckCancelUIv6'\t\t\n\t},\n\tAUDIO:{\n\t\tTEST_PAGE: 'AudioTestPageUIv6'\n\t}\t\n};\n\n\n// SAFEGUARD\n// ----------------------------------------------------------------------------\n\n(function ensureMessageIdUniqueness() {\n\tconst allMessageIds = [];\n\tObject.values(MESSAGE_IDS).forEach(messageGroup => {\n\t\tallMessageIds.push(...Object.values(messageGroup));\n\t});\n\n\tif (containsDuplicates(allMessageIds)) {\n\t\tthrow \"Dupe message ids found\";\n\t}\n})();\n\n\n// INTERFACE\n// ----------------------------------------------------------------------------\n\nconst getGeneralMessageIds = () => ([\n\t...Object.values(MESSAGE_IDS.GENERAL),\n\t...Object.values(MESSAGE_IDS.LOGIN),\n\t...Object.values(MESSAGE_IDS.SET_PASSWORD),\n\t...Object.values(MESSAGE_IDS.FORGOTTEN_PASSWORD),\n\t...Object.values(MESSAGE_IDS.RESET_PASSWORD)\n]);\n\nconst getSessionMessageIds = () => ([\n\t...Object.values(MESSAGE_IDS.RUBRIC),\n\t...Object.values(MESSAGE_IDS.SCHEDULE),\n\t...Object.values(MESSAGE_IDS.APP_BAR),\n\t...Object.values(MESSAGE_IDS.EXAM),\n\t...Object.values(MESSAGE_IDS.SESSION),\n\t...Object.values(MESSAGE_IDS.ELEARNING),\n\t...Object.values(MESSAGE_IDS.PRACTICE_DOWNLOAD),\n\t...Object.values(MESSAGE_IDS.ERRORS),\n\t...Object.values(MESSAGE_IDS.PDF_CHECK),\n\t...Object.values(MESSAGE_IDS.AUDIO),\t\n]);\n\nconst messageNotDefined=(message)=>{\n\treturn !message || message.toLowerCase()==='message undefined';\n}\n\n\n// EXPORT\n// ----------------------------------------------------------------------------\nexport {\n\tMESSAGE_IDS,\n\tgetGeneralMessageIds,\n\tgetSessionMessageIds,\n\tmessageNotDefined\n}","\r\n// npm\r\nimport React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport {connect} from 'react-redux'\r\nimport check from 'check-types'\r\n\r\n\r\n// redux\r\nimport * as ACTIONS from './actions'\r\nimport {getClientSessionData} from 'redux/reducers/session/selectors'\r\nimport {getOrgId} from 'redux/reducers/session/client/selectors'\r\nimport {getCredentialData} from 'redux/reducers/login/selectors'\r\nimport {getLoginData, getSessionData} from 'redux/reducers/selectors'\r\nimport {getUsername, getPassword} from 'redux/reducers/login/credentials/selectors'\r\nimport {getMessagesData} from 'redux/reducers/selectors'\r\nimport {getMessageById} from 'redux/reducers/messages/complex-selectors'\r\n\r\n// utils\r\nimport {authenticationApi} from 'libs/api/interface/api-authentication'\r\nimport {sessionStorageApi, KEYS} from 'libs/browser_storage/session-storage-api'\r\nimport {doesOrgNeedLoginToken, doesUserNeedLoginToken, getLoginToken, getStudentLoginResponse, loginTokenErrorMessage} from './login_token'\r\n\r\n// constants\r\nimport {MESSAGE_IDS} from 'constants/message-ids'\r\n\r\n\r\n// LoginAuthenticator (not connected to store)\r\n// --------------------------------------------------\r\n\r\nconst getScreenResolutionData = () =>\r\n{\r\n\tconst {screen, devicePixelRatio} = window;\r\n\r\n\tconst cssWidth = screen.width;\r\n\tconst cssHeight = screen.height;\r\n\r\n\tconst screenWidth = cssWidth * devicePixelRatio; // see https://coderwall.com/p/ygcyha/how-to-get-real-mobile-css-resolutions-for-responsive-design\r\n\tconst screenHeight = cssHeight * devicePixelRatio;\r\n\r\n\treturn {\r\n\t\tcss: {width: cssWidth, height: cssHeight},\r\n\t\tscreen: {width: screenWidth, height: screenHeight},\r\n\t\tpixelRatio: devicePixelRatio\r\n\t}\r\n}\r\n\r\nconst getScreenResolutionString = () =>\r\n{\r\n\tconst {css, screen, pixelRatio} = getScreenResolutionData();\r\n\r\n\tconst cssResolution = `${css.width}x${css.height}`;\r\n\tconst actualResolution = `${screen.width}x${screen.height}`;\r\n\r\n\treturn `[css=${cssResolution}] [screen=${actualResolution}] [pixelRatio=${pixelRatio}]`;\r\n}\r\n\r\nclass LoginAuthenticator extends React.Component\r\n{\r\n\tcomponentDidMount()\r\n\t{\r\n\t\tconst payload = {\r\n\t\t\tusername: this.props.u,\r\n\t\t\tpassword: this.props.p,\r\n\t\t\torgId: this.props.orgId,\r\n\t\t\tscreenRes: getScreenResolutionString(),\r\n\t\t\tuserAgent: navigator.userAgent\r\n\t\t}\r\n\r\n\t\tconst checkLoginToken = (response) => {\r\n\t\t\tconst parsedResponse = JSON.parse(response);\r\n\t\t\tconst {UserTypeID} = parsedResponse;\r\n\t\t\tconst {orgId} = this.props;\r\n\r\n\t\t\tif (doesUserNeedLoginToken(orgId, UserTypeID)) {\r\n\r\n\t\t\t\tsessionStorageApi.saveDataTo(KEYS.STUDENT_LOGIN_RESPONSE, {response});\r\n\r\n\t\t\t\tauthenticationApi.checkLoginToken(getLoginToken())\r\n\t\t\t\t.then(loginTokenOk, onFailLoginToken);\r\n\t\t\t}\r\n\t\t\telse onSuccess(response);\r\n\t\t}\r\n\r\n\t\tconst loginTokenOk = () => {\r\n\t\t\tconst response = getStudentLoginResponse();\r\n\t\t\tsessionStorageApi.resetDataFor(KEYS.STUDENT_LOGIN_RESPONSE);\r\n\t\t\tonSuccess(response);\r\n\t\t}\r\n\r\n\t\tconst onSuccess = (response) => {\r\n\t\t\t// 1. Parse response\r\n\t\t\tconst parsedResponse = JSON.parse(response);\r\n\r\n\t\t\t// 2. Extract important properties\r\n\t\t\tconst {access_token, refresh_token} = parsedResponse;\r\n\t\t\tconst {UserLanguageID:userLanguageId, UserID:userId} = parsedResponse;\r\n\t\t\tconst {UserGUID:userGuid, UserFirstName:userFirstName} = parsedResponse;\r\n\t\t\tconst {UserLastName:userLastName} = parsedResponse;\r\n\t\t\tconst {DOB:dateOfBirth} = parsedResponse;\r\n\t\t\tconst {Admin:admin} = parsedResponse;\r\n\t\t\tconst {NINumber:learnerIdentifier} = parsedResponse;\r\n\t\t\tconst {Email: email} = parsedResponse;\r\n\r\n\t\t\t// 3. Save tokens\r\n\t\t\tthis.props.saveTokens(access_token, refresh_token);\r\n\r\n\t\t\t// 4. Save user data\r\n\t\t\tthis.props.createUserSession(userId, userGuid, userFirstName, userLastName, userLanguageId, dateOfBirth, admin, learnerIdentifier, email);\r\n\t\t\t\r\n\t\t\t// 5. Final touches\r\n\t\t\tthis.props.onSuccess();\r\n\t\t\tthis.props.clearFormData();\r\n\t\t}\r\n\r\n\t\tconst onFail = (response) => {\r\n let suspended = false;\r\n\r\n try {\r\n const parsedResponse =\r\n response && response.response\r\n ? JSON.parse(response.response)\r\n : {};\r\n suspended = parsedResponse.suspended;\r\n } catch (e) {}\r\n\r\n this.props.setLoginError(\r\n suspended\r\n ? this.props.suspendedText\r\n : this.props.wrongPasswordText\r\n );\r\n this.props.clearPassword();\r\n this.props.onFail();\r\n };\r\n\r\n\t\tconst onFailLoginToken = () => {\r\n\t\t\tthis.props.setLoginError(loginTokenErrorMessage);\r\n\t\t\tthis.props.clearPassword();\r\n\t\t\tthis.props.onFail();\r\n\t\t}\r\n\t\t\r\n\t\tconst {orgId} = this.props;\r\n\t\tif (doesOrgNeedLoginToken(orgId)) {\r\n\t\t\tsessionStorageApi.resetDataFor(KEYS.STUDENT_LOGIN_RESPONSE);\r\n\r\n\t\t\tauthenticationApi.requestAuthentication(payload)\r\n\t\t\t.then(checkLoginToken, onFail);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tauthenticationApi.requestAuthentication(payload)\r\n\t\t\t.then(onSuccess, onFail);\r\n\t\t}\r\n\t}\r\n\r\n\trender()\r\n\t{\r\n\t\treturn null;\r\n\t}\r\n}\r\n\r\nLoginAuthenticator.propTypes = {\r\n\tu: PropTypes.string.isRequired,\r\n\tp: PropTypes.string.isRequired,\r\n\torgId: PropTypes.number.isRequired,\r\n\tonFail: PropTypes.func.isRequired,\r\n\tonSuccess: PropTypes.func.isRequired,\r\n\tsaveTokens: PropTypes.func.isRequired,\r\n\tclearFormData: PropTypes.func.isRequired,\r\n\tcreateUserSession: PropTypes.func.isRequired,\r\n\tsetLoginError: PropTypes.func.isRequired,\r\n\twrongPasswordText: PropTypes.string.isRequired\r\n}\r\n\r\n// LoginAuthenticator (connected to store)\r\n// --------------------------------------------------\r\n\r\nconst mapStoreToProps = (store) => ({\r\n\tu: getUsername(getCredentialData(getLoginData(store))),\r\n\tp: getPassword(getCredentialData(getLoginData(store))),\r\n\torgId: getOrgId(getClientSessionData(getSessionData(store))),\r\n\twrongPasswordText: getMessageById(getMessagesData(store))(MESSAGE_IDS.LOGIN.WRONG_PASSWORD),\r\n\tsuspendedText: getMessageById(getMessagesData(store))(MESSAGE_IDS.LOGIN.SUSPENDED),\r\n\tinvalidLoginTokenText: getMessageById(getMessagesData(store))(MESSAGE_IDS.LOGIN.INVALID_LOGIN_TOKEN),\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n\tsaveTokens: (access, refresh) => {\r\n\t\tdispatch(ACTIONS.saveTokens({access, refresh}));\r\n\t},\r\n\tcreateUserSession: (id, guid, firstName, lastName, languageId, dateOfBirth, admin, learnerIdentifier, email) => {\r\n\t\tconst data = {id, guid, firstName, lastName, languageId, dateOfBirth, admin, learnerIdentifier, email};\r\n\t\tdispatch(ACTIONS.createUserSession(data));\r\n\t},\r\n\tclearFormData: () => {\r\n\t\tdispatch(ACTIONS.clearCredentials());\r\n\t\tdispatch(ACTIONS.clearLoginError());\r\n\t},\r\n\tclearPassword: () => {\r\n\t\tdispatch(ACTIONS.clearPassword());\r\n\t},\r\n\tsetLoginError: (msg) => {\r\n\t\tdispatch(ACTIONS.setLoginError(msg));\r\n\t}\r\n})\r\n\r\nLoginAuthenticator = connect(mapStoreToProps, mapDispatchToProps)(LoginAuthenticator);\r\n\r\n\r\nexport {LoginAuthenticator}","\r\n// npm\r\nimport React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\n\r\nclass Callback extends React.Component\r\n{\r\n\tconstructor(props)\r\n\t{\r\n\t\tsuper(props);\r\n\t\tif (props.onCreate) { props.onCreate(); }\r\n\t}\r\n\r\n\tcomponentDidMount()\r\n\t{\r\n\t\tif (this.props.onMount)\r\n\t\t{\r\n\t\t\tthis.props.onMount();\r\n\t\t}\r\n\t}\r\n\r\n\tcomponentWillUnmount()\r\n\t{\r\n\t\tif (this.props.onUnmount)\r\n\t\t{\r\n\t\t\tthis.props.onUnmount();\r\n\t\t}\r\n\t}\r\n\r\n\trender()\r\n\t{\r\n\t\treturn null;\r\n\t}\r\n}\r\n\r\nCallback.propTypes = {\r\n\tonCreate: PropTypes.func,\r\n\tonMount: PropTypes.func,\r\n\tonUnmount: PropTypes.func\r\n}\r\n\r\n\r\nexport {Callback}","\r\n// npm\r\nimport {connect} from 'react-redux'\r\n\r\n// redux (actions)\r\nimport {Callback} from 'components/functional/callback'\r\nimport {setNetworkError} from 'components/pages/actions'\r\n\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n\tonMount: () => dispatch(setNetworkError(true))\r\n});\r\n\r\nconst SetNetworkError = connect(undefined, mapDispatchToProps)(Callback);\r\n\r\n\r\nexport {SetNetworkError}","\r\n// redux (action-types)\r\nimport {SET_NETWORK_ERROR} from 'redux/reducers/app/action-types'\r\n\r\n\r\nconst setNetworkError = (value) => ({\r\n\ttype: SET_NETWORK_ERROR,\r\n\tvalue\r\n});\r\n\r\n\r\nexport {setNetworkError}","\nconst error = (message) => `XState Config: ${message}`;\n\n\nclass XStateConfig\n{\n\tconstructor(name)\n\t{\n\t\tthis._name = name;\n\t\tthis._states = {};\n\t\tthis._transitions = {};\n\t\tthis._initialState = undefined;\n\t}\n\n\tset initialState(stateName)\n\t{\n\t\tif (!stateName) { throw error(\"Unknown initial state\"); }\n\t\tthis._initialState = stateName;\n\t}\n\n\taddState(stateName, stateConfig)\n\t{\n\t\tif (!stateName) { throw error(\"Unknown state name\"); }\n\t\tif (!stateConfig) { throw error(\"Unknown state config\"); }\n\t\tif (stateName.includes('.')) { throw error(\"State name can't contain '.'\"); }\n\t\tthis._states[stateName] = stateConfig;\n\t}\n\n\taddTransition(evt, nextStateName)\n\t{\n\t\tif (!evt) { throw error(\"Unknown event transition\"); }\n\t\tif (!nextStateName) { throw error(\"Unknown transition state\"); }\n\t\tthis._transitions[evt] = nextStateName;\n\t}\n\n\ttoObject()\n\t{\n\t\t// 1. Insert initial state\n\t\tconst config = { initial: this._initialState };\n\n\t\t// 2. Insert transitions\n\t\tconfig.on = {...this._transitions};\n\n\t\t// 3. Insert states\n\t\tconfig.states = {};\n\t\tObject.keys(this._states).forEach(stateName => {\n\t\t\tconfig.states[stateName] = this._states[stateName].toObject();\n\t\t});\n\n\t\treturn config;\n\t}\n}\n\n\nexport {XStateConfig}","\nimport {Machine} from 'xstate'\nimport {XStateConfig} from './xstate-config'\n\n\n// #########################################\n// STATE NAMES\n// #########################################\n\nconst STATES = {\n\tUNFILLED: 'form_not_filled',\n\tSUBMITTABLE: 'form_can_be_submitted',\n\tSUBMITTING: 'form_being_submitted',\n\tSUBMITTED: 'form_submitted',\n\tSUBMISSION_FAILED: 'form_submission_failed',\n\tSUBMISSION_ERROR: 'form_submission_error'\n}\n\nconst SUBMITTING_STATES = {\n\tVALIDATING_FORM: 'validating_form',\n\tSUBMITTING_FORM: 'submitting_form'\n}\n\n\n// #########################################\n// EVENT NAMES\n// #########################################\n\nconst EVENTS = {\n\tCAN_SUBMIT: 'form.can.submit',\n\tCANT_SUBMIT: 'form.cant.submit',\n\tSUBMIT: 'submit.form',\n\tSUCCESS: 'submit.success',\n\tFAIL: 'submit.fail',\n\tERROR: 'submit.error'\n}\n\n\n// #########################################\n// SUBMITTING STATES\n// #########################################\n\nconst validatingForm = new XStateConfig();\nvalidatingForm.addTransition(EVENTS.SUCCESS, SUBMITTING_STATES.SUBMITTING_FORM);\n\nconst submittingForm = new XStateConfig();\n\n\n// #########################################\n// FORM STATES\n// #########################################\n\nconst unfilled = new XStateConfig();\nunfilled.addTransition(EVENTS.CAN_SUBMIT, STATES.SUBMITTABLE);\n\nconst submittable = new XStateConfig();\nsubmittable.addTransition(EVENTS.CANT_SUBMIT, STATES.UNFILLED);\nsubmittable.addTransition(EVENTS.SUBMIT, STATES.SUBMITTING);\n\nconst submitting = new XStateConfig();\nsubmitting.initialState = SUBMITTING_STATES.VALIDATING_FORM;\nsubmitting.addState(SUBMITTING_STATES.VALIDATING_FORM, validatingForm);\nsubmitting.addState(SUBMITTING_STATES.SUBMITTING_FORM, submittingForm);\nsubmitting.addTransition(EVENTS.FAIL, STATES.SUBMISSION_FAILED);\nsubmitting.addTransition(EVENTS.ERROR, STATES.SUBMISSION_ERROR);\nsubmitting.addTransition(EVENTS.SUCCESS, STATES.SUBMITTED);\n\nconst submissionFailed = new XStateConfig();\nsubmissionFailed.addTransition(EVENTS.CANT_SUBMIT, STATES.UNFILLED);\nsubmissionFailed.addTransition(EVENTS.CAN_SUBMIT, STATES.SUBMITTABLE);\n\nconst submissionError = new XStateConfig();\nconst submitted = new XStateConfig();\n\n\n// #########################################\n// FORM MACHINE\n// #########################################\n\nconst _form = new XStateConfig();\n_form.initialState = STATES.UNFILLED;\n_form.addState(STATES.UNFILLED, unfilled);\n_form.addState(STATES.SUBMITTABLE, submittable);\n_form.addState(STATES.SUBMITTING, submitting);\n_form.addState(STATES.SUBMISSION_FAILED, submissionFailed);\n_form.addState(STATES.SUBMISSION_ERROR, submissionError);\n_form.addState(STATES.SUBMITTED, submitted);\n\nconst machine = Machine(_form.toObject());\nmachine.id = \"Form Machine\";\n\n\n// #########################################\n// EXPORT\n// #########################################\n\nconst form = {\n\tmachine,\n\tEVENTS,\n\tSTATES: {...STATES}, \n\tSUBMITTING_STATES: {...SUBMITTING_STATES}\n}\n\nexport {form}","\r\n// npm\r\nimport React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\n// xams-components\r\nimport {StateView, StateControl} from 'temp/xams.UI.Components/machine'\r\nimport {Callback} from '@xams-components-functional/callback'\r\n\r\n// react\r\nimport {LoginValidator} from './validator'\r\nimport {LoginAuthenticator} from './authenticator'\r\nimport {SetNetworkError} from 'components/pages/network_error/set-network-error'\r\n\r\n// machines\r\nimport {form} from 'machines/form'\r\n\r\n\r\nconst {EVENTS, STATES, SUBMITTING_STATES} = form;\r\n\r\n\r\nconst SubmittingView = () =>\r\n{\r\n\treturn (\r\n\t\t\r\n\t\t\t{{\r\n\t\t\t\t[SUBMITTING_STATES.VALIDATING_FORM]: () => (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{(props) => }\r\n\t\t\t\t\t\r\n\t\t\t\t),\r\n\t\t\t\t[SUBMITTING_STATES.SUBMITTING_FORM]: () => (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{(props) => }\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t}}\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst renderOtherViews = (onFinish) =>\r\n{\r\n\treturn (\r\n\t\t\r\n\t\t\t{{\r\n\t\t\t\t[STATES.SUBMITTING]: () => (\r\n\t\t\t\t\tSubmittingView()\r\n\t\t\t\t),\r\n\t\t\t\t[STATES.SUBMISSION_ERROR]: () => (\r\n\t\t\t\t\t\r\n\t\t\t\t),\r\n\t\t\t\t[STATES.SUBMITTED]: () => (\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t}}\r\n\t\t\r\n\t)\r\n}\r\n\r\n\r\nexport {renderOtherViews}","\r\nconst styles = ({spacing, breakpoints, palette}) =>\r\n{\r\n\treturn {\r\n\t\tlayout: {\r\n\t\t width: 'auto',\r\n\t\t display: 'block', // Fix IE11 issue.\r\n\t\t marginLeft: spacing.unit * 2,\r\n\t\t marginRight: spacing.unit * 2,\r\n\t\t [breakpoints.up(600 + spacing.unit * 3 * 2)]: {\r\n\t\t\t\twidth: 600,\r\n\t\t\t\tmarginLeft: 'auto',\r\n\t\t\t\tmarginRight: 'auto',\r\n\t\t\t\toverflowY: 'hidden',\r\n\t\t\t},\r\n\t\t},\r\n\t\tcard: {\r\n\t\t\tposition: 'relative',\r\n\t\t marginTop: spacing.unit * 2,\r\n\t\t\tbackgroundColor: palette.background.light,\r\n\t\t\tpadding: `${spacing.unit * 2}px ${spacing.unit * 3}px ${spacing.unit * 3}px`\r\n\t\t},\r\n\t\tcardContent: {\r\n\t\t display: 'flex',\r\n\t\t flexDirection: 'column',\r\n\t\t alignItems: 'center'\r\n\t\t},\r\n\t\tpaperContent: {\r\n\t\t display: 'flex',\r\n\t\t flexDirection: 'column',\r\n\t\t alignItems: 'center'\r\n\t\t},\r\n\t\tform: {\r\n\t\t width: '100%', // Fix IE11 issue.\r\n\t\t marginTop: spacing.unit,\r\n\t\t},\r\n\t\tformText: {\r\n\t\t\tcolor: palette.background.contrastText\r\n\t\t},\r\n\t\tformInputText: {\r\n\t\t\tcolor: palette.background.contrastText + \"!important\"\r\n\t\t},\r\n\t\tsubmit: {\r\n\t\t\tmarginTop: spacing.unit * 3,\r\n\t\t},\r\n\t\tsubmitDisabled: {\r\n\t\t\tbackgroundColor: palette.background.light + \"!important\",\r\n\t\t\tcolor: palette.background.contrastText + \"!important\"\r\n\t\t},\r\n\t\tloginInfo: {\r\n\t\t\tmarginTop: spacing.unit * 3,\r\n\t\t},\r\n\t\terrorContainer: {\r\n\t\t\theight: spacing.unit * 2,\r\n\t\t\tpadding: spacing.unit / 2,\r\n\t\t\tdisplay: 'flex',\r\n\t\t\talignItems: 'center'\r\n\t\t},\r\n\t\terror: {\r\n\t\t\tcolor: palette.error.main\r\n\t\t},\r\n\t\terrorIcon: {\r\n\t\t\tmarginRight: spacing.unit\r\n\t\t},\r\n\t\tlogoBox: {\r\n\t\t\tmarginTop: 4,\r\n\t\t\tmarginBottom: spacing.unit * 3,\r\n\t\t\toverflow: 'hide'\r\n\t\t},\r\n\t\tlogo: {\r\n\t\t\tmaxWidth: '100%'\r\n\t\t},\r\n\t\tinput: {\r\n\t\t\t'&:-webkit-autofill': {\r\n\t\t\t\tcontent: '\"filled\"'\r\n\t\t\t}\r\n\t\t},\r\n\t\tinputUnderline: {\r\n\t\t\t'&:before': {\r\n\t\t\t\tborderBottom: `1px solid ${palette.background.contrastText} !important`\r\n\t\t\t}\r\n\t\t},\r\n\t\tforgotten:{\r\n\t\t\t// paddingTop: spacing.unit*2,\r\n\t\t\tdisplay:'flex',\r\n\t\t\tjustifyContent: 'flex-end',\r\n\t\t\tcursor: 'pointer',\r\n\t\t}\r\n\t}\r\n}\r\n \r\n\r\nexport {styles}","\r\nconst getAppSettingsData = (settingsData) => settingsData.get('app');\r\nconst getClientSettingsData = (settingsData) => settingsData.get('client');\r\n\r\n\r\nexport {getAppSettingsData, getClientSettingsData}","const isBitSet=(num, bitPosition)=> {\r\n return (num & (1 << (bitPosition - 1))) !== 0;\r\n}\r\n\r\nexport {isBitSet}","import check from 'check-types'\r\nimport { isBitSet } from \"utils/number\";\r\n\r\nconst getLogoUrl = (clientSettingsData) => clientSettingsData.get('logoUrl');\r\nconst getAppBarLogoUrl = (clientSettingsData) => clientSettingsData.get('appBarLogoUrl');\r\nconst getPrimaryColour = (clientSettingsData) => clientSettingsData.get('primaryColour');\r\nconst getSecondaryColour = (clientSettingsData) => clientSettingsData.get('secondaryColour');\r\nconst getProctoringMode = (clientSettingsData) => clientSettingsData.get('proctoringMode');\r\nconst getProctoringType = (clientSettingsData) => clientSettingsData.get('proctoringType');\r\nconst getPreviewMode = (clientSettingsData) => clientSettingsData.get('previewMode');\r\nconst getProctoringSessionID = (clientSettingsData) => clientSettingsData.get('proctoringSessionID');\r\nconst getDemoMode = (clientSettingsData) => clientSettingsData.get('demoMode') === '1';\r\n\r\nconst getCanDownloadResult = (clientSettingsData) => {\r\n\t//clientSettingsData.get('downloadResult') === '1';\r\n\treturn clientSettingsData.get('canDownloadResult');\r\n}\r\n\r\nconst getIsDownloadablePracticeExam = (clientSettingsData) => {\r\n\t//return true;\r\n\treturn getDemoMode(clientSettingsData) && getCanDownloadResult(clientSettingsData);\r\n};\r\n\r\nconst getThemesData = (clientSettingsData) => {\r\n\treturn clientSettingsData.get('themes');\r\n}\r\n\r\nconst getUploadFileTypesAllowed = (clientSettingsData) => (\r\n\tclientSettingsData.get('uploadFileTypes')\r\n);\r\n\r\nconst shouldNotifyImmediatelyOnLostConnection = (clientSettingsData) => (\r\n\t!!clientSettingsData.get('notifyImmediatelyOnLostConnection')\r\n);\r\n\r\nconst getCalculatorEvaluationMode = (clientSettingsData) => {\r\n\treturn clientSettingsData.get('calculatorEvaluationMode')\r\n}\r\n\r\nconst getConfirmDobMode = (clientSettingsData) => {\r\n\treturn clientSettingsData.get('confirmDobMode')\r\n}\r\n\r\nconst getConfirmLearnerIdentifierMode = (clientSettingsData) => {\r\n\treturn clientSettingsData.get('confirmLearnerIdentifierMode');\r\n}\r\n\r\nconst getHideSectionNamesInPlayer = (clientSettingsData) => {\r\n\treturn clientSettingsData.get('hideSectionNamesInPlayer')\r\n}\r\n\r\nconst getRememberScenario = (clientSettingsData) => {\r\n\treturn clientSettingsData.get('rememberScenario')\r\n}\r\n\r\nconst getEnableForgottenPassword = (clientSettingsData) => {\r\n\treturn clientSettingsData.get('enableForgottenPassword')\r\n}\r\n\r\nconst getLegacySingleSignon = (clientSettingsData) => {\r\n\treturn clientSettingsData.get('legacySingleSignon')\r\n}\r\n\r\nconst getAdminUrl = (clientSettingsData) => {\r\n\treturn clientSettingsData.get('adminUrl')\r\n}\r\n\r\nconst getUploadFileTypes = (clientSettingsData) => {\r\n\treturn clientSettingsData.get('uploadFileTypes')\r\n}\r\n\r\nconst getResultFeedbackMask = (clientSettingsData) => {\r\n\treturn clientSettingsData.get('resultFeedbackMask')\r\n}\r\n\r\nconst getIntegrityAdvocateAppId = (clientSettingsData) => {\r\n\treturn clientSettingsData.get('integrityAdvocateAppId')\r\n}\r\n\r\nconst getOrgFullScreenExam = (clientSettingsData) => {\r\n\treturn clientSettingsData.get('fullScreenExam')\r\n}\r\n\r\nconst getCalculatorPercentageButton=(clientSettingsData) => {\r\n\tconst flag=clientSettingsData.get('calculatorExtraButtonsFlag');\r\n\treturn check.integer(flag)?isBitSet(flag, 1):0;\r\n}\r\n\r\nconst getCalculatorSquareButton=(clientSettingsData) => {\r\n\tconst flag=clientSettingsData.get('calculatorExtraButtonsFlag');\r\n\treturn check.integer(flag)?isBitSet(flag, 2):0;\r\n}\r\n\r\nconst getShowQuestionIdInPlayer=(clientSettingsData)=>{\r\n\treturn clientSettingsData.get('showQuestionIdInPlayer')\r\n}\r\n\r\n\r\nexport {\r\n\tgetLogoUrl,\r\n\tgetThemesData,\r\n\tgetAppBarLogoUrl,\r\n\tgetPrimaryColour,\r\n\tgetSecondaryColour,\r\n\tgetUploadFileTypesAllowed,\r\n\tgetCalculatorEvaluationMode,\r\n\tgetProctoringMode,\r\n\tgetProctoringType,\r\n\tgetPreviewMode,\r\n\tgetDemoMode,\r\n\tgetConfirmLearnerIdentifierMode,\r\n\tgetCanDownloadResult,\r\n\tgetIsDownloadablePracticeExam,\t\r\n\tshouldNotifyImmediatelyOnLostConnection,\r\n\tgetConfirmDobMode,\r\n\tgetHideSectionNamesInPlayer,\r\n\tgetRememberScenario,\r\n\tgetEnableForgottenPassword,\r\n\tgetLegacySingleSignon,\r\n\tgetAdminUrl,\r\n\tgetUploadFileTypes,\r\n\tgetResultFeedbackMask,\r\n\tgetIntegrityAdvocateAppId,\r\n\tgetProctoringSessionID,\r\n\tgetOrgFullScreenExam,\r\n\tgetCalculatorPercentageButton,\r\n\tgetCalculatorSquareButton,\r\n\tgetShowQuestionIdInPlayer\r\n}","\r\nconst getCachedImageData = (cacheData) => cacheData.get('images');\r\nconst getCachedPdfData = (cacheData) => cacheData.get('pdfs');\r\n\r\n\r\nexport {getCachedImageData, getCachedPdfData}","\r\nconst getCachedUrl = (cachedImagesData, imageUrl) => {\r\n\treturn cachedImagesData.get(imageUrl);\r\n}\r\n\r\n\r\nexport {getCachedUrl}","\r\n// npm\r\nimport React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport {connect} from 'react-redux'\r\n\r\n// redux (selectors)\r\nimport {getCacheData} from 'redux/reducers/selectors'\r\nimport {getCachedImageData} from 'redux/reducers/cache/selectors'\r\nimport {getCachedUrl} from 'redux/reducers/cache/images/selectors'\r\n\r\n\r\nlet Image = (imgProps) => {\r\n const { style } = imgProps;\r\n const newImgProps = style\r\n ? { ...imgProps, style: { ...style, pointerEvents: \"none\", userSelect: \"none\" } }\r\n : { ...imgProps, style: { pointerEvents: \"none\", userSelect: \"none\" } };\r\n\r\n return ;\r\n};\r\n\r\n\r\nconst mapStoreToProps = (store) => ({store});\r\nconst mergeProps = ({store}, {dispatch}, {src, ...imgProps}) =>\r\n{\r\n\tconst cachedImageData = getCachedImageData(getCacheData(store));\r\n\tconst cachedUrl = getCachedUrl(cachedImageData, src);\r\n\r\n\treturn {src: cachedUrl || src, ...imgProps};\t\r\n}\r\n\r\nImage = connect(mapStoreToProps, undefined, mergeProps)(Image);\r\n\r\n\r\nexport {Image}","\r\n// npm\r\nimport React from 'react'\r\n\r\n// react\r\nimport {MessagesContext} from './context'\r\n\r\n\r\nconst withMessages = (Component) =>\r\n{\r\n\treturn (props) => {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{(messages) => }\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n}\r\n\r\n\r\nexport {withMessages}","\r\n// npm\r\nimport attributeToPropName from 'react-attr-converter'\r\n\r\n// utils\r\nimport {cssToReactStyle} from './css-to-react-style'\r\n\r\n\r\nconst htmlAttributesToProps = (htmlAttributes={}) =>\r\n{\r\n\tconst props = {};\r\n\r\n\tObject.keys(htmlAttributes).forEach(attributeName => {\r\n\t\tconst propName = attributeToPropName(attributeName);\r\n\t\tconst isStyle = propName === 'style';\r\n\r\n\t\tconst attributeValue = htmlAttributes[attributeName];\r\n\t\tconst propValue = isStyle ? cssToReactStyle(attributeValue) : attributeValue;\r\n\t\t\r\n\t\tprops[propName] = propValue;\r\n\t});\r\n\r\n\treturn props;\r\n}\r\n\r\n\r\nexport {htmlAttributesToProps}","\r\n// npm\r\nimport postCss from 'postcss'\r\nimport postCssJs from 'postcss-js'\r\n\r\n\r\nconst cssToReactStyle = (cssString) =>\r\n{\r\n\tif (!cssString) { return {}; }\r\n\tconst postCssRootInstance = postCss.parse(cssString);\r\n\treturn postCssJs.objectify(postCssRootInstance);\r\n}\r\n\r\n\r\nexport {cssToReactStyle}","// npm\nimport React from 'react'\nimport check from 'check-types'\nimport {Parser, ProcessNodeDefinitions} from 'html-to-react'\n\n// react\nimport {Image} from 'components/presentation/image'\n\n// utils\nimport {htmlAttributesToProps} from './html-attributes-to-props'\n\n\nconst isValidNode = () => true\nconst htmlParser = new Parser();\nconst nodeProcessingDefinitions = new ProcessNodeDefinitions(React);\n\n\n// node:\n// {\n// \ttype: \"tag\", \t\t\t\t\t\t\t// tag/text\n// \tattribs: {},\n// \tnext: node,\n// \tprev: node,\n// \tparent: node,\n\n// \t// WHEN TYPE=\"text\"...\n// \tdata: string?,\n\n// \t// WHEN TYPE=\"tag\"...\n// \tname: \"p\",\n// \tchildren: array\n// }\n\n\nconst processingInstructions = [\n\t{\n\t\tshouldProcessNode: (node) => {\n\t\t\treturn node.name === 'img';\n\t\t},\n\t\tprocessNode: function(node) {\n\t\t\tconst props = htmlAttributesToProps(node.attribs);\n\t\t\treturn React.createElement(Image, props);\n\t\t}\n\t},\n\t{\n\t\tshouldProcessNode: isValidNode,\n\t\tprocessNode: nodeProcessingDefinitions.processDefaultNode\n\t}\n]\n\n\nconst createError = (text) => (\n\t`htmlToReact: Must parse string. Got ${text}`\n);\n\nconst htmlToReact = {\n\tparse: (text) => {\n\t\tif (check.emptyString(text)) { return text; }\n\t\tif (!check.string(text)) { throw createError(text); }\n\t\tif (!text.includes('<')) { return text; }\n\t\treturn htmlParser.parseWithInstructions(text, isValidNode, processingInstructions);\n\t}\n}\n\n\nexport {htmlToReact};","// npm\r\nimport React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\n\r\nimport { getSessionData } from \"redux/reducers/selectors\";\r\nimport { getClientSessionData } from \"redux/reducers/session/selectors\";\r\nimport { getOrgId } from \"redux/reducers/session/client/selectors\";\r\n\r\n// xams-utils\r\nimport { check } from \"@xams-utils/check-types\";\r\n\r\n// material-ui\r\nimport Typography from \"@material-ui/core/Typography\";\r\n\r\n// utils\r\nimport { htmlToReact } from \"utils/html-to-react\";\r\n\r\nconst getSpaceOutReg = (text) => {\r\n if (!check.nonEmptyString(text)) {\r\n return text;\r\n }\r\n\r\n try {\r\n if (text.indexOf(\"<\") === -1 && text.indexOf(\">\") === -1) {\r\n return text;\r\n }\r\n\r\n const regex_sb = /(\\S)((>|<))/gm;\r\n const regex_sa = /((>|<))(\\S)/gm;\r\n\r\n return text\r\n .replace(regex_sb, \"$1 $3\")\r\n .replace(regex_sa, \"$1 $3\")\r\n .replace(/</g, \"<\")\r\n .replace(/>/g, \">\");\r\n } catch (e) {\r\n return text;\r\n }\r\n};\r\n\r\nconst isHtmlText = (\r\n text // may need stricter check\r\n) => {\r\n if (!check.string(text)) {\r\n return false;\r\n }\r\n const openTagIndex = text.indexOf(\"<\");\r\n return openTagIndex !== -1 && text.indexOf(\">\", openTagIndex);\r\n};\r\n\r\nlet MaterialText = ({\r\n children: text,\r\n component,\r\n orgId,\r\n ...typographyProps\r\n}) => {\r\n const isHtml = isHtmlText(text);\r\n const container = component ? component : isHtml ? \"div\" : undefined; // nested

not allowed\r\n\r\n const spaceOut = orgId === 29 || orgId === 15 || orgId === 22;\r\n const _text = spaceOut ? getSpaceOutReg(text) : text;\r\n\r\n const finalText = isHtml ? htmlToReact.parse(_text) : _text;\r\n\r\n return (\r\n \r\n {finalText}\r\n \r\n );\r\n};\r\n\r\nMaterialText.propTypes = {\r\n children: PropTypes.string.isRequired,\r\n};\r\n\r\nconst mapStoreToProps = (store) => {\r\n const sessionData = getSessionData(store);\r\n const clientSessionData = getClientSessionData(sessionData);\r\n\r\n return {\r\n orgId: getOrgId(clientSessionData),\r\n };\r\n};\r\n\r\nMaterialText = connect(mapStoreToProps)(MaterialText);\r\n\r\nexport { MaterialText };\r\n","\n// npm\nimport React from 'react'\nimport PropTypes from 'prop-types'\n\n\nconst getFlexAlignment = (start, end) =>\n{\n\tif (start) { return 'flex-start'; }\n\tif (end) { return 'flex-end'; }\n\treturn 'center';\n}\n\nconst Align = function({top, right, bottom, left, children})\n{\n\tconst style = {\n\t\twidth: '100%',\n\t\theight: '100%',\n\t\tdisplay: 'flex',\n\t\talignItems: getFlexAlignment(top, bottom),\n\t\tjustifyContent: getFlexAlignment(left, right)\n\t}\n\n\treturn

{children}
;\n}\n\nAlign.propTypes = {\n\tchildren: PropTypes.node,\n\ttop: PropTypes.bool,\n\tright: PropTypes.bool,\n\tbottom: PropTypes.bool,\n\tleft: PropTypes.bool\n}\n\n\nexport {Align}","\r\n// npm\r\nimport React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\n// material-ui\r\nimport Modal from '@material-ui/core/Modal'\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\n\r\n// react\r\nimport {Align} from 'components/layout/align'\r\n\r\n\r\nconst SIZES = {\r\n\txs: 20,\r\n\tsm: 30,\r\n\tmd: 40,\r\n\tlg: 50,\r\n\txl: 60\r\n}\r\n\r\n\r\nconst LoadingSpinner = ({children, size, color, disableModal, open}) =>\r\n{\r\n\tconst modalProps = {\r\n\t\tdisableBackdropClick: true,\r\n\t\tdisableEscapeKeyDown: true,\r\n\t\thideBackdrop: true,\r\n\t\topen\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t{children || null}\r\n\t\t
\r\n\t)\r\n}\r\n\r\nLoadingSpinner.propTypes = {\r\n\tdisableModal: PropTypes.bool.isRequired,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// only applies when loadingspinner contains children\r\n\tsize: PropTypes.string.isRequired,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// size of spinner (following material-ui size convention)\r\n\topen: PropTypes.bool.isRequired,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// whether to show spinner or not\r\n\tchildren: PropTypes.node,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// the content to display underneath the modal spinner\r\n\tcolor: PropTypes.string\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// the color of the spinner\r\n}\r\n\r\nLoadingSpinner.defaultProps = {\r\n\tsize: 'md',\r\n\topen: true,\r\n\tdisableModal: false\r\n}\r\n\r\n\r\nexport {LoadingSpinner}","// npm\r\nimport React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { withRouter } from \"react-router-dom\";\r\n\r\n//material-ui\r\nimport { styles } from \"./form-styles\";\r\nimport Fade from \"@material-ui/core/Fade\";\r\nimport Input from \"@material-ui/core/Input\";\r\nimport Card from \"@material-ui/core/Card\";\r\nimport CardHeader from \"@material-ui/core/CardHeader\";\r\nimport CardContent from \"@material-ui/core/CardContent\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport Hidden from \"@material-ui/core/Hidden\";\r\nimport InputLabel from \"@material-ui/core/InputLabel\";\r\nimport FormControl from \"@material-ui/core/FormControl\";\r\nimport withStyles from \"@material-ui/core/styles/withStyles\";\r\nimport WarningIcon from \"@material-ui/icons/Warning\";\r\n\r\n// redux\r\nimport { setUsername, setPassword } from \"./actions\";\r\nimport { getLoginData } from \"redux/reducers/selectors\";\r\nimport { getLoginError } from \"redux/reducers/login/selectors\";\r\nimport { getSettingsData } from \"redux/reducers/selectors\";\r\nimport { getClientSettingsData } from \"redux/reducers/settings/selectors\";\r\nimport { getLogoUrl, getEnableForgottenPassword } from \"redux/reducers/settings/client/selectors\";\r\nimport { getUrlToken, getOrgId } from \"redux/reducers/session/client/selectors\";\r\nimport { getSessionData } from \"redux/reducers/selectors\";\r\nimport { getClientSessionData } from \"redux/reducers/session/selectors\";\r\n\r\n// react\r\nimport { Image } from \"components/presentation/image\";\r\nimport { withMessages } from \"components/hocs/messages\";\r\nimport { MaterialText } from \"components/presentation/material-text\";\r\nimport { LoadingSpinner } from \"components/presentation/loading-spinner\";\r\n\r\n// constants\r\nimport { MESSAGE_IDS } from \"constants/message-ids\";\r\n\r\n\r\nconst loginMessageId = MESSAGE_IDS.LOGIN.MESSAGE;\r\nconst loginTitleMessageId = MESSAGE_IDS.LOGIN.TITLE;\r\nconst usernameMessageId = MESSAGE_IDS.LOGIN.USERNAME;\r\nconst loginButtonMessageId = MESSAGE_IDS.LOGIN.BUTTON;\r\nconst passwordMessageId = MESSAGE_IDS.GENERAL.PASSWORD;\r\nconst forgottenPasswordMessageId = MESSAGE_IDS.FORGOTTEN_PASSWORD.TITLE;\r\n\r\n// LoginForm (not connected to store)\r\n// -------------------------------------------------------------\r\n\r\nclass LoginForm extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.initializeBoundMethods();\r\n this.userInput = null;\r\n this.passwordInput = null;\r\n }\r\n\r\n initializeBoundMethods() {\r\n this.onFieldChange = () => {\r\n const filled = this.isFormFilled();\r\n const { onCanSubmit, onCantSubmit } = this.props;\r\n if (filled && onCanSubmit) {\r\n onCanSubmit();\r\n } else if (!filled && onCantSubmit) {\r\n onCantSubmit();\r\n }\r\n };\r\n\r\n this.onSubmit = (e) => {\r\n e.preventDefault();\r\n const username = this.userInput.value;\r\n const password = this.passwordInput.value;\r\n this.props.saveUsername(username);\r\n this.props.savePassword(password);\r\n this.props.onSubmit();\r\n };\r\n\r\n this.checkForAutofill = () => {\r\n if (!this.isFormFilled()) {\r\n let count = 0;\r\n const maxCount = 20;\r\n const interval = 100;\r\n\r\n const intervalId = setInterval(() => {\r\n if (count++ >= maxCount) {\r\n clearInterval(intervalId);\r\n }\r\n if (this.isFormFilled()) {\r\n clearInterval(intervalId);\r\n this.onFieldChange();\r\n }\r\n }, interval);\r\n } else {\r\n this.onFieldChange();\r\n }\r\n };\r\n\r\n this.handleForgottenPassword = () => {\r\n const { history, urlToken } = this.props;\r\n\r\n history.replace(`/forgot?${urlToken}`);\r\n };\r\n }\r\n\r\n componentDidUpdate(previousProps) {\r\n if (!!previousProps.showSpinner && !this.props.showSpinner) {\r\n this.passwordInput.focus();\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n {this.Branding}\r\n {this.Title}\r\n {this.Form}\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n get Branding() {\r\n const { classes } = this.props;\r\n\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n get Title() {\r\n return (\r\n \r\n {this.props.messages[loginTitleMessageId]}\r\n \r\n );\r\n }\r\n\r\n get Form() {\r\n return (\r\n
\r\n {this.UserInput}\r\n {this.PasswordInput}\r\n {this.ErrorPanel}\r\n {this.LoginButton}\r\n {this.InfoPanel}\r\n {this.ForgottenPassword}\r\n
\r\n );\r\n }\r\n\r\n get UserInput() {\r\n const name = \"username\";\r\n const label = this.props.messages[usernameMessageId];\r\n\r\n const inputRef = (input) => {\r\n this.userInput = input;\r\n };\r\n const inputProps = {\r\n ...this.BasicInputProps,\r\n name,\r\n inputRef,\r\n id: \"user-input\",\r\n };\r\n\r\n return this.getFormInput(name, label, );\r\n }\r\n\r\n get PasswordInput() {\r\n const name = \"password\";\r\n const label = this.props.messages[passwordMessageId];\r\n\r\n const type = \"password\";\r\n const inputRef = (input) => {\r\n this.passwordInput = input;\r\n };\r\n const inputProps = {\r\n ...this.BasicInputProps,\r\n name,\r\n type,\r\n inputRef,\r\n id: \"password-input\",\r\n };\r\n\r\n return this.getFormInput(name, label, );\r\n }\r\n\r\n get BasicInputProps() {\r\n const { classes } = this.props;\r\n\r\n return {\r\n autoComplete: \"on\",\r\n onChange: this.onFieldChange,\r\n disabled: !!this.props.disableInputs,\r\n className: this.props.classes.formInputText,\r\n classes: {\r\n input: classes.input,\r\n underline: classes.inputUnderline,\r\n },\r\n };\r\n }\r\n\r\n getFormInput(name, label, inputElement) {\r\n const { classes } = this.props;\r\n\r\n return (\r\n \r\n \r\n {label}\r\n \r\n {inputElement}\r\n \r\n );\r\n }\r\n\r\n get ErrorPanel() {\r\n const { classes, errorText } = this.props;\r\n if (!errorText) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {errorText}\r\n \r\n \r\n );\r\n }\r\n\r\n get LoginButton() {\r\n const props = {\r\n type: \"submit\",\r\n fullWidth: true,\r\n variant: \"contained\",\r\n color: \"primary\",\r\n className: this.props.classes.submit,\r\n classes: { disabled: this.props.classes.submitDisabled },\r\n disabled: !!this.props.disableSubmit || !!this.props.disableInputs,\r\n };\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n get InfoPanel() {\r\n return (\r\n \r\n
\r\n \r\n {this.props.messages[loginMessageId]}\r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n get ForgottenPassword() {\r\n const { messages, classes, canForgetPassword, showSpinner, orgId } = this.props;\r\n if (!canForgetPassword) return null;\r\n\r\n const label = messages[forgottenPasswordMessageId];\r\n const buttonProps = {\r\n variant: \"contained\",\r\n color: [33,38,39].indexOf(orgId)!==-1 ? \"#000\" : \"secondary\",\r\n className: this.props.classes.submit,\r\n // classes: { disabled: this.props.classes.submitDisabled },\r\n disabled: !!showSpinner,\r\n onClick: this.handleForgottenPassword,\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n isFormFilled() {\r\n const { userInput, passwordInput } = this;\r\n return (\r\n this.isFieldFilled(userInput) && this.isFieldFilled(passwordInput)\r\n );\r\n }\r\n\r\n isFieldFilled(inputElement) {\r\n if (inputElement.value !== \"\") {\r\n return true;\r\n }\r\n\r\n const computedStyle = window.getComputedStyle(inputElement);\r\n const autofilled = computedStyle.content.includes(\"filled\");\r\n return autofilled;\r\n }\r\n}\r\n\r\nLoginForm.propTypes = {\r\n disableInputs: PropTypes.bool,\r\n disableSubmit: PropTypes.bool,\r\n onCanSubmit: PropTypes.func,\r\n onCantSubmit: PropTypes.func,\r\n onSubmit: PropTypes.func,\r\n showSpinner: PropTypes.bool,\r\n errorText: PropTypes.string,\r\n logoUrl: PropTypes.string.isRequired,\r\n saveUsername: PropTypes.func.isRequired,\r\n savePassword: PropTypes.func.isRequired,\r\n classes: PropTypes.object.isRequired,\r\n messages: PropTypes.shape({\r\n [loginMessageId]: PropTypes.string.isRequired,\r\n [loginTitleMessageId]: PropTypes.string.isRequired,\r\n [usernameMessageId]: PropTypes.string.isRequired,\r\n [loginButtonMessageId]: PropTypes.string.isRequired,\r\n [passwordMessageId]: PropTypes.string.isRequired,\r\n }),\r\n};\r\n\r\n// LoginForm (connected to store)\r\n// -------------------------------------------------------------\r\n\r\nconst mapStoreToProps = (store) => {\r\n const sessionData = getSessionData(store);\r\n const clientSessionData = getClientSessionData(sessionData);\r\n const settingsData = getSettingsData(store);\r\n\tconst clientSettingsData = getClientSettingsData(settingsData); \r\n\r\n return {\r\n canForgetPassword: getEnableForgottenPassword(clientSettingsData),\r\n urlToken: getUrlToken(clientSessionData),\r\n errorText: getLoginError(getLoginData(store)),\r\n logoUrl: getLogoUrl(getClientSettingsData(getSettingsData(store))),\r\n orgId: getOrgId(clientSessionData)\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n saveUsername: (value) => dispatch(setUsername(value)),\r\n savePassword: (value) => dispatch(setPassword(value)),\r\n});\r\n\r\nLoginForm = connect(mapStoreToProps, mapDispatchToProps)(LoginForm);\r\nLoginForm = withStyles(styles)(LoginForm);\r\nLoginForm = withMessages(LoginForm);\r\nLoginForm = withRouter(LoginForm);\r\n\r\n// EXPORT\r\n// -------------------------------------------------------------\r\nexport { LoginForm };\r\n","\r\n// npm\r\nimport React from 'react'\r\n\r\n// react\r\nimport {AppPageContext} from './context'\r\n\r\n\r\nconst withAppPage = (Component) =>\r\n{\r\n\treturn (props) => {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{(appPage) => }\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n}\r\n\r\n\r\nexport {withAppPage}","\r\n// npm\r\nimport React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\n// xams-components\r\nimport {StateView, StateControl} from 'temp/xams.UI.Components/machine'\r\n\r\n// react\r\nimport {LoginForm} from './form'\r\n\r\n// machines\r\nimport {form} from 'machines/form'\r\n\r\n\r\nconst {EVENTS, STATES} = form;\r\n\r\n\r\nconst renderFormFromView = () =>\r\n{\r\n\treturn (\r\n\t\t\r\n\t\t\t{{\r\n\t\t\t\t[STATES.UNFILLED]: () => (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{(props) => }\r\n\t\t\t\t\t\r\n\t\t\t\t),\r\n\t\t\t\t[STATES.SUBMITTABLE]: () => (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{(props) => }\r\n\t\t\t\t\t\r\n\t\t\t\t),\r\n\t\t\t\t[STATES.SUBMITTING]: () => ( // Empty to avoid React tree teardown (see https://reactjs.org/docs/reconciliation.html )\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{(props) => }\r\n\t\t\t\t\t\r\n\t\t\t\t),\r\n\t\t\t\t[STATES.SUBMISSION_FAILED]: () => (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{(props) => }\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t}}\r\n\t\t\r\n\t)\r\n}\r\n\r\n\r\nexport {renderFormFromView}","\r\n// npm\r\nimport React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\n// xams-components\r\nimport {Callback} from '@xams-components-functional/callback'\r\nimport {StateMachine, StateView, StateControl} from 'temp/xams.UI.Components/machine'\r\n\r\n// react\r\nimport {renderOtherViews} from './other-view'\r\nimport {renderFormFromView} from './form-view'\r\n\r\n// machines\r\nimport {form} from 'machines/form'\r\n\r\n\r\nconst LoginFormMachine = ({onFinish}) =>\r\n{\r\n\treturn (\r\n\t\t\r\n\t\t\t{renderFormFromView()}\r\n\t\t\t{renderOtherViews(onFinish)}\r\n\t\t\r\n\t)\r\n}\r\n\r\nLoginFormMachine.propTypes = {\r\n\tonFinish: PropTypes.func.isRequired\r\n}\r\n\r\n\r\nexport {LoginFormMachine}","// other modules\nimport {api} from '../api'\nimport {ENDPOINTS} from '../constants'\n\n\nconst requestMessages = (iDs, orgID, userGUID, langID) =>\n{\n\tconst payload = {iDs, orgID, userGUID, langID};\n\treturn api.post(ENDPOINTS.MESSAGES, payload);\n}\n\n\nconst messagesApi = {requestMessages};\nexport {messagesApi}","\r\n// npm\r\nimport React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\n// utils\r\nimport {messagesApi} from 'libs/api/interface/api-messages'\r\n\r\n\r\nclass MessageFetcher extends React.Component\r\n{\r\n\tconstructor(props)\r\n\t{\r\n\t\tsuper(props);\r\n\r\n\t\tthis.onSuccess = (response) => {\r\n\t\t\tconst {messageIds, setMessage} = this.props;\r\n\t\t\tresponse = JSON.parse(response);\r\n\t\t\tresponse.forEach((value, index) => setMessage(messageIds[index], value));\r\n\t\t\tthis.props.onSuccess();\r\n\t\t}\r\n\t}\r\n\r\n\tcomponentDidMount()\r\n\t{\r\n\t\tconst {messageIds, orgId, userGuid, languageId} = this.props;\r\n\r\n\t\tmessagesApi.requestMessages(messageIds, orgId, userGuid, languageId)\r\n\t\t.then(this.onSuccess, this.props.onFail);\r\n\t}\r\n\r\n\trender() { return null; }\r\n}\r\n\r\nMessageFetcher.propTypes = {\r\n\tonFail: PropTypes.func.isRequired,\r\n\tonSuccess: PropTypes.func.isRequired,\r\n\r\n\tsetMessage: PropTypes.func.isRequired,\r\n\tmessageIds: PropTypes.arrayOf(PropTypes.string).isRequired,\r\n\r\n\torgId: PropTypes.number.isRequired,\r\n\tlanguageId: PropTypes.number,\r\n\tuserGuid: PropTypes.string\r\n}\r\n\r\n\r\nexport {MessageFetcher}","\r\n// npm\r\nimport {connect} from 'react-redux'\r\n\r\n// react\r\nimport {MessageFetcher} from '../fetcher'\r\n\r\n// redux (selectors)\r\nimport {getSessionData} from 'redux/reducers/selectors'\r\nimport {getClientSessionData} from 'redux/reducers/session/selectors'\r\nimport {getOrgId} from 'redux/reducers/session/client/selectors'\r\n\r\n// redux (actions)\r\nimport {setGeneralMessage} from '../actions'\r\n\r\n// constants\r\nimport {getGeneralMessageIds} from 'constants/message-ids'\r\n\r\n\r\nconst mapStoreToProps = (store) => ({\r\n\tmessageIds: getGeneralMessageIds(),\r\n\torgId: getOrgId(getClientSessionData(getSessionData(store)))\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n\tsetMessage: (id, value) => dispatch(setGeneralMessage(id, value))\r\n});\r\n\r\nconst GeneralMessageFetcher = connect(mapStoreToProps, mapDispatchToProps)(MessageFetcher);\r\n\r\n\r\n// Export\r\n// --------------------------------------------------------------------------\r\nexport {GeneralMessageFetcher}","\r\n// redux (action-types)\r\nimport {SET_MESSAGE as SET_GENERAL_MESSAGE} from 'redux/reducers/messages/general/action-types'\r\nimport {SET_MESSAGE as SET_SESSION_MESSAGE} from 'redux/reducers/messages/session/action-types'\r\n\r\n\r\nconst setGeneralMessage = (id, value) => ({type: SET_GENERAL_MESSAGE, id, value});\r\nconst setSessionMessage = (id, value) => ({type: SET_SESSION_MESSAGE, id, value});\r\n\r\n\r\nexport {setGeneralMessage, setSessionMessage}","\r\n// npm\r\nimport React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\n\r\nclass MessageChecker extends React.Component\r\n{\r\n\tcomponentDidMount()\r\n\t{\r\n\t\tconst loaded = this.props.messageIds.every(messageId => {\r\n\t\t\treturn this.props.getMessage(messageId) !== undefined\r\n\t\t});\r\n\r\n\t\tthis.props.onFinish(loaded);\r\n\t}\r\n\r\n\trender() { return null; }\r\n}\r\n\r\nMessageChecker.propTypes = {\r\n\tmessageIds: PropTypes.arrayOf(PropTypes.string).isRequired,\r\n\tgetMessage: PropTypes.func.isRequired,\r\n\tonFinish: PropTypes.func.isRequired\r\n}\r\n\r\n\r\nexport {MessageChecker}","\r\n// npm\r\nimport {connect} from 'react-redux'\r\n\r\n// react\r\nimport {MessageChecker} from '../checker'\r\n\r\n// redux (selectors)\r\nimport {getMessagesData} from 'redux/reducers/selectors'\r\nimport {getGeneralMessageData} from 'redux/reducers/messages/selectors'\r\nimport {getMessageById} from 'redux/reducers/messages/general/selectors'\r\n\r\n// constants\r\nimport {getGeneralMessageIds} from 'constants/message-ids'\r\n\r\n\r\nconst mapStoreToProps = (store) => ({\r\n\tmessageIds: getGeneralMessageIds(),\r\n\tgetMessage: getMessageById(getGeneralMessageData(getMessagesData(store)))\r\n});\r\n\r\nconst GeneralMessageChecker = connect(mapStoreToProps)(MessageChecker);\r\n\r\n\r\n// Export\r\n// ------------------------------------------------------\r\nexport {GeneralMessageChecker}","\r\n// npm\r\nimport {connect} from 'react-redux'\r\n\r\n// react\r\nimport {MessageFetcher} from '../fetcher'\r\n\r\n// redux (selectors)\r\nimport {getSessionData} from 'redux/reducers/selectors'\r\nimport {getOrgId} from 'redux/reducers/session/client/selectors'\r\nimport {getUserGuid, getLanguageId} from 'redux/reducers/session/user/selectors'\r\nimport {getClientSessionData, getUserSessionData} from 'redux/reducers/session/selectors'\r\n\r\n// redux (actions)\r\nimport {setSessionMessage} from '../actions'\r\n\r\n// constants\r\nimport {getSessionMessageIds} from 'constants/message-ids'\r\n\r\n\r\nconst mapStoreToProps = (store) =>\r\n{\r\n\tconst sessionData = getSessionData(store);\r\n\tconst userData = getUserSessionData(sessionData);\r\n\r\n\treturn {\r\n\t\tmessageIds: getSessionMessageIds(),\r\n\t\torgId: getOrgId(getClientSessionData(sessionData)),\r\n\t\tlanguageId: getLanguageId(userData),\r\n\t\tuserGuid: getUserGuid(userData)\r\n\t}\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n\tsetMessage: (id, value) => dispatch(setSessionMessage(id, value))\r\n});\r\n\r\nconst SessionMessageFetcher = connect(mapStoreToProps, mapDispatchToProps)(MessageFetcher);\r\n\r\n\r\n// Export\r\n// --------------------------------------------------------------------------\r\nexport {SessionMessageFetcher}","\r\n// npm\r\nimport {connect} from 'react-redux'\r\n\r\n// react\r\nimport {MessageChecker} from '../checker'\r\n\r\n// redux (selectors)\r\nimport {getMessagesData} from 'redux/reducers/selectors'\r\nimport {getSessionMessageData} from 'redux/reducers/messages/selectors'\r\nimport {getMessageById} from 'redux/reducers/messages/general/selectors'\r\n\r\n// constants\r\nimport {getSessionMessageIds} from 'constants/message-ids'\r\n\r\n\r\nconst mapStoreToProps = (store) => ({\r\n\tmessageIds: getSessionMessageIds(),\r\n\tgetMessage: getMessageById(getSessionMessageData(getMessagesData(store)))\r\n});\r\n\r\nconst SessionMessageChecker = connect(mapStoreToProps)(MessageChecker);\r\n\r\n\r\n// Export\r\n// ------------------------------------------------------\r\nexport {SessionMessageChecker}","\r\n// npm\r\nimport React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\n// react\r\nimport {GeneralMessageFetcher} from './general/fetcher'\r\nimport {GeneralMessageChecker} from './general/checker'\r\nimport {SessionMessageFetcher} from './session/fetcher'\r\nimport {SessionMessageChecker} from './session/checker'\r\n\r\n\r\nclass MessageLoader extends React.Component\r\n{\r\n\tconstructor(props)\r\n\t{\r\n\t\tsuper(props);\r\n\t\tthis.state = {alreadyLoaded: null};\r\n\r\n\t\tthis.updateLoadedState = (loaded) => {\r\n\t\t\tif (this.state.alreadyLoaded !== null) { throw \"[messageloader]\"; }\r\n\t\t\tthis.setState({alreadyLoaded: loaded});\r\n\t\t}\r\n\t}\r\n\r\n\tcomponentDidUpdate(previousProps, previousState)\r\n\t{\r\n\t\tif (this.state.alreadyLoaded) { this.props.onLoad(); }\r\n\t}\r\n\r\n\trender()\r\n\t{\r\n\t\tswitch (this.state.alreadyLoaded)\r\n\t\t{\r\n\t\t\tcase null:\r\n\t\t\t\treturn this.MessageChecker;\r\n\t\t\tcase false:\r\n\t\t\t\treturn this.MessageFetcher;\r\n\t\t\tdefault:\r\n\t\t\t\treturn null;\r\n\t\t}\r\n\t}\r\n\r\n\tget MessageChecker()\r\n\t{\r\n\t\treturn this.props.session ?\r\n\t\t\t :\r\n\t\t\t;\r\n\t}\r\n\r\n\tget MessageFetcher()\r\n\t{\r\n\t\tconst messageFetcherProps = {\r\n\t\t\tonSuccess: this.props.onLoad,\r\n\t\t\tonFail: this.props.onError\r\n\t\t}\r\n\r\n\t\treturn this.props.session ?\r\n\t\t\t :\r\n\t\t\t;\r\n\t}\r\n}\r\n\r\nMessageLoader.propTypes = {\r\n\tsession: PropTypes.bool,\r\n\tonLoad: PropTypes.func.isRequired,\r\n\tonError: PropTypes.func.isRequired\r\n}\r\n\r\n\r\nexport {MessageLoader}","\r\n// npm\r\nimport React from 'react'\r\n\r\n\r\nconst AppPageContext = React.createContext();\r\n\r\n\r\nexport {AppPageContext}","\r\n// npm\r\nimport React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\n// react\r\nimport {withAppPage} from 'components/contexts/app_page'\r\n\r\n\r\nclass AppPageModifier extends React.Component\r\n{\r\n\tcomponentDidMount()\r\n\t{\r\n\t\t// console.log(\"MOUNTING: \" + this.props.id);\r\n\r\n\t\tconst {appBarProps, loading, appPage} = this.props;\r\n\t\tif (appBarProps) { appPage.pushAppBarState(appBarProps); }\r\n\t\tappPage.pushLoadingState(loading || false);\r\n\t}\r\n\r\n\tcomponentWillUnmount()\r\n\t{\r\n\t\t// console.log(\"UNMOUNTING: \" + this.props.id);\r\n\r\n\t\tconst {appBarProps, loading, appPage} = this.props;\r\n\t\tif (appBarProps) { appPage.revokeAppBarState(); }\r\n\t\tappPage.revokeLoadingState();\r\n\t}\r\n\r\n\trender() { return null; }\r\n}\r\n\r\nAppPageModifier.propTypes = {\r\n\tappBarProps: PropTypes.object,\r\n\tloading: PropTypes.bool,\r\n\tappPage: PropTypes.shape({\r\n\t\tpushAppBarState: PropTypes.func.isRequired,\r\n\t\tpushLoadingState: PropTypes.func.isRequired,\r\n\t\trevokeAppBarState: PropTypes.func.isRequired,\r\n\t\trevokeLoadingState: PropTypes.func.isRequired\r\n\t})\r\n}\r\n\r\n\r\nAppPageModifier = withAppPage(AppPageModifier);\r\n\r\n\r\nexport {AppPageModifier}","\r\nimport {Machine} from 'xstate'\r\nimport {XStateConfig} from './xstate-config'\r\n\r\n\r\n// #########################################\r\n// STATE & EVENT NAMES\r\n// #########################################\r\n\r\nconst STATES = {\r\n\tCHECKING_SET_PASSWORD: 'checking_set_password',\r\n\tSET_PASSWORD: 'set_password',\r\n\tLOGIN_SET_PASSWORD: 'login_set_password',\r\n\tSHOWING_FORM: 'initializing_client',\r\n\tCHECKING_ADMIN_REDIRECT: 'checking_admin_redirect',\r\n\tADMIN_REDIRECT_URL: 'admin_redirect_url',\r\n\tADMIN_REDIRECT_IFRAME: 'admin_redirect_iframe',\r\n\tINITIALIZING_SESSION_MESSAGES: 'initializing_messages',\r\n\tMAINTAINING_ACTIVITY_LOG: 'maintain_activity_log',\r\n\t// UPLOADING_OFFLINE_FILES: 'uploading_offline_files',\t\r\n\tREDIRECTING_TO_RUBRIC: 'preloading_logos',\r\n\tNETWORK_ERROR: 'network_error'\r\n}\r\n\r\nconst EVENTS = {\r\n\tERROR: 'error',\r\n\tAUTHENTICATED: 'authenticated',\r\n\tPASSWORD_AUTHENTICATED: 'password.authenticated',\r\n\tNEED_TO_SET_PASSWORD: 'need.to.set.password',\r\n\tNO_NEED_TO_SET_PASSWORD: 'no.need.to.set.password',\r\n\tPASSWORD_SET: 'password.set',\r\n\tNOT_ADMIN: 'not.admin',\r\n\tREDIRECTING_ADMIN_URL: 'redirecting.admin.url',\r\n\tREDIRECTING_ADMIN_IFRAME: 'redirecting.admin.iframe',\r\n\tMESSAGES_INITIALIZED: 'messages.initialized',\r\n\t// OFFLINE_FILES_UPLOADED: 'offline_files_uploaded',\r\n\tACTIVITY_LOG_MAINTAINED: 'activity_log_maintained'\t\r\n}\r\n\r\n\r\n// #########################################\r\n// LOGIN STATES\r\n// #########################################\r\n\r\nconst checkingSetPasswordToken = new XStateConfig();\r\ncheckingSetPasswordToken.addTransition(EVENTS.NEED_TO_SET_PASSWORD, STATES.SET_PASSWORD);\r\ncheckingSetPasswordToken.addTransition(EVENTS.NO_NEED_TO_SET_PASSWORD, STATES.SHOWING_FORM);\r\n\r\nconst setPassword = new XStateConfig();\r\nsetPassword.addTransition(EVENTS.PASSWORD_SET, STATES.LOGIN_SET_PASSWORD);\r\nsetPassword.addTransition(EVENTS.NO_NEED_TO_SET_PASSWORD, STATES.SHOWING_FORM);\r\n\r\nconst loginSetPassword = new XStateConfig();\r\nloginSetPassword.addTransition(EVENTS.AUTHENTICATED, STATES.CHECKING_ADMIN_REDIRECT);\r\nloginSetPassword.addTransition(EVENTS.NEED_TO_SET_PASSWORD, STATES.SET_PASSWORD);\r\n\r\nconst showingForm = new XStateConfig();\r\nshowingForm.addTransition(EVENTS.AUTHENTICATED, STATES.CHECKING_ADMIN_REDIRECT);\r\n\r\nconst checkingAdminRedirect = new XStateConfig();\r\ncheckingAdminRedirect.addTransition(EVENTS.NOT_ADMIN, STATES.INITIALIZING_SESSION_MESSAGES);\r\ncheckingAdminRedirect.addTransition(EVENTS.REDIRECTING_ADMIN_URL, STATES.ADMIN_REDIRECT_URL);\r\ncheckingAdminRedirect.addTransition(EVENTS.REDIRECTING_ADMIN_IFRAME, STATES.ADMIN_REDIRECT_IFRAME);\r\n\r\nconst adminRedirectUrl = new XStateConfig();\r\nconst adminRedirectIframe = new XStateConfig();\r\n\r\nconst initializingSessionMessages = new XStateConfig();\r\ninitializingSessionMessages.addTransition(EVENTS.MESSAGES_INITIALIZED, STATES.MAINTAINING_ACTIVITY_LOG);\r\ninitializingSessionMessages.addTransition(EVENTS.ERROR, STATES.NETWORK_ERROR);\r\n\r\nconst maintainingActivityLog = new XStateConfig();\r\nmaintainingActivityLog.addTransition(EVENTS.ACTIVITY_LOG_MAINTAINED, STATES.REDIRECTING_TO_RUBRIC);\r\n\r\n// const uploadingOfflineFiles = new XStateConfig();\r\n// uploadingOfflineFiles.addTransition(EVENTS.OFFLINE_FILES_UPLOADED, STATES.REDIRECTING_TO_RUBRIC);\r\n\r\nconst redirectingToRubric = new XStateConfig();\r\nconst networkError = new XStateConfig();\r\n\r\n\r\n// #########################################\r\n// LOGIN MACHINE\r\n// #########################################\r\n\r\nconst _login = new XStateConfig();\r\n_login.initialState = STATES.CHECKING_SET_PASSWORD;\r\n_login.addState(STATES.CHECKING_SET_PASSWORD, checkingSetPasswordToken);\r\n_login.addState(STATES.SET_PASSWORD, setPassword);\r\n_login.addState(STATES.LOGIN_SET_PASSWORD, loginSetPassword);\r\n_login.addState(STATES.SHOWING_FORM, showingForm);\r\n_login.addState(STATES.CHECKING_ADMIN_REDIRECT, checkingAdminRedirect);\r\n_login.addState(STATES.ADMIN_REDIRECT_URL, adminRedirectUrl);\r\n_login.addState(STATES.ADMIN_REDIRECT_IFRAME, adminRedirectIframe);\r\n_login.addState(STATES.INITIALIZING_SESSION_MESSAGES, initializingSessionMessages);\r\n_login.addState(STATES.MAINTAINING_ACTIVITY_LOG, maintainingActivityLog);\r\n// _login.addState(STATES.UPLOADING_OFFLINE_FILES, uploadingOfflineFiles);\r\n_login.addState(STATES.REDIRECTING_TO_RUBRIC, redirectingToRubric);\r\n_login.addState(STATES.NETWORK_ERROR, networkError);\r\n\r\nconst machine = Machine(_login.toObject());\r\nmachine.id = \"Login Machine\";\r\n\r\n\r\n// #########################################\r\n// EXPORT\r\n// #########################################\r\n\r\nconst login = {\r\n\tmachine,\r\n\tEVENTS: {...EVENTS},\r\n\tSTATES: {...STATES}\r\n}\r\n\r\nexport {login}","\r\n// npm\r\nimport React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\n// react\r\nimport {MessageLoader} from 'components/functional/message_loader/loader'\r\nimport {AppPageModifier} from 'components/pages/app-page-modifier'\r\n\r\n// machines\r\nimport {login} from 'machines/login'\r\n\r\n\r\nconst InitializingSessionMessagesPage = (props) => \r\n{\r\n\tconst appBarProps = {\r\n\t\ttitle: \"Initializing session messages\",\r\n\t\tloadingTitle: true\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n\r\nInitializingSessionMessagesPage.propTypes = {\r\n\tonLoad: PropTypes.func.isRequired,\r\n\tonError: PropTypes.func.isRequired\r\n}\r\n\r\n\r\nexport {InitializingSessionMessagesPage}","import React, { Component } from 'react';\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport { AppPageModifier } from \"components/pages/app-page-modifier\";\r\nimport { LoadingSpinner } from \"components/presentation/loading-spinner\";\r\n\r\nimport { activityLogger } from \"libs/activity_logger/activity-logger\";\r\n\r\n\r\nclass MaintainingActivityLogPage extends Component {\r\n componentDidMount() {\r\n const { onComplete } = this.props;\r\n\r\n activityLogger.maintain().then(() => {\r\n onComplete();\r\n });\r\n }\r\n\r\n render() {\r\n const appBarProps = {\r\n title: \"Maintaining Activity Log\",\r\n loadingTitle: true,\r\n logo: true\r\n };\r\n\r\n return (\r\n \r\n \r\n ;\r\n \r\n );\r\n }\r\n}\r\n\r\nMaintainingActivityLogPage.propTypes = {\r\n onComplete: PropTypes.func.isRequired\r\n};\r\n\r\nexport { MaintainingActivityLogPage };\r\n","import React, { Component } from 'react';\r\nimport PropTypes from \"prop-types\";\r\nimport { check } from \"@xams-utils/check-types\";\r\n\r\nimport {authenticationApi} from 'libs/api/interface/api-authentication'\r\n\r\nimport {sessionStorageApi, KEYS} from 'libs/browser_storage/session-storage-api'\r\n\r\nimport { AppPageModifier } from \"components/pages/app-page-modifier\";\r\nimport { LoadingSpinner } from \"components/presentation/loading-spinner\";\r\n\r\nimport {getSetPasswordToken} from '../form/login_token'\r\n\r\nconst checkIfNeedToSetPassword=(parsedResponse)=>{\r\n if (!parsedResponse) return false;\r\n\r\n const {resultCode} = parsedResponse;\r\n if (!check.assigned(resultCode) || resultCode === 3) return false;\r\n\r\n return true;\r\n // return parsedResponse && parsedResponse.passwordRequired;\r\n}\r\n\r\nclass CheckingSetPasswordToken extends Component {\r\n componentDidMount() {\r\n const { onNeedToSetPassword, onNoNeedToSetPassword } = this.props;\r\n\r\n const saveOffUserDetails=(parsedResponse)=>{\r\n const {userFirstName, userLastName, logonID} = parsedResponse;\r\n sessionStorageApi.saveDataTo(KEYS.STUDENT_LOGIN_DETAILS, {\r\n id: logonID,\r\n first: userFirstName,\r\n last: userLastName,\r\n });\r\n }\r\n\r\n const onSuccess=(response)=>{\r\n const parsedResponse = JSON.parse(response);\r\n const needToSetPassword=checkIfNeedToSetPassword(parsedResponse);\r\n\r\n if (needToSetPassword){\r\n saveOffUserDetails(parsedResponse);\r\n onNeedToSetPassword();\r\n }\r\n else{\r\n onNoNeedToSetPassword();\r\n }\r\n }\r\n\r\n const onFailed=(response)=>{\r\n debugger;\r\n onNoNeedToSetPassword();\r\n }\r\n\r\n const loginToken = getSetPasswordToken();\r\n\r\n if (loginToken){ \r\n authenticationApi.checkSetPasswordToken(loginToken)\r\n .then(onSuccess, onFailed); \r\n }\r\n else onNoNeedToSetPassword();\r\n }\r\n\r\n saveOffUserDetails(){\r\n\r\n }\r\n\r\n render() {\r\n const appBarProps = {\r\n title: \"Checking login token\",\r\n loadingTitle: true,\r\n };\r\n\r\n return (\r\n \r\n \r\n ;\r\n \r\n );\r\n }\r\n}\r\n\r\n// http://localhost:3000/user/N6pF0Z4avdFAr70sJJqOLcfySd96reQtLoA37rJOqRrLU51qw0Vp3_3vywZmdvYT?tQ8!HOSJCiTrDg1V5ZQF5IPCEmaF45dhOOyNXa7o9DyBQa5cA4bP8oSRIrvO0Epg\r\n\r\n// http://localhost:3000/user/\r\n// N6pF0Z4avdFAr70sJJqOLcfySd96reQtLoA37rJOqRrLU51qw0Vp3_3vywZmdvYT\r\n// ?tQ8!HOSJCiTrDg1V5ZQF5IPCEmaF45dhOOyNXa7o9DyBQa5cA4bP8oSRIrvO0Epg\r\n\r\n\r\n\r\n// http://localhost:3000/user/\r\n// N6pF0Z4avdFAr70sJJqOLcfySd96reQtLoA37rJOqRrLU51qw0Vp3_3vywZmdvYT\r\n// ?kYICLOo4wgNFH4JY2XTxM!a!Jh!pvosqGhV85ibB_M7bAglttttD_D0s5xjqvKR!\r\n\r\n// http://localhost:3000/user/N6pF0Z4avdFAr70sJJqOLcfySd96reQtLoA37rJOqRrLU51qw0Vp3_3vywZmdvYT?kYICLOo4wgNFH4JY2XTxM!a!Jh!pvosqGhV85ibB_M7bAglttttD_D0s5xjqvKR!\r\n\r\n\r\n\r\nCheckingSetPasswordToken.propTypes = {\r\n onNeedToSetPassword: PropTypes.func.isRequired,\r\n onNoNeedToSetPassword: PropTypes.func.isRequired\r\n};\r\n\r\nexport { CheckingSetPasswordToken };\r\n","// npm\r\nimport React, { Component } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\n\r\n//material-ui\r\nimport { styles } from \"../form/form-styles\";\r\nimport Fade from \"@material-ui/core/Fade\";\r\nimport Input from \"@material-ui/core/Input\";\r\nimport Card from \"@material-ui/core/Card\";\r\nimport CardHeader from \"@material-ui/core/CardHeader\";\r\nimport CardContent from \"@material-ui/core/CardContent\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport Hidden from \"@material-ui/core/Hidden\";\r\nimport InputLabel from \"@material-ui/core/InputLabel\";\r\nimport FormControl from \"@material-ui/core/FormControl\";\r\nimport withStyles from \"@material-ui/core/styles/withStyles\";\r\nimport WarningIcon from \"@material-ui/icons/Warning\";\r\nimport InputAdornment from \"@material-ui/core/InputAdornment\";\r\nimport VisibilityIcon from \"@material-ui/icons/Visibility\";\r\nimport VisibilityOffIcon from \"@material-ui/icons/VisibilityOff\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\n\r\n// redux\r\nimport { getLoginData } from \"redux/reducers/selectors\";\r\nimport { getLoginError } from \"redux/reducers/login/selectors\";\r\nimport { getSettingsData } from \"redux/reducers/selectors\";\r\nimport { getClientSettingsData } from \"redux/reducers/settings/selectors\";\r\nimport { getLogoUrl } from \"redux/reducers/settings/client/selectors\";\r\nimport * as ACTIONS from \"../form/actions\";\r\n\r\n// react\r\nimport { Image } from \"components/presentation/image\";\r\nimport { withMessages } from \"components/hocs/messages\";\r\nimport { MaterialText } from \"components/presentation/material-text\";\r\nimport { LoadingSpinner } from \"components/presentation/loading-spinner\";\r\n\r\nimport { authenticationApi } from \"libs/api/interface/api-authentication\";\r\n\r\n// constants\r\nimport { MESSAGE_IDS } from \"constants/message-ids\";\r\n\r\nimport {\r\n getSetPasswordToken,\r\n getSetPasswordUserDetails,\r\n} from \"../form/login_token\";\r\nimport { check } from \"@xams-utils/check-types\";\r\n\r\nconst loginMessageId = MESSAGE_IDS.SET_PASSWORD.MESSAGE;\r\nconst loginTitleMessageId = MESSAGE_IDS.SET_PASSWORD.TITLE;\r\nconst usernameMessageId = MESSAGE_IDS.LOGIN.USERNAME;\r\nconst loginButtonMessageId = MESSAGE_IDS.SET_PASSWORD.BUTTON;\r\nconst passwordMessageId = MESSAGE_IDS.GENERAL.PASSWORD;\r\nconst retypePasswordMessageId = MESSAGE_IDS.SET_PASSWORD.RETYPE;\r\nconst noMatchMessageId = MESSAGE_IDS.SET_PASSWORD.NO_MATCH;\r\nconst invalidPasswordMessageId = MESSAGE_IDS.SET_PASSWORD.INVALID_PASSWORD;\r\n\r\n\r\nconst RESULT_CODE = {\r\n SUCCESS: 0,\r\n NO_EMAIL: 1,\r\n INVALID_LOGON_ID: 2,\r\n INVALID_TOKEN: 3,\r\n};\r\n\r\nconst hasPasswordBeenSet=(response)=>{\r\n if (!response) return false;\r\n\r\n const result = parseInt(response);\r\n if (isNaN(result)) return false;\r\n\r\n return result === RESULT_CODE.SUCCESS;\r\n\r\n}\r\n\r\nclass SetPassword extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.initializeBoundMethods();\r\n\r\n this.userInput = null;\r\n this.passwordInput = null;\r\n this.retypePasswordInput = null;\r\n\r\n this.state = {\r\n submitting: false,\r\n showSpinner: false,\r\n disableSubmit: true,\r\n disableInputs: false,\r\n };\r\n }\r\n\r\n initializeBoundMethods() {\r\n this.onFieldChange = () => {\r\n const {submitting} = this.state;\r\n if (!submitting){\r\n const filled = this.isFormFilled(); \r\n this.setState({disableSubmit: !filled})\r\n }\r\n };\r\n\r\n this.onSubmit = (e) => {\r\n e.preventDefault();\r\n\r\n const password = this.passwordInput.value;\r\n const retypePassword = this.retypePasswordInput.value;\r\n\r\n if (password !== retypePassword) {\r\n const { setLoginError } = this.props;\r\n const errorText = this.props.messages[noMatchMessageId];\r\n\r\n setLoginError(errorText);\r\n this.passwordInput.focus();\r\n } else {\r\n this.submitPassword(password);\r\n }\r\n };\r\n\r\n this.submitPassword=()=>{\r\n const setPasswordFailed = (response) => {\r\n debugger;\r\n };\r\n const password = this.passwordInput.value;\r\n this.setState(\r\n {\r\n submitting: true,\r\n showSpinner: true,\r\n disableSubmit: true,\r\n disableInputs: true,\r\n },\r\n () => {\r\n const loginToken = getSetPasswordToken();\r\n const payload = { password, token: loginToken };\r\n\r\n authenticationApi\r\n .resetPassword(payload)\r\n .then(this.setPasswordSuccess, setPasswordFailed);\r\n }\r\n ); \r\n }\r\n\r\n this.setPasswordSuccess = (result) => {\r\n if (hasPasswordBeenSet(result)){\r\n const {\r\n saveUsername,\r\n savePassword,\r\n onPasswordSet,\r\n clearLoginError,\r\n } = this.props;\r\n const { id: username } = getSetPasswordUserDetails();\r\n const newPassword = this.passwordInput.value;\r\n\r\n clearLoginError();\r\n saveUsername(username);\r\n savePassword(newPassword);\r\n\r\n onPasswordSet();\r\n } else {\r\n const { setLoginError } = this.props;\r\n const errorText = this.props.messages[invalidPasswordMessageId];\r\n setLoginError(errorText);\r\n \r\n this.setState({\r\n submitting: false,\r\n showSpinner: false,\r\n disableSubmit: false,\r\n disableInputs: false,\r\n });\r\n }\r\n };\r\n\r\n this.checkForAutofill = () => {\r\n if (!this.isFormFilled()) {\r\n let count = 0;\r\n const maxCount = 20;\r\n const interval = 100;\r\n\r\n const intervalId = setInterval(() => {\r\n if (count++ >= maxCount) {\r\n clearInterval(intervalId);\r\n }\r\n if (this.isFormFilled()) {\r\n clearInterval(intervalId);\r\n this.onFieldChange();\r\n }\r\n }, interval);\r\n } else {\r\n this.onFieldChange();\r\n }\r\n };\r\n\r\n this.handleShowPassword = () => {\r\n const { showPassword } = this.state;\r\n const _showPassword = !showPassword;\r\n this.setState({ showPassword: _showPassword });\r\n };\r\n }\r\n\r\n componentDidUpdate(previousProps, prevState) {\r\n if (!!prevState.showSpinner && !this.state.showSpinner) {\r\n this.passwordInput.focus();\r\n }\r\n }\r\n\r\n render() {\r\n const { showSpinner } = this.state;\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n {this.Branding}\r\n {this.Title}\r\n {this.Form}\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n get Branding() {\r\n const { classes } = this.props;\r\n\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n get Title() {\r\n return (\r\n \r\n {this.props.messages[loginTitleMessageId]}\r\n \r\n );\r\n }\r\n\r\n get Form() {\r\n return (\r\n \r\n {this.UserInput}\r\n {this.PasswordInput}\r\n {this.ErrorPanel}\r\n {this.LoginButton}\r\n {this.InfoPanel}\r\n \r\n );\r\n }\r\n\r\n get UserInput() {\r\n const name = \"existing-username\";\r\n const label = this.props.messages[usernameMessageId];\r\n const { id } = getSetPasswordUserDetails();\r\n\r\n const inputRef = (input) => {\r\n this.userInput = input;\r\n };\r\n const inputProps = {\r\n ...this.BasicInputProps,\r\n name,\r\n inputRef,\r\n id: \"exisiting-user-input\",\r\n readOnly: true,\r\n value: id,\r\n };\r\n\r\n return this.getFormInput(name, label, false, );\r\n }\r\n\r\n get PasswordInput() {\r\n return (\r\n \r\n {this.InitialPasswordInput}\r\n {this.RetypePasswordInput}\r\n \r\n );\r\n }\r\n\r\n get InitialPasswordInput() {\r\n const { showPassword } = this.state;\r\n const name = \"initialPassword\";\r\n const label = this.props.messages[passwordMessageId];\r\n\r\n const type = showPassword ? null : \"password\";\r\n const inputRef = (input) => {\r\n this.passwordInput = input;\r\n };\r\n const inputProps = {\r\n ...this.BasicInputProps,\r\n name,\r\n type,\r\n required: true,\r\n inputRef,\r\n id: \"initial-password-input\",\r\n endAdornment: (\r\n \r\n \r\n {showPassword ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n ),\r\n };\r\n\r\n return this.getFormInput(name, label, true, );\r\n }\r\n\r\n get RetypePasswordInput() {\r\n const { showPassword } = this.state;\r\n const name = \"retypePassword\";\r\n const label = this.props.messages[retypePasswordMessageId];\r\n\r\n const type = showPassword ? null : \"password\";\r\n const inputRef = (input) => {\r\n this.retypePasswordInput = input;\r\n };\r\n\r\n const inputProps = {\r\n ...this.BasicInputProps,\r\n name,\r\n type,\r\n inputRef,\r\n id: \"retype-password-input\",\r\n };\r\n\r\n return this.getFormInput(name, label, true, );\r\n }\r\n\r\n get BasicInputProps() {\r\n const { classes } = this.props;\r\n const { disableInputs } = this.state;\r\n\r\n return {\r\n autoComplete: \"off\",\r\n onChange: this.onFieldChange,\r\n disabled: !!disableInputs,\r\n className: this.props.classes.formInputText,\r\n classes: {\r\n input: classes.input,\r\n underline: classes.inputUnderline,\r\n },\r\n };\r\n }\r\n\r\n getFormInput(name, label, required = false, inputElement) {\r\n const { classes } = this.props;\r\n\r\n return (\r\n \r\n \r\n {label}\r\n \r\n {inputElement}\r\n \r\n );\r\n }\r\n\r\n get ErrorPanel() {\r\n const { classes, errorText } = this.props;\r\n\r\n if (!errorText) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {errorText}\r\n \r\n \r\n );\r\n }\r\n\r\n get LoginButton() {\r\n const { disableSubmit, disableInputs } = this.state;\r\n const props = {\r\n type: \"submit\",\r\n fullWidth: true,\r\n variant: \"contained\",\r\n color: \"primary\",\r\n className: this.props.classes.submit,\r\n classes: { disabled: this.props.classes.submitDisabled },\r\n disabled: !!disableSubmit || !!disableInputs,\r\n };\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n get InfoPanel() {\r\n const { first } = getSetPasswordUserDetails();\r\n const message = this.props.messages[loginMessageId].replace(\"~\", first);\r\n return (\r\n \r\n
\r\n \r\n {message}\r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n isFormFilled() {\r\n const { passwordInput, retypePasswordInput } = this;\r\n\r\n return (\r\n this.isFieldFilled(passwordInput) &&\r\n this.isFieldFilled(retypePasswordInput)\r\n );\r\n }\r\n\r\n isFieldFilled(inputElement) {\r\n if (inputElement.value !== \"\") {\r\n return true;\r\n }\r\n\r\n const computedStyle = window.getComputedStyle(inputElement);\r\n const autofilled = computedStyle.content.includes(\"filled\");\r\n return autofilled;\r\n }\r\n}\r\n\r\nconst mapStoreToProps = (store) => ({\r\n errorText: getLoginError(getLoginData(store)),\r\n logoUrl: getLogoUrl(getClientSettingsData(getSettingsData(store))),\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n saveUsername: (value) => dispatch(ACTIONS.setUsername(value)),\r\n savePassword: (value) => dispatch(ACTIONS.setPassword(value)),\r\n setLoginError: (msg) => {\r\n dispatch(ACTIONS.setLoginError(msg));\r\n },\r\n clearLoginError: () => {\r\n dispatch(ACTIONS.clearLoginError());\r\n },\r\n});\r\n\r\nSetPassword = connect(mapStoreToProps, mapDispatchToProps)(SetPassword);\r\nSetPassword = withStyles(styles)(SetPassword);\r\nSetPassword = withMessages(SetPassword);\r\n\r\nexport { SetPassword };\r\n","import React from \"react\";\r\n\r\nimport { AppPageModifier } from \"components/pages/app-page-modifier\";\r\n\r\nimport { withMessages } from \"components/hocs/messages\";\r\nimport { MESSAGE_IDS } from \"constants/message-ids\";\r\n\r\nimport { SetPassword } from \"./set-password\";\r\n\r\nlet SetPasswordPage = (props) => {\r\n const title = props.messages[MESSAGE_IDS.SET_PASSWORD.APP_BAR_TITLE];\r\n const {onPasswordSet} = props;\r\n const setPasswordProps={onPasswordSet};\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nSetPasswordPage = withMessages(SetPasswordPage);\r\n\r\nexport { SetPasswordPage };\r\n","const CONSTANTS = {\r\n SET: \"set\",\r\n RESET: \"resit\",\r\n INFORMATION: 'info',\r\n SUBMITTING: 'submitting',\r\n SUCCESS: \"success\",\r\n FAILED: \"failed\",\r\n RESULT_CODE : {\r\n SUCCESS: 0,\r\n NO_EMAIL: 1,\r\n INVALID_LOGON_ID: 2,\r\n INVALID_TOKEN: 3,\r\n }\r\n};\r\n\r\nexport {CONSTANTS}","// other modules\r\nimport {api} from '../api'\r\nimport {ENDPOINTS} from '../constants'\r\n\r\n\r\nconst forgotPassword = (data) =>\r\n{\r\n\treturn api.post(ENDPOINTS.PASSWORD.FORGOT, data);\r\n}\r\n\r\nconst resetPassword = (data) =>\r\n{\r\n\treturn api.post(ENDPOINTS.PASSWORD.RESET, data);\r\n}\r\n\r\nconst getLoginToken = (data) =>\r\n{\r\n\treturn api.get(ENDPOINTS.PASSWORD.GET_LOGIN_DATA, data);\t\r\n}\r\n\r\nconst passwordApi = {\r\n\tforgotPassword,\r\n\tresetPassword,\r\n\tgetLoginToken\r\n};\r\n\r\nexport {passwordApi}","import React from \"react\";\r\n\r\nimport withStyles from \"@material-ui/core/styles/withStyles\";\r\nimport DoneIcon from \"@material-ui/icons/Done\";\r\nimport ClearIcon from \"@material-ui/icons/Clear\";\r\nimport List from \"@material-ui/core/List\";\r\nimport ListItem from \"@material-ui/core/ListItem\";\r\nimport ListItemText from \"@material-ui/core/ListItemText\";\r\nimport ListItemAvatar from \"@material-ui/core/ListItemAvatar\";\r\nimport Avatar from \"@material-ui/core/Avatar\";\r\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\r\nimport { MaterialText } from \"components/presentation/material-text\";\r\n\r\nimport { CONSTANTS } from \"../reset_password/constants\";\r\nimport { Hidden } from \"@material-ui/core\";\r\n\r\nconst styles = ({ palette }) => ({\r\n root: {\r\n // alignItems: \"flex-start\",\r\n },\r\n listItem: {\r\n paddingLeft: 0,\r\n // alignItems: 'flex-start'\r\n },\r\n listItemText: {\r\n // minHeight: 48\r\n },\r\n avatar: {\r\n background: palette.primary.main,\r\n },\r\n progress: {\r\n color: palette.common.white,\r\n },\r\n});\r\n\r\nconst getIcon = (status, classes) => {\r\n if (status === CONSTANTS.SUCCESS) return ;\r\n else if (status === CONSTANTS.FAILED) return ;\r\n else if (status === CONSTANTS.SUBMITTING)\r\n return ;\r\n\r\n return \"i\";\r\n};\r\n\r\nlet ForgotPasswordInfo = (props) => {\r\n const { message, status, classes } = props;\r\n const icon = getIcon(status, classes);\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {icon}\r\n \r\n \r\n \r\n {message}\r\n \r\n }\r\n />\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nForgotPasswordInfo = withStyles(styles)(ForgotPasswordInfo);\r\n\r\nexport { ForgotPasswordInfo };\r\n","\r\nconst styles = ({spacing, breakpoints, palette}) =>\r\n{\r\n\treturn {\r\n\t\tlayout: {\r\n\t\t width: 'auto',\r\n\t\t display: 'block', // Fix IE11 issue.\r\n\t\t marginLeft: spacing.unit * 2,\r\n\t\t marginRight: spacing.unit * 2,\r\n\t\t marginBottom: spacing.unit * 2,\r\n\t\t [breakpoints.up(600 + spacing.unit * 3 * 2)]: {\r\n\t\t\t\twidth: 600,\r\n\t\t\t\tmarginLeft: 'auto',\r\n\t\t\t\tmarginRight: 'auto',\r\n\t\t\t\toverflowY: 'hidden',\r\n\t\t\t},\r\n\t\t},\r\n\t\tcard: {\r\n\t\t\tposition: 'relative',\r\n\t\t marginTop: spacing.unit * 2,\r\n\t\t\tbackgroundColor: palette.background.light,\r\n\t\t\tpadding: `${spacing.unit * 2}px ${spacing.unit * 3}px ${spacing.unit * 3}px`\r\n\t\t},\r\n\t\tcardContent: {\r\n\t\t display: 'flex',\r\n\t\t flexDirection: 'column',\r\n\t\t},\r\n\t\tpaperContent: {\r\n\t\t display: 'flex',\r\n\t\t flexDirection: 'column',\r\n\t\t alignItems: 'center'\r\n\t\t},\r\n\t\tform: {\r\n\t\t width: '100%', // Fix IE11 issue.\r\n\t\t marginTop: spacing.unit,\r\n\t\t},\r\n\t\tformText: {\r\n\t\t\tcolor: palette.background.contrastText\r\n\t\t},\r\n\t\tformInputText: {\r\n\t\t\tcolor: palette.background.contrastText + \"!important\"\r\n\t\t},\r\n\t\tsubmit: {\r\n\t\t\tmarginTop: spacing.unit * 3,\r\n\t\t},\r\n\t\tsubmitDisabled: {\r\n\t\t\tbackgroundColor: palette.background.light + \"!important\",\r\n\t\t\tcolor: palette.background.contrastText + \"!important\"\r\n\t\t},\r\n\t\tloginInfo: {\r\n\t\t\tmarginTop: spacing.unit * 3,\r\n\t\t},\r\n\t\terrorContainer: {\r\n\t\t\theight: spacing.unit * 2,\r\n\t\t\tpadding: spacing.unit / 2,\r\n\t\t\tdisplay: 'flex',\r\n\t\t\talignItems: 'center'\r\n\t\t},\r\n\t\terror: {\r\n\t\t\tcolor: palette.error.main\r\n\t\t},\r\n\t\terrorIcon: {\r\n\t\t\tmarginRight: spacing.unit\r\n\t\t},\r\n\t\tlogoBox: {\r\n\t\t\tmarginTop: 4,\r\n\t\t\tmarginBottom: spacing.unit * 3,\r\n\t\t\toverflow: 'hide'\r\n\t\t},\r\n\t\tlogo: {\r\n\t\t\tmaxWidth: '100%'\r\n\t\t},\r\n\t\tinput: {\r\n\t\t\t'&:-webkit-autofill': {\r\n\t\t\t\tcontent: '\"filled\"'\r\n\t\t\t}\r\n\t\t},\r\n\t\tinputUnderline: {\r\n\t\t\t'&:before': {\r\n\t\t\t\tborderBottom: `1px solid ${palette.background.contrastText} !important`\r\n\t\t\t}\r\n\t\t},\r\n buttons:{\r\n width: '100%',\r\n paddingTop: spacing.unit*2,\r\n\t\t\tdisplay:'flex',\r\n\t\t\t[breakpoints.up(\"sm\")]: {\r\n\t\t\t\tjustifyContent: 'space-between',\r\n\t\t\t},\r\n\t\t\t[breakpoints.down(\"xs\")]: {\r\n\t\t\t\tflexDirection: 'column-reverse',\r\n\t\t\t\tjustifyContent: 'flex-end',\r\n\t\t\t\t'&>div':{\r\n\t\t\t\t\tdisplay:'flex',\r\n\t\t\t\t\tjustifyContent: 'flex-end',\t\t\t\t\t\r\n\t\t\t\t},\r\n\t\t\t\t'&>div:last-child':{\r\n\t\t\t\t\tpaddingBottom: spacing.unit*2,\r\n\t\t\t\t}\r\n\t\t\t}, \r\n\t\t},\r\n\t\ttitle:{\r\n\t\t\t// display:'flex',\r\n\t\t\twidth: 'auto',\r\n\t\t\talignItems: 'center'\t\t\r\n\t\t}\r\n\t}\r\n}\r\n \r\n\r\nexport {styles}","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { withRouter } from \"react-router-dom\";\r\n\r\nimport { passwordApi } from \"libs/api/interface/api-password\";\r\nimport { authenticationApi } from \"libs/api/interface/api-authentication\";\r\n\r\nimport { getSettingsData } from \"redux/reducers/selectors\";\r\nimport { getClientSettingsData } from \"redux/reducers/settings/selectors\";\r\nimport { getLogoUrl } from \"redux/reducers/settings/client/selectors\";\r\nimport { getSessionData } from \"redux/reducers/selectors\";\r\nimport { getClientSessionData } from \"redux/reducers/session/selectors\";\r\nimport { getOrgId, getUrlToken } from \"redux/reducers/session/client/selectors\";\r\n\r\nimport Fade from \"@material-ui/core/Fade\";\r\nimport Input from \"@material-ui/core/Input\";\r\nimport Card from \"@material-ui/core/Card\";\r\nimport CardContent from \"@material-ui/core/CardContent\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport Hidden from \"@material-ui/core/Hidden\";\r\nimport InputLabel from \"@material-ui/core/InputLabel\";\r\nimport FormControl from \"@material-ui/core/FormControl\";\r\nimport withStyles from \"@material-ui/core/styles/withStyles\";\r\nimport WarningIcon from \"@material-ui/icons/Warning\";\r\nimport InputAdornment from \"@material-ui/core/InputAdornment\";\r\nimport VisibilityIcon from \"@material-ui/icons/Visibility\";\r\nimport VisibilityOffIcon from \"@material-ui/icons/VisibilityOff\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\n\r\nimport { Image } from \"components/presentation/image\";\r\nimport { withMessages } from \"components/hocs/messages\";\r\nimport { MaterialText } from \"components/presentation/material-text\";\r\nimport { Align } from \"components/layout/align\";\r\nimport { ForgotPasswordInfo } from \"../forgot_password/forgot-password-info\";\r\nimport {\r\n getSetPasswordToken,\r\n getSetPasswordUserDetails,\r\n} from \"../login/form/login_token\";\r\n\r\nimport * as ACTIONS from \"../login/form/actions\";\r\nimport { MESSAGE_IDS } from \"constants/message-ids\";\r\n\r\nimport { styles } from \"./styles\";\r\nimport { CONSTANTS } from \"./constants\";\r\n\r\nconst returnMessageId = MESSAGE_IDS.FORGOTTEN_PASSWORD.RETURN;\r\nconst errorMessageId = MESSAGE_IDS.FORGOTTEN_PASSWORD.ERROR;\r\nconst successMessageId = MESSAGE_IDS.FORGOTTEN_PASSWORD.SUCCESS;\r\n\r\nconst loginMessageId = MESSAGE_IDS.SET_PASSWORD.MESSAGE;\r\nconst loginTitleMessageId = MESSAGE_IDS.SET_PASSWORD.TITLE;\r\nconst usernameMessageId = MESSAGE_IDS.LOGIN.USERNAME;\r\nconst loginButtonMessageId = MESSAGE_IDS.SET_PASSWORD.BUTTON;\r\nconst passwordMessageId = MESSAGE_IDS.GENERAL.PASSWORD;\r\nconst retypePasswordMessageId = MESSAGE_IDS.SET_PASSWORD.RETYPE;\r\nconst noMatchMessageId = MESSAGE_IDS.SET_PASSWORD.NO_MATCH;\r\nconst invalidPasswordMessageId = MESSAGE_IDS.SET_PASSWORD.INVALID_PASSWORD;\r\n\r\nconst validateEmail = (email) => {\r\n const re = /^(([^<>()\\[\\]\\\\.,;:\\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 return re.test(String(email).toLowerCase());\r\n};\r\n\r\nconst hasPasswordBeenSet = (response) => {\r\n if (!response) return false;\r\n\r\n const result = parseInt(response);\r\n if (isNaN(result)) return false;\r\n\r\n return result === CONSTANTS.RESULT_CODE.SUCCESS;\r\n};\r\n\r\nclass ResetPassword extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.initializeBoundMethods();\r\n\r\n this.userInput = null;\r\n this.passwordInput = null;\r\n this.retypePasswordInput = null;\r\n\r\n this.state = {\r\n disableSubmit: true,\r\n submitting: false,\r\n submitted: null,\r\n showPassword: false,\r\n errorText: null,\r\n };\r\n }\r\n\r\n initializeBoundMethods() {\r\n this.onFieldChange = () => {\r\n const { submitting } = this.state;\r\n if (!submitting) {\r\n const filled = this.isFormFilled();\r\n this.setState({ disableSubmit: !filled });\r\n }\r\n };\r\n\r\n this.onSubmit = (e) => {\r\n e.preventDefault();\r\n\r\n const password = this.passwordInput.value;\r\n const retypePassword = this.retypePasswordInput.value;\r\n\r\n if (password !== retypePassword) {\r\n const errorText = this.props.messages[noMatchMessageId];\r\n\r\n this.setState({ errorText });\r\n this.passwordInput.focus();\r\n } else {\r\n this.submitPassword(password);\r\n }\r\n };\r\n\r\n this.submitPassword = () => {\r\n const setPasswordFailed = (response) => {\r\n this.setState({\r\n submitting: false,\r\n submitted: CONSTANTS.FAILED,\r\n });\r\n };\r\n\r\n const password = this.passwordInput.value;\r\n\r\n this.setState(\r\n {\r\n submitting: true,\r\n errorText: null,\r\n },\r\n () => {\r\n const loginToken = getSetPasswordToken();\r\n const payload = { password, token: loginToken };\r\n const success = this.Reset\r\n ? this.resetPasswordSuccess\r\n : this.setPasswordSuccess;\r\n\r\n authenticationApi\r\n .resetPassword(payload)\r\n .then(success, setPasswordFailed);\r\n }\r\n );\r\n };\r\n\r\n this.setPasswordSuccess = (result) => {\r\n if (hasPasswordBeenSet(result)) {\r\n const {\r\n saveUsername,\r\n savePassword,\r\n onPasswordSet,\r\n } = this.props;\r\n\r\n const { id: username } = getSetPasswordUserDetails();\r\n const newPassword = this.passwordInput.value;\r\n\r\n saveUsername(username);\r\n savePassword(newPassword);\r\n\r\n onPasswordSet();\r\n } else {\r\n this.displayInvalidPasswordMessage();\r\n }\r\n };\r\n\r\n this.resetPasswordSuccess = (result) => {\r\n if (hasPasswordBeenSet(result)) {\r\n this.setState({\r\n submitting: false,\r\n disableSubmit: true,\r\n submitted: CONSTANTS.SUCCESS,\r\n });\r\n } else {\r\n this.displayInvalidPasswordMessage();\r\n }\r\n };\r\n\r\n this.displayInvalidPasswordMessage = () => {\r\n const { messages } = this.props;\r\n const errorText = messages[invalidPasswordMessageId];\r\n this.setState({ errorText, submitting: false });\r\n };\r\n\r\n this.handleReturnToLogin = () => {\r\n const { onCancel, history, urlToken } = this.props;\r\n if (onCancel){\r\n // sessionStorageApi.resetDataFor(KEYS.STUDENT_LOGIN_DETAILS); \r\n // sessionStorageApi.resetDataFor(KEYS.STUDENT_LOGIN);\r\n onCancel();\r\n }\r\n else{\r\n history.replace(`/login?${urlToken}`);\r\n }\r\n };\r\n\r\n this.handleShowPassword = () => {\r\n const { showPassword } = this.state;\r\n const _showPassword = !showPassword;\r\n this.setState({ showPassword: _showPassword });\r\n };\r\n }\r\n\r\n get Branding() {\r\n const { classes } = this.props;\r\n\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n get TitleMessage() {\r\n const { messages, pageType } = this.props;\r\n const titleMessageId =\r\n pageType === CONSTANTS.RESET\r\n ? MESSAGE_IDS.RESET_PASSWORD.TITLE\r\n : MESSAGE_IDS.SET_PASSWORD.TITLE;\r\n\r\n return messages[titleMessageId];\r\n }\r\n\r\n get Title() {\r\n const { classes } = this.props;\r\n\r\n return (\r\n \r\n \r\n {this.TitleMessage}\r\n \r\n \r\n );\r\n }\r\n\r\n get Form() {\r\n const { classes } = this.props;\r\n\r\n return (\r\n \r\n {this.UserInput}\r\n {this.PasswordInput}\r\n {this.ErrorPanel}\r\n {this.Buttons}\r\n \r\n );\r\n }\r\n\r\n get UserInput() {\r\n const name = \"existing-username\";\r\n const label = this.props.messages[usernameMessageId];\r\n const { id } = getSetPasswordUserDetails();\r\n\r\n const inputRef = (input) => {\r\n this.userInput = input;\r\n };\r\n const inputProps = {\r\n ...this.BasicInputProps,\r\n name,\r\n inputRef,\r\n id: \"exisiting-user-input\",\r\n readOnly: true,\r\n value: id,\r\n };\r\n\r\n return this.getFormInput(name, label, false, );\r\n }\r\n\r\n get PasswordInput() {\r\n return (\r\n \r\n {this.InitialPasswordInput}\r\n {this.RetypePasswordInput}\r\n \r\n );\r\n }\r\n\r\n get InitialPasswordInput() {\r\n const { showPassword } = this.state;\r\n const name = \"initialPassword\";\r\n const label = this.props.messages[passwordMessageId];\r\n\r\n const type = showPassword ? null : \"password\";\r\n const inputRef = (input) => {\r\n this.passwordInput = input;\r\n };\r\n const inputProps = {\r\n ...this.BasicInputProps,\r\n name,\r\n type,\r\n required: true,\r\n inputRef,\r\n id: \"initial-password-input\",\r\n endAdornment: (\r\n \r\n \r\n {showPassword ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n ),\r\n };\r\n\r\n return this.getFormInput(name, label, true, );\r\n }\r\n\r\n get RetypePasswordInput() {\r\n const { showPassword } = this.state;\r\n const name = \"retypePassword\";\r\n const label = this.props.messages[retypePasswordMessageId];\r\n\r\n const type = showPassword ? null : \"password\";\r\n const inputRef = (input) => {\r\n this.retypePasswordInput = input;\r\n };\r\n\r\n const inputProps = {\r\n ...this.BasicInputProps,\r\n name,\r\n type,\r\n inputRef,\r\n id: \"retype-password-input\",\r\n };\r\n\r\n return this.getFormInput(name, label, true, );\r\n }\r\n\r\n get BasicInputProps() {\r\n const { classes } = this.props;\r\n const { submitting } = this.state;\r\n\r\n return {\r\n autoComplete: \"off\",\r\n onChange: this.onFieldChange,\r\n disabled: submitting,\r\n className: classes.formInputText,\r\n classes: {\r\n input: classes.input,\r\n underline: classes.inputUnderline,\r\n },\r\n };\r\n }\r\n\r\n getFormInput(name, label, required = false, inputElement) {\r\n const { classes } = this.props;\r\n\r\n return (\r\n \r\n \r\n {label}\r\n \r\n {inputElement}\r\n \r\n );\r\n }\r\n\r\n get ErrorPanel() {\r\n const { classes } = this.props;\r\n const { errorText } = this.state;\r\n\r\n if (!errorText) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {errorText}\r\n \r\n \r\n );\r\n }\r\n\r\n get Buttons() {\r\n const { classes } = this.props;\r\n\r\n return (\r\n
\r\n
{this.ReturnButton}
\r\n
{this.SubmitButton}
\r\n
\r\n );\r\n }\r\n\r\n get SubmitButton() {\r\n const { disableSubmit, submitting } = this.state;\r\n const { messages } = this.props;\r\n const disabled = disableSubmit || submitting;\r\n const props = {\r\n type: \"submit\",\r\n variant: \"contained\",\r\n color: \"primary\",\r\n disabled,\r\n };\r\n const label = this.TitleMessage;\r\n\r\n return ;\r\n }\r\n\r\n get ReturnButton() {\r\n const { submitting } = this.state;\r\n const { messages } = this.props;\r\n const disabled = submitting;\r\n const props = {\r\n variant: \"contained\",\r\n color: \"secondary\",\r\n disabled,\r\n onClick: this.handleReturnToLogin,\r\n };\r\n const label = messages[returnMessageId];\r\n\r\n return ;\r\n }\r\n\r\n get Reset() {\r\n const { pageType } = this.props;\r\n return pageType === CONSTANTS.RESET;\r\n }\r\n\r\n get Set() {\r\n const { pageType } = this.props;\r\n return pageType === CONSTANTS.SET;\r\n }\r\n\r\n get InfoPanel() {\r\n const { submitting, submitted } = this.state;\r\n const { messages } = this.props;\r\n const infoMessageId = this.Reset\r\n ? MESSAGE_IDS.RESET_PASSWORD.MESSAGE\r\n : MESSAGE_IDS.SET_PASSWORD.MESSAGE;\r\n const submittingMessageId = this.Reset\r\n ? MESSAGE_IDS.RESET_PASSWORD.SUBMITTING\r\n : MESSAGE_IDS.SET_PASSWORD.SUBMITTING;\r\n const successMessageId = this.Reset\r\n ? MESSAGE_IDS.RESET_PASSWORD.SUCCESS\r\n : MESSAGE_IDS.SET_PASSWORD.SUCCESS;\r\n const errorMessageId = MESSAGE_IDS.RESET_PASSWORD.ERROR;\r\n\r\n let status = CONSTANTS.INFORMATION;\r\n const { first } = getSetPasswordUserDetails();\r\n let message = messages[infoMessageId].replace(\"~\", first);\r\n\r\n if (submitting) {\r\n status = CONSTANTS.SUBMITTING;\r\n message = messages[submittingMessageId];\r\n } else if (submitted) {\r\n status = submitted;\r\n message =\r\n status === CONSTANTS.SUCCESS\r\n ? messages[successMessageId]\r\n : messages[errorMessageId];\r\n }\r\n\r\n const props = { message, status };\r\n\r\n return ;\r\n }\r\n\r\n isFormFilled() {\r\n const { passwordInput, retypePasswordInput } = this;\r\n\r\n return (\r\n this.isFieldFilled(passwordInput) &&\r\n this.isFieldFilled(retypePasswordInput)\r\n );\r\n }\r\n\r\n isFieldFilled(inputElement) {\r\n if (inputElement.value !== \"\") {\r\n return true;\r\n }\r\n\r\n const computedStyle = window.getComputedStyle(inputElement);\r\n const autofilled = computedStyle.content.includes(\"filled\");\r\n\r\n return autofilled;\r\n }\r\n\r\n render() {\r\n const { classes } = this.props;\r\n return (\r\n \r\n
\r\n \r\n \r\n {this.Branding}\r\n {this.Title}\r\n {this.InfoPanel}\r\n {this.Form}\r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nconst mapStoreToProps = (store) => {\r\n const settingsData = getSettingsData(store);\r\n const clientSettingsData = getClientSettingsData(settingsData);\r\n const sessionData = getSessionData(store);\r\n const clientSessionData = getClientSessionData(sessionData);\r\n return {\r\n orgID: getOrgId(clientSessionData),\r\n logoUrl: getLogoUrl(clientSettingsData),\r\n urlToken: getUrlToken(clientSessionData),\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n saveUsername: (value) => dispatch(ACTIONS.setUsername(value)),\r\n savePassword: (value) => dispatch(ACTIONS.setPassword(value)),\r\n setLoginError: (msg) => {\r\n dispatch(ACTIONS.setLoginError(msg));\r\n },\r\n clearLoginError: () => {\r\n dispatch(ACTIONS.clearLoginError());\r\n },\r\n});\r\n\r\nResetPassword = connect(mapStoreToProps, mapDispatchToProps)(ResetPassword);\r\nResetPassword = withStyles(styles)(ResetPassword);\r\nResetPassword = withMessages(ResetPassword);\r\nResetPassword = withRouter(ResetPassword);\r\n\r\nexport { ResetPassword };\r\n","import React from \"react\";\r\n\r\nimport { AppPageModifier } from \"components/pages/app-page-modifier\";\r\n\r\nimport { withMessages } from \"components/hocs/messages\";\r\nimport { MESSAGE_IDS } from \"constants/message-ids\";\r\n\r\nimport { CONSTANTS } from \"./constants\";\r\nimport { ResetPassword } from \"./reset-password\";\r\n\r\nlet ResetPasswordPage = (props) => {\r\n const { pathname } = window.location;\r\n const pageType =\r\n pathname.indexOf(\"reset\") !== -1 ? CONSTANTS.RESET : CONSTANTS.SET;\r\n const title =\r\n pageType === CONSTANTS.RESET\r\n ? props.messages[MESSAGE_IDS.RESET_PASSWORD.TITLE]\r\n : props.messages[MESSAGE_IDS.SET_PASSWORD.TITLE];\r\n const { onPasswordSet, onCancel } = props;\r\n const resetProps = { pageType, onPasswordSet, onCancel };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nResetPasswordPage = withMessages(ResetPasswordPage);\r\n\r\nexport { ResetPasswordPage };\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { withRouter } from \"react-router-dom\";\r\n\r\nimport { getUrlToken } from \"redux/reducers/session/client/selectors\";\r\nimport {\r\n getClientSessionData,\r\n getUserSessionData,\r\n} from \"redux/reducers/session/selectors\";\r\nimport { getSessionData } from \"redux/reducers/selectors\";\r\nimport { isAdmin } from \"redux/reducers/session/user/selectors\";\r\nimport { getSettingsData } from \"redux/reducers/selectors\";\r\n import {getClientSettingsData} from 'redux/reducers/settings/selectors'\r\n import {getLegacySingleSignon} from 'redux/reducers/settings/client/selectors' \r\n\r\nimport { AppPageModifier } from \"components/pages/app-page-modifier\";\r\n\r\nclass CheckAdminRedirect extends Component {\r\n state = {};\r\n\r\n componentDidMount() {\r\n const {\r\n admin,\r\n onNotAdmin,\r\n loginViaIframe,\r\n onAdminIframe,\r\n onAdminUrl,\r\n history,\r\n urlToken,\r\n iFrameRedirect,\r\n singleSignOn\r\n } = this.props;\r\n\r\n if (singleSignOn && admin) {\r\n if (loginViaIframe) {\r\n if (iFrameRedirect){\r\n const url = `/admin?${urlToken}`\r\n history.push(url);\r\n }\r\n else onAdminIframe();\r\n } else {\r\n onAdminUrl();\r\n }\r\n } else {\r\n onNotAdmin();\r\n }\r\n }\r\n\r\n render() {\r\n const appBarProps = {\r\n title: \"Checking Redirection\",\r\n loadingTitle: true,\r\n logo: true,\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStoreToProps = (store) => {\r\n const sessionData = getSessionData(store);\r\n const userSessionData = getUserSessionData(sessionData);\r\n const urlToken = getUrlToken(getClientSessionData(sessionData));\r\n const settingsData = getSettingsData(store);\r\n const clientSettingsData = getClientSettingsData(settingsData);\r\n const singleSignOn = getLegacySingleSignon(clientSettingsData);\r\n const admin = isAdmin(userSessionData);\r\n\r\n return {\r\n admin,\r\n loginViaIframe: false,\r\n iFrameRedirect: true,\r\n urlToken,\r\n singleSignOn\r\n };\r\n};\r\n\r\nCheckAdminRedirect = withRouter(CheckAdminRedirect);\r\nCheckAdminRedirect = connect(mapStoreToProps)(CheckAdminRedirect);\r\n\r\nexport { CheckAdminRedirect };\r\n","\r\n// @xams-utils\r\nimport {check} from '@xams-utils/check-types'\r\n\r\n// @xams-entities\r\nimport {Version} from '@xams-entities/version'\r\nimport {VersionRange} from '@xams-entities/version-range'\r\n\r\n\r\nconst entifySupportedBrowsersVersions = (supportedBrowsers) =>\r\n{\r\n let returnObj = {};\r\n\r\n for (const supportedBrowser in supportedBrowsers) {\r\n returnObj[supportedBrowser] = entifySupportedBrowserVersions(supportedBrowsers[supportedBrowser]);\r\n }\r\n\r\n return returnObj;\r\n}\r\n\r\nconst entifySupportedBrowserVersions = (supportedBrowser) =>\r\n{\r\n let returnObj = {};\r\n\r\n if (check.assigned(supportedBrowser.include)) {\r\n returnObj.include = getVersionsEntities(supportedBrowser.include);\r\n }\r\n if (check.assigned(supportedBrowser.exclude)) {\r\n returnObj.exclude = getVersionsEntities(supportedBrowser.exclude);\r\n }\r\n\r\n return returnObj;\r\n}\r\n\r\nconst getVersionsEntities = (versions) =>\r\n{\r\n versions = putAllVersionsIntoArray(versions);\r\n return versions.map(version => getRangeEntity(version));\r\n}\r\n\r\nconst putAllVersionsIntoArray = (versions) =>\r\n{\r\n if (!check.array(versions)) { \r\n versions = [versions];\r\n }\r\n\r\n return versions.reduce((a, version) => {\r\n if (check.string(version) && version.includes(',')) {\r\n const items = version.split(',').map(function(item) {\r\n return item.trim();\r\n });\r\n return a.concat(items);\r\n }\r\n a.push(version);\r\n return a;\r\n }, []);\r\n}\r\n\r\nconst getRangeEntity = (range) =>\r\n{\r\n if (check.integer(range)) {\r\n return Version.create(range);\r\n }\r\n \r\n if (check.string(range)) {\r\n range = range.trim();\r\n\r\n if (range.startsWith('<')) {\r\n return getLessThanRange(range);\r\n }\r\n if (range.startsWith('>')) {\r\n return getGreaterThanRange(range);\r\n }\r\n if (range.includes('-')) {\r\n return getBetweenRange(range); \r\n }\r\n\r\n return Version.create(range);\r\n }\r\n \r\n return null;\r\n}\r\n\r\nconst getLessThanRange = (range) =>\r\n{\r\n const max = Version.create(range.substring(1).trim());\r\n return VersionRange.create(null, max);\r\n}\r\n\r\nconst getGreaterThanRange = (range) =>\r\n{\r\n const min = Version.create(range.substring(1).trim());\r\n return VersionRange.create(min, null);\r\n}\r\n\r\nconst getBetweenRange = (range) =>\r\n{\r\n const ranges = range.split('-').map(function(item) {\r\n item = item.trim();\r\n return check.emptyString(item) ? null : item;\r\n });\r\n const min = check.assigned(ranges[0]) \r\n ? Version.create(ranges[0]) \r\n : null;\r\n const max = check.assigned(ranges[1]) \r\n ? Version.create(ranges[1]) \r\n : null;\r\n return VersionRange.create(min, max);\r\n}\r\n\r\n\r\nexport {entifySupportedBrowsersVersions}","\r\n// react\r\nimport {entifySupportedBrowsersVersions} from './entify-supported-browsers-versions'\r\n\r\n\r\nconst isResetScheduleCheatActive = (appSettingsData) =>\r\n{\r\n return appSettingsData.get('useResetScheduleCheat');\r\n}\r\n\r\nconst getScormServer = (appSettingsData) =>\r\n{\r\n return appSettingsData.get('scormServer');\r\n}\r\n\r\nconst getAppVersion = (appSettingsData) =>\r\n{\r\n return appSettingsData.get('appVersion');\r\n}\r\n\r\nconst getAdminUrl = (appSettingsData) =>\r\n{\r\n return appSettingsData.get('adminUrl');\r\n}\r\n\r\nconst getSupportedBrowsers = (appSettingsData) => \r\n{\r\n\tconst supportedBrowsers = appSettingsData.get('supportedBrowsers');\r\n return entifySupportedBrowsersVersions(supportedBrowsers);\r\n}\r\n\r\nconst getPdfSupportedBrowsers = (appSettingsData) => {\r\n return appSettingsData.get(\"pdfSupportedBrowsers\");\r\n};\r\n\r\nconst isInactivityTimerActive = (appSettingsData) =>\r\n{\r\n\treturn appSettingsData.get('useInactivityTimer');\r\n}\r\n\r\nconst getHubUrl = (appSettingsData) =>\r\n{\r\n\treturn appSettingsData.get('hubUrl');\r\n}\r\n\r\nconst getApiEndpointUrl = (appSettingsData) =>\r\n{\r\n\treturn appSettingsData.get('apiEndpointUrl');\r\n}\r\n\r\nconst getHubEndpointUrl = (appSettingsData) =>\r\n{\r\n\treturn appSettingsData.get('hubEndpointUrl');\r\n}\r\n\r\nconst getAuthenticationUrl = (appSettingsData) =>\r\n{\r\n\treturn appSettingsData.get('authenticationUrl');\r\n}\r\n\r\nconst shouldProduceRandomNetworkErrors = (appSettingsData) =>\r\n{\r\n\treturn appSettingsData.get('produceRandomNetworkErrors');\r\n}\r\n\r\nconst getNetworkErrorToRandomlyProduce = (appSettingsData) =>\r\n{\r\n\treturn appSettingsData.get('networkErrorCode');\r\n}\r\n\r\nconst getNetworkErrorFrequency = (appSettingsData) =>\r\n{\r\n\treturn appSettingsData.get('networkErrorFrequency');\r\n}\r\n\r\n\r\nexport {\r\n\tisResetScheduleCheatActive,\r\n\tgetSupportedBrowsers,\r\n\tgetPdfSupportedBrowsers,\r\n\tisInactivityTimerActive,\r\n\tshouldProduceRandomNetworkErrors,\r\n\tgetNetworkErrorToRandomlyProduce,\r\n\tgetNetworkErrorFrequency,\r\n\tgetApiEndpointUrl,\r\n\tgetHubEndpointUrl,\r\n\tgetAuthenticationUrl,\r\n\tgetHubUrl,\r\n\tgetScormServer,\r\n\tgetAdminUrl,\r\n\tgetAppVersion\r\n}","\r\n// redux (action-types)\r\nimport {CLEAR_EXAM} from 'redux/reducers/exam/action-types'\r\nimport {CLEAR_SCHEDULES} from 'redux/reducers/schedules/action-types'\r\nimport {DISCARD_TOKENS} from 'redux/reducers/session/tokens/action-types'\r\nimport {CLEAR_MESSAGES} from 'redux/reducers/messages/session/action-types'\r\nimport {REMOVE_SESSION} from 'redux/reducers/session/user/action-types'\r\nimport {SET_NETWORK_ERROR} from 'redux/reducers/app/action-types'\r\n\r\n\r\nconst getRemoveCurrentSessionActions = () => ([\r\n\t{type: CLEAR_EXAM},\r\n\t{type: DISCARD_TOKENS},\r\n\t{type: CLEAR_SCHEDULES},\r\n\t{type: CLEAR_MESSAGES},\r\n\t{type: REMOVE_SESSION}\r\n]);\r\n\r\n\r\nconst setNetworkError = (value) => ({\r\n\ttype: SET_NETWORK_ERROR,\r\n\tvalue\r\n});\r\n\r\n\r\nexport {getRemoveCurrentSessionActions, setNetworkError}","import { authenticationApi } from \"libs/api/interface/api-authentication\";\r\n\r\nimport { getSessionData } from \"redux/reducers/selectors\";\r\nimport { getUrlToken } from \"redux/reducers/session/client/selectors\";\r\nimport {\r\n getClientSessionData,\r\n getUserSessionData,\r\n} from \"redux/reducers/session/selectors\";\r\nimport {\r\n isAdmin,\r\n getUserId,\r\n getUserGuid,\r\n} from \"redux/reducers/session/user/selectors\";\r\nimport { getOrgId } from \"redux/reducers/session/client/selectors\";\r\nimport { getAppSettingsData } from \"redux/reducers/settings/selectors\";\r\nimport { getClientSettingsData } from \"redux/reducers/settings/selectors\";\r\nimport { getSettingsData } from \"redux/reducers/selectors\";\r\nimport { getAdminUrl as getAppSettingsAdminUrl } from \"redux/reducers/settings/app/selectors\";\r\nimport { getAdminUrl as getClientSettingsAdminUrl } from \"redux/reducers/settings/client/selectors\";\r\nimport { getRemoveCurrentSessionActions } from \"components/actions\";\r\n\r\nimport { getLogoutPage } from \"components/pages/login/form/login_token.js\";\r\n\r\nconst getAdminRedirectUrl = (userID, orgID, adminUrl) => {\r\n const returnUrl = encodeURIComponent(window.location);\r\n const url = `${adminUrl}/user/login/zigzagoon?userID=${userID}&orgID=${orgID}&returnUrl=${returnUrl}`;\r\n\r\n return url;\r\n};\r\n\r\nconst mapStoreToProps = (store) => {\r\n const sessionData = getSessionData(store);\r\n const userSessionData = getUserSessionData(sessionData);\r\n const clientSessionData = getClientSessionData(sessionData);\r\n const settingsData = getSettingsData(store);\r\n const appSettingsData = getAppSettingsData(settingsData);\r\n const clientSettingsData = getClientSettingsData(settingsData);\r\n\r\n const admin = isAdmin(userSessionData);\r\n const userID = getUserId(userSessionData);\r\n const orgID = getOrgId(clientSessionData);\r\n const appSettingsAdminUrl = getAppSettingsAdminUrl(appSettingsData);\r\n const clientSettingsAdminUrl =\r\n getClientSettingsAdminUrl(clientSettingsData);\r\n const adminUrl = clientSettingsAdminUrl || appSettingsAdminUrl;\r\n\r\n return {\r\n store,\r\n userID,\r\n orgID,\r\n adminPage: \"admin/Default.aspx\",\r\n adminUrl,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => ({ dispatch });\r\n\r\nconst mergeProps = (\r\n { store, userID, orgID, adminPage, adminUrl },\r\n { dispatch },\r\n { history, ...ownProps }\r\n) => {\r\n const removeSessionFromRedux = () => {\r\n getRemoveCurrentSessionActions().forEach((action) => dispatch(action));\r\n };\r\n\r\n const notifyServerAboutLogout = (sessionData) => {\r\n const userGuid = getUserGuid(getUserSessionData(sessionData));\r\n authenticationApi.logoutUser(userGuid);\r\n };\r\n\r\n const redirectToLoginPage = (sessionData) => {\r\n const { url, logout } = getLogoutPage();\r\n const urlToken = getUrlToken(getClientSessionData(sessionData));\r\n const logoutUrl = `${url}?${urlToken}`;\r\n\r\n if (logout) history.push(logoutUrl);\r\n else window.location.replace(logoutUrl);\r\n };\r\n\r\n return {\r\n userID,\r\n orgID,\r\n adminPage,\r\n adminUrl,\r\n ...ownProps,\r\n logout: (redirect = false) => {\r\n const sessionData = getSessionData(store);\r\n notifyServerAboutLogout(sessionData);\r\n removeSessionFromRedux();\r\n if (redirect) {\r\n redirectToLoginPage(sessionData);\r\n }\r\n },\r\n };\r\n};\r\n\r\nexport { getAdminRedirectUrl, mapStoreToProps, mapDispatchToProps, mergeProps };\r\n","import React, { Component } from 'react';\r\nimport { connect } from \"react-redux\";\r\n\r\nimport { AppPageModifier } from \"components/pages/app-page-modifier\";\r\n\r\nimport {getAdminRedirectUrl, mapStoreToProps, mapDispatchToProps, mergeProps} from './helper'\r\n\r\nclass AdminRedirectUrl extends Component {\r\n state = { }\r\n\r\n componentDidMount(){\r\n const { userID, orgID, adminUrl, logout } = this.props;\r\n const url = getAdminRedirectUrl(userID, orgID, adminUrl);\r\n\r\n logout();\r\n window.location.replace(url);\r\n }\r\n\r\n render() {\r\n const appBarProps = {\r\n title: \"Redirecting to Admin\",\r\n loadingTitle: true,\r\n logo: true,\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nAdminRedirectUrl = connect(\r\n mapStoreToProps,\r\n mapDispatchToProps,\r\n mergeProps\r\n)(AdminRedirectUrl);\r\n \r\nexport {AdminRedirectUrl};","import React, { Component } from 'react';\r\nimport { connect } from \"react-redux\";\r\n\r\nimport { AppPageModifier } from \"components/pages/app-page-modifier\";\r\n\r\nimport withStyles from \"@material-ui/core/styles/withStyles\";\r\n\r\nimport {getAdminRedirectUrl, mapStoreToProps, mapDispatchToProps, mergeProps} from './helper'\r\n\r\nconst styles = ({ breakpoints, spacing }) => ({\r\n iframeContainer: {\r\n position: \"absolute\",\r\n top: 0,\r\n left: 0,\r\n width: \"100vw\",\r\n height: \"100vh\",\r\n zIndex: 10000,\r\n },\r\n iframe: {\r\n margin: 0,\r\n padding: 0,\r\n },\r\n visible: {\r\n visibility: \"visible\",\r\n },\r\n hidden: {\r\n visibility: \"hidden\",\r\n },\r\n});\r\n\r\nclass AdminRedirectIframe extends Component {\r\n state = { }\r\n\r\n constructor(props){\r\n super(props);\r\n\r\n this.handleMessageFromAdmin = this.handleMessageFromAdmin.bind(this);\r\n\r\n this.adminIframe = null;\r\n }\r\n\r\n componentDidMount() {\r\n const { userID, adminUrl, logout } = this.props;\r\n const url = getAdminRedirectUrl(userID, adminUrl);\r\n\r\n window.addEventListener(\"message\", this.handleMessageFromAdmin);\r\n this.setState({ iFrameVisible: true }, () => {\r\n this.adminIframe.src = url;\r\n }); \r\n }\r\n\r\n componentWillUnmount() {\r\n window.removeEventListener(\"message\", this.handleMessageFromAdmin);\r\n }\r\n\r\n handleMessageFromAdmin(evt) {\r\n const {logout} = this.props;\r\n const { data } = evt;\r\n const { type } = data;\r\n debugger;\r\n if (type === 'logout'){\r\n logout(true); \r\n }\r\n }\r\n\r\n displayIframe() {\r\n const { iFrameVisible } = this.state;\r\n const { classes } = this.props;\r\n\r\n const divClass = `${classes.iframeContainer} ${\r\n iFrameVisible ? classes.visible : classes.hidden\r\n }`;\r\n\r\n return (\r\n
\r\n {\r\n this.adminIframe = frame;\r\n }}\r\n className={classes.iframe}\r\n frameBorder={0}\r\n height={\"100%\"}\r\n width={\"100%\"}\r\n />\r\n
\r\n );\r\n } \r\n\r\n render() {\r\n const appBarProps = {\r\n title: \"Redirecting to Admin\",\r\n loadingTitle: false,\r\n logo: true,\r\n };\r\n\r\n return (\r\n \r\n \r\n {this.displayIframe()}\r\n \r\n );\r\n }\r\n}\r\n\r\nAdminRedirectIframe = connect(\r\n mapStoreToProps,\r\n mapDispatchToProps,\r\n mergeProps\r\n)(AdminRedirectIframe);\r\n\r\nAdminRedirectIframe = withStyles(styles)(AdminRedirectIframe);\r\n \r\nexport {AdminRedirectIframe};","\r\n// npm\r\nimport React from 'react'\r\nimport {Redirect} from 'react-router-dom'\r\n\r\n// xams-components-functional\r\nimport {XamsCallback} from 'temp/xams.UI.Components/callback'\r\nimport {StateMachine, StateView, StateControl} from 'temp/xams.UI.Components/machine'\r\n\r\n// react\r\nimport {LoginFormMachine} from './form/machine'\r\nimport {InitializingSessionMessagesPage} from './initializing-session-messages-page'\r\nimport {MaintainingActivityLogPage} from './maintaining-activity-log'\r\nimport {CheckingSetPasswordToken} from './set_password/checking-set-password-token'\r\nimport {SetPasswordPage} from './set_password/page'\r\nimport {ResetPasswordPage} from '../reset_password/page'\r\nimport {LoginAuthenticator} from './form/authenticator'\r\nimport {CheckAdminRedirect} from './admin_redirect/check'\r\nimport {AdminRedirectUrl} from './admin_redirect/url'\r\nimport {AdminRedirectIframe} from './admin_redirect/iframe'\r\n//import {UploadingOfflineFilesPage} from './uploading-offline-files'\r\n\r\n// machines\r\nimport {login} from 'machines/login'\r\n\r\n\r\nconst {STATES, EVENTS} = login;\r\n\r\n\r\nconst LoginPageMachine = () =>\r\n{\t\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{{\r\n\t\t\t\t\t[STATES.CHECKING_SET_PASSWORD]: () => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{(props) => }\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t),\t\t\t\t\t\r\n\t\t\t\t\t[STATES.SET_PASSWORD]: () => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{(props) => }\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t),\t\r\n\t\t\t\t\t[STATES.LOGIN_SET_PASSWORD]: () => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{(props) => }\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t),\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t[STATES.SHOWING_FORM]: () => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{({onFinish}) => }\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t),\r\n\t\t\t\t\t[STATES.CHECKING_ADMIN_REDIRECT]: () => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{(props) => }\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t),\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t[STATES.ADMIN_REDIRECT_URL]: () => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{(props) => }\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t),\r\n\t\t\t\t\t[STATES.ADMIN_REDIRECT_IFRAME]: () => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{(props) => }\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t),\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t[STATES.INITIALIZING_SESSION_MESSAGES]: () => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{(props) => }\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t),\r\n\t\t\t\t\t[STATES.MAINTAINING_ACTIVITY_LOG]: () => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{(props) => }\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t),\t\t\t\t\t\r\n\t\t\t\t\t// [STATES.UPLOADING_OFFLINE_FILES]: () => (\r\n\t\t\t\t\t// \t\r\n\t\t\t\t\t// \t\t{(props) => }\r\n\t\t\t\t\t// \t\r\n\t\t\t\t\t// ),\t\t\t\t\t\t\r\n\t\t\t\t\t[STATES.REDIRECTING_TO_RUBRIC]: () => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t}}\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\n\r\nexport {LoginPageMachine}","\r\n// npm\r\nimport React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport {connect} from 'react-redux'\r\nimport check from 'check-types'\r\n\r\n// redux (actions)\r\nimport {revokeUserSession} from './actions'\r\n\r\n// react\r\nimport {LoginPageMachine} from './machine'\r\nimport {AppPageModifier} from 'components/pages/app-page-modifier'\r\n\r\n// utils\r\nimport {sessionStorageApi, KEYS} from 'libs/browser_storage/session-storage-api'\r\n\r\n// messages\r\nimport {withMessages} from 'components/hocs/messages'\r\nimport {MESSAGE_IDS} from 'constants/message-ids'\r\n\r\n\r\n// LoginPage (not connected to store)\r\n// -------------------------------------------\r\n\r\nclass LoginPage extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n const {\r\n match: { params },\r\n } = props;\r\n\r\n const loginToken = check.assigned(params.loginToken)\r\n ? params.loginToken\r\n : null;\r\n\r\n const setPasswordToken = check.assigned(params.setPasswordToken)\r\n ? params.setPasswordToken\r\n : null;\r\n\r\n sessionStorageApi.resetDataFor(KEYS.STUDENT_LOGIN_DETAILS); \r\n sessionStorageApi.resetDataFor(KEYS.STUDENT_LOGIN);\r\n sessionStorageApi.saveDataTo(KEYS.STUDENT_LOGIN, {\r\n loginToken,\r\n setPasswordToken,\r\n });\r\n\r\n sessionStorageApi.resetDataFor(KEYS.STUDENT_REFERRER);\r\n\r\n if (loginToken && document.referrer)\r\n sessionStorageApi.saveDataTo(KEYS.STUDENT_REFERRER, {\r\n referrer: document.referrer,\r\n });\r\n }\r\n\r\n componentDidMount() {\r\n this.props.clearUserSession();\r\n sessionStorageApi.resetDataFor(KEYS.EXTERNAL_EXAM); // these get populated when we open a 'preview' from the admin repo\r\n sessionStorageApi.resetDataFor(KEYS.EXTERNAL_SCHEDULE); // entering login page means we're NOT PREVIEWING, so we reset any potential data that exists here\r\n }\r\n\r\n render() {\r\n const title = this.props.messages[MESSAGE_IDS.LOGIN.APP_BAR_TITLE];\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nLoginPage.propTypes = {\r\n\tclearUserSession: PropTypes.func.isRequired\r\n}\r\n\r\n\r\n// LoginPage (connected to store)\r\n// -------------------------------------------\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n\tclearUserSession: () => dispatch(revokeUserSession())\r\n})\r\n\r\nLoginPage = connect(undefined, mapDispatchToProps)(LoginPage);\r\nLoginPage = withMessages(LoginPage);\r\n\r\n\r\n// EXPORT\r\n// -------------------------------------------\r\nexport {LoginPage}","\r\n// redux (action-types)\r\nimport {REMOVE_SESSION} from 'redux/reducers/session/user/action-types'\r\n\r\n\r\nconst revokeUserSession = () => ({type: REMOVE_SESSION})\r\n\r\n\r\nexport {revokeUserSession}","\r\nconst styles = ({spacing, breakpoints, palette}) =>\r\n{\r\n\treturn {\r\n\t\tlayout: {\r\n\t\t width: 'auto',\r\n\t\t display: 'block', // Fix IE11 issue.\r\n\t\t marginLeft: spacing.unit * 2,\r\n\t\t marginRight: spacing.unit * 2,\r\n\t\t [breakpoints.up(600 + spacing.unit * 3 * 2)]: {\r\n\t\t\t\twidth: 600,\r\n\t\t\t\tmarginLeft: 'auto',\r\n\t\t\t\tmarginRight: 'auto',\r\n\t\t\t\toverflowY: 'hidden',\r\n\t\t\t},\r\n\t\t},\r\n\t\tcard: {\r\n\t\t\tposition: 'relative',\r\n\t\t marginTop: spacing.unit * 2,\r\n\t\t\tbackgroundColor: palette.background.light,\r\n\t\t\tpadding: `${spacing.unit * 2}px ${spacing.unit * 3}px ${spacing.unit * 3}px`\r\n\t\t},\r\n\t\tcardContent: {\r\n\t\t display: 'flex',\r\n\t\t flexDirection: 'column',\r\n\t\t},\r\n\t\tpaperContent: {\r\n\t\t display: 'flex',\r\n\t\t flexDirection: 'column',\r\n\t\t alignItems: 'center'\r\n\t\t},\r\n\t\tform: {\r\n\t\t width: '100%', // Fix IE11 issue.\r\n\t\t marginTop: spacing.unit,\r\n\t\t},\r\n\t\tformText: {\r\n\t\t\tcolor: palette.background.contrastText\r\n\t\t},\r\n\t\tformInputText: {\r\n\t\t\tcolor: palette.background.contrastText + \"!important\"\r\n\t\t},\r\n\t\tsubmit: {\r\n\t\t\tmarginTop: spacing.unit * 3,\r\n\t\t},\r\n\t\tsubmitDisabled: {\r\n\t\t\tbackgroundColor: palette.background.light + \"!important\",\r\n\t\t\tcolor: palette.background.contrastText + \"!important\"\r\n\t\t},\r\n\t\tloginInfo: {\r\n\t\t\tmarginTop: spacing.unit * 3,\r\n\t\t},\r\n\t\terrorContainer: {\r\n\t\t\theight: spacing.unit * 2,\r\n\t\t\tpadding: spacing.unit / 2,\r\n\t\t\tdisplay: 'flex',\r\n\t\t\talignItems: 'center'\r\n\t\t},\r\n\t\terror: {\r\n\t\t\tcolor: palette.error.main\r\n\t\t},\r\n\t\terrorIcon: {\r\n\t\t\tmarginRight: spacing.unit\r\n\t\t},\r\n\t\tlogoBox: {\r\n\t\t\tmarginTop: 4,\r\n\t\t\tmarginBottom: spacing.unit * 3,\r\n\t\t\toverflow: 'hide'\r\n\t\t},\r\n\t\tlogo: {\r\n\t\t\tmaxWidth: '100%'\r\n\t\t},\r\n\t\tinput: {\r\n\t\t\t'&:-webkit-autofill': {\r\n\t\t\t\tcontent: '\"filled\"'\r\n\t\t\t}\r\n\t\t},\r\n\t\tinputUnderline: {\r\n\t\t\t'&:before': {\r\n\t\t\t\tborderBottom: `1px solid ${palette.background.contrastText} !important`\r\n\t\t\t}\r\n\t\t},\r\n buttons:{\r\n width: '100%',\r\n paddingTop: spacing.unit*2,\r\n\t\t\tdisplay:'flex',\r\n\t\t\t[breakpoints.up(\"sm\")]: {\r\n\t\t\t\tjustifyContent: 'space-between',\r\n\t\t\t},\r\n\t\t\t[breakpoints.down(\"xs\")]: {\r\n\t\t\t\tflexDirection: 'column-reverse',\r\n\t\t\t\tjustifyContent: 'flex-end',\r\n\t\t\t\t'&>div':{\r\n\t\t\t\t\tdisplay:'flex',\r\n\t\t\t\t\tjustifyContent: 'flex-end',\t\t\t\t\t\r\n\t\t\t\t},\r\n\t\t\t\t'&>div:last-child':{\r\n\t\t\t\t\tpaddingBottom: spacing.unit*2,\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t},\r\n\t\ttitle:{\r\n\t\t\t// display:'flex',\r\n\t\t\twidth: 'auto',\r\n\t\t\talignItems: 'center'\t\t\r\n\t\t}\r\n\t}\r\n}\r\n \r\n\r\nexport {styles}","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { withRouter } from \"react-router-dom\";\r\n\r\nimport { passwordApi } from \"libs/api/interface/api-password\";\r\n\r\nimport { getSettingsData } from \"redux/reducers/selectors\";\r\nimport { getClientSettingsData } from \"redux/reducers/settings/selectors\";\r\nimport { getLogoUrl } from \"redux/reducers/settings/client/selectors\";\r\nimport { getSessionData } from \"redux/reducers/selectors\";\r\nimport { getClientSessionData } from \"redux/reducers/session/selectors\";\r\nimport { getOrgId, getUrlToken } from \"redux/reducers/session/client/selectors\";\r\n\r\nimport Fade from \"@material-ui/core/Fade\";\r\nimport Input from \"@material-ui/core/Input\";\r\nimport Card from \"@material-ui/core/Card\";\r\nimport CardContent from \"@material-ui/core/CardContent\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport Hidden from \"@material-ui/core/Hidden\";\r\nimport InputLabel from \"@material-ui/core/InputLabel\";\r\nimport FormControl from \"@material-ui/core/FormControl\";\r\nimport withStyles from \"@material-ui/core/styles/withStyles\";\r\nimport WarningIcon from \"@material-ui/icons/Warning\";\r\n\r\nimport { Image } from \"components/presentation/image\";\r\nimport { withMessages } from \"components/hocs/messages\";\r\nimport { MaterialText } from \"components/presentation/material-text\";\r\nimport { Align } from \"components/layout/align\";\r\nimport { ForgotPasswordInfo } from \"./forgot-password-info\";\r\n\r\nimport { MESSAGE_IDS } from \"constants/message-ids\";\r\nimport {CONSTANTS} from \"../reset_password/constants\"\r\n\r\nimport { styles } from \"./styles\";\r\n\r\nconst titleMessageId = MESSAGE_IDS.FORGOTTEN_PASSWORD.TITLE;\r\nconst infoMessageId = MESSAGE_IDS.FORGOTTEN_PASSWORD.INFO;\r\nconst fieldMessageId = MESSAGE_IDS.LOGIN.USERNAME;\r\n\r\nconst returnMessageId = MESSAGE_IDS.FORGOTTEN_PASSWORD.RETURN;\r\nconst submitMessageId = MESSAGE_IDS.FORGOTTEN_PASSWORD.SUBMIT;\r\nconst submittingMessageId = MESSAGE_IDS.FORGOTTEN_PASSWORD.SUBMITTING;\r\nconst errorMessageId = MESSAGE_IDS.FORGOTTEN_PASSWORD.ERROR;\r\nconst successMessageId = MESSAGE_IDS.FORGOTTEN_PASSWORD.SUCCESS;\r\n\r\nclass ForgotPassword extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.initializeBoundMethods();\r\n\r\n this.loginInput = null;\r\n\r\n this.state = {\r\n disableSubmit: true,\r\n submitting: false,\r\n submitted: null,\r\n };\r\n }\r\n\r\n initializeBoundMethods() {\r\n this.onFieldChange = () => {\r\n const { submitting } = this.state;\r\n if (!submitting) {\r\n const filled = this.isFormFilled();\r\n this.setState({ disableSubmit: !filled });\r\n }\r\n };\r\n\r\n this.onSubmit = (e) => {\r\n e.preventDefault();\r\n\r\n const { orgID } = this.props;\r\n const data = { logonID: this.loginInput.value, orgID };\r\n\r\n const onSuccess = (response) => {\r\n const responseCode = response ? parseInt(response) : CONSTANTS.RESULT_CODE.INVALID_TOKEN;\r\n if (responseCode === CONSTANTS.RESULT_CODE.SUCCESS){\r\n this.setState({ submitting: false, submitted: CONSTANTS.SUCCESS });\r\n }\r\n else{\r\n this.setState({ submitting: false, submitted: CONSTANTS.FAILED });\r\n }\r\n };\r\n\r\n const onFail = () => {\r\n this.setState({ submitting: false, submitted: CONSTANTS.FAILED });\r\n };\r\n\r\n this.setState({ submitting: true }, () => {\r\n //debugger;\r\n passwordApi.forgotPassword(data).then(onSuccess, onFail);\r\n });\r\n };\r\n\r\n this.handleReturnToLogin = () => {\r\n const { history, urlToken } = this.props;\r\n\r\n history.replace(`/login?${urlToken}`);\r\n };\r\n }\r\n\r\n get Branding() {\r\n const { classes } = this.props;\r\n\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n get Title() {\r\n const { messages, classes } = this.props;\r\n\r\n return (\r\n \r\n \r\n {messages[titleMessageId]}\r\n \r\n \r\n );\r\n }\r\n\r\n get Form() {\r\n const { classes } = this.props;\r\n\r\n return (\r\n \r\n {this.LoginIdInput}\r\n {this.ErrorPanel}\r\n {this.Buttons}\r\n \r\n );\r\n }\r\n\r\n get LoginIdInput() {\r\n const name = \"loginId\";\r\n const label = this.props.messages[fieldMessageId];\r\n\r\n const inputRef = (input) => {\r\n this.loginInput = input;\r\n };\r\n\r\n const inputProps = {\r\n ...this.BasicInputProps,\r\n name,\r\n inputRef,\r\n id: \"login-id-input\",\r\n };\r\n\r\n return this.getFormInput(name, label, true, );\r\n }\r\n\r\n get BasicInputProps() {\r\n const { classes } = this.props;\r\n const { submitting } = this.state;\r\n\r\n return {\r\n autoComplete: \"off\",\r\n onChange: this.onFieldChange,\r\n disabled: submitting,\r\n className: classes.formInputText,\r\n classes: {\r\n input: classes.input,\r\n underline: classes.inputUnderline,\r\n },\r\n };\r\n }\r\n\r\n getFormInput(name, label, required = false, inputElement) {\r\n const { classes } = this.props;\r\n\r\n return (\r\n \r\n \r\n {label}\r\n \r\n {inputElement}\r\n \r\n );\r\n }\r\n\r\n get ErrorPanel() {\r\n const { classes } = this.props;\r\n const { errorText } = this.state;\r\n\r\n if (!errorText) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {errorText}\r\n \r\n \r\n );\r\n }\r\n\r\n get Buttons() {\r\n const { classes } = this.props;\r\n\r\n return (\r\n
\r\n
{this.ReturnButton}
\r\n
{this.SubmitButton}
\r\n
\r\n );\r\n }\r\n\r\n get SubmitButton() {\r\n const { disableSubmit, submitting } = this.state;\r\n const { messages } = this.props;\r\n const disabled = disableSubmit || submitting;\r\n const props = {\r\n type: \"submit\",\r\n variant: \"contained\",\r\n color: \"primary\",\r\n disabled,\r\n };\r\n const label = messages[submitMessageId];\r\n\r\n return ;\r\n }\r\n\r\n get ReturnButton() {\r\n const { submitting } = this.state;\r\n const { messages } = this.props;\r\n const disabled = submitting;\r\n const props = {\r\n variant: \"contained\",\r\n color: \"secondary\",\r\n disabled,\r\n onClick: this.handleReturnToLogin,\r\n };\r\n const label = messages[returnMessageId];\r\n\r\n return ;\r\n }\r\n\r\n get InfoPanel() {\r\n const { submitting, submitted } = this.state;\r\n const { messages } = this.props;\r\n const info = messages[infoMessageId].replace(\r\n \"~userName~\",\r\n messages[fieldMessageId]\r\n ).replace(\r\n \"~submit~\",\r\n messages[submitMessageId].toLowerCase()\r\n );\r\n\r\n let status = \"info\";\r\n let message = info;\r\n\r\n if (submitting) {\r\n status = \"submitting\";\r\n message = messages[submittingMessageId];;\r\n } else if (submitted) {\r\n status = submitted;\r\n message =\r\n status === CONSTANTS.SUCCESS\r\n ? messages[successMessageId]\r\n : messages[errorMessageId];\r\n }\r\n\r\n const props = { message, status };\r\n\r\n return ;\r\n }\r\n\r\n isFormFilled() {\r\n const { value } = this.loginInput;\r\n\r\n return this.isFieldFilled(value);\r\n }\r\n\r\n isFieldFilled(inputElement) {\r\n if (inputElement.value !== \"\") {\r\n return true;\r\n }\r\n\r\n const computedStyle = window.getComputedStyle(inputElement);\r\n const autofilled = computedStyle.content.includes(\"filled\");\r\n\r\n return autofilled;\r\n }\r\n\r\n render() {\r\n const { classes } = this.props;\r\n\r\n return (\r\n \r\n
\r\n \r\n \r\n {this.Branding}\r\n {this.Title}\r\n {this.InfoPanel}\r\n {this.Form}\r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nconst mapStoreToProps = (store) => {\r\n const settingsData = getSettingsData(store);\r\n const clientSettingsData = getClientSettingsData(settingsData);\r\n const sessionData = getSessionData(store);\r\n const clientSessionData = getClientSessionData(sessionData);\r\n return {\r\n orgID: getOrgId(clientSessionData),\r\n logoUrl: getLogoUrl(clientSettingsData),\r\n urlToken: getUrlToken(clientSessionData),\r\n };\r\n};\r\n\r\nForgotPassword = connect(mapStoreToProps)(ForgotPassword);\r\nForgotPassword = withStyles(styles)(ForgotPassword);\r\nForgotPassword = withMessages(ForgotPassword);\r\nForgotPassword = withRouter(ForgotPassword);\r\n\r\nexport { ForgotPassword };\r\n","import React from \"react\";\r\n\r\nimport { AppPageModifier } from \"components/pages/app-page-modifier\";\r\n\r\nimport { withMessages } from \"components/hocs/messages\";\r\nimport { MESSAGE_IDS } from \"constants/message-ids\";\r\n\r\nimport { ForgotPassword } from \"./forgot-password\";\r\n\r\nlet ForgotPasswordPage = (props) => {\r\n const title = props.messages[MESSAGE_IDS.FORGOTTEN_PASSWORD.TITLE];\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nForgotPasswordPage = withMessages(ForgotPasswordPage);\r\n\r\nexport { ForgotPasswordPage };\r\n","\nconst getEntered = (proctorioData) => {\n\treturn proctorioData.get('entered')\n}\n\nconst getParent = (proctorioData) => {\n\treturn proctorioData.get('parent')\n}\n\nconst getClientName = (proctorioData) => {\n\treturn proctorioData.get('clientName')\n}\n\nconst getUserInfo1 = (proctorioData) => {\n\treturn proctorioData.get('userInfo1')\n}\n\nconst getUserInfo2 = (proctorioData) => {\n\treturn proctorioData.get('userInfo2')\n}\n\nconst getExamGuid = (proctorioData) => {\n\treturn proctorioData.get('examGuid')\n}\n\nconst getCompletedExamGuid = (proctorioData) => {\n\treturn proctorioData.get('completedExamGuid')\n}\n\nconst getDebugMode = (proctorioData) => {\n\treturn proctorioData.get('debug')\n}\n\nconst getCallingMode = (proctorioData) => {\n\treturn proctorioData.get('calling')\n}\n\nconst isCallingModeSingle = (proctorioData) => {\n\tconst callingMode = proctorioData.get('calling');\n\treturn callingMode === 'single';\n}\n\nconst isCallingModeMultiple = (proctorioData) => {\n\tconst callingMode = proctorioData.get('calling');\n\treturn callingMode === 'multi';\n}\n\nconst getError = (proctorioData) => {\n\treturn proctorioData.get('error')\n}\n\nexport {\n\tgetEntered,\n\tgetParent,\n\tgetClientName,\n\tgetUserInfo1,\n\tgetUserInfo2,\n\tgetExamGuid,\n\tgetCompletedExamGuid,\n\tgetDebugMode,\n\tgetCallingMode,\n\tisCallingModeSingle,\n\tisCallingModeMultiple,\n\tgetError\n}","\n// other modules\nimport {api} from '../api'\nimport {ENDPOINTS} from '../constants'\n\n\nconst ping = () => api.get(ENDPOINTS.PING, {});\nconst init = (url) => api.post(ENDPOINTS.INIT, {url});\nconst getTime = (userGuid) => api.get(ENDPOINTS.TIME, {userGuid});\n\nconst fetchResource = (resourceUrl) => api.download(resourceUrl);\n\n\nconst generalApi = {ping, init, getTime, fetchResource};\nObject.freeze(generalApi);\n\nexport {generalApi}","\r\n// npm\r\nimport React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport {connect} from 'react-redux'\r\n\r\n// redux (actions)\r\nimport {createClientSession, createClientSettings, setNetworkErrorInfo} from './actions'\r\n\r\n// utils\r\nimport {generalApi} from 'libs/api/interface/api-general'\r\nimport { ENDPOINTS } from \"libs/api/constants\";\r\n\r\n\r\n\r\n// SessionInitializer (not connected to store)\r\n// ---------------------------------------------\r\n\r\nconst getClientUrl=()=>{\r\n const pathName = window.location.pathname;\r\n\r\n if (pathName.startsWith('/proctorio')) {\r\n const params = pathName.split('/');\r\n \tconst url = params.length>1?`${window.location.protocol}//${window.location.hostname}/clients/${params[2]}`:document.location.href;\r\n\r\n \treturn url;\r\n }\r\n\r\n return document.location.href;\r\n}\r\n\r\nclass SessionInitializer extends React.Component\r\n{\r\n\tconstructor(props){\r\n\t\tsuper(props);\r\n\r\n\t\tthis.handleError=this.handleError.bind(this);\r\n\t}\r\n\r\n\thandleError(error){\r\n\t\tconst {onError, saveNetworkErrorInfo} = this.props;\r\n\t\tconst url = getClientUrl();\r\n\r\n\t\tsaveNetworkErrorInfo({error, endpoint: ENDPOINTS.INIT, url});\r\n\t\tonError(error);\r\n\t}\r\n\r\n\tcomponentDidMount()\r\n\t{\r\n\t\tconst onSuccess = (response) => {\r\n\t\t\tconst parsedResponse = JSON.parse(response);\r\n\r\n\t\t\tif (!parsedResponse.success) { this.props.onFail(); return; }\r\n\t\t\t\r\n\t\t\tthis.props.createClientSession(parsedResponse);\r\n\t\t\tthis.props.createClientSettings(parsedResponse);\r\n\t\t\tthis.props.onSuccess();\r\n\t\t}\r\n\r\n\t\tconst url = getClientUrl();\r\n\t\tgeneralApi.init(url).then(onSuccess, this.props.onError);\r\n\t}\r\n\r\n\trender()\r\n\t{\r\n\t\treturn null;\r\n\t}\r\n}\r\n\r\nSessionInitializer.propTypes = {\r\n\tonSuccess: PropTypes.func.isRequired,\r\n\tonFail: PropTypes.func.isRequired,\r\n\tonError: PropTypes.func.isRequired\r\n}\r\n\r\n\r\n// SessionInitializer (connected to store)\r\n// ---------------------------------------------\r\n\r\nconst mapDispatchToProps = (dispatch, {onSuccess, onFail}) => ({\r\n\tcreateClientSession: ({orgID, urlToken}) => {\r\n\t\tdispatch(createClientSession(orgID, urlToken));\r\n\t},\r\n\tcreateClientSettings: ({logo, appBarLogo, primaryColour, secondaryColour, enableForgottenPassword, legacySingleSignon, adminUrl}) => {\r\n\t\tdispatch(createClientSettings(logo, appBarLogo, primaryColour, secondaryColour, enableForgottenPassword, legacySingleSignon, adminUrl));\r\n\t},\r\n\tsaveNetworkErrorInfo: (value) => {\r\n\t\tdispatch(setNetworkErrorInfo(value));\r\n\t}\r\n})\r\n\r\nSessionInitializer = connect(undefined, mapDispatchToProps)(SessionInitializer);\r\n\r\n\r\nexport {SessionInitializer}","\r\n// redux (action-types)\r\nimport {LOAD_TOKENS} from 'redux/reducers/session/tokens/action-types'\r\nimport {LOAD_SETTINGS, CREATE_SETTINGS} from 'redux/reducers/settings/client/action-types'\r\nimport {LOAD_SESSION as LOAD_USER_SESSION} from 'redux/reducers/session/user/action-types'\r\nimport {LOAD_SESSION as LOAD_CLIENT_SESSION, CREATE_SESSION} from 'redux/reducers/session/client/action-types'\r\nimport {SET_NETWORK_ERROR_INFO} from 'redux/reducers/app/action-types'\r\n\r\nconst loadClientSession = () => ({type: LOAD_CLIENT_SESSION});\r\nconst loadUserSession = () => ({type: LOAD_USER_SESSION});\r\nconst loadClientSettings = () => ({type: LOAD_SETTINGS});\r\nconst loadTokens = () => ({type: LOAD_TOKENS});\r\n\r\n\r\nconst createClientSession = (orgId, urlToken) => ({\r\n\ttype: CREATE_SESSION,\r\n\turlToken,\r\n\torgId\r\n});\r\n\r\nconst createClientSettings = (logo, appBarLogo, primaryColour, secondaryColour, enableForgottenPassword, legacySingleSignon, adminUrl) => ({\r\n\ttype: CREATE_SETTINGS,\r\n\tprimaryColour,\r\n\tsecondaryColour,\r\n\tappBarLogo,\r\n\tlogo,\r\n\tenableForgottenPassword,\r\n\tlegacySingleSignon,\r\n\tadminUrl\t\r\n});\r\n\r\nconst setNetworkErrorInfo = (value) => ({\r\n\ttype: SET_NETWORK_ERROR_INFO,\r\n\tvalue\r\n});\r\n\r\nexport {\r\n\tloadClientSession,\r\n\tloadUserSession,\r\n\tloadClientSettings,\r\n\tloadTokens,\r\n\tcreateClientSession,\r\n\tcreateClientSettings,\r\n\tsetNetworkErrorInfo\r\n}","import {\r\n SET_ENTERED,\r\n SET_PARENT,\r\n SET_CLIENT_NAME,\r\n SET_USER_INFO_1,\r\n SET_USER_INFO_2,\r\n SET_EXAM_GUID,\r\n CLEAR_DATA,\r\n SET_COMPLETED_EXAM_GUID,\r\n SET_ERROR\r\n} from \"redux/reducers/proctorio/action-types\";\r\n\r\nconst setEntered = (value) => ({\r\n type: SET_ENTERED,\r\n value,\r\n});\r\n\r\nconst setParent = (value) => ({\r\n type: SET_PARENT,\r\n value,\r\n});\r\n\r\nconst setClientName = (value) => ({\r\n type: SET_CLIENT_NAME,\r\n value,\r\n});\r\n\r\nconst setUserInfo1 = (value) => ({\r\n type: SET_USER_INFO_1,\r\n value,\r\n});\r\n\r\nconst setUserInfo2 = (value) => ({\r\n type: SET_USER_INFO_2,\r\n value,\r\n});\r\n\r\nconst setExamGuid = (value) => ({\r\n type: SET_EXAM_GUID,\r\n value,\r\n});\r\n\r\nconst clearData = (value) => ({\r\n type: CLEAR_DATA,\r\n value,\r\n});\r\n\r\nconst setCompletedExamGuid = (value) => ({\r\n type: SET_COMPLETED_EXAM_GUID,\r\n value,\r\n});\r\n\r\nconst setError = (value) => ({\r\n type: SET_ERROR,\r\n value,\r\n});\r\n\r\nexport {\r\n setEntered,\r\n setParent,\r\n setClientName,\r\n setUserInfo1,\r\n setUserInfo2,\r\n setExamGuid,\r\n clearData,\r\n setCompletedExamGuid,\r\n setError\r\n};\r\n","// npm\r\nimport React, { Component } from 'react';\r\nimport {connect} from 'react-redux'\r\n\r\nimport { AppPageModifier } from \"components/pages/app-page-modifier\";\r\nimport { LoadingSpinner } from \"components/presentation/loading-spinner\";\r\n\r\n// redux\r\nimport * as ACTIONS from 'components/pages/login/form/actions'\r\nimport {getClientSessionData} from 'redux/reducers/session/selectors'\r\nimport {getOrgId} from 'redux/reducers/session/client/selectors'\r\nimport {getSessionData} from 'redux/reducers/selectors'\r\nimport {getMessagesData} from 'redux/reducers/selectors'\r\nimport {getMessageById} from 'redux/reducers/messages/complex-selectors'\r\n\r\n// utils\r\nimport {authenticationApi} from 'libs/api/interface/api-authentication'\r\n\r\n// constants\r\nimport {MESSAGE_IDS} from 'constants/message-ids'\r\nimport { setError } from './actions';\r\nimport { check } from '@xams-utils/check-types';\r\n\r\n\r\n// AuthenicateUser (not connected to store)\r\n// --------------------------------------------------\r\n\r\nconst getScreenResolutionData = () =>\r\n{\r\n\tconst {screen, devicePixelRatio} = window;\r\n\r\n\tconst cssWidth = screen.width;\r\n\tconst cssHeight = screen.height;\r\n\r\n\tconst screenWidth = cssWidth * devicePixelRatio; // see https://coderwall.com/p/ygcyha/how-to-get-real-mobile-css-resolutions-for-responsive-design\r\n\tconst screenHeight = cssHeight * devicePixelRatio;\r\n\r\n\treturn {\r\n\t\tcss: {width: cssWidth, height: cssHeight},\r\n\t\tscreen: {width: screenWidth, height: screenHeight},\r\n\t\tpixelRatio: devicePixelRatio\r\n\t}\r\n}\r\n\r\nconst getScreenResolutionString = () =>\r\n{\r\n\tconst {css, screen, pixelRatio} = getScreenResolutionData();\r\n\r\n\tconst cssResolution = `${css.width}x${css.height}`;\r\n\tconst actualResolution = `${screen.width}x${screen.height}`;\r\n\r\n\treturn `[css=${cssResolution}] [screen=${actualResolution}] [pixelRatio=${pixelRatio}]`;\r\n}\r\n\r\nconst getErrorObj=(response)=>{\r\n\ttry{\r\n\t\tif (response && check.nonEmptyString(response.response)){\r\n\t\t\tconst obj=JSON.parse(response.responseText);\r\n\t\t\tif (check.nonEmptyObject(obj)){\r\n\t\t\t\treturn obj;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn {}\r\n\t}\r\n\tcatch(e){\r\n\t\treturn {}\r\n\t}\r\n}\r\n\r\nclass AuthenicateUser extends React.Component\r\n{\r\n\tcomponentDidMount()\r\n\t{\r\n\t\tconst payload = {\r\n\t\t\tusername: this.props.userInfo1,\r\n\t\t\tpassword: this.props.userInfo2,\r\n\t\t\torgId: this.props.orgId,\r\n\t\t\tscreenRes: getScreenResolutionString(),\r\n\t\t\tuserAgent: navigator.userAgent,\r\n\t\t\tnoNewSession: true,\r\n\t\t\tredirectedViaProctorio: true\r\n\t\t}\r\n\r\n\t\tconst onSuccess = (response) => {\r\n\t\t\t// 1. Parse response\r\n\t\t\tconst parsedResponse = JSON.parse(response);\r\n\r\n\t\t\t// 2. Extract important properties\r\n\t\t\tconst {access_token, refresh_token} = parsedResponse;\r\n\t\t\tconst {UserLanguageID:userLanguageId, UserID:userId} = parsedResponse;\r\n\t\t\tconst {UserGUID:userGuid, UserFirstName:userFirstName} = parsedResponse;\r\n\t\t\tconst {UserLastName:userLastName} = parsedResponse;\r\n\t\t\tconst {DOB:dateOfBirth} = parsedResponse;\r\n\t\t\tconst {Admin:admin} = parsedResponse;\r\n\t\t\tconst {NINumber:learnerIdentifier} = parsedResponse;\r\n\r\n\t\t\t// 3. Save tokens\r\n\t\t\tthis.props.saveTokens(access_token, refresh_token);\r\n\r\n\t\t\t// 4. Save user data\r\n\t\t\tthis.props.createUserSession(userId, userGuid, userFirstName, userLastName, userLanguageId, dateOfBirth, learnerIdentifier);\r\n\r\n\t\t\t// 5. Final touches\r\n\t\t\tthis.props.onSuccess();\r\n\t\t}\r\n\r\n\t\tconst onFail = (response) => {\r\n\t\t\tthis.props.setError({name:\"Authenticate User\", error: getErrorObj(response), payload})\r\n\t\t\tthis.props.onFail();\r\n\t\t}\r\n\r\n authenticationApi.requestAuthentication(payload)\r\n .then(onSuccess, onFail);\r\n\t}\r\n\r\n render() { \r\n const appBarProps = {\r\n title: \"Authenticating User\",\r\n loadingTitle: true,\r\n logo: true,\r\n };\r\n\r\n return (\r\n \r\n \r\n ;\r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStoreToProps = (store) => ({\r\n\t// u: getUsername(getCredentialData(getLoginData(store))),\r\n\t// p: getPassword(getCredentialData(getLoginData(store))),\r\n\torgId: getOrgId(getClientSessionData(getSessionData(store))),\r\n\twrongPasswordText: getMessageById(getMessagesData(store))(MESSAGE_IDS.LOGIN.WRONG_PASSWORD),\r\n\tinvalidLoginTokenText: getMessageById(getMessagesData(store))(MESSAGE_IDS.LOGIN.INVALID_LOGIN_TOKEN),\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n\tsaveTokens: (access, refresh) => {\r\n\t\tdispatch(ACTIONS.saveTokens({access, refresh}));\r\n\t},\r\n\tcreateUserSession: (id, guid, firstName, lastName, languageId, dateOfBirth, admin, learnerIdentifier) => {\r\n\t\tconst data = {id, guid, firstName, lastName, languageId, dateOfBirth, admin, learnerIdentifier};\r\n\t\tdispatch(ACTIONS.createUserSession(data));\r\n\t},\r\n\tclearFormData: () => {\r\n\t\tdispatch(ACTIONS.clearCredentials());\r\n\t\tdispatch(ACTIONS.clearLoginError());\r\n\t},\r\n\tclearPassword: () => {\r\n\t\tdispatch(ACTIONS.clearPassword());\r\n\t},\r\n\tsetLoginError: (msg) => {\r\n\t\tdispatch(ACTIONS.setLoginError(msg));\r\n\t},\r\n\tsetError: (value) => {\r\n\t\tdispatch(setError(value))\r\n\t}\r\n})\r\n\r\nAuthenicateUser = connect(mapStoreToProps, mapDispatchToProps)(AuthenicateUser);\r\n\r\n\r\nexport {AuthenicateUser}","import React, { Component } from 'react';\r\n\r\nclass LoadSchedule extends Component {\r\n state = { }\r\n\r\n componentDidMount(){\r\n const {onSuccess} = this.props;\r\n onSuccess();\r\n }\r\n\r\n render() { \r\n return null;\r\n }\r\n}\r\n \r\nexport {LoadSchedule};","const isInitialized = (appData) => appData.get(\"initialized\");\r\nconst hasNetworkErrorOccurred = (appData) => appData.get(\"networkError\");\r\nconst isOfflineMode = (appData) => !!appData.get(\"offline\");\r\nconst getOfflineReason = (appData) => {\r\n try {\r\n return appData.get(\"offlineReason\").toJS();\r\n } catch (e) {\r\n debugger;\r\n }\r\n};\r\nconst getNetworkErrorInfo = (appData) => {\r\n try {\r\n return appData.get(\"networkErrorInfo\");\r\n } catch (e) {\r\n return null;\r\n }\r\n};\r\n\r\nexport {\r\n isInitialized,\r\n hasNetworkErrorOccurred,\r\n isOfflineMode,\r\n getOfflineReason,\r\n getNetworkErrorInfo,\r\n};\r\n","import React, { Component } from \"react\";\r\nimport { check } from \"@xams-utils/check-types\";\r\nimport { connect } from \"react-redux\";\r\nimport moment from \"moment\";\r\n\r\nimport { getProctorioData } from \"redux/reducers/selectors\";\r\nimport { getError } from \"redux/reducers/proctorio/selectors\";\r\nimport { getAppData } from \"redux/reducers/selectors\";\r\nimport { getNetworkErrorInfo } from \"redux/reducers/app/selectors\";\r\nimport { getSettingsData } from \"redux/reducers/selectors\";\r\nimport { getAppVersion } from \"redux/reducers/settings/app/selectors\";\r\nimport { getAppSettingsData } from \"redux/reducers/settings/selectors\";\r\n\r\nimport { AppPageModifier } from \"components/pages/app-page-modifier\";\r\n\r\nimport { Align } from \"components/layout/align\";\r\nimport { MaterialText } from \"components/presentation/material-text\";\r\nimport ExpansionPanel from \"@material-ui/core/ExpansionPanel\";\r\nimport ExpansionPanelSummary from \"@material-ui/core/ExpansionPanelSummary\";\r\nimport ExpansionPanelDetails from \"@material-ui/core/ExpansionPanelDetails\";\r\nimport Card from \"@material-ui/core/Card\";\r\nimport CardContent from \"@material-ui/core/CardContent\";\r\nimport ExpandMoreIcon from \"@material-ui/icons/ExpandMore\";\r\n\r\nconst displayErrorObject = (obj) => {\r\n const a = [];\r\n\r\n if (check.nonEmptyObject(obj)) {\r\n for (const property in obj) {\r\n a.push(\r\n \r\n {property}: {obj[property]}\r\n \r\n );\r\n }\r\n }\r\n \r\n return a;\r\n};\r\n\r\nconst displayDateTime=()=>{\r\n const a=[]\r\n\r\n a.push(date: {moment().format(\"dddd, MMMM Do YYYY\")})\r\n a.push(time: {moment().format(\"HH:mm:ss\")})\r\n\r\n return a;\r\n}\r\n\r\nclass LoadingFailed extends Component {\r\n state = {};\r\n\r\n displayError() {\r\n const { loadingError } = this.props;\r\n const { error, payload } = loadingError;\r\n\r\n return (\r\n
\r\n {displayDateTime()}\r\n {displayErrorObject(error)}\r\n {displayErrorObject(payload)}\r\n
\r\n );\r\n }\r\n\r\n displayLoadingError(title) {\r\n return (\r\n \r\n }>\r\n {title}\r\n \r\n \r\n {this.displayError()}\r\n \r\n \r\n );\r\n }\r\n\r\n displayMessage(title){\r\n return (\r\n \r\n }>\r\n {title}\r\n \r\n \r\n
\r\n {displayDateTime()}\r\n
\r\n
\r\n
\r\n );\r\n };\r\n\r\n render() {\r\n const { loadingError, message } = this.props;\r\n let title = \"There was an problem setting up your Proctorio Exam\";\r\n\r\n if (check.nonEmptyString(message)) {\r\n title += \": \" + message;\r\n } else if (check.nonEmptyObject(loadingError)) {\r\n const { name } = loadingError;\r\n if (check.nonEmptyString(name)) {\r\n title += \": \" + name;\r\n }\r\n }\r\n const appBarProps = {\r\n title,\r\n loadingTitle: false,\r\n logo: true,\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n {check.nonEmptyObject(loadingError)\r\n ? this.displayLoadingError(title)\r\n : this.displayMessage(title)}\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nconst mapStoreToProps = (store) => {\r\n const proctorioData = getProctorioData(store);\r\n const appData = getAppData(store);\r\n const appSettingsData = getAppSettingsData(getSettingsData(store));\r\n\r\n return {\r\n networkErrorInfo: getNetworkErrorInfo(appData),\r\n appVersion: getAppVersion(appSettingsData),\r\n loadingError: getError(proctorioData),\r\n };\r\n};\r\n\r\nLoadingFailed = connect(mapStoreToProps)(LoadingFailed);\r\n\r\nexport { LoadingFailed };\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { withRouter } from \"react-router-dom\";\r\n\r\nimport { getProctorioData } from \"redux/reducers/selectors\";\r\nimport { getDebugMode } from \"redux/reducers/proctorio/selectors\";\r\n\r\nclass RedirectToExam extends Component {\r\n state = {};\r\n\r\n componentDidMount() {\r\n const { history, examGuid, debugMode } = this.props;\r\n\r\n if (!examGuid) {\r\n history.push(`/schedules`);\r\n }\r\n else{\r\n \r\n if (!debugMode){\r\n window.top.postMessage(\r\n [\"exam_state_change\", \"exam_take\"],\r\n \"https://getproctorio.com\"\r\n );\r\n }\r\n\r\n history.push(`/exam/${examGuid}`);\r\n }\r\n\r\n }\r\n\r\n render() {\r\n return null;\r\n }\r\n}\r\n\r\nRedirectToExam = withRouter(RedirectToExam);\r\n\r\nconst mapStoreToProps = (store) => {\r\n const proctorioData = getProctorioData(store);\r\n const debugMode = getDebugMode(proctorioData)\r\n\r\n return {\r\n debugMode\r\n };\r\n};\r\n\r\nRedirectToExam = connect(mapStoreToProps)(RedirectToExam);\r\n\r\nexport { RedirectToExam };\r\n","\r\n// utils\r\nimport {api} from '../api'\r\nimport {ENDPOINTS} from '../constants'\r\n\r\n\r\nconst getCalculatorEvaluationMode = (orgId) =>\r\n{\r\n\tconst payload = {\r\n\t\torgID: orgId,\r\n\t\tsetting: \"SimpleCalculatorEvaluation\"\r\n\t}\r\n\r\n\treturn api.get(ENDPOINTS.SETTING, payload);\r\n}\r\n\r\nconst getConfirmDobMode = (orgId) =>\r\n{\r\n\tconst payload = {\r\n\t\torgID: orgId,\r\n\t\tsetting: \"ConfirmLearnerDOB\"\r\n\t}\r\n\r\n\treturn api.get(ENDPOINTS.SETTING, payload);\r\n}\r\n\r\nconst getConfirmLearnerIdentifierMode = (orgId) =>\r\n{\r\n\tconst payload = {\r\n\t\torgID: orgId,\r\n\t\tsetting: \"ConfirmLearnerIdentifier\"\r\n\t}\r\n\r\n\treturn api.get(ENDPOINTS.SETTING, payload);\r\n}\r\n\r\nconst getNotifyImmediatelyOnConnectionLoss = (orgId) =>\r\n{\r\n\tconst payload = {\r\n\t\torgID: orgId,\r\n\t\tsetting: \"NotifyLearnerImmediatelyOnConnectionLoss\"\r\n\t}\r\n\r\n\treturn api.get(ENDPOINTS.SETTING, payload);\r\n}\r\n\r\nconst getHideSectionNamesInPlayer = (orgId) => {\r\n\tconst payload = {\r\n\t\torgID: orgId,\r\n\t\tsetting: \"HideSectionNamesInPlayer\"\r\n\t}\r\n\r\n\treturn api.get(ENDPOINTS.SETTING, payload);\t\r\n}\r\n\r\nconst getRememberScenario = (orgId) => {\r\n\tconst payload = {\r\n\t\torgID: orgId,\r\n\t\tsetting: \"xams6_RememberScenario\"\r\n\t}\r\n\r\n\treturn api.get(ENDPOINTS.SETTING, payload);\t\r\n}\r\n\r\nconst getUploadFileTypes = (orgId) => {\r\n\tconst payload = {\r\n\t\torgID: orgId,\r\n\t\tsetting: \"AllowedAssignmentUploadFileTypes\"\r\n\t}\r\n\r\n\treturn api.get(ENDPOINTS.SETTING, payload);\t\r\n}\r\n\r\nconst getResultFeedbackMask = (orgId) =>\r\n{\r\n\tconst payload = {\r\n\t\torgID: orgId,\r\n\t\tsetting: 'ResultFeedbackMask'\r\n\t}\r\n\r\n\treturn api.get(ENDPOINTS.SETTING, payload);\r\n}\r\n\r\nconst getIntegrityAdvocateAppID = (orgId) =>\r\n{\r\n\tconst payload = {\r\n\t\torgID: orgId,\r\n\t\tsetting: 'IntegrityAdvocate-AppID'\r\n\t}\r\n\r\n\treturn api.get(ENDPOINTS.SETTING, payload);\r\n}\r\n\r\nconst getProctorioLoginlessMode = (orgId) =>\r\n{\r\n\tconst payload = {\r\n\t\torgID: orgId,\r\n\t\tsetting: 'Proctorio-LoginlessMode'\r\n\t}\r\n\r\n\treturn api.get(ENDPOINTS.SETTING, payload);\r\n}\r\n\r\nconst getOrgFullScreenExam = (orgId) => {\r\n\tconst payload = {\r\n\t\torgID: orgId,\r\n\t\tsetting: \"FullScreenExamUIv6\"\r\n\t}\r\n\r\n\treturn api.get(ENDPOINTS.SETTING, payload);\t\r\n}\r\n\r\nconst getCalculatorExtraButtonsFlag= (orgId) => {\r\n\tconst payload = {\r\n\t\torgID: orgId,\r\n\t\tsetting: 'CalculatorExtraButtonsFlag'\r\n\t}\r\n\r\n return api.get(ENDPOINTS.SETTING, payload);\t\r\n}\r\n\r\nconst getShowQuestionIDInPlayer = (orgId) => {\r\n\tconst payload = {\r\n\t\torgID: orgId,\r\n\t\tsetting: \"ShowQuestionIDInPlayer\"\r\n\t}\r\n\r\n\treturn api.get(ENDPOINTS.SETTING, payload);\t\r\n}\r\n\r\n\r\nconst settingsApi = {\r\n\tgetCalculatorEvaluationMode,\r\n\tgetNotifyImmediatelyOnConnectionLoss,\r\n\tgetConfirmDobMode,\r\n\tgetConfirmLearnerIdentifierMode,\r\n\tgetHideSectionNamesInPlayer,\r\n\tgetRememberScenario,\r\n\tgetUploadFileTypes,\r\n\tgetResultFeedbackMask,\r\n\tgetIntegrityAdvocateAppID,\r\n\tgetProctorioLoginlessMode,\r\n\tgetOrgFullScreenExam,\r\n\tgetCalculatorExtraButtonsFlag,\r\n\tgetShowQuestionIDInPlayer\r\n}\r\n\r\nObject.freeze(settingsApi);\r\n\r\n\r\nexport {settingsApi};","// npm\r\nimport React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\n\r\n// react\r\nimport { AppPageModifier } from \"components/pages/app-page-modifier\";\r\n\r\n// redux (selectors)\r\nimport { getOrgId } from \"redux/reducers/session/client/selectors\";\r\nimport { getClientSessionData } from \"redux/reducers/session/selectors\";\r\nimport { getSessionData } from \"redux/reducers/selectors\";\r\n\r\n// redux (action-types)\r\nimport {\r\n SET_NOTIFY_IMMEDIATELY_ON_LOST_CONNECTION,\r\n SET_CALCULATOR_EVALUATION_MODE,\r\n SET_CONFIRM_DOB_MODE,\r\n SET_CONFIRM_LEARNER_IDENTIFIER_MODE,\r\n SET_HIDE_SECTION_NAMES_IN_PLAYER,\r\n SET_REMEMBER_SCENARIO,\r\n SET_UPLOAD_FILE_TYPES,\r\n SET_RESULT_FEEDBACK_MASK,\r\n SET_INTEGRITY_ADVOCATE_APP_ID,\r\n SET_ORG_FULL_SCREEN_EXAM,\r\n SET_ORG_CALCULATOR_EXTRA_BUTTONS_FLAG,\r\n SET_ORG_SHOW_QUESTION_ID_IN_PLAYER \r\n\r\n} from \"redux/reducers/settings/client/action-types\";\r\n\r\n// redux (actions)\r\nimport { setNetworkError } from \"components/actions\";\r\n\r\n// utils\r\nimport { settingsApi } from \"libs/api/interface/api-settings\";\r\n\r\nconst saveCalculatorEvaluationMode = (value) => ({\r\n type: SET_CALCULATOR_EVALUATION_MODE,\r\n value,\r\n});\r\n\r\nconst saveConfirmDobMode = (value) => ({\r\n type: SET_CONFIRM_DOB_MODE,\r\n value,\r\n});\r\n\r\nconst saveConfirmLearnerIdentifierMode= (value) => ({\r\n type: SET_CONFIRM_LEARNER_IDENTIFIER_MODE,\r\n value,\r\n});\r\n\r\nconst saveHideSectionNamesInPlayer = (value) => ({\r\n type: SET_HIDE_SECTION_NAMES_IN_PLAYER,\r\n value,\r\n});\r\n\r\nconst saveRememberScenario = (value) => ({\r\n type: SET_REMEMBER_SCENARIO,\r\n value,\r\n});\r\n\r\nconst saveNotifyImmediatelyOnLostConnection = (value) => ({\r\n type: SET_NOTIFY_IMMEDIATELY_ON_LOST_CONNECTION,\r\n value,\r\n});\r\n\r\nconst saveUploadFileTypes = (value) => ({\r\n type: SET_UPLOAD_FILE_TYPES,\r\n value,\r\n});\r\n\r\nconst saveResultFeedbackMask = (value) => ({\r\n type: SET_RESULT_FEEDBACK_MASK,\r\n value,\r\n});\r\n\r\nconst saveIntegrityAdvocateAppID = (value) => ({\r\n type: SET_INTEGRITY_ADVOCATE_APP_ID,\r\n value,\r\n});\r\n\r\nconst saveOrgFullScreenExam = (value) => ({\r\n type: SET_ORG_FULL_SCREEN_EXAM,\r\n value,\r\n});\r\n\r\nconst saveCalculatorExtraButtonsFlag = (value) => ({\r\n type: SET_ORG_CALCULATOR_EXTRA_BUTTONS_FLAG,\r\n value,\r\n});\r\n\r\nconst saveShowQuestionIDInPlayer = (value) => ({\r\n type: SET_ORG_SHOW_QUESTION_ID_IN_PLAYER,\r\n value,\r\n});\r\n\r\nclass ClientSettingsFetcher extends React.Component {\r\n componentDidMount() {\r\n this.fetchSettings(this.props.orgId)\r\n .then(this.props.onSuccess)\r\n .catch(this.props.onError);\r\n }\r\n\r\n async fetchSettings(orgId) {\r\n let response = await settingsApi.getCalculatorEvaluationMode(orgId);\r\n this.props.setCalculatorEvaluationMode(response);\r\n\r\n response = await settingsApi.getConfirmDobMode(orgId);\r\n this.props.setConfirmDobMode(response);\r\n\r\n\t\tresponse = await settingsApi.getHideSectionNamesInPlayer(orgId);\r\n this.props.setHideSectionNamesInPlayer(response);\r\n\r\n response = await settingsApi.getConfirmLearnerIdentifierMode(orgId);\r\n this.props.setConfirmLearnerIdentifierMode(response); \r\n\r\n response = await settingsApi.getRememberScenario(orgId);\r\n this.props.setRememberScenario(response);\r\n\r\n response = await settingsApi.getNotifyImmediatelyOnConnectionLoss(\r\n orgId\r\n\t\t);\r\n this.props.setNotifyImmediatelyOnLostConnection(response);\r\n\r\n response = await settingsApi.getUploadFileTypes(orgId);\r\n this.props.setUploadFileTypes(response); \r\n \r\n response = await settingsApi.getResultFeedbackMask(orgId);\r\n\t\tthis.props.setResultFeedbackMask(response);\r\n\r\n response = await settingsApi.getIntegrityAdvocateAppID(orgId);\r\n\t\tthis.props.setIntegrityAdvocateAppID(response);\r\n\r\n response = await settingsApi.getOrgFullScreenExam(orgId);\r\n this.props.setOrgFullScreenExam(response);\r\n\r\n response = await settingsApi.getCalculatorExtraButtonsFlag(orgId);\r\n this.props.setCalculatorExtraButtonsFlag(response); \r\n\r\n response = await settingsApi.getShowQuestionIDInPlayer(orgId);\r\n this.props.setShowQuestionIDInPlayer(response); \r\n }\r\n\r\n render() {\r\n const appBarProps = {\r\n title: \"Loading settings\",\r\n loadingTitle: true,\r\n logo: true,\r\n };\r\n\r\n return ;\r\n }\r\n}\r\n\r\nClientSettingsFetcher.propTypes = {\r\n orgId: PropTypes.number.isRequired,\r\n setCalculatorEvaluationMode: PropTypes.func.isRequired,\r\n setNotifyImmediatelyOnLostConnection: PropTypes.func.isRequired,\r\n onError: PropTypes.func.isRequired,\r\n};\r\n\r\nconst mapStoreToProps = (store) => ({\r\n orgId: getOrgId(getClientSessionData(getSessionData(store))),\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch, { onSuccess }) => ({\r\n onError: () => dispatch(setNetworkError(true)),\r\n setNotifyImmediatelyOnLostConnection: (response) => {\r\n const parsedResponse = JSON.parse(response);\r\n dispatch(saveNotifyImmediatelyOnLostConnection(parsedResponse.value));\r\n },\r\n setCalculatorEvaluationMode: (response) => {\r\n const parsedResponse = JSON.parse(response);\r\n dispatch(saveCalculatorEvaluationMode(parsedResponse.value));\r\n },\r\n setConfirmDobMode: (response) => {\r\n const parsedResponse = JSON.parse(response);\r\n dispatch(saveConfirmDobMode(parsedResponse.value));\r\n },\r\n setConfirmLearnerIdentifierMode: (response) => {\r\n const parsedResponse = JSON.parse(response);\r\n dispatch(saveConfirmLearnerIdentifierMode(parsedResponse.value));\r\n }, \r\n setHideSectionNamesInPlayer: (response) => {\r\n const parsedResponse = JSON.parse(response);\r\n dispatch(saveHideSectionNamesInPlayer(parsedResponse.value));\r\n },\r\n setRememberScenario: (response) => {\r\n const parsedResponse = JSON.parse(response);\r\n dispatch(saveRememberScenario(parsedResponse.value));\r\n },\r\n setUploadFileTypes: (response) => {\r\n const parsedResponse = JSON.parse(response);\r\n dispatch(saveUploadFileTypes(parsedResponse.value));\r\n },\r\n\tsetResultFeedbackMask: (response) => {\r\n\t\tconst parsedResponse = JSON.parse(response);\r\n\t\tdispatch(saveResultFeedbackMask(parsedResponse.value));\r\n\t},\r\n\tsetIntegrityAdvocateAppID: (response) => {\r\n\t\tconst parsedResponse = JSON.parse(response);\r\n\t\tdispatch(saveIntegrityAdvocateAppID(parsedResponse.value));\r\n\t},\r\n setOrgFullScreenExam: (response) => {\r\n const parsedResponse = JSON.parse(response);\r\n dispatch(saveOrgFullScreenExam(parsedResponse.value));\r\n },\r\n setCalculatorExtraButtonsFlag: (response) => {\r\n const parsedResponse = JSON.parse(response);\r\n dispatch(saveCalculatorExtraButtonsFlag(parsedResponse.value));\r\n },\r\n setShowQuestionIDInPlayer: (response) => {\r\n const parsedResponse = JSON.parse(response);\r\n dispatch(saveShowQuestionIDInPlayer(parsedResponse.value));\r\n }, \r\n});\r\n\r\nClientSettingsFetcher = connect(\r\n mapStoreToProps,\r\n mapDispatchToProps\r\n)(ClientSettingsFetcher);\r\n\r\nexport { ClientSettingsFetcher };\r\n","import React, { Component } from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { connect } from \"react-redux\";\r\n\r\nimport { setParent, setEntered } from \"./actions\";\r\nimport { getProctorioData } from \"redux/reducers/selectors\";\r\nimport { getDebugMode } from \"redux/reducers/proctorio/selectors\";\r\n\r\nimport { AppPageModifier } from \"components/pages/app-page-modifier\";\r\n\r\n\r\nclass ProctorioParentChecker extends Component {\r\n state = {};\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.handleMessageFromProctorio = (evt) => {\r\n const { data, origin } = evt;\r\n if (origin === \"https://getproctorio.com\") {\r\n const { active } = data;\r\n\r\n if (active) {\r\n this.setProctorioActive();\r\n }\r\n }\r\n };\r\n\r\n this.redirectToSchedule=()=>{\r\n const {history, enteredSet} = this.props;\r\n\r\n clearTimeout(this.timer);\r\n enteredSet(false);\r\n history.push(`/schedules`);\r\n }\r\n\r\n this.setProctorioActive=()=>{\r\n const { onSuccess, parentSet } = this.props;\r\n\r\n clearTimeout(this.timer);\r\n document.body.style.height = \"1000px\"; \r\n parentSet(true);\r\n onSuccess();\r\n }\r\n\r\n this.timer = null;\r\n }\r\n\r\n componentDidMount() {\r\n const {debugMode, examGuid} = this.props;\r\n\r\n if (!examGuid) {\r\n const {onSuccess} = this.props;\r\n\r\n onSuccess();\r\n }\r\n else{\r\n if (debugMode){\r\n alert('Start Proctorio')\r\n this.setProctorioActive();\r\n }\r\n else{\r\n window.addEventListener(\"message\", this.handleMessageFromProctorio);\r\n\r\n window.top.postMessage(\r\n [\"proctorio_status\"],\r\n \"https://getproctorio.com\"\r\n );\r\n\r\n //this.timer = setTimeout(()=>{this.redirectToSchedule()}, 5000);\r\n }\r\n }\r\n }\r\n\r\n componentWillUnmount(){\r\n clearTimeout(this.timer);\r\n window.removeEventListener(\"message\", this.handleMessageFromProctorio);\r\n }\r\n\r\n render() {\r\n const appBarProps = {\r\n title: \"Checking Proctorio\",\r\n loadingTitle: true,\r\n logo: true,\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStoreToProps = (store) => {\r\n const proctorioData = getProctorioData(store);\r\n const debugMode = getDebugMode(proctorioData)\r\n\r\n return {\r\n debugMode\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n parentSet: (value) => dispatch(setParent(value)),\r\n enteredSet: (value) => dispatch(setEntered(value)),\r\n});\r\n\r\nProctorioParentChecker = connect(\r\n mapStoreToProps,\r\n mapDispatchToProps\r\n)(ProctorioParentChecker);\r\n\r\nProctorioParentChecker = withRouter(ProctorioParentChecker);\r\n\r\nexport { ProctorioParentChecker };\r\n","\r\nimport {Machine} from 'xstate'\r\nimport {XStateConfig} from './xstate-config'\r\n\r\n\r\n// #########################################\r\n// STATE NAMES\r\n// #########################################\r\n\r\nconst STATES = {\r\n\tAUTHENICATING_USER: 'authenicating_user',\r\n\tINITIALIZING_SESSION_MESSAGES: 'initializing_session_messages',\r\n\tFETCHING_CLIENT_SETTINGS: 'fetching_client_setttings',\r\n\tCHECKING_PROCTORIO_PARENT: 'checking_proctorio_parent',\r\n\tREDIRECT_TO_EXAM: 'redirect_to_exam',\r\n\tLOADING_FAILED: 'loading_fail',\r\n\tINITIALIZING_SESSION_MESSAGES_FAILED: 'initializing_session_messages_failed',\r\n\tFETCHING_CLIENT_SETTINGS_FAILED: 'fetching_client_setttings_failed',\t\r\n}\r\n\r\n\r\n// #########################################\r\n// EVENT NAMES\r\n// #########################################\r\n\r\nconst EVENTS = {\r\n\tUSER_AUTHENICATED: 'user_authenicated',\r\n\tSESSION_MESSAGES_INITIALIZED: 'session_messages_initialized',\r\n\tCLIENT_SETTINGS_FETCHED: 'client_settings_fetched',\r\n\tPROCTORIO_PARENT_CHECKED: 'proctorio_parent_checked',\r\n\tLOAD_FAILURE: 'load_failure',\r\n}\r\n\r\n\r\n// #########################################\r\n// STATES\r\n// #########################################\r\n\r\nconst authenicatingUser = new XStateConfig();\r\nauthenicatingUser.addTransition(EVENTS.USER_AUTHENICATED, STATES.INITIALIZING_SESSION_MESSAGES);\r\nauthenicatingUser.addTransition(EVENTS.LOAD_FAILURE, STATES.LOADING_FAILED);\r\n\r\nconst initializingSessionMessages = new XStateConfig();\r\ninitializingSessionMessages.addTransition(EVENTS.SESSION_MESSAGES_INITIALIZED, STATES.FETCHING_CLIENT_SETTINGS);\r\ninitializingSessionMessages.addTransition(EVENTS.LOAD_FAILURE, STATES.INITIALIZING_SESSION_MESSAGES_FAILED);\r\n\r\nconst fetchingClientSetttings = new XStateConfig();\r\nfetchingClientSetttings.addTransition(EVENTS.CLIENT_SETTINGS_FETCHED, STATES.CHECKING_PROCTORIO_PARENT);\r\nfetchingClientSetttings.addTransition(EVENTS.LOAD_FAILURE, STATES.FETCHING_CLIENT_SETTINGS_FAILED);\r\n\r\nconst checkProctorioParent = new XStateConfig();\r\ncheckProctorioParent.addTransition(EVENTS.PROCTORIO_PARENT_CHECKED, STATES.REDIRECT_TO_EXAM);\r\ncheckProctorioParent.addTransition(EVENTS.LOAD_FAILURE, STATES.LOADING_FAILED);\r\n\r\nconst redirectToExam = new XStateConfig();\r\n\r\nconst loadingFailed = new XStateConfig();\r\nconst initializingSessionMessagesFailed = new XStateConfig();\r\nconst fetchingClientSetttingsFailed = new XStateConfig();\r\n\r\n\r\n// #########################################\r\n// MACHINE\r\n// #########################################\r\n\r\nconst _proctorio = new XStateConfig();\r\n_proctorio.initialState = STATES.AUTHENICATING_USER;\r\n_proctorio.addState(STATES.AUTHENICATING_USER, authenicatingUser);\r\n_proctorio.addState(STATES.INITIALIZING_SESSION_MESSAGES, initializingSessionMessages);\r\n_proctorio.addState(STATES.FETCHING_CLIENT_SETTINGS, fetchingClientSetttings);\r\n_proctorio.addState(STATES.CHECKING_PROCTORIO_PARENT, checkProctorioParent);\r\n_proctorio.addState(STATES.REDIRECT_TO_EXAM, redirectToExam);\r\n_proctorio.addState(STATES.LOADING_FAILED, loadingFailed);\r\n_proctorio.addState(STATES.INITIALIZING_SESSION_MESSAGES_FAILED, initializingSessionMessagesFailed);\r\n_proctorio.addState(STATES.FETCHING_CLIENT_SETTINGS_FAILED, fetchingClientSetttingsFailed);\r\n\r\nconst machine = Machine(_proctorio.toObject());\r\nmachine.id = \"Proctorio Machine\";\r\n\r\n\r\n// #########################################\r\n// EXPORT\r\n// #########################################\r\n\r\nconst proctorio = {\r\n\tmachine,\r\n\tEVENTS: {...EVENTS},\r\n\tSTATES: {...STATES}\r\n}\r\n\r\nexport {proctorio}","\r\n// npm\r\nimport React from 'react'\r\n\r\n// xams-components\r\nimport {StateMachine, StateView, StateControl} from 'temp/xams.UI.Components/machine'\r\n\r\n// react\r\nimport {SessionInitializer} from 'components/pages/app_initialization/initializing/initializing_client/session-initializer'\r\n// import {LoadClient} from './load-client'\r\nimport {AuthenicateUser} from './authenicate-user'\r\nimport {LoadSchedule} from './load-schedule'\r\nimport {LoadingFailed} from './loading-failed'\r\nimport {RedirectToExam} from './redirect-to-exam'\r\nimport {ClientSettingsFetcher} from 'components/pages/client-settings-fetcher'\r\nimport {InitializingSessionMessagesPage} from 'components/pages/login/initializing-session-messages-page'\r\nimport {ProctorioParentChecker} from './check-parent'\r\n\r\n// machines\r\nimport {proctorio} from 'machines/proctorio'\r\n\r\nconst {EVENTS, STATES} = proctorio;\r\n\r\n\r\nconst ProctorioMachine = ({userInfo1, userInfo2, examGuid}) =>\r\n{\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{{\r\n\t\t\t\t\t[STATES.AUTHENICATING_USER]: () => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{(props) => }\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t),\r\n\t\t\t\t\t[STATES.INITIALIZING_SESSION_MESSAGES]: () => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{(props) => }\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t),\t\t\t\t\t \r\n\t\t\t\t\t[STATES.FETCHING_CLIENT_SETTINGS]: () => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{(props) => }\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t),\r\n\t\t\t\t\t[STATES.CHECKING_PROCTORIO_PARENT]: () => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{(props) => }\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t),\t\t\t\t\t \t\t\t\t\t\r\n\t\t\t\t\t[STATES.REDIRECT_TO_EXAM]: () => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t),\r\n\t\t\t\t\t[STATES.LOADING_FAILED]: () => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t),\r\n\t\t\t\t\t[STATES.INITIALIZING_SESSION_MESSAGES_FAILED]: () => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t),\t\t\t\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t[STATES.FETCHING_CLIENT_SETTINGS_FAILED]: () => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t),\t\t\t\t\t\t\t\t\t\t\t \t\t\t\t\t\r\n\t\t\t\t}}\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport {ProctorioMachine}\r\n\r\n// http://localhost:3000/proctorio/coelrind/1/2/3\r\n// http://localhost:3000/proctorio/coelrind/indianajones/Yami9336/3ef645e8-ac54-4ffe-9036-637202c8dadf","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\n\r\nimport { getProctorioData } from \"redux/reducers/selectors\";\r\nimport {\r\n getUserInfo1,\r\n getUserInfo2,\r\n getExamGuid,\r\n} from \"redux/reducers/proctorio/selectors\";\r\n\r\nimport { ProctorioMachine } from \"./machine\";\r\n\r\nclass ProctorioMachinePage extends Component {\r\n state = {};\r\n\r\n // componentDidMount() {\r\n // document.body.style.height = \"1000px\";\r\n // }\r\n\r\n render() {\r\n const { userInfo1, userInfo2, examGuid } = this.props;\r\n\r\n const machineProps = {\r\n userInfo1,\r\n userInfo2,\r\n examGuid,\r\n };\r\n\r\n return ;\r\n }\r\n}\r\n\r\nconst mapStoreToProps = (store) => {\r\n const proctorioData = getProctorioData(store);\r\n \r\n return {\r\n userInfo1: getUserInfo1(proctorioData),\r\n userInfo2: getUserInfo2(proctorioData),\r\n examGuid: getExamGuid(proctorioData),\r\n };\r\n};\r\n\r\nProctorioMachinePage = connect(mapStoreToProps)(ProctorioMachinePage);\r\n\r\nexport { ProctorioMachinePage };\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport check from 'check-types'\r\n\r\nimport {\r\n setEntered,\r\n setParent,\r\n setClientName,\r\n setUserInfo1,\r\n setUserInfo2,\r\n setExamGuid,\r\n} from \"./actions\";\r\n\r\nimport { AppPageModifier } from \"components/pages/app-page-modifier\";\r\nimport { LoadingSpinner } from \"components/presentation/loading-spinner\";\r\n\r\nconst getParameters = (params, variables) =>{\r\n const returnObj = {};\r\n\r\n for (const variable in variables) {\r\n if (check.assigned(params[variable])) {\r\n returnObj[variable] = params[variable];\r\n }\r\n }\r\n\r\n return returnObj;\r\n}\r\n\r\nclass ProctorioStartPage extends Component {\r\n state = {};\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n const {\r\n match: { params },\r\n } = props;\r\n\r\n const {\r\n clientName,\r\n userInfo1,\r\n userInfo2,\r\n examGuid,\r\n } = getParameters(params, {\r\n clientName,\r\n userInfo1,\r\n userInfo2,\r\n examGuid,\r\n });\r\n\r\n const validParameters =\r\n clientName && userInfo1 && userInfo2 && examGuid;\r\n\r\n this.clientName = clientName;\r\n this.userInfo1 = userInfo1;\r\n this.userInfo2 = userInfo2;\r\n this.examGuid = examGuid;\r\n\r\n this.state = { valid: validParameters };\r\n }\r\n\r\n componentDidMount() {\r\n const {\r\n enteredSet,\r\n parentSet,\r\n clientNameSet,\r\n userInfo1Set,\r\n userInfo2Set,\r\n examGuidSet,\r\n history\r\n } = this.props;\r\n\r\n enteredSet(true);\r\n parentSet(false);\r\n clientNameSet(this.clientName);\r\n userInfo1Set(this.userInfo1);\r\n userInfo2Set(this.userInfo2);\r\n examGuidSet(this.examGuid);\r\n\r\n history.push(`/proctorio/start`);\r\n }\r\n\r\n render() {\r\n const appBarProps = {\r\n title: \"Authenicating Data\",\r\n loadingTitle: true,\r\n logo: true,\r\n };\r\n\r\n return (\r\n \r\n \r\n ;\r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n enteredSet: (value) => dispatch(setEntered(value)),\r\n parentSet: (value) => dispatch(setParent(value)),\r\n clientNameSet: (value) => dispatch(setClientName(value)),\r\n userInfo1Set: (value) => dispatch(setUserInfo1(value)),\r\n userInfo2Set: (value) => dispatch(setUserInfo2(value)),\r\n examGuidSet: (value) => dispatch(setExamGuid(value)),\r\n});\r\n\r\nProctorioStartPage = connect(null, mapDispatchToProps)(ProctorioStartPage);\r\n\r\nProctorioStartPage = withRouter(ProctorioStartPage);\r\n\r\nexport { ProctorioStartPage };\r\n\r\n// http://localhost:3000/proctorio/lantra/markburton/Qoni8535/81f85c8e-6991-43e4-9845-4f721bb921a5\r\n","\nconst getName = (examData) => examData.get('name');\nconst getGuid = (examData) => examData.get('guid');\nconst getScheduleGuid = (examData) => examData.get('scheduleGuid');\nconst getExamPassword = (examData) => examData.get('p');\nconst isExamPaused = (examData) => examData.get('paused');\nconst getConfirmExamResume = (examData) => examData.get('confirmResume');\nconst isPracticeExam = (examData) => examData.get('practice');\nconst getPasswordError = (examData) => examData.get('passwordError');\nconst getFormRunGuid = (examData) => examData.get('formRunGuid');\nconst isQuestionPanelOpen = (examData) => examData.get('questionPanelOpen');\n\nconst shouldShowFeedback = (examData) => examData.get('showFeedbackReport');\nconst canDownloadFeedback = (examData) => examData.get('canDownloadFeedbackReport')\n\nconst getTimeData = (examData) => examData.get('time');\nconst getContentData = (examData) => examData.get('content');\nconst getMessageData = (examData) => examData.get('messages');\nconst getResultData = (examData) => examData.get('result');\n\nconst getShowScenario = (examData) => examData.get('showScenario');\n\nconst getLeaveExam = (examData) => examData.get('leaveExam');\nconst getResumeExam = (examData) => examData.get('resumeExam');\n\nconst getShowExamInFullScreen = (examData) => examData.get('showExamInFullScreen');\nconst getInitialFullScreen = (examData) => examData.get('initialFullScreen');\n\n\nexport {\n\tgetName,\n\tgetGuid,\n\tgetScheduleGuid, \n\tgetExamPassword,\n\tgetPasswordError,\n\tgetFormRunGuid,\n\tisExamPaused,\n\tgetConfirmExamResume,\n\tisPracticeExam,\n\tgetTimeData,\n\tgetContentData,\n\tgetMessageData,\n\tisQuestionPanelOpen,\n\tgetResultData,\n\tshouldShowFeedback,\n\tcanDownloadFeedback,\n\tgetShowScenario,\n\tgetLeaveExam,\n\tgetResumeExam,\n\tgetShowExamInFullScreen,\n\tgetInitialFullScreen\n}","\nconst getScheduleCount = (schedulesData) => {\n\treturn schedulesData.size;\n}\n\nconst getScheduleDataByIndex = (schedulesData) => (i) => {\n\treturn schedulesData.get(i);\n}\n\nconst isScheduleForLastCompletedExamComplete = (schedulesData, examGuid) => {\n\tconst currentSchedule = schedulesData.find(x => x.get('examGuid') === examGuid);\n\t\n\t//const completed = currentSchedule.get('completed');\n\tconst currentProctoringSessionID = currentSchedule.get('proctoringSessionID');\n\n\tif (currentProctoringSessionID === 0){\n\t\treturn false;\n\t}\n\n\tconst schedules = schedulesData.filter(schedule => {\n\t\tconst completed = schedule.get('completed');\n\t\tconst proctoringSessionID = schedule.get('proctoringSessionID');\n\n\t\treturn (!completed && proctoringSessionID === currentProctoringSessionID)\n\t}).map(schedule=>schedule.get('examGuid'));\n\t//debugger;\n\treturn schedules.size === 0;\n}\n\nconst getScheduleDataByGuid = (schedulesData) => (guid) => {\n\treturn schedulesData.find(x => x.get('guid') === guid);\n}\n\nconst getScheduleDataByExamGuid = (schedulesData) => (examGuid) => {\n\treturn schedulesData.find(x => x.get('examGuid') === examGuid);\n}\n\n\nexport {\n\tgetScheduleCount,\n\tgetScheduleDataByIndex,\n\tgetScheduleDataByGuid,\n\tgetScheduleDataByExamGuid,\n\tisScheduleForLastCompletedExamComplete\n}","import React, { Component } from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { connect } from \"react-redux\";\r\nimport { check } from \"@xams-utils/check-types\";\r\nimport withStyles from \"@material-ui/core/styles/withStyles\";\r\nimport { AppPageModifier } from \"components/pages/app-page-modifier\";\r\n\r\nimport { settingsApi } from \"libs/api/interface/api-settings\";\r\n\r\nimport { getSessionData } from \"redux/reducers/selectors\";\r\nimport { getClientSessionData } from \"redux/reducers/session/selectors\";\r\nimport { getOrgId } from \"redux/reducers/session/client/selectors\";\r\nimport {\r\n getExamData,\r\n getSchedulesData,\r\n getProctorioData,\r\n} from \"redux/reducers/selectors\";\r\nimport { getGuid } from \"redux/reducers/exam/selectors\";\r\nimport { isScheduleForLastCompletedExamComplete } from \"redux/reducers/schedules/selectors\";\r\nimport { getParent, getDebugMode } from \"redux/reducers/proctorio/selectors\";\r\n\r\nimport { MaterialText } from \"components/presentation/material-text\";\r\nimport { Align } from \"components/layout/align\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\n\r\nconst styles = (theme) => ({\r\n paper: {\r\n flexGrow: 1,\r\n maxWidth: 800,\r\n padding: theme.spacing.unit,\r\n margin: theme.spacing.unit * 2,\r\n backgroundColor: theme.palette.background.default,\r\n },\r\n});\r\n\r\nclass ProctorioFinishPage extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.checkOrgSetting = this.checkOrgSetting.bind(this);\r\n this.loadOrgSetting = this.loadOrgSetting.bind(this);\r\n this.returnToSchedules = this.returnToSchedules.bind(this);\r\n\r\n this.state = {\r\n message: \"Finishing Your Proctorio Session\",\r\n title: \"Finishing Proctorio Session\",\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n const { proctorioActive, returnToProctorio, proctorioDebug, logout } =\r\n this.props;\r\n\r\n if (proctorioActive && returnToProctorio) {\r\n //logout();\r\n\r\n if (proctorioDebug) {\r\n const url = `http://localhost:3000/proctorio/finish`;\r\n alert(\"Finish Proctorio\");\r\n window.location = url;\r\n } else {\r\n window.top.postMessage(\r\n [\"exam_state_change\", \"exam_end\"],\r\n \"https://getproctorio.com\"\r\n );\r\n }\r\n } else {\r\n this.loadOrgSetting();\r\n }\r\n }\r\n\r\n loadOrgSetting() {\r\n const { orgId } = this.props;\r\n\r\n settingsApi\r\n .getProctorioLoginlessMode(orgId)\r\n .then((response) => {\r\n this.checkOrgSetting(response);\r\n })\r\n .catch((error) => {\r\n this.checkOrgSetting(null);\r\n });\r\n }\r\n\r\n checkOrgSetting(response = null) {\r\n let gotoSchedules = true;\r\n\r\n if (check.nonEmptyString(response)) {\r\n const parsedResponse = JSON.parse(response);\r\n\r\n if (check.nonEmptyObject(parsedResponse)) {\r\n const { value } = parsedResponse;\r\n\r\n if (check.boolean(value)) {\r\n gotoSchedules = !value;\r\n } else {\r\n gotoSchedules = value !== \"1\";\r\n }\r\n }\r\n }\r\n\r\n if (gotoSchedules) {\r\n this.returnToSchedules();\r\n } else {\r\n this.displayMessage();\r\n }\r\n }\r\n\r\n returnToSchedules() {\r\n const { history } = this.props;\r\n\r\n history.push(\"/schedules\");\r\n }\r\n\r\n displayMessage() {\r\n this.setState({\r\n message: \"Your proctorio session has now finished\",\r\n title: \"Proctorio Session Finished\",\r\n });\r\n }\r\n\r\n render() {\r\n const { message, title } = this.state;\r\n const { classes } = this.props;\r\n \r\n return (\r\n \r\n \r\n \r\n \r\n {message}\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStoreToProps = (store) => {\r\n const proctorioData = getProctorioData(store);\r\n const proctorioActive = getParent(proctorioData);\r\n const proctorioDebug = getDebugMode(proctorioData);\r\n\r\n const examData = getExamData(store);\r\n const examGuid = getGuid(examData);\r\n\r\n const schedulesData = getSchedulesData(store);\r\n const returnToProctorio = proctorioActive\r\n ? isScheduleForLastCompletedExamComplete(schedulesData, examGuid)\r\n : false;\r\n\r\n const orgId = getOrgId(getClientSessionData(getSessionData(store)));\r\n\r\n return {\r\n proctorioActive,\r\n proctorioDebug,\r\n returnToProctorio,\r\n orgId,\r\n };\r\n};\r\n\r\nProctorioFinishPage = withRouter(ProctorioFinishPage);\r\n\r\nProctorioFinishPage = connect(mapStoreToProps)(ProctorioFinishPage);\r\n\r\nProctorioFinishPage = withStyles(styles)(ProctorioFinishPage);\r\n\r\nexport { ProctorioFinishPage };\r\n","const encodeString = (baseString) => window.btoa(baseString);\r\nconst decodeString = (encodedString) => window.atob(encodedString);\r\n\r\nexport { encodeString, decodeString };\r\n","import React, { Component } from \"react\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { connect } from \"react-redux\";\r\n\r\nimport { getProctorioData } from \"redux/reducers/selectors\";\r\nimport { getParent, getDebugMode } from \"redux/reducers/proctorio/selectors\";\r\nimport {\r\n clearData,\r\n setClientName,\r\n setUserInfo1,\r\n setUserInfo2,\r\n setExamGuid,\r\n} from \"../actions\";\r\n\r\nimport { AppPageModifier } from \"components/pages/app-page-modifier\";\r\n\r\nimport { decodeString, encodeString } from \"../helper\";\r\n\r\nclass ProctorioReturnPage extends Component {\r\n state = {};\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n const {\r\n match: { params },\r\n } = props;\r\n\r\n this.clientName = params.clientName;\r\n this.userInfo1 = decodeString(params.userInfo1);\r\n this.userInfo2 = decodeString(params.userInfo2);\r\n }\r\n\r\n componentDidMount() {\r\n const { proctorioActive } = this.props;\r\n\r\n if (proctorioActive) {\r\n const { proctorioDebug } = this.props;\r\n\r\n if (proctorioDebug) {\r\n const { dataClear } = this.props;\r\n\r\n dataClear(true);\r\n const userInfo1 = encodeString(this.userInfo1);\r\n const userInfo2 = encodeString(this.userInfo2);\r\n const url = `http://localhost:3000/proctorio-return/${this.clientName}/${userInfo1}/${userInfo2}`;\r\n\r\n window.location = url;\r\n } else {\r\n window.top.postMessage(\r\n [\"exam_state_change\", \"exam_end\"],\r\n \"https://getproctorio.com\"\r\n );\r\n }\r\n } else {\r\n const {\r\n history,\r\n clientNameSet,\r\n userInfo1Set,\r\n userInfo2Set,\r\n examGuidSet,\r\n } = this.props;\r\n\r\n clientNameSet(this.clientName);\r\n userInfo1Set(this.userInfo1);\r\n userInfo2Set(this.userInfo2);\r\n examGuidSet(null);\r\n\r\n history.push(`/proctorio/return`);\r\n }\r\n }\r\n\r\n render() {\r\n const appBarProps = {\r\n title: \"Checking Proctorio\",\r\n loadingTitle: true,\r\n logo: true,\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStoreToProps = (store) => {\r\n const proctorioData = getProctorioData(store);\r\n\r\n return {\r\n proctorioActive: getParent(proctorioData),\r\n proctorioDebug: getDebugMode(proctorioData),\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n dataClear: (value) => dispatch(clearData(value)),\r\n clientNameSet: (value) => dispatch(setClientName(value)),\r\n userInfo1Set: (value) => dispatch(setUserInfo1(value)),\r\n userInfo2Set: (value) => dispatch(setUserInfo2(value)),\r\n examGuidSet: (value) => dispatch(setExamGuid(value)),\r\n});\r\n\r\nProctorioReturnPage = connect(\r\n mapStoreToProps,\r\n mapDispatchToProps\r\n)(ProctorioReturnPage);\r\n\r\nProctorioReturnPage = withRouter(ProctorioReturnPage);\r\n\r\nexport { ProctorioReturnPage };\r\n","import { check } from \"@xams-utils/check-types\";\r\nimport { stringify } from \"uuid\";\r\n\r\nconst parseObjects = (objects, a) => {\r\n return objects.reduce((b, item) => {\r\n const n = parseObject(item);\r\n return b.concat(n);\r\n }, a);\r\n};\r\nconst parseObject = (item) => {\r\n const { property, data } = item;\r\n const a = [];\r\n\r\n if (data) {\r\n a.push([\"\", \"\"], [property, \"\"]);\r\n\r\n for (const property in data) {\r\n try {\r\n const value = data[property];\r\n var first = property.charAt(0);\r\n\r\n if (\r\n first === first.toLowerCase() &&\r\n first !== first.toUpperCase()\r\n ) {\r\n if (check.string(value) || check.number(value)) {\r\n a.push([property, value]);\r\n }\r\n //console.log(property, value);\r\n } else if (check.object(value)) {\r\n try {\r\n a.push([property, JSON.stringify(value)]);\r\n } catch (e) {\r\n //debugger;\r\n }\r\n }\r\n } catch (e) {}\r\n }\r\n }\r\n\r\n return a;\r\n};\r\n\r\nconst getErrorInfo = (networkErrorInfo, appVersion) => {\r\n if (!networkErrorInfo) return null;\r\n\r\n const checkObjects = [];\r\n let errorInfo = [];\r\n\r\n for (const property in networkErrorInfo) {\r\n if (check.object(networkErrorInfo[property]) || property === \"error\") {\r\n checkObjects.push({ property, data: networkErrorInfo[property] });\r\n } else {\r\n errorInfo.push([property, networkErrorInfo[property]]);\r\n }\r\n }\r\n\r\n errorInfo = parseObjects(checkObjects, errorInfo);\r\n\r\n if (errorInfo.length > 0) {\r\n if (appVersion) {\r\n errorInfo.unshift([\"appVersion\", appVersion]);\r\n }\r\n }\r\n\r\n return errorInfo.length > 0 ? errorInfo : null;\r\n};\r\n\r\nexport { getErrorInfo };\r\n","// npm\r\n\r\nimport React, { Component } from \"react\";\r\n\r\nimport { connect } from \"react-redux\";\r\nimport { getAppData } from \"redux/reducers/selectors\";\r\nimport { getNetworkErrorInfo } from \"redux/reducers/app/selectors\";\r\nimport { getSettingsData } from \"redux/reducers/selectors\";\r\nimport { getAppVersion } from \"redux/reducers/settings/app/selectors\";\r\nimport { getAppSettingsData } from \"redux/reducers/settings/selectors\";\r\n\r\n// material-ui\r\nimport Card from \"@material-ui/core/Card\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport RefreshIcon from \"@material-ui/icons/Refresh\";\r\nimport CardHeader from \"@material-ui/core/CardHeader\";\r\nimport CardContent from \"@material-ui/core/CardContent\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport { MaterialText } from \"components/presentation/material-text\";\r\nimport ExpandMoreIcon from \"@material-ui/icons/ExpandMore\";\r\nimport ExpandLessIcon from \"@material-ui/icons/ExpandLess\";\r\nimport withStyles from \"@material-ui/core/styles/withStyles\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\n\r\n// react\r\nimport { Align } from \"components/layout/align\";\r\nimport { AppPageModifier } from \"components/pages/app-page-modifier\";\r\n\r\nimport { withMessages } from \"components/hocs/messages\";\r\nimport { MESSAGE_IDS, messageNotDefined } from \"constants/message-ids\";\r\n\r\nimport { getErrorInfo } from \"./error\";\r\nimport { api } from \"libs/api/api\";\r\n\r\nconst displayErrorLine = (line) => {\r\n if (line[0] === \"\" && line[1] === \"\") return \"---\";\r\n\r\n return `${line[0]}: ${line[1]}`;\r\n};\r\n\r\nclass NetworkErrorPage extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.handleToggleInfo = this.handleToggleInfo.bind(this);\r\n this.errorInfo = getErrorInfo(api.errorObj, props.appVersion);\r\n this.state = { showExtraInfo: false };\r\n }\r\n\r\n displayNetworkErrorCard(title, subheader) {\r\n const { classes } = this.props;\r\n const cardProps = this.hasErrors()?{className: classes.card}:{};\r\n\r\n return (\r\n \r\n \r\n \r\n {this.displayError()}\r\n {this.displayRetryButton()}\r\n \r\n \r\n );\r\n }\r\n\r\n hasErrors() {\r\n return this.errorInfo && this.errorInfo.length > 0;\r\n }\r\n\r\n displayError() {\r\n if (this.hasErrors()) {\r\n const { showExtraInfo } = this.state;\r\n const { classes } = this.props;\r\n\r\n const icon = showExtraInfo ? (\r\n \r\n ) : (\r\n \r\n );\r\n return (\r\n \r\n \r\n
\r\n Additional Information\r\n
\r\n \r\n {icon}\r\n \r\n
\r\n
\r\n
\r\n
\r\n {showExtraInfo ? (\r\n \r\n \r\n
\r\n {this.errorInfo.map((item) => (\r\n \r\n {displayErrorLine(item)}\r\n \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 handleToggleInfo() {\r\n const { showExtraInfo } = this.state;\r\n this.setState({ showExtraInfo: !showExtraInfo });\r\n }\r\n\r\n displayRetryButton() {\r\n return (\r\n \r\n {\r\n window.location.reload(false);\r\n }}\r\n >\r\n \r\n {\"Retry\"}\r\n \r\n \r\n );\r\n }\r\n\r\n render() {\r\n const { messages } = this.props;\r\n\r\n let title = messages[MESSAGE_IDS.ERRORS.NETWORK_ERROR_TITLE];\r\n let subheader = messages[MESSAGE_IDS.ERRORS.NETWORK_ERROR_SUBHEADER];\r\n\r\n if (messageNotDefined(title)) {\r\n title = \"Network Error.\";\r\n }\r\n\r\n if (messageNotDefined(subheader)) {\r\n subheader = \"Please try again in a few moments.\";\r\n }\r\n\r\n const alignProps = this.hasErrors() ? { top: true } : {};\r\n\r\n return (\r\n \r\n \r\n \r\n {this.displayNetworkErrorCard(title, subheader)}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst styles = ({ spacing }) => ({\r\n card: {\r\n marginTop: spacing.unit * 4,\r\n width: \"50%\",\r\n },\r\n extraInfo: {\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n alignItems: \"center\",\r\n },\r\n paper: {\r\n padding: spacing.unit * 2,\r\n },\r\n errorInfo: {\r\n maxHeight: \"50vh\",\r\n overflowY: \"scroll\",\r\n },\r\n});\r\n\r\nNetworkErrorPage = withStyles(styles)(NetworkErrorPage);\r\n\r\nNetworkErrorPage = withMessages(NetworkErrorPage);\r\n\r\nconst mapStoreToProps = (store) => {\r\n const appData = getAppData(store);\r\n const appSettingsData = getAppSettingsData(getSettingsData(store));\r\n\r\n return {\r\n networkErrorInfo: getNetworkErrorInfo(appData),\r\n appVersion: getAppVersion(appSettingsData),\r\n };\r\n};\r\n\r\nNetworkErrorPage = connect(mapStoreToProps)(NetworkErrorPage);\r\n\r\nexport { NetworkErrorPage };\r\n","\r\n// npm\r\nimport React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport {connect} from 'react-redux'\r\nimport {withRouter} from 'react-router-dom'\r\n\r\n// material-ui\r\nimport Button from '@material-ui/core/Button'\r\nimport Dialog from '@material-ui/core/Dialog'\r\nimport DialogTitle from '@material-ui/core/DialogTitle'\r\nimport DialogContent from '@material-ui/core/DialogContent'\r\nimport DialogActions from '@material-ui/core/DialogActions'\r\n\r\n// libs\r\nimport {api} from 'libs/api/api'\r\nimport {GENERIC_ERRORS} from 'libs/api/constants'\r\n\r\n// react\r\nimport {MaterialText} from 'components/presentation/material-text'\r\nimport {withMessages} from 'components/hocs/messages'\r\n\r\n// redux (actions)\r\nimport {getRemoveCurrentSessionActions} from '../actions'\r\n\r\n// redux (selectors)\r\nimport {getSessionData} from 'redux/reducers/selectors'\r\nimport {getUserGuid} from 'redux/reducers/session/user/selectors'\r\nimport {getUrlToken} from 'redux/reducers/session/client/selectors'\r\nimport {getClientSessionData, getUserSessionData} from 'redux/reducers/session/selectors'\r\n\r\n// libs\r\nimport {authenticationApi} from 'libs/api/interface/api-authentication'\r\n\r\n// constants\r\nimport {MESSAGE_IDS} from 'constants/message-ids'\r\n\r\n\r\n// DoubleLogin (not connected to the store/router)\r\n// ----------------------------------------------------------------------------\r\n\r\nclass DoubleLogin extends React.Component\r\n{\r\n\tconstructor(props)\r\n\t{\r\n\t\tsuper(props);\r\n\r\n\t\tthis.state = { showingPopup: false }\r\n\r\n\t\tthis.exitToLogin = () => {\r\n\t\t\tthis.setState({showingPopup: false});\r\n\t\t\tthis.props.revokeCurrentSession();\r\n\t\t}\r\n\r\n\t\tconst doubleLoginError = GENERIC_ERRORS.DOUBLE_LOGIN;\r\n\r\n\t\tthis.unsubscribeFromApi = api.addGenericErrorHandler(doubleLoginError, () => {\r\n\t\t\tthis.setState({showingPopup: true});\r\n\t\t\tthrow GENERIC_ERRORS.DOUBLE_LOGIN_THROW; \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// must throw error here so 'tryAtMost' can break out of its for-loop\r\n\t\t})\r\n\t}\r\n\r\n\trender() \r\n\t{\r\n\t\tconst showPopup = this.state.showingPopup;\r\n\t\treturn showPopup ? this.Prompt : (this.props.children || null);\r\n\t}\r\n\r\n\tcomponentWillUnmount()\r\n\t{\r\n\t\tthis.unsubscribeFromApi();\r\n\t}\r\n\r\n\tget Prompt()\r\n\t{\r\n\t\tconst {messages} = this.props;\r\n\r\n\t\tconst dialogProps = {\r\n\t\t\topen: true,\r\n\t\t\tdisableBackdropClick: true,\r\n\t\t\tdisableEscapeKeyDown: true\r\n\t\t}\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{messages[MESSAGE_IDS.SESSION.DOUBLE_LOGIN_HEADING]}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{messages[MESSAGE_IDS.SESSION.DOUBLE_LOGIN]}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n}\r\n\r\nDoubleLogin.propTypes = {\r\n\tchildren: PropTypes.node,\r\n\trevokeCurrentSession: PropTypes.func.isRequired,\r\n\turlToken: PropTypes.string.isRequired,\r\n\tmessages: PropTypes.shape({\r\n\t\t[MESSAGE_IDS.SESSION.DOUBLE_LOGIN]: PropTypes.string.isRequired,\r\n\t\t[MESSAGE_IDS.GENERAL.CONFIRM]: PropTypes.string.isRequired\r\n\t}).isRequired\r\n}\r\n\r\n\r\n// DoubleLogin (connected to the store/router)\r\n// ----------------------------------------------------------------------------\r\n\r\nconst mapStoreToProps = (store) => {\r\n\tconst sessionData = getSessionData(store);\r\n\r\n\treturn {\r\n\t\turlToken: getUrlToken(getClientSessionData(sessionData)),\r\n\t\tuserGuid: getUserGuid(getUserSessionData(sessionData))\r\n\t}\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => ({dispatch});\r\n\r\nconst mergeProps = ({userGuid, urlToken}, {dispatch}, {history, ...ownProps}) =>\r\n{\r\n\tconst removeSessionFromRedux = () => {\r\n\t\tgetRemoveCurrentSessionActions().forEach(action => dispatch(action));\r\n\t}\r\n\r\n\tconst redirectToLoginPage = () => {\r\n\t\thistory.push(`/login?${urlToken}`);\r\n\t}\r\n\r\n\treturn {\r\n\t\turlToken,\r\n\t\t...ownProps,\r\n\t\trevokeCurrentSession: () => {\r\n\t\t\tauthenticationApi.abandonUserSession(userGuid, \"Double-Login\");\r\n\t\t\tremoveSessionFromRedux();\r\n\t\t\tredirectToLoginPage();\r\n\t\t}\r\n\t}\r\n}\r\n\r\nDoubleLogin = connect(mapStoreToProps, mapDispatchToProps, mergeProps)(DoubleLogin)\r\nDoubleLogin = withRouter(DoubleLogin);\r\n\r\n\r\n// DoubleLogin (connected to HOCs)\r\n// ----------------------------------------------------------------------------\r\nDoubleLogin = withMessages(DoubleLogin);\r\n\r\n\r\n// EXPORT\r\n// ----------------------------------------------------------------------------\r\nexport {DoubleLogin}","\r\n// @Note:\r\n// Token modifications must always be synced between redux store, api, and \r\n// session storage. To make this synchronization fuss-free, our token reducer\r\n// handles that from a single location. This means that we need only dispatch \r\n// an action to redux to modify the tokens, and the synchronization gets taken\r\n// care of automagically. For this very reason, we must use a react component\r\n// to handle token refreshes.\r\n\r\n\r\n// npm\r\nimport React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport {connect} from 'react-redux'\r\n\r\n// redux\r\nimport {SAVE_TOKENS} from 'redux/reducers/session/tokens/action-types'\r\n\r\n// utils\r\nimport {api} from 'libs/api/api'\r\nimport {GENERIC_ERRORS} from 'libs/api/constants'\r\nimport {authenticationApi} from 'libs/api/interface/api-authentication'\r\n\r\n// redux (actions)\r\nconst saveTokens = (access, refresh) => ({\r\n\ttype: SAVE_TOKENS,\r\n\trefresh,\r\n\taccess\r\n});\r\n\r\n\r\n// TokenRefresher (not connected to the store)\r\n// ----------------------------------------------------------------------------\r\n\r\nclass TokenRefresher extends React.Component\r\n{\r\n\tconstructor(props)\r\n\t{\r\n\t\tsuper(props);\r\n\r\n\t\tconst unauthorizedError = GENERIC_ERRORS.UNAUTHORIZED;\r\n\r\n\t\tthis.unsubscribeFromApi = api.addGenericErrorHandler(unauthorizedError, () => {\r\n\t\t\treturn authenticationApi.refreshApiToken().then(this.props.saveTokens);\r\n\t\t})\r\n\t}\r\n\r\n\trender()\r\n\t{\r\n\t\treturn null;\r\n\t}\r\n\r\n\tcomponentWillUnmount()\r\n\t{\r\n\t\tthis.unsubscribeFromApi();\r\n\t}\r\n}\r\n\r\nTokenRefresher.propTypes = {\r\n\tsaveTokens: PropTypes.func.isRequired\r\n}\r\n\r\n\r\n// TokenRefresher (connected to the store)\r\n// ----------------------------------------------------------------------------\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n\tsaveTokens: (tokenData) => {\r\n\t\tconst {access_token, refresh_token} = JSON.parse(tokenData);\r\n\t\tdispatch(saveTokens(access_token, refresh_token));\r\n\t}\r\n});\r\n\r\nTokenRefresher = connect(undefined, mapDispatchToProps)(TokenRefresher);\r\n\r\n\r\n// EXPORT\r\n// ----------------------------------------------------------------------------\r\nexport {TokenRefresher}","\r\n// redux (action-types)\r\nimport {CLEAR_EXAM} from 'redux/reducers/exam/action-types'\r\n\r\n\r\nconst clearExam = () => ({type: CLEAR_EXAM});\r\n\r\n\r\nexport {clearExam}","\r\n// npm\r\nimport React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport {connect} from 'react-redux'\r\n\r\n// redux (actions)\r\nimport {clearExam} from './actions'\r\n\r\n\r\n// ExamClearer (not connected to store)\r\n// ------------------------------------------------------------------\r\n\r\nclass ExamClearer extends React.Component\r\n{\r\n\tcomponentDidMount()\r\n\t{\r\n\t\tthis.props.clearPreviousExam();\r\n\t\tthis.props.onClear();\r\n\t}\r\n\r\n\trender() { return null; }\r\n}\r\n\r\nExamClearer.propTypes = {\r\n\tclearPreviousExam: PropTypes.func.isRequired,\r\n\tonClear: PropTypes.func.isRequired\r\n}\r\n\r\n\r\n// ExamClearer (connected to store)\r\n// ------------------------------------------------------------------\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n\tclearPreviousExam: () => dispatch(clearExam())\r\n});\r\n\r\nExamClearer = connect(undefined, mapDispatchToProps)(ExamClearer)\r\n\r\n\r\n// Export\r\n// ------------------------------------------------------------------\r\nexport {ExamClearer}","\r\n// npm\r\nimport React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport {connect} from 'react-redux'\r\n\r\n// redux\r\nimport {getExamData} from 'redux/reducers/selectors'\r\nimport {getExamPassword} from 'redux/reducers/exam/selectors'\r\n\r\n\r\n// ExamPasswordValidator (not connected to store)\r\n// -------------------------------------------------\r\nclass ExamPasswordValidator extends React.Component\r\n{\r\n\tcomponentDidMount()\r\n\t{\r\n\t\tif (this.isPasswordValid()) { this.props.onSuccess(); }\r\n\t\telse { this.props.onFail(); }\r\n\t}\r\n\r\n\tisPasswordValid()\r\n\t{\r\n\t\treturn this.props.p !== \"\";\r\n\t}\r\n\r\n\trender()\r\n\t{\r\n\t\treturn null;\r\n\t}\r\n}\r\n\r\nExamPasswordValidator.propTypes = {\r\n\tp: PropTypes.string.isRequired,\r\n\tonSuccess: PropTypes.func.isRequired,\r\n\tonFail: PropTypes.func.isRequired\r\n}\r\n\r\n\r\n// ExamPasswordValidator (connected to store)\r\n// -------------------------------------------------\r\n\r\nconst mapStoreToProps = (store) => ({\r\n\tp: getExamPassword(getExamData(store))\r\n});\r\n\r\nExamPasswordValidator = connect(mapStoreToProps)(ExamPasswordValidator);\r\n\r\n\r\n// EXPORT\r\n// -------------------------------------------------\r\nexport {ExamPasswordValidator}","\r\n// redux (action-types)\r\nimport * as EXAM_ACTION_TYPES from 'redux/reducers/exam/action-types'\r\n\r\n\r\nconst setExamPassword = (value) => ({\r\n\ttype: EXAM_ACTION_TYPES.SET_PASSWORD,\r\n\tvalue\r\n});\r\n\r\nconst clearPassword = () => ({\r\n\ttype: EXAM_ACTION_TYPES.CLEAR_PASSWORD\r\n});\r\n\r\nconst setPasswordError = (value) => ({\r\n\ttype: EXAM_ACTION_TYPES.SET_PASSWORD_ERROR,\r\n\tvalue\r\n});\r\n\r\n\r\nexport {setExamPassword, clearPassword, setPasswordError}","\r\n// npm\r\nimport React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport {connect} from 'react-redux'\r\n\r\n// redux\r\nimport * as actions from './actions'\r\nimport {getExamData} from 'redux/reducers/selectors'\r\nimport {getSessionData} from 'redux/reducers/selectors'\r\nimport {getScheduleGuid, getExamPassword} from 'redux/reducers/exam/selectors'\r\nimport {getUserGuid} from 'redux/reducers/session/user/selectors'\r\nimport {getUserSessionData} from 'redux/reducers/session/selectors'\r\n\r\n// utils\r\nimport {assessmentApi} from 'libs/api/interface/api-assessment'\r\n\r\n\r\n\r\n// ExamPasswordAuthenticator (not connected to store)\r\n// -------------------------------------------------\r\nclass ExamPasswordAuthenticator extends React.Component\r\n{\r\n\tcomponentDidMount()\r\n\t{\r\n\t\tconst onSuccess = (response) => {\r\n\t\t\tconst {result} = JSON.parse(response);\r\n\t\t\t\r\n\t\t\tswitch (result) {\r\n\t\t\t\tcase true:\r\n\t\t\t\t\tthis.props.onSuccess();\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase false:\r\n\t\t\t\t\tthis.props.setPasswordError(\"Invalid password\"); //NEEDS A MESSAGE!\r\n\t\t\t\t\tthis.props.onFail();\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tthrow \"response has no 'result'\";\r\n\t\t\t}\r\n\r\n\t\t\tthis.props.clearPassword();\r\n\t\t}\r\n\r\n\t\tassessmentApi.checkExamPassword(this.props.scheduleGuid, this.props.p, this.props.userGuid)\r\n\t\t.then(onSuccess, this.props.onError);\r\n\t}\r\n\r\n\trender()\r\n\t{\r\n\t\treturn null;\r\n\t}\r\n}\r\n\r\nExamPasswordAuthenticator.propTypes = {\r\n\tp: PropTypes.string.isRequired,\r\n\tscheduleGuid: PropTypes.string.isRequired,\r\n\tonSuccess: PropTypes.func.isRequired,\r\n\tonFail: PropTypes.func.isRequired,\r\n\tonError: PropTypes.func.isRequired,\r\n\tsetPasswordError: PropTypes.func.isRequired\r\n}\r\n\r\n\r\n// ExamPasswordAuthenticator (connected to store)\r\n// -------------------------------------------------\r\n\r\nconst mapStoreToProps = (store) => ({\r\n\tp: getExamPassword(getExamData(store)),\r\n\tscheduleGuid: getScheduleGuid(getExamData(store)),\r\n\tuserGuid: getUserGuid(getUserSessionData(getSessionData(store)))\t\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n\tclearPassword: () => {\r\n\t\tdispatch(actions.clearPassword());\r\n\t},\r\n\tsetPasswordError: (msg) => {\r\n\t\tdispatch(actions.setPasswordError(msg));\r\n\t}\r\n})\r\n\r\nExamPasswordAuthenticator = connect(mapStoreToProps, mapDispatchToProps)(ExamPasswordAuthenticator);\r\n\r\n\r\n// EXPORT\r\n// -------------------------------------------------\r\nexport {ExamPasswordAuthenticator}","\r\n// npm\r\nimport React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\n// xams-components\r\nimport {StateView, StateControl} from 'temp/xams.UI.Components/machine'\r\nimport {Callback} from '@xams-components-functional/callback'\r\n\r\n// react\r\nimport {ExamPasswordValidator} from './validator'\r\nimport {ExamPasswordAuthenticator} from './authenticator'\r\nimport {SetNetworkError} from 'components/pages/network_error/set-network-error'\r\n\r\n// machines\r\nimport {form} from 'machines/form'\r\n\r\n\r\nconst {EVENTS, STATES, SUBMITTING_STATES} = form;\r\n\r\n\r\nconst SubmittingView = () =>\r\n{\r\n\treturn (\r\n\t\t\r\n\t\t\t{{\r\n\t\t\t\t[SUBMITTING_STATES.VALIDATING_FORM]: () => (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{(props) => }\r\n\t\t\t\t\t\r\n\t\t\t\t),\r\n\t\t\t\t[SUBMITTING_STATES.SUBMITTING_FORM]: () => (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{(props) => }\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t}}\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst renderOtherViews = (onFinish) =>\r\n{\r\n\treturn (\r\n\t\t\r\n\t\t\t{{\r\n\t\t\t\t[STATES.SUBMITTING]: () => (\r\n\t\t\t\t\tSubmittingView()\r\n\t\t\t\t),\r\n\t\t\t\t[STATES.SUBMISSION_ERROR]: () => (\r\n\t\t\t\t\t\r\n\t\t\t\t),\r\n\t\t\t\t[STATES.SUBMITTED]: () => (\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t}}\r\n\t\t\r\n\t)\r\n}\r\n\r\n\r\nexport {renderOtherViews}","\r\n// npm\r\nimport React from 'react'\r\nimport check from 'check-types'\r\nimport PropTypes from 'prop-types'\r\nimport {connect} from 'react-redux'\r\nimport {withRouter} from 'react-router-dom'\r\n\r\n// material-ui\r\nimport {styles} from './form-styles'\r\nimport Fade from '@material-ui/core/Fade'\r\nimport Input from '@material-ui/core/Input'\r\nimport Paper from '@material-ui/core/Paper'\r\nimport Button from '@material-ui/core/Button'\r\nimport Divider from '@material-ui/core/Divider'\r\nimport TextField from '@material-ui/core/TextField'\r\nimport InputLabel from '@material-ui/core/InputLabel'\r\nimport LockOpenIcon from '@material-ui/icons/LockOpen'\r\nimport FormControl from '@material-ui/core/FormControl'\r\nimport withStyles from '@material-ui/core/styles/withStyles'\r\n\r\n// react\r\nimport {withMessages} from 'components/hocs/messages'\r\nimport {MaterialText} from 'components/presentation/material-text'\r\nimport {LoadingSpinner} from 'components/presentation/loading-spinner'\r\n\r\n// redux\r\nimport {setExamPassword} from './actions'\r\n\r\n// redux (selectors)\r\nimport {getExamData} from 'redux/reducers/selectors'\r\nimport {getExamPassword} from 'redux/reducers/exam/selectors'\r\nimport {getPasswordError} from 'redux/reducers/exam/selectors'\r\nimport {getSettingsData} from 'redux/reducers/selectors'\r\nimport {getClientSettingsData} from 'redux/reducers/settings/selectors'\r\nimport {getProctoringMode} from 'redux/reducers/settings/client/selectors'\r\n\r\n// other\r\nimport {MESSAGE_IDS} from 'constants/message-ids'\r\n\r\n\r\nconst submitMessageId = MESSAGE_IDS.RUBRIC.SUBMIT;\r\nconst cancelMessageId = MESSAGE_IDS.GENERAL.CANCEL;\r\nconst passwordMessageId = MESSAGE_IDS.SCHEDULE.PASSWORD;\r\nconst schedulePasswordPromptMessageId = MESSAGE_IDS.SCHEDULE.PASSWORD_PROMPT;\r\n\r\n\r\n// ExamPasswordForm (not connected to store)\r\n// -------------------------------------------\r\n\r\nclass ExamPasswordForm extends React.Component\r\n{\r\n\tconstructor(props)\r\n\t{\r\n\t\tsuper(props);\r\n\t\tthis.state = { value: \"\" };\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// password value\r\n\t\tthis.initializeBoundMethods();\r\n\t}\r\n\r\n\tinitializeBoundMethods()\r\n\t{\r\n\t\tthis.onFieldChange = (evt) => {\r\n\t\t\tthis.setState({value: evt.target.value});\r\n\t\t}\r\n\r\n\t\tthis.onChange = (wasEmpty, isEmpty) => {\r\n\t\t\t if (wasEmpty && !isEmpty) { this.props.onCanSubmit(); }\r\n\t\t\t else if (isEmpty && !wasEmpty) { this.props.onCantSubmit(); }\r\n\t\t\t else if (!isEmpty && this.props.disableSubmit) { this.props.onCanSubmit(); }\r\n\t\t}\r\n\r\n\t\tthis.focusOnPassword = () => {\r\n\t\t\tif (this.passwordInput !== null) {\r\n\t\t\t\tthis.passwordInput.focus();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.onSubmit = (e) => {\r\n\t\t\te.preventDefault(); \r\n\t\t\tthis.props.relayPassword(this.state.value);\r\n\t\t\tthis.props.onSubmit();\r\n\t\t\tsetTimeout(this.focusOnPassword, 100);\r\n\t\t}\r\n\t}\r\n\r\n\tcomponentDidUpdate(_, previousState)\r\n\t{\r\n\t\tif (previousState.value === this.state.value) { return; }\r\n\r\n\t\tconst isEmpty = check.emptyString(this.state.value);\r\n\t\tconst wasEmpty = check.emptyString(previousState.value);\r\n\t\tthis.onChange(wasEmpty, isEmpty);\r\n\t}\r\n\r\n\tcomponentDidMount()\r\n\t{\r\n this.passwordInput.focus();\r\n\t}\r\n\r\n\treturnToSchedulesPage(props)\r\n\t{\r\n\t\tthis.props.history.replace('/schedules');\r\n\t}\r\n\t\r\n\trender()\r\n\t{\r\n\t\tconst { classes } = this.props;\r\n\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{this.InfoText}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{this.PasswordInput}\r\n\t\t\t\t\t\t\t{this.ErrorPanel}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{this.CancelButton}\r\n\t\t\t\t\t\t\t\t{this.SubmitButton}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t{this.LoadingPanel}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t);\r\n\t}\r\n\r\n\tget InfoText()\r\n\t{\r\n\t\tconst {classes} = this.props;\r\n\t\treturn(\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{this.props.messages[schedulePasswordPromptMessageId]}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n\r\n\tget PasswordInput()\r\n\t{\r\n\t\tconst {classes} = this.props;\r\n\r\n\t\tconst props = {\r\n\t\t\tclassName: classes.formInputText,\r\n\t\t\tclasses: {underline: classes.inputUnderline},\r\n\t\t\tautoFocus: true,\r\n\t\t\ttype: 'password',\r\n\t\t\tvalue: this.state.value,\r\n\t\t\tonChange: this.onFieldChange,\r\n\t\t\tdisabled: !!this.props.disableInputs,\r\n\t\t\tinputRef: (input) => { this.passwordInput = input; }\r\n\t\t};\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{this.props.messages[passwordMessageId]}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\tget ErrorPanel()\r\n\t{\r\n\t\tif (!this.props.errorText) { return null; }\r\n\t\tconst {classes} = this.props;\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{this.props.errorText}\r\n\t\t\t\r\n\t\t);\r\n\t}\r\n\r\n\tget SubmitButton()\r\n\t{\r\n\t\tconst {classes} = this.props;\r\n\r\n\t\tconst props = {\r\n\t\t\ttype: 'submit',\r\n\t\t\tvariant: \"contained\",\r\n\t\t\tcolor: \"primary\",\r\n\t\t\tclasses: {\r\n\t\t\t\troot: `${classes.submit} ${classes.button}`,\r\n\t\t\t\tdisabled: classes.buttonDisabled\r\n\t\t\t},\r\n\t\t\tdisabled: !!this.props.disableSubmit\r\n\t\t};\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\tget CancelButton()\r\n\t{\r\n\t\t//jd 4/10/2020 - suppress cancel button if proctored and single exam\r\n\t\tif (this.props.proctoringMode == 1) return;\r\n\r\n\t\tconst {classes} = this.props;\r\n\r\n\t\tconst props = {\r\n\t\t\tvariant: \"contained\",\r\n\t\t\tcolor: \"secondary\",\r\n\t\t\tclasses: {\r\n\t\t\t\troot: classes.submit,\r\n\t\t\t\tdisabled: classes.buttonDisabled\r\n\t\t\t},\r\n\t\t\tonClick: () => this.returnToSchedulesPage(props)\r\n\t\t};\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\tget TextField()\r\n\t{\r\n\t\tconst props = {\r\n\t\t\tdisabled: !!this.props.disableInputs,\r\n\t\t\tautoFocus: true,\r\n\t\t\tonChange: this.onFieldChange,\r\n\t\t\ttype: 'password'\r\n\t\t}\r\n\r\n\t\treturn ;\r\n\t}\r\n\r\n\tget LoadingPanel()\r\n\t{\r\n\t\treturn !this.props.showSpinner ? null :\r\n\t\t\t;\r\n\t}\r\n}\r\n\r\n\r\nExamPasswordForm.propTypes = {\r\n\tdisableInputs: PropTypes.bool,\r\n\tdisableSubmit: PropTypes.bool,\r\n\tonCanSubmit: PropTypes.func,\r\n\tonCantSubmit: PropTypes.func,\r\n\tonChange: PropTypes.func,\r\n\tonSubmit: PropTypes.func,\r\n\terrorText: PropTypes.string,\r\n\trelayPassword: PropTypes.func.isRequired,\r\n\tshowSpinner: PropTypes.bool,\r\n\tpassword: PropTypes.string,\r\n\thistory: PropTypes.object.isRequired,\r\n\tmessages: PropTypes.shape({\r\n\t\t[submitMessageId]: PropTypes.string.isRequired,\r\n\t\t[cancelMessageId]: PropTypes.string.isRequired,\r\n\t\t[passwordMessageId]: PropTypes.string.isRequired,\r\n\t\t[schedulePasswordPromptMessageId]: PropTypes.string.isRequired\r\n\t})\r\n}\r\n\r\n\r\n// ExamPasswordForm (connected to store)\r\n// -------------------------------------------\r\n\r\nconst mapStoreToProps = (store) => ({\r\n\terrorText: getPasswordError(getExamData(store)),\r\n\tpassword: getExamPassword(getExamData(store)),\r\n\tproctoringMode: getProctoringMode(getClientSettingsData(getSettingsData(store)))\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n\trelayPassword: (value) => dispatch(setExamPassword(value))\r\n});\r\n\r\nExamPasswordForm = connect(mapStoreToProps, mapDispatchToProps)(ExamPasswordForm);\r\n\r\n\r\n// ExamPasswordForm (connected to router/styles/messages)\r\n// -------------------------------------------\r\n\r\nExamPasswordForm = withRouter(ExamPasswordForm);\r\nExamPasswordForm = withStyles(styles)(ExamPasswordForm);\r\nExamPasswordForm = withMessages(ExamPasswordForm);\r\n\r\n\r\n\r\n// EXPORT\r\n// -------------------------------------------\r\nexport {ExamPasswordForm}","\r\nconst styles = ({palette, spacing, breakpoints}) => ({\r\n\ttext: {\r\n\t\tcolor: palette.background.contrastText\r\n\t},\r\n\tscroller: {\r\n\t\theight: '100%',\r\n\t\toverflowY: 'scroll',\r\n\t\tpaddingBottom: 200,\r\n\t},\r\n\tlayout: {\r\n\t width: 'auto',\r\n\t display: 'block', // Fix IE11 issue.\r\n\t marginLeft: spacing.unit * 2,\r\n\t\tmarginRight: spacing.unit * 2,\r\n\t\tpaddingTop: spacing.unit * 2,\r\n\t [breakpoints.up(800 + spacing.unit * 3 * 2)]: {\r\n\t\t\twidth: 600,\r\n\t\t\tmarginLeft: 'auto',\r\n\t\t\tmarginRight: 'auto',\r\n\t\t},\r\n\t},\r\n\tform: {\r\n\t\tpadding: spacing.unit * 2,\r\n\t\tposition: 'relative',\r\n\t\tbackgroundColor: palette.background.light\r\n\t},\r\n\tformInputText: {\r\n\t\tcolor: palette.background.contrastText + \"!important\"\r\n\t},\r\n\tpasswordText: {\r\n\t\tpaddingLeft: 50,\r\n\t\tmarginBottom: spacing.unit\r\n\t},\r\n\tlockIcon: {\r\n\t\tfontSize: 38,\r\n\t\tleft: 15,\r\n\t\tmarginTop: 2,\r\n\t\tposition: 'absolute',\r\n\t\tdisplay: 'inline-block',\r\n\t},\r\n\terror: {\r\n\t\tcolor: palette.error.main,\r\n\t\theight: spacing.unit * 3,\r\n\t},\r\n\tbuttons: {\r\n\t\ttextAlign: 'right'\r\n\t},\r\n\tbutton: {\r\n\t\tbackgroundColor: palette.primary.main + \"!important\",\r\n\t\tcolor: palette.primary.contrastText + \"!important\"\r\n\t},\r\n\tbuttonDisabled: {\r\n\t\tbackgroundColor: palette.background.light + \"!important\",\r\n\t\tcolor: palette.background.contrastText + \"!important\"\r\n\t},\r\n\tsubmit: {\r\n\t\tmarginLeft: spacing.unit\r\n\t},\r\n\tinputUnderline: {\r\n\t\t'&:before': {\r\n\t\t\tborderBottom: `1px solid ${palette.background.contrastText} !important`\r\n\t\t}\r\n\t}\r\n});\r\n\r\n\r\nexport {styles}","\r\n// npm\r\nimport React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\n// xams-components\r\nimport {StateView, StateControl} from 'temp/xams.UI.Components/machine'\r\n\r\n// react\r\nimport {ExamPasswordForm} from './form'\r\n\r\n// machines\r\nimport {form} from 'machines/form'\r\n\r\n\r\nconst {EVENTS, STATES} = form;\r\n\r\n\r\nconst renderFormFromView = () =>\r\n{\r\n\treturn (\r\n\t\t\r\n\t\t\t{{\r\n\t\t\t\t[STATES.UNFILLED]: () => (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{(props) => }\r\n\t\t\t\t\t\r\n\t\t\t\t),\r\n\t\t\t\t[STATES.SUBMITTABLE]: () => (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{(props) => }\r\n\t\t\t\t\t\r\n\t\t\t\t),\r\n\t\t\t\t[STATES.SUBMITTING]: () => ( // Empty to avoid React tree teardown (see https://reactjs.org/docs/reconciliation.html )\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{() => }\r\n\t\t\t\t\t\r\n\t\t\t\t),\r\n\t\t\t\t[STATES.SUBMISSION_FAILED]: () => (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{(props) => }\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t}}\r\n\t\t\r\n\t)\r\n}\r\n\r\n\r\nexport {renderFormFromView}","\r\n// npm\r\nimport React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\n// xams-components\r\nimport {StateMachine, StateView, StateControl} from 'temp/xams.UI.Components/machine'\r\n\r\n// react\r\nimport {renderOtherViews} from './other-view'\r\nimport {renderFormFromView} from './form-view'\r\n\r\n// machines\r\nimport {form} from 'machines/form'\r\n\r\n\r\nconst ExamPasswordFormMachine = ({onFinish}) =>\r\n{\r\n\treturn (\r\n\t\t\r\n\t\t\t{renderFormFromView()}\r\n\t\t\t{renderOtherViews(onFinish)}\r\n\t\t\r\n\t)\r\n}\r\n\r\nExamPasswordFormMachine.propTypes = {\r\n\tonFinish: PropTypes.func.isRequired\r\n}\r\n\r\n\r\nexport {ExamPasswordFormMachine}","\n// npm\nimport React from 'react'\nimport {connect} from 'react-redux'\nimport PropTypes from 'prop-types'\n\nimport {getSettingsData} from 'redux/reducers/selectors'\nimport {getClientSettingsData} from 'redux/reducers/settings/selectors'\nimport {getProctoringMode} from 'redux/reducers/settings/client/selectors'\n\n// react\nimport {ExamPasswordFormMachine} from './form/machine'\nimport {AppPageModifier} from 'components/pages/app-page-modifier'\n\n\nlet ExamPasswordPage = ({ onFinish, proctoringMode }) => {\n const title = \"Password\";\n\tconst logout = proctoringMode == null;\n\n return (\n \n \n \n \n );\n};\n\nExamPasswordPage.propTypes = {\n\tonFinish: PropTypes.func.isRequired\n}\n\nconst mapStoreToProps = (store) => ({\n\tproctoringMode: getProctoringMode(getClientSettingsData(getSettingsData(store)))\n});\n\nExamPasswordPage = connect(mapStoreToProps)(ExamPasswordPage);\n\n\nexport {ExamPasswordPage}","\nconst getVersion = (scheduleData) => scheduleData.get('version');\nconst getScheduleType = (scheduleData) => scheduleData.get('type');\nconst getScheduleInfo = (scheduleData) => scheduleData.get('info');\nconst getScheduleGuid = (scheduleData) => scheduleData.get('guid');\nconst getScheduleStartTime = (scheduleData) => scheduleData.get('startDt');\nconst getScheduleStartTimeFmt = (scheduleData) => scheduleData.get('startDtFmt');\nconst getScheduleCompletedTime = (scheduleData) => scheduleData.get('completeDt');\nconst getScheduleCompletedTimeFmt = (scheduleData) => scheduleData.get('completeDtFmt');\nconst hasScheduleCommenced = (scheduleData) => scheduleData.get('commenced') || false;\nconst hasScheduleCompleted = (scheduleData) => scheduleData.get('completed') || false;\nconst getCantStartMessage = (scheduleData) => scheduleData.get('cantStartMessage');\nconst isSchedulePractice = (scheduleData) => scheduleData.get('practice') || false;\nconst requiresSchedulePassword = (scheduleData) => scheduleData.get('requiresPassword') || false;\n\nconst getExamName = (scheduleData) => scheduleData.get('examName');\nconst getExamGuid = (scheduleData) => scheduleData.get('examGuid');\nconst getExamTypeGuid = (scheduleData) => scheduleData.get('examTypeGuid');\n\nconst getProctorProvider = (scheduleData) => scheduleData.get('proctorProvider');\nconst getProctoringSessionID = (scheduleData) => scheduleData.get('proctoringSessionID');\n\nconst getObjectId = (scheduleData) => scheduleData.get('objectID');\nconst getQualificationId = (scheduleData) => scheduleData.get('qualificationID');\n\nconst getPracticeExtraTime = (scheduleData) => scheduleData.get('practiceExtraTime');\n\nconst getScheduleId = (scheduleData) => scheduleData.get('scheduleId');\nconst getScheduleUserId = (scheduleData) => scheduleData.get('scheduleUserId');\n\nexport {\n\tgetVersion,\n\tgetScheduleType,\n\tgetScheduleInfo,\n\tgetScheduleGuid,\n\tgetScheduleStartTime,\n\tgetScheduleStartTimeFmt,\n\tgetScheduleCompletedTime,\n\tgetScheduleCompletedTimeFmt,\n\tgetCantStartMessage,\n\thasScheduleCommenced,\n\thasScheduleCompleted,\n\tisSchedulePractice,\n\trequiresSchedulePassword,\n\n\tgetExamName,\n\tgetExamGuid,\n\tgetExamTypeGuid,\n\n\tgetProctorProvider,\n\tgetProctoringSessionID,\n\t\n\tgetObjectId,\n\tgetQualificationId,\n\n\tgetPracticeExtraTime,\n\n\tgetScheduleId,\n\tgetScheduleUserId\n}","// npm\r\nimport React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport {connect} from 'react-redux'\r\n\r\n// utils\r\nimport {assessmentApi} from 'libs/api/interface/api-assessment'\r\n\r\n// redux (selectors)\r\nimport {getUserGuid} from 'redux/reducers/session/user/selectors'\r\nimport {getUserSessionData} from 'redux/reducers/session/selectors'\r\nimport {getScheduleGuid, getGuid} from 'redux/reducers/exam/selectors'\r\nimport {getScheduleDataByExamGuid} from 'redux/reducers/schedules/selectors'\r\nimport {getSessionData, getExamData, getSchedulesData} from 'redux/reducers/selectors'\r\nimport {getScheduleType, getExamGuid, getExamTypeGuid, getVersion, getPracticeExtraTime} from 'redux/reducers/schedules/schedule/selectors'\r\n\r\n// redux (actions)\r\nimport {setExamData} from './actions'\r\n\r\n\r\n// ExamFetcher (not connected to store)\r\n// ----------------------------------------\r\n\r\nclass ExamFetcher extends React.Component\r\n{\r\n componentDidMount()\r\n {\r\n const args = [\r\n this.props.userGuid,\r\n this.props.scheduleGuid,\r\n this.props.scheduleType,\r\n this.props.examGuid,\r\n this.props.examTypeGuid,\r\n this.props.version,\r\n this.props.extraTime\r\n ]\r\n\r\n assessmentApi.getExam(...args).then(this.props.onSuccess, this.props.onFail);\r\n }\r\n\r\n render()\r\n {\r\n return null;\r\n }\r\n}\r\n\r\nExamFetcher.propTypes = {\r\n onSuccess: PropTypes.func.isRequired,\r\n onFail: PropTypes.func.isRequired,\r\n userGuid: PropTypes.string.isRequired,\r\n scheduleGuid: PropTypes.string.isRequired,\r\n scheduleType: PropTypes.string.isRequired,\r\n examGuid: PropTypes.string.isRequired,\r\n examTypeGuid: PropTypes.string.isRequired,\r\n version: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.number\r\n ]),\r\n}\r\n\r\n\r\n// ExamFetcher (connected to store)\r\n// ----------------------------------------\r\n\r\nconst mapStoreToProps = (store) =>\r\n{\r\n const examData = getExamData(store);\r\n const examGuid = getGuid(examData);\r\n const scheduleGuid = getScheduleGuid(examData);\r\n\r\n const schedulesData = getSchedulesData(store);\r\n const scheduleData = getScheduleDataByExamGuid(schedulesData)(examGuid);\r\n\r\n const userGuid = getUserGuid(getUserSessionData(getSessionData(store)));\r\n const scheduleType = getScheduleType(scheduleData);\r\n const examTypeGuid = getExamTypeGuid(scheduleData);\r\n const version = getVersion(scheduleData);\r\n\r\n const extraTime = getPracticeExtraTime(scheduleData)\r\n\r\n return {userGuid, scheduleGuid, scheduleType, examGuid, examTypeGuid, version, extraTime};\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch, {onSuccess}) => ({\r\n onSuccess: (response) => {\r\n response = JSON.parse(response);\r\n dispatch(setExamData(response));\r\n onSuccess();\r\n }\r\n})\r\n\r\nExamFetcher = connect(mapStoreToProps, mapDispatchToProps)(ExamFetcher);\r\n\r\n\r\n// EXPORT\r\n// ----------------------------------------\r\nexport {ExamFetcher}","\r\n// redux (action-types)\r\nimport {SET_EXAM_DATA} from 'redux/reducers/exam/action-types'\r\nimport {CACHE_PDF} from 'redux/reducers/cache/pdfs/action-types'\r\nimport {SET_ASCX_HTML} from 'redux/reducers/exam/content/questions/question/ascx/action-types'\r\n\r\n\r\nconst setExamData = (data) => ({\r\n\ttype: SET_EXAM_DATA,\r\n\tdata\r\n});\r\n\r\nconst cachePdfResource = (pdfUrl, blobUrl) => ({\r\n\ttype: CACHE_PDF,\r\n\tpdfUrl,\r\n\tblobUrl\r\n});\r\n\r\nconst setAscxHtml = (questionId, html) => ({\r\n\ttype: SET_ASCX_HTML,\r\n\tquestionId,\r\n\thtml\r\n});\r\n\r\n\r\nexport {setExamData, cachePdfResource, setAscxHtml}","\r\nconst getMappingsData = (contentData) => contentData.get('mappings');\r\nconst getSectionsData = (contentData) => contentData.get('sections');\r\nconst getQuestionsData = (contentData) => contentData.get('questions');\r\nconst getResourceUrl = (contentData) => contentData.get('resourceUrl');\r\nconst getResumedQuestionNumber = (contentData) => contentData.get('initialPage');\r\nconst getCurrentQuestionId = (contentData) => contentData.get('currentQuestionId');\r\nconst getQuestionIdSetFromQuestion = (contentData) => contentData.get('questionIdSetFromQuestion');\r\nconst getRequiresCalculator = (contentData) => contentData.get('requiresCalculator');\r\n\r\n\r\nexport {\r\n\tgetMappingsData, \r\n\tgetSectionsData, \r\n\tgetQuestionsData,\r\n\tgetResourceUrl,\r\n\tgetCurrentQuestionId,\r\n\tgetResumedQuestionNumber,\r\n\tgetQuestionIdSetFromQuestion,\r\n\tgetRequiresCalculator\r\n}","const isAnswered = (localAnswer) => !!localAnswer;\r\n\r\nconst getControlName = (questionData) => questionData.get('controlName');\r\nconst getProperties = (questionData) => questionData.get('properties');\r\nconst getHtml = (questionData) => questionData.get('html');\r\nconst getResumedAnswer = (blanksData) => blanksData.get('resumedAnswer');\r\n\r\nexport {isAnswered, getResumedAnswer, getControlName, getProperties, getHtml}","\r\nconst getDropdownLabel = (dropdownData) => dropdownData.get('dropdownLabel');\r\nconst getOptionsData = (dropdownData) => dropdownData.get('options');\r\nconst isAnswered = (localAnswer) => !!localAnswer;\r\n\r\nexport {getDropdownLabel, getOptionsData, isAnswered}","import check from 'check-types'\r\n\r\nconst getOptionsData = (matchData) => matchData.get('options');\r\nconst getSelectionsData = (matchData) => matchData.get('selections');\r\nconst isAnswered = (localAnswer) => check.nonEmptyObject(localAnswer);\r\n\r\nexport {getOptionsData, getSelectionsData, isAnswered}","const getRowsData = (tableData) => tableData.get('rows');\r\nconst getResumedAnswer = (tableData) => tableData.get('resumedAnswer');\r\nconst getHasAnswerBox = (tableData) => tableData.get('showAnswerInputField');\r\nconst getAnswerBoxSize = (tableData) => tableData.get('noOfAnswerLines');\r\nconst getAnswerBoxLabel = (tableData) => tableData.get('answerLabel');\r\n\r\nconst isAnswered = (localAnswer) => {\r\n\tif (!localAnswer) { return false; }\r\n\treturn localAnswer.some(answer => {\r\n\t\tif (answer.answerBox){\r\n\t\t\treturn !!answer.answerBox;\r\n\t\t}\r\n\t\telse if (answer.values){\r\n\t\t\treturn answer.values.some(value => !!value);\r\n\t\t}\r\n\t\telse{\r\n\t\t\treturn false;\r\n\t\t}\r\n\t});\r\n}\r\n\r\nexport {getRowsData, getResumedAnswer, isAnswered, getHasAnswerBox, getAnswerBoxSize, getAnswerBoxLabel}","\r\nconst getOptions = (blanksData) => blanksData.get('options');\r\nconst getVariableOptions = (blanksData) => blanksData.get('variableOptions');\r\nconst getAnswerText = (blanksData) => blanksData.get('answerText');\r\nconst getResumedAnswer = (blanksData) => blanksData.get('resumedAnswer');\r\nconst isAnswered = (localAnswer) => localAnswer && localAnswer.some(answer => !!answer);\r\n\r\nexport {getOptions, getAnswerText, getResumedAnswer, isAnswered, getVariableOptions}","\r\nconst getOptionsData = (checksData) => checksData.get('options');\r\nconst getMaxOptions = (checksData) => checksData.get('maxOptions');\r\nconst isAnswered = (localAnswer) => localAnswer && localAnswer.length > 0;\r\n\r\nexport {getOptionsData, getMaxOptions, isAnswered}","const getOptionsData = (mcqData) => mcqData.get('options');\r\nconst isAnswered = (localAnswer) => !!localAnswer;\r\n\r\nexport {getOptionsData, isAnswered}","const isAnswered = (localAnswer) => !!localAnswer;\r\n\r\nexport {isAnswered}","import check from \"check-types\";\r\n\r\nconst getPartsData = (multiTextData) => multiTextData.get(\"parts\");\r\n\r\nconst isAnswered = (localAnswer) => {\r\n if (!localAnswer) {\r\n return false;\r\n }\r\n return Object.values(localAnswer).some((value) =>\r\n check.nonEmptyString(value)\r\n );\r\n};\r\n\r\nconst getShowWordCount = (multiTextData) => {\r\n return multiTextData.get(\"showWordCount\");\r\n};\r\n\r\nexport { getPartsData, isAnswered, getShowWordCount };\r\n","const isAnswered = localAnswer => localAnswer === 'visited';\r\nconst getEvidenceText = questionData => questionData.get('evidenceText');\r\nconst getResumedAnswer = (blanksData) => blanksData.get('resumedAnswer');\r\n\r\nexport { isAnswered, getEvidenceText, getResumedAnswer };\r\n","const isAnswered = (localAnswer) => !!localAnswer;\r\n\r\nexport {isAnswered}","\r\n// xams-utils\r\nimport {check} from '@xams-utils/check-types'\r\n\r\n\r\nconst KEYS = {\r\n\tLEFT_ARROW: 37,\r\n\tRIGHT_ARROW: 39\r\n}\r\n\r\n\r\nconst keySubscriptions = {};\t\t// keyCode -> {disabled: bool, listeners: listener}\r\n\r\n\r\ndocument.addEventListener('keydown', ({keyCode}) => {\r\n\tconst subscription = keySubscriptions[keyCode];\r\n\r\n\tif (subscription && !subscription.disabled) {\r\n\t\tsubscription.listeners.forEach(listener => {\r\n\t\t\tlistener();\r\n\t\t});\r\n\t}\r\n});\r\n\r\nconst getUnsubscribeFunction = (keyCode, listener) => () => {\r\n\tconst {listeners} = keySubscriptions[keyCode];\r\n\tconst listenerIndex = listeners.indexOf(listener);\r\n\tlisteners.splice(listenerIndex, 1);\r\n}\r\n\r\n\r\nconst subscribe = (keyCode, listener) => {\r\n\tif (!check.number(keyCode)) {\r\n\t\tthrow \"Key code must be a number\";\r\n\t}\r\n\r\n\tif (!check.function(listener)) {\r\n\t\tthrow \"Key listener must be a function\";\r\n\t}\r\n\r\n\tif (!keySubscriptions[keyCode]) {\r\n\t\tkeySubscriptions[keyCode] = {\r\n\t\t\tdisabled: false,\r\n\t\t\tlisteners: [listener]\r\n\t\t};\r\n\t}\r\n\telse {\r\n\t\tkeySubscriptions[keyCode].listeners.push(listener);\r\n\t}\r\n\r\n\treturn getUnsubscribeFunction(keyCode, listener);\r\n}\r\n\r\nconst disable = (keyCode) => {\r\n\tif (keyCode in keySubscriptions) {\r\n\t\tkeySubscriptions[keyCode].disabled = true;\r\n\t}\r\n}\r\n\r\nconst enable = (keyCode) => {\r\n\tif (keyCode in keySubscriptions) {\r\n\t\tkeySubscriptions[keyCode].disabled = false;\r\n\t}\t\r\n}\r\n\r\n\r\n\r\nconst keyListener = {subscribe, enable, disable};\r\nObject.freeze(keyListener);\r\n\r\n\r\nexport {keyListener, KEYS}","import check from \"check-types\";\r\nimport {keyListener, KEYS} from 'utils/key-listener'\r\n\r\nconst getStyle = (_styleString, startStyle = {}) => {\r\n const styleString = check.nonEmptyObject(_styleString)\r\n ? _styleString.style\r\n : _styleString;\r\n\r\n let styleObject = startStyle;\r\n if (check.nonEmptyString(styleString)) {\r\n const styles = styleString.split(\";\");\r\n styleObject = styles.reduce((obj, style) => {\r\n if (check.nonEmptyString(style)) {\r\n const items = style.split(\":\");\r\n if (items.length === 2) {\r\n const name = getStyleName(items[0]);\r\n const value = items[1].trim();\r\n if (\r\n check.nonEmptyString(name) &&\r\n check.nonEmptyString(value)\r\n ) {\r\n obj[name] = value;\r\n }\r\n }\r\n }\r\n return obj;\r\n }, startStyle);\r\n }\r\n\r\n if (check.nonEmptyObject(_styleString)) {\r\n // const parameters=['left', 'top', 'width', 'height'];\r\n // for (let i=0;i {\r\n if (\r\n !check.assigned(styleObject[property]) &&\r\n check.nonEmptyString(_styleString[property])\r\n ) {\r\n const newProperty =\r\n property === \"left\"\r\n ? \"marginLeft\"\r\n : property === \"top\"\r\n ? \"marginTop\"\r\n : property;\r\n styleObject[newProperty] = `${_styleString[property]}px`;\r\n }\r\n });\r\n }\r\n\r\n return styleObject;\r\n};\r\n\r\nconst getStyleName = (name) => {\r\n if (check.nonEmptyString(name)) {\r\n if (name.indexOf(\"-\") !== -1) {\r\n const items = name.split(\"-\").map((item) => item.trim());\r\n if (check.nonEmptyArray(items) && items.length === 2) {\r\n return (\r\n items[0].toLowerCase() +\r\n items[1].charAt(0).toUpperCase() +\r\n items[1].slice(1).toLowerCase()\r\n );\r\n }\r\n }\r\n return name.trim().toLowerCase();\r\n }\r\n return \"\";\r\n};\r\n\r\nconst createFormValue = (formValue, seps) => {\r\n if (check.nonEmptyObject(formValue)) {\r\n const items = [];\r\n for (const property in formValue) {\r\n items.push([property, formValue[property]].join(seps[2]));\r\n }\r\n if (check.nonEmptyArray(items)) {\r\n return items.join(seps[1]);\r\n }\r\n }\r\n return \"\";\r\n};\r\n\r\nconst getFormValue = (value, seps) => {\r\n const formValue = {};\r\n if (check.nonEmptyString(value)) {\r\n const parts = value.split(seps[0]);\r\n if (check.nonEmptyArray(parts)) {\r\n if (check.nonEmptyString(parts[1])) {\r\n const items = parts[1].split(seps[1]);\r\n for (let i = 0; i < items.length; i++) {\r\n if (check.nonEmptyString(items[i])) {\r\n const data = items[i].split(seps[2]);\r\n if (check.nonEmptyArray(data)) {\r\n const formName = removeSpacesFromName(data[0]);\r\n formValue[formName] = data[1];\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return formValue;\r\n};\r\n\r\nconst getFormSelected = (value, seps) => {\r\n const empty = null;\r\n if (check.nonEmptyString(value)) {\r\n if (check.nonEmptyString(value)) {\r\n const items = value.split(seps[0]);\r\n if (check.nonEmptyArray(items) && items.length > 1) {\r\n return check.nonEmptyString(items[0]) ? items[0] : empty;\r\n }\r\n }\r\n }\r\n return empty;\r\n};\r\n\r\nconst hasFormBeenSelected = (value, seps) => {\r\n const selected = getFormSelected(value, seps);\r\n\r\n return check.nonEmptyString(selected);\r\n};\r\n\r\nconst getComponentValue = (name, formValue) => {\r\n const empty = \"\";\r\n\r\n if (check.nonEmptyObject(formValue)) {\r\n const formName = removeSpacesFromName(name);\r\n return formValue[formName];\r\n }\r\n\r\n return empty;\r\n};\r\n\r\nconst removeSpacesFromName = (name) => {\r\n if (check.nonEmptyString(name)) {\r\n return name.replace(/ /g, \"_\");\r\n }\r\n return \"\";\r\n};\r\n\r\nconst addSpacesToName = (name) => {\r\n if (check.nonEmptyString(name)) {\r\n return name.replace(/_/g, \" \");\r\n }\r\n return \"\";\r\n};\r\n\r\nconst isFontProperty = (property) => property.startsWith(\"font\");\r\n\r\nconst getFontStyles = (styleObj) => {\r\n const fontObj = {};\r\n\r\n if (check.nonEmptyObject(styleObj)) {\r\n for (const property in styleObj) {\r\n if (isFontProperty(property)) {\r\n fontObj[property] = styleObj[property];\r\n }\r\n }\r\n }\r\n\r\n return fontObj;\r\n};\r\n\r\nconst addFontStyles = (styleObj, fontObj) => {\r\n if (!check.nonEmptyObject(fontObj)) {\r\n return styleObj;\r\n }\r\n\r\n // let hasFontProperty = false;\r\n\r\n // for (const property in styleObj) {\r\n // if (isFontProperty(property)) {\r\n // hasFontProperty = true;\r\n // }\r\n // }\r\n\r\n // return hasFontProperty ? styleObj : { ...fontObj, ...styleObj };\r\n\r\n const newStyleObj = { ...styleObj };\r\n\r\n for (const fontProperty in fontObj) {\r\n let propertyFound = false;\r\n for (const property in styleObj) {\r\n if (property === fontProperty) {\r\n propertyFound = true;\r\n }\r\n }\r\n\r\n if (!propertyFound) {\r\n newStyleObj[fontProperty] = fontObj[fontProperty];\r\n }\r\n }\r\n\r\n return newStyleObj;\r\n};\r\n\r\nconst getActionObj = (prevProps, props) => {\r\n const prevFormAction = prevProps ? prevProps.formAction : \"\";\r\n const { formAction, name } = props;\r\n\r\n //console.log(\"button\", prevFormAction, formAction);\r\n\r\n if (\r\n formAction === prevFormAction ||\r\n !check.nonEmptyString(formAction) ||\r\n !check.nonEmptyString(name)\r\n ) {\r\n return null;\r\n }\r\n\r\n const names = formAction.split(\",\");\r\n\r\n if (!check.nonEmptyArray(names)) {\r\n return null;\r\n }\r\n\r\n const obj = names.reduce((n, item) => {\r\n if (check.nonEmptyString(item)) {\r\n const a = item.split(\"=\");\r\n\r\n if (\r\n check.nonEmptyArray(a) &&\r\n a.length > 1 &&\r\n a[0].toLowerCase() === name.toLowerCase()\r\n ) {\r\n if (check.nonEmptyString(a[1])) {\r\n if (a[1].toLowerCase() === \"style\") {\r\n if (check.nonEmptyString(a[2])) {\r\n const styles = a[2].split(\";\").reduce((s, item) => {\r\n if (check.nonEmptyString(item)) {\r\n const a = item.split(\":\");\r\n\r\n if (a.length === 2) {\r\n s[a[0]] = a[1];\r\n }\r\n }\r\n\r\n return s;\r\n }, {});\r\n\r\n return { name: a[0], styles };\r\n }\r\n } else if (a[1].toLowerCase() === \"message\") {\r\n if (a.length === 3 && check.nonEmptyString(a[2])) {\r\n return { name: a[0], message: a[2] };\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return n;\r\n }, null);\r\n\r\n return obj;\r\n};\r\n\r\nconst getFormAction = (value, seps) => {\r\n if (check.nonEmptyString(value)) {\r\n const items = value.split(seps[0]);\r\n\r\n if (check.nonEmptyArray(items) && items.length == 3) {\r\n return items[2];\r\n }\r\n }\r\n\r\n return \"\";\r\n};\r\n\r\nconst getInitialValues = (formData) => {\r\n const newValue = [];\r\n\r\n if (formData) {\r\n const { rows } = formData;\r\n\r\n if (check.nonEmptyArray(rows)) {\r\n rows.forEach((row) => {\r\n const { cells } = row;\r\n\r\n if (check.nonEmptyArray(cells)) {\r\n cells.forEach((cell) => {\r\n const { components } = cell;\r\n\r\n if (check.nonEmptyArray(components)) {\r\n components.forEach((component) => {\r\n const { startingValue, name } = component;\r\n\r\n if (check.nonEmptyString(startingValue)) {\r\n newValue.push({\r\n name,\r\n value: startingValue,\r\n });\r\n }\r\n });\r\n }\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n return newValue;\r\n};\r\n\r\nconst rowStateHidden = (rowState, rowStates, rowFamily) => {\r\n if (\r\n !check.nonEmptyString(rowState) ||\r\n !check.nonEmptyObject(rowStates) ||\r\n !check.nonEmptyString(rowFamily)\r\n ) {\r\n return false;\r\n }\r\n\r\n const currentRowState = rowStates[rowState];\r\n\r\n if (check.nonEmptyArray(currentRowState)) {\r\n return currentRowState.every((row) => row !== rowFamily);\r\n }\r\n\r\n return false;\r\n};\r\n\r\nconst isChangeRowState = (action) => {\r\n if (check.nonEmptyString(action)) {\r\n const actions = action.split();\r\n const parts = action.split(\"=\");\r\n\r\n if (check.nonEmptyArray(parts) && parts.length > 1) {\r\n return parts[0] === \"rowState\";\r\n }\r\n }\r\n return false;\r\n};\r\nconst getRowState = (action) => {\r\n if (check.nonEmptyString(action)) {\r\n const actions = action.split(\";\");\r\n const rowState = actions.reduce((r, action) => {\r\n const parts = action.split(\"=\");\r\n if (check.nonEmptyArray(parts) && parts.length > 1) {\r\n if (parts[0] === \"rowState\") {\r\n return parts[1];\r\n }\r\n }\r\n return r;\r\n }, null);\r\n return rowState;\r\n }\r\n};\r\n\r\nconst insertVariablesIntoText = (text, formData) => {\r\n if (check.nonEmptyString(text)) {\r\n const hasDelimiter = text.indexOf(\"{\");\r\n\r\n if (hasDelimiter !== -1) {\r\n var regex = /{(.*?)}/g;\r\n const t = text.replace(regex, function (match) {\r\n var variable = check.nonEmptyString(match)?match.substring(1, match.length-1):\"\";\r\n\r\n return check.nonEmptyString(variable) &&\r\n check.assigned(formData[variable])\r\n ? formData[variable]\r\n : \"\";\r\n });\r\n\r\n return t;\r\n }\r\n }\r\n return text;\r\n};\r\n\r\nconst disableArrowKeyListeners = () =>\r\n{\r\n\tkeyListener.disable(KEYS.LEFT_ARROW);\r\n\tkeyListener.disable(KEYS.RIGHT_ARROW);\r\n}\r\n\r\nconst enableArrowKeyListeners = () =>\r\n{\r\n\tkeyListener.enable(KEYS.LEFT_ARROW);\r\n\tkeyListener.enable(KEYS.RIGHT_ARROW);\r\n}\r\n\r\nexport {\r\n getStyle,\r\n createFormValue,\r\n getFormValue,\r\n hasFormBeenSelected,\r\n getComponentValue,\r\n getFormSelected,\r\n addSpacesToName,\r\n removeSpacesFromName,\r\n getFontStyles,\r\n addFontStyles,\r\n getActionObj,\r\n getFormAction,\r\n getInitialValues,\r\n rowStateHidden,\r\n isChangeRowState,\r\n getRowState,\r\n insertVariablesIntoText,\r\n disableArrowKeyListeners,\r\n enableArrowKeyListeners\r\n};\r\n","import { check } from \"@xams-utils/check-types\";\r\nimport { FORM_SEPERATORS } from \"constants/form\";\r\nimport { getInitialValues } from \"components/pages/exam/_layout/content/panel/answer_panel/answer_forms/form/form-helper\";\r\n\r\n\r\nconst getFormData = (formData) => formData.get(\"formData\");\r\nconst getResumedAnswer = (formData) => formData.get(\"resumedAnswer\");\r\n\r\nconst isAnswered = (localAnswer, questionData) => {\r\n if (check.nonEmptyString(localAnswer)) {\r\n const parts = localAnswer.split(FORM_SEPERATORS[0]);\r\n //console.log('parts', parts);\r\n\r\n if (check.nonEmptyArray(parts) && parts.length > 1) {\r\n if (\r\n check.nonEmptyString(parts[0]) ||\r\n (parts.length > 2 && check.nonEmptyString(parts[2]))\r\n ) {\r\n //console.log('0 or 2 empty', parts.length, parts[0], parts[2], check.nonEmptyString(parts[0]), check.nonEmptyString(parts[2]));\r\n //console.log('');\r\n return true;\r\n }\r\n if (check.nonEmptyString(parts[1])) {\r\n const formData = questionData.get(\"formData\");\r\n const initialValues = getInitialValues(formData);\r\n const fields = parts[1].split(FORM_SEPERATORS[1]);\r\n\r\n const hasChanged = fields.reduce((changed, field) => {\r\n const item = field.split(FORM_SEPERATORS[2]);\r\n if (item[1] !== getInitialValue(item[0], initialValues)) {\r\n return true;\r\n }\r\n return changed;\r\n }, false);\r\n\r\n return hasChanged;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n};\r\n\r\nconst getInitialValue = (name, values) => {\r\n if (check.nonEmptyArray(values)) {\r\n for (let i = 0; i < values.length; i++) {\r\n if (values[i].name === name) {\r\n return values[i].value;\r\n }\r\n }\r\n }\r\n return \"\";\r\n};\r\n\r\nexport { getFormData, getResumedAnswer, isAnswered };\r\n","import * as ASCX_SELECTORS from './ascx/selectors'\r\nimport * as COMBO_SELECTORS from './combo/selectors'\r\nimport * as MATCH_SELECTORS from './match/selectors'\r\nimport * as TABLE_SELECTORS from './table/selectors'\r\nimport * as BLANKS_SELECTORS from './blanks/selectors'\r\nimport * as CHECKS_SELECTORS from './checks/selectors'\r\nimport * as RADIOS_SELECTORS from './radios/selectors'\r\nimport * as LONG_TEXT_SELECTORS from './long_text/selectors'\r\nimport * as MULTI_TEXT_SELECTORS from './multi_text/selectors'\r\nimport * as ICT_SELECTORS from './ict/selectors'\r\nimport * as STATIC_TEXT_SELECTORS from './static_text/selectors'\r\nimport * as FORM_SELECTORS from './form/selectors'\r\nimport * as QUESTION_TYPES from 'constants/question-types'\r\n\r\n\r\nconst getQuestionSelectors = questionType =>\r\n{\r\n switch (questionType)\r\n {\r\n case QUESTION_TYPES.RADIOS:\r\n case QUESTION_TYPES.RADIOS_TEXT: \r\n case QUESTION_TYPES.TRUE_OR_FALSE:\r\n return RADIOS_SELECTORS;\r\n case QUESTION_TYPES.BLANKS:\r\n return BLANKS_SELECTORS;\r\n case QUESTION_TYPES.COMBO:\r\n return COMBO_SELECTORS;\r\n case QUESTION_TYPES.CHECKS:\r\n return CHECKS_SELECTORS;\r\n case QUESTION_TYPES.TABLE:\r\n return TABLE_SELECTORS;\r\n case QUESTION_TYPES.MULTI_TEXT:\r\n return MULTI_TEXT_SELECTORS;\r\n case QUESTION_TYPES.MATCH:\r\n return MATCH_SELECTORS;\r\n case QUESTION_TYPES.LONG_TEXT:\r\n return LONG_TEXT_SELECTORS;\r\n case QUESTION_TYPES.ASCX:\r\n return ASCX_SELECTORS;\r\n case QUESTION_TYPES.ICT:\r\n return ICT_SELECTORS;\r\n case QUESTION_TYPES.STATIC_TEXT:\r\n return STATIC_TEXT_SELECTORS;\r\n case QUESTION_TYPES.FORM:\r\n return FORM_SELECTORS; \r\n default:\r\n throw 'Unknown question type';\r\n }\r\n}\r\n\r\n\r\nconst getId = questionData => questionData.get('id');\r\nconst getType = questionData => questionData.get('type');\r\nconst getText = questionData => questionData.get('text');\r\nconst getMarks = questionData => questionData.get('marks');\r\nconst getNumber = questionData => questionData.get('number');\r\nconst getIntroText = questionData => questionData.get('introText');\r\nconst getLocalAnswer = questionData => questionData.get('localAnswer');\r\nconst getServerAnswer = questionData => questionData.get('serverAnswer');\r\nconst getResourceUrl = questionData => questionData.get('resourceUrl');\r\nconst getWorkingsData = questionData => questionData.get('workings');\r\n\r\nconst isDisabled = questionData => questionData.get('disabled');\r\nconst isBookmarked = questionData => questionData.get('bookmarked');\r\nconst requiresCalculator = questionData => questionData.get('requiresCalculator');\r\nconst requiresWorkings = questionData => questionData.get('requiresWorkings');\r\nconst isDragAndDrop = questionData => questionData.get('dragAndDrop');\r\n\r\nconst getVersionId = questionData => questionData.get('versionId');\r\nconst getVersionNumber = questionData => questionData.get('versionNumber');\r\n\r\nconst isAnswered = questionData => {\r\n const questionType = getType(questionData);\r\n const questionSelectors = getQuestionSelectors(questionType);\r\n if (questionType===QUESTION_TYPES.FORM){\r\n return questionSelectors.isAnswered(getLocalAnswer(questionData), questionData); \r\n }\r\n return questionSelectors.isAnswered(getLocalAnswer(questionData));\r\n};\r\n\r\n\r\nexport {\r\n // getters\r\n getId,\r\n getType,\r\n getText,\r\n getMarks,\r\n getNumber,\r\n getIntroText,\r\n getLocalAnswer,\r\n getServerAnswer,\r\n getResourceUrl,\r\n getWorkingsData,\r\n // predicates\r\n isAnswered,\r\n isDisabled,\r\n isBookmarked,\r\n requiresCalculator,\r\n requiresWorkings,\r\n isDragAndDrop,\r\n getVersionId,\r\n getVersionNumber\r\n}","\r\nimport {getNumber, getId} from './question/selectors'\r\n\r\n\r\nconst getQuestionCount = (questionsData) => questionsData.size;\r\nconst getQuestionIds = (questionsData) => questionsData.keySeq().toArray();\r\nconst getQuestionDataById = (questionsData) => (id) => questionsData.get(id);\r\nconst getQuestionDataValues = (questionsData) => questionsData.valueSeq().toArray();\r\n\r\nconst getQuestionDataByNumber = (questionsData) => (number) => {\r\n\treturn questionsData.find(questionData => getNumber(questionData) === number);\r\n}\r\n\r\nconst getQuestionIdByNumber = (questionsData) => (number) => {\r\n\tconst questionData = getQuestionDataByNumber(questionsData)(number);\r\n\treturn questionData ? getId(questionData) : undefined;\r\n}\r\n\r\nexport {\r\n\tgetQuestionIds,\r\n\tgetQuestionCount,\r\n\tgetQuestionDataById,\r\n\tgetQuestionDataValues,\r\n\tgetQuestionIdByNumber,\r\n\tgetQuestionDataByNumber\r\n}","\r\n// npm\r\nimport React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport {connect} from 'react-redux'\r\nimport ImmutablePropTypes from 'immutable-prop-types'\r\n\r\n// redux (selectors)\r\nimport {getExamData} from 'redux/reducers/selectors'\r\nimport {getContentData} from 'redux/reducers/exam/selectors'\r\nimport {getQuestionsData} from 'redux/reducers/exam/content/selectors'\r\nimport {getId, getType} from 'redux/reducers/exam/content/questions/question/selectors'\r\nimport {getQuestionIds, getQuestionDataById} from 'redux/reducers/exam/content/questions/selectors'\r\nimport {getControlName, getProperties, getResumedAnswer} from 'redux/reducers/exam/content/questions/question/ascx/selectors'\r\n\r\n// redux (actions)\r\nimport {setAscxHtml} from './actions'\r\n\r\n// utils\r\nimport {getAscx} from 'libs/api/interface/api-ascx'\r\n\r\n// constants\r\nimport {ASCX} from 'constants/question-types'\r\n\r\n\r\n// AscxInitializer (not connected to store)\r\n// ------------------------------------------------------------\r\n\r\nclass AscxInitializer extends React.Component\r\n{\r\n\tcomponentDidMount()\r\n\t{\r\n\t\tconst {ascxQuestions, onFail} = this.props;\r\n\t\tconst questionCount = ascxQuestions.length;\r\n\r\n\t\tif (questionCount === 0) {\r\n\t\t\tthis.props.onSuccess();\r\n\t\t}\r\n\t\telse {\r\n\t\t\tlet loadCount = 0;\r\n\r\n\t\t\tascxQuestions.forEach(ascxQuestion => {\r\n\t\t\t\tconst questionId = getId(ascxQuestion);\r\n\t\t\t\tconst controlName = getControlName(ascxQuestion);\r\n\t\t\t\tconst initialValue = getResumedAnswer(ascxQuestion);\r\n\t\t\t\tconst properties = getProperties(ascxQuestion);\r\n\r\n\t\t\t\tconst onSuccess = (response) => {\r\n\t\t\t\t\tthis.props.saveAscxHtml(questionId, response);\r\n\t\t\t\t\tif (++loadCount === questionCount) {\r\n\t\t\t\t\t\tthis.props.onSuccess();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tgetAscx(questionId, controlName, initialValue, properties)\r\n\t\t\t\t.then(onSuccess, onFail);\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\trender()\r\n\t{\r\n\t\treturn null;\r\n\t}\r\n}\r\n\r\nAscxInitializer.propTypes = {\r\n\tonFail: PropTypes.func.isRequired,\r\n\tonSuccess: PropTypes.func.isRequired,\r\n\tsaveAscxHtml: PropTypes.func.isRequired,\r\n\tascxQuestions: PropTypes.arrayOf(ImmutablePropTypes.map).isRequired\r\n}\r\n\r\n\r\n// AscxInitializer (connected to store)\r\n// ------------------------------------------------------------\r\n\r\nconst mapStoreToProps = (store) => {\r\n\tconst contentData = getContentData(getExamData(store));\r\n\tconst questionsData = getQuestionsData(contentData);\r\n\tconst questionIds = getQuestionIds(questionsData);\r\n\tconst getQuestionData = getQuestionDataById(questionsData);\r\n\r\n\tconst questions = questionIds.map(id => getQuestionData(id));\r\n\tconst ascxQuestions = questions.filter(q => getType(q) === ASCX);\r\n\r\n\treturn {ascxQuestions};\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n\tsaveAscxHtml: (questionId, html) => dispatch(setAscxHtml(questionId, html))\r\n});\r\n\r\nAscxInitializer = connect(mapStoreToProps, mapDispatchToProps)(AscxInitializer);\r\n\r\n\r\n// Export\r\n// ------------------------------------------------------------\r\nexport {AscxInitializer}","import {api} from '../api'\r\nimport {ENDPOINTS} from '../constants'\r\n\r\n\r\nconst getAscx = (questionID, controlName, initialData, props) =>\r\n{\r\n\tconst payload = \r\n\t{\r\n\t\tquestionID, controlName, initialData, props\r\n\t};\r\n\treturn api.post(ENDPOINTS.ASCX, payload);\r\n}\r\n\r\n\r\nexport {getAscx}","\r\n// redux (action-types)\r\n\r\nimport {CACHE_IMAGE} from 'redux/reducers/cache/images/action-types'\r\n\r\n\r\nconst cacheImage = (imageUrl, blobUrl) => ({\r\n\ttype: CACHE_IMAGE,\r\n\timageUrl,\r\n\tblobUrl\r\n});\r\n\r\n\r\nexport {cacheImage}","// Responsibility:\r\n// Load image from url asynchronously. Invoke callbacks on result\r\n\r\n// npm\r\nimport React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport {connect} from 'react-redux'\r\n\r\n// redux (actions)\r\nimport {cacheImage} from './actions'\r\n\r\n// redux (selectors)\r\nimport {getCacheData} from 'redux/reducers/selectors'\r\nimport {getCachedImageData} from 'redux/reducers/cache/selectors'\r\nimport {getCachedUrl} from 'redux/reducers/cache/images/selectors'\r\n\r\n// utils\r\nimport {api} from 'libs/api/api'\r\nimport {generalApi} from 'libs/api/interface/api-general'\r\n\r\n\r\nclass ImagePreloader extends React.Component\r\n{\r\n\tcomponentDidMount()\r\n\t{\r\n\t\tconst {url} = this.props;\r\n\r\n\t\tif (this.props.isCached(url)) {\r\n\t\t\tthis.props.onSuccess();\r\n\t\t}\r\n\t\telse if (url.startsWith(api.endpointUrl)) {\r\n\t\t\tthis.loadIntoRam();\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.loadIntoBrowserStorage();\r\n\t\t}\r\n\t}\r\n\r\n\tloadIntoRam()\r\n\t{\r\n\t\tconst onSuccess = ({blob}) => {\r\n\t\t\tconst blobUrl = URL.createObjectURL(blob);\r\n\t\t\tthis.props.cacheImage(blobUrl);\r\n\t\t\tthis.props.onSuccess();\r\n\t\t}\r\n\r\n\t\tconst {url, onFail} = this.props;\r\n\t\tgeneralApi.fetchResource(url).then(onSuccess, onFail);\r\n\t}\r\n\r\n\tloadIntoBrowserStorage()\r\n\t{\r\n\t\tconst img = new Image();\r\n\t\timg.onload = () => { this.props.onSuccess(); }\r\n\t\timg.onerror = () => { this.props.onFail(); }\r\n\t\timg.src = this.props.url;\r\n\t}\r\n\r\n\trender()\r\n\t{\r\n\t\treturn null;\r\n\t}\r\n}\r\n\r\nImagePreloader.propTypes = {\r\n\turl: PropTypes.string.isRequired,\r\n\tonSuccess: PropTypes.func.isRequired,\r\n\tonFail: PropTypes.func.isRequired,\r\n\tisCached: PropTypes.func.isRequired,\r\n\tcacheImage: PropTypes.func.isRequired\r\n}\r\n\r\n\r\nconst mapStoreToProps = (store) => ({store});\r\nconst mapDispatchToProps = (dispatch) => ({dispatch});\r\n\r\nconst mergeProps = ({store}, {dispatch}, {onSuccess, onFail, url}) =>\r\n{\r\n\tconst finalProps = {onSuccess, onFail, url};\r\n\r\n\tconst cachedImageData = getCachedImageData(getCacheData(store));\r\n\tfinalProps.isCached = () => !!getCachedUrl(cachedImageData, url);\r\n\tfinalProps.cacheImage = (cachedUrl) => dispatch(cacheImage(url, cachedUrl));\r\n\r\n\treturn finalProps;\r\n}\r\n\r\nImagePreloader = connect(mapStoreToProps, mapDispatchToProps, mergeProps)(ImagePreloader);\r\n\r\n\r\nexport {ImagePreloader}","\r\n// npm\r\nimport React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\n// react\r\nimport {ImagePreloader} from './image-preloader'\r\n\r\n\r\nclass MultiImagePreloader extends React.Component\r\n{\r\n\tconstructor(props)\r\n\t{\r\n\t\tsuper(props);\r\n\r\n\t\tthis.imageCount = props.urls.length;\r\n\t\tthis.loadCount = 0;\r\n\r\n\t\tthis.onSuccess = () => {\r\n\t\t\tif (++this.loadCount === this.imageCount) {\r\n\t\t\t\tthis.props.onSuccess();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tcomponentDidMount()\r\n\t{\r\n\t\tif (this.loadCount === this.imageCount) {\r\n\t\t\tthis.props.onSuccess();\r\n\t\t}\r\n\t}\r\n\r\n\trender()\r\n\t{\r\n\t\tconst commonProps = {\r\n\t\t\tonSuccess: this.onSuccess,\r\n\t\t\tonFail: this.props.onFail\r\n\t\t}\r\n\r\n\t\treturn this.props.urls.map((url,index) => (\r\n\t\t\t\r\n\t\t));\r\n\t}\r\n}\r\n\r\nMultiImagePreloader.propTypes = {\r\n\turls: PropTypes.arrayOf(PropTypes.string).isRequired,\r\n\tonSuccess: PropTypes.func.isRequired,\r\n\tonFail: PropTypes.func.isRequired\r\n}\r\n\r\n\r\nexport {MultiImagePreloader}","// Responsiblity:\r\n// Deep extract all values from an iterable object\r\n\r\n// npm\r\nimport check from 'check-types'\r\n\r\n\r\n// A reference list of any iterables we've come across during extraction. \r\n// This is done so as to ensure we don't meet infinite loops/recursion \r\n// during extraction due to unexpected circular references.\r\nlet referenceCache = [];\r\n\r\n\r\nconst isIterable = (iterable) =>\r\n{\r\n\treturn check.object(iterable) || \r\n\t\tcheck.array(iterable) || \r\n\t\tcheck.instanceStrict(iterable, Set) || \r\n\t\tcheck.instanceStrict(iterable, Map);\r\n}\r\n\r\nconst alreadyMet = (iterable) =>\r\n{\r\n\treturn referenceCache.includes(iterable);\r\n}\r\n\r\nconst deepExtractFromIterable = (iterable) =>\r\n{\r\n\tconst values = [];\r\n\treferenceCache.push(iterable);\r\n\tconst iterableValues = Object.values(iterable);\r\n\r\n\titerableValues.forEach(value => {\r\n\t\tvalues.push(...deepExtractFrom(value));\r\n\t});\r\n\t\r\n\treturn values;\r\n}\r\n\r\nconst deepExtractFrom = (item) =>\r\n{\r\n\tif (!isIterable(item)) { return [item]; }\r\n\treturn alreadyMet(item) ? [] : deepExtractFromIterable(item);\r\n}\r\n\r\nconst deepExtract = (structure) =>\r\n{\r\n\tif (referenceCache.length > 0) { throw \"Reference cache in use\"; }\r\n\r\n\tconst values = deepExtractFrom(structure);\r\n\treferenceCache = [];\r\n\treturn values;\r\n}\r\n\r\n\r\n\r\nexport {deepExtract}","\r\n// npm\r\nimport check from 'check-types'\r\n\r\n\r\n// private functions\r\n// ---------------------------------------\r\nconst extractImageSrc = (htmlString) =>\r\n{\r\n\tconst srcIndex = htmlString.indexOf('src=\"');\r\n\tif (srcIndex === -1) { return; }\r\n\tconst openingIndex = htmlString.indexOf('\"', srcIndex) + 1;\r\n\tconst closingIndex = htmlString.indexOf('\"', openingIndex);\r\n\treturn htmlString.slice(openingIndex, closingIndex);\r\n}\r\n\r\nfunction* extractImageSrcs(htmlString)\r\n{\r\n\tlet openingTagIndex = htmlString.indexOf('', openingTagIndex);\r\n\r\n\twhile (openingTagIndex !== -1 && closingTagIndex !== -1)\r\n\t{\r\n\t\tconst htmlSubstring = htmlString.substring(openingTagIndex, closingTagIndex);\r\n\t\tconst src = extractImageSrc(htmlSubstring);\r\n\t\tif (!!src) { yield src; }\r\n\r\n\t\topeningTagIndex = htmlString.indexOf('', openingTagIndex);\r\n\t}\r\n}\r\n\r\n\r\n// public functions\r\n// ---------------------------------------\r\n\r\nconst fromHtmlString = (htmlString) =>\r\n{\r\n\tif (!check.string(htmlString)) { return; }\r\n\treturn [...extractImageSrcs(htmlString)];\r\n}\r\n\r\n\r\nconst imageSrcExtractor = {\r\n\tfromHtmlString\r\n}\r\n\r\nexport {imageSrcExtractor}","const { check } = require(\"@xams-utils/check-types\");\r\n\r\nconst isImageProperty = (propertyValue) => {\r\n if (!check.string(propertyValue)) return false;\r\n\r\n if (propertyValue < 5) return false;\r\n\r\n const delimiter = propertyValue.substr(propertyValue.length - 4, 1);\r\n\r\n if (delimiter !== \".\") return false;\r\n\r\n const stringEnd = propertyValue\r\n .substr(propertyValue.length - 3)\r\n .toLowerCase();\r\n const imageTypes = [\"jpg\", \"png\", \"bmp\"];\r\n\r\n return imageTypes.indexOf(stringEnd) !== -1;\r\n};\r\n\r\nconst alreadyStartsWithResourceUrl = (propertyValue, resourceUrl) => {\r\n if (propertyValue.length >= resourceUrl.length) {\r\n const startString = propertyValue.substring(0, resourceUrl.length);\r\n\r\n if (startString.toLowerCase() === resourceUrl) return true;\r\n }\r\n\r\n return false;\r\n};\r\n\r\nconst addResourceUrlBeforeRoot = (propertyValue, resourceUrl) => {\r\n const rootStart = propertyValue.toLowerCase().indexOf(\"root\");\r\n\r\n if (rootStart !== -1) {\r\n return `${resourceUrl}${propertyValue.substring(rootStart)}`;\r\n }\r\n\r\n return null;\r\n};\r\n\r\nconst getAscxImageUrl = (propertyValue, apiEndpointUrl) => {\r\n const resourceUrl = `${apiEndpointUrl}resource/`.toLowerCase();\r\n\r\n if (isImageProperty(propertyValue)) {\r\n if (alreadyStartsWithResourceUrl(propertyValue, resourceUrl)) {\r\n return propertyValue;\r\n }\r\n\r\n return addResourceUrlBeforeRoot(propertyValue, resourceUrl);\r\n }\r\n\r\n return null;\r\n};\r\n\r\nconst isFormGridImage = (value) => {\r\n return false;\r\n};\r\n\r\nexport { getAscxImageUrl, isFormGridImage };\r\n","import { check } from \"@xams-utils/check-types\";\r\nimport { FORM_TYPES } from \"constants/form\";\r\n\r\nconst getFormGridImages = (examQuestionData) => {\r\n const { formData } = examQuestionData;\r\n\r\n if (check.nonEmptyObject(formData)) {\r\n const { rows } = formData;\r\n\r\n if (check.nonEmptyArray(rows)) {\r\n return rows.reduce((images, row) => {\r\n const rowImages = getRowImages(row);\r\n\r\n return check.nonEmptyArray(rowImages)\r\n ? images.concat(rowImages)\r\n : images;\r\n }, []);\r\n }\r\n }\r\n return null;\r\n};\r\n\r\nconst getRowImages = (row) => {\r\n if (check.nonEmptyObject(row)) {\r\n const { cells } = row;\r\n\r\n if (check.nonEmptyArray(cells)) {\r\n return cells.reduce((images, cell) => {\r\n const cellImages = getCellImages(cell);\r\n\r\n return check.nonEmptyArray(cellImages)\r\n ? images.concat(cellImages)\r\n : images;\r\n }, []);\r\n }\r\n }\r\n\r\n return null;\r\n};\r\n\r\nconst getCellImages = (cell) => {\r\n if (check.nonEmptyObject(cell)) {\r\n const { components } = cell;\r\n\r\n if (check.nonEmptyArray(components)) {\r\n return components.reduce((images, _component) => {\r\n const { component } = _component;\r\n //console.log(component);\r\n if (component === FORM_TYPES.IMAGE) {\r\n const { src } = _component;\r\n images.push(src);\r\n }\r\n\r\n return images;\r\n }, []);\r\n }\r\n }\r\n\r\n return null;\r\n};\r\n\r\nexport { getFormGridImages };\r\n","// npm\r\nimport React from \"react\";\r\nimport check from \"check-types\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\n\r\n// react\r\nimport { MultiImagePreloader } from \"components/functional/image_preloading/multi-image-preloader\";\r\n\r\n// utils\r\nimport { deepExtract } from \"utils/deep-extract\";\r\nimport { imageSrcExtractor } from \"utils/image-src-extractor\";\r\nimport { getAscxImageUrl } from \"utils/get-ascx-image-url\";\r\nimport { getFormGridImages } from \"utils/get-form-grid-images\";\r\n\r\n// redux (selectors)\r\nimport { getExamData, getSettingsData } from \"redux/reducers/selectors\";\r\nimport { getMessageData, getContentData } from \"redux/reducers/exam/selectors\";\r\nimport {\r\n getQuestionsData,\r\n getSectionsData,\r\n} from \"redux/reducers/exam/content/selectors\";\r\nimport { getAppSettingsData } from \"redux/reducers/settings/selectors\";\r\nimport { getApiEndpointUrl } from \"redux/reducers/settings/app/selectors\";\r\n\r\n// ExamImagePreloader (not connected to store)\r\n// ---------------------------------------------------------------\r\n\r\nclass ExamImagePreloader extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.imageUrls = [];\r\n this.populateImageUrlsFor(deepExtract(props.examMessageData));\r\n this.populateImageUrlsFor(deepExtract(props.examSectionsData));\r\n this.populateImageUrlsFor(deepExtract(props.examQuestionsData));\r\n this.populateAscxImageParameters(props.examQuestionsData);\r\n this.populateFormGridImageParameters(props.examQuestionsData);\r\n }\r\n\r\n populateAscxImageParameters(examQuestionsData) {\r\n const { apiEndpointUrl } = this.props;\r\n for (const examQuestionData in examQuestionsData) {\r\n const { properties } = examQuestionsData[examQuestionData];\r\n\r\n if (check.assigned(properties)) {\r\n properties.forEach((property) => {\r\n const { value } = property;\r\n const imageUrl = getAscxImageUrl(value, apiEndpointUrl);\r\n\r\n if (imageUrl) {\r\n this.imageUrls.push(imageUrl);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n populateFormGridImageParameters(examQuestionsData) {\r\n const { apiEndpointUrl } = this.props;\r\n for (const examQuestionData in examQuestionsData) {\r\n const { type } = examQuestionsData[examQuestionData];\r\n if (type === \"QGRID\") {\r\n const images = getFormGridImages(\r\n examQuestionsData[examQuestionData]\r\n );\r\n\r\n if (check.nonEmptyArray(images)) {\r\n for (let i = 0; i < images.length; i++) {\r\n const imageUrl = getAscxImageUrl(\r\n images[i],\r\n apiEndpointUrl\r\n );\r\n this.imageUrls.push(imageUrl);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n populateImageUrlsFor(values) {\r\n values.forEach((value) => {\r\n if (!check.string(value)) {\r\n return;\r\n }\r\n imageSrcExtractor.fromHtmlString(value).forEach((imageUrl) => {\r\n this.imageUrls.push(imageUrl);\r\n });\r\n });\r\n }\r\n\r\n render() {\r\n const props = {\r\n urls: this.imageUrls,\r\n onFail: this.props.onFail,\r\n onSuccess: this.props.onSuccess,\r\n };\r\n\r\n return ;\r\n }\r\n}\r\n\r\nExamImagePreloader.propTypes = {\r\n onFail: PropTypes.func.isRequired,\r\n onSuccess: PropTypes.func.isRequired,\r\n examMessageData: PropTypes.object.isRequired,\r\n examSectionsData: PropTypes.object.isRequired,\r\n examQuestionsData: PropTypes.object.isRequired,\r\n};\r\n\r\n// ExamImagePreloader (connected to store)\r\n// ---------------------------------------------------------------\r\n\r\nconst mapStoreToProps = (store) => {\r\n const examData = getExamData(store);\r\n\r\n const settingsData = getSettingsData(store);\r\n const appSettingsData = getAppSettingsData(settingsData);\r\n\r\n const examContentData = getContentData(examData);\r\n\r\n // CAUTION: These are potentially large immutable maps.\r\n // This component only renders once, and should remain that way to avoid\r\n // the expensive operation of converting them to plain objects multiple times\r\n return {\r\n examMessageData: getMessageData(examData).toJS(),\r\n examSectionsData: getSectionsData(examContentData).toJS(),\r\n examQuestionsData: getQuestionsData(examContentData).toJS(),\r\n apiEndpointUrl: getApiEndpointUrl(appSettingsData),\r\n };\r\n};\r\n\r\nExamImagePreloader = connect(mapStoreToProps)(ExamImagePreloader);\r\n\r\n// EXPORT\r\n// ---------------------------------------------------------------\r\nexport { ExamImagePreloader };\r\n","const getSectionIds = (sectionsData) => sectionsData.keySeq();\r\nconst getSectionDataById = (sectionsData) => (id) => sectionsData.get(id);\r\n\r\nexport {getSectionIds, getSectionDataById}","\r\n// npm\r\nimport check from 'check-types'\r\nimport {milliseconds, seconds} from 'time-convert'\r\n\r\n\r\nconst getMarks = (sectionData) => sectionData.get('marks');\r\nconst getSectionId = (sectionData) => sectionData.get('id');\r\nconst getSectionName = (sectionData) => sectionData.get('name');\r\nconst getSectionText = (sectionData) => sectionData.get('text');\r\nconst getScenarioText = (sectionData) => sectionData.get('scenarioText');\r\nconst getResourceUrl = (sectionData) => sectionData.get('resourceUrl');\r\nconst requiresWorkings = (sectionData) => sectionData.get('requiresWorkings');\r\nconst requiresCalculator = (sectionData) => sectionData.get('requiresCalculator');\r\n\r\n// one way stuff\r\nconst isOneWay = (sectionData) => sectionData.get('oneWay');\r\nconst isComplete = (sectionData) => sectionData.get('complete');\r\n\r\n\r\nconst getAllowedTime = (timeData) =>\r\n{\r\n\tconst allowedTime = timeData.get('allowedTime');\r\n\tif (check.number(allowedTime)) { return milliseconds.from(seconds)(allowedTime); }\r\n}\r\n\r\nconst getWarningTime = (timeData) =>\r\n{\r\n\tconst warningTime = timeData.get('warningTime');\r\n\tif (check.number(warningTime)) { return milliseconds.from(seconds)(warningTime); }\r\n}\r\n\r\nconst getSectionTimeRemaining = (timeData) =>\r\n{\r\n\tconst sectionTimeRemaining = timeData.get('sectionTimeRemaining');\r\n\tif (check.number(sectionTimeRemaining)) { return milliseconds.from(seconds)(sectionTimeRemaining); }\r\n}\r\n\r\nconst getReadingTimeRemaining = (timeData) =>\r\n{\r\n\tconst readingTimeRemaining = timeData.get('readingTimeRemaining');\r\n\tif (check.number(readingTimeRemaining)) { return milliseconds.from(seconds)(readingTimeRemaining); }\r\n}\r\n\r\nconst getTimeRemaining = (timeData) =>\r\n{\r\n\tconst sectionTimeRemaining = getSectionTime(timeData);\r\n\tconst readingTimeRemaining = getReadingTimeRemaining(timeData);\r\n\r\n\tif (check.number(sectionTimeRemaining) && check.number(readingTimeRemaining)) {\r\n\t\tconst timeRemaining = sectionTimeRemaining + readingTimeRemaining;\r\n\t\treturn milliseconds.from(seconds)(timeRemaining);\r\n\t}\r\n}\r\n\r\nconst getSectionTime = (timeData) =>\r\n{\r\n\tconst sectionTime = timeData.get('sectionTime');\r\n\tif (check.number(sectionTime)) { return milliseconds.from(seconds)(sectionTime); }\r\n}\r\n\r\nconst getReadingTime = (timeData) =>\r\n{\r\n\tconst readingTime = timeData.get('readingTime');\r\n\tif (check.number(readingTime)) { return milliseconds.from(seconds)(readingTime); }\r\n}\r\n\r\nconst canBypassReadingTime = (timeData) => (\r\n\ttimeData.get('canBypassReadingTime')\r\n)\r\n\r\n\r\nexport {\r\n\tgetMarks,\r\n\tgetSectionId,\r\n\tgetSectionName,\r\n\tgetSectionText,\r\n\tgetScenarioText,\r\n\tgetResourceUrl,\r\n\trequiresWorkings,\r\n\trequiresCalculator,\r\n\tisComplete,\r\n\r\n\t// one way stuff\r\n\tisOneWay,\r\n\tgetAllowedTime,\r\n\tgetWarningTime,\r\n\tgetSectionTimeRemaining,\r\n\tgetReadingTimeRemaining,\r\n\tgetTimeRemaining,\r\n\tgetSectionTime,\r\n\tgetReadingTime,\r\n\tcanBypassReadingTime\r\n}","import {getSectionIds, getSectionDataById} from 'redux/reducers/exam/content/sections/selectors'\r\nimport {getQuestionIds, getQuestionDataById} from 'redux/reducers/exam/content/questions/selectors'\r\nimport {getSectionsData, getQuestionsData, getResourceUrl} from 'redux/reducers/exam/content/selectors'\r\nimport {getResourceUrl as getSectionResourceUrl} from 'redux/reducers/exam/content/sections/section/selectors'\r\nimport {getResourceUrl as getQuestionResourceUrl} from 'redux/reducers/exam/content/questions/question/selectors'\r\n\r\nconst getResourceUrls = (contentData)=>{\r\n\tconst resourceUrls = [];\r\n\r\n\tconst rootResourceUrl = getResourceUrl(contentData);\r\n\tif (rootResourceUrl) { resourceUrls.push(rootResourceUrl); }\r\n\r\n\tconst sectionsData = getSectionsData(contentData);\r\n\tconst sectionIds = getSectionIds(sectionsData);\r\n\tsectionIds.forEach(id => {\r\n\t\tconst sectionData = getSectionDataById(sectionsData)(id);\r\n\t\tconst resourceUrl = getSectionResourceUrl(sectionData);\r\n\t\tif (resourceUrl) { resourceUrls.push(resourceUrl); }\r\n\t});\r\n\r\n\tconst questionsData = getQuestionsData(contentData);\r\n\tconst questionIds = getQuestionIds(questionsData);\r\n\tquestionIds.forEach(id => {\r\n\t\tconst questionData = getQuestionDataById(questionsData)(id);\r\n\t\tconst resourceUrl = getQuestionResourceUrl(questionData);\r\n\t\tif (resourceUrl) { resourceUrls.push(resourceUrl); }\r\n\t});\r\n\r\n\treturn resourceUrls;\r\n}\r\n\r\nexport {\r\n\tgetResourceUrls\r\n}","\r\n// npm\r\nimport React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport {connect} from 'react-redux'\r\n\r\n// redux (selectors)\r\nimport {getExamData} from 'redux/reducers/selectors'\r\nimport {getContentData} from 'redux/reducers/exam/selectors'\r\nimport {getResourceUrls} from 'redux/reducers/exam/content/resource-urls-selector'\r\n\r\n// redux (actions)\r\nimport {cachePdfResource} from './actions'\r\n\r\n// utils\r\nimport {generalApi} from 'libs/api/interface/api-general'\r\n\r\n\r\n// ExamResourceLoader (not connected)\r\n// -------------------------------------------------------------------\r\n\r\nclass ExamResourceLoader extends React.Component\r\n{\r\n\tcomponentDidMount()\r\n\t{\r\n\t\tif (this.props.resourceUrls.length === 0) {\r\n\t\t\tthis.props.onSuccess();\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.loadUrls();\r\n\t\t}\r\n\t}\r\n\r\n\tloadUrls()\r\n\t{\r\n\t\tconst {resourceUrls, onFail} = this.props;\r\n\t\tconst urlCount = resourceUrls.length;\r\n\t\t\r\n\t\tlet successCount = 0;\r\n\r\n\t\tconst onSuccess = (resourceUrl) => ({blob}) => {\r\n\t\t\tconst blobUrl = URL.createObjectURL(blob);\r\n\t\t\tthis.props.cachePdf(resourceUrl, blobUrl);\r\n\r\n\t\t\tif (++successCount === urlCount) {\r\n\t\t\t\tthis.props.onSuccess();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tresourceUrls.forEach(resourceUrl => {\r\n\t\t\tgeneralApi.fetchResource(resourceUrl)\r\n\t\t\t.then(onSuccess(resourceUrl), onFail);\r\n\t\t});\r\n\t}\r\n\r\n\trender()\r\n\t{\r\n\t\treturn null;\r\n\t}\r\n}\r\n\r\nExamResourceLoader.propTypes = {\r\n\tresourceUrls: PropTypes.arrayOf(PropTypes.string).isRequired,\r\n\tonSuccess: PropTypes.func.isRequired,\r\n\tcachePdf: PropTypes.func.isRequired,\r\n\tonFail: PropTypes.func.isRequired\r\n}\r\n\r\n\r\n// ExamResourceLoader (connected)\r\n// -------------------------------------------------------------------\r\n\r\nconst mapStoreToProps = (store) =>\r\n{\r\n\tconst examData = getExamData(store);\r\n\tconst contentData = getContentData(examData);\r\n\r\n\tconst resourceUrls = getResourceUrls(contentData);\r\n\r\n\treturn {resourceUrls}\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n\tcachePdf: (url, blobUrl) => dispatch(cachePdfResource(url, blobUrl))\r\n});\r\n\r\nExamResourceLoader = connect(mapStoreToProps, mapDispatchToProps)(ExamResourceLoader);\r\n\r\n\r\n// ExamResourceLoader (export)\r\n// -------------------------------------------------------------------\r\n\r\nexport {ExamResourceLoader}","\r\n// npm\r\nimport React from 'react'\r\n\r\nconst Hide = ({children}) => (\r\n\t
\r\n\t\t{children}\r\n\t
\r\n)\r\n\r\nexport {Hide}","// npm\r\nimport React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\n\r\n// redux (actions)\r\nimport {\r\n setLocalAnswer,\r\n setServerAnswer,\r\n setCurrentQuestionId,\r\n} from \"./actions\";\r\n\r\n// redux (selectors)\r\nimport {\r\n getId,\r\n getLocalAnswer,\r\n} from \"redux/reducers/exam/content/questions/question/selectors\";\r\n\r\n// AnswerBox (not connected to store)\r\n// ---------------------------------------\r\n\r\nclass AnswerBox extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = { mounted: false };\r\n\r\n this.setAnswer = (formValue) => {\r\n const questionId = getId(this.props.questionData);\r\n const localAnswer = this.props.toLocalAnswer(formValue);\r\n const serverAnswer = this.props.toServerAnswer(localAnswer);\r\n this.props.setLocalAnswer(questionId, localAnswer);\r\n this.props.setServerAnswer(questionId, serverAnswer);\r\n };\r\n\r\n this.setCurrentQuestion = () => {\r\n const questionId = getId(this.props.questionData);\r\n\r\n this.props.setCurrentQuestion(questionId, true);\r\n };\r\n\r\n this.onFormChange = (formAnswer) => {\r\n const formValue = this.props.getFormValue(formAnswer);\r\n\r\n this.setAnswer(formValue);\r\n if (this.props.noQuestionPanel) {\r\n this.setCurrentQuestion();\r\n }\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.setInitialFormValue();\r\n this.setState({ mounted: true });\r\n }\r\n\r\n setInitialFormValue() {\r\n const localAnswer = getLocalAnswer(this.props.questionData);\r\n const resumedAnswer = localAnswer || this.props.extractResumedAnswer();\r\n const initialAnswer =\r\n resumedAnswer || this.props.extractInitialAnswer();\r\n const formValue = this.props.toFormValue(initialAnswer);\r\n this.setAnswer(formValue);\r\n }\r\n\r\n render() {\r\n return this.state.mounted ? this.Form : null;\r\n }\r\n\r\n get Form() {\r\n const { FormComponent, questionData } = this.props;\r\n const localAnswer = getLocalAnswer(questionData);\r\n\r\n const props = {\r\n onChange: this.onFormChange,\r\n formData: this.props.extractFormData(),\r\n value: this.props.toFormValue(localAnswer),\r\n };\r\n\r\n return ;\r\n }\r\n}\r\n\r\n// default transformations assume no transformation is required\r\nAnswerBox.defaultProps = {\r\n toLocalAnswer: (formValue) => formValue,\r\n toFormValue: (localAnswer) => localAnswer,\r\n extractFormValue: (formAnswer) => formAnswer,\r\n};\r\n\r\nAnswerBox.propTypes = {\r\n FormComponent: PropTypes.oneOfType([\r\n PropTypes.instanceOf(React.Component),\r\n PropTypes.func,\r\n ]).isRequired,\r\n questionData: PropTypes.object.isRequired,\r\n toFormValue: PropTypes.func.isRequired,\r\n getFormValue: PropTypes.func.isRequired,\r\n toLocalAnswer: PropTypes.func.isRequired,\r\n toServerAnswer: PropTypes.func.isRequired,\r\n extractFormData: PropTypes.func.isRequired,\r\n extractResumedAnswer: PropTypes.func.isRequired,\r\n extractInitialAnswer: PropTypes.func.isRequired,\r\n setLocalAnswer: PropTypes.func.isRequired,\r\n setServerAnswer: PropTypes.func.isRequired,\r\n};\r\n\r\n// AnswerBox (connected to store)\r\n// ---------------------------------------\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n setLocalAnswer: (questionId, localAnswer) => {\r\n dispatch(setLocalAnswer(questionId, localAnswer));\r\n },\r\n setServerAnswer: (questionId, serverAnswer) => {\r\n dispatch(setServerAnswer(questionId, serverAnswer));\r\n },\r\n setCurrentQuestion: (questionId) => {\r\n dispatch(setCurrentQuestionId(questionId));\r\n }, \r\n});\r\n\r\nAnswerBox = connect(undefined, mapDispatchToProps)(AnswerBox);\r\n\r\n// EXPORT\r\n// ---------------------------------------\r\nexport { AnswerBox };\r\n","// redux (action-types)\r\nimport {\r\n SET_LOCAL_ANSWER,\r\n SET_SERVER_ANSWER,\r\n} from \"redux/reducers/exam/content/questions/question/action-types\";\r\nimport { SET_CURRENT_QUESTION_ID } from \"redux/reducers/exam/content/action-types\";\r\n\r\nconst setLocalAnswer = (questionId, value) => ({\r\n type: SET_LOCAL_ANSWER,\r\n questionId,\r\n value,\r\n});\r\n\r\nconst setServerAnswer = (questionId, value) => ({\r\n type: SET_SERVER_ANSWER,\r\n questionId,\r\n value,\r\n});\r\n\r\nconst setCurrentQuestionId = (value) => ({\r\n type: SET_CURRENT_QUESTION_ID,\r\n value,\r\n setFromQuestion: true,\r\n});\r\n\r\nexport { setLocalAnswer, setServerAnswer, setCurrentQuestionId };\r\n","\r\n// npm\r\nimport React from 'react'\r\n\r\n\r\nconst DisableNavigationContext = React.createContext();\r\n\r\nconst DisableAnsweringContext = React.createContext();\r\n\r\n\r\nexport {\r\n\tDisableNavigationContext,\r\n\tDisableAnsweringContext\r\n}","// npm\r\nimport React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\n\r\n// react\r\nimport { DisableAnsweringContext } from \"components/pages/exam/disabled-context\";\r\n\r\n// redux (selectors)\r\nimport { getHtml } from \"redux/reducers/exam/content/questions/question/ascx/selectors\";\r\nimport { getSettingsData } from \"redux/reducers/selectors\";\r\nimport { getAppSettingsData } from \"redux/reducers/settings/selectors\";\r\nimport { getApiEndpointUrl } from \"redux/reducers/settings/app/selectors\";\r\nimport { getCacheData } from \"redux/reducers/selectors\";\r\nimport { getCachedImageData } from \"redux/reducers/cache/selectors\";\r\nimport { getCachedUrl } from \"redux/reducers/cache/images/selectors\";\r\n\r\nimport { api } from \"libs/api/api\";\r\nimport { errorLogger } from \"utils/error-logger\";\r\n\r\n// styles\r\nimport \"./ascx.css\";\r\n\r\n// AscxAnswerForm (not connected)\r\n// -------------------------------------------------------------\r\n\r\nclass AscxAnswerForm extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.iFrameId = \"ascxQuestionIframe\";\r\n\r\n this.handleMessageFromIframe = (evt) => {\r\n const { data } = evt;\r\n const { type } = data;\r\n\r\n if (type === \"iframe\") {\r\n const { value } = data;\r\n props.onChange(value);\r\n } else if (type === \"image\") {\r\n const { imageId, imageUrl } = data;\r\n const cachedImageUrl = props.getCachedImageUrl(imageUrl);\r\n const iFrame = document.getElementById(\r\n this.iFrameId\r\n ).contentWindow;\r\n if (iFrame) {\r\n iFrame.postMessage(\r\n { type: \"image\", imageId, imageUrl: cachedImageUrl },\r\n \"*\"\r\n );\r\n }\r\n } else if (type === \"error\") {\r\n if (api.isEndpointInitialized()) {\r\n const { error, ascx } = data;\r\n const message=`Ascx ${ascx} Error - ${error}`;\r\n \r\n errorLogger.log({ message, stackTrace:null });\r\n }\r\n }\r\n };\r\n\r\n window.addEventListener(\"message\", this.handleMessageFromIframe);\r\n\r\n let { value } = props;\r\n const { apiEndpointUrl } = props;\r\n\r\n if (value === undefined) value = \"\";\r\n const valStart = props.html.indexOf(\"var _value='\");\r\n const valEnd = props.html.indexOf(\"';\", valStart);\r\n const val = props.html.substring(valStart, valEnd + 2);\r\n //const html = props.html.replace(val, \"var _value='\" + value + \"';\");\r\n const html = props.html.replace(\r\n val,\r\n `var _value='${value}';var _resourceUrl='${apiEndpointUrl}resource/';`\r\n );\r\n\r\n const blobContent = new Blob([html], {type: \"text/html\"});\r\n const blobUrl = URL.createObjectURL(blobContent);\r\n\r\n this.state = { key: new Date().getTime(), html: html, blobUrl };\r\n }\r\n\r\n componentWillUnmount() {\r\n window.removeEventListener(\"message\", this.handleMessageFromIframe);\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {(value) => this.getIframe(value)}\r\n \r\n );\r\n }\r\n\r\n getIframe(disabled) {\r\n const props = {\r\n width: \"100%\",\r\n height: \"1000px\",\r\n src: this.state.blobUrl,\r\n // srcDoc: this.state.html,\r\n //srcDoc: this.props.html,\r\n className: disabled ? \"disabled\" : undefined,\r\n style: { borderWidth: \"0px\", overflowX: \"hidden\" },\r\n };\r\n\r\n return