@pie-element/inline-dropdown 11.0.5-esm.1 → 11.0.5-next.20261012010413
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/author.js +2 -0
- package/configure.js +2 -0
- package/controller.js +1 -0
- package/dist/author/defaults.d.ts +187 -0
- package/dist/author/defaults.js +130 -0
- package/dist/author/index.d.ts +25 -0
- package/dist/author/index.js +91 -0
- package/dist/author/inline-dropdown-toolbar.d.ts +44 -0
- package/dist/author/inline-dropdown-toolbar.js +269 -0
- package/dist/author/main.d.ts +65 -0
- package/dist/author/main.js +363 -0
- package/dist/author/markupUtils.d.ts +4 -0
- package/dist/author/markupUtils.js +23 -0
- package/dist/author/response-area.d.ts +12 -0
- package/dist/author/response-area.js +32 -0
- package/dist/author/utils.d.ts +2 -0
- package/dist/author/utils.js +10 -0
- package/dist/browser/Close-V6zXg6OM.js +12945 -0
- package/dist/browser/Close-V6zXg6OM.js.map +1 -0
- package/dist/browser/PUA-tLuTiQ7---_oZ5q_A.js +4370 -0
- package/dist/browser/PUA-tLuTiQ7---_oZ5q_A.js.map +1 -0
- package/dist/browser/accents-BTUYmhn9-BvG-5D5U.js +1508 -0
- package/dist/browser/accents-BTUYmhn9-BvG-5D5U.js.map +1 -0
- package/dist/browser/accents-b-i-CngHZsLL-D9VyhQb6.js +2847 -0
- package/dist/browser/accents-b-i-CngHZsLL-D9VyhQb6.js.map +1 -0
- package/dist/browser/arabic-BzEHMVZD-Dynlj189.js +785 -0
- package/dist/browser/arabic-BzEHMVZD-Dynlj189.js.map +1 -0
- package/dist/browser/arrows-VjxlU-jv-DSm4SIYN.js +2655 -0
- package/dist/browser/arrows-VjxlU-jv-DSm4SIYN.js.map +1 -0
- package/dist/browser/assets/Symbola-4c507403.woff2 +0 -0
- package/dist/browser/author/index.js +36618 -0
- package/dist/browser/author/index.js.map +1 -0
- package/dist/browser/braille-BeWC_Ruq-T-5kTNil.js +1287 -0
- package/dist/browser/braille-BeWC_Ruq-T-5kTNil.js.map +1 -0
- package/dist/browser/braille-d-Dk6J96GO--ZdfI9kr.js +1287 -0
- package/dist/browser/braille-d-Dk6J96GO--ZdfI9kr.js.map +1 -0
- package/dist/browser/calligraphic-Cew9cU3x-qfCrrm3u.js +323 -0
- package/dist/browser/calligraphic-Cew9cU3x-qfCrrm3u.js.map +1 -0
- package/dist/browser/cherokee-Cny3FYho-CbTYre7_.js +2029 -0
- package/dist/browser/cherokee-Cny3FYho-CbTYre7_.js.map +1 -0
- package/dist/browser/chtml-CbqemTOM-x0_YISTK.js +20329 -0
- package/dist/browser/chtml-CbqemTOM-x0_YISTK.js.map +1 -0
- package/dist/browser/controller/index.js +198 -0
- package/dist/browser/controller/index.js.map +1 -0
- package/dist/browser/cyrillic-CfCDulXU-EvNL2rHi.js +5617 -0
- package/dist/browser/cyrillic-CfCDulXU-EvNL2rHi.js.map +1 -0
- package/dist/browser/cyrillic-ss-lU7bNGG9-jdxJx-EF.js +5606 -0
- package/dist/browser/cyrillic-ss-lU7bNGG9-jdxJx-EF.js.map +1 -0
- package/dist/browser/delivery/index.js +1307 -0
- package/dist/browser/delivery/index.js.map +1 -0
- package/dist/browser/devanagari-CDIz2h-r-FGcUsKu2.js +692 -0
- package/dist/browser/devanagari-CDIz2h-r-FGcUsKu2.js.map +1 -0
- package/dist/browser/dist-FMIRkZir.js +753 -0
- package/dist/browser/dist-FMIRkZir.js.map +1 -0
- package/dist/browser/double-struck-BpJEQk8y-CLqFtvAN.js +438 -0
- package/dist/browser/double-struck-BpJEQk8y-CLqFtvAN.js.map +1 -0
- package/dist/browser/editor-runtime/Close-C0bNS2Kx.js +12945 -0
- package/dist/browser/editor-runtime/Close-C0bNS2Kx.js.map +1 -0
- package/dist/browser/editor-runtime/PUA-tLuTiQ7---_oZ5q_A.js +4370 -0
- package/dist/browser/editor-runtime/PUA-tLuTiQ7---_oZ5q_A.js.map +1 -0
- package/dist/browser/editor-runtime/accents-BTUYmhn9-BvG-5D5U.js +1508 -0
- package/dist/browser/editor-runtime/accents-BTUYmhn9-BvG-5D5U.js.map +1 -0
- package/dist/browser/editor-runtime/accents-b-i-CngHZsLL-D9VyhQb6.js +2847 -0
- package/dist/browser/editor-runtime/accents-b-i-CngHZsLL-D9VyhQb6.js.map +1 -0
- package/dist/browser/editor-runtime/arabic-BzEHMVZD-Dynlj189.js +785 -0
- package/dist/browser/editor-runtime/arabic-BzEHMVZD-Dynlj189.js.map +1 -0
- package/dist/browser/editor-runtime/arrows-VjxlU-jv-DSm4SIYN.js +2655 -0
- package/dist/browser/editor-runtime/arrows-VjxlU-jv-DSm4SIYN.js.map +1 -0
- package/dist/browser/editor-runtime/assets/Symbola-4c507403.woff2 +0 -0
- package/dist/browser/editor-runtime/author/index.js +20030 -0
- package/dist/browser/editor-runtime/author/index.js.map +1 -0
- package/dist/browser/editor-runtime/braille-BeWC_Ruq-T-5kTNil.js +1287 -0
- package/dist/browser/editor-runtime/braille-BeWC_Ruq-T-5kTNil.js.map +1 -0
- package/dist/browser/editor-runtime/braille-d-Dk6J96GO--ZdfI9kr.js +1287 -0
- package/dist/browser/editor-runtime/braille-d-Dk6J96GO--ZdfI9kr.js.map +1 -0
- package/dist/browser/editor-runtime/calligraphic-Cew9cU3x-qfCrrm3u.js +323 -0
- package/dist/browser/editor-runtime/calligraphic-Cew9cU3x-qfCrrm3u.js.map +1 -0
- package/dist/browser/editor-runtime/cherokee-Cny3FYho-CbTYre7_.js +2029 -0
- package/dist/browser/editor-runtime/cherokee-Cny3FYho-CbTYre7_.js.map +1 -0
- package/dist/browser/editor-runtime/chtml-CbqemTOM-x0_YISTK.js +20329 -0
- package/dist/browser/editor-runtime/chtml-CbqemTOM-x0_YISTK.js.map +1 -0
- package/dist/browser/editor-runtime/controller/index.js +198 -0
- package/dist/browser/editor-runtime/controller/index.js.map +1 -0
- package/dist/browser/editor-runtime/cyrillic-CfCDulXU-EvNL2rHi.js +5617 -0
- package/dist/browser/editor-runtime/cyrillic-CfCDulXU-EvNL2rHi.js.map +1 -0
- package/dist/browser/editor-runtime/cyrillic-ss-lU7bNGG9-jdxJx-EF.js +5606 -0
- package/dist/browser/editor-runtime/cyrillic-ss-lU7bNGG9-jdxJx-EF.js.map +1 -0
- package/dist/browser/editor-runtime/delivery/index.js +1307 -0
- package/dist/browser/editor-runtime/delivery/index.js.map +1 -0
- package/dist/browser/editor-runtime/devanagari-CDIz2h-r-FGcUsKu2.js +692 -0
- package/dist/browser/editor-runtime/devanagari-CDIz2h-r-FGcUsKu2.js.map +1 -0
- package/dist/browser/editor-runtime/dist-FMIRkZir.js +753 -0
- package/dist/browser/editor-runtime/dist-FMIRkZir.js.map +1 -0
- package/dist/browser/editor-runtime/double-struck-BpJEQk8y-CLqFtvAN.js +438 -0
- package/dist/browser/editor-runtime/double-struck-BpJEQk8y-CLqFtvAN.js.map +1 -0
- package/dist/browser/editor-runtime/fraktur-rLEq9DEH-BU0iR4xw.js +694 -0
- package/dist/browser/editor-runtime/fraktur-rLEq9DEH-BU0iR4xw.js.map +1 -0
- package/dist/browser/editor-runtime/greek-BlraJTyL-DAfjxxNh.js +9335 -0
- package/dist/browser/editor-runtime/greek-BlraJTyL-DAfjxxNh.js.map +1 -0
- package/dist/browser/editor-runtime/greek-ss-D-EN2PK0-CcyaecGS.js +6767 -0
- package/dist/browser/editor-runtime/greek-ss-D-EN2PK0-CcyaecGS.js.map +1 -0
- package/dist/browser/editor-runtime/hebrew-GiQZeybp-DqJrAkkB.js +3218 -0
- package/dist/browser/editor-runtime/hebrew-GiQZeybp-DqJrAkkB.js.map +1 -0
- package/dist/browser/editor-runtime/latin-b-BhEnC7R2-CQAVv0CI.js +3134 -0
- package/dist/browser/editor-runtime/latin-b-BhEnC7R2-CQAVv0CI.js.map +1 -0
- package/dist/browser/editor-runtime/latin-bi-DqiIKv3U-DM22wSUP.js +3637 -0
- package/dist/browser/editor-runtime/latin-bi-DqiIKv3U-DM22wSUP.js.map +1 -0
- package/dist/browser/editor-runtime/latin-i-B1xtwaE1-uBpJAGjo.js +3634 -0
- package/dist/browser/editor-runtime/latin-i-B1xtwaE1-uBpJAGjo.js.map +1 -0
- package/dist/browser/editor-runtime/latin-xfWFlLkD-CKElfDKc.js +3266 -0
- package/dist/browser/editor-runtime/latin-xfWFlLkD-CKElfDKc.js.map +1 -0
- package/dist/browser/editor-runtime/marrows-DD1NgMQi-BIBP-NrK.js +761 -0
- package/dist/browser/editor-runtime/marrows-DD1NgMQi-BIBP-NrK.js.map +1 -0
- package/dist/browser/editor-runtime/math-DpWn1mbG-B7Krt7Jk.js +2034 -0
- package/dist/browser/editor-runtime/math-DpWn1mbG-B7Krt7Jk.js.map +1 -0
- package/dist/browser/editor-runtime/mathjax-CptWnMbQ-BymmkoDr.js +36692 -0
- package/dist/browser/editor-runtime/mathjax-CptWnMbQ-BymmkoDr.js.map +1 -0
- package/dist/browser/editor-runtime/monospace-D116QD2a-C40p3Rv8.js +1112 -0
- package/dist/browser/editor-runtime/monospace-D116QD2a-C40p3Rv8.js.map +1 -0
- package/dist/browser/editor-runtime/monospace-ex-DcXpouKS-DkaktwPJ.js +6014 -0
- package/dist/browser/editor-runtime/monospace-ex-DcXpouKS-DkaktwPJ.js.map +1 -0
- package/dist/browser/editor-runtime/monospace-l-Ct5wkMDs-CuE7t5pv.js +3114 -0
- package/dist/browser/editor-runtime/monospace-l-Ct5wkMDs-CuE7t5pv.js.map +1 -0
- package/dist/browser/editor-runtime/mshapes-DCp86WSX-DX0WfJid.js +524 -0
- package/dist/browser/editor-runtime/mshapes-DCp86WSX-DX0WfJid.js.map +1 -0
- package/dist/browser/editor-runtime/phonetics-BwOCw2Y9-lJWnARqt.js +2496 -0
- package/dist/browser/editor-runtime/phonetics-BwOCw2Y9-lJWnARqt.js.map +1 -0
- package/dist/browser/editor-runtime/phonetics-ss-CRtMn02f-Cr32SJLL.js +2984 -0
- package/dist/browser/editor-runtime/phonetics-ss-CRtMn02f-Cr32SJLL.js.map +1 -0
- package/dist/browser/editor-runtime/sans-serif-BYPZKlE9-DftjSdim.js +5246 -0
- package/dist/browser/editor-runtime/sans-serif-BYPZKlE9-DftjSdim.js.map +1 -0
- package/dist/browser/editor-runtime/sans-serif-b-B0kRKiC--BsRQiyQP.js +3176 -0
- package/dist/browser/editor-runtime/sans-serif-b-B0kRKiC--BsRQiyQP.js.map +1 -0
- package/dist/browser/editor-runtime/sans-serif-bi-DXWul6mu-D4NuD72A.js +3688 -0
- package/dist/browser/editor-runtime/sans-serif-bi-DXWul6mu-D4NuD72A.js.map +1 -0
- package/dist/browser/editor-runtime/sans-serif-ex-Boux1kMP-BrL4RNcD.js +10033 -0
- package/dist/browser/editor-runtime/sans-serif-ex-Boux1kMP-BrL4RNcD.js.map +1 -0
- package/dist/browser/editor-runtime/sans-serif-i-676RFaSO-BCRikTTw.js +3635 -0
- package/dist/browser/editor-runtime/sans-serif-i-676RFaSO-BCRikTTw.js.map +1 -0
- package/dist/browser/editor-runtime/sans-serif-r-DrN9xdZt-CN8omxfu.js +3159 -0
- package/dist/browser/editor-runtime/sans-serif-r-DrN9xdZt-CN8omxfu.js.map +1 -0
- package/dist/browser/editor-runtime/script-0ohehnXc-4G2PiBkk.js +649 -0
- package/dist/browser/editor-runtime/script-0ohehnXc-4G2PiBkk.js.map +1 -0
- package/dist/browser/editor-runtime/shapes-BG47NodJ-D3eH0HjT.js +1932 -0
- package/dist/browser/editor-runtime/shapes-BG47NodJ-D3eH0HjT.js.map +1 -0
- package/dist/browser/editor-runtime/speech-worker-CTpOB9m5-pwCKeQ9c.js +160 -0
- package/dist/browser/editor-runtime/speech-worker-CTpOB9m5-pwCKeQ9c.js.map +1 -0
- package/dist/browser/editor-runtime/symbols-BqnUxf_t-DJHA_nO7.js +1833 -0
- package/dist/browser/editor-runtime/symbols-BqnUxf_t-DJHA_nO7.js.map +1 -0
- package/dist/browser/editor-runtime/symbols-b-i-eg9k5hmF-Bn-dxZT_.js +1153 -0
- package/dist/browser/editor-runtime/symbols-b-i-eg9k5hmF-Bn-dxZT_.js.map +1 -0
- package/dist/browser/editor-runtime/variants-2LRNhOUP-BlL4NIVJ.js +231 -0
- package/dist/browser/editor-runtime/variants-2LRNhOUP-BlL4NIVJ.js.map +1 -0
- package/dist/browser/fraktur-rLEq9DEH-BU0iR4xw.js +694 -0
- package/dist/browser/fraktur-rLEq9DEH-BU0iR4xw.js.map +1 -0
- package/dist/browser/greek-BlraJTyL-DAfjxxNh.js +9335 -0
- package/dist/browser/greek-BlraJTyL-DAfjxxNh.js.map +1 -0
- package/dist/browser/greek-ss-D-EN2PK0-CcyaecGS.js +6767 -0
- package/dist/browser/greek-ss-D-EN2PK0-CcyaecGS.js.map +1 -0
- package/dist/browser/hebrew-GiQZeybp-DqJrAkkB.js +3218 -0
- package/dist/browser/hebrew-GiQZeybp-DqJrAkkB.js.map +1 -0
- package/dist/browser/latin-b-BhEnC7R2-CQAVv0CI.js +3134 -0
- package/dist/browser/latin-b-BhEnC7R2-CQAVv0CI.js.map +1 -0
- package/dist/browser/latin-bi-DqiIKv3U-DM22wSUP.js +3637 -0
- package/dist/browser/latin-bi-DqiIKv3U-DM22wSUP.js.map +1 -0
- package/dist/browser/latin-i-B1xtwaE1-uBpJAGjo.js +3634 -0
- package/dist/browser/latin-i-B1xtwaE1-uBpJAGjo.js.map +1 -0
- package/dist/browser/latin-xfWFlLkD-CKElfDKc.js +3266 -0
- package/dist/browser/latin-xfWFlLkD-CKElfDKc.js.map +1 -0
- package/dist/browser/marrows-DD1NgMQi-BIBP-NrK.js +761 -0
- package/dist/browser/marrows-DD1NgMQi-BIBP-NrK.js.map +1 -0
- package/dist/browser/math-DpWn1mbG-B7Krt7Jk.js +2034 -0
- package/dist/browser/math-DpWn1mbG-B7Krt7Jk.js.map +1 -0
- package/dist/browser/mathjax-CptWnMbQ-ncPHVakS.js +36692 -0
- package/dist/browser/mathjax-CptWnMbQ-ncPHVakS.js.map +1 -0
- package/dist/browser/monospace-D116QD2a-C40p3Rv8.js +1112 -0
- package/dist/browser/monospace-D116QD2a-C40p3Rv8.js.map +1 -0
- package/dist/browser/monospace-ex-DcXpouKS-DkaktwPJ.js +6014 -0
- package/dist/browser/monospace-ex-DcXpouKS-DkaktwPJ.js.map +1 -0
- package/dist/browser/monospace-l-Ct5wkMDs-CuE7t5pv.js +3114 -0
- package/dist/browser/monospace-l-Ct5wkMDs-CuE7t5pv.js.map +1 -0
- package/dist/browser/mshapes-DCp86WSX-DX0WfJid.js +524 -0
- package/dist/browser/mshapes-DCp86WSX-DX0WfJid.js.map +1 -0
- package/dist/browser/phonetics-BwOCw2Y9-lJWnARqt.js +2496 -0
- package/dist/browser/phonetics-BwOCw2Y9-lJWnARqt.js.map +1 -0
- package/dist/browser/phonetics-ss-CRtMn02f-Cr32SJLL.js +2984 -0
- package/dist/browser/phonetics-ss-CRtMn02f-Cr32SJLL.js.map +1 -0
- package/dist/browser/sans-serif-BYPZKlE9-DftjSdim.js +5246 -0
- package/dist/browser/sans-serif-BYPZKlE9-DftjSdim.js.map +1 -0
- package/dist/browser/sans-serif-b-B0kRKiC--BsRQiyQP.js +3176 -0
- package/dist/browser/sans-serif-b-B0kRKiC--BsRQiyQP.js.map +1 -0
- package/dist/browser/sans-serif-bi-DXWul6mu-D4NuD72A.js +3688 -0
- package/dist/browser/sans-serif-bi-DXWul6mu-D4NuD72A.js.map +1 -0
- package/dist/browser/sans-serif-ex-Boux1kMP-BrL4RNcD.js +10033 -0
- package/dist/browser/sans-serif-ex-Boux1kMP-BrL4RNcD.js.map +1 -0
- package/dist/browser/sans-serif-i-676RFaSO-BCRikTTw.js +3635 -0
- package/dist/browser/sans-serif-i-676RFaSO-BCRikTTw.js.map +1 -0
- package/dist/browser/sans-serif-r-DrN9xdZt-CN8omxfu.js +3159 -0
- package/dist/browser/sans-serif-r-DrN9xdZt-CN8omxfu.js.map +1 -0
- package/dist/browser/script-0ohehnXc-4G2PiBkk.js +649 -0
- package/dist/browser/script-0ohehnXc-4G2PiBkk.js.map +1 -0
- package/dist/browser/shapes-BG47NodJ-D3eH0HjT.js +1932 -0
- package/dist/browser/shapes-BG47NodJ-D3eH0HjT.js.map +1 -0
- package/dist/browser/speech-worker-CTpOB9m5-BIgcSm3A.js +160 -0
- package/dist/browser/speech-worker-CTpOB9m5-BIgcSm3A.js.map +1 -0
- package/dist/browser/symbols-BqnUxf_t-DJHA_nO7.js +1833 -0
- package/dist/browser/symbols-BqnUxf_t-DJHA_nO7.js.map +1 -0
- package/dist/browser/symbols-b-i-eg9k5hmF-Bn-dxZT_.js +1153 -0
- package/dist/browser/symbols-b-i-eg9k5hmF-Bn-dxZT_.js.map +1 -0
- package/dist/browser/variants-2LRNhOUP-BlL4NIVJ.js +231 -0
- package/dist/browser/variants-2LRNhOUP-BlL4NIVJ.js.map +1 -0
- package/dist/controller/defaults.d.ts +19 -0
- package/dist/controller/defaults.js +21 -0
- package/dist/controller/index.d.ts +95 -0
- package/dist/controller/index.js +126 -0
- package/dist/controller/utils.d.ts +2 -0
- package/dist/controller/utils.js +13 -0
- package/dist/delivery/__tests__/inline-dropdown-language.test.d.ts +1 -0
- package/dist/delivery/index.d.ts +14 -0
- package/dist/delivery/index.js +64 -0
- package/dist/delivery/inline-dropdown.d.ts +30 -0
- package/dist/delivery/inline-dropdown.js +111 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.iife.d.ts +6 -0
- package/dist/index.iife.js +185 -0
- package/dist/index.js +2 -0
- package/dist/runtime-support.d.ts +12 -0
- package/dist/runtime-support.js +12 -0
- package/dist/schemas/configuration.schema.json +414 -0
- package/dist/schemas/model.schema.json +453 -0
- package/dist/schemas/session.schema.json +43 -0
- package/dist/types.d.ts +164 -0
- package/package.json +96 -32
- package/CHANGELOG.json +0 -1082
- package/CHANGELOG.md +0 -3440
- package/LICENSE.md +0 -5
- package/README.md +0 -1
- package/configure/CHANGELOG.json +0 -647
- package/configure/CHANGELOG.md +0 -3066
- package/configure/lib/defaults.js +0 -190
- package/configure/lib/defaults.js.map +0 -1
- package/configure/lib/index.js +0 -209
- package/configure/lib/index.js.map +0 -1
- package/configure/lib/inline-dropdown-toolbar.js +0 -573
- package/configure/lib/inline-dropdown-toolbar.js.map +0 -1
- package/configure/lib/main.js +0 -753
- package/configure/lib/main.js.map +0 -1
- package/configure/lib/markupUtils.js +0 -70
- package/configure/lib/markupUtils.js.map +0 -1
- package/configure/lib/response-area.js +0 -99
- package/configure/lib/response-area.js.map +0 -1
- package/configure/lib/utils.js +0 -33
- package/configure/lib/utils.js.map +0 -1
- package/configure/package.json +0 -22
- package/controller/CHANGELOG.json +0 -467
- package/controller/CHANGELOG.md +0 -2114
- package/controller/lib/defaults.js +0 -26
- package/controller/lib/defaults.js.map +0 -1
- package/controller/lib/index.js +0 -360
- package/controller/lib/index.js.map +0 -1
- package/controller/lib/utils.js +0 -40
- package/controller/lib/utils.js.map +0 -1
- package/controller/package.json +0 -16
- package/docs/config-schema.json +0 -2854
- package/docs/config-schema.json.md +0 -2106
- package/docs/demo/config.js +0 -8
- package/docs/demo/generate.js +0 -76
- package/docs/demo/index.html +0 -1
- package/docs/demo/session.js +0 -11
- package/docs/pie-schema.json +0 -1152
- package/docs/pie-schema.json.md +0 -814
- package/esm/configure.js +0 -1973
- package/esm/configure.js.map +0 -1
- package/esm/controller.js +0 -304
- package/esm/controller.js.map +0 -1
- package/esm/element.js +0 -278
- package/esm/element.js.map +0 -1
- package/lib/index.js +0 -130
- package/lib/index.js.map +0 -1
- package/lib/inline-dropdown.js +0 -248
- package/lib/inline-dropdown.js.map +0 -1
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports["default"] = void 0;
|
|
7
|
-
var _default = {
|
|
8
|
-
alternateResponse: {},
|
|
9
|
-
choiceRationaleEnabled: true,
|
|
10
|
-
choices: {},
|
|
11
|
-
disabled: false,
|
|
12
|
-
displayType: 'block',
|
|
13
|
-
markup: '',
|
|
14
|
-
mode: 'gather',
|
|
15
|
-
prompt: '',
|
|
16
|
-
promptEnabled: true,
|
|
17
|
-
rationale: '',
|
|
18
|
-
rationaleEnabled: true,
|
|
19
|
-
shuffle: true,
|
|
20
|
-
studentInstructionsEnabled: true,
|
|
21
|
-
teacherInstructions: '',
|
|
22
|
-
teacherInstructionsEnabled: true,
|
|
23
|
-
toolbarEditorPosition: 'bottom'
|
|
24
|
-
};
|
|
25
|
-
exports["default"] = _default;
|
|
26
|
-
//# sourceMappingURL=defaults.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/defaults.js"],"names":["alternateResponse","choiceRationaleEnabled","choices","disabled","displayType","markup","mode","prompt","promptEnabled","rationale","rationaleEnabled","shuffle","studentInstructionsEnabled","teacherInstructions","teacherInstructionsEnabled","toolbarEditorPosition"],"mappings":";;;;;;eAAe;AACbA,EAAAA,iBAAiB,EAAE,EADN;AAEbC,EAAAA,sBAAsB,EAAE,IAFX;AAGbC,EAAAA,OAAO,EAAE,EAHI;AAIbC,EAAAA,QAAQ,EAAE,KAJG;AAKbC,EAAAA,WAAW,EAAE,OALA;AAMbC,EAAAA,MAAM,EAAE,EANK;AAObC,EAAAA,IAAI,EAAE,QAPO;AAQbC,EAAAA,MAAM,EAAE,EARK;AASbC,EAAAA,aAAa,EAAE,IATF;AAUbC,EAAAA,SAAS,EAAE,EAVE;AAWbC,EAAAA,gBAAgB,EAAE,IAXL;AAYbC,EAAAA,OAAO,EAAE,IAZI;AAabC,EAAAA,0BAA0B,EAAE,IAbf;AAcbC,EAAAA,mBAAmB,EAAE,EAdR;AAebC,EAAAA,0BAA0B,EAAE,IAff;AAgBbC,EAAAA,qBAAqB,EAAE;AAhBV,C","sourcesContent":["export default {\n alternateResponse: {},\n choiceRationaleEnabled: true,\n choices: {},\n disabled: false,\n displayType: 'block',\n markup: '',\n mode: 'gather',\n prompt: '',\n promptEnabled: true,\n rationale: '',\n rationaleEnabled: true,\n shuffle: true,\n studentInstructionsEnabled: true,\n teacherInstructions: '',\n teacherInstructionsEnabled: true,\n toolbarEditorPosition: 'bottom',\n};\n"],"file":"defaults.js"}
|
package/controller/lib/index.js
DELETED
|
@@ -1,360 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.getScore = exports.createCorrectResponseSession = void 0;
|
|
9
|
-
exports.model = model;
|
|
10
|
-
exports.normalize = void 0;
|
|
11
|
-
exports.outcome = outcome;
|
|
12
|
-
exports.validate = void 0;
|
|
13
|
-
|
|
14
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
15
|
-
|
|
16
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
17
|
-
|
|
18
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
19
|
-
|
|
20
|
-
var _map = _interopRequireDefault(require("lodash/map"));
|
|
21
|
-
|
|
22
|
-
var _reduce = _interopRequireDefault(require("lodash/reduce"));
|
|
23
|
-
|
|
24
|
-
var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
|
|
25
|
-
|
|
26
|
-
var _controllerUtils = require("@pie-lib/controller-utils");
|
|
27
|
-
|
|
28
|
-
var _defaults = _interopRequireDefault(require("./defaults"));
|
|
29
|
-
|
|
30
|
-
var _utils = require("./utils");
|
|
31
|
-
|
|
32
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
33
|
-
|
|
34
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
35
|
-
|
|
36
|
-
var getFeedback = function getFeedback(correct) {
|
|
37
|
-
if (correct) {
|
|
38
|
-
return 'correct';
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
return 'incorrect';
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
var normalize = function normalize(question) {
|
|
45
|
-
return _objectSpread(_objectSpread({}, _defaults["default"]), question);
|
|
46
|
-
};
|
|
47
|
-
/**
|
|
48
|
-
*
|
|
49
|
-
* @param {*} question
|
|
50
|
-
* @param {*} session
|
|
51
|
-
* @param {*} env
|
|
52
|
-
* @param {*} updateSession - optional - a function that will set the properties passed into it on the session.
|
|
53
|
-
*/
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
exports.normalize = normalize;
|
|
57
|
-
|
|
58
|
-
function model(question, session, env, updateSession) {
|
|
59
|
-
return new Promise( /*#__PURE__*/function () {
|
|
60
|
-
var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(resolve) {
|
|
61
|
-
var normalizedQuestion, _ref2, _ref2$value, value, choices, feedback, allCorrectResponses, respAreaLength, correctResponses, _loop, i, _ret, lockChoiceOrder, keys, _i, key, teacherInstructions, rationale, choicesWillNullRationales, out;
|
|
62
|
-
|
|
63
|
-
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
64
|
-
while (1) {
|
|
65
|
-
switch (_context.prev = _context.next) {
|
|
66
|
-
case 0:
|
|
67
|
-
normalizedQuestion = normalize(question);
|
|
68
|
-
_ref2 = session || {}, _ref2$value = _ref2.value, value = _ref2$value === void 0 ? {} : _ref2$value;
|
|
69
|
-
choices = (0, _reduce["default"])(normalizedQuestion.choices, function (obj, area, key) {
|
|
70
|
-
obj[key] = (0, _map["default"])(area, function (choice) {
|
|
71
|
-
return choice;
|
|
72
|
-
});
|
|
73
|
-
return obj;
|
|
74
|
-
}, {});
|
|
75
|
-
feedback = {};
|
|
76
|
-
|
|
77
|
-
if (!(env.mode === 'evaluate')) {
|
|
78
|
-
_context.next = 17;
|
|
79
|
-
break;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
allCorrectResponses = (0, _utils.getAllCorrectResponses)(normalizedQuestion);
|
|
83
|
-
respAreaLength = Object.keys(allCorrectResponses).length;
|
|
84
|
-
correctResponses = 0;
|
|
85
|
-
|
|
86
|
-
_loop = function _loop(i) {
|
|
87
|
-
var result = (0, _reduce["default"])(allCorrectResponses, function (obj, choices, key) {
|
|
88
|
-
var answer = value && value[key] || '';
|
|
89
|
-
var correctChoice = choices[i] || '';
|
|
90
|
-
var isCorrect = answer && correctChoice && correctChoice === answer;
|
|
91
|
-
obj.feedback[key] = getFeedback(isCorrect);
|
|
92
|
-
|
|
93
|
-
if (isCorrect) {
|
|
94
|
-
obj.correctResponses += 1;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
return obj;
|
|
98
|
-
}, {
|
|
99
|
-
correctResponses: 0,
|
|
100
|
-
feedback: {}
|
|
101
|
-
});
|
|
102
|
-
|
|
103
|
-
if (result.correctResponses >= correctResponses) {
|
|
104
|
-
correctResponses = result.correctResponses;
|
|
105
|
-
feedback = result.feedback;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
if (result.correctResponses === respAreaLength) {
|
|
109
|
-
return "break";
|
|
110
|
-
}
|
|
111
|
-
};
|
|
112
|
-
|
|
113
|
-
i = 0;
|
|
114
|
-
|
|
115
|
-
case 10:
|
|
116
|
-
if (!(i < respAreaLength)) {
|
|
117
|
-
_context.next = 17;
|
|
118
|
-
break;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
_ret = _loop(i);
|
|
122
|
-
|
|
123
|
-
if (!(_ret === "break")) {
|
|
124
|
-
_context.next = 14;
|
|
125
|
-
break;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
return _context.abrupt("break", 17);
|
|
129
|
-
|
|
130
|
-
case 14:
|
|
131
|
-
i++;
|
|
132
|
-
_context.next = 10;
|
|
133
|
-
break;
|
|
134
|
-
|
|
135
|
-
case 17:
|
|
136
|
-
lockChoiceOrder = (0, _controllerUtils.lockChoices)(normalizedQuestion, session, env);
|
|
137
|
-
|
|
138
|
-
if (lockChoiceOrder) {
|
|
139
|
-
_context.next = 29;
|
|
140
|
-
break;
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
keys = Object.keys(choices);
|
|
144
|
-
_i = 0;
|
|
145
|
-
|
|
146
|
-
case 21:
|
|
147
|
-
if (!(_i < keys.length)) {
|
|
148
|
-
_context.next = 29;
|
|
149
|
-
break;
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
key = keys[_i];
|
|
153
|
-
_context.next = 25;
|
|
154
|
-
return (0, _controllerUtils.getShuffledChoices)(choices[key], session, updateSession, 'value');
|
|
155
|
-
|
|
156
|
-
case 25:
|
|
157
|
-
choices[key] = _context.sent;
|
|
158
|
-
|
|
159
|
-
case 26:
|
|
160
|
-
_i++;
|
|
161
|
-
_context.next = 21;
|
|
162
|
-
break;
|
|
163
|
-
|
|
164
|
-
case 29:
|
|
165
|
-
teacherInstructions = null;
|
|
166
|
-
rationale = null;
|
|
167
|
-
choicesWillNullRationales = (Object.keys(choices) || []).reduce(function (acc, currentValue) {
|
|
168
|
-
acc[currentValue] = (choices[currentValue] || []).map(function (choice) {
|
|
169
|
-
return _objectSpread(_objectSpread({}, choice), {}, {
|
|
170
|
-
rationale: null
|
|
171
|
-
});
|
|
172
|
-
});
|
|
173
|
-
return acc;
|
|
174
|
-
}, {});
|
|
175
|
-
|
|
176
|
-
if (env.role === 'instructor' && (env.mode === 'view' || env.mode === 'evaluate')) {
|
|
177
|
-
rationale = normalizedQuestion.rationaleEnabled ? normalizedQuestion.rationale : null;
|
|
178
|
-
teacherInstructions = normalizedQuestion.teacherInstructionsEnabled ? normalizedQuestion.teacherInstructions : null;
|
|
179
|
-
choices = normalizedQuestion.choiceRationaleEnabled ? normalizedQuestion.choices : choicesWillNullRationales;
|
|
180
|
-
} else {
|
|
181
|
-
rationale = null;
|
|
182
|
-
teacherInstructions = null;
|
|
183
|
-
choices = choicesWillNullRationales;
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
out = {
|
|
187
|
-
disabled: env.mode !== 'gather',
|
|
188
|
-
mode: env.mode,
|
|
189
|
-
prompt: normalizedQuestion.promptEnabled ? normalizedQuestion.prompt : null,
|
|
190
|
-
displayType: normalizedQuestion.displayType,
|
|
191
|
-
markup: normalizedQuestion.markup,
|
|
192
|
-
choices: choices,
|
|
193
|
-
feedback: feedback,
|
|
194
|
-
responseCorrect: env.mode === 'evaluate' ? getScore(normalizedQuestion, session) === 1 : undefined,
|
|
195
|
-
rationale: rationale,
|
|
196
|
-
teacherInstructions: teacherInstructions,
|
|
197
|
-
language: normalizedQuestion.language,
|
|
198
|
-
extraCSSRules: normalizedQuestion.extraCSSRules
|
|
199
|
-
};
|
|
200
|
-
resolve(out);
|
|
201
|
-
|
|
202
|
-
case 35:
|
|
203
|
-
case "end":
|
|
204
|
-
return _context.stop();
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
}, _callee);
|
|
208
|
-
}));
|
|
209
|
-
|
|
210
|
-
return function (_x) {
|
|
211
|
-
return _ref.apply(this, arguments);
|
|
212
|
-
};
|
|
213
|
-
}());
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
var getScore = function getScore(config, session) {
|
|
217
|
-
var _ref3 = session || {},
|
|
218
|
-
_ref3$value = _ref3.value,
|
|
219
|
-
value = _ref3$value === void 0 ? {} : _ref3$value;
|
|
220
|
-
|
|
221
|
-
var maxScore = config && config.choices ? Object.keys(config.choices).length : 0;
|
|
222
|
-
var allCorrectResponses = (0, _utils.getAllCorrectResponses)(config);
|
|
223
|
-
var correctCount = 0;
|
|
224
|
-
|
|
225
|
-
var _loop2 = function _loop2(i) {
|
|
226
|
-
var result = (0, _reduce["default"])(allCorrectResponses, function (total, choices, key) {
|
|
227
|
-
var answer = value && value[key] || '';
|
|
228
|
-
var correctChoice = choices[i] || '';
|
|
229
|
-
|
|
230
|
-
if (correctChoice && answer && correctChoice === answer) {
|
|
231
|
-
return total;
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
return total - 1;
|
|
235
|
-
}, maxScore);
|
|
236
|
-
|
|
237
|
-
if (result > correctCount) {
|
|
238
|
-
correctCount = result;
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
if (result === maxScore) {
|
|
242
|
-
return "break";
|
|
243
|
-
}
|
|
244
|
-
};
|
|
245
|
-
|
|
246
|
-
for (var i = 0; i < maxScore; i++) {
|
|
247
|
-
var _ret2 = _loop2(i);
|
|
248
|
-
|
|
249
|
-
if (_ret2 === "break") break;
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
var str = (correctCount / maxScore).toFixed(2);
|
|
253
|
-
return parseFloat(str);
|
|
254
|
-
};
|
|
255
|
-
/**
|
|
256
|
-
*
|
|
257
|
-
* The score is partial by default for checkbox mode, allOrNothing for radio mode.
|
|
258
|
-
* To disable partial scoring for checkbox mode you either set model.partialScoring = false or env.partialScoring =
|
|
259
|
-
* false. the value in `env` will override the value in `model`.
|
|
260
|
-
* @param {Object} model - the main model
|
|
261
|
-
* @param {boolean} model.partialScoring - is partial scoring enabled (if undefined set to to true)
|
|
262
|
-
* @param {*} session
|
|
263
|
-
* @param {Object} env
|
|
264
|
-
* @param {boolean} env.partialScoring - is partial scoring enabled (if undefined default to true) This overrides
|
|
265
|
-
* `model.partialScoring`.
|
|
266
|
-
*/
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
exports.getScore = getScore;
|
|
270
|
-
|
|
271
|
-
function outcome(model, session) {
|
|
272
|
-
var env = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
273
|
-
return new Promise(function (resolve) {
|
|
274
|
-
if (!session || (0, _isEmpty["default"])(session)) {
|
|
275
|
-
resolve({
|
|
276
|
-
score: 0,
|
|
277
|
-
empty: true
|
|
278
|
-
});
|
|
279
|
-
}
|
|
280
|
-
|
|
281
|
-
var partialScoringEnabled = _controllerUtils.partialScoring.enabled(model, env);
|
|
282
|
-
|
|
283
|
-
var score = getScore(model, session);
|
|
284
|
-
resolve({
|
|
285
|
-
score: partialScoringEnabled ? score : Math.floor(score),
|
|
286
|
-
empty: false
|
|
287
|
-
});
|
|
288
|
-
});
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
var createCorrectResponseSession = function createCorrectResponseSession(question, env) {
|
|
292
|
-
return new Promise(function (resolve) {
|
|
293
|
-
if (env.mode !== 'evaluate' && env.role === 'instructor') {
|
|
294
|
-
var choices = question.choices;
|
|
295
|
-
var _value = {};
|
|
296
|
-
|
|
297
|
-
if (choices) {
|
|
298
|
-
Object.keys(choices).forEach(function (key, i) {
|
|
299
|
-
var correctChoices = choices[key] && choices[key].filter(function (c) {
|
|
300
|
-
return c.correct;
|
|
301
|
-
});
|
|
302
|
-
_value[i] = correctChoices && correctChoices[0].value;
|
|
303
|
-
});
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
resolve({
|
|
307
|
-
id: '1',
|
|
308
|
-
value: _value
|
|
309
|
-
});
|
|
310
|
-
} else {
|
|
311
|
-
resolve(null);
|
|
312
|
-
}
|
|
313
|
-
});
|
|
314
|
-
}; // remove all html tags
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
exports.createCorrectResponseSession = createCorrectResponseSession;
|
|
318
|
-
|
|
319
|
-
var getInnerText = function getInnerText(html) {
|
|
320
|
-
return (html || '').replaceAll(/<[^>]*>/g, '');
|
|
321
|
-
}; // remove all html tags except img, iframe and source tag for audio
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
var getContent = function getContent(html) {
|
|
325
|
-
return (html || '').replace(/(<(?!img|iframe|source)([^>]+)>)/gi, '');
|
|
326
|
-
};
|
|
327
|
-
|
|
328
|
-
var validate = function validate() {
|
|
329
|
-
var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
330
|
-
var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
331
|
-
var markup = model.markup,
|
|
332
|
-
choices = model.choices;
|
|
333
|
-
var maxResponseAreas = config.maxResponseAreas,
|
|
334
|
-
maxResponseAreaChoices = config.maxResponseAreaChoices;
|
|
335
|
-
var errors = {};
|
|
336
|
-
['teacherInstructions', 'prompt', 'rationale'].forEach(function (field) {
|
|
337
|
-
var _config$field;
|
|
338
|
-
|
|
339
|
-
if ((_config$field = config[field]) !== null && _config$field !== void 0 && _config$field.required && !getContent(model[field])) {
|
|
340
|
-
errors[field] = 'This field is required.';
|
|
341
|
-
}
|
|
342
|
-
});
|
|
343
|
-
var nbOfResponseAreas = ((markup || '').match(/\{\{(\d+)\}\}/g) || []).length;
|
|
344
|
-
|
|
345
|
-
if (nbOfResponseAreas > maxResponseAreas) {
|
|
346
|
-
errors.responseAreasError = "No more than ".concat(maxResponseAreas, " response areas should be defined.");
|
|
347
|
-
} else if (nbOfResponseAreas < 1) {
|
|
348
|
-
errors.responseAreasError = 'There should be defined at least 1 response area.';
|
|
349
|
-
}
|
|
350
|
-
|
|
351
|
-
(Object.keys(choices) || []).forEach(function (choiceKey) {
|
|
352
|
-
if (choices[choiceKey] && choices[choiceKey].length > maxResponseAreaChoices) {
|
|
353
|
-
errors.responseAreaChoicesError = "No more than ".concat(maxResponseAreaChoices, " choices per response area should be defined.");
|
|
354
|
-
}
|
|
355
|
-
});
|
|
356
|
-
return errors;
|
|
357
|
-
};
|
|
358
|
-
|
|
359
|
-
exports.validate = validate;
|
|
360
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.js"],"names":["getFeedback","correct","normalize","question","defaults","model","session","env","updateSession","Promise","resolve","normalizedQuestion","value","choices","obj","area","key","choice","feedback","mode","allCorrectResponses","respAreaLength","Object","keys","length","correctResponses","i","result","answer","correctChoice","isCorrect","lockChoiceOrder","teacherInstructions","rationale","choicesWillNullRationales","reduce","acc","currentValue","map","role","rationaleEnabled","teacherInstructionsEnabled","choiceRationaleEnabled","out","disabled","prompt","promptEnabled","displayType","markup","responseCorrect","getScore","undefined","language","extraCSSRules","config","maxScore","correctCount","total","str","toFixed","parseFloat","outcome","score","empty","partialScoringEnabled","partialScoring","enabled","Math","floor","createCorrectResponseSession","forEach","correctChoices","filter","c","id","getInnerText","html","replaceAll","getContent","replace","validate","maxResponseAreas","maxResponseAreaChoices","errors","field","required","nbOfResponseAreas","match","responseAreasError","choiceKey","responseAreaChoicesError"],"mappings":"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","sourcesContent":["import map from 'lodash/map';\nimport reduce from 'lodash/reduce';\nimport isEmpty from 'lodash/isEmpty';\nimport { lockChoices, getShuffledChoices, partialScoring } from '@pie-lib/controller-utils';\nimport defaults from './defaults';\n\nimport { getAllCorrectResponses } from './utils';\n\nconst getFeedback = (correct) => {\n if (correct) {\n return 'correct';\n }\n\n return 'incorrect';\n};\n\nexport const normalize = (question) => ({ ...defaults, ...question });\n\n/**\n *\n * @param {*} question\n * @param {*} session\n * @param {*} env\n * @param {*} updateSession - optional - a function that will set the properties passed into it on the session.\n */\nexport function model(question, session, env, updateSession) {\n return new Promise(async (resolve) => {\n const normalizedQuestion = normalize(question);\n const { value = {} } = session || {};\n let choices = reduce(\n normalizedQuestion.choices,\n (obj, area, key) => {\n obj[key] = map(area, (choice) => choice);\n\n return obj;\n },\n {},\n );\n\n let feedback = {};\n\n if (env.mode === 'evaluate') {\n const allCorrectResponses = getAllCorrectResponses(normalizedQuestion);\n const respAreaLength = Object.keys(allCorrectResponses).length;\n let correctResponses = 0;\n\n for (let i = 0; i < respAreaLength; i++) {\n const result = reduce(\n allCorrectResponses,\n (obj, choices, key) => {\n const answer = (value && value[key]) || '';\n const correctChoice = choices[i] || '';\n const isCorrect = answer && correctChoice && correctChoice === answer;\n\n obj.feedback[key] = getFeedback(isCorrect);\n\n if (isCorrect) {\n obj.correctResponses += 1;\n }\n\n return obj;\n },\n { correctResponses: 0, feedback: {} },\n );\n\n if (result.correctResponses >= correctResponses) {\n correctResponses = result.correctResponses;\n feedback = result.feedback;\n }\n\n if (result.correctResponses === respAreaLength) {\n break;\n }\n }\n }\n\n const lockChoiceOrder = lockChoices(normalizedQuestion, session, env);\n\n if (!lockChoiceOrder) {\n const keys = Object.keys(choices);\n let i;\n\n for (i = 0; i < keys.length; i++) {\n const key = keys[i];\n\n choices[key] = await getShuffledChoices(choices[key], session, updateSession, 'value');\n }\n }\n\n let teacherInstructions = null;\n let rationale = null;\n\n const choicesWillNullRationales = (Object.keys(choices) || []).reduce((acc, currentValue) => {\n acc[currentValue] = (choices[currentValue] || []).map((choice) => ({\n ...choice,\n rationale: null,\n }));\n\n return acc;\n }, {});\n\n if (env.role === 'instructor' && (env.mode === 'view' || env.mode === 'evaluate')) {\n rationale = normalizedQuestion.rationaleEnabled ? normalizedQuestion.rationale : null;\n teacherInstructions = normalizedQuestion.teacherInstructionsEnabled\n ? normalizedQuestion.teacherInstructions\n : null;\n\n choices = normalizedQuestion.choiceRationaleEnabled ? normalizedQuestion.choices : choicesWillNullRationales;\n } else {\n rationale = null;\n teacherInstructions = null;\n choices = choicesWillNullRationales;\n }\n\n const out = {\n disabled: env.mode !== 'gather',\n mode: env.mode,\n prompt: normalizedQuestion.promptEnabled ? normalizedQuestion.prompt : null,\n displayType: normalizedQuestion.displayType,\n markup: normalizedQuestion.markup,\n choices,\n feedback,\n\n responseCorrect: env.mode === 'evaluate' ? getScore(normalizedQuestion, session) === 1 : undefined,\n rationale,\n teacherInstructions,\n language: normalizedQuestion.language,\n extraCSSRules: normalizedQuestion.extraCSSRules,\n };\n\n resolve(out);\n });\n}\n\nexport const getScore = (config, session) => {\n const { value = {} } = session || {};\n const maxScore = config && config.choices ? Object.keys(config.choices).length : 0;\n const allCorrectResponses = getAllCorrectResponses(config);\n let correctCount = 0;\n\n for (let i = 0; i < maxScore; i++) {\n const result = reduce(\n allCorrectResponses,\n (total, choices, key) => {\n const answer = (value && value[key]) || '';\n const correctChoice = choices[i] || '';\n\n if (correctChoice && answer && correctChoice === answer) {\n return total;\n }\n\n return total - 1;\n },\n maxScore,\n );\n\n if (result > correctCount) {\n correctCount = result;\n }\n\n if (result === maxScore) {\n break;\n }\n }\n\n const str = (correctCount / maxScore).toFixed(2);\n\n return parseFloat(str);\n};\n\n/**\n *\n * The score is partial by default for checkbox mode, allOrNothing for radio mode.\n * To disable partial scoring for checkbox mode you either set model.partialScoring = false or env.partialScoring =\n * false. the value in `env` will override the value in `model`.\n * @param {Object} model - the main model\n * @param {boolean} model.partialScoring - is partial scoring enabled (if undefined set to to true)\n * @param {*} session\n * @param {Object} env\n * @param {boolean} env.partialScoring - is partial scoring enabled (if undefined default to true) This overrides\n * `model.partialScoring`.\n */\nexport function outcome(model, session, env = {}) {\n return new Promise((resolve) => {\n if (!session || isEmpty(session)) {\n resolve({ score: 0, empty: true });\n }\n\n const partialScoringEnabled = partialScoring.enabled(model, env);\n const score = getScore(model, session);\n\n resolve({\n score: partialScoringEnabled ? score : Math.floor(score),\n empty: false,\n });\n });\n}\n\nexport const createCorrectResponseSession = (question, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n const { choices } = question;\n const value = {};\n\n if (choices) {\n Object.keys(choices).forEach((key, i) => {\n const correctChoices = choices[key] && choices[key].filter((c) => c.correct);\n\n value[i] = correctChoices && correctChoices[0].value;\n });\n }\n\n resolve({\n id: '1',\n value,\n });\n } else {\n resolve(null);\n }\n });\n};\n\n// remove all html tags\nconst getInnerText = (html) => (html || '').replaceAll(/<[^>]*>/g, '');\n\n// remove all html tags except img, iframe and source tag for audio\nconst getContent = (html) => (html || '').replace(/(<(?!img|iframe|source)([^>]+)>)/gi, '');\n\nexport const validate = (model = {}, config = {}) => {\n const { markup, choices } = model;\n const { maxResponseAreas, maxResponseAreaChoices } = config;\n const errors = {};\n\n ['teacherInstructions', 'prompt', 'rationale'].forEach((field) => {\n if (config[field]?.required && !getContent(model[field])) {\n errors[field] = 'This field is required.';\n }\n });\n\n const nbOfResponseAreas = ((markup || '').match(/\\{\\{(\\d+)\\}\\}/g) || []).length;\n\n if (nbOfResponseAreas > maxResponseAreas) {\n errors.responseAreasError = `No more than ${maxResponseAreas} response areas should be defined.`;\n } else if (nbOfResponseAreas < 1) {\n errors.responseAreasError = 'There should be defined at least 1 response area.';\n }\n\n (Object.keys(choices) || []).forEach((choiceKey) => {\n if (choices[choiceKey] && choices[choiceKey].length > maxResponseAreaChoices) {\n errors.responseAreaChoicesError = `No more than ${maxResponseAreaChoices} choices per response area should be defined.`;\n }\n });\n\n return errors;\n};\n"],"file":"index.js"}
|
package/controller/lib/utils.js
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.getAllCorrectResponses = void 0;
|
|
9
|
-
|
|
10
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
-
|
|
12
|
-
var _forEach = _interopRequireDefault(require("lodash/forEach"));
|
|
13
|
-
|
|
14
|
-
var getAllCorrectResponses = function getAllCorrectResponses(_ref) {
|
|
15
|
-
var choices = _ref.choices,
|
|
16
|
-
alternateResponse = _ref.alternateResponse;
|
|
17
|
-
alternateResponse = alternateResponse || {};
|
|
18
|
-
var correctAnswers = {};
|
|
19
|
-
(0, _forEach["default"])(choices, function (respArea, key) {
|
|
20
|
-
if (!correctAnswers[key]) {
|
|
21
|
-
correctAnswers[key] = [];
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
if (respArea) {
|
|
25
|
-
respArea.forEach(function (choice) {
|
|
26
|
-
if (choice.correct) {
|
|
27
|
-
correctAnswers[key].push(choice.value);
|
|
28
|
-
|
|
29
|
-
if (alternateResponse[key]) {
|
|
30
|
-
correctAnswers[key] = [].concat((0, _toConsumableArray2["default"])(correctAnswers[key]), (0, _toConsumableArray2["default"])(alternateResponse[key]));
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
return correctAnswers;
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
exports.getAllCorrectResponses = getAllCorrectResponses;
|
|
40
|
-
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils.js"],"names":["getAllCorrectResponses","choices","alternateResponse","correctAnswers","respArea","key","forEach","choice","correct","push","value"],"mappings":";;;;;;;;;;;AAAA;;AAEO,IAAMA,sBAAsB,GAAG,SAAzBA,sBAAyB,OAAoC;AAAA,MAAjCC,OAAiC,QAAjCA,OAAiC;AAAA,MAAxBC,iBAAwB,QAAxBA,iBAAwB;AACxEA,EAAAA,iBAAiB,GAAGA,iBAAiB,IAAI,EAAzC;AACA,MAAMC,cAAc,GAAG,EAAvB;AAEA,2BAAQF,OAAR,EAAiB,UAACG,QAAD,EAAWC,GAAX,EAAmB;AAClC,QAAI,CAACF,cAAc,CAACE,GAAD,CAAnB,EAA0B;AACxBF,MAAAA,cAAc,CAACE,GAAD,CAAd,GAAsB,EAAtB;AACD;;AAED,QAAID,QAAJ,EAAc;AACZA,MAAAA,QAAQ,CAACE,OAAT,CAAiB,UAACC,MAAD,EAAY;AAC3B,YAAIA,MAAM,CAACC,OAAX,EAAoB;AAClBL,UAAAA,cAAc,CAACE,GAAD,CAAd,CAAoBI,IAApB,CAAyBF,MAAM,CAACG,KAAhC;;AAEA,cAAIR,iBAAiB,CAACG,GAAD,CAArB,EAA4B;AAC1BF,YAAAA,cAAc,CAACE,GAAD,CAAd,iDAA0BF,cAAc,CAACE,GAAD,CAAxC,uCAAkDH,iBAAiB,CAACG,GAAD,CAAnE;AACD;AACF;AACF,OARD;AASD;AACF,GAhBD;AAkBA,SAAOF,cAAP;AACD,CAvBM","sourcesContent":["import forEach from 'lodash/forEach';\n\nexport const getAllCorrectResponses = ({ choices, alternateResponse }) => {\n alternateResponse = alternateResponse || {};\n const correctAnswers = {};\n\n forEach(choices, (respArea, key) => {\n if (!correctAnswers[key]) {\n correctAnswers[key] = [];\n }\n\n if (respArea) {\n respArea.forEach((choice) => {\n if (choice.correct) {\n correctAnswers[key].push(choice.value);\n\n if (alternateResponse[key]) {\n correctAnswers[key] = [...correctAnswers[key], ...alternateResponse[key]];\n }\n }\n });\n }\n });\n\n return correctAnswers;\n};\n"],"file":"utils.js"}
|
package/controller/package.json
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@pie-element/inline-dropdown-controller",
|
|
3
|
-
"private": true,
|
|
4
|
-
"version": "11.0.5-esm.1",
|
|
5
|
-
"description": "",
|
|
6
|
-
"main": "lib/index.js",
|
|
7
|
-
"module": "src/index.js",
|
|
8
|
-
"author": "",
|
|
9
|
-
"license": "ISC",
|
|
10
|
-
"dependencies": {
|
|
11
|
-
"@pie-lib/controller-utils": "^0.19.2",
|
|
12
|
-
"debug": "^3.1.0",
|
|
13
|
-
"lodash": "^4.17.15",
|
|
14
|
-
"type-of": "^2.0.1"
|
|
15
|
-
}
|
|
16
|
-
}
|