{"version":3,"file":"chunk-o3m0hu2w.js","sources":["packages/sports/web/app/src/option-group/option-group-list.html","packages/sports/web/app/src/option-group/option-group-list.component.ts"],"sourcesContent":["\n \n \n \n \n \n \n \n
\n \n \n\n","import { AsyncPipe, NgFor, NgIf, SlicePipe } from '@angular/common';\nimport {\n AfterViewInit,\n Component,\n DestroyRef,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n Output,\n TrackByFunction,\n inject,\n input,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { BetBuilderProvider } from '@cds/betting-offer/add-ons';\nimport { ResultState } from '@cds/betting-offer/domain-specific/bet-builder';\nimport { CrmPromoIdsMap, EventModel, EventOptionGroup, ExtendedDisplayType } from '@frontend/sports/betting-offer/feature/model';\nimport { StringDictionary } from '@frontend/sports/common/core/utils/extended-types';\nimport { ISimpleChange, ISimpleChanges } from '@frontend/sports/common/core/utils/simple-change';\nimport { OptionPanelThreshold } from '@frontend/sports/types/configuration';\nimport { DeviceService, MediaQueryService } from '@frontend/vanilla/core';\nimport { RxStrategyProvider } from '@rx-angular/cdk/render-strategies';\nimport { RxIf } from '@rx-angular/template/if';\nimport { times } from 'lodash-es';\nimport { BehaviorSubject, Observable, ReplaySubject, Subject, combineLatest, map } from 'rxjs';\nimport { distinctUntilChanged, startWith } from 'rxjs/operators';\n\nimport { BetBuilderButtonSource } from '../betbuilder/model/bet-builder.model';\nimport { BetBuilderConfigService } from '../betbuilder/services/betbuilder-config.service';\nimport { SourceOfPick } from '../betslip-base/models/pick-models';\nimport { DirectivesModule } from '../directives/directives.module';\nimport { OptionMarketSetData } from '../event-details-common/event-details-common.models';\nimport { BetBuilderTrackingValues } from '../event-details/bet-builder-v2/bet-builder-tracking';\nimport { ColumnLayoutService } from '../layout/column-layout.service';\nimport { ColumnSizeData } from '../layout/layout.model';\nimport { OptionGroupTabindexKeeperService } from './option-group-tabindex-keeper.service';\nimport { OptionPanelComponent } from './option-panel.component';\nimport { isOptionVisible } from './precreated-group-option-utils';\n\nexport interface TemplatesWithThresholds {\n templates: StringDictionary;\n thresholds: OptionPanelThreshold[];\n}\n\n@Component({\n selector: 'ms-option-group-list',\n templateUrl: 'option-group-list.html',\n providers: [OptionGroupTabindexKeeperService],\n standalone: true,\n imports: [DirectivesModule, NgIf, NgFor, RxIf, OptionPanelComponent, SlicePipe, AsyncPipe],\n})\nexport class OptionGroupListComponent implements OnInit, AfterViewInit, OnChanges {\n @Input() event: EventModel;\n @Input() promoted: { [key: number]: number };\n @Input() crmPromotedMap: { [key: string]: string } = {};\n @Input() crmPromoIdsMap: CrmPromoIdsMap = { templateIds: {}, markets: {}, options: {} };\n @Input() showSixPackLogosColor = false;\n @Input() showSixPackLogos = false;\n\n @Input() hideMarketHeader = false;\n @Input()\n set optionGroups(value: EventOptionGroup[]) {\n this._optionGroups$.next(value);\n }\n\n private _optionGroups$ = new ReplaySubject(1);\n\n @Input() selectedSetId: string | number;\n @Input() thresholds?: TemplatesWithThresholds;\n\n @Input()\n set optionPanelLimit(value: number | undefined) {\n this.optionPanelLimit$.next(value);\n }\n\n private optionPanelLimit$ = new BehaviorSubject(undefined);\n\n private page$ = new BehaviorSubject(1);\n\n @Input() tracking: string;\n @Input() trackingModuleType = '';\n @Input() isSGP = false;\n\n @Input()\n set forceSingleColumn(value: boolean) {\n this.forceSingleColumn$.next(value);\n }\n\n private forceSingleColumn$ = new BehaviorSubject(false);\n\n @Input() sourceOfPick = SourceOfPick.Other;\n @Input() hideEventCarousel?: boolean;\n @Input() showEventName = false;\n @Input() showEventTimer = false;\n @Input() showEventChevron = false;\n @Input() isLinkToEvent = true;\n @Input() toggleable = true;\n @Input() showMoreCounter = false;\n @Input() optionsLimitOverride?: number;\n @Input() babButtonSource?: BetBuilderButtonSource;\n @Input() betBuilderEpcotEnabled = false;\n @Input() source: string;\n @Input() appendTooltipToWidgetSlot = false;\n @Output() eventTitleClicked = new EventEmitter();\n\n @Input() set defaultExpandedMarketsCount(value: number | undefined) {\n this._defaultExpandedMarketsCount$.next(value);\n }\n\n optionMarketSetData = input();\n\n private _defaultExpandedMarketsCount$ = new BehaviorSubject(undefined);\n\n @HostBinding('class') className = 'option-group-list';\n\n marketOptionGroups$: Observable = combineLatest([this._optionGroups$, this._defaultExpandedMarketsCount$]).pipe(\n map(([optionGroups, defaultExpandedMarketsCount]) =>\n optionGroups && defaultExpandedMarketsCount && defaultExpandedMarketsCount > 0 ? optionGroups.slice(0, defaultExpandedMarketsCount) : [],\n ),\n );\n\n private readonly TWO_COLUMNS_MIN_WIDTH = 600;\n private readonly SINGLE_COLUMN_LIMIT_COUNT = 50;\n private readonly step = 10;\n private centerColumnSize$ = new BehaviorSubject(0);\n selectedSetIdChange: ISimpleChange | undefined;\n\n render$ = new Subject();\n renderStrategy$ = this.render$.pipe(\n map(() => this.strategy.primaryStrategy),\n startWith('native'),\n );\n\n columns$: Observable = combineLatest([\n this._optionGroups$,\n this.centerColumnSize$.pipe(distinctUntilChanged()),\n this.forceSingleColumn$.pipe(distinctUntilChanged()),\n ]).pipe(\n map(([optionGroups, centerColumnSize, forceSingleColumn]) => {\n const nrOfColumns =\n optionGroups &&\n optionGroups.length > 1 &&\n centerColumnSize > this.TWO_COLUMNS_MIN_WIDTH &&\n !forceSingleColumn &&\n ((this.mediaService.isActive('gt-xs') && !this.mediaService.isActive('xs-height')) || this.mediaService.isActive('gt-sm'))\n ? 2\n : 1;\n\n const columns = times(nrOfColumns, (index) => index);\n\n return columns.map((column, columnIndex) => optionGroups.filter((_, index) => index % columns.length === columnIndex));\n }),\n );\n\n limit$ = combineLatest([this.forceSingleColumn$, this.optionPanelLimit$, this.page$]).pipe(\n map(([forceSingleColumn, optionPanelLimit, page]) => {\n const step = forceSingleColumn ? (optionPanelLimit ?? this.SINGLE_COLUMN_LIMIT_COUNT) : (optionPanelLimit ?? this.step);\n\n return step * page;\n }),\n );\n\n vm$ = combineLatest({\n limit: this.limit$,\n columns: this.columns$,\n forceSingleColumn: this.forceSingleColumn$,\n marketOptionGroup: this.marketOptionGroups$,\n });\n\n shouldShowPrecreated = false;\n betBuilderDisplayType = ExtendedDisplayType.BetBuilder;\n private readonly destroyRef = inject(DestroyRef);\n\n constructor(\n public deviceService: DeviceService,\n private mediaService: MediaQueryService,\n private columnLayoutService: ColumnLayoutService,\n private betBuilderConfigService: BetBuilderConfigService,\n private strategy: RxStrategyProvider,\n ) {}\n\n ngOnInit(): void {\n this.promoted = this.promoted || {};\n this.columnLayoutService.centerColumnSizeChanged.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(this.onColumnSizeChanged);\n }\n\n ngAfterViewInit(): void {\n this.columnLayoutService.resetMeasurement();\n }\n\n ngOnChanges(changes: ISimpleChanges): void {\n this.selectedSetIdChange = changes.selectedSetId;\n\n if (this.selectedSetIdChange) {\n if (!this.selectedSetIdChange.firstChange) {\n this.page$.next(1);\n }\n }\n\n this.shouldShowPrecreated = this.precreatedGroupsAvailable() || this.event.betBuilderInfo?.betBuilderProvider === BetBuilderProvider.Default;\n }\n\n getMore(): void {\n this.page$.next(this.page$.value + 1);\n }\n\n trackByFn: TrackByFunction = (index: number, eventOptionGroup: EventOptionGroup): string => eventOptionGroup.id;\n\n trackByIndex: TrackByFunction = (index) => index;\n\n isCrmPromoted(optionGroup: EventOptionGroup): boolean {\n return !optionGroup.groupedMarkets && !optionGroup.subGroups && !!this.crmPromotedMap[optionGroup.originalId];\n }\n\n getThresholds(optionGroup: EventOptionGroup): OptionPanelThreshold[] | undefined {\n const hasThresholds = this.thresholds?.templates[optionGroup.templateId];\n\n return hasThresholds ? this.thresholds?.thresholds : undefined;\n }\n\n get inOverlay(): boolean {\n return this.betBuilderConfigService.showEntainUiInOverlay(this.event.sport.id) && !this.isEmbeddedUi;\n }\n\n get isEmbeddedUi(): boolean {\n return this.betBuilderConfigService.showEmbeddedUi() && this.source === BetBuilderTrackingValues.EventDetails;\n }\n\n private onColumnSizeChanged = (column: ColumnSizeData): void => {\n this.centerColumnSize$.next(column.width);\n };\n\n onEventTitleClick(): void {\n this.eventTitleClicked.emit();\n }\n\n getcollapsed(optionGroup: EventOptionGroup, marketOptionGroups: EventOptionGroup[]): boolean {\n if (this.event.betBuilderTradingV2FixtureId) {\n return marketOptionGroups.length > 0 && this.containsIdenticalOGPEventOptionGroup(optionGroup, marketOptionGroups);\n }\n\n return (\n (marketOptionGroups.length > 0 || this.defaultExpandedMarketsCount === 0) &&\n !marketOptionGroups.filter((x) => x.id === optionGroup.id).length\n );\n }\n\n private containsIdenticalOGPEventOptionGroup(optionGroup: EventOptionGroup, marketOptionGroups: EventOptionGroup[]): boolean {\n return !marketOptionGroups.filter(\n (x) =>\n x.id === optionGroup.id &&\n x.name === optionGroup.name &&\n ((x.options.length && x.options[0].longId === optionGroup.options[0].longId) ||\n (x.subGroups && optionGroup.subGroups && x.subGroups[0].options[0].longId === optionGroup.subGroups[0].options[0].longId)),\n ).length;\n }\n\n private precreatedGroupsAvailable(): boolean {\n if (!this.event.optionGroups?.length || !this.event.precreatedOptionGroups?.length || this.event.live) {\n return false;\n }\n\n const visibleOptions = this.event.optionGroups\n .filter((og) => og.detailedGrouping && og.detailedGrouping.displayType && og.detailedGrouping.displayType === this.betBuilderDisplayType)\n .flatMap((filtered) => filtered.options.filter((o) => isOptionVisible(o)));\n\n return this.event.precreatedOptionGroups.some((g) => {\n if (this.event.betBuilderInfo?.betBuilderProvider !== BetBuilderProvider.BybFootball) {\n return (\n g.builderOptionPricing.legInformation.length &&\n g.builderOptionPricing.legInformation.every((l) => l.resultState === ResultState.Open) &&\n g.options.every((o) => visibleOptions.some((vo) => vo.id === o.id))\n );\n }\n\n return g.options.every((o) => visibleOptions.some((vo) => vo.id === o.id));\n });\n }\n}\n"],"names":["ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","onEventTitleClick","ɵɵelementEnd","p","ɵɵproperty","optionGroup_r3","event","promoted","templateId","isCrmPromoted","crmPromoIdsMap","tracking","trackingModuleType","getThresholds","sourceOfPick","hideEventCarousel","showEventName","showEventTimer","toggleable","isLinkToEvent","showEventChevron","showMoreCounter","optionsLimitOverride","babButtonSource","betBuilderEpcotEnabled","getcollapsed","vm_r4","marketOptionGroup","hideMarketHeader","showSixPackLogosColor","showSixPackLogos","selectedSetId","optionMarketSetData","appendTooltipToWidgetSlot","ɵɵelementContainerStart","ɵɵtemplate","OptionGroupListComponent_ng_container_1_ng_container_1_ng_container_2_ms_option_panel_1_Template","C","ɵɵadvance","detailedGrouping","displayType","betBuilderDisplayType","shouldShowPrecreated","render$","renderStrategy$","OptionGroupListComponent_ng_container_1_ng_container_1_ng_container_2_Template","ɵɵclassProp","deviceService","isMobilePhone","forceSingleColumn","columns","length","ɵɵpipeBind3","column_r5","limit","trackByFn","OptionGroupListComponent_ng_container_1_ng_container_1_Template","trackByIndex","OptionGroupListComponent","optionGroups","value","_optionGroups$","next","optionPanelLimit","optionPanelLimit$","forceSingleColumn$","defaultExpandedMarketsCount","_defaultExpandedMarketsCount$","constructor","mediaService","columnLayoutService","betBuilderConfigService","strategy","crmPromotedMap","templateIds","markets","options","ReplaySubject","BehaviorSubject","undefined","page$","isSGP","SourceOfPick","Other","eventTitleClicked","EventEmitter","input","className","marketOptionGroups$","combineLatest","pipe","map","slice","TWO_COLUMNS_MIN_WIDTH","SINGLE_COLUMN_LIMIT_COUNT","step","centerColumnSize$","Subject","primaryStrategy","startWith","columns$","distinctUntilChanged","centerColumnSize","nrOfColumns","isActive","times","index","column","columnIndex","filter","_","limit$","page","vm$","ExtendedDisplayType","BetBuilder","destroyRef","inject","DestroyRef","eventOptionGroup","id","onColumnSizeChanged","width","ngOnInit","centerColumnSizeChanged","takeUntilDestroyed","subscribe","ngAfterViewInit","resetMeasurement","ngOnChanges","changes","_a","selectedSetIdChange","firstChange","precreatedGroupsAvailable","betBuilderInfo","betBuilderProvider","getMore","optionGroup","groupedMarkets","subGroups","originalId","_b","thresholds","templates","inOverlay","showEntainUiInOverlay","sport","isEmbeddedUi","showEmbeddedUi","source","BetBuilderTrackingValues","EventDetails","emit","marketOptionGroups","betBuilderTradingV2FixtureId","containsIdenticalOGPEventOptionGroup","x","name","longId","precreatedOptionGroups","live","visibleOptions","og","flatMap","filtered","o","isOptionVisible","some","g","builderOptionPricing","legInformation","every","l","resultState","vo","ɵɵdirectiveInject","DeviceService","MediaQueryService","ColumnLayoutService","BetBuilderConfigService","RxStrategyProvider","selectors","hostVars","hostBindings","rf","ctx","ɵɵclassMap","j","OptionGroupTabindexKeeperService","ɵɵNgOnChangesFeature","ɵɵStandaloneFeature","decls","vars","consts","template","OptionGroupListComponent_ng_container_1_Template","ɵɵpipeBind1","DirectivesModule","ScrolledToBottomDirective","NgIf","NgFor","RxIf","OptionPanelComponent","SlicePipe","AsyncPipe","encapsulation","_OptionGroupListComponent"],"mappings":"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"}