{"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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"}