{"version":3,"file":"cty-mobile-ui-answer-sheet.mjs","sources":["../../../packages/components/answer-sheet/answer-sheet.ts","../../../packages/components/answer-sheet/answer-sheet.html","../../../packages/components/answer-sheet/module.ts","../../../packages/components/answer-sheet/cty-mobile-ui-answer-sheet.ts"],"sourcesContent":["import {\r\n  OnChanges,\r\n  Output,\r\n  EventEmitter,\r\n  Component,\r\n  OnInit,\r\n  Input,\r\n} from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { QuestionData, TypeData, QuesTypeData } from './types';\r\n\r\n@Component({\r\n  selector: 'cty-answer-sheet',\r\n  standalone: true,\r\n  imports: [CommonModule],\r\n  templateUrl: './answer-sheet.html',\r\n  styleUrl: './answer-sheet.scss',\r\n})\r\nexport class CtyAnswerSheet implements OnInit, OnChanges {\r\n  // 是否区分题目类型\r\n  @Input() distinguish = false;\r\n  // 题目数据\r\n  @Input() problemData: any[] = [];\r\n  // 题目数据的字段配置\r\n  @Input() props = {\r\n    questionType: 'questionType',\r\n    type: 'type',\r\n  };\r\n\r\n  @Input() typeData: TypeData[] = [];\r\n  // 显示类型数据的位置\r\n  @Input() position = 'top';\r\n  @Input() quesTypeData: QuesTypeData[] = [];\r\n  @Output() ctyTap = new EventEmitter<QuestionData>();\r\n  // 是否显示题型的题目总数\r\n  @Input() showTotal = true;\r\n  @Input() totalText = `（共{{total}}道）`;\r\n  // 题目数据处理\r\n  sheetProblem: QuestionData[] = [];\r\n  // 区分题型数据\r\n  disProblem: any[] = [];\r\n\r\n  constructor() {}\r\n\r\n  ngOnInit() {}\r\n\r\n  ngOnChanges() {\r\n    this.initData();\r\n  }\r\n\r\n  initData() {\r\n    this.sheetProblem = [];\r\n    this.problemData.forEach((item: any, index: number) => {\r\n      const problem: any = {\r\n        ...item,\r\n        sort: index + 1,\r\n        questionType: item[this.props.questionType],\r\n        type: item[this.props.type],\r\n      };\r\n      const typeData = this.typeData.find((type) => type.type === problem.type);\r\n      if (typeData) problem.color = typeData.color;\r\n      this.sheetProblem.push(problem);\r\n    });\r\n    if (this.distinguish) {\r\n      this.disProblem = [...this.quesTypeData];\r\n      this.disProblem.forEach((item: QuesTypeData, index: number) => {\r\n        this.disProblem[index].data = this.sheetProblem.filter(\r\n          (problem: any) => problem.questionType === item.type\r\n        );\r\n        this.disProblem[index].totalText = this.totalText.replace(\r\n          '{{total}}',\r\n          this.disProblem[index].data.length\r\n        );\r\n      });\r\n    }\r\n  }\r\n\r\n  sheetTap(item: QuestionData) {\r\n    this.ctyTap.emit(item);\r\n  }\r\n}\r\n","<div class=\"cty-answer-sheet\">\r\n  <div\r\n    *ngIf=\"position === 'top' && typeData.length > 0\"\r\n    class=\"cty-answer-sheet__type flex-align-center top\"\r\n  >\r\n    <div\r\n      class=\"cty-answer-sheet__type--item flex-align-center\"\r\n      *ngFor=\"let item of typeData\"\r\n      [ngStyle]=\"{ color: item.color }\"\r\n    >\r\n      <span\r\n        class=\"cty-answer-sheet__round\"\r\n        [ngStyle]=\"{ 'border-color': item.color }\"\r\n      >\r\n      </span>\r\n      <span>{{ item.text }}</span>\r\n    </div>\r\n  </div>\r\n  <div *ngIf=\"!distinguish\" class=\"cty-answer-sheet__sheet no-dis flex\">\r\n    <div *ngFor=\"let item of sheetProblem\" class=\"cty-answer-sheet__sheet--box\">\r\n      <div\r\n        class=\"sort flex-center\"\r\n        [ngStyle]=\"{ color: item.color, 'border-color': item.color }\"\r\n        (click)=\"sheetTap(item)\"\r\n      >\r\n        {{ item.sort }}\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <div *ngIf=\"distinguish\" class=\"cty-answer-sheet__sheet\">\r\n    <div *ngFor=\"let item of disProblem\" class=\"cty-answer-sheet__sheet--dis\">\r\n      <div class=\"cty-answer-sheet__sheet--title\">\r\n        {{ item.text }}<span *ngIf=\"showTotal\"> {{ item.totalText }} </span>\r\n      </div>\r\n      <div class=\"cty-answer-sheet__sheet--data flex\">\r\n        <div\r\n          *ngFor=\"let problem of item.data\"\r\n          class=\"cty-answer-sheet__sheet--box\"\r\n        >\r\n          <div\r\n            class=\"sort flex-center\"\r\n            [ngStyle]=\"{ color: problem.color, 'border-color': problem.color }\"\r\n            (click)=\"sheetTap(problem)\"\r\n          >\r\n            {{ problem.sort }}\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <div\r\n    *ngIf=\"position === 'bottom' && typeData.length > 0\"\r\n    class=\"cty-answer-sheet__type flex-align-center bottom\"\r\n  >\r\n    <div\r\n      class=\"cty-answer-sheet__type--item flex-align-center\"\r\n      *ngFor=\"let item of typeData\"\r\n      [ngStyle]=\"{ color: item.color }\"\r\n    >\r\n      <span\r\n        class=\"cty-answer-sheet__round\"\r\n        [ngStyle]=\"{ 'border-color': item.color }\"\r\n      >\r\n      </span>\r\n      <span>{{ item.text }}</span>\r\n    </div>\r\n  </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CtyAnswerSheet } from './answer-sheet';\r\n@NgModule({\r\n  imports: [CommonModule, CtyAnswerSheet],\r\n  exports: [CtyAnswerSheet],\r\n})\r\nexport class CtyAnswerSheetModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}