{"version":3,"sources":["webpack:///./src/app/app.component.html","webpack:///./src/app/components/blocks/card-block/card-block.component.html","webpack:///./src/app/components/blocks/third-block/third-block.component.html","webpack:///./src/app/components/misc/data-manager/data-manager.component.html","webpack:///./src/app/components/misc/drag-drop/drag-drop.component.html","webpack:///./src/app/components/misc/dvz-header/dvz-header.component.html","webpack:///./src/app/components/misc/expansion-panel/expansion-panel.component.html","webpack:///./src/app/components/misc/misc.component.html","webpack:///./src/app/components/misc/paragraphs/paragraphs.component.html","webpack:///./src/app/components/misc/stepper/stepper.component.html","webpack:///./src/app/components/misc/table/table.component.html","webpack:///./src/app/dvz/admin/admin.component.html","webpack:///./src/app/pages/about-me/about-me.component.html","webpack:///./src/app/pages/course/course.component.html","webpack:///./src/app/pages/home/home.component.html","webpack:///./src/app/pages/learn/learn.component.html","webpack:///./src/app/pages/quiz/quiz.component.html","webpack:///./src/app/shared/layout/footer/footer.component.html","webpack:///./src/app/shared/layout/header/header.component.html","webpack:///./src/app/tasks/audiogrid/audiogrid.component.html","webpack:///./src/app/tasks/calculate/calculate.component.html","webpack:///./src/app/tasks/columnpexeso/columnpexeso.component.html","webpack:///./src/app/tasks/comics/comics.component.html","webpack:///./src/app/tasks/crossword/crossword.component.html","webpack:///./src/app/tasks/fillingimage/fillingimage.component.html","webpack:///./src/app/tasks/flyingwords/flyingwords.component.html","webpack:///./src/app/tasks/fr-keyboard/fr-keyboard.component.html","webpack:///./src/app/tasks/freecontent/freecontent.component.html","webpack:///./src/app/tasks/hangman/hangman.component.html","webpack:///./src/app/tasks/insertanswer/insertanswer.component.html","webpack:///./src/app/tasks/insertorderdrag/insertorderdrag.component.html","webpack:///./src/app/tasks/markandreplace/markandreplace.component.html","webpack:///./src/app/tasks/matchingdrag/matchingdrag.component.html","webpack:///./src/app/tasks/matchingdragcol/matchingdragcol.component.html","webpack:///./src/app/tasks/matchingdraggrid/matchingdraggrid.component.html","webpack:///./src/app/tasks/matchingdragimage/matchingdragimage.component.html","webpack:///./src/app/tasks/matchingdraginside/matchingdraginside.component.html","webpack:///./src/app/tasks/matchingdragmulticol/matchingdragmulticol.component.html","webpack:///./src/app/tasks/matchingdragmulticoldup/matchingdragmulticoldup.component.html","webpack:///./src/app/tasks/matchingdragpictures/matchingdragpictures.component.html","webpack:///./src/app/tasks/multichoice/multichoice.component.html","webpack:///./src/app/tasks/multidrag/multidrag.component.html","webpack:///./src/app/tasks/multifill/multifill.component.html","webpack:///./src/app/tasks/multiinsert/multiinsert.component.html","webpack:///./src/app/tasks/multilineaudiochoice/multilineaudiochoice.component.html","webpack:///./src/app/tasks/multilinefill/multilinefill.component.html","webpack:///./src/app/tasks/multilinegapchoice/multilinegapchoice.component.html","webpack:///./src/app/tasks/multilinegapfill/multilinegapfill.component.html","webpack:///./src/app/tasks/multilinegapselect/multilinegapselect.component.html","webpack:///./src/app/tasks/multilinesoundfill/multilinesoundfill.component.html","webpack:///./src/app/tasks/multimultifill/multimultifill.component.html","webpack:///./src/app/tasks/multiselect/multiselect.component.html","webpack:///./src/app/tasks/newsinglechoice/newsinglechoice.component.html","webpack:///./src/app/tasks/openquestion/openquestion.component.html","webpack:///./src/app/tasks/orderdrag/orderdrag.component.html","webpack:///./src/app/tasks/orderdraginline/orderdraginline.component.html","webpack:///./src/app/tasks/ordinalnumbers/ordinalnumbers.component.html","webpack:///./src/app/tasks/osmismerka/osmismerka.component.html","webpack:///./src/app/tasks/pexeso/pexeso.component.html","webpack:///./src/app/tasks/pexesoaudio/pexesoaudio.component.html","webpack:///./src/app/tasks/pexesofill/pexesofill.component.html","webpack:///./src/app/tasks/picturemultiinsert/picturemultiinsert.component.html","webpack:///./src/app/tasks/randomwheel/randomwheel.component.html","webpack:///./src/app/tasks/select/select.component.html","webpack:///./src/app/tasks/singleaudioimage/singleaudioimage.component.html","webpack:///./src/app/tasks/singleaudiotext/singleaudiotext.component.html","webpack:///./src/app/tasks/singlechoice/singlechoice.component.html","webpack:///./src/app/tasks/sortingverbs/sortingverbs.component.html","webpack:///./src/app/tasks/sortingwords/sortingwords.component.html","webpack:///./src/app/tasks/tabledrag/tabledrag.component.html","webpack:///./src/app/tasks/tablefill/tablefill.component.html","webpack:///./src/app/tasks/truefalse/truefalse.component.html","webpack:///./src/app/tasks/uncover/uncover.component.html","webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/app.component.scss","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/app.routing.ts","webpack:///./src/app/components/blocks/blocks.module.ts","webpack:///./src/app/components/blocks/card-block/card-block.component.scss","webpack:///./src/app/components/blocks/card-block/card-block.component.ts","webpack:///./src/app/components/blocks/third-block/third-block.component.scss","webpack:///./src/app/components/blocks/third-block/third-block.component.ts","webpack:///./src/app/components/misc/data-manager/data-manager.component.css","webpack:///./src/app/components/misc/data-manager/data-manager.component.ts","webpack:///./src/app/components/misc/drag-drop/drag-drop.component.scss","webpack:///./src/app/components/misc/drag-drop/drag-drop.component.ts","webpack:///./src/app/components/misc/dvz-header/dvz-header.component.css","webpack:///./src/app/components/misc/dvz-header/dvz-header.component.ts","webpack:///./src/app/components/misc/expansion-panel/expansion-panel.component.scss","webpack:///./src/app/components/misc/expansion-panel/expansion-panel.component.ts","webpack:///./src/app/components/misc/misc.component.scss","webpack:///./src/app/components/misc/misc.component.ts","webpack:///./src/app/components/misc/misc.module.ts","webpack:///./src/app/components/misc/paragraphs/paragraphs.component.scss","webpack:///./src/app/components/misc/paragraphs/paragraphs.component.ts","webpack:///./src/app/components/misc/stepper/stepper.component.scss","webpack:///./src/app/components/misc/stepper/stepper.component.ts","webpack:///./src/app/components/misc/table/table.component.scss","webpack:///./src/app/components/misc/table/table.component.ts","webpack:///./src/app/dvz/admin/admin.component.css","webpack:///./src/app/dvz/admin/admin.component.ts","webpack:///./src/app/dvz/auth.guard.ts","webpack:///./src/app/dvz/dvz-routing.module.ts","webpack:///./src/app/dvz/dvz.module.ts","webpack:///./src/app/pages/about-me/about-me.component.css","webpack:///./src/app/pages/about-me/about-me.component.ts","webpack:///./src/app/pages/course/course.component.css","webpack:///./src/app/pages/course/course.component.ts","webpack:///./src/app/pages/home/home.component.css","webpack:///./src/app/pages/home/home.component.ts","webpack:///./src/app/pages/learn/learn.component.css","webpack:///./src/app/pages/learn/learn.component.ts","webpack:///./src/app/pages/not-found/not-found.component.ts","webpack:///./src/app/pages/quiz/quiz.component.css","webpack:///./src/app/pages/quiz/quiz.component.ts","webpack:///./src/app/shared/index.ts","webpack:///./src/app/shared/layout/footer/footer.component.scss","webpack:///./src/app/shared/layout/footer/footer.component.ts","webpack:///./src/app/shared/layout/header/header.component.scss","webpack:///./src/app/shared/layout/header/header.component.ts","webpack:///./src/app/shared/layout/index.ts","webpack:///./src/app/shared/models/index.ts","webpack:///./src/app/shared/models/lesson.model.ts","webpack:///./src/app/shared/models/map.model.ts","webpack:///./src/app/shared/models/section.model.ts","webpack:///./src/app/shared/pipes/sanitize-pipe.pipe.ts","webpack:///./src/app/shared/services/alert.service.ts","webpack:///./src/app/shared/services/index.ts","webpack:///./src/app/shared/services/window.service.ts","webpack:///./src/app/shared/utilities/compare-strings.ts","webpack:///./src/app/shared/utilities/has-subscriptions.ts","webpack:///./src/app/shared/utilities/index.ts","webpack:///./src/app/shared/utilities/match-all.ts","webpack:///./src/app/shared/validators/email.ts","webpack:///./src/app/shared/validators/index.ts","webpack:///./src/app/tasks/audiogrid/audiogrid.component.css","webpack:///./src/app/tasks/audiogrid/audiogrid.component.ts","webpack:///./src/app/tasks/calculate/calculate.component.css","webpack:///./src/app/tasks/calculate/calculate.component.ts","webpack:///./src/app/tasks/columnpexeso/columnpexeso.component.css","webpack:///./src/app/tasks/columnpexeso/columnpexeso.component.ts","webpack:///./src/app/tasks/comics/comics.component.css","webpack:///./src/app/tasks/comics/comics.component.ts","webpack:///./src/app/tasks/crossword/crossword.component.css","webpack:///./src/app/tasks/crossword/crossword.component.ts","webpack:///./src/app/tasks/fillingimage/fillingimage.component.css","webpack:///./src/app/tasks/fillingimage/fillingimage.component.ts","webpack:///./src/app/tasks/flyingwords/flyingwords.component.css","webpack:///./src/app/tasks/flyingwords/flyingwords.component.ts","webpack:///./src/app/tasks/fr-keyboard/fr-keyboard.component.css","webpack:///./src/app/tasks/fr-keyboard/fr-keyboard.component.ts","webpack:///./src/app/tasks/freecontent/freecontent.component.css","webpack:///./src/app/tasks/freecontent/freecontent.component.ts","webpack:///./src/app/tasks/hangman/hangman.component.css","webpack:///./src/app/tasks/hangman/hangman.component.ts","webpack:///./src/app/tasks/insertanswer/insertanswer.component.css","webpack:///./src/app/tasks/insertanswer/insertanswer.component.ts","webpack:///./src/app/tasks/insertorderdrag/insertorderdrag.component.css","webpack:///./src/app/tasks/insertorderdrag/insertorderdrag.component.ts","webpack:///./src/app/tasks/markandreplace/markandreplace.component.css","webpack:///./src/app/tasks/markandreplace/markandreplace.component.ts","webpack:///./src/app/tasks/matchingdrag/matchingdrag.component.css","webpack:///./src/app/tasks/matchingdrag/matchingdrag.component.ts","webpack:///./src/app/tasks/matchingdragcol/matchingdragcol.component.css","webpack:///./src/app/tasks/matchingdragcol/matchingdragcol.component.ts","webpack:///./src/app/tasks/matchingdraggrid/matchingdraggrid.component.css","webpack:///./src/app/tasks/matchingdraggrid/matchingdraggrid.component.ts","webpack:///./src/app/tasks/matchingdragimage/matchingdragimage.component.css","webpack:///./src/app/tasks/matchingdragimage/matchingdragimage.component.ts","webpack:///./src/app/tasks/matchingdraginside/matchingdraginside.component.css","webpack:///./src/app/tasks/matchingdraginside/matchingdraginside.component.ts","webpack:///./src/app/tasks/matchingdragmulticol/matchingdragmulticol.component.css","webpack:///./src/app/tasks/matchingdragmulticol/matchingdragmulticol.component.ts","webpack:///./src/app/tasks/matchingdragmulticoldup/matchingdragmulticoldup.component.css","webpack:///./src/app/tasks/matchingdragmulticoldup/matchingdragmulticoldup.component.ts","webpack:///./src/app/tasks/matchingdragpictures/matchingdragpictures.component.css","webpack:///./src/app/tasks/matchingdragpictures/matchingdragpictures.component.ts","webpack:///./src/app/tasks/multichoice/multichoice.component.css","webpack:///./src/app/tasks/multichoice/multichoice.component.ts","webpack:///./src/app/tasks/multidrag/multidrag.component.css","webpack:///./src/app/tasks/multidrag/multidrag.component.ts","webpack:///./src/app/tasks/multifill/multifill.component.css","webpack:///./src/app/tasks/multifill/multifill.component.ts","webpack:///./src/app/tasks/multiinsert/multiinsert.component.css","webpack:///./src/app/tasks/multiinsert/multiinsert.component.ts","webpack:///./src/app/tasks/multilineaudiochoice/multilineaudiochoice.component.css","webpack:///./src/app/tasks/multilineaudiochoice/multilineaudiochoice.component.ts","webpack:///./src/app/tasks/multilinefill/multilinefill.component.css","webpack:///./src/app/tasks/multilinefill/multilinefill.component.ts","webpack:///./src/app/tasks/multilinegapchoice/multilinegapchoice.component.css","webpack:///./src/app/tasks/multilinegapchoice/multilinegapchoice.component.ts","webpack:///./src/app/tasks/multilinegapfill/multilinegapfill.component.css","webpack:///./src/app/tasks/multilinegapfill/multilinegapfill.component.ts","webpack:///./src/app/tasks/multilinegapselect/multilinegapselect.component.css","webpack:///./src/app/tasks/multilinegapselect/multilinegapselect.component.ts","webpack:///./src/app/tasks/multilinesoundfill/multilinesoundfill.component.css","webpack:///./src/app/tasks/multilinesoundfill/multilinesoundfill.component.ts","webpack:///./src/app/tasks/multimultifill/multimultifill.component.css","webpack:///./src/app/tasks/multimultifill/multimultifill.component.ts","webpack:///./src/app/tasks/multiselect/multiselect.component.css","webpack:///./src/app/tasks/multiselect/multiselect.component.ts","webpack:///./src/app/tasks/newsinglechoice/newsinglechoice.component.css","webpack:///./src/app/tasks/newsinglechoice/newsinglechoice.component.ts","webpack:///./src/app/tasks/openquestion/openquestion.component.css","webpack:///./src/app/tasks/openquestion/openquestion.component.ts","webpack:///./src/app/tasks/orderdrag/orderdrag.component.css","webpack:///./src/app/tasks/orderdrag/orderdrag.component.ts","webpack:///./src/app/tasks/orderdraginline/orderdraginline.component.css","webpack:///./src/app/tasks/orderdraginline/orderdraginline.component.ts","webpack:///./src/app/tasks/ordinalnumbers/ordinalnumbers.component.css","webpack:///./src/app/tasks/ordinalnumbers/ordinalnumbers.component.ts","webpack:///./src/app/tasks/osmismerka/osmismerka.component.css","webpack:///./src/app/tasks/osmismerka/osmismerka.component.ts","webpack:///./src/app/tasks/pexeso/pexeso.component.css","webpack:///./src/app/tasks/pexeso/pexeso.component.ts","webpack:///./src/app/tasks/pexesoaudio/pexesoaudio.component.css","webpack:///./src/app/tasks/pexesoaudio/pexesoaudio.component.ts","webpack:///./src/app/tasks/pexesofill/pexesofill.component.css","webpack:///./src/app/tasks/pexesofill/pexesofill.component.ts","webpack:///./src/app/tasks/picturemultiinsert/picturemultiinsert.component.css","webpack:///./src/app/tasks/picturemultiinsert/picturemultiinsert.component.ts","webpack:///./src/app/tasks/randomwheel/randomwheel.component.css","webpack:///./src/app/tasks/randomwheel/randomwheel.component.ts","webpack:///./src/app/tasks/select/select.component.css","webpack:///./src/app/tasks/select/select.component.ts","webpack:///./src/app/tasks/singleaudioimage/singleaudioimage.component.css","webpack:///./src/app/tasks/singleaudioimage/singleaudioimage.component.ts","webpack:///./src/app/tasks/singleaudiotext/singleaudiotext.component.css","webpack:///./src/app/tasks/singleaudiotext/singleaudiotext.component.ts","webpack:///./src/app/tasks/singlechoice/singlechoice.component.css","webpack:///./src/app/tasks/singlechoice/singlechoice.component.ts","webpack:///./src/app/tasks/sortingverbs/sortingverbs.component.css","webpack:///./src/app/tasks/sortingverbs/sortingverbs.component.ts","webpack:///./src/app/tasks/sortingwords/sortingwords.component.css","webpack:///./src/app/tasks/sortingwords/sortingwords.component.ts","webpack:///./src/app/tasks/tabledrag/tabledrag.component.css","webpack:///./src/app/tasks/tabledrag/tabledrag.component.ts","webpack:///./src/app/tasks/tablefill/tablefill.component.css","webpack:///./src/app/tasks/tablefill/tablefill.component.ts","webpack:///./src/app/tasks/task.constants.ts","webpack:///./src/app/tasks/task.directive.ts","webpack:///./src/app/tasks/tasks.module.ts","webpack:///./src/app/tasks/truefalse/truefalse.component.css","webpack:///./src/app/tasks/truefalse/truefalsecomponent.ts","webpack:///./src/app/tasks/uncover/uncover.component.css","webpack:///./src/app/tasks/uncover/uncover.component.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts","webpack:///crypto (ignored)"],"names":[],"mappings":"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","file":"main-es2015.js","sourcesContent":["module.exports = \"\\n\\n
\\n
\\n \\n
\\n \\n
\\n
\\n\\n\"","module.exports = \"\\n \\n

{{titleCard}} {{numberCard}}

\\n {{subTitleCard}}\\n
\\n \\n \\n \\n \\n

\\n {{contentCard}}\\n

\\n
\\n\\n

\\n\\n \\n

Test button

\\n
\\n
\"","module.exports = \"
\\n \\n

{{titleThree}}

\\n

{{contentThree}}

\\n
\\n \\n

{{titleFour}}

\\n

{{contentFour}}

\\n
\\n \\n

{{titleFive}}

\\n

{{contentFive}}

\\n
\\n
\"","module.exports = \"
\\n \\n\\n\\n
\\n
\\n
\\n \\n
\\n
\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Datové sady
{{endpoint.title}}
\\n\\n
\\n\\n \\n \\n \\n \\n \\n \\n Vyhledávání: \\n \\n \\n \\n \\n \\n \\n \\n
{{endpoint.title}}
{{getLabel(data)}}
\\n \\n\\n
\\n \\n
\\n
\\n
\"","module.exports = \"
\\n
\\n

To do

\\n\\n \\n
{{item}}
\\n
\\n
\\n\\n
\\n

Done

\\n\\n \\n
{{item}}
\\n
\\n \\n\\n\"","module.exports = \"
\\n \\n \\\"šipka\\\"\\n \\n \\n \\\"šipka\\\"\\n \\n

{{title}}

\\n
\\n\\n\\n \\n \\\"šipka\\\"\\n \\n\\n\\n \\n \\\"šipka\\\"\\n \\n\\n\\n
\\n
\"","module.exports = \"

mat expansion panel (accordion) :

\\n\\n \\n \\n \\n Personal data\\n \\n \\n Type your name and age\\n account_circle\\n \\n \\n\\n \\n \\n \\n\\n \\n \\n \\n\\n \\n \\n \\n \\n\\n \\n \\n \\n Destination\\n \\n \\n Type the country name\\n map\\n \\n \\n\\n \\n \\n \\n\\n \\n \\n \\n \\n \\n\\n \\n \\n \\n Day of the trip\\n \\n \\n Inform the date you wish to travel\\n date_range\\n \\n \\n\\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n\\n\"","module.exports = \"\\n
\\n \\n

Misc

\\n

Various components ready to use in your own project.

\\n\\n
\\n\\n \\n

Two-way data binding :

\\n \\n \\n \\n\\n Repeat yourself : {{answer}}\\n\\n
\\n\\n

Drag & drop :

\\n \\n\\n
\\n\\n

mat Datepicker :

\\n \\n \\n \\n \\n \\n\\n
\\n\\n

mat Sidenav :

\\n \\n \\n This is the sidenav!\\n \\n\\n
\\n \\n
\\n\\n
\\n\\n
\\n\\n

mat Tooltip :

\\n Hover me!\\n\\n

\\n\\n

mat Slide toggle :

\\n \\n Click me!\\n \\n\\n


\\n\\n \\n\\n \\n \\n\\n
\\n\\n \\n\\n
\\n\\n \\n\\n\\n
\\n
\\n\"","module.exports = \"{{paragraphs}}\\n\\n

\\n \\n \\n \\n \\n

\\n \\n {{paragraph.alt}}\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n TODO {{ paragraph.content }}\\n \\n

\\n\\n\"","module.exports = \"

mat stepper :

\\n\\n\\n\\n \\n
\\n Fill out your name\\n \\n \\n \\n
\\n \\n
\\n
\\n
\\n \\n
\\n Fill out your email\\n \\n \\n \\n
\\n \\n \\n
\\n
\\n
\\n \\n Done\\n You are now done.\\n
\\n \\n
\\n
\\n
\"","module.exports = \"

mat/CDK Table :

\\n
\\n \\n\\n \\n ID \\n {{row.id}} \\n \\n\\n \\n Progress \\n {{row.progress}}% \\n \\n\\n \\n Name \\n {{row.name}} \\n \\n\\n \\n Color \\n {{row.color}} \\n \\n\\n \\n \\n\\n \\n
\\n\"","module.exports = \"

Administrace

\\n\"","module.exports = \"
\\n \\n

Masarykova univerzita

\\n

Posláním Masarykovy univerzity je přispívat svou vědeckou činností, vzděláváním studentů a společenským působením ke kvalitnímu a zdravému životu všech generací a ke svobodné a soudržné a bezpečné společnosti.\\n

\\n
\\n \\n

Pedagogická fakulta Masarykovy univerzity

\\n

Posláním Pedagogické fakulty Masarykovy univerzity je připravovat kvalitní vyučující, pedagogy a pedagožky (speciální i sociální) v prostředí rychle se měnící společnosti a rozvoj relevantního výzkumu a tvůrčí činnosti s cílem naplňovat společenskou odpovědnost a rozvíjet hodnoty, ke kterým se univerzita dlouhodobě hlásí.

\\n\\n

Vzdělávání studentů zakládá Pedagogická fakulta Masarykovy univerzity na partnerském vztahu „učitele a žáka“, který vnímá jako vzájemně obohacující. Přípravu budoucích učitelů a pedagogů rozšiřuje o dlouhodobé partnerství s kvalitními školami a dalšími institucemi, ve kterých studenti získávají nezbytné praktické zkušenosti.

\\n

Pedagogická fakulta Masarykovy univerzity se hlásí k principům trvale udržitelného rozvoje a prostřednictvím dobrého nastavení vnitřních procesů chce eliminovat dopad negativních jevů na životní prostředí. Fakulta chce podporovat a zapojovat se do projektů s velkým společenským dopadem a přispívat k eliminaci různých forem nerovností.

\\n
\\n \\n

Na realizaci projektu a jednotlivých digitálních vzdělávacích zdrojích se podílí:

\\n

\\n Katedra českého jazyka a literatury | Pedagogická fakulta Masarykovy univerzity
\\n Ústav českého jazyka | Filozofická fakulta Masarykovy univerzity
\\n Katedra anglického jazyka a literatury | Pedagogická fakulta Masarykovy univerzity
\\n Katedra francouzského jazyka a literatury | Pedagogická fakulta Masarykovy univerzity
\\n Katedra německého jazyka a literatury | Pedagogická fakulta Masarykovy univerzity
\\n Katedra ruského jazyka a literatury | Pedagogická fakulta Masarykovy univerzity
\\n Katedra technické a informační výchovy | Pedagogická fakulta Masarykovy univerzity
\\n Katedra fyziky, chemie a odborného vzdělávání | Pedagogická fakulta Masarykovy univerzity
\\n Katedra výtvarné výchovy | Pedagogická fakulta Masarykovy univerzity
\\n

\\n
\\n
\\n\\n \"","module.exports = \"
\\n

Digitální vzdělávací zdroje (DVZ)

\\n

Představujeme 12 digitálních vzdělávacích zdrojů zaměřených do širokého spektra vzdělávacích oblastí na základních školách. Jejich prostřednictvím rozvíjíme žáky v jazykových, technických i přírodovědných dovednostech a také ve finanční gramotnosti. Podporujeme u žáku samostatnost, zvyšujeme zájem o hledání vlastní cesty za poznáním, podporujeme vzájemnou spolupráci a komunikaci. Přispíváme k rozvoji klíčových kompetencí žáků, rozvoji informačního myšlení a zvyšujeme zájem žáků o informace a motivaci k jejich získávání.

\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n\\n\"","module.exports = \"
\\n \\n

DIKOBRAZ

\\n

Digitální kompetence - brána rozvoje od A do Z (CZ.02.3.68/0.0/0.0/18_067/0012278)

\\n\\n

Přispíváme k inovaci výuky na základních školách tvorbou nových interaktivních digitálních vzdělávacích zdrojů (DVZ). Rozvíjíme digitální vzdělávání a informatické myšlení na základních školách, a tím přispíváme k rozvoji digitálních kompetencí žáků. Rozvíjíme rovněž kompetence žáků při řešení úkolů, při nakládání s informacemi, při vytváření a sdílení obsahu, a tím přispíváme k jejich budoucí uplatnitelnosti v zaměstnání.

\\n\\n

Rozvíjíme žáky základních škol, a to jak žáky intaktní, tak žáky se specifickými vzdělávacími potřebami se zaměřením na žáky s odlišným mateřským jazykem, z odlišného sociokulturního prostředí a s DYS poruchami. Žáky motivujeme neobvyklým interaktivním zpracováním učiva základních škol a potenciálem zlepšení jejich výsledků, jak v oblasti osvojení učiva, jeho procvičování a fixace, tak v oblasti získávání nových vědomostí. Konstruktivistickým přístupem rozvíjíme u žáků klíčové kompetence, zejména kompetence pracovní, komunikativní, kompetence k řešení problémů a kompetence k učení.

\\n\\n

Očekávané přínosy projektu:

\\n\\n
\\n\\n

Digitální vzdělávací zdroje (DVZ)

\\n

Představujeme 12 digitálních vzdělávacích zdrojů zaměřených do širokého spektra vzdělávacích oblastí na základních školách. Jejich prostřednictvím rozvíjíme žáky v jazykových, technických i přírodovědných dovednostech a také ve finanční gramotnosti. Podporujeme u žáku samostatnost, zvyšujeme zájem o hledání vlastní cesty za poznáním, podporujeme vzájemnou spolupráci a komunikaci. Přispíváme k rozvoji klíčových kompetencí žáků, rozvoji informačního myšlení a zvyšujeme zájem žáků o informace a motivaci k jejich získávání.

\\n\\n DIKOBRAZ píše – procvičování pravopisu interaktivní formou\\n DIKOBRAZ čte – upevňování znalostí literatury prostřednictvím interaktivní hry\\n DIKOBRAZ se učí česky – osvojování češtiny interaktivní formou pro žáky se SVP\\n DIKOBRAZ cestuje za německou literaturou – interaktivní mapa České republiky s údaji a místy spojenými s německou menšinou a její kulturou\\n DIKOBRAZ mluví anglicky – samostatné upevňování angličtiny\\n DIKOBRAZ mluví francouzsky – interaktivní mapa umožňující žákům zopakovat francouzskou gramatiku, fonetiku a slovní zásobu nabízených témat a zároveň rozšířit jejich interkulturní a komunikační dovednosti\\n DIKOBRAZ mluví rusky – interaktivní soubor cvičení umožňující žákům zopakovat ruskou gramatiku, fonetiku a slovní zásobu a zároveň rozšířit jejich interkulturní a komunikační dovednosti\\n DIKOBRAZ 3D tiskne a modeluje – rozvíjení digitálních kompetencí pro technické a informatické obory\\n DIKOBRAZ konstruuje – interaktivní práce se stavebnicemi a obohacení o interaktivní digitální materiály\\n DIKOBRAZ hospodaří – komplexní interaktivní vzdělávací zdroj zaměřený na problematiku finanční gramotnosti\\n DIKOBRAZ řeší úlohy z fyziky – posílení přírodovědné, textové a mediální gramotnosti žáků ZŠ\\n DIKOBRAZ zachází s nebezpečnými látkami – posílení přírodovědné gramotnosti žáků povědomí o vtazích chemie a běžného každodenního života\\n\\n
\\n
\\n\\n\"","module.exports = \"
\\n \\n

Metodiky pro učitele k digitálním vzdělávacím zdrojům (DVZ)

\\n

Ke každému vytvořenému digitálnímu vzdělávacímu zdroji (DVZ) je garantem – supervizorem příslušného DVZ, ve spolupráci s tvůrci vzdělávacího obsahu daného DVZ, zpracována metodika pro učitele k využití DVZ ve vzdělávacím procesu.

\\n
\\n \\n

Jednotlivé metodiky pro příslušné DVZ jsou ke stažení níže:

\\n

\\n DIKOBRAZ píše – procvičování pravopisu interaktivní formou
\\n DIKOBRAZ čte – upevňování znalostí literatury prostřednictvím interaktivní hry
\\n DIKOBRAZ se učí česky – osvojování češtiny interaktivní formou pro žáky se SVP
\\n DIKOBRAZ cestuje za německou literaturou – interaktivní mapa České republiky s údaji a místy spojenými s německou menšinou a její kulturou
\\n DIKOBRAZ mluví anglicky – samostatné upevňování angličtiny
\\n DIKOBRAZ mluví francouzsky – interaktivní mapa umožňující žákům zopakovat francouzskou gramatiku, fonetiku a slovní zásobu nabízených témat a zároveň rozšířit jejich interkulturní a komunikační dovednosti
\\n DIKOBRAZ mluví rusky – interaktivní soubor cvičení umožňující žákům zopakovat ruskou gramatiku, fonetiku a slovní zásobu a zároveň rozšířit jejich interkulturní a komunikační dovednosti
\\n DIKOBRAZ 3D tiskne a modeluje – rozvíjení digitálních kompetencí pro technické a informatické obory
\\n DIKOBRAZ konstruuje – interaktivní práce se stavebnicemi a obohacení o interaktivní digitální materiály
\\n DIKOBRAZ hospodaří – komplexní interaktivní vzdělávací zdroj zaměřený na problematiku finanční gramotnosti
\\n DIKOBRAZ řeší úlohy z fyziky – posílení přírodovědné, textové a mediální gramotnosti žáků ZŠ
\\n DIKOBRAZ zachází s nebezpečnými látkami – posílení přírodovědné gramotnosti žáků povědomí o vtazích chemie a běžného každodenního života
\\n

\\n
\\n
\"","module.exports = \"\\n \\n \\n \\n

{{currentSection.title}}

\\n
\\n
\\n \\n \\n \\n \\n \\n \\n {{task.title}}\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n Výsledky\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n\\n\\n\\n \\n \\n \\n \\n \\n\\n\\n\\n \\n

Neexistující lekce/sekce

Lekce nebo sekce, kterou hledáte, neexistuje. Kurz.\\n
\\n
\"","module.exports = \"\\n
Masarykova univerzita ©
\\n
\\n

Všechny digitální vzdělávací zdroje (DVZ) dostupné na https://dikobraz.ped.muni.cz, jehož autorem je Masarykova univerzita, a je dostupný z: Databáze výstupů projektů OP VVV, (https://databaze.opvvv.msmt.cz), lze užít v souladu s licenčními podmínkami Creative Commons BY-SA 4.0 International ( https://creativecommons.org/licenses/by-sa/4.0/legalcode)

\\n

Uvedené se nevztahuje na díla nebo jiné předměty ochrany (např. obrazovou či fotografickou dokumentaci), které jsou ve výstupu užity zejména na základě smluvní licence nebo výjimky či omezení příslušných práv, jak je uvedeno u konkrétního jednotlivého předmětu ochrany.

\\n
\\n \\n
\"","module.exports = \"\\n\\n\\n \\n\\n \\n\\n \\n \\n \\n \\n \\n \\n\\n \\n\\n\"","module.exports = \"\\n \\n\\n
\\n
\\n
\\n \\n \\n {{subblock.text}}\\n \\n
\\n
\\n \\n \\n {{subblock.text}}\\n \\n
\\n
\\n
\"","module.exports = \"\\n\\n\"","module.exports = \"
\\n
\\n \\n \\n \\n {{pair.alterText}}\\n \\n \\n \\n
\\n\\n
\\n \\n \\n {{pair.text}}\\n \\n \\n \\n
\\n
\\n\\n\"","module.exports = \"
\\n \\n \\n \\n \\n
\\n \\n\"","module.exports = \"\\n \\n\\n
\\n \\n {{i + 1}} /\\n \\n
\\n
\\n
\\n secretPosition - row.numOfChar && pos <= secretPosition - row.numOfChar + row.correct.length\\\" [class.answered]=\\\"isAnswered\\\" [class.correct]=\\\"isAnswered && crosswordResults[i].correct\\\" [class.incorrect]=\\\"isAnswered && !crosswordResults[i].correct\\\">\\n secretPosition - row.numOfChar && pos <= secretPosition - row.numOfChar + row.correct.length\\\"/> \\n \\n \\n
\\n
\\n\\n {{data?.info}}\\n\\n\"","module.exports = \"\\n \\n\\n\\n
\\n
\\n
\\n \\n \\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n\"","module.exports = \"\\n\\n
\\n \\n {{ word.text }}\\n \\n
\\n\\n

0\\\">{{ message }}

\\n\\n\\n\"","module.exports = \"
\\n
\\n \\n
\\n
\\n\"","module.exports = \"\\n\\n\\n\"","module.exports = \"\\n\\n\\n{{ \\\" \\\" + position + \\\" \\\"}}\\nŽivoty: {{lives}}\\n\\n\\n\\n\"","module.exports = \"\\n\\n
\\n \\n \\n\\n \\n

\\n Správná odpověď:\\n \\n {{ correct }}{{ isLast ? \\\"\\\" : \\\", \\\" }}\\n \\n

\\n
\\n
\\n\\n Odeslat odpověď\\n\\n\\n\\n\"","module.exports = \"\\n\\n
\\n
\\n \\n \\n {{\\n item\\n }}\\n
\\n\\n
\\n \\n
\\n \\n
\\n
\\n Správné pořadí je: {{ data?.options.join(\\\", \\\") }}\\n
\\n \\n
\\n {{ item }}\\n
\\n \\n\\n 0 ||\\n _.size(insertResults) !== insertOptions.length\\n \\\"\\n>\\n Odeslat odpověď\\n\\n\"","module.exports = \"\\n
\\n \\n {{word}}\\n \\n
\\nSprávná odpověď:\\n \\n
Nejprve vyberte slovo v textu!
\\nSprávně\\nŠpatně! Správná odpověď je {{data.correct}}!\\n\"","module.exports = \"
\\n
\\n
\\n \\n
\\n \\n \\n \\n \\n Správná odpověď: \\n \\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n\"","module.exports = \"\\n \\n \\n \\n {{pair.leftValue}}\\n \\n \\n {{pair.rightValue}}\\n / \\n \\n \\n\\n\\n
\\n
\\n \\n {{left}}\\n \\n \\n \\n \\n
\\n {{item}}\\n ({{getCorrectAnswer(i)}})\\n
\\n
\\n
\\n
\\n
\\n {{item}}\\n
\\n
\\n
\\n\"","module.exports = \"\\n \\n\\n\\n
\\n
\\n
\\n \\n
\\n
{{item}}
\\n
\\n
\\n
\\n
\\n
\\n {{item}}\\n
\\n
\\n
\\n
\\n \\n\"","module.exports = \"\\n \\n\\n\\n
\\n
\\n
\\n \\n \\n
\\n \\n
\\n
{{item}}
\\n
\\n
\\n
\\n
\\n
\\n
\\n {{item}}\\n
\\n
\\n
\\n
\\n \\n\"","module.exports = \"
\\n
\\n \\n
\\n
\\n \\n \\n \\n \\n \\n Správná odpověď:\\n \\n \\n
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n\\n 0\\\"\\n>\\n Odeslat odpověď\\n\\n\"","module.exports = \"\\n \\n \\n \\n \\n {{data?.columns[i]?.textBefore}}\\n \\n {{data?.columns[i]?.textAfter}}\\n / \\n \\n \\n \\n\\n\\n
\\n
\\n
\\n \\n
\\n {{column?.textBefore}}\\n ___\\n {{column?.textAfter}}\\n
\\n
\\n
{{item?.title}}
\\n\\n
\\n {{item?.title}}\\n
\\n
\\n \\n
\\n ({{item?.title}})\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n {{item?.title}}\\n
\\n
\\n
\\n
\\n \\n\"","module.exports = \"\\n \\n\\n\\n
\\n
\\n \\n
\\n
\\n {{column?.textBefore}}\\n ___\\n {{column?.textAfter}}\\n
\\n
\\n
\\n {{item?.title}}
\\n
\\n
\\n
\\n
\\n
\\n \\n {{item?.title}}\\n
\\n
\\n
\\n
\\n \\n\"","module.exports = \"\\n \\n\\n\\n
\\n
\\n
\\n \\n \\n {{column?.title}}\\n
\\n
{{item?.title}}
\\n\\n
\\n {{item?.title}}\\n
\\n \\n
\\n ({{item?.title}})\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n \\n {{item?.title}}\\n
\\n
\\n
\\n
\\n \\n\"","module.exports = \"\\n
    \\n
  • \\n \\n {{getCorrectAnswer(i)}}\\n \\n
  • \\n
\"","module.exports = \"\\n \\n\\n
\\n\\n \\n \\n
\\n
{{item.value}}
\\n
\\n
\\n
\\n
\\n
{{item.value}}
\\n
\\n
\\n\"","module.exports = \"\\n \\n\\n\\n
\\n
\\n\"","module.exports = \"\\n
\\n\\n\"","module.exports = \"\\n \\n\\n
\\n\\n \\n \\n \\n \\n \\n\\n\\n
\"","module.exports = \"\\n \\n \\n \\n {{example.textBefore}}\\n {{example.correct}}\\n {{example.textAfter}}\\n / \\n \\n \\n\\n\\n {{line.textBefore}}\\n \\n \\n {{answers[i]}}\\n \\n \\n ({{line.correct}})\\n \\n {{line.textAfter}}\\n\\n\"","module.exports = \"\\n \\n \\n \\n \\n {{part.content}}\\n \\n \\n {{example.correct}}\\n \\n {{part.content}}\\n \\n / \\n \\n \\n\\n
\\n\\n \\n {{part.content}}\\n \\n \\n {{line.correct}}\\n _____\\n \\n {{part.content}}\\n \\n \\n \\n \\n \\n\\n\\n
\"","module.exports = \"\\n \\n\\n
\\n\\n \\n {{part.content}}\\n \\n \\n {{line.correct}}\\n \\n \\n \\n {{part.content}}\\n \\n\\n
\"","module.exports = \"\\n \\n\\n
\\n \\n \\n {{line.contentBefore}}\\n {{answers[i]}}\\n \\n \\n \\n {{line.contentAfter}}\\n \\n
\"","module.exports = \"\\n \\n\\n
\\n \\n \\n
\\n\"","module.exports = \"
\\n
\\n \\n \\n
\\n\\n\"","module.exports = \"\\n \\n\\n\\n\"","module.exports = \"\\n\\n
\\n \\n\\n \\n \\n \\n \\n \\n
\\n\\n Odeslat odpověď\\n\\n\"","module.exports = \"\\n\\n Odpověď\\n \\n\\n\\n\\n\"","module.exports = \"\\n
\\n
\\n
\\n
\\n \\n \\n {{\\n item\\n }}\\n
\\n
\\n
\\n
\\n Správné pořadí je: {{ data?.options.join(\\\", \\\") }}\\n
\\n \\n
{{ item }}
\\n
\\n \\n \\n\\n\"","module.exports = \"\\n \\n\\n \\n \\n
\\n {{ item }}\\n
\\n \\n
\\n\\n\"","module.exports = \"\\n\\n 0\\\">\\n
\\n \\n {{ question }}\\n
\\n \\n
\\n\\n
{{ usedOption.numberVariant }}
\\n\\n\\n Další otázka\\n\\n\\n\\n Odeslat odpověď\\n\\n\"","module.exports = \"\\n \\n\\n\\n
\\n
\\n {{field.character}}\\n
\\n
\\n\\n\\n {{word.word}}\\n\"","module.exports = \"\\n\\n
\\n \\\"Main\\n \\n \\n \\n

\\n {{ question.content }}\\n

\\n \\n \\n \\n
\\n \\n \\n\\n\\n\\n\"","module.exports = \"\\n \\n\\n\\n
\\n
\\n \\n \\n

\\n {{ question.content }}\\n

\\n \\n \\n \\n
\\n
\\n
\\n\\n\"","module.exports = \"\\n\\n
\\n \\\"Main\\n \\n \\n \\n

\\n {{ question.content }}\\n

\\n \\n \\n \\n \\n
\\n \\n \\n\\n\\n\\n\\n\\n\"","module.exports = \"\\n\\n
\\n\\n\\n\"","module.exports = \"\\n\\n
\\n \\n
\\n

Načítám emoci

\\n \\n
\\n
\\n

{{ currentOption.text }}

\\n\\n\\n\"","module.exports = \"\\n\\n \\n \\n \\n\\n\"","module.exports = \"\\n\\n\"","module.exports = \"\\n\\n\"","module.exports = \"\\n\\n \\n \\n \\n \\n\\n\"","module.exports = \"
\\n
\\n \\n\\n
\\n {{ verb.firstForm }}: \\n
\\n \\n \\n
\\n
\\n Správná odpověď:\\n {{ verb.firstForm }} - \\n {{ verb.secondForm }} - \\n {{ verb.thirdForm }}\\n \\n
\\n
\\n \\n
\\n \\n
\\n \\n\\n 0\\\"\\n>\\n Odeslat odpověď\\n\\n\"","module.exports = \"
\\n
\\n \\n
\\n \\n \\n \\n {{ this.activeSentence.shuffledDragIns[i].toString() }}\\n \\n \\n
\\n
\\n
\\n\\n\\n
\\n Správná odpověď:\\n {{ activeSentence.sentence }}\\n
\\n
\\n\\n\\n\"","module.exports = \"\\n
\\n \\n \\n \\n \\n
\\n \\n \\n
\\n \\n \\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\nSprávně:
\\n\\n \\n \\n \\n
\\n \\n \\n
\\n \\n
\\n
\\n
\\n\"","module.exports = \"\\n\\n \\n \\n \\n
\\n \\n \\n \\n \\n
\\n\"","module.exports = \"\\n\\n\\n \\n TRUE\\n \\n \\n FALSE\\n \\n \\n\\n\"","module.exports = \"\\n \\n\\n\\n\\n
\\n \\n \\n \\n

\\n {{ option.content }}\\n

\\n
\\n
\\n \\n\"","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","module.exports = \".loading-overlay {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n background-color: rgba(0, 0, 0, 0.5);\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9yaWNoYXJkL0RvY3VtZW50cy9Xb3JrL2Rpa29icmF6L3NyYy9hcHAvYXBwLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9hcHAuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0E7RUFDSSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxTQUFBO0VBQ0EsT0FBQTtFQUNBLFFBQUE7RUFDQSxvQ0FBQTtFQUNBLGFBQUE7RUFDQSx1QkFBQTtFQUNBLG1CQUFBO0FDQUoiLCJmaWxlIjoic3JjL2FwcC9hcHAuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJcbi5sb2FkaW5nLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6MDtcbiAgICBib3R0b206MDtcbiAgICBsZWZ0OjA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3I6ICMwMDAwMDAsICRhbHBoYTogMC41KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59IiwiLmxvYWRpbmctb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufSJdfQ== */\"","import { Component, OnInit } from '@angular/core';\nimport { NavigationCancel, NavigationEnd, NavigationError, NavigationStart, Router } from '@angular/router';\nimport { Howler } from 'howler';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\n\nexport class AppComponent implements OnInit {\n loading = true;\n\n constructor(router: Router) {\n // decide what to do when this event is triggered.\n router.events.pipe(filter(event => event instanceof NavigationEnd)).subscribe(val => {\n console.log(val);\n Howler.stop();\n this.loading = false;\n });\n\n router.events.pipe(filter(event => event instanceof NavigationCancel)).subscribe(val => {\n this.loading = false;\n });\n\n router.events.pipe(filter(event => event instanceof NavigationError)).subscribe(val => {\n this.loading = false;\n });\n\n router.events.pipe(filter(event => event instanceof NavigationStart)).subscribe(val => {\n this.loading = true;\n });\n }\n\n\n private observer: MutationObserver = null;\n\n ngOnDestroy() {\n this.observer.disconnect();\n }\n\n public ngOnInit(): void {\n }\n\n ngAfterViewInit() {\n const node = document.querySelector('body');\n this.observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (\n mutation.addedNodes.length > 0 &&\n mutation.addedNodes.length > 0 &&\n mutation.addedNodes.item(0)['classList'] == 'cdk-overlay-container'\n ) {\n this.observer.disconnect();\n this.observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (mutation.addedNodes.length > 0) {\n let tooltip = mutation.addedNodes[0];\n while (\n tooltip.hasChildNodes() &&\n tooltip.firstChild.nodeType == Node.ELEMENT_NODE\n ) {\n tooltip = tooltip.childNodes[0];\n }\n if (tooltip) {\n tooltip['innerHTML'] = tooltip['innerHTML']\n .replaceAll('<', '<')\n .replaceAll('>', '>');\n }\n }\n });\n });\n this.observer.observe(mutation.addedNodes.item(0), {\n attributes: false,\n childList: true,\n characterData: false\n });\n }\n });\n });\n\n this.observer.observe(node, {\n attributes: false,\n childList: true,\n characterData: false\n });\n }\n\n}\n","// Modules 3rd party\nimport { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { MatButtonModule, MatCheckboxModule, MatMenuModule, MatInputModule, MatSnackBarModule,\n MatToolbarModule, MatDialogModule, MatSidenavModule, MatNativeDateModule,\n MatCardModule, MatTabsModule, MatIconModule, MatProgressSpinnerModule, MatGridListModule, MatRadioModule } from '@angular/material';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { HttpClientModule } from '@angular/common/http';\nimport { MatCarouselModule } from '@ngmodule/material-carousel'; \nimport {CookieService} from 'ngx-cookie-service';\n\n// Modules\nimport { BlocksModule } from './components/blocks/blocks.module';\nimport { MiscModule } from './components/misc/misc.module';\n\n// Shared\nimport {\n FooterComponent,\n HeaderComponent,\n AlertService,\n WindowService\n} from '@shared';\n\n// Main\nimport { AppComponent } from './app.component';\nimport { AppRoutingModule } from './app.routing';\n\n// Pages\nimport { HomeComponent } from './pages/home/home.component';\nimport { AboutMeComponent } from './pages/about-me/about-me.component';\nimport { PageNotFoundComponent } from './pages/not-found/not-found.component';\n\n// Components\nimport { CourseComponent } from './pages/course/course.component';\nimport { LearnComponent } from './pages/learn/learn.component';\nimport { QuizComponent } from './pages/quiz/quiz.component';\nimport { TasksModule } from './tasks/tasks.module';\nimport { DvzModule } from './dvz/dvz.module';\n\n@NgModule({\n declarations: [\n AppComponent,\n HomeComponent,\n AboutMeComponent,\n HeaderComponent,\n FooterComponent,\n PageNotFoundComponent,\n CourseComponent,\n LearnComponent,\n QuizComponent\n ],\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n MatButtonModule, MatCheckboxModule, MatMenuModule, MatInputModule, MatSnackBarModule,\n MatToolbarModule, MatDialogModule, MatSidenavModule, MatNativeDateModule,\n MatCardModule, MatTabsModule, MatIconModule, MatProgressSpinnerModule, MatGridListModule,\n MatRadioModule,\n FormsModule,\n ReactiveFormsModule,\n HttpClientModule,\n BlocksModule,\n TasksModule,\n MiscModule,\n MatCarouselModule,\n DvzModule,\n AppRoutingModule,\n ],\n providers: [\n AlertService,\n WindowService,\n CookieService\n ],\n schemas: [\n CUSTOM_ELEMENTS_SCHEMA\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule {\n}\n","// Modules 3rd party\nimport { NgModule } from '@angular/core';\nimport { PreloadAllModules, RouterModule, Routes } from '@angular/router';\n\n// 404 page\nimport { PageNotFoundComponent } from './pages/not-found/not-found.component';\n\n// Pages\nimport { HomeComponent } from './pages/home/home.component';\nimport { AboutMeComponent } from './pages/about-me/about-me.component';\n\n// Components\nimport { MiscComponent } from './components/misc/misc.component';\n\n// Protected\nimport { CourseComponent } from './pages/course/course.component';\nimport { LearnComponent } from './pages/learn/learn.component';\n\n// Routing\nconst appRoutes: Routes = [\n\n // Public pages\n { path: '', redirectTo: '/dvz', pathMatch : 'full' },\n { path: 'o-projektu', component: HomeComponent },\n { path: 'o-nas', component: AboutMeComponent },\n { path: 'metodiky', component: LearnComponent },\n { path: 'misc', component: MiscComponent },\n\n // Protected pages\n // { path: 'profile/:uid/:name', component: ProfileComponent, canActivate: [AuthGuardService] },\n { path: 'dvz',\n children: [\n { path: '', component: CourseComponent }\n ]\n },\n { path: '**', component: PageNotFoundComponent }\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(appRoutes)],\n exports: [RouterModule]\n})\n\nexport class AppRoutingModule {\n}\n","// Modules 3rd party\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule, MatCardModule } from '@angular/material';\n\n// Components\nimport { CardBlockComponent } from './card-block/card-block.component';\nimport { ThirdBlockComponent } from './third-block/third-block.component';\n\n@NgModule({\n declarations: [\n CardBlockComponent,\n ThirdBlockComponent\n ],\n imports: [\n CommonModule,\n MatButtonModule, MatCardModule\n ],\n exports: [\n CardBlockComponent,\n ThirdBlockComponent\n ]\n})\nexport class BlocksModule {\n}\n","module.exports = \".contentCard {\\n width: 890px;\\n height: 500px;\\n position: absolute;\\n padding: 24px;\\n margin: 10px auto 0;\\n left: 0;\\n right: 0;\\n z-index: 5;\\n}\\n\\n.contentCard img {\\n margin: 0 33px;\\n max-width: 210px;\\n max-height: 250px;\\n}\\n\\n.buttonCard {\\n display: grid;\\n margin: 0;\\n}\\n\\n.buttonCard a {\\n text-decoration: none;\\n}\\n\\n@media only screen and (max-width: 1024px) {\\n .contentCard {\\n width: 100%;\\n height: 100%;\\n }\\n\\n .contentCard img {\\n margin: 0 10px;\\n max-width: 30%;\\n max-height: 80%;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9yaWNoYXJkL0RvY3VtZW50cy9Xb3JrL2Rpa29icmF6L3NyYy9hcHAvY29tcG9uZW50cy9ibG9ja3MvY2FyZC1ibG9jay9jYXJkLWJsb2NrLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9jb21wb25lbnRzL2Jsb2Nrcy9jYXJkLWJsb2NrL2NhcmQtYmxvY2suY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxZQUFBO0VBQ0EsYUFBQTtFQUNBLGtCQUFBO0VBQ0EsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsT0FBQTtFQUNBLFFBQUE7RUFDQSxVQUFBO0FDQ0Y7O0FERUE7RUFDRSxjQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtBQ0NGOztBREVBO0VBQ0UsYUFBQTtFQUNBLFNBQUE7QUNDRjs7QURFQTtFQUNFLHFCQUFBO0FDQ0Y7O0FERUE7RUFFRTtJQUNJLFdBQUE7SUFDQSxZQUFBO0VDQUo7O0VER0E7SUFDQSxjQUFBO0lBQ0EsY0FBQTtJQUNBLGVBQUE7RUNBQTtBQUNGIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy9ibG9ja3MvY2FyZC1ibG9jay9jYXJkLWJsb2NrLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNvbnRlbnRDYXJkIHtcbiAgd2lkdGg6IDg5MHB4O1xuICBoZWlnaHQ6IDUwMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIG1hcmdpbjogMTBweCBhdXRvIDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiA1O1xufVxuXG4uY29udGVudENhcmQgaW1nIHtcbiAgbWFyZ2luOiAwIDMzcHg7XG4gIG1heC13aWR0aDogMjEwcHg7XG4gIG1heC1oZWlnaHQ6IDI1MHB4O1xufVxuXG4uYnV0dG9uQ2FyZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIG1hcmdpbjogMDtcbn1cblxuLmJ1dHRvbkNhcmQgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcblxuICAuY29udGVudENhcmQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuY29udGVudENhcmQgaW1nIHtcbiAgbWFyZ2luOiAwIDEwcHg7XG4gIG1heC13aWR0aDogMzAlO1xuICBtYXgtaGVpZ2h0OiA4MCU7XG4gIH1cblxufSIsIi5jb250ZW50Q2FyZCB7XG4gIHdpZHRoOiA4OTBweDtcbiAgaGVpZ2h0OiA1MDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwYWRkaW5nOiAyNHB4O1xuICBtYXJnaW46IDEwcHggYXV0byAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogNTtcbn1cblxuLmNvbnRlbnRDYXJkIGltZyB7XG4gIG1hcmdpbjogMCAzM3B4O1xuICBtYXgtd2lkdGg6IDIxMHB4O1xuICBtYXgtaGVpZ2h0OiAyNTBweDtcbn1cblxuLmJ1dHRvbkNhcmQge1xuICBkaXNwbGF5OiBncmlkO1xuICBtYXJnaW46IDA7XG59XG5cbi5idXR0b25DYXJkIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gIC5jb250ZW50Q2FyZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLmNvbnRlbnRDYXJkIGltZyB7XG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgbWF4LXdpZHRoOiAzMCU7XG4gICAgbWF4LWhlaWdodDogODAlO1xuICB9XG59Il19 */\"","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-card-block',\n templateUrl: './card-block.component.html',\n styleUrls: ['./card-block.component.scss']\n})\nexport class CardBlockComponent {\n titleCard = 'Angular';\n numberCard = 8;\n subTitleCard = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nisl ligula.';\n contentCard = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nisl ligula.';\n angularImage: string;\n\n constructor() {\n this.angularImage = '/assets/img/angular2.png'; }\n\n}\n","module.exports = \"#contentThree {\\n width: 930px;\\n margin: 0 auto;\\n left: 0;\\n right: 0;\\n padding: 120px 20px 120px;\\n z-index: 3;\\n position: relative;\\n}\\n\\n#contentThree .mat-card {\\n width: 30%;\\n margin: 10px;\\n display: inline-block;\\n}\\n\\n@media only screen and (max-width: 1024px) {\\n #contentThree, #contentThree .mat-card {\\n width: 100%;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9yaWNoYXJkL0RvY3VtZW50cy9Xb3JrL2Rpa29icmF6L3NyYy9hcHAvY29tcG9uZW50cy9ibG9ja3MvdGhpcmQtYmxvY2svdGhpcmQtYmxvY2suY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2NvbXBvbmVudHMvYmxvY2tzL3RoaXJkLWJsb2NrL3RoaXJkLWJsb2NrLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsWUFBQTtFQUNBLGNBQUE7RUFDQSxPQUFBO0VBQ0EsUUFBQTtFQUNBLHlCQUFBO0VBQ0EsVUFBQTtFQUNBLGtCQUFBO0FDQ0Y7O0FERUE7RUFDRSxVQUFBO0VBQ0EsWUFBQTtFQUNBLHFCQUFBO0FDQ0Y7O0FERUE7RUFFRTtJQUNJLFdBQUE7RUNBSjtBQUNGIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy9ibG9ja3MvdGhpcmQtYmxvY2svdGhpcmQtYmxvY2suY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIjY29udGVudFRocmVlIHtcbiAgd2lkdGg6IDkzMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmc6IDEyMHB4IDIwcHggMTIwcHg7XG4gIHotaW5kZXg6IDM7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn0gXG5cbiNjb250ZW50VGhyZWUgLm1hdC1jYXJkIHtcbiAgd2lkdGg6IDMwJTtcbiAgbWFyZ2luOiAxMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59IFxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuXG4gICNjb250ZW50VGhyZWUsICNjb250ZW50VGhyZWUgLm1hdC1jYXJkIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbn0iLCIjY29udGVudFRocmVlIHtcbiAgd2lkdGg6IDkzMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmc6IDEyMHB4IDIwcHggMTIwcHg7XG4gIHotaW5kZXg6IDM7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuI2NvbnRlbnRUaHJlZSAubWF0LWNhcmQge1xuICB3aWR0aDogMzAlO1xuICBtYXJnaW46IDEwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgI2NvbnRlbnRUaHJlZSwgI2NvbnRlbnRUaHJlZSAubWF0LWNhcmQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59Il19 */\"","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-third-block',\n templateUrl: './third-block.component.html',\n styleUrls: ['./third-block.component.scss']\n})\nexport class ThirdBlockComponent {\n titleThree = 'Angular 8';\n contentThree = 'Angular is a framework for building client applications in HTML and TypeScript that compiles to JavaScript.';\n\n titleFour = 'Material 2';\n contentFour = 'Material Design is a unified system that combines theory, resources, and tools for crafting digital experiences.';\n\n titleFive = 'Firebase';\n contentFive = 'Firebase is built on Google infrastructure and scales automatically, for even the largest apps.';\n}\n","module.exports = \"\\n@import \\\"https://unpkg.com/spectre.css/dist/spectre.min.css\\\";\\n@import \\\"https://unpkg.com/spectre.css/dist/spectre-exp.min.css\\\";\\n@import \\\"https://unpkg.com/spectre.css/dist/spectre-icons.min.css\\\";\\n/**@import 'https://use.fontawesome.com/releases/v5.12.1/css/all.css';\\n@import 'https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css';**/\\n.collection {\\n padding: 10px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9taXNjL2RhdGEtbWFuYWdlci9kYXRhLW1hbmFnZXIuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsNERBQTREO0FBQzVELGdFQUFnRTtBQUNoRSxrRUFBa0U7QUFKbEU7cUZBQ3FGO0FBSXJGO0lBQ0ksYUFBYTtBQUNqQiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvbWlzYy9kYXRhLW1hbmFnZXIvZGF0YS1tYW5hZ2VyLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipAaW1wb3J0ICdodHRwczovL3VzZS5mb250YXdlc29tZS5jb20vcmVsZWFzZXMvdjUuMTIuMS9jc3MvYWxsLmNzcyc7XG5AaW1wb3J0ICdodHRwczovL3N0YWNrcGF0aC5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC80LjQuMS9jc3MvYm9vdHN0cmFwLm1pbi5jc3MnOyoqL1xuQGltcG9ydCBcImh0dHBzOi8vdW5wa2cuY29tL3NwZWN0cmUuY3NzL2Rpc3Qvc3BlY3RyZS5taW4uY3NzXCI7XG5AaW1wb3J0IFwiaHR0cHM6Ly91bnBrZy5jb20vc3BlY3RyZS5jc3MvZGlzdC9zcGVjdHJlLWV4cC5taW4uY3NzXCI7XG5AaW1wb3J0IFwiaHR0cHM6Ly91bnBrZy5jb20vc3BlY3RyZS5jc3MvZGlzdC9zcGVjdHJlLWljb25zLm1pbi5jc3NcIjtcbi5jb2xsZWN0aW9uIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xufSJdfQ== */\"","import { Component, Input, OnInit } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { JSONEditor } from '@json-editor/json-editor';\nimport JSONEditorCs from '../../../../assets/i18n/json-editor/cs.json'\nimport * as _ from \"lodash\";\nimport {MatSnackBar} from '@angular/material/snack-bar';\nimport { environment } from 'src/environments/environment';\nimport { normalize } from '@shared/utilities/compare-strings';\n\ndeclare var Jodit;\ndeclare var window;\n\n@Component({\n selector: 'app-data-manager',\n templateUrl: './data-manager.component.html',\n styleUrls: ['./data-manager.component.css']\n})\nexport class DataManagerComponent implements OnInit {\n constructor(private http: HttpClient, private snackBar: MatSnackBar) {\n window.Jodit = Jodit;\n JSONEditor.defaults.languages.cs = JSONEditorCs;\n JSONEditor.defaults.language = \"cs\";\n }\n private element;\n private editor;\n @Input() endpointSchemes;\n @Input() endpoints;\n @Input() base;\n public endpoint = null;\n public item = null;\n public dataList = [];\n public isNew = false;\n public search = \"\";\n\n ngOnInit() {\n\n }\n\n filterList(datalist) {\n return _.filter(datalist, (data) => {\n let label = normalize(this.getLabel(data));\n return new RegExp(normalize(this.search)).test(label);\n })\n }\n\n save() {\n let output = this.editor.getValue();\n const errors = this.editor.validate();\n if (errors.length) {\n console.log(\"PROBLEM\", errors)\n return;\n }\n let endpointUrl = this.endpoint.value.split(\"?\")[0].replace(/-/g, \"_\");\n if(this.isNew) {\n this.http.post(this.base + endpointUrl, output).subscribe((data) => {\n this.snackBar.open('Uloženo', 'OK', {\n duration: 3000\n });\n console.log(output);\n this.selectEndpoint(this.endpoint);\n },\n (err) => {\n this.snackBar.open('Chyba při ukládání: ' + err, 'OK');\n });\n } else {\n this.http.patch(this.base + endpointUrl + \"/\" + this.item, output).subscribe((data) => {\n this.snackBar.open('Uloženo', 'OK', {\n duration: 3000\n });\n console.log(output);\n },\n (err) => {\n this.snackBar.open('Chyba při ukládání: ' + err, 'OK');\n });\n }\n }\n\n selectEndpoint(endpoint) {\n this.isNew = false;\n this.item = null;\n this.endpoint = endpoint;\n this.getEndpointData();\n }\n\n selectItem(item) {\n this.item = item;\n this.isNew = false;\n let endpointUrl = this.endpoint.value.split(\"?\")[0].replace(/-/g, \"_\");\n this.http.get(this.base + endpointUrl + \"/\" + item).subscribe((data) => {\n this.initEditor(data);\n })\n }\n\n newItem() {\n this.item = null;\n this.isNew = true;\n setTimeout(() => {\n this.initEditor();\n }, 1);\n }\n\n initEditor(value?) {\n this.element = document.getElementById('editor-holder');\n JSONEditor.defaults.callbacks.template = {\n \"applyFilterOption\": (jseditor,e) => {\n return e.item.filter ? e.item.value : \"\";\n }\n }\n JSONEditor.defaults.callbacks.autocomplete = {\n \"search_phrase_part\": function search(jseditor_editor, input) {\n let lastEndI = input.lastIndexOf(\"}\");\n let lastBeginI = input.lastIndexOf(\"{\");\n if(lastBeginI <= lastEndI || lastBeginI + 1 == input.length) {\n return new Promise(function (resolve) {\n return resolve([]);\n });\n }\n let old = input.substring(0, lastBeginI);\n input = input.substring(lastBeginI + 1);\n let url = 'https://czechme-api.evetech.cz/app-content?id_like=' + encodeURI(input);\n return new Promise(function (resolve) {\n if (input.length < 2) {\n return resolve([]);\n }\n\n fetch(url).then(function (response) {\n return response.json();\n }).then(function (data) {\n for(let i in data) {\n data[i].previous = old;\n }\n resolve(data);\n });\n });\n },\n \"search_lessons\": function search(jseditor_editor, input) {\n let url = 'https://czechme-api.evetech.cz/app-lessons?id_like=' + encodeURI(input);\n return new Promise(function (resolve) {\n if (input.length < 2) {\n return resolve([]);\n }\n fetch(url).then(function (response) {\n return response.json();\n }).then(function (data) {\n resolve(data);\n });\n });\n },\n \"search_tasks\": function search(jseditor_editor, input) {\n let url = 'https://czechme-api.evetech.cz/app-tasks?id_like=' + encodeURI(input);\n return new Promise(function (resolve) {\n if (input.length < 2) {\n return resolve([]);\n }\n fetch(url).then(function (response) {\n return response.json();\n }).then(function (data) {\n resolve(data);\n });\n });\n },\n \"search_content\": function search(jseditor_editor, input) {\n let url = 'https://czechme-api.evetech.cz/app-content?id_like=' + encodeURI(input);\n if(input.startsWith(\"L\")) {\n url = 'https://czechme-api.evetech.cz/app-locations?id_like=' + encodeURI(input);\n } \n return new Promise(function (resolve) {\n if (input.length < 2) {\n return resolve([]);\n }\n\n fetch(url).then(function (response) {\n return response.json();\n }).then(function (data) {\n resolve(data);\n });\n });\n },\n \"renderResult_lessons\": (jseditor_editor, result, props) => {\n return ['
  • ',\n '
    ' + result[\"id\"] + \" \" + (result.title ? result.title[\"cz\"] : \"\") + '
    ',\n '
  • '].join(' ');\n },\n \"renderResult_tasks\": (jseditor_editor, result, props) => {\n return ['
  • ',\n '
    ' + result[\"id\"] + \" \" + result[\"type\"] + '
    ',\n '
  • '].join(' ');\n },\n \"renderResult_content\": (jseditor_editor, result, props) => {\n return ['
  • ',\n '
    ' + result.id + \" \" + (result.form ? result.form + \" \" : \"\") + (result.code ? result.code + \" \" : \"\") + (result.name ? result.name + \" \" : \"\") + (result.title ? result.title.cz + \" \" : \"\") + (result.transcription ? result.transcription + \" \" : \"\") + '
    ',\n '
    ' + (result.translation ? result.translation + \" \" : \"\") + (result.title ? result.title.en : \"\") + '
    ',\n '
    ' + (result.grammar ? \"(\" + _.join(_.keys(result.grammar), \", \") + \") \" : \"\") + (result.content ? result.content.cz + \" \" : \"\") + (result.parts ? _.join(_.map(_.values(result.parts), (part) => part.transcript ), \" \"): \"\") + '
    ',\n '
  • '].join(' ');\n },\n \"getResultValue_cid\": function getResultValue(jseditor_editor, result) {\n return result.previous ? result.previous + \"{\" + result.id + \"}\" : result.id;\n }\n };\n this.editor = new JSONEditor(this.element, {\n theme: \"spectre\",\n iconlib: \"spectre\",\n ajax: true,\n remove_empty_properties: false,\n disable_edit_json: true,\n disable_collapse: true,\n disable_properties: false,\n disable_array_delete_all_rows: true,\n no_additional_properties: true,\n disable_array_delete_last_row: true,\n schema: this.addGlobals(this.endpointSchemes[this.endpoint.value])\n });\n this.editor.on('ready',() => {\n if(value) {\n this.editor.setValue(value);\n }\n });\n }\n\n getLabel(data) {\n return data.name ? data.name : data.title ? (data.title.cz ? data.title.cz : data.title) : data.id;\n }\n addGlobals(scheme) {\n return JSON.parse(JSON.stringify(scheme).replace(/\\{\\{SERVER_URL\\}\\}/g, environment.server));\n }\n\n getEndpointData() {\n let endpointUrl = this.endpoint.value.replace(/-/g, \"_\");\n this.http.get(this.base + endpointUrl).subscribe((data) => {\n this.dataList = _.sortBy(data, this.getLabel);\n })\n }\n\n back() {\n if(this.item || this.isNew) {\n this.selectEndpoint(this.endpoint)\n } else{\n this.endpoint = null;\n }\n }\n\n getItemTitle(id: string): string {\n let item = _.find(this.dataList, ['id', id]);\n return this.getLabel(item);\n }\n\n delete(item) {\n let del = confirm(\"Opravdu chcete smazat tato data?\");\n if(!del) {\n return;\n }\n let endpointUrl = this.endpoint.value.split(\"?\")[0].replace(/-/g, \"_\");\n this.http.delete(this.base + endpointUrl + \"/\" + item).subscribe((data) => {\n this.selectEndpoint(this.endpoint);\n this.snackBar.open('Smazáno', 'OK', {\n duration: 3000\n });\n },\n (err) => {\n this.snackBar.open('Chyba při mazání: ' + err, 'OK');\n })\n }\n\n}\n","module.exports = \".drag-drop-container {\\n width: 400px;\\n max-width: 100%;\\n margin: 0 25px 25px 0;\\n display: inline-block;\\n vertical-align: top;\\n}\\n\\n.drag-drop-list {\\n border: solid 1px #ccc;\\n min-height: 60px;\\n background: white;\\n border-radius: 4px;\\n overflow: hidden;\\n display: block;\\n}\\n\\n.drag-drop-box {\\n padding: 20px 10px;\\n border-bottom: solid 1px #ccc;\\n color: rgba(0, 0, 0, 0.87);\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n justify-content: space-between;\\n box-sizing: border-box;\\n cursor: move;\\n background: white;\\n font-size: 14px;\\n}\\n\\n.cdk-drag-preview {\\n box-sizing: border-box;\\n border-radius: 4px;\\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\\n}\\n\\n.cdk-drag-placeholder {\\n opacity: 0;\\n}\\n\\n.cdk-drag-animating {\\n transition: -webkit-transform 250ms cubic-bezier(0, 0, 0.2, 1);\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 250ms cubic-bezier(0, 0, 0.2, 1);\\n}\\n\\n.drag-drop-box:last-child {\\n border: none;\\n}\\n\\n.drag-drop-list.cdk-drop-list-dragging .drag-drop-box:not(.cdk-drag-placeholder) {\\n transition: -webkit-transform 250ms cubic-bezier(0, 0, 0.2, 1);\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 250ms cubic-bezier(0, 0, 0.2, 1);\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9yaWNoYXJkL0RvY3VtZW50cy9Xb3JrL2Rpa29icmF6L3NyYy9hcHAvY29tcG9uZW50cy9taXNjL2RyYWctZHJvcC9kcmFnLWRyb3AuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2NvbXBvbmVudHMvbWlzYy9kcmFnLWRyb3AvZHJhZy1kcm9wLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsWUFBQTtFQUNBLGVBQUE7RUFDQSxxQkFBQTtFQUNBLHFCQUFBO0VBQ0EsbUJBQUE7QUNDRjs7QURFQTtFQUNFLHNCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxjQUFBO0FDQ0Y7O0FERUE7RUFDRSxrQkFBQTtFQUNBLDZCQUFBO0VBQ0EsMEJBQUE7RUFDQSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxtQkFBQTtFQUNBLDhCQUFBO0VBQ0Esc0JBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxlQUFBO0FDQ0Y7O0FERUE7RUFDRSxzQkFBQTtFQUNBLGtCQUFBO0VBQ0EscUhBQUE7QUNDRjs7QURJQTtFQUNFLFVBQUE7QUNERjs7QURJQTtFQUNFLDhEQUFBO0VBQUEsc0RBQUE7RUFBQSwwR0FBQTtBQ0RGOztBRElBO0VBQ0UsWUFBQTtBQ0RGOztBRElBO0VBQ0UsOERBQUE7RUFBQSxzREFBQTtFQUFBLDBHQUFBO0FDREYiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnRzL21pc2MvZHJhZy1kcm9wL2RyYWctZHJvcC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5kcmFnLWRyb3AtY29udGFpbmVyIHtcbiAgd2lkdGg6IDQwMHB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCAyNXB4IDI1cHggMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4uZHJhZy1kcm9wLWxpc3Qge1xuICBib3JkZXI6IHNvbGlkIDFweCAjY2NjO1xuICBtaW4taGVpZ2h0OiA2MHB4O1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmRyYWctZHJvcC1ib3gge1xuICBwYWRkaW5nOiAyMHB4IDEwcHg7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjY2NjO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjdXJzb3I6IG1vdmU7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5jZGstZHJhZy1wcmV2aWV3IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3gtc2hhZG93OiAwIDVweCA1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMiksXG4gICAgICAgICAgICAgIDAgOHB4IDEwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksXG4gICAgICAgICAgICAgIDAgM3B4IDE0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5jZGstZHJhZy1wbGFjZWhvbGRlciB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5jZGstZHJhZy1hbmltYXRpbmcge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjUwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG59XG5cbi5kcmFnLWRyb3AtYm94Omxhc3QtY2hpbGQge1xuICBib3JkZXI6IG5vbmU7XG59XG5cbi5kcmFnLWRyb3AtbGlzdC5jZGstZHJvcC1saXN0LWRyYWdnaW5nIC5kcmFnLWRyb3AtYm94Om5vdCguY2RrLWRyYWctcGxhY2Vob2xkZXIpIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDI1MG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xufVxuIiwiLmRyYWctZHJvcC1jb250YWluZXIge1xuICB3aWR0aDogNDAwcHg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIDI1cHggMjVweCAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5kcmFnLWRyb3AtbGlzdCB7XG4gIGJvcmRlcjogc29saWQgMXB4ICNjY2M7XG4gIG1pbi1oZWlnaHQ6IDYwcHg7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZHJhZy1kcm9wLWJveCB7XG4gIHBhZGRpbmc6IDIwcHggMTBweDtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNjY2M7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGN1cnNvcjogbW92ZTtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLmNkay1kcmFnLXByZXZpZXcge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJveC1zaGFkb3c6IDAgNXB4IDVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCA4cHggMTBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAzcHggMTRweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLmNkay1kcmFnLXBsYWNlaG9sZGVyIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmNkay1kcmFnLWFuaW1hdGluZyB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcbn1cblxuLmRyYWctZHJvcC1ib3g6bGFzdC1jaGlsZCB7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLmRyYWctZHJvcC1saXN0LmNkay1kcm9wLWxpc3QtZHJhZ2dpbmcgLmRyYWctZHJvcC1ib3g6bm90KC5jZGstZHJhZy1wbGFjZWhvbGRlcikge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjUwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG59Il19 */\"","import {Component} from '@angular/core';\nimport {CdkDragDrop, moveItemInArray, transferArrayItem} from '@angular/cdk/drag-drop';\n\n@Component({\n selector: 'app-drag-drop',\n templateUrl: 'drag-drop.component.html',\n styleUrls: ['drag-drop.component.scss'],\n})\nexport class DragDropComponent {\n public todo: string[] = [\n 'Add new features',\n 'Get 1000 stars'\n ];\n\n public done: string[] = [\n 'Angular',\n 'Firebase',\n 'Material desing',\n ];\n\n public drop(event: CdkDragDrop): void {\n if (event.previousContainer === event.container) {\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\n } else {\n transferArrayItem(\n event.previousContainer.data,\n event.container.data,\n event.previousIndex,\n event.currentIndex\n );\n }\n }\n}\n","module.exports = \".navigation {\\n position: relative;\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n margin-left: 35px;\\n margin-bottom: 4em;\\n }\\n \\n .navigation .filler {\\n width: 2em;\\n height: 2em;\\n }\\n \\n .navigation img {\\n width: 2em;\\n height: 2em;\\n margin-right: 5px;\\n cursor: pointer;\\n }\\n \\n h1 {\\n color: rgb(0, 0, 125);\\n text-decoration: underline;\\n font-size: 1.5em;\\n font-family: 'Roboto', sans-serif;\\n margin-left: 35px;\\n cursor: pointer;\\n }\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9taXNjL2R2ei1oZWFkZXIvZHZ6LWhlYWRlci5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLGlCQUFpQjtJQUNqQixrQkFBa0I7RUFDcEI7O0VBRUE7SUFDRSxVQUFVO0lBQ1YsV0FBVztFQUNiOztFQUNBO0lBQ0UsVUFBVTtJQUNWLFdBQVc7SUFDWCxpQkFBaUI7SUFDakIsZUFBZTtFQUNqQjs7RUFFQTtNQUNJLHFCQUFxQjtNQUNyQiwwQkFBMEI7TUFDMUIsZ0JBQWdCO01BQ2hCLGlDQUFpQztNQUNqQyxpQkFBaUI7TUFDakIsZUFBZTtJQUNqQiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvbWlzYy9kdnotaGVhZGVyL2R2ei1oZWFkZXIuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5uYXZpZ2F0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IDM1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNGVtO1xuICB9XG4gIFxuICAubmF2aWdhdGlvbiAuZmlsbGVyIHtcbiAgICB3aWR0aDogMmVtO1xuICAgIGhlaWdodDogMmVtO1xuICB9XG4gIC5uYXZpZ2F0aW9uIGltZyB7XG4gICAgd2lkdGg6IDJlbTtcbiAgICBoZWlnaHQ6IDJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgXG4gIGgxIHtcbiAgICAgIGNvbG9yOiByZ2IoMCwgMCwgMTI1KTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzNXB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH0iXX0= */\"","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'dvz-header',\n templateUrl: './dvz-header.component.html',\n styleUrls: ['./dvz-header.component.css']\n})\nexport class DvzHeaderComponent implements OnInit {\n\n @Input() title: string;\n @Input() link: string;\n @Input() prev: string;\n @Input() next: string;\n @Input() prevTooltip: string;\n @Input() nextTooltip: string;\n @Input() hasNext: boolean;\n @Input() hasPrev: boolean;\n @Input() tooltip: string;\n @Output() nextFn = new EventEmitter();\n @Output() prevFn = new EventEmitter();\n @Input() prevParams;\n @Input() nextParams;\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","module.exports = \".headers-align .mat-expansion-panel-header-title,\\n.headers-align .mat-expansion-panel-header-description {\\n flex-basis: 0;\\n}\\n\\n.headers-align .mat-expansion-panel-header-description {\\n justify-content: space-between;\\n align-items: center;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9yaWNoYXJkL0RvY3VtZW50cy9Xb3JrL2Rpa29icmF6L3NyYy9hcHAvY29tcG9uZW50cy9taXNjL2V4cGFuc2lvbi1wYW5lbC9leHBhbnNpb24tcGFuZWwuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2NvbXBvbmVudHMvbWlzYy9leHBhbnNpb24tcGFuZWwvZXhwYW5zaW9uLXBhbmVsLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztFQUVFLGFBQUE7QUNDRjs7QURFQTtFQUNFLDhCQUFBO0VBQ0EsbUJBQUE7QUNDRiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvbWlzYy9leHBhbnNpb24tcGFuZWwvZXhwYW5zaW9uLXBhbmVsLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmhlYWRlcnMtYWxpZ24gLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXRpdGxlLCBcbi5oZWFkZXJzLWFsaWduIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1kZXNjcmlwdGlvbiB7XG4gIGZsZXgtYmFzaXM6IDA7XG59XG5cbi5oZWFkZXJzLWFsaWduIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1kZXNjcmlwdGlvbiB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn0iLCIuaGVhZGVycy1hbGlnbiAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdGl0bGUsXG4uaGVhZGVycy1hbGlnbiAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVzY3JpcHRpb24ge1xuICBmbGV4LWJhc2lzOiAwO1xufVxuXG4uaGVhZGVycy1hbGlnbiAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVzY3JpcHRpb24ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59Il19 */\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-expansion-panel',\n templateUrl: './expansion-panel.component.html',\n styleUrls: ['./expansion-panel.component.scss']\n})\nexport class ExpansionPanelComponent implements OnInit {\n step = 0;\n\n constructor() { }\n\n ngOnInit() {\n } \n \n setStep(index: number) {\n this.step = index;\n }\n\n nextStep() {\n this.step++;\n }\n\n prevStep() {\n this.step--;\n }\n\n}\n","module.exports = \"#content {\\n padding: 20px;\\n}\\n\\n.container {\\n height: 300px;\\n border: 1px solid rgba(0, 0, 0, 0.5);\\n}\\n\\n.sidenav-content {\\n display: flex;\\n height: 100%;\\n align-items: center;\\n justify-content: center;\\n}\\n\\n.sidenav {\\n padding: 25px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9yaWNoYXJkL0RvY3VtZW50cy9Xb3JrL2Rpa29icmF6L3NyYy9hcHAvY29tcG9uZW50cy9taXNjL21pc2MuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL2NvbXBvbmVudHMvbWlzYy9taXNjLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksYUFBQTtBQ0NKOztBREVBO0VBQ0UsYUFBQTtFQUNBLG9DQUFBO0FDQ0Y7O0FERUE7RUFDRSxhQUFBO0VBQ0EsWUFBQTtFQUNBLG1CQUFBO0VBQ0EsdUJBQUE7QUNDRjs7QURFQTtFQUNFLGFBQUE7QUNDRiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvbWlzYy9taXNjLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI2NvbnRlbnQgeyBcbiAgICBwYWRkaW5nOiAyMHB4O1xufVxuXG4uY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAzMDBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjUpO1xufVxuXG4uc2lkZW5hdi1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnNpZGVuYXYge1xuICBwYWRkaW5nOiAyNXB4O1xufSIsIiNjb250ZW50IHtcbiAgcGFkZGluZzogMjBweDtcbn1cblxuLmNvbnRhaW5lciB7XG4gIGhlaWdodDogMzAwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cblxuLnNpZGVuYXYtY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMTAwJTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5zaWRlbmF2IHtcbiAgcGFkZGluZzogMjVweDtcbn0iXX0= */\"","import { Component, OnInit } from '@angular/core';\nimport { MatDatepicker } from '@angular/material';\n\n@Component({\n selector: 'app-misc',\n templateUrl: './misc.component.html',\n styleUrls: ['./misc.component.scss']\n})\nexport class MiscComponent implements OnInit {\n answer: string;\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatButtonModule, MatCheckboxModule, MatInputModule, MatNativeDateModule,\n MatSlideToggleModule, MatStepperModule, MatTooltipModule, MatSidenavModule,\n MatTableModule, MatCardModule, MatDatepickerModule, MatExpansionModule,\n MatIconModule, MatToolbarModule, MatSnackBarModule } from '@angular/material';\n// import { CdkTableModule } from '@angular/cdk';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { MiscComponent } from './misc.component';\nimport { TableComponent } from './table/table.component';\nimport { StepperComponent } from './stepper/stepper.component';\nimport { DragDropComponent } from './drag-drop/drag-drop.component';\nimport { ExpansionPanelComponent } from './expansion-panel/expansion-panel.component';\nimport { DataManagerComponent } from './data-manager/data-manager.component';\nimport { ParagraphsComponent } from './paragraphs/paragraphs.component';\nimport { NgxPaginationModule } from 'ngx-pagination';\nimport { DvzHeaderComponent } from './dvz-header/dvz-header.component';\nimport { RouterModule } from '@angular/router';\n\n@NgModule({\n declarations: [\n MiscComponent,\n TableComponent,\n StepperComponent,\n DragDropComponent,\n ExpansionPanelComponent,\n DataManagerComponent,\n ParagraphsComponent,\n DvzHeaderComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n MatButtonModule, MatCheckboxModule, MatInputModule, MatNativeDateModule,\n MatSlideToggleModule, MatStepperModule, MatTooltipModule, MatSidenavModule,\n MatTableModule, MatCardModule, MatDatepickerModule, MatExpansionModule,\n MatIconModule, MatToolbarModule,MatSnackBarModule,\n FormsModule, ReactiveFormsModule,\n DragDropModule,\n RouterModule,\n NgxPaginationModule,\n \n ],\n exports: [\n MiscComponent,\n TableComponent,\n StepperComponent,\n ExpansionPanelComponent,\n DataManagerComponent,\n ParagraphsComponent,\n DvzHeaderComponent\n ],\n schemas: [\n CUSTOM_ELEMENTS_SCHEMA\n ]\n})\n\nexport class MiscModule {\n}\n","module.exports = \".headers-align .mat-expansion-panel-header-title,\\n.headers-align .mat-expansion-panel-header-description {\\n flex-basis: 0;\\n}\\n\\n.headers-align .mat-expansion-panel-header-description {\\n justify-content: space-between;\\n align-items: center;\\n}\\n\\n::ng-deep p {\\n margin-top: 0 !important;\\n}\\n\\n::ng-deep table {\\n width: 100%;\\n}\\n\\nfigure {\\n display: flex;\\n flex-direction: column;\\n align-content: center;\\n margin: 0;\\n}\\n\\nfigure img {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n\\nfigure span {\\n margin-top: 10px;\\n text-align: center;\\n font-family: \\\"Roboto\\\", sans-serif;\\n font-size: 0.8em;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9yaWNoYXJkL0RvY3VtZW50cy9Xb3JrL2Rpa29icmF6L3NyYy9hcHAvY29tcG9uZW50cy9taXNjL3BhcmFncmFwaHMvcGFyYWdyYXBocy5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvY29tcG9uZW50cy9taXNjL3BhcmFncmFwaHMvcGFyYWdyYXBocy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7RUFFRSxhQUFBO0FDQ0Y7O0FERUE7RUFDRSw4QkFBQTtFQUNBLG1CQUFBO0FDQ0Y7O0FERUE7RUFDRSx3QkFBQTtBQ0NGOztBREVBO0VBQ0UsV0FBQTtBQ0NGOztBREVBO0VBQ0UsYUFBQTtFQUNBLHNCQUFBO0VBQ0EscUJBQUE7RUFDQSxTQUFBO0FDQ0Y7O0FEQ0U7RUFDRSxpQkFBQTtFQUNBLGtCQUFBO0FDQ0o7O0FERUU7RUFDRSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsaUNBQUE7RUFDQSxnQkFBQTtBQ0FKIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy9taXNjL3BhcmFncmFwaHMvcGFyYWdyYXBocy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5oZWFkZXJzLWFsaWduIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci10aXRsZSwgXG4uaGVhZGVycy1hbGlnbiAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVzY3JpcHRpb24ge1xuICBmbGV4LWJhc2lzOiAwO1xufVxuXG4uaGVhZGVycy1hbGlnbiAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVzY3JpcHRpb24ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbjo6bmctZGVlcCBwIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG46Om5nLWRlZXAgdGFibGUge1xuICB3aWR0aDogMTAwJTtcbn1cblxuZmlndXJlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDA7XG5cbiAgaW1nIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG9cbiAgfVxuXG4gIHNwYW4ge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gIH1cbn0iLCIuaGVhZGVycy1hbGlnbiAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdGl0bGUsXG4uaGVhZGVycy1hbGlnbiAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVzY3JpcHRpb24ge1xuICBmbGV4LWJhc2lzOiAwO1xufVxuXG4uaGVhZGVycy1hbGlnbiAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVzY3JpcHRpb24ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbjo6bmctZGVlcCBwIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG46Om5nLWRlZXAgdGFibGUge1xuICB3aWR0aDogMTAwJTtcbn1cblxuZmlndXJlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDA7XG59XG5maWd1cmUgaW1nIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbmZpZ3VyZSBzcGFuIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAwLjhlbTtcbn0iXX0= */\"","import { Component, Input, OnInit } from '@angular/core';\nimport { Paragraph } from 'src/app/dvz/dikobraz-3d-tiskne-a-modeluje/models/task.model';\n\n@Component({\n selector: 'app-paragraphs',\n templateUrl: './paragraphs.component.html',\n styleUrls: ['./paragraphs.component.scss']\n})\nexport class ParagraphsComponent implements OnInit {\n @Input() paragraphs: Paragraph[] | string;\n\n constructor() { }\n\n ngOnInit() {\n }\n\n isString() {\n return typeof this.paragraphs === 'string';\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvbWlzYy9zdGVwcGVyL3N0ZXBwZXIuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\n\nimport { EmailValidator } from '@shared';\n\n@Component({\n selector: 'app-stepper',\n templateUrl: './stepper.component.html',\n styleUrls: ['./stepper.component.scss']\n})\nexport class StepperComponent implements OnInit {\n isLinear = false;\n firstFormGroup: FormGroup;\n secondFormGroup: FormGroup;\n\n constructor(private _formBuilder: FormBuilder) { }\n\n ngOnInit() {\n this.firstFormGroup = this._formBuilder.group({\n name: ['', Validators.required]\n });\n this.secondFormGroup = this._formBuilder.group({\n email: ['', Validators.compose([Validators.required, EmailValidator.isValid])]\n });\n }\n}\n","module.exports = \".container {\\n display: flex;\\n flex-direction: column;\\n height: 300px;\\n min-width: 300px;\\n}\\n\\n.header {\\n min-height: 64px;\\n display: flex;\\n align-items: center;\\n padding-left: 24px;\\n font-size: 20px;\\n}\\n\\n.mat-table {\\n overflow: auto;\\n}\\n\\n.mat-header-cell .mat-sort-header-sorted {\\n color: black;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9yaWNoYXJkL0RvY3VtZW50cy9Xb3JrL2Rpa29icmF6L3NyYy9hcHAvY29tcG9uZW50cy9taXNjL3RhYmxlL3RhYmxlLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9jb21wb25lbnRzL21pc2MvdGFibGUvdGFibGUuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSxhQUFBO0VBQ0EsZ0JBQUE7QUNDRjs7QURFQTtFQUNFLGdCQUFBO0VBQ0EsYUFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0FDQ0Y7O0FERUE7RUFDRSxjQUFBO0FDQ0Y7O0FERUE7RUFDRSxZQUFBO0FDQ0YiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnRzL21pc2MvdGFibGUvdGFibGUuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgaGVpZ2h0OiAzMDBweDtcbiAgbWluLXdpZHRoOiAzMDBweDtcbn1cblxuLmhlYWRlciB7XG4gIG1pbi1oZWlnaHQ6IDY0cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctbGVmdDogMjRweDtcbiAgZm9udC1zaXplOiAyMHB4O1xufVxuXG4ubWF0LXRhYmxlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi5tYXQtaGVhZGVyLWNlbGwgLm1hdC1zb3J0LWhlYWRlci1zb3J0ZWQge1xuICBjb2xvcjogYmxhY2s7XG59IiwiLmNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGhlaWdodDogMzAwcHg7XG4gIG1pbi13aWR0aDogMzAwcHg7XG59XG5cbi5oZWFkZXIge1xuICBtaW4taGVpZ2h0OiA2NHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cblxuLm1hdC10YWJsZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4ubWF0LWhlYWRlci1jZWxsIC5tYXQtc29ydC1oZWFkZXItc29ydGVkIHtcbiAgY29sb3I6IGJsYWNrO1xufSJdfQ== */\"","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { DataSource } from '@angular/cdk/collections';\nimport { MatSort } from '@angular/material';\nimport { BehaviorSubject } from 'rxjs/BehaviorSubject';\nimport { Observable } from 'rxjs/observable';\n\nimport 'rxjs/add/operator/startWith';\nimport 'rxjs/add/observable/merge';\nimport 'rxjs/add/operator/map';\n\n@Component({\n selector: 'app-table',\n templateUrl: './table.component.html',\n styleUrls: ['./table.component.scss']\n})\nexport class TableComponent implements OnInit {\n displayedColumns = ['userId', 'userName', 'progress', 'color'];\n database = new DataBase();\n dataSource: dataSource | null;\n\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n\n constructor() { }\n\n ngOnInit() {\n this.dataSource = new dataSource(this.database, this.sort);\n }\n}\n\n// Local data\nconst COLORS = ['maroon', 'red', 'orange', 'yellow', 'olive', 'green', 'purple',\n 'fuchsia', 'lime', 'teal', 'aqua', 'blue', 'navy', 'black', 'gray'];\nconst NAMES = ['Maia', 'Asher', 'Olivia', 'Atticus', 'Amelia', 'Jack',\n 'Charlotte', 'Theodore', 'Isla', 'Oliver', 'Isabella', 'Jasper',\n 'Cora', 'Levi', 'Violet', 'Arthur', 'Mia', 'Thomas', 'Elizabeth'];\n\nexport interface UserData {\n id: string;\n name: string;\n progress: string;\n color: string;\n}\n\nexport class DataBase {\n // Stream that emits whenever the data has been modified\n dataChange: BehaviorSubject = new BehaviorSubject([]);\n get data(): UserData[] { return this.dataChange.value; }\n\n constructor() {\n // Fill up the database with 100 users\n for (let i = 0; i < 100; i++) { this.addUser(); }\n }\n\n // Adds a new user to the database\n addUser() {\n const copiedData = this.data.slice();\n copiedData.push(this.createNewUser());\n this.dataChange.next(copiedData);\n }\n\n // Builds and returns a new User\n private createNewUser() {\n const name =\n NAMES[Math.round(Math.random() * (NAMES.length - 1))] + ' ' +\n NAMES[Math.round(Math.random() * (NAMES.length - 1))].charAt(0) + '.';\n\n return {\n id: (this.data.length + 1).toString(),\n name: name,\n progress: Math.round(Math.random() * 100).toString(),\n color: COLORS[Math.round(Math.random() * (COLORS.length - 1))]\n };\n }\n}\n\n// Data source to provide what data should be rendered in the table\nexport class dataSource extends DataSource {\n constructor(private database: DataBase, private sort: MatSort) {\n super();\n }\n\n connect(): Observable {\n const displayDataChanges = [\n this.database.dataChange,\n this.sort.sortChange\n ];\n\n return Observable.merge(...displayDataChanges).map(() => {\n return this.getSortedData();\n });\n }\n\n disconnect() {}\n\n // Sorting the database data\n getSortedData(): UserData[] {\n const data = this.database.data.slice();\n if (!this.sort.active || this.sort.direction === '') { return data; }\n\n return data.sort((a, b) => {\n let propertyA: number|string = '';\n let propertyB: number|string = '';\n\n switch (this.sort.active) {\n case 'userId': [propertyA, propertyB] = [a.id, b.id]; break;\n case 'userName': [propertyA, propertyB] = [a.name, b.name]; break;\n case 'progress': [propertyA, propertyB] = [a.progress, b.progress]; break;\n case 'color': [propertyA, propertyB] = [a.color, b.color]; break;\n }\n\n const valueA = isNaN(+propertyA) ? propertyA : +propertyA;\n const valueB = isNaN(+propertyB) ? propertyB : +propertyB;\n\n return (valueA < valueB ? -1 : 1) * (this.sort.direction === 'asc' ? 1 : -1);\n });\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2R2ei9hZG1pbi9hZG1pbi5jb21wb25lbnQuY3NzIn0= */\"","import { HttpClient } from '@angular/common/http';\nimport { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Params } from '@angular/router';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'app-admin',\n templateUrl: './admin.component.html',\n styleUrls: ['./admin.component.css']\n})\nexport class AdminComponent implements OnInit {\n constructor(private http: HttpClient, private activatedRoute: ActivatedRoute) { \n this.activatedRoute.params.subscribe((params: Params) => {\n if(params[\"dvz\"]) {\n this.http.get('/assets/dvz/'+params['dvz']+'/data-description.json').subscribe((data) => {\n this.endpoints = data['endpoints'];\n this.endpointSchemes = data['endpoint-schemes'];\n })\n }\n });\n }\n public endpoints = []\n public endpointSchemes = {};\n public base = environment.server + '/';\n\n ngOnInit() {\n\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Router, CanActivate, ActivatedRouteSnapshot } from '@angular/router';\nimport * as CryptoJS from 'crypto-js';\nimport { Observable, of } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { map } from 'rxjs/operators';\nimport {CookieService} from 'ngx-cookie-service';\n\n@Injectable()\nexport class AuthGuard implements CanActivate {\n constructor(private router: Router, private http: HttpClient, private cookie: CookieService) {}\n \n canActivate(route: ActivatedRouteSnapshot): Observable {\n if(!route.params[\"dvz\"]) {\n console.log(\"NO DVZ\")\n this.router.navigate([]);\n return of(false);\n }\n return this.http.get('/assets/dvz/'+route.params['dvz']+'/data-description.json').pipe(\n map((data) => {\n console.log(data);\n let pass;\n if(!this.cookie.check('pass-' + route.params[\"dvz\"])) {\n pass = prompt(\"Zadejte heslo:\")\n } else {\n pass = this.cookie.get('pass-' + route.params[\"dvz\"]);\n }\n if (CryptoJS.SHA256(pass).toString() != data['password']) {\n this.router.navigate([]);\n return false;\n }\n this.cookie.set('pass-' + route.params[\"dvz\"], pass);\n return true;\n }),\n catchError(val => {\n this.router.navigate([]);\n return of(false)\n })\n );\n }\n}","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { AdminComponent } from './admin/admin.component';\nimport { AuthGuard } from './auth.guard';\n\n\nconst routes: Routes = [\n { path: 'admin/:dvz', canActivate: [AuthGuard], component: AdminComponent },\n {\n path: 'dikobraz-se-uci-rusky',\n loadChildren: () => import('./dikobraz-se-uci-rusky/dikobraz-se-uci-rusky.module').then(m => m.DikobrazSeUciRuskyModule)\n },\n {\n path: 'dikobraz-se-uci-nemecky',\n loadChildren: () => import('./dikobraz-se-uci-nemecky/dikobraz-se-uci-nemecky.module').then(m => m.DikobrazSeUciNemeckyModule)\n },\n {\n path: 'dikobraz-se-uci-chemii',\n loadChildren: () => import('./dikobraz-se-uci-chemii/dikobraz-se-uci-chemii.module').then(m => m.DikobrazSeUciChemiiModule)\n },\n {\n path: 'dikobraz-se-uci-fyziku',\n loadChildren: () => import('./dikobraz-se-uci-fyziku/dikobraz-se-uci-fyziku.module').then(m => m.DikobrazSeUciFyzikuModule)\n },\n {\n path: 'dikobraz-3d-tiskne-a-modeluje',\n loadChildren: () => import('./dikobraz-3d-tiskne-a-modeluje/dikobraz-3d-tiskne-a-modeluje.module').then(m => m.Dikobraz3dTiskneAModelujeModule)\n },\n {\n path: 'dikobraz-se-uci-francouzsky',\n loadChildren: () => import('./dikobraz-se-uci-francouzsky/dikobraz-se-uci-francouzsky.module').then(m => m.DikobrazSeUciFrancouzskyModule)\n },\n {\n path: 'dikobraz-se-uci-cesky',\n loadChildren: () => import('./dikobraz-se-uci-cesky/dikobraz-se-uci-cesky.module').then(m => m.DikobrazSeUciCeskyModule)\n },\n {\n path: 'dikobraz-se-uci-anglicky',\n loadChildren: () => import('./dikobraz-se-uci-anglicky/dikobraz-se-uci-anglicky.module').then(m => m.DikobrazSeUciAnglickyModule)\n },\n {\n path: 'dikobraz-pise',\n loadChildren: () => import('./dikobraz-pise/dikobraz-pise.module').then(m => m.DikobrazPiseModule)\n },\n {\n path: 'dikobraz-konstruuje',\n loadChildren: () => import('./dikobraz-konstruuje/dikobraz-konstruuje.module').then(m => m.DikobrazKonstruujeModule)\n },\n {\n path: 'dikobraz-hospodari',\n loadChildren: () => import('./dikobraz-hospodari/dikobraz-hospodari.module').then(m => m.DikobrazHospodariModule)\n },\n {\n path: 'dikobraz-cte',\n loadChildren: () => import('./dikobraz-cte/dikobraz-cte.module').then(m => m.DikobrazCteModule)\n }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [AuthGuard]\n})\nexport class DvzRoutingModule { }\n","import { CommonModule } from \"@angular/common\";\nimport { HttpClientModule } from \"@angular/common/http\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport {\n MatButtonModule,\n MatCheckboxModule,\n MatMenuModule,\n MatInputModule,\n MatSnackBarModule,\n MatToolbarModule,\n MatDialogModule,\n MatSidenavModule,\n MatNativeDateModule,\n MatCardModule,\n MatTabsModule,\n MatIconModule,\n MatProgressSpinnerModule,\n MatGridListModule,\n MatRadioModule,\n} from \"@angular/material\";\nimport { MatCarouselModule } from \"@ngmodule/material-carousel\";\nimport { BlocksModule } from \"../components/blocks/blocks.module\";\nimport { MiscModule } from \"../components/misc/misc.module\";\nimport { TasksModule } from \"../tasks/tasks.module\";\nimport { AdminComponent } from \"./admin/admin.component\";\nimport { DvzRoutingModule } from \"./dvz-routing.module\";\n\n@NgModule({\n declarations: [AdminComponent],\n imports: [\n MatButtonModule,\n MatCheckboxModule,\n MatMenuModule,\n MatInputModule,\n MatSnackBarModule,\n MatToolbarModule,\n MatDialogModule,\n MatSidenavModule,\n MatNativeDateModule,\n MatCardModule,\n MatTabsModule,\n MatIconModule,\n MatProgressSpinnerModule,\n MatGridListModule,\n MatRadioModule,\n FormsModule,\n ReactiveFormsModule,\n HttpClientModule,\n BlocksModule,\n TasksModule,\n MiscModule,\n MatCarouselModule,\n CommonModule,\n FormsModule,\n DvzRoutingModule\n ],\n exports: [\n DvzRoutingModule\n ]\n})\nexport class DvzModule {}\n","module.exports = \"#content mat-card{\\n margin: 20px;\\n padding: 30px;\\n}\\n\\n#content {\\n width: 75%;\\n margin-bottom: 10em;\\n}\\n\\nmat-card h2, h2 a {\\n color: rgb(0, 0, 125);\\n font-size: 1em;\\n margin-bottom: 0;\\n}\\n\\nmat-card p {\\n margin-top: 5px;\\n margin-bottom: 0px;\\n}\\n\\nmat-card h2 a {\\n text-decoration: none;\\n}\\n\\n.bg-figure {\\n position: absolute;\\n bottom: 2.5em;\\n right: 2em;\\n width: 200px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvYWJvdXQtbWUvYWJvdXQtbWUuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFlBQVk7RUFDWixhQUFhO0FBQ2Y7O0FBRUE7RUFDRSxVQUFVO0VBQ1YsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UscUJBQXFCO0VBQ3JCLGNBQWM7RUFDZCxnQkFBZ0I7QUFDbEI7O0FBRUE7RUFDRSxlQUFlO0VBQ2Ysa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UscUJBQXFCO0FBQ3ZCOztBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLGFBQWE7RUFDYixVQUFVO0VBQ1YsWUFBWTtBQUNkIiwiZmlsZSI6InNyYy9hcHAvcGFnZXMvYWJvdXQtbWUvYWJvdXQtbWUuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNjb250ZW50IG1hdC1jYXJke1xuICBtYXJnaW46IDIwcHg7XG4gIHBhZGRpbmc6IDMwcHg7XG59XG5cbiNjb250ZW50IHtcbiAgd2lkdGg6IDc1JTtcbiAgbWFyZ2luLWJvdHRvbTogMTBlbTtcbn1cblxubWF0LWNhcmQgaDIsIGgyIGEge1xuICBjb2xvcjogcmdiKDAsIDAsIDEyNSk7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5tYXQtY2FyZCBwIHtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG59XG5cbm1hdC1jYXJkIGgyIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5iZy1maWd1cmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMi41ZW07XG4gIHJpZ2h0OiAyZW07XG4gIHdpZHRoOiAyMDBweDtcbn0iXX0= */\"","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-about-me',\n templateUrl: './about-me.component.html',\n styleUrls: ['./about-me.component.css']\n})\nexport class AboutMeComponent {}\n","module.exports = \"mat-grid-tile img {\\n width: 80%;\\n height: 80%;\\n}\\n\\n#content {\\n margin-left: 20px;\\n margin-right: 20px;\\n font-family: 'Roboto', sans-serif;\\n margin-bottom: 10em;\\n}\\n\\n#content h1, #content p{\\n margin-top: 20px;\\n text-align: justify;\\n}\\n\\n@media only screen and (min-width: 1401px) {\\n #content h1, #content p{\\n margin-left: 2%; \\n margin-right: 2%\\n }\\n}\\n\\n@media only screen and (max-width: 1400px) {\\n #content h1, #content p{\\n margin-left: 3%; \\n margin-right: 3%\\n }\\n}\\n\\n@media only screen and (max-width: 900px) {\\n #content h1, #content p{\\n margin-left: 5%; \\n margin-right: 5%\\n }\\n}\\n\\n@media only screen and (max-width: 500px) {\\n #content h1, #content p{\\n margin-left: 8%; \\n margin-right: 8%\\n }\\n}\\n\\n\\n\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvY291cnNlL2NvdXJzZS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksVUFBVTtJQUNWLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsaUNBQWlDO0lBQ2pDLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSTtRQUNJLGVBQWU7UUFDZjtJQUNKO0FBQ0o7O0FBRUE7SUFDSTtRQUNJLGVBQWU7UUFDZjtJQUNKO0FBQ0o7O0FBRUE7SUFDSTtRQUNJLGVBQWU7UUFDZjtJQUNKO0FBQ0o7O0FBRUE7SUFDSTtRQUNJLGVBQWU7UUFDZjtJQUNKO0FBQ0oiLCJmaWxlIjoic3JjL2FwcC9wYWdlcy9jb3Vyc2UvY291cnNlLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJtYXQtZ3JpZC10aWxlIGltZyB7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBoZWlnaHQ6IDgwJTtcbn1cblxuI2NvbnRlbnQge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICBmb250LWZhbWlseTogJ1JvYm90bycsIHNhbnMtc2VyaWY7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBlbTtcbn1cblxuI2NvbnRlbnQgaDEsICNjb250ZW50IHB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0MDFweCkge1xuICAgICNjb250ZW50IGgxLCAjY29udGVudCBwe1xuICAgICAgICBtYXJnaW4tbGVmdDogMiU7IFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIlXG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0MDBweCkge1xuICAgICNjb250ZW50IGgxLCAjY29udGVudCBwe1xuICAgICAgICBtYXJnaW4tbGVmdDogMyU7IFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMlXG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgI2NvbnRlbnQgaDEsICNjb250ZW50IHB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1JTsgXG4gICAgICAgIG1hcmdpbi1yaWdodDogNSVcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICAjY29udGVudCBoMSwgI2NvbnRlbnQgcHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDglOyBcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4JVxuICAgIH1cbn1cblxuXG5cbiJdfQ== */\"","import { HttpClient } from '@angular/common/http';\nimport { ValueConverter } from '@angular/compiler/src/render3/view/template';\nimport { Component, HostListener, OnInit } from '@angular/core';\nimport { HasSubscriptions } from '@shared/utilities';\nimport * as _ from 'lodash';\n\n@Component({\n selector: 'app-course',\n templateUrl: './course.component.html',\n styleUrls: ['./course.component.css']\n})\nexport class CourseComponent extends HasSubscriptions implements OnInit {\n\n\n public isLoading = true;\n public courseList: any[] = [];\n public innerWidth: any;\n\n constructor(private files: HttpClient) {\n super();\n this.loadLessons();\n }\n\n private loadLessons() {\n this.safeSubscribe(\n this.files.get('/assets/data/lessons.json'),\n (fileContent) => {\n this.isLoading = false;\n console.log(fileContent);\n const ids = _.keys(fileContent);\n this.courseList = _.map(_.values(fileContent), (value: any, index: number) => ({...value, id: ids[index]}));\n console.log(this.courseList, _.isArray(this.courseList));\n }\n );\n }\n\n ngOnInit() {\n this.innerWidth = window.innerWidth;\n }\n\n colNum() {\n return this.innerWidth < 500 ? \"1\" : \n this.innerWidth < 900 ? \"2\" : \n this.innerWidth < 1400 ? \"3\" :\n \"4\";\n }\n\n @HostListener('window:resize', ['$event'])\n onResize(event) {\n this.innerWidth = window.innerWidth;\n }\n\n}\n","module.exports = \"#content mat-card{\\n margin: 20px;\\n padding: 30px;\\n}\\n\\n#content {\\n width: 75%;\\n margin-bottom: 10em;\\n}\\n\\nli {\\n list-style-image: url(\\\"/assets/img/plus.svg\\\");\\n}\\n\\nli::marker {\\n font-size: 1em;\\n}\\n\\nmat-item:first-of-type {\\n margin-top: 10px;\\n}\\n\\nmat-item {\\n margin-top: 5px;\\n}\\n\\nmat-item {\\n margin-left: 10px;\\n}\\n\\nmat-card h2, h2 a, mat-item b {\\n color: rgb(0, 0, 125);\\n font-size: 1em;\\n margin-bottom: 0;\\n}\\n\\nmat-card p {\\n margin-top: 5px;\\n margin-bottom: 0px;\\n}\\n\\nmat-card h2 a {\\n text-decoration: none;\\n}\\n\\n.bg-figure {\\n position: absolute;\\n bottom: 3em;\\n right: 2em;\\n width: 200px;\\n}\\n\\nmat-item {\\n display: block;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvaG9tZS9ob21lLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxZQUFZO0VBQ1osYUFBYTtBQUNmOztBQUVBO0VBQ0UsVUFBVTtFQUNWLG1CQUFtQjtBQUNyQjs7QUFDQTtFQUNFLDZDQUE2QztBQUMvQzs7QUFFQTtFQUNFLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSxnQkFBZ0I7QUFDbEI7O0FBRUE7RUFDRSxlQUFlO0FBQ2pCOztBQUVBO0VBQ0UsaUJBQWlCO0FBQ25COztBQUNBO0VBQ0UscUJBQXFCO0VBQ3JCLGNBQWM7RUFDZCxnQkFBZ0I7QUFDbEI7O0FBRUE7RUFDRSxlQUFlO0VBQ2Ysa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UscUJBQXFCO0FBQ3ZCOztBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxVQUFVO0VBQ1YsWUFBWTtBQUNkOztBQUVBO0VBQ0UsY0FBYztBQUNoQiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL2hvbWUvaG9tZS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI2NvbnRlbnQgbWF0LWNhcmR7XG4gIG1hcmdpbjogMjBweDtcbiAgcGFkZGluZzogMzBweDtcbn1cblxuI2NvbnRlbnQge1xuICB3aWR0aDogNzUlO1xuICBtYXJnaW4tYm90dG9tOiAxMGVtO1xufVxubGkge1xuICBsaXN0LXN0eWxlLWltYWdlOiB1cmwoXCIvYXNzZXRzL2ltZy9wbHVzLnN2Z1wiKTtcbn1cblxubGk6Om1hcmtlciB7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG5tYXQtaXRlbTpmaXJzdC1vZi10eXBlIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxubWF0LWl0ZW0ge1xuICBtYXJnaW4tdG9wOiA1cHg7XG59XG5cbm1hdC1pdGVtIHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59XG5tYXQtY2FyZCBoMiwgaDIgYSwgbWF0LWl0ZW0gYiB7XG4gIGNvbG9yOiByZ2IoMCwgMCwgMTI1KTtcbiAgZm9udC1zaXplOiAxZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbm1hdC1jYXJkIHAge1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIG1hcmdpbi1ib3R0b206IDBweDtcbn1cblxubWF0LWNhcmQgaDIgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmJnLWZpZ3VyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAzZW07XG4gIHJpZ2h0OiAyZW07XG4gIHdpZHRoOiAyMDBweDtcbn1cblxubWF0LWl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbn0iXX0= */\"","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-home',\n templateUrl: 'home.component.html',\n styleUrls:[\n \"home.component.css\"\n ]\n})\n\nexport class HomeComponent {\n public fullImagePath: string = '/assets/img/mb-bg-06.png';\n public onToTop(): void {\n document.body.scrollTop = document.documentElement.scrollTop = 0;\n }\n\n}\n","module.exports = \"#content mat-card{\\n margin: 20px;\\n padding: 30px;\\n }\\n \\n #content {\\n width: 75%;\\n margin-bottom: 10em;\\n }\\n \\n mat-card h2, h2 a {\\n color: rgb(0, 0, 125);\\n font-size: 1em;\\n margin-bottom: 0;\\n }\\n \\n mat-card p {\\n margin-top: 5px;\\n margin-bottom: 0px;\\n }\\n \\n mat-card h2 a {\\n text-decoration: none;\\n }\\n \\n .bg-figure {\\n position: absolute;\\n bottom: 2.5em;\\n right: 2em;\\n width: 200px;\\n }\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvbGVhcm4vbGVhcm4uY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLFlBQVk7SUFDWixhQUFhO0VBQ2Y7O0VBRUE7SUFDRSxVQUFVO0lBQ1YsbUJBQW1CO0VBQ3JCOztFQUVBO0lBQ0UscUJBQXFCO0lBQ3JCLGNBQWM7SUFDZCxnQkFBZ0I7RUFDbEI7O0VBRUE7SUFDRSxlQUFlO0lBQ2Ysa0JBQWtCO0VBQ3BCOztFQUVBO0lBQ0UscUJBQXFCO0VBQ3ZCOztFQUVBO0lBQ0Usa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYixVQUFVO0lBQ1YsWUFBWTtFQUNkIiwiZmlsZSI6InNyYy9hcHAvcGFnZXMvbGVhcm4vbGVhcm4uY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNjb250ZW50IG1hdC1jYXJke1xuICAgIG1hcmdpbjogMjBweDtcbiAgICBwYWRkaW5nOiAzMHB4O1xuICB9XG4gIFxuICAjY29udGVudCB7XG4gICAgd2lkdGg6IDc1JTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMGVtO1xuICB9XG4gIFxuICBtYXQtY2FyZCBoMiwgaDIgYSB7XG4gICAgY29sb3I6IHJnYigwLCAwLCAxMjUpO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgXG4gIG1hdC1jYXJkIHAge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gIH1cbiAgXG4gIG1hdC1jYXJkIGgyIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuICBcbiAgLmJnLWZpZ3VyZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMi41ZW07XG4gICAgcmlnaHQ6IDJlbTtcbiAgICB3aWR0aDogMjAwcHg7XG4gIH0iXX0= */\"","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-learn',\n templateUrl: './learn.component.html',\n styleUrls: ['./learn.component.css']\n})\nexport class LearnComponent {\n\n\n}\n","import { Component } from '@angular/core';\n\n@Component({\n template: `\n
    \n \n

    Stránka nenalezena 404

    \n Stránka, kterou hledáte, neexistuje. Hlavní stránka.\n
    \n
    \n`,\n styles: ['#content { padding: 20px;}']\n})\n\nexport class PageNotFoundComponent {}\n","module.exports = \".main-text {\\n min-width: 75%;\\n min-height: 90%;\\n padding: 20px 50px;\\n}\\n\\nmat-card-header {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n}\\n\\n.carousel-indicators.ng-star-inserted {\\n pointer-events: none;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvcXVpei9xdWl6LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxjQUFjO0lBQ2QsZUFBZTtJQUNmLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGFBQWE7SUFDYix1QkFBdUI7SUFDdkIsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksb0JBQW9CO0FBQ3hCIiwiZmlsZSI6InNyYy9hcHAvcGFnZXMvcXVpei9xdWl6LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubWFpbi10ZXh0IHtcbiAgICBtaW4td2lkdGg6IDc1JTtcbiAgICBtaW4taGVpZ2h0OiA5MCU7XG4gICAgcGFkZGluZzogMjBweCA1MHB4O1xufVxuXG5tYXQtY2FyZC1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmNhcm91c2VsLWluZGljYXRvcnMubmctc3Rhci1pbnNlcnRlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59Il19 */\"","import { Component, OnInit, ComponentFactoryResolver, ViewChild, ViewChildren, QueryList, ViewContainerRef } from '@angular/core';\nimport { ActivatedRoute, Params } from '@angular/router';\nimport { HasSubscriptions } from '@shared/utilities';\nimport { HttpClient } from '@angular/common/http';\nimport { Section, Quiz } from '@shared/models';\nimport { TaskDirective } from 'src/app/tasks/task.directive';\nimport { TaskComponent } from 'src/app/tasks/task';\nimport { Tasks } from 'src/app/tasks/task.constants';\nimport * as _ from \"lodash\";\nimport { MatSnackBar } from '@angular/material';\n@Component({\n selector: 'app-quiz',\n templateUrl: './quiz.component.html',\n styleUrls: ['./quiz.component.css']\n})\nexport class QuizComponent extends HasSubscriptions implements OnInit {\n\n public currentSection: Section;\n public isLoading: boolean = true;\n public slideDone: boolean[];\n @ViewChildren(TaskDirective) taskContainers: QueryList;\n\n constructor(public url: ActivatedRoute, public files: HttpClient, private componentFactoryResolver: ComponentFactoryResolver ) {\n super();\n }\n\n ngAfterViewInit() {\n this.safeSubscribe(\n this.url.params,\n (params: Params) => {\n this.isLoading = true;\n this.loadSection(params[\"lesson\"], params[\"section\"]);\n }\n )\n }\n\n private loadSection(lesson: string, section: string) {\n this.safeSubscribe(\n this.files.get(\"/assets/data/sections.json\"),\n (fileContent) => {\n if(fileContent[lesson]) {\n this.slideDone = new Array(fileContent[lesson][section].quizes.length).fill(false);\n this.currentSection = fileContent[lesson][section];\n } else {\n this.currentSection = null;\n }\n this.isLoading = false;\n setTimeout(() => this.loadAllTasks(this.currentSection.quizes));\n }\n )\n \n }\n\n private loadAllTasks(quizes: Quiz[]) {\n for(let quizIndex in quizes) {\n this.loadTask(this.taskContainers.toArray()[quizIndex].viewContainerRef, quizes[quizIndex]);\n }\n }\n\n private loadTask(viewContainerRef: ViewContainerRef, task: Quiz) {\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(Tasks[task.type]);\n viewContainerRef.clear();\n const componentRef = viewContainerRef.createComponent(componentFactory);\n (componentRef.instance).data = task.data;\n this.safeSubscribe(\n (componentRef.instance).taskSubmitted,\n (correct: boolean) => {\n if(this.slideDone.indexOf(false) != -1) {\n this.slideDone[this.slideDone.indexOf(false)] = true;\n }\n }\n );\n }\n\n public allSlidesDone() {\n return _.every(this.slideDone);\n }\n\n public slideUnlocked(index: number) {\n return index == 0 || this.slideDone[index - 1];\n }\n\n ngOnInit() {\n }\n\n}\n","export * from './models';\nexport * from './layout';\nexport * from './services';\nexport * from './validators';\n","module.exports = \".icon {\\n padding: 0 14px;\\n}\\n\\nmat-icon {\\n color: rgba(255, 255, 255, 0.87);\\n}\\n\\n.open-access {\\n font-size: 6px;\\n width: 40%;\\n line-break: anywhere;\\n overflow: hidden;\\n white-space: pre-wrap;\\n float: right;\\n position: absolute;\\n right: 120px;\\n line-height: 7px;\\n}\\n\\n.open-access a {\\n color: white;\\n text-decoration: underline;\\n}\\n\\n.access-icon {\\n position: absolute;\\n right: 5px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9yaWNoYXJkL0RvY3VtZW50cy9Xb3JrL2Rpa29icmF6L3NyYy9hcHAvc2hhcmVkL2xheW91dC9mb290ZXIvZm9vdGVyLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9zaGFyZWQvbGF5b3V0L2Zvb3Rlci9mb290ZXIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxlQUFBO0FDQ0Y7O0FERUE7RUFDRSxnQ0FBQTtBQ0NGOztBREVBO0VBQ0UsY0FBQTtFQUNBLFVBQUE7RUFDQSxvQkFBQTtFQUNBLGdCQUFBO0VBQ0EscUJBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0VBQ0EsZ0JBQUE7QUNDRjs7QURFQTtFQUNFLFlBQUE7RUFDQSwwQkFBQTtBQ0NGOztBREVBO0VBQ0Usa0JBQUE7RUFDQSxVQUFBO0FDQ0YiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvbGF5b3V0L2Zvb3Rlci9mb290ZXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuaWNvbiB7XG4gIHBhZGRpbmc6IDAgMTRweDtcbn1cblxubWF0LWljb24ge1xuICBjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC44Nyk7XG59XG5cbi5vcGVuLWFjY2VzcyB7XG4gIGZvbnQtc2l6ZTogNnB4O1xuICB3aWR0aDogNDAlO1xuICBsaW5lLWJyZWFrOiBhbnl3aGVyZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICBmbG9hdDogcmlnaHQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDEyMHB4O1xuICBsaW5lLWhlaWdodDogN3B4O1xufVxuXG4ub3Blbi1hY2Nlc3MgYSB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5hY2Nlc3MtaWNvbiB7IFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiA1cHg7XG59IiwiLmljb24ge1xuICBwYWRkaW5nOiAwIDE0cHg7XG59XG5cbm1hdC1pY29uIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44Nyk7XG59XG5cbi5vcGVuLWFjY2VzcyB7XG4gIGZvbnQtc2l6ZTogNnB4O1xuICB3aWR0aDogNDAlO1xuICBsaW5lLWJyZWFrOiBhbnl3aGVyZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICBmbG9hdDogcmlnaHQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDEyMHB4O1xuICBsaW5lLWhlaWdodDogN3B4O1xufVxuXG4ub3Blbi1hY2Nlc3MgYSB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5hY2Nlc3MtaWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDVweDtcbn0iXX0= */\"","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-footer',\n templateUrl: 'footer.component.html',\n styleUrls: ['./footer.component.scss']\n})\nexport class FooterComponent {\n\n}\n","module.exports = \"#content {\\n padding: 20px;\\n}\\n\\n.spacer {\\n flex: 1 1 auto;\\n}\\n\\n.spacer-light {\\n margin: 0 10px;\\n}\\n\\nspan a, span a:hover {\\n text-decoration: none;\\n color: rgba(255, 255, 255, 0.87);\\n}\\n\\nspan a:hover {\\n text-decoration: underline;\\n}\\n\\nmat-icon {\\n margin-right: 0px !important;\\n}\\n\\na, a:hover {\\n text-decoration: none;\\n color: rgba(0, 0, 0, 0.87);\\n}\\n\\nspan {\\n margin-left: 15px;\\n}\\n\\nimg {\\n margin: 10px 80px 0 0;\\n width: auto;\\n max-height: 24px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9yaWNoYXJkL0RvY3VtZW50cy9Xb3JrL2Rpa29icmF6L3NyYy9hcHAvc2hhcmVkL2xheW91dC9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9zaGFyZWQvbGF5b3V0L2hlYWRlci9oZWFkZXIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0E7RUFDRSxhQUFBO0FDQUY7O0FER0E7RUFDRSxjQUFBO0FDQUY7O0FER0E7RUFDRSxjQUFBO0FDQUY7O0FER0E7RUFDRSxxQkFBQTtFQUNBLGdDQUFBO0FDQUY7O0FERUE7RUFDRSwwQkFBQTtBQ0NGOztBREVBO0VBQ0UsNEJBQUE7QUNDRjs7QURFQTtFQUNFLHFCQUFBO0VBQ0EsMEJBQUE7QUNDRjs7QURHQTtFQUNFLGlCQUFBO0FDQUY7O0FER0E7RUFDRSxxQkFBQTtFQUNBLFdBQUE7RUFDQSxnQkFBQTtBQ0FGIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL2xheW91dC9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gSGVhZGVyXG4jY29udGVudCB7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG5cbi5zcGFjZXIge1xuICBmbGV4OiAxIDEgYXV0bztcbn1cblxuLnNwYWNlci1saWdodCB7XG4gIG1hcmdpbjogMCAxMHB4O1xufVxuXG5zcGFuIGEsIHNwYW4gYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuODcpO1xufVxuc3BhbiBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbm1hdC1pY29uIHtcbiAgbWFyZ2luLXJpZ2h0OiAwcHghaW1wb3J0YW50O1xufVxuXG5hLCBhOmhvdmVyIHsgXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6cmdiYSgwLDAsMCwuODcpO1xufVxuXG5cbnNwYW4ge1xuICBtYXJnaW4tbGVmdDogMTVweDtcbn1cblxuaW1nIHtcbiAgbWFyZ2luOiAxMHB4IDgwcHggMCAwO1xuICB3aWR0aDogYXV0bztcbiAgbWF4LWhlaWdodDogMjRweDtcbn1cbiIsIiNjb250ZW50IHtcbiAgcGFkZGluZzogMjBweDtcbn1cblxuLnNwYWNlciB7XG4gIGZsZXg6IDEgMSBhdXRvO1xufVxuXG4uc3BhY2VyLWxpZ2h0IHtcbiAgbWFyZ2luOiAwIDEwcHg7XG59XG5cbnNwYW4gYSwgc3BhbiBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg3KTtcbn1cblxuc3BhbiBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbm1hdC1pY29uIHtcbiAgbWFyZ2luLXJpZ2h0OiAwcHggIWltcG9ydGFudDtcbn1cblxuYSwgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG5cbnNwYW4ge1xuICBtYXJnaW4tbGVmdDogMTVweDtcbn1cblxuaW1nIHtcbiAgbWFyZ2luOiAxMHB4IDgwcHggMCAwO1xuICB3aWR0aDogYXV0bztcbiAgbWF4LWhlaWdodDogMjRweDtcbn0iXX0= */\"","import { Component } from '@angular/core';\n\n\n@Component({\n selector: 'app-header',\n templateUrl: 'header.component.html',\n styleUrls: ['./header.component.scss'],\n})\nexport class HeaderComponent {\n public logo: string = '/assets/img/logo.png';\n\n}\n","export * from './footer/footer.component';\nexport * from './header/header.component';\n","export * from \"./lesson.model\";\nexport * from \"./section.model\";\nexport * from \"./map.model\";\n","export class Lesson {\n title: string;\n background: string;\n description: string;\n sections: string[];\n}","export const mainEntryPoints: EntryPoint[] = [\n {\n id: 0,\n name: \"kvk\",\n style: {\n left: \"23%\",\n top: \"25%\",\n height: \"2.5rem\",\n width: \"2.5rem\",\n \"background-color\": \"red\",\n },\n },\n {\n id: 1,\n name: \"plk\",\n style: {\n left: \"24%\",\n top: \"45%\",\n height: \"4rem\",\n width: \"4rem\",\n \"background-color\": \"red\",\n },\n },\n {\n id: 2,\n name: \"ulk\",\n style: {\n left: \"33%\",\n top: \"15%\",\n height: \"3rem\",\n width: \"3rem\",\n \"background-color\": \"red\",\n },\n },\n {\n id: 3,\n name: \"stc\",\n style: {\n left: \"39%\",\n top: \"45%\",\n height: \"3rem\",\n width: \"3rem\",\n \"background-color\": \"red\",\n },\n },\n {\n id: 4,\n name: \"pha\",\n style: {\n left: \"39.5%\",\n top: \"35.5%\",\n height: \"1.5rem\",\n width: \"1.5rem\",\n \"background-color\": \"red\",\n },\n },\n {\n id: 5,\n name: \"jhc\",\n style: {\n left: \"35%\",\n top: \"65%\",\n height: \"5rem\",\n width: \"5rem\",\n \"background-color\": \"red\",\n },\n },\n {\n id: 6,\n name: \"lbk\",\n style: {\n left: \"46%\",\n top: \"12%\",\n height: \"3rem\",\n width: \"3rem\",\n \"background-color\": \"red\",\n },\n },\n {\n id: 7,\n name: \"hkk\",\n style: {\n left: \"53%\",\n top: \"27%\",\n height: \"3.5rem\",\n width: \"3.5rem\",\n \"background-color\": \"red\",\n },\n },\n {\n id: 8,\n name: \"pak\",\n style: {\n left: \"56%\",\n top: \"47%\",\n height: \"3.5rem\",\n width: \"3.5rem\",\n \"background-color\": \"red\",\n },\n },\n {\n id: 9,\n name: \"vys\",\n style: {\n left: \"49%\",\n top: \"60%\",\n height: \"4rem\",\n width: \"4rem\",\n \"background-color\": \"red\",\n },\n },\n {\n id: 10,\n name: \"jhm\",\n style: {\n left: \"58%\",\n top: \"75%\",\n height: \"4rem\",\n width: \"4rem\",\n \"background-color\": \"red\",\n },\n },\n {\n id: 11,\n name: \"olk\",\n style: {\n left: \"64%\",\n top: \"56%\",\n height: \"3rem\",\n width: \"3rem\",\n \"background-color\": \"red\",\n },\n },\n {\n id: 12,\n name: \"zlk\",\n style: {\n left: \"69%\",\n top: \"76%\",\n height: \"3rem\",\n width: \"3rem\",\n \"background-color\": \"red\",\n },\n },\n {\n id: 13,\n name: \"msk\",\n style: {\n left: \"74%\",\n top: \"55%\",\n height: \"4rem\",\n width: \"4rem\",\n \"background-color\": \"red\",\n },\n },\n ];\n \n export class EntryPoint {\n id: number;\n name: string;\n style: {\n left: string;\n top: string;\n height: string;\n width: string;\n \"background-color\": string;\n };\n }\n ","import { TaskData } from \"src/app/tasks/task\";\n\nexport class Section {\n title: string;\n content: Page[];\n quizes: Quiz[];\n}\n\nexport class Page {\n title: string;\n text: string;\n}\n\nexport class Quiz {\n title: string;\n type: string;\n data: TaskData;\n}","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Pipe({\n name: 'sanitizePipe'\n})\nexport class SanitizePipe implements PipeTransform {\n\n constructor(private _sanitizer: DomSanitizer){} \n\n transform(v: string) : SafeHtml {\n return this._sanitizer.bypassSecurityTrustHtml(v); \n } \n} \n","import { Injectable } from '@angular/core';\nimport { MatSnackBar } from '@angular/material';\n\n@Injectable()\nexport class AlertService {\n\n constructor(private snackBar: MatSnackBar) {}\n\n public showToaster(msg: string): void {\n this.snackBar.open(msg, null, {\n duration: 3500,\n });\n }\n}\n","export * from './alert.service';\nexport * from './window.service';\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class WindowService {\n\n get windowRef(): Window {\n return window;\n }\n\n}\n","export const compareStrings = (textA: string, textB: string): boolean => {\n if (typeof textA === \"string\" && typeof textB === \"string\") {\n return normalize(textA) === normalize(textB);\n } else {\n return false;\n }\n};\n\nexport const normalize = (text: string): string => {\n return text\n .normalize(\"NFD\")\n .replace(/\\p{Diacritic}/gu, \"\")\n .trim()\n .toLowerCase();\n};\n\nexport const isStringInArr = (text: string, arr: string[]): boolean => {\n for (const element of arr) {\n if (compareStrings(text, element)) {\n return true;\n }\n }\n return false;\n};\n\nexport const compareStringAndArray = (\n text: string,\n array: string[]\n): boolean => {\n return array.some((string) => compareStrings(text, string));\n};\n\nexport const spacesToUnderlines = (text: string): string => {\n return text.replace(/ /gu, \"_\");\n};\n\nexport const underlinesToSpaces = (text: string): string => {\n return text.replace(/_/gu, \" \");\n};\n","import { Subject, Observable, PartialObserver, Subscription } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\nimport { OnDestroy } from \"@angular/core\";\n\nexport class HasSubscriptions implements OnDestroy {\n protected destroy$: Subject = new Subject();\n\n protected safeSubscribe(eventSource: Observable, eventHandler:(value: T) => void): Subscription {\n return eventSource.pipe(\n takeUntil(this.destroy$)\n ).subscribe(eventHandler);\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.unsubscribe();\n }\n}","export * from './has-subscriptions';\nexport * from './match-all';","export function matchAll(pattern,haystack){\n var regex = new RegExp(pattern,\"g\")\n var matches = [];\n \n var match_result = haystack.match(regex);\n \n for (let index in match_result){\n var item = match_result[index];\n matches[index] = item.match(new RegExp(pattern)); \n }\n return matches;\n}","import { FormControl } from '@angular/forms';\n\nexport class EmailValidator {\n\n public static isValid (control: FormControl) {\n const RegEx = /^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/.test(control.value);\n\n if (RegEx) {\n return null;\n }\n\n return {\n 'invalidEmail': true\n };\n }\n}\n","export * from './email';\n","module.exports = \"\\nmat-card.mat-card {\\n color:rgb(0, 0, 125) !important;\\n font-weight: normal;\\n font-family: 'Roboto Slab', 'Roboto' serif;\\n line-height: 1.8em;\\n}\\n\\nmat-card.mat-card.question {\\n margin-top: 0;\\n margin-bottom: 1em;\\n border-radius: 5px;\\n box-shadow: none !important;\\n background: none !important;\\n border: dashed 2px rgb(0,0,125);\\n color: rgb(0,0,125) !important;\\n font-family: \\\"Roboto\\\" !important;\\n font-weight: bold !important;\\n }\\n\\n.inline-image {\\n height: 3em;\\n vertical-align: middle;\\n display: inline;\\n }\\n\\n.columns {\\n display: flex;\\n flex-direction: row;\\n flex-wrap: wrap;\\n justify-content: space-between;\\n row-gap: 2em;\\n margin-bottom: 2em;\\n }\\n\\n.columns .block {\\n width: 100%;\\n }\\n\\n.columns.columns-2 .block {\\n width: 40%;\\n }\\n\\n.columns.columns-3 .block{\\n width: 25%;\\n }\\n\\n.play { cursor:pointer;\\n display: inline;\\n width: 2em;\\n margin-right: 1em;\\n vertical-align: middle;\\n}\\n\\n.block {\\n display: flex;\\n flex-direction: row;\\n justify-content: center;\\n align-items: flex-start;\\n}\\n\\n.subblock {\\n display: flex;\\n flex-direction: column;\\n justify-content: flex-start;\\n align-items: center;\\n}\\n\\n.subblock mat-card {\\n background: #FEF1E6 !important;\\n padding: 5px !important;\\n width: 80%;\\n margin-bottom: 1em;\\n}\\n\\n.subblock span {\\n color: rgb(0, 0, 125);\\n font-weight: bold;\\n font-size: 1em;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvYXVkaW9ncmlkL2F1ZGlvZ3JpZC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQTtJQUNJLCtCQUErQjtJQUMvQixtQkFBbUI7SUFDbkIsMENBQTBDO0lBQzFDLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGFBQWE7SUFDYixrQkFBa0I7SUFDbEIsa0JBQWtCO0lBQ2xCLDJCQUEyQjtJQUMzQiwyQkFBMkI7SUFDM0IsK0JBQStCO0lBQy9CLDhCQUE4QjtJQUM5QixnQ0FBZ0M7SUFDaEMsNEJBQTRCO0VBQzlCOztBQUVBO0lBQ0UsV0FBVztJQUNYLHNCQUFzQjtJQUN0QixlQUFlO0VBQ2pCOztBQUVBO0lBQ0UsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixlQUFlO0lBQ2YsOEJBQThCO0lBQzlCLFlBQVk7SUFDWixrQkFBa0I7RUFDcEI7O0FBRUE7SUFDRSxXQUFXO0VBQ2I7O0FBRUE7SUFDRSxVQUFVO0VBQ1o7O0FBRUE7SUFDRSxVQUFVO0VBQ1o7O0FBRUYsUUFBUSxjQUFjO0VBQ3BCLGVBQWU7RUFDZixVQUFVO0VBQ1YsaUJBQWlCO0VBQ2pCLHNCQUFzQjtBQUN4Qjs7QUFFQTtFQUNFLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsdUJBQXVCO0VBQ3ZCLHVCQUF1QjtBQUN6Qjs7QUFFQTtFQUNFLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsMkJBQTJCO0VBQzNCLG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLDhCQUE4QjtFQUM5Qix1QkFBdUI7RUFDdkIsVUFBVTtFQUNWLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLHFCQUFxQjtFQUNyQixpQkFBaUI7RUFDakIsY0FBYztBQUNoQiIsImZpbGUiOiJzcmMvYXBwL3Rhc2tzL2F1ZGlvZ3JpZC9hdWRpb2dyaWQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIlxubWF0LWNhcmQubWF0LWNhcmQge1xuICAgIGNvbG9yOnJnYigwLCAwLCAxMjUpICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LWZhbWlseTogJ1JvYm90byBTbGFiJywgJ1JvYm90bycgc2VyaWY7XG4gICAgbGluZS1oZWlnaHQ6IDEuOGVtO1xufVxuXG5tYXQtY2FyZC5tYXQtY2FyZC5xdWVzdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiBkYXNoZWQgMnB4IHJnYigwLDAsMTI1KTtcbiAgICBjb2xvcjogcmdiKDAsMCwxMjUpICFpbXBvcnRhbnQ7XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlubGluZS1pbWFnZSB7XG4gICAgaGVpZ2h0OiAzZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gIH1cblxuICAuY29sdW1ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcm93LWdhcDogMmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgfVxuXG4gIC5jb2x1bW5zIC5ibG9jayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuY29sdW1ucy5jb2x1bW5zLTIgLmJsb2NrIHtcbiAgICB3aWR0aDogNDAlO1xuICB9XG5cbiAgLmNvbHVtbnMuY29sdW1ucy0zIC5ibG9ja3tcbiAgICB3aWR0aDogMjUlO1xuICB9XG5cbi5wbGF5IHsgY3Vyc29yOnBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgd2lkdGg6IDJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5ibG9jayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLnN1YmJsb2NrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uc3ViYmxvY2sgbWF0LWNhcmQge1xuICBiYWNrZ3JvdW5kOiAjRkVGMUU2ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDVweCAhaW1wb3J0YW50O1xuICB3aWR0aDogODAlO1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbi5zdWJibG9jayBzcGFuIHtcbiAgY29sb3I6IHJnYigwLCAwLCAxMjUpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxZW07XG59Il19 */\"","import { Component, OnInit, Input, Output, EventEmitter, ViewChildren, TemplateRef, ElementRef, QueryList, Inject, ChangeDetectorRef, ViewEncapsulation, OnChanges, SimpleChange } from '@angular/core';\nimport { TaskComponent } from '../task';\nimport * as _ from \"lodash\";\nimport { Observable, Subscription } from 'rxjs';\nimport { Howl } from \"howler\";\n\nexport declare type AudiogridBlock = {\n left: {\n audio: string;\n text: string;\n }[];\n right: {\n audio: string;\n text: string;\n }[];\n}\n\nexport declare type AudiogridData = {\n type?: string;\n question?: string;\n blocks: AudiogridBlock[];\n};\n\n@Component({\n selector: \"app-audiogrid\",\n templateUrl: \"./audiogrid.component.html\",\n styleUrls: [\"./audiogrid.component.css\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class AudiogridComponent implements TaskComponent, OnInit {\n @Input() data: AudiogridData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n public isAnswered = false;\n @Input() submitTask: Observable;\n public recordings: {left: Howl[], right: Howl[]}[] = [];\n\n constructor() {\n\n }\n\n ngOnInit() {\n this.recordings = this.data.blocks.map((block) => { return { left: block.left.map((item) => new Howl({src:[item.audio]})), right: block.right.map((item) => new Howl({src:[item.audio]}))}})\n }\n\n ngOnChanges() {\n this.recordings = this.data.blocks.map((block) => { return { left: block.left.map((item) => new Howl({src:[item.audio]})), right: block.right.map((item) => new Howl({src:[item.audio]}))}})\n }\n\n\n\n}\n","module.exports = \".example-radio-group {\\n display: flex;\\n flex-direction: column;\\n margin: 15px 0;\\n }\\n .example-radio-button {\\n margin: 5px;\\n }\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvY2FsY3VsYXRlL2NhbGN1bGF0ZS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixjQUFjO0VBQ2hCO0VBQ0E7SUFDRSxXQUFXO0VBQ2IiLCJmaWxlIjoic3JjL2FwcC90YXNrcy9jYWxjdWxhdGUvY2FsY3VsYXRlLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZXhhbXBsZS1yYWRpby1ncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbjogMTVweCAwO1xuICB9XG4gIC5leGFtcGxlLXJhZGlvLWJ1dHRvbiB7XG4gICAgbWFyZ2luOiA1cHg7XG4gIH0iXX0= */\"","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { TaskComponent } from '../task';\n\nexport declare type CalculateData = {\n type?: string;\n question: string;\n tolerance: number;\n correct: number;\n};\n\n@Component({\n selector: 'app-calculate',\n templateUrl: './calculate.component.html',\n styleUrls: ['./calculate.component.css']\n})\nexport class CalculateComponent implements TaskComponent, OnInit {\n\n @Input() data: CalculateData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n public answer: number;\n public isAnswered: boolean = false;\n \n constructor() { }\n\n ngOnInit() {\n }\n\n submit() {\n if(Math.abs(this.answer - this.data.correct) <= this.data.tolerance) {\n this.taskSubmitted.emit(true);\n } else {\n this.taskSubmitted.emit(false);\n }\n this.isAnswered = true;\n }\n\n}\n","module.exports = \".left-col, .right-col{\\n width: 40%;\\n}\\n\\n.left-col mat-grid-list, .right-col mat-grid-list {\\n margin-top: 0;\\n width: 100%;\\n margin-bottom: 2em;\\n}\\n\\nmat-grid-tile {\\n width: 15%;\\n border-radius: 5px;\\n box-shadow: 7px 7px 10px rgb(0 0 125 / 75%) !important;\\n mix-blend-mode: multiply;\\n color: rgb(0 0 125);\\n font-family: \\\"Roboto\\\";\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: center;\\n font-weight: bold;\\n}\\n\\nmat-grid-tile img {\\n max-width: 60%;\\n max-height: 60%;\\n}\\n\\n.main-container {\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvY29sdW1ucGV4ZXNvL2NvbHVtbnBleGVzby5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksVUFBVTtBQUNkOztBQUVBO0VBQ0UsYUFBYTtFQUNiLFdBQVc7RUFDWCxrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxVQUFVO0VBQ1Ysa0JBQWtCO0VBQ2xCLHNEQUFzRDtFQUN0RCx3QkFBd0I7RUFDeEIsbUJBQW1CO0VBQ25CLHFCQUFxQjtFQUNyQixhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLHVCQUF1QjtFQUN2QixtQkFBbUI7RUFDbkIsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0UsY0FBYztFQUNkLGVBQWU7QUFDakI7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLDhCQUE4QjtBQUNoQyIsImZpbGUiOiJzcmMvYXBwL3Rhc2tzL2NvbHVtbnBleGVzby9jb2x1bW5wZXhlc28uY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5sZWZ0LWNvbCwgLnJpZ2h0LWNvbHtcbiAgICB3aWR0aDogNDAlO1xufVxuXG4ubGVmdC1jb2wgbWF0LWdyaWQtbGlzdCwgLnJpZ2h0LWNvbCBtYXQtZ3JpZC1saXN0IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDJlbTtcbn1cblxubWF0LWdyaWQtdGlsZSB7XG4gIHdpZHRoOiAxNSU7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm94LXNoYWRvdzogN3B4IDdweCAxMHB4IHJnYigwIDAgMTI1IC8gNzUlKSAhaW1wb3J0YW50O1xuICBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7XG4gIGNvbG9yOiByZ2IoMCAwIDEyNSk7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbm1hdC1ncmlkLXRpbGUgaW1nIHtcbiAgbWF4LXdpZHRoOiA2MCU7XG4gIG1heC1oZWlnaHQ6IDYwJTtcbn1cblxuLm1haW4tY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufSJdfQ== */\"","import { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\nimport { TaskComponent } from \"../task\";\nimport * as _ from \"lodash\";\n\ndeclare type Pair = {\n text: string;\n imageUrl?: string;\n alterText?: string;\n};\n\nexport declare type ColumnPexesoData = {\n type?: string;\n pairs: Pair[];\n};\n\n@Component({\n selector: \"app-columnpexeso\",\n templateUrl: \"./columnpexeso.component.html\",\n styleUrls: [\"./columnpexeso.component.css\"],\n})\nexport class ColumnPexesoComponent implements TaskComponent, OnInit {\n @Input() data: ColumnPexesoData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n \n public imageCol: Pair[];\n public textCol: Pair[];\n public selectedText: Pair;\n public selectedImg: Pair;\n public answered: Pair[] = [];\n\n constructor() {}\n\n ngOnInit() {\n this.textCol = _.shuffle(this.data.pairs);\n this.imageCol = _.shuffle(this.data.pairs);\n }\n\n flipText(pair: Pair) {\n if (!this.selectedText) {\n this.selectedText = pair;\n if (this.selectedImg) {\n this.checkAnswer(); \n }\n }\n }\n\n flipImg(pair: Pair) {\n if (!this.selectedImg) {\n this.selectedImg = pair;\n if (this.selectedText) {\n this.checkAnswer(); \n }\n }\n }\n\n isVisibleText(pair: Pair) {\n return this.answered.includes(pair) || this.selectedText == pair;\n }\n\n isVisibleImg(pair: Pair) {\n return this.answered.includes(pair) || this.selectedImg == pair;\n }\n\n checkAnswer() {\n if (this.selectedText == this.selectedImg) {\n this.answered.push(this.selectedText);\n }\n if(this.answered.length == this.data.pairs.length) {\n this.taskSubmitted.next(true);\n }\n setTimeout(()=> {\n this.selectedText = null;\n this.selectedImg = null;\n },2000);\n }\n\n}\n","module.exports = \".comics {\\n width: 90%;\\n}\\n\\n.controls {\\n margin-top: 10px;\\n display: flex;\\n height: 2em;\\n flex-direction: row;\\n justify-content: flex-end;\\n align-items: center;\\n}\\n\\n.left-controls {\\n justify-content: flex-start;\\n margin-left: 35px;\\n}\\n\\n.control-button {\\n cursor: pointer;\\n}\\n\\n.controls img {\\n height: 2em;\\n margin-right: 1em;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvY29taWNzL2NvbWljcy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksVUFBVTtBQUNkOztBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLGFBQWE7SUFDYixXQUFXO0lBQ1gsbUJBQW1CO0lBQ25CLHlCQUF5QjtJQUN6QixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSwyQkFBMkI7SUFDM0IsaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksZUFBZTtBQUNuQjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxpQkFBaUI7QUFDckIiLCJmaWxlIjoic3JjL2FwcC90YXNrcy9jb21pY3MvY29taWNzLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY29taWNzIHtcbiAgICB3aWR0aDogOTAlO1xufVxuXG4uY29udHJvbHMge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDJlbTtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmxlZnQtY29udHJvbHMge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBtYXJnaW4tbGVmdDogMzVweDtcbn1cblxuLmNvbnRyb2wtYnV0dG9uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jb250cm9scyBpbWcge1xuICAgIGhlaWdodDogMmVtO1xuICAgIG1hcmdpbi1yaWdodDogMWVtO1xufSJdfQ== */\"","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { TaskComponent } from '../task';\nimport * as _ from \"lodash\";\nimport { Howl } from 'howler';\n\n\nexport declare type ComicsData = {\n type?: string;\n question: string;\n audioUrl: string | Howl;\n imageUrl: string;\n};\n\n@Component({\n selector: 'app-comics',\n templateUrl: './comics.component.html',\n styleUrls: ['./comics.component.css']\n})\nexport class ComicComponent implements TaskComponent, OnInit {\n\n @Input() data: ComicsData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n \n constructor() { \n\n }\n\n ngOnInit() {\n this.data.audioUrl = new Howl({\n src: [ this.data.audioUrl ]\n });\n }\n\n}\n","module.exports = \".option {\\n display: flex;\\n align-items: center;\\n}\\n\\n.delimiter {\\n margin-left: 1rem;\\n}\\n\\n.secret-char {\\n margin: 0 1rem 0 1rem;\\n color: red;\\n}\\n\\n.answer {\\n margin: 1rem;\\n height: 1.5em;\\n border: black solid 1px;\\n}\\n\\n.correct.answered {\\n color: green;\\n}\\n\\n.incorrect.answered {\\n color: red;\\n}\\n\\n.correct-answer {\\n font-style: italic;\\n}\\n\\nmat-card.mat-card.question {\\n margin-left: 5%;\\n box-shadow: none !important;\\n background: none !important;\\n border: dashed 2px rgb(0,0,125);\\n color: rgb(0,0,125) !important;\\n font-family: \\\"Roboto\\\" !important;\\n font-weight: bold !important;\\n}\\n\\n.task-number {\\n width: 2em;\\n}\\n\\n.task-row {\\n display: flex;\\n flex-direction: row;\\n justify-content: space-around;\\n align-items: flex-start;\\n margin-top: 1em;\\n margin-left: 2em;\\n}\\n\\n.crossword {\\n margin-left: 5%;\\n margin-top: 4em;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n margin-bottom: 2em;\\n}\\n\\n.task-row mat-card{\\n width: 100%;\\n color:rgb(0, 0, 125) !important;\\n font-weight: bold;\\n font-family: 'Roboto', sans-serif;\\n padding-top: 0;\\n padding-bottom: 0;\\n display: flex;\\n flex-direction: row;\\n padding-top: 1em;\\n}\\n\\n.task-row > div {\\n width: 10%;\\n}\\n\\n.task-row > div > img {\\n height: 26px;\\n margin-top: calc(50% - 20px);\\n}\\n\\n.crossword-position.empty-position input{\\n width: 30px;\\n height: 30px;\\n border: rgb(0, 0, 125) dashed 2px;\\n color: rgb(0, 0, 125);\\n text-align: center;\\n text-transform: uppercase;\\n}\\n\\n.crossword-position.empty-position.incorrect input, .crossword-position.empty-position.incorrect.secret input{\\n border: red solid 2px;\\n color: red;\\n text-decoration: line-through;\\n}\\n\\n.crossword-position.empty-position.correct input, .crossword-position.empty-position.correct.secret input{\\n border: green solid 2px;\\n color: green;\\n font-weight: bold;\\n}\\n\\n.empty-position {\\n margin: 5px;\\n width: 34px;\\n height: 34px;\\n}\\n\\n.secret.crossword-position.empty-position input{\\n border: solid 2px #EE741C;\\n background: #FDF1E6;\\n font-weight: bold;\\n text-align: center;\\n text-transform: uppercase;\\n}\\n\\n.submit-button {\\n width: 18%;\\n height: 2.5em;\\n background-color: #EE741C;\\n border: none;\\n border-radius: 5px;\\n font-family: 'Roboto', sans-serif;\\n color: white;\\n margin-left: 41%;\\n margin-bottom: 2em;\\n cursor: pointer;\\n font-size: 1em;\\n}\\n\\n.row-num {\\n height: 1em;\\n margin-left: 10px;\\n}\\n\\n.secret-text {\\n text-align: center;\\n margin-bottom: 2em;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvY3Jvc3N3b3JkL2Nyb3Nzd29yZC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBYTtFQUNiLG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLHFCQUFxQjtFQUNyQixVQUFVO0FBQ1o7O0FBRUE7RUFDRSxZQUFZO0VBQ1osYUFBYTtFQUNiLHVCQUF1QjtBQUN6Qjs7QUFFQTtFQUNFLFlBQVk7QUFDZDs7QUFFQTtFQUNFLFVBQVU7QUFDWjs7QUFFQTtFQUNFLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLGVBQWU7RUFDZiwyQkFBMkI7RUFDM0IsMkJBQTJCO0VBQzNCLCtCQUErQjtFQUMvQiw4QkFBOEI7RUFDOUIsZ0NBQWdDO0VBQ2hDLDRCQUE0QjtBQUM5Qjs7QUFFQTtFQUNFLFVBQVU7QUFDWjs7QUFDQTtFQUNFLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsNkJBQTZCO0VBQzdCLHVCQUF1QjtFQUN2QixlQUFlO0VBQ2YsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsZUFBZTtFQUNmLGVBQWU7RUFDZixhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLG1CQUFtQjtFQUNuQixrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxXQUFXO0VBQ1gsK0JBQStCO0VBQy9CLGlCQUFpQjtFQUNqQixpQ0FBaUM7RUFDakMsY0FBYztFQUNkLGlCQUFpQjtFQUNqQixhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLFVBQVU7QUFDWjs7QUFFQTtFQUNFLFlBQVk7RUFDWiw0QkFBNEI7QUFDOUI7O0FBRUE7RUFDRSxXQUFXO0VBQ1gsWUFBWTtFQUNaLGlDQUFpQztFQUNqQyxxQkFBcUI7RUFDckIsa0JBQWtCO0VBQ2xCLHlCQUF5QjtBQUMzQjs7QUFFQTtFQUNFLHFCQUFxQjtFQUNyQixVQUFVO0VBQ1YsNkJBQTZCO0FBQy9COztBQUVBO0VBQ0UsdUJBQXVCO0VBQ3ZCLFlBQVk7RUFDWixpQkFBaUI7QUFDbkI7O0FBRUE7RUFDRSxXQUFXO0VBQ1gsV0FBVztFQUNYLFlBQVk7QUFDZDs7QUFFQTtFQUNFLHlCQUF5QjtFQUN6QixtQkFBbUI7RUFDbkIsaUJBQWlCO0VBQ2pCLGtCQUFrQjtFQUNsQix5QkFBeUI7QUFDM0I7O0FBRUE7RUFDRSxVQUFVO0VBQ1YsYUFBYTtFQUNiLHlCQUF5QjtFQUN6QixZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLGlDQUFpQztFQUNqQyxZQUFZO0VBQ1osZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixlQUFlO0VBQ2YsY0FBYztBQUNoQjs7QUFFQTtFQUNFLFdBQVc7RUFDWCxpQkFBaUI7QUFDbkI7O0FBRUE7RUFDRSxrQkFBa0I7RUFDbEIsa0JBQWtCO0FBQ3BCIiwiZmlsZSI6InNyYy9hcHAvdGFza3MvY3Jvc3N3b3JkL2Nyb3Nzd29yZC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm9wdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5kZWxpbWl0ZXIge1xuICBtYXJnaW4tbGVmdDogMXJlbTtcbn1cblxuLnNlY3JldC1jaGFyIHtcbiAgbWFyZ2luOiAwIDFyZW0gMCAxcmVtO1xuICBjb2xvcjogcmVkO1xufVxuXG4uYW5zd2VyIHtcbiAgbWFyZ2luOiAxcmVtO1xuICBoZWlnaHQ6IDEuNWVtO1xuICBib3JkZXI6IGJsYWNrIHNvbGlkIDFweDtcbn1cblxuLmNvcnJlY3QuYW5zd2VyZWQge1xuICBjb2xvcjogZ3JlZW47XG59XG5cbi5pbmNvcnJlY3QuYW5zd2VyZWQge1xuICBjb2xvcjogcmVkO1xufVxuXG4uY29ycmVjdC1hbnN3ZXIge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbm1hdC1jYXJkLm1hdC1jYXJkLnF1ZXN0aW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDUlO1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyOiBkYXNoZWQgMnB4IHJnYigwLDAsMTI1KTtcbiAgY29sb3I6IHJnYigwLDAsMTI1KSAhaW1wb3J0YW50O1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xufVxuXG4udGFzay1udW1iZXIge1xuICB3aWR0aDogMmVtO1xufVxuLnRhc2stcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBtYXJnaW4tdG9wOiAxZW07XG4gIG1hcmdpbi1sZWZ0OiAyZW07XG59XG5cbi5jcm9zc3dvcmQge1xuICBtYXJnaW4tbGVmdDogNSU7XG4gIG1hcmdpbi10b3A6IDRlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMmVtO1xufVxuXG4udGFzay1yb3cgbWF0LWNhcmR7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjpyZ2IoMCwgMCwgMTI1KSAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nLCBzYW5zLXNlcmlmO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIHBhZGRpbmctdG9wOiAxZW07XG59XG5cbi50YXNrLXJvdyA+IGRpdiB7XG4gIHdpZHRoOiAxMCU7XG59XG5cbi50YXNrLXJvdyA+IGRpdiA+IGltZyB7XG4gIGhlaWdodDogMjZweDtcbiAgbWFyZ2luLXRvcDogY2FsYyg1MCUgLSAyMHB4KTtcbn1cblxuLmNyb3Nzd29yZC1wb3NpdGlvbi5lbXB0eS1wb3NpdGlvbiBpbnB1dHtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgYm9yZGVyOiByZ2IoMCwgMCwgMTI1KSBkYXNoZWQgMnB4O1xuICBjb2xvcjogcmdiKDAsIDAsIDEyNSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmNyb3Nzd29yZC1wb3NpdGlvbi5lbXB0eS1wb3NpdGlvbi5pbmNvcnJlY3QgaW5wdXQsIC5jcm9zc3dvcmQtcG9zaXRpb24uZW1wdHktcG9zaXRpb24uaW5jb3JyZWN0LnNlY3JldCBpbnB1dHtcbiAgYm9yZGVyOiByZWQgc29saWQgMnB4O1xuICBjb2xvcjogcmVkO1xuICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbn1cblxuLmNyb3Nzd29yZC1wb3NpdGlvbi5lbXB0eS1wb3NpdGlvbi5jb3JyZWN0IGlucHV0LCAuY3Jvc3N3b3JkLXBvc2l0aW9uLmVtcHR5LXBvc2l0aW9uLmNvcnJlY3Quc2VjcmV0IGlucHV0e1xuICBib3JkZXI6IGdyZWVuIHNvbGlkIDJweDtcbiAgY29sb3I6IGdyZWVuO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmVtcHR5LXBvc2l0aW9uIHtcbiAgbWFyZ2luOiA1cHg7XG4gIHdpZHRoOiAzNHB4O1xuICBoZWlnaHQ6IDM0cHg7XG59XG5cbi5zZWNyZXQuY3Jvc3N3b3JkLXBvc2l0aW9uLmVtcHR5LXBvc2l0aW9uIGlucHV0e1xuICBib3JkZXI6IHNvbGlkIDJweCAjRUU3NDFDO1xuICBiYWNrZ3JvdW5kOiAjRkRGMUU2O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uc3VibWl0LWJ1dHRvbiB7XG4gIHdpZHRoOiAxOCU7XG4gIGhlaWdodDogMi41ZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNFRTc0MUM7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBmb250LWZhbWlseTogJ1JvYm90bycsIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgbWFyZ2luLWxlZnQ6IDQxJTtcbiAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4ucm93LW51bSB7XG4gIGhlaWdodDogMWVtO1xuICBtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuLnNlY3JldC10ZXh0IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAyZW07XG59Il19 */\"","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChange,\n ViewEncapsulation,\n} from \"@angular/core\";\nimport * as _ from \"lodash\";\nimport { Observable, Subscription } from \"rxjs\";\nimport { Paragraph } from \"src/app/dvz/dikobraz-3d-tiskne-a-modeluje/models/task.model\";\n\ndeclare type CrosswordOption = {\n czechWord: Paragraph;\n correct: string;\n numOfChar: number;\n showChars?: number[];\n};\n\nexport declare type CrosswordData = {\n type?: string;\n question: Paragraph[];\n secret: string;\n isFrKey?: boolean;\n info: string;\n rows: CrosswordOption[];\n};\n\ndeclare type Result = {\n characters: string[];\n correct: boolean;\n secret: number;\n};\n\n@Component({\n selector: \"app-crossword\",\n templateUrl: \"./crossword.component.html\",\n styleUrls: [\"./crossword.component.css\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class CrosswordComponent implements OnInit, OnChanges {\n @Input() data: CrosswordData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n @Input() submitTask: Observable;\n private eventsSubscription: Subscription;\n _ = _;\n public options: CrosswordOption[] = [];\n public crosswordResults: Result[] = [];\n public isAnswered: boolean = false;\n public focusTarget: { target: any; index: number };\n public secretPosition: number = 0;\n public positionCount: number = 0;\n public isCorrectAnswered: boolean = false;\n\n constructor() {}\n\n ngOnInit() {\n this.eventsSubscription = this.submitTask.subscribe(() => this.submit());\n if(this.data) {\n this.initCrossword();\n }\n }\n\n ngOnChanges(changes: { [propName: string]: SimpleChange }) {\n if(this.data && changes['data'] && changes['data'].previousValue != changes['data'].currentValue) {\n this.initCrossword();\n }\n }\n\n initCrossword() {\n this.isAnswered = false;\n this.crosswordResults = [];\n this.isCorrectAnswered = false;\n console.log(this.data);\n let maxLeft = 0;\n let maxRight = 0;\n this.data.rows.forEach((row, i) => {\n if(row.numOfChar > maxLeft) {\n maxLeft = row.numOfChar;\n }\n if(row.correct.length - row.numOfChar > maxRight) {\n maxRight = row.correct.length - row.numOfChar;\n } \n this.crosswordResults.push({\n characters: Array(row.correct.length).fill(\"\"),\n secret: row.numOfChar - 1,\n correct: false\n });\n if(row.showChars && row.showChars.length > 0) {\n for(let char of row.showChars) {\n this.crosswordResults[i].characters[char - 1] = row.correct[char - 1];\n }\n }\n });\n this.secretPosition = maxLeft;\n this.positionCount = maxLeft + 1 + maxRight;\n }\n\n submit() {\n let correct = true;\n for(let i in this.crosswordResults) {\n if(this.crosswordResults[i].characters.join(\"\").toUpperCase() != this.data.rows[i].correct.toUpperCase()) {\n this.crosswordResults[i].correct = false;\n correct = false;\n } else {\n this.crosswordResults[i].correct = true;\n }\n }\n this.taskSubmitted.emit(correct);\n this.isAnswered = true;\n this.isCorrectAnswered = correct;\n }\n\n ngOnDestroy() {\n this.eventsSubscription.unsubscribe();\n }\n}\n","module.exports = \"mat-card.mat-card.question {\\n margin-left: 5%;\\n box-shadow: none !important;\\n background: none !important;\\n border: dashed 2px rgb(0,0,125);\\n color: rgb(0,0,125) !important;\\n font-family: \\\"Roboto\\\" !important;\\n font-weight: bold !important;\\n}\\n\\n.columns {\\n margin-top: 1em;\\n display: flex;\\n flex-direction: row;\\n margin-left: 35px;\\n gap: 1em;\\n justify-content: center;\\n}\\n\\n.columns mat-card {\\n max-width: 42%;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n color: rgb(0,0,125) !important;\\n font-family: \\\"Roboto\\\";\\n font-weight: bold;\\n}\\n\\n.column-title {\\n margin-bottom: 1em;\\n}\\n\\n.mat-card.column img {\\n max-width: 80%;\\n max-height: 80%;\\n}\\n\\n.columns mat-card .drop-zone {\\n height: 2em;\\n width: 80%;\\n display: inline;\\n border: dashed #F6B370 2px;\\n border-radius: 5px;\\n}\\n\\n.drop-in {\\n width: 100%;\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n}\\n\\n.unsorted {\\n width: calc(100% - 35px - 1em);\\n margin-left: 35px;\\n margin-top: 3em;\\n padding: 10px;\\n border: solid #F6B370 2px;\\n border-radius: 5px;\\n display: grid;\\n grid-template-columns: repeat(5, 1fr);\\n min-height: 10em;\\n}\\n\\n.unsorted .drag-item { cursor:pointer;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: center;\\n color: rgb(0,0,125);\\n font-family: \\\"Roboto\\\";\\n grid-row-gap: 1em;\\n}\\n\\n.number {\\n display: inline;\\n height: 2em;\\n}\\n\\n.answered.correct {\\n font-weight: bold;\\n color: #2346F5;\\n}\\n\\n.answered.incorrect {\\n color: #F6B370;\\n text-decoration: line-through;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvZmlsbGluZ2ltYWdlL2ZpbGxpbmdpbWFnZS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsZUFBZTtFQUNmLDJCQUEyQjtFQUMzQiwyQkFBMkI7RUFDM0IsK0JBQStCO0VBQy9CLDhCQUE4QjtFQUM5QixnQ0FBZ0M7RUFDaEMsNEJBQTRCO0FBQzlCOztBQUVBO0VBQ0UsZUFBZTtFQUNmLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsaUJBQWlCO0VBQ2pCLFFBQVE7RUFDUix1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSxjQUFjO0VBQ2QsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixtQkFBbUI7RUFDbkIsOEJBQThCO0VBQzlCLHFCQUFxQjtFQUNyQixpQkFBaUI7QUFDbkI7O0FBRUE7RUFDRSxrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxjQUFjO0VBQ2QsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLFdBQVc7RUFDWCxVQUFVO0VBQ1YsZUFBZTtFQUNmLDBCQUEwQjtFQUMxQixrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxXQUFXO0VBQ1gsYUFBYTtFQUNiLDhCQUE4QjtFQUM5QixtQkFBbUI7QUFDckI7O0FBQ0E7RUFDRSw4QkFBOEI7RUFDOUIsaUJBQWlCO0VBQ2pCLGVBQWU7RUFDZixhQUFhO0VBQ2IseUJBQXlCO0VBQ3pCLGtCQUFrQjtFQUNsQixhQUFhO0VBQ2IscUNBQXFDO0VBQ3JDLGdCQUFnQjtBQUNsQjs7QUFFQSx1QkFBdUIsY0FBYztFQUNuQyxhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLHVCQUF1QjtFQUN2QixtQkFBbUI7RUFDbkIsbUJBQW1CO0VBQ25CLHFCQUFxQjtFQUNyQixpQkFBaUI7QUFDbkI7O0FBRUE7RUFDRSxlQUFlO0VBQ2YsV0FBVztBQUNiOztBQUVBO0VBQ0UsaUJBQWlCO0VBQ2pCLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSxjQUFjO0VBQ2QsNkJBQTZCO0FBQy9CIiwiZmlsZSI6InNyYy9hcHAvdGFza3MvZmlsbGluZ2ltYWdlL2ZpbGxpbmdpbWFnZS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsibWF0LWNhcmQubWF0LWNhcmQucXVlc3Rpb24ge1xuICBtYXJnaW4tbGVmdDogNSU7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXI6IGRhc2hlZCAycHggcmdiKDAsMCwxMjUpO1xuICBjb2xvcjogcmdiKDAsMCwxMjUpICFpbXBvcnRhbnQ7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7XG59XG5cbi5jb2x1bW5zIHtcbiAgbWFyZ2luLXRvcDogMWVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBtYXJnaW4tbGVmdDogMzVweDtcbiAgZ2FwOiAxZW07XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uY29sdW1ucyBtYXQtY2FyZCB7XG4gIG1heC13aWR0aDogNDIlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogcmdiKDAsMCwxMjUpICFpbXBvcnRhbnQ7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmNvbHVtbi10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbn1cblxuLm1hdC1jYXJkLmNvbHVtbiBpbWcge1xuICBtYXgtd2lkdGg6IDgwJTtcbiAgbWF4LWhlaWdodDogODAlO1xufVxuXG4uY29sdW1ucyBtYXQtY2FyZCAuZHJvcC16b25lIHtcbiAgaGVpZ2h0OiAyZW07XG4gIHdpZHRoOiA4MCU7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgYm9yZGVyOiBkYXNoZWQgI0Y2QjM3MCAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbn1cblxuLmRyb3AtaW4ge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLnVuc29ydGVkIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDM1cHggLSAxZW0pO1xuICBtYXJnaW4tbGVmdDogMzVweDtcbiAgbWFyZ2luLXRvcDogM2VtO1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXI6IHNvbGlkICNGNkIzNzAgMnB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7XG4gIG1pbi1oZWlnaHQ6IDEwZW07XG59XG5cbi51bnNvcnRlZCAuZHJhZy1pdGVtIHsgY3Vyc29yOnBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogcmdiKDAsMCwxMjUpO1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIjtcbiAgZ3JpZC1yb3ctZ2FwOiAxZW07XG59XG5cbi5udW1iZXIge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGhlaWdodDogMmVtO1xufVxuXG4uYW5zd2VyZWQuY29ycmVjdCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzIzNDZGNTtcbn1cblxuLmFuc3dlcmVkLmluY29ycmVjdCB7XG4gIGNvbG9yOiAjRjZCMzcwO1xuICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbn0iXX0= */\"","import {\n Component,\n EventEmitter,\n Input,\n Output,\n ViewEncapsulation,\n} from \"@angular/core\";\nimport * as _ from \"lodash\";\nimport {\n CdkDragDrop,\n moveItemInArray,\n transferArrayItem,\n \n} from \"@angular/cdk/drag-drop\";\nimport { TaskComponent } from \"../task\";\nimport { Observable, Subscription } from \"rxjs\";\n\ndeclare type Column = {\n image: string;\n item: string;\n}\n\nexport declare type FillingimageData = {\n type?: string;\n question: string;\n columns: Column[];\n};\n\n@Component({\n selector: \"app-fillingimage\",\n templateUrl: \"./fillingimage.component.html\",\n styleUrls: [\"./fillingimage.component.css\"]\n})\nexport class FillingimageComponent implements TaskComponent {\n @Input() data: FillingimageData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n @Input() submitTask?: Observable;\n private eventsSubscription: Subscription;\n public items: string[];\n public isCorrect: boolean[];\n public isAnswered: boolean = false;\n\n constructor() {}\n\n ngOnInit() {\n this.eventsSubscription = this.submitTask.subscribe(() => this.submit());\n this.items = [];\n this.isCorrect = [];\n for(let i in this.data.columns) {\n this.items.push(\"\");\n this.isCorrect.push(false);\n }\n console.log(this.items);\n }\n\n submit() {\n let isCorrect = true;\n for(let i in this.data.columns) {\n console.log(this.data.columns[i].item, this.items[i])\n if(this.items[i] != this.data.columns[i].item) {\n isCorrect = false;\n this.isCorrect[i] = false;\n } else {\n this.isCorrect[i] = true;\n }\n }\n this.isAnswered = true;\n this.taskSubmitted.next(isCorrect);\n }\n\n ngOnDestroy() {\n this.eventsSubscription.unsubscribe();\n }\n}\n","module.exports = \".example-radio-group {\\n display: flex;\\n flex-direction: column;\\n margin: 15px 0;\\n}\\n.example-radio-button {\\n margin: 5px;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvZmx5aW5nd29yZHMvZmx5aW5nd29yZHMuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsY0FBYztBQUNoQjtBQUNBO0VBQ0UsV0FBVztBQUNiIiwiZmlsZSI6InNyYy9hcHAvdGFza3MvZmx5aW5nd29yZHMvZmx5aW5nd29yZHMuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5leGFtcGxlLXJhZGlvLWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAxNXB4IDA7XG59XG4uZXhhbXBsZS1yYWRpby1idXR0b24ge1xuICBtYXJnaW46IDVweDtcbn1cbiJdfQ== */\"","import { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\nimport { TaskComponent } from \"../task\";\nimport { Paragraph } from \"src/app/dvz/dikobraz-3d-tiskne-a-modeluje/models/task.model\";\nimport * as _ from \"lodash\";\n\ndeclare type Word = { text: string; audio: string };\n\nexport declare type FlyingwordsData = {\n type?: string;\n minimum?: number;\n time?: number;\n question: Paragraph[];\n words: Word[];\n};\n\n@Component({\n selector: \"app-flyingwords\",\n templateUrl: \"./flyingwords.component.html\",\n styleUrls: [\"./flyingwords.component.css\"],\n})\nexport class FlyingwordsComponent implements TaskComponent, OnInit {\n @Input() data: FlyingwordsData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n public words: Word[];\n public results: boolean[];\n public activeWord: Word;\n public currentIndex: number;\n private audio: HTMLAudioElement;\n public isStart: boolean = false;\n public startTime: number;\n public isBegin: boolean;\n public isAnswered: boolean;\n public message: string;\n\n constructor() {}\n\n ngOnInit() {\n this.setUp();\n }\n\n setUp() {\n this.isAnswered = false;\n this.isBegin = true;\n this.words = _.shuffle(this.data.words);\n this.results = [];\n this.currentIndex = 0;\n this.activeWord = this.words[this.currentIndex];\n }\n\n next(word: Word) {\n this.isStart = false;\n this.stopAudio();\n const isInTime = this.data.time\n ? Date.now() - this.startTime < this.data.time * 1000\n : true;\n const isCorrect = isInTime && word.text === this.activeWord.text;\n this.results.push(isCorrect);\n this.message = isCorrect\n ? \"Správná odpověď!\"\n : `Špatně, správná odpověď: ${this.activeWord.text} (nebo jsi nestihl čas. limit)`;\n if (!this.words[this.currentIndex + 1]) {\n this.submit();\n } else {\n this.currentIndex++;\n this.activeWord = this.words[this.currentIndex];\n }\n }\n\n startAudio() {\n this.audio = new Audio(this.activeWord.audio);\n this.audio.play();\n this.startTime = Date.now();\n }\n\n stopAudio() {\n if (this.audio) {\n this.audio.pause();\n this.audio.remove();\n }\n }\n\n start() {\n this.message = \"\";\n this.isStart = true;\n this.isBegin = false;\n this.startAudio();\n }\n\n submit() {\n let success = this.data.minimum ? false : true;\n if (!success) {\n let counter = 0;\n for (let result of this.results) {\n if (result) counter++;\n if (counter === this.data.minimum) {\n success = true;\n break;\n }\n }\n }\n if (success) {\n this.isAnswered = true;\n this.taskSubmitted.emit(true);\n } else {\n this.message += \"\\nBohužel musíš tohle cvičení opakovat.\";\n this.setUp();\n }\n }\n}\n","module.exports = \".buttons-container {\\n display: flex;\\n}\\n\\n.button {\\n margin: 0.5rem;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvZnIta2V5Ym9hcmQvZnIta2V5Ym9hcmQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGFBQWE7QUFDZjs7QUFFQTtFQUNFLGNBQWM7QUFDaEIiLCJmaWxlIjoic3JjL2FwcC90YXNrcy9mci1rZXlib2FyZC9mci1rZXlib2FyZC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmJ1dHRvbnMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmJ1dHRvbiB7XG4gIG1hcmdpbjogMC41cmVtO1xufVxuIl19 */\"","import { Component, EventEmitter, Input, OnInit, Output } from \"@angular/core\";\n\n@Component({\n selector: \"app-fr-keyboard\",\n templateUrl: \"./fr-keyboard.component.html\",\n styleUrls: [\"./fr-keyboard.component.css\"],\n})\nexport class FrKeyboardComponent implements OnInit {\n @Input() focusTarget: { target: any };\n @Input() isDisabled: boolean;\n\n @Output() clickResult: EventEmitter<{\n value: string;\n }> = new EventEmitter();\n\n public chars: string[] = [\n \"ê\",\n \"ë\",\n \"è\",\n \"ç\",\n \"à\",\n \"â\",\n \"ô\",\n \"ù\",\n \"û\",\n \"î\",\n \"ï\",\n \"œ\",\n \"’\",\n ];\n\n constructor() {}\n\n ngOnInit() {}\n\n click(char: string) {\n if (this.focusTarget) {\n this.clickResult.emit({ value: char });\n }\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3Rhc2tzL2ZyZWVjb250ZW50L2ZyZWVjb250ZW50LmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\nimport { Paragraph } from \"src/app/dvz/dikobraz-se-uci-anglicky/models/task.model\";\nimport { TaskComponent } from \"../task\";\n\nexport declare type FreecontentData = {\n type?: string;\n content: Paragraph[];\n};\n\n@Component({\n selector: \"app-freecontent\",\n templateUrl: \"./freecontent.component.html\",\n styleUrls: [\"./freecontent.component.css\"],\n})\nexport class FreecontentComponent implements TaskComponent, OnInit {\n @Input() data: FreecontentData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n\n constructor() {}\n\n ngOnInit() {}\n\n next() {\n this.taskSubmitted.emit(true);\n }\n}\n","module.exports = \".example-radio-group {\\n display: flex;\\n flex-direction: column;\\n margin: 15px 0;\\n}\\n.example-radio-button {\\n margin: 5px;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvaGFuZ21hbi9oYW5nbWFuLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLGNBQWM7QUFDaEI7QUFDQTtFQUNFLFdBQVc7QUFDYiIsImZpbGUiOiJzcmMvYXBwL3Rhc2tzL2hhbmdtYW4vaGFuZ21hbi5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmV4YW1wbGUtcmFkaW8tZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW46IDE1cHggMDtcbn1cbi5leGFtcGxlLXJhZGlvLWJ1dHRvbiB7XG4gIG1hcmdpbjogNXB4O1xufVxuIl19 */\"","import { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\nimport { TaskComponent } from \"../task\";\nimport * as _ from \"lodash\";\n\nexport declare type HangmanData = {\n type?: string;\n question?: string;\n image?: string;\n letters: string;\n correct: string;\n};\n\n@Component({\n selector: \"app-hangman\",\n templateUrl: \"./hangman.component.html\",\n styleUrls: [\"./hangman.component.css\"],\n})\nexport class HangmanComponent implements TaskComponent, OnInit {\n @Input() data: HangmanData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n public isAnswered: boolean = false;\n public guess: string = \"\";\n public lives: number = 13;\n public positions: string[] = [];\n\n constructor() {}\n\n ngOnInit() {\n this.initializeGame();\n }\n\n sendGuess() {\n let hit = false;\n for(let i in _.range(this.data.correct.length)) {\n if(this.data.correct[i].toUpperCase() == this.guess.toUpperCase()) {\n this.positions[i] = this.guess.toUpperCase();\n hit = true;\n }\n }\n if(hit == false) {\n this.lives--;\n }\n if(this.lives == 0) {\n this.taskSubmitted.emit(false);\n for(let i in _.range(this.data.correct.length)) {\n this.positions[i] = this.guess.toUpperCase();\n }\n this.isAnswered = true;\n }\n if(this.positions.join(\"\").toUpperCase() == this.data.correct.toUpperCase()) {\n this.taskSubmitted.emit(true);\n }\n this.guess = \"\";\n }\n\n private initializeGame() {\n this.positions = new Array(this.data.correct.length).fill(\"_\");\n if(this.data.letters) {\n let fillPosition: number[] = this.data.letters.split(\",\").map((pos: string) => parseInt(pos) - 1);\n for(let position of fillPosition) {\n this.positions[position] = this.data.correct[position].toUpperCase();\n }\n }\n this.lives = 13;\n this.isAnswered = false;\n this.guess = \"\";\n }\n}\n","module.exports = \".option {\\n display: flex;\\n}\\n\\n.answer {\\n margin: 1rem;\\n height: 1.5em;\\n border: black solid 1px;\\n}\\n\\n.correct {\\n color: green;\\n}\\n\\n.incorrect {\\n color: red;\\n}\\n\\n.correct-answer {\\n font-style: italic;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvaW5zZXJ0YW5zd2VyL2luc2VydGFuc3dlci5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBYTtBQUNmOztBQUVBO0VBQ0UsWUFBWTtFQUNaLGFBQWE7RUFDYix1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSxZQUFZO0FBQ2Q7O0FBRUE7RUFDRSxVQUFVO0FBQ1o7O0FBRUE7RUFDRSxrQkFBa0I7QUFDcEIiLCJmaWxlIjoic3JjL2FwcC90YXNrcy9pbnNlcnRhbnN3ZXIvaW5zZXJ0YW5zd2VyLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIub3B0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmFuc3dlciB7XG4gIG1hcmdpbjogMXJlbTtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgYm9yZGVyOiBibGFjayBzb2xpZCAxcHg7XG59XG5cbi5jb3JyZWN0IHtcbiAgY29sb3I6IGdyZWVuO1xufVxuXG4uaW5jb3JyZWN0IHtcbiAgY29sb3I6IHJlZDtcbn1cblxuLmNvcnJlY3QtYW5zd2VyIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuIl19 */\"","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewEncapsulation,\n} from \"@angular/core\";\nimport { compareStringAndArray } from \"@shared/utilities/compare-strings\";\nimport * as _ from \"lodash\";\nimport { Paragraph } from \"src/app/dvz/dikobraz-3d-tiskne-a-modeluje/models/task.model\";\n\ndeclare type InsertanswerOption = {\n text: Paragraph;\n correct: string[];\n};\n\nexport declare type InsertanswerData = {\n type?: string;\n question: Paragraph[];\n isShuffled: boolean;\n isFrKey?: boolean;\n options: InsertanswerOption[];\n};\n\ndeclare type InsertResults = {\n [key: number]: string;\n};\n\n@Component({\n selector: \"app-insertanswer\",\n templateUrl: \"./insertanswer.component.html\",\n styleUrls: [\"./insertanswer.component.css\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class InsertanswerComponent implements OnInit {\n @Input() data: InsertanswerData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n _ = _;\n public options: InsertanswerOption[] = [];\n public insertResults: InsertResults = {};\n public isAnswered: boolean = false;\n private isCorrect: boolean[] = [];\n public focusTarget: { target: any; index: number };\n\n constructor() {}\n\n ngOnInit() {\n console.log(this.data);\n this.options = this.data.isShuffled\n ? _.shuffle(this.data.options)\n : this.data.options;\n }\n\n onKey(event: any, i: number) {\n this.insertResults[i] = event.target.value;\n }\n\n onClick($event: { value: string }) {\n this.focusTarget.target.value += $event.value;\n this.onKey(this.focusTarget, this.focusTarget.index);\n }\n\n onFocusEvent(event: any, i: number) {\n this.focusTarget = { target: event.target, index: i };\n }\n\n setColor(i: number) {\n if (!this.isAnswered) {\n return \"\";\n }\n if (\n compareStringAndArray(this.insertResults[i], this.options[i].correct) &&\n this.insertResults[i]\n ) {\n return \"correct\";\n } else {\n return \"incorrect\";\n }\n }\n\n submit() {\n this.isCorrect = [];\n let correctAns;\n let i = 0;\n for (let option in this.options) {\n correctAns =\n compareStringAndArray(this.insertResults[i], this.options[i].correct) &&\n this.insertResults[i];\n this.isCorrect.push(correctAns);\n i++;\n }\n if (_.every(this.isCorrect)) {\n this.taskSubmitted.emit(true);\n } else {\n this.taskSubmitted.emit(false);\n }\n this.isAnswered = true;\n }\n}\n","module.exports = \".answer {\\n font-weight: bold;\\n}\\n.answer.correct {\\n color: #2346F5;\\n font-weight: bold;\\n}\\n.answer.incorrect {\\n color: #F2923D;\\n text-decoration: line-through;\\n}\\n.correct-answer {\\n font-style: italic;\\n}\\n.options-list {\\n margin-top: 50px;\\n border: black solid 1px;\\n height: 4em;\\n width: 70px;\\n}\\n.drag-in-box {\\n display: inline-block;\\n height: 1.5em;\\n width: 60px;\\n border: black solid 1px;\\n}\\n.drag-insert {\\n height: 1.5em;\\n width: 3.3rem;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvaW5zZXJ0b3JkZXJkcmFnL2luc2VydG9yZGVyZHJhZy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsaUJBQWlCO0FBQ25CO0FBQ0E7RUFDRSxjQUFjO0VBQ2QsaUJBQWlCO0FBQ25CO0FBRUE7RUFDRSxjQUFjO0VBQ2QsNkJBQTZCO0FBQy9CO0FBRUE7RUFDRSxrQkFBa0I7QUFDcEI7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQix1QkFBdUI7RUFDdkIsV0FBVztFQUNYLFdBQVc7QUFDYjtBQUVBO0VBQ0UscUJBQXFCO0VBQ3JCLGFBQWE7RUFDYixXQUFXO0VBQ1gsdUJBQXVCO0FBQ3pCO0FBRUE7RUFDRSxhQUFhO0VBQ2IsYUFBYTtBQUNmIiwiZmlsZSI6InNyYy9hcHAvdGFza3MvaW5zZXJ0b3JkZXJkcmFnL2luc2VydG9yZGVyZHJhZy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmFuc3dlciB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLmFuc3dlci5jb3JyZWN0IHtcbiAgY29sb3I6ICMyMzQ2RjU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uYW5zd2VyLmluY29ycmVjdCB7XG4gIGNvbG9yOiAjRjI5MjNEO1xuICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbn1cblxuLmNvcnJlY3QtYW5zd2VyIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4ub3B0aW9ucy1saXN0IHtcbiAgbWFyZ2luLXRvcDogNTBweDtcbiAgYm9yZGVyOiBibGFjayBzb2xpZCAxcHg7XG4gIGhlaWdodDogNGVtO1xuICB3aWR0aDogNzBweDtcbn1cblxuLmRyYWctaW4tYm94IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDEuNWVtO1xuICB3aWR0aDogNjBweDtcbiAgYm9yZGVyOiBibGFjayBzb2xpZCAxcHg7XG59XG5cbi5kcmFnLWluc2VydCB7XG4gIGhlaWdodDogMS41ZW07XG4gIHdpZHRoOiAzLjNyZW07XG59XG4iXX0= */\"","import {\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n ViewEncapsulation,\n} from \"@angular/core\";\nimport * as _ from \"lodash\";\nimport {\n CdkDragDrop,\n moveItemInArray,\n transferArrayItem,\n} from \"@angular/cdk/drag-drop\";\nimport { compareStrings } from \"@shared/utilities/compare-strings\";\n\nexport declare type InsertorderdragData = {\n type?: string;\n question: string;\n imageUrl?: string;\n options: string[];\n};\n\ndeclare type InsertResults = {\n [key: number]: string;\n};\n\n@Component({\n selector: \"app-insertorderdrag\",\n templateUrl: \"./insertorderdrag.component.html\",\n styleUrls: [\"./insertorderdrag.component.css\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class InsertorderdragComponent implements OnChanges {\n @Input() data: InsertorderdragData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n _ = _;\n public insertOptions: string[] = [];\n public dragOptions: string[] = [];\n public insertResults: InsertResults = {};\n public dragIns: string[][] = [];\n public isAnswered: boolean = false;\n private isCorrect: boolean[] = [];\n\n constructor(private changeRef: ChangeDetectorRef) {}\n\n ngOnInit() {\n console.log(this.data);\n [this.dragOptions, this.insertOptions] = this.splitArr(this.data.options);\n this.dragOptions = _.shuffle(this.dragOptions);\n for (let i in this.dragOptions) {\n this.dragIns[i] = [];\n }\n }\n\n ngOnChanges() {\n console.log(\"CHANGE\", this.data);\n this.dragOptions = _.shuffle(this.dragOptions);\n for (let i in this.dragOptions) {\n this.dragIns[i] = [];\n }\n }\n\n drop(event: CdkDragDrop) {\n if (event.previousContainer === event.container) {\n moveItemInArray(\n event.container.data,\n event.previousIndex,\n event.currentIndex\n );\n } else {\n if (\n event.container.data.length == 0 ||\n event.container.id == \"dragOptions\"\n ) {\n transferArrayItem(\n event.previousContainer.data,\n event.container.data,\n event.previousIndex,\n event.currentIndex\n );\n }\n }\n }\n\n submit() {\n this.isCorrect = [];\n let correctAns;\n let i = 0;\n for (let option in this.data.options) {\n if (this.dragIns[i / 2]) {\n correctAns = this.dragIns[i / 2][0] == this.data.options[i];\n } else {\n correctAns =\n compareStrings(this.insertResults[i], this.data.options[i]) &&\n this.insertResults[i];\n }\n this.isCorrect.push(correctAns);\n i++;\n }\n if (_.every(this.isCorrect)) {\n this.taskSubmitted.emit(true);\n } else {\n this.taskSubmitted.emit(false);\n }\n this.isAnswered = true;\n }\n\n onKey(event: any, i: number) {\n this.insertResults[i] = event.target.value;\n }\n\n splitArr(array: any[]) {\n const arr1 = array.filter(function (value, index, Arr) {\n return index % 2 == 0;\n });\n const arr2 = array.filter((item) => !arr1.includes(item));\n return [arr1, arr2];\n }\n}\n","module.exports = \".answer {\\n font-weight: bold;\\n}\\n\\n.answer.correct {\\n color: #2346F5;\\n font-weight: bold;\\n }\\n\\n.answer.incorrect {\\n color: #F2923D;\\n text-decoration: line-through;\\n }\\n\\n.correct-answer {\\n font-style: italic;\\n}\\n\\n.word {\\n margin-right: 4px;\\n}\\n\\n.word:hover {\\n text-decoration: underline;\\n}\\n\\n.word.selected {\\n background-color: yellow;\\n}\\n\\n.word.correct {\\n background-color: green;\\n text-decoration: underline;\\n}\\n\\n.word.selected.incorrect {\\n background-color: red;\\n}\\n\\n.source-text {\\n white-space: normal;\\n overflow-wrap: break-word;\\n}\\n\\ninput {\\n border: dashed #EE741C 2px !important;\\n border-radius: 5px;\\n height: 1.2em;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvbWFya2FuZHJlcGxhY2UvbWFya2FuZHJlcGxhY2UuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGNBQWM7SUFDZCxpQkFBaUI7RUFDbkI7O0FBRUE7SUFDRSxjQUFjO0lBQ2QsNkJBQTZCO0VBQy9COztBQUVGO0lBQ0ksa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksaUJBQWlCO0FBQ3JCOztBQUNBO0lBQ0ksMEJBQTBCO0FBQzlCOztBQUVBO0lBQ0ksd0JBQXdCO0FBQzVCOztBQUVBO0lBQ0ksdUJBQXVCO0lBQ3ZCLDBCQUEwQjtBQUM5Qjs7QUFDQTtJQUNJLHFCQUFxQjtBQUN6Qjs7QUFFQTtJQUNJLG1CQUFtQjtJQUNuQix5QkFBeUI7QUFDN0I7O0FBRUE7SUFDSSxxQ0FBcUM7SUFDckMsa0JBQWtCO0lBQ2xCLGFBQWE7QUFDakIiLCJmaWxlIjoic3JjL2FwcC90YXNrcy9tYXJrYW5kcmVwbGFjZS9tYXJrYW5kcmVwbGFjZS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmFuc3dlciB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5hbnN3ZXIuY29ycmVjdCB7XG4gICAgY29sb3I6ICMyMzQ2RjU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbiAgXG4gIC5hbnN3ZXIuaW5jb3JyZWN0IHtcbiAgICBjb2xvcjogI0YyOTIzRDtcbiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgfVxuXG4uY29ycmVjdC1hbnN3ZXIge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLndvcmQge1xuICAgIG1hcmdpbi1yaWdodDogNHB4O1xufVxuLndvcmQ6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4ud29yZC5zZWxlY3RlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogeWVsbG93O1xufVxuXG4ud29yZC5jb3JyZWN0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi53b3JkLnNlbGVjdGVkLmluY29ycmVjdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xufVxuXG4uc291cmNlLXRleHQge1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbn1cblxuaW5wdXQge1xuICAgIGJvcmRlcjogZGFzaGVkICNFRTc0MUMgMnB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGhlaWdodDogMS4yZW07XG59Il19 */\"","import { Component, OnInit, Input, Output, EventEmitter, ViewChildren, TemplateRef, ElementRef, QueryList, Inject, ChangeDetectorRef, ViewEncapsulation, OnChanges } from '@angular/core';\nimport { TaskComponent } from '../task';\nimport { DOCUMENT } from '@angular/common';\nimport * as _ from \"lodash\";\nimport { Paragraph } from 'src/app/dvz/dikobraz-3d-tiskne-a-modeluje/models/task.model';\nimport { Observable, Subscription } from 'rxjs';\n\nexport declare type MarkAndReplaceData = {\n type?: string;\n question: Paragraph[];\n text: string;\n mark: string;\n correct: string;\n};\n\n@Component({\n selector: 'app-markandreplace',\n templateUrl: './markandreplace.component.html',\n styleUrls: ['./markandreplace.component.css'],\n encapsulation: ViewEncapsulation.None\n})\nexport class MarkAndReplaceComponent implements TaskComponent, OnInit, OnChanges {\n @Input() data: MarkAndReplaceData;\n @Input() submitTask: Observable;\n private eventsSubscription: Subscription;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n\n public isAnswered = false;\n public selected = null;\n public answer = null;\n public words = [];\n\n constructor() { \n\n }\n\n ngOnInit() {\n if(this.data) {\n this.words = this.data.text.split(\" \");\n }\n this.eventsSubscription = this.submitTask.subscribe(() => this.submit())\n }\n\n ngOnChanges() {\n if(this.data) {\n this.words = this.data.text.split(\" \");\n }\n }\n\n isSelected(): boolean {\n return this.selected != null;\n }\n\n isFilled(): boolean {\n return this.answer != null;\n }\n\n select(word: string) {\n if(this.selected == word) {\n this.selected = null;\n } else {\n this.selected = word;\n }\n }\n\n\n submit() {\n if(this.selected == this.data.mark && this.answer == this.data.correct) {\n this.taskSubmitted.emit(true);\n } else {\n this.taskSubmitted.emit(false);\n }\n this.isAnswered = true;\n }\n\n ngOnDestroy() {\n this.eventsSubscription.unsubscribe();\n }\n}\n","module.exports = \".answer {\\n font-weight: bold;\\n}\\n\\n.answer.correct {\\n color: #2346F5;\\n font-weight: bold;\\n }\\n\\n.answer.incorrect {\\n color: #F2923D;\\n text-decoration: line-through;\\n }\\n\\n.correct-answer {\\n font-style: italic;\\n}\\n\\n.options-list {\\n margin-top: 50px;\\n border: black solid 1px;\\n height: 4em;\\n width: 70px;\\n}\\n\\n.drag-in-box {\\n display: inline-block;\\n height: 1.5em;\\n width: 60px;\\n border: black solid 1px;\\n}\\n\\n.main-container {\\n display: flex;\\n flex-direction: row;\\n}\\n\\n.main-container > img:not(.order-index) {\\n min-width: 60%;\\n width: 60%;\\n}\\n\\n.main-container > div {\\n width: 40%;\\n}\\n\\n.main-container.full > div {\\n width: 100%;\\n}\\n\\n.drag-row {\\n margin-left: 35px;\\n margin-bottom: 1em;\\n display: flex;\\n}\\n\\n.drag-row > span {\\n height: auto;\\n width: calc(70% - 35px);\\n margin-right: auto;\\n align-items: center;\\n color: rgb(0,0,125);\\n font-family: \\\"Roboto\\\";\\n border: dashed #F6B370 2px;\\n border-radius: 5px;\\n}\\n\\n.draged-item {\\n width: 100%;\\n}\\n\\n.unsorted {\\n width: calc(100% - 55px - 2em);\\n margin-left: 35px;\\n margin-top: 3em;\\n padding: 10px;\\n border: solid #F6B370 2px;\\n border-radius: 5px;\\n display: grid;\\n grid-template-columns: repeat(2, 1fr);\\n min-height: 10em;\\n}\\n\\n.unsorted .drag-item {\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: center;\\n color: rgb(0,0,125);\\n font-family: \\\"Roboto\\\";\\n grid-row-gap: 1em;\\n cursor:pointer;\\n}\\n\\n.fixed-col {\\n width: 30%;\\n text-align: center;\\n}\\n\\n.cdk-drag-preview{\\n display: flex;\\n align-items: center;\\n\\n justify-content: center;\\n width: auto;\\n margin: 0;\\n padding: 0;\\n height: auto;\\n text-align: center;\\n \\n color: rgb(0,0,125);\\n font-family: \\\"Roboto\\\";\\n font-weight: bold;\\n cursor:pointer;\\n }\\n\\n.cdk-drag-placeholder {\\n opacity: 0;\\n }\\n\\n.drag-item, .draged-item {\\n cursor: pointer;\\n }\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvbWF0Y2hpbmdkcmFnL21hdGNoaW5nZHJhZy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksY0FBYztJQUNkLGlCQUFpQjtFQUNuQjs7QUFFQTtJQUNFLGNBQWM7SUFDZCw2QkFBNkI7RUFDL0I7O0FBRUY7SUFDSSxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsdUJBQXVCO0lBQ3ZCLFdBQVc7SUFDWCxXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxxQkFBcUI7SUFDckIsYUFBYTtJQUNiLFdBQVc7SUFDWCx1QkFBdUI7QUFDM0I7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksY0FBYztJQUNkLFVBQVU7QUFDZDs7QUFFQTtJQUNJLFVBQVU7QUFDZDs7QUFFQTtJQUNJLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLFlBQVk7SUFDWix1QkFBdUI7SUFDdkIsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIscUJBQXFCO0lBQ3JCLDBCQUEwQjtJQUMxQixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxXQUFXO0FBQ2Y7O0FBRUE7RUFDRSw4QkFBOEI7RUFDOUIsaUJBQWlCO0VBQ2pCLGVBQWU7RUFDZixhQUFhO0VBQ2IseUJBQXlCO0VBQ3pCLGtCQUFrQjtFQUNsQixhQUFhO0VBQ2IscUNBQXFDO0VBQ3JDLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtFQUNuQixtQkFBbUI7RUFDbkIscUJBQXFCO0VBQ3JCLGlCQUFpQjtFQUNqQixjQUFjO0FBQ2hCOztBQUdBO0lBQ0ksVUFBVTtJQUNWLGtCQUFrQjtBQUN0Qjs7QUFFQTtFQUNFLGFBQWE7RUFDYixtQkFBbUI7O0VBRW5CLHVCQUF1QjtJQUNyQixXQUFXO0lBQ1gsU0FBUztJQUNULFVBQVU7SUFDVixZQUFZO0lBQ1osa0JBQWtCOztJQUVsQixtQkFBbUI7SUFDbkIscUJBQXFCO0lBQ3JCLGlCQUFpQjtJQUNqQixjQUFjO0VBQ2hCOztBQUVBO0lBQ0UsVUFBVTtFQUNaOztBQUVBO0lBQ0UsZUFBZTtFQUNqQiIsImZpbGUiOiJzcmMvYXBwL3Rhc2tzL21hdGNoaW5nZHJhZy9tYXRjaGluZ2RyYWcuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5hbnN3ZXIge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uYW5zd2VyLmNvcnJlY3Qge1xuICAgIGNvbG9yOiAjMjM0NkY1O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIFxuICAuYW5zd2VyLmluY29ycmVjdCB7XG4gICAgY29sb3I6ICNGMjkyM0Q7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gIH1cblxuLmNvcnJlY3QtYW5zd2VyIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5vcHRpb25zLWxpc3Qge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgYm9yZGVyOiBibGFjayBzb2xpZCAxcHg7XG4gICAgaGVpZ2h0OiA0ZW07XG4gICAgd2lkdGg6IDcwcHg7XG59XG5cbi5kcmFnLWluLWJveCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMS41ZW07XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgYm9yZGVyOiBibGFjayBzb2xpZCAxcHg7XG59XG5cbi5tYWluLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuXG4ubWFpbi1jb250YWluZXIgPiBpbWc6bm90KC5vcmRlci1pbmRleCkge1xuICAgIG1pbi13aWR0aDogNjAlO1xuICAgIHdpZHRoOiA2MCU7XG59XG5cbi5tYWluLWNvbnRhaW5lciA+ICBkaXYge1xuICAgIHdpZHRoOiA0MCU7XG59XG5cbi5tYWluLWNvbnRhaW5lci5mdWxsID4gIGRpdiB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5kcmFnLXJvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IDM1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5kcmFnLXJvdyA+IHNwYW4ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogY2FsYyg3MCUgLSAzNXB4KTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogcmdiKDAsMCwxMjUpO1xuICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiO1xuICAgIGJvcmRlcjogZGFzaGVkICNGNkIzNzAgMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbn1cblxuLmRyYWdlZC1pdGVtIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnVuc29ydGVkIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDU1cHggLSAyZW0pO1xuICBtYXJnaW4tbGVmdDogMzVweDtcbiAgbWFyZ2luLXRvcDogM2VtO1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXI6IHNvbGlkICNGNkIzNzAgMnB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gIG1pbi1oZWlnaHQ6IDEwZW07XG59XG5cbi51bnNvcnRlZCAuZHJhZy1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiByZ2IoMCwwLDEyNSk7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiO1xuICBncmlkLXJvdy1nYXA6IDFlbTtcbiAgY3Vyc29yOnBvaW50ZXI7XG59XG5cblxuLmZpeGVkLWNvbCB7XG4gICAgd2lkdGg6IDMwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jZGstZHJhZy1wcmV2aWV3e1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgXG4gICAgY29sb3I6IHJnYigwLDAsMTI1KTtcbiAgICBmb250LWZhbWlseTogXCJSb2JvdG9cIjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjdXJzb3I6cG9pbnRlcjtcbiAgfVxuICBcbiAgLmNkay1kcmFnLXBsYWNlaG9sZGVyIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIFxuICAuZHJhZy1pdGVtLCAuZHJhZ2VkLWl0ZW0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfSJdfQ== */\"","import { ChangeDetectorRef, Component, EventEmitter, Input, OnChanges, OnInit, Output, ViewEncapsulation } from '@angular/core';\nimport * as _ from \"lodash\";\nimport { CdkDragDrop, moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop';\nimport { Paragraph } from 'src/app/dvz/dikobraz-3d-tiskne-a-modeluje/models/task.model';\nimport { Observable, Subscription } from 'rxjs';\n\nexport declare type MatchingdragData = {\n type?: string;\n question: string;\n options: {\n text: Paragraph,\n correct: Paragraph\n }[];\n};\n\n@Component({\n selector: 'app-matchingdrag',\n templateUrl: './matchingdrag.component.html',\n styleUrls: ['./matchingdrag.component.css'],\n encapsulation: ViewEncapsulation.None\n})\nexport class MatchingdragComponent implements OnChanges {\n\n @Input() data: MatchingdragData;\n @Input() submitTask: Observable;\n private eventsSubscription: Subscription;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n public options: Paragraph[] = [];\n public dragIns: Paragraph[][] = [];\n public isAnswered: boolean = false;\n private isCorrect: boolean[] = [];\n\n constructor(private changeRef: ChangeDetectorRef) { \n\n }\n\n ngOnInit() {\n console.log(this.data);\n this.options = _.shuffle(this.data.options.map((option) => option.correct));\n for(let i in this.options) {\n this.dragIns[i] = [];\n }\n this.eventsSubscription = this.submitTask.subscribe(() => this.submit())\n }\n\n ngOnChanges() {\n console.log(\"CHANGE\",this.data);\n this.options = _.shuffle(this.data.options.map((option) => option.correct));\n for(let i in this.options) {\n this.dragIns[i] = [];\n }\n }\n\n drop(event: CdkDragDrop) {\n if (event.previousContainer === event.container) {\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\n } else {\n console.log(event.container)\n if(event.container.data.length == 0 || event.container.id == \"options\") {\n transferArrayItem(event.previousContainer.data,\n event.container.data,\n event.previousIndex,\n event.currentIndex);\n }\n }\n }\n \n submit() {\n this.isCorrect = [];\n for(let i in this.data.options) {\n let correctAns = this.dragIns[i][0] == this.data.options[i].correct;\n this.isCorrect.push(correctAns);\n }\n if(_.every(this.isCorrect)) {\n this.taskSubmitted.emit(true);\n } else {\n this.taskSubmitted.emit(false);\n }\n this.isAnswered = true;\n }\n\n\n ngOnDestroy() {\n this.eventsSubscription.unsubscribe();\n }\n\n\n}\n\n","module.exports = \"mat-card.mat-card.question {\\n margin-left: 5%;\\n box-shadow: none !important;\\n background: none !important;\\n border: dashed 2px rgb(0,0,125);\\n color: rgb(0,0,125) !important;\\n font-family: \\\"Roboto\\\" !important;\\n font-weight: bold !important;\\n}\\n\\n.left-image {\\n width: 50%;\\n margin-left: 25%;\\n}\\n\\n.inline-image {\\n height: 1em;\\n vertical-align: middle;\\n display: inline;\\n margin-left: 0.5em;\\n margin-right: 0.5em;\\n}\\n\\n.options-list {\\n margin-top: 1em;\\n border: orange solid 2px;\\n border-radius: 5px;\\n padding: 5px;\\n text-align: center;\\n -webkit-column-count: 2;\\n -moz-column-count: 2;\\n column-count: 2;\\n color: rgb(0,0,125);\\n font-family: \\\"Roboto\\\";\\n font-weight: bold;\\n margin-left: 35px;\\n}\\n\\n.drag-row {\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n align-items: stretch;\\n margin-left: 35px;\\n margin-top: 1em;\\n color: rgb(0,0,125) !important;\\n font-family: \\\"Roboto\\\";\\n font-weight: bold;\\n}\\n\\n.drag-in-box {\\n height: 100%;\\n}\\n\\n.drag-row mat-card.mat-card {\\n width: 40%;\\n color: rgb(0,0,125) !important;\\n}\\n\\n.join-image {\\n width: 2em;\\n}\\n\\n.cdk-drag-preview{\\n display: flex;\\n align-items: center;\\n\\n justify-content: center;\\n width: auto;\\n margin: 0;\\n padding: 0;\\n height: auto;\\n text-align: center;\\n \\n color: rgb(0,0,125);\\n font-family: \\\"Roboto\\\";\\n font-weight: bold;\\n cursor:pointer;\\n }\\n\\n.cdk-drag-placeholder {\\n opacity: 0;\\n }\\n\\n.drag-item, .draged-item {\\n cursor: pointer;\\n }\\n\\n.answer {\\n font-weight: bold;\\n}\\n\\n.answer.correct {\\n color: #2346F5;\\n font-weight: bold;\\n}\\n\\n.answer.incorrect {\\n color: #F2923D;\\n text-decoration: line-through;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvbWF0Y2hpbmdkcmFnY29sL21hdGNoaW5nZHJhZ2NvbC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsZUFBZTtFQUNmLDJCQUEyQjtFQUMzQiwyQkFBMkI7RUFDM0IsK0JBQStCO0VBQy9CLDhCQUE4QjtFQUM5QixnQ0FBZ0M7RUFDaEMsNEJBQTRCO0FBQzlCOztBQUVBO0VBQ0UsVUFBVTtFQUNWLGdCQUFnQjtBQUNsQjs7QUFDQTtFQUNFLFdBQVc7RUFDWCxzQkFBc0I7RUFDdEIsZUFBZTtFQUNmLGtCQUFrQjtFQUNsQixtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxlQUFlO0VBQ2Ysd0JBQXdCO0VBQ3hCLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLHVCQUFlO0tBQWYsb0JBQWU7VUFBZixlQUFlO0VBQ2YsbUJBQW1CO0VBQ25CLHFCQUFxQjtFQUNyQixpQkFBaUI7RUFDakIsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0UsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQiw4QkFBOEI7RUFDOUIsb0JBQW9CO0VBQ3BCLGlCQUFpQjtFQUNqQixlQUFlO0VBQ2YsOEJBQThCO0VBQzlCLHFCQUFxQjtFQUNyQixpQkFBaUI7QUFDbkI7O0FBR0E7RUFDRSxZQUFZO0FBQ2Q7O0FBQ0E7RUFDRSxVQUFVO0VBQ1YsOEJBQThCO0FBQ2hDOztBQUVBO0VBQ0UsVUFBVTtBQUNaOztBQUVBO0VBQ0UsYUFBYTtFQUNiLG1CQUFtQjs7RUFFbkIsdUJBQXVCO0lBQ3JCLFdBQVc7SUFDWCxTQUFTO0lBQ1QsVUFBVTtJQUNWLFlBQVk7SUFDWixrQkFBa0I7O0lBRWxCLG1CQUFtQjtJQUNuQixxQkFBcUI7SUFDckIsaUJBQWlCO0lBQ2pCLGNBQWM7RUFDaEI7O0FBRUE7SUFDRSxVQUFVO0VBQ1o7O0FBRUE7SUFDRSxlQUFlO0VBQ2pCOztBQUVGO0VBQ0UsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0UsY0FBYztFQUNkLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLGNBQWM7RUFDZCw2QkFBNkI7QUFDL0IiLCJmaWxlIjoic3JjL2FwcC90YXNrcy9tYXRjaGluZ2RyYWdjb2wvbWF0Y2hpbmdkcmFnY29sLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJtYXQtY2FyZC5tYXQtY2FyZC5xdWVzdGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiA1JTtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogZGFzaGVkIDJweCByZ2IoMCwwLDEyNSk7XG4gIGNvbG9yOiByZ2IoMCwwLDEyNSkgIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcbn1cblxuLmxlZnQtaW1hZ2Uge1xuICB3aWR0aDogNTAlO1xuICBtYXJnaW4tbGVmdDogMjUlO1xufVxuLmlubGluZS1pbWFnZSB7XG4gIGhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbn1cblxuLm9wdGlvbnMtbGlzdCB7XG4gIG1hcmdpbi10b3A6IDFlbTtcbiAgYm9yZGVyOiBvcmFuZ2Ugc29saWQgMnB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHBhZGRpbmc6IDVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2x1bW4tY291bnQ6IDI7XG4gIGNvbG9yOiByZ2IoMCwwLDEyNSk7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luLWxlZnQ6IDM1cHg7XG59XG5cbi5kcmFnLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIG1hcmdpbi1sZWZ0OiAzNXB4O1xuICBtYXJnaW4tdG9wOiAxZW07XG4gIGNvbG9yOiByZ2IoMCwwLDEyNSkgIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5cbi5kcmFnLWluLWJveCB7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5kcmFnLXJvdyBtYXQtY2FyZC5tYXQtY2FyZCB7XG4gIHdpZHRoOiA0MCU7XG4gIGNvbG9yOiByZ2IoMCwwLDEyNSkgIWltcG9ydGFudDtcbn1cblxuLmpvaW4taW1hZ2Uge1xuICB3aWR0aDogMmVtO1xufVxuXG4uY2RrLWRyYWctcHJldmlld3tcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIFxuICAgIGNvbG9yOiByZ2IoMCwwLDEyNSk7XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY3Vyc29yOnBvaW50ZXI7XG4gIH1cbiAgXG4gIC5jZGstZHJhZy1wbGFjZWhvbGRlciB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICBcbiAgLmRyYWctaXRlbSwgLmRyYWdlZC1pdGVtIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuLmFuc3dlciB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uYW5zd2VyLmNvcnJlY3Qge1xuICBjb2xvcjogIzIzNDZGNTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5hbnN3ZXIuaW5jb3JyZWN0IHtcbiAgY29sb3I6ICNGMjkyM0Q7XG4gIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xufSJdfQ== */\"","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n ViewEncapsulation,\n} from \"@angular/core\";\nimport * as _ from \"lodash\";\nimport {\n CdkDragDrop,\n moveItemInArray,\n transferArrayItem,\n} from \"@angular/cdk/drag-drop\";\nimport { Paragraph } from \"src/app/dvz/dikobraz-3d-tiskne-a-modeluje/models/task.model\";\nimport { TaskComponent } from \"../task\";\nimport { Observable, Subscription } from \"rxjs\";\n\ndeclare type MatchingdragcolOption = {\n leftValue: string;\n rightValue: string;\n isExample: boolean;\n};\n\nexport declare type MatchingdragcolData = {\n type?: string;\n question?: string;\n imagesInLeft: boolean;\n exampleInQuestion: boolean;\n options: MatchingdragcolOption[];\n};\n\n@Component({\n selector: \"app-matchingdragcol\",\n templateUrl: \"./matchingdragcol.component.html\",\n styleUrls: [\"./matchingdragcol.component.css\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class MatchingdragcolComponent\n implements OnChanges, OnInit, TaskComponent\n{\n @Input() data: MatchingdragcolData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n @Input() submitTask?: Observable;\n private eventsSubscription: Subscription;\n public examples: MatchingdragcolOption[] = []\n public unsorted: string[] = [];\n public leftValues: string[] = [];\n public dragIns: string[][] = [];\n public isAnswered: boolean = false;\n private isCorrect: boolean[] = [];\n\n constructor() {}\n\n ngOnInit() {\n this.eventsSubscription = this.submitTask.subscribe(() => this.submit());\n console.log(this.data);\n this.examples = this.data.options.filter((option: MatchingdragcolOption) => option.isExample);\n let withoutExamples = this.data.options.filter((option: MatchingdragcolOption) => !option.isExample);\n this.unsorted = _.shuffle(\n withoutExamples.map((option) => option.rightValue) \n );\n this.leftValues = withoutExamples.map((option) => option.leftValue); \n for (let i in this.leftValues) {\n this.dragIns[i] = [];\n }\n }\n\n ngOnChanges() {\n console.log(\"CHANGE\", this.data);\n this.unsorted = _.shuffle(\n _.filter(this.data.options, (option: MatchingdragcolOption) => !option.isExample)\n ).map((option) => option.rightValue);\n for (let i in this.leftValues) {\n this.dragIns[i] = [];\n }\n }\n\n drop(event: CdkDragDrop) {\n console.log(\"DROP\");\n if (event.previousContainer === event.container) {\n moveItemInArray(\n event.container.data,\n event.previousIndex,\n event.currentIndex\n );\n } else {\n console.log(event.container);\n if (event.container.data.length == 0 || event.container.id == \"options\") {\n transferArrayItem(\n event.previousContainer.data,\n event.container.data,\n event.previousIndex,\n event.currentIndex\n );\n }\n }\n }\n\n submit() {\n this.isCorrect = [];\n let withoutExamples = this.data.options.filter((option: MatchingdragcolOption) => !option.isExample);\n for (let i in withoutExamples) {\n console.log(withoutExamples[i], this.dragIns[i][0]); \n let correctAns = this.dragIns[i][0] == withoutExamples[i].rightValue;\n this.isCorrect.push(correctAns);\n }\n if (_.every(this.isCorrect)) {\n this.taskSubmitted.emit(true);\n } else {\n this.taskSubmitted.emit(false);\n }\n this.isAnswered = true;\n }\n\n isCorrectAnswer(i) {\n let withoutExamples = this.data.options.filter((option: MatchingdragcolOption) => !option.isExample);\n return this.dragIns[i][0] == withoutExamples[i].rightValue;\n }\n\n getCorrectAnswer(i) {\n return this.data.options.filter((option: MatchingdragcolOption) => !option.isExample)[i].rightValue;\n }\n\n ngOnDestroy() {\n this.eventsSubscription.unsubscribe();\n }\n}\n","module.exports = \"mat-card.mat-card.question {\\n margin-left: 5%;\\n box-shadow: none !important;\\n background: none !important;\\n border: dashed 2px rgb(0,0,125);\\n color: rgb(0,0,125) !important;\\n font-family: \\\"Roboto\\\" !important;\\n font-weight: bold !important;\\n}\\n\\n.columns {\\n margin-top: 1em;\\n display: flex;\\n flex-direction: row;\\n margin-left: 35px;\\n gap: 1em;\\n}\\n\\n.columns mat-card {\\n width: 25%;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n color: rgb(0,0,125) !important;\\n font-family: \\\"Roboto\\\";\\n font-weight: bold;\\n}\\n\\n.column-title {\\n margin-bottom: 1em;\\n}\\n\\n.mat-card.column img {\\n max-width: 80%;\\n max-height: 80%;\\n}\\n\\n.columns mat-card .drop-zone {\\n min-height: 2em;\\n width: 100%;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n}\\n\\n.drag-item img {\\n max-width: 80%;\\n max-height: 80%;\\n}\\n\\n.unsorted {\\n width: calc(100% - 35px - 1em);\\n margin-left: 35px;\\n margin-top: 3em;\\n padding: 10px;\\n border: solid #F6B370 2px;\\n border-radius: 5px;\\n display: grid;\\n grid-template-columns: repeat(5, 1fr);\\n min-height: 10em;\\n}\\n\\n.unsorted .drag-item { cursor:pointer;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: center;\\n color: rgb(0,0,125);\\n font-family: \\\"Roboto\\\";\\n grid-row-gap: 1em;\\n}\\n\\n.inline-image {\\n height: 3em;\\n vertical-align: middle;\\n display: inline;\\n}\\n\\n.answer {\\n font-weight: bold;\\n}\\n\\n.answer.correct {\\n color: #2346F5;\\n font-weight: bold;\\n}\\n\\n.answer.incorrect {\\n color: #F2923D;\\n text-decoration: line-through;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvbWF0Y2hpbmdkcmFnZ3JpZC9tYXRjaGluZ2RyYWdncmlkLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxlQUFlO0VBQ2YsMkJBQTJCO0VBQzNCLDJCQUEyQjtFQUMzQiwrQkFBK0I7RUFDL0IsOEJBQThCO0VBQzlCLGdDQUFnQztFQUNoQyw0QkFBNEI7QUFDOUI7O0FBRUE7RUFDRSxlQUFlO0VBQ2YsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQixpQkFBaUI7RUFDakIsUUFBUTtBQUNWOztBQUVBO0VBQ0UsVUFBVTtFQUNWLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsbUJBQW1CO0VBQ25CLDhCQUE4QjtFQUM5QixxQkFBcUI7RUFDckIsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0Usa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsY0FBYztFQUNkLGVBQWU7QUFDakI7O0FBRUE7RUFDRSxlQUFlO0VBQ2YsV0FBVztFQUNYLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsY0FBYztFQUNkLGVBQWU7QUFDakI7O0FBQ0E7RUFDRSw4QkFBOEI7RUFDOUIsaUJBQWlCO0VBQ2pCLGVBQWU7RUFDZixhQUFhO0VBQ2IseUJBQXlCO0VBQ3pCLGtCQUFrQjtFQUNsQixhQUFhO0VBQ2IscUNBQXFDO0VBQ3JDLGdCQUFnQjtBQUNsQjs7QUFFQSx1QkFBdUIsY0FBYztFQUNuQyxhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLHVCQUF1QjtFQUN2QixtQkFBbUI7RUFDbkIsbUJBQW1CO0VBQ25CLHFCQUFxQjtFQUNyQixpQkFBaUI7QUFDbkI7O0FBRUE7RUFDRSxXQUFXO0VBQ1gsc0JBQXNCO0VBQ3RCLGVBQWU7QUFDakI7O0FBRUE7RUFDRSxpQkFBaUI7QUFDbkI7O0FBRUE7RUFDRSxjQUFjO0VBQ2QsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0UsY0FBYztFQUNkLDZCQUE2QjtBQUMvQiIsImZpbGUiOiJzcmMvYXBwL3Rhc2tzL21hdGNoaW5nZHJhZ2dyaWQvbWF0Y2hpbmdkcmFnZ3JpZC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsibWF0LWNhcmQubWF0LWNhcmQucXVlc3Rpb24ge1xuICBtYXJnaW4tbGVmdDogNSU7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXI6IGRhc2hlZCAycHggcmdiKDAsMCwxMjUpO1xuICBjb2xvcjogcmdiKDAsMCwxMjUpICFpbXBvcnRhbnQ7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7XG59XG5cbi5jb2x1bW5zIHtcbiAgbWFyZ2luLXRvcDogMWVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBtYXJnaW4tbGVmdDogMzVweDtcbiAgZ2FwOiAxZW07XG59XG5cbi5jb2x1bW5zIG1hdC1jYXJkIHtcbiAgd2lkdGg6IDI1JTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6IHJnYigwLDAsMTI1KSAhaW1wb3J0YW50O1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5jb2x1bW4tdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbi5tYXQtY2FyZC5jb2x1bW4gaW1nIHtcbiAgbWF4LXdpZHRoOiA4MCU7XG4gIG1heC1oZWlnaHQ6IDgwJTtcbn1cblxuLmNvbHVtbnMgbWF0LWNhcmQgLmRyb3Atem9uZSB7XG4gIG1pbi1oZWlnaHQ6IDJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5kcmFnLWl0ZW0gaW1nIHtcbiAgbWF4LXdpZHRoOiA4MCU7XG4gIG1heC1oZWlnaHQ6IDgwJTtcbn1cbi51bnNvcnRlZCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAzNXB4IC0gMWVtKTtcbiAgbWFyZ2luLWxlZnQ6IDM1cHg7XG4gIG1hcmdpbi10b3A6IDNlbTtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyOiBzb2xpZCAjRjZCMzcwIDJweDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpO1xuICBtaW4taGVpZ2h0OiAxMGVtO1xufVxuXG4udW5zb3J0ZWQgLmRyYWctaXRlbSB7IGN1cnNvcjpwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6IHJnYigwLDAsMTI1KTtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCI7XG4gIGdyaWQtcm93LWdhcDogMWVtO1xufVxuXG4uaW5saW5lLWltYWdlIHtcbiAgaGVpZ2h0OiAzZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLmFuc3dlciB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uYW5zd2VyLmNvcnJlY3Qge1xuICBjb2xvcjogIzIzNDZGNTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5hbnN3ZXIuaW5jb3JyZWN0IHtcbiAgY29sb3I6ICNGMjkyM0Q7XG4gIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xufSJdfQ== */\"","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from \"@angular/core\";\nimport * as _ from \"lodash\";\nimport {\n CdkDragDrop,\n moveItemInArray,\n transferArrayItem,\n} from \"@angular/cdk/drag-drop\";\nimport { TaskComponent } from \"../task\";\nimport { Observable, Subscription } from \"rxjs\";\n\nexport declare type MatchingdraggridData = {\n type?: string;\n question: string;\n rows: string[][];\n prefilled: string[];\n};\n\n@Component({\n selector: \"app-matchingdraggrid\",\n templateUrl: \"./matchingdraggrid.component.html\",\n styleUrls: [\"./matchingdraggrid.component.css\"]\n})\nexport class MatchingdraggridComponent implements OnInit, TaskComponent {\n @Input() data: MatchingdraggridData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n @Input() submitTask?: Observable;\n private eventsSubscription: Subscription;\n public items: string[][][];\n public unsortedItems: string[];\n public isAnswered: boolean = false;\n public prefilled: any[][] = []\n\n constructor() {}\n\n ngOnInit() {\n this.eventsSubscription = this.submitTask.subscribe(() => this.submit());\n if(this.data.prefilled && this.data.prefilled.length) {\n this.prefilled = this.data.prefilled.map((item) => item.split(\",\"))\n }\n this.items = [];\n for(let i in this.data.rows) {\n this.items.push([]);\n for(let j in this.data.rows[i]) {\n this.items[i].push([]);\n }\n }\n \n let rowsCopy = _.cloneDeep(this.data.rows);\n if(this.data.prefilled && this.data.prefilled.length) {\n for(let mark of this.prefilled) {\n rowsCopy[parseInt(mark[0])][parseInt(mark[1])] = null;\n this.items[parseInt(mark[0])][parseInt(mark[1])]= [this.data.rows[parseInt(mark[0])][parseInt(mark[1])]];\n }\n }\n this.unsortedItems = _.filter(_.shuffle(_.flatten(_.flatten(rowsCopy))), el => !_.isNull(el));\n }\n\n drop(event: CdkDragDrop) {\n if (event.previousContainer === event.container) {\n moveItemInArray(\n event.container.data,\n event.previousIndex,\n event.currentIndex\n );\n } else {\n transferArrayItem(\n event.previousContainer.data,\n event.container.data,\n event.previousIndex,\n event.currentIndex\n );\n }\n }\n\n submit() {\n let isCorrect = true;\n this.isAnswered = true;\n for(let row of this.items) {\n let columnOf = this.firstColumnOf(row[0][0]);\n if(isCorrect) {\n if(columnOf == -1) {\n isCorrect = false;\n } else {\n for(let j in this.data.rows[columnOf]) {\n if(row[j][0] != this.data.rows[columnOf][j]) {\n isCorrect = false;\n }\n }\n }\n }\n }\n this.taskSubmitted.next(isCorrect);\n }\n\n isNthColumn(item: string, row: number, n: number) {\n return this.data.rows[row][n] == item;\n }\n\n firstColumnOf(item: string) {\n let firstOf = -1;\n for(let i in this.data.rows) {\n if(this.data.rows[i][0] == item) {\n firstOf = parseInt(i)\n }\n }\n return firstOf;\n }\n\n itemCorrect(row: number, col: number) {\n let columnOf = this.firstColumnOf(this.items[row][0][0]);\n if(columnOf == -1) {\n return false;\n }\n if(col == 0) {\n return true\n }\n return this.isNthColumn(this.items[row][col][0],columnOf, col);\n }\n\n ngOnDestroy() {\n this.eventsSubscription.unsubscribe();\n }\n}\n","module.exports = \"mat-card.mat-card.question {\\n margin-left: 5%;\\n box-shadow: none !important;\\n background: none !important;\\n border: dashed 2px rgb(0,0,125);\\n color: rgb(0,0,125) !important;\\n font-family: \\\"Roboto\\\" !important;\\n font-weight: bold !important;\\n}\\n\\n.columns {\\n margin-top: 1em;\\n display: flex;\\n flex-direction: row;\\n margin-left: 35px;\\n gap: 1em;\\n justify-content: center;\\n}\\n\\n.columns mat-card {\\n max-width: 42%;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n color: rgb(0,0,125) !important;\\n font-family: \\\"Roboto\\\";\\n font-weight: bold;\\n}\\n\\n.column-title {\\n margin-bottom: 1em;\\n}\\n\\n.mat-card.column img {\\n max-width: 80%;\\n max-height: 80%;\\n}\\n\\n.columns mat-card .drop-zone {\\n height: 2em;\\n width: 80%;\\n display: inline;\\n border: dashed #F6B370 2px;\\n border-radius: 5px;\\n}\\n\\n.drop-in {\\n width: 100%;\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n}\\n\\n.unsorted {\\n width: calc(100% - 35px - 1em);\\n margin-left: 35px;\\n margin-top: 3em;\\n padding: 10px;\\n border: solid #F6B370 2px;\\n border-radius: 5px;\\n display: grid;\\n grid-template-columns: repeat(5, 1fr);\\n min-height: 10em;\\n}\\n\\n.unsorted .drag-item { cursor:pointer;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: center;\\n color: rgb(0,0,125);\\n font-family: \\\"Roboto\\\";\\n grid-row-gap: 1em;\\n}\\n\\n.number {\\n display: inline;\\n height: 2em;\\n}\\n\\n.answered.correct {\\n font-weight: bold;\\n color: #2346F5;\\n}\\n\\n.answered.incorrect {\\n color: #F6B370;\\n text-decoration: line-through;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvbWF0Y2hpbmdkcmFnaW1hZ2UvbWF0Y2hpbmdkcmFnaW1hZ2UuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGVBQWU7RUFDZiwyQkFBMkI7RUFDM0IsMkJBQTJCO0VBQzNCLCtCQUErQjtFQUMvQiw4QkFBOEI7RUFDOUIsZ0NBQWdDO0VBQ2hDLDRCQUE0QjtBQUM5Qjs7QUFFQTtFQUNFLGVBQWU7RUFDZixhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLGlCQUFpQjtFQUNqQixRQUFRO0VBQ1IsdUJBQXVCO0FBQ3pCOztBQUVBO0VBQ0UsY0FBYztFQUNkLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsbUJBQW1CO0VBQ25CLDhCQUE4QjtFQUM5QixxQkFBcUI7RUFDckIsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0Usa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsY0FBYztFQUNkLGVBQWU7QUFDakI7O0FBRUE7RUFDRSxXQUFXO0VBQ1gsVUFBVTtFQUNWLGVBQWU7RUFDZiwwQkFBMEI7RUFDMUIsa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsV0FBVztFQUNYLGFBQWE7RUFDYiw4QkFBOEI7RUFDOUIsbUJBQW1CO0FBQ3JCOztBQUNBO0VBQ0UsOEJBQThCO0VBQzlCLGlCQUFpQjtFQUNqQixlQUFlO0VBQ2YsYUFBYTtFQUNiLHlCQUF5QjtFQUN6QixrQkFBa0I7RUFDbEIsYUFBYTtFQUNiLHFDQUFxQztFQUNyQyxnQkFBZ0I7QUFDbEI7O0FBRUEsdUJBQXVCLGNBQWM7RUFDbkMsYUFBYTtFQUNiLHNCQUFzQjtFQUN0Qix1QkFBdUI7RUFDdkIsbUJBQW1CO0VBQ25CLG1CQUFtQjtFQUNuQixxQkFBcUI7RUFDckIsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0UsZUFBZTtFQUNmLFdBQVc7QUFDYjs7QUFFQTtFQUNFLGlCQUFpQjtFQUNqQixjQUFjO0FBQ2hCOztBQUVBO0VBQ0UsY0FBYztFQUNkLDZCQUE2QjtBQUMvQiIsImZpbGUiOiJzcmMvYXBwL3Rhc2tzL21hdGNoaW5nZHJhZ2ltYWdlL21hdGNoaW5nZHJhZ2ltYWdlLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJtYXQtY2FyZC5tYXQtY2FyZC5xdWVzdGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiA1JTtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogZGFzaGVkIDJweCByZ2IoMCwwLDEyNSk7XG4gIGNvbG9yOiByZ2IoMCwwLDEyNSkgIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcbn1cblxuLmNvbHVtbnMge1xuICBtYXJnaW4tdG9wOiAxZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIG1hcmdpbi1sZWZ0OiAzNXB4O1xuICBnYXA6IDFlbTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5jb2x1bW5zIG1hdC1jYXJkIHtcbiAgbWF4LXdpZHRoOiA0MiU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiByZ2IoMCwwLDEyNSkgIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uY29sdW1uLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG4ubWF0LWNhcmQuY29sdW1uIGltZyB7XG4gIG1heC13aWR0aDogODAlO1xuICBtYXgtaGVpZ2h0OiA4MCU7XG59XG5cbi5jb2x1bW5zIG1hdC1jYXJkIC5kcm9wLXpvbmUge1xuICBoZWlnaHQ6IDJlbTtcbiAgd2lkdGg6IDgwJTtcbiAgZGlzcGxheTogaW5saW5lO1xuICBib3JkZXI6IGRhc2hlZCAjRjZCMzcwIDJweDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xufVxuXG4uZHJvcC1pbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4udW5zb3J0ZWQge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMzVweCAtIDFlbSk7XG4gIG1hcmdpbi1sZWZ0OiAzNXB4O1xuICBtYXJnaW4tdG9wOiAzZW07XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlcjogc29saWQgI0Y2QjM3MCAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKTtcbiAgbWluLWhlaWdodDogMTBlbTtcbn1cblxuLnVuc29ydGVkIC5kcmFnLWl0ZW0geyBjdXJzb3I6cG9pbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiByZ2IoMCwwLDEyNSk7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiO1xuICBncmlkLXJvdy1nYXA6IDFlbTtcbn1cblxuLm51bWJlciB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgaGVpZ2h0OiAyZW07XG59XG5cbi5hbnN3ZXJlZC5jb3JyZWN0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjMjM0NkY1O1xufVxuXG4uYW5zd2VyZWQuaW5jb3JyZWN0IHtcbiAgY29sb3I6ICNGNkIzNzA7XG4gIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xufSJdfQ== */\"","import {\n Component,\n EventEmitter,\n Input,\n Output,\n ViewEncapsulation,\n} from \"@angular/core\";\nimport * as _ from \"lodash\";\nimport {\n CdkDragDrop,\n moveItemInArray,\n transferArrayItem,\n \n} from \"@angular/cdk/drag-drop\";\nimport { TaskComponent } from \"../task\";\nimport { Observable, Subscription } from \"rxjs\";\n\ndeclare type Column = {\n image: string;\n item: string;\n}\n\nexport declare type MatchingdragimageData = {\n type?: string;\n question: string;\n hideNumbers: boolean;\n columns: Column[];\n};\n\n@Component({\n selector: \"app-matchingdragimage\",\n templateUrl: \"./matchingdragimage.component.html\",\n styleUrls: [\"./matchingdragimage.component.css\"]\n})\nexport class MatchingdragimageComponent implements TaskComponent {\n @Input() data: MatchingdragimageData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n @Input() submitTask?: Observable;\n private eventsSubscription: Subscription;\n public items: string[][];\n public unsortedItems: string[];\n public isCorrect: boolean[];\n public isAnswered: boolean = false;\n\n constructor() {}\n\n ngOnInit() {\n this.eventsSubscription = this.submitTask.subscribe(() => this.submit());\n this.unsortedItems = _.shuffle(_.map(this.data.columns, (column: Column) => column.item));\n this.items = [];\n this.isCorrect = [];\n for(let i in this.data.columns) {\n this.items.push([]);\n this.isCorrect.push(false);\n }\n console.log(this.items);\n }\n\n drop(event: CdkDragDrop) {\n if (event.previousContainer === event.container) {\n moveItemInArray(\n event.container.data,\n event.previousIndex,\n event.currentIndex\n );\n } else {\n transferArrayItem(\n event.previousContainer.data,\n event.container.data,\n event.previousIndex,\n event.currentIndex\n );\n }\n }\n\n submit() {\n let isCorrect = true;\n for(let i in this.data.columns) {\n console.log(this.data.columns[i].item, this.items[i])\n if(!this.items[i].includes(this.data.columns[i].item)) {\n isCorrect = false;\n this.isCorrect[i] = false;\n } else {\n this.isCorrect[i] = true;\n }\n }\n this.isAnswered = true;\n this.taskSubmitted.next(isCorrect);\n }\n\n ngOnDestroy() {\n this.eventsSubscription.unsubscribe();\n }\n}\n","module.exports = \".answer.correct {\\n color: #2346F5;\\n font-weight: bold;\\n}\\n\\n.answer.incorrect {\\n color: #F2923D;\\n text-decoration: line-through;\\n}\\n\\n.correct-answer {\\n font-style: italic;\\n}\\n\\n.options-list {\\n margin-top: 50px;\\n border: black solid 1px;\\n height: 10rem;\\n width: 10rem;\\n}\\n\\n.drag-in-box {\\n display: inline-block;\\n height: 1.5em;\\n width: 60px;\\n border: black solid 1px;\\n}\\n\\n.row {\\n margin: 1rem;\\n display: flex;\\n flex-direction: row;\\n gap: 10px;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvbWF0Y2hpbmdkcmFnaW5zaWRlL21hdGNoaW5nZHJhZ2luc2lkZS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsY0FBYztFQUNkLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLGNBQWM7RUFDZCw2QkFBNkI7QUFDL0I7O0FBRUE7RUFDRSxrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsdUJBQXVCO0VBQ3ZCLGFBQWE7RUFDYixZQUFZO0FBQ2Q7O0FBRUE7RUFDRSxxQkFBcUI7RUFDckIsYUFBYTtFQUNiLFdBQVc7RUFDWCx1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSxZQUFZO0VBQ1osYUFBYTtFQUNiLG1CQUFtQjtFQUNuQixTQUFTO0FBQ1giLCJmaWxlIjoic3JjL2FwcC90YXNrcy9tYXRjaGluZ2RyYWdpbnNpZGUvbWF0Y2hpbmdkcmFnaW5zaWRlLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuYW5zd2VyLmNvcnJlY3Qge1xuICBjb2xvcjogIzIzNDZGNTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5hbnN3ZXIuaW5jb3JyZWN0IHtcbiAgY29sb3I6ICNGMjkyM0Q7XG4gIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xufVxuXG4uY29ycmVjdC1hbnN3ZXIge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5vcHRpb25zLWxpc3Qge1xuICBtYXJnaW4tdG9wOiA1MHB4O1xuICBib3JkZXI6IGJsYWNrIHNvbGlkIDFweDtcbiAgaGVpZ2h0OiAxMHJlbTtcbiAgd2lkdGg6IDEwcmVtO1xufVxuXG4uZHJhZy1pbi1ib3gge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMS41ZW07XG4gIHdpZHRoOiA2MHB4O1xuICBib3JkZXI6IGJsYWNrIHNvbGlkIDFweDtcbn1cblxuLnJvdyB7XG4gIG1hcmdpbjogMXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZ2FwOiAxMHB4O1xufVxuIl19 */\"","import {\n Component,\n EventEmitter,\n Input,\n Output,\n ViewEncapsulation,\n} from \"@angular/core\";\nimport * as _ from \"lodash\";\nimport {\n CdkDragDrop,\n moveItemInArray,\n transferArrayItem,\n} from \"@angular/cdk/drag-drop\";\nimport { Paragraph } from \"src/app/dvz/dikobraz-3d-tiskne-a-modeluje/models/task.model\";\n\ndeclare type Sentence = {\n firstPart: string;\n correct: string;\n secondPart: string;\n};\n\nexport declare type MatchingdraginsideData = {\n type?: string;\n question: string;\n sentences: Sentence[];\n};\n\n@Component({\n selector: \"app-matchingdraginside\",\n templateUrl: \"./matchingdraginside.component.html\",\n styleUrls: [\"./matchingdraginside.component.css\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class MatchingdraginsideComponent {\n @Input() data: MatchingdraginsideData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n public options: string[] = [];\n public dragIns: string[][] = [];\n public isAnswered: boolean = false;\n private isCorrect: boolean[] = [];\n\n constructor() {}\n\n ngOnInit() {\n console.log(this.data);\n this.options = _.shuffle(\n this.data.sentences.map((sentence) => sentence.correct)\n );\n console.log(this.options);\n\n for (let i in this.options) {\n this.dragIns[i] = [];\n }\n }\n\n drop(event: CdkDragDrop) {\n if (event.previousContainer === event.container) {\n moveItemInArray(\n event.container.data,\n event.previousIndex,\n event.currentIndex\n );\n } else {\n console.log(event.container);\n if (event.container.data.length == 0 || event.container.id == \"options\") {\n transferArrayItem(\n event.previousContainer.data,\n event.container.data,\n event.previousIndex,\n event.currentIndex\n );\n }\n }\n }\n\n submit() {\n const isCorrect = [];\n for (let i in this.data.sentences) {\n let correctAns = this.dragIns[i][0] == this.data.sentences[i].correct;\n isCorrect.push(correctAns);\n this.isCorrect = _.every(isCorrect);\n }\n if (this.isCorrect) {\n this.taskSubmitted.emit(true);\n } else {\n this.taskSubmitted.emit(false);\n }\n this.isAnswered = true;\n }\n\n setColor(word, i) {\n if (!this.isAnswered) {\n return \"\";\n }\n if (word === this.data.sentences[i].correct) {\n return \"correct\";\n } else {\n return \"incorrect\";\n }\n }\n}\n","module.exports = \"mat-card.mat-card.question {\\n margin-left: 5%;\\n box-shadow: none !important;\\n background: none !important;\\n border: dashed 2px rgb(0,0,125);\\n color: rgb(0,0,125) !important;\\n font-family: \\\"Roboto\\\" !important;\\n font-weight: bold !important;\\n}\\n\\n.columns {\\n margin-top: 1em;\\n display: flex;\\n flex-direction: row;\\n margin-left: 35px;\\n gap: 1em;\\n}\\n\\n.columns mat-card {\\n width: 25%;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n color: rgb(0,0,125) !important;\\n font-family: \\\"Roboto\\\";\\n font-weight: bold;\\n}\\n\\n.column-title {\\n margin-bottom: 1em;\\n}\\n\\n.mat-card.column img {\\n max-width: 80%;\\n max-height: 80%;\\n}\\n\\n.columns mat-card .drop-zone {\\n min-height: 10em;\\n width: 100%;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n}\\n\\n.drag-item img {\\n max-width: 80%;\\n max-height: 80%;\\n}\\n\\n.unsorted {\\n width: calc(100% - 35px - 1em);\\n margin-left: 35px;\\n margin-top: 3em;\\n padding: 10px;\\n border: solid #F6B370 2px;\\n border-radius: 5px;\\n display: grid;\\n grid-template-columns: repeat(5, 1fr);\\n min-height: 10em;\\n}\\n\\n.unsorted .drag-item { cursor:pointer;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: center;\\n color: rgb(0,0,125);\\n font-family: \\\"Roboto\\\";\\n grid-row-gap: 1em;\\n}\\n\\n.inline-image {\\n height: 3em;\\n vertical-align: middle;\\n display: inline;\\n}\\n\\n.answer {\\n font-weight: bold;\\n}\\n\\n.answer.correct {\\n color: #2346F5;\\n font-weight: bold;\\n}\\n\\n.answer.incorrect {\\n color: #F2923D;\\n text-decoration: line-through;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvbWF0Y2hpbmdkcmFnbXVsdGljb2wvbWF0Y2hpbmdkcmFnbXVsdGljb2wuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGVBQWU7RUFDZiwyQkFBMkI7RUFDM0IsMkJBQTJCO0VBQzNCLCtCQUErQjtFQUMvQiw4QkFBOEI7RUFDOUIsZ0NBQWdDO0VBQ2hDLDRCQUE0QjtBQUM5Qjs7QUFFQTtFQUNFLGVBQWU7RUFDZixhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLGlCQUFpQjtFQUNqQixRQUFRO0FBQ1Y7O0FBRUE7RUFDRSxVQUFVO0VBQ1YsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixtQkFBbUI7RUFDbkIsOEJBQThCO0VBQzlCLHFCQUFxQjtFQUNyQixpQkFBaUI7QUFDbkI7O0FBRUE7RUFDRSxrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxjQUFjO0VBQ2QsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixXQUFXO0VBQ1gsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxjQUFjO0VBQ2QsZUFBZTtBQUNqQjs7QUFDQTtFQUNFLDhCQUE4QjtFQUM5QixpQkFBaUI7RUFDakIsZUFBZTtFQUNmLGFBQWE7RUFDYix5QkFBeUI7RUFDekIsa0JBQWtCO0VBQ2xCLGFBQWE7RUFDYixxQ0FBcUM7RUFDckMsZ0JBQWdCO0FBQ2xCOztBQUVBLHVCQUF1QixjQUFjO0VBQ25DLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtFQUNuQixtQkFBbUI7RUFDbkIscUJBQXFCO0VBQ3JCLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLFdBQVc7RUFDWCxzQkFBc0I7RUFDdEIsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLGNBQWM7RUFDZCxpQkFBaUI7QUFDbkI7O0FBRUE7RUFDRSxjQUFjO0VBQ2QsNkJBQTZCO0FBQy9CIiwiZmlsZSI6InNyYy9hcHAvdGFza3MvbWF0Y2hpbmdkcmFnbXVsdGljb2wvbWF0Y2hpbmdkcmFnbXVsdGljb2wuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIm1hdC1jYXJkLm1hdC1jYXJkLnF1ZXN0aW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDUlO1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyOiBkYXNoZWQgMnB4IHJnYigwLDAsMTI1KTtcbiAgY29sb3I6IHJnYigwLDAsMTI1KSAhaW1wb3J0YW50O1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xufVxuXG4uY29sdW1ucyB7XG4gIG1hcmdpbi10b3A6IDFlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgbWFyZ2luLWxlZnQ6IDM1cHg7XG4gIGdhcDogMWVtO1xufVxuXG4uY29sdW1ucyBtYXQtY2FyZCB7XG4gIHdpZHRoOiAyNSU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiByZ2IoMCwwLDEyNSkgIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uY29sdW1uLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG4ubWF0LWNhcmQuY29sdW1uIGltZyB7XG4gIG1heC13aWR0aDogODAlO1xuICBtYXgtaGVpZ2h0OiA4MCU7XG59XG5cbi5jb2x1bW5zIG1hdC1jYXJkIC5kcm9wLXpvbmUge1xuICBtaW4taGVpZ2h0OiAxMGVtO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmRyYWctaXRlbSBpbWcge1xuICBtYXgtd2lkdGg6IDgwJTtcbiAgbWF4LWhlaWdodDogODAlO1xufVxuLnVuc29ydGVkIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDM1cHggLSAxZW0pO1xuICBtYXJnaW4tbGVmdDogMzVweDtcbiAgbWFyZ2luLXRvcDogM2VtO1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXI6IHNvbGlkICNGNkIzNzAgMnB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7XG4gIG1pbi1oZWlnaHQ6IDEwZW07XG59XG5cbi51bnNvcnRlZCAuZHJhZy1pdGVtIHsgY3Vyc29yOnBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogcmdiKDAsMCwxMjUpO1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIjtcbiAgZ3JpZC1yb3ctZ2FwOiAxZW07XG59XG5cbi5pbmxpbmUtaW1hZ2Uge1xuICBoZWlnaHQ6IDNlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG4uYW5zd2VyIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5hbnN3ZXIuY29ycmVjdCB7XG4gIGNvbG9yOiAjMjM0NkY1O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmFuc3dlci5pbmNvcnJlY3Qge1xuICBjb2xvcjogI0YyOTIzRDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG59Il19 */\"","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from \"@angular/core\";\nimport * as _ from \"lodash\";\nimport {\n CdkDragDrop,\n moveItemInArray,\n transferArrayItem,\n} from \"@angular/cdk/drag-drop\";\nimport { TaskComponent } from \"../task\";\nimport { Observable, Subscription } from \"rxjs\";\n\ndeclare type Item = {\n title: string;\n image: string;\n isExample: boolean;\n};\n\ndeclare type Column = {\n title: string;\n items: Item[];\n}\n\nexport declare type MatchingdragmulticolData = {\n type?: string;\n question: string;\n exampleInQuestion: boolean;\n showLabels: boolean;\n columns: Column[];\n};\n\n@Component({\n selector: \"app-matchingdragmulticol\",\n templateUrl: \"./matchingdragmulticol.component.html\",\n styleUrls: [\"./matchingdragmulticol.component.css\"]\n})\nexport class MatchingdragmulticolComponent implements OnInit, TaskComponent {\n @Input() data: MatchingdragmulticolData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n @Input() submitTask?: Observable;\n private eventsSubscription: Subscription;\n public items: Item[][];\n public examples: Item[][];\n public unsortedItems: Item[];\n public isAnswered: boolean = false;\n\n constructor() {}\n\n ngOnInit() {\n this.eventsSubscription = this.submitTask.subscribe(() => this.submit());\n this.unsortedItems = _.shuffle(_.filter(_.flatten(_.map(this.data.columns, (column: Column) => column.items)), (item: Item) => !item.isExample));\n this.examples = []\n this.items = [];\n this.isAnswered = false;\n for(let i in this.data.columns) {\n this.items.push([]);\n }\n for(let i in this.data.columns) {\n this.examples[i] = _.filter(this.data.columns[i].items, (item: Item) => item.isExample);\n }\n console.log(this.items);\n }\n\n drop(event: CdkDragDrop) {\n if (event.previousContainer === event.container) {\n moveItemInArray(\n event.container.data,\n event.previousIndex,\n event.currentIndex\n );\n } else {\n transferArrayItem(\n event.previousContainer.data,\n event.container.data,\n event.previousIndex,\n event.currentIndex\n );\n }\n }\n\n submit() {\n let isCorrect = true;\n for(let i in this.data.columns) {\n for(let item of this.data.columns[i].items) {\n console.log(this.data.columns[i].items, this.items[i], this.examples[i])\n if(!this.items[i].includes(item) && !this.examples[i].includes(item)) {\n isCorrect = false;\n }\n }\n }\n this.taskSubmitted.next(isCorrect);\n this.isAnswered = true;\n }\n\n isCorrectAnswer(i, item) {\n return this.data.columns[i].items.includes(item);\n }\n\n missing(i) {\n return _.without(this.data.columns[i].items, ...this.items[i])\n }\n\n ngOnDestroy() {\n this.eventsSubscription.unsubscribe();\n }\n}\n","module.exports = \"mat-card.mat-card.question {\\n margin-left: 5%;\\n box-shadow: none !important;\\n background: none !important;\\n border: dashed 2px rgb(0,0,125);\\n color: rgb(0,0,125) !important;\\n font-family: \\\"Roboto\\\" !important;\\n font-weight: bold !important;\\n}\\n\\n.columns {\\n margin-top: 1em;\\n display: flex;\\n flex-direction: row;\\n margin-left: 35px;\\n gap: 1em;\\n justify-content: space-around;\\n}\\n\\n.columns .column {\\n display: flex;\\n width: auto;\\n flex-direction: column;\\n align-items: center;\\n color: rgb(0,0,125) !important;\\n font-family: \\\"Roboto\\\";\\n font-weight: bold;\\n}\\n\\n.column-title {\\n margin-bottom: 1em;\\n}\\n\\n.mat-card.column img {\\n max-width: 80%;\\n max-height: 80%;\\n}\\n\\nmat-card.columns .drop-zone {\\n min-height: 10em;\\n width: 100%;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n border: dashed 2px #F2923D;\\n border-radius: 5px;\\n padding: 2px;\\n}\\n\\n.drag-item img {\\n max-width: 80%;\\n max-height: 80%;\\n}\\n\\n.unsorted {\\n width: calc(100% - 35px - 1em);\\n margin-left: 35px;\\n margin-top: 3em;\\n padding: 10px;\\n border: solid #F6B370 2px;\\n border-radius: 5px;\\n display: grid;\\n grid-template-columns: repeat(5, 1fr);\\n min-height: 10em;\\n}\\n\\n.unsorted .drag-item { cursor:pointer;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: center;\\n color: rgb(0,0,125);\\n font-family: \\\"Roboto\\\";\\n grid-row-gap: 1em;\\n}\\n\\n.inline-image {\\n height: 3em;\\n vertical-align: middle;\\n display: inline;\\n}\\n\\n.answer {\\n font-weight: bold;\\n}\\n\\n.answer.correct {\\n color: #2346F5;\\n font-weight: bold;\\n}\\n\\n.answer.incorrect {\\n color: #F2923D;\\n text-decoration: line-through;\\n}\\n\\n.cdk-drag-preview{\\n display: flex;\\n align-items: center;\\n\\n justify-content: center;\\n width: auto;\\n margin: 0;\\n padding: 0;\\n height: auto;\\n text-align: center;\\n \\n color: rgb(0,0,125);\\n font-family: \\\"Roboto\\\";\\n font-weight: bold;\\n cursor:pointer;\\n }\\n\\n.cdk-drag-placeholder {\\n opacity: 0;\\n }\\n\\n.drag-item, .draged-item {\\n cursor: pointer;\\n }\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvbWF0Y2hpbmdkcmFnbXVsdGljb2xkdXAvbWF0Y2hpbmdkcmFnbXVsdGljb2xkdXAuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGVBQWU7RUFDZiwyQkFBMkI7RUFDM0IsMkJBQTJCO0VBQzNCLCtCQUErQjtFQUMvQiw4QkFBOEI7RUFDOUIsZ0NBQWdDO0VBQ2hDLDRCQUE0QjtBQUM5Qjs7QUFFQTtFQUNFLGVBQWU7RUFDZixhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLGlCQUFpQjtFQUNqQixRQUFRO0VBQ1IsNkJBQTZCO0FBQy9COztBQUVBO0VBQ0UsYUFBYTtFQUNiLFdBQVc7RUFDWCxzQkFBc0I7RUFDdEIsbUJBQW1CO0VBQ25CLDhCQUE4QjtFQUM5QixxQkFBcUI7RUFDckIsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0Usa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsY0FBYztFQUNkLGVBQWU7QUFDakI7O0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsV0FBVztFQUNYLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsbUJBQW1CO0VBQ25CLDBCQUEwQjtFQUMxQixrQkFBa0I7RUFDbEIsWUFBWTtBQUNkOztBQUVBO0VBQ0UsY0FBYztFQUNkLGVBQWU7QUFDakI7O0FBQ0E7RUFDRSw4QkFBOEI7RUFDOUIsaUJBQWlCO0VBQ2pCLGVBQWU7RUFDZixhQUFhO0VBQ2IseUJBQXlCO0VBQ3pCLGtCQUFrQjtFQUNsQixhQUFhO0VBQ2IscUNBQXFDO0VBQ3JDLGdCQUFnQjtBQUNsQjs7QUFFQSx1QkFBdUIsY0FBYztFQUNuQyxhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLHVCQUF1QjtFQUN2QixtQkFBbUI7RUFDbkIsbUJBQW1CO0VBQ25CLHFCQUFxQjtFQUNyQixpQkFBaUI7QUFDbkI7O0FBRUE7RUFDRSxXQUFXO0VBQ1gsc0JBQXNCO0VBQ3RCLGVBQWU7QUFDakI7O0FBRUE7RUFDRSxpQkFBaUI7QUFDbkI7O0FBRUE7RUFDRSxjQUFjO0VBQ2QsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0UsY0FBYztFQUNkLDZCQUE2QjtBQUMvQjs7QUFFQTtFQUNFLGFBQWE7RUFDYixtQkFBbUI7O0VBRW5CLHVCQUF1QjtJQUNyQixXQUFXO0lBQ1gsU0FBUztJQUNULFVBQVU7SUFDVixZQUFZO0lBQ1osa0JBQWtCOztJQUVsQixtQkFBbUI7SUFDbkIscUJBQXFCO0lBQ3JCLGlCQUFpQjtJQUNqQixjQUFjO0VBQ2hCOztBQUVBO0lBQ0UsVUFBVTtFQUNaOztBQUVBO0lBQ0UsZUFBZTtFQUNqQiIsImZpbGUiOiJzcmMvYXBwL3Rhc2tzL21hdGNoaW5nZHJhZ211bHRpY29sZHVwL21hdGNoaW5nZHJhZ211bHRpY29sZHVwLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJtYXQtY2FyZC5tYXQtY2FyZC5xdWVzdGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiA1JTtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogZGFzaGVkIDJweCByZ2IoMCwwLDEyNSk7XG4gIGNvbG9yOiByZ2IoMCwwLDEyNSkgIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcbn1cblxuLmNvbHVtbnMge1xuICBtYXJnaW4tdG9wOiAxZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIG1hcmdpbi1sZWZ0OiAzNXB4O1xuICBnYXA6IDFlbTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG59XG5cbi5jb2x1bW5zIC5jb2x1bW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogYXV0bztcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6IHJnYigwLDAsMTI1KSAhaW1wb3J0YW50O1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5jb2x1bW4tdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbi5tYXQtY2FyZC5jb2x1bW4gaW1nIHtcbiAgbWF4LXdpZHRoOiA4MCU7XG4gIG1heC1oZWlnaHQ6IDgwJTtcbn1cblxubWF0LWNhcmQuY29sdW1ucyAgLmRyb3Atem9uZSB7XG4gIG1pbi1oZWlnaHQ6IDEwZW07XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXI6IGRhc2hlZCAycHggI0YyOTIzRDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBwYWRkaW5nOiAycHg7XG59XG5cbi5kcmFnLWl0ZW0gaW1nIHtcbiAgbWF4LXdpZHRoOiA4MCU7XG4gIG1heC1oZWlnaHQ6IDgwJTtcbn1cbi51bnNvcnRlZCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAzNXB4IC0gMWVtKTtcbiAgbWFyZ2luLWxlZnQ6IDM1cHg7XG4gIG1hcmdpbi10b3A6IDNlbTtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyOiBzb2xpZCAjRjZCMzcwIDJweDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpO1xuICBtaW4taGVpZ2h0OiAxMGVtO1xufVxuXG4udW5zb3J0ZWQgLmRyYWctaXRlbSB7IGN1cnNvcjpwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6IHJnYigwLDAsMTI1KTtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCI7XG4gIGdyaWQtcm93LWdhcDogMWVtO1xufVxuXG4uaW5saW5lLWltYWdlIHtcbiAgaGVpZ2h0OiAzZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLmFuc3dlciB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uYW5zd2VyLmNvcnJlY3Qge1xuICBjb2xvcjogIzIzNDZGNTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5hbnN3ZXIuaW5jb3JyZWN0IHtcbiAgY29sb3I6ICNGMjkyM0Q7XG4gIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xufVxuXG4uY2RrLWRyYWctcHJldmlld3tcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIFxuICAgIGNvbG9yOiByZ2IoMCwwLDEyNSk7XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY3Vyc29yOnBvaW50ZXI7XG4gIH1cbiAgXG4gIC5jZGstZHJhZy1wbGFjZWhvbGRlciB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICBcbiAgLmRyYWctaXRlbSwgLmRyYWdlZC1pdGVtIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH0iXX0= */\"","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from \"@angular/core\";\nimport * as _ from \"lodash\";\nimport {\n CdkDragDrop,\n moveItemInArray,\n transferArrayItem,\n copyArrayItem\n} from \"@angular/cdk/drag-drop\";\nimport { TaskComponent } from \"../task\";\nimport { Observable, Subscription } from \"rxjs\";\n\ndeclare type Item = {\n title: string;\n image: string;\n};\n\ndeclare type Column = {\n title: string;\n items: Item[];\n}\n\nexport declare type MatchingdragmulticoldupData = {\n type?: string;\n question: string;\n showLabels: boolean;\n columns: Column[];\n};\n\n@Component({\n selector: \"app-matchingdragmulticoldup\",\n templateUrl: \"./matchingdragmulticoldup.component.html\",\n styleUrls: [\"./matchingdragmulticoldup.component.css\"]\n})\nexport class MatchingdragmulticoldupComponent implements OnInit, TaskComponent {\n @Input() data: MatchingdragmulticoldupData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n @Input() submitTask?: Observable;\n private eventsSubscription: Subscription;\n public items: Item[][];\n public unsortedItems: Item[];\n public isAnswered: boolean = false;\n\n constructor() {}\n\n ngOnInit() {\n this.eventsSubscription = this.submitTask.subscribe(() => this.submit());\n this.unsortedItems = _.uniqBy(_.shuffle(_.flatten(_.map(this.data.columns, (column: Column) => column.items))), \"title\");\n console.log(this.unsortedItems);\n this.items = [];\n for(let i in this.data.columns) {\n this.items.push([]);\n }\n console.log(this.items);\n }\n\n drop(event: CdkDragDrop, i) {\n console.log(event.container.id, event.previousContainer.id, i)\n if (event.previousContainer === event.container) {\n moveItemInArray(\n event.container.data,\n event.previousIndex,\n event.currentIndex\n );\n } else if (event.container.id == \"unsorted-column\") {\n transferArrayItem(\n event.previousContainer.data,\n [],\n event.previousIndex,\n event.currentIndex\n );\n }\n else if(event.previousContainer.id == \"unsorted-column\"){\n copyArrayItem(\n event.previousContainer.data,\n event.container.data,\n event.previousIndex,\n event.currentIndex\n );\n }\n else {\n transferArrayItem(\n event.previousContainer.data,\n event.container.data,\n event.previousIndex,\n event.currentIndex\n );\n }\n }\n\n submit() {\n let isCorrect = true;\n this.isAnswered = true;\n for(let i in this.data.columns) {\n for(let item of this.data.columns[i].items) {\n console.log(this.data.columns[i].items, this.items[i])\n if(!this.items[i].includes(item)) {\n isCorrect = false;\n }\n }\n }\n this.taskSubmitted.next(isCorrect);\n }\n\n hasSameItem(col: Item[], item: Item) {\n return col.some(it => it.title == item.title && it.image == item.image);\n }\n ngOnDestroy() {\n this.eventsSubscription.unsubscribe();\n }\n}\n","module.exports = \"mat-card.mat-card.question {\\n margin-left: 5%;\\n box-shadow: none !important;\\n background: none !important;\\n border: dashed 2px rgb(0,0,125);\\n color: rgb(0,0,125) !important;\\n font-family: \\\"Roboto\\\" !important;\\n font-weight: bold !important;\\n}\\n\\n.columns {\\n margin-top: 1em;\\n display: flex;\\n flex-direction: row;\\n margin-left: 35px;\\n gap: 1em;\\n}\\n\\n.columns mat-card {\\n width: 25%;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n color: rgb(0,0,125) !important;\\n font-family: \\\"Roboto\\\";\\n font-weight: bold;\\n}\\n\\n.column-title {\\n margin-bottom: 1em;\\n}\\n\\n.mat-card.column img {\\n max-width: 80%;\\n max-height: 80%;\\n}\\n\\n.columns mat-card .drop-zone {\\n min-height: 10em;\\n width: 100%;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n}\\n\\n.drag-item img {\\n max-width: 80%;\\n max-height: 80%;\\n}\\n\\n.unsorted {\\n width: calc(100% - 35px - 1em);\\n margin-left: 35px;\\n margin-top: 3em;\\n padding: 10px;\\n border: solid #F6B370 2px;\\n border-radius: 5px;\\n display: grid;\\n grid-template-columns: repeat(5, 1fr);\\n min-height: 10em;\\n}\\n\\n.unsorted .drag-item { cursor:pointer;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: center;\\n color: rgb(0,0,125);\\n font-family: \\\"Roboto\\\";\\n grid-row-gap: 1em;\\n}\\n\\n.inline-image {\\n height: 3em;\\n vertical-align: middle;\\n display: inline;\\n}\\n\\n.answer {\\n font-weight: bold;\\n}\\n\\n.answer.correct {\\n color: #2346F5;\\n font-weight: bold;\\n}\\n\\n.answer.incorrect {\\n color: #F2923D;\\n text-decoration: line-through;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvbWF0Y2hpbmdkcmFncGljdHVyZXMvbWF0Y2hpbmdkcmFncGljdHVyZXMuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGVBQWU7RUFDZiwyQkFBMkI7RUFDM0IsMkJBQTJCO0VBQzNCLCtCQUErQjtFQUMvQiw4QkFBOEI7RUFDOUIsZ0NBQWdDO0VBQ2hDLDRCQUE0QjtBQUM5Qjs7QUFFQTtFQUNFLGVBQWU7RUFDZixhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLGlCQUFpQjtFQUNqQixRQUFRO0FBQ1Y7O0FBRUE7RUFDRSxVQUFVO0VBQ1YsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixtQkFBbUI7RUFDbkIsOEJBQThCO0VBQzlCLHFCQUFxQjtFQUNyQixpQkFBaUI7QUFDbkI7O0FBRUE7RUFDRSxrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxjQUFjO0VBQ2QsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixXQUFXO0VBQ1gsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxjQUFjO0VBQ2QsZUFBZTtBQUNqQjs7QUFDQTtFQUNFLDhCQUE4QjtFQUM5QixpQkFBaUI7RUFDakIsZUFBZTtFQUNmLGFBQWE7RUFDYix5QkFBeUI7RUFDekIsa0JBQWtCO0VBQ2xCLGFBQWE7RUFDYixxQ0FBcUM7RUFDckMsZ0JBQWdCO0FBQ2xCOztBQUVBLHVCQUF1QixjQUFjO0VBQ25DLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtFQUNuQixtQkFBbUI7RUFDbkIscUJBQXFCO0VBQ3JCLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLFdBQVc7RUFDWCxzQkFBc0I7RUFDdEIsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLGNBQWM7RUFDZCxpQkFBaUI7QUFDbkI7O0FBRUE7RUFDRSxjQUFjO0VBQ2QsNkJBQTZCO0FBQy9CIiwiZmlsZSI6InNyYy9hcHAvdGFza3MvbWF0Y2hpbmdkcmFncGljdHVyZXMvbWF0Y2hpbmdkcmFncGljdHVyZXMuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIm1hdC1jYXJkLm1hdC1jYXJkLnF1ZXN0aW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDUlO1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyOiBkYXNoZWQgMnB4IHJnYigwLDAsMTI1KTtcbiAgY29sb3I6IHJnYigwLDAsMTI1KSAhaW1wb3J0YW50O1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xufVxuXG4uY29sdW1ucyB7XG4gIG1hcmdpbi10b3A6IDFlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgbWFyZ2luLWxlZnQ6IDM1cHg7XG4gIGdhcDogMWVtO1xufVxuXG4uY29sdW1ucyBtYXQtY2FyZCB7XG4gIHdpZHRoOiAyNSU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiByZ2IoMCwwLDEyNSkgIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uY29sdW1uLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG4ubWF0LWNhcmQuY29sdW1uIGltZyB7XG4gIG1heC13aWR0aDogODAlO1xuICBtYXgtaGVpZ2h0OiA4MCU7XG59XG5cbi5jb2x1bW5zIG1hdC1jYXJkIC5kcm9wLXpvbmUge1xuICBtaW4taGVpZ2h0OiAxMGVtO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmRyYWctaXRlbSBpbWcge1xuICBtYXgtd2lkdGg6IDgwJTtcbiAgbWF4LWhlaWdodDogODAlO1xufVxuLnVuc29ydGVkIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDM1cHggLSAxZW0pO1xuICBtYXJnaW4tbGVmdDogMzVweDtcbiAgbWFyZ2luLXRvcDogM2VtO1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXI6IHNvbGlkICNGNkIzNzAgMnB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7XG4gIG1pbi1oZWlnaHQ6IDEwZW07XG59XG5cbi51bnNvcnRlZCAuZHJhZy1pdGVtIHsgY3Vyc29yOnBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogcmdiKDAsMCwxMjUpO1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIjtcbiAgZ3JpZC1yb3ctZ2FwOiAxZW07XG59XG5cbi5pbmxpbmUtaW1hZ2Uge1xuICBoZWlnaHQ6IDNlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG4uYW5zd2VyIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5hbnN3ZXIuY29ycmVjdCB7XG4gIGNvbG9yOiAjMjM0NkY1O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmFuc3dlci5pbmNvcnJlY3Qge1xuICBjb2xvcjogI0YyOTIzRDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG59Il19 */\"","import {\n Component,\n EventEmitter,\n Input,\n Output,\n ViewEncapsulation,\n} from \"@angular/core\";\nimport * as _ from \"lodash\";\nimport {\n CdkDragDrop,\n moveItemInArray,\n transferArrayItem,\n \n} from \"@angular/cdk/drag-drop\";\nimport { TaskComponent } from \"../task\";\nimport { Observable, Subscription } from \"rxjs\";\n\ndeclare type Item = {\n title: string;\n image: string;\n isExample: boolean;\n};\n\ndeclare type Column = {\n textBefore: string;\n textAfter: string;\n image: string;\n items: Item[];\n}\n\nexport declare type MatchingdragpicturesData = {\n type?: string;\n question: string;\n columns: Column[];\n};\n\n@Component({\n selector: \"app-matchingdragpictures\",\n templateUrl: \"./matchingdragpictures.component.html\",\n styleUrls: [\"./matchingdragpictures.component.css\"]\n})\nexport class MatchingdragpicturesComponent implements TaskComponent {\n @Input() data: MatchingdragpicturesData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n @Input() submitTask?: Observable;\n private eventsSubscription: Subscription;\n public items: Item[][];\n public examples: Item[][];\n public unsortedItems: Item[];\n public isAnswered: boolean = false;\n constructor() {}\n\n ngOnInit() {\n this.eventsSubscription = this.submitTask.subscribe(() => this.submit());\n this.unsortedItems = _.shuffle(_.filter(_.flatten(_.map(this.data.columns, (column: Column) => column.items)), (item: Item) => !item.isExample));\n this.examples = []\n this.items = [];\n this.isAnswered = false;\n for(let i in this.data.columns) {\n this.items.push([]);\n }\n for(let i in this.data.columns) {\n this.examples[i] = _.filter(this.data.columns[i].items, (item: Item) => item.isExample);\n }\n console.log(this.items);\n }\n\n drop(event: CdkDragDrop) {\n if (event.previousContainer === event.container) {\n moveItemInArray(\n event.container.data,\n event.previousIndex,\n event.currentIndex\n );\n } else {\n transferArrayItem(\n event.previousContainer.data,\n event.container.data,\n event.previousIndex,\n event.currentIndex\n );\n }\n }\n\n submit() {\n let isCorrect = true;\n for(let i in this.data.columns) {\n for(let item of this.data.columns[i].items) {\n console.log(this.data.columns[i].items, this.items[i], this.examples[i])\n if(!this.items[i].includes(item) && !this.examples[i].includes(item)) {\n isCorrect = false;\n }\n }\n }\n this.taskSubmitted.next(isCorrect);\n this.isAnswered = true;\n\n }\n\n isCorrectAnswer(i, item) {\n return this.data.columns[i].items.includes(item);\n }\n\n missing(i) {\n return _.without(this.data.columns[i].items, ...this.items[i])\n }\n\n ngOnDestroy() {\n this.eventsSubscription.unsubscribe();\n }\n}\n","module.exports = \".checkboxes {\\n list-style: none;\\n -webkit-padding-start: 1em;\\n padding-inline-start: 1em;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvbXVsdGljaG9pY2UvbXVsdGljaG9pY2UuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGdCQUFnQjtJQUNoQiwwQkFBeUI7WUFBekIseUJBQXlCO0FBQzdCIiwiZmlsZSI6InNyYy9hcHAvdGFza3MvbXVsdGljaG9pY2UvbXVsdGljaG9pY2UuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jaGVja2JveGVzIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAxZW07XG59Il19 */\"","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { TaskComponent } from '../task';\nimport * as _ from \"lodash\";\nimport { Observable, Subscription } from 'rxjs';\n\nexport declare type MultichoiceData = {\n type?: string;\n question: string;\n options: MultichoiceOption[];\n};\n\nexport interface MultichoiceOption {\n text: string;\n correct: boolean;\n}\n\n@Component({\n selector: 'app-multichoice',\n templateUrl: './multichoice.component.html',\n styleUrls: ['./multichoice.component.css']\n})\nexport class MultichoiceComponent implements TaskComponent, OnInit {\n\n @Input() data: MultichoiceData;\n @Input() submitTask: Observable;\n private eventsSubscription: Subscription;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n public answer: boolean[];\n public isCorrect: boolean[];\n public isAnswered: boolean = false;\n \n constructor() { }\n\n ngOnInit() {\n if(!this.answer) {\n this.answer = new Array(this.data.options.length).fill(false);\n }\n this.eventsSubscription = this.submitTask.subscribe(() => this.submit())\n }\n\n submit() {\n this.isCorrect = [];\n for(let answerIndex in this.answer) {\n this.isCorrect.push(this.answer[answerIndex] == this.data.options[answerIndex].correct);\n }\n this.taskSubmitted.emit(_.every(this.isCorrect));\n this.isAnswered = true;\n }\n\n getPoints() {\n return Math.round(_.filter(this.isCorrect).length / this.isCorrect.length * this.data.options.length);\n }\n\n getInflection(points: number) {\n return points === 1 ? '' : (points > 1 && points < 5 ? 'y' : 'ů');\n }\n\n getOptionColor(index) {\n if(this.isAnswered == false) {\n return [];\n }\n if (this.answer[index] == this.data.options[index].correct) {\n return ['correct'];\n }\n return ['incorrect'];\n }\n\n getCorrectAnswer(index) {\n if(this.isAnswered == false) {\n return '';\n }\n if (this.answer[index] == this.data.options[index].correct) {\n return 'Správně!';\n }\n return 'Špatně!';\n }\n\n ngOnDestroy() {\n this.eventsSubscription.unsubscribe();\n }\n\n\n}\n","module.exports = \".answer {\\n font-weight: bold;\\n}\\n\\n.answer.correct {\\n color: #2346F5;\\n font-weight: bold;\\n }\\n\\n.answer.incorrect {\\n color: #F2923D;\\n text-decoration: line-through;\\n }\\n\\n.correct-answer {\\n font-style: italic;\\n}\\n\\n.options-list {\\n margin-top: 1em;\\n border: orange solid 2px;\\n border-radius: 5px;\\n padding: 5px;\\n text-align: center;\\n -webkit-column-count: 2;\\n -moz-column-count: 2;\\n column-count: 2;\\n color: rgb(0,0,125);\\n font-family: \\\"Roboto\\\";\\n font-weight: bold;\\n}\\n\\n.drag-in-box {\\n display: inline-block;\\n height: 1.2em;\\n width: auto;\\n min-width: 60px;\\n border-radius: 5px;\\n border: orange dashed 2px;\\n margin-bottom: -7px;\\n}\\n\\n.drag-in-box .drag-item { cursor:pointer;\\n text-align: center;\\n line-height: 1.2em;\\n}\\n\\nmat-card.mat-card {\\n color:rgb(0, 0, 125) !important;\\n font-weight: normal;\\n font-family: 'Roboto Slab', 'Roboto' serif;\\n line-height: 1.8em;\\n}\\n\\nmat-card.mat-card.question {\\n margin-top: 0;\\n margin-bottom: 1em;\\n border-radius: 5px;\\n box-shadow: none !important;\\n background: none !important;\\n border: dashed 2px rgb(0,0,125);\\n color: rgb(0,0,125) !important;\\n font-family: \\\"Roboto\\\" !important;\\n font-weight: bold !important;\\n }\\n\\n.cdk-drag-preview{\\n display: flex;\\n align-items: center;\\n \\n justify-content: center;\\n width: auto;\\n margin: 0;\\n padding: 0;\\n height: auto;\\n text-align: center;\\n \\n color: rgb(0,0,125);\\n font-family: \\\"Roboto\\\";\\n font-weight: bold;\\n cursor:pointer;\\n }\\n\\n.cdk-drag-placeholder {\\n opacity: 0;\\n }\\n\\n.drag-item, .draged-item {\\n cursor: pointer;\\n }\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvbXVsdGlkcmFnL211bHRpZHJhZy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksY0FBYztJQUNkLGlCQUFpQjtFQUNuQjs7QUFFQTtJQUNFLGNBQWM7SUFDZCw2QkFBNkI7RUFDL0I7O0FBRUY7SUFDSSxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxlQUFlO0lBQ2Ysd0JBQXdCO0lBQ3hCLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLHVCQUFlO09BQWYsb0JBQWU7WUFBZixlQUFlO0lBQ2YsbUJBQW1CO0lBQ25CLHFCQUFxQjtJQUNyQixpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxxQkFBcUI7SUFDckIsYUFBYTtJQUNiLFdBQVc7SUFDWCxlQUFlO0lBQ2Ysa0JBQWtCO0lBQ2xCLHlCQUF5QjtJQUN6QixtQkFBbUI7QUFDdkI7O0FBRUEsMEJBQTBCLGNBQWM7SUFDcEMsa0JBQWtCO0lBQ2xCLGtCQUFrQjtBQUN0Qjs7QUFDQTtJQUNJLCtCQUErQjtJQUMvQixtQkFBbUI7SUFDbkIsMENBQTBDO0lBQzFDLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGFBQWE7SUFDYixrQkFBa0I7SUFDbEIsa0JBQWtCO0lBQ2xCLDJCQUEyQjtJQUMzQiwyQkFBMkI7SUFDM0IsK0JBQStCO0lBQy9CLDhCQUE4QjtJQUM5QixnQ0FBZ0M7SUFDaEMsNEJBQTRCO0VBQzlCOztBQUVBO0lBQ0UsYUFBYTtJQUNiLG1CQUFtQjs7SUFFbkIsdUJBQXVCO01BQ3JCLFdBQVc7TUFDWCxTQUFTO01BQ1QsVUFBVTtNQUNWLFlBQVk7TUFDWixrQkFBa0I7O01BRWxCLG1CQUFtQjtNQUNuQixxQkFBcUI7TUFDckIsaUJBQWlCO01BQ2pCLGNBQWM7SUFDaEI7O0FBRUE7TUFDRSxVQUFVO0lBQ1o7O0FBRUE7TUFDRSxlQUFlO0lBQ2pCIiwiZmlsZSI6InNyYy9hcHAvdGFza3MvbXVsdGlkcmFnL211bHRpZHJhZy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmFuc3dlciB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5hbnN3ZXIuY29ycmVjdCB7XG4gICAgY29sb3I6ICMyMzQ2RjU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbiAgXG4gIC5hbnN3ZXIuaW5jb3JyZWN0IHtcbiAgICBjb2xvcjogI0YyOTIzRDtcbiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgfVxuXG4uY29ycmVjdC1hbnN3ZXIge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLm9wdGlvbnMtbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xuICAgIGJvcmRlcjogb3JhbmdlIHNvbGlkIDJweDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgY29sb3I6IHJnYigwLDAsMTI1KTtcbiAgICBmb250LWZhbWlseTogXCJSb2JvdG9cIjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmRyYWctaW4tYm94IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAxLjJlbTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtaW4td2lkdGg6IDYwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJvcmRlcjogb3JhbmdlIGRhc2hlZCAycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogLTdweDtcbn1cblxuLmRyYWctaW4tYm94IC5kcmFnLWl0ZW0geyBjdXJzb3I6cG9pbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xufVxubWF0LWNhcmQubWF0LWNhcmQge1xuICAgIGNvbG9yOnJnYigwLCAwLCAxMjUpICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LWZhbWlseTogJ1JvYm90byBTbGFiJywgJ1JvYm90bycgc2VyaWY7XG4gICAgbGluZS1oZWlnaHQ6IDEuOGVtO1xufVxuXG5tYXQtY2FyZC5tYXQtY2FyZC5xdWVzdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiBkYXNoZWQgMnB4IHJnYigwLDAsMTI1KTtcbiAgICBjb2xvcjogcmdiKDAsMCwxMjUpICFpbXBvcnRhbnQ7XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmNkay1kcmFnLXByZXZpZXd7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIFxuICAgICAgY29sb3I6IHJnYigwLDAsMTI1KTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBjdXJzb3I6cG9pbnRlcjtcbiAgICB9XG4gICAgXG4gICAgLmNkay1kcmFnLXBsYWNlaG9sZGVyIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIFxuICAgIC5kcmFnLWl0ZW0sIC5kcmFnZWQtaXRlbSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfSJdfQ== */\"","import {\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n ViewEncapsulation,\n} from \"@angular/core\";\nimport * as _ from \"lodash\";\nimport {\n CdkDragDrop,\n moveItemInArray,\n transferArrayItem,\n} from \"@angular/cdk/drag-drop\";\nimport { Observable, Subscription } from \"rxjs\";\nimport { matchAll } from \"@shared/utilities\";\n\nexport declare type MultidragData = {\n question?: string;\n template: string;\n type: string;\n};\n\nexport declare type MultidragPart = {\n type: MultidragPartType;\n content: string;\n};\n\nexport enum MultidragPartType {\n TEXT,\n GAP,\n}\n\n@Component({\n selector: \"app-multidrag\",\n templateUrl: \"./multidrag.component.html\",\n styleUrls: [\"./multidrag.component.css\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class MultidragComponent implements OnChanges {\n @Input() data: MultidragData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n @Output() isEmpty: EventEmitter = new EventEmitter();\n @Input() submitTask: Observable;\n public eventsSubscription: Subscription;\n partType = MultidragPartType;\n public dragIns: { [id: string]: { id: string; value: string }[] } = {};\n public isAnswered: boolean = false;\n private isCorrect: boolean[] = [];\n public parts: MultidragPart[] = [];\n public options: { id: string; value: string }[] = [];\n\n constructor(private changeRef: ChangeDetectorRef) {}\n\n ngOnInit() {\n if(this.data && this.data.template) {\n this.createGaps();\n }\n console.log(this.options);\n for (let option of this.options) {\n this.dragIns[option.id] = [];\n }\n this.eventsSubscription = this.submitTask.subscribe(() => this.submit())\n }\n\n ngOnChanges() {\n if(this.data && this.data.template) {\n this.createGaps();\n }\n console.log(this.options);\n for (let option of this.options) {\n this.dragIns[option.id] = [];\n }\n this.eventsSubscription = this.submitTask.subscribe(() => this.submit())\n }\n\n drop(event: CdkDragDrop<{ id: string; value: string }[]>) {\n if (event.previousContainer === event.container) {\n moveItemInArray(\n event.container.data,\n event.previousIndex,\n event.currentIndex\n );\n } else {\n if (event.container.data.length == 0 || event.container.id == \"options\") {\n transferArrayItem(\n event.previousContainer.data,\n event.container.data,\n event.previousIndex,\n event.currentIndex\n );\n }\n }\n if(this.options.length == 0) {\n this.isEmpty.next(true);\n } else {\n this.isEmpty.next(false);\n }\n }\n\n submit() {\n this.isCorrect = [];\n for (let i in this.parts) {\n if (this.parts[i].type == MultidragPartType.GAP) {\n console.log(this.parts[i].content);\n let correctAns =\n this.dragIns[this.parts[i].content][0] && this.dragIns[this.parts[i].content][0].id ==\n this.parts[i].content;\n this.isCorrect.push(correctAns);\n if (correctAns) {\n this.parts[i] = {\n type: MultidragPartType.TEXT,\n content:\n '' +\n this.dragIns[this.parts[i].content][0].value +\n \"\",\n };\n } else {\n let correctOption = _.find(this.options, (option) => option.id == this.parts[i].content)\n this.parts[i] = {\n type: MultidragPartType.TEXT,\n content:\n `${this.dragIns[this.parts[i].content][0] ? this.dragIns[this.parts[i].content][0].value : \"\"}(${correctOption ? correctOption.value : \"\"})`,\n };\n }\n }\n }\n if (_.every(this.isCorrect)) {\n this.taskSubmitted.emit(true);\n } else {\n this.taskSubmitted.emit(false);\n }\n this.isAnswered = true;\n }\n\n createGaps() {\n console.log(this.data);\n let gaps: { id: string; value: string }[] = []\n let gapMatches = matchAll(/\\{#FILL:([^}*]+)\\}/g, this.data.template);\n for(let i in gapMatches) {\n gaps.push({\n value: gapMatches[i][0].replace(\"{#FILL:\", \"\").replace(\"}\", \"\"),\n id: 'dragin-'+i\n });\n }\n let gappedText = this.data.template;\n for(let i in gaps) {\n gappedText = gappedText.replace(gapMatches[i][0], '{SPLIT}');\n }\n console.log(gappedText);\n let textParts = gappedText.split('{SPLIT}');\n console.log(textParts);\n let parts: MultidragPart[] = [];\n for(let i in textParts) {\n parts.push({\n type: MultidragPartType.TEXT,\n content: textParts[i]\n });\n if(parseInt(i) < textParts.length - 1) {\n parts.push({\n type: MultidragPartType.GAP,\n content: gaps[i].id\n });\n }\n }\n console.log(parts)\n this.parts = parts;\n this.options = _.shuffle(gaps);\n }\n}\n","module.exports = \".answer {\\n font-weight: bold;\\n}\\n\\n.answer.correct {\\n color: #2346F5;\\n font-weight: bold;\\n }\\n\\n.answer.incorrect {\\n color: #F2923D;\\n text-decoration: line-through;\\n }\\n\\n.correct-answer {\\n font-style: italic;\\n}\\n\\n.multifill, .multifill:focus {\\n border: dashed #EE741C 2px !important;\\n border-radius: 5px;\\n height: 1.2em;\\n}\\n\\n.multifill.full-width, .multifill.full-width:focus {\\n width: 95%;\\n}\\n\\nmat-card.mat-card {\\n color:rgb(0, 0, 125) !important;\\n font-weight: normal;\\n font-family: 'Roboto Slab', 'Roboto' serif;\\n line-height: 1.8em;\\n}\\n\\nmat-card.mat-card.question {\\n margin-top: 0;\\n margin-bottom: 1em;\\n border-radius: 5px;\\n box-shadow: none !important;\\n background: none !important;\\n border: dashed 2px rgb(0,0,125);\\n color: rgb(0,0,125) !important;\\n font-family: \\\"Roboto\\\" !important;\\n font-weight: bold !important;\\n }\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvbXVsdGlmaWxsL211bHRpZmlsbC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksY0FBYztJQUNkLGlCQUFpQjtFQUNuQjs7QUFFQTtJQUNFLGNBQWM7SUFDZCw2QkFBNkI7RUFDL0I7O0FBQ0Y7SUFDSSxrQkFBa0I7QUFDdEI7O0FBQ0E7SUFDSSxxQ0FBcUM7SUFDckMsa0JBQWtCO0lBQ2xCLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxVQUFVO0FBQ2Q7O0FBRUE7SUFDSSwrQkFBK0I7SUFDL0IsbUJBQW1CO0lBQ25CLDBDQUEwQztJQUMxQyxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxhQUFhO0lBQ2Isa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQiwyQkFBMkI7SUFDM0IsMkJBQTJCO0lBQzNCLCtCQUErQjtJQUMvQiw4QkFBOEI7SUFDOUIsZ0NBQWdDO0lBQ2hDLDRCQUE0QjtFQUM5QiIsImZpbGUiOiJzcmMvYXBwL3Rhc2tzL211bHRpZmlsbC9tdWx0aWZpbGwuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5hbnN3ZXIge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uYW5zd2VyLmNvcnJlY3Qge1xuICAgIGNvbG9yOiAjMjM0NkY1O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIFxuICAuYW5zd2VyLmluY29ycmVjdCB7XG4gICAgY29sb3I6ICNGMjkyM0Q7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gIH1cbi5jb3JyZWN0LWFuc3dlciB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuLm11bHRpZmlsbCwgLm11bHRpZmlsbDpmb2N1cyB7XG4gICAgYm9yZGVyOiBkYXNoZWQgI0VFNzQxQyAycHggIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgaGVpZ2h0OiAxLjJlbTtcbn1cblxuLm11bHRpZmlsbC5mdWxsLXdpZHRoLCAubXVsdGlmaWxsLmZ1bGwtd2lkdGg6Zm9jdXMge1xuICAgIHdpZHRoOiA5NSU7XG59XG5cbm1hdC1jYXJkLm1hdC1jYXJkIHtcbiAgICBjb2xvcjpyZ2IoMCwgMCwgMTI1KSAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1mYW1pbHk6ICdSb2JvdG8gU2xhYicsICdSb2JvdG8nIHNlcmlmO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjhlbTtcbn1cblxubWF0LWNhcmQubWF0LWNhcmQucXVlc3Rpb24ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogZGFzaGVkIDJweCByZ2IoMCwwLDEyNSk7XG4gICAgY29sb3I6IHJnYigwLDAsMTI1KSAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcbiAgfSJdfQ== */\"","import { Component, OnInit, Input, Output, EventEmitter, ViewChildren, TemplateRef, ElementRef, QueryList, Inject, ChangeDetectorRef, ViewEncapsulation, OnChanges, SimpleChange } from '@angular/core';\nimport { TaskComponent } from '../task';\nimport { DOCUMENT } from '@angular/common';\nimport * as _ from \"lodash\";\nimport { matchAll } from '@shared/utilities';\nimport { Observable, Subscription } from 'rxjs';\n\nexport declare type MultifillData = {\n type?: string;\n question?: string;\n template: string;\n};\n\n@Component({\n selector: \"app-multifill\",\n templateUrl: \"./multifill.component.html\",\n styleUrls: [\"./multifill.component.css\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class MultifillComponent implements TaskComponent, OnInit, OnChanges {\n @Input() data: MultifillData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n private document;\n public isAnswered = false;\n @Input() submitTask: Observable;\n private eventsSubscription: Subscription;\n public isCorrect: boolean[] = [];\n public answers: { id: string; value: string }[];\n\n constructor(\n @Inject(DOCUMENT) document,\n private changeRef: ChangeDetectorRef\n ) {\n this.document = document;\n }\n\n ngOnInit() {\n this.eventsSubscription = this.submitTask.subscribe(() => this.submit())\n if(this.data) {\n console.log(\"INIT GAPS\")\n this.createGaps();\n }\n }\n\n ngOnDestroy() {\n this.eventsSubscription.unsubscribe();\n }\n\n ngOnChanges(changes: { [propName: string]: SimpleChange }) {\n if( changes['data'] && changes['data'].previousValue != changes['data'].currentValue ) {\n console.log(\"CHANGE GAPS\")\n this.createGaps();\n }\n }\n\n submit() {\n console.log(\"SUBMITTED\")\n this.isCorrect = [];\n for (let answerIndex in this.answers) {\n let answer = this.answers[answerIndex].value.split(\"|\");\n let userAnswer = this.getAnswer(parseInt(answerIndex));\n this.isCorrect.push(answer.includes(userAnswer));\n let inputEl = this.document.getElementById(\n this.answers[answerIndex].id\n );\n const newEl = this.document.createElement(\"span\");\n newEl.classList.add(\n answer.includes(userAnswer) ? \"correct\" : \"incorrect\",\n \"answer\"\n );\n newEl.innerHTML = userAnswer;\n inputEl.parentNode.replaceChild(newEl, inputEl);\n if (!answer.includes(userAnswer)) {\n const correctAnswer = this.document.createElement(\"span\");\n correctAnswer.classList.add(\"correct-answer\");\n correctAnswer.innerHTML = \"( správná odpověď: \" + answer.join(\" / \") + \")\";\n newEl.parentNode.insertBefore(correctAnswer, newEl.nextSibling);\n }\n }\n if (_.every(this.isCorrect)) {\n this.taskSubmitted.emit(true);\n } else {\n this.taskSubmitted.emit(false);\n }\n this.isAnswered = true;\n }\n\n getAnswer(id: number) {\n if (!this.document.getElementById(this.answers[id].id)) {\n return null;\n }\n this.document.getElementById(this.answers[id].id).onchange = function (\n e\n ) {\n if (this.changeRef) {\n this.changeRef.detectChanges();\n }\n };\n return this.document.getElementById(this.answers[id].id).value;\n }\n\n public isAllFilled() {\n let allFilled = true;\n if (!this.data) {\n return false;\n }\n for(let answerIndex in this.answers) {\n if(!this.getAnswer(parseInt(answerIndex))) {\n allFilled = false;\n }\n }\n return allFilled;\n }\n\n createGaps() {\n let gaps = []\n let gapMatches = matchAll(/\\{#SELECT(FULL)?:([^}*]+)\\}/g, this.data.template);\n for(let i in gapMatches) {\n let isFull = gapMatches[i][0].includes(\"#SELECTFULL\");\n gaps.push({\n value: gapMatches[i][0].replace(/\\{#SELECT(FULL)?:/, \"\").replace(\"}\", \"\"),\n id: 'fill-'+i,\n full: isFull\n });\n }\n let gappedText = this.data.template;\n for(let i in gaps) {\n gappedText = gappedText.replace(gapMatches[i][0], '');\n }\n console.log(gappedText);\n this.data.template = gappedText;\n this.answers = gaps;\n }\n}\n","module.exports = \".answer {\\n margin: 1rem;\\n height: 1.5em;\\n border: black solid 1px;\\n}\\n\\n.answer.correct {\\n color: #2346F5;\\n font-weight: bold;\\n}\\n\\n.answer.incorrect {\\n color: #F2923D;\\n text-decoration: line-through;\\n}\\n\\n.correct-answer {\\n font-style: italic;\\n}\\n\\n.text-image {\\n height: 7rem;\\n width: 7rem;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvbXVsdGlpbnNlcnQvbXVsdGlpbnNlcnQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFlBQVk7RUFDWixhQUFhO0VBQ2IsdUJBQXVCO0FBQ3pCOztBQUVBO0VBQ0UsY0FBYztFQUNkLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLGNBQWM7RUFDZCw2QkFBNkI7QUFDL0I7O0FBRUE7RUFDRSxrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxZQUFZO0VBQ1osV0FBVztBQUNiIiwiZmlsZSI6InNyYy9hcHAvdGFza3MvbXVsdGlpbnNlcnQvbXVsdGlpbnNlcnQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5hbnN3ZXIge1xuICBtYXJnaW46IDFyZW07XG4gIGhlaWdodDogMS41ZW07XG4gIGJvcmRlcjogYmxhY2sgc29saWQgMXB4O1xufVxuXG4uYW5zd2VyLmNvcnJlY3Qge1xuICBjb2xvcjogIzIzNDZGNTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5hbnN3ZXIuaW5jb3JyZWN0IHtcbiAgY29sb3I6ICNGMjkyM0Q7XG4gIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xufVxuXG4uY29ycmVjdC1hbnN3ZXIge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi50ZXh0LWltYWdlIHtcbiAgaGVpZ2h0OiA3cmVtO1xuICB3aWR0aDogN3JlbTtcbn1cbiJdfQ== */\"","import {\n Component,\n OnInit,\n Input,\n Output,\n EventEmitter,\n Inject,\n ViewEncapsulation,\n ChangeDetectorRef,\n} from \"@angular/core\";\nimport { TaskComponent } from \"../task\";\nimport { DOCUMENT } from \"@angular/common\";\nimport * as _ from \"lodash\";\nimport { matchAll } from \"@shared/utilities\";\nimport { compareStringAndArray } from \"@shared/utilities/compare-strings\";\nimport { Paragraph } from \"src/app/dvz/dikobraz-se-uci-anglicky/models/task.model\";\n\ndeclare type Row = { imageUrl?: string; emoticon?: string; rowScheme: string };\n\nexport declare type MultiinsertData = {\n type?: string;\n question: Paragraph[];\n backgroundAudioUrl?: string;\n rows: Row[];\n};\n\n@Component({\n selector: \"app-multiinsert\",\n templateUrl: \"./multiinsert.component.html\",\n styleUrls: [\"./multiinsert.component.css\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class MultiinsertComponent implements TaskComponent, OnInit {\n @Input() data: MultiinsertData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n private document;\n public isAnswered = false;\n public isCorrect: boolean[] = [];\n public filledTemplate = \"\";\n public questions: {\n correct: string[];\n hint: string;\n id: string;\n }[] = [];\n private audio: HTMLAudioElement;\n\n constructor(\n @Inject(DOCUMENT) document,\n private changeRef: ChangeDetectorRef\n ) {\n this.document = document;\n }\n\n ngOnInit() {\n this.createGaps();\n if (this.data.backgroundAudioUrl) {\n this.audio = new Audio(this.data.backgroundAudioUrl);\n this.audio.play();\n }\n }\n\n ngOnDestroy() {\n this.stopAudio();\n }\n\n submit() {\n this.isCorrect = [];\n for (let answerIndex in this.questions) {\n let answer = this.questions[answerIndex];\n let userAnswer: string = this.getAnswer(parseInt(answerIndex));\n this.isCorrect.push(compareStringAndArray(userAnswer, answer.correct));\n let inputEl = this.document.getElementById(\n this.questions[answerIndex].id\n );\n const newEl = this.document.createElement(\"span\");\n newEl.classList.add(\n compareStringAndArray(userAnswer, answer.correct)\n ? \"correct\"\n : \"incorrect\",\n \"answer\"\n );\n newEl.innerHTML = userAnswer;\n if (this.questions[answerIndex].hint) {\n inputEl.parentNode.removeChild(inputEl.nextSibling);\n }\n inputEl.parentNode.replaceChild(newEl, inputEl);\n if (!compareStringAndArray(userAnswer, answer.correct)) {\n const correctAnswer = this.document.createElement(\"span\");\n correctAnswer.classList.add(\"correct-answer\");\n correctAnswer.innerHTML =\n \"( správná odpověď: \" + answer.correct.join(\", \") + \")\";\n newEl.parentNode.insertBefore(correctAnswer, newEl.nextSibling);\n }\n }\n if (_.every(this.isCorrect)) {\n this.taskSubmitted.emit(true);\n } else {\n this.taskSubmitted.emit(false);\n }\n this.isAnswered = true;\n this.stopAudio();\n }\n\n stopAudio() {\n if (this.audio) {\n this.audio.pause();\n this.audio.remove();\n }\n }\n\n getAnswer(id: number) {\n if (!this.document.getElementById(this.questions[id].id)) {\n return null;\n }\n this.document.getElementById(this.questions[id].id).onchange = (e) => {\n if (this.changeRef) {\n this.changeRef.detectChanges();\n }\n };\n return this.document.getElementById(this.questions[id].id).value;\n }\n\n isAllFilled() {\n let allFilled = true;\n if (!this.data) {\n return false;\n }\n for (let answerIndex in this.questions) {\n if (!this.getAnswer(parseInt(answerIndex))) {\n allFilled = false;\n }\n }\n return allFilled;\n }\n\n insertImages(row: Row) {\n return row.rowScheme.replace(\n \"{#IMAGE}\",\n ``\n );\n }\n\n createGaps() {\n let template: string;\n if (this.isContainImages()) {\n template = this.data.rows\n .map((row) => this.insertImages(row))\n .join(\"
    \");\n } else {\n template = this.data.rows.map((row) => row.rowScheme).join(\"
    \");\n }\n this.questions = [];\n let gapMatches = matchAll(/\\{#INSERT:([^}*]+)\\}/g, template);\n for (let i in gapMatches) {\n let questionTemplate = gapMatches[i][0]\n .replace(\"{#INSERT:\", \"\")\n .replace(\"}\", \"\");\n let correct = questionTemplate.split(\":\")[0].split(\",\");\n let hint =\n questionTemplate.split(\":\").length > 1\n ? `(${questionTemplate.split(\":\")[1]})`\n : \"\";\n this.questions.push({\n correct: correct.map((correct: string) => correct.trim()),\n hint: hint,\n id: \"insert-\" + i,\n });\n }\n let gappedText = template;\n for (let i in this.questions) {\n let emoticon = \"\";\n if (this.data.rows[i]) {\n emoticon = this.data.rows[i].emoticon ? this.data.rows[i].emoticon : \"\";\n }\n const hint = `${emoticon} ${this.questions[i].hint}`;\n gappedText = gappedText.replace(\n gapMatches[i][0],\n '' +\n \"\" +\n hint.trim() +\n \"\"\n );\n }\n this.filledTemplate = gappedText;\n }\n\n isContainImages(): boolean {\n for (let row of this.data.rows) {\n if (row.imageUrl && row.imageUrl !== undefined && row.imageUrl !== \"\") {\n return true;\n }\n }\n return false;\n }\n}\n","module.exports = \".answer {\\n font-weight: bold;\\n}\\n\\n.answer.correct {\\n color: #2346F5;\\n font-weight: bold;\\n}\\n\\n.answer.incorrect {\\n color: #F2923D;\\n text-decoration: line-through;\\n}\\n\\n.correct-answer {\\n font-style: italic;\\n}\\n\\n.multifill, .multifill:focus {\\n border: dashed #EE741C 2px !important;\\n border-radius: 5px;\\n height: 1.2em;\\n}\\n\\n.multifill.full-width, .multifill.full-width:focus {\\n width: 95%;\\n}\\n\\nmat-card.mat-card {\\n color:rgb(0, 0, 125) !important;\\n font-weight: normal;\\n font-family: 'Roboto Slab', 'Roboto' serif;\\n line-height: 1.8em;\\n}\\n\\nmat-card.mat-card.question {\\n margin-top: 0;\\n margin-bottom: 1em;\\n border-radius: 5px;\\n box-shadow: none !important;\\n background: none !important;\\n border: dashed 2px rgb(0,0,125);\\n color: rgb(0,0,125) !important;\\n font-family: \\\"Roboto\\\" !important;\\n font-weight: bold !important;\\n }\\n\\n.example-radio-group {\\n display: flex;\\n flex-direction: column;\\n margin: 15px 1.5em;\\n }\\n\\n.example-radio-button {\\n margin: 5px;\\n }\\n\\n.mat-radio-inner-circle, .mat-radio-ripple .mat-ripple-element {\\n background-color: rgb(0, 0, 125) !important;\\n }\\n\\n.mat-radio-outer-circle {\\n border-color: rgb(0, 0, 125) !important;\\n }\\n\\n.mat-radio-label-content {\\n color: rgb(0, 0, 125) !important;\\n white-space: normal !important;\\n }\\n\\n.mat-radio-label-content .answered.correct{\\n color: #2346F5;\\n font-weight: bold;\\n }\\n\\n.mat-radio-label-content .answered.selected:not(.correct) {\\n color: #F2923D;\\n text-decoration: line-through;\\n }\\n\\n.sc-option {\\n font-weight: normal !important;\\n }\\n\\n::ng-deep .sc-description {\\n font-weight: bold !important;\\n }\\n\\n.inline-image {\\n height: 3em;\\n vertical-align: middle;\\n display: inline;\\n }\\n\\n.gap {\\n margin-left: 0.5em;\\n margin-right: 0.5em;\\n }\\n\\n.columns {\\n display: flex;\\n flex-direction: row;\\n flex-wrap: wrap;\\n justify-content: space-between;\\n row-gap: 2em;\\n margin-bottom: 2em;\\n }\\n\\n.columns mat-card {\\n width: 100%;\\n }\\n\\n.columns.columns-2 mat-card {\\n width: 40%;\\n }\\n\\n.columns.columns-3 mat-card {\\n width: 25%;\\n }\\n\\n.play { cursor:pointer;\\n display: inline;\\n width: 3em;\\n vertical-align: middle;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvbXVsdGlsaW5lYXVkaW9jaG9pY2UvbXVsdGlsaW5lYXVkaW9jaG9pY2UuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGNBQWM7SUFDZCxpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxjQUFjO0lBQ2QsNkJBQTZCO0FBQ2pDOztBQUVBO0lBQ0ksa0JBQWtCO0FBQ3RCOztBQUNBO0lBQ0kscUNBQXFDO0lBQ3JDLGtCQUFrQjtJQUNsQixhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksVUFBVTtBQUNkOztBQUVBO0lBQ0ksK0JBQStCO0lBQy9CLG1CQUFtQjtJQUNuQiwwQ0FBMEM7SUFDMUMsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLGtCQUFrQjtJQUNsQixrQkFBa0I7SUFDbEIsMkJBQTJCO0lBQzNCLDJCQUEyQjtJQUMzQiwrQkFBK0I7SUFDL0IsOEJBQThCO0lBQzlCLGdDQUFnQztJQUNoQyw0QkFBNEI7RUFDOUI7O0FBRUE7SUFDRSxhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLGtCQUFrQjtFQUNwQjs7QUFDQTtJQUNFLFdBQVc7RUFDYjs7QUFFQTtJQUNFLDJDQUEyQztFQUM3Qzs7QUFFQTtJQUNFLHVDQUF1QztFQUN6Qzs7QUFFQTtJQUNFLGdDQUFnQztJQUNoQyw4QkFBOEI7RUFDaEM7O0FBRUE7SUFDRSxjQUFjO0lBQ2QsaUJBQWlCO0VBQ25COztBQUNBO0lBQ0UsY0FBYztJQUNkLDZCQUE2QjtFQUMvQjs7QUFFQTtJQUNFLDhCQUE4QjtFQUNoQzs7QUFFQTtJQUNFLDRCQUE0QjtFQUM5Qjs7QUFFQTtJQUNFLFdBQVc7SUFDWCxzQkFBc0I7SUFDdEIsZUFBZTtFQUNqQjs7QUFFQTtJQUNFLGtCQUFrQjtJQUNsQixtQkFBbUI7RUFDckI7O0FBRUE7SUFDRSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLGVBQWU7SUFDZiw4QkFBOEI7SUFDOUIsWUFBWTtJQUNaLGtCQUFrQjtFQUNwQjs7QUFFQTtJQUNFLFdBQVc7RUFDYjs7QUFFQTtJQUNFLFVBQVU7RUFDWjs7QUFFQTtJQUNFLFVBQVU7RUFDWjs7QUFFQSxRQUFRLGNBQWM7SUFDcEIsZUFBZTtJQUNmLFVBQVU7SUFDVixzQkFBc0I7QUFDMUIiLCJmaWxlIjoic3JjL2FwcC90YXNrcy9tdWx0aWxpbmVhdWRpb2Nob2ljZS9tdWx0aWxpbmVhdWRpb2Nob2ljZS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmFuc3dlciB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5hbnN3ZXIuY29ycmVjdCB7XG4gICAgY29sb3I6ICMyMzQ2RjU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5hbnN3ZXIuaW5jb3JyZWN0IHtcbiAgICBjb2xvcjogI0YyOTIzRDtcbiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbn1cblxuLmNvcnJlY3QtYW5zd2VyIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG4ubXVsdGlmaWxsLCAubXVsdGlmaWxsOmZvY3VzIHtcbiAgICBib3JkZXI6IGRhc2hlZCAjRUU3NDFDIDJweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBoZWlnaHQ6IDEuMmVtO1xufVxuXG4ubXVsdGlmaWxsLmZ1bGwtd2lkdGgsIC5tdWx0aWZpbGwuZnVsbC13aWR0aDpmb2N1cyB7XG4gICAgd2lkdGg6IDk1JTtcbn1cblxubWF0LWNhcmQubWF0LWNhcmQge1xuICAgIGNvbG9yOnJnYigwLCAwLCAxMjUpICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LWZhbWlseTogJ1JvYm90byBTbGFiJywgJ1JvYm90bycgc2VyaWY7XG4gICAgbGluZS1oZWlnaHQ6IDEuOGVtO1xufVxuXG5tYXQtY2FyZC5tYXQtY2FyZC5xdWVzdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiBkYXNoZWQgMnB4IHJnYigwLDAsMTI1KTtcbiAgICBjb2xvcjogcmdiKDAsMCwxMjUpICFpbXBvcnRhbnQ7XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmV4YW1wbGUtcmFkaW8tZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW46IDE1cHggMS41ZW07XG4gIH1cbiAgLmV4YW1wbGUtcmFkaW8tYnV0dG9uIHtcbiAgICBtYXJnaW46IDVweDtcbiAgfVxuICBcbiAgLm1hdC1yYWRpby1pbm5lci1jaXJjbGUsIC5tYXQtcmFkaW8tcmlwcGxlIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigwLCAwLCAxMjUpICFpbXBvcnRhbnQ7XG4gIH1cbiAgXG4gIC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlIHtcbiAgICBib3JkZXItY29sb3I6IHJnYigwLCAwLCAxMjUpICFpbXBvcnRhbnQ7XG4gIH1cbiAgXG4gIC5tYXQtcmFkaW8tbGFiZWwtY29udGVudCB7XG4gICAgY29sb3I6IHJnYigwLCAwLCAxMjUpICFpbXBvcnRhbnQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50O1xuICB9XG4gIFxuICAubWF0LXJhZGlvLWxhYmVsLWNvbnRlbnQgLmFuc3dlcmVkLmNvcnJlY3R7XG4gICAgY29sb3I6ICMyMzQ2RjU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbiAgLm1hdC1yYWRpby1sYWJlbC1jb250ZW50IC5hbnN3ZXJlZC5zZWxlY3RlZDpub3QoLmNvcnJlY3QpIHtcbiAgICBjb2xvcjogI0YyOTIzRDtcbiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgfVxuICBcbiAgLnNjLW9wdGlvbiB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICB9XG4gIFxuICA6Om5nLWRlZXAgLnNjLWRlc2NyaXB0aW9uIHtcbiAgICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlubGluZS1pbWFnZSB7XG4gICAgaGVpZ2h0OiAzZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gIH1cblxuICAuZ2FwIHtcbiAgICBtYXJnaW4tbGVmdDogMC41ZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbiAgfVxuXG4gIC5jb2x1bW5zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICByb3ctZ2FwOiAyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICB9XG5cbiAgLmNvbHVtbnMgbWF0LWNhcmQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmNvbHVtbnMuY29sdW1ucy0yIG1hdC1jYXJkIHtcbiAgICB3aWR0aDogNDAlO1xuICB9XG5cbiAgLmNvbHVtbnMuY29sdW1ucy0zIG1hdC1jYXJkIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG5cbiAgLnBsYXkgeyBjdXJzb3I6cG9pbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgd2lkdGg6IDNlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufSJdfQ== */\"","import { Component, OnInit, Input, Output, EventEmitter, ViewChildren, TemplateRef, ElementRef, QueryList, Inject, ChangeDetectorRef, ViewEncapsulation, OnChanges, SimpleChange } from '@angular/core';\nimport { TaskComponent } from '../task';\nimport * as _ from \"lodash\";\nimport { Observable, Subscription } from 'rxjs';\nimport { Howl } from \"howler\";\n\nexport declare type Content = {\n type: \"image\" | \"text\";\n content: string;\n}\nexport declare type MultilineaudiochoiceLine = {\n audio: string;\n correct: string;\n options: string;\n}\n\nexport declare type MultilineaudiochoiceData = {\n type?: string;\n question?: string;\n columnCount: number;\n lines: MultilineaudiochoiceLine[];\n};\n\n@Component({\n selector: \"app-multilineaudiochoice\",\n templateUrl: \"./multilineaudiochoice.component.html\",\n styleUrls: [\"./multilineaudiochoice.component.css\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class MultilineaudiochoiceComponent implements TaskComponent, OnInit {\n @Input() data: MultilineaudiochoiceData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n public isAnswered = false;\n @Input() submitTask: Observable;\n private eventsSubscription: Subscription;\n public isCorrect = false;\n public answers: string[] = [];\n public lines: MultilineaudiochoiceLine[] = [];\n public recordings: Howl[] = [];\n\n constructor() {\n\n }\n\n ngOnInit() {\n this.eventsSubscription = this.submitTask.subscribe(() => this.submit());\n this.lines = this.data.lines;\n this.answers = Array(this.lines.length).fill(\"\");\n this.recordings = this.lines.map((line) => new Howl({src: [line.audio]}))\n }\n\n ngOnChanges() {\n this.lines = this.data.lines;\n this.answers = Array(this.lines.length).fill(\"\");\n this.recordings = this.lines.map((line) => new Howl({src: [line.audio]}))\n }\n\n ngOnDestroy() {\n this.eventsSubscription.unsubscribe();\n }\n\n\n submit() {\n console.log(\"SUBMITTED\")\n this.isCorrect = true;\n for (let answerIndex in this.answers) {\n if(this.answers[answerIndex] != this.lines[answerIndex].correct) {\n this.isCorrect = false;\n }\n }\n this.taskSubmitted.emit(this.isCorrect);\n this.isAnswered = true;\n }\n}\n","module.exports = \".answer {\\n font-weight: bold;\\n}\\n\\n.answer.correct {\\n color: #2346F5;\\n font-weight: bold;\\n }\\n\\n.answer.incorrect {\\n color: #F2923D;\\n text-decoration: line-through;\\n }\\n\\n.correct-answer {\\n font-style: italic;\\n}\\n\\n.multifill, .multifill:focus {\\n border: dashed #EE741C 2px !important;\\n border-radius: 5px;\\n height: 1.2em;\\n}\\n\\n.multifill.full-width, .multifill.full-width:focus {\\n width: 95%;\\n}\\n\\nmat-card.mat-card {\\n color:rgb(0, 0, 125) !important;\\n font-weight: normal;\\n font-family: 'Roboto Slab', 'Roboto' serif;\\n line-height: 1.8em;\\n}\\n\\nmat-card.mat-card.question {\\n margin-top: 0;\\n margin-bottom: 1em;\\n border-radius: 5px;\\n box-shadow: none !important;\\n background: none !important;\\n border: dashed 2px rgb(0,0,125);\\n color: rgb(0,0,125) !important;\\n font-family: \\\"Roboto\\\" !important;\\n font-weight: bold !important;\\n }\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvbXVsdGlsaW5lZmlsbC9tdWx0aWxpbmVmaWxsLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxjQUFjO0lBQ2QsaUJBQWlCO0VBQ25COztBQUVBO0lBQ0UsY0FBYztJQUNkLDZCQUE2QjtFQUMvQjs7QUFFRjtJQUNJLGtCQUFrQjtBQUN0Qjs7QUFDQTtJQUNJLHFDQUFxQztJQUNyQyxrQkFBa0I7SUFDbEIsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLFVBQVU7QUFDZDs7QUFFQTtJQUNJLCtCQUErQjtJQUMvQixtQkFBbUI7SUFDbkIsMENBQTBDO0lBQzFDLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGFBQWE7SUFDYixrQkFBa0I7SUFDbEIsa0JBQWtCO0lBQ2xCLDJCQUEyQjtJQUMzQiwyQkFBMkI7SUFDM0IsK0JBQStCO0lBQy9CLDhCQUE4QjtJQUM5QixnQ0FBZ0M7SUFDaEMsNEJBQTRCO0VBQzlCIiwiZmlsZSI6InNyYy9hcHAvdGFza3MvbXVsdGlsaW5lZmlsbC9tdWx0aWxpbmVmaWxsLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuYW5zd2VyIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmFuc3dlci5jb3JyZWN0IHtcbiAgICBjb2xvcjogIzIzNDZGNTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuICBcbiAgLmFuc3dlci5pbmNvcnJlY3Qge1xuICAgIGNvbG9yOiAjRjI5MjNEO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICB9XG5cbi5jb3JyZWN0LWFuc3dlciB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuLm11bHRpZmlsbCwgLm11bHRpZmlsbDpmb2N1cyB7XG4gICAgYm9yZGVyOiBkYXNoZWQgI0VFNzQxQyAycHggIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgaGVpZ2h0OiAxLjJlbTtcbn1cblxuLm11bHRpZmlsbC5mdWxsLXdpZHRoLCAubXVsdGlmaWxsLmZ1bGwtd2lkdGg6Zm9jdXMge1xuICAgIHdpZHRoOiA5NSU7XG59XG5cbm1hdC1jYXJkLm1hdC1jYXJkIHtcbiAgICBjb2xvcjpyZ2IoMCwgMCwgMTI1KSAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1mYW1pbHk6ICdSb2JvdG8gU2xhYicsICdSb2JvdG8nIHNlcmlmO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjhlbTtcbn1cblxubWF0LWNhcmQubWF0LWNhcmQucXVlc3Rpb24ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogZGFzaGVkIDJweCByZ2IoMCwwLDEyNSk7XG4gICAgY29sb3I6IHJnYigwLDAsMTI1KSAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcbiAgfSJdfQ== */\"","import { Component, OnInit, Input, Output, EventEmitter, ViewChildren, TemplateRef, ElementRef, QueryList, Inject, ChangeDetectorRef, ViewEncapsulation, OnChanges, SimpleChange } from '@angular/core';\nimport { TaskComponent } from '../task';\nimport * as _ from \"lodash\";\nimport { Observable, Subscription } from 'rxjs';\n\nexport declare type MultilinefillLine = {\n textBefore?: string;\n textAfter?: string;\n correct: string;\n isExample: boolean;\n}\n\nexport declare type MultilinefillData = {\n type?: string;\n question?: string;\n exampleInQuestion: boolean;\n lines: MultilinefillLine[];\n};\n\n@Component({\n selector: \"app-multilinefill\",\n templateUrl: \"./multilinefill.component.html\",\n styleUrls: [\"./multilinefill.component.css\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class MultilinefillComponent implements TaskComponent, OnInit {\n @Input() data: MultilinefillData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n public isAnswered = false;\n @Input() submitTask: Observable;\n private eventsSubscription: Subscription;\n public isCorrect = false;\n public answers: string[] = [];\n public lines: MultilinefillLine[] = [];\n public examples: MultilinefillLine[] = [];\n\n constructor() {\n\n }\n\n ngOnInit() {\n this.eventsSubscription = this.submitTask.subscribe(() => this.submit());\n this.lines = this.data.lines.filter((line) => !line.isExample);\n this.examples = this.data.lines.filter((line) => line.isExample);\n this.answers = Array(this.lines.length).fill(\"\");\n }\n\n ngOnChanges() {\n this.lines = this.data.lines.filter((line) => !line.isExample);\n this.examples = this.data.lines.filter((line) => line.isExample);\n this.answers = Array(this.lines.length).fill(\"\");\n }\n\n ngOnDestroy() {\n this.eventsSubscription.unsubscribe();\n }\n\n\n submit() {\n console.log(\"SUBMITTED\")\n this.isCorrect = true;\n for (let answerIndex in this.answers) {\n if(this.answers[answerIndex] != this.lines[answerIndex].correct) {\n this.isCorrect = false;\n }\n }\n this.taskSubmitted.emit(this.isCorrect);\n this.isAnswered = true;\n }\n}\n","module.exports = \".answer {\\n font-weight: bold;\\n}\\n\\n.answer.correct {\\n color: #2346F5;\\n font-weight: bold;\\n}\\n\\n.answer.incorrect {\\n color: #F2923D;\\n text-decoration: line-through;\\n}\\n\\n.correct-answer {\\n font-style: italic;\\n}\\n\\n.multifill, .multifill:focus {\\n border: dashed #EE741C 2px !important;\\n border-radius: 5px;\\n height: 1.2em;\\n}\\n\\n.multifill.full-width, .multifill.full-width:focus {\\n width: 95%;\\n}\\n\\nmat-card.mat-card {\\n color:rgb(0, 0, 125) !important;\\n font-weight: normal;\\n font-family: 'Roboto Slab', 'Roboto' serif;\\n line-height: 1.8em;\\n}\\n\\nmat-card.mat-card.question {\\n margin-top: 0;\\n margin-bottom: 1em;\\n border-radius: 5px;\\n box-shadow: none !important;\\n background: none !important;\\n border: dashed 2px rgb(0,0,125);\\n color: rgb(0,0,125) !important;\\n font-family: \\\"Roboto\\\" !important;\\n font-weight: bold !important;\\n }\\n\\n.example-radio-group {\\n display: flex;\\n flex-direction: column;\\n margin: 15px 1.5em;\\n }\\n\\n.example-radio-button {\\n margin: 5px;\\n }\\n\\n.mat-radio-inner-circle, .mat-radio-ripple .mat-ripple-element {\\n background-color: rgb(0, 0, 125) !important;\\n }\\n\\n.mat-radio-outer-circle {\\n border-color: rgb(0, 0, 125) !important;\\n }\\n\\n.mat-radio-label-content {\\n color: rgb(0, 0, 125) !important;\\n white-space: normal !important;\\n }\\n\\n.mat-radio-label-content .answered.correct{\\n color: #2346F5;\\n font-weight: bold;\\n }\\n\\n.mat-radio-label-content .answered.selected:not(.correct) {\\n color: #F2923D;\\n text-decoration: line-through;\\n }\\n\\n.sc-option {\\n font-weight: normal !important;\\n }\\n\\n::ng-deep .sc-description {\\n font-weight: bold !important;\\n }\\n\\n.inline-image {\\n height: 3em;\\n vertical-align: middle;\\n display: inline;\\n }\\n\\n.gap {\\n margin-left: 0.5em;\\n margin-right: 0.5em;\\n }\\n\\n.columns {\\n display: flex;\\n flex-direction: row;\\n flex-wrap: wrap;\\n justify-content: space-between;\\n row-gap: 2em;\\n }\\n\\n.columns mat-card {\\n width: 100%;\\n }\\n\\n.columns.columns-2 mat-card {\\n width: 40%;\\n }\\n\\n.columns.columns-3 mat-card {\\n width: 25%;\\n }\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvbXVsdGlsaW5lZ2FwY2hvaWNlL211bHRpbGluZWdhcGNob2ljZS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksY0FBYztJQUNkLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGNBQWM7SUFDZCw2QkFBNkI7QUFDakM7O0FBRUE7SUFDSSxrQkFBa0I7QUFDdEI7O0FBQ0E7SUFDSSxxQ0FBcUM7SUFDckMsa0JBQWtCO0lBQ2xCLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxVQUFVO0FBQ2Q7O0FBRUE7SUFDSSwrQkFBK0I7SUFDL0IsbUJBQW1CO0lBQ25CLDBDQUEwQztJQUMxQyxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxhQUFhO0lBQ2Isa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQiwyQkFBMkI7SUFDM0IsMkJBQTJCO0lBQzNCLCtCQUErQjtJQUMvQiw4QkFBOEI7SUFDOUIsZ0NBQWdDO0lBQ2hDLDRCQUE0QjtFQUM5Qjs7QUFFQTtJQUNFLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsa0JBQWtCO0VBQ3BCOztBQUNBO0lBQ0UsV0FBVztFQUNiOztBQUVBO0lBQ0UsMkNBQTJDO0VBQzdDOztBQUVBO0lBQ0UsdUNBQXVDO0VBQ3pDOztBQUVBO0lBQ0UsZ0NBQWdDO0lBQ2hDLDhCQUE4QjtFQUNoQzs7QUFFQTtJQUNFLGNBQWM7SUFDZCxpQkFBaUI7RUFDbkI7O0FBQ0E7SUFDRSxjQUFjO0lBQ2QsNkJBQTZCO0VBQy9COztBQUVBO0lBQ0UsOEJBQThCO0VBQ2hDOztBQUVBO0lBQ0UsNEJBQTRCO0VBQzlCOztBQUVBO0lBQ0UsV0FBVztJQUNYLHNCQUFzQjtJQUN0QixlQUFlO0VBQ2pCOztBQUVBO0lBQ0Usa0JBQWtCO0lBQ2xCLG1CQUFtQjtFQUNyQjs7QUFFQTtJQUNFLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLDhCQUE4QjtJQUM5QixZQUFZO0VBQ2Q7O0FBRUE7SUFDRSxXQUFXO0VBQ2I7O0FBRUE7SUFDRSxVQUFVO0VBQ1o7O0FBRUE7SUFDRSxVQUFVO0VBQ1oiLCJmaWxlIjoic3JjL2FwcC90YXNrcy9tdWx0aWxpbmVnYXBjaG9pY2UvbXVsdGlsaW5lZ2FwY2hvaWNlLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuYW5zd2VyIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmFuc3dlci5jb3JyZWN0IHtcbiAgICBjb2xvcjogIzIzNDZGNTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmFuc3dlci5pbmNvcnJlY3Qge1xuICAgIGNvbG9yOiAjRjI5MjNEO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xufVxuXG4uY29ycmVjdC1hbnN3ZXIge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbi5tdWx0aWZpbGwsIC5tdWx0aWZpbGw6Zm9jdXMge1xuICAgIGJvcmRlcjogZGFzaGVkICNFRTc0MUMgMnB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGhlaWdodDogMS4yZW07XG59XG5cbi5tdWx0aWZpbGwuZnVsbC13aWR0aCwgLm11bHRpZmlsbC5mdWxsLXdpZHRoOmZvY3VzIHtcbiAgICB3aWR0aDogOTUlO1xufVxuXG5tYXQtY2FyZC5tYXQtY2FyZCB7XG4gICAgY29sb3I6cmdiKDAsIDAsIDEyNSkgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvIFNsYWInLCAnUm9ib3RvJyBzZXJpZjtcbiAgICBsaW5lLWhlaWdodDogMS44ZW07XG59XG5cbm1hdC1jYXJkLm1hdC1jYXJkLnF1ZXN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IGRhc2hlZCAycHggcmdiKDAsMCwxMjUpO1xuICAgIGNvbG9yOiByZ2IoMCwwLDEyNSkgIWltcG9ydGFudDtcbiAgICBmb250LWZhbWlseTogXCJSb2JvdG9cIiAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZXhhbXBsZS1yYWRpby1ncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbjogMTVweCAxLjVlbTtcbiAgfVxuICAuZXhhbXBsZS1yYWRpby1idXR0b24ge1xuICAgIG1hcmdpbjogNXB4O1xuICB9XG4gIFxuICAubWF0LXJhZGlvLWlubmVyLWNpcmNsZSwgLm1hdC1yYWRpby1yaXBwbGUgLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsIDAsIDEyNSkgIWltcG9ydGFudDtcbiAgfVxuICBcbiAgLm1hdC1yYWRpby1vdXRlci1jaXJjbGUge1xuICAgIGJvcmRlci1jb2xvcjogcmdiKDAsIDAsIDEyNSkgIWltcG9ydGFudDtcbiAgfVxuICBcbiAgLm1hdC1yYWRpby1sYWJlbC1jb250ZW50IHtcbiAgICBjb2xvcjogcmdiKDAsIDAsIDEyNSkgIWltcG9ydGFudDtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIH1cbiAgXG4gIC5tYXQtcmFkaW8tbGFiZWwtY29udGVudCAuYW5zd2VyZWQuY29ycmVjdHtcbiAgICBjb2xvcjogIzIzNDZGNTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuICAubWF0LXJhZGlvLWxhYmVsLWNvbnRlbnQgLmFuc3dlcmVkLnNlbGVjdGVkOm5vdCguY29ycmVjdCkge1xuICAgIGNvbG9yOiAjRjI5MjNEO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICB9XG4gIFxuICAuc2Mtb3B0aW9uIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIH1cbiAgXG4gIDo6bmctZGVlcCAuc2MtZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaW5saW5lLWltYWdlIHtcbiAgICBoZWlnaHQ6IDNlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgfVxuXG4gIC5nYXAge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xuICB9XG5cbiAgLmNvbHVtbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHJvdy1nYXA6IDJlbTtcbiAgfVxuXG4gIC5jb2x1bW5zIG1hdC1jYXJkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5jb2x1bW5zLmNvbHVtbnMtMiBtYXQtY2FyZCB7XG4gICAgd2lkdGg6IDQwJTtcbiAgfVxuXG4gIC5jb2x1bW5zLmNvbHVtbnMtMyBtYXQtY2FyZCB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfSJdfQ== */\"","import { Component, OnInit, Input, Output, EventEmitter, ViewChildren, TemplateRef, ElementRef, QueryList, Inject, ChangeDetectorRef, ViewEncapsulation, OnChanges, SimpleChange } from '@angular/core';\nimport { TaskComponent } from '../task';\nimport * as _ from \"lodash\";\nimport { Observable, Subscription } from 'rxjs';\n\nexport declare type Content = {\n type: \"image\" | \"text\";\n content: string;\n}\nexport declare type MultilinegapchoiceLine = {\n contentBefore?: Content[];\n contentAfter?: Content[];\n correct: string;\n options: string;\n columnCount: number;\n isExample: boolean;\n}\n\nexport declare type MultilinegapchoiceData = {\n type?: string;\n question?: string;\n exampleInQuestion: boolean;\n lines: MultilinegapchoiceLine[];\n};\n\n@Component({\n selector: \"app-multilinegapchoice\",\n templateUrl: \"./multilinegapchoice.component.html\",\n styleUrls: [\"./multilinegapchoice.component.css\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class MultilinegapchoiceComponent implements TaskComponent, OnInit {\n @Input() data: MultilinegapchoiceData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n public isAnswered = false;\n @Input() submitTask: Observable;\n private eventsSubscription: Subscription;\n public isCorrect = false;\n public answers: string[] = [];\n public lines: MultilinegapchoiceLine[] = [];\n public examples: MultilinegapchoiceLine[] = [];\n\n constructor() {\n\n }\n\n ngOnInit() {\n this.eventsSubscription = this.submitTask.subscribe(() => this.submit());\n this.lines = this.data.lines.filter((line) => !line.isExample);\n this.examples = this.data.lines.filter((line) => line.isExample);\n this.answers = Array(this.lines.length).fill(\"\");\n }\n\n ngOnChanges() {\n this.lines = this.data.lines.filter((line) => !line.isExample);\n this.examples = this.data.lines.filter((line) => line.isExample);\n this.answers = Array(this.lines.length).fill(\"\");\n }\n\n ngOnDestroy() {\n this.eventsSubscription.unsubscribe();\n }\n\n\n submit() {\n console.log(\"SUBMITTED\")\n this.isCorrect = true;\n for (let answerIndex in this.answers) {\n if(this.answers[answerIndex] != this.lines[answerIndex].correct) {\n this.isCorrect = false;\n }\n }\n this.taskSubmitted.emit(this.isCorrect);\n this.isAnswered = true;\n }\n}\n","module.exports = \".answer {\\n font-weight: bold;\\n}\\n\\n.answer.correct {\\n color: #2346F5;\\n font-weight: bold;\\n}\\n\\n.answer.incorrect {\\n color: #F2923D;\\n text-decoration: line-through;\\n}\\n\\n.correct-answer {\\n font-style: italic;\\n}\\n\\n.multifill, .multifill:focus, input.gap, input.gap:focus {\\n border: dashed #EE741C 2px !important;\\n border-radius: 5px;\\n height: 1.2em;\\n}\\n\\n.multifill.full-width, .multifill.full-width:focus {\\n width: 95%;\\n}\\n\\nmat-card.mat-card {\\n color:rgb(0, 0, 125) !important;\\n font-weight: normal;\\n font-family: 'Roboto Slab', 'Roboto' serif;\\n line-height: 1.8em;\\n}\\n\\nmat-card.mat-card.question {\\n margin-top: 0;\\n margin-bottom: 1em;\\n border-radius: 5px;\\n box-shadow: none !important;\\n background: none !important;\\n border: dashed 2px rgb(0,0,125);\\n color: rgb(0,0,125) !important;\\n font-family: \\\"Roboto\\\" !important;\\n font-weight: bold !important;\\n }\\n\\n.example-radio-group {\\n display: flex;\\n flex-direction: column;\\n margin: 15px 1.5em;\\n }\\n\\n.example-radio-button {\\n margin: 5px;\\n }\\n\\n.mat-radio-inner-circle, .mat-radio-ripple .mat-ripple-element {\\n background-color: rgb(0, 0, 125) !important;\\n }\\n\\n.mat-radio-outer-circle {\\n border-color: rgb(0, 0, 125) !important;\\n }\\n\\n.mat-radio-label-content {\\n color: rgb(0, 0, 125) !important;\\n white-space: normal !important;\\n }\\n\\n.mat-radio-label-content .answered.correct{\\n color: #2346F5;\\n font-weight: bold;\\n }\\n\\n.mat-radio-label-content .answered.selected:not(.correct) {\\n color: #F2923D;\\n text-decoration: line-through;\\n }\\n\\n.sc-option {\\n font-weight: normal !important;\\n }\\n\\n::ng-deep .sc-description {\\n font-weight: bold !important;\\n }\\n\\n.inline-image {\\n height: 3em;\\n vertical-align: middle;\\n display: inline;\\n }\\n\\n.gap {\\n margin-left: 0.5em;\\n margin-right: 0.5em;\\n }\\n\\n.columns {\\n display: flex;\\n flex-direction: row;\\n flex-wrap: wrap;\\n justify-content: space-between;\\n row-gap: 2em;\\n }\\n\\n.columns mat-card {\\n width: 100%;\\n }\\n\\n.columns.columns-2 mat-card {\\n width: 40%;\\n }\\n\\n.columns.columns-3 mat-card {\\n width: 25%;\\n }\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvbXVsdGlsaW5lZ2FwZmlsbC9tdWx0aWxpbmVnYXBmaWxsLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxjQUFjO0lBQ2QsaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksY0FBYztJQUNkLDZCQUE2QjtBQUNqQzs7QUFFQTtJQUNJLGtCQUFrQjtBQUN0Qjs7QUFDQTtJQUNJLHFDQUFxQztJQUNyQyxrQkFBa0I7SUFDbEIsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLFVBQVU7QUFDZDs7QUFFQTtJQUNJLCtCQUErQjtJQUMvQixtQkFBbUI7SUFDbkIsMENBQTBDO0lBQzFDLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGFBQWE7SUFDYixrQkFBa0I7SUFDbEIsa0JBQWtCO0lBQ2xCLDJCQUEyQjtJQUMzQiwyQkFBMkI7SUFDM0IsK0JBQStCO0lBQy9CLDhCQUE4QjtJQUM5QixnQ0FBZ0M7SUFDaEMsNEJBQTRCO0VBQzlCOztBQUVBO0lBQ0UsYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixrQkFBa0I7RUFDcEI7O0FBQ0E7SUFDRSxXQUFXO0VBQ2I7O0FBRUE7SUFDRSwyQ0FBMkM7RUFDN0M7O0FBRUE7SUFDRSx1Q0FBdUM7RUFDekM7O0FBRUE7SUFDRSxnQ0FBZ0M7SUFDaEMsOEJBQThCO0VBQ2hDOztBQUVBO0lBQ0UsY0FBYztJQUNkLGlCQUFpQjtFQUNuQjs7QUFDQTtJQUNFLGNBQWM7SUFDZCw2QkFBNkI7RUFDL0I7O0FBRUE7SUFDRSw4QkFBOEI7RUFDaEM7O0FBRUE7SUFDRSw0QkFBNEI7RUFDOUI7O0FBRUE7SUFDRSxXQUFXO0lBQ1gsc0JBQXNCO0lBQ3RCLGVBQWU7RUFDakI7O0FBRUE7SUFDRSxrQkFBa0I7SUFDbEIsbUJBQW1CO0VBQ3JCOztBQUVBO0lBQ0UsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixlQUFlO0lBQ2YsOEJBQThCO0lBQzlCLFlBQVk7RUFDZDs7QUFFQTtJQUNFLFdBQVc7RUFDYjs7QUFFQTtJQUNFLFVBQVU7RUFDWjs7QUFFQTtJQUNFLFVBQVU7RUFDWiIsImZpbGUiOiJzcmMvYXBwL3Rhc2tzL211bHRpbGluZWdhcGZpbGwvbXVsdGlsaW5lZ2FwZmlsbC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmFuc3dlciB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5hbnN3ZXIuY29ycmVjdCB7XG4gICAgY29sb3I6ICMyMzQ2RjU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5hbnN3ZXIuaW5jb3JyZWN0IHtcbiAgICBjb2xvcjogI0YyOTIzRDtcbiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbn1cblxuLmNvcnJlY3QtYW5zd2VyIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG4ubXVsdGlmaWxsLCAubXVsdGlmaWxsOmZvY3VzLCBpbnB1dC5nYXAsIGlucHV0LmdhcDpmb2N1cyB7XG4gICAgYm9yZGVyOiBkYXNoZWQgI0VFNzQxQyAycHggIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgaGVpZ2h0OiAxLjJlbTtcbn1cblxuLm11bHRpZmlsbC5mdWxsLXdpZHRoLCAubXVsdGlmaWxsLmZ1bGwtd2lkdGg6Zm9jdXMge1xuICAgIHdpZHRoOiA5NSU7XG59XG5cbm1hdC1jYXJkLm1hdC1jYXJkIHtcbiAgICBjb2xvcjpyZ2IoMCwgMCwgMTI1KSAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1mYW1pbHk6ICdSb2JvdG8gU2xhYicsICdSb2JvdG8nIHNlcmlmO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjhlbTtcbn1cblxubWF0LWNhcmQubWF0LWNhcmQucXVlc3Rpb24ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogZGFzaGVkIDJweCByZ2IoMCwwLDEyNSk7XG4gICAgY29sb3I6IHJnYigwLDAsMTI1KSAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5leGFtcGxlLXJhZGlvLWdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luOiAxNXB4IDEuNWVtO1xuICB9XG4gIC5leGFtcGxlLXJhZGlvLWJ1dHRvbiB7XG4gICAgbWFyZ2luOiA1cHg7XG4gIH1cbiAgXG4gIC5tYXQtcmFkaW8taW5uZXItY2lyY2xlLCAubWF0LXJhZGlvLXJpcHBsZSAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwgMCwgMTI1KSAhaW1wb3J0YW50O1xuICB9XG4gIFxuICAubWF0LXJhZGlvLW91dGVyLWNpcmNsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2IoMCwgMCwgMTI1KSAhaW1wb3J0YW50O1xuICB9XG4gIFxuICAubWF0LXJhZGlvLWxhYmVsLWNvbnRlbnQge1xuICAgIGNvbG9yOiByZ2IoMCwgMCwgMTI1KSAhaW1wb3J0YW50O1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgfVxuICBcbiAgLm1hdC1yYWRpby1sYWJlbC1jb250ZW50IC5hbnN3ZXJlZC5jb3JyZWN0e1xuICAgIGNvbG9yOiAjMjM0NkY1O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIC5tYXQtcmFkaW8tbGFiZWwtY29udGVudCAuYW5zd2VyZWQuc2VsZWN0ZWQ6bm90KC5jb3JyZWN0KSB7XG4gICAgY29sb3I6ICNGMjkyM0Q7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gIH1cbiAgXG4gIC5zYy1vcHRpb24ge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgfVxuICBcbiAgOjpuZy1kZWVwIC5zYy1kZXNjcmlwdGlvbiB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbmxpbmUtaW1hZ2Uge1xuICAgIGhlaWdodDogM2VtO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICB9XG5cbiAgLmdhcCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xuICAgIG1hcmdpbi1yaWdodDogMC41ZW07XG4gIH1cblxuICAuY29sdW1ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcm93LWdhcDogMmVtO1xuICB9XG5cbiAgLmNvbHVtbnMgbWF0LWNhcmQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmNvbHVtbnMuY29sdW1ucy0yIG1hdC1jYXJkIHtcbiAgICB3aWR0aDogNDAlO1xuICB9XG5cbiAgLmNvbHVtbnMuY29sdW1ucy0zIG1hdC1jYXJkIHtcbiAgICB3aWR0aDogMjUlO1xuICB9Il19 */\"","import { Component, OnInit, Input, Output, EventEmitter, ViewChildren, TemplateRef, ElementRef, QueryList, Inject, ChangeDetectorRef, ViewEncapsulation, OnChanges, SimpleChange } from '@angular/core';\nimport { TaskComponent } from '../task';\nimport * as _ from \"lodash\";\nimport { Observable, Subscription } from 'rxjs';\n\nexport declare type Content = {\n type: \"image\" | \"text\";\n content: string;\n}\nexport declare type MultilinegapfillLine = {\n contentBefore?: Content[];\n contentAfter?: Content[];\n correct: string;\n columnCount: number;\n}\n\nexport declare type MultilinegapfillData = {\n type?: string;\n question?: string;\n lines: MultilinegapfillLine[];\n};\n\n@Component({\n selector: \"app-multilinegapfill\",\n templateUrl: \"./multilinegapfill.component.html\",\n styleUrls: [\"./multilinegapfill.component.css\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class MultilinegapfillComponent implements TaskComponent, OnInit {\n @Input() data: MultilinegapfillData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n public isAnswered = false;\n @Input() submitTask: Observable;\n private eventsSubscription: Subscription;\n public isCorrect = false;\n public answers: string[] = [];\n public lines: MultilinegapfillLine[] = [];\n\n constructor() {\n\n }\n\n ngOnInit() {\n this.eventsSubscription = this.submitTask.subscribe(() => this.submit());\n this.lines = this.data.lines;\n this.answers = Array(this.lines.length).fill(\"\");\n }\n\n ngOnChanges() {\n this.lines = this.data.lines;\n this.answers = Array(this.lines.length).fill(\"\");\n }\n\n ngOnDestroy() {\n this.eventsSubscription.unsubscribe();\n }\n\n\n submit() {\n console.log(\"SUBMITTED\")\n this.isCorrect = true;\n for (let answerIndex in this.answers) {\n if(this.answers[answerIndex] != this.lines[answerIndex].correct) {\n this.isCorrect = false;\n }\n }\n this.taskSubmitted.emit(this.isCorrect);\n this.isAnswered = true;\n }\n}\n","module.exports = \".answer {\\n font-weight: bold;\\n}\\n\\n.answer.correct {\\n color: #2346F5;\\n font-weight: bold;\\n}\\n\\n.answer.incorrect {\\n color: #F2923D;\\n text-decoration: line-through;\\n}\\n\\n.correct-answer {\\n font-style: italic;\\n}\\n\\n.multiselect, .multiselect:focus {\\n width: 6em !important;\\n display: inline;\\n border: dashed #EE741C 2px !important;\\n border-radius: 5px;\\n height: 2em;\\n padding: 0.2em;\\n font-family: 'Roboto Slab', 'Roboto' serif;\\n color: rgb(0,0,125) !important;\\n}\\n\\n.multiselect *, .multiselect:focus *{\\n max-width: 6em;\\n}\\n\\nmat-card.mat-card {\\n color:rgb(0, 0, 125) !important;\\n font-weight: normal;\\n font-family: 'Roboto Slab', 'Roboto' serif;\\n line-height: 1.8em;\\n}\\n\\nmat-card.mat-card.question {\\n margin-top: 0;\\n margin-bottom: 1em;\\n border-radius: 5px;\\n box-shadow: none !important;\\n background: none !important;\\n border: dashed 2px rgb(0,0,125);\\n color: rgb(0,0,125) !important;\\n font-family: \\\"Roboto\\\" !important;\\n font-weight: bold !important;\\n }\\n\\n.inline-image {\\n height: 3em;\\n vertical-align: middle;\\n display: inline;\\n margin-right: 2em;\\n }\\n\\n.columns {\\n display: flex;\\n flex-direction: row;\\n flex-wrap: wrap;\\n justify-content: space-between;\\n row-gap: 2em;\\n }\\n\\n.columns mat-card {\\n width: 100%;\\n }\\n\\n.before {\\n margin-right: 0.5em;\\n }\\n\\n.after {\\n margin-left: 0.5em;\\n }\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvbXVsdGlsaW5lZ2Fwc2VsZWN0L211bHRpbGluZWdhcHNlbGVjdC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksY0FBYztJQUNkLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGNBQWM7SUFDZCw2QkFBNkI7QUFDakM7O0FBRUE7SUFDSSxrQkFBa0I7QUFDdEI7O0FBQ0E7SUFDSSxxQkFBcUI7SUFDckIsZUFBZTtJQUNmLHFDQUFxQztJQUNyQyxrQkFBa0I7SUFDbEIsV0FBVztJQUNYLGNBQWM7SUFDZCwwQ0FBMEM7SUFDMUMsOEJBQThCO0FBQ2xDOztBQUVBO0VBQ0UsY0FBYztBQUNoQjs7QUFFQTtJQUNJLCtCQUErQjtJQUMvQixtQkFBbUI7SUFDbkIsMENBQTBDO0lBQzFDLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGFBQWE7SUFDYixrQkFBa0I7SUFDbEIsa0JBQWtCO0lBQ2xCLDJCQUEyQjtJQUMzQiwyQkFBMkI7SUFDM0IsK0JBQStCO0lBQy9CLDhCQUE4QjtJQUM5QixnQ0FBZ0M7SUFDaEMsNEJBQTRCO0VBQzlCOztBQUVBO0lBQ0UsV0FBVztJQUNYLHNCQUFzQjtJQUN0QixlQUFlO0lBQ2YsaUJBQWlCO0VBQ25COztBQUVBO0lBQ0UsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixlQUFlO0lBQ2YsOEJBQThCO0lBQzlCLFlBQVk7RUFDZDs7QUFFQTtJQUNFLFdBQVc7RUFDYjs7QUFFQTtJQUNFLG1CQUFtQjtFQUNyQjs7QUFFQTtJQUNFLGtCQUFrQjtFQUNwQiIsImZpbGUiOiJzcmMvYXBwL3Rhc2tzL211bHRpbGluZWdhcHNlbGVjdC9tdWx0aWxpbmVnYXBzZWxlY3QuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5hbnN3ZXIge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uYW5zd2VyLmNvcnJlY3Qge1xuICAgIGNvbG9yOiAjMjM0NkY1O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uYW5zd2VyLmluY29ycmVjdCB7XG4gICAgY29sb3I6ICNGMjkyM0Q7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG59XG5cbi5jb3JyZWN0LWFuc3dlciB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuLm11bHRpc2VsZWN0LCAubXVsdGlzZWxlY3Q6Zm9jdXMge1xuICAgIHdpZHRoOiA2ZW0gIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgYm9yZGVyOiBkYXNoZWQgI0VFNzQxQyAycHggIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgaGVpZ2h0OiAyZW07XG4gICAgcGFkZGluZzogMC4yZW07XG4gICAgZm9udC1mYW1pbHk6ICdSb2JvdG8gU2xhYicsICdSb2JvdG8nIHNlcmlmO1xuICAgIGNvbG9yOiByZ2IoMCwwLDEyNSkgIWltcG9ydGFudDtcbn1cblxuLm11bHRpc2VsZWN0ICosIC5tdWx0aXNlbGVjdDpmb2N1cyAqe1xuICBtYXgtd2lkdGg6IDZlbTtcbn1cblxubWF0LWNhcmQubWF0LWNhcmQge1xuICAgIGNvbG9yOnJnYigwLCAwLCAxMjUpICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LWZhbWlseTogJ1JvYm90byBTbGFiJywgJ1JvYm90bycgc2VyaWY7XG4gICAgbGluZS1oZWlnaHQ6IDEuOGVtO1xufVxuXG5tYXQtY2FyZC5tYXQtY2FyZC5xdWVzdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiBkYXNoZWQgMnB4IHJnYigwLDAsMTI1KTtcbiAgICBjb2xvcjogcmdiKDAsMCwxMjUpICFpbXBvcnRhbnQ7XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlubGluZS1pbWFnZSB7XG4gICAgaGVpZ2h0OiAzZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgbWFyZ2luLXJpZ2h0OiAyZW07XG4gIH1cblxuICAuY29sdW1ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcm93LWdhcDogMmVtO1xuICB9XG5cbiAgLmNvbHVtbnMgbWF0LWNhcmQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmJlZm9yZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbiAgfVxuXG4gIC5hZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xuICB9Il19 */\"","import { Component, OnInit, Input, Output, EventEmitter, ViewChildren, TemplateRef, ElementRef, QueryList, Inject, ChangeDetectorRef, ViewEncapsulation, OnChanges, SimpleChange } from '@angular/core';\nimport { TaskComponent } from '../task';\nimport * as _ from \"lodash\";\nimport { Observable, Subscription } from 'rxjs';\n\nexport declare type MultilinegapselectLine = {\n image: string;\n contentBefore?: string;\n contentAfter?: string;\n correct?: string;\n options?: string;\n}\n\nexport declare type MultilinegapselectData = {\n type?: string;\n question?: string;\n lines: MultilinegapselectLine[];\n};\n\n@Component({\n selector: \"app-multilinegapselect\",\n templateUrl: \"./multilinegapselect.component.html\",\n styleUrls: [\"./multilinegapselect.component.css\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class MultilinegapselectComponent implements TaskComponent, OnInit {\n @Input() data: MultilinegapselectData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n public isAnswered = false;\n @Input() submitTask: Observable;\n private eventsSubscription: Subscription;\n public isCorrect = false;\n public answers: string[] = [];\n public lines: MultilinegapselectLine[] = [];\n\n constructor() {\n\n }\n\n ngOnInit() {\n this.eventsSubscription = this.submitTask.subscribe(() => this.submit());\n this.lines = this.data.lines;\n this.answers = Array(this.lines.length).fill(undefined);\n }\n\n ngOnChanges() {\n this.lines = this.data.lines\n this.answers = Array(this.lines.length).fill(undefined);\n }\n\n ngOnDestroy() {\n this.eventsSubscription.unsubscribe();\n }\n\n\n submit() {\n console.log(\"SUBMITTED\")\n this.isCorrect = true;\n for (let answerIndex in this.answers) {\n if(this.answers[answerIndex] != this.lines[answerIndex].correct) {\n this.isCorrect = false;\n }\n }\n this.taskSubmitted.emit(this.isCorrect);\n this.isAnswered = true;\n }\n}\n","module.exports = \".answer {\\n font-weight: bold;\\n}\\n\\n.multifill.correct {\\n font-weight: bold;\\n color: #2E46F5 !important;\\n}\\n\\n.multifill.incorrect {\\n color: #EE741C;\\n text-decoration: line-through;\\n}\\n\\n.correct-answer {\\n font-style: italic;\\n}\\n\\n.multifill, .multifill:focus {\\n border: dashed #EE741C 2px !important;\\n border-radius: 5px;\\n height: 3em;\\n width: calc(90% - 1em);\\n margin-bottom: 1em;\\n font-size: 1em;\\n color: rgb(0, 0, 125);\\n font-family: 'Roboto';\\n padding: 0.5em;\\n}\\n\\n.multifill.full-width, .multifill.full-width:focus {\\n width: 95%;\\n}\\n\\nmat-card.mat-card {\\n color:rgb(0, 0, 125) !important;\\n font-weight: normal;\\n font-family: 'Roboto Slab', 'Roboto' serif;\\n line-height: 1.8em;\\n}\\n\\nmat-card.mat-card.question {\\n margin-top: 0;\\n margin-bottom: 1em;\\n border-radius: 5px;\\n box-shadow: none !important;\\n background: none !important;\\n border: dashed 2px rgb(0,0,125);\\n color: rgb(0,0,125) !important;\\n font-family: \\\"Roboto\\\" !important;\\n font-weight: bold !important;\\n }\\n\\n.play { cursor:pointer;\\n display: inline;\\n width: 3em;\\n vertical-align: middle;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvbXVsdGlsaW5lc291bmRmaWxsL211bHRpbGluZXNvdW5kZmlsbC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLGNBQWM7SUFDZCw2QkFBNkI7QUFDakM7O0FBRUE7SUFDSSxrQkFBa0I7QUFDdEI7O0FBQ0E7SUFDSSxxQ0FBcUM7SUFDckMsa0JBQWtCO0lBQ2xCLFdBQVc7SUFDWCxzQkFBc0I7SUFDdEIsa0JBQWtCO0lBQ2xCLGNBQWM7SUFDZCxxQkFBcUI7SUFDckIscUJBQXFCO0lBQ3JCLGNBQWM7QUFDbEI7O0FBR0E7SUFDSSxVQUFVO0FBQ2Q7O0FBRUE7SUFDSSwrQkFBK0I7SUFDL0IsbUJBQW1CO0lBQ25CLDBDQUEwQztJQUMxQyxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxhQUFhO0lBQ2Isa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQiwyQkFBMkI7SUFDM0IsMkJBQTJCO0lBQzNCLCtCQUErQjtJQUMvQiw4QkFBOEI7SUFDOUIsZ0NBQWdDO0lBQ2hDLDRCQUE0QjtFQUM5Qjs7QUFFRixRQUFRLGNBQWM7SUFDbEIsZUFBZTtJQUNmLFVBQVU7SUFDVixzQkFBc0I7QUFDMUIiLCJmaWxlIjoic3JjL2FwcC90YXNrcy9tdWx0aWxpbmVzb3VuZGZpbGwvbXVsdGlsaW5lc291bmRmaWxsLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuYW5zd2VyIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLm11bHRpZmlsbC5jb3JyZWN0IHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogIzJFNDZGNSAhaW1wb3J0YW50O1xufVxuXG4ubXVsdGlmaWxsLmluY29ycmVjdCB7XG4gICAgY29sb3I6ICNFRTc0MUM7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG59XG5cbi5jb3JyZWN0LWFuc3dlciB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuLm11bHRpZmlsbCwgLm11bHRpZmlsbDpmb2N1cyB7XG4gICAgYm9yZGVyOiBkYXNoZWQgI0VFNzQxQyAycHggIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgaGVpZ2h0OiAzZW07XG4gICAgd2lkdGg6IGNhbGMoOTAlIC0gMWVtKTtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgY29sb3I6IHJnYigwLCAwLCAxMjUpO1xuICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvJztcbiAgICBwYWRkaW5nOiAwLjVlbTtcbn1cblxuXG4ubXVsdGlmaWxsLmZ1bGwtd2lkdGgsIC5tdWx0aWZpbGwuZnVsbC13aWR0aDpmb2N1cyB7XG4gICAgd2lkdGg6IDk1JTtcbn1cblxubWF0LWNhcmQubWF0LWNhcmQge1xuICAgIGNvbG9yOnJnYigwLCAwLCAxMjUpICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LWZhbWlseTogJ1JvYm90byBTbGFiJywgJ1JvYm90bycgc2VyaWY7XG4gICAgbGluZS1oZWlnaHQ6IDEuOGVtO1xufVxuXG5tYXQtY2FyZC5tYXQtY2FyZC5xdWVzdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiBkYXNoZWQgMnB4IHJnYigwLDAsMTI1KTtcbiAgICBjb2xvcjogcmdiKDAsMCwxMjUpICFpbXBvcnRhbnQ7XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xuICB9XG5cbi5wbGF5IHsgY3Vyc29yOnBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIHdpZHRoOiAzZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn0iXX0= */\"","import { Component, OnInit, Input, Output, EventEmitter, ViewChildren, TemplateRef, ElementRef, QueryList, Inject, ChangeDetectorRef, ViewEncapsulation, OnChanges, SimpleChange } from '@angular/core';\nimport { TaskComponent } from '../task';\nimport * as _ from \"lodash\";\nimport { Observable, Subscription } from 'rxjs';\nimport { Howl } from \"howler\";\n\nexport declare type MultilinesoundfillLine = {\n audio: string;\n correct: string;\n}\n\nexport declare type MultilinesoundfillData = {\n type?: string;\n question?: string;\n lines: MultilinesoundfillLine[];\n};\n\n@Component({\n selector: \"app-multilinesoundfill\",\n templateUrl: \"./multilinesoundfill.component.html\",\n styleUrls: [\"./multilinesoundfill.component.css\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class MultilinesoundfillComponent implements TaskComponent, OnInit {\n @Input() data: MultilinesoundfillData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n public isAnswered = false;\n @Input() submitTask: Observable;\n private eventsSubscription: Subscription;\n public isCorrect = false;\n public answers: string[] = [];\n public recordings: Howl[] = [];\n public lines: MultilinesoundfillLine[] = [];\n\n constructor() {\n\n }\n\n ngOnInit() {\n this.eventsSubscription = this.submitTask.subscribe(() => this.submit());\n this.lines = this.data.lines;\n this.answers = Array(this.lines.length).fill(\"\");\n this.recordings = this.data.lines.map((line) => new Howl({src: [ line.audio ]}));\n }\n\n ngOnChanges() {\n this.lines = this.data.lines;\n this.answers = Array(this.lines.length).fill(\"\");\n this.recordings = this.data.lines.map((line) => new Howl({src: [ line.audio ]}));\n\n }\n\n ngOnDestroy() {\n this.eventsSubscription.unsubscribe();\n }\n\n\n submit() {\n console.log(\"SUBMITTED\")\n this.isCorrect = true;\n for (let answerIndex in this.answers) {\n if(this.answers[answerIndex] != this.lines[answerIndex].correct) {\n this.isCorrect = false;\n }\n }\n this.taskSubmitted.emit(this.isCorrect);\n this.isAnswered = true;\n }\n}\n","module.exports = \".answer {\\n font-weight: bold;\\n}\\n\\n.answer.correct {\\n color: #2346F5;\\n font-weight: bold;\\n }\\n\\n.answer.incorrect {\\n color: #F2923D;\\n text-decoration: line-through;\\n }\\n\\n.correct-answer {\\n font-style: italic;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvbXVsdGltdWx0aWZpbGwvbXVsdGltdWx0aWZpbGwuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGNBQWM7SUFDZCxpQkFBaUI7RUFDbkI7O0FBRUE7SUFDRSxjQUFjO0lBQ2QsNkJBQTZCO0VBQy9COztBQUVGO0lBQ0ksa0JBQWtCO0FBQ3RCIiwiZmlsZSI6InNyYy9hcHAvdGFza3MvbXVsdGltdWx0aWZpbGwvbXVsdGltdWx0aWZpbGwuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5hbnN3ZXIge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uYW5zd2VyLmNvcnJlY3Qge1xuICAgIGNvbG9yOiAjMjM0NkY1O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIFxuICAuYW5zd2VyLmluY29ycmVjdCB7XG4gICAgY29sb3I6ICNGMjkyM0Q7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gIH1cblxuLmNvcnJlY3QtYW5zd2VyIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59Il19 */\"","import { Component, OnInit, Input, Output, EventEmitter, Inject, ChangeDetectorRef, ViewEncapsulation, OnChanges } from '@angular/core';\nimport { TaskComponent } from '../task';\nimport { DOCUMENT } from '@angular/common';\nimport * as _ from \"lodash\";\nimport { Howl } from 'howler';\n\nexport declare type MultimultifillData = {\n type?: string;\n question: string;\n lines: {\n template: string;\n audio: string | Howl;\n }[];\n};\n\n@Component({\n selector: \"app-multimultifill\",\n templateUrl: \"./multimultifill.component.html\",\n styleUrls: [\"./multimultifill.component.css\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class MultimultifillComponent implements TaskComponent, OnInit, OnChanges {\n @Input() data: MultimultifillData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n public isAnswered = false;\n public answered: boolean[] = [];\n public isCorrect: boolean[] = [];\n\n constructor(\n ) {\n\n }\n\n ngOnInit() {\n this.isCorrect = new Array(this.data.lines.length).fill(false);\n this.answered = new Array(this.data.lines.length).fill(false);\n for(let i in this.data.lines) {\n this.data.lines[i].audio = new Howl({\n src: [ this.data.lines[i].audio ]\n });\n }\n }\n\n ngOnChanges() {\n this.isCorrect = new Array(this.data.lines.length).fill(false);\n this.answered = new Array(this.data.lines.length).fill(false);\n for(let i in this.data.lines) {\n this.data.lines[i].audio = new Howl({\n src: [ this.data.lines[i].audio ]\n });\n }\n }\n\n evaluate(correct: boolean, i: number) {\n this.isCorrect[i] = correct;\n this.answered[i] = true;\n if(_.every(this.answered)) {\n if (_.every(this.isCorrect)) {\n this.taskSubmitted.emit(true);\n } else {\n this.taskSubmitted.emit(false);\n }\n this.isAnswered = true;\n }\n }\n\n public fromLine(line: {\n template: string;\n audio: string;\n }) {\n return {\n question: null,\n template: line.template,\n answers: null\n }\n }\n}\n","module.exports = \".answer {\\n font-weight: bold;\\n}\\n\\n.answer.correct {\\n color: #2346F5;\\n font-weight: bold;\\n}\\n\\n.answer.incorrect {\\n color: #F2923D;\\n text-decoration: line-through;\\n}\\n\\n.correct-answer {\\n font-style: italic;\\n}\\n\\n.multiselect, .multiselect:focus, input.gap, input.gap:focus {\\n border: dashed #EE741C 2px !important;\\n border-radius: 5px;\\n height: 2em;\\n color: rgb(0,0,125);\\n font-family: \\\"Roboto\\\";\\n}\\n\\n.multiselect.full-width, .multiselect.full-width:focus {\\n width: 95%;\\n}\\n\\nmat-card.mat-card {\\n color:rgb(0, 0, 125) !important;\\n font-weight: normal;\\n font-family: 'Roboto Slab', 'Roboto' serif;\\n line-height: 1.8em;\\n}\\n\\nmat-card.mat-card.question {\\n margin-top: 0;\\n margin-bottom: 1em;\\n border-radius: 5px;\\n box-shadow: none !important;\\n background: none !important;\\n border: dashed 2px rgb(0,0,125);\\n color: rgb(0,0,125) !important;\\n font-family: \\\"Roboto\\\" !important;\\n font-weight: bold !important;\\n }\\n\\n\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvbXVsdGlzZWxlY3QvbXVsdGlzZWxlY3QuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGNBQWM7SUFDZCxpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxjQUFjO0lBQ2QsNkJBQTZCO0FBQ2pDOztBQUVBO0lBQ0ksa0JBQWtCO0FBQ3RCOztBQUNBO0lBQ0kscUNBQXFDO0lBQ3JDLGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gsbUJBQW1CO0lBQ25CLHFCQUFxQjtBQUN6Qjs7QUFFQTtJQUNJLFVBQVU7QUFDZDs7QUFFQTtJQUNJLCtCQUErQjtJQUMvQixtQkFBbUI7SUFDbkIsMENBQTBDO0lBQzFDLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGFBQWE7SUFDYixrQkFBa0I7SUFDbEIsa0JBQWtCO0lBQ2xCLDJCQUEyQjtJQUMzQiwyQkFBMkI7SUFDM0IsK0JBQStCO0lBQy9CLDhCQUE4QjtJQUM5QixnQ0FBZ0M7SUFDaEMsNEJBQTRCO0VBQzlCIiwiZmlsZSI6InNyYy9hcHAvdGFza3MvbXVsdGlzZWxlY3QvbXVsdGlzZWxlY3QuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5hbnN3ZXIge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uYW5zd2VyLmNvcnJlY3Qge1xuICAgIGNvbG9yOiAjMjM0NkY1O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uYW5zd2VyLmluY29ycmVjdCB7XG4gICAgY29sb3I6ICNGMjkyM0Q7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG59XG5cbi5jb3JyZWN0LWFuc3dlciB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuLm11bHRpc2VsZWN0LCAubXVsdGlzZWxlY3Q6Zm9jdXMsIGlucHV0LmdhcCwgaW5wdXQuZ2FwOmZvY3VzIHtcbiAgICBib3JkZXI6IGRhc2hlZCAjRUU3NDFDIDJweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBoZWlnaHQ6IDJlbTtcbiAgICBjb2xvcjogcmdiKDAsMCwxMjUpO1xuICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiO1xufVxuXG4ubXVsdGlzZWxlY3QuZnVsbC13aWR0aCwgLm11bHRpc2VsZWN0LmZ1bGwtd2lkdGg6Zm9jdXMge1xuICAgIHdpZHRoOiA5NSU7XG59XG5cbm1hdC1jYXJkLm1hdC1jYXJkIHtcbiAgICBjb2xvcjpyZ2IoMCwgMCwgMTI1KSAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1mYW1pbHk6ICdSb2JvdG8gU2xhYicsICdSb2JvdG8nIHNlcmlmO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjhlbTtcbn1cblxubWF0LWNhcmQubWF0LWNhcmQucXVlc3Rpb24ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogZGFzaGVkIDJweCByZ2IoMCwwLDEyNSk7XG4gICAgY29sb3I6IHJnYigwLDAsMTI1KSAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcbiAgfVxuXG5cbiJdfQ== */\"","import {\n Component,\n OnInit,\n Input,\n Output,\n EventEmitter,\n Inject,\n ChangeDetectorRef,\n ViewEncapsulation,\n} from \"@angular/core\";\nimport { TaskComponent } from \"../task\";\nimport { DOCUMENT } from \"@angular/common\";\nimport * as _ from \"lodash\";\nimport { matchAll } from \"@shared/utilities\";\nimport {\n spacesToUnderlines,\n underlinesToSpaces,\n} from \"@shared/utilities/compare-strings\";\nimport { Observable, Subscription } from \"rxjs\";\n\nexport declare type MultiselectData = {\n type?: string;\n question: string;\n rows: string[];\n};\n\n@Component({\n selector: \"app-multiselect\",\n templateUrl: \"./multiselect.component.html\",\n styleUrls: [\"./multiselect.component.css\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class MultiselectComponent implements TaskComponent, OnInit {\n @Input() data: MultiselectData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n private document;\n public isAnswered = false;\n public isCorrect: boolean[] = [];\n public filledTemplate = \"\";\n public questions: {\n correct: string;\n options: string[];\n id: string;\n }[] = [];\n @Input() submitTask: Observable;\n private eventsSubscription: Subscription;\n\n constructor(\n @Inject(DOCUMENT) document,\n private changeRef: ChangeDetectorRef\n ) {\n this.document = document;\n }\n\n ngOnInit() {\n this.eventsSubscription = this.submitTask.subscribe(() => this.submit());\n this.createGaps();\n }\n\n ngOnDestroy() {\n this.eventsSubscription.unsubscribe();\n }\n\n submit() {\n this.isCorrect = [];\n for (let answerIndex in this.questions) {\n let answer = this.questions[answerIndex];\n let userAnswer = this.getAnswer(parseInt(answerIndex));\n this.isCorrect.push(userAnswer == answer.correct);\n let inputEl = this.document.getElementById(\n this.questions[answerIndex].id\n );\n const newEl = this.document.createElement(\"span\");\n newEl.classList.add(\n userAnswer == answer.correct ? \"correct\" : \"incorrect\",\n \"answer\"\n );\n newEl.innerHTML = userAnswer;\n inputEl.parentNode.replaceChild(newEl, inputEl);\n if (userAnswer != answer.correct) {\n const correctAnswer = this.document.createElement(\"span\");\n correctAnswer.classList.add(\"correct-answer\");\n correctAnswer.innerHTML = \"( správná odpověď: \" + answer.correct + \")\";\n newEl.parentNode.insertBefore(correctAnswer, newEl.nextSibling);\n }\n }\n if (_.every(this.isCorrect)) {\n this.taskSubmitted.emit(true);\n } else {\n this.taskSubmitted.emit(false);\n }\n this.isAnswered = true;\n }\n\n getAnswer(id: number) {\n if (!this.document.getElementById(this.questions[id].id)) {\n return null;\n }\n this.document.getElementById(this.questions[id].id).onchange = (e) => {\n if (this.changeRef) {\n this.changeRef.detectChanges();\n }\n };\n return underlinesToSpaces(\n this.document.getElementById(this.questions[id].id).value\n );\n }\n\n isAllFilled() {\n let allFilled = true;\n if (!this.data) {\n return false;\n }\n for (let answerIndex in this.questions) {\n if (!this.getAnswer(parseInt(answerIndex))) {\n allFilled = false;\n }\n }\n return allFilled;\n }\n\n createGaps() {\n let template: string = this.data.rows.join(\"
    \");\n\n this.questions = [];\n let gapMatches = matchAll(/\\{#SELECT:([^}*]+)\\}/g, template);\n for (let i in gapMatches) {\n let questionTemplate = gapMatches[i][0]\n .replace(\"{#SELECT:\", \"\")\n .replace(\"}\", \"\");\n let correct = questionTemplate.split(\":\")[0];\n let options = _.shuffle(questionTemplate.split(\":\")[1].split(\",\"));\n this.questions.push({\n correct: correct,\n options: options,\n id: \"select-\" + i,\n });\n }\n let gappedText = template;\n for (let i in this.questions) {\n gappedText = gappedText.replace(\n gapMatches[i][0],\n '\"\n );\n }\n this.filledTemplate = gappedText;\n }\n}\n","module.exports = \".example-radio-group {\\n display: flex;\\n flex-direction: column;\\n margin: 15px 0;\\n}\\n\\n.example-radio-button {\\n margin: 5px;\\n}\\n\\n.text {\\n font-weight: 400 !important;\\n}\\n\\n.correct {\\n font-weight: 900 !important;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvbmV3c2luZ2xlY2hvaWNlL25ld3NpbmdsZWNob2ljZS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixjQUFjO0FBQ2hCOztBQUVBO0VBQ0UsV0FBVztBQUNiOztBQUVBO0VBQ0UsMkJBQTJCO0FBQzdCOztBQUVBO0VBQ0UsMkJBQTJCO0FBQzdCIiwiZmlsZSI6InNyYy9hcHAvdGFza3MvbmV3c2luZ2xlY2hvaWNlL25ld3NpbmdsZWNob2ljZS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmV4YW1wbGUtcmFkaW8tZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW46IDE1cHggMDtcbn1cblxuLmV4YW1wbGUtcmFkaW8tYnV0dG9uIHtcbiAgbWFyZ2luOiA1cHg7XG59XG5cbi50ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xufVxuXG4uY29ycmVjdCB7XG4gIGZvbnQtd2VpZ2h0OiA5MDAgIWltcG9ydGFudDtcbn1cbiJdfQ== */\"","import { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\nimport { TaskComponent } from \"../task\";\nimport { Paragraph } from \"src/app/dvz/dikobraz-3d-tiskne-a-modeluje/models/task.model\";\nimport * as _ from \"lodash\";\nimport { compareStrings } from \"@shared/utilities/compare-strings\";\n\nexport declare type NewsinglechoiceData = {\n type?: string;\n question: Paragraph[];\n questions: {\n text?: Paragraph;\n options: string[];\n correct: string;\n }[];\n};\n\n@Component({\n selector: \"app-newsinglechoice\",\n templateUrl: \"./newsinglechoice.component.html\",\n styleUrls: [\"./newsinglechoice.component.css\"],\n})\nexport class NewsinglechoiceComponent implements TaskComponent, OnInit {\n @Input() data: NewsinglechoiceData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n public answers: string[] = [];\n public isAnswered: boolean = false;\n private isCorrect: boolean[] = [];\n\n constructor() {}\n\n ngOnInit() {}\n\n submit() {\n this.isCorrect = [];\n let i = 0;\n for (let question in this.data.questions) {\n this.isCorrect.push(\n compareStrings(this.data.questions[i].correct, this.answers[i])\n );\n i++;\n }\n if (_.every(this.isCorrect)) {\n this.taskSubmitted.emit(true);\n } else {\n this.taskSubmitted.emit(false);\n }\n this.isAnswered = true;\n }\n\n setColor(i: number, option: string) {\n if (!this.isAnswered) {\n return \"\";\n }\n if (compareStrings(this.data.questions[i].correct, option)) {\n return \"correct\";\n }\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3Rhc2tzL29wZW5xdWVzdGlvbi9vcGVucXVlc3Rpb24uY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\nimport { Paragraph } from \"src/app/dvz/dikobraz-se-uci-anglicky/models/task.model\";\nimport { TaskComponent } from \"../task\";\n\nexport declare type OpenquestionData = {\n type?: string;\n question: Paragraph[];\n answer: Paragraph[];\n};\n\n@Component({\n selector: \"app-openquestion\",\n templateUrl: \"./openquestion.component.html\",\n styleUrls: [\"./openquestion.component.css\"],\n})\nexport class OpenquestionComponent implements TaskComponent, OnInit {\n @Input() data: OpenquestionData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n public answered = false;\n\n constructor() {}\n\n ngOnInit() {}\n\n answer() {\n this.answered = true;\n }\n \n next() {\n this.taskSubmitted.emit(true);\n }\n}\n","module.exports = \".answer {\\n font-weight: bold;\\n}\\n\\n.answer.correct {\\n color: #2346F5;\\n font-weight: bold;\\n }\\n\\n.answer.incorrect {\\n color: #F2923D;\\n text-decoration: line-through;\\n }\\n\\n.correct-answer {\\n font-style: italic;\\n}\\n\\n.drag-in-box {\\n display: inline-block;\\n height: 1.5em;\\n width: 60px;\\n border: black solid 1px;\\n}\\n\\n.drag-rows-container {\\n\\n}\\n\\n.main-container {\\n display: flex;\\n flex-direction: row;\\n}\\n\\n.main-container > img:not(.order-index) {\\n min-width: 60%;\\n width: 60%;\\n}\\n\\n.main-container > div {\\n width: 40%;\\n}\\n\\n.main-container.full > div {\\n width: 100%;\\n}\\n\\n.drag-row {\\n margin-left: 35px;\\n margin-bottom: 1em;\\n display: flex;\\n}\\n\\n.drag-row > div {\\n width: calc(100% - 5em);\\n height: auto;\\n margin-right: auto;\\n align-items: center;\\n color: rgb(0,0,125);\\n font-family: \\\"Roboto\\\";\\n border: dashed #F6B370 2px;\\n border-radius: 5px;\\n}\\n\\n.draged-item {\\n width: 100%;\\n}\\n\\n.unsorted {\\n height: auto;\\n margin-bottom: 1em;\\n width: calc(100% - 55px - 2em);\\n margin-left: 35px;\\n margin-top: 3em;\\n padding: 10px;\\n border: solid #F6B370 2px;\\n border-radius: 5px;\\n display: grid;\\n grid-template-columns: repeat(2, 1fr);\\n min-height: 10em;\\n}\\n\\n.unsorted .drag-item { cursor:pointer;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: center;\\n color: rgb(0,0,125);\\n font-family: \\\"Roboto\\\";\\n grid-row-gap: 1em;\\n}\\n\\n.drag-rows-container img.order-index {\\n display: inline;\\n width: 2em;\\n height: 2em;\\n margin-right: 1em;\\n}\\n\\n.cdk-drag-preview{\\n display: flex;\\n align-items: center;\\n \\n justify-content: center;\\n width: auto;\\n margin: 0;\\n padding: 0;\\n height: auto;\\n text-align: center;\\n \\n color: rgb(0,0,125);\\n font-family: \\\"Roboto\\\";\\n font-weight: bold;\\n cursor:pointer;\\n }\\n\\n.cdk-drag-placeholder {\\n opacity: 0;\\n }\\n\\n.drag-item, .draged-item {\\n cursor: pointer;\\n }\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3Mvb3JkZXJkcmFnL29yZGVyZHJhZy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksY0FBYztJQUNkLGlCQUFpQjtFQUNuQjs7QUFFQTtJQUNFLGNBQWM7SUFDZCw2QkFBNkI7RUFDL0I7O0FBRUY7SUFDSSxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxxQkFBcUI7SUFDckIsYUFBYTtJQUNiLFdBQVc7SUFDWCx1QkFBdUI7QUFDM0I7O0FBRUE7O0FBRUE7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksY0FBYztJQUNkLFVBQVU7QUFDZDs7QUFFQTtJQUNJLFVBQVU7QUFDZDs7QUFFQTtJQUNJLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLHVCQUF1QjtJQUN2QixZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIscUJBQXFCO0lBQ3JCLDBCQUEwQjtJQUMxQixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxXQUFXO0FBQ2Y7O0FBRUE7RUFDRSxZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLDhCQUE4QjtFQUM5QixpQkFBaUI7RUFDakIsZUFBZTtFQUNmLGFBQWE7RUFDYix5QkFBeUI7RUFDekIsa0JBQWtCO0VBQ2xCLGFBQWE7RUFDYixxQ0FBcUM7RUFDckMsZ0JBQWdCO0FBQ2xCOztBQUVBLHVCQUF1QixjQUFjO0VBQ25DLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtFQUNuQixtQkFBbUI7RUFDbkIscUJBQXFCO0VBQ3JCLGlCQUFpQjtBQUNuQjs7QUFFQTtJQUNJLGVBQWU7SUFDZixVQUFVO0lBQ1YsV0FBVztJQUNYLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGFBQWE7SUFDYixtQkFBbUI7O0lBRW5CLHVCQUF1QjtNQUNyQixXQUFXO01BQ1gsU0FBUztNQUNULFVBQVU7TUFDVixZQUFZO01BQ1osa0JBQWtCOztNQUVsQixtQkFBbUI7TUFDbkIscUJBQXFCO01BQ3JCLGlCQUFpQjtNQUNqQixjQUFjO0lBQ2hCOztBQUVBO01BQ0UsVUFBVTtJQUNaOztBQUVBO01BQ0UsZUFBZTtJQUNqQiIsImZpbGUiOiJzcmMvYXBwL3Rhc2tzL29yZGVyZHJhZy9vcmRlcmRyYWcuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5hbnN3ZXIge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uYW5zd2VyLmNvcnJlY3Qge1xuICAgIGNvbG9yOiAjMjM0NkY1O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIFxuICAuYW5zd2VyLmluY29ycmVjdCB7XG4gICAgY29sb3I6ICNGMjkyM0Q7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gIH1cblxuLmNvcnJlY3QtYW5zd2VyIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5kcmFnLWluLWJveCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMS41ZW07XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgYm9yZGVyOiBibGFjayBzb2xpZCAxcHg7XG59XG5cbi5kcmFnLXJvd3MtY29udGFpbmVyIHtcblxufVxuXG4ubWFpbi1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuLm1haW4tY29udGFpbmVyID4gaW1nOm5vdCgub3JkZXItaW5kZXgpIHtcbiAgICBtaW4td2lkdGg6IDYwJTtcbiAgICB3aWR0aDogNjAlO1xufVxuXG4ubWFpbi1jb250YWluZXIgPiAgZGl2IHtcbiAgICB3aWR0aDogNDAlO1xufVxuXG4ubWFpbi1jb250YWluZXIuZnVsbCA+ICBkaXYge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uZHJhZy1yb3cge1xuICAgIG1hcmdpbi1sZWZ0OiAzNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uZHJhZy1yb3cgPiBkaXYge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1ZW0pO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogcmdiKDAsMCwxMjUpO1xuICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiO1xuICAgIGJvcmRlcjogZGFzaGVkICNGNkIzNzAgMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbn1cblxuLmRyYWdlZC1pdGVtIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnVuc29ydGVkIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA1NXB4IC0gMmVtKTtcbiAgbWFyZ2luLWxlZnQ6IDM1cHg7XG4gIG1hcmdpbi10b3A6IDNlbTtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyOiBzb2xpZCAjRjZCMzcwIDJweDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICBtaW4taGVpZ2h0OiAxMGVtO1xufVxuXG4udW5zb3J0ZWQgLmRyYWctaXRlbSB7IGN1cnNvcjpwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6IHJnYigwLDAsMTI1KTtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCI7XG4gIGdyaWQtcm93LWdhcDogMWVtO1xufVxuXG4uZHJhZy1yb3dzLWNvbnRhaW5lciBpbWcub3JkZXItaW5kZXgge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB3aWR0aDogMmVtO1xuICAgIGhlaWdodDogMmVtO1xuICAgIG1hcmdpbi1yaWdodDogMWVtO1xufVxuXG4uY2RrLWRyYWctcHJldmlld3tcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIFxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgXG4gICAgICBjb2xvcjogcmdiKDAsMCwxMjUpO1xuICAgICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCI7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGN1cnNvcjpwb2ludGVyO1xuICAgIH1cbiAgICBcbiAgICAuY2RrLWRyYWctcGxhY2Vob2xkZXIge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgXG4gICAgLmRyYWctaXRlbSwgLmRyYWdlZC1pdGVtIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9Il19 */\"","import { ChangeDetectorRef, Component, EventEmitter, Input, OnChanges, OnInit, Output, ViewEncapsulation } from '@angular/core';\nimport * as _ from \"lodash\";\nimport { CdkDragDrop, moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop';\nimport { Observable, Subscription } from 'rxjs';\n\nexport declare type OrderdragData = {\n type?: string;\n question: string;\n imageUrl?: string;\n options: string[];\n isNumbers: boolean;\n};\n\n@Component({\n selector: 'app-orderdrag',\n templateUrl: './orderdrag.component.html',\n styleUrls: ['./orderdrag.component.css'],\n encapsulation: ViewEncapsulation.None\n})\nexport class OrderdragComponent implements OnChanges {\n\n @Input() data: OrderdragData;\n @Input() submitTask: Observable;\n private eventsSubscription: Subscription;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n public options: string[] = [];\n public dragIns: string[][] = [];\n public isAnswered: boolean = false;\n private isCorrect: boolean[] = [];\n\n constructor(private changeRef: ChangeDetectorRef) { \n\n }\n\n ngOnInit() {\n console.log(this.data);\n this.options = _.shuffle(this.data.options);\n for(let i in this.options) {\n this.dragIns[i] = [];\n }\n this.eventsSubscription = this.submitTask.subscribe(() => this.submit())\n }\n\n ngOnChanges() {\n console.log(\"CHANGE\",this.data);\n this.options = _.shuffle(this.data.options);\n for(let i in this.options) {\n this.dragIns[i] = [];\n }\n\n }\n\n drop(event: CdkDragDrop) {\n if (event.previousContainer === event.container) {\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\n } else {\n console.log(event.container)\n if(event.container.data.length == 0 || event.container.id == \"options\") {\n transferArrayItem(event.previousContainer.data,\n event.container.data,\n event.previousIndex,\n event.currentIndex);\n }\n }\n }\n \n submit() {\n this.isCorrect = [];\n for(let i in this.data.options) {\n let correctAns = this.dragIns[i][0] == this.data.options[i];\n this.isCorrect.push(correctAns);\n }\n if(_.every(this.isCorrect)) {\n this.taskSubmitted.emit(true);\n } else {\n this.taskSubmitted.emit(false);\n }\n this.isAnswered = true;\n }\n\n ngOnDestroy() {\n this.eventsSubscription.unsubscribe();\n }\n\n\n\n}\n\n","module.exports = \".unsorted .drag-item.answer {\\n font-weight: bold;\\n }\\n \\n .unsorted .drag-item.answer.correct {\\n color: #2346F5;\\n font-weight: bold;\\n }\\n \\n .unsorted .drag-item.answer.incorrect {\\n color: #F2923D;\\n text-decoration: line-through;\\n }\\n \\n .unsorted {\\n height: auto;\\n margin-bottom: 1em;\\n margin-top: 3em;\\n border: solid #F6B370 2px;\\n border-radius: 5px;\\n display: flex;\\n justify-content: space-around;\\n}\\n \\n .unsorted .drag-item { cursor:pointer;\\n color: rgb(0,0,125);\\n font-family: \\\"Roboto\\\";\\n padding: 10px;\\n transition: box-shadow 200ms cubic-bezier(0, 0, 0.2, 1);\\n}\\n \\n mat-card.mat-card.question {\\n margin-left: 5%;\\n box-shadow: none !important;\\n background: none !important;\\n border: dashed 2px rgb(0,0,125);\\n color: rgb(0,0,125) !important;\\n font-family: \\\"Roboto\\\" !important;\\n font-weight: bold !important;\\n }\\n \\n mat-card.mat-card.sentence {\\n margin-left: 5%;\\n margin-top: 2em;\\n margin-bottom: 2em;\\n}\\n \\n .cdk-drag-preview{\\n display: flex;\\n align-items: center;\\n\\n justify-content: center;\\n width: auto;\\n margin: 0;\\n padding: 0;\\n height: auto;\\n text-align: center;\\n \\n color: rgb(0,0,125);\\n font-family: \\\"Roboto\\\";\\n font-weight: bold;\\n cursor:pointer;\\n }\\n \\n .cdk-drag-placeholder {\\n opacity: 0;\\n }\\n \\n .drag-item, .draged-item {\\n cursor: pointer;\\n }\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3Mvb3JkZXJkcmFnaW5saW5lL29yZGVyZHJhZ2lubGluZS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksaUJBQWlCO0VBQ25COztFQUVBO0lBQ0UsY0FBYztJQUNkLGlCQUFpQjtFQUNuQjs7RUFFQTtJQUNFLGNBQWM7SUFDZCw2QkFBNkI7RUFDL0I7O0VBSUY7RUFDRSxZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLGVBQWU7RUFDZix5QkFBeUI7RUFDekIsa0JBQWtCO0VBQ2xCLGFBQWE7RUFDYiw2QkFBNkI7QUFDL0I7O0VBRUEsdUJBQXVCLGNBQWM7RUFDbkMsbUJBQW1CO0VBQ25CLHFCQUFxQjtFQUNyQixhQUFhO0VBQ2IsdURBQXVEO0FBQ3pEOztFQUVBO0lBQ0ksZUFBZTtJQUNmLDJCQUEyQjtJQUMzQiwyQkFBMkI7SUFDM0IsK0JBQStCO0lBQy9CLDhCQUE4QjtJQUM5QixnQ0FBZ0M7SUFDaEMsNEJBQTRCO0VBQzlCOztFQUVGO0lBQ0ksZUFBZTtJQUNmLGVBQWU7SUFDZixrQkFBa0I7QUFDdEI7O0VBRUE7RUFDRSxhQUFhO0VBQ2IsbUJBQW1COztFQUVuQix1QkFBdUI7SUFDckIsV0FBVztJQUNYLFNBQVM7SUFDVCxVQUFVO0lBQ1YsWUFBWTtJQUNaLGtCQUFrQjs7SUFFbEIsbUJBQW1CO0lBQ25CLHFCQUFxQjtJQUNyQixpQkFBaUI7SUFDakIsY0FBYztFQUNoQjs7RUFFQTtJQUNFLFVBQVU7RUFDWjs7RUFFQTtJQUNFLGVBQWU7RUFDakIiLCJmaWxlIjoic3JjL2FwcC90YXNrcy9vcmRlcmRyYWdpbmxpbmUvb3JkZXJkcmFnaW5saW5lLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIudW5zb3J0ZWQgLmRyYWctaXRlbS5hbnN3ZXIge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIFxuICAudW5zb3J0ZWQgLmRyYWctaXRlbS5hbnN3ZXIuY29ycmVjdCB7XG4gICAgY29sb3I6ICMyMzQ2RjU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbiAgXG4gIC51bnNvcnRlZCAuZHJhZy1pdGVtLmFuc3dlci5pbmNvcnJlY3Qge1xuICAgIGNvbG9yOiAjRjI5MjNEO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICB9XG5cblxuXG4udW5zb3J0ZWQge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgbWFyZ2luLXRvcDogM2VtO1xuICBib3JkZXI6IHNvbGlkICNGNkIzNzAgMnB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xufVxuXG4udW5zb3J0ZWQgLmRyYWctaXRlbSB7IGN1cnNvcjpwb2ludGVyO1xuICBjb2xvcjogcmdiKDAsMCwxMjUpO1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIjtcbiAgcGFkZGluZzogMTBweDtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcbn1cblxubWF0LWNhcmQubWF0LWNhcmQucXVlc3Rpb24ge1xuICAgIG1hcmdpbi1sZWZ0OiA1JTtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogZGFzaGVkIDJweCByZ2IoMCwwLDEyNSk7XG4gICAgY29sb3I6IHJnYigwLDAsMTI1KSAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcbiAgfVxuXG5tYXQtY2FyZC5tYXQtY2FyZC5zZW50ZW5jZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDUlO1xuICAgIG1hcmdpbi10b3A6IDJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07XG59XG5cbi5jZGstZHJhZy1wcmV2aWV3e1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgXG4gICAgY29sb3I6IHJnYigwLDAsMTI1KTtcbiAgICBmb250LWZhbWlseTogXCJSb2JvdG9cIjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjdXJzb3I6cG9pbnRlcjtcbiAgfVxuICBcbiAgLmNkay1kcmFnLXBsYWNlaG9sZGVyIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIFxuICAuZHJhZy1pdGVtLCAuZHJhZ2VkLWl0ZW0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfSJdfQ== */\"","import { ChangeDetectorRef, Component, EventEmitter, Input, OnChanges, OnInit, Output, ViewEncapsulation } from '@angular/core';\nimport * as _ from \"lodash\";\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { Observable, Subscription } from 'rxjs';\n\nexport declare type OrderdraginlineData = {\n type?: string;\n question: string;\n sentences: string[][];\n};\n\n@Component({\n selector: 'app-orderdraginline',\n templateUrl: './orderdraginline.component.html',\n styleUrls: ['./orderdraginline.component.css'],\n encapsulation: ViewEncapsulation.None\n})\nexport class OrderdraginlineComponent implements OnChanges {\n\n @Input() data: OrderdraginlineData;\n @Input() submitTask: Observable;\n private eventsSubscription: Subscription;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n public options: string[][] = [];\n public isAnswered: boolean = false;\n\n constructor() { \n\n }\n\n ngOnInit() {\n console.log(this.data);\n this.options = _.map(this.data.sentences, (sentence: string[]) => _.shuffle(sentence));\n this.eventsSubscription = this.submitTask.subscribe(() => this.submit())\n }\n\n ngOnChanges() {\n console.log(\"CHANGE\",this.data);\n this.options = _.map(this.data.sentences, (sentence: string[]) => _.shuffle(sentence));\n }\n\n drop(event: CdkDragDrop) {\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\n }\n \n submit() {\n this.isAnswered = true;\n let isCorrect = true;\n for(let i in this.data.sentences) {\n for(let j in this.data.sentences[i]) {\n if(this.options[i][j] != this.data.sentences[i][j]) {\n isCorrect = false\n }\n }\n }\n this.taskSubmitted.emit(isCorrect);\n }\n\n ngOnDestroy() {\n this.eventsSubscription.unsubscribe();\n }\n\n\n\n}\n\n","module.exports = \".example-radio-group {\\n display: flex;\\n flex-direction: column;\\n margin: 15px 0;\\n}\\n\\n.example-radio-button {\\n margin: 5px;\\n}\\n\\n.text {\\n font-weight: 400 !important;\\n}\\n\\n.incorrect {\\n color: red;\\n}\\n\\n.correct {\\n font-weight: 900 !important;\\n color: green;\\n}\\n\\n.task {\\n margin: 2rem 1rem 1rem 0;\\n}\\n\\n.option {\\n margin: 1rem;\\n cursor: pointer;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3Mvb3JkaW5hbG51bWJlcnMvb3JkaW5hbG51bWJlcnMuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsY0FBYztBQUNoQjs7QUFFQTtFQUNFLFdBQVc7QUFDYjs7QUFFQTtFQUNFLDJCQUEyQjtBQUM3Qjs7QUFFQTtFQUNFLFVBQVU7QUFDWjs7QUFFQTtFQUNFLDJCQUEyQjtFQUMzQixZQUFZO0FBQ2Q7O0FBRUE7RUFDRSx3QkFBd0I7QUFDMUI7O0FBRUE7RUFDRSxZQUFZO0VBQ1osZUFBZTtBQUNqQiIsImZpbGUiOiJzcmMvYXBwL3Rhc2tzL29yZGluYWxudW1iZXJzL29yZGluYWxudW1iZXJzLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZXhhbXBsZS1yYWRpby1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbjogMTVweCAwO1xufVxuXG4uZXhhbXBsZS1yYWRpby1idXR0b24ge1xuICBtYXJnaW46IDVweDtcbn1cblxuLnRleHQge1xuICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XG59XG5cbi5pbmNvcnJlY3Qge1xuICBjb2xvcjogcmVkO1xufVxuXG4uY29ycmVjdCB7XG4gIGZvbnQtd2VpZ2h0OiA5MDAgIWltcG9ydGFudDtcbiAgY29sb3I6IGdyZWVuO1xufVxuXG4udGFzayB7XG4gIG1hcmdpbjogMnJlbSAxcmVtIDFyZW0gMDtcbn1cblxuLm9wdGlvbiB7XG4gIG1hcmdpbjogMXJlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuIl19 */\"","import { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\nimport { TaskComponent } from \"../task\";\nimport { Paragraph } from \"src/app/dvz/dikobraz-3d-tiskne-a-modeluje/models/task.model\";\nimport * as _ from \"lodash\";\nimport { compareStrings } from \"@shared/utilities/compare-strings\";\n\ndeclare type Option = { numberVariant: string; textualVariant: string };\n\nexport declare type OrdinalNumbersData = {\n type?: string;\n question: Paragraph[];\n numbers: {\n number: number;\n options: Option[];\n }[];\n};\n\n@Component({\n selector: \"app-ordinalnumbers\",\n templateUrl: \"./ordinalnumbers.component.html\",\n styleUrls: [\"./ordinalnumbers.component.css\"],\n})\nexport class OrdinalNumbersComponent implements TaskComponent, OnInit {\n @Input() data: OrdinalNumbersData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n public answers: string[] = [];\n public isAnswered: boolean = false;\n private isTaskCorrect: boolean = true;\n public questions: string[] = [];\n public currentIndex: number = 0;\n public usedOption: Option;\n public indexOfUsedOption: number;\n\n constructor() {}\n\n ngOnInit() {\n this.usedOption = _.shuffle(\n this.data.numbers[this.currentIndex].options\n )[0];\n this.indexOfUsedOption = this.sortOptions().indexOf(this.usedOption);\n this.createQuestion();\n }\n\n sortOptions(): Option[] {\n return _.sortBy(\n this.data.numbers[this.currentIndex].options,\n \"numberVariant\"\n );\n }\n\n createQuestion() {\n const sortedOptions = this.sortOptions();\n this.usedOption = sortedOptions[this.indexOfUsedOption];\n this.questions = [this.usedOption.textualVariant];\n const shuffled = sortedOptions.sort(() => 0.5 - Math.random());\n let selected: string[] = [];\n selected = shuffled\n .filter(\n (element) =>\n element.textualVariant !== this.usedOption.textualVariant &&\n !selected.includes(element.textualVariant)\n )\n .slice(0, 2) // get only 2 incorrect options\n .map((selected) => selected.textualVariant);\n this.questions = _.shuffle(this.questions.concat(selected));\n }\n\n check(answer: string) {\n if (!compareStrings(answer, this.usedOption.textualVariant)) {\n this.isTaskCorrect = false;\n }\n this.isAnswered = true;\n console.log(this.data.numbers.length - 1 === this.currentIndex);\n }\n\n setColor(answer: string) {\n if (!this.isAnswered) {\n return \"\";\n }\n if (compareStrings(answer, this.usedOption.textualVariant)) {\n return \"correct\";\n } else {\n return \"incorrect\";\n }\n }\n\n next() {\n this.currentIndex++;\n this.isAnswered = false;\n this.createQuestion();\n }\n\n submit() {\n this.taskSubmitted.emit(this.isTaskCorrect);\n }\n}\n","module.exports = \".field-row {\\n display: flex;\\n flex-direction: row;\\n margin: auto;\\n width: 60%;\\n margin-bottom: 1em;\\n justify-content: space-between;\\n}\\n\\n.field {\\n font-size: 1.5em;\\n color: rgb(0,0,125);\\n font-family: \\\"Roboto\\\";\\n width: 1em;\\n text-align: center;\\n}\\n\\n.field.crossed {\\n color: #2E46F5;\\n text-decoration: line-through;\\n font-weight: bold;\\n}\\n\\n.field.selected {\\n background: #EE741C;\\n}\\n\\n.word.crossed {\\n text-decoration: line-through;\\n font-weight: bold;\\n}\\n\\nmat-card.mat-card.question {\\n margin-top: 0;\\n margin-bottom: 1em;\\n border-radius: 5px;\\n box-shadow: none !important;\\n background: none !important;\\n border: dashed 2px rgb(0,0,125);\\n color: rgb(0,0,125) !important;\\n font-family: \\\"Roboto\\\" !important;\\n font-weight: bold !important;\\n}\\n\\nmat-card.mat-card.words {\\n margin-top: 0;\\n margin-bottom: 1em;\\n border-radius: 5px;\\n box-shadow: none !important;\\n background: none !important;\\n border: dashed 2px #EE741C;\\n color: rgb(0,0,125) !important;\\n font-family: \\\"Roboto\\\" !important;\\n font-weight: bold !important;\\n display: flex;\\n flex-direction: row;\\n justify-content: space-around;\\n padding-left: 10%;\\n padding-right: 10%;\\n margin-top: 2em;\\n}\\n\\nmat-card.mat-card.words.done {\\n border: solid 2px rgb(0,0,125);\\n}\\n\\n.board {\\n border: solid 2px rgb(0,0,125);\\n background-color: #FEF1E6;\\n border-radius: 5px;\\n padding-top: 3em;\\n padding-bottom: 2em;\\n}\\n\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3Mvb3NtaXNtZXJrYS9vc21pc21lcmthLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLFlBQVk7SUFDWixVQUFVO0lBQ1Ysa0JBQWtCO0lBQ2xCLDhCQUE4QjtBQUNsQzs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIscUJBQXFCO0lBQ3JCLFVBQVU7SUFDVixrQkFBa0I7QUFDdEI7O0FBQ0E7SUFDSSxjQUFjO0lBQ2QsNkJBQTZCO0lBQzdCLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLDZCQUE2QjtJQUM3QixpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxhQUFhO0lBQ2Isa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQiwyQkFBMkI7SUFDM0IsMkJBQTJCO0lBQzNCLCtCQUErQjtJQUMvQiw4QkFBOEI7SUFDOUIsZ0NBQWdDO0lBQ2hDLDRCQUE0QjtBQUNoQzs7QUFFQTtJQUNJLGFBQWE7SUFDYixrQkFBa0I7SUFDbEIsa0JBQWtCO0lBQ2xCLDJCQUEyQjtJQUMzQiwyQkFBMkI7SUFDM0IsMEJBQTBCO0lBQzFCLDhCQUE4QjtJQUM5QixnQ0FBZ0M7SUFDaEMsNEJBQTRCO0lBQzVCLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsNkJBQTZCO0lBQzdCLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLDhCQUE4QjtBQUNsQzs7QUFFQTtJQUNJLDhCQUE4QjtJQUM5Qix5QkFBeUI7SUFDekIsa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQixtQkFBbUI7QUFDdkIiLCJmaWxlIjoic3JjL2FwcC90YXNrcy9vc21pc21lcmthL29zbWlzbWVya2EuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5maWVsZC1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBtYXJnaW46IGF1dG87XG4gICAgd2lkdGg6IDYwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uZmllbGQge1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgY29sb3I6IHJnYigwLDAsMTI1KTtcbiAgICBmb250LWZhbWlseTogXCJSb2JvdG9cIjtcbiAgICB3aWR0aDogMWVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5maWVsZC5jcm9zc2VkIHtcbiAgICBjb2xvcjogIzJFNDZGNTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmZpZWxkLnNlbGVjdGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAjRUU3NDFDO1xufVxuXG4ud29yZC5jcm9zc2VkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxubWF0LWNhcmQubWF0LWNhcmQucXVlc3Rpb24ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogZGFzaGVkIDJweCByZ2IoMCwwLDEyNSk7XG4gICAgY29sb3I6IHJnYigwLDAsMTI1KSAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcbn1cblxubWF0LWNhcmQubWF0LWNhcmQud29yZHMge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogZGFzaGVkIDJweCAjRUU3NDFDO1xuICAgIGNvbG9yOiByZ2IoMCwwLDEyNSkgIWltcG9ydGFudDtcbiAgICBmb250LWZhbWlseTogXCJSb2JvdG9cIiAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIHBhZGRpbmctbGVmdDogMTAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwJTtcbiAgICBtYXJnaW4tdG9wOiAyZW07XG59XG5cbm1hdC1jYXJkLm1hdC1jYXJkLndvcmRzLmRvbmUge1xuICAgIGJvcmRlcjogc29saWQgMnB4IHJnYigwLDAsMTI1KTtcbn1cblxuLmJvYXJkIHtcbiAgICBib3JkZXI6IHNvbGlkIDJweCByZ2IoMCwwLDEyNSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZFRjFFNjtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgcGFkZGluZy10b3A6IDNlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMmVtO1xufVxuXG4iXX0= */\"","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { TaskComponent } from '../task';\nimport * as _ from \"lodash\";\nimport { Observable, Subscription } from 'rxjs';\n\n\nexport declare type OsmismerkaData = {\n type?: string;\n question: string;\n words: string[];\n rows: string[];\n};\n\nexport interface Field {\n character: string;\n crossed: boolean;\n}\n\nexport interface Word {\n word: string;\n crossed: boolean;\n}\n\n@Component({\n selector: 'app-osmismerka',\n templateUrl: './osmismerka.component.html',\n styleUrls: ['./osmismerka.component.css']\n})\nexport class OsmismerkaComponent implements TaskComponent, OnInit {\n\n @Input() data: OsmismerkaData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n @Input() submitTask: Observable;\n private eventsSubscription: Subscription;\n public wordList: Word[] = []; \n public isAnswered: boolean = false;\n public fields: Field[][] = [];\n public selected: [number, number][] = [];\n \n constructor() { \n\n }\n\n ngOnInit() {\n this.eventsSubscription = this.submitTask.subscribe(() => this.send());\n this.fields = [];\n this.wordList = _.map(this.data.words, (word: string) => {\n return {\n word: word,\n crossed: false\n }\n });\n for(let row of this.data.rows) {\n let characters = row.split(\",\");\n this.fields.push(characters.map((val) => {\n return { \n character: val.trim(),\n selected: false,\n crossed: false\n }\n }));\n }\n }\n\n select(i, j) {\n this.selected.push([i, j]);\n }\n\n isSelected(i, j) {\n return !!_.find(this.selected, (val) => val[0] == i && val[1] == j);\n }\n\n send() {\n let sortedCells = _.sortBy(this.selected, [0, 1]);\n let word = _.map(sortedCells, (cell: [number, number]) => this.fields[cell[0]][cell[1]].character).join(\"\");\n let invertedWord = word.split(\"\").reverse().join(\"\");\n let wordIndex = _.findIndex(this.wordList, function(w: Word) { return w.word.replace(/ /g,\"\").toUpperCase() == word.toUpperCase() || w.word.replace(/ /g,\"\").toUpperCase() == invertedWord.toUpperCase() });\n if(wordIndex != -1) {\n for(let item of this.selected) {\n this.fields[item[0]][item[1]].crossed = true\n }\n this.wordList[wordIndex].crossed = true;\n } else {\n\n }\n this.selected = [];\n if(_.every(this.wordList, (word) => word.crossed)){\n this.taskSubmitted.emit(true);\n this.isAnswered = true;\n }\n }\n\n canSend(): boolean {\n if(this.selected.length == 0 || this.isAnswered) {\n return false;\n }\n if(_.every(this.selected, (coords:[number, number]) => {\n console.log(coords[0], _.first(this.selected)[0], coords[0] == _.first(this.selected)[0])\n let x = coords[0];\n let y = coords[1];\n let x0 = _.first(this.selected)[0];\n let y0 = _.first(this.selected)[1];\n return x == x0 || y == y0 || x + y == x0 + y0 || x - y == x0 - y0;\n })) {\n return true;\n }\n return false;\n }\n\n ngOnDestroy() {\n this.eventsSubscription.unsubscribe();\n }\n\n\n}\n","module.exports = \".main-container {\\n position: relative;\\n}\\n\\n.main-image {\\n height: 600px;\\n width: 600px;\\n}\\n\\n.pexeso-wrapper {\\n border: 1px solid black;\\n}\\n\\n.non-visible {\\n opacity: 0;\\n}\\n\\n.visible {\\n opacity: 1;\\n}\\n\\n.answered {\\n opacity: 1;\\n pointer-events: none;\\n}\\n\\n.pexeso-element {\\n height: 100%;\\n width: 100%;\\n background-color: white;\\n}\\n\\n.pexeso-container {\\n position: absolute;\\n display: grid;\\n top: 0;\\n}\\n\\np {\\n margin: 0;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvcGV4ZXNvL3BleGVzby5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0Usa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsYUFBYTtFQUNiLFlBQVk7QUFDZDs7QUFFQTtFQUNFLHVCQUF1QjtBQUN6Qjs7QUFFQTtFQUNFLFVBQVU7QUFDWjs7QUFFQTtFQUNFLFVBQVU7QUFDWjs7QUFFQTtFQUNFLFVBQVU7RUFDVixvQkFBb0I7QUFDdEI7O0FBRUE7RUFDRSxZQUFZO0VBQ1osV0FBVztFQUNYLHVCQUF1QjtBQUN6Qjs7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQixhQUFhO0VBQ2IsTUFBTTtBQUNSOztBQUVBO0VBQ0UsU0FBUztBQUNYIiwiZmlsZSI6InNyYy9hcHAvdGFza3MvcGV4ZXNvL3BleGVzby5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm1haW4tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubWFpbi1pbWFnZSB7XG4gIGhlaWdodDogNjAwcHg7XG4gIHdpZHRoOiA2MDBweDtcbn1cblxuLnBleGVzby13cmFwcGVyIHtcbiAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XG59XG5cbi5ub24tdmlzaWJsZSB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi52aXNpYmxlIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmFuc3dlcmVkIHtcbiAgb3BhY2l0eTogMTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5wZXhlc28tZWxlbWVudCB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuXG4ucGV4ZXNvLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgdG9wOiAwO1xufVxuXG5wIHtcbiAgbWFyZ2luOiAwO1xufVxuIl19 */\"","import { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\nimport { TaskComponent } from \"../task\";\nimport { Paragraph } from \"src/app/dvz/dikobraz-3d-tiskne-a-modeluje/models/task.model\";\nimport * as _ from \"lodash\";\n\ndeclare type Question = {\n pairId: number;\n isPicture: boolean;\n content: string;\n isSelected: boolean;\n isAnswered: boolean;\n};\n\nexport declare type PexesoData = {\n type?: string;\n isTimeMeasure?: boolean;\n question: Paragraph[];\n mainImageUrl: string;\n questions: {\n text: string;\n imageUrl: string;\n }[];\n};\n\n@Component({\n selector: \"app-pexeso\",\n templateUrl: \"./pexeso.component.html\",\n styleUrls: [\"./pexeso.component.css\"],\n})\nexport class PexesoComponent implements TaskComponent, OnInit {\n @Input() data: PexesoData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n\n public isAnswering: boolean = false;\n public isAnswered: boolean = false;\n public answeredQuestions: Question[] = [];\n public questions: Question[] = [];\n public size: number;\n public mainSize: number = 600;\n public cols: number;\n public startTime: number;\n public endTime: number;\n\n constructor() {}\n\n ngOnInit() {\n let i = 0;\n this.data.questions.forEach((question) => {\n this.questions.push({\n pairId: i,\n isPicture: true,\n content: question.imageUrl,\n isSelected: false,\n isAnswered: false,\n });\n this.questions.push({\n pairId: i,\n isPicture: false,\n content: question.text,\n isSelected: false,\n isAnswered: false,\n });\n i++;\n });\n this.questions = _.shuffle(this.questions);\n this.cols =\n this.data.questions.length / 2 === 1 ? 2 : this.data.questions.length / 2;\n this.size = this.mainSize / this.cols;\n if (this.data.isTimeMeasure) {\n this.startTime = new Date().getTime();\n }\n }\n\n flip(question: Question) {\n if (this.answeredQuestions.length === 2) {\n this.closeQuestions();\n }\n question.isSelected = true;\n this.answeredQuestions.push(question);\n if (this.answeredQuestions.length === 2) {\n this.checkAnswer();\n }\n }\n\n checkAnswer() {\n if (this.answeredQuestions[0].pairId === this.answeredQuestions[1].pairId) {\n this.answeredQuestions.forEach(\n (question) => (question.isAnswered = true)\n );\n }\n if (_.every(this.questions, { isAnswered: true })) {\n if (this.data.isTimeMeasure) {\n console.log(new Date().getTime() - this.startTime);\n }\n this.taskSubmitted.emit(true);\n this.isAnswered = true;\n }\n }\n\n closeQuestions() {\n this.answeredQuestions.forEach((question) => (question.isSelected = false));\n this.answeredQuestions = [];\n }\n\n setVisibility(question: Question) {\n if (question.isAnswered) {\n return \"answered\";\n } else if (question.isSelected) {\n return \"visible\";\n } else {\n return \"non-visible\";\n }\n }\n}\n","module.exports = \".main-container {\\n position: relative;\\n margin-bottom: 2em;\\n}\\n\\n.pexeso-wrapper {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n}\\n\\nmat-card.mat-card.question {\\n margin-top: 0;\\n margin-bottom: 1em;\\n border-radius: 5px;\\n box-shadow: none !important;\\n background: none !important;\\n border: dashed 2px rgb(0,0,125);\\n color: rgb(0,0,125) !important;\\n font-family: \\\"Roboto\\\" !important;\\n font-weight: bold !important;\\n}\\n\\n.play { cursor:pointer;\\n display: inline;\\n width: 3em;\\n vertical-align: middle;\\n}\\n\\n.non-visible {\\n opacity: 0;\\n}\\n\\n.visible {\\n opacity: 1;\\n}\\n\\n.answered {\\n opacity: 1;\\n}\\n\\n.pexeso-element {\\n height: 60%;\\n width: 60%;\\n background-color: white;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n}\\n\\n.pexeso-element img {\\n max-height: 100%;\\n max-width: 100%;\\n}\\n\\n.pexeso-element p {\\n font-size: 2em;\\n color: rgb(0, 0, 125);\\n font-family: 'Roboto';\\n font-weight: bold;\\n}\\n\\n.pexeso-container {\\n display: grid;\\n gap: 1em;\\n -webkit-column-gap: 0;\\n -moz-column-gap: 0;\\n column-gap: 0;\\n}\\n\\np {\\n margin: 0;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvcGV4ZXNvYXVkaW8vcGV4ZXNvYXVkaW8uY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGtCQUFrQjtFQUNsQixrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLGFBQWE7RUFDYixrQkFBa0I7RUFDbEIsa0JBQWtCO0VBQ2xCLDJCQUEyQjtFQUMzQiwyQkFBMkI7RUFDM0IsK0JBQStCO0VBQy9CLDhCQUE4QjtFQUM5QixnQ0FBZ0M7RUFDaEMsNEJBQTRCO0FBQzlCOztBQUVBLFFBQVEsY0FBYztFQUNwQixlQUFlO0VBQ2YsVUFBVTtFQUNWLHNCQUFzQjtBQUN4Qjs7QUFFQTtFQUNFLFVBQVU7QUFDWjs7QUFFQTtFQUNFLFVBQVU7QUFDWjs7QUFFQTtFQUNFLFVBQVU7QUFDWjs7QUFFQTtFQUNFLFdBQVc7RUFDWCxVQUFVO0VBQ1YsdUJBQXVCO0VBQ3ZCLGFBQWE7RUFDYix1QkFBdUI7RUFDdkIsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLGVBQWU7QUFDakI7O0FBRUE7RUFDRSxjQUFjO0VBQ2QscUJBQXFCO0VBQ3JCLHFCQUFxQjtFQUNyQixpQkFBaUI7QUFDbkI7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsUUFBUTtFQUNSLHFCQUFhO0tBQWIsa0JBQWE7VUFBYixhQUFhO0FBQ2Y7O0FBRUE7RUFDRSxTQUFTO0FBQ1giLCJmaWxlIjoic3JjL2FwcC90YXNrcy9wZXhlc29hdWRpby9wZXhlc29hdWRpby5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm1haW4tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAyZW07XG59XG5cbi5wZXhlc28td3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG5tYXQtY2FyZC5tYXQtY2FyZC5xdWVzdGlvbiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyOiBkYXNoZWQgMnB4IHJnYigwLDAsMTI1KTtcbiAgY29sb3I6IHJnYigwLDAsMTI1KSAhaW1wb3J0YW50O1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xufVxuXG4ucGxheSB7IGN1cnNvcjpwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHdpZHRoOiAzZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5ub24tdmlzaWJsZSB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi52aXNpYmxlIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmFuc3dlcmVkIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnBleGVzby1lbGVtZW50IHtcbiAgaGVpZ2h0OiA2MCU7XG4gIHdpZHRoOiA2MCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnBleGVzby1lbGVtZW50IGltZyB7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLnBleGVzby1lbGVtZW50IHAge1xuICBmb250LXNpemU6IDJlbTtcbiAgY29sb3I6IHJnYigwLCAwLCAxMjUpO1xuICBmb250LWZhbWlseTogJ1JvYm90byc7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ucGV4ZXNvLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogMWVtO1xuICBjb2x1bW4tZ2FwOiAwO1xufVxuXG5wIHtcbiAgbWFyZ2luOiAwO1xufVxuIl19 */\"","import { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\nimport { TaskComponent } from \"../task\";\nimport * as _ from \"lodash\";\nimport { Howl } from 'howler';\n\ndeclare type Question = {\n pairId: number;\n isPicture: boolean;\n audio?: Howl;\n content: string;\n isSelected: boolean;\n isAnswered: boolean;\n};\n\nexport declare type PexesoAudioData = {\n type?: string;\n question: string;\n questions: {\n text: string;\n imageUrl: string;\n audioUrl?: string;\n }[];\n};\n\n@Component({\n selector: \"app-pexesoaudio\",\n templateUrl: \"./pexesoaudio.component.html\",\n styleUrls: [\"./pexesoaudio.component.css\"],\n})\nexport class PexesoAudioComponent implements TaskComponent, OnInit {\n @Input() data: PexesoAudioData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n public pairs: Question[][] = [];\n public isAnswering: boolean = false;\n public isAnswered: boolean = false;\n public answeredQuestions: Question[] = [];\n public questions: Question[] = [];\n public cols: number;\n\n constructor() {}\n\n ngOnInit() {\n let i = 0;\n this.data.questions.forEach((question) => {\n this.questions.push({\n pairId: i,\n isPicture: true,\n content: question.imageUrl,\n audio: question.audioUrl ? new Howl({\n src: [ question.audioUrl ]\n }) : null,\n isSelected: false,\n isAnswered: false,\n });\n this.questions.push({\n pairId: i,\n isPicture: false,\n content: question.text,\n isSelected: false,\n isAnswered: false,\n });\n i++;\n });\n this.questions = _.shuffle(this.questions);\n this.cols = this.data.questions.length === 6 ? 3 : this.data.questions.length === 8 ? 4 : this.data.questions.length;\n if(this.cols > 4) {\n this.cols = 4;\n }\n console.log(this.cols)\n this.taskSubmitted.emit(true);\n }\n\n flip(question: Question) {\n if (this.answeredQuestions.length === 2) {\n this.closeQuestions();\n }\n if(question.isAnswered || question.isSelected) {\n return;\n }\n question.isSelected = true;\n this.answeredQuestions.push(question);\n if (this.answeredQuestions.length === 2) {\n this.checkAnswer();\n }\n }\n\n checkAnswer() {\n if (this.answeredQuestions[0].pairId === this.answeredQuestions[1].pairId) {\n this.answeredQuestions.forEach(\n (question) => (question.isAnswered = true)\n );\n }\n }\n\n closeQuestions() {\n if (_.every(this.questions, (question) => question == null)) {\n this.taskSubmitted.emit(true);\n this.isAnswered = true;\n }\n this.answeredQuestions.forEach((question) => (question.isSelected = false));\n this.answeredQuestions = [];\n }\n}\n","module.exports = \".main-container {\\n position: relative;\\n}\\n\\n.main-image {\\n height: 600px;\\n width: 600px;\\n}\\n\\n.pexeso-wrapper {\\n border: 1px solid black;\\n}\\n\\n.non-visible {\\n opacity: 0;\\n}\\n\\n.visible {\\n opacity: 1;\\n}\\n\\n.answered {\\n opacity: 1;\\n pointer-events: none;\\n}\\n\\n.pexeso-element {\\n height: 100%;\\n width: 100%;\\n background-color: white;\\n}\\n\\n.pexeso-container {\\n position: absolute;\\n display: grid;\\n top: 0;\\n}\\n\\np {\\n margin: 0;\\n}\\n\\n.correct {\\n color: green;\\n}\\n\\n.incorrect {\\n color: red;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvcGV4ZXNvZmlsbC9wZXhlc29maWxsLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsWUFBWTtBQUNkOztBQUVBO0VBQ0UsdUJBQXVCO0FBQ3pCOztBQUVBO0VBQ0UsVUFBVTtBQUNaOztBQUVBO0VBQ0UsVUFBVTtBQUNaOztBQUVBO0VBQ0UsVUFBVTtFQUNWLG9CQUFvQjtBQUN0Qjs7QUFFQTtFQUNFLFlBQVk7RUFDWixXQUFXO0VBQ1gsdUJBQXVCO0FBQ3pCOztBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLGFBQWE7RUFDYixNQUFNO0FBQ1I7O0FBRUE7RUFDRSxTQUFTO0FBQ1g7O0FBRUE7RUFDRSxZQUFZO0FBQ2Q7O0FBRUE7RUFDRSxVQUFVO0FBQ1oiLCJmaWxlIjoic3JjL2FwcC90YXNrcy9wZXhlc29maWxsL3BleGVzb2ZpbGwuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5tYWluLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm1haW4taW1hZ2Uge1xuICBoZWlnaHQ6IDYwMHB4O1xuICB3aWR0aDogNjAwcHg7XG59XG5cbi5wZXhlc28td3JhcHBlciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xufVxuXG4ubm9uLXZpc2libGUge1xuICBvcGFjaXR5OiAwO1xufVxuXG4udmlzaWJsZSB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5hbnN3ZXJlZCB7XG4gIG9wYWNpdHk6IDE7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ucGV4ZXNvLWVsZW1lbnQge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cblxuLnBleGVzby1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHRvcDogMDtcbn1cblxucCB7XG4gIG1hcmdpbjogMDtcbn1cblxuLmNvcnJlY3Qge1xuICBjb2xvcjogZ3JlZW47XG59XG5cbi5pbmNvcnJlY3Qge1xuICBjb2xvcjogcmVkO1xufVxuIl19 */\"","import { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\nimport { TaskComponent } from \"../task\";\nimport { Paragraph } from \"src/app/dvz/dikobraz-3d-tiskne-a-modeluje/models/task.model\";\nimport * as _ from \"lodash\";\nimport { compareStrings } from \"@shared/utilities/compare-strings\";\n\ndeclare type Question = {\n pairId: number;\n isPicture: boolean;\n content: string;\n isSelected: boolean;\n isAnswered: boolean;\n answer: string;\n isCorrect: boolean;\n input: string;\n};\n\nexport declare type PexesoFillData = {\n type?: string;\n isTimeMeasure?: boolean;\n question: Paragraph[];\n mainImageUrl: string;\n isFrKey?: boolean;\n questions: {\n answer: string;\n imageUrl: string;\n }[];\n};\n\n@Component({\n selector: \"app-pexesofill\",\n templateUrl: \"./pexesofill.component.html\",\n styleUrls: [\"./pexesofill.component.css\"],\n})\nexport class PexesoFillComponent implements TaskComponent, OnInit {\n @Input() data: PexesoFillData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n\n public isAnswering: boolean = false;\n public isAnswered: boolean = false;\n public answeredQuestions: Question[] = [];\n public questions: Question[] = [];\n public size: number;\n public mainSize: number = 600;\n public cols: number;\n public startTime: number;\n public endTime: number;\n public focusTarget: { target: any; index: number };\n\n constructor() {}\n\n ngOnInit() {\n let i = 0;\n this.data.questions.forEach((question) => {\n this.questions.push({\n pairId: i,\n isPicture: true,\n content: question.imageUrl,\n isSelected: false,\n isAnswered: false,\n isCorrect: false,\n answer: question.answer,\n input: \"\",\n });\n i++;\n });\n this.questions = _.shuffle(this.questions);\n this.cols = Math.sqrt(this.data.questions.length);\n\n this.size = this.mainSize / this.cols;\n if (this.data.isTimeMeasure) {\n this.startTime = new Date().getTime();\n }\n }\n\n flip(question: Question) {\n this.closeQuestions();\n question.isSelected = true;\n }\n\n checkAnswer(question: Question) {\n question.isCorrect = compareStrings(question.answer, question.input);\n question.isAnswered = true;\n if (_.every(this.questions, { isAnswered: true })) {\n if (this.data.isTimeMeasure) {\n console.log(new Date().getTime() - this.startTime);\n }\n this.taskSubmitted.emit(_.every(this.questions, { isCorrect: true }));\n this.isAnswered = true;\n }\n }\n\n onKey(event: any, index: number) {\n this.questions[index].input = event.target.value;\n }\n\n onClick($event: { value: string }) {\n this.focusTarget.target.value += $event.value;\n this.onKey(this.focusTarget, this.focusTarget.index);\n }\n\n onFocusEvent(event: any, i: number) {\n this.focusTarget = { target: event.target, index: i };\n }\n\n setColor(question: Question) {\n if (!question.isAnswered) {\n return \"\";\n }\n if (question.isCorrect) {\n return \"correct\";\n } else {\n return \"incorrect\";\n }\n }\n\n closeQuestions() {\n this.questions.forEach((question) => {\n if (!question.isAnswered) question.isSelected = false;\n });\n }\n\n setVisibility(question: Question) {\n if (question.isAnswered) {\n return \"answered\";\n } else if (question.isSelected) {\n return \"visible\";\n } else {\n return \"non-visible\";\n }\n }\n}\n","module.exports = \".answer {\\n margin: 1rem;\\n height: 1.5em;\\n border: black solid 1px;\\n}\\n\\n.answer.correct {\\n color: #2346F5;\\n font-weight: bold;\\n}\\n\\n.answer.incorrect {\\n color: #F2923D;\\n text-decoration: line-through;\\n}\\n\\n.correct-answer {\\n font-style: italic;\\n}\\n\\n.text-image {\\n height: 7rem;\\n width: 7rem;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvcGljdHVyZW11bHRpaW5zZXJ0L3BpY3R1cmVtdWx0aWluc2VydC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsWUFBWTtFQUNaLGFBQWE7RUFDYix1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSxjQUFjO0VBQ2QsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0UsY0FBYztFQUNkLDZCQUE2QjtBQUMvQjs7QUFFQTtFQUNFLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLFlBQVk7RUFDWixXQUFXO0FBQ2IiLCJmaWxlIjoic3JjL2FwcC90YXNrcy9waWN0dXJlbXVsdGlpbnNlcnQvcGljdHVyZW11bHRpaW5zZXJ0LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuYW5zd2VyIHtcbiAgbWFyZ2luOiAxcmVtO1xuICBoZWlnaHQ6IDEuNWVtO1xuICBib3JkZXI6IGJsYWNrIHNvbGlkIDFweDtcbn1cblxuLmFuc3dlci5jb3JyZWN0IHtcbiAgY29sb3I6ICMyMzQ2RjU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uYW5zd2VyLmluY29ycmVjdCB7XG4gIGNvbG9yOiAjRjI5MjNEO1xuICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbn1cblxuLmNvcnJlY3QtYW5zd2VyIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4udGV4dC1pbWFnZSB7XG4gIGhlaWdodDogN3JlbTtcbiAgd2lkdGg6IDdyZW07XG59XG4iXX0= */\"","import {\n Component,\n OnInit,\n Input,\n Output,\n EventEmitter,\n Inject,\n ViewEncapsulation,\n ChangeDetectorRef,\n} from \"@angular/core\";\nimport { TaskComponent } from \"../task\";\nimport { DOCUMENT } from \"@angular/common\";\nimport * as _ from \"lodash\";\nimport { matchAll } from \"@shared/utilities\";\nimport { compareStringAndArray } from \"@shared/utilities/compare-strings\";\nimport { Paragraph } from \"src/app/dvz/dikobraz-se-uci-anglicky/models/task.model\";\n\ndeclare type Image = {\n imageUrl: string;\n rowScheme: string;\n};\n\nexport declare type PicturemultiinsertData = {\n type?: string;\n question: Paragraph[];\n images: Image[];\n};\n\n@Component({\n selector: \"app-picturemultiinsert\",\n templateUrl: \"./picturemultiinsert.component.html\",\n styleUrls: [\"./picturemultiinsert.component.css\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class PicturemultiinsertComponent implements TaskComponent, OnInit {\n @Input() data: PicturemultiinsertData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n private document;\n public isAnswered = false;\n public isEnd = false;\n public isCorrect: boolean[] = [];\n public filledTemplate = \"\";\n public questions: {\n correct: string[];\n hint: string;\n id: string;\n }[] = [];\n public currentImage: Image;\n public currentIndex: number = 0;\n\n constructor(\n @Inject(DOCUMENT) document,\n private changeRef: ChangeDetectorRef\n ) {\n this.document = document;\n }\n\n ngOnInit() {\n this.currentImage = this.data.images[0];\n this.createGaps();\n }\n\n next() {\n this.isAnswered = false;\n this.currentIndex++;\n this.currentImage = this.data.images[this.currentIndex];\n if (!this.data.images[this.currentIndex + 1]) {\n this.isEnd = true;\n }\n this.createGaps();\n }\n\n submit() {\n for (let answerIndex in this.questions) {\n let answer = this.questions[answerIndex];\n let userAnswer: string = this.getAnswer(parseInt(answerIndex));\n this.isCorrect.push(compareStringAndArray(userAnswer, answer.correct));\n let inputEl = this.document.getElementById(\n this.questions[answerIndex].id\n );\n const newEl = this.document.createElement(\"span\");\n newEl.classList.add(\n compareStringAndArray(userAnswer, answer.correct)\n ? \"correct\"\n : \"incorrect\",\n \"answer\"\n );\n newEl.innerHTML = userAnswer;\n if (this.questions[answerIndex].hint) {\n inputEl.parentNode.removeChild(inputEl.nextSibling);\n }\n inputEl.parentNode.replaceChild(newEl, inputEl);\n if (!compareStringAndArray(userAnswer, answer.correct)) {\n const correctAnswer = this.document.createElement(\"span\");\n correctAnswer.classList.add(\"correct-answer\");\n correctAnswer.innerHTML =\n \"( správná odpověď: \" + answer.correct.join(\", \") + \")\";\n newEl.parentNode.insertBefore(correctAnswer, newEl.nextSibling);\n }\n }\n if (this.isEnd) {\n if (_.every(this.isCorrect)) {\n this.taskSubmitted.emit(true);\n } else {\n this.taskSubmitted.emit(false);\n }\n }\n this.isAnswered = true;\n }\n\n getAnswer(id: number) {\n if (!this.document.getElementById(this.questions[id].id)) {\n return null;\n }\n this.document.getElementById(this.questions[id].id).onchange = (e) => {\n if (this.changeRef) {\n this.changeRef.detectChanges();\n }\n };\n return this.document.getElementById(this.questions[id].id).value;\n }\n\n isAllFilled() {\n let allFilled = true;\n if (!this.data) {\n return false;\n }\n for (let answerIndex in this.questions) {\n if (!this.getAnswer(parseInt(answerIndex))) {\n allFilled = false;\n }\n }\n return allFilled;\n }\n\n createGaps() {\n let template: string;\n template = this.currentImage.rowScheme;\n this.questions = [];\n let gapMatches = matchAll(/\\{#INSERT:([^}*]+)\\}/g, template);\n for (let i in gapMatches) {\n let questionTemplate = gapMatches[i][0]\n .replace(\"{#INSERT:\", \"\")\n .replace(\"}\", \"\");\n let correct = questionTemplate.split(\":\")[0].split(\",\");\n let hint =\n questionTemplate.split(\":\").length > 1\n ? `(${questionTemplate.split(\":\")[1]})`\n : \"\";\n this.questions.push({\n correct: correct.map((correct: string) => correct.trim()),\n hint: hint,\n id: \"insert-\" + i,\n });\n }\n let gappedText = template;\n for (let i in this.questions) {\n const hint = `${this.questions[i].hint}`;\n gappedText = gappedText.replace(\n gapMatches[i][0],\n '' +\n \"\" +\n hint.trim() +\n \"\"\n );\n }\n this.filledTemplate = gappedText;\n }\n}\n","module.exports = \".option {\\n display: flex;\\n}\\n\\n.answer {\\n margin: 1rem;\\n height: 1.5em;\\n border: black solid 1px;\\n}\\n\\n.correct {\\n color: green;\\n}\\n\\n.incorrect {\\n color: red;\\n}\\n\\n.correct-answer {\\n font-style: italic;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvcmFuZG9td2hlZWwvcmFuZG9td2hlZWwuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGFBQWE7QUFDZjs7QUFFQTtFQUNFLFlBQVk7RUFDWixhQUFhO0VBQ2IsdUJBQXVCO0FBQ3pCOztBQUVBO0VBQ0UsWUFBWTtBQUNkOztBQUVBO0VBQ0UsVUFBVTtBQUNaOztBQUVBO0VBQ0Usa0JBQWtCO0FBQ3BCIiwiZmlsZSI6InNyYy9hcHAvdGFza3MvcmFuZG9td2hlZWwvcmFuZG9td2hlZWwuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5vcHRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uYW5zd2VyIHtcbiAgbWFyZ2luOiAxcmVtO1xuICBoZWlnaHQ6IDEuNWVtO1xuICBib3JkZXI6IGJsYWNrIHNvbGlkIDFweDtcbn1cblxuLmNvcnJlY3Qge1xuICBjb2xvcjogZ3JlZW47XG59XG5cbi5pbmNvcnJlY3Qge1xuICBjb2xvcjogcmVkO1xufVxuXG4uY29ycmVjdC1hbnN3ZXIge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG4iXX0= */\"","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewEncapsulation,\n} from \"@angular/core\";\nimport { compareStringAndArray } from \"@shared/utilities/compare-strings\";\nimport * as _ from \"lodash\";\nimport { Paragraph } from \"src/app/dvz/dikobraz-3d-tiskne-a-modeluje/models/task.model\";\n\ndeclare type RandomwheelOption = {\n image: string;\n text: string;\n};\n\nexport declare type RandomwheelData = {\n type?: string;\n question: Paragraph[];\n options: RandomwheelOption[];\n};\n\n@Component({\n selector: \"app-randomwheel\",\n templateUrl: \"./randomwheel.component.html\",\n styleUrls: [\"./randomwheel.component.css\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class RandomwheelComponent implements OnInit {\n @Input() data: RandomwheelData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n _ = _;\n public options: RandomwheelOption[] = [];\n public currentOption: RandomwheelOption;\n public currentIndex: number = -1;\n public isStarted: boolean = false;\n public isAnswered: boolean = false;\n\n constructor() {}\n\n ngOnInit() {\n this.options = _.shuffle(this.data.options);\n }\n\n next() {\n this.isStarted = true;\n this.currentIndex++;\n this.currentOption = undefined;\n setTimeout(() => {\n this.currentOption = this.options[this.currentIndex];\n }, 1000);\n if (!this.options[this.currentIndex + 1]) {\n this.isAnswered = true;\n }\n }\n\n submit() {\n this.taskSubmitted.emit(true);\n }\n}\n","module.exports = \".example-radio-group {\\n display: flex;\\n flex-direction: column;\\n margin: 15px 0;\\n }\\n .example-radio-button {\\n margin: 5px;\\n }\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3Mvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixjQUFjO0VBQ2hCO0VBQ0E7SUFDRSxXQUFXO0VBQ2IiLCJmaWxlIjoic3JjL2FwcC90YXNrcy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZXhhbXBsZS1yYWRpby1ncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbjogMTVweCAwO1xuICB9XG4gIC5leGFtcGxlLXJhZGlvLWJ1dHRvbiB7XG4gICAgbWFyZ2luOiA1cHg7XG4gIH0iXX0= */\"","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { TaskComponent } from '../task';\n\nexport declare type SelectData = {\n type?: string;\n question: string;\n options: string[];\n correct: string;\n};\n\n@Component({\n selector: 'app-select',\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.css']\n})\nexport class SelectComponent implements TaskComponent, OnInit {\n\n @Input() data: SelectData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n public answer: string;\n public isAnswered: boolean = false;\n \n constructor() { }\n\n ngOnInit() {\n }\n\n submit() {\n if(this.answer == this.data.correct) {\n this.taskSubmitted.emit(true);\n } else {\n this.taskSubmitted.emit(false);\n }\n this.isAnswered = true;\n }\n\n}\n","module.exports = \".image-button {\\n min-height: 100px;\\n min-width: 100px; \\n background-size: contain !important;\\n background-repeat: no-repeat !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3Mvc2luZ2xlYXVkaW9pbWFnZS9zaW5nbGVhdWRpb2ltYWdlLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLG1DQUFtQztJQUNuQyx1Q0FBdUM7QUFDM0MiLCJmaWxlIjoic3JjL2FwcC90YXNrcy9zaW5nbGVhdWRpb2ltYWdlL3NpbmdsZWF1ZGlvaW1hZ2UuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5pbWFnZS1idXR0b24ge1xuICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICAgIG1pbi13aWR0aDogMTAwcHg7ICAgIFxuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbiAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQgIWltcG9ydGFudDtcbn0iXX0= */\"","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { TaskComponent } from '../task';\nimport * as _ from \"lodash\";\nimport { Howl } from 'howler';\n\n\nexport declare type SingleaudioImageData = {\n type?: string;\n question: string;\n audio: string | Howl;\n options: SingleaudioImageOption[];\n};\n\nexport interface SingleaudioImageOption {\n image: string;\n correct: boolean;\n}\n\n@Component({\n selector: 'app-singleaudioimage',\n templateUrl: './singleaudioimage.component.html',\n styleUrls: ['./singleaudioimage.component.css']\n})\nexport class SingleAudioImageComponent implements TaskComponent, OnInit {\n\n @Input() data: SingleaudioImageData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n public answer: boolean[];\n public isCorrect: boolean[];\n public isAnswered: boolean = false;\n \n constructor() { \n\n }\n\n ngOnInit() {\n if(!this.answer) {\n this.answer = new Array(this.data.options.length).fill(false);\n }\n this.data.audio = new Howl({\n src: [ this.data.audio ]\n });\n }\n\n submit(i) {\n this.answer[i] = true;\n this.isCorrect = [];\n for(let answerIndex in this.answer) {\n this.isCorrect.push(this.answer[answerIndex] == this.data.options[answerIndex].correct);\n }\n this.taskSubmitted.emit(_.every(this.isCorrect));\n this.isAnswered = true;\n }\n\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3Rhc2tzL3NpbmdsZWF1ZGlvdGV4dC9zaW5nbGVhdWRpb3RleHQuY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { TaskComponent } from '../task';\nimport * as _ from \"lodash\";\nimport { Howl } from 'howler';\n\n\nexport declare type SingleaudioTextData = {\n type?: string;\n question: string;\n audio: string | Howl;\n options: SingleaudioTextOption[];\n};\n\nexport interface SingleaudioTextOption {\n text: string;\n correct: boolean;\n}\n\n@Component({\n selector: 'app-singleaudiotext',\n templateUrl: './singleaudiotext.component.html',\n styleUrls: ['./singleaudiotext.component.css']\n})\nexport class SingleAudioTextComponent implements TaskComponent, OnInit {\n\n @Input() data: SingleaudioTextData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n public answer: boolean[];\n public isCorrect: boolean[];\n public isAnswered: boolean = false;\n \n constructor() { \n\n }\n\n ngOnInit() {\n if(!this.answer) {\n this.answer = new Array(this.data.options.length).fill(false);\n }\n this.data.audio = new Howl({\n src: [ this.data.audio ]\n });\n }\n\n submit(i) {\n this.answer[i] = true;\n this.isCorrect = [];\n for(let answerIndex in this.answer) {\n this.isCorrect.push(this.answer[answerIndex] == this.data.options[answerIndex].correct);\n }\n this.taskSubmitted.emit(_.every(this.isCorrect));\n this.isAnswered = true;\n }\n\n\n}\n","module.exports = \".example-radio-group {\\n display: flex;\\n flex-direction: column;\\n margin: 15px 1.5em;\\n}\\n.example-radio-button {\\n margin: 5px;\\n}\\n.example-radio-button img {\\n display: block;\\n margin-left: auto;\\n margin-right: auto;\\n width: 40%;\\n margin-top: 2em;\\n}\\n::ng-deep .mat-radio-inner-circle, ::ng-deep .mat-radio-ripple .mat-ripple-element {\\n background-color: rgb(0, 0, 125) !important;\\n}\\n::ng-deep .mat-radio-outer-circle {\\n border-color: rgb(0, 0, 125) !important;\\n}\\n::ng-deep .mat-radio-label-content {\\n color: rgb(0, 0, 125) !important;\\n white-space: normal !important;\\n}\\n::ng-deep .mat-radio-label-content .answered.correct{\\n color: #2346F5;\\n font-weight: bold;\\n}\\n::ng-deep .mat-radio-label-content .answered.selected:not(.correct) {\\n color: #F2923D;\\n text-decoration: line-through;\\n}\\n.sc-option {\\n font-weight: normal !important;\\n}\\n::ng-deep .sc-description {\\n font-weight: bold !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3Mvc2luZ2xlY2hvaWNlL3NpbmdsZWNob2ljZS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixrQkFBa0I7QUFDcEI7QUFDQTtFQUNFLFdBQVc7QUFDYjtBQUVBO0VBQ0UsY0FBYztFQUNkLGlCQUFpQjtFQUNqQixrQkFBa0I7RUFDbEIsVUFBVTtFQUNWLGVBQWU7QUFDakI7QUFFQTtFQUNFLDJDQUEyQztBQUM3QztBQUVBO0VBQ0UsdUNBQXVDO0FBQ3pDO0FBRUE7RUFDRSxnQ0FBZ0M7RUFDaEMsOEJBQThCO0FBQ2hDO0FBRUE7RUFDRSxjQUFjO0VBQ2QsaUJBQWlCO0FBQ25CO0FBQ0E7RUFDRSxjQUFjO0VBQ2QsNkJBQTZCO0FBQy9CO0FBRUE7RUFDRSw4QkFBOEI7QUFDaEM7QUFFQTtFQUNFLDRCQUE0QjtBQUM5QiIsImZpbGUiOiJzcmMvYXBwL3Rhc2tzL3NpbmdsZWNob2ljZS9zaW5nbGVjaG9pY2UuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5leGFtcGxlLXJhZGlvLWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAxNXB4IDEuNWVtO1xufVxuLmV4YW1wbGUtcmFkaW8tYnV0dG9uIHtcbiAgbWFyZ2luOiA1cHg7XG59XG5cbi5leGFtcGxlLXJhZGlvLWJ1dHRvbiBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgd2lkdGg6IDQwJTtcbiAgbWFyZ2luLXRvcDogMmVtO1xufVxuXG46Om5nLWRlZXAgLm1hdC1yYWRpby1pbm5lci1jaXJjbGUsIDo6bmctZGVlcCAubWF0LXJhZGlvLXJpcHBsZSAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsIDAsIDEyNSkgIWltcG9ydGFudDtcbn1cblxuOjpuZy1kZWVwIC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMCwgMCwgMTI1KSAhaW1wb3J0YW50O1xufVxuXG46Om5nLWRlZXAgLm1hdC1yYWRpby1sYWJlbC1jb250ZW50IHtcbiAgY29sb3I6IHJnYigwLCAwLCAxMjUpICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDtcbn1cblxuOjpuZy1kZWVwIC5tYXQtcmFkaW8tbGFiZWwtY29udGVudCAuYW5zd2VyZWQuY29ycmVjdHtcbiAgY29sb3I6ICMyMzQ2RjU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuOjpuZy1kZWVwIC5tYXQtcmFkaW8tbGFiZWwtY29udGVudCAuYW5zd2VyZWQuc2VsZWN0ZWQ6bm90KC5jb3JyZWN0KSB7XG4gIGNvbG9yOiAjRjI5MjNEO1xuICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbn1cblxuLnNjLW9wdGlvbiB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbn1cblxuOjpuZy1kZWVwIC5zYy1kZXNjcmlwdGlvbiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7XG59Il19 */\"","import { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\nimport { Observable, Subscription } from \"rxjs\";\nimport { TaskComponent } from \"../task\";\nimport * as _ from \"lodash\";\n\nexport declare type SinglechoiceData = {\n type?: string;\n question: string;\n options: string[];\n images: string[];\n correct: string;\n};\n\n@Component({\n selector: \"app-singlechoice\",\n templateUrl: \"./singlechoice.component.html\",\n styleUrls: [\"./singlechoice.component.css\"],\n})\nexport class SinglechoiceComponent implements TaskComponent, OnInit {\n @Input() data: SinglechoiceData;\n @Input() submitTask: Observable;\n private eventsSubscription: Subscription;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n public answer: string;\n public isAnswered: boolean = false;\n public options: string[];\n\n constructor() {}\n\n ngOnInit() {\n this.eventsSubscription = this.submitTask.subscribe(() => this.submit())\n this.options = _.shuffle(this.data.options)\n }\n\n getImage(option: string) {\n if(!this.data.images || this.data.images.length == 0) {\n return null;\n }\n return this.data.images[this.data.options.indexOf(option)];\n }\n\n submit() {\n if (this.answer == this.data.correct) {\n this.taskSubmitted.emit(true);\n } else {\n this.taskSubmitted.emit(false);\n }\n this.isAnswered = true;\n }\n\n ngOnDestroy() {\n this.eventsSubscription.unsubscribe();\n }\n\n}\n","module.exports = \".answer.correct {\\n color: #2346F5;\\n font-weight: bold;\\n}\\n\\n.answer.incorrect {\\n color: #F2923D;\\n text-decoration: line-through;\\n}\\n\\n.correct-answer {\\n font-style: italic;\\n}\\n\\n.options-list {\\n margin-top: 50px;\\n border: black solid 1px;\\n height: 15rem;\\n width: 15rem;\\n}\\n\\n.drag-in-box {\\n display: inline-block;\\n margin: 1rem;\\n min-height: 1.5em;\\n width: 60px;\\n border: black solid 1px;\\n}\\n\\n.row {\\n display: flex;\\n flex-direction: row;\\n gap: 5px;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3Mvc29ydGluZ3ZlcmJzL3NvcnRpbmd2ZXJicy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsY0FBYztFQUNkLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLGNBQWM7RUFDZCw2QkFBNkI7QUFDL0I7O0FBQ0E7RUFDRSxrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsdUJBQXVCO0VBQ3ZCLGFBQWE7RUFDYixZQUFZO0FBQ2Q7O0FBRUE7RUFDRSxxQkFBcUI7RUFDckIsWUFBWTtFQUNaLGlCQUFpQjtFQUNqQixXQUFXO0VBQ1gsdUJBQXVCO0FBQ3pCOztBQUVBO0VBQ0UsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQixRQUFRO0FBQ1YiLCJmaWxlIjoic3JjL2FwcC90YXNrcy9zb3J0aW5ndmVyYnMvc29ydGluZ3ZlcmJzLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuYW5zd2VyLmNvcnJlY3Qge1xuICBjb2xvcjogIzIzNDZGNTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5hbnN3ZXIuaW5jb3JyZWN0IHtcbiAgY29sb3I6ICNGMjkyM0Q7XG4gIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xufVxuLmNvcnJlY3QtYW5zd2VyIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4ub3B0aW9ucy1saXN0IHtcbiAgbWFyZ2luLXRvcDogNTBweDtcbiAgYm9yZGVyOiBibGFjayBzb2xpZCAxcHg7XG4gIGhlaWdodDogMTVyZW07XG4gIHdpZHRoOiAxNXJlbTtcbn1cblxuLmRyYWctaW4tYm94IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDFyZW07XG4gIG1pbi1oZWlnaHQ6IDEuNWVtO1xuICB3aWR0aDogNjBweDtcbiAgYm9yZGVyOiBibGFjayBzb2xpZCAxcHg7XG59XG5cbi5yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBnYXA6IDVweDtcbn1cbiJdfQ== */\"","import {\n Component,\n EventEmitter,\n Input,\n Output,\n ViewEncapsulation,\n} from \"@angular/core\";\nimport * as _ from \"lodash\";\nimport {\n CdkDragDrop,\n moveItemInArray,\n transferArrayItem,\n} from \"@angular/cdk/drag-drop\";\nimport { TaskComponent } from \"../task\";\n\ndeclare type Verb = {\n firstForm: string;\n secondForm: string;\n thirdForm: string;\n};\n\nexport declare type SortingverbsData = {\n type?: string;\n question: string;\n verbs: Verb[];\n};\n\n@Component({\n selector: \"app-sortingverbs\",\n templateUrl: \"./sortingverbs.component.html\",\n styleUrls: [\"./sortingverbs.component.css\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class SortingverbsComponent implements TaskComponent {\n @Input() data: SortingverbsData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n public dragIns: string[][][] = [];\n public isAnswered: boolean = false;\n public shuffledOptions: string[] = [];\n public options: string[] = [];\n public selectedVerbs: Verb[] = [];\n public isCorrect = false;\n\n constructor() {}\n\n ngOnInit() {\n this.options = [];\n const verbs: Verb[] = _.shuffle(this.data.verbs);\n for (let i = 0; i < 10; i++) {\n if (verbs[i]) {\n this.selectedVerbs.push(verbs[i]);\n this.dragIns[i] = [[], [], []];\n this.options.push(\n verbs[i].firstForm,\n verbs[i].secondForm,\n verbs[i].thirdForm\n );\n }\n }\n this.shuffledOptions = _.shuffle(this.options);\n }\n\n drop(event: CdkDragDrop) {\n if (!this.isAnswered) {\n if (\n event.container.id === \"options\" ||\n event.previousContainer.id === \"options\"\n ) {\n if (event.previousContainer === event.container) {\n moveItemInArray(\n event.container.data,\n event.previousIndex,\n event.currentIndex\n );\n } else {\n if (event.container.data.length == 0) {\n transferArrayItem(\n event.previousContainer.data,\n event.container.data,\n event.previousIndex,\n event.currentIndex\n );\n }\n }\n } else {\n if (event.container.data.length !== 0) {\n transferArrayItem(\n event.previousContainer.data,\n event.container.data,\n 0,\n 0\n );\n transferArrayItem(\n event.container.data,\n event.previousContainer.data,\n 1,\n 0\n );\n } else {\n transferArrayItem(\n event.previousContainer.data,\n event.container.data,\n event.previousIndex,\n event.currentIndex\n );\n }\n }\n }\n }\n\n setColor(word, i, j) {\n if (!this.isAnswered) {\n return \"\";\n }\n if (word === this.selectedVerbs[i][this.mapToProp(j)]) {\n return \"correct\";\n } else {\n return \"incorrect\";\n }\n }\n\n mapToProp(i: number): string {\n switch (i) {\n case 0:\n return \"firstForm\";\n case 1:\n return \"secondForm\";\n case 2:\n return \"thirdForm\";\n }\n }\n\n submit() {\n const isCorrect: boolean[] = [];\n for (let i in this.selectedVerbs) {\n for (let j in this.dragIns[i]) {\n const correct =\n this.selectedVerbs[i][this.mapToProp(Number(j))] ===\n this.dragIns[i][j][0];\n isCorrect.push(correct);\n }\n }\n this.isCorrect = _.every(isCorrect);\n if (this.isCorrect) {\n this.taskSubmitted.emit(true);\n } else {\n this.taskSubmitted.emit(false);\n }\n this.isAnswered = true;\n }\n}\n","module.exports = \".option {\\n display: flex;\\n flex-direction: column;\\n}\\n\\n.correct {\\n color: green;\\n}\\n\\n.incorrect {\\n color: red;\\n}\\n\\n.correct-answer {\\n font-style: italic;\\n}\\n\\n.options-list {\\n margin-top: 50px;\\n border: black solid 1px;\\n min-height: 1.5em;\\n width: 70px;\\n}\\n\\n.drag-in-box {\\n display: inline-block;\\n margin: 1rem;\\n min-height: 1.5em;\\n width: 60px;\\n border: black solid 1px;\\n}\\n\\n.row {\\n display: flex;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3Mvc29ydGluZ3dvcmRzL3NvcnRpbmd3b3Jkcy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBYTtFQUNiLHNCQUFzQjtBQUN4Qjs7QUFFQTtFQUNFLFlBQVk7QUFDZDs7QUFFQTtFQUNFLFVBQVU7QUFDWjs7QUFFQTtFQUNFLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQix1QkFBdUI7RUFDdkIsaUJBQWlCO0VBQ2pCLFdBQVc7QUFDYjs7QUFFQTtFQUNFLHFCQUFxQjtFQUNyQixZQUFZO0VBQ1osaUJBQWlCO0VBQ2pCLFdBQVc7RUFDWCx1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSxhQUFhO0FBQ2YiLCJmaWxlIjoic3JjL2FwcC90YXNrcy9zb3J0aW5nd29yZHMvc29ydGluZ3dvcmRzLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIub3B0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmNvcnJlY3Qge1xuICBjb2xvcjogZ3JlZW47XG59XG5cbi5pbmNvcnJlY3Qge1xuICBjb2xvcjogcmVkO1xufVxuXG4uY29ycmVjdC1hbnN3ZXIge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5vcHRpb25zLWxpc3Qge1xuICBtYXJnaW4tdG9wOiA1MHB4O1xuICBib3JkZXI6IGJsYWNrIHNvbGlkIDFweDtcbiAgbWluLWhlaWdodDogMS41ZW07XG4gIHdpZHRoOiA3MHB4O1xufVxuXG4uZHJhZy1pbi1ib3gge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMXJlbTtcbiAgbWluLWhlaWdodDogMS41ZW07XG4gIHdpZHRoOiA2MHB4O1xuICBib3JkZXI6IGJsYWNrIHNvbGlkIDFweDtcbn1cblxuLnJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4iXX0= */\"","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewEncapsulation,\n} from \"@angular/core\";\nimport * as _ from \"lodash\";\nimport { CdkDragDrop, transferArrayItem } from \"@angular/cdk/drag-drop\";\nimport { TaskComponent } from \"../task\";\nimport { compareStrings } from \"@shared/utilities/compare-strings\";\n\ndeclare type SortingResult = {\n sentence: string;\n correctTokens: string[];\n shuffledDragIns: string[][];\n};\n\nexport declare type SortingwordsData = {\n type?: string;\n question: string;\n sentences: string[];\n};\n\n@Component({\n selector: \"app-sortingwords\",\n templateUrl: \"./sortingwords.component.html\",\n styleUrls: [\"./sortingwords.component.css\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class SortingwordsComponent implements OnInit, TaskComponent {\n @Input() data: SortingwordsData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n\n public results: SortingResult[] = [];\n public activeSentence: SortingResult;\n public currentIndex: number = 0;\n public isChecking = false;\n public isAnswered: boolean = false;\n private isCorrect: boolean[] = [];\n\n constructor() {}\n\n ngOnInit() {\n this.data.sentences.forEach((sentence) => {\n const tokens = this.getTokens(sentence);\n this.results.push({\n sentence: sentence,\n correctTokens: tokens,\n shuffledDragIns: _.shuffle(this.getDragIns(tokens)),\n });\n });\n this.setUp();\n }\n\n setUp() {\n this.activeSentence = this.results[this.currentIndex];\n }\n\n getDragIns(tokens: string[]) {\n const dragIns = [];\n tokens.forEach((token) => {\n dragIns.push([token]);\n });\n return dragIns;\n }\n\n getTokens(sentence: string) {\n return sentence.trim().split(\" \");\n }\n\n drop(event: CdkDragDrop) {\n transferArrayItem(event.previousContainer.data, event.container.data, 0, 0);\n transferArrayItem(event.container.data, event.previousContainer.data, 1, 0);\n }\n\n check() {\n this.isChecking = true;\n this.isCorrect.push(\n _.isEqual(\n this.activeSentence.correctTokens,\n this.activeSentence.shuffledDragIns.map((dragIn) => dragIn.toString())\n )\n );\n if (this.isCorrect.length === this.results.length) {\n this.submit();\n }\n }\n\n next() {\n this.isChecking = false;\n this.currentIndex++;\n this.setUp();\n }\n\n submit() {\n if (_.every(this.isCorrect)) {\n this.taskSubmitted.emit(true);\n } else {\n this.taskSubmitted.emit(false);\n }\n this.isAnswered = true;\n }\n\n setColor(word, i) {\n if (!this.isChecking) {\n return \"\";\n }\n if (compareStrings(word, this.activeSentence.correctTokens[i])) {\n return \"correct\";\n } else {\n return \"incorrect\";\n }\n }\n}\n","module.exports = \".example-radio-group {\\n display: flex;\\n flex-direction: column;\\n margin: 15px 0;\\n }\\n .example-radio-button {\\n margin: 5px;\\n }\\n .answer {\\n font-weight: bold;\\n}\\n .answer.correct {\\n color: #2346F5;\\n font-weight: bold;\\n }\\n .answer.incorrect {\\n color: #F2923D;\\n text-decoration: line-through;\\n }\\n .correct-answer {\\n font-style: italic;\\n}\\n .options-list {\\n margin-top: 50px;\\n border: black solid 1px;\\n height: 4em;\\n width: 70px;\\n}\\n .drag-in-box {\\n display: inline-block;\\n height: 1.5em;\\n width: 60px;\\n border: black solid 1px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvdGFibGVkcmFnL3RhYmxlZHJhZy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixjQUFjO0VBQ2hCO0VBQ0E7SUFDRSxXQUFXO0VBQ2I7RUFFQTtJQUNFLGlCQUFpQjtBQUNyQjtFQUVBO0lBQ0ksY0FBYztJQUNkLGlCQUFpQjtFQUNuQjtFQUVBO0lBQ0UsY0FBYztJQUNkLDZCQUE2QjtFQUMvQjtFQUVGO0lBQ0ksa0JBQWtCO0FBQ3RCO0VBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsdUJBQXVCO0lBQ3ZCLFdBQVc7SUFDWCxXQUFXO0FBQ2Y7RUFFQTtJQUNJLHFCQUFxQjtJQUNyQixhQUFhO0lBQ2IsV0FBVztJQUNYLHVCQUF1QjtBQUMzQiIsImZpbGUiOiJzcmMvYXBwL3Rhc2tzL3RhYmxlZHJhZy90YWJsZWRyYWcuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5leGFtcGxlLXJhZGlvLWdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luOiAxNXB4IDA7XG4gIH1cbiAgLmV4YW1wbGUtcmFkaW8tYnV0dG9uIHtcbiAgICBtYXJnaW46IDVweDtcbiAgfVxuXG4gIC5hbnN3ZXIge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uYW5zd2VyLmNvcnJlY3Qge1xuICAgIGNvbG9yOiAjMjM0NkY1O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIFxuICAuYW5zd2VyLmluY29ycmVjdCB7XG4gICAgY29sb3I6ICNGMjkyM0Q7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gIH1cblxuLmNvcnJlY3QtYW5zd2VyIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5vcHRpb25zLWxpc3Qge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgYm9yZGVyOiBibGFjayBzb2xpZCAxcHg7XG4gICAgaGVpZ2h0OiA0ZW07XG4gICAgd2lkdGg6IDcwcHg7XG59XG5cbi5kcmFnLWluLWJveCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMS41ZW07XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgYm9yZGVyOiBibGFjayBzb2xpZCAxcHg7XG59Il19 */\"","import { DOCUMENT } from '@angular/common';\nimport { Component, OnInit, Input, Output, EventEmitter, ChangeDetectorRef, Inject, InjectionToken, ViewEncapsulation } from '@angular/core';\nimport { Paragraph } from 'src/app/dvz/dikobraz-3d-tiskne-a-modeluje/models/task.model';\nimport { TaskComponent } from '../task';\nimport * as _ from \"lodash\";\nimport { CdkDragDrop, moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop';\n\nexport declare type TabledragData = {\n type?: string;\n question: Paragraph[];\n rows: TableCell[][];\n};\n\nexport declare type TableCell = TableCellImage | TableCellText | TableCellDrag;\n\nexport interface TableCellText {\n type: string;\n text: string;\n}\n\nexport interface TableCellImage {\n type: string;\n url: string;\n}\n\n\nexport interface TableCellDrag{\n type: string;\n correct: Paragraph;\n beforeText: string;\n afterText: string;\n}\n\n\n@Component({\n selector: 'app-tabledrag',\n templateUrl: './tabledrag.component.html',\n styleUrls: ['./tabledrag.component.css'],\n encapsulation: ViewEncapsulation.None\n})\nexport class TabledragComponent implements TaskComponent, OnInit {\n\n @Input() data: TabledragData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n public answer: string;\n public isAnswered = false;\n public isCorrect: boolean[] = [];\n private document;\n public options: {id: string, val:Paragraph}[] = [];\n public dragIns: {[id: string]:{id: string, val:Paragraph}[]} = {};\n\n constructor(@Inject(DOCUMENT) document, private changeRef: ChangeDetectorRef) { \n this.document = document;\n }\n\n ngOnInit() {\n this.options = [];\n _.each(this.data.rows, (row: TableCell[], y) => {\n _.each(row, (col: TableCell, x) => {\n if(col.type == \"drag\") {\n this.options.push({\n id: 'col-' + y + '-' + x,\n val: (col as TableCellDrag).correct\n });\n }\n });\n });\n this.options = _.shuffle(this.options);\n for(let option of this.options) {\n this.dragIns[option.id] = [];\n }\n }\n\n ngOnChanges() {\n this.options = [];\n console.log(this.data.rows);\n _.each(this.data.rows, (row: TableCell[], y) => {\n _.each(row, (col: TableCell, x) => {\n if(col.type == \"drag\") {\n this.options.push({\n id: 'col-' + y + '-' + x,\n val: (col as TableCellDrag).correct\n });\n }\n });\n });\n this.options = _.shuffle(this.options);\n for(let option of this.options) {\n this.dragIns[option.id] = [];\n }\n console.log(this.options);\n }\n\n drop(event: CdkDragDrop<{id: string, val:Paragraph}[]>) {\n if (event.previousContainer === event.container) {\n console.log(\"SAME\", event.previousContainer, event.container)\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\n } else {\n console.log(\"DIFF\")\n if(event.container.data.length == 0 || event.container.id == \"options\") {\n transferArrayItem(event.previousContainer.data,\n event.container.data,\n event.previousIndex,\n event.currentIndex);\n }\n }\n }\n\n isAllFilled() {\n return _.every(this.dragIns, (dragIn) => dragIn.length > 0) && this.options.length == 0;\n }\n\n submit() {\n this.isCorrect = [];\n _.each(this.data.rows, (row: TableCell[], y) => {\n _.each(row, (col: TableCell, x) => {\n if(col.type == 'drag') {\n let correctAns = this.dragIns[ 'col-' + y + '-' + x][0].id == 'col-' + y + '-' + x;\n this.isCorrect.push(correctAns);\n let inputEl = this.document.querySelector('div#' + this.dragIns[ 'col-' + y + '-' + x][0].id);\n inputEl.classList.add(correctAns ? 'correct' : 'incorrect', 'answer');\n }\n })\n })\n if(_.every(this.isCorrect)) {\n this.taskSubmitted.emit(true);\n } else {\n this.taskSubmitted.emit(false);\n }\n this.isAnswered = true;\n }\n\n}\n\n","module.exports = \".example-radio-group {\\n display: flex;\\n flex-direction: column;\\n margin: 15px 0;\\n }\\n .example-radio-button {\\n margin: 5px;\\n }\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvdGFibGVmaWxsL3RhYmxlZmlsbC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixjQUFjO0VBQ2hCO0VBQ0E7SUFDRSxXQUFXO0VBQ2IiLCJmaWxlIjoic3JjL2FwcC90YXNrcy90YWJsZWZpbGwvdGFibGVmaWxsLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZXhhbXBsZS1yYWRpby1ncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbjogMTVweCAwO1xuICB9XG4gIC5leGFtcGxlLXJhZGlvLWJ1dHRvbiB7XG4gICAgbWFyZ2luOiA1cHg7XG4gIH0iXX0= */\"","import { DOCUMENT } from '@angular/common';\nimport { Component, OnInit, Input, Output, EventEmitter, ChangeDetectorRef, Inject, InjectionToken, ViewEncapsulation } from '@angular/core';\nimport { Paragraph } from 'src/app/dvz/dikobraz-3d-tiskne-a-modeluje/models/task.model';\nimport { TaskComponent } from '../task';\nimport * as _ from \"lodash\";\n\nexport declare type TablefillData = {\n type?: string;\n question: Paragraph[];\n rows: TableCell[][];\n};\n\nexport declare type TableCell = TableCellImage | TableCellText | TableCellSelect | TableCellFill;\n\nexport interface TableCellText {\n type: string;\n text: string;\n}\n\nexport interface TableCellImage {\n type: string;\n url: string;\n}\n\n\nexport interface TableCellFill {\n type: string;\n correct: string;\n beforeText: string;\n afterText: string;\n}\n\n\nexport interface TableCellSelect {\n type: string;\n options: string[];\n correct: string;\n beforeText: string;\n afterText: string;\n}\n\n\n@Component({\n selector: 'app-tablefill',\n templateUrl: './tablefill.component.html',\n styleUrls: ['./tablefill.component.css'],\n encapsulation: ViewEncapsulation.None\n})\nexport class TablefillComponent implements TaskComponent, OnInit {\n\n @Input() data: TablefillData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n public answer: string;\n public isAnswered = false;\n public isCorrect: boolean[] = [];\n private document;\n\n constructor(@Inject(DOCUMENT) document, private changeRef: ChangeDetectorRef) { \n this.document = document;\n }\n\n ngOnInit() {\n }\n\n getAnswer(type: string, row: number, col: number) {\n let id = type + \"-\" + row + \"-\" + col;\n if(!this.document.getElementById(id)) {\n return null;\n }\n this.document.getElementById(id).onchange = function(e) {\n if(this.changeRef) {\n this.changeRef.detectChanges();\n }\n }\n return this.document.getElementById(id).value;\n }\n\n isAllFilled() {\n let allFilled = true;\n if(!this.data) {\n return false;\n }\n for(let i in this.data.rows) {\n for(let j in this.data.rows[i]) {\n if(this.data.rows[i][j].type == \"fill\" || this.data.rows[i][j].type == \"select\") {\n if(!this.getAnswer(this.data.rows[i][j].type, parseInt(i), parseInt(j))) {\n allFilled = false;\n }\n }\n }\n }\n return allFilled;\n }\n\n submit() {\n this.isCorrect = [];\n for(let i in this.data.rows) {\n for(let j in this.data.rows[i]) {\n if(this.data.rows[i][j].type == \"fill\" || this.data.rows[i][j].type == \"select\") {\n let answer = this.data.rows[i][j][\"correct\"];\n let userAnswer = this.getAnswer(this.data.rows[i][j].type, parseInt(i), parseInt(j));\n this.isCorrect.push(userAnswer == answer);\n let inputEl = this.document.getElementById(this.data.rows[i][j].type + \"-\" + parseInt(i) + \"-\" + parseInt(j));\n const newEl = this.document.createElement('span');\n newEl.classList.add(userAnswer == answer ? 'correct' : 'incorrect', 'answer');\n newEl.innerHTML = userAnswer;\n inputEl.parentNode.replaceChild(newEl, inputEl);\n if(userAnswer != answer) {\n const correctAnswer = this.document.createElement('span');\n correctAnswer.classList.add('correct-answer');\n correctAnswer.innerHTML = '( správná odpověď: ' + answer + ')'\n newEl.parentNode.insertBefore(correctAnswer, newEl.nextSibling);\n }\n }\n }\n }\n if(_.every(this.isCorrect)) {\n this.taskSubmitted.emit(true);\n } else {\n this.taskSubmitted.emit(false);\n }\n this.isAnswered = true;\n }\n\n}\n\n","import { MultichoiceComponent } from \"./multichoice/multichoice.component\";\nimport { SinglechoiceComponent } from \"./singlechoice/singlechoice.component\";\nimport { MultifillComponent } from \"./multifill/multifill.component\";\nimport { MultidragComponent } from \"./multidrag/multidrag.component\";\nimport { OrderdragComponent } from \"./orderdrag/orderdrag.component\";\nimport { InsertorderdragComponent } from \"./insertorderdrag/insertorderdrag.component\";\nimport { SelectComponent } from \"./select/select.component\";\nimport { CalculateComponent } from \"./calculate/calculate.component\";\nimport { MultiselectComponent } from \"./multiselect/multiselect.component\";\nimport { MatchingdragComponent } from \"./matchingdrag/matchingdrag.component\";\nimport { TablefillComponent } from \"./tablefill/tablefill.component\";\n\nimport { InsertanswerComponent } from \"./insertanswer/insertanswer.component\";\nimport { MatchingdragcolComponent } from \"./matchingdragcol/matchingdragcol.component\";\nimport { MultiinsertComponent } from \"./multiinsert/multiinsert.component\";\nimport { PexesoComponent } from \"./pexeso/pexeso.component\";\nimport { MarkAndReplaceComponent } from \"./markandreplace/markandreplace.component\";\nimport { TabledragComponent } from \"./tabledrag/tabledrag.component\";\nimport { PexesoFillComponent } from \"./pexesofill/pexesofill.component\";\nimport { OrdinalNumbersComponent } from \"./ordinalnumbers/ordinalnumbers.component\";\nimport { FreecontentComponent } from \"./freecontent/freecontent.component\";\nimport { MatchingdragmulticolComponent } from \"./matchingdragmulticol/matchingdragmulticol.component\";\nimport { TruefalseComponent } from \"./truefalse/truefalsecomponent\";\nimport { CrosswordComponent } from \"./crossword/crossword.component\";\nimport { NewsinglechoiceComponent } from \"./newsinglechoice/newsinglechoice.component\";\nimport { FlyingwordsComponent } from \"./flyingwords/flyingwords.component\";\nimport { SortingwordsComponent } from \"./sortingwords/sortingwords.component\";\nimport { RandomwheelComponent } from \"./randomwheel/randomwheel.component\";\nimport { PicturemultiinsertComponent } from \"./picturemultiinsert/picturemultiinsert.component\";\nimport { MatchingdragpicturesComponent } from \"./matchingdragpictures/matchingdragpictures.component\";\nimport { SortingverbsComponent } from \"./sortingverbs/sortingverbs.component\";\nimport { MatchingdraginsideComponent } from \"./matchingdraginside/matchingdraginside.component\";\nimport { SingleAudioTextComponent } from \"./singleaudiotext/singleaudiotext.component\";\nimport { SingleAudioImageComponent } from \"./singleaudioimage/singleaudioimage.component\";\nimport { MultimultifillComponent } from \"./multimultifill/multimultifill.component\";\nimport { HangmanComponent } from \"./hangman/hangman.component\";\nimport { PexesoAudioComponent } from \"./pexesoaudio/pexesoaudio.component\";\nimport { UncoverComponent } from \"./uncover/uncover.component\";\nimport { OsmismerkaComponent } from \"./osmismerka/osmismerka.component\";\nimport { OpenquestionComponent } from \"./openquestion/openquestion.component\";\nimport { ComicComponent } from \"./comics/comics.component\";\nimport { ColumnPexesoComponent } from \"./columnpexeso/columnpexeso.component\";\nimport { MultilinefillComponent } from \"./multilinefill/multilinefill.component\";\nimport { MultilinegapchoiceComponent } from \"./multilinegapchoice/multilinegapchoice.component\";\nimport { MultilinesoundfillComponent } from \"./multilinesoundfill/multilinesoundfill.component\";\nimport { MultilineaudiochoiceComponent } from \"./multilineaudiochoice/multilineaudiochoice.component\";\nimport { MultilinegapselectComponent } from \"./multilinegapselect/multilinegapselect.component\";\nimport { AudiogridComponent } from \"./audiogrid/audiogrid.component\";\nimport { MatchingdragimageComponent } from \"./matchingdragimage/matchingdragimage.component\";\nimport { FillingimageComponent } from \"./fillingimage/fillingimage.component\";\nimport { MultilinegapfillComponent } from \"./multilinegapfill/multilinegapfill.component\";\nimport { MatchingdragmulticoldupComponent } from \"./matchingdragmulticoldup/matchingdragmulticoldup.component\";\nimport { MatchingdraggridComponent } from \"./matchingdraggrid/matchingdraggrid.component\";\nimport { OrderdraginlineComponent } from \"./orderdraginline/orderdraginline.component\";\n\nexport const Tasks = {\n multichoice: MultichoiceComponent,\n singlechoice: SinglechoiceComponent,\n multifill: MultifillComponent,\n multidrag: MultidragComponent,\n orderdrag: OrderdragComponent,\n insertorderdrag: InsertorderdragComponent,\n insertanswer: InsertanswerComponent,\n select: SelectComponent,\n calculate: CalculateComponent,\n multiselect: MultiselectComponent,\n multiinsert: MultiinsertComponent,\n matchingdrag: MatchingdragComponent,\n matchingdragcol: MatchingdragcolComponent,\n tablefill: TablefillComponent,\n pexeso: PexesoComponent,\n markandreplace: MarkAndReplaceComponent,\n tabledrag: TabledragComponent,\n pexesofill: PexesoFillComponent,\n ordinalnumbers: OrdinalNumbersComponent,\n freecontent: FreecontentComponent,\n matchingdragmulticol: MatchingdragmulticolComponent,\n truefalse: TruefalseComponent,\n crossword: CrosswordComponent,\n newsinglechoice: NewsinglechoiceComponent,\n flyingwords: FlyingwordsComponent,\n sortingwords: SortingwordsComponent,\n randomwheel: RandomwheelComponent,\n picturemultiinsert: PicturemultiinsertComponent,\n matchingdragpictures: MatchingdragpicturesComponent,\n sortingverbs: SortingverbsComponent,\n matchingdraginside: MatchingdraginsideComponent,\n singleaudiotext: SingleAudioTextComponent,\n singleaudioimage: SingleAudioImageComponent,\n multimultifill: MultimultifillComponent,\n hangman: HangmanComponent,\n pexesoaudio: PexesoAudioComponent,\n uncover: UncoverComponent,\n osmismerka: OsmismerkaComponent,\n openquestion: OpenquestionComponent,\n comics: ComicComponent,\n columnpexeso: ColumnPexesoComponent,\n multilinefill: MultilinefillComponent,\n multilinegapchoice: MultilinegapchoiceComponent,\n multilinegapselect: MultilinegapselectComponent,\n multilineaudiofill: MultilinesoundfillComponent,\n multilineaudiochoice: MultilineaudiochoiceComponent,\n audiogrid: AudiogridComponent,\n matchingdragimage: MatchingdragimageComponent,\n fillingimage: FillingimageComponent,\n multilinegapfill: MultilinegapfillComponent,\n matchingdragmulticoldup: MatchingdragmulticoldupComponent,\n matchingdraggrid: MatchingdraggridComponent,\n orderdraginline: OrderdraginlineComponent\n};\n\nconst typeNameMapping = {\n multilinefill: \"Víceřádkové vepisování\",\n multilinegapchoice: \"Víceřádkové doplněné z možností\",\n comics: \"Komiks\",\n calculate: \"Výpočet s tolerancí\",\n insertanswer: \"Zapisování odpovědí do sloupce\",\n insertorderdrag: \"Vkládací drag and drop\",\n markandreplace: \"Označit a opravit\",\n matchingdrag: \"Drag and Drop - spojovačka\",\n matchingdragcol: \"Drag and Drop - spojovačka napříč sloupci\",\n multichoice: \"Výběr z možností - více správných odpovědí\",\n multifill: \"Doplňování do textu\",\n multiinsert: \"Doplňování do textu - vepisování\",\n multiselect: \"Doplňování do textu - roletky\",\n orderdrag: \"Drag and Drop - řazení\",\n pexeso: \"Základní pexeso\",\n select: \"Výběr z roletky - 1 správná odpověď\",\n singlechoice: \"Výběr z možností - 1 správná odpověď\",\n tabledrag: \"Přetahování do tabulky\",\n tablefill: \"Doplňování do tabulky\",\n pexesofill: \"Vepisovací pexeso\",\n ordinalnumbers: \"Řadové číslovky\",\n freecontent: \"Volný obsah bez cvičení\",\n matchingdragmulticol: \"Drag and Drop - přesouvání do sloupců\",\n truefalse: \"Pravdivá/nepravdivá tvrzení\",\n crossword: \"Křížovka\",\n newsinglechoice: \"Výběr z možností - 1 správná odpověď\",\n flyingwords: \"Létající slova\",\n sortingwords: \"Skládání slov\",\n randomwheel: '\"Roztočení kola\" / náhodný emotikon',\n picturemultiinsert: \"Vepisování pod obrázky\",\n matchingdragpictures: \"Doplňování 2. a 3. stupně přídavných jmen k obrázkům\",\n sortingverbs: \"Tvary sloves\",\n matchingdraginside: \"Drag and Drop - přsouvání slov do vět\",\n singleaudiotext: \"Výběr z možností zvuk - jedna správná odpověď (text)\",\n singleaudioimage: \"Výběr z možností zvuk - jedna správná odpověď (obrázek)\",\n multimultifill: \"Doplňování do textu (víceřádkové)\",\n hangman: \"Šibenice\",\n pexesoaudio: \"Pexeso (s možností nahrávek)\",\n uncover: \"Rozkrývání obrázku\",\n osmismerka: \"Osmisměrka\",\n openquestion: \"Otevřená otázka\",\n columnpexeso: \"Pexeso sloupečky\",\n multilineaudiofill: \"Víceřádkové přepisování z nahrávek\",\n multilineaudiochoice: \"Víceřádkový výběr z možností s audiem\",\n multilinegapselect: \"Doplňování do dialogu\",\n audiogrid: \"Tabulka nahrávek\",\n matchingdragimage: \"Přetahování do obrázků\",\n fillingimage: \"Vepisování do obrázků\",\n multilinegapfill: \"Vepisování do textu s obrázky\",\n matchingdragmulticoldup: \"Drag and Drop - přesouvání do sloupců s opakováním\",\n matchingdraggrid: \"Drag and drop - přesouvání do tabulky\",\n orderdraginline: \"Řazení slov ve větě\"\n};\n\nexport const getTaskName = (type: string) => {\n return typeNameMapping[type];\n};\n","import { Directive, Input, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[task]',\n})\nexport class TaskDirective {\n @Input() id;\n constructor(public viewContainerRef: ViewContainerRef) {}\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule } from \"@angular/forms\";\nimport { TaskDirective } from \"./task.directive\";\nimport { MultichoiceComponent } from \"./multichoice/multichoice.component\";\nimport { SinglechoiceComponent } from \"./singlechoice/singlechoice.component\";\nimport {\n MatRadioModule,\n MatButtonModule,\n MatInputModule,\n MatCheckboxModule,\n MatSelectModule,\n MatCardModule,\n MatGridListModule,\n} from \"@angular/material\";\nimport { MultifillComponent } from \"./multifill/multifill.component\";\nimport { SanitizePipe } from \"@shared/pipes/sanitize-pipe.pipe\";\nimport { MultidragComponent } from \"./multidrag/multidrag.component\";\nimport { DragDropModule } from \"@angular/cdk/drag-drop\";\nimport { OrderdragComponent } from \"./orderdrag/orderdrag.component\";\nimport { InsertorderdragComponent } from \"./insertorderdrag/insertorderdrag.component\";\nimport { MiscModule } from \"../components/misc/misc.module\";\nimport { SelectComponent } from \"./select/select.component\";\nimport { CalculateComponent } from \"./calculate/calculate.component\";\nimport { MultiselectComponent } from \"./multiselect/multiselect.component\";\nimport { MatchingdragComponent } from \"./matchingdrag/matchingdrag.component\";\nimport { TablefillComponent } from \"./tablefill/tablefill.component\";\nimport { PexesoComponent } from \"./pexeso/pexeso.component\";\nimport { InsertanswerComponent } from \"./insertanswer/insertanswer.component\";\nimport { MatchingdragcolComponent } from \"./matchingdragcol/matchingdragcol.component\";\nimport { MultiinsertComponent } from \"./multiinsert/multiinsert.component\";\nimport { MarkAndReplaceComponent } from \"./markandreplace/markandreplace.component\";\nimport { TabledragComponent } from \"./tabledrag/tabledrag.component\";\nimport { PexesoFillComponent } from \"./pexesofill/pexesofill.component\";\nimport { OrdinalNumbersComponent } from \"./ordinalnumbers/ordinalnumbers.component\";\nimport { FreecontentComponent } from \"./freecontent/freecontent.component\";\nimport { MatchingdragmulticolComponent } from \"./matchingdragmulticol/matchingdragmulticol.component\";\nimport { TruefalseComponent } from \"./truefalse/truefalsecomponent\";\nimport { CrosswordComponent } from \"./crossword/crossword.component\";\nimport { FrKeyboardComponent } from \"./fr-keyboard/fr-keyboard.component\";\nimport { NewsinglechoiceComponent } from \"./newsinglechoice/newsinglechoice.component\";\nimport { FlyingwordsComponent } from \"./flyingwords/flyingwords.component\";\nimport { SortingwordsComponent } from \"./sortingwords/sortingwords.component\";\nimport { RandomwheelComponent } from \"./randomwheel/randomwheel.component\";\nimport { PicturemultiinsertComponent } from \"./picturemultiinsert/picturemultiinsert.component\";\nimport { MatchingdragpicturesComponent } from \"./matchingdragpictures/matchingdragpictures.component\";\nimport { SortingverbsComponent } from \"./sortingverbs/sortingverbs.component\";\nimport { MatchingdraginsideComponent } from \"./matchingdraginside/matchingdraginside.component\";\nimport { SingleAudioTextComponent } from \"./singleaudiotext/singleaudiotext.component\";\nimport { SingleAudioImageComponent } from \"./singleaudioimage/singleaudioimage.component\";\nimport { MultimultifillComponent } from \"./multimultifill/multimultifill.component\";\nimport { HangmanComponent } from \"./hangman/hangman.component\";\nimport { PexesoAudioComponent } from \"./pexesoaudio/pexesoaudio.component\";\nimport { UncoverComponent } from \"./uncover/uncover.component\";\nimport { OsmismerkaComponent } from \"./osmismerka/osmismerka.component\";\nimport { OpenquestionComponent } from \"./openquestion/openquestion.component\";\nimport { ComicComponent } from \"./comics/comics.component\";\nimport { ColumnPexesoComponent } from \"./columnpexeso/columnpexeso.component\";\nimport { MultilinefillComponent } from \"./multilinefill/multilinefill.component\";\nimport { MultilinegapchoiceComponent } from \"./multilinegapchoice/multilinegapchoice.component\";\nimport { MultilinesoundfillComponent } from \"./multilinesoundfill/multilinesoundfill.component\";\nimport { MultilineaudiochoiceComponent } from \"./multilineaudiochoice/multilineaudiochoice.component\";\nimport { MultilinegapselectComponent } from \"./multilinegapselect/multilinegapselect.component\";\nimport { AudiogridComponent } from \"./audiogrid/audiogrid.component\";\nimport { MatchingdragimageComponent } from \"./matchingdragimage/matchingdragimage.component\";\nimport { FillingimageComponent } from \"./fillingimage/fillingimage.component\";\nimport { MultilinegapfillComponent } from \"./multilinegapfill/multilinegapfill.component\";\nimport { MatchingdragmulticoldupComponent } from \"./matchingdragmulticoldup/matchingdragmulticoldup.component\";\nimport { MatchingdraggridComponent } from \"./matchingdraggrid/matchingdraggrid.component\";\nimport { OrderdraginlineComponent } from \"./orderdraginline/orderdraginline.component\";\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n MatRadioModule,\n MatButtonModule,\n MatInputModule,\n MatCheckboxModule,\n MatSelectModule,\n DragDropModule,\n MiscModule,\n MatCardModule,\n MatGridListModule\n ],\n declarations: [\n TaskDirective,\n MultichoiceComponent,\n SinglechoiceComponent,\n MultifillComponent,\n SanitizePipe,\n MultidragComponent,\n OrderdragComponent,\n InsertorderdragComponent,\n InsertanswerComponent,\n SelectComponent,\n CalculateComponent,\n MultiselectComponent,\n MultiinsertComponent,\n MatchingdragComponent,\n MatchingdragcolComponent,\n TablefillComponent,\n PexesoComponent,\n MarkAndReplaceComponent,\n TabledragComponent,\n PexesoFillComponent,\n OrdinalNumbersComponent,\n FreecontentComponent,\n MatchingdragmulticolComponent,\n TruefalseComponent,\n CrosswordComponent,\n FrKeyboardComponent,\n NewsinglechoiceComponent,\n FlyingwordsComponent,\n SortingwordsComponent,\n RandomwheelComponent,\n PicturemultiinsertComponent,\n MatchingdragpicturesComponent,\n SortingverbsComponent,\n MatchingdraginsideComponent,\n SingleAudioTextComponent,\n SingleAudioImageComponent,\n MultimultifillComponent,\n HangmanComponent,\n PexesoAudioComponent,\n UncoverComponent,\n OsmismerkaComponent,\n OpenquestionComponent,\n ComicComponent,\n ColumnPexesoComponent,\n MultilinefillComponent,\n MultilinegapchoiceComponent,\n MultilinesoundfillComponent,\n MultilineaudiochoiceComponent,\n MultilinegapselectComponent,\n AudiogridComponent,\n MatchingdragimageComponent,\n FillingimageComponent,\n MultilinegapfillComponent,\n MatchingdragmulticoldupComponent,\n MatchingdraggridComponent,\n OrderdraginlineComponent\n ],\n exports: [\n TaskDirective,\n MultichoiceComponent,\n SinglechoiceComponent,\n MultifillComponent,\n SanitizePipe,\n MultidragComponent,\n OrderdragComponent,\n InsertorderdragComponent,\n InsertanswerComponent,\n SelectComponent,\n CalculateComponent,\n MultiselectComponent,\n MultiinsertComponent,\n MatchingdragComponent,\n MatchingdragcolComponent,\n TablefillComponent,\n PexesoComponent,\n MarkAndReplaceComponent,\n TabledragComponent,\n PexesoFillComponent,\n OrdinalNumbersComponent,\n FreecontentComponent,\n MatchingdragmulticolComponent,\n CrosswordComponent,\n TruefalseComponent,\n FrKeyboardComponent,\n NewsinglechoiceComponent,\n FlyingwordsComponent,\n SortingwordsComponent,\n RandomwheelComponent,\n PicturemultiinsertComponent,\n MatchingdragpicturesComponent,\n SortingverbsComponent,\n MatchingdraginsideComponent,\n SingleAudioTextComponent,\n SingleAudioImageComponent,\n MultimultifillComponent,\n HangmanComponent,\n PexesoAudioComponent,\n UncoverComponent,\n OsmismerkaComponent,\n OpenquestionComponent,\n ComicComponent,\n ColumnPexesoComponent,\n MultilinefillComponent,\n MultilinegapchoiceComponent,\n MultilinesoundfillComponent,\n MultilineaudiochoiceComponent,\n MultilinegapselectComponent,\n AudiogridComponent,\n MatchingdragimageComponent,\n FillingimageComponent,\n MultilinegapfillComponent,\n MatchingdragmulticoldupComponent,\n MatchingdraggridComponent,\n OrderdraginlineComponent\n ],\n entryComponents: [\n MultichoiceComponent,\n SinglechoiceComponent,\n MultifillComponent,\n MultidragComponent,\n OrderdragComponent,\n InsertorderdragComponent,\n InsertanswerComponent,\n SelectComponent,\n CalculateComponent,\n MultiselectComponent,\n MultiinsertComponent,\n MatchingdragComponent,\n MatchingdragcolComponent,\n TablefillComponent,\n PexesoComponent,\n MarkAndReplaceComponent,\n TabledragComponent,\n PexesoFillComponent,\n OrdinalNumbersComponent,\n FreecontentComponent,\n MatchingdragmulticolComponent,\n CrosswordComponent,\n TruefalseComponent,\n FrKeyboardComponent,\n NewsinglechoiceComponent,\n FlyingwordsComponent,\n SortingwordsComponent,\n RandomwheelComponent,\n PicturemultiinsertComponent,\n MatchingdragpicturesComponent,\n SortingverbsComponent,\n MatchingdraginsideComponent,\n SingleAudioTextComponent,\n SingleAudioImageComponent,\n MultimultifillComponent,\n HangmanComponent,\n PexesoAudioComponent,\n UncoverComponent,\n OsmismerkaComponent,\n OpenquestionComponent,\n ComicComponent,\n ColumnPexesoComponent,\n MultilinefillComponent,\n MultilinegapchoiceComponent,\n MultilinesoundfillComponent,\n MultilineaudiochoiceComponent,\n MultilinegapselectComponent,\n AudiogridComponent,\n MatchingdragimageComponent,\n FillingimageComponent,\n MultilinegapfillComponent,\n MatchingdragmulticoldupComponent,\n MatchingdraggridComponent,\n OrderdraginlineComponent\n ],\n})\nexport class TasksModule {}\n","module.exports = \".statement {\\n display: flex;\\n}\\n\\n.answer {\\n margin: 1rem;\\n height: 1.5em;\\n border: black solid 1px;\\n}\\n\\n.btn {\\n margin: 0.5rem;\\n}\\n\\n.correct {\\n color: green;\\n}\\n\\n.incorrect {\\n color: red;\\n}\\n\\n.correct-answer {\\n font-style: italic;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvdHJ1ZWZhbHNlL3RydWVmYWxzZS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBYTtBQUNmOztBQUVBO0VBQ0UsWUFBWTtFQUNaLGFBQWE7RUFDYix1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSxjQUFjO0FBQ2hCOztBQUVBO0VBQ0UsWUFBWTtBQUNkOztBQUVBO0VBQ0UsVUFBVTtBQUNaOztBQUVBO0VBQ0Usa0JBQWtCO0FBQ3BCIiwiZmlsZSI6InNyYy9hcHAvdGFza3MvdHJ1ZWZhbHNlL3RydWVmYWxzZS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnN0YXRlbWVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5hbnN3ZXIge1xuICBtYXJnaW46IDFyZW07XG4gIGhlaWdodDogMS41ZW07XG4gIGJvcmRlcjogYmxhY2sgc29saWQgMXB4O1xufVxuXG4uYnRuIHtcbiAgbWFyZ2luOiAwLjVyZW07XG59XG5cbi5jb3JyZWN0IHtcbiAgY29sb3I6IGdyZWVuO1xufVxuXG4uaW5jb3JyZWN0IHtcbiAgY29sb3I6IHJlZDtcbn1cblxuLmNvcnJlY3QtYW5zd2VyIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuIl19 */\"","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewEncapsulation,\n} from \"@angular/core\";\nimport * as _ from \"lodash\";\nimport { Paragraph } from \"src/app/dvz/dikobraz-3d-tiskne-a-modeluje/models/task.model\";\n\ndeclare type TruefalseStatement = {\n isTrue: boolean;\n text: Paragraph;\n};\n\nexport declare type TruefalseData = {\n type?: string;\n question: Paragraph[];\n statements: TruefalseStatement[];\n};\n\ndeclare type TrueFalseResults = {\n isAnswered: boolean;\n isCorrect: boolean;\n answer: boolean;\n}[];\n\n@Component({\n selector: \"app-truefalse\",\n templateUrl: \"./truefalse.component.html\",\n styleUrls: [\"./truefalse.component.css\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class TruefalseComponent implements OnInit {\n @Input() data: TruefalseData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n _ = _;\n public statements: TruefalseStatement[] = [];\n public results: TrueFalseResults = [];\n public isAnswered: boolean = false;\n private isCorrect: boolean[] = [];\n\n constructor() {}\n\n ngOnInit() {\n console.log(this.data);\n this.data.statements.forEach((statement) =>\n this.results.push({ isAnswered: false, isCorrect: false, answer: false })\n );\n }\n\n setColor(i: number, isTrueButton: boolean) {\n if (\n !this.results[i].isAnswered ||\n isTrueButton !== this.results[i].answer\n ) {\n return \"\";\n }\n if (this.results[i].isCorrect) {\n return \"correct\";\n } else {\n return \"incorrect\";\n }\n }\n\n submit(i: number, answer: boolean) {\n this.results[i].isAnswered = true;\n this.results[i].answer = answer;\n this.results[i].isCorrect = this.data.statements[i].isTrue === answer;\n this.isCorrect.push(this.results[i].isCorrect);\n if (this.isCorrect.length === this.results.length) {\n if (_.every(this.isCorrect)) {\n this.taskSubmitted.emit(true);\n } else {\n this.taskSubmitted.emit(false);\n }\n this.isAnswered = true;\n }\n }\n}\n","module.exports = \".main-container {\\n position: relative;\\n margin-bottom: 2em;\\n}\\n\\nmat-card.mat-card.question {\\n margin-top: 0;\\n margin-bottom: 1em;\\n border-radius: 5px;\\n box-shadow: none !important;\\n background: none !important;\\n border: dashed 2px rgb(0,0,125);\\n color: rgb(0,0,125) !important;\\n font-family: \\\"Roboto\\\" !important;\\n font-weight: bold !important;\\n}\\n\\n.main-image {\\n height: 600px;\\n width: 600px;\\n}\\n\\n.pexeso-element {\\n height: 60%;\\n width: 60%;\\n background-color: #FEF1E6;\\n mix-blend-mode: normal !important;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n}\\n\\n.pexeso-element p {\\n font-size: 2em;\\n color: rgb(0, 0, 125);\\n font-family: 'Roboto';\\n font-weight: bold;\\n}\\n\\n.pexeso-wrapper {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n}\\n\\n.non-visible {\\n opacity: 0;\\n}\\n\\n.visible {\\n opacity: 1;\\n}\\n\\n.pexeso-container {\\n display: grid;\\n}\\n\\np {\\n margin: 0;\\n}\\n\\n.play { cursor:pointer;\\n display: inline;\\n width: 3em;\\n vertical-align: middle;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdGFza3MvdW5jb3Zlci91bmNvdmVyLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxrQkFBa0I7RUFDbEIsa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsYUFBYTtFQUNiLGtCQUFrQjtFQUNsQixrQkFBa0I7RUFDbEIsMkJBQTJCO0VBQzNCLDJCQUEyQjtFQUMzQiwrQkFBK0I7RUFDL0IsOEJBQThCO0VBQzlCLGdDQUFnQztFQUNoQyw0QkFBNEI7QUFDOUI7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsWUFBWTtBQUNkOztBQUVBO0VBQ0UsV0FBVztFQUNYLFVBQVU7RUFDVix5QkFBeUI7RUFDekIsaUNBQWlDO0VBQ2pDLGFBQWE7RUFDYix1QkFBdUI7RUFDdkIsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsY0FBYztFQUNkLHFCQUFxQjtFQUNyQixxQkFBcUI7RUFDckIsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0UsYUFBYTtFQUNiLHVCQUF1QjtFQUN2QixtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxVQUFVO0FBQ1o7O0FBRUE7RUFDRSxVQUFVO0FBQ1o7O0FBRUE7RUFDRSxhQUFhO0FBQ2Y7O0FBRUE7RUFDRSxTQUFTO0FBQ1g7O0FBRUEsUUFBUSxjQUFjO0VBQ3BCLGVBQWU7RUFDZixVQUFVO0VBQ1Ysc0JBQXNCO0FBQ3hCIiwiZmlsZSI6InNyYy9hcHAvdGFza3MvdW5jb3Zlci91bmNvdmVyLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubWFpbi1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDJlbTtcbn1cblxubWF0LWNhcmQubWF0LWNhcmQucXVlc3Rpb24ge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogZGFzaGVkIDJweCByZ2IoMCwwLDEyNSk7XG4gIGNvbG9yOiByZ2IoMCwwLDEyNSkgIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcbn1cblxuLm1haW4taW1hZ2Uge1xuICBoZWlnaHQ6IDYwMHB4O1xuICB3aWR0aDogNjAwcHg7XG59XG5cbi5wZXhlc28tZWxlbWVudCB7XG4gIGhlaWdodDogNjAlO1xuICB3aWR0aDogNjAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkVGMUU2O1xuICBtaXgtYmxlbmQtbW9kZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ucGV4ZXNvLWVsZW1lbnQgcCB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBjb2xvcjogcmdiKDAsIDAsIDEyNSk7XG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvJztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5wZXhlc28td3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubm9uLXZpc2libGUge1xuICBvcGFjaXR5OiAwO1xufVxuXG4udmlzaWJsZSB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5wZXhlc28tY29udGFpbmVyIHtcbiAgZGlzcGxheTogZ3JpZDtcbn1cblxucCB7XG4gIG1hcmdpbjogMDtcbn1cblxuLnBsYXkgeyBjdXJzb3I6cG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lO1xuICB3aWR0aDogM2VtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufSJdfQ== */\"","import { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\nimport { TaskComponent } from \"../task\";\nimport * as _ from \"lodash\";\nimport { Howl } from 'howler';\n\ndeclare type Option = {\n id: number;\n content: string;\n isAnswered: boolean;\n};\n\nexport declare type UncoverData = {\n type?: string;\n question: string;\n mainImageUrl: string;\n questions: {\n text: string;\n audioUrl: string;\n }[];\n};\n\n@Component({\n selector: \"app-uncover\",\n templateUrl: \"./uncover.component.html\",\n styleUrls: [\"./uncover.component.css\"],\n})\nexport class UncoverComponent implements TaskComponent, OnInit {\n @Input() data: UncoverData;\n @Output() taskSubmitted: EventEmitter = new EventEmitter();\n\n public isAnswered: boolean = false;\n public options: Option[] = [];\n public recordings: {audio: Howl, id: number}[] = [];\n public currentRecording: number = 0;\n public size: number;\n public mainSize: number = 600;\n public cols: number;\n\n constructor() {}\n\n ngOnInit() {\n let i = 0;\n this.recordings = [];\n this.options = [];\n this.data.questions.forEach((question) => {\n this.options.push({\n id: i,\n content: question.text,\n isAnswered: false,\n });\n this.recordings.push({\n id: i,\n audio: new Howl({\n src: [ question.audioUrl ]\n })\n });\n i++;\n });\n this.options = this.options;\n this.recordings = _.shuffle(this.recordings);\n this.cols = this.data.questions.length / 2 === 1 ? 2 : this.data.questions.length / 2;\n if(this.cols == 8) {\n this.cols = 4;\n }\n this.size = this.mainSize / this.cols;\n }\n\n select(option: Option) {\n if(this.recordings[this.currentRecording].id == option.id) {\n //correct\n option.isAnswered = true;\n if(this.currentRecording < this.recordings.length - 1) {\n this.currentRecording++;\n } else {\n this.taskSubmitted.emit(true);\n }\n }\n }\n\n setVisibility(question: Option) {\n if (question.isAnswered) {\n return \"non-visible\";\n } else {\n return \"visible\";\n }\n }\n}\n","// The file contents for the current environment will overwrite these during build.\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\n// The list of which env maps to which file can be found in `angular-cli.json`.\n// import 'zone.js/dist/zone-error';\n\nexport const environment = {\n production: false,\n server: \"https://dikobraz.evetech.cz\",\n};\n","import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\nimport { enableProdMode } from '@angular/core';\nimport { environment } from './environments/environment';\nimport { AppModule } from './app/app.module';\nimport 'hammerjs';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule, {\n preserveWhitespaces: false\n});\n","/* (ignored) */"],"sourceRoot":""}