pedago-angular-quiz
Version:
A pedago quiz component for Angular projects
1 lines • 24.9 kB
Source Map (JSON)
{"version":3,"file":"pedago-angular-quiz.mjs","sources":["../../../projects/pedago-angular-quiz/src/lib/pipes/to-survey-js-json.pipe.ts","../../../projects/pedago-angular-quiz/src/lib/pipes/survey-js-sneder-to-response.pipe.ts","../../../projects/pedago-angular-quiz/src/lib/models/models.ts","../../../projects/pedago-angular-quiz/src/lib/constantes/theme.ts","../../../projects/pedago-angular-quiz/src/lib/components/pedago-angular-quiz.component.ts","../../../projects/pedago-angular-quiz/src/lib/components/pedago-angular-quiz.component.html","../../../projects/pedago-angular-quiz/src/lib/pedago-angular-quiz.module.ts","../../../projects/pedago-angular-quiz/src/public-api.ts","../../../projects/pedago-angular-quiz/src/pedago-angular-quiz.ts"],"sourcesContent":["import {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({\n name: 'toSurveyJsJson'\n})\nexport class ToSurveyJsJsonPipe implements PipeTransform {\n\n transform(questions: any, ...args: any[]): any {\n if (!questions || !Array.isArray(questions)) {\n return null;\n }\n\n\n const quiz = {\n title: args[0]?.title??'Demo quiz',\n showTitle: args[0]?.showTitle??false,\n startSurveyText: 'Start Quiz',\n showProgressBar: 'top',\n progressBarShowPageNumbers: true,\n showPreviewBeforeComplete: 'showAllQuestions',\n firstPageIsStarted: true,\n showQuestionNumbers: true,\n goNextPageAutomatic: false,\n allowCompleteSurveyAutomatic: false,\n maxTimeToFinish: 60,\n completeText: {\n fr: 'Send'\n },\n // widthMode: 'static',\n // width: '1000px',\n // showTimerPanel: 'bottom',\n pages: [\n {\n \"name\": \"page1\",\n \"elements\": [\n {\n \"type\": \"html\",\n \"html\": \"You are about to start a quiz. Click <b>Start Quiz</b> to begin.\"\n },\n ]\n },\n ]\n };\n\n const getQuestionType = (question: any) => {\n if (question.type) {\n return question.type;\n }\n\n if (question.options.filter((option: any) => option.is_correct).length > 1) {\n return 'checkbox';\n } else {\n return 'radiogroup'\n }\n }\n\n questions.forEach((question: any, index: number) => {\n const page = {\n name: `page${index + 1}`,\n navigationTitle: question.skill,\n description: question.skill,\n maxTimeToFinish: question.maxTimeToFinish ?? 10,\n elements: [\n {\n type: getQuestionType(question),\n name: question.name ?? `questionName${index + 1}`,\n title: question.question,\n choices: [],\n correctAnswer: []\n }\n ]\n };\n\n question.options.forEach((option: any) => {\n // @ts-ignore\n page.elements[0].choices.push(option.option);\n if (option.is_correct) {\n // @ts-ignore\n page.elements[0].correctAnswer.push(option.option);\n }\n });\n\n // @ts-ignore\n quiz.pages.push(page);\n });\n\n return quiz;\n }\n\n}\n","import {Injectable, Pipe} from '@angular/core';\nimport {IResponse} from \"../models/models\";\n\n@Pipe({\n name: 'surveyJsSenderToResponse'\n})\nexport class SurveyJsSenderToResponsePipe {\n\n constructor() { }\n\n getCorrectAnswers(sender: any,questionName: string): string[] | undefined {\n return sender.getQuizQuestions().find((question: any) => question.jsonObj.name === questionName)?.correctAnswer;\n }\n\n transform(sender: any): IResponse[] {\n const responses: any[] = [];\n for (const [questionName, answer] of Object.entries(sender.data)) {\n const responseItem: any = {\n id: questionName,\n answer: answer,\n correctedAnswer: this.getCorrectAnswers(sender,questionName),\n is_correct: answer === this.getCorrectAnswers(sender,questionName),\n };\n if (Array.isArray(this.getCorrectAnswers(sender,questionName))) {\n responseItem['is_partially_correct'] = this.getCorrectAnswers(sender,questionName)?.some(item => (<string[]>answer).includes(item))\n }\n responses.push(responseItem);\n }\n return responses;\n }\n}\n","export interface IQuestion {\r\n question: string;\r\n options: IOption[];\r\n explanation: string;\r\n skill: string;\r\n}\r\n\r\nexport interface IOption {\r\n option: string;\r\n is_correct: boolean;\r\n}\r\n\r\nexport interface IData {\r\n questions: IQuestion[]\r\n}\r\n\r\nexport interface IResponse {\r\n questionID: string;\r\n answer: string | string[];\r\n correctedAnswer: string | string[];\r\n is_correct: boolean;\r\n is_partially_correct?: boolean;\r\n}\r\n\r\nexport interface IResult {\r\n client?: string;\r\n userId?: string;\r\n response: IResponse[];\r\n}\r\n\r\nexport class Result implements IResult {\r\n client?: string;\r\n userId?: string;\r\n response: IResponse[];\r\n\r\n constructor(response: IResponse[],client?: string, userId?: string) {\r\n this.response = response;\r\n if (client) {\r\n this.client = client;\r\n }\r\n if (userId) {\r\n this.userId = userId;\r\n }\r\n }\r\n}\r\n\r\nexport interface ITheme {\r\n primaryColor?: string;\r\n secondaryColor?: string;\r\n hasheader?: boolean;\r\n headerBackColor?: string;\r\n headerImage?: string;\r\n}\r\n\r\n\r\n\r\nexport interface IMetadata {\r\n title?: string;\r\n showTitle?: boolean;\r\n theme?: ITheme\r\n}\r\n","import {ITheme} from \"survey-core/typings/themes\";\r\nimport {ITheme as MyCustomTheme} from \"../models/models\";\r\n\r\nexport const themeJson = (theme?: MyCustomTheme): ITheme => ({\r\n \"cssVariables\": {\r\n \"--sjs-general-backcolor\": \"rgba(255, 255, 255, 1)\",\r\n \"--sjs-general-backcolor-dark\": \"rgba(248, 248, 248, 1)\",\r\n \"--sjs-general-backcolor-dim\": theme?.secondaryColor??\"#E2EBF6\",\r\n \"--sjs-general-backcolor-dim-light\": \"rgba(249, 249, 249, 1)\",\r\n \"--sjs-general-backcolor-dim-dark\": \"rgba(243, 243, 243, 1)\",\r\n \"--sjs-general-forecolor\": \"rgba(0, 0, 0, 0.91)\",\r\n \"--sjs-general-forecolor-light\": \"rgba(0, 0, 0, 0.45)\",\r\n \"--sjs-general-dim-forecolor\": \"rgba(0, 0, 0, 0.91)\",\r\n \"--sjs-general-dim-forecolor-light\": \"rgba(0, 0, 0, 0.45)\",\r\n \"--sjs-primary-backcolor\": theme?.primaryColor??\"#2f5abc\",\r\n \"--sjs-primary-backcolor-light\": \"rgba(47, 90, 188, 0.1)\",\r\n \"--sjs-primary-backcolor-dark\": \"rgba(43, 83, 173, 1)\",\r\n \"--sjs-primary-forecolor\": \"rgba(255, 255, 255, 1)\",\r\n \"--sjs-primary-forecolor-light\": \"rgba(255, 255, 255, 0.25)\",\r\n \"--sjs-base-unit\": \"8px\",\r\n \"--sjs-corner-radius\": \"4px\",\r\n \"--sjs-secondary-backcolor\": \"rgba(255, 152, 20, 1)\",\r\n \"--sjs-secondary-backcolor-light\": \"rgba(255, 152, 20, 0.1)\",\r\n \"--sjs-secondary-backcolor-semi-light\": \"rgba(255, 152, 20, 0.25)\",\r\n \"--sjs-secondary-forecolor\": \"rgba(255, 255, 255, 1)\",\r\n \"--sjs-secondary-forecolor-light\": \"rgba(255, 255, 255, 0.25)\",\r\n \"--sjs-shadow-small\": \"0px 1px 2px 0px rgba(0, 0, 0, 0.15)\",\r\n \"--sjs-shadow-medium\": \"0px 2px 6px 0px rgba(0, 0, 0, 0.1)\",\r\n \"--sjs-shadow-large\": \"0px 8px 16px 0px rgba(0, 0, 0, 0.1)\",\r\n \"--sjs-shadow-inner\": \"inset 0px 1px 2px 0px rgba(0, 0, 0, 0.15)\",\r\n \"--sjs-shadow-small-reset\": \"0px 0px 0px 0px rgba(0, 0, 0, 0.03)\",\r\n \"--sjs-shadow-inner-reset\": \"inset 0px 0px 0px 0px rgba(0, 0, 0, 0.03)\",\r\n \"--sjs-border-light\": \"rgba(0, 0, 0, 0.09)\",\r\n \"--sjs-border-default\": \"rgba(0, 0, 0, 0.16)\",\r\n \"--sjs-border-inside\": \"rgba(0, 0, 0, 0.16)\",\r\n \"--sjs-special-red\": \"rgba(229, 10, 62, 1)\",\r\n \"--sjs-special-red-light\": \"rgba(229, 10, 62, 0.1)\",\r\n \"--sjs-special-red-forecolor\": \"rgba(255, 255, 255, 1)\",\r\n \"--sjs-special-green\": \"rgba(25, 179, 148, 1)\",\r\n \"--sjs-special-green-light\": \"rgba(25, 179, 148, 0.1)\",\r\n \"--sjs-special-green-forecolor\": \"rgba(255, 255, 255, 1)\",\r\n \"--sjs-special-blue\": \"rgba(67, 127, 217, 1)\",\r\n \"--sjs-special-blue-light\": \"rgba(67, 127, 217, 0.1)\",\r\n \"--sjs-special-blue-forecolor\": \"rgba(255, 255, 255, 1)\",\r\n \"--sjs-special-yellow\": \"rgba(255, 152, 20, 1)\",\r\n \"--sjs-special-yellow-light\": \"rgba(255, 152, 20, 0.1)\",\r\n \"--sjs-special-yellow-forecolor\": \"rgba(255, 255, 255, 1)\",\r\n \"--sjs-article-font-xx-large-textDecoration\": \"none\",\r\n \"--sjs-article-font-xx-large-fontWeight\": \"700\",\r\n \"--sjs-article-font-xx-large-fontStyle\": \"normal\",\r\n \"--sjs-article-font-xx-large-fontStretch\": \"normal\",\r\n \"--sjs-article-font-xx-large-letterSpacing\": \"0\",\r\n \"--sjs-article-font-xx-large-lineHeight\": \"64px\",\r\n \"--sjs-article-font-xx-large-paragraphIndent\": \"0px\",\r\n \"--sjs-article-font-xx-large-textCase\": \"none\",\r\n \"--sjs-article-font-x-large-textDecoration\": \"none\",\r\n \"--sjs-article-font-x-large-fontWeight\": \"700\",\r\n \"--sjs-article-font-x-large-fontStyle\": \"normal\",\r\n \"--sjs-article-font-x-large-fontStretch\": \"normal\",\r\n \"--sjs-article-font-x-large-letterSpacing\": \"0\",\r\n \"--sjs-article-font-x-large-lineHeight\": \"56px\",\r\n \"--sjs-article-font-x-large-paragraphIndent\": \"0px\",\r\n \"--sjs-article-font-x-large-textCase\": \"none\",\r\n \"--sjs-article-font-large-textDecoration\": \"none\",\r\n \"--sjs-article-font-large-fontWeight\": \"700\",\r\n \"--sjs-article-font-large-fontStyle\": \"normal\",\r\n \"--sjs-article-font-large-fontStretch\": \"normal\",\r\n \"--sjs-article-font-large-letterSpacing\": \"0\",\r\n \"--sjs-article-font-large-lineHeight\": \"40px\",\r\n \"--sjs-article-font-large-paragraphIndent\": \"0px\",\r\n \"--sjs-article-font-large-textCase\": \"none\",\r\n \"--sjs-article-font-medium-textDecoration\": \"none\",\r\n \"--sjs-article-font-medium-fontWeight\": \"700\",\r\n \"--sjs-article-font-medium-fontStyle\": \"normal\",\r\n \"--sjs-article-font-medium-fontStretch\": \"normal\",\r\n \"--sjs-article-font-medium-letterSpacing\": \"0\",\r\n \"--sjs-article-font-medium-lineHeight\": \"32px\",\r\n \"--sjs-article-font-medium-paragraphIndent\": \"0px\",\r\n \"--sjs-article-font-medium-textCase\": \"none\",\r\n \"--sjs-article-font-default-textDecoration\": \"none\",\r\n \"--sjs-article-font-default-fontWeight\": \"400\",\r\n \"--sjs-article-font-default-fontStyle\": \"normal\",\r\n \"--sjs-article-font-default-fontStretch\": \"normal\",\r\n \"--sjs-article-font-default-letterSpacing\": \"0\",\r\n \"--sjs-article-font-default-lineHeight\": \"28px\",\r\n \"--sjs-article-font-default-paragraphIndent\": \"0px\",\r\n \"--sjs-article-font-default-textCase\": \"none\",\r\n \"--sjs-header-backcolor\": theme?.headerBackColor??\"#2f5abc\",\r\n \"--sjs-font-headertitle-color\": \"rgba(255, 255, 255, 1)\",\r\n \"--sjs-font-headerdescription-color\": \"rgba(255, 255, 255, 1)\",\r\n \"--sjs-font-headerdescription-weight\": \"600\",\r\n \"--sjs-font-headerdescription-size\": \"14px\"\r\n },\r\n \"themeName\": \"default\",\r\n \"colorPalette\": \"light\",\r\n \"isPanelless\": false,\r\n \"header\": {\r\n \"height\": 320,\r\n \"textAreaWidth\": 480,\r\n \"overlapEnabled\": true,\r\n \"backgroundImage\": theme?.headerImage??\"https://api.surveyjs.io/private/Surveys/files?name=b64cab40-6d94-420e-a5b8-67a4dae7be9b\",\r\n \"backgroundImageOpacity\": 0.25,\r\n \"backgroundImageFit\": \"cover\",\r\n \"logoPositionX\": \"right\",\r\n \"logoPositionY\": \"top\",\r\n \"titlePositionX\": \"left\",\r\n \"titlePositionY\": \"bottom\",\r\n \"descriptionPositionX\": \"left\",\r\n \"descriptionPositionY\": \"bottom\",\r\n \"inheritWidthFrom\": 'survey'\r\n },\r\n \"headerView\": theme?.hasheader ? 'advanced': \"basic\"\r\n }\r\n)\r\n","import {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {Model} from \"survey-core\";\nimport {ToSurveyJsJsonPipe} from \"../pipes/to-survey-js-json.pipe\";\nimport {SurveyJsSenderToResponsePipe} from \"../pipes/survey-js-sneder-to-response.pipe\";\nimport {IData, IMetadata, IResult, Result} from \"../models/models\";\nimport {themeJson} from \"../constantes/theme\";\n\n@Component({\n selector: 'pedago-angular-quiz',\n templateUrl: './pedago-angular-quiz.component.html',\n providers: [ToSurveyJsJsonPipe, SurveyJsSenderToResponsePipe]\n})\nexport class PedagoAngularQuizComponent implements OnInit,OnDestroy {\n @Input() data!: IData;\n @Input() client?: string;\n @Input() userId?: string;\n @Input() metadata?: IMetadata;\n @Output() onSubmit: EventEmitter<IResult> = new EventEmitter<IResult>();\n\n\n model!: Model;\n\n constructor(\n private toSurveyJsJson: ToSurveyJsJsonPipe,\n private surveyJsSenderToResponse: SurveyJsSenderToResponsePipe\n ) {\n\n }\n\n ngOnInit() {\n this.initilize();\n }\n\n // ngOnChanges(changes: SimpleChanges | any): void {\n // if(changes && changes['data']) {\n // const previousValue = changes.propertyName?.previousValue;\n // const currentValue = changes.propertyName?.currentValue;\n // if (previousValue != currentValue) {\n // this.initilize();\n // }\n // }\n // }\n\n initilize () {\n const survey = new Model(this.toSurveyJsJson.transform(this.data.questions, this.metadata));\n survey.applyTheme(themeJson(this.metadata?.theme));\n survey.onComplete.add((sender, options) => {\n const result: IResult = new Result(this.surveyJsSenderToResponse.transform(sender), this.client, this.userId);\n this.onSubmit.emit(result)\n });\n this.model = survey;\n }\n\n ngOnDestroy() {\n if (this.onSubmit) {\n this.onSubmit.unsubscribe();\n }\n }\n}\n","<!--style=\"position: absolute; top: 0; left: 0; right: 0; bottom: 0;\"-->\r\n<survey [model]=\"model\"></survey>\r\n","import { NgModule } from '@angular/core';\nimport {SurveyModule} from \"survey-angular-ui\";\nimport {PedagoAngularQuizComponent} from \"./components/pedago-angular-quiz.component\";\nimport {JsonPipe} from \"@angular/common\";\nimport {ToSurveyJsJsonPipe} from \"./pipes/to-survey-js-json.pipe\";\nimport {SurveyJsSenderToResponsePipe} from \"./pipes/survey-js-sneder-to-response.pipe\";\n\n\n\n@NgModule({\n declarations: [\n PedagoAngularQuizComponent,\n ToSurveyJsJsonPipe,\n SurveyJsSenderToResponsePipe\n ],\n imports: [\n SurveyModule,\n JsonPipe,\n ],\n exports: [\n PedagoAngularQuizComponent\n ]\n})\nexport class PedagoAngularQuizModule { }\n","/*\n * Public API Surface of pedago-angular-quiz\n */\n\nexport * from './lib/pedago-angular-quiz.module';\nexport * from './lib/components/pedago-angular-quiz.component';\nexport * from './lib/models/models';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ToSurveyJsJsonPipe","i2.SurveyJsSenderToResponsePipe"],"mappings":"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"}