@coorpacademy/app-review 0.6.0 → 0.6.1-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/actions/api/fetch-correction.js +25 -0
- package/lib/actions/api/fetch-rank.js +43 -0
- package/lib/actions/api/fetch-skills.js +23 -0
- package/lib/actions/api/fetch-slide.js +38 -0
- package/lib/actions/api/post-answer.js +43 -0
- package/lib/actions/api/post-progression.js +27 -0
- package/lib/actions/data/token.js +9 -0
- package/lib/actions/ui/answers.js +61 -0
- package/lib/actions/ui/navigation.js +31 -0
- package/lib/actions/ui/next-slide.js +28 -0
- package/lib/actions/ui/quit-popin.js +11 -0
- package/lib/actions/ui/slides.js +9 -0
- package/lib/common/index.js +17 -0
- package/lib/configure-store.js +27 -0
- package/lib/helpers/css-register.js +7 -0
- package/lib/index.js +101 -0
- package/lib/reducers/data/corrections.js +26 -0
- package/lib/reducers/data/index.js +13 -0
- package/lib/reducers/data/progression.js +18 -0
- package/lib/reducers/data/rank.js +32 -0
- package/lib/reducers/data/skills.js +13 -0
- package/lib/reducers/data/slides.js +25 -0
- package/lib/reducers/data/token.js +13 -0
- package/lib/reducers/index.js +12 -0
- package/lib/reducers/ui/answers.js +27 -0
- package/lib/reducers/ui/current-slide-ref.js +18 -0
- package/lib/reducers/ui/index.js +22 -0
- package/lib/reducers/ui/navigation.js +20 -0
- package/lib/reducers/ui/positions.js +32 -0
- package/lib/reducers/ui/quit-popin.js +18 -0
- package/lib/reducers/ui/show-congrats.js +22 -0
- package/lib/reducers/ui/slide.js +53 -0
- package/lib/services/fetch-correction.js +21 -0
- package/lib/services/fetch-rank.js +17 -0
- package/lib/services/fetch-skills.js +17 -0
- package/lib/services/fetch-slide.js +17 -0
- package/lib/services/fetch-slides-to-review-by-skill-ref.js +15 -0
- package/lib/services/index.js +20 -0
- package/lib/services/post-answer.js +27 -0
- package/lib/services/post-progression.js +28 -0
- package/lib/services/tools/fetch-responses.js +40 -0
- package/lib/services/tools/sleep.js +7 -0
- package/lib/types/common.js +2 -0
- package/lib/types/slides.js +2 -0
- package/lib/{src/views → views}/skills/index.js +8 -4
- package/lib/views/slides/index.js +325 -0
- package/lib/views/slides/map-api-slide-to-ui.js +177 -0
- package/package.json +5 -13
- package/es/sandbox/index.d.ts +0 -9
- package/es/sandbox/index.js +0 -41
- package/es/src/actions/test/create-test-store.d.ts +0 -5
- package/es/src/actions/test/create-test-store.js +0 -16
- package/es/src/test/index.test.d.ts +0 -1
- package/es/src/test/index.test.js +0 -66
- package/es/src/test/util/services.mock.d.ts +0 -7
- package/es/src/test/util/services.mock.js +0 -444
- package/es/src/views/slides/test/fixtures/free-text.d.ts +0 -4
- package/es/src/views/slides/test/fixtures/free-text.js +0 -38
- package/es/src/views/slides/test/fixtures/qcm-drag.d.ts +0 -4
- package/es/src/views/slides/test/fixtures/qcm-drag.js +0 -108
- package/es/src/views/slides/test/fixtures/qcm-graphic.d.ts +0 -4
- package/es/src/views/slides/test/fixtures/qcm-graphic.js +0 -252
- package/es/src/views/slides/test/fixtures/qcm.d.ts +0 -4
- package/es/src/views/slides/test/fixtures/qcm.js +0 -109
- package/es/src/views/slides/test/fixtures/slider.d.ts +0 -4
- package/es/src/views/slides/test/fixtures/slider.js +0 -37
- package/es/src/views/slides/test/fixtures/template.d.ts +0 -4
- package/es/src/views/slides/test/fixtures/template.js +0 -170
- package/lib/sandbox/index.d.ts +0 -9
- package/lib/sandbox/index.js +0 -43
- package/lib/src/actions/api/fetch-correction.js +0 -19
- package/lib/src/actions/api/fetch-rank.js +0 -38
- package/lib/src/actions/api/fetch-skills.js +0 -17
- package/lib/src/actions/api/fetch-slide.js +0 -81
- package/lib/src/actions/api/post-answer.js +0 -92
- package/lib/src/actions/api/post-progression.js +0 -72
- package/lib/src/actions/data/token.js +0 -5
- package/lib/src/actions/test/create-test-store.d.ts +0 -5
- package/lib/src/actions/test/create-test-store.js +0 -18
- package/lib/src/actions/ui/answers.js +0 -65
- package/lib/src/actions/ui/navigation.js +0 -86
- package/lib/src/actions/ui/next-slide.js +0 -21
- package/lib/src/actions/ui/quit-popin.js +0 -8
- package/lib/src/actions/ui/slides.js +0 -5
- package/lib/src/common/index.js +0 -10
- package/lib/src/configure-store.js +0 -21
- package/lib/src/helpers/css-register.js +0 -2
- package/lib/src/index.js +0 -86
- package/lib/src/reducers/data/corrections.js +0 -22
- package/lib/src/reducers/data/index.js +0 -8
- package/lib/src/reducers/data/progression.js +0 -17
- package/lib/src/reducers/data/rank.js +0 -28
- package/lib/src/reducers/data/skills.js +0 -12
- package/lib/src/reducers/data/slides.js +0 -20
- package/lib/src/reducers/data/token.js +0 -12
- package/lib/src/reducers/index.js +0 -7
- package/lib/src/reducers/ui/answers.js +0 -25
- package/lib/src/reducers/ui/current-slide-ref.js +0 -17
- package/lib/src/reducers/ui/index.js +0 -17
- package/lib/src/reducers/ui/navigation.js +0 -28
- package/lib/src/reducers/ui/positions.js +0 -28
- package/lib/src/reducers/ui/quit-popin.js +0 -17
- package/lib/src/reducers/ui/show-congrats.js +0 -21
- package/lib/src/reducers/ui/slide.js +0 -48
- package/lib/src/services/fetch-correction.js +0 -58
- package/lib/src/services/fetch-rank.js +0 -54
- package/lib/src/services/fetch-skills.js +0 -54
- package/lib/src/services/fetch-slide.js +0 -54
- package/lib/src/services/fetch-slides-to-review-by-skill-ref.js +0 -52
- package/lib/src/services/index.js +0 -16
- package/lib/src/services/post-answer.js +0 -64
- package/lib/src/services/post-progression.js +0 -65
- package/lib/src/services/tools/fetch-responses.js +0 -112
- package/lib/src/services/tools/sleep.js +0 -5
- package/lib/src/test/index.test.d.ts +0 -1
- package/lib/src/test/index.test.js +0 -170
- package/lib/src/test/util/services.mock.d.ts +0 -7
- package/lib/src/test/util/services.mock.js +0 -448
- package/lib/src/types/common.js +0 -1
- package/lib/src/types/slides.js +0 -1
- package/lib/src/views/slides/index.js +0 -315
- package/lib/src/views/slides/map-api-slide-to-ui.js +0 -188
- package/lib/src/views/slides/test/fixtures/free-text.d.ts +0 -4
- package/lib/src/views/slides/test/fixtures/free-text.js +0 -38
- package/lib/src/views/slides/test/fixtures/qcm-drag.d.ts +0 -4
- package/lib/src/views/slides/test/fixtures/qcm-drag.js +0 -108
- package/lib/src/views/slides/test/fixtures/qcm-graphic.d.ts +0 -4
- package/lib/src/views/slides/test/fixtures/qcm-graphic.js +0 -252
- package/lib/src/views/slides/test/fixtures/qcm.d.ts +0 -4
- package/lib/src/views/slides/test/fixtures/qcm.js +0 -109
- package/lib/src/views/slides/test/fixtures/slider.d.ts +0 -4
- package/lib/src/views/slides/test/fixtures/slider.js +0 -37
- package/lib/src/views/slides/test/fixtures/template.d.ts +0 -4
- package/lib/src/views/slides/test/fixtures/template.js +0 -170
- package/src/actions/api/fetch-correction.ts +0 -39
- package/src/actions/api/fetch-rank.ts +0 -91
- package/src/actions/api/fetch-skills.ts +0 -31
- package/src/actions/api/fetch-slide.ts +0 -54
- package/src/actions/api/post-answer.ts +0 -55
- package/src/actions/api/post-progression.ts +0 -37
- package/src/actions/api/test/fetch-correction.test.ts +0 -119
- package/src/actions/api/test/fetch-rank.test.ts +0 -138
- package/src/actions/api/test/fetch-skills.test.ts +0 -78
- package/src/actions/api/test/fetch-slide.test.ts +0 -85
- package/src/actions/api/test/post-answer.test.ts +0 -266
- package/src/actions/api/test/post-progression.test.ts +0 -127
- package/src/actions/data/test/token.test.ts +0 -32
- package/src/actions/data/token.ts +0 -11
- package/src/actions/test/create-test-store.ts +0 -25
- package/src/actions/ui/answers.ts +0 -77
- package/src/actions/ui/navigation.ts +0 -62
- package/src/actions/ui/next-slide.ts +0 -44
- package/src/actions/ui/quit-popin.ts +0 -10
- package/src/actions/ui/slides.ts +0 -26
- package/src/actions/ui/test/answers.test.ts +0 -174
- package/src/actions/ui/test/navigation.test.ts +0 -95
- package/src/actions/ui/test/next-slide.test.ts +0 -87
- package/src/actions/ui/test/quit-popin.test.ts +0 -39
- package/src/actions/ui/test/slides.test.ts +0 -33
- package/src/common/index.ts +0 -15
- package/src/common/test/get-progression-slide-ref.test.ts +0 -35
- package/src/configure-store.ts +0 -28
- package/src/helpers/css-modules-require-hook.d.ts +0 -4
- package/src/helpers/css-register.ts +0 -3
- package/src/index.tsx +0 -107
- package/src/reducers/data/corrections.ts +0 -36
- package/src/reducers/data/index.ts +0 -19
- package/src/reducers/data/progression.ts +0 -23
- package/src/reducers/data/rank.ts +0 -44
- package/src/reducers/data/skills.ts +0 -16
- package/src/reducers/data/slides.ts +0 -31
- package/src/reducers/data/test/corrections.test.ts +0 -36
- package/src/reducers/data/test/progression.test.ts +0 -28
- package/src/reducers/data/test/rank.test.ts +0 -59
- package/src/reducers/data/test/skills.test.ts +0 -14
- package/src/reducers/data/test/slides.test.ts +0 -27
- package/src/reducers/data/test/token.test.ts +0 -13
- package/src/reducers/data/token.ts +0 -15
- package/src/reducers/index.ts +0 -14
- package/src/reducers/ui/answers.ts +0 -41
- package/src/reducers/ui/current-slide-ref.ts +0 -22
- package/src/reducers/ui/index.ts +0 -29
- package/src/reducers/ui/navigation.ts +0 -29
- package/src/reducers/ui/positions.ts +0 -34
- package/src/reducers/ui/quit-popin.ts +0 -22
- package/src/reducers/ui/show-congrats.ts +0 -26
- package/src/reducers/ui/slide.ts +0 -87
- package/src/reducers/ui/test/answers.test.ts +0 -105
- package/src/reducers/ui/test/current-slide-ref.test.ts +0 -14
- package/src/reducers/ui/test/navigation.test.ts +0 -19
- package/src/reducers/ui/test/positions.test.ts +0 -82
- package/src/reducers/ui/test/quit-popin.test.ts +0 -24
- package/src/reducers/ui/test/show-congrats.test.ts +0 -40
- package/src/reducers/ui/test/slide.test.ts +0 -110
- package/src/services/fetch-correction.ts +0 -26
- package/src/services/fetch-rank.ts +0 -14
- package/src/services/fetch-skills.ts +0 -14
- package/src/services/fetch-slide.ts +0 -14
- package/src/services/fetch-slides-to-review-by-skill-ref.ts +0 -18
- package/src/services/index.ts +0 -18
- package/src/services/post-answer.ts +0 -28
- package/src/services/post-progression.ts +0 -28
- package/src/services/test/fetch-correction.test.ts +0 -55
- package/src/services/test/fetch-rank.test.ts +0 -34
- package/src/services/test/fetch-skills.test.ts +0 -39
- package/src/services/test/fetch-slide.test.ts +0 -30
- package/src/services/test/fetch-slides-to-review-by-skill-ref.test.ts +0 -51
- package/src/services/test/post-answer.test.ts +0 -100
- package/src/services/test/post-progression.test.ts +0 -66
- package/src/services/tools/fetch-responses.ts +0 -40
- package/src/services/tools/sleep.ts +0 -4
- package/src/test/index.test.tsx +0 -99
- package/src/test/util/services.mock.ts +0 -465
- package/src/types/common.ts +0 -207
- package/src/types/globals.d.ts +0 -4
- package/src/types/slides.ts +0 -98
- package/src/views/skills/index.ts +0 -48
- package/src/views/skills/test/skills.test.ts +0 -104
- package/src/views/slides/index.ts +0 -398
- package/src/views/slides/map-api-slide-to-ui.ts +0 -287
- package/src/views/slides/test/fixtures/free-text.ts +0 -44
- package/src/views/slides/test/fixtures/qcm-drag.ts +0 -112
- package/src/views/slides/test/fixtures/qcm-graphic.ts +0 -264
- package/src/views/slides/test/fixtures/qcm.ts +0 -120
- package/src/views/slides/test/fixtures/slider.ts +0 -43
- package/src/views/slides/test/fixtures/template.ts +0 -177
- package/src/views/slides/test/header.on-click.test.ts +0 -46
- package/src/views/slides/test/index.test.ts +0 -1515
- package/src/views/slides/test/map-api-slide-to-ui.test.ts +0 -52
- package/src/views/slides/test/on-quit-popin.on-click.test.ts +0 -66
- package/src/views/slides/test/slide.free-text.on-change.test.ts +0 -116
- package/src/views/slides/test/slide.next-slide.on-click.test.ts +0 -178
- package/src/views/slides/test/slide.qcm-drag.on-click.test.ts +0 -90
- package/src/views/slides/test/slide.qcm-graphic.on-click.test.ts +0 -90
- package/src/views/slides/test/slide.qcm.on-click.test.ts +0 -92
- package/src/views/slides/test/slide.slider.on-change.test.ts +0 -92
- package/src/views/slides/test/slide.slider.on-slider-change.test.ts +0 -91
- package/src/views/slides/test/slide.template.on-change.test.ts +0 -126
- /package/es/{src/actions → actions}/api/fetch-correction.d.ts +0 -0
- /package/es/{src/actions → actions}/api/fetch-correction.js +0 -0
- /package/es/{src/actions → actions}/api/fetch-rank.d.ts +0 -0
- /package/es/{src/actions → actions}/api/fetch-rank.js +0 -0
- /package/es/{src/actions → actions}/api/fetch-skills.d.ts +0 -0
- /package/es/{src/actions → actions}/api/fetch-skills.js +0 -0
- /package/es/{src/actions → actions}/api/fetch-slide.d.ts +0 -0
- /package/es/{src/actions → actions}/api/fetch-slide.js +0 -0
- /package/es/{src/actions → actions}/api/post-answer.d.ts +0 -0
- /package/es/{src/actions → actions}/api/post-answer.js +0 -0
- /package/es/{src/actions → actions}/api/post-progression.d.ts +0 -0
- /package/es/{src/actions → actions}/api/post-progression.js +0 -0
- /package/es/{src/actions → actions}/data/token.d.ts +0 -0
- /package/es/{src/actions → actions}/data/token.js +0 -0
- /package/es/{src/actions → actions}/ui/answers.d.ts +0 -0
- /package/es/{src/actions → actions}/ui/answers.js +0 -0
- /package/es/{src/actions → actions}/ui/navigation.d.ts +0 -0
- /package/es/{src/actions → actions}/ui/navigation.js +0 -0
- /package/es/{src/actions → actions}/ui/next-slide.d.ts +0 -0
- /package/es/{src/actions → actions}/ui/next-slide.js +0 -0
- /package/es/{src/actions → actions}/ui/quit-popin.d.ts +0 -0
- /package/es/{src/actions → actions}/ui/quit-popin.js +0 -0
- /package/es/{src/actions → actions}/ui/slides.d.ts +0 -0
- /package/es/{src/actions → actions}/ui/slides.js +0 -0
- /package/es/{src/common → common}/index.d.ts +0 -0
- /package/es/{src/common → common}/index.js +0 -0
- /package/es/{src/configure-store.d.ts → configure-store.d.ts} +0 -0
- /package/es/{src/configure-store.js → configure-store.js} +0 -0
- /package/es/{src/helpers → helpers}/css-register.d.ts +0 -0
- /package/es/{src/helpers → helpers}/css-register.js +0 -0
- /package/es/{src/index.d.ts → index.d.ts} +0 -0
- /package/es/{src/index.js → index.js} +0 -0
- /package/es/{src/reducers → reducers}/data/corrections.d.ts +0 -0
- /package/es/{src/reducers → reducers}/data/corrections.js +0 -0
- /package/es/{src/reducers → reducers}/data/index.d.ts +0 -0
- /package/es/{src/reducers → reducers}/data/index.js +0 -0
- /package/es/{src/reducers → reducers}/data/progression.d.ts +0 -0
- /package/es/{src/reducers → reducers}/data/progression.js +0 -0
- /package/es/{src/reducers → reducers}/data/rank.d.ts +0 -0
- /package/es/{src/reducers → reducers}/data/rank.js +0 -0
- /package/es/{src/reducers → reducers}/data/skills.d.ts +0 -0
- /package/es/{src/reducers → reducers}/data/skills.js +0 -0
- /package/es/{src/reducers → reducers}/data/slides.d.ts +0 -0
- /package/es/{src/reducers → reducers}/data/slides.js +0 -0
- /package/es/{src/reducers → reducers}/data/token.d.ts +0 -0
- /package/es/{src/reducers → reducers}/data/token.js +0 -0
- /package/es/{src/reducers → reducers}/index.d.ts +0 -0
- /package/es/{src/reducers → reducers}/index.js +0 -0
- /package/es/{src/reducers → reducers}/ui/answers.d.ts +0 -0
- /package/es/{src/reducers → reducers}/ui/answers.js +0 -0
- /package/es/{src/reducers → reducers}/ui/current-slide-ref.d.ts +0 -0
- /package/es/{src/reducers → reducers}/ui/current-slide-ref.js +0 -0
- /package/es/{src/reducers → reducers}/ui/index.d.ts +0 -0
- /package/es/{src/reducers → reducers}/ui/index.js +0 -0
- /package/es/{src/reducers → reducers}/ui/navigation.d.ts +0 -0
- /package/es/{src/reducers → reducers}/ui/navigation.js +0 -0
- /package/es/{src/reducers → reducers}/ui/positions.d.ts +0 -0
- /package/es/{src/reducers → reducers}/ui/positions.js +0 -0
- /package/es/{src/reducers → reducers}/ui/quit-popin.d.ts +0 -0
- /package/es/{src/reducers → reducers}/ui/quit-popin.js +0 -0
- /package/es/{src/reducers → reducers}/ui/show-congrats.d.ts +0 -0
- /package/es/{src/reducers → reducers}/ui/show-congrats.js +0 -0
- /package/es/{src/reducers → reducers}/ui/slide.d.ts +0 -0
- /package/es/{src/reducers → reducers}/ui/slide.js +0 -0
- /package/es/{src/services → services}/fetch-correction.d.ts +0 -0
- /package/es/{src/services → services}/fetch-correction.js +0 -0
- /package/es/{src/services → services}/fetch-rank.d.ts +0 -0
- /package/es/{src/services → services}/fetch-rank.js +0 -0
- /package/es/{src/services → services}/fetch-skills.d.ts +0 -0
- /package/es/{src/services → services}/fetch-skills.js +0 -0
- /package/es/{src/services → services}/fetch-slide.d.ts +0 -0
- /package/es/{src/services → services}/fetch-slide.js +0 -0
- /package/es/{src/services → services}/fetch-slides-to-review-by-skill-ref.d.ts +0 -0
- /package/es/{src/services → services}/fetch-slides-to-review-by-skill-ref.js +0 -0
- /package/es/{src/services → services}/index.d.ts +0 -0
- /package/es/{src/services → services}/index.js +0 -0
- /package/es/{src/services → services}/post-answer.d.ts +0 -0
- /package/es/{src/services → services}/post-answer.js +0 -0
- /package/es/{src/services → services}/post-progression.d.ts +0 -0
- /package/es/{src/services → services}/post-progression.js +0 -0
- /package/es/{src/services → services}/tools/fetch-responses.d.ts +0 -0
- /package/es/{src/services → services}/tools/fetch-responses.js +0 -0
- /package/es/{src/services → services}/tools/sleep.d.ts +0 -0
- /package/es/{src/services → services}/tools/sleep.js +0 -0
- /package/es/{src/types → types}/common.d.ts +0 -0
- /package/es/{src/types → types}/common.js +0 -0
- /package/es/{src/types → types}/slides.d.ts +0 -0
- /package/es/{src/types → types}/slides.js +0 -0
- /package/es/{src/views → views}/skills/index.d.ts +0 -0
- /package/es/{src/views → views}/skills/index.js +0 -0
- /package/es/{src/views → views}/slides/index.d.ts +0 -0
- /package/es/{src/views → views}/slides/index.js +0 -0
- /package/es/{src/views → views}/slides/map-api-slide-to-ui.d.ts +0 -0
- /package/es/{src/views → views}/slides/map-api-slide-to-ui.js +0 -0
- /package/lib/{src/actions → actions}/api/fetch-correction.d.ts +0 -0
- /package/lib/{src/actions → actions}/api/fetch-rank.d.ts +0 -0
- /package/lib/{src/actions → actions}/api/fetch-skills.d.ts +0 -0
- /package/lib/{src/actions → actions}/api/fetch-slide.d.ts +0 -0
- /package/lib/{src/actions → actions}/api/post-answer.d.ts +0 -0
- /package/lib/{src/actions → actions}/api/post-progression.d.ts +0 -0
- /package/lib/{src/actions → actions}/data/token.d.ts +0 -0
- /package/lib/{src/actions → actions}/ui/answers.d.ts +0 -0
- /package/lib/{src/actions → actions}/ui/navigation.d.ts +0 -0
- /package/lib/{src/actions → actions}/ui/next-slide.d.ts +0 -0
- /package/lib/{src/actions → actions}/ui/quit-popin.d.ts +0 -0
- /package/lib/{src/actions → actions}/ui/slides.d.ts +0 -0
- /package/lib/{src/common → common}/index.d.ts +0 -0
- /package/lib/{src/configure-store.d.ts → configure-store.d.ts} +0 -0
- /package/lib/{src/helpers → helpers}/css-register.d.ts +0 -0
- /package/lib/{src/index.d.ts → index.d.ts} +0 -0
- /package/lib/{src/reducers → reducers}/data/corrections.d.ts +0 -0
- /package/lib/{src/reducers → reducers}/data/index.d.ts +0 -0
- /package/lib/{src/reducers → reducers}/data/progression.d.ts +0 -0
- /package/lib/{src/reducers → reducers}/data/rank.d.ts +0 -0
- /package/lib/{src/reducers → reducers}/data/skills.d.ts +0 -0
- /package/lib/{src/reducers → reducers}/data/slides.d.ts +0 -0
- /package/lib/{src/reducers → reducers}/data/token.d.ts +0 -0
- /package/lib/{src/reducers → reducers}/index.d.ts +0 -0
- /package/lib/{src/reducers → reducers}/ui/answers.d.ts +0 -0
- /package/lib/{src/reducers → reducers}/ui/current-slide-ref.d.ts +0 -0
- /package/lib/{src/reducers → reducers}/ui/index.d.ts +0 -0
- /package/lib/{src/reducers → reducers}/ui/navigation.d.ts +0 -0
- /package/lib/{src/reducers → reducers}/ui/positions.d.ts +0 -0
- /package/lib/{src/reducers → reducers}/ui/quit-popin.d.ts +0 -0
- /package/lib/{src/reducers → reducers}/ui/show-congrats.d.ts +0 -0
- /package/lib/{src/reducers → reducers}/ui/slide.d.ts +0 -0
- /package/lib/{src/services → services}/fetch-correction.d.ts +0 -0
- /package/lib/{src/services → services}/fetch-rank.d.ts +0 -0
- /package/lib/{src/services → services}/fetch-skills.d.ts +0 -0
- /package/lib/{src/services → services}/fetch-slide.d.ts +0 -0
- /package/lib/{src/services → services}/fetch-slides-to-review-by-skill-ref.d.ts +0 -0
- /package/lib/{src/services → services}/index.d.ts +0 -0
- /package/lib/{src/services → services}/post-answer.d.ts +0 -0
- /package/lib/{src/services → services}/post-progression.d.ts +0 -0
- /package/lib/{src/services → services}/tools/fetch-responses.d.ts +0 -0
- /package/lib/{src/services → services}/tools/sleep.d.ts +0 -0
- /package/lib/{src/types → types}/common.d.ts +0 -0
- /package/lib/{src/types → types}/slides.d.ts +0 -0
- /package/lib/{src/views → views}/skills/index.d.ts +0 -0
- /package/lib/{src/views → views}/slides/index.d.ts +0 -0
- /package/lib/{src/views → views}/slides/map-api-slide-to-ui.d.ts +0 -0
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import buildTask from '@coorpacademy/redux-task';
|
|
2
|
-
import get from 'lodash/fp/get';
|
|
3
|
-
export var RANK_FETCH_START_REQUEST = '@@rank/FETCH_START_REQUEST';
|
|
4
|
-
export var RANK_FETCH_START_SUCCESS = '@@rank/FETCH_START_SUCCESS';
|
|
5
|
-
export var RANK_FETCH_START_FAILURE = '@@rank/FETCH_START_FAILURE';
|
|
6
|
-
export var RANK_FETCH_END_REQUEST = '@@rank/FETCH_END_REQUEST';
|
|
7
|
-
export var RANK_FETCH_END_SUCCESS = '@@rank/FETCH_END_SUCCESS';
|
|
8
|
-
export var RANK_FETCH_END_FAILURE = '@@rank/FETCH_END_FAILURE';
|
|
9
|
-
var bailout = function (path) {
|
|
10
|
-
return function (state) {
|
|
11
|
-
var value = get(path, state);
|
|
12
|
-
return !Number.isNaN(value);
|
|
13
|
-
};
|
|
14
|
-
};
|
|
15
|
-
export var fetchRank = function (dispatch, getState, services, types, path) {
|
|
16
|
-
var action = buildTask({
|
|
17
|
-
types: types,
|
|
18
|
-
task: function () {
|
|
19
|
-
var state = getState();
|
|
20
|
-
var token = get(['data', 'token'], state);
|
|
21
|
-
return services.fetchRank(token);
|
|
22
|
-
},
|
|
23
|
-
bailout: path ? bailout(path) : undefined
|
|
24
|
-
});
|
|
25
|
-
return dispatch(action);
|
|
26
|
-
};
|
|
27
|
-
export var fetchStartRank = function (dispatch, getState, _a) {
|
|
28
|
-
var services = _a.services;
|
|
29
|
-
return fetchRank(dispatch, getState, services, [RANK_FETCH_START_REQUEST, RANK_FETCH_START_SUCCESS, RANK_FETCH_START_FAILURE], 'data.rank.start');
|
|
30
|
-
};
|
|
31
|
-
export var fetchEndRank = function (dispatch, getState, _a) {
|
|
32
|
-
var services = _a.services;
|
|
33
|
-
return fetchRank(dispatch, getState, services, [
|
|
34
|
-
RANK_FETCH_END_REQUEST,
|
|
35
|
-
RANK_FETCH_END_SUCCESS,
|
|
36
|
-
RANK_FETCH_END_FAILURE
|
|
37
|
-
]);
|
|
38
|
-
};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import buildTask from '@coorpacademy/redux-task';
|
|
2
|
-
import get from 'lodash/fp/get';
|
|
3
|
-
export var SKILLS_FETCH_REQUEST = '@@skills/FETCH_REQUEST';
|
|
4
|
-
export var SKILLS_FETCH_SUCCESS = '@@skills/FETCH_SUCCESS';
|
|
5
|
-
export var SKILLS_FETCH_FAILURE = '@@skills/FETCH_FAILURE';
|
|
6
|
-
export var fetchSkills = function (dispatch, getState, _a) {
|
|
7
|
-
var services = _a.services;
|
|
8
|
-
var action = buildTask({
|
|
9
|
-
types: [SKILLS_FETCH_REQUEST, SKILLS_FETCH_SUCCESS, SKILLS_FETCH_FAILURE],
|
|
10
|
-
task: function () {
|
|
11
|
-
var state = getState();
|
|
12
|
-
var token = get(['data', 'token'], state);
|
|
13
|
-
return services.fetchSkills(token);
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
return dispatch(action);
|
|
17
|
-
};
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
12
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
-
function step(op) {
|
|
15
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
-
while (_) try {
|
|
17
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
18
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
-
switch (op[0]) {
|
|
20
|
-
case 0: case 1: t = op; break;
|
|
21
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
-
default:
|
|
25
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
-
if (t[2]) _.ops.pop();
|
|
30
|
-
_.trys.pop(); continue;
|
|
31
|
-
}
|
|
32
|
-
op = body.call(thisArg, _);
|
|
33
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
import buildTask from '@coorpacademy/redux-task';
|
|
38
|
-
import get from 'lodash/fp/get';
|
|
39
|
-
import has from 'lodash/fp/has';
|
|
40
|
-
import isEmpty from 'lodash/fp/isEmpty';
|
|
41
|
-
import { setCurrentSlide } from '../ui/slides';
|
|
42
|
-
export var SLIDE_FETCH_REQUEST = '@@slides/FETCH_REQUEST';
|
|
43
|
-
export var SLIDE_FETCH_SUCCESS = '@@slides/FETCH_SUCCESS';
|
|
44
|
-
export var SLIDE_FETCH_FAILURE = '@@slides/FETCH_FAILURE';
|
|
45
|
-
export var fetchSlide = function (slideRef) {
|
|
46
|
-
return function (dispatch, getState, _a) {
|
|
47
|
-
var services = _a.services;
|
|
48
|
-
return __awaiter(void 0, void 0, void 0, function () {
|
|
49
|
-
var action, response, slideFromAPI, state, slides;
|
|
50
|
-
return __generator(this, function (_b) {
|
|
51
|
-
switch (_b.label) {
|
|
52
|
-
case 0:
|
|
53
|
-
action = buildTask({
|
|
54
|
-
types: [SLIDE_FETCH_REQUEST, SLIDE_FETCH_SUCCESS, SLIDE_FETCH_FAILURE],
|
|
55
|
-
bailout: function (state) {
|
|
56
|
-
return has("data.slide.".concat(slideRef), state);
|
|
57
|
-
},
|
|
58
|
-
task: function () {
|
|
59
|
-
var state = getState();
|
|
60
|
-
var token = get(['data', 'token'], state);
|
|
61
|
-
return services.fetchSlide(slideRef, token);
|
|
62
|
-
},
|
|
63
|
-
meta: { slideRef: slideRef }
|
|
64
|
-
});
|
|
65
|
-
return [4 /*yield*/, dispatch(action)];
|
|
66
|
-
case 1:
|
|
67
|
-
response = _b.sent();
|
|
68
|
-
if (response.type === SLIDE_FETCH_SUCCESS) {
|
|
69
|
-
slideFromAPI = response.payload;
|
|
70
|
-
state = getState();
|
|
71
|
-
slides = get('data.progression.state.slides', state);
|
|
72
|
-
if (isEmpty(slides)) {
|
|
73
|
-
dispatch(setCurrentSlide(slideFromAPI));
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
return [2 /*return*/];
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
});
|
|
80
|
-
};
|
|
81
|
-
};
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
12
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
-
function step(op) {
|
|
15
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
-
while (_) try {
|
|
17
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
18
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
-
switch (op[0]) {
|
|
20
|
-
case 0: case 1: t = op; break;
|
|
21
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
-
default:
|
|
25
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
-
if (t[2]) _.ops.pop();
|
|
30
|
-
_.trys.pop(); continue;
|
|
31
|
-
}
|
|
32
|
-
op = body.call(thisArg, _);
|
|
33
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
import buildTask from '@coorpacademy/redux-task';
|
|
38
|
-
import get from 'lodash/fp/get';
|
|
39
|
-
import { fetchCorrection } from './fetch-correction';
|
|
40
|
-
import { fetchSlide } from './fetch-slide';
|
|
41
|
-
import { fetchEndRank, fetchStartRank } from './fetch-rank';
|
|
42
|
-
export var POST_ANSWER_REQUEST = '@@answer/POST_REQUEST';
|
|
43
|
-
export var POST_ANSWER_SUCCESS = '@@answer/POST_SUCCESS';
|
|
44
|
-
export var POST_ANSWER_FAILURE = '@@answer/POST_FAILURE';
|
|
45
|
-
export var postAnswer = function (dispatch, getState, _a) {
|
|
46
|
-
var services = _a.services;
|
|
47
|
-
return __awaiter(void 0, void 0, void 0, function () {
|
|
48
|
-
var state, currentSlideRef, token, answer, progression, action, response, updatedProgression, slideRef;
|
|
49
|
-
return __generator(this, function (_b) {
|
|
50
|
-
switch (_b.label) {
|
|
51
|
-
case 0:
|
|
52
|
-
state = getState();
|
|
53
|
-
currentSlideRef = get(['ui', 'currentSlideRef'], state);
|
|
54
|
-
token = get(['data', 'token'], state);
|
|
55
|
-
answer = get(['ui', 'answers', currentSlideRef], state);
|
|
56
|
-
progression = get(['data', 'progression'], state);
|
|
57
|
-
if (!progression)
|
|
58
|
-
throw new Error('Cannot answer a question of an inexistent progression');
|
|
59
|
-
action = buildTask({
|
|
60
|
-
types: [POST_ANSWER_REQUEST, POST_ANSWER_SUCCESS, POST_ANSWER_FAILURE],
|
|
61
|
-
meta: { slideRef: currentSlideRef },
|
|
62
|
-
task: function () { return services.postAnswer(progression, token, answer); }
|
|
63
|
-
});
|
|
64
|
-
return [4 /*yield*/, dispatch(action)];
|
|
65
|
-
case 1:
|
|
66
|
-
response = _b.sent();
|
|
67
|
-
if (!(response.type === POST_ANSWER_SUCCESS)) return [3 /*break*/, 8];
|
|
68
|
-
updatedProgression = response.payload;
|
|
69
|
-
slideRef = updatedProgression.state.nextContent.ref;
|
|
70
|
-
if (!(slideRef !== 'successExitNode')) return [3 /*break*/, 5];
|
|
71
|
-
return [4 /*yield*/, dispatch(fetchSlide(slideRef))];
|
|
72
|
-
case 2:
|
|
73
|
-
_b.sent();
|
|
74
|
-
return [4 /*yield*/, dispatch(fetchCorrection)];
|
|
75
|
-
case 3:
|
|
76
|
-
_b.sent();
|
|
77
|
-
return [4 /*yield*/, dispatch(fetchStartRank)];
|
|
78
|
-
case 4:
|
|
79
|
-
_b.sent();
|
|
80
|
-
return [3 /*break*/, 8];
|
|
81
|
-
case 5: return [4 /*yield*/, dispatch(fetchCorrection)];
|
|
82
|
-
case 6:
|
|
83
|
-
_b.sent();
|
|
84
|
-
return [4 /*yield*/, dispatch(fetchEndRank)];
|
|
85
|
-
case 7:
|
|
86
|
-
_b.sent();
|
|
87
|
-
_b.label = 8;
|
|
88
|
-
case 8: return [2 /*return*/];
|
|
89
|
-
}
|
|
90
|
-
});
|
|
91
|
-
});
|
|
92
|
-
};
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
12
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
-
function step(op) {
|
|
15
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
-
while (_) try {
|
|
17
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
18
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
-
switch (op[0]) {
|
|
20
|
-
case 0: case 1: t = op; break;
|
|
21
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
-
default:
|
|
25
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
-
if (t[2]) _.ops.pop();
|
|
30
|
-
_.trys.pop(); continue;
|
|
31
|
-
}
|
|
32
|
-
op = body.call(thisArg, _);
|
|
33
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
import buildTask from '@coorpacademy/redux-task';
|
|
38
|
-
import get from 'lodash/fp/get';
|
|
39
|
-
import { fetchSlide } from './fetch-slide';
|
|
40
|
-
export var POST_PROGRESSION_REQUEST = '@@progression/POST_REQUEST';
|
|
41
|
-
export var POST_PROGRESSION_SUCCESS = '@@progression/POST_SUCCESS';
|
|
42
|
-
export var POST_PROGRESSION_FAILURE = '@@progression/POST_FAILURE';
|
|
43
|
-
export var postProgression = function (skillRef) {
|
|
44
|
-
return function (dispatch, getState, _a) {
|
|
45
|
-
var services = _a.services;
|
|
46
|
-
return __awaiter(void 0, void 0, void 0, function () {
|
|
47
|
-
var state, token, action, response, progression, slideRef;
|
|
48
|
-
return __generator(this, function (_b) {
|
|
49
|
-
switch (_b.label) {
|
|
50
|
-
case 0:
|
|
51
|
-
state = getState();
|
|
52
|
-
token = get(['data', 'token'], state);
|
|
53
|
-
action = buildTask({
|
|
54
|
-
types: [POST_PROGRESSION_REQUEST, POST_PROGRESSION_SUCCESS, POST_PROGRESSION_FAILURE],
|
|
55
|
-
task: function () { return services.postProgression(skillRef, token); }
|
|
56
|
-
});
|
|
57
|
-
return [4 /*yield*/, dispatch(action)];
|
|
58
|
-
case 1:
|
|
59
|
-
response = _b.sent();
|
|
60
|
-
if (!(response.type === POST_PROGRESSION_SUCCESS)) return [3 /*break*/, 3];
|
|
61
|
-
progression = response.payload;
|
|
62
|
-
slideRef = progression.state.nextContent.ref;
|
|
63
|
-
return [4 /*yield*/, dispatch(fetchSlide(slideRef))];
|
|
64
|
-
case 2:
|
|
65
|
-
_b.sent();
|
|
66
|
-
_b.label = 3;
|
|
67
|
-
case 3: return [2 /*return*/];
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
};
|
|
72
|
-
};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { ExecutionContext } from 'ava';
|
|
2
|
-
import { AnyAction, Store } from 'redux';
|
|
3
|
-
import { ThunkOptions } from '../../types/common';
|
|
4
|
-
import { StoreState } from '../../reducers';
|
|
5
|
-
export declare const createTestStore: (t: ExecutionContext, initialState: StoreState, thunkOptions: ThunkOptions, actions: AnyAction[]) => Store<StoreState, AnyAction>;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import constant from 'lodash/fp/constant';
|
|
2
|
-
import { applyMiddleware, compose, createStore } from 'redux';
|
|
3
|
-
import thunk from 'redux-thunk';
|
|
4
|
-
import rootReducer from '../../reducers';
|
|
5
|
-
var assertActionsMiddleware = function (t, ACTIONS) {
|
|
6
|
-
return constant(function (next) { return function (action) {
|
|
7
|
-
var expectedAction = ACTIONS.shift();
|
|
8
|
-
if (!expectedAction)
|
|
9
|
-
throw new Error("Missing {type: \"".concat(action.type, "\"} action"));
|
|
10
|
-
t.deepEqual(action, expectedAction);
|
|
11
|
-
return next(action);
|
|
12
|
-
}; });
|
|
13
|
-
};
|
|
14
|
-
export var createTestStore = function (t, initialState, thunkOptions, actions) {
|
|
15
|
-
var thunkMiddleware = thunk.withExtraArgument(thunkOptions);
|
|
16
|
-
var enhancer = compose(applyMiddleware(thunkMiddleware, assertActionsMiddleware(t, actions)));
|
|
17
|
-
return createStore(rootReducer, initialState, enhancer);
|
|
18
|
-
};
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
2
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
3
|
-
if (ar || !(i in from)) {
|
|
4
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
5
|
-
ar[i] = from[i];
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
9
|
-
};
|
|
10
|
-
import flatten from 'lodash/fp/flatten';
|
|
11
|
-
import get from 'lodash/fp/get';
|
|
12
|
-
import getOr from 'lodash/fp/getOr';
|
|
13
|
-
import includes from 'lodash/fp/includes';
|
|
14
|
-
import pull from 'lodash/fp/pull';
|
|
15
|
-
export var EDIT_QCM = '@@answer/EDIT_QCM';
|
|
16
|
-
export var EDIT_QCM_GRAPHIC = '@@answer/EDIT_QCM_GRAPHIC';
|
|
17
|
-
export var EDIT_QCM_DRAG = '@@answer/EDIT_QCM_DRAG';
|
|
18
|
-
export var EDIT_TEMPLATE = '@@answer/EDIT_TEMPLATE';
|
|
19
|
-
export var EDIT_BASIC = '@@answer/EDIT_BASIC';
|
|
20
|
-
export var EDIT_SLIDER = '@@answer/EDIT_SLIDER';
|
|
21
|
-
export var ANSWER_EDIT = {
|
|
22
|
-
qcm: EDIT_QCM,
|
|
23
|
-
qcmGraphic: EDIT_QCM_GRAPHIC,
|
|
24
|
-
qcmDrag: EDIT_QCM_DRAG,
|
|
25
|
-
template: EDIT_TEMPLATE,
|
|
26
|
-
basic: EDIT_BASIC,
|
|
27
|
-
slider: EDIT_SLIDER
|
|
28
|
-
};
|
|
29
|
-
var buildAnswer = function (userAnswers, questionType, newValue) {
|
|
30
|
-
switch (questionType) {
|
|
31
|
-
case 'qcm':
|
|
32
|
-
case 'qcmGraphic':
|
|
33
|
-
case 'qcmDrag': {
|
|
34
|
-
var firstValue = newValue[0];
|
|
35
|
-
return includes(firstValue, userAnswers)
|
|
36
|
-
? pull(firstValue, userAnswers)
|
|
37
|
-
: flatten(__spreadArray(__spreadArray([], userAnswers, true), [firstValue], false));
|
|
38
|
-
}
|
|
39
|
-
case 'basic':
|
|
40
|
-
case 'slider':
|
|
41
|
-
case 'template':
|
|
42
|
-
return newValue;
|
|
43
|
-
/* istanbul ignore next */ default:
|
|
44
|
-
return [];
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
export var editAnswer = function (answer) {
|
|
48
|
-
return function (dispatch, getState) {
|
|
49
|
-
var state = getState();
|
|
50
|
-
var currentSlideRef = get(['ui', 'currentSlideRef'], state);
|
|
51
|
-
var userAnswers = getOr([], ['ui', 'answers', currentSlideRef], state);
|
|
52
|
-
var slide = get(['data', 'slides', currentSlideRef], state);
|
|
53
|
-
if (!slide)
|
|
54
|
-
throw new Error('No slide was found');
|
|
55
|
-
var questionType = get(['question', 'type'], slide);
|
|
56
|
-
var type = get(questionType, ANSWER_EDIT);
|
|
57
|
-
if (!type)
|
|
58
|
-
throw new Error("Question type ".concat(questionType, " is not supported"));
|
|
59
|
-
return dispatch({
|
|
60
|
-
type: type,
|
|
61
|
-
meta: { slideRef: currentSlideRef },
|
|
62
|
-
payload: buildAnswer(userAnswers, questionType, answer)
|
|
63
|
-
});
|
|
64
|
-
};
|
|
65
|
-
};
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
12
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
-
function step(op) {
|
|
15
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
-
while (_) try {
|
|
17
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
18
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
-
switch (op[0]) {
|
|
20
|
-
case 0: case 1: t = op; break;
|
|
21
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
-
default:
|
|
25
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
-
if (t[2]) _.ops.pop();
|
|
30
|
-
_.trys.pop(); continue;
|
|
31
|
-
}
|
|
32
|
-
op = body.call(thisArg, _);
|
|
33
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
export var NAVIGATE_TO = '@@navigation/NAVIGATE_TO';
|
|
38
|
-
export var NAVIGATE_BACK = '@@navigation/NAVIGATE_BACK';
|
|
39
|
-
export var START_APP = '@@navigation/START_APP';
|
|
40
|
-
export var navigateTo = function (newViewName) {
|
|
41
|
-
return function (dispatch, getState, _a) {
|
|
42
|
-
var callbackOnViewChanged = _a.callbackOnViewChanged;
|
|
43
|
-
return __awaiter(void 0, void 0, void 0, function () {
|
|
44
|
-
var action, res;
|
|
45
|
-
return __generator(this, function (_b) {
|
|
46
|
-
switch (_b.label) {
|
|
47
|
-
case 0:
|
|
48
|
-
action = {
|
|
49
|
-
type: NAVIGATE_TO,
|
|
50
|
-
payload: newViewName
|
|
51
|
-
};
|
|
52
|
-
return [4 /*yield*/, dispatch(action)];
|
|
53
|
-
case 1:
|
|
54
|
-
res = _b.sent();
|
|
55
|
-
if (callbackOnViewChanged) {
|
|
56
|
-
callbackOnViewChanged(newViewName);
|
|
57
|
-
}
|
|
58
|
-
return [2 /*return*/, res];
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
});
|
|
62
|
-
};
|
|
63
|
-
};
|
|
64
|
-
export var navigateBack = function (dispatch, getState, _a) {
|
|
65
|
-
var callbackOnViewChanged = _a.callbackOnViewChanged;
|
|
66
|
-
return __awaiter(void 0, void 0, void 0, function () {
|
|
67
|
-
var action, res, storeState, viewName;
|
|
68
|
-
return __generator(this, function (_b) {
|
|
69
|
-
switch (_b.label) {
|
|
70
|
-
case 0:
|
|
71
|
-
action = {
|
|
72
|
-
type: NAVIGATE_BACK
|
|
73
|
-
};
|
|
74
|
-
return [4 /*yield*/, dispatch(action)];
|
|
75
|
-
case 1:
|
|
76
|
-
res = _b.sent();
|
|
77
|
-
if (callbackOnViewChanged) {
|
|
78
|
-
storeState = getState();
|
|
79
|
-
viewName = storeState.ui.navigation[storeState.ui.navigation.length - 1];
|
|
80
|
-
callbackOnViewChanged(viewName);
|
|
81
|
-
}
|
|
82
|
-
return [2 /*return*/, res];
|
|
83
|
-
}
|
|
84
|
-
});
|
|
85
|
-
});
|
|
86
|
-
};
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import filter from 'lodash/fp/filter';
|
|
2
|
-
import get from 'lodash/fp/get';
|
|
3
|
-
export var NEXT_SLIDE = '@@slide/NEXT_SLIDE';
|
|
4
|
-
export var nextSlide = function (dispatch, getState) {
|
|
5
|
-
var state = getState();
|
|
6
|
-
var progression = state.data.progression;
|
|
7
|
-
var _a = progression.state, isCorrect = _a.isCorrect, allAnswers = _a.allAnswers, slides = _a.slides;
|
|
8
|
-
var correctAnswers = filter(function (answer) { return answer.isCorrect; }, allAnswers);
|
|
9
|
-
var payload = {
|
|
10
|
-
currentSlideRef: get(['ui', 'currentSlideRef'], state),
|
|
11
|
-
nextSlideRef: get(['state', 'nextContent', 'ref'], state.data.progression),
|
|
12
|
-
animationType: isCorrect ? 'unstack' : 'restack',
|
|
13
|
-
totalCorrectAnswers: correctAnswers.length,
|
|
14
|
-
answeredSlides: slides
|
|
15
|
-
};
|
|
16
|
-
var action = {
|
|
17
|
-
type: NEXT_SLIDE,
|
|
18
|
-
payload: payload
|
|
19
|
-
};
|
|
20
|
-
return dispatch(action);
|
|
21
|
-
};
|
package/lib/src/common/index.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import concat from 'lodash/fp/concat';
|
|
2
|
-
import slice from 'lodash/fp/slice';
|
|
3
|
-
export var slideIndexes = ['0', '1', '2', '3', '4'];
|
|
4
|
-
export var getProgressionSlidesRefs = function (progression) {
|
|
5
|
-
if (progression.state.step.current <= 5) {
|
|
6
|
-
var slideRef = progression.state.nextContent.ref;
|
|
7
|
-
return concat(progression.state.slides, [slideRef]);
|
|
8
|
-
}
|
|
9
|
-
return slice(0, 5, progression.state.slides);
|
|
10
|
-
};
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { applyMiddleware, compose, createStore } from 'redux';
|
|
2
|
-
import thunk from 'redux-thunk';
|
|
3
|
-
import rootReducer from './reducers';
|
|
4
|
-
import { getServices } from './services';
|
|
5
|
-
export default function configureStore(options) {
|
|
6
|
-
var _compose = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__
|
|
7
|
-
? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({
|
|
8
|
-
name: 'app-review',
|
|
9
|
-
trace: true,
|
|
10
|
-
traceLimit: 25
|
|
11
|
-
})
|
|
12
|
-
: compose;
|
|
13
|
-
var thunkOptions = {
|
|
14
|
-
services: options.services || getServices(),
|
|
15
|
-
callbackOnViewChanged: options.callbackOnViewChanged
|
|
16
|
-
};
|
|
17
|
-
var thunkMiddleware = thunk.withExtraArgument(thunkOptions);
|
|
18
|
-
var enhancer = _compose(applyMiddleware(thunkMiddleware));
|
|
19
|
-
var store = createStore(rootReducer, undefined, enhancer);
|
|
20
|
-
return store;
|
|
21
|
-
}
|
package/lib/src/index.js
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
var __assign = (this && this.__assign) || function () {
|
|
2
|
-
__assign = Object.assign || function(t) {
|
|
3
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
-
s = arguments[i];
|
|
5
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
-
t[p] = s[p];
|
|
7
|
-
}
|
|
8
|
-
return t;
|
|
9
|
-
};
|
|
10
|
-
return __assign.apply(this, arguments);
|
|
11
|
-
};
|
|
12
|
-
import React, { useEffect, useState } from 'react';
|
|
13
|
-
import { useSelector, useDispatch, Provider } from 'react-redux';
|
|
14
|
-
import AppReviewTemplate from '@coorpacademy/components/es/template/app-review';
|
|
15
|
-
import isEmpty from 'lodash/fp/isEmpty';
|
|
16
|
-
import get from 'lodash/fp/get';
|
|
17
|
-
import configureStore from './configure-store';
|
|
18
|
-
import { navigateBack, navigateTo } from './actions/ui/navigation';
|
|
19
|
-
import { storeToken } from './actions/data/token';
|
|
20
|
-
import { fetchSkills } from './actions/api/fetch-skills';
|
|
21
|
-
import { postProgression } from './actions/api/post-progression';
|
|
22
|
-
import { mapStateToSlidesProps } from './views/slides';
|
|
23
|
-
import { mapStateToSkillsProps } from './views/skills';
|
|
24
|
-
var ConnectedApp = function (_a) {
|
|
25
|
-
var onQuitClick = _a.onQuitClick;
|
|
26
|
-
var dispatch = useDispatch();
|
|
27
|
-
var props = {
|
|
28
|
-
navigateBack: function () { return dispatch(navigateBack); },
|
|
29
|
-
viewName: useSelector(function (state) { return state.ui.navigation[state.ui.navigation.length - 1]; }),
|
|
30
|
-
slides: useSelector(function (state) { return mapStateToSlidesProps(state, dispatch, onQuitClick); }),
|
|
31
|
-
skills: useSelector(function (state) { return mapStateToSkillsProps(state); }),
|
|
32
|
-
onboarding: {}
|
|
33
|
-
};
|
|
34
|
-
return React.createElement(AppReviewTemplate, __assign({}, props));
|
|
35
|
-
};
|
|
36
|
-
var AppReview = function (_a) {
|
|
37
|
-
var options = _a.options;
|
|
38
|
-
var _b = useState(null), store = _b[0], setStore = _b[1];
|
|
39
|
-
var _c = useState(false), isProgressionCreated = _c[0], setIsProgressionCreated = _c[1];
|
|
40
|
-
var onQuitClick = options.onQuitClick;
|
|
41
|
-
useEffect(function () {
|
|
42
|
-
if (store)
|
|
43
|
-
return;
|
|
44
|
-
var newStore = configureStore(options);
|
|
45
|
-
setStore(newStore);
|
|
46
|
-
}, [options, store]);
|
|
47
|
-
useEffect(function () {
|
|
48
|
-
if (!store || isProgressionCreated)
|
|
49
|
-
return;
|
|
50
|
-
return store.subscribe(function () {
|
|
51
|
-
var isProgressionPresent = !isEmpty(store.getState().data.progression);
|
|
52
|
-
return isProgressionPresent && setIsProgressionCreated(isProgressionPresent);
|
|
53
|
-
});
|
|
54
|
-
}, [isProgressionCreated, options, store]);
|
|
55
|
-
useEffect(function () {
|
|
56
|
-
var token = get('token', options);
|
|
57
|
-
if (store === null || isEmpty(token))
|
|
58
|
-
return;
|
|
59
|
-
store.dispatch(storeToken(token));
|
|
60
|
-
}, [options, store]);
|
|
61
|
-
useEffect(function () {
|
|
62
|
-
var token = get('token', options);
|
|
63
|
-
if (store === null || isEmpty(token))
|
|
64
|
-
return;
|
|
65
|
-
var skillRef = get('skillRef', options);
|
|
66
|
-
/* ThunkAction is not assignable to parameter of type 'AnyAction'
|
|
67
|
-
ts problem is described here = https://github.com/reduxjs/redux-thunk/issues/333 */
|
|
68
|
-
skillRef ? store.dispatch(postProgression(skillRef)) : store.dispatch(fetchSkills);
|
|
69
|
-
}, [options, store]);
|
|
70
|
-
useEffect(function () {
|
|
71
|
-
if (store === null)
|
|
72
|
-
return;
|
|
73
|
-
var skillRef = options.skillRef;
|
|
74
|
-
if (skillRef && !isProgressionCreated) {
|
|
75
|
-
store.dispatch(navigateTo('loader')); // use loader while posting progression
|
|
76
|
-
return;
|
|
77
|
-
}
|
|
78
|
-
var initialView = skillRef ? 'slides' : 'skills';
|
|
79
|
-
store.dispatch(navigateTo(initialView));
|
|
80
|
-
}, [isProgressionCreated, options, store]);
|
|
81
|
-
if (!store)
|
|
82
|
-
return null;
|
|
83
|
-
return (React.createElement(Provider, { store: store },
|
|
84
|
-
React.createElement(ConnectedApp, { onQuitClick: onQuitClick })));
|
|
85
|
-
};
|
|
86
|
-
export default AppReview;
|