{"version":3,"file":"117.1aeba07f156caf9f.js","mappings":"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","names":["BiStdReceiverBaseService","constructor","http","this","getStdReceiverSubscriptions","customerId","phone","email","groupIds","params","isStringNullOrEmpty","encodeURIComponent","get","ApiRouting","stdReceiverEndpoints","getSubscriptionModuleModel","customerPublicId","subscribeToGroups","stdReceiver","post","unsubscribeGroups","stdReceiverId","sendSubscriptionGroupsReceipt","i0","i1","factory","ɵfac","_c0","_c1","_c2","_c3","_c4","_c5","_c6","_c7","_c8","_c9","a0","a1","$implicit","options","_c10","_c11","a2","_c12","_c13","height","_c14","_c15","_c16","_c17","index","_c18","Listbox_div_3_ng_container_2_Template","rf","ctx","Listbox_div_3_Template","ctx_r1","headerTemplate","modelValue","visibleOptions","Listbox_div_4_div_1_ng_container_5_CheckIcon_1_Template","Listbox_div_4_div_1_ng_container_5_span_2_1_ng_template_0_Template","Listbox_div_4_div_1_ng_container_5_span_2_1_Template","Listbox_div_4_div_1_ng_container_5_span_2_Template","checkIconTemplate","Listbox_div_4_div_1_ng_container_5_Template","Listbox_div_4_div_1_Template","_r3","$event","onToggleAll","onHeaderCheckboxKeyDown","onHeaderCheckboxFocus","onHeaderCheckboxBlur","disabled","toggleAllDisabled","allSelected","toggleAllAriaLabel","headerCheckboxFocus","Listbox_div_4_ng_container_2_ng_container_1_Template","Listbox_div_4_ng_container_2_Template","filterTemplate","filterOptions","Listbox_div_4_ng_template_3_div_0_SearchIcon_3_Template","Listbox_div_4_ng_template_3_div_0_span_4_1_ng_template_0_Template","Listbox_div_4_ng_template_3_div_0_span_4_1_Template","Listbox_div_4_ng_template_3_div_0_span_4_Template","filterIconTemplate","Listbox_div_4_ng_template_3_div_0_Template","_r4","onFilterChange","onFilterKeyDown","onFilterFocus","onFilterBlur","_filterValue","focused","tabindex","id","focusedOptionId","filterPlaceHolder","ariaFilterLabel","Listbox_div_4_ng_template_3_Template","filter","filterResultMessageText","Listbox_div_4_Template","builtInFilterElement_r5","checkbox","multiple","showToggleAll","Listbox_p_scroller_7_ng_template_2_ng_container_0_Template","Listbox_p_scroller_7_ng_template_2_Template","items_r7","scrollerOptions_r8","buildInItems_r9","Listbox_p_scroller_7_ng_container_3_ng_template_1_ng_container_0_Template","Listbox_p_scroller_7_ng_container_3_ng_template_1_Template","scrollerOptions_r10","loaderTemplate","Listbox_p_scroller_7_ng_container_3_Template","Listbox_p_scroller_7_Template","_r6","onLazyLoad","emit","scrollHeight","virtualScrollItemSize","lazy","virtualScrollOptions","scrollerTabIndex","Listbox_ng_container_8_ng_container_1_Template","Listbox_ng_container_8_Template","Listbox_ng_template_9_ng_template_2_ng_container_0_span_2_Template","option_r12","getOptionGroupLabel","optionGroup","Listbox_ng_template_9_ng_template_2_ng_container_0_ng_container_3_Template","Listbox_ng_template_9_ng_template_2_ng_container_0_Template","ctx_r12","i_r14","scrollerOptions_r15","itemSize","getOptionIndex","groupTemplate","Listbox_ng_template_9_ng_template_2_ng_container_1_div_2_ng_container_2_CheckIcon_1_Template","Listbox_ng_template_9_ng_template_2_ng_container_1_div_2_ng_container_2_span_2_1_ng_template_0_Template","Listbox_ng_template_9_ng_template_2_ng_container_1_div_2_ng_container_2_span_2_1_Template","Listbox_ng_template_9_ng_template_2_ng_container_1_div_2_ng_container_2_span_2_Template","Listbox_ng_template_9_ng_template_2_ng_container_1_div_2_ng_container_2_Template","Listbox_ng_template_9_ng_template_2_ng_container_1_div_2_Template","isOptionDisabled","isSelected","Listbox_ng_template_9_ng_template_2_ng_container_1_span_3_Template","getOptionLabel","Listbox_ng_template_9_ng_template_2_ng_container_1_ng_container_4_Template","Listbox_ng_template_9_ng_template_2_ng_container_1_Template","_r16","onOptionSelect","onOptionDoubleClick","onOptionMouseDown","onOptionMouseEnter","onOptionTouchEnd","focusedOptionIndex","ariaSetSize","getAriaPosInset","itemTemplate","Listbox_ng_template_9_ng_template_2_Template","isOptionGroup","Listbox_ng_template_9_li_3_ng_container_1_Template","emptyFilterMessageText","Listbox_ng_template_9_li_3_ng_container_2_Template","Listbox_ng_template_9_li_3_Template","emptyFilterTemplate","emptyTemplate","emptyFilter","Listbox_ng_template_9_li_4_ng_container_1_Template","emptyMessage","Listbox_ng_template_9_li_4_ng_container_2_Template","Listbox_ng_template_9_li_4_Template","empty","Listbox_ng_template_9_Template","_r11","onListFocus","onListBlur","onListKeyDown","items_r17","contentStyleClass","contentStyle","undefined","ariaLabel","hasFilter","isEmpty","Listbox_div_11_ng_container_2_Template","Listbox_div_11_Template","footerTemplate","Listbox_span_12_ng_container_1_Template","Listbox_span_12_ng_container_2_Template","selectedMessageText","Listbox_span_12_Template","hasEmptyMessage","LISTBOX_VALUE_ACCESSOR","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","Listbox","multi","el","cd","filterService","config","renderer","searchMessage","emptySelectionMessage","selectionMessage","autoOptionFocus","selectOnFocus","searchLocale","focusOnHover","filterMessage","filterFields","virtualScroll","style","styleClass","listStyle","listStyleClass","readonly","filterBy","filterMatchMode","filterLocale","metaKeySelection","dataKey","optionLabel","optionValue","optionGroupChildren","optionGroupLabel","optionDisabled","emptyFilterMessage","group","_options","val","set","filterValue","selectAll","_selectAll","value","onChange","EventEmitter","onClick","onDblClick","onFilter","onFocus","onBlur","onSelectAllChange","headerCheckboxViewChild","filterViewChild","lastHiddenFocusableElement","firstHiddenFocusableElement","scroller","listViewChild","wrapperViewChild","headerFacet","footerFacet","templates","signal","_filteredOptions","filtered","onModelChange","onModelTouched","optionTouched","focus","translationSubscription","containerClass","ObjectUtils","isNotEmpty","filterMessageText","replaceAll","length","translation","searchMessageText","emptySearchMessage","selectionMessageText","emptySelectionMessageText","hasSelectedOption","option","virtualScrollerDisabled","searchFields","aria","searchValue","searchTimeout","startRangeIndex","computed","flatOptions","toString","toLocaleLowerCase","indexOf","trim","ngOnInit","UniqueComponentId","translationObserver","subscribe","markForCheck","autoUpdateModel","reset","resetFilter","ngAfterContentInit","forEach","item","getType","template","writeValue","registerOnChange","fn","registerOnTouched","setDisabledState","reduce","result","push","getOptionGroupChildren","o","findFirstFocusedOptionIndex","updateModel","event","originalEvent","removeOption","equals","getOptionValue","equalityKey","onOptionSelectMultiple","onOptionSelectSingle","selected","metaKey","ctrlKey","valueChanged","onOptionSelectRange","start","end","findNearestSelectedOptionIndex","rangeStart","Math","min","rangeEnd","max","slice","isValidOption","map","DomHandler","nativeElement","checked","preventDefault","every","changeFocusedOptionIndex","onFirstHiddenFocus","firstFocusableEl","getFirstFocusableElement","tabIndex","onLastHiddenFocus","relatedTarget","onFocusout","contains","code","onHeaderCheckboxTabKeyDown","target","scrollToIndex","onArrowDownKey","onArrowUpKey","onHomeKey","onEndKey","onPageDownKey","onPageUpKey","onSpaceKey","onShiftKey","isPrintableCharacter","key","searchOptions","onArrowLeftKey","onEnterKey","optionIndex","findNextOptionIndex","shiftKey","findPrevOptionIndex","findLastFocusedOptionIndex","pressedInInputText","currentTarget","setSelectionRange","findFirstOptionIndex","len","findLastOptionIndex","scrollInView","resolveFieldData","items","label","scrollerOptions","getItemOptions","char","matched","findIndex","isOptionMatched","clearTimeout","setTimeout","startsWith","element","findSingle","scrollIntoView","block","inline","findLastIndex","selectedIndex","findFirstSelectedOptionIndex","findLastSelectedOptionIndex","isValidSelectedOption","matchedOptionIndex","findNextSelectedOptionIndex","findPrevSelectedOptionIndex","firstCheckUp","some","ngOnDestroy","unsubscribe","static","__ngFactoryType__","type","selectors","contentQueries","dirIndex","Header","Footer","PrimeTemplate","_t","first","viewQuery","hostAttrs","inputs","booleanAttribute","numberAttribute","outputs","standalone","features","ngContentSelectors","decls","vars","consts","_r1","dependencies","i2","i3","i4","SearchIcon","CheckIcon","styles","encapsulation","changeDetection","ListboxModule","imports","CommonModule","SharedModule","RippleModule","ScrollerModule","SubscriptionStdReceiverSharedService","SubscriptionModuleBaseSharedService","localizor","activeRoute","stdReceiverService","super","getSubscriptionListData","currentSubscriberInfo","mobileNumber","urlParams","pipe","tap","data","currentStdReceiverId","standardReceiverId","currentStdReceiverId2","standardReceiverId2","initModuleConfigObject","publicId","countryId","languageConfig","getLanguageConfigByCountry","disclaimerText","moduleConfigModel","mobileEmailName","name","saving","GroupSubscriptionComponent_ng_container_0_p_2_Template","GroupSubscriptionComponent_ng_container_0_p_3_Template","GroupSubscriptionComponent_ng_container_0_p_4_Template","GroupSubscriptionComponent_ng_container_0_bi_spinner_6_Template","onGroupSelectionChanged","onSaveClicked","loading","groupsControl","groupSubscriptions$","groupsForUpdate","GroupSubscriptionComponent","hostClass","sharedService","notifier","translator","announcer","onReset","FormControl","allGroups","announce","instant","getCurrentSubscriberInfo","take","finalize","catchError","error","status","showConflictMessage","of","groupSubscriptions","setValue","g","isSubscribed","idx","groupId","splice","subscribed","groupsToSubscribe","groupsToUnsubscribe","newReceiverInfo","createSubscriptions","receiverId","notify","phoneNumbers","phoneNumber","phoneNumberType","PhoneNumberTypeEnum","Mobile","primary","landlineNumber","LandLine","receiver","subscribeObservable","unsubscribeObservable","forkJoin","untilDestroyed","switchMap","unSubscriberId","subscriberId","detectChanges","next","currentSubscriberId","createNotification","BiNotificationConfig","err","handleError","newId","errorMessage","NotificationType","ERROR","i5","hostVars","hostBindings","GroupSubscriptionComponent_ng_container_0_Template","GroupSubscriptionComponent_ng_template_1_Template","conflictMessage_r4","__decorate","UntilDestroy","_r2","ctx_r2","IframeSubscriptionStdReceiverComponent_ng_container_0_ng_container_1_form_16_div_5_p_5_Template","IframeSubscriptionStdReceiverComponent_ng_container_0_ng_container_1_form_16_div_5_p_6_Template","emailCtrl","errors","touched","required","_r5","onCaptchaSuccess","googleCaptchaConfig","siteKey","language","IframeSubscriptionStdReceiverComponent_ng_container_0_ng_container_1_form_16_p_4_Template","IframeSubscriptionStdReceiverComponent_ng_container_0_ng_container_1_form_16_div_5_Template","IframeSubscriptionStdReceiverComponent_ng_container_0_ng_container_1_form_16_p_13_Template","IframeSubscriptionStdReceiverComponent_ng_container_0_ng_container_1_form_16_div_14_Template","onOkOrSendCodeClicked","mobileEmailForm","mobileCtrl","hideEmailInput","nameCtrl","dirty","showCaptcha","invalid","pristine","disableAuth","pinValid","onVerifyPinCode","toggleEnterPinAreaVisibility","IframeSubscriptionStdReceiverComponent_ng_container_0_ng_container_1_div_18_bi_spinner_11_Template","IframeSubscriptionStdReceiverComponent_ng_container_0_ng_container_1_div_18_p_12_Template","pinCodeCtrl","verifyingPinCode","pinVerified","_r7","_r8","showDisclaimer","IframeSubscriptionStdReceiverComponent_ng_container_0_ng_container_1_button_7_Template","IframeSubscriptionStdReceiverComponent_ng_container_0_ng_container_1_form_16_Template","IframeSubscriptionStdReceiverComponent_ng_container_0_ng_container_1_bi_spinner_17_Template","IframeSubscriptionStdReceiverComponent_ng_container_0_ng_container_1_div_18_Template","IframeSubscriptionStdReceiverComponent_ng_container_0_ng_container_1_group_subscription_20_Template","IframeSubscriptionStdReceiverComponent_ng_container_0_ng_container_1_bi_spinner_24_Template","IframeSubscriptionStdReceiverComponent_ng_container_0_ng_container_1_p_card_25_Template","hideBackBtn","currentStep","showEnterPinArea","subHeaderTranslationKey","requestingPinCode","IframeSubscriptionStdReceiverComponent_ng_container_0_ng_container_1_Template","IframeSubscriptionStdReceiverComponent_ng_container_0_p_card_2_Template","customerGuidMissing","IframeSubscriptionStdReceiverComponent","SubscriptionModuleBase","subscriptionService","isNameRequired","pageNameId","PageNames","SubscriptionStdReceiver","IframeSubscriptionStdReceiverComponent_ng_container_0_Template","IframeSubscriptionStdReceiverComponent_ng_template_1_Template","spinner_r9","CustomAnimations","fadeInOut","fadeIn","primeModules","ButtonModule","PanelModule","InputTextModule","CardModule","IframeSubscriptionStdReceiverModule","domService","loadStyle","BiDomService","BiLocalizationHelperBaseService","BiToastNotificationService","SubscribeModuleBaseService","FormsModule","ReactiveFormsModule","A11yModule","BiSpinnerModule","BiPhoneInputComponent","GlobalPipesModule","NgxCaptchaModule","RouterModule","forChild","path","component"],"ignoreList":[],"sourceRoot":"webpack:///","sources":["./app-globals/services/bi-std-receivers-base.service.ts","./node_modules/primeng/fesm2022/primeng-listbox.mjs","./side-projects/iframe-modules/src/app/subscribe-unsubscribe/subscription-module-std-receivers/subscription-std-receiver-shared.service.ts","./side-projects/iframe-modules/src/app/subscribe-unsubscribe/subscription-module-std-receivers/group-subscription/group-subscription.component.html","./side-projects/iframe-modules/src/app/subscribe-unsubscribe/subscription-module-std-receivers/group-subscription/group-subscription.component.ts","./side-projects/iframe-modules/src/app/subscribe-unsubscribe/subscription-module-std-receivers/iframe-subscription-std-receiver.component.html","./side-projects/iframe-modules/src/app/subscribe-unsubscribe/subscription-module-std-receivers/iframe-subscription-std-receiver.component.ts","./side-projects/iframe-modules/src/app/subscribe-unsubscribe/subscription-module-std-receivers/iframe-subscription-std-receiver.module.ts"],"sourcesContent":["import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { ApiRouting } from \"@globals/classes/ApiRouting\";\r\nimport { isStringNullOrEmpty } from \"@globals/helper-functions\";\r\nimport { StandardReceiverDto } from \"@globals/openapi-models/model/standardReceiverDto\";\r\nimport { StandardReceiverSubscriptionDto } from \"@globals/openapi-models/model/standardReceiverSubscriptionDto\";\r\nimport { StandardReceiverSubscriptionModuleDto } from \"@globals/openapi-models/model/standardReceiverSubscriptionModuleDto\";\r\n\r\n@Injectable()\r\nexport class BiStdReceiverBaseService {\r\n constructor(private readonly http: HttpClient) {}\r\n\r\n /**\r\n * Returns all std. receiver groups for a customer which is active for subscription. If a standardreceiver with the provided info\r\n * doesn't exist, the result will just have a null receiver id and then a list of all the groups.\r\n * @param groupIds String being a comma separated list of standard receiver group IDs. Relevant if the subscription\r\n * module is only for specific groups\r\n * @returns A list of StandardReceiverSubscriptionModels\r\n */\r\n public getStdReceiverSubscriptions(customerId: number, phone?: string, email?: string, groupIds?: string) {\r\n const params = {\r\n customerId: customerId\r\n };\r\n if (!isStringNullOrEmpty(email)) params[\"email\"] = email;\r\n if (phone) params[\"phone\"] = encodeURIComponent(phone); // encoding needed because of \"+\" prefix\r\n if (groupIds) params[\"groupIds\"] = groupIds;\r\n\r\n return this.http.get(ApiRouting.stdReceiverEndpoints.get.getStdReceiverSubscriptions, {\r\n params: params\r\n });\r\n }\r\n\r\n /**\r\n * Returns model for the std. receiver subscription module containing the necessary settings as defined on customer.\r\n * @param customerPublicId The customer GUID\r\n */\r\n public getSubscriptionModuleModel(customerPublicId: string) {\r\n const params = {\r\n customerPublicId: customerPublicId\r\n };\r\n\r\n return this.http.get(ApiRouting.stdReceiverEndpoints.get.getSubscriptionModuleModel, { params: params });\r\n }\r\n\r\n /**\r\n * Makes a subscription between a std. receiver and a group. If id of the stdReceiver model is not set, a new receiver will be created\r\n */\r\n public subscribeToGroups(customerId: number, stdReceiver: StandardReceiverDto) {\r\n return this.http.post(ApiRouting.stdReceiverEndpoints.post.subscribeToGroups, stdReceiver, {\r\n params: { customerId: customerId }\r\n });\r\n }\r\n\r\n /**\r\n * Unsubscribes/removes a std. receiver from goups\r\n */\r\n public unsubscribeGroups(customerId: number, stdReceiverId: number, groupIds: Array) {\r\n const params = {\r\n customerId: customerId,\r\n stdReceiverId: stdReceiverId\r\n };\r\n return this.http.post(ApiRouting.stdReceiverEndpoints.post.unsubscribeGroups, groupIds, { params: params });\r\n }\r\n\r\n /**\r\n * Send subscription groups receipt message to a std. receiver\r\n */\r\n public sendSubscriptionGroupsReceipt(customerId: number, stdReceiverId: number) {\r\n const params = {\r\n customerId,\r\n stdReceiverId\r\n };\r\n return this.http.post(ApiRouting.stdReceiverEndpoints.post.sendSubscriptionGroupsReceipt, null, { params: params });\r\n }\r\n}\r\n","import * as i0 from '@angular/core';\nimport { forwardRef, EventEmitter, signal, computed, booleanAttribute, numberAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, ViewChild, ContentChild, ContentChildren, NgModule } from '@angular/core';\nimport * as i2 from '@angular/common';\nimport { CommonModule } from '@angular/common';\nimport * as i1 from 'primeng/api';\nimport { Header, Footer, PrimeTemplate, SharedModule } from 'primeng/api';\nimport { DomHandler } from 'primeng/dom';\nimport { ObjectUtils, UniqueComponentId } from 'primeng/utils';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport * as i3 from 'primeng/ripple';\nimport { RippleModule } from 'primeng/ripple';\nimport { SearchIcon } from 'primeng/icons/search';\nimport { CheckIcon } from 'primeng/icons/check';\nimport * as i4 from 'primeng/scroller';\nimport { ScrollerModule } from 'primeng/scroller';\n\nconst LISTBOX_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Listbox),\n multi: true\n};\n/**\n * ListBox is used to select one or more values from a list of items.\n * @group Components\n */\nclass Listbox {\n el;\n cd;\n filterService;\n config;\n renderer;\n /**\n * Unique identifier of the component.\n * @group Props\n */\n id;\n /**\n * Text to display when the search is active. Defaults to global value in i18n translation configuration.\n * @group Props\n * @defaultValue '{0} results are available'\n */\n searchMessage;\n /**\n * Text to display when filtering does not return any results. Defaults to global value in i18n translation configuration.\n * @group Props\n * @defaultValue 'No selected item'\n */\n emptySelectionMessage;\n /**\n * Text to be displayed in hidden accessible field when options are selected. Defaults to global value in i18n translation configuration.\n * @group Props\n * @defaultValue '{0} items selected'\n */\n selectionMessage;\n /**\n * Whether to focus on the first visible or selected element when the overlay panel is shown.\n * @group Props\n */\n autoOptionFocus = true;\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n ariaLabel;\n /**\n * When enabled, the focused option is selected.\n * @group Props\n */\n selectOnFocus;\n /**\n * Locale to use in searching. The default locale is the host environment's current locale.\n * @group Props\n */\n searchLocale;\n /**\n * When enabled, the hovered option will be focused.\n * @group Props\n */\n focusOnHover;\n /**\n * Text to display when filtering.\n * @group Props\n */\n filterMessage;\n /**\n * Fields used when filtering the options, defaults to optionLabel.\n * @group Props\n */\n filterFields;\n /**\n * Defines if data is loaded and interacted with in lazy manner.\n * @group Props\n */\n lazy = false;\n /**\n * Whether the data should be loaded on demand during scroll.\n * @group Props\n */\n virtualScroll;\n /**\n * Height of an item in the list for VirtualScrolling.\n * @group Props\n */\n virtualScrollItemSize;\n /**\n * Whether to use the scroller feature. The properties of scroller component can be used like an object in it.\n * @group Props\n */\n virtualScrollOptions;\n /**\n * Height of the viewport in pixels, a scrollbar is defined if height of list exceeds this value.\n * @group Props\n */\n scrollHeight = '200px';\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n tabindex = 0;\n /**\n * When specified, allows selecting multiple values.\n * @group Props\n */\n multiple;\n /**\n * Inline style of the container.\n * @group Props\n */\n style;\n /**\n * Style class of the container.\n * @group Props\n */\n styleClass;\n /**\n * Inline style of the list element.\n * @group Props\n */\n listStyle;\n /**\n * Style class of the list element.\n * @group Props\n */\n listStyleClass;\n /**\n * When present, it specifies that the element value cannot be changed.\n * @group Props\n */\n readonly;\n /**\n * When present, it specifies that the element should be disabled.\n * @group Props\n */\n disabled;\n /**\n * When specified, allows selecting items with checkboxes.\n * @group Props\n */\n checkbox = false;\n /**\n * When specified, displays a filter input at header.\n * @group Props\n */\n filter = false;\n /**\n * When filtering is enabled, filterBy decides which field or fields (comma separated) to search against.\n * @group Props\n */\n filterBy;\n /**\n * Defines how the items are filtered.\n * @group Props\n */\n filterMatchMode = 'contains';\n /**\n * Locale to use in filtering. The default locale is the host environment's current locale.\n * @group Props\n */\n filterLocale;\n /**\n * Defines how multiple items can be selected, when true metaKey needs to be pressed to select or unselect an item and when set to false selection of each item can be toggled individually. On touch enabled devices, metaKeySelection is turned off automatically.\n * @group Props\n */\n metaKeySelection = false;\n /**\n * A property to uniquely identify a value in options.\n * @group Props\n */\n dataKey;\n /**\n * Whether header checkbox is shown in multiple mode.\n * @group Props\n */\n showToggleAll = true;\n /**\n * Name of the label field of an option.\n * @group Props\n */\n optionLabel;\n /**\n * Name of the value field of an option.\n * @group Props\n */\n optionValue;\n /**\n * Name of the options field of an option group.\n * @group Props\n */\n optionGroupChildren = 'items';\n /**\n * Name of the label field of an option group.\n * @group Props\n */\n optionGroupLabel = 'label';\n /**\n * Name of the disabled field of an option.\n * @group Props\n */\n optionDisabled;\n /**\n * Defines a string that labels the filter input.\n * @group Props\n */\n ariaFilterLabel;\n /**\n * Defines placeholder of the filter input.\n * @group Props\n */\n filterPlaceHolder;\n /**\n * Text to display when filtering does not return any results.\n * @group Props\n */\n emptyFilterMessage;\n /**\n * Text to display when there is no data. Defaults to global value in i18n translation configuration.\n * @group Props\n */\n emptyMessage;\n /**\n * Whether to display options as grouped when nested options are provided.\n * @group Props\n */\n group;\n /**\n * An array of selectitems to display as the available options.\n * @group Props\n */\n get options() {\n return this._options();\n }\n set options(val) {\n this._options.set(val);\n }\n /**\n * When specified, filter displays with this value.\n * @group Props\n */\n get filterValue() {\n return this._filterValue();\n }\n set filterValue(val) {\n this._filterValue.set(val);\n }\n /**\n * Whether all data is selected.\n * @group Props\n */\n get selectAll() {\n return this._selectAll;\n }\n set selectAll(value) {\n this._selectAll = value;\n }\n /**\n * Callback to invoke on value change.\n * @param {ListboxChangeEvent} event - Custom change event.\n * @group Emits\n */\n onChange = new EventEmitter();\n /**\n * Callback to invoke when option is clicked.\n * @param {ListboxClickEvent} event - Custom click event.\n * @group Emits\n */\n onClick = new EventEmitter();\n /**\n * Callback to invoke when option is double clicked.\n * @param {ListboxDoubleClickEvent} event - Custom double click event.\n * @group Emits\n */\n onDblClick = new EventEmitter();\n /**\n * Callback to invoke when data is filtered.\n * @param {ListboxFilterEvent} event - Custom filter event.\n * @group Emits\n */\n onFilter = new EventEmitter();\n /**\n * Callback to invoke when component receives focus.\n * @param {FocusEvent} event - Focus event.\n * @group Emits\n */\n onFocus = new EventEmitter();\n /**\n * Callback to invoke when component loses focus.\n * @param {FocusEvent} event - Blur event.\n * @group Emits\n */\n onBlur = new EventEmitter();\n /**\n * Callback to invoke when all data is selected.\n * @param {ListboxSelectAllChangeEvent} event - Custom select event.\n * @group Emits\n */\n onSelectAllChange = new EventEmitter();\n headerCheckboxViewChild;\n filterViewChild;\n lastHiddenFocusableElement;\n firstHiddenFocusableElement;\n scroller;\n listViewChild;\n wrapperViewChild;\n headerFacet;\n footerFacet;\n templates;\n itemTemplate;\n groupTemplate;\n headerTemplate;\n filterTemplate;\n footerTemplate;\n emptyFilterTemplate;\n emptyTemplate;\n filterIconTemplate;\n checkIconTemplate;\n _filterValue = signal(null);\n _filteredOptions;\n filterOptions;\n filtered;\n value;\n onModelChange = () => { };\n onModelTouched = () => { };\n optionTouched;\n focus;\n headerCheckboxFocus;\n translationSubscription;\n focused;\n scrollerTabIndex = '0';\n get containerClass() {\n return {\n 'p-listbox p-component': true,\n 'p-disabled': this.disabled\n };\n }\n get focusedOptionId() {\n return this.focusedOptionIndex() !== -1 ? `${this.id}_${this.focusedOptionIndex()}` : null;\n }\n get filterResultMessageText() {\n return ObjectUtils.isNotEmpty(this.visibleOptions()) ? this.filterMessageText.replaceAll('{0}', this.visibleOptions().length) : this.emptyFilterMessageText;\n }\n get filterMessageText() {\n return this.filterMessage || this.config.translation.searchMessage || '';\n }\n get searchMessageText() {\n return this.searchMessage || this.config.translation.searchMessage || '';\n }\n get emptyFilterMessageText() {\n return this.emptyFilterMessage || this.config.translation.emptySearchMessage || this.config.translation.emptyFilterMessage || '';\n }\n get selectionMessageText() {\n return this.selectionMessage || this.config.translation.selectionMessage || '';\n }\n get emptySelectionMessageText() {\n return this.emptySelectionMessage || this.config.translation.emptySelectionMessage || '';\n }\n get selectedMessageText() {\n return this.hasSelectedOption() ? this.selectionMessageText.replaceAll('{0}', this.multiple ? this.modelValue().length : '1') : this.emptySelectionMessageText;\n }\n get ariaSetSize() {\n return this.visibleOptions().filter((option) => !this.isOptionGroup(option)).length;\n }\n get virtualScrollerDisabled() {\n return !this.virtualScroll;\n }\n get searchFields() {\n return this.filterFields || [this.optionLabel];\n }\n get toggleAllAriaLabel() {\n return this.config.translation.aria ? this.config.translation.aria[this.allSelected() ? 'selectAll' : 'unselectAll'] : undefined;\n }\n searchValue;\n searchTimeout;\n _selectAll = null;\n _options = signal(null);\n startRangeIndex = signal(-1);\n focusedOptionIndex = signal(-1);\n modelValue = signal(null);\n visibleOptions = computed(() => {\n const options = this.group ? this.flatOptions(this._options()) : this._options() || [];\n const filterValue = this._filterValue();\n if (this.searchFields[0] === undefined) {\n return filterValue ? options.filter((option) => option.toString().toLocaleLowerCase(this.filterLocale).indexOf(filterValue.toLocaleLowerCase(this.filterLocale).trim()) !== -1) : options;\n }\n else\n return filterValue ? this.filterService.filter(options, this.searchFields, filterValue, this.filterMatchMode, this.filterLocale) : options;\n });\n constructor(el, cd, filterService, config, renderer) {\n this.el = el;\n this.cd = cd;\n this.filterService = filterService;\n this.config = config;\n this.renderer = renderer;\n }\n ngOnInit() {\n this.id = this.id || UniqueComponentId();\n this.translationSubscription = this.config.translationObserver.subscribe(() => {\n this.cd.markForCheck();\n });\n this.autoUpdateModel();\n if (this.filterBy) {\n this.filterOptions = {\n filter: (value) => this.onFilterChange(value),\n reset: () => this.resetFilter()\n };\n }\n }\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'item':\n this.itemTemplate = item.template;\n break;\n case 'group':\n this.groupTemplate = item.template;\n break;\n case 'header':\n this.headerTemplate = item.template;\n break;\n case 'filter':\n this.filterTemplate = item.template;\n break;\n case 'footer':\n this.footerTemplate = item.template;\n break;\n case 'empty':\n this.emptyTemplate = item.template;\n break;\n case 'emptyfilter':\n this.emptyFilterTemplate = item.template;\n break;\n case 'filtericon':\n this.filterIconTemplate = item.template;\n break;\n case 'checkicon':\n this.checkIconTemplate = item.template;\n break;\n default:\n this.itemTemplate = item.template;\n break;\n }\n });\n }\n writeValue(value) {\n this.value = value;\n this.modelValue.set(this.value);\n this.cd.markForCheck();\n }\n registerOnChange(fn) {\n this.onModelChange = fn;\n }\n registerOnTouched(fn) {\n this.onModelTouched = fn;\n }\n setDisabledState(val) {\n this.disabled = val;\n this.cd.markForCheck();\n }\n flatOptions(options) {\n return (options || []).reduce((result, option, index) => {\n result.push({ optionGroup: option, group: true, index });\n const optionGroupChildren = this.getOptionGroupChildren(option);\n optionGroupChildren && optionGroupChildren.forEach((o) => result.push(o));\n return result;\n }, []);\n }\n autoUpdateModel() {\n if (this.selectOnFocus && this.autoOptionFocus && !this.hasSelectedOption() && !this.multiple) {\n const focusedOptionIndex = this.findFirstFocusedOptionIndex();\n this.focusedOptionIndex.set(focusedOptionIndex);\n this.onOptionSelect(null, this.visibleOptions()[this.focusedOptionIndex()]);\n }\n }\n /**\n * Updates the model value.\n * @group Method\n */\n updateModel(value, event) {\n this.value = value;\n this.modelValue.set(value);\n this.onModelChange(value);\n this.onChange.emit({ originalEvent: event, value: this.value });\n }\n removeOption(option) {\n return this.modelValue().filter((val) => !ObjectUtils.equals(val, this.getOptionValue(option), this.equalityKey()));\n }\n onOptionSelect(event, option, index = -1) {\n if (this.disabled || this.isOptionDisabled(option) || this.readonly) {\n return;\n }\n event && this.onClick.emit({ originalEvent: event, option, value: this.value });\n this.multiple ? this.onOptionSelectMultiple(event, option) : this.onOptionSelectSingle(event, option);\n this.optionTouched = false;\n index !== -1 && this.focusedOptionIndex.set(index);\n }\n onOptionSelectMultiple(event, option) {\n let selected = this.isSelected(option);\n let value = null;\n let metaSelection = this.optionTouched ? false : this.metaKeySelection;\n if (metaSelection) {\n let metaKey = event.metaKey || event.ctrlKey;\n if (selected) {\n value = metaKey ? this.removeOption(option) : [this.getOptionValue(option)];\n }\n else {\n value = metaKey ? this.modelValue() || [] : [];\n value = [...value, this.getOptionValue(option)];\n }\n }\n else {\n value = selected ? this.removeOption(option) : [...(this.modelValue() || []), this.getOptionValue(option)];\n }\n this.updateModel(value, event);\n }\n onOptionSelectSingle(event, option) {\n let selected = this.isSelected(option);\n let valueChanged = false;\n let value = null;\n let metaSelection = this.optionTouched ? false : this.metaKeySelection;\n if (metaSelection) {\n let metaKey = event.metaKey || event.ctrlKey;\n if (selected) {\n if (metaKey) {\n value = null;\n valueChanged = true;\n }\n }\n else {\n value = this.getOptionValue(option);\n valueChanged = true;\n }\n }\n else {\n value = selected ? null : this.getOptionValue(option);\n valueChanged = true;\n }\n if (valueChanged) {\n this.updateModel(value, event);\n }\n }\n onOptionSelectRange(event, start = -1, end = -1) {\n start === -1 && (start = this.findNearestSelectedOptionIndex(end, true));\n end === -1 && (end = this.findNearestSelectedOptionIndex(start));\n if (start !== -1 && end !== -1) {\n const rangeStart = Math.min(start, end);\n const rangeEnd = Math.max(start, end);\n const value = this.visibleOptions()\n .slice(rangeStart, rangeEnd + 1)\n .filter((option) => this.isValidOption(option))\n .map((option) => this.getOptionValue(option));\n this.updateModel(value, event);\n }\n }\n onToggleAll(event) {\n if (this.disabled || this.readonly) {\n return;\n }\n DomHandler.focus(this.headerCheckboxViewChild.nativeElement);\n if (this.selectAll !== null) {\n this.onSelectAllChange.emit({\n originalEvent: event,\n checked: !this.allSelected()\n });\n }\n else {\n const value = this.allSelected()\n ? []\n : this.visibleOptions()\n .filter((option) => this.isValidOption(option))\n .map((option) => this.getOptionValue(option));\n this.updateModel(value, event);\n }\n event.preventDefault();\n // event.stopPropagation();\n }\n allSelected() {\n return this.selectAll !== null ? this.selectAll : ObjectUtils.isNotEmpty(this.visibleOptions()) && this.visibleOptions().every((option) => this.isOptionGroup(option) || this.isOptionDisabled(option) || this.isSelected(option));\n }\n onOptionTouchEnd() {\n if (this.disabled) {\n return;\n }\n this.optionTouched = true;\n }\n onOptionMouseDown(event, index) {\n this.changeFocusedOptionIndex(event, index);\n }\n onOptionMouseEnter(event, index) {\n if (this.focusOnHover) {\n this.changeFocusedOptionIndex(event, index);\n }\n }\n onOptionDoubleClick(event, option) {\n if (this.disabled || this.isOptionDisabled(option) || this.readonly) {\n return;\n }\n this.onDblClick.emit({\n originalEvent: event,\n option: option,\n value: this.value\n });\n }\n onFirstHiddenFocus(event) {\n DomHandler.focus(this.listViewChild.nativeElement);\n const firstFocusableEl = DomHandler.getFirstFocusableElement(this.el.nativeElement, ':not([data-p-hidden-focusable=\"true\"])');\n this.lastHiddenFocusableElement.nativeElement.tabIndex = ObjectUtils.isEmpty(firstFocusableEl) ? '-1' : undefined;\n this.firstHiddenFocusableElement.nativeElement.tabIndex = -1;\n }\n onLastHiddenFocus(event) {\n const relatedTarget = event.relatedTarget;\n if (relatedTarget === this.listViewChild.nativeElement) {\n const firstFocusableEl = DomHandler.getFirstFocusableElement(this.el.nativeElement, ':not(.p-hidden-focusable)');\n DomHandler.focus(firstFocusableEl);\n this.firstHiddenFocusableElement.nativeElement.tabIndex = undefined;\n }\n else {\n DomHandler.focus(this.firstHiddenFocusableElement.nativeElement);\n }\n this.lastHiddenFocusableElement.nativeElement.tabIndex = -1;\n }\n onFocusout(event) {\n if (!this.el.nativeElement.contains(event.relatedTarget) && this.lastHiddenFocusableElement && this.firstHiddenFocusableElement) {\n this.firstHiddenFocusableElement.nativeElement.tabIndex = this.lastHiddenFocusableElement.nativeElement.tabIndex = undefined;\n this.wrapperViewChild.nativeElement.tabIndex = '0';\n this.scrollerTabIndex = '0';\n }\n }\n onListFocus(event) {\n this.focused = true;\n const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;\n this.focusedOptionIndex.set(focusedOptionIndex);\n this.onFocus.emit(event);\n this.wrapperViewChild.nativeElement.tabIndex = '-1';\n this.scrollerTabIndex = '-1';\n }\n onListBlur(event) {\n this.focused = false;\n this.focusedOptionIndex.set(-1);\n this.startRangeIndex.set(-1);\n this.searchValue = '';\n }\n onHeaderCheckboxFocus(event) {\n this.headerCheckboxFocus = true;\n }\n onHeaderCheckboxBlur() {\n this.headerCheckboxFocus = false;\n }\n onHeaderCheckboxKeyDown(event) {\n if (this.disabled) {\n event.preventDefault();\n return;\n }\n switch (event.code) {\n case 'Space':\n this.onToggleAll(event);\n break;\n case 'Enter':\n this.onToggleAll(event);\n break;\n case 'Tab':\n this.onHeaderCheckboxTabKeyDown(event);\n break;\n default:\n break;\n }\n }\n onHeaderCheckboxTabKeyDown(event) {\n DomHandler.focus(this.listViewChild.nativeElement);\n event.preventDefault();\n }\n onFilterChange(event) {\n let value = event.target.value?.trim();\n this._filterValue.set(value);\n this.focusedOptionIndex.set(-1);\n this.startRangeIndex.set(-1);\n this.onFilter.emit({ originalEvent: event, filter: this._filterValue() });\n !this.virtualScrollerDisabled && this.scroller.scrollToIndex(0);\n }\n onFilterFocus(event) {\n this.wrapperViewChild.nativeElement.tabIndex = '-1';\n }\n onFilterBlur(event) {\n this.focusedOptionIndex.set(-1);\n this.startRangeIndex.set(-1);\n }\n onListKeyDown(event) {\n const metaKey = event.metaKey || event.ctrlKey;\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n case 'Home':\n this.onHomeKey(event);\n break;\n case 'End':\n this.onEndKey(event);\n break;\n case 'PageDown':\n this.onPageDownKey(event);\n break;\n case 'PageUp':\n this.onPageUpKey(event);\n break;\n case 'Enter':\n case 'Space':\n case 'NumpadEnter':\n this.onSpaceKey(event);\n break;\n case 'Tab':\n //NOOP\n break;\n case 'ShiftLeft':\n case 'ShiftRight':\n this.onShiftKey();\n break;\n default:\n if (this.multiple && event.code === 'KeyA' && metaKey) {\n const value = this.visibleOptions()\n .filter((option) => this.isValidOption(option))\n .map((option) => this.getOptionValue(option));\n this.updateModel(value, event);\n event.preventDefault();\n break;\n }\n if (!metaKey && ObjectUtils.isPrintableCharacter(event.key)) {\n this.searchOptions(event, event.key);\n event.preventDefault();\n }\n break;\n }\n }\n onFilterKeyDown(event) {\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n case 'ArrowLeft':\n case 'ArrowRight':\n this.onArrowLeftKey(event, true);\n break;\n case 'Home':\n this.onHomeKey(event, true);\n break;\n case 'End':\n this.onEndKey(event, true);\n break;\n case 'Enter':\n this.onEnterKey(event);\n break;\n case 'ShiftLeft':\n case 'ShiftRight':\n this.onShiftKey();\n break;\n default:\n break;\n }\n }\n onArrowDownKey(event) {\n const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.findFirstFocusedOptionIndex();\n if (this.multiple && event.shiftKey) {\n this.onOptionSelectRange(event, this.startRangeIndex(), optionIndex);\n }\n this.changeFocusedOptionIndex(event, optionIndex);\n event.preventDefault();\n }\n onArrowUpKey(event) {\n const optionIndex = this.focusedOptionIndex() !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex()) : this.findLastFocusedOptionIndex();\n if (this.multiple && event.shiftKey) {\n this.onOptionSelectRange(event, optionIndex, this.startRangeIndex());\n }\n this.changeFocusedOptionIndex(event, optionIndex);\n event.preventDefault();\n }\n onArrowLeftKey(event, pressedInInputText = false) {\n pressedInInputText && this.focusedOptionIndex.set(-1);\n }\n onHomeKey(event, pressedInInputText = false) {\n if (pressedInInputText) {\n event.currentTarget.setSelectionRange(0, 0);\n this.focusedOptionIndex.set(-1);\n }\n else {\n let metaKey = event.metaKey || event.ctrlKey;\n let optionIndex = this.findFirstOptionIndex();\n if (this.multiple && event.shiftKey && metaKey) {\n this.onOptionSelectRange(event, optionIndex, this.startRangeIndex());\n }\n this.changeFocusedOptionIndex(event, optionIndex);\n }\n event.preventDefault();\n }\n onEndKey(event, pressedInInputText = false) {\n if (pressedInInputText) {\n const target = event.currentTarget;\n const len = target.value.length;\n target.setSelectionRange(len, len);\n this.focusedOptionIndex.set(-1);\n }\n else {\n let metaKey = event.metaKey || event.ctrlKey;\n let optionIndex = this.findLastOptionIndex();\n if (this.multiple && event.shiftKey && metaKey) {\n this.onOptionSelectRange(event, this.startRangeIndex(), optionIndex);\n }\n this.changeFocusedOptionIndex(event, optionIndex);\n }\n event.preventDefault();\n }\n onPageDownKey(event) {\n this.scrollInView(0);\n event.preventDefault();\n }\n onPageUpKey(event) {\n this.scrollInView(this.visibleOptions().length - 1);\n event.preventDefault();\n }\n onEnterKey(event) {\n if (this.focusedOptionIndex() !== -1) {\n if (this.multiple && event.shiftKey)\n this.onOptionSelectRange(event, this.focusedOptionIndex());\n else\n this.onOptionSelect(event, this.visibleOptions()[this.focusedOptionIndex()]);\n }\n event.preventDefault();\n }\n onSpaceKey(event) {\n this.onEnterKey(event);\n }\n onShiftKey() {\n const focusedOptionIndex = this.focusedOptionIndex();\n this.startRangeIndex.set(focusedOptionIndex);\n }\n getOptionGroupChildren(optionGroup) {\n return this.optionGroupChildren ? ObjectUtils.resolveFieldData(optionGroup, this.optionGroupChildren) : optionGroup.items;\n }\n getOptionGroupLabel(optionGroup) {\n return this.optionGroupLabel ? ObjectUtils.resolveFieldData(optionGroup, this.optionGroupLabel) : optionGroup && optionGroup.label !== undefined ? optionGroup.label : optionGroup;\n }\n getOptionLabel(option) {\n return this.optionLabel ? ObjectUtils.resolveFieldData(option, this.optionLabel) : option.label != undefined ? option.label : option;\n }\n getOptionIndex(index, scrollerOptions) {\n return this.virtualScrollerDisabled ? index : scrollerOptions && scrollerOptions.getItemOptions(index)['index'];\n }\n getOptionValue(option) {\n return this.optionValue ? ObjectUtils.resolveFieldData(option, this.optionValue) : !this.optionLabel && option && option.value !== undefined ? option.value : option;\n }\n getAriaPosInset(index) {\n return ((this.optionGroupLabel\n ? index -\n this.visibleOptions()\n .slice(0, index)\n .filter((option) => this.isOptionGroup(option)).length\n : index) + 1);\n }\n hasSelectedOption() {\n return ObjectUtils.isNotEmpty(this.modelValue());\n }\n isOptionGroup(option) {\n return this.optionGroupLabel && option.optionGroup && option.group;\n }\n changeFocusedOptionIndex(event, index) {\n if (this.focusedOptionIndex() !== index) {\n this.focusedOptionIndex.set(index);\n this.scrollInView();\n if (this.selectOnFocus && !this.multiple) {\n this.onOptionSelect(event, this.visibleOptions()[index]);\n }\n }\n }\n searchOptions(event, char) {\n this.searchValue = (this.searchValue || '') + char;\n let optionIndex = -1;\n let matched = false;\n if (this.focusedOptionIndex() !== -1) {\n optionIndex = this.visibleOptions()\n .slice(this.focusedOptionIndex())\n .findIndex((option) => this.isOptionMatched(option));\n optionIndex =\n optionIndex === -1\n ? this.visibleOptions()\n .slice(0, this.focusedOptionIndex())\n .findIndex((option) => this.isOptionMatched(option))\n : optionIndex + this.focusedOptionIndex();\n }\n else {\n optionIndex = this.visibleOptions().findIndex((option) => this.isOptionMatched(option));\n }\n if (optionIndex !== -1) {\n matched = true;\n }\n if (optionIndex === -1 && this.focusedOptionIndex() === -1) {\n optionIndex = this.findFirstFocusedOptionIndex();\n }\n if (optionIndex !== -1) {\n this.changeFocusedOptionIndex(event, optionIndex);\n }\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n this.searchTimeout = setTimeout(() => {\n this.searchValue = '';\n this.searchTimeout = null;\n }, 500);\n return matched;\n }\n isOptionMatched(option) {\n return this.isValidOption(option) && this.getOptionLabel(option).toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale));\n }\n scrollInView(index = -1) {\n const id = index !== -1 ? `${this.id}_${index}` : this.focusedOptionId;\n const element = DomHandler.findSingle(this.listViewChild.nativeElement, `li[id=\"${id}\"]`);\n if (element) {\n element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }\n else if (!this.virtualScrollerDisabled) {\n this.virtualScroll && this.scroller.scrollToIndex(index !== -1 ? index : this.focusedOptionIndex());\n }\n }\n findFirstOptionIndex() {\n return this.visibleOptions().findIndex((option) => this.isValidOption(option));\n }\n findLastOptionIndex() {\n return ObjectUtils.findLastIndex(this.visibleOptions(), (option) => this.isValidOption(option));\n }\n findFirstFocusedOptionIndex() {\n const selectedIndex = this.findFirstSelectedOptionIndex();\n return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;\n }\n findLastFocusedOptionIndex() {\n const selectedIndex = this.findLastSelectedOptionIndex();\n return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;\n }\n findLastSelectedOptionIndex() {\n return this.hasSelectedOption() ? ObjectUtils.findLastIndex(this.visibleOptions(), (option) => this.isValidSelectedOption(option)) : -1;\n }\n findNextOptionIndex(index) {\n const matchedOptionIndex = index < this.visibleOptions().length - 1\n ? this.visibleOptions()\n .slice(index + 1)\n .findIndex((option) => this.isValidOption(option))\n : -1;\n return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;\n }\n findNextSelectedOptionIndex(index) {\n const matchedOptionIndex = this.hasSelectedOption() && index < this.visibleOptions().length - 1\n ? this.visibleOptions()\n .slice(index + 1)\n .findIndex((option) => this.isValidSelectedOption(option))\n : -1;\n return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : -1;\n }\n findPrevSelectedOptionIndex(index) {\n const matchedOptionIndex = this.hasSelectedOption() && index > 0 ? ObjectUtils.findLastIndex(this.visibleOptions().slice(0, index), (option) => this.isValidSelectedOption(option)) : -1;\n return matchedOptionIndex > -1 ? matchedOptionIndex : -1;\n }\n findFirstSelectedOptionIndex() {\n return this.hasSelectedOption() ? this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option)) : -1;\n }\n findPrevOptionIndex(index) {\n const matchedOptionIndex = index > 0 ? ObjectUtils.findLastIndex(this.visibleOptions().slice(0, index), (option) => this.isValidOption(option)) : -1;\n return matchedOptionIndex > -1 ? matchedOptionIndex : index;\n }\n findNearestSelectedOptionIndex(index, firstCheckUp = false) {\n let matchedOptionIndex = -1;\n if (this.hasSelectedOption()) {\n if (firstCheckUp) {\n matchedOptionIndex = this.findPrevSelectedOptionIndex(index);\n matchedOptionIndex = matchedOptionIndex === -1 ? this.findNextSelectedOptionIndex(index) : matchedOptionIndex;\n }\n else {\n matchedOptionIndex = this.findNextSelectedOptionIndex(index);\n matchedOptionIndex = matchedOptionIndex === -1 ? this.findPrevSelectedOptionIndex(index) : matchedOptionIndex;\n }\n }\n return matchedOptionIndex > -1 ? matchedOptionIndex : index;\n }\n equalityKey() {\n return this.optionValue ? null : this.dataKey;\n }\n isValidSelectedOption(option) {\n return this.isValidOption(option) && this.isSelected(option);\n }\n isOptionDisabled(option) {\n return this.optionDisabled ? ObjectUtils.resolveFieldData(option, this.optionDisabled) : false;\n }\n isSelected(option) {\n const optionValue = this.getOptionValue(option);\n if (this.multiple)\n return (this.modelValue() || []).some((value) => ObjectUtils.equals(value, optionValue, this.equalityKey()));\n else\n return ObjectUtils.equals(this.modelValue(), optionValue, this.equalityKey());\n }\n isValidOption(option) {\n return option && !(this.isOptionDisabled(option) || this.isOptionGroup(option));\n }\n isEmpty() {\n return !this._options()?.length || !this.visibleOptions()?.length;\n }\n hasEmptyMessage() {\n return this.emptyMessage ? true : false;\n }\n hasFilter() {\n return this._filterValue() && this._filterValue().trim().length > 0;\n }\n resetFilter() {\n if (this.filterViewChild && this.filterViewChild.nativeElement) {\n this.filterViewChild.nativeElement.value = '';\n }\n this._filterValue.set(null);\n }\n ngOnDestroy() {\n if (this.translationSubscription) {\n this.translationSubscription.unsubscribe();\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"18.0.1\", ngImport: i0, type: Listbox, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.FilterService }, { token: i1.PrimeNGConfig }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"16.1.0\", version: \"18.0.1\", type: Listbox, selector: \"p-listbox\", inputs: { id: \"id\", searchMessage: \"searchMessage\", emptySelectionMessage: \"emptySelectionMessage\", selectionMessage: \"selectionMessage\", autoOptionFocus: [\"autoOptionFocus\", \"autoOptionFocus\", booleanAttribute], ariaLabel: \"ariaLabel\", selectOnFocus: [\"selectOnFocus\", \"selectOnFocus\", booleanAttribute], searchLocale: [\"searchLocale\", \"searchLocale\", booleanAttribute], focusOnHover: [\"focusOnHover\", \"focusOnHover\", booleanAttribute], filterMessage: \"filterMessage\", filterFields: \"filterFields\", lazy: [\"lazy\", \"lazy\", booleanAttribute], virtualScroll: [\"virtualScroll\", \"virtualScroll\", booleanAttribute], virtualScrollItemSize: [\"virtualScrollItemSize\", \"virtualScrollItemSize\", numberAttribute], virtualScrollOptions: \"virtualScrollOptions\", scrollHeight: \"scrollHeight\", tabindex: [\"tabindex\", \"tabindex\", numberAttribute], multiple: [\"multiple\", \"multiple\", booleanAttribute], style: \"style\", styleClass: \"styleClass\", listStyle: \"listStyle\", listStyleClass: \"listStyleClass\", readonly: [\"readonly\", \"readonly\", booleanAttribute], disabled: [\"disabled\", \"disabled\", booleanAttribute], checkbox: [\"checkbox\", \"checkbox\", booleanAttribute], filter: [\"filter\", \"filter\", booleanAttribute], filterBy: \"filterBy\", filterMatchMode: \"filterMatchMode\", filterLocale: \"filterLocale\", metaKeySelection: [\"metaKeySelection\", \"metaKeySelection\", booleanAttribute], dataKey: \"dataKey\", showToggleAll: [\"showToggleAll\", \"showToggleAll\", booleanAttribute], optionLabel: \"optionLabel\", optionValue: \"optionValue\", optionGroupChildren: \"optionGroupChildren\", optionGroupLabel: \"optionGroupLabel\", optionDisabled: \"optionDisabled\", ariaFilterLabel: \"ariaFilterLabel\", filterPlaceHolder: \"filterPlaceHolder\", emptyFilterMessage: \"emptyFilterMessage\", emptyMessage: \"emptyMessage\", group: [\"group\", \"group\", booleanAttribute], options: \"options\", filterValue: \"filterValue\", selectAll: \"selectAll\" }, outputs: { onChange: \"onChange\", onClick: \"onClick\", onDblClick: \"onDblClick\", onFilter: \"onFilter\", onFocus: \"onFocus\", onBlur: \"onBlur\", onSelectAllChange: \"onSelectAllChange\" }, host: { classAttribute: \"p-element\" }, providers: [LISTBOX_VALUE_ACCESSOR], queries: [{ propertyName: \"headerFacet\", first: true, predicate: Header, descendants: true }, { propertyName: \"footerFacet\", first: true, predicate: Footer, descendants: true }, { propertyName: \"templates\", predicate: PrimeTemplate }], viewQueries: [{ propertyName: \"headerCheckboxViewChild\", first: true, predicate: [\"headerchkbox\"], descendants: true }, { propertyName: \"filterViewChild\", first: true, predicate: [\"filter\"], descendants: true }, { propertyName: \"lastHiddenFocusableElement\", first: true, predicate: [\"lastHiddenFocusableElement\"], descendants: true }, { propertyName: \"firstHiddenFocusableElement\", first: true, predicate: [\"firstHiddenFocusableElement\"], descendants: true }, { propertyName: \"scroller\", first: true, predicate: [\"scroller\"], descendants: true }, { propertyName: \"listViewChild\", first: true, predicate: [\"list\"], descendants: true }, { propertyName: \"wrapperViewChild\", first: true, predicate: [\"wrapper\"], descendants: true }], ngImport: i0, template: `\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 \n \n
\n \n {{ filterResultMessageText }}\n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n
  • \n {{ getOptionGroupLabel(option.optionGroup) }}\n \n
  • \n
    \n \n \n
    \n
    \n \n \n \n \n \n \n
    \n
    \n {{ getOptionLabel(option) }}\n \n \n
    \n
    \n
  • \n \n {{ emptyFilterMessageText }}\n \n \n
  • \n
  • \n \n {{ emptyMessage }}\n \n \n
  • \n \n
    \n
    \n
    \n \n \n
    \n \n \n {{ emptyMessage }}\n \n \n {{ selectedMessageText }}\n \n \n \n
    \n `, isInline: true, styles: [\"@layer primeng{.p-listbox-list-wrapper{overflow:auto}.p-listbox-list{list-style-type:none;margin:0;padding:0}.p-listbox-item{cursor:pointer;position:relative;overflow:hidden;display:flex;align-items:center;-webkit-user-select:none;user-select:none}.p-listbox-header{display:flex;align-items:center}.p-listbox-filter-container{position:relative;flex:1 1 auto}.p-listbox-filter-icon{position:absolute;top:50%;margin-top:-.5rem}.p-listbox-filter{width:100%}}\\n\"], dependencies: [{ kind: \"directive\", type: i0.forwardRef(() => i2.NgClass), selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"directive\", type: i0.forwardRef(() => i2.NgForOf), selector: \"[ngFor][ngForOf]\", inputs: [\"ngForOf\", \"ngForTrackBy\", \"ngForTemplate\"] }, { kind: \"directive\", type: i0.forwardRef(() => i2.NgIf), selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { kind: \"directive\", type: i0.forwardRef(() => i2.NgTemplateOutlet), selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"directive\", type: i0.forwardRef(() => i2.NgStyle), selector: \"[ngStyle]\", inputs: [\"ngStyle\"] }, { kind: \"directive\", type: i0.forwardRef(() => i1.PrimeTemplate), selector: \"[pTemplate]\", inputs: [\"type\", \"pTemplate\"] }, { kind: \"directive\", type: i0.forwardRef(() => i3.Ripple), selector: \"[pRipple]\" }, { kind: \"component\", type: i0.forwardRef(() => i4.Scroller), selector: \"p-scroller\", inputs: [\"id\", \"style\", \"styleClass\", \"tabindex\", \"items\", \"itemSize\", \"scrollHeight\", \"scrollWidth\", \"orientation\", \"step\", \"delay\", \"resizeDelay\", \"appendOnly\", \"inline\", \"lazy\", \"disabled\", \"loaderDisabled\", \"columns\", \"showSpacer\", \"showLoader\", \"numToleratedItems\", \"loading\", \"autoSize\", \"trackBy\", \"options\"], outputs: [\"onLazyLoad\", \"onScroll\", \"onScrollIndexChange\"] }, { kind: \"component\", type: i0.forwardRef(() => SearchIcon), selector: \"SearchIcon\" }, { kind: \"component\", type: i0.forwardRef(() => CheckIcon), selector: \"CheckIcon\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"18.0.1\", ngImport: i0, type: Listbox, decorators: [{\n type: Component,\n args: [{ selector: 'p-listbox', template: `\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 \n \n
    \n \n {{ filterResultMessageText }}\n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n
  • \n {{ getOptionGroupLabel(option.optionGroup) }}\n \n
  • \n
    \n \n \n
    \n
    \n \n \n \n \n \n \n
    \n
    \n {{ getOptionLabel(option) }}\n \n \n
    \n
    \n
  • \n \n {{ emptyFilterMessageText }}\n \n \n
  • \n
  • \n \n {{ emptyMessage }}\n \n \n
  • \n \n
    \n
    \n
    \n \n \n
    \n \n \n {{ emptyMessage }}\n \n \n {{ selectedMessageText }}\n \n \n \n
    \n `, providers: [LISTBOX_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {\n class: 'p-element'\n }, styles: [\"@layer primeng{.p-listbox-list-wrapper{overflow:auto}.p-listbox-list{list-style-type:none;margin:0;padding:0}.p-listbox-item{cursor:pointer;position:relative;overflow:hidden;display:flex;align-items:center;-webkit-user-select:none;user-select:none}.p-listbox-header{display:flex;align-items:center}.p-listbox-filter-container{position:relative;flex:1 1 auto}.p-listbox-filter-icon{position:absolute;top:50%;margin-top:-.5rem}.p-listbox-filter{width:100%}}\\n\"] }]\n }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.FilterService }, { type: i1.PrimeNGConfig }, { type: i0.Renderer2 }], propDecorators: { id: [{\n type: Input\n }], searchMessage: [{\n type: Input\n }], emptySelectionMessage: [{\n type: Input\n }], selectionMessage: [{\n type: Input\n }], autoOptionFocus: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], ariaLabel: [{\n type: Input\n }], selectOnFocus: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], searchLocale: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], focusOnHover: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], filterMessage: [{\n type: Input\n }], filterFields: [{\n type: Input\n }], lazy: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], virtualScroll: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], virtualScrollItemSize: [{\n type: Input,\n args: [{ transform: numberAttribute }]\n }], virtualScrollOptions: [{\n type: Input\n }], scrollHeight: [{\n type: Input\n }], tabindex: [{\n type: Input,\n args: [{ transform: numberAttribute }]\n }], multiple: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], style: [{\n type: Input\n }], styleClass: [{\n type: Input\n }], listStyle: [{\n type: Input\n }], listStyleClass: [{\n type: Input\n }], readonly: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], disabled: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], checkbox: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], filter: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], filterBy: [{\n type: Input\n }], filterMatchMode: [{\n type: Input\n }], filterLocale: [{\n type: Input\n }], metaKeySelection: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], dataKey: [{\n type: Input\n }], showToggleAll: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], optionLabel: [{\n type: Input\n }], optionValue: [{\n type: Input\n }], optionGroupChildren: [{\n type: Input\n }], optionGroupLabel: [{\n type: Input\n }], optionDisabled: [{\n type: Input\n }], ariaFilterLabel: [{\n type: Input\n }], filterPlaceHolder: [{\n type: Input\n }], emptyFilterMessage: [{\n type: Input\n }], emptyMessage: [{\n type: Input\n }], group: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], options: [{\n type: Input\n }], filterValue: [{\n type: Input\n }], selectAll: [{\n type: Input\n }], onChange: [{\n type: Output\n }], onClick: [{\n type: Output\n }], onDblClick: [{\n type: Output\n }], onFilter: [{\n type: Output\n }], onFocus: [{\n type: Output\n }], onBlur: [{\n type: Output\n }], onSelectAllChange: [{\n type: Output\n }], headerCheckboxViewChild: [{\n type: ViewChild,\n args: ['headerchkbox']\n }], filterViewChild: [{\n type: ViewChild,\n args: ['filter']\n }], lastHiddenFocusableElement: [{\n type: ViewChild,\n args: ['lastHiddenFocusableElement']\n }], firstHiddenFocusableElement: [{\n type: ViewChild,\n args: ['firstHiddenFocusableElement']\n }], scroller: [{\n type: ViewChild,\n args: ['scroller']\n }], listViewChild: [{\n type: ViewChild,\n args: ['list']\n }], wrapperViewChild: [{\n type: ViewChild,\n args: ['wrapper']\n }], headerFacet: [{\n type: ContentChild,\n args: [Header]\n }], footerFacet: [{\n type: ContentChild,\n args: [Footer]\n }], templates: [{\n type: ContentChildren,\n args: [PrimeTemplate]\n }] } });\nclass ListboxModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"18.0.1\", ngImport: i0, type: ListboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"18.0.1\", ngImport: i0, type: ListboxModule, declarations: [Listbox], imports: [CommonModule, SharedModule, RippleModule, ScrollerModule, SearchIcon, CheckIcon], exports: [Listbox, SharedModule, ScrollerModule] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"18.0.1\", ngImport: i0, type: ListboxModule, imports: [CommonModule, SharedModule, RippleModule, ScrollerModule, SearchIcon, CheckIcon, SharedModule, ScrollerModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"18.0.1\", ngImport: i0, type: ListboxModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule, SharedModule, RippleModule, ScrollerModule, SearchIcon, CheckIcon],\n exports: [Listbox, SharedModule, ScrollerModule],\n declarations: [Listbox]\n }]\n }] });\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { LISTBOX_VALUE_ACCESSOR, Listbox, ListboxModule };\n","import { Injectable } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { SubscriptionUrlParams } from \"@globals/models/SubscriptionUrlParams\";\r\nimport { StandardReceiverSubscriptionModuleDto } from \"@globals/openapi-models/model/standardReceiverSubscriptionModuleDto\";\r\nimport { BiLocalizationHelperBaseService } from \"@globals/services/bi-localization-helper-base.service\";\r\nimport { BiStdReceiverBaseService } from \"@globals/services/bi-std-receivers-base.service\";\r\nimport { tap } from \"rxjs\";\r\nimport { SubscriptionModuleBaseSharedService } from \"../shared/SubscriptionModuleBaseSharedService\";\r\n\r\n@Injectable()\r\nexport class SubscriptionStdReceiverSharedService extends SubscriptionModuleBaseSharedService {\r\n public moduleConfigModel: StandardReceiverSubscriptionModuleDto;\r\n\r\n public currentStdReceiverId: number;\r\n public currentStdReceiverId2: number;\r\n\r\n /**\r\n * SubscriptionUrlParams but with added \"groupIds\" being a comma separated list of std. receiver group ids\r\n * of the specific groups to include in the subscription module\r\n */\r\n public urlParams: SubscriptionUrlParams & { groupIds: string };\r\n\r\n constructor(\r\n private localizor: BiLocalizationHelperBaseService,\r\n protected activeRoute: ActivatedRoute,\r\n private stdReceiverService: BiStdReceiverBaseService\r\n ) {\r\n super();\r\n }\r\n\r\n /**\r\n * Implementation of method for fetching subscription data. In this case, we get std receiver groups and the id of the std.\r\n * receiver/subscriber (but only if the receiver exists).\r\n * Note: because the super class defines this method with the 2 arguments, they must be there - we're not using them here.\r\n */\r\n public getSubscriptionListData() {\r\n return this.stdReceiverService.getStdReceiverSubscriptions(this.customerId, this.currentSubscriberInfo.mobileNumber, this.currentSubscriberInfo.email, this.urlParams.groupIds).pipe(\r\n tap(data => {\r\n this.currentStdReceiverId = data.standardReceiverId ?? 0;\r\n this.currentStdReceiverId2 = data.standardReceiverId2 ?? 0;\r\n })\r\n );\r\n }\r\n\r\n public initModuleConfigObject(publicId: string) {\r\n return this.stdReceiverService.getSubscriptionModuleModel(publicId).pipe(\r\n tap(config => {\r\n this.countryId = config.countryId;\r\n this.customerId = config.customerId;\r\n this.languageConfig = this.localizor.getLanguageConfigByCountry(this.countryId);\r\n this.disclaimerText = config.disclaimerText;\r\n this.moduleConfigModel = config;\r\n })\r\n );\r\n }\r\n}\r\n","\r\n
    \r\n

    \r\n shared.Name: {{ \" \" + mobileEmailName.name }}\r\n

    \r\n

    \r\n shared.MobileNumber: {{ \" \" + (mobileEmailName.mobileNumber | phoneFormatWithCode) }}\r\n

    \r\n

    \r\n shared.Email: {{ \" \" + mobileEmailName.email }}\r\n

    \r\n
    \r\n
    \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n

    iframe.subscription.conflictingLoginHeader

    \r\n

    iframe.subscription.conflictingLoginText

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n","import { LiveAnnouncer } from \"@angular/cdk/a11y\";\r\nimport { HttpErrorResponse } from \"@angular/common/http\";\r\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, HostBinding, OnInit, Output } from \"@angular/core\";\r\nimport { FormControl } from \"@angular/forms\";\r\nimport { BiTranslateService } from \"@globals/bi-translate\";\r\nimport { BiHttpErrorResponse } from \"@globals/models/BiHttpErrorResponse\";\r\nimport { PhoneNumberTypeEnum } from \"@globals/openapi-models/model/phoneNumberTypeEnum\";\r\nimport { StandardReceiverDto } from \"@globals/openapi-models/model/standardReceiverDto\";\r\nimport { StandardReceiverGroupSubscriptionDto } from \"@globals/openapi-models/model/standardReceiverGroupSubscriptionDto\";\r\nimport { StandardReceiverPhoneNumberDto } from \"@globals/openapi-models/model/standardReceiverPhoneNumberDto\";\r\nimport { BiStdReceiverBaseService } from \"@globals/services/bi-std-receivers-base.service\";\r\nimport { BiNotificationConfig, BiToastNotificationService, NotificationType } from \"@globals/services/bi-toast-notification.service\";\r\nimport { UntilDestroy, untilDestroyed } from \"@ngneat/until-destroy\";\r\nimport { Observable, catchError, finalize, forkJoin, map, of, switchMap, take, tap } from \"rxjs\";\r\nimport { SubscriberInfo } from \"../../shared/SubscriptionModuleBaseSharedService\";\r\nimport { SubscriptionStdReceiverSharedService } from \"../subscription-std-receiver-shared.service\";\r\n\r\n@UntilDestroy()\r\n@Component({\r\n selector: \"group-subscription\",\r\n templateUrl: \"./group-subscription.component.html\",\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class GroupSubscriptionComponent implements OnInit {\r\n public mobileEmailName: SubscriberInfo;\r\n\r\n @Output() public onReset = new EventEmitter();\r\n @HostBinding(\"class\") get hostClass() {\r\n return \"relative flex flex-column h-full\";\r\n }\r\n\r\n public loading: boolean;\r\n public saving: boolean;\r\n public showConflictMessage: boolean;\r\n\r\n public groupSubscriptions$: Observable;\r\n public groupsControl = new FormControl();\r\n private allGroups: Array = null;\r\n public groupsForUpdate: Array<{ id: number; subscribed: boolean }> = [];\r\n\r\n constructor(\r\n private sharedService: SubscriptionStdReceiverSharedService,\r\n private notifier: BiToastNotificationService,\r\n private stdReceiverService: BiStdReceiverBaseService,\r\n private translator: BiTranslateService,\r\n private cd: ChangeDetectorRef,\r\n private announcer: LiveAnnouncer\r\n ) {}\r\n\r\n public ngOnInit() {\r\n this.announcer.announce(this.translator.instant(\"iFrame.Subscription.SelectGroupsToSubscribe\"));\r\n this.loading = true;\r\n this.mobileEmailName = this.sharedService.getCurrentSubscriberInfo();\r\n this.groupSubscriptions$ = this.sharedService.getSubscriptionListData().pipe(\r\n take(1),\r\n finalize(() => (this.loading = false)),\r\n catchError((error: HttpErrorResponse) => {\r\n if (error.status === 409) {\r\n this.showConflictMessage = true;\r\n // Make screen readers read aloud\r\n this.announcer.announce(this.translator.instant(\"iframe.subscription.conflictingLoginHeader\"));\r\n this.announcer.announce(this.translator.instant(\"iframe.subscription.conflictingLoginText\"));\r\n }\r\n return of(undefined);\r\n }),\r\n map(data => {\r\n if (data) {\r\n if (data.standardReceiverId2 !== null) this.allGroups = data.groupSubscriptions;\r\n\r\n this.groupsControl.setValue(data.groupSubscriptions.filter(g => g.isSubscribed === true));\r\n return data.groupSubscriptions;\r\n }\r\n return undefined;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Fired when a group is clicked in listbox. Registers which groups should be subscribed/unsubscribed\r\n */\r\n public onGroupSelectionChanged(group: StandardReceiverGroupSubscriptionDto) {\r\n group.isSubscribed = !group.isSubscribed;\r\n // Check if this group has already been registered for change. If so, it should be \"unregistered\" as no change has been made then\r\n const idx = this.groupsForUpdate.findIndex(g => g.id === group.groupId);\r\n if (idx !== -1) {\r\n // Already there - remove it and don't do anything\r\n this.groupsForUpdate.splice(idx, 1);\r\n } else\r\n this.groupsForUpdate.push({\r\n id: group.groupId,\r\n subscribed: group.isSubscribed\r\n });\r\n }\r\n\r\n public onSaveClicked() {\r\n // Any groups to sub./unsub. at all?\r\n if (this.groupsForUpdate.length > 0) {\r\n // Separate groups to sub and groups to unsub\r\n let groupsToSubscribe = this.groupsForUpdate.filter(g => g.subscribed === true).map(g => g.id);\r\n let groupsToUnsubscribe = this.groupsForUpdate.filter(g => g.subscribed === false).map(g => g.id);\r\n\r\n if (this.allGroups) {\r\n groupsToSubscribe = this.allGroups.filter(g => g.isSubscribed).map(g => g.groupId);\r\n groupsToUnsubscribe = this.allGroups.filter(g => !g.isSubscribed).map(g => g.groupId);\r\n }\r\n\r\n this.saving = true;\r\n const newReceiverInfo = this.sharedService.getCurrentSubscriberInfo();\r\n\r\n if (this.sharedService.currentStdReceiverId2 > 0) {\r\n this.createSubscriptions(this.sharedService.currentStdReceiverId2, newReceiverInfo, groupsToSubscribe, groupsToUnsubscribe, false);\r\n }\r\n this.createSubscriptions(this.sharedService.currentStdReceiverId, newReceiverInfo, groupsToSubscribe, groupsToUnsubscribe, true);\r\n }\r\n }\r\n\r\n private createSubscriptions(receiverId: number, newReceiverInfo: SubscriberInfo, groupsToSubscribe: Array, groupsToUnsubscribe: Array, notify: boolean) {\r\n // Create the model for API call\r\n const phoneNumbers = [] as Array;\r\n if (newReceiverInfo.mobileNumber) phoneNumbers.push({ phoneNumber: newReceiverInfo.mobileNumber, phoneNumberType: PhoneNumberTypeEnum.Mobile, primary: true });\r\n if (newReceiverInfo.landlineNumber) phoneNumbers.push({ phoneNumber: newReceiverInfo.landlineNumber, phoneNumberType: PhoneNumberTypeEnum.LandLine, primary: !newReceiverInfo.mobileNumber });\r\n const receiver: StandardReceiverDto = {\r\n name: newReceiverInfo.name,\r\n email: newReceiverInfo.email,\r\n phoneNumbers: phoneNumbers,\r\n groupIds: [...groupsToSubscribe],\r\n id: receiverId\r\n };\r\n\r\n // Create observable depending on whether subscriptions should be created or not\r\n let subscribeObservable: Observable;\r\n if (receiver.groupIds.length > 0) {\r\n // groups are to be subscribed\r\n subscribeObservable = this.stdReceiverService.subscribeToGroups(this.sharedService.customerId, receiver);\r\n } else subscribeObservable = of(0);\r\n\r\n // Create observable depending on whether unsubscriptions should be made or not\r\n let unsubscribeObservable: Observable;\r\n if (groupsToUnsubscribe.length > 0) unsubscribeObservable = this.stdReceiverService.unsubscribeGroups(this.sharedService.customerId, receiver.id, groupsToUnsubscribe);\r\n else unsubscribeObservable = of(0);\r\n\r\n if (!receiver.id) {\r\n // If there's no ID, only subscriptions can be made, and the call creates new receiver\r\n subscribeObservable\r\n .pipe(\r\n untilDestroyed(this),\r\n take(1),\r\n tap(() => (this.groupsForUpdate = [])),\r\n finalize(() => {\r\n if (notify) {\r\n this.saving = false;\r\n this.cd.detectChanges();\r\n }\r\n })\r\n )\r\n .subscribe({\r\n next: newId => {\r\n this.stdReceiverService.sendSubscriptionGroupsReceipt(this.sharedService.customerId, newId).subscribe();\r\n if (notify) {\r\n this.sharedService.currentStdReceiverId = newId;\r\n this.notifier.createNotification(new BiNotificationConfig(undefined, this.translator.instant(\"iFrame.Subscription.SubscriptionDone\")));\r\n }\r\n },\r\n error: (err: BiHttpErrorResponse) => this.handleError(err)\r\n });\r\n } else {\r\n // Both subscriptions and unsubscriptions can occurre\r\n forkJoin([unsubscribeObservable, subscribeObservable])\r\n .pipe(\r\n untilDestroyed(this),\r\n take(1),\r\n tap(() => (this.groupsForUpdate = [])),\r\n switchMap(([unSubscriberId, subscriberId]) => {\r\n // As a new std. receiver could have been created during subscription,\r\n // we take the highest value of the \"unSubscriberId\" and \"subscriberId\" to ensure that we get the newest\r\n return this.stdReceiverService.sendSubscriptionGroupsReceipt(this.sharedService.customerId, Math.max(unSubscriberId, subscriberId));\r\n }),\r\n finalize(() => {\r\n if (notify) {\r\n this.saving = false;\r\n this.cd.detectChanges();\r\n }\r\n })\r\n )\r\n .subscribe({\r\n next: currentSubscriberId => {\r\n if (currentSubscriberId) this.sharedService.currentStdReceiverId = currentSubscriberId;\r\n if (notify) {\r\n this.notifier.createNotification(new BiNotificationConfig(undefined, this.translator.instant(\"iFrame.Subscription.SubscriptionsUpdated\")));\r\n }\r\n },\r\n error: (err: BiHttpErrorResponse) => {\r\n this.handleError(err);\r\n }\r\n });\r\n }\r\n }\r\n\r\n public handleError(err: BiHttpErrorResponse) {\r\n if (err.error.errorMessage.indexOf(\"Phone exists\") > -1) {\r\n this.notifier.createNotification(new BiNotificationConfig(NotificationType.ERROR, this.translator.instant(\"iFrame.Subscription.PhoneExists\")));\r\n } else if (err.error.errorMessage.indexOf(\"Email exists\") > -1) {\r\n this.notifier.createNotification(new BiNotificationConfig(NotificationType.ERROR, this.translator.instant(\"iFrame.Subscription.EmailExists\")));\r\n } else throw err;\r\n }\r\n\r\n public reset() {\r\n this.onReset.emit();\r\n }\r\n}\r\n","\r\n \r\n
    \r\n \r\n \r\n
    \r\n

    iFrame.Subscription.SubscribePhoneAndOrEmail

    \r\n\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    {{ subHeaderTranslationKey | translate }}

    \r\n
    \r\n \r\n
    \r\n \r\n

    errorMessages.MobileAndOrEmailRequired

    \r\n
    \r\n \r\n
    \r\n \r\n \r\n

    errorMessages.emailInvalid

    \r\n

    errorMessages.MobileAndOrEmailRequired

    \r\n
    \r\n \r\n
    \r\n \r\n \r\n

    errorMessages.PleaseEnterName

    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n

    iFrame.Subscription.PinSentEnterBelow

    \r\n \r\n \r\n \r\n \r\n \r\n

    \r\n {{ pinValid ? \"shared.Verified\" : \"shared.InvalidPin\" }}\r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n\r\n

    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n
    \r\n \r\n shared.CustomerGuidMissing\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n \r\n\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from \"@angular/core\";\r\nimport { BiTranslateService } from \"@globals/bi-translate\";\r\nimport { CustomAnimations } from \"@globals/classes/CustomAnimations\";\r\nimport { PageNames } from \"@globals/openapi-models/model/pageNames\";\r\nimport { BiLocalizationHelperBaseService } from \"@globals/services/bi-localization-helper-base.service\";\r\nimport { SubscribeModuleBaseService } from \"@globals/services/bi-subscribe-module-base.service\";\r\nimport { BiToastNotificationService } from \"@globals/services/bi-toast-notification.service\";\r\nimport { UntilDestroy } from \"@ngneat/until-destroy\";\r\nimport { SubscriptionModuleBase } from \"../shared/SubscriptionModuleBase\";\r\nimport { SubscriptionStdReceiverSharedService } from \"./subscription-std-receiver-shared.service\";\r\n\r\n/**\r\n * Main component for the std. receiver subscription module\r\n */\r\n@UntilDestroy()\r\n@Component({\r\n selector: \"iframe-subscription-std-receiver\",\r\n templateUrl: \"./iframe-subscription-std-receiver.component.html\",\r\n styleUrls: [\"../shared/subscription-module-styles.scss\"],\r\n animations: [CustomAnimations.fadeInOut, CustomAnimations.fadeIn],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false\r\n})\r\nexport class IframeSubscriptionStdReceiverComponent extends SubscriptionModuleBase {\r\n /**\r\n * In this subscription module, the user is required to enter a name. This name is NOT used when searching\r\n * for an existing receiver with that name. It's only used if a new std. receiver should be created (when no\r\n * receiver with the provided email and/or phone number wasn't found)\r\n */\r\n protected isNameRequired = true;\r\n\r\n constructor(\r\n protected translator: BiTranslateService,\r\n protected cd: ChangeDetectorRef,\r\n protected notifier: BiToastNotificationService,\r\n public sharedService: SubscriptionStdReceiverSharedService,\r\n public localizor: BiLocalizationHelperBaseService,\r\n protected subscriptionService: SubscribeModuleBaseService\r\n ) {\r\n super(translator, cd, notifier, subscriptionService, sharedService);\r\n this.subHeaderTranslationKey = \"iFrame.Subscription.EnterPhoneOrEmail\";\r\n this.pageNameId = PageNames.SubscriptionStdReceiver;\r\n }\r\n}\r\n","import { A11yModule } from \"@angular/cdk/a11y\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { BiTranslateDirective, BiTranslatePipe } from \"@globals/bi-translate\";\r\nimport { BiPhoneInputComponent } from \"@globals/components/bi-phone-input/bi-phone-input.component\";\r\nimport { BiSpinnerModule } from \"@globals/components/spinner/bi-spinner.module\";\r\nimport { BiPhoneFormatWithCodePipe } from \"@globals/pipes/bi-phone-format-with-code.pipe\";\r\nimport { GlobalPipesModule } from \"@globals/pipes/global-pipes.module\";\r\nimport { BiDomService } from \"@globals/services/bi-dom.service\";\r\nimport { BiLocalizationHelperBaseService } from \"@globals/services/bi-localization-helper-base.service\";\r\nimport { BiStdReceiverBaseService } from \"@globals/services/bi-std-receivers-base.service\";\r\nimport { SubscribeModuleBaseService } from \"@globals/services/bi-subscribe-module-base.service\";\r\nimport { BiToastNotificationService } from \"@globals/services/bi-toast-notification.service\";\r\nimport { NgxCaptchaModule } from \"ngx-captcha\";\r\nimport { ButtonModule } from \"primeng/button\";\r\nimport { CardModule } from \"primeng/card\";\r\nimport { InputTextModule } from \"primeng/inputtext\";\r\nimport { ListboxModule } from \"primeng/listbox\";\r\nimport { PanelModule } from \"primeng/panel\";\r\nimport { GroupSubscriptionComponent } from \"./group-subscription/group-subscription.component\";\r\nimport { IframeSubscriptionStdReceiverComponent } from \"./iframe-subscription-std-receiver.component\";\r\nimport { SubscriptionStdReceiverSharedService } from \"./subscription-std-receiver-shared.service\";\r\n\r\nconst primeModules = [ButtonModule, PanelModule, ListboxModule, InputTextModule, CardModule];\r\n\r\n@NgModule({\r\n declarations: [IframeSubscriptionStdReceiverComponent, GroupSubscriptionComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n BiTranslatePipe,\r\n BiTranslateDirective,\r\n ...primeModules,\r\n A11yModule,\r\n BiSpinnerModule,\r\n ListboxModule,\r\n BiPhoneInputComponent,\r\n GlobalPipesModule,\r\n BiPhoneFormatWithCodePipe,\r\n NgxCaptchaModule,\r\n RouterModule.forChild([{ path: \"\", component: IframeSubscriptionStdReceiverComponent }])\r\n ],\r\n providers: [SubscriptionStdReceiverSharedService, BiDomService, BiLocalizationHelperBaseService, BiStdReceiverBaseService, BiToastNotificationService, SubscribeModuleBaseService]\r\n})\r\nexport default class IframeSubscriptionStdReceiverModule {\r\n // Dynamically load necessary styles here. The bundles are configured inside angular.json to NOT be auto-injected.\r\n constructor(domService: BiDomService) {\r\n domService.loadStyle(\"primeIcons.css\");\r\n domService.loadStyle(\"ngx-toastr.css\");\r\n }\r\n}\r\n"],"x_google_ignoreList":[1]}