{ "version": 3, "sources": ["src/app/person-detail/_modal/edit-person-modal/edit-person-modal.component.ts", "src/app/person-detail/_modal/edit-person-modal/edit-person-modal.component.html", "src/app/person-detail/person-detail.component.ts", "src/app/person-detail/person-detail.component.html", "src/app/_routes/person-detail-routing.module.ts"], "sourcesContent": ["import {ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, Input, OnInit} from '@angular/core';\nimport {Breakpoint, UtilityService} from \"../../../shared/_services/utility.service\";\nimport {FormControl, FormGroup, ReactiveFormsModule, Validators} from \"@angular/forms\";\nimport {NgTemplateOutlet} from \"@angular/common\";\nimport {PersonRolePipe} from \"../../../_pipes/person-role.pipe\";\nimport {Person, PersonRole} from \"../../../_models/metadata/person\";\nimport {\n NgbActiveModal,\n NgbNav,\n NgbNavContent,\n NgbNavItem, NgbNavLink,\n NgbNavLinkBase,\n NgbNavOutlet\n} from \"@ng-bootstrap/ng-bootstrap\";\nimport {PersonService} from \"../../../_services/person.service\";\nimport {translate, TranslocoDirective} from '@jsverse/transloco';\nimport {CoverImageChooserComponent} from \"../../../cards/cover-image-chooser/cover-image-chooser.component\";\nimport {forkJoin} from \"rxjs\";\nimport {UploadService} from \"../../../_services/upload.service\";\nimport {CompactNumberPipe} from \"../../../_pipes/compact-number.pipe\";\nimport {SettingItemComponent} from \"../../../settings/_components/setting-item/setting-item.component\";\nimport {AccountService} from \"../../../_services/account.service\";\nimport {User} from \"../../../_models/user\";\nimport {ToastrService} from \"ngx-toastr\";\n\nenum TabID {\n General = 'general-tab',\n CoverImage = 'cover-image-tab',\n}\n\n@Component({\n selector: 'app-edit-person-modal',\n standalone: true,\n imports: [\n ReactiveFormsModule,\n NgTemplateOutlet,\n PersonRolePipe,\n NgbNav,\n NgbNavItem,\n TranslocoDirective,\n NgbNavLinkBase,\n NgbNavContent,\n NgbNavOutlet,\n CoverImageChooserComponent,\n CompactNumberPipe,\n SettingItemComponent,\n NgbNavLink\n ],\n templateUrl: './edit-person-modal.component.html',\n styleUrl: './edit-person-modal.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class EditPersonModalComponent implements OnInit {\n\n protected readonly utilityService = inject(UtilityService);\n private readonly modal = inject(NgbActiveModal);\n private readonly cdRef = inject(ChangeDetectorRef);\n private readonly personService = inject(PersonService);\n private readonly uploadService = inject(UploadService);\n protected readonly accountService = inject(AccountService);\n protected readonly toastr = inject(ToastrService);\n\n protected readonly Breakpoint = Breakpoint;\n protected readonly TabID = TabID;\n\n @Input({required: true}) person!: Person;\n\n active = TabID.General;\n editForm: FormGroup = new FormGroup({\n name: new FormControl('', [Validators.required]),\n description: new FormControl('', []),\n asin: new FormControl('', []),\n aniListId: new FormControl('', []),\n malId: new FormControl('', []),\n hardcoverId: new FormControl('', []),\n });\n\n imageUrls: Array = [];\n selectedCover: string = '';\n coverImageReset = false;\n touchedCoverImage = false;\n fetchDisabled: boolean = false;\n\n ngOnInit() {\n if (this.person) {\n this.editForm.get('name')!.setValue(this.person.name);\n this.editForm.get('description')!.setValue(this.person.description);\n this.editForm.get('asin')!.setValue((this.person.asin || ''));\n this.editForm.get('aniListId')!.setValue((this.person.aniListId || '') + '') ;\n this.editForm.get('malId')!.setValue((this.person.malId || '') + '');\n this.editForm.get('hardcoverId')!.setValue(this.person.hardcoverId || '');\n\n this.editForm.addControl('coverImageIndex', new FormControl(0, []));\n this.editForm.addControl('coverImageLocked', new FormControl(this.person.coverImageLocked, []));\n\n this.cdRef.markForCheck();\n } else {\n alert('no person')\n }\n }\n\n\n close() {\n this.modal.close({success: false, coverImageUpdate: false});\n }\n\n save() {\n const apis = [];\n\n const hasCoverChanges = this.touchedCoverImage || this.coverImageReset;\n\n if (hasCoverChanges) {\n apis.push(this.uploadService.updatePersonCoverImage(this.person.id, this.selectedCover, !this.coverImageReset));\n }\n\n const person: Person = {\n id: this.person.id,\n coverImageLocked: this.person.coverImageLocked,\n name: this.editForm.get('name')!.value || '',\n description: this.editForm.get('description')!.value || '',\n asin: this.editForm.get('asin')!.value || '',\n // @ts-ignore\n aniListId: this.editForm.get('aniListId')!.value === '' ? null : parseInt(this.editForm.get('aniListId').value, 10),\n // @ts-ignore\n malId: this.editForm.get('malId')!.value === '' ? null : parseInt(this.editForm.get('malId').value, 10),\n hardcoverId: this.editForm.get('hardcoverId')!.value || '',\n };\n apis.push(this.personService.updatePerson(person));\n\n forkJoin(apis).subscribe(_ => {\n this.modal.close({success: true, coverImageUpdate: hasCoverChanges, person: person});\n });\n }\n\n handleUploadByUrl(urls: Array) {\n this.selectedCover = urls[0];\n this.touchedCoverImage = true;\n this.cdRef.markForCheck();\n }\n\n updateSelectedIndex(index: number) {\n this.editForm.patchValue({\n coverImageIndex: index\n });\n this.touchedCoverImage = true;\n this.cdRef.markForCheck();\n }\n\n updateSelectedImage(url: string) {\n this.selectedCover = url;\n this.touchedCoverImage = true;\n this.cdRef.markForCheck();\n }\n\n handleReset() {\n this.coverImageReset = true;\n this.editForm.patchValue({\n coverImageLocked: false\n });\n this.touchedCoverImage = true;\n this.cdRef.markForCheck();\n }\n\n downloadCover() {\n this.personService.downloadCover(this.person.id).subscribe(imgUrl => {\n if (imgUrl) {\n this.toastr.success(translate('toasts.person-image-downloaded'));\n this.fetchDisabled = true;\n this.imageUrls.push(imgUrl);\n this.cdRef.markForCheck();\n }\n });\n }\n\n}\n", "\n @if (person !== undefined) {\n
\n
\n

\n {{t('title', {personName: this.person.name})}}

\n \n
\n
\n
\n
    \n\n
  • \n {{t(TabID.General)}}\n \n
    \n
    \n @if (editForm.get('name'); as formControl) {\n \n \n \n @if (formControl.errors; as errors) {\n @if (errors.required) {\n
    {{t('required-field')}}
    \n }\n }\n
    \n
    \n }\n
    \n
    \n\n
    \n
    \n @if (editForm.get('malId'); as formControl) {\n \n \n \n \n \n }\n
    \n\n
    \n @if (editForm.get('aniListId'); as formControl) {\n \n \n \n \n \n }\n
    \n
    \n\n
    \n
    \n @if (editForm.get('hardcoverId'); as formControl) {\n \n \n \n \n \n }\n
    \n\n
    \n @if (editForm.get('asin'); as formControl) {\n \n \n \n\n\n \n \n }\n
    \n
    \n\n
    \n
    \n \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n
  • \n\n\n
  • \n {{t(TabID.CoverImage)}}\n \n

    \n {{t('cover-image-description')}}\n\n

    \n\n\n\n \n \n
    \n
  • \n
\n
\n\n
\n
\n
\n \n \n
\n
\n }\n
\n", "import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component, DestroyRef,\n ElementRef,\n Inject,\n inject, OnInit,\n ViewChild\n} from '@angular/core';\nimport {ActivatedRoute, Router} from \"@angular/router\";\nimport {PersonService} from \"../_services/person.service\";\nimport {BehaviorSubject, EMPTY, Observable, switchMap, tap} from \"rxjs\";\nimport {Person, PersonRole} from \"../_models/metadata/person\";\nimport {AsyncPipe, NgStyle} from \"@angular/common\";\nimport {ImageComponent} from \"../shared/image/image.component\";\nimport {ImageService} from \"../_services/image.service\";\nimport {\n SideNavCompanionBarComponent\n} from \"../sidenav/_components/side-nav-companion-bar/side-nav-companion-bar.component\";\nimport {ReadMoreComponent} from \"../shared/read-more/read-more.component\";\nimport {TagBadgeComponent, TagBadgeCursor} from \"../shared/tag-badge/tag-badge.component\";\nimport {PersonRolePipe} from \"../_pipes/person-role.pipe\";\nimport {CarouselReelComponent} from \"../carousel/_components/carousel-reel/carousel-reel.component\";\nimport {SeriesCardComponent} from \"../cards/series-card/series-card.component\";\nimport {FilterComparison} from \"../_models/metadata/v2/filter-comparison\";\nimport {FilterUtilitiesService} from \"../shared/_services/filter-utilities.service\";\nimport {SeriesFilterV2} from \"../_models/metadata/v2/series-filter-v2\";\nimport {allPeople, personRoleForFilterField} from \"../_models/metadata/v2/filter-field\";\nimport {Series} from \"../_models/series\";\nimport {takeUntilDestroyed} from \"@angular/core/rxjs-interop\";\nimport {FilterCombination} from \"../_models/metadata/v2/filter-combination\";\nimport {AccountService} from \"../_services/account.service\";\nimport {CardItemComponent} from \"../cards/card-item/card-item.component\";\nimport {CardActionablesComponent} from \"../_single-module/card-actionables/card-actionables.component\";\nimport {Action, ActionFactoryService, ActionItem} from \"../_services/action-factory.service\";\nimport {NgbModal} from \"@ng-bootstrap/ng-bootstrap\";\nimport {EditPersonModalComponent} from \"./_modal/edit-person-modal/edit-person-modal.component\";\nimport {translate, TranslocoDirective} from \"@jsverse/transloco\";\nimport {ChapterCardComponent} from \"../cards/chapter-card/chapter-card.component\";\nimport {ThemeService} from \"../_services/theme.service\";\nimport {DefaultModalOptions} from \"../_models/default-modal-options\";\n\n@Component({\n selector: 'app-person-detail',\n standalone: true,\n imports: [\n AsyncPipe,\n ImageComponent,\n SideNavCompanionBarComponent,\n NgStyle,\n ReadMoreComponent,\n TagBadgeComponent,\n PersonRolePipe,\n CarouselReelComponent,\n SeriesCardComponent,\n CardItemComponent,\n CardActionablesComponent,\n TranslocoDirective,\n ChapterCardComponent\n ],\n templateUrl: './person-detail.component.html',\n styleUrl: './person-detail.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PersonDetailComponent {\n private readonly route = inject(ActivatedRoute);\n private readonly router = inject(Router);\n private readonly filterUtilityService = inject(FilterUtilitiesService);\n private readonly cdRef = inject(ChangeDetectorRef);\n private readonly destroyRef = inject(DestroyRef);\n protected readonly personService = inject(PersonService);\n private readonly actionService = inject(ActionFactoryService);\n private readonly modalService = inject(NgbModal);\n protected readonly imageService = inject(ImageService);\n protected readonly accountService = inject(AccountService);\n private readonly themeService = inject(ThemeService);\n\n protected readonly TagBadgeCursor = TagBadgeCursor;\n\n @ViewChild('scrollingBlock') scrollingBlock: ElementRef | undefined;\n @ViewChild('companionBar') companionBar: ElementRef | undefined;\n\n personName!: string;\n person: Person | null = null;\n roles$: Observable | null = null;\n roles: PersonRole[] | null = null;\n works$: Observable | null = null;\n defaultSummaryText = 'No information about this Person';\n filter: SeriesFilterV2 | null = null;\n personActions: Array> = this.actionService.getPersonActions(this.handleAction.bind(this));\n chaptersByRole: any = {};\n private readonly personSubject = new BehaviorSubject(null);\n protected readonly person$ = this.personSubject.asObservable();\n\n constructor() {\n this.route.paramMap.pipe(\n switchMap(params => {\n const personName = params.get('name');\n if (!personName) {\n this.router.navigateByUrl('/home');\n return EMPTY;\n }\n\n this.personName = personName;\n return this.personService.get(personName);\n }),\n tap(person => {\n this.person = person;\n this.personSubject.next(person); // emit the person data for subscribers\n this.themeService.setColorScape(person.primaryColor || '', person.secondaryColor);\n\n // Fetch roles and process them\n this.roles$ = this.personService.getRolesForPerson(this.person.id).pipe(\n tap(roles => {\n this.roles = roles;\n this.filter = this.createFilter(roles);\n this.chaptersByRole = {}; // Reset chaptersByRole for each person\n\n // Populate chapters by role\n roles.forEach(role => {\n this.chaptersByRole[role] = this.personService.getChaptersByRole(person.id, role)\n .pipe(takeUntilDestroyed(this.destroyRef));\n });\n this.cdRef.markForCheck();\n }),\n takeUntilDestroyed(this.destroyRef)\n );\n\n // Fetch series known for this person\n this.works$ = this.personService.getSeriesMostKnownFor(person.id).pipe(\n takeUntilDestroyed(this.destroyRef)\n );\n }),\n takeUntilDestroyed(this.destroyRef)\n ).subscribe();\n }\n\n createFilter(roles: PersonRole[]) {\n const filter: SeriesFilterV2 = this.filterUtilityService.createSeriesV2Filter();\n filter.combination = FilterCombination.Or;\n filter.limitTo = 20;\n\n // I might want to use roles$ to do all this\n allPeople.forEach(f => {\n filter.statements.push({comparison: FilterComparison.Contains, value: this.person!.id + '', field: f});\n });\n\n return filter;\n }\n\n loadFilterByPerson() {\n const loadPage = (person: Person) => {\n // Create a filter of all roles with OR\n const params: any = {};\n params['page'] = 1;\n params['title'] = translate('person-detail.browse-person-title', {name: person.name});\n\n const searchFilter = {...this.filter!};\n searchFilter.limitTo = 0;\n\n return this.filterUtilityService.applyFilterWithParams(['all-series'], searchFilter, params);\n };\n\n\n loadPage(this.person!).subscribe();\n }\n\n loadFilterByRole(role: PersonRole) {\n const personPipe = new PersonRolePipe();\n // Create a filter of all roles with OR\n const params: any = {};\n params['page'] = 1;\n params['title'] = translate('person-detail.browse-person-by-role-title', {name: this.person!.name, role: personPipe.transform(role)});\n\n const searchFilter = this.filterUtilityService.createSeriesV2Filter();\n searchFilter.limitTo = 0;\n searchFilter.combination = FilterCombination.Or;\n\n searchFilter.statements.push({comparison: FilterComparison.Contains, value: this.person!.id + '', field: personRoleForFilterField(role)});\n\n this.filterUtilityService.applyFilterWithParams(['all-series'], searchFilter, params).subscribe();\n }\n\n navigateToSeries(series: Series) {\n this.router.navigate(['library', series.libraryId, 'series', series.id]);\n }\n\n handleAction(action: ActionItem, person: Person) {\n switch (action.action) {\n case(Action.Edit):\n const ref = this.modalService.open(EditPersonModalComponent, DefaultModalOptions);\n ref.componentInstance.person = this.person;\n\n ref.closed.subscribe(r => {\n if (r.success) {\n const nameChanged = this.personName !== r.person.name;\n this.person = {...r.person};\n this.personName = this.person!.name;\n\n this.personSubject.next(this.person);\n\n // Update the url to reflect the new name change\n if (nameChanged) {\n const baseUrl = window.location.href.split('/').slice(0, -1).join('/');\n window.history.replaceState({}, '', `${baseUrl}/${encodeURIComponent(this.personName)}`);\n }\n\n this.cdRef.markForCheck();\n }\n });\n break;\n default:\n break;\n }\n }\n\n performAction(action: ActionItem) {\n if (typeof action.callback === 'function') {\n action.callback(action, this.person);\n }\n }\n}\n", "
\n \n @if (person$ | async; as person) {\n
\n \n \n

\n \n {{person.name}}\n

\n
\n
\n
\n\n
\n
\n
\n \n
\n\n
\n
\n \n\n @if (roles$ | async; as roles) {\n
\n
{{t('all-roles')}}
\n @for(role of roles; track role) {\n {{role | personRole}}\n }\n
\n }\n
\n
\n
\n
\n\n @if (works$ | async; as works) {\n
\n \n \n \n \n \n \n
\n }\n\n\n \n @if (roles$ | async; as roles) {\n @for(role of roles; track role) {\n
\n \n \n \n\n \n \n \n
\n }\n }\n\n\n\n\n\n \n
\n\n
\n\n \n
\n\n
\n\n \n @if (accountService.hasValidLicense$ | async) {\n
\n\n
\n }\n\n }\n
\n
\n", "import { Routes } from '@angular/router';\nimport { AuthGuard } from '../_guards/auth.guard';\nimport {PersonDetailComponent} from \"../person-detail/person-detail.component\";\n\n\nexport const routes: Routes = [\n {\n path: ':name',\n runGuardsAndResolvers: 'always',\n canActivate: [AuthGuard],\n component: PersonDetailComponent\n },\n {\n path: '',\n runGuardsAndResolvers: 'always',\n canActivate: [AuthGuard],\n component: PersonDetailComponent\n }\n];\n"], "mappings": "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", "names": ["\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "t_r3", "\u0275\u0275template", "EditPersonModalComponent_ng_container_0_Conditional_1_ng_template_12_Conditional_2_ng_template_1_Conditional_1_Conditional_0_Template", "\u0275\u0275conditional", "ctx", "required", "\u0275\u0275element", "EditPersonModalComponent_ng_container_0_Conditional_1_ng_template_12_Conditional_2_ng_template_1_Conditional_1_Template", "\u0275\u0275classProp", "formControl_r4", "invalid", "untouched", "tmp_11_0", "errors", "EditPersonModalComponent_ng_container_0_Conditional_1_ng_template_12_Conditional_2_ng_template_1_Template", "\u0275\u0275templateRefExtractor", "\u0275\u0275property", "formControl_r5", "EditPersonModalComponent_ng_container_0_Conditional_1_ng_template_12_Conditional_5_ng_template_1_Template", "formControl_r6", "EditPersonModalComponent_ng_container_0_Conditional_1_ng_template_12_Conditional_7_ng_template_1_Template", "formControl_r7", "EditPersonModalComponent_ng_container_0_Conditional_1_ng_template_12_Conditional_10_ng_template_1_Template", "formControl_r8", "EditPersonModalComponent_ng_container_0_Conditional_1_ng_template_12_Conditional_12_ng_template_1_Template", "EditPersonModalComponent_ng_container_0_Conditional_1_ng_template_12_Conditional_2_Template", "EditPersonModalComponent_ng_container_0_Conditional_1_ng_template_12_Conditional_5_Template", "EditPersonModalComponent_ng_container_0_Conditional_1_ng_template_12_Conditional_7_Template", "EditPersonModalComponent_ng_container_0_Conditional_1_ng_template_12_Conditional_10_Template", "EditPersonModalComponent_ng_container_0_Conditional_1_ng_template_12_Conditional_12_Template", "EditPersonModalComponent_ng_container_0_Conditional_1_ng_template_12_ng_template_16_Template", "tmp_6_0", "ctx_r1", "editForm", "get", "tmp_7_0", "tmp_8_0", "tmp_9_0", "tmp_10_0", "\u0275\u0275twoWayListener", "$event", "\u0275\u0275restoreView", "_r9", "\u0275\u0275nextContext", "i0", "\u0275\u0275twoWayBindingSet", "imageUrls", "\u0275\u0275resetView", "\u0275\u0275listener", "handleUploadByUrl", "updateSelectedIndex", "updateSelectedImage", "handleReset", "\u0275\u0275textInterpolate1", "\u0275\u0275twoWayProperty", "person", "coverImageLocked", "_r1", "close", "active", "EditPersonModalComponent_ng_container_0_Conditional_1_ng_template_12_Template", "EditPersonModalComponent_ng_container_0_Conditional_1_ng_template_16_Template", "save", "\u0275\u0275pureFunction1", "_c0", "name", "\u0275\u0275classMapInterpolate1", "utilityService", "getActiveBreakpoint", "Breakpoint", "Mobile", "\u0275\u0275propertyInterpolate", "TabID", "General", "CoverImage", "nav_r10", "valid", "\u0275\u0275elementContainerStart", "EditPersonModalComponent_ng_container_0_Conditional_1_Template", "undefined", "EditPersonModalComponent", "constructor", "inject", "UtilityService", "modal", "NgbActiveModal", "cdRef", "ChangeDetectorRef", "personService", "PersonService", "uploadService", "UploadService", "accountService", "AccountService", "toastr", "ToastrService", "FormGroup", "FormControl", "Validators", "description", "asin", "aniListId", "malId", "hardcoverId", "selectedCover", "coverImageReset", "touchedCoverImage", "fetchDisabled", "ngOnInit", "setValue", "addControl", "markForCheck", "alert", "success", "coverImageUpdate", "apis", "hasCoverChanges", "push", "updatePersonCoverImage", "id", "value", "parseInt", "updatePerson", "forkJoin", "subscribe", "_", "urls", "index", "patchValue", "coverImageIndex", "url", "downloadCover", "imgUrl", "translate", "selectors", "inputs", "standalone", "features", "\u0275\u0275StandaloneFeature", "decls", "vars", "consts", "template", "rf", "EditPersonModalComponent_ng_container_0_Template", "ReactiveFormsModule", "\u0275NgNoValidate", "DefaultValueAccessor", "NumberValueAccessor", "NgControlStatus", "NgControlStatusGroup", "FormGroupDirective", "FormControlName", "NgbNav", "NgbNavItem", "TranslocoDirective", "NgbNavLinkBase", "NgbNavContent", "NgbNavOutlet", "CoverImageChooserComponent", "SettingItemComponent", "NgbNavLink", "changeDetection", "\u0275\u0275elementStart", "\u0275\u0275listener", "role_r4", "\u0275\u0275restoreView", "_r3", "$implicit", "ctx_r1", "\u0275\u0275nextContext", "\u0275\u0275resetView", "loadFilterByRole", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275property", "TagBadgeCursor", "Clickable", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "\u0275\u0275pipeBind1", "\u0275\u0275repeaterCreate", "PersonDetailComponent_ng_container_1_Conditional_1_Conditional_15_For_4_Template", "\u0275\u0275repeaterTrackByIdentity", "t_r5", "\u0275\u0275repeater", "ctx", "item_r8", "_r7", "navigateToSeries", "imageService", "getSeriesCoverImage", "id", "name", "_r6", "loadFilterByPerson", "\u0275\u0275template", "PersonDetailComponent_ng_container_1_Conditional_1_Conditional_17_ng_template_2_Template", "\u0275\u0275templateRefExtractor", "\u0275\u0275element", "item_r11", "libraryId", "libraryType", "seriesId", "role_r10", "_r9", "PersonDetailComponent_ng_container_1_Conditional_1_Conditional_19_For_1_ng_template_4_Template", "chaptersByRole", "\u0275\u0275pureFunction1", "_c3", "PersonDetailComponent_ng_container_1_Conditional_1_Conditional_19_For_1_Template", "\u0275\u0275elementContainerStart", "$event", "_r1", "performAction", "PersonDetailComponent_ng_container_1_Conditional_1_Conditional_15_Template", "PersonDetailComponent_ng_container_1_Conditional_1_Conditional_17_Template", "PersonDetailComponent_ng_container_1_Conditional_1_Conditional_19_Template", "PersonDetailComponent_ng_container_1_Conditional_1_Conditional_23_Template", "personActions", "person_r12", "\u0275\u0275pureFunction0", "_c2", "getPersonImage", "noPersonImage", "description", "defaultSummaryText", "\u0275\u0275conditional", "tmp_12_0", "roles$", "tmp_13_0", "works$", "tmp_14_0", "accountService", "hasValidLicense$", "PersonDetailComponent_ng_container_1_Conditional_1_Template", "tmp_2_0", "person$", "PersonDetailComponent", "constructor", "route", "inject", "ActivatedRoute", "router", "Router", "filterUtilityService", "FilterUtilitiesService", "cdRef", "ChangeDetectorRef", "destroyRef", "DestroyRef", "personService", "PersonService", "actionService", "ActionFactoryService", "modalService", "NgbModal", "ImageService", "AccountService", "themeService", "ThemeService", "person", "roles", "filter", "getPersonActions", "handleAction", "bind", "personSubject", "BehaviorSubject", "asObservable", "paramMap", "pipe", "switchMap", "params", "personName", "get", "navigateByUrl", "EMPTY", "tap", "next", "setColorScape", "primaryColor", "secondaryColor", "getRolesForPerson", "createFilter", "forEach", "role", "getChaptersByRole", "takeUntilDestroyed", "markForCheck", "getSeriesMostKnownFor", "subscribe", "createSeriesV2Filter", "combination", "FilterCombination", "Or", "limitTo", "allPeople", "f", "statements", "push", "comparison", "FilterComparison", "Contains", "value", "field", "translate", "searchFilter", "__spreadValues", "applyFilterWithParams", "personPipe", "PersonRolePipe", "transform", "personRoleForFilterField", "series", "navigate", "action", "Action", "Edit", "ref", "open", "EditPersonModalComponent", "DefaultModalOptions", "componentInstance", "closed", "r", "success", "nameChanged", "baseUrl", "window", "location", "href", "split", "slice", "join", "history", "replaceState", "encodeURIComponent", "callback", "selectors", "viewQuery", "rf", "PersonDetailComponent_ng_container_1_Template", "AsyncPipe", "ImageComponent", "SideNavCompanionBarComponent", "ReadMoreComponent", "TagBadgeComponent", "CarouselReelComponent", "CardItemComponent", "CardActionablesComponent", "TranslocoDirective", "ChapterCardComponent", "styles", "changeDetection", "routes", "path", "runGuardsAndResolvers", "canActivate", "AuthGuard", "component", "PersonDetailComponent"] }