{ "version": 3, "sources": ["src/app/_single-module/review-series-modal/review-series-modal.component.ts", "src/app/_single-module/review-series-modal/review-series-modal.component.html"], "sourcesContent": ["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n inject,\n Input,\n OnInit\n} from '@angular/core';\nimport {FormControl, FormGroup, ReactiveFormsModule, Validators} from '@angular/forms';\nimport {NgbActiveModal, NgbRating} from '@ng-bootstrap/ng-bootstrap';\nimport { SeriesService } from 'src/app/_services/series.service';\nimport {UserReview} from \"../review-card/user-review\";\nimport {translate, TranslocoDirective} from \"@jsverse/transloco\";\nimport {ConfirmService} from \"../../shared/confirm.service\";\nimport {ToastrService} from \"ngx-toastr\";\n\nexport enum ReviewSeriesModalCloseAction {\n Create,\n Edit,\n Delete,\n Close\n}\nexport interface ReviewSeriesModalCloseEvent {\n success: boolean,\n review: UserReview;\n action: ReviewSeriesModalCloseAction\n}\n\n@Component({\n selector: 'app-review-series-modal',\n standalone: true,\n imports: [NgbRating, ReactiveFormsModule, TranslocoDirective],\n templateUrl: './review-series-modal.component.html',\n styleUrls: ['./review-series-modal.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ReviewSeriesModalComponent implements OnInit {\n\n protected readonly modal = inject(NgbActiveModal);\n private readonly seriesService = inject(SeriesService);\n private readonly cdRef = inject(ChangeDetectorRef);\n private readonly confirmService = inject(ConfirmService);\n private readonly toastr = inject(ToastrService);\n protected readonly minLength = 5;\n\n @Input({required: true}) review!: UserReview;\n reviewGroup!: FormGroup;\n\n ngOnInit(): void {\n this.reviewGroup = new FormGroup({\n reviewBody: new FormControl(this.review.body, [Validators.required, Validators.minLength(this.minLength)]),\n });\n this.cdRef.markForCheck();\n }\n\n close() {\n this.modal.close({success: false, review: this.review, action: ReviewSeriesModalCloseAction.Close});\n }\n\n async delete() {\n if (!await this.confirmService.confirm(translate('toasts.delete-review'))) return;\n this.seriesService.deleteReview(this.review.seriesId).subscribe(() => {\n this.toastr.success(translate('toasts.review-deleted'));\n this.modal.close({success: true, review: this.review, action: ReviewSeriesModalCloseAction.Delete});\n });\n }\n save() {\n const model = this.reviewGroup.value;\n if (model.reviewBody.length < this.minLength) {\n return;\n }\n this.seriesService.updateReview(this.review.seriesId, model.reviewBody).subscribe(review => {\n this.modal.close({success: true, review: review, action: ReviewSeriesModalCloseAction.Edit});\n });\n }\n}\n", "\n
\n
\n

{{t('title')}}

\n \n
\n
\n
\n
\n \n \n @if (reviewGroup.dirty || reviewGroup.touched) {\n
\n @if (reviewGroup.get('reviewBody')?.errors?.required) {\n
{{t('required')}}
\n }\n @if (reviewGroup.get('reviewBody')?.errors?.minlength) {\n
{{t('min-length', {count: minLength})}}
\n }\n
\n }\n
\n
\n\n
\n
\n \n \n \n
\n
\n
\n\n\n"], "mappings": "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", "names": ["\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "t_r3", "\u0275\u0275pureFunction1", "_c0", "ctx_r1", "minLength", "\u0275\u0275template", "ReviewSeriesModalComponent_ng_container_0_Conditional_12_Conditional_1_Template", "ReviewSeriesModalComponent_ng_container_0_Conditional_12_Conditional_2_Template", "\u0275\u0275conditional", "tmp_3_0", "reviewGroup", "get", "errors", "required", "tmp_4_0", "minlength", "\u0275\u0275elementContainerStart", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r1", "\u0275\u0275nextContext", "\u0275\u0275resetView", "close", "\u0275\u0275element", "ReviewSeriesModalComponent_ng_container_0_Conditional_12_Template", "delete", "save", "\u0275\u0275property", "\u0275\u0275classProp", "tmp_6_0", "invalid", "touched", "dirty", "ReviewSeriesModalCloseAction", "ReviewSeriesModalComponent", "constructor", "modal", "inject", "NgbActiveModal", "seriesService", "SeriesService", "cdRef", "ChangeDetectorRef", "confirmService", "ConfirmService", "toastr", "ToastrService", "ngOnInit", "FormGroup", "reviewBody", "FormControl", "review", "body", "Validators", "markForCheck", "success", "action", "Close", "__async", "confirm", "translate", "deleteReview", "seriesId", "subscribe", "Delete", "model", "value", "length", "updateReview", "Edit", "selectors", "inputs", "standalone", "features", "\u0275\u0275StandaloneFeature", "decls", "vars", "consts", "template", "rf", "ctx", "ReviewSeriesModalComponent_ng_container_0_Template", "ReactiveFormsModule", "\u0275NgNoValidate", "DefaultValueAccessor", "NgControlStatus", "NgControlStatusGroup", "MinLengthValidator", "FormGroupDirective", "FormControlName", "TranslocoDirective", "changeDetection"] }