{ "version": 3, "sources": ["libs/campaign/shared/src/crm-campaign-contacts-dialog.service.ts", "libs/campaign/shared/src/index.ts", "apps/business-center-client/src/app/crm/access.service.ts", "apps/business-center-client/src/app/crm/user.service.ts", "apps/business-center-client/src/app/crm/custom-filters/team-member/team-member-filter-input.component.ts", "apps/business-center-client/src/app/crm/custom-form-inputs/team-member/team-member-form-input.component.ts", "apps/business-center-client/src/app/crm/custom-form-inputs/team-member/team-member-form-input.component.html", "apps/business-center-client/src/app/crm/custom-form-inputs/team-member/additional-team-member-form-input.component.ts", "apps/business-center-client/src/app/crm/custom-form-inputs/team-member/additional-team-member-form-input.component.html", "apps/business-center-client/src/app/crm/custom-cells/team-member/owner.component.ts", "apps/business-center-client/src/app/crm/custom-cells/team-member/team-member.component.ts", "libs/crm/components/user/src/column/user-column-cell.component.ts", "libs/crm/components/user/src/column/user-column-cell.component.html", "libs/crm/components/user/src/input/user-input.component.ts", "libs/crm/components/user/src/input/user-input.component.html", "libs/crm/components/user/src/filters/user-filter-input.component.ts", "libs/crm/components/user/src/filters/user-filter-chip.component.ts", "libs/crm/components/user/src/filters/index.ts", "libs/crm/components/user/public_api.ts", "libs/crm/components/user/index.ts", "libs/crm/integrations/dynamic-lists-actions/src/crm-dynamic-lists-actions.module.ts", "libs/crm/integrations/dynamic-lists-actions/src/list-actions.ts", "libs/crm/integrations/dynamic-lists-actions/src/select-list-modal/select-list-modal.component.ts", "libs/crm/integrations/dynamic-lists-actions/src/select-list-modal/select-list-modal.component.html", "libs/crm/integrations/dynamic-lists-actions/src/list-actions.service.ts", "libs/crm/integrations/dynamic-lists-actions/src/index.ts", "libs/crm/integrations/dynamic-lists-actions/public_api.ts", "libs/crm/integrations/dynamic-lists-actions/index.ts", "apps/business-center-client/src/app/crm/constants.ts", "apps/business-center-client/src/app/crm/contact-actions.ts", "apps/business-center-client/src/app/crm/company-actions.ts", "libs/crm/integrations/meeting-event/src/pipes.ts", "libs/crm/integrations/meeting-event/src/meeting-event-list/meeting-event-list.component.ts", "libs/crm/integrations/meeting-event/src/meeting-event-list/meeting-event-list.component.html", "libs/crm/integrations/meeting-event/src/meeting-event.service.ts", "libs/crm/integrations/meeting-event/src/index.ts", "libs/crm/integrations/meeting-event/public_api.ts", "libs/crm/integrations/meeting-event/index.ts", "apps/business-center-client/src/app/crm/inbox.service.ts", "libs/crm/integrations/reputation/src/nps-badge/nps-badge.component.ts", "libs/crm/integrations/reputation/src/nps-badge/nps-badge.component.html", "libs/crm/integrations/reputation/src/index.ts", "libs/crm/integrations/reputation/public_api.ts", "libs/crm/integrations/reputation/index.ts", "libs/crm/components/badge/src/lead-score-badge/lead-score-badge.component.ts", "libs/crm/components/badge/src/lead-score-badge/lead-score-badge.component.html", "libs/crm/components/badge/src/index.ts", "libs/crm/components/badge/public_api.ts", "libs/crm/components/badge/index.ts", "apps/business-center-client/src/app/crm/providers.ts"], "sourcesContent": ["import { Inject, Injectable } from '@angular/core';\nimport { Row } from '@vendasta/galaxy/table';\nimport { MatDialog } from '@angular/material/dialog';\nimport { GalaxyFilterInterface } from '@vendasta/galaxy/filter/chips';\nimport { Observable } from 'rxjs';\nimport { Router } from '@angular/router';\nimport { CampaignConfig } from '@galaxy/campaign/dependencies';\nimport { take } from 'rxjs/operators';\nimport { CONFIG_TOKEN } from './tokens';\n\n@Injectable({ providedIn: 'root' })\nexport class CrmCampaignContactsDialogService {\n constructor(\n private dialog: MatDialog,\n @Inject('PARTNER_ID') readonly partnerId$: Observable,\n private router: Router,\n @Inject(CONFIG_TOKEN) private config: CampaignConfig,\n ) {}\n\n navigateToSendCampaign(\n rows: Row[],\n filters?: GalaxyFilterInterface[],\n search?: string,\n useSelectAll?: boolean,\n totalContacts?: number,\n ): void {\n const contactQueryString = encodeURIComponent('[' + rows.map((c) => c.id).join(',') + ']');\n const filtersQueryString = encodeURIComponent(filters ? JSON.stringify(filters) : '');\n const searchQueryString = encodeURIComponent(search || '');\n const useSelectAllQueryString = encodeURIComponent(useSelectAll || false);\n const totalContactsQueryString = totalContacts || 0;\n const backUrl = encodeURIComponent(this.router.url);\n const queryString = `contactIds=${contactQueryString}&backUrl=${backUrl}&filters=${filtersQueryString}&search=${searchQueryString}&useSelectAll=${useSelectAllQueryString}&totalContacts=${totalContactsQueryString}`;\n\n this.config.basePath$.pipe(take(1)).subscribe((basePath) => {\n this.router.navigateByUrl(`${basePath}/preview-send?${queryString}`);\n });\n }\n}\n", "export { CrmCampaignContactsDialogService } from './crm-campaign-contacts-dialog.service';\nexport { CampaignContactsDialogComponent } from '../../src/lib/campaign-details-page/campaign-details/campaign-contacts-dialog/campaign-contacts-dialog.component';\nexport { CampaignPreviewSendComponent } from './campaign-preview-send/campaign-preview-send.component';\nexport { CONFIG_TYPE } from './tokens';\nexport { CONFIG_TOKEN } from './tokens';\n", "import { inject, Injectable } from '@angular/core';\nimport { combineLatest, map, Observable, of, shareReplay } from 'rxjs';\nimport { Views } from '../core/access/constants';\nimport { AccessService } from '../core/access';\nimport { ObjectType } from '@galaxy/crm/static';\nimport { Feature, PartnerMarketConfigService } from '../partner-market-config';\n\n@Injectable({ providedIn: 'root' })\nexport class CRMAccessService {\n private readonly accessService = inject(AccessService);\n private readonly marketConfigService = inject(PartnerMarketConfigService);\n private readonly viewAccess$ = this.accessService\n .hasAccessToViews([Views.viewAllCampaigns, Views.crmContactEdit, Views.crmCompanyEdit])\n .pipe(shareReplay({ refCount: true, bufferSize: 1 }));\n private readonly hasAutomationFeatureAccess$ = this.marketConfigService.hasAccessToFeature(Feature.automations);\n readonly canAccessAutomations$ = this.hasAutomationFeatureAccess$.pipe(\n shareReplay({ refCount: true, bufferSize: 1 }),\n );\n readonly canRunManualAutomations$ = combineLatest([this.canAccessAutomations$]).pipe(\n map(([canAccessAutomations]) => canAccessAutomations),\n );\n readonly canAccessInbox$ = of(true);\n\n canAccessCrmObjectType$(objectType: ObjectType): Observable {\n switch (objectType) {\n case 'Contact':\n return this.viewAccess$.pipe(\n map((response) => response.get(Views.crmContactEdit)),\n shareReplay({ refCount: true, bufferSize: 1 }),\n );\n case 'Company':\n return this.viewAccess$.pipe(\n map((response) => response.get(Views.crmCompanyEdit)),\n shareReplay({ refCount: true, bufferSize: 1 }),\n );\n default:\n return of(false);\n }\n }\n}\n", "import { Inject, inject, Injectable } from '@angular/core';\nimport { catchError, map, Observable, of, shareReplay, switchMap } from 'rxjs';\nimport { SimplifiedUser } from '@galaxy/crm/static';\nimport { ACCOUNT_GROUP_TOKEN } from '../../tokens';\nimport { AccountGroup } from '../account-group';\nimport { AssociatedUserInterface, ListUsersForBusinessResponse, UserService } from '@vendasta/business-center';\n\nexport const userFilterFn = (user: SimplifiedUser, searchTerm: string): boolean => {\n const includesFullName = user.displayName?.toLowerCase().includes(searchTerm?.toLowerCase());\n const includesFirstName = user.firstName?.toLowerCase().includes(searchTerm?.toLowerCase());\n const includesLastName = user.lastName?.toLowerCase().includes(searchTerm?.toLowerCase());\n const includesUserId = user.userId?.toLowerCase().includes(searchTerm?.toLowerCase());\n return includesFullName || includesFirstName || includesLastName || includesUserId;\n};\n\n@Injectable({ providedIn: 'root' })\nexport class CRMUserService {\n private userService = inject(UserService);\n\n private allTeamMembers$ = this.accountGroup$.pipe(\n switchMap((accountGroup) => {\n if (!accountGroup) return of(null);\n return this.userService.listUsersForBusiness(accountGroup.accountGroupId).pipe(catchError(() => of(null)));\n }),\n map((res: ListUsersForBusinessResponse | null) => {\n if (res === null || !res.associatedUsers) return [];\n\n const { associatedUsers } = res;\n return associatedUsers.map(\n (user) =>\n ({\n userId: user.userId,\n firstName: user.firstName,\n lastName: user.lastName,\n displayName: this.buildDisplayName(user),\n }) satisfies SimplifiedUser,\n );\n }),\n shareReplay(1),\n );\n\n constructor(@Inject(ACCOUNT_GROUP_TOKEN) private readonly accountGroup$: Observable) {}\n\n private buildDisplayName(user: AssociatedUserInterface): string {\n return `${user.firstName ?? ''} ${user.lastName ?? ''}`.trim() || 'system';\n }\n\n searchUsers(searchTerm?: string): Observable {\n const search = searchTerm?.trim().replace(/\\s+/g, ' ').split(' ');\n\n return this.allTeamMembers$.pipe(\n map((users) =>\n (users || []).filter((user) => {\n if (!search?.length) {\n return true;\n }\n\n return search.some(\n (term) => user?.displayName.toLowerCase().includes(term.toLowerCase()) || user?.userId.includes(term),\n );\n }),\n ),\n );\n }\n\n getMultiUsers(userIds: string[]): Observable {\n return this.allTeamMembers$.pipe(\n map((users) => {\n return userIds.map((userId) => users.find((u) => u?.userId === userId));\n }),\n map((foundUsers) => {\n return foundUsers.map((user) => {\n if (!user) {\n return {} as SimplifiedUser;\n }\n return user;\n });\n }),\n );\n }\n}\n", "import { COMMA, ENTER } from '@angular/cdk/keycodes';\nimport { CommonModule } from '@angular/common';\nimport {\n Component,\n computed,\n effect,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n Output,\n signal,\n Signal,\n ViewChild,\n} from '@angular/core';\nimport { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { MatAutocompleteModule, MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';\nimport { MatChipInputEvent, MatChipsModule } from '@angular/material/chips';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { GalaxyAbstractFilterInput, GalaxyFilterValueInterface } from '@vendasta/galaxy/filter/chips';\nimport { GalaxyFormFieldModule } from '@vendasta/galaxy/form-field';\nimport { SimplifiedUser } from '@galaxy/crm/static';\nimport { CRMUserService, userFilterFn } from '../../user.service';\nimport { Observable, of } from 'rxjs';\nimport { catchError, concatMap, map, take } from 'rxjs/operators';\n\n@Component({\n template: `\n \n \n \n \n \n \n \n {{ teamMember.displayName }}\n \n \n \n \n \n \n \n {{ option?.displayName }}\n \n \n \n `,\n providers: [\n {\n provide: GalaxyAbstractFilterInput,\n useExisting: forwardRef(() => AdditionalTeamMemberFilterInputComponent),\n },\n ],\n imports: [\n CommonModule,\n TranslateModule,\n ReactiveFormsModule,\n MatInputModule,\n GalaxyFormFieldModule,\n MatAutocompleteModule,\n MatChipsModule,\n MatIconModule,\n MatProgressSpinnerModule,\n ],\n})\nexport class AdditionalTeamMemberFilterInputComponent implements GalaxyAbstractFilterInput {\n @ViewChild('teamMemberInput') teamMemberInput: ElementRef;\n @Input() set fieldId(value: string) {\n this._fieldId.set(value);\n }\n\n @Output() valueChanges = new EventEmitter();\n formControl: FormControl = new FormControl('', { nonNullable: true });\n separatorKeysCodes: number[] = [ENTER, COMMA];\n loadingInitialValues = signal(false);\n searchTerm = toSignal(this.formControl.valueChanges, { initialValue: '' });\n _fieldId = signal('');\n availableOptions = signal([]);\n filteredOptions: Signal = computed(() => {\n const searchTerm = this.searchTerm();\n const availableOptions = this.availableOptions();\n return availableOptions.filter((tm) => userFilterFn(tm, searchTerm));\n });\n selectedTeamMemberIDs = signal([]);\n selectedTeamMembers = signal([]);\n\n @Input() set initialValue(value: GalaxyFilterValueInterface[]) {\n const salespersonIds = (value ?? []).map((v) => v.string);\n this.selectedTeamMemberIDs.set(salespersonIds);\n }\n\n constructor(private readonly userService: CRMUserService) {\n effect(() => {\n const selectedTeamMemberIDs = this.selectedTeamMemberIDs();\n this.valueChanges.emit(selectedTeamMemberIDs.map((s) => ({ string: s })));\n });\n\n this.searchUsers('').subscribe((allTeamMembers) => {\n this.availableOptions.set(allTeamMembers);\n this.loadingInitialValues.set(false);\n });\n\n this.formControl.valueChanges\n .pipe(\n takeUntilDestroyed(),\n concatMap((searchValue) =>\n this.searchUsers(searchValue).pipe(\n map((results) => {\n return { searchValue, results };\n }),\n ),\n ),\n )\n .subscribe((newValue) => {\n this.availableOptions.set(newValue.results);\n const selectedTeamMember = this.selectedTeamMemberIDs();\n if (selectedTeamMember === undefined || selectedTeamMember.length === 0) {\n return;\n }\n this.userService\n .getMultiUsers(selectedTeamMember)\n .pipe(\n take(1),\n catchError(() => {\n return of([]);\n }),\n )\n .subscribe((sUsr) => {\n this.selectedTeamMembers.set(sUsr);\n });\n });\n }\n\n searchUsers(searchTerm): Observable {\n const filterTerm = typeof searchTerm === 'string' ? searchTerm : searchTerm?.userId;\n return this.userService.searchUsers(filterTerm);\n }\n\n selected(event: MatAutocompleteSelectedEvent): void {\n const currentTeamMember = this.selectedTeamMemberIDs();\n const hasTeamMember = currentTeamMember.some((sp) => sp === event.option.value);\n if (event.option.value && !hasTeamMember) {\n this.selectedTeamMemberIDs.set([...currentTeamMember, event.option.value]);\n }\n this.teamMemberInput.nativeElement.value = '';\n this.formControl.setValue('');\n }\n\n add(event: MatChipInputEvent) {\n const currentTeamMember = this.selectedTeamMemberIDs();\n const hasTeamMember = currentTeamMember.some((sp) => sp === event?.value);\n if (event?.value && !hasTeamMember) {\n this.selectedTeamMemberIDs.set([...currentTeamMember, event.value]);\n }\n\n // Clear the input value\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n event.chipInput!.clear();\n this.formControl.setValue('');\n }\n\n remove(teamMemberId: string) {\n const currentTeamMember = this.selectedTeamMemberIDs();\n const listWithoutSelected = currentTeamMember.filter((id) => id !== teamMemberId);\n this.selectedTeamMemberIDs.set([...listWithoutSelected]);\n }\n\n clearValue() {\n this.formControl.setValue('');\n }\n}\n", "import { CommonModule } from '@angular/common';\nimport {\n Component,\n computed,\n DestroyRef,\n ElementRef,\n Signal,\n signal,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormControl, ReactiveFormsModule, UntypedFormControl, UntypedFormGroup } from '@angular/forms';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport {\n FieldValueInterface,\n FormInputComponent,\n InlineEditService,\n ObjectType,\n SimplifiedUser,\n StandardIds,\n} from '@galaxy/crm/static';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { GalaxyFormFieldModule } from '@vendasta/galaxy/form-field';\nimport { BehaviorSubject, Observable, of } from 'rxjs';\nimport { CRMUserService, userFilterFn } from '../../user.service';\nimport { tap, map, take, catchError, switchMap } from 'rxjs/operators';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatIconButton } from '@angular/material/button';\n\nconst NO_VALUE_FOR_TEAM_MEMBER = '';\n\n@Component({\n templateUrl: './team-member-form-input.component.html',\n providers: [],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n TranslateModule,\n GalaxyFormFieldModule,\n MatInputModule,\n MatAutocompleteModule,\n MatProgressSpinnerModule,\n MatIcon,\n MatIconButton,\n ],\n styleUrls: ['../shared.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class TeamMemberFormInputComponent extends FormInputComponent {\n NO_VALUE_FOR_TEAM_MEMBER = NO_VALUE_FOR_TEAM_MEMBER;\n\n readOnly = false;\n objectType: ObjectType = 'Contact';\n _control: FormControl = new FormControl('', {\n nonNullable: true,\n });\n _label = '';\n searchTerm = signal('');\n private _group: UntypedFormGroup;\n\n private getAdditionalTeamMemberIDsFieldId(): string {\n if (this.objectType === 'Contact') {\n return StandardIds.ContactAdditionalTeamMemberIDs;\n } else {\n return StandardIds.CompanyAdditionalTeamMemberIDs;\n }\n }\n\n set control(control: FormControl) {\n this._control = control;\n if (typeof this._control.value === 'string') {\n this.userService\n .getMultiUsers([this._control.value])\n .pipe(\n take(1),\n catchError(() => {\n return of(['']);\n }),\n )\n .subscribe((susr) => {\n this._control.setValue(susr[0]);\n this.searchTerm.set(susr[0]);\n });\n } else {\n this._control.setValue(this._control.value || '');\n this.searchTerm.set('');\n }\n }\n\n get control(): UntypedFormControl {\n return this._control;\n }\n\n set formGroup(group: UntypedFormGroup) {\n this._group = group;\n group.addValidators((control) => {\n const path = this.getAdditionalTeamMemberIDsFieldId();\n const teamMemberControl = control.get(this._fieldId());\n const additionalTeamMemberControl = control.get(path);\n if (teamMemberControl && additionalTeamMemberControl) {\n const additionalTeamMemberValue: string[] = additionalTeamMemberControl.value;\n const teamMemberValue: string | SimplifiedUser = teamMemberControl.value;\n const userID = typeof teamMemberValue === 'string' ? teamMemberValue : teamMemberValue?.userId;\n if (teamMemberValue && additionalTeamMemberValue) {\n if (additionalTeamMemberValue.includes(userID)) {\n return {\n ownerIsInAdditionalTeamMembers: true,\n };\n }\n }\n }\n return null;\n });\n }\n\n get formGroup(): UntypedFormGroup {\n return this._group;\n }\n\n _fieldId = signal('');\n set fieldId(fieldId: string) {\n this._fieldId.set(fieldId);\n }\n\n get hasModification(): boolean {\n return this._control.dirty;\n }\n\n set label(label: string) {\n this._label = label;\n }\n\n get label(): string {\n return this._label;\n }\n\n get value(): FieldValueInterface {\n const controlValue: SimplifiedUser | string = this._control.value;\n if (typeof controlValue === 'string') {\n return {\n fieldId: this._fieldId(),\n stringValue: controlValue,\n };\n }\n return {\n fieldId: this._fieldId(),\n stringValue: controlValue?.userId,\n };\n }\n\n loadingValues = signal(true);\n availableOptions = signal([]);\n filteredOptions: Signal = computed(() => {\n const searchTerm = this.searchTerm();\n const filterTerm = typeof searchTerm === 'string' ? searchTerm : searchTerm?.userId;\n const availableOptions = this.availableOptions();\n return availableOptions.filter((tm) => userFilterFn(tm, filterTerm));\n });\n teamMemberName = computed(() => {\n const searchTerm = this.searchTerm();\n const availableOptions = this.availableOptions();\n const filterTerm = typeof searchTerm === 'string' ? searchTerm : searchTerm?.userId;\n if (!searchTerm) {\n return NO_VALUE_FOR_TEAM_MEMBER;\n }\n const found = availableOptions.find((tm) => userFilterFn(tm, filterTerm));\n return found?.displayName || searchTerm;\n });\n\n @ViewChild('input') input: ElementRef;\n input$$ = new BehaviorSubject('');\n\n constructor(\n private readonly userService: CRMUserService,\n private readonly destroyRef: DestroyRef,\n private readonly inlineEditService: InlineEditService,\n ) {\n super();\n this.searchUsers('').subscribe((allTeamMembers) => {\n this.availableOptions.set(allTeamMembers);\n this.loadingValues.set(false);\n });\n\n this.input$$\n .asObservable()\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n switchMap((searchValue) =>\n this.searchUsers(searchValue).pipe(\n map((results) => {\n return { searchValue, results };\n }),\n ),\n ),\n )\n .subscribe((newValue) => {\n this.availableOptions.set(newValue.results);\n this.searchTerm.set(newValue.searchValue);\n });\n }\n\n clear(): void {\n this._control.reset();\n this.searchTerm.set('');\n }\n\n searchUsers(searchTerm): Observable {\n const filterTerm = typeof searchTerm === 'string' ? searchTerm : searchTerm?.userId;\n\n let teamMemberID: string;\n if (this._control.value && typeof this._control.value === 'object') {\n teamMemberID = this._control.value.userId;\n } else if (typeof this._control.value === 'string') {\n teamMemberID = this._control.value;\n }\n\n return this.userService.searchUsers(filterTerm as string).pipe(\n tap((allTeamMembers) => {\n if (teamMemberID) {\n const found = allTeamMembers.find((tm) => tm.userId === teamMemberID);\n if (!found) {\n this._control.markAsDirty();\n }\n }\n }),\n );\n }\n\n displayFn(availableOptions: SimplifiedUser[]): (teamMember: SimplifiedUser | string) => string {\n return (teamMember: SimplifiedUser | string): string => {\n if (!teamMember) {\n return '';\n }\n if (typeof teamMember === 'string') {\n const found = availableOptions.find((tm) => tm.userId === teamMember);\n return found?.displayName || teamMember;\n }\n return teamMember?.displayName;\n };\n }\n\n filter(): void {\n this.input$$.next(this.input.nativeElement.value);\n }\n\n saveField(): void {\n if (!this._control.errors && !this._group.errors?.ownerIsInAdditionalTeamMembers) {\n // attempt saving additional team members field as well, if there are no changes it won't save\n this.inlineEditService.saveInlineEdit(this.objectType, [\n this.value,\n {\n fieldId: this.getAdditionalTeamMemberIDsFieldId(),\n stringValues: {\n values: this._group?.value[this.getAdditionalTeamMemberIDsFieldId()],\n },\n },\n ]);\n }\n }\n}\n", "
\n
{{ 'CRM.CUSTOM_INPUT.OWNER' | translate }}
\n
\n \n \n \n {{ teamMemberName }}\n \n \n \n
\n
\n
\n
\n\n \n {{ 'CRM.CUSTOM_INPUT.OWNER' | translate }}\n \n @if (control.value) {\n \n }\n \n @for (option of filteredOptions(); track option) {\n {{ option?.displayName }}\n }\n \n @if (formGroup.errors?.ownerIsInAdditionalTeamMembers) {\n \n {{ 'CRM.FORMS.OWNER_IN_ADDITIONAL_TEAM_MEMBERS' | translate }}\n \n }\n \n \n \n {{ 'CRM.CUSTOM_INPUT.OWNER' | translate }}\n \n \n \n \n\n", "import { COMMA, ENTER } from '@angular/cdk/keycodes';\nimport { CommonModule } from '@angular/common';\nimport {\n Component,\n computed,\n DestroyRef,\n ElementRef,\n Signal,\n signal,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormControl, ReactiveFormsModule, UntypedFormControl, UntypedFormGroup } from '@angular/forms';\nimport { MatAutocompleteModule, MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';\nimport { MatChipInputEvent, MatChipsModule } from '@angular/material/chips';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport {\n FieldValueInterface,\n FormInputComponent,\n InlineEditService,\n ObjectType,\n SimplifiedUser,\n SystemFieldIds,\n} from '@galaxy/crm/static';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { GalaxyBadgeModule } from '@vendasta/galaxy/badge';\nimport { GalaxyFormFieldModule } from '@vendasta/galaxy/form-field';\nimport { GalaxyTooltipModule } from '@vendasta/galaxy/tooltip';\nimport { of } from 'rxjs';\nimport { CRMUserService, userFilterFn } from '../../user.service';\nimport { catchError, map, switchMap, take } from 'rxjs/operators';\n\nconst NO_VALUE_FOR_TEAM_MEMBER = '';\n\n@Component({\n templateUrl: './additional-team-member-form-input.component.html',\n providers: [],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n TranslateModule,\n GalaxyFormFieldModule,\n MatInputModule,\n MatAutocompleteModule,\n MatChipsModule,\n MatIconModule,\n MatProgressSpinnerModule,\n GalaxyBadgeModule,\n GalaxyTooltipModule,\n ],\n styleUrls: ['../shared.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class AdditionalTeamMemberFormInputComponent extends FormInputComponent {\n @ViewChild('teamMemberInput') teamMemberInput: ElementRef;\n\n NO_VALUE_FOR_TEAM_MEMBER = NO_VALUE_FOR_TEAM_MEMBER;\n\n readOnly = false;\n objectType: ObjectType = 'Contact';\n _control: FormControl = new FormControl([], {\n nonNullable: true,\n });\n searchControl: FormControl = new FormControl('', {\n nonNullable: true,\n });\n separatorKeysCodes: number[] = [ENTER, COMMA];\n _label = '';\n searchTerm = signal('');\n selectedTeamMemberIDs = signal([]);\n selectedTeamMembers = signal([]);\n private _group: UntypedFormGroup;\n\n set control(control: UntypedFormControl) {\n this._control = control as FormControl;\n this._control.markAsPristine();\n this._control.setValue(this._control.value || []);\n this.selectedTeamMemberIDs.set(this._control.value);\n this.userService\n .getMultiUsers(this._control.value)\n .pipe(\n take(1),\n catchError(() => {\n return of([]);\n }),\n )\n .subscribe((sUsr) => {\n this.selectedTeamMembers.set(sUsr);\n });\n this._control.valueChanges.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((newValue) => {\n this.selectedTeamMemberIDs.set(newValue || []);\n this.userService\n .getMultiUsers(newValue)\n .pipe(\n take(1),\n catchError(() => {\n return of([]);\n }),\n )\n .subscribe((sUsr) => {\n this.selectedTeamMembers.set(sUsr);\n });\n });\n }\n\n get control(): UntypedFormControl {\n return this._control;\n }\n\n set formGroup(group: UntypedFormGroup) {\n this._group = group;\n group.addValidators((control) => {\n const path = this.getOwnerFieldId();\n const teamMemberControl = control.get(path);\n const additionalTeamMemberControl = control.get(this._fieldId());\n if (teamMemberControl && additionalTeamMemberControl) {\n const additionalTeamMemberValue: string[] = additionalTeamMemberControl.value;\n const teamMemberValue: string | SimplifiedUser = teamMemberControl.value;\n const userID = typeof teamMemberValue === 'string' ? teamMemberValue : teamMemberValue?.userId;\n if (teamMemberValue && additionalTeamMemberValue) {\n if (additionalTeamMemberValue.includes(userID)) {\n return {\n additionalTeamMemberIsOwner: true,\n };\n }\n }\n }\n return null;\n });\n }\n\n get formGroup(): UntypedFormGroup {\n return this._group;\n }\n\n _fieldId = signal('');\n set fieldId(fieldId: string) {\n this._fieldId.set(fieldId);\n }\n\n get hasModification(): boolean {\n return this._control.dirty;\n }\n\n set label(label: string) {\n this._label = label;\n }\n\n get label(): string {\n return this._label;\n }\n\n get value(): FieldValueInterface {\n return {\n fieldId: this._fieldId(),\n stringValues: {\n values: this._control.value,\n },\n };\n }\n\n loadingValues = signal(true);\n availableOptions = signal([]);\n filteredOptions: Signal = computed(() => {\n const searchTerm = this.searchTerm();\n const availableOptions = this.availableOptions();\n const filterTerm = typeof searchTerm === 'string' ? searchTerm : searchTerm?.userId;\n return availableOptions.filter((tm) => userFilterFn(tm, filterTerm));\n });\n teamMembers = computed(() => {\n const availableOptions = this.availableOptions();\n const selectedTeamMemberIDs = this.selectedTeamMemberIDs();\n const teamMembers = [];\n for (const member of availableOptions) {\n if (selectedTeamMemberIDs.includes(member.userId)) {\n teamMembers.push(member);\n }\n }\n return teamMembers.length ? teamMembers : NO_VALUE_FOR_TEAM_MEMBER;\n });\n teamMemberNames = computed(() => {\n const teamMembers = this.teamMembers();\n if (teamMembers === NO_VALUE_FOR_TEAM_MEMBER) {\n return [];\n }\n return teamMembers.map((tm) => tm.displayName);\n });\n\n constructor(\n private readonly userService: CRMUserService,\n private readonly destroyRef: DestroyRef,\n private readonly inlineEditService: InlineEditService,\n ) {\n super();\n this.userService.searchUsers('').subscribe((allTeamMembers) => {\n this.availableOptions.set(allTeamMembers);\n this.loadingValues.set(false);\n });\n\n this.searchControl.valueChanges\n .pipe(\n takeUntilDestroyed(),\n switchMap((searchValue) => {\n const filterTerm = typeof searchValue === 'string' ? searchValue : searchValue?.userId;\n return this.userService.searchUsers(filterTerm).pipe(\n map((results) => {\n return { searchValue, results };\n }),\n );\n }),\n )\n .subscribe((newValue) => {\n this.availableOptions.set(newValue.results);\n this.searchTerm.set(newValue.searchValue);\n });\n }\n\n displayFn(availableOptions: SimplifiedUser[]): (teamMember: SimplifiedUser | string) => string {\n return (teamMember: SimplifiedUser | string): string => {\n if (!teamMember) {\n return '';\n }\n if (typeof teamMember === 'string') {\n const found = availableOptions.find((tm) => tm.userId === teamMember);\n return found?.displayName || teamMember;\n }\n return teamMember?.displayName;\n };\n }\n\n selected(event: MatAutocompleteSelectedEvent): void {\n const currentTeamMember = this._control.value;\n const hasTeamMember = currentTeamMember.some((tm) => tm === event.option.value);\n if (event.option.value && !hasTeamMember) {\n this._control.patchValue([...currentTeamMember, event.option.value]);\n this._control.markAsDirty();\n }\n this.teamMemberInput.nativeElement.value = '';\n this.searchControl.setValue('');\n }\n\n add(event: MatChipInputEvent) {\n const currentTeamMember = this._control.value;\n const hasTeamMember = currentTeamMember.some((tm) => tm === event?.value);\n if (event?.value && !hasTeamMember) {\n // Even if we're not selecting from the available options, we still need to add the team member by ID\n const teamMemberID = this.getIDForTeamMember(event.value);\n if (teamMemberID) {\n this._control.patchValue([...currentTeamMember, teamMemberID]);\n this._control.markAsDirty();\n }\n }\n // Clear the input value\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n event.chipInput!.clear();\n this.searchControl.setValue('');\n }\n\n private getIDForTeamMember(teamMember: string) {\n const found = this.availableOptions().find(\n (tm) => tm.userId === teamMember || tm.displayName.toLowerCase() === teamMember.toLowerCase(),\n );\n return found?.userId;\n }\n\n remove(userId: string) {\n const currentTeamMember = this._control.value;\n const listWithoutSelected = currentTeamMember.filter((tm) => tm !== userId);\n this._control.patchValue([...listWithoutSelected]);\n this._control.markAsDirty();\n }\n\n saveField(): void {\n if (!this._control.errors && !this._group.errors?.additionalTeamMemberIsOwner) {\n // attempt saving owner field as well, if there are no changes it won't save\n const ownerFieldValue: FieldValueInterface = { fieldId: this.getOwnerFieldId() };\n const ownerFormControlValue: SimplifiedUser | string = this._group?.value[this.getOwnerFieldId()];\n if (typeof ownerFormControlValue === 'string') {\n ownerFieldValue.stringValue = ownerFormControlValue;\n } else {\n ownerFieldValue.stringValue = ownerFormControlValue?.userId;\n }\n this.inlineEditService.saveInlineEdit(this.objectType, [this.value, ownerFieldValue]);\n }\n }\n\n private getOwnerFieldId(): string {\n if (this.objectType === 'Contact') {\n return SystemFieldIds.ContactOwnerID;\n } else {\n return SystemFieldIds.CompanyOwnerID;\n }\n }\n}\n", "
\n
{{ 'CRM.CUSTOM_INPUT.TEAM_MEMBERS' | translate }}
\n
\n \n \n
\n
\n {{ teamMemberNames()[0] }}\n \n {{ teamMemberNames()[1] }}\n \n 2\" [glxyTooltip]=\"teamMemberNames().join(', ')\">\n +{{ teamMemberNames().length - 1 }}\n \n
\n
\n
\n
\n\n \n
\n
\n
\n
\n\n \n {{ 'CRM.CUSTOM_INPUT.TEAM_MEMBERS' | translate }}\n \n \n \n \n \n \n {{ teamMember.displayName }}\n \n \n \n \n \n \n \n {{ option?.displayName }}\n \n \n @if (formGroup.errors?.additionalTeamMemberIsOwner) {\n \n {{ 'CRM.FORMS.OWNER_IN_ADDITIONAL_TEAM_MEMBERS' | translate }}\n \n }\n \n\n", "import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, signal, WritableSignal } from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { SimplifiedUser, SystemFieldIds } from '@galaxy/crm/static';\nimport { FieldValueInterface } from '@vendasta/crm';\nimport { GalaxyAvatarModule } from '@vendasta/galaxy/avatar';\nimport { BlankValueComponent, CustomCellComponent } from '@vendasta/galaxy/table';\nimport { of } from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\nimport { CRMUserService } from '../../user.service';\n\nconst NO_VALUE_FOR_TEAM_MEMBER = '';\nconst AVATAR_WIDTH = 24;\n\n@Component({\n template: `\n \n
\n {{ teamMemberName() }}\n
\n
\n \n
\n
\n \n \n \n `,\n styleUrls: ['./owner.component.scss'],\n imports: [CommonModule, BlankValueComponent, GalaxyAvatarModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class OwnerCellComponent extends CustomCellComponent {\n AVATAR_WIDTH = AVATAR_WIDTH;\n NO_VALUE_FOR_TEAM_MEMBER = NO_VALUE_FOR_TEAM_MEMBER;\n fieldValues = signal([]);\n set value(newValues: (FieldValueInterface | null)[]) {\n this.fieldValues.set(newValues);\n }\n teamMember: WritableSignal' | null> = signal(null);\n teamMemberName = computed(() => {\n const teamMember = this.teamMember();\n if (teamMember === NO_VALUE_FOR_TEAM_MEMBER) {\n return '';\n }\n return teamMember?.displayName ?? '';\n });\n\n constructor(private readonly userService: CRMUserService) {\n super();\n toObservable(this.fieldValues)\n .pipe(\n switchMap((fieldValues) => {\n const userId =\n fieldValues.find(\n (fieldValue) =>\n fieldValue?.fieldId === SystemFieldIds.CompanyOwnerID ||\n fieldValue?.fieldId === SystemFieldIds.ContactOwnerID,\n ) ?? null;\n if (!userId || !userId?.stringValue) {\n return of(NO_VALUE_FOR_TEAM_MEMBER);\n }\n return this.userService.getMultiUsers([userId.stringValue]);\n }),\n takeUntilDestroyed(),\n )\n .subscribe((result) => {\n if (result === NO_VALUE_FOR_TEAM_MEMBER || !result.length) {\n this.teamMember.set(NO_VALUE_FOR_TEAM_MEMBER);\n return;\n }\n const teamMember = result[0] as SimplifiedUser;\n if (!teamMember?.userId) {\n this.teamMember.set(NO_VALUE_FOR_TEAM_MEMBER);\n return;\n }\n this.teamMember.set(teamMember);\n });\n }\n}\n", "import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, signal, WritableSignal } from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { SimplifiedUser, StandardIds } from '@galaxy/crm/static';\nimport { FieldValueInterface } from '@vendasta/crm';\nimport { GalaxyBadgeModule } from '@vendasta/galaxy/badge';\nimport { BlankValueComponent, CustomCellComponent } from '@vendasta/galaxy/table';\nimport { GalaxyTooltipModule } from '@vendasta/galaxy/tooltip';\nimport { of } from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\nimport { CRMUserService } from '../../user.service';\n\nconst NO_VALUE_FOR_TEAM_MEMBER = '';\n\n@Component({\n template: `\n \n
\n
\n {{ teamMemberNames()[0] }}\n \n {{ teamMemberNames()[1] }}\n \n 2\" [glxyTooltip]=\"teamMemberNames().join(', ')\">\n +{{ teamMemberNames().length - 1 }}\n \n
\n
\n
\n\n \n
\n
\n \n \n \n `,\n styleUrls: ['./team-member.component.scss'],\n imports: [CommonModule, BlankValueComponent, GalaxyBadgeModule, GalaxyTooltipModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TeamMemberCellComponent extends CustomCellComponent {\n NO_VALUE_FOR_TEAM_MEMBER = NO_VALUE_FOR_TEAM_MEMBER;\n fieldValues = signal([]);\n set value(newValues: (FieldValueInterface | null)[]) {\n this.fieldValues.set(newValues);\n }\n teamMember: WritableSignal' | null> = signal(null);\n teamMemberNames = computed(() => {\n const teamMember = this.teamMember();\n if (teamMember === NO_VALUE_FOR_TEAM_MEMBER) {\n return [];\n }\n return teamMember.map((tm) => tm.displayName);\n });\n\n constructor(private readonly userService: CRMUserService) {\n super();\n toObservable(this.fieldValues)\n .pipe(\n switchMap((fieldValues) => {\n const teamMemberFieldValue =\n fieldValues.find(\n (fieldValue) =>\n fieldValue?.fieldId === StandardIds.CompanyAdditionalTeamMemberIDs ||\n fieldValue?.fieldId === StandardIds.ContactAdditionalTeamMemberIDs,\n ) ?? null;\n if (!teamMemberFieldValue) {\n return of(NO_VALUE_FOR_TEAM_MEMBER);\n }\n const teamMemberIds = teamMemberFieldValue.stringValues?.values ?? null;\n if (!teamMemberIds.length) {\n return of(NO_VALUE_FOR_TEAM_MEMBER);\n }\n return this.userService.getMultiUsers(teamMemberIds);\n }),\n takeUntilDestroyed(),\n )\n .subscribe((result) => {\n if (result === NO_VALUE_FOR_TEAM_MEMBER) {\n this.teamMember.set(NO_VALUE_FOR_TEAM_MEMBER);\n return;\n }\n const teamMembers = result as SimplifiedUser[];\n const filteredNonExisting = teamMembers.filter((s) => !!s?.userId);\n if (!filteredNonExisting.length) {\n this.teamMember.set(NO_VALUE_FOR_TEAM_MEMBER);\n return;\n }\n this.teamMember.set(filteredNonExisting);\n });\n }\n}\n", "import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { FieldValueInterface } from '@vendasta/crm';\nimport { GalaxyAvatarModule } from '@vendasta/galaxy/avatar';\nimport { BlankValueComponent, CustomCellComponent } from '@vendasta/galaxy/table';\nimport { BehaviorSubject, catchError, distinctUntilChanged, map, Observable, of, switchMap } from 'rxjs';\nimport { CrmInjectionToken, SimplifiedUser } from '@galaxy/crm/static';\n\n@Component({\n selector: 'crm-user-column-cell',\n templateUrl: 'user-column-cell.component.html',\n styleUrls: ['./user-column-cell.component.scss'],\n imports: [CommonModule, BlankValueComponent, GalaxyAvatarModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CrmUserColumnCellComponent extends CustomCellComponent {\n private readonly userService = inject(CrmInjectionToken).services?.userService;\n\n set value(newValues: FieldValueInterface[] | null) {\n this.value$$.next(newValues);\n }\n\n private readonly value$$ = new BehaviorSubject(null);\n protected readonly AVATAR_WIDTH = 24;\n protected readonly userInfo$ = this.setupUserInfo();\n\n setupUserInfo(): Observable {\n return this.value$$.pipe(\n map((value) => value?.[0]?.stringValue),\n distinctUntilChanged(),\n switchMap((value) => this.getUserInfo(value)),\n );\n }\n\n getUserInfo(userId?: string): Observable {\n const result$ = userId\n ? this.userService?.getMultiUsers([userId]).pipe(\n map((users) => users?.[0]),\n catchError(() => of(null)),\n )\n : undefined;\n return result$ ?? of(null);\n }\n}\n", "@let userInfo = userInfo$ | async;\n\n@if (userInfo !== null) {\n @if (userInfo.displayName) {\n
\n \n {{ userInfo.displayName }}\n
\n } @else {\n \n }\n} @else {\n
\n}\n", "import { Component, ElementRef, ViewChild, ViewEncapsulation, inject, signal } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { GalaxyFormFieldModule } from '@vendasta/galaxy/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { FormControl, ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';\nimport {\n CrmInjectionToken,\n FieldValueInterface,\n FormInputComponent,\n InlineEditService,\n SimplifiedUser,\n} from '@galaxy/crm/static';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { GalaxyLoadingSpinnerModule } from '@vendasta/galaxy/loading-spinner';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatIconButton } from '@angular/material/button';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { BehaviorSubject, debounceTime, distinctUntilChanged, firstValueFrom, map, Observable, switchMap } from 'rxjs';\n\ninterface UserOption {\n id: string;\n displayName: string;\n}\n\n@Component({\n templateUrl: './user-input.component.html',\n providers: [],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n TranslateModule,\n GalaxyFormFieldModule,\n MatInputModule,\n MatAutocompleteModule,\n GalaxyLoadingSpinnerModule,\n MatIcon,\n MatIconButton,\n ],\n encapsulation: ViewEncapsulation.None,\n})\nexport class CrmUserInputComponent extends FormInputComponent {\n @ViewChild('searchInput') searchInput?: ElementRef;\n\n public readOnly = false;\n\n protected loading = signal(false);\n private readonly displayName$$ = new BehaviorSubject('');\n protected readonly displayName$ = this.displayName$$.asObservable();\n readonly options$: Observable = new Observable();\n\n private readonly userService = inject(CrmInjectionToken)?.services?.userService;\n\n _control = new FormControl({} as UserOption, {\n nonNullable: true,\n });\n set control(control: FormControl) {\n this.loading.set(true);\n this.controlValueToUserOption(control.value)\n .then((value) => {\n this.control.setValue(value);\n })\n .finally(() => this.loading.set(false));\n }\n get control(): FormControl {\n return this._control;\n }\n\n _group: UntypedFormGroup;\n set formGroup(group: UntypedFormGroup) {\n this._group = group;\n }\n get formGroup(): UntypedFormGroup {\n return this._group;\n }\n\n _fieldId = '';\n set fieldId(fieldId: string) {\n this._fieldId = fieldId;\n }\n get fieldId(): string {\n return this._fieldId;\n }\n\n get hasModification(): boolean {\n return this.control.dirty;\n }\n\n _label = '';\n set label(label: string) {\n this._label = label;\n }\n get label(): string {\n return this._label;\n }\n\n get value(): FieldValueInterface {\n return {\n fieldId: this.fieldId,\n stringValue: this.control.value?.id ?? '',\n };\n }\n\n constructor(private readonly inlineEditService: InlineEditService) {\n super();\n if (!this.readOnly) {\n this.options$ = this.displayName$$.pipe(\n takeUntilDestroyed(),\n debounceTime(300),\n distinctUntilChanged(),\n switchMap((searchTerm) => this.userService?.searchUsers?.(searchTerm) ?? []),\n map((users) => this.mapSimplifiedUsersToOption(users)),\n );\n this.validateSearchPermission();\n }\n }\n\n clear(): void {\n this.control.reset();\n this.displayName$$.next('');\n }\n\n displayFn(user: UserOption): string {\n return user?.displayName || user?.id || '';\n }\n\n saveField(): void {\n if (!this.control.errors && !this.readOnly) {\n this.inlineEditService.saveInlineEdit(this.objectType, [this.value]);\n }\n }\n\n handleSearchTermInput(): void {\n const searchTerm = this.searchInput?.nativeElement.value ?? '';\n this.displayName$$.next(searchTerm);\n }\n\n private async controlValueToUserOption(value: UserOption | string): Promise {\n if (typeof value == 'string') {\n if (this.userService) {\n try {\n const users = await firstValueFrom(this.userService.getMultiUsers([value]));\n if (users?.[0]?.userId) {\n return this.mapSimplifiedUsersToOption(users)[0];\n }\n } catch (error) {\n console.error(error);\n }\n }\n } else {\n return value;\n }\n return {} as UserOption;\n }\n\n private async validateSearchPermission(): Promise {\n // disable the input if the searchUsers function is not available or the user don't have access to the results\n let validResult: Promise;\n if (this.userService?.searchUsers) {\n validResult = firstValueFrom(this.userService.searchUsers('')).then(() => undefined);\n } else {\n validResult = Promise.reject();\n }\n validResult.catch(() => this.control.disable());\n }\n\n private mapSimplifiedUsersToOption(users: SimplifiedUser[]): UserOption[] {\n return users.map((u) => ({ id: u.userId, displayName: u.displayName }));\n }\n}\n", "@if (readOnly) {\n
\n \n \n @if (loading()) {\n \n } @else {\n {{ displayName$ | async }}\n }\n \n
\n} @else if (loading()) {\n \n {{ label }} \n
\n \n
\n \n
\n} @else {\n \n {{ label }} \n \n @if (control.value?.id) {\n \n }\n \n \n {{ option?.displayName }}\n \n \n \n}\n", "import { CommonModule } from '@angular/common';\nimport {\n Component,\n effect,\n ElementRef,\n EventEmitter,\n forwardRef,\n inject,\n Input,\n Output,\n signal,\n ViewChild,\n} from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { MatAutocompleteModule, MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';\nimport { MatInputModule } from '@angular/material/input';\nimport { TranslateModule } from '@ngx-translate/core';\nimport {\n GalaxyAbstractFilterInput,\n GalaxyFilterOperator,\n GalaxyFilterValueInterface,\n} from '@vendasta/galaxy/filter/chips';\nimport { GalaxyFormFieldModule } from '@vendasta/galaxy/form-field';\nimport { MatChipGrid, MatChipInput, MatChipInputEvent, MatChipRemove, MatChipRow } from '@angular/material/chips';\nimport { MatIcon } from '@angular/material/icon';\nimport { COMMA, ENTER } from '@angular/cdk/keycodes';\nimport { CrmInjectionToken, SimplifiedUser } from '@galaxy/crm/static';\nimport { debounceTime, firstValueFrom, Observable, of, switchMap } from 'rxjs';\n\n@Component({\n selector: 'crm-user-filter-input',\n template: `\n @if (singleInput()) {\n \n \n \n \n {{ option?.displayName }}\n \n \n \n } @else {\n \n \n \n {{ user.displayName }}\n \n \n \n \n \n \n {{ option?.displayName }}\n \n \n \n }\n `,\n providers: [\n {\n provide: GalaxyAbstractFilterInput,\n useExisting: forwardRef(() => CrmUserFilterInputComponent),\n },\n ],\n imports: [\n CommonModule,\n TranslateModule,\n ReactiveFormsModule,\n MatInputModule,\n GalaxyFormFieldModule,\n MatAutocompleteModule,\n MatChipGrid,\n MatChipInput,\n MatChipRemove,\n MatChipRow,\n MatIcon,\n ],\n})\nexport class CrmUserFilterInputComponent implements GalaxyAbstractFilterInput {\n @Input() set initialValue(value: GalaxyFilterValueInterface[]) {\n const userIds = (value ?? []).map((v) => v.string ?? '');\n this.setInitialValue(userIds);\n }\n\n _operator?: GalaxyFilterOperator;\n @Input() set operator(value: GalaxyFilterOperator) {\n this._operator = value;\n const isMultiInput =\n this._operator == GalaxyFilterOperator.FILTER_OPERATOR_IS_ANY ||\n this._operator == GalaxyFilterOperator.FILTER_OPERATOR_IS_NOT_ANY;\n if (isMultiInput) {\n this.formControl.setValue('');\n } else {\n const selectedUsers = this.selectedUserIDs();\n if (selectedUsers.length > 0) {\n this.formControl.setValue(selectedUsers[0]);\n if (selectedUsers.length > 1) {\n this.selectedUserIDs.set([selectedUsers[0]]);\n }\n }\n }\n this.singleInput.set(!isMultiInput);\n }\n\n @Output() valueChanges = new EventEmitter();\n\n @ViewChild('userInput') userInput?: ElementRef;\n\n private readonly userService = inject(CrmInjectionToken).services?.userService;\n\n protected readonly separatorKeysCodes: number[] = [ENTER, COMMA];\n protected readonly formControl = new FormControl('', { nonNullable: true });\n protected readonly singleInput = signal(true);\n protected readonly availableOptions$ = this.setupAvailableOptions();\n protected readonly selectedUserIDs = signal([]);\n protected readonly selectedUsers$ = toObservable(this.selectedUserIDs).pipe(\n takeUntilDestroyed(),\n switchMap((userIds) => this.userService?.getMultiUsers?.(userIds) ?? of([])),\n );\n\n constructor() {\n effect(() => {\n const selectedUserIDs = this.selectedUserIDs();\n this.valueChanges.emit(selectedUserIDs.map((s) => ({ string: s })));\n });\n }\n\n clearValue() {\n this.formControl.setValue('');\n }\n\n displayUserFn(user?: SimplifiedUser): string {\n return user?.displayName || '';\n }\n\n selected(event: MatAutocompleteSelectedEvent): void {\n const singleInput = this.singleInput();\n const currentUsers = this.selectedUserIDs();\n const userId = event.option.value?.userId ?? '';\n const hasUser = currentUsers.some((u) => u === userId);\n if (userId && !hasUser) {\n if (singleInput) {\n this.selectedUserIDs.set([userId]);\n } else {\n this.selectedUserIDs.set([...currentUsers, userId]);\n }\n }\n if (!singleInput && this.userInput?.nativeElement) {\n this.userInput.nativeElement.value = '';\n this.clearValue();\n }\n }\n\n add(event: MatChipInputEvent) {\n const currentUsers = this.selectedUserIDs();\n const hasUser = currentUsers.some((u) => u === event?.value);\n if (event?.value && !hasUser) {\n this.selectedUserIDs.set([...currentUsers, event.value]);\n }\n event.chipInput?.clear();\n this.clearValue();\n }\n\n remove(userId: string) {\n const currentUsers = this.selectedUserIDs();\n const listWithoutSelectedUser = currentUsers.filter((u) => u !== userId);\n this.selectedUserIDs.set([...listWithoutSelectedUser]);\n }\n\n private setupAvailableOptions(): Observable {\n return this.formControl.valueChanges.pipe(\n takeUntilDestroyed(),\n debounceTime(250),\n switchMap((searchTerm) => {\n const filterTerm = typeof searchTerm === 'string' ? searchTerm : searchTerm?.userId;\n return this.userService?.searchUsers?.(filterTerm || '') ?? [];\n }),\n );\n }\n\n private async setInitialValue(userIds: string[]): Promise {\n this.selectedUserIDs.set(userIds);\n const singleInput = this.singleInput();\n if (this.userService && userIds.length > 0 && singleInput) {\n const users = await firstValueFrom(this.userService.getMultiUsers(userIds));\n this.formControl.setValue(users?.[0]);\n }\n }\n}\n", "import { CommonModule } from '@angular/common';\nimport { Component, computed, inject, Input, signal } from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { GalaxyAbstractFilterChip, GalaxyFilterValueInterface } from '@vendasta/galaxy/filter/chips';\nimport { switchMap } from 'rxjs/operators';\nimport { CrmInjectionToken, SimplifiedUser } from '@galaxy/crm/static';\nimport { of } from 'rxjs';\n\n@Component({\n selector: 'crm-user-filter-chip',\n template: `\n \n {{ selectedUsersText() }}\n \n \n
\n
\n `,\n providers: [],\n styleUrls: ['./user-filter-chip.component.scss'],\n imports: [CommonModule, TranslateModule],\n})\nexport class CrmUserFilterChipComponent implements GalaxyAbstractFilterChip {\n selectedUserIds = signal([]);\n selectedUsers = signal([]);\n @Input() set initialValue(value: GalaxyFilterValueInterface[]) {\n this.selectedUserIds.set(value?.map((v) => v.string ?? '') || []);\n }\n\n selectedUsersText = computed(() => {\n if (this.selectedUsers().length === 0) {\n return '';\n }\n const firstUserName = this.selectedUsers()[0].displayName || this.selectedUserIds()[0];\n if (this.selectedUsers().length === 1) {\n return firstUserName;\n }\n return `${firstUserName} +${this.selectedUsers().length - 1}`;\n });\n\n private readonly userService = inject(CrmInjectionToken).services?.userService;\n\n constructor() {\n toObservable(this.selectedUserIds)\n .pipe(\n takeUntilDestroyed(),\n switchMap((userIds) => this.userService?.getMultiUsers(userIds) ?? of([])),\n )\n .subscribe((result) => this.selectedUsers.set(result));\n }\n}\n", "export * from './user-filter-input.component';\nexport * from './user-filter-chip.component';\n", "export * from './src/column/user-column-cell.component';\nexport * from './src/input/user-input.component';\nexport * from './src/filters';\n", "export * from './public_api';\n", "import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { TranslationModule } from '@galaxy/crm/static';\n\nconst CRM_ROUTES: Routes = [];\n\n@NgModule({\n imports: [RouterModule.forChild(CRM_ROUTES), TranslationModule],\n exports: [RouterModule],\n providers: [],\n})\nexport class CrmDynamicListsActionsModule {}\n", "import { CRMSelectAllOptions, ObjectType, SingleRowAction } from '@galaxy/crm/static';\nimport { ListActionsService } from './list-actions.service';\nimport { MultiRowAction } from '@galaxy/crm/static';\nimport { Row } from '@vendasta/galaxy/table';\n\nexport function AddToListSingleRowAction(\n namespace: string,\n service: ListActionsService,\n objectType: ObjectType,\n label: string,\n): SingleRowAction {\n return {\n label: label,\n callback: (row: Row) => {\n service.addToList(namespace, objectType, [row]);\n },\n };\n}\n\nexport function AddToListMultiRowAction(\n namespace: string,\n service: ListActionsService,\n objectType: ObjectType,\n label: string,\n): MultiRowAction {\n return {\n label: label,\n callback: (rows: Row[]) => {\n service.addToList(namespace, objectType, rows);\n },\n };\n}\n\nexport function AddToListSelectAllAction(\n namespace: string,\n service: ListActionsService,\n objectType: ObjectType,\n label: string,\n): MultiRowAction {\n return {\n label: label,\n callback: (rows: Row[], options?: CRMSelectAllOptions) => {\n service.addSelectAllToList(namespace, objectType, options);\n },\n };\n}\n", "import { CommonModule } from '@angular/common';\nimport { Component, ElementRef, inject, OnInit, ViewChild } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MAT_DIALOG_DATA, MatDialogClose, MatDialogRef } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { GalaxyConfirmationModalModule } from '@vendasta/galaxy/confirmation-modal';\nimport { ObjectType, TranslationModule } from '@galaxy/crm/static';\nimport { FormControl, ReactiveFormsModule, Validators } from '@angular/forms';\nimport {\n FilterGroupOperator,\n ListDefinition,\n ListDefinitionsApiService,\n FilterOperator,\n ListDefinitionsResponse,\n} from '@vendasta/bulk-actions';\nimport { GalaxyFormFieldModule } from '@vendasta/galaxy/form-field';\n\nimport { MatInput } from '@angular/material/input';\nimport { GalaxyTagsModule } from '@vendasta/galaxy/tags';\nimport { GalaxyTooltipModule } from '@vendasta/galaxy/tooltip';\nimport { catchError, expand, Observable, of, reduce, take, takeWhile } from 'rxjs';\nimport { MatAutocomplete, MatAutocompleteTrigger, MatOption } from '@angular/material/autocomplete';\nimport { GalaxyPipesModule } from '@vendasta/galaxy/pipes';\n\nexport interface DialogData {\n namespace: string;\n objectType: ObjectType;\n numberOfRows: number;\n}\n\n@Component({\n imports: [\n CommonModule,\n GalaxyConfirmationModalModule,\n MatButtonModule,\n MatIconModule,\n MatDialogClose,\n TranslationModule,\n GalaxyFormFieldModule,\n MatInput,\n ReactiveFormsModule,\n GalaxyTagsModule,\n GalaxyTooltipModule,\n MatAutocompleteTrigger,\n MatAutocomplete,\n MatOption,\n GalaxyPipesModule,\n ],\n selector: 'crm-select-list-modal',\n templateUrl: `./select-list-modal.component.html`,\n styleUrls: [`./select-list-modal.component.scss`],\n providers: [],\n})\nexport class SelectListModalComponent implements OnInit {\n public dialogRef = inject(MatDialogRef);\n private readonly listDefinitionsApiService = inject(ListDefinitionsApiService);\n private readonly dialogData: DialogData = inject(MAT_DIALOG_DATA);\n resourceType = this.dialogData?.objectType ?? 'Contact';\n numberOfRows = this.dialogData?.numberOfRows ?? 0;\n\n options: ListDefinition[] = [];\n filteredOptions!: ListDefinition[];\n selectedListControl = new FormControl('', { nonNullable: true, validators: [Validators.required] });\n\n @ViewChild('input') input: ElementRef | undefined;\n\n ngOnInit(): void {\n this.fetchAllLists(this.dialogData.namespace, this.dialogData.objectType)\n .pipe(take(1))\n .subscribe((lists) => {\n this.options = lists ?? [];\n this.filteredOptions = this.options;\n });\n }\n\n private fetchListDefinitions(\n namespace: string,\n objectType: string,\n cursor: string,\n pageSize: number,\n ): Observable {\n return this.listDefinitionsApiService.listDefinitions({\n namespace: namespace,\n filters: {\n operator: FilterGroupOperator.FILTER_GROUP_OPERATOR_AND,\n filters: [\n {\n fieldId: 'resource_type',\n operator: FilterOperator.FILTER_OPERATOR_IS,\n values: [{ string: objectType }],\n },\n {\n fieldId: 'list_type',\n operator: FilterOperator.FILTER_OPERATOR_IS,\n values: [{ string: 'Static' }],\n },\n ],\n },\n pagingOptions: {\n cursor: cursor,\n pageSize: pageSize,\n },\n });\n }\n\n private fetchAllLists(namespace: string, objectType: string): Observable {\n return this.fetchListDefinitions(namespace, objectType, '', 100).pipe(\n expand((response) => this.fetchListDefinitions(namespace, objectType, response.pagingMetadata?.nextCursor, 100)),\n takeWhile((response) => !!response.pagingMetadata?.hasMore, true),\n reduce((all, { listDefinitions = [] }) => all.concat(listDefinitions), [] as ListDefinition[]),\n catchError(() => {\n return of([]);\n }),\n );\n }\n\n filter(): void {\n const filterValue = this.input?.nativeElement.value.toLowerCase() || '';\n this.filteredOptions = this.options.filter((o) => o?.name.toLowerCase().includes(filterValue));\n }\n\n addToList() {\n if (this.selectedListControl.invalid) {\n return;\n }\n const selectedList = this.options.find((definition) => definition.listId === this.selectedListControl.value);\n this.dialogRef.close(selectedList);\n }\n\n displayFn(options: ListDefinition[]): (listId: string) => string {\n return (listId: string): string => {\n return options?.find((option) => option.listId === listId)?.name || '';\n };\n }\n}\n", "\n \n {{ 'DYNAMIC_LISTS.SELECT_LIST_MODAL.TITLE' | translate }}\n \n \n
\n @if (filteredOptions) {\n \n \n @switch (resourceType) {\n @case ('Contact') {\n {{ 'DYNAMIC_LISTS.SELECT_LIST_MODAL.SELECT_CONTACT_LIST_LABEL' | translate }}\n }\n @case ('Company') {\n {{ 'DYNAMIC_LISTS.SELECT_LIST_MODAL.SELECT_COMPANY_LIST_LABEL' | translate }}\n }\n }\n \n \n \n @for (option of filteredOptions; track option) {\n {{ option.name }}\n }\n \n @if (!selectedListControl.untouched && selectedListControl.hasError('required')) {\n \n {{ 'DYNAMIC_LISTS.SELECT_LIST_MODAL.SELECT_LIST_REQUIRED' | translate }}\n \n }\n \n } @else {\n
\n }\n
\n
\n
\n\n\n \n @switch (resourceType) {\n @case ('Contact') {\n \n }\n @case ('Company') {\n \n }\n }\n \n\n \n \n\n", "import { inject, Injectable } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Row } from '@vendasta/galaxy/table';\nimport { convertGalaxyFilters, CRMSelectAllOptions, ObjectType } from '@galaxy/crm/static';\nimport { firstValueFrom, take } from 'rxjs';\nimport { SnackbarService } from '@vendasta/galaxy/snackbar-service';\nimport { DialogData, SelectListModalComponent } from './select-list-modal/select-list-modal.component';\nimport { ListItemsApiService, ListDefinition } from '@vendasta/bulk-actions';\nimport { ObjectSearch } from '@vendasta/bulk-actions';\n\n@Injectable({ providedIn: 'root' })\nexport class ListActionsService {\n private readonly dialog = inject(MatDialog);\n private readonly listItemsApiService = inject(ListItemsApiService);\n private readonly snackbarService = inject(SnackbarService);\n\n private async openSelectListModal(\n namespace: string,\n objectType: ObjectType,\n numberOfRows: number,\n ): Promise {\n const data = {\n namespace: namespace,\n objectType: objectType,\n numberOfRows: numberOfRows,\n } as DialogData;\n const dialog = this.dialog.open(SelectListModalComponent, {\n data: data,\n width: '500px',\n });\n return firstValueFrom(dialog.afterClosed());\n }\n\n async addToList(namespace: string, objectType: ObjectType, rows: Row[]): Promise {\n const resourceIds = rows.map((row) => row.id).filter((id) => id);\n const selectedList = await this.openSelectListModal(namespace, objectType, resourceIds.length);\n if (!selectedList || resourceIds.length === 0) {\n return;\n }\n this.listItemsApiService\n .addMultiStaticItem({\n namespace: namespace,\n listId: selectedList.listId,\n resourceId: resourceIds,\n })\n .pipe(take(1))\n .subscribe({\n next: () => {\n const messageKey =\n resourceIds.length === 1\n ? 'DYNAMIC_LISTS.SUCCESS.ADDED_TO_LIST_SINGULAR'\n : 'DYNAMIC_LISTS.SUCCESS.ADDED_TO_LIST';\n this.snackbarService.openSuccessSnack(messageKey, {\n interpolateTranslateParams: {\n numberOfItems: resourceIds.length?.toString() ?? '0',\n listName: selectedList.name,\n },\n });\n },\n error: () => {\n this.snackbarService.openErrorSnack('DYNAMIC_LISTS.ERRORS.FAILED_TO_ADD', {\n interpolateTranslateParams: {\n listName: selectedList.name,\n },\n });\n },\n });\n }\n\n async addSelectAllToList(namespace: string, objectType: ObjectType, options?: CRMSelectAllOptions): Promise {\n const selectedList = await this.openSelectListModal(namespace, objectType, options?.totalObjects || 0);\n if (!selectedList || options?.totalObjects === 0) {\n return;\n }\n const filters = convertGalaxyFilters(options?.filters);\n\n this.listItemsApiService\n .bulkAddStaticItems({\n namespace: namespace,\n listId: selectedList.listId,\n search: {\n searchTerm: options?.search || '',\n } as ObjectSearch,\n filters: filters,\n })\n .pipe(take(1))\n .subscribe({\n next: () => {\n const messageKey =\n options?.totalObjects === 1\n ? 'DYNAMIC_LISTS.SUCCESS.ADDING_TO_LIST_SINGULAR'\n : 'DYNAMIC_LISTS.SUCCESS.ADDING_TO_LIST';\n this.snackbarService.openSuccessSnack(messageKey, {\n interpolateTranslateParams: {\n numberOfItems: options?.totalObjects?.toString() || '0',\n listName: selectedList.name,\n },\n });\n },\n error: () => {\n this.snackbarService.openErrorSnack('DYNAMIC_LISTS.ERRORS.FAILED_TO_ADD', {\n interpolateTranslateParams: {\n listName: selectedList.name,\n },\n });\n },\n });\n }\n}\n", "export * from './crm-dynamic-lists-actions.module';\nexport * from './list-actions';\nexport * from './list-actions.service';\n", "export * from './src';\n", "export * from './public_api';\n", "export const DynamicListsFeature = 'business_app_dynamic_lists';\nexport const CampaignsProDemo = 'MP-WF5KS7FHTGV4LR5DBQ4D6XKCCDB5B6G7';\nexport const CampaignsProProd = 'MP-ZGJ6V4QRP77WPMDKXS6VDRNX58Q42P7P';\n", "import { CrmCampaignContactsDialogService } from '@galaxy/campaign/shared';\nimport { AccountGroupService } from '../account-group';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ProductService } from '../core/product.service';\nimport { FeatureFlagService } from '../core/feature-flag.service';\nimport { ProductAnalyticsService } from '@vendasta/product-analytics';\nimport { combineLatest, map, Observable, of, switchMap, firstValueFrom } from 'rxjs';\nimport { CRMSelectAllOptions, MultiRowAction, SelectAllAction, SingleRowAction } from '@galaxy/crm/static';\nimport { Row } from '@vendasta/galaxy/table';\nimport {\n AddToListMultiRowAction,\n AddToListSingleRowAction,\n AddToListSelectAllAction,\n ListActionsService,\n} from '@galaxy/crm/integrations/dynamic-lists-actions';\nimport { ConversationChannel } from '@vendasta/conversation';\nimport { CampaignsProDemo, CampaignsProProd, DynamicListsFeature } from './constants';\nimport { InboxService } from './inbox.service';\nimport { ExportActionsService, ExportSelectAllRowAction } from '@galaxy/crm/dynamic';\nimport { CRMAccessService } from './access.service';\nimport {\n AutomationActionsService,\n AutomationMultiRowAction,\n AutomationSelectAllRowAction,\n AutomationSingleRowAction,\n} from '@galaxy/crm/integrations/automation';\nimport { OpenConfirmationModalService } from '@vendasta/galaxy/confirmation-modal';\nimport { ReputationService } from '../reputation/reputation.service';\nimport { BusinessCenterApiService } from '@vendasta/business-center';\nimport { SnackbarService } from '@vendasta/galaxy/snackbar-service';\n\nexport function buildContactSingleRowTableActions(\n accountGroupService: AccountGroupService,\n featureFlagService: FeatureFlagService,\n listActionsService: ListActionsService,\n crmInboxService: InboxService,\n accessService: CRMAccessService,\n automationActionService: AutomationActionsService,\n translationSvc: TranslateService,\n confirmationModalService: OpenConfirmationModalService,\n reputationService: ReputationService,\n snackbarService: SnackbarService,\n rmPremiumActive$: Observable,\n): Observable {\n return accountGroupService.currentAccountGroup$.pipe(\n switchMap((currentAccountGroup) => {\n return combineLatest([\n accountGroupService.currentAccountGroupId$,\n of(currentAccountGroup.partnerId),\n featureFlagService.checkFeatureFlag(currentAccountGroup.partnerId, '', DynamicListsFeature),\n accessService.canRunManualAutomations$,\n rmPremiumActive$,\n ]);\n }),\n map(([accountGroupId, partnerId, canAddToCRMLists, canRunAutomations, rmPremiumActive]) => {\n const actions: SingleRowAction[] = [];\n actions.push(goToConversationSingleRowAction(crmInboxService, accountGroupId, partnerId));\n if (rmPremiumActive) {\n actions.push(\n sendReviewRequestSingleRowAction(\n translationSvc,\n confirmationModalService,\n reputationService,\n snackbarService,\n accountGroupService,\n ),\n );\n }\n if (canAddToCRMLists) {\n actions.push(AddToListSingleRowAction(accountGroupId, listActionsService, 'Contact', 'CRM.ADD_TO_STATIC_LIST'));\n }\n if (canRunAutomations) {\n actions.push(\n AutomationSingleRowAction(\n accountGroupId,\n automationActionService,\n 'Contact',\n 'COMPANY.LIST_OBJECTS_TABLE.ACTIONS.START_AUTOMATION',\n ),\n );\n }\n return actions;\n }),\n );\n}\n\nexport function buildContactMultiRowTableActions(\n campaignService: CrmCampaignContactsDialogService,\n accountGroupService: AccountGroupService,\n translationSvc: TranslateService,\n activeAppService: ProductService,\n productAnalyticsService: ProductAnalyticsService,\n featureFlagService: FeatureFlagService,\n listActionsService: ListActionsService,\n accessService: CRMAccessService,\n automationActionService: AutomationActionsService,\n confirmationModalService: OpenConfirmationModalService,\n reputationService: ReputationService,\n snackbarService: SnackbarService,\n rmPremiumActive$: Observable,\n): Observable {\n const canAccessCampaigns$ = activeAppService.activeProducts$.pipe(\n map((apps) => {\n return apps.filter((app) => app.productId === CampaignsProProd || app.productId === CampaignsProDemo).length > 0;\n }),\n );\n\n return accountGroupService.currentAccountGroup$.pipe(\n switchMap((currentAccountGroup) => {\n return combineLatest([\n accountGroupService.currentAccountGroupId$,\n featureFlagService.checkFeatureFlag(currentAccountGroup.partnerId, '', DynamicListsFeature),\n canAccessCampaigns$,\n accessService.canRunManualAutomations$,\n rmPremiumActive$,\n ]);\n }),\n map(([accountGroupId, canAddToList, canAccessCampaigns, canRunAutomations, rmPremiumActive]) => {\n const actions: MultiRowAction[] = [];\n if (canAddToList) {\n actions.push(\n AddToListMultiRowAction(\n accountGroupId,\n listActionsService,\n 'Contact',\n translationSvc.instant('CRM.ADD_TO_STATIC_LIST'),\n ),\n );\n }\n if (rmPremiumActive) {\n actions.push(\n sendReviewRequestMultiRowAction(\n translationSvc,\n confirmationModalService,\n reputationService,\n snackbarService,\n accountGroupService,\n ),\n );\n }\n if (canRunAutomations) {\n actions.push(\n AutomationMultiRowAction(\n accountGroupId,\n automationActionService,\n 'Contact',\n 'COMPANY.LIST_OBJECTS_TABLE.ACTIONS.START_AUTOMATION',\n ),\n );\n }\n if (canAccessCampaigns) {\n actions.push({\n label: translationSvc.instant('CONTACT_TABLE_ADD_TO_CAMPAIGN'),\n callback: (rows: Row[]) => {\n productAnalyticsService.trackEvent(\n 'user-clicked-crm-table-add-multi-contacts',\n 'send-campaign-workflow',\n 'click',\n null,\n );\n campaignService.navigateToSendCampaign(rows);\n },\n });\n }\n return actions;\n }),\n );\n}\n\nexport function buildContactSelectAllTableActions(\n campaignService: CrmCampaignContactsDialogService,\n translationSvc: TranslateService,\n activeAppService: ProductService,\n productAnalyticsService: ProductAnalyticsService,\n accountGroupService: AccountGroupService,\n exportActionsService: ExportActionsService,\n featureFlagService: FeatureFlagService,\n listActionsService: ListActionsService,\n accessService: CRMAccessService,\n automationActionService: AutomationActionsService,\n confirmationModalService: OpenConfirmationModalService,\n businessCenterApiService: BusinessCenterApiService,\n snackbarService: SnackbarService,\n rmPremiumActive$: Observable,\n): Observable {\n return accountGroupService.currentAccountGroup$.pipe(\n switchMap((currentAccountGroup) => {\n return combineLatest([\n accountGroupService.currentAccountGroupId$,\n featureFlagService.checkFeatureFlag(currentAccountGroup.partnerId, '', DynamicListsFeature),\n activeAppService.activeProducts$,\n accessService.canRunManualAutomations$,\n rmPremiumActive$,\n ]);\n }),\n map(([accountGroupId, canAddToList, apps, canRunAutomations, rmPremiumActive]): SelectAllAction[] => {\n const actions: MultiRowAction[] = [];\n if (canAddToList) {\n actions.push(\n AddToListSelectAllAction(\n accountGroupId,\n listActionsService,\n 'Contact',\n translationSvc.instant('CRM.ADD_TO_STATIC_LIST'),\n ),\n );\n }\n if (rmPremiumActive) {\n actions.push(\n sendReviewRequestAllContactsAction(\n translationSvc,\n confirmationModalService,\n accountGroupService,\n businessCenterApiService,\n snackbarService,\n ),\n );\n }\n if (canRunAutomations) {\n actions.push(\n AutomationSelectAllRowAction(\n accountGroupId,\n automationActionService,\n 'Contact',\n 'COMPANY.LIST_OBJECTS_TABLE.ACTIONS.START_AUTOMATION',\n ),\n );\n }\n if (apps.filter((app) => app.productId === CampaignsProProd || app.productId === CampaignsProDemo).length !== 0) {\n actions.push({\n label: translationSvc.instant('CONTACT_TABLE_ADD_TO_CAMPAIGN'),\n callback: (rows: Row[], selectOptions?: CRMSelectAllOptions) => {\n productAnalyticsService.trackEvent(\n 'user-clicked-crm-table-select-all-contacts',\n 'crciweate-campaign-workflow',\n 'click',\n null,\n );\n campaignService.navigateToSendCampaign(\n rows,\n selectOptions.filters,\n selectOptions.search,\n selectOptions.useSelectAll,\n selectOptions.totalObjects,\n );\n },\n });\n }\n actions.push(\n ExportSelectAllRowAction(accountGroupId, exportActionsService, 'Contact', 'ACTIONS.CRM.EXPORT.LABEL'),\n );\n return actions;\n }),\n );\n}\n\nfunction goToConversationSingleRowAction(\n inbox: InboxService,\n namespace: string,\n parentNamespace: string,\n): SingleRowAction {\n return {\n label: 'CRM.SEND_MESSAGE',\n callback: (row: Row) => {\n const phone = inbox.getContactPhoneFromRow(row);\n const channel = phone\n ? ConversationChannel.CONVERSATION_CHANNEL_SMS\n : ConversationChannel.CONVERSATION_CHANNEL_EMAIL;\n inbox.goToContactConversation(namespace, parentNamespace, row.id, channel);\n },\n };\n}\n\nfunction sendReviewRequestSingleRowAction(\n translationSvc: TranslateService,\n confirmationModalService: OpenConfirmationModalService,\n reputationService: ReputationService,\n snackbarService: SnackbarService,\n accountGroupService: AccountGroupService,\n) {\n return {\n label: translationSvc.instant('CRM.REQUEST_REVIEW'),\n callback: (row: Row) => {\n const contactId = row.id;\n if (contactId) {\n const contactName = row.data.fullName.value;\n let message = translationSvc.instant(\n 'PERFORMANCE.MULTI_LOCATION.REVIEWS.SEND_REVIEWS_CONFIRMATION_MESSAGE_NO_NAME',\n );\n if (contactName) {\n message = translationSvc.instant('PERFORMANCE.MULTI_LOCATION.REVIEWS.SEND_REVIEWS_CONFIRMATION_MESSAGE', {\n contactName,\n });\n }\n confirmationModalService\n .openModal({\n title: 'COMMON.ACTION_LABELS.SEND_REVIEW_REQUEST_QUESTION',\n message,\n confirmButtonText: 'COMMON.ACTION_LABELS.SEND_REVIEW_REQUEST',\n })\n .subscribe(async (confirmed) => {\n if (confirmed) {\n try {\n await reputationService.scheduleReviewRequest(accountGroupService.currentAccountGroupId(), [contactId]);\n snackbarService.openSuccessSnack(\n 'PERFORMANCE.MULTI_LOCATION.REVIEWS.SEND_REVIEWS_CONFIRMATION_MESSAGE_SUCCESS',\n );\n } catch (error) {\n snackbarService.openErrorSnack(\n 'PERFORMANCE.MULTI_LOCATION.REVIEWS.SEND_REVIEWS_CONFIRMATION_MESSAGE_ERROR',\n );\n }\n }\n });\n }\n },\n };\n}\n\nfunction sendReviewRequestMultiRowAction(\n translationSvc: TranslateService,\n confirmationModalService: OpenConfirmationModalService,\n reputationService: ReputationService,\n snackbarService: SnackbarService,\n accountGroupService: AccountGroupService,\n) {\n return {\n label: translationSvc.instant('CRM.REQUEST_REVIEWS'),\n callback: (rows: Row[]) => {\n const contactIds = rows.map((row) => row.id); // TODO: this just takes the first page of contacts. Will have to make API call to get all contacts\n // and page through them\n if (contactIds.length > 0) {\n confirmationModalService\n .openModal({\n title: 'COMMON.ACTION_LABELS.SEND_REVIEW_REQUEST_QUESTION',\n message: translationSvc.instant(\n 'PERFORMANCE.MULTI_LOCATION.REVIEWS.SEND_REVIEWS_BULK_CONFIRMATION_MESSAGE',\n { contactCount: contactIds.length },\n ),\n confirmButtonText: 'COMMON.ACTION_LABELS.SEND_REVIEW_REQUESTS',\n })\n .subscribe(async (confirmed) => {\n if (confirmed) {\n try {\n await reputationService.scheduleReviewRequest(accountGroupService.currentAccountGroupId(), contactIds);\n snackbarService.openSuccessSnack(\n 'PERFORMANCE.MULTI_LOCATION.REVIEWS.SEND_REVIEWS_BULK_CONFIRMATION_MESSAGE_SUCCESS',\n );\n } catch (error) {\n snackbarService.openErrorSnack(\n 'PERFORMANCE.MULTI_LOCATION.REVIEWS.SEND_REVIEWS_BULK_CONFIRMATION_MESSAGE_ERROR',\n );\n }\n }\n });\n }\n },\n };\n}\n\nfunction sendReviewRequestAllContactsAction(\n translationSvc: TranslateService,\n confirmationModalService: OpenConfirmationModalService,\n accountGroupService: AccountGroupService,\n businessCenterApiService: BusinessCenterApiService,\n snackbarService: SnackbarService,\n) {\n return {\n label: translationSvc.instant('CRM.REQUEST_REVIEWS'),\n callback: (_: Row[]) => {\n confirmationModalService\n .openModal({\n title: 'COMMON.ACTION_LABELS.SEND_REVIEW_REQUEST_QUESTION',\n message: translationSvc.instant('PERFORMANCE.MULTI_LOCATION.REVIEWS.SEND_REVIEWS_ALL_CONFIRMATION_MESSAGE'),\n confirmButtonText: 'COMMON.ACTION_LABELS.SEND_REVIEW_REQUESTS',\n })\n .subscribe(async (confirmed) => {\n if (confirmed) {\n try {\n await firstValueFrom(\n businessCenterApiService.sendReviewRequestToContacts({\n filters: {\n businessId: accountGroupService.currentAccountGroupId(),\n },\n }),\n );\n snackbarService.openSuccessSnack(\n 'PERFORMANCE.MULTI_LOCATION.REVIEWS.SEND_REVIEWS_BULK_CONFIRMATION_MESSAGE_SUCCESS',\n );\n } catch (error) {\n snackbarService.openErrorSnack(\n 'PERFORMANCE.MULTI_LOCATION.REVIEWS.SEND_REVIEWS_BULK_CONFIRMATION_MESSAGE_ERROR',\n );\n }\n }\n });\n },\n };\n}\n", "import { AccountGroupService } from '../account-group';\nimport { FeatureFlagService } from '../core/feature-flag.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n AddToListMultiRowAction,\n AddToListSingleRowAction,\n AddToListSelectAllAction,\n ListActionsService,\n} from '@galaxy/crm/integrations/dynamic-lists-actions';\nimport { combineLatest, map, Observable, switchMap } from 'rxjs';\nimport { MultiRowAction, SingleRowAction } from '@galaxy/crm/static';\nimport { DynamicListsFeature } from './constants';\nimport { ExportActionsService, ExportSelectAllRowAction } from '@galaxy/crm/dynamic';\nimport { CRMAccessService } from './access.service';\nimport {\n AutomationActionsService,\n AutomationMultiRowAction,\n AutomationSelectAllRowAction,\n AutomationSingleRowAction,\n} from '@galaxy/crm/integrations/automation';\n\nexport function buildCompanySingleRowTableActions(\n accountGroupService: AccountGroupService,\n featureFlagService: FeatureFlagService,\n listActionsService: ListActionsService,\n accessService: CRMAccessService,\n automationActionService: AutomationActionsService,\n): Observable {\n return accountGroupService.currentAccountGroup$.pipe(\n switchMap((currentAccountGroup) => {\n return combineLatest([\n accountGroupService.currentAccountGroupId$,\n featureFlagService.checkFeatureFlag(currentAccountGroup.partnerId, '', DynamicListsFeature),\n accessService.canRunManualAutomations$,\n ]);\n }),\n map(([accountGroupId, canAddToList, canRunAutomations]) => {\n const actions: SingleRowAction[] = [];\n if (canAddToList) {\n actions.push(AddToListSingleRowAction(accountGroupId, listActionsService, 'Company', 'CRM.ADD_TO_STATIC_LIST'));\n }\n if (canRunAutomations) {\n actions.push(\n AutomationSingleRowAction(\n accountGroupId,\n automationActionService,\n 'Company',\n 'COMPANY.LIST_OBJECTS_TABLE.ACTIONS.START_AUTOMATION',\n ),\n );\n }\n return actions;\n }),\n );\n}\n\nexport function buildCompanyMultiRowTableActions(\n accountGroupService: AccountGroupService,\n featureFlagService: FeatureFlagService,\n translationSvc: TranslateService,\n listActionsService: ListActionsService,\n accessService: CRMAccessService,\n automationActionService: AutomationActionsService,\n): Observable {\n return accountGroupService.currentAccountGroup$.pipe(\n switchMap((currentAccountGroup) => {\n return combineLatest([\n accountGroupService.currentAccountGroupId$,\n featureFlagService.checkFeatureFlag(currentAccountGroup.partnerId, '', DynamicListsFeature),\n accessService.canRunManualAutomations$,\n ]);\n }),\n map(([accountGroupId, canAddToList, canRunAutomations]) => {\n const actions: MultiRowAction[] = [];\n if (canAddToList) {\n actions.push(\n AddToListMultiRowAction(\n accountGroupId,\n listActionsService,\n 'Company',\n translationSvc.instant('CRM.ADD_TO_STATIC_LIST'),\n ),\n );\n }\n if (canRunAutomations) {\n actions.push(\n AutomationMultiRowAction(\n accountGroupId,\n automationActionService,\n 'Company',\n 'COMPANY.LIST_OBJECTS_TABLE.ACTIONS.START_AUTOMATION',\n ),\n );\n }\n return actions;\n }),\n );\n}\n\nexport function buildCompanySelectAllTableActions(\n accountGroupService: AccountGroupService,\n featureFlagService: FeatureFlagService,\n translationSvc: TranslateService,\n listActionsService: ListActionsService,\n exportActionsService: ExportActionsService,\n accessService: CRMAccessService,\n automationActionService: AutomationActionsService,\n): Observable {\n return accountGroupService.currentAccountGroup$.pipe(\n switchMap((currentAccountGroup) => {\n return combineLatest([\n accountGroupService.currentAccountGroupId$,\n featureFlagService.checkFeatureFlag(currentAccountGroup.partnerId, '', DynamicListsFeature),\n accessService.canRunManualAutomations$,\n ]);\n }),\n map(([accountGroupId, canAddToList, canRunAutomations]) => {\n const actions: MultiRowAction[] = [];\n if (canAddToList) {\n actions.push(\n AddToListSelectAllAction(\n accountGroupId,\n listActionsService,\n 'Company',\n translationSvc.instant('CRM.ADD_TO_STATIC_LIST'),\n ),\n );\n }\n if (canRunAutomations) {\n actions.push(\n AutomationSelectAllRowAction(\n accountGroupId,\n automationActionService,\n 'Company',\n 'COMPANY.LIST_OBJECTS_TABLE.ACTIONS.START_AUTOMATION',\n ),\n );\n }\n actions.push(\n ExportSelectAllRowAction(accountGroupId, exportActionsService, 'Company', 'ACTIONS.CRM.EXPORT.LABEL'),\n );\n return actions;\n }),\n );\n}\n", "import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'duration',\n standalone: true,\n})\nexport class DurationPipe implements PipeTransform {\n transform(value: string): string {\n return DurationPipe.transformDuration(value);\n }\n\n static transformDuration(value: string): string {\n if (!value || !value.endsWith('s')) {\n return 'Invalid duration';\n }\n const seconds = parseInt(value.slice(0, -1), 10);\n const minutes = Math.floor(seconds / 60);\n return `${minutes} minutes`;\n }\n}\n\n@Pipe({\n name: 'isSelected',\n standalone: true,\n})\nexport class IsSelectedPipe implements PipeTransform {\n transform(meetingId: string, selectedId: string): boolean {\n return meetingId === selectedId;\n }\n}\n", "import { CommonModule } from '@angular/common';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { MatCardModule } from '@angular/material/card';\nimport { GalaxyBadgeModule } from '@vendasta/galaxy/badge';\nimport {\n MAT_DIALOG_DATA,\n MatDialogActions,\n MatDialogContent,\n MatDialogRef,\n MatDialogTitle,\n} from '@angular/material/dialog';\nimport { GalaxyFormFieldModule } from '@vendasta/galaxy/form-field';\nimport { BehaviorSubject, combineLatest, map, Observable, of, take } from 'rxjs';\nimport { GalaxyEmptyStateModule } from '@vendasta/galaxy/empty-state';\nimport { GalaxyInfiniteScrollTriggerModule } from '@vendasta/galaxy/infinite-scroll-trigger';\nimport { MatRadioButton, MatRadioGroup } from '@angular/material/radio';\nimport { FormsModule } from '@angular/forms';\nimport { HostService, IsCalendarConfiguredRequestInterface, MeetingType } from '@vendasta/meetings';\nimport { SnackbarService } from '@vendasta/galaxy/snackbar-service';\nimport { RxState } from '@rx-angular/state';\nimport { GalaxyLoadingSpinnerModule } from '@vendasta/galaxy/loading-spinner';\nimport { DurationPipe, IsSelectedPipe } from '../pipes';\nimport { switchMap } from 'rxjs/operators';\nimport { MatTooltip } from '@angular/material/tooltip';\n\n@Component({\n selector: 'crm-fulfillment-projects-association-card',\n imports: [\n CommonModule,\n TranslateModule,\n MatExpansionModule,\n MatIconModule,\n MatButtonModule,\n MatMenuModule,\n MatCardModule,\n GalaxyBadgeModule,\n MatDialogContent,\n MatDialogTitle,\n GalaxyFormFieldModule,\n MatDialogActions,\n GalaxyEmptyStateModule,\n GalaxyInfiniteScrollTriggerModule,\n MatRadioGroup,\n MatRadioButton,\n FormsModule,\n GalaxyLoadingSpinnerModule,\n DurationPipe,\n IsSelectedPipe,\n MatTooltip,\n ],\n templateUrl: './meeting-event-list.component.html',\n styleUrls: ['./meeting-event-list.component.scss'],\n providers: [RxState],\n})\nexport class MeetingEventComponent implements OnInit {\n selectedMeetingType: string;\n\n meetingTypes: MeetingType[] = [];\n loading$$: BehaviorSubject = new BehaviorSubject(true);\n\n calendarId$: Observable = of([]);\n eventTypeList$: Observable<{ [p: string]: MeetingType[] }> = of({});\n currentUserId$: Observable = of('');\n namespace$: Observable = of('');\n parentNamespace$: Observable = of('');\n\n constructor(\n readonly ref: MatDialogRef,\n @Inject(MAT_DIALOG_DATA)\n public data: {\n contactId: string;\n currentUserId: Observable;\n namespace: Observable;\n parentNamespace: Observable;\n },\n private snackbarService: SnackbarService,\n private readonly meetingService: HostService,\n ) {\n this.currentUserId$ = data.currentUserId;\n this.namespace$ = data.namespace;\n this.parentNamespace$ = data.parentNamespace;\n }\n\n ngOnInit(): void {\n this.getMeetingTypes();\n }\n\n sendEmail() {\n if (!this.selectedMeetingType) {\n return;\n }\n\n this.sendEmailToContact(this.data.contactId, this.selectedMeetingType).subscribe({\n next: () => {\n this.snackbarService.openSuccessSnack('COMMON.SNACKBAR_MESSAGE.MEETING_EMAIL_SUCCESS', { action: 'Close' });\n },\n error: () => {\n this.snackbarService.openErrorSnack('COMMON.SNACKBAR_MESSAGE.MEETING_EMAIL_FAILURE');\n },\n });\n this.ref.close();\n }\n\n close() {\n this.ref.close();\n }\n\n getMeetingTypes(): void {\n this.calendarId$ = combineLatest([this.namespace$, this.currentUserId$, this.parentNamespace$]).pipe(\n map(([namespace, currentUser, parentNamespace]) => {\n const request: IsCalendarConfiguredRequestInterface = {\n applicationContextProperties: {\n ...(parentNamespace\n ? { business_id: namespace, user_context: 'SMB' }\n : { partner_id: namespace, user_context: 'PARTNER' }),\n },\n userId: currentUser as string,\n };\n return request;\n }),\n switchMap((request) => this.meetingService.IsCalendarConfigured(request)),\n map((response) => {\n return response.calendarIds;\n }),\n );\n\n this.eventTypeList$ = this.calendarId$.pipe(\n switchMap((calendarIds) => {\n const request = {\n calendarIds: calendarIds,\n metadata: {},\n };\n return this.meetingService.getMeetingTypesForCalendars(request);\n }),\n );\n\n this.eventTypeList$.pipe(take(1)).subscribe((meetingTypeMap: { [p: string]: MeetingType[] }) => {\n const meetingTypes: MeetingType[] = Object.values(meetingTypeMap).flat();\n this.meetingTypes = meetingTypes;\n this.loading$$.next(false);\n\n if (meetingTypes.length > 0) {\n this.selectedMeetingType = meetingTypes[0].id;\n } else {\n this.ref.close();\n this.snackbarService.openErrorSnack('COMMON.SNACKBAR_MESSAGE.NO_MEETING_TYPES');\n }\n });\n }\n\n sendEmailToContact(contactId: string, meetingTypeId: string) {\n return this.currentUserId$.pipe(\n map((currentUser) => ({\n contactId: contactId,\n userId: currentUser,\n meetingTypeId: meetingTypeId,\n })),\n switchMap((request) => this.meetingService.sendMeetingRequestEmail(request)),\n );\n }\n\n getBadgeColor(calendarType: string): 'yellow' | 'blue' | 'green' {\n switch (calendarType) {\n case 'Personal event type':\n return 'green';\n case 'Team event type':\n return 'blue';\n default:\n return 'yellow';\n }\n }\n getEventType(calendarType: string): string {\n const trimmedType = calendarType.trim().toLowerCase();\n if (trimmedType === 'personal event type') {\n return 'Personal';\n } else if (trimmedType === 'team event type') {\n return 'Team';\n }\n return calendarType.trim();\n }\n getTruncatedTeamName(teamName: string): string {\n return teamName.length > 20 ? `${teamName.slice(0, 20)}...` : teamName;\n }\n}\n", "

{{ 'CONTACT.PROFILE_PAGE.MEETING_EVENT_LIST_TITLE' | translate }}

\n\n \n \n \n \n \n
\n
\n \n \n {{ meeting.name }}\n
\n

{{ meeting.duration | duration }}

\n \n {{ getEventType(meeting.CalendarType) }}\n \n
\n \n
\n \n {{ getTruncatedTeamName(meeting.teamName) }}\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n \n \n \n \n\n", "import { Injectable } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MeetingEventComponent } from './meeting-event-list/meeting-event-list.component';\nimport { Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class MeetingEventService {\n constructor(private dialog: MatDialog) {}\n\n openMeetingEventListDialog(\n contactId,\n currentUserId: Observable,\n namespace: Observable,\n parentNamespace: Observable,\n ) {\n this.dialog.open(MeetingEventComponent, {\n panelClass: 'custom-dialog-container',\n width: '500px',\n data: {\n contactId: contactId,\n currentUserId: currentUserId,\n namespace: namespace,\n parentNamespace: parentNamespace,\n },\n });\n }\n}\n", "export { MeetingEventService } from './meeting-event.service';\n", "export * from './src';\n", "export * from './public_api';\n", "import { inject, Injectable } from '@angular/core';\nimport { firstValueFrom } from 'rxjs';\nimport { Router } from '@angular/router';\nimport {\n ConversationApiService,\n CreateConversationRequest,\n ConversationChannel,\n Participant,\n ParticipantType,\n PlatformLocation,\n} from '@vendasta/conversation';\nimport { SnackbarService } from '@vendasta/galaxy/snackbar-service';\nimport { Row } from '@vendasta/galaxy/table';\nimport { CrmFieldService, StandardExternalIds } from '@galaxy/crm/static';\nimport { AuthService } from '../auth.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class InboxService {\n private readonly auth = inject(AuthService);\n private readonly conversationApi = inject(ConversationApiService);\n private readonly router = inject(Router);\n private readonly snackbar = inject(SnackbarService);\n private readonly crmFields = inject(CrmFieldService);\n\n async goToContactConversation(\n namespace: string,\n parentNamespace: string,\n contactId: string,\n channel: ConversationChannel,\n ) {\n const participantOrganization = new Participant({\n participantType: ParticipantType.PARTICIPANT_TYPE_ACCOUNT_GROUP,\n accountGroupId: namespace,\n partnerId: parentNamespace,\n internalParticipantId: '',\n isSubjectParticipant: true,\n });\n const participantContact = new Participant({\n participantType: ParticipantType.PARTICIPANT_TYPE_CUSTOMER,\n accountGroupId: namespace,\n partnerId: parentNamespace,\n internalParticipantId: contactId,\n isSubjectParticipant: true,\n });\n const participantSender = new Participant({\n participantType: ParticipantType.PARTICIPANT_TYPE_IAM_USER,\n accountGroupId: namespace,\n partnerId: parentNamespace,\n internalParticipantId: this.auth.effectiveUserId(),\n isSubjectParticipant: false,\n });\n const createReq = new CreateConversationRequest({\n participants: [participantOrganization, participantContact, participantSender],\n channel: channel,\n originLocation: PlatformLocation.PLATFORM_LOCATION_BUSINESS_APP,\n });\n try {\n const response = await firstValueFrom(this.conversationApi.createConversation(createReq));\n const path = `/account/location/${namespace}/inbox/channel/${response.conversation.conversationId.replaceAll('CONVERSATION-', '')}`;\n this.router.navigateByUrl(path);\n } catch (error) {\n this.snackbar.openErrorSnack('CRM.CONVERSATION_CREATE_ERROR');\n }\n }\n\n getContactPhoneFromRow(row: Row): string {\n const phoneFieldId = this.getContactPhoneFieldId();\n return row.data[phoneFieldId]?.value;\n }\n\n private getContactPhoneFieldId(): string {\n return this.crmFields.getFieldId(StandardExternalIds.PhoneNumber);\n }\n}\n", "import { Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BadgeColor, GalaxyBadgeModule } from '@vendasta/galaxy/badge';\nimport { TranslateModule } from '@ngx-translate/core';\nimport {\n CrmFieldService,\n NonStandardExternalIDs,\n ObjectType,\n ProfileHeaderComponentInterface,\n} from '@galaxy/crm/static';\nimport { CrmObjectInterface } from '@vendasta/crm';\n\n@Component({\n selector: 'crm-nps-badge-reputation',\n imports: [CommonModule, GalaxyBadgeModule, TranslateModule],\n templateUrl: './nps-badge.component.html',\n styleUrl: './nps-badge.component.scss',\n})\nexport class NpsBadgeComponent implements ProfileHeaderComponentInterface {\n @Input() crmObjectType: ObjectType | undefined;\n\n private _crmObject?: CrmObjectInterface;\n @Input()\n set crmObject(value: CrmObjectInterface) {\n this._crmObject = value;\n this.updateNpsBadge();\n }\n get crmObject(): CrmObjectInterface | undefined {\n return this._crmObject;\n }\n\n netPromoterScore: string | null = null;\n npsScoreBadgeColor: BadgeColor | null = null;\n\n constructor(private crmFieldService: CrmFieldService) {}\n\n private updateNpsBadge() {\n const netPromoterScoreFieldId = this.crmFieldService.getFieldId(NonStandardExternalIDs.NetPromoterScore);\n const netPromoterScoreField = this._crmObject?.fields?.find((f) => f.fieldId === netPromoterScoreFieldId);\n this.netPromoterScore = netPromoterScoreField?.integerValue?.toString() || null;\n this.npsScoreBadgeColor = this.netPromoterScore ? this.getColor(this.netPromoterScore) : null;\n }\n\n getColor(score: string): BadgeColor {\n if (score === '9' || score === '10') {\n return 'green' as BadgeColor;\n } else if (score >= '7') {\n return 'yellow' as BadgeColor;\n } else {\n return 'red' as BadgeColor;\n }\n }\n}\n", "\n \n {{ 'CONTACT.PROFILE_PAGE.NPS' | translate: { score: score } }}\n \n\n", "export { NpsBadgeComponent } from './nps-badge/nps-badge.component';\n", "export * from './src';\n", "export * from './public_api';\n", "import { Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BadgeColor, GalaxyBadgeModule } from '@vendasta/galaxy/badge';\nimport {\n ObjectType,\n ProfileHeaderComponentInterface,\n StandardIds,\n TranslateByObjectTypePipe,\n} from '@galaxy/crm/static';\nimport { CrmObjectInterface } from '@vendasta/crm';\n\n@Component({\n selector: 'crm-lead-score-badge',\n imports: [CommonModule, GalaxyBadgeModule, TranslateByObjectTypePipe],\n templateUrl: './lead-score-badge.component.html',\n styleUrl: './lead-score-badge.component.scss',\n})\nexport class LeadScoreBadgeComponent implements ProfileHeaderComponentInterface {\n @Input() crmObjectType: ObjectType | undefined;\n\n private _crmObject?: CrmObjectInterface;\n @Input()\n set crmObject(value: CrmObjectInterface) {\n this._crmObject = value;\n this.updateLeadScoreBadge();\n }\n get crmObject(): CrmObjectInterface | undefined {\n return this._crmObject;\n }\n\n leadScore: string | null = null;\n leadScoreBadgeColor: BadgeColor | null = null;\n\n private updateLeadScoreBadge() {\n const leadScoreFieldId = this.getLeadScoreFieldId(this.crmObjectType);\n const leadScoreField = this._crmObject?.fields?.find((f) => f.fieldId === leadScoreFieldId);\n this.leadScore = leadScoreField?.floatValue?.toString() || null;\n this.leadScoreBadgeColor = this.leadScore ? this.getColor(this.leadScore) : null;\n }\n\n getLeadScoreFieldId(objectType: string | undefined): string {\n switch (objectType) {\n case 'Company':\n return StandardIds.CompanyLeadScore;\n case 'Contact':\n return StandardIds.ContactLeadScore;\n default:\n return '';\n }\n }\n\n getColor(score: string): BadgeColor {\n const scoreNumber = parseFloat(score);\n if (scoreNumber > 0.5) {\n return 'green' as BadgeColor;\n } else if (scoreNumber < -0.5) {\n return 'red' as BadgeColor;\n } else {\n return 'yellow' as BadgeColor;\n }\n }\n}\n", "@if (leadScore; as score) {\n \n {{ 'PROFILE_PAGE.LEAD_SCORE' | translateByObjectType: crmObjectType : { score: score } }}\n \n}\n", "export * from './lead-score-badge/lead-score-badge.component';\n", "export * from './src';\n", "export * from './public_api';\n", "import { inject, InjectionToken } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport {\n CompanyAssociationPanelComponent,\n CompanyCustomFilterChipComponent,\n CompanyCustomFilterInputComponent,\n CompanyToContactAssociationsCardComponent,\n CompanyToOpportunityAssociationsPanelComponent,\n ContactAssociationPanelComponent,\n ContactCampaignsCardComponent,\n ContactCustomColumns,\n CrmDependencies,\n CrmFieldService,\n CRMFilterOverride,\n CrmPipelineService,\n DueDateCellComponent,\n FormDefaultInputValue,\n HiddenTextFormInputComponent,\n MultiLocationContext,\n CrmMultiLocationDependencies,\n OpportunityAssociationPanelComponent,\n ParentChildCompanyAssociationsCardComponent,\n ProfileCard,\n ProfileHeader,\n StandardExternalIds,\n StandardIds,\n SystemFieldIds,\n TableCustomCell,\n TaskCustomColumns,\n TeamMemberFilterChipComponent,\n TeamMemberFilterInputComponent,\n UserCellComponent,\n UserFilterChipComponent,\n UserFilterInputComponent,\n} from '@galaxy/crm/static';\nimport { ProductAnalyticsService } from '@vendasta/product-analytics';\nimport { AccountGroupApiService } from '@vendasta/account-group';\nimport { BusinessCenterApiService } from '@vendasta/business-center';\nimport { combineLatest, map, Observable, of, shareReplay, switchMap } from 'rxjs';\nimport { editionIds, productIds, partnerId } from '../../globals';\nimport { AccountGroupService } from '../account-group';\nimport { AccountsService } from '@vendasta/accounts/legacy';\nimport { AuthService } from '../auth.service';\nimport { FeatureFlagService } from '../core/feature-flag.service';\nimport { catchError, distinctUntilChanged, startWith } from 'rxjs/operators';\nimport { CrmCampaignContactsDialogService } from '@galaxy/campaign/shared';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ProductService } from '../core/product.service';\nimport { isBrand, LocationsService } from '../locations';\nimport { CRMUserService } from './user.service';\nimport { AdditionalTeamMemberFilterInputComponent } from './custom-filters/team-member/team-member-filter-input.component';\nimport { TeamMemberFormInputComponent } from './custom-form-inputs/team-member/team-member-form-input.component';\nimport { AdditionalTeamMemberFormInputComponent } from './custom-form-inputs/team-member/additional-team-member-form-input.component';\nimport { OwnerCellComponent } from './custom-cells/team-member/owner.component';\nimport { TeamMemberCellComponent } from './custom-cells/team-member/team-member.component';\nimport { CRMAccessService } from './access.service';\nimport { WhitelabelService } from '@galaxy/partner';\nimport { Feature, PartnerMarketConfigService } from '../partner-market-config';\nimport { ConversationChannel } from '@vendasta/conversation';\nimport {\n CrmUserColumnCellComponent,\n CrmUserFilterChipComponent,\n CrmUserFilterInputComponent,\n CrmUserInputComponent,\n} from '@galaxy/crm/components/user';\nimport { addMonths } from 'date-fns';\nimport { CurrencyService } from '../currency';\nimport {\n buildContactMultiRowTableActions,\n buildContactSelectAllTableActions,\n buildContactSingleRowTableActions,\n} from './contact-actions';\nimport { ListActionsService } from '@galaxy/crm/integrations/dynamic-lists-actions';\nimport { CampaignsProDemo, CampaignsProProd } from './constants';\nimport {\n buildCompanyMultiRowTableActions,\n buildCompanySelectAllTableActions,\n buildCompanySingleRowTableActions,\n} from './company-actions';\nimport { HostService, IsCalendarConfiguredRequestInterface } from '@vendasta/meetings';\nimport { MeetingEventService } from '@galaxy/crm/integrations/meeting-event';\nimport { InboxService } from './inbox.service';\nimport { CacheFactory, CacheInjectionOptions, CacheStrategy } from '@galaxy/crm/components/cache';\nimport { ExportActionsService } from '@galaxy/crm/dynamic';\nimport {\n CrmPipelineColumnCellComponent,\n CrmPipelineFilterChipComponent,\n CrmPipelineFilterInputComponent,\n CrmStageColumnCellComponent,\n} from '@galaxy/crm/components/pipeline';\nimport { NpsBadgeComponent } from '@galaxy/crm/integrations/reputation';\nimport { LanguageService } from '../core/language-service.service';\nimport { AutomationActionsService } from '@galaxy/crm/integrations/automation';\nimport { LeadScoreBadgeComponent } from '@galaxy/crm/components/badge';\nimport { OpenConfirmationModalService } from '@vendasta/galaxy/confirmation-modal';\nimport { SnackbarService } from '@vendasta/galaxy/snackbar-service';\nimport { ReputationService } from '../reputation/reputation.service';\nimport { Brand } from '../brands/brand';\nimport { CrmObjectInterface } from '@vendasta/crm';\nimport { CrmObjectDisplayService } from '@galaxy/crm/static';\n\nexport const CrmInjectionToken = new InjectionToken('dependencies given to crm library', {\n factory: () => {\n const cacheStrategy: CacheStrategy = { maxAge: 20000, observable: { share: true }, autoCleanup: true };\n const crmUserServiceCacheOptions: CacheInjectionOptions = {\n methods: [{ method: 'getMultiUsers', strategy: cacheStrategy }],\n };\n const userService = CacheFactory.inject(CRMUserService, crmUserServiceCacheOptions);\n\n const pipelineCacheStrategy: CacheStrategy = { maxAge: 20000, autoCleanup: true };\n const crmPipelineServiceCacheOptions: CacheInjectionOptions = {\n methods: [\n { method: 'getMultiPipeline$', strategy: pipelineCacheStrategy },\n { method: 'getPipeline$', strategy: pipelineCacheStrategy },\n ],\n };\n const pipelineService = CacheFactory.inject(CrmPipelineService, crmPipelineServiceCacheOptions);\n\n const translationService = inject(TranslateService);\n const accountGroupService = inject(AccountGroupService);\n const featureFlagService = inject(FeatureFlagService);\n const accountGroupApiService = inject(AccountGroupApiService);\n const businessCenterApiService = inject(BusinessCenterApiService);\n const crmCampaignContactsDialogService = inject(CrmCampaignContactsDialogService);\n const authService = inject(AuthService);\n const activeAppService = inject(ProductService);\n const accessService = inject(CRMAccessService);\n const whitelabelService = inject(WhitelabelService);\n const locationsService = inject(LocationsService);\n const crmFieldService = inject(CrmFieldService);\n const productAnalyticsService = inject(ProductAnalyticsService);\n const partnerMarketConfigService = inject(PartnerMarketConfigService);\n const currencyService = inject(CurrencyService);\n const crmInboxService = inject(InboxService);\n const listActionsService = inject(ListActionsService);\n const meetingService = inject(HostService);\n const meetingEventService = inject(MeetingEventService);\n const exportActionsService = inject(ExportActionsService);\n const languageService = inject(LanguageService);\n const automationActionsService = inject(AutomationActionsService);\n const accountsService = inject(AccountsService);\n const reputationService = inject(ReputationService);\n const confirmationModalService = inject(OpenConfirmationModalService);\n const snackbarService = inject(SnackbarService);\n const crmObjectDisplayService = inject(CrmObjectDisplayService);\n const contactPhoneFieldID = crmFieldService.getFieldId(StandardExternalIds.PhoneNumber);\n const emailFieldID = crmFieldService.getFieldId(StandardExternalIds.Email);\n const tagsFieldID = crmFieldService.getFieldId(StandardExternalIds.Tags);\n\n const parentNamespace$ = accountGroupService.currentAccountGroupId$.pipe(\n switchMap((accountGroupId) =>\n accountGroupApiService.getMulti({\n accountGroupIds: [accountGroupId],\n projectionFilter: { accountGroupExternalIdentifiers: true },\n }),\n ),\n map((response) => response.accountGroups[0]?.accountGroup?.accountGroupExternalIdentifiers?.partnerId),\n );\n\n const configuration$ = locationsService.marketId$.pipe(\n switchMap((marketId) => whitelabelService.getConfiguration(partnerId, marketId)),\n );\n const showContacts$ = configuration$.pipe(map((config) => config.businessCenterConfiguration.showCustomers));\n const showCompanies$ = configuration$.pipe(map((config) => config.businessCenterConfiguration.showCrmCompanies));\n\n const companyToCompanyFeatureFlag$ = featureFlagService.checkFeatureFlag(\n partnerId,\n '',\n 'crm_company_company_association',\n );\n const crmOpportunitiesFeatureFlag$ = featureFlagService.checkFeatureFlag(\n partnerId,\n '',\n 'crm_opportunity_business_app',\n );\n\n const showOpportunities$ = combineLatest([configuration$, crmOpportunitiesFeatureFlag$]).pipe(\n map(([config, featureFlag]) => {\n return config.businessCenterConfiguration.showCrmOpportunities && featureFlag;\n }),\n );\n\n const companyProfileCards$: Observable = combineLatest([\n companyToCompanyFeatureFlag$,\n showOpportunities$,\n showContacts$,\n ]).pipe(\n map(([companyCompanyAssociationsFlag, showOpportunities, showContacts]) => {\n const cards = [] as ProfileCard[];\n if (showContacts) {\n cards.push({ component: CompanyToContactAssociationsCardComponent });\n }\n if (showOpportunities) {\n cards.push({ component: CompanyToOpportunityAssociationsPanelComponent });\n }\n if (companyCompanyAssociationsFlag) {\n cards.push({ component: ParentChildCompanyAssociationsCardComponent });\n }\n return cards;\n }),\n );\n const contactProfileCards$ = combineLatest([\n showCompanies$,\n showOpportunities$,\n activeAppService.activeProducts$,\n ]).pipe(\n map(([showCompanies, showOpportunities, activeProducts]) => {\n const cards = [] as ProfileCard[];\n if (showCompanies) {\n cards.push({ component: CompanyAssociationPanelComponent });\n }\n if (showOpportunities) {\n cards.push({ component: OpportunityAssociationPanelComponent });\n }\n if (\n activeProducts.filter((app) => app.productId === CampaignsProProd || app.productId === CampaignsProDemo)\n .length != 0\n ) {\n cards.push({ component: ContactCampaignsCardComponent });\n }\n return cards;\n }),\n );\n const opportunityProfileCards$ = combineLatest([showCompanies$, showContacts$]).pipe(\n map(([showCompanies, showContacts]) => {\n const cards = [] as ProfileCard[];\n if (showContacts) {\n cards.push({ component: ContactAssociationPanelComponent });\n }\n if (showCompanies) {\n cards.push({ component: CompanyAssociationPanelComponent });\n }\n return cards;\n }),\n );\n\n const isMeetingSchedulerConfigured$ = combineLatest([\n accountGroupService.currentAccountGroupId$,\n toObservable(authService.effectiveUserId),\n ]).pipe(\n map(([namespace, currentUser]) => {\n const request: IsCalendarConfiguredRequestInterface = {\n applicationContextProperties: {\n business_id: namespace,\n user_context: 'SMB',\n },\n userId: currentUser,\n };\n return request;\n }),\n switchMap((request) => meetingService.IsCalendarConfigured(request)),\n map((response) => {\n return response.isConfigured == true;\n }),\n );\n\n const hasMeetingFeatureFlag$ = parentNamespace$.pipe(\n switchMap((parentNamespace) => {\n return featureFlagService.checkFeatureFlag(parentNamespace, '', 'email_trigger_crm_contact');\n }),\n startWith(false),\n );\n\n const currentUserId$ = toObservable(authService.effectiveUserId);\n const locale$ = languageService.currentLocale$;\n const rmPremiumActive$: Observable = accountGroupService.currentAccountGroupId$.pipe(\n switchMap((accountGroupId) => accountsService.list(accountGroupId, partnerId)),\n map((res) => res.accounts || []),\n map((accounts) => accounts.filter((a) => !a.trial && !a.deactivation)),\n map((accounts) =>\n accounts.some(\n (account) =>\n account.productId === productIds.reputationManagement &&\n account.editionId === editionIds.reputationManagementPremium,\n ),\n ),\n );\n\n const namespace$ = locationsService.currentLocation$.pipe(\n map((location) => {\n return isBrand(location) ? (location as Brand).groupNodes[0] : location.accountGroupId;\n }),\n );\n\n return {\n appID: 'business-center-client',\n routePrefix$: accountGroupService.currentAccountGroupId$.pipe(\n map((accountGroupId) => `/account/location/${accountGroupId}/crm`),\n ),\n namespace$: namespace$,\n parentNamespace$: parentNamespace$,\n currentUserId$: currentUserId$,\n locale$: locale$,\n viewProfileFlag$: of(true),\n hasCrmAssociationModalFeatureFlag$: parentNamespace$.pipe(\n switchMap((parentNamespace) => {\n return featureFlagService.checkFeatureFlag(parentNamespace, '', 'crm_association_modal');\n }),\n startWith(false),\n ),\n customObjectFeatureFlag: 'bcc_crm_custom_objects',\n activity: {\n filterInputOverrides$: filterActivityInputOverrides$(translationService),\n },\n contact: {\n showRightHandProfilePanel$: contactProfileCards$.pipe(map((cards) => cards.length > 0)),\n profileCards$: contactProfileCards$,\n createAssociationFields: {\n objectTypes: ['Company'],\n required: false,\n },\n filterInputOverrides$: filterContactInputOverrides$(translationService),\n initialFilters$: of([\n { fieldId: StandardExternalIds.Email, filterId: 'filterContactByEmail' },\n { fieldId: SystemFieldIds.ContactCreated, filterId: 'filterContactByCreated' },\n { fieldId: SystemFieldIds.ContactLastActivityDate, filterId: 'filterContactByLastActivity' },\n { fieldId: StandardIds.ContactLifecycleStage, filterId: 'filterContactByLifecycleStage' },\n ]),\n baseColumnIds: [\n ContactCustomColumns.FullName,\n ContactCustomColumns.PrimaryCompanyName,\n contactPhoneFieldID,\n emailFieldID,\n tagsFieldID,\n StandardIds.ContactSourceName,\n SystemFieldIds.ContactCreated,\n ],\n formCustomInputs: [\n {\n fieldId: SystemFieldIds.ContactGroupID,\n component: HiddenTextFormInputComponent,\n },\n {\n fieldId: SystemFieldIds.ContactOwnerID,\n component: TeamMemberFormInputComponent,\n },\n {\n fieldId: StandardIds.ContactAdditionalTeamMemberIDs,\n component: AdditionalTeamMemberFormInputComponent,\n },\n ],\n formDefaultOnCreateInputValues$: of([\n { fieldId: StandardIds.ContactSourceName, value: 'CRM UI' },\n { fieldId: StandardIds.ContactRecordSourceDrill1, value: window.location.href },\n ] as FormDefaultInputValue[]),\n tableCustomCells: contactTableCustomCells(translationService),\n singleRowTableActions$: buildContactSingleRowTableActions(\n accountGroupService,\n featureFlagService,\n listActionsService,\n crmInboxService,\n accessService,\n automationActionsService,\n translationService,\n confirmationModalService,\n reputationService,\n snackbarService,\n rmPremiumActive$,\n ),\n multiRowTableActions$: buildContactMultiRowTableActions(\n crmCampaignContactsDialogService,\n accountGroupService,\n translationService,\n activeAppService,\n productAnalyticsService,\n featureFlagService,\n listActionsService,\n accessService,\n automationActionsService,\n confirmationModalService,\n reputationService,\n snackbarService,\n rmPremiumActive$,\n ),\n selectAllTableActions$: buildContactSelectAllTableActions(\n crmCampaignContactsDialogService,\n translationService,\n activeAppService,\n productAnalyticsService,\n accountGroupService,\n exportActionsService,\n featureFlagService,\n listActionsService,\n accessService,\n automationActionsService,\n confirmationModalService,\n businessCenterApiService,\n snackbarService,\n rmPremiumActive$,\n ),\n profileHeader$: buildContactHeaders$(partnerMarketConfigService),\n },\n company: {\n showRightHandProfilePanel$: companyProfileCards$.pipe(map((cards) => cards.length > 0)),\n profileCards$: companyProfileCards$,\n createAssociationFields: {\n objectTypes: ['Contact'],\n required: false,\n },\n filterInputOverrides$: filterCompanyInputOverride$(translationService),\n initialFilters$: of([\n { fieldId: StandardIds.CompanyName, filterId: 'filterCompanyByName' },\n { fieldId: SystemFieldIds.CompanyCreated, filterId: 'filterCompanyByCreated' },\n { fieldId: SystemFieldIds.CompanyLastActivityDate, filterId: 'filterCompanyByLastActivity' },\n { fieldId: StandardIds.CompanyLifecycleStage, filterId: 'filterCompanyByLifecycleStage' },\n ]),\n formCustomInputs: [\n {\n fieldId: SystemFieldIds.CompanyGroupID,\n component: HiddenTextFormInputComponent,\n },\n {\n fieldId: SystemFieldIds.CompanyOwnerID,\n component: TeamMemberFormInputComponent,\n },\n {\n fieldId: StandardIds.CompanyAdditionalTeamMemberIDs,\n component: AdditionalTeamMemberFormInputComponent,\n },\n ],\n formDefaultOnCreateInputValues$: of([\n { fieldId: StandardIds.CompanySourceName, value: 'CRM UI' },\n { fieldId: StandardIds.CompanyRecordSourceDrill1, value: window.location.href },\n ] as FormDefaultInputValue[]),\n tableCustomCells: companyTableCustomCells(translationService),\n showCampaigns$: activeAppService.activeProducts$.pipe(\n map((apps) => {\n return (\n apps.filter((app) => app.productId === CampaignsProProd || app.productId === CampaignsProDemo).length > 0\n );\n }),\n ),\n singleRowTableActions$: buildCompanySingleRowTableActions(\n accountGroupService,\n featureFlagService,\n listActionsService,\n accessService,\n automationActionsService,\n ),\n multiRowTableActions$: buildCompanyMultiRowTableActions(\n accountGroupService,\n featureFlagService,\n translationService,\n listActionsService,\n accessService,\n automationActionsService,\n ),\n selectAllTableActions$: buildCompanySelectAllTableActions(\n accountGroupService,\n featureFlagService,\n translationService,\n listActionsService,\n exportActionsService,\n accessService,\n automationActionsService,\n ),\n },\n task: {\n filterInputOverrides$: of([\n {\n title: translationService.instant('CRM.CUSTOM_FILTERS.ASSIGNED_TO'),\n fieldId: SystemFieldIds.ActivityOwnerID,\n filterInput: UserFilterInputComponent,\n filterChip: UserFilterChipComponent,\n },\n ]),\n tableCustomCells: [\n {\n fieldIds: [SystemFieldIds.ActivityOwnerID],\n columnDefinition: {\n id: TaskCustomColumns.AssignedTo,\n title: translationService.instant('CRM.CUSTOM_CELLS.ASSIGNED_TO'),\n },\n customCellComponent: UserCellComponent,\n },\n {\n fieldIds: [StandardIds.ActivityTaskDueDate, StandardIds.ActivityTaskStatus],\n columnDefinition: {\n id: StandardIds.ActivityTaskDueDate,\n },\n customCellComponent: DueDateCellComponent,\n },\n ],\n },\n opportunity: {\n profileCards$: opportunityProfileCards$,\n formCustomInputs: [\n {\n fieldId: SystemFieldIds.OpportunityOwnerID,\n component: CrmUserInputComponent,\n },\n ],\n filterInputOverrides$: of([\n {\n title: translationService.instant('CRM.CUSTOM_FILTERS.OWNER'),\n fieldId: SystemFieldIds.OpportunityOwnerID,\n filterInput: CrmUserFilterInputComponent,\n filterChip: CrmUserFilterChipComponent,\n },\n {\n title: translationService.instant('CRM.CUSTOM_FILTERS.PIPELINE'),\n fieldId: StandardIds.OpportunityPipelineID,\n filterInput: CrmPipelineFilterInputComponent,\n filterChip: CrmPipelineFilterChipComponent,\n },\n ]),\n tableCustomCells: [\n {\n fieldIds: [SystemFieldIds.OpportunityOwnerID],\n columnDefinition: {\n id: SystemFieldIds.OpportunityOwnerID,\n },\n customCellComponent: CrmUserColumnCellComponent,\n },\n {\n fieldIds: [StandardIds.OpportunityPipelineID],\n columnDefinition: {\n id: StandardIds.OpportunityPipelineID,\n },\n customCellComponent: CrmPipelineColumnCellComponent,\n },\n {\n fieldIds: [StandardIds.OpportunityCalculatedStageID, StandardIds.OpportunityPipelineID],\n columnDefinition: {\n id: StandardIds.OpportunityCalculatedStageID,\n },\n customCellComponent: CrmStageColumnCellComponent,\n },\n ],\n createAssociationFields: {\n objectTypes: ['Contact', 'Company'],\n required: true,\n },\n formDefaultOnCreateInputValues$: combineLatest([currentUserId$, currencyService.getMarketCurrency()]).pipe(\n map(([userId, currencyCode]) => [\n {\n fieldId: StandardIds.OpportunityAmount,\n value: {\n currencyCode: currencyCode,\n amount: 0,\n },\n },\n {\n fieldId: SystemFieldIds.OpportunityOwnerID,\n value: userId,\n },\n {\n fieldId: StandardIds.OpportunityExpectedCloseDate,\n value: addMonths(new Date(), 1),\n },\n {\n fieldId: StandardIds.OpportunityStatus,\n value: 'Open',\n },\n {\n fieldId: StandardIds.OpportunitySourceName,\n value: 'CRM UI',\n },\n ]),\n ),\n },\n lists: {\n canStartManualAutomation$: accessService.canRunManualAutomations$,\n },\n customObject: {\n baseColumnIds: [StandardIds.CustomObjectName],\n showRightHandProfilePanel$: of(false),\n getDisplayName: (crmObject: CrmObjectInterface) => {\n return crmObjectDisplayService.customObjectDisplayName(crmObject);\n },\n createAssociationFields: {\n objectTypes: ['Contact', 'Company', 'Opportunity', 'CustomObject'],\n required: false,\n },\n },\n services: {\n userService: userService,\n accessService: accessService,\n pipelineService: pipelineService,\n },\n\n meetingAction: (contactId, currentUserId, namespace, parentNamespace) => {\n meetingEventService.openMeetingEventListDialog(contactId, currentUserId, namespace, parentNamespace);\n },\n\n isMeetingIconNeeded$: combineLatest([isMeetingSchedulerConfigured$, hasMeetingFeatureFlag$]).pipe(\n map(\n ([isMeetingSchedulerConfigured, hasMeetingFeatureFlag]) =>\n isMeetingSchedulerConfigured && hasMeetingFeatureFlag,\n ),\n ),\n\n hasAccessToFeature$: (feature) => hasAccessToFeature$(feature, partnerMarketConfigService),\n hasInboxAccess$: of(true),\n canShowInboxForContact$: partnerMarketConfigService.businessAppConfig$.pipe(\n map((config) => config.showInboxMessage),\n catchError(() => of(false)),\n ),\n openContactConversation: async (\n namespace: string,\n parentNamespace: string,\n contactId: string,\n channel: ConversationChannel,\n ) => {\n await crmInboxService.goToContactConversation(namespace, parentNamespace, contactId, channel);\n },\n showLeadProspector$: of(false),\n } as CrmDependencies;\n },\n});\n\nexport const CrmMultilocationInjectionToken = new InjectionToken(\n 'dependencies for multilocation crm',\n {\n factory: () => {\n const locationsService = inject(LocationsService);\n\n const currentLocation$ = locationsService.currentLocation$.pipe(\n distinctUntilChanged(),\n shareReplay({ refCount: true, bufferSize: 1 }),\n );\n\n const groupId$ = currentLocation$.pipe(\n map((location) => {\n return isBrand(location) ? (location as Brand).groupNodes[0] : '';\n }),\n );\n\n const multiLocationContext$ = combineLatest([groupId$, locationsService.currentAccountGroups$]).pipe(\n map(([groupId, accountGroups]) => {\n if (!groupId) {\n return {} as MultiLocationContext;\n }\n\n return {\n groupId: groupId,\n accountGroupsIds: Object.keys(accountGroups).map((accountGroupId) => accountGroupId),\n } as MultiLocationContext;\n }),\n );\n\n const namespace$ = locationsService.currentLocation$.pipe(\n map((location) => {\n return isBrand(location) ? (location as Brand).groupNodes[0] : location.accountGroupId;\n }),\n );\n return {\n namespace$,\n multiLocationContext$,\n };\n },\n },\n);\n\nfunction filterActivityInputOverrides$(translationService: TranslateService): Observable {\n return of([\n {\n title: translationService.instant('CRM.CUSTOM_FILTERS.OWNER'),\n fieldId: SystemFieldIds.ActivityOwnerID,\n filterInput: TeamMemberFilterInputComponent,\n filterChip: TeamMemberFilterChipComponent,\n },\n ] as CRMFilterOverride[]);\n}\n\nfunction filterContactInputOverrides$(translationService: TranslateService): Observable {\n return of([\n {\n title: translationService.instant('CRM.CUSTOM_FILTERS.PRIMARY_COMPANY'),\n fieldId: StandardIds.ContactPrimaryCompanyID,\n filterInput: CompanyCustomFilterInputComponent,\n filterChip: CompanyCustomFilterChipComponent,\n },\n {\n title: translationService.instant('CRM.CUSTOM_FILTERS.OWNER'),\n fieldId: SystemFieldIds.ContactOwnerID,\n filterInput: TeamMemberFilterInputComponent,\n filterChip: TeamMemberFilterChipComponent,\n },\n {\n title: translationService.instant('CRM.CUSTOM_FILTERS.TEAM_MEMBERS'),\n fieldId: StandardIds.ContactAdditionalTeamMemberIDs,\n filterInput: AdditionalTeamMemberFilterInputComponent,\n filterChip: TeamMemberFilterChipComponent,\n },\n ] as CRMFilterOverride[]);\n}\n\nfunction filterCompanyInputOverride$(translationService: TranslateService): Observable {\n return of([\n {\n title: translationService.instant('CRM.CUSTOM_FILTERS.PARENT_COMPANY'),\n fieldId: StandardIds.CompanyParentCompanyID,\n filterInput: CompanyCustomFilterInputComponent,\n filterChip: CompanyCustomFilterChipComponent,\n },\n {\n title: translationService.instant('CRM.CUSTOM_FILTERS.OWNER'),\n fieldId: SystemFieldIds.CompanyOwnerID,\n filterInput: TeamMemberFilterInputComponent,\n filterChip: TeamMemberFilterChipComponent,\n },\n {\n title: translationService.instant('CRM.CUSTOM_FILTERS.TEAM_MEMBERS'),\n fieldId: StandardIds.CompanyAdditionalTeamMemberIDs,\n filterInput: AdditionalTeamMemberFilterInputComponent,\n filterChip: TeamMemberFilterChipComponent,\n },\n ] as CRMFilterOverride[]);\n}\n\nfunction contactTableCustomCells(translationService: TranslateService): TableCustomCell[] {\n return [\n {\n fieldIds: [SystemFieldIds.ContactOwnerID],\n columnDefinition: {\n id: SystemFieldIds.ContactOwnerID,\n title: translationService.instant('CRM.CUSTOM_FILTERS.OWNER'),\n },\n customCellComponent: OwnerCellComponent,\n },\n {\n fieldIds: [StandardIds.ContactAdditionalTeamMemberIDs],\n columnDefinition: {\n id: StandardIds.ContactAdditionalTeamMemberIDs,\n title: translationService.instant('CRM.CUSTOM_FILTERS.TEAM_MEMBERS'),\n },\n customCellComponent: TeamMemberCellComponent,\n },\n ] as TableCustomCell[];\n}\n\nfunction companyTableCustomCells(translationService: TranslateService): TableCustomCell[] {\n return [\n {\n fieldIds: [SystemFieldIds.CompanyOwnerID],\n columnDefinition: {\n id: SystemFieldIds.CompanyOwnerID,\n title: translationService.instant('CRM.CUSTOM_FILTERS.OWNER'),\n },\n customCellComponent: OwnerCellComponent,\n },\n {\n fieldIds: [StandardIds.CompanyAdditionalTeamMemberIDs],\n columnDefinition: {\n id: StandardIds.CompanyAdditionalTeamMemberIDs,\n title: translationService.instant('CRM.CUSTOM_FILTERS.TEAM_MEMBERS'),\n },\n customCellComponent: TeamMemberCellComponent,\n },\n ] as TableCustomCell[];\n}\n\nfunction hasAccessToFeature$(\n feature: string,\n partnerMarketConfigService: PartnerMarketConfigService,\n): Observable {\n return feature == 'task-queue'\n ? of(true)\n : partnerMarketConfigService.hasAccessToFeature(feature as Feature).pipe(startWith(false));\n}\n\nfunction buildContactHeaders$(partnerMarketConfigService: PartnerMarketConfigService): Observable {\n const leadScoringFeature$ = hasAccessToFeature$('crm-lead-scoring', partnerMarketConfigService);\n const leadScoringConfig$ = partnerMarketConfigService.businessAppConfig$.pipe(\n map((config) => config.showLeadScoring),\n );\n return combineLatest([leadScoringFeature$, leadScoringConfig$]).pipe(\n map(([leadScoringFeature, leadScoringConfig]) => {\n const headers: ProfileHeader[] = [];\n headers.push({ component: NpsBadgeComponent });\n if (leadScoringFeature && leadScoringConfig) {\n headers.push({ component: LeadScoreBadgeComponent });\n }\n return headers;\n }),\n );\n}\n"], "mappings": "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", "names": ["CrmCampaignContactsDialogService", "init_crm_campaign_contacts_dialog_service", "__esmMin", "init_operators", "init_tokens", "constructor", "dialog", "partnerId$", "router", "config", "navigateToSendCampaign", "rows", "filters", "search", "useSelectAll", "totalContacts", "contactQueryString", "encodeURIComponent", "map", "c", "id", "join", "filtersQueryString", "JSON", "stringify", "searchQueryString", "useSelectAllQueryString", "totalContactsQueryString", "backUrl", "url", "queryString", "basePath$", "pipe", "take", "subscribe", "basePath", "navigateByUrl", "\u0275\u0275inject", "MatDialog", "Router", "CONFIG_TOKEN", "factory", "\u0275fac", "providedIn", "init_src", "__esmMin", "init_crm_campaign_contacts_dialog_service", "init_tokens", "CRMAccessService", "init_access_service", "__esmMin", "init_core", "init_esm", "init_access", "init_partner_market_config", "constructor", "accessService", "inject", "AccessService", "marketConfigService", "PartnerMarketConfigService", "viewAccess$", "hasAccessToViews", "pipe", "shareReplay", "refCount", "bufferSize", "hasAutomationFeatureAccess$", "hasAccessToFeature", "canAccessAutomations$", "canRunManualAutomations$", "combineLatest", "map", "canAccessAutomations", "canAccessInbox$", "of", "canAccessCrmObjectType$", "objectType", "response", "get", "factory", "\u0275fac", "providedIn", "userFilterFn", "CRMUserService", "init_user_service", "__esmMin", "init_core", "init_esm", "init_tokens", "init_vendasta_business_center", "user", "searchTerm", "includesFullName", "displayName", "toLowerCase", "includes", "includesFirstName", "firstName", "includesLastName", "lastName", "includesUserId", "userId", "constructor", "accountGroup$", "userService", "inject", "UserService", "allTeamMembers$", "pipe", "switchMap", "accountGroup", "listUsersForBusiness", "accountGroupId", "catchError", "of", "map", "res", "associatedUsers", "buildDisplayName", "shareReplay", "trim", "searchUsers", "search", "replace", "split", "users", "filter", "length", "some", "term", "getMultiUsers", "userIds", "find", "u", "foundUsers", "\u0275\u0275inject", "ACCOUNT_GROUP_TOKEN", "factory", "\u0275fac", "providedIn", "\u0275\u0275elementContainerStart", "\u0275\u0275element", "\u0275\u0275advance", "\u0275\u0275property", "\u0275\u0275elementStart", "\u0275\u0275listener", "teamMember_r3", "\u0275\u0275restoreView", "_r2", "$implicit", "ctx_r3", "\u0275\u0275nextContext", "\u0275\u0275resetView", "remove", "userId", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275textInterpolate1", "displayName", "\u0275\u0275template", "AdditionalTeamMemberFilterInputComponent_ng_template_4_mat_chip_row_0_Template", "selectedTeamMembers", "option_r5", "AdditionalTeamMemberFilterInputComponent", "init_team_member_filter_input_component", "__esmMin", "init_common", "init_core", "init_rxjs_interop", "init_forms", "init_autocomplete", "init_chips", "init_icon", "init_input", "init_progress_spinner", "init_ngx_translate_core", "init_form_field", "init_user_service", "init_esm", "init_operators", "fieldId", "value", "_fieldId", "set", "initialValue", "salespersonIds", "map", "v", "string", "selectedTeamMemberIDs", "constructor", "userService", "valueChanges", "EventEmitter", "formControl", "FormControl", "nonNullable", "separatorKeysCodes", "ENTER", "COMMA", "loadingInitialValues", "signal", "searchTerm", "toSignal", "availableOptions", "filteredOptions", "computed", "filter", "tm", "userFilterFn", "effect", "emit", "s", "searchUsers", "subscribe", "allTeamMembers", "pipe", "takeUntilDestroyed", "concatMap", "searchValue", "results", "newValue", "selectedTeamMember", "undefined", "length", "getMultiUsers", "take", "catchError", "of", "sUsr", "filterTerm", "selected", "event", "currentTeamMember", "hasTeamMember", "some", "sp", "option", "teamMemberInput", "nativeElement", "setValue", "add", "chipInput", "clear", "teamMemberId", "listWithoutSelected", "id", "clearValue", "\u0275\u0275directiveInject", "CRMUserService", "selectors", "viewQuery", "rf", "ctx", "provide", "GalaxyAbstractFilterInput", "useExisting", "forwardRef", "decls", "vars", "consts", "template", "AdditionalTeamMemberFilterInputComponent_ng_container_3_Template", "AdditionalTeamMemberFilterInputComponent_ng_template_4_Template", "\u0275\u0275templateRefExtractor", "$event", "i0", "_r1", "AdditionalTeamMemberFilterInputComponent_mat_option_11_Template", "loadedChips_r7", "\u0275\u0275pipeBind1", "teamMemberGrid_r6", "auto_r8", "CommonModule", "NgForOf", "NgIf", "TranslateModule", "TranslatePipe", "ReactiveFormsModule", "DefaultValueAccessor", "NgControlStatus", "FormControlDirective", "MatInputModule", "MatInput", "GalaxyFormFieldModule", "FormFieldComponent", "MatAutocompleteModule", "MatAutocomplete", "MatOption", "MatAutocompleteTrigger", "MatChipsModule", "MatChipGrid", "MatChipInput", "MatChipRemove", "MatChipRow", "MatIconModule", "MatIcon", "MatProgressSpinnerModule", "MatProgressSpinner", "encapsulation", "\u0275\u0275elementContainerStart", "\u0275\u0275text", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "teamMemberName_r1", "\u0275\u0275template", "TeamMemberFormInputComponent_div_0_ng_container_5_ng_container_1_Template", "\u0275\u0275property", "ctx_r1", "NO_VALUE_FOR_TEAM_MEMBER", "\u0275\u0275element", "\u0275\u0275elementStart", "\u0275\u0275elementEnd", "TeamMemberFormInputComponent_div_0_ng_container_5_Template", "TeamMemberFormInputComponent_div_0_ng_template_6_Template", "\u0275\u0275templateRefExtractor", "\u0275\u0275textInterpolate", "\u0275\u0275pipeBind1", "teamMemberName", "loading_r3", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r5", "\u0275\u0275nextContext", "\u0275\u0275resetView", "clear", "$event", "i0", "_r6", "preventDefault", "option_r7", "displayName", "_r4", "saveField", "filter", "TeamMemberFormInputComponent_ng_template_1_glxy_form_field_0_Conditional_7_Template", "\u0275\u0275repeaterCreate", "TeamMemberFormInputComponent_ng_template_1_glxy_form_field_0_For_11_Template", "\u0275\u0275repeaterTrackByIdentity", "TeamMemberFormInputComponent_ng_template_1_glxy_form_field_0_Conditional_12_Template", "_control", "auto_r8", "\u0275\u0275conditional", "control", "value", "displayFn", "availableOptions", "\u0275\u0275repeater", "filteredOptions", "formGroup", "errors", "ownerIsInAdditionalTeamMembers", "TeamMemberFormInputComponent_ng_template_1_glxy_form_field_0_Template", "TeamMemberFormInputComponent_ng_template_1_ng_template_1_Template", "loadingValues", "loadingField_r9", "TeamMemberFormInputComponent", "init_team_member_form_input_component", "__esmMin", "init_common", "init_core", "init_rxjs_interop", "init_forms", "init_autocomplete", "init_input", "init_progress_spinner", "init_src", "init_ngx_translate_core", "init_form_field", "init_esm", "init_user_service", "init_operators", "init_icon", "init_button", "FormInputComponent", "getAdditionalTeamMemberIDsFieldId", "objectType", "StandardIds", "ContactAdditionalTeamMemberIDs", "CompanyAdditionalTeamMemberIDs", "userService", "getMultiUsers", "pipe", "take", "catchError", "of", "subscribe", "susr", "setValue", "searchTerm", "set", "group", "_group", "addValidators", "path", "teamMemberControl", "get", "_fieldId", "additionalTeamMemberControl", "additionalTeamMemberValue", "teamMemberValue", "userID", "userId", "includes", "fieldId", "hasModification", "dirty", "label", "_label", "controlValue", "stringValue", "constructor", "destroyRef", "inlineEditService", "readOnly", "FormControl", "nonNullable", "signal", "computed", "filterTerm", "tm", "userFilterFn", "find", "input$$", "BehaviorSubject", "searchUsers", "allTeamMembers", "asObservable", "takeUntilDestroyed", "switchMap", "searchValue", "map", "results", "newValue", "reset", "teamMemberID", "tap", "markAsDirty", "teamMember", "next", "input", "nativeElement", "saveInlineEdit", "stringValues", "values", "\u0275\u0275directiveInject", "CRMUserService", "DestroyRef", "InlineEditService", "selectors", "viewQuery", "rf", "ctx", "\u0275\u0275InheritDefinitionFeature", "decls", "vars", "consts", "template", "TeamMemberFormInputComponent_div_0_Template", "TeamMemberFormInputComponent_ng_template_1_Template", "formField_r10", "CommonModule", "NgIf", "ReactiveFormsModule", "DefaultValueAccessor", "NgControlStatus", "FormControlDirective", "TranslateModule", "TranslatePipe", "GalaxyFormFieldModule", "FormFieldComponent", "LabelDirective", "ErrorDirective", "MatInputModule", "MatInput", "MatPrefix", "MatSuffix", "MatAutocompleteModule", "MatAutocomplete", "MatOption", "MatAutocompleteTrigger", "MatProgressSpinnerModule", "MatProgressSpinner", "MatIcon", "MatIconButton", "styles", "encapsulation", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275property", "ctx_r0", "teamMemberNames", "join", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "length", "\u0275\u0275elementContainerStart", "\u0275\u0275template", "AdditionalTeamMemberFormInputComponent_div_0_ng_container_5_ng_container_1_glxy_badge_5_Template", "AdditionalTeamMemberFormInputComponent_div_0_ng_container_5_ng_container_1_glxy_badge_6_Template", "\u0275\u0275textInterpolate", "AdditionalTeamMemberFormInputComponent_div_0_ng_container_5_ng_container_1_Template", "teamMembers_r2", "NO_VALUE_FOR_TEAM_MEMBER", "\u0275\u0275element", "AdditionalTeamMemberFormInputComponent_div_0_ng_container_5_Template", "AdditionalTeamMemberFormInputComponent_div_0_ng_template_6_Template", "\u0275\u0275templateRefExtractor", "\u0275\u0275pipeBind1", "teamMembers", "loading_r3", "\u0275\u0275listener", "teamMember_r6", "\u0275\u0275restoreView", "_r5", "$implicit", "\u0275\u0275nextContext", "remove", "userId", "\u0275\u0275resetView", "saveField", "displayName", "AdditionalTeamMemberFormInputComponent_ng_template_1_ng_template_7_mat_chip_row_0_Template", "selectedTeamMembers", "$event", "i0", "_r7", "preventDefault", "option_r8", "AdditionalTeamMemberFormInputComponent_ng_template_1_ng_container_6_Template", "AdditionalTeamMemberFormInputComponent_ng_template_1_ng_template_7_Template", "_r4", "add", "selected", "AdditionalTeamMemberFormInputComponent_ng_template_1_mat_option_13_Template", "AdditionalTeamMemberFormInputComponent_ng_template_1_Conditional_14_Template", "loadingValues", "loadedChips_r10", "searchControl", "teamMemberGrid_r9", "auto_r11", "separatorKeysCodes", "filteredOptions", "\u0275\u0275conditional", "formGroup", "errors", "additionalTeamMemberIsOwner", "AdditionalTeamMemberFormInputComponent", "init_additional_team_member_form_input_component", "__esmMin", "init_common", "init_core", "init_rxjs_interop", "init_forms", "init_autocomplete", "init_chips", "init_icon", "init_input", "init_progress_spinner", "init_src", "init_ngx_translate_core", "init_badge", "init_form_field", "init_tooltip", "init_esm", "init_user_service", "init_operators", "FormInputComponent", "control", "_control", "markAsPristine", "setValue", "value", "selectedTeamMemberIDs", "set", "userService", "getMultiUsers", "pipe", "take", "catchError", "of", "subscribe", "sUsr", "valueChanges", "takeUntilDestroyed", "destroyRef", "newValue", "group", "_group", "addValidators", "path", "getOwnerFieldId", "teamMemberControl", "get", "additionalTeamMemberControl", "_fieldId", "additionalTeamMemberValue", "teamMemberValue", "userID", "includes", "fieldId", "hasModification", "dirty", "label", "_label", "stringValues", "values", "constructor", "inlineEditService", "readOnly", "objectType", "FormControl", "nonNullable", "ENTER", "COMMA", "searchTerm", "signal", "availableOptions", "computed", "filterTerm", "filter", "tm", "userFilterFn", "member", "push", "map", "searchUsers", "allTeamMembers", "switchMap", "searchValue", "results", "displayFn", "teamMember", "find", "event", "currentTeamMember", "hasTeamMember", "some", "option", "patchValue", "markAsDirty", "teamMemberInput", "nativeElement", "teamMemberID", "getIDForTeamMember", "chipInput", "clear", "toLowerCase", "listWithoutSelected", "ownerFieldValue", "ownerFormControlValue", "stringValue", "saveInlineEdit", "SystemFieldIds", "ContactOwnerID", "CompanyOwnerID", "\u0275\u0275directiveInject", "CRMUserService", "DestroyRef", "InlineEditService", "selectors", "viewQuery", "rf", "ctx", "\u0275\u0275InheritDefinitionFeature", "decls", "vars", "consts", "template", "AdditionalTeamMemberFormInputComponent_div_0_Template", "AdditionalTeamMemberFormInputComponent_ng_template_1_Template", "formField_r12", "CommonModule", "NgForOf", "NgIf", "ReactiveFormsModule", "DefaultValueAccessor", "NgControlStatus", "FormControlDirective", "TranslateModule", "TranslatePipe", "GalaxyFormFieldModule", "FormFieldComponent", "LabelDirective", "ErrorDirective", "MatInputModule", "MatInput", "MatAutocompleteModule", "MatAutocomplete", "MatOption", "MatAutocompleteTrigger", "MatChipsModule", "MatChipGrid", "MatChipInput", "MatChipRemove", "MatChipRow", "MatIconModule", "MatIcon", "MatProgressSpinnerModule", "MatProgressSpinner", "GalaxyBadgeModule", "BadgeComponent", "GalaxyTooltipModule", "GalaxyTooltipDirective", "styles", "encapsulation", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "ctx_r0", "teamMemberName", "\u0275\u0275elementContainerStart", "\u0275\u0275template", "OwnerCellComponent_ng_container_0_div_1_Template", "\u0275\u0275property", "teamMember_r2", "NO_VALUE_FOR_TEAM_MEMBER", "blank_r3", "\u0275\u0275element", "AVATAR_WIDTH", "OwnerCellComponent", "init_owner_component", "__esmMin", "init_common", "init_core", "init_rxjs_interop", "init_src", "init_avatar", "init_table", "init_esm", "init_operators", "CustomCellComponent", "value", "newValues", "fieldValues", "set", "constructor", "userService", "signal", "teamMember", "computed", "displayName", "toObservable", "pipe", "switchMap", "userId", "find", "fieldValue", "fieldId", "SystemFieldIds", "CompanyOwnerID", "ContactOwnerID", "stringValue", "of", "getMultiUsers", "takeUntilDestroyed", "subscribe", "result", "length", "\u0275\u0275directiveInject", "CRMUserService", "selectors", "features", "\u0275\u0275InheritDefinitionFeature", "decls", "vars", "consts", "template", "rf", "ctx", "OwnerCellComponent_ng_container_0_Template", "OwnerCellComponent_ng_template_1_Template", "\u0275\u0275templateRefExtractor", "OwnerCellComponent_ng_template_3_Template", "loading_r4", "CommonModule", "NgIf", "BlankValueComponent", "GalaxyAvatarModule", "styles", "changeDetection", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275property", "ctx_r0", "teamMemberNames", "join", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "length", "\u0275\u0275template", "TeamMemberCellComponent_ng_container_0_div_1_glxy_badge_4_Template", "TeamMemberCellComponent_ng_container_0_div_1_glxy_badge_5_Template", "\u0275\u0275textInterpolate", "\u0275\u0275elementContainerStart", "TeamMemberCellComponent_ng_container_0_div_1_Template", "teamMember_r2", "NO_VALUE_FOR_TEAM_MEMBER", "blank_r3", "\u0275\u0275element", "TeamMemberCellComponent", "init_team_member_component", "__esmMin", "init_common", "init_core", "init_rxjs_interop", "init_src", "init_badge", "init_table", "init_tooltip", "init_esm", "init_operators", "CustomCellComponent", "value", "newValues", "fieldValues", "set", "constructor", "userService", "signal", "teamMember", "computed", "map", "tm", "displayName", "toObservable", "pipe", "switchMap", "teamMemberFieldValue", "find", "fieldValue", "fieldId", "StandardIds", "CompanyAdditionalTeamMemberIDs", "ContactAdditionalTeamMemberIDs", "of", "teamMemberIds", "stringValues", "values", "getMultiUsers", "takeUntilDestroyed", "subscribe", "result", "filteredNonExisting", "filter", "s", "userId", "\u0275\u0275directiveInject", "CRMUserService", "selectors", "features", "\u0275\u0275InheritDefinitionFeature", "decls", "vars", "consts", "template", "rf", "ctx", "TeamMemberCellComponent_ng_container_0_Template", "TeamMemberCellComponent_ng_template_1_Template", "\u0275\u0275templateRefExtractor", "TeamMemberCellComponent_ng_template_3_Template", "loading_r4", "CommonModule", "NgIf", "BlankValueComponent", "GalaxyBadgeModule", "BadgeComponent", "GalaxyTooltipModule", "GalaxyTooltipDirective", "styles", "changeDetection", "\u0275\u0275elementStart", "\u0275\u0275element", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275property", "userInfo_r2", "displayName", "ctx_r0", "AVATAR_WIDTH", "profileImageUrl", "\u0275\u0275textInterpolate", "\u0275\u0275template", "CrmUserColumnCellComponent_Conditional_2_Conditional_0_Template", "CrmUserColumnCellComponent_Conditional_2_Conditional_1_Template", "\u0275\u0275conditional", "CrmUserColumnCellComponent", "init_user_column_cell_component", "__esmMin", "init_common", "init_core", "init_avatar", "init_table", "init_esm", "init_src", "CustomCellComponent", "constructor", "userService", "inject", "CrmInjectionToken", "services", "value$$", "BehaviorSubject", "userInfo$", "setupUserInfo", "value", "newValues", "next", "pipe", "map", "stringValue", "distinctUntilChanged", "switchMap", "getUserInfo", "userId", "getMultiUsers", "users", "catchError", "of", "undefined", "__ngFactoryType__", "selectors", "features", "\u0275\u0275InheritDefinitionFeature", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275declareLet", "CrmUserColumnCellComponent_Conditional_2_Template", "CrmUserColumnCellComponent_Conditional_3_Template", "\u0275\u0275storeLet", "\u0275\u0275pipeBind1", "userInfo_r3", "CommonModule", "AsyncPipe", "BlankValueComponent", "GalaxyAvatarModule", "AvatarComponent", "styles", "changeDetection", "\u0275\u0275element", "\u0275\u0275property", "\u0275\u0275text", "\u0275\u0275textInterpolate1", "\u0275\u0275pipeBind1", "ctx_r0", "displayName$", "\u0275\u0275elementStart", "\u0275\u0275elementContainerStart", "\u0275\u0275template", "CrmUserInputComponent_Conditional_0_Conditional_2_Template", "CrmUserInputComponent_Conditional_0_Conditional_3_Template", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275conditional", "loading", "label", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r3", "\u0275\u0275nextContext", "\u0275\u0275resetView", "clear", "option_r4", "displayName", "_r2", "handleSearchTermInput", "saveField", "$event", "i0", "preventDefault", "CrmUserInputComponent_Conditional_2_Conditional_6_Template", "CrmUserInputComponent_Conditional_2_mat_option_9_Template", "control", "auto_r5", "value", "id", "displayFn", "options$", "CrmUserInputComponent", "init_user_input_component", "__esmMin", "init_core", "init_common", "init_autocomplete", "init_form_field", "init_input", "init_forms", "init_src", "init_ngx_translate_core", "init_loading_spinner", "init_icon", "init_button", "init_rxjs_interop", "init_esm", "FormInputComponent", "set", "controlValueToUserOption", "then", "setValue", "finally", "_control", "formGroup", "group", "_group", "fieldId", "_fieldId", "hasModification", "dirty", "_label", "stringValue", "constructor", "inlineEditService", "readOnly", "signal", "displayName$$", "BehaviorSubject", "asObservable", "Observable", "userService", "inject", "CrmInjectionToken", "services", "FormControl", "nonNullable", "pipe", "takeUntilDestroyed", "debounceTime", "distinctUntilChanged", "switchMap", "searchTerm", "searchUsers", "map", "users", "mapSimplifiedUsersToOption", "validateSearchPermission", "reset", "next", "user", "errors", "saveInlineEdit", "objectType", "searchInput", "nativeElement", "__async", "firstValueFrom", "getMultiUsers", "userId", "error", "console", "validResult", "Promise", "reject", "catch", "disable", "u", "\u0275\u0275directiveInject", "InlineEditService", "selectors", "viewQuery", "rf", "ctx", "\u0275\u0275InheritDefinitionFeature", "decls", "vars", "consts", "template", "CrmUserInputComponent_Conditional_0_Template", "CrmUserInputComponent_Conditional_1_Template", "CrmUserInputComponent_Conditional_2_Template", "CommonModule", "NgForOf", "AsyncPipe", "ReactiveFormsModule", "DefaultValueAccessor", "NgControlStatus", "FormControlDirective", "TranslateModule", "TranslatePipe", "GalaxyFormFieldModule", "FormFieldComponent", "LabelDirective", "PrefixDirective", "MatInputModule", "MatInput", "MatSuffix", "MatAutocompleteModule", "MatAutocomplete", "MatOption", "MatAutocompleteTrigger", "GalaxyLoadingSpinnerModule", "LoadingSpinnerComponent", "MatIcon", "MatIconButton", "encapsulation", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275property", "option_r3", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "displayName", "\u0275\u0275element", "\u0275\u0275listener", "$event", "\u0275\u0275restoreView", "_r1", "ctx_r1", "\u0275\u0275nextContext", "\u0275\u0275resetView", "selected", "\u0275\u0275template", "CrmUserFilterInputComponent_Conditional_0_mat_option_5_Template", "\u0275\u0275pipeBind1", "formControl", "auto_r4", "displayUserFn", "bind", "availableOptions$", "user_r7", "_r6", "$implicit", "remove", "userId", "option_r8", "CrmUserFilterInputComponent_Conditional_1_mat_chip_row_3_Template", "_r5", "add", "CrmUserFilterInputComponent_Conditional_1_mat_option_10_Template", "selectedUsers$", "userGrid_r9", "auto_r10", "separatorKeysCodes", "CrmUserFilterInputComponent", "init_user_filter_input_component", "__esmMin", "init_common", "init_core", "init_rxjs_interop", "init_forms", "init_autocomplete", "init_input", "init_ngx_translate_core", "init_chips", "init_form_field", "init_icon", "init_src", "init_esm", "initialValue", "value", "userIds", "map", "v", "string", "setInitialValue", "operator", "_operator", "isMultiInput", "GalaxyFilterOperator", "FILTER_OPERATOR_IS_ANY", "FILTER_OPERATOR_IS_NOT_ANY", "setValue", "selectedUsers", "selectedUserIDs", "length", "set", "singleInput", "constructor", "valueChanges", "EventEmitter", "userService", "inject", "CrmInjectionToken", "services", "ENTER", "COMMA", "FormControl", "nonNullable", "signal", "setupAvailableOptions", "toObservable", "pipe", "takeUntilDestroyed", "switchMap", "getMultiUsers", "of", "effect", "emit", "s", "clearValue", "user", "event", "currentUsers", "option", "hasUser", "some", "u", "userInput", "nativeElement", "chipInput", "clear", "listWithoutSelectedUser", "filter", "debounceTime", "searchTerm", "filterTerm", "searchUsers", "__async", "users", "firstValueFrom", "selectors", "viewQuery", "rf", "ctx", "provide", "GalaxyAbstractFilterInput", "useExisting", "forwardRef", "decls", "vars", "consts", "template", "CrmUserFilterInputComponent_Conditional_0_Template", "CrmUserFilterInputComponent_Conditional_1_Template", "\u0275\u0275conditional", "CommonModule", "NgForOf", "AsyncPipe", "TranslateModule", "TranslatePipe", "ReactiveFormsModule", "DefaultValueAccessor", "NgControlStatus", "FormControlDirective", "MatInputModule", "MatInput", "GalaxyFormFieldModule", "FormFieldComponent", "MatAutocompleteModule", "MatAutocomplete", "MatOption", "MatAutocompleteTrigger", "MatChipGrid", "MatChipInput", "MatChipRemove", "MatChipRow", "MatIcon", "encapsulation", "\u0275\u0275elementContainerStart", "\u0275\u0275text", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "ctx_r0", "selectedUsersText", "\u0275\u0275element", "CrmUserFilterChipComponent", "init_user_filter_chip_component", "__esmMin", "init_common", "init_core", "init_rxjs_interop", "init_ngx_translate_core", "init_operators", "init_src", "init_esm", "initialValue", "value", "selectedUserIds", "set", "map", "v", "string", "constructor", "signal", "selectedUsers", "computed", "length", "firstUserName", "displayName", "userService", "inject", "CrmInjectionToken", "services", "toObservable", "pipe", "takeUntilDestroyed", "switchMap", "userIds", "getMultiUsers", "of", "subscribe", "result", "selectors", "inputs", "features", "\u0275\u0275ProvidersFeature", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275template", "CrmUserFilterChipComponent_ng_container_0_Template", "CrmUserFilterChipComponent_ng_template_1_Template", "\u0275\u0275templateRefExtractor", "\u0275\u0275property", "loading_r2", "CommonModule", "NgIf", "TranslateModule", "styles", "init_filters", "__esmMin", "init_user_filter_input_component", "init_user_filter_chip_component", "init_public_api", "__esmMin", "init_user_column_cell_component", "init_user_input_component", "init_filters", "init_user", "__esmMin", "init_public_api", "init_crm_dynamic_lists_actions_module", "__esmMin", "AddToListSingleRowAction", "namespace", "service", "objectType", "label", "callback", "row", "addToList", "AddToListMultiRowAction", "rows", "AddToListSelectAllAction", "options", "addSelectAllToList", "init_list_actions", "__esmMin", "\u0275\u0275text", "\u0275\u0275textInterpolate1", "\u0275\u0275pipeBind1", "\u0275\u0275elementStart", "\u0275\u0275elementEnd", "\u0275\u0275property", "option_r3", "listId", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "name", "\u0275\u0275template", "SelectListModalComponent_Conditional_6_Case_2_Template", "SelectListModalComponent_Conditional_6_Case_3_Template", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r1", "ctx_r1", "\u0275\u0275nextContext", "\u0275\u0275resetView", "filter", "\u0275\u0275repeaterCreate", "SelectListModalComponent_Conditional_6_For_10_Template", "\u0275\u0275repeaterTrackByIdentity", "SelectListModalComponent_Conditional_6_Conditional_11_Template", "\u0275\u0275conditional", "tmp_3_0", "resourceType", "selectedListControl", "auto_r4", "displayFn", "options", "\u0275\u0275repeater", "filteredOptions", "untouched", "hasError", "\u0275\u0275element", "\u0275\u0275pipeBind2", "\u0275\u0275pureFunction1", "_c1", "numberOfRows", "\u0275\u0275sanitizeHtml", "SelectListModalComponent", "init_select_list_modal_component", "__esmMin", "init_common", "init_core", "init_button", "init_dialog", "init_icon", "init_confirmation_modal", "init_src", "init_forms", "init_vendasta_bulk_actions", "init_form_field", "init_input", "init_tags", "init_tooltip", "init_esm", "init_autocomplete", "init_pipes", "constructor", "dialogRef", "inject", "MatDialogRef", "listDefinitionsApiService", "ListDefinitionsApiService", "dialogData", "MAT_DIALOG_DATA", "objectType", "FormControl", "nonNullable", "validators", "Validators", "required", "ngOnInit", "fetchAllLists", "namespace", "pipe", "take", "subscribe", "lists", "fetchListDefinitions", "cursor", "pageSize", "listDefinitions", "filters", "operator", "FilterGroupOperator", "FILTER_GROUP_OPERATOR_AND", "fieldId", "FilterOperator", "FILTER_OPERATOR_IS", "values", "string", "pagingOptions", "expand", "response", "pagingMetadata", "nextCursor", "takeWhile", "hasMore", "reduce", "all", "concat", "catchError", "of", "filterValue", "input", "nativeElement", "value", "toLowerCase", "o", "includes", "addToList", "invalid", "selectedList", "find", "definition", "close", "option", "selectors", "viewQuery", "rf", "ctx", "decls", "vars", "consts", "template", "SelectListModalComponent_Conditional_6_Template", "SelectListModalComponent_Conditional_7_Template", "SelectListModalComponent_Case_10_Template", "SelectListModalComponent_Case_11_Template", "tmp_2_0", "CommonModule", "GalaxyConfirmationModalModule", "ConfirmationModalActionsDirective", "ModalActionsComponent", "ConfirmationModalTitleDirective", "ConfirmationModalCustomContentDirective", "ModalBodyComponent", "MatButtonModule", "MatButton", "MatIconModule", "MatDialogClose", "TranslationModule", "TranslatePipe", "GalaxyFormFieldModule", "FormFieldComponent", "LabelDirective", "ErrorDirective", "MatInput", "ReactiveFormsModule", "\u0275NgNoValidate", "DefaultValueAccessor", "NgControlStatus", "NgControlStatusGroup", "FormControlDirective", "GalaxyTagsModule", "GalaxyTooltipModule", "MatAutocompleteTrigger", "MatAutocomplete", "MatOption", "GalaxyPipesModule", "GalaxyITrustThisHtmlPipe", "styles", "ListActionsService", "init_list_actions_service", "__esmMin", "init_core", "init_dialog", "init_src", "init_esm", "init_snackbar_service", "init_select_list_modal_component", "init_vendasta_bulk_actions", "constructor", "dialog", "inject", "MatDialog", "listItemsApiService", "ListItemsApiService", "snackbarService", "SnackbarService", "openSelectListModal", "namespace", "objectType", "numberOfRows", "__async", "data", "open", "SelectListModalComponent", "width", "firstValueFrom", "afterClosed", "addToList", "rows", "resourceIds", "map", "row", "id", "filter", "selectedList", "length", "addMultiStaticItem", "listId", "resourceId", "pipe", "take", "subscribe", "next", "messageKey", "openSuccessSnack", "interpolateTranslateParams", "numberOfItems", "toString", "listName", "name", "error", "openErrorSnack", "addSelectAllToList", "options", "totalObjects", "filters", "convertGalaxyFilters", "bulkAddStaticItems", "search", "searchTerm", "factory", "\u0275fac", "providedIn", "init_src", "__esmMin", "init_crm_dynamic_lists_actions_module", "init_list_actions", "init_list_actions_service", "init_public_api", "__esmMin", "init_src", "init_dynamic_lists_actions", "__esmMin", "init_public_api", "DynamicListsFeature", "CampaignsProDemo", "CampaignsProProd", "init_constants", "__esmMin", "buildContactSingleRowTableActions", "accountGroupService", "featureFlagService", "listActionsService", "crmInboxService", "accessService", "automationActionService", "translationSvc", "confirmationModalService", "reputationService", "snackbarService", "rmPremiumActive$", "currentAccountGroup$", "pipe", "switchMap", "currentAccountGroup", "combineLatest", "currentAccountGroupId$", "of", "partnerId", "checkFeatureFlag", "DynamicListsFeature", "canRunManualAutomations$", "map", "accountGroupId", "canAddToCRMLists", "canRunAutomations", "rmPremiumActive", "actions", "push", "goToConversationSingleRowAction", "sendReviewRequestSingleRowAction", "AddToListSingleRowAction", "AutomationSingleRowAction", "buildContactMultiRowTableActions", "campaignService", "activeAppService", "productAnalyticsService", "canAccessCampaigns$", "activeProducts$", "apps", "filter", "app", "productId", "CampaignsProProd", "CampaignsProDemo", "length", "canAddToList", "canAccessCampaigns", "AddToListMultiRowAction", "instant", "sendReviewRequestMultiRowAction", "AutomationMultiRowAction", "label", "callback", "rows", "trackEvent", "navigateToSendCampaign", "buildContactSelectAllTableActions", "exportActionsService", "businessCenterApiService", "AddToListSelectAllAction", "sendReviewRequestAllContactsAction", "AutomationSelectAllRowAction", "selectOptions", "filters", "search", "useSelectAll", "totalObjects", "ExportSelectAllRowAction", "inbox", "namespace", "parentNamespace", "row", "channel", "getContactPhoneFromRow", "ConversationChannel", "CONVERSATION_CHANNEL_SMS", "CONVERSATION_CHANNEL_EMAIL", "goToContactConversation", "id", "contactId", "contactName", "data", "fullName", "value", "message", "openModal", "title", "confirmButtonText", "subscribe", "confirmed", "__async", "scheduleReviewRequest", "currentAccountGroupId", "openSuccessSnack", "openErrorSnack", "contactIds", "contactCount", "_", "firstValueFrom", "sendReviewRequestToContacts", "businessId", "init_contact_actions", "__esmMin", "init_esm", "init_dynamic_lists_actions", "init_vendasta_conversation", "init_constants", "init_src", "init_automation", "buildCompanySingleRowTableActions", "accountGroupService", "featureFlagService", "listActionsService", "accessService", "automationActionService", "currentAccountGroup$", "pipe", "switchMap", "currentAccountGroup", "combineLatest", "currentAccountGroupId$", "checkFeatureFlag", "partnerId", "DynamicListsFeature", "canRunManualAutomations$", "map", "accountGroupId", "canAddToList", "canRunAutomations", "actions", "push", "AddToListSingleRowAction", "AutomationSingleRowAction", "buildCompanyMultiRowTableActions", "translationSvc", "AddToListMultiRowAction", "instant", "AutomationMultiRowAction", "buildCompanySelectAllTableActions", "exportActionsService", "AddToListSelectAllAction", "AutomationSelectAllRowAction", "ExportSelectAllRowAction", "init_company_actions", "__esmMin", "init_dynamic_lists_actions", "init_esm", "init_constants", "init_src", "init_automation", "DurationPipe", "IsSelectedPipe", "init_pipes", "__esmMin", "transform", "value", "transformDuration", "endsWith", "seconds", "parseInt", "slice", "Math", "floor", "pure", "meetingId", "selectedId", "\u0275\u0275elementContainerStart", "\u0275\u0275element", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275property", "ctx_r2", "getBadgeColor", "meeting_r4", "teamName", "\u0275\u0275textInterpolate1", "getTruncatedTeamName", "\u0275\u0275template", "MeetingEventComponent_ng_template_6_div_2_ng_container_12_Template", "\u0275\u0275pureFunction1", "_c0", "\u0275\u0275pipeBind2", "id", "selectedMeetingType", "\u0275\u0275textInterpolate", "name", "\u0275\u0275pipeBind1", "duration", "CalendarType", "getEventType", "\u0275\u0275twoWayListener", "$event", "\u0275\u0275restoreView", "_r2", "\u0275\u0275nextContext", "i0", "\u0275\u0275twoWayBindingSet", "\u0275\u0275resetView", "MeetingEventComponent_ng_template_6_div_2_Template", "\u0275\u0275twoWayProperty", "meetingTypes", "MeetingEventComponent", "init_meeting_event_list_component", "__esmMin", "init_common", "init_button", "init_expansion", "init_icon", "init_menu", "init_ngx_translate_core", "init_card", "init_badge", "init_dialog", "init_form_field", "init_esm", "init_empty_state", "init_infinite_scroll_trigger", "init_radio", "init_forms", "init_state", "init_loading_spinner", "init_pipes", "init_operators", "init_tooltip", "constructor", "ref", "data", "snackbarService", "meetingService", "loading$$", "BehaviorSubject", "calendarId$", "of", "eventTypeList$", "currentUserId$", "namespace$", "parentNamespace$", "currentUserId", "namespace", "parentNamespace", "ngOnInit", "getMeetingTypes", "sendEmail", "sendEmailToContact", "contactId", "subscribe", "next", "openSuccessSnack", "action", "error", "openErrorSnack", "close", "combineLatest", "pipe", "map", "currentUser", "applicationContextProperties", "__spreadValues", "business_id", "user_context", "partner_id", "userId", "switchMap", "request", "IsCalendarConfigured", "response", "calendarIds", "metadata", "getMeetingTypesForCalendars", "take", "meetingTypeMap", "Object", "values", "flat", "length", "meetingTypeId", "sendMeetingRequestEmail", "calendarType", "trimmedType", "trim", "toLowerCase", "slice", "\u0275\u0275directiveInject", "MatDialogRef", "MAT_DIALOG_DATA", "SnackbarService", "HostService", "selectors", "features", "\u0275\u0275ProvidersFeature", "RxState", "decls", "vars", "consts", "template", "rf", "ctx", "MeetingEventComponent_ng_container_4_Template", "MeetingEventComponent_ng_template_6_Template", "\u0275\u0275templateRefExtractor", "\u0275\u0275listener", "_r1", "loadedContent_r5", "CommonModule", "NgClass", "NgForOf", "NgIf", "AsyncPipe", "TranslateModule", "TranslatePipe", "MatExpansionModule", "MatIconModule", "MatButtonModule", "MatButton", "MatMenuModule", "MatCardModule", "MatCard", "MatCardContent", "GalaxyBadgeModule", "BadgeComponent", "MatDialogContent", "MatDialogTitle", "GalaxyFormFieldModule", "MatDialogActions", "GalaxyEmptyStateModule", "GalaxyInfiniteScrollTriggerModule", "MatRadioGroup", "MatRadioButton", "FormsModule", "NgControlStatus", "NgModel", "GalaxyLoadingSpinnerModule", "LoadingSpinnerComponent", "DurationPipe", "IsSelectedPipe", "MatTooltip", "styles", "MeetingEventService", "init_meeting_event_service", "__esmMin", "init_meeting_event_list_component", "constructor", "dialog", "openMeetingEventListDialog", "contactId", "currentUserId", "namespace", "parentNamespace", "open", "MeetingEventComponent", "panelClass", "width", "data", "\u0275\u0275inject", "MatDialog", "factory", "\u0275fac", "providedIn", "init_src", "__esmMin", "init_meeting_event_service", "init_public_api", "__esmMin", "init_src", "init_meeting_event", "__esmMin", "init_public_api", "InboxService", "init_inbox_service", "__esmMin", "init_core", "init_esm", "init_router", "init_vendasta_conversation", "init_snackbar_service", "init_src", "init_auth_service", "constructor", "auth", "inject", "AuthService", "conversationApi", "ConversationApiService", "router", "Router", "snackbar", "SnackbarService", "crmFields", "CrmFieldService", "goToContactConversation", "namespace", "parentNamespace", "contactId", "channel", "__async", "participantOrganization", "Participant", "participantType", "ParticipantType", "PARTICIPANT_TYPE_ACCOUNT_GROUP", "accountGroupId", "partnerId", "internalParticipantId", "isSubjectParticipant", "participantContact", "PARTICIPANT_TYPE_CUSTOMER", "participantSender", "PARTICIPANT_TYPE_IAM_USER", "effectiveUserId", "createReq", "CreateConversationRequest", "participants", "originLocation", "PlatformLocation", "PLATFORM_LOCATION_BUSINESS_APP", "response", "firstValueFrom", "createConversation", "path", "conversation", "conversationId", "replaceAll", "navigateByUrl", "openErrorSnack", "getContactPhoneFromRow", "row", "phoneFieldId", "getContactPhoneFieldId", "data", "value", "getFieldId", "StandardExternalIds", "PhoneNumber", "factory", "\u0275fac", "providedIn", "\u0275\u0275elementContainerStart", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275property", "ctx_r1", "npsScoreBadgeColor", "\u0275\u0275textInterpolate1", "\u0275\u0275pipeBind2", "\u0275\u0275pureFunction1", "_c0", "score_r1", "NpsBadgeComponent", "init_nps_badge_component", "__esmMin", "init_common", "init_badge", "init_ngx_translate_core", "init_src", "crmObject", "value", "_crmObject", "updateNpsBadge", "constructor", "crmFieldService", "netPromoterScore", "netPromoterScoreFieldId", "getFieldId", "NonStandardExternalIDs", "NetPromoterScore", "netPromoterScoreField", "fields", "find", "f", "fieldId", "integerValue", "toString", "getColor", "score", "\u0275\u0275directiveInject", "CrmFieldService", "selectors", "inputs", "crmObjectType", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275template", "NpsBadgeComponent_ng_container_0_Template", "CommonModule", "NgIf", "GalaxyBadgeModule", "BadgeComponent", "TranslateModule", "TranslatePipe", "styles", "init_src", "__esmMin", "init_nps_badge_component", "init_public_api", "__esmMin", "init_src", "init_reputation", "__esmMin", "init_public_api", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275property", "ctx_r0", "leadScoreBadgeColor", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "\u0275\u0275pipeBind3", "crmObjectType", "\u0275\u0275pureFunction1", "_c0", "ctx", "LeadScoreBadgeComponent", "init_lead_score_badge_component", "__esmMin", "init_common", "init_badge", "init_src", "constructor", "leadScore", "crmObject", "value", "_crmObject", "updateLeadScoreBadge", "leadScoreFieldId", "getLeadScoreFieldId", "leadScoreField", "fields", "find", "f", "fieldId", "floatValue", "toString", "getColor", "objectType", "StandardIds", "CompanyLeadScore", "ContactLeadScore", "score", "scoreNumber", "parseFloat", "selectors", "inputs", "decls", "vars", "consts", "template", "rf", "\u0275\u0275template", "LeadScoreBadgeComponent_Conditional_0_Template", "\u0275\u0275conditional", "tmp_0_0", "CommonModule", "GalaxyBadgeModule", "BadgeComponent", "TranslateByObjectTypePipe", "styles", "init_src", "__esmMin", "init_lead_score_badge_component", "init_public_api", "__esmMin", "init_src", "init_badge", "__esmMin", "init_public_api", "filterActivityInputOverrides$", "translationService", "of", "title", "instant", "fieldId", "SystemFieldIds", "ActivityOwnerID", "filterInput", "TeamMemberFilterInputComponent", "filterChip", "TeamMemberFilterChipComponent", "filterContactInputOverrides$", "StandardIds", "ContactPrimaryCompanyID", "CompanyCustomFilterInputComponent", "CompanyCustomFilterChipComponent", "ContactOwnerID", "ContactAdditionalTeamMemberIDs", "AdditionalTeamMemberFilterInputComponent", "filterCompanyInputOverride$", "CompanyParentCompanyID", "CompanyOwnerID", "CompanyAdditionalTeamMemberIDs", "contactTableCustomCells", "fieldIds", "columnDefinition", "id", "customCellComponent", "OwnerCellComponent", "TeamMemberCellComponent", "companyTableCustomCells", "hasAccessToFeature$", "feature", "partnerMarketConfigService", "hasAccessToFeature", "pipe", "startWith", "buildContactHeaders$", "leadScoringFeature$", "leadScoringConfig$", "businessAppConfig$", "map", "config", "showLeadScoring", "combineLatest", "leadScoringFeature", "leadScoringConfig", "headers", "push", "component", "NpsBadgeComponent", "LeadScoreBadgeComponent", "CrmInjectionToken", "CrmMultilocationInjectionToken", "init_providers", "__esmMin", "init_core", "init_rxjs_interop", "init_src", "init_vendasta_account_group", "init_vendasta_business_center", "init_esm", "init_globals", "init_account_group", "init_vendasta_accounts_legacy", "init_auth_service", "init_feature_flag_service", "init_operators", "init_ngx_translate_core", "init_product_service", "init_locations", "init_user_service", "init_team_member_filter_input_component", "init_team_member_form_input_component", "init_additional_team_member_form_input_component", "init_owner_component", "init_team_member_component", "init_access_service", "init_partner_market_config", "init_user", "init_currency", "init_contact_actions", "init_dynamic_lists_actions", "init_constants", "init_company_actions", "init_vendasta_meetings", "init_meeting_event", "init_inbox_service", "init_cache", "init_pipeline", "init_reputation", "init_language_service_service", "init_automation", "init_badge", "init_confirmation_modal", "init_snackbar_service", "init_reputation_service", "InjectionToken", "factory", "crmUserServiceCacheOptions", "methods", "method", "strategy", "maxAge", "observable", "share", "autoCleanup", "userService", "CacheFactory", "inject", "CRMUserService", "pipelineCacheStrategy", "crmPipelineServiceCacheOptions", "pipelineService", "CrmPipelineService", "TranslateService", "accountGroupService", "AccountGroupService", "featureFlagService", "FeatureFlagService", "accountGroupApiService", "AccountGroupApiService", "businessCenterApiService", "BusinessCenterApiService", "crmCampaignContactsDialogService", "CrmCampaignContactsDialogService", "authService", "AuthService", "activeAppService", "ProductService", "accessService", "CRMAccessService", "whitelabelService", "WhitelabelService", "locationsService", "LocationsService", "crmFieldService", "CrmFieldService", "productAnalyticsService", "ProductAnalyticsService", "PartnerMarketConfigService", "currencyService", "CurrencyService", "crmInboxService", "InboxService", "listActionsService", "ListActionsService", "meetingService", "HostService", "meetingEventService", "MeetingEventService", "exportActionsService", "ExportActionsService", "languageService", "LanguageService", "automationActionsService", "AutomationActionsService", "accountsService", "AccountsService", "reputationService", "ReputationService", "confirmationModalService", "OpenConfirmationModalService", "snackbarService", "SnackbarService", "crmObjectDisplayService", "CrmObjectDisplayService", "contactPhoneFieldID", "getFieldId", "StandardExternalIds", "PhoneNumber", "emailFieldID", "Email", "tagsFieldID", "Tags", "parentNamespace$", "currentAccountGroupId$", "switchMap", "accountGroupId", "getMulti", "accountGroupIds", "projectionFilter", "accountGroupExternalIdentifiers", "response", "accountGroups", "accountGroup", "partnerId", "configuration$", "marketId$", "marketId", "getConfiguration", "showContacts$", "businessCenterConfiguration", "showCustomers", "showCompanies$", "showCrmCompanies", "companyToCompanyFeatureFlag$", "checkFeatureFlag", "crmOpportunitiesFeatureFlag$", "showOpportunities$", "featureFlag", "showCrmOpportunities", "companyProfileCards$", "companyCompanyAssociationsFlag", "showOpportunities", "showContacts", "cards", "CompanyToContactAssociationsCardComponent", "CompanyToOpportunityAssociationsPanelComponent", "ParentChildCompanyAssociationsCardComponent", "contactProfileCards$", "activeProducts$", "showCompanies", "activeProducts", "CompanyAssociationPanelComponent", "OpportunityAssociationPanelComponent", "filter", "app", "productId", "CampaignsProProd", "CampaignsProDemo", "length", "ContactCampaignsCardComponent", "opportunityProfileCards$", "ContactAssociationPanelComponent", "isMeetingSchedulerConfigured$", "toObservable", "effectiveUserId", "namespace", "currentUser", "applicationContextProperties", "business_id", "user_context", "userId", "request", "IsCalendarConfigured", "isConfigured", "hasMeetingFeatureFlag$", "parentNamespace", "currentUserId$", "locale$", "currentLocale$", "rmPremiumActive$", "list", "res", "accounts", "a", "trial", "deactivation", "some", "account", "productIds", "reputationManagement", "editionId", "editionIds", "reputationManagementPremium", "namespace$", "currentLocation$", "location", "isBrand", "groupNodes", "appID", "routePrefix$", "viewProfileFlag$", "hasCrmAssociationModalFeatureFlag$", "customObjectFeatureFlag", "activity", "filterInputOverrides$", "contact", "showRightHandProfilePanel$", "profileCards$", "createAssociationFields", "objectTypes", "required", "initialFilters$", "filterId", "ContactCreated", "ContactLastActivityDate", "ContactLifecycleStage", "baseColumnIds", "ContactCustomColumns", "FullName", "PrimaryCompanyName", "ContactSourceName", "formCustomInputs", "ContactGroupID", "HiddenTextFormInputComponent", "TeamMemberFormInputComponent", "AdditionalTeamMemberFormInputComponent", "formDefaultOnCreateInputValues$", "value", "ContactRecordSourceDrill1", "window", "href", "tableCustomCells", "singleRowTableActions$", "buildContactSingleRowTableActions", "multiRowTableActions$", "buildContactMultiRowTableActions", "selectAllTableActions$", "buildContactSelectAllTableActions", "profileHeader$", "company", "CompanyName", "CompanyCreated", "CompanyLastActivityDate", "CompanyLifecycleStage", "CompanyGroupID", "CompanySourceName", "CompanyRecordSourceDrill1", "showCampaigns$", "apps", "buildCompanySingleRowTableActions", "buildCompanyMultiRowTableActions", "buildCompanySelectAllTableActions", "task", "UserFilterInputComponent", "UserFilterChipComponent", "TaskCustomColumns", "AssignedTo", "UserCellComponent", "ActivityTaskDueDate", "ActivityTaskStatus", "DueDateCellComponent", "opportunity", "OpportunityOwnerID", "CrmUserInputComponent", "CrmUserFilterInputComponent", "CrmUserFilterChipComponent", "OpportunityPipelineID", "CrmPipelineFilterInputComponent", "CrmPipelineFilterChipComponent", "CrmUserColumnCellComponent", "CrmPipelineColumnCellComponent", "OpportunityCalculatedStageID", "CrmStageColumnCellComponent", "getMarketCurrency", "currencyCode", "OpportunityAmount", "amount", "OpportunityExpectedCloseDate", "addMonths", "Date", "OpportunityStatus", "OpportunitySourceName", "lists", "canStartManualAutomation$", "canRunManualAutomations$", "customObject", "CustomObjectName", "getDisplayName", "crmObject", "customObjectDisplayName", "services", "meetingAction", "contactId", "currentUserId", "openMeetingEventListDialog", "isMeetingIconNeeded$", "isMeetingSchedulerConfigured", "hasMeetingFeatureFlag", "hasInboxAccess$", "canShowInboxForContact$", "showInboxMessage", "catchError", "openContactConversation", "channel", "__async", "goToContactConversation", "showLeadProspector$", "groupId$", "distinctUntilChanged", "shareReplay", "refCount", "bufferSize", "multiLocationContext$", "currentAccountGroups$", "groupId", "accountGroupsIds", "Object", "keys"] }