{"version":3,"sources":["libs/crm/static/src/lib/shared-components/activities-timeline/timeline/timeline.service.ts","node_modules/@vendasta/sales-opportunities/fesm2020/vendasta-sales-opportunities.mjs","libs/crm/static/src/lib/shared-components/chip/interfaces.ts","libs/crm/static/src/lib/shared-components/chip/chip.component.ts","libs/crm/static/src/lib/shared-components/chip/chip.component.html","libs/crm/static/src/lib/shared-components/chip-list/chip-list.component.ts","libs/crm/static/src/lib/shared-components/chip-list/chip-list.component.html","libs/crm/static/src/lib/shared-components/unknown-user-avatar/unknown-user-avatar.component.ts","libs/crm/static/src/lib/shared-components/activities-timeline/activities/activity-logger.service.ts","libs/crm/static/src/lib/shared-components/activities-timeline/activities/logger/logger-content.directive.ts","libs/crm/static/src/lib/shared-components/activities-timeline/activities/logger/call.component.ts","libs/crm/static/src/lib/shared-components/activities-timeline/activities/logger/call.component.html","libs/crm/static/src/lib/shared-components/activities-timeline/activities/logger/email.component.ts","libs/crm/static/src/lib/shared-components/activities-timeline/activities/logger/email.component.html","libs/crm/static/src/lib/shared-components/activities-timeline/activities/logger/meeting.component.ts","libs/crm/static/src/lib/shared-components/activities-timeline/activities/logger/meeting.component.html","libs/crm/static/src/lib/shared-components/activities-timeline/activities/logger/note.component.ts","libs/crm/static/src/lib/shared-components/activities-timeline/activities/logger/note.component.html","libs/crm/static/src/lib/shared-components/activities-timeline/activities/logger/team-association.component.ts","libs/crm/static/src/lib/shared-components/activities-timeline/activities/logger/team-association.component.html","libs/crm/static/src/lib/shared-components/activities-timeline/activities/logger/opportunity-association.component.ts","libs/crm/static/src/lib/shared-components/activities-timeline/activities/logger/opportunity-association.component.html","libs/crm/static/src/lib/shared-components/activities-timeline/activities/logger/tags.component.ts","libs/crm/static/src/lib/shared-components/activities-timeline/activities/logger/tags.component.html","libs/crm/static/src/lib/shared-components/activities-timeline/activities/logger/follow-up-task.component.ts","libs/crm/static/src/lib/shared-components/activities-timeline/activities/logger/follow-up-task.component.html","libs/crm/static/src/lib/shared-components/activities-timeline/activities/logger/communication.component.ts","libs/crm/static/src/lib/shared-components/activities-timeline/activities/logger/communication.component.html","libs/crm/static/src/lib/shared-components/activities-timeline/activities/activity-logger.component.ts","libs/crm/static/src/lib/shared-components/activities-timeline/activities/activity-logger.component.html","libs/crm/static/src/lib/shared-components/collapsible-section/on-resize.directive.ts","libs/crm/static/src/lib/shared-components/collapsible-section/collapsible-section.component.ts","libs/crm/static/src/lib/shared-components/activities-timeline/activities/email.component.ts","libs/crm/static/src/lib/shared-components/activities-timeline/activities/email.component.html","libs/crm/static/src/lib/shared-components/activities-timeline/activities/note.component.ts","libs/crm/static/src/lib/shared-components/activities-timeline/activities/note.component.html","libs/crm/static/src/lib/shared-components/activities-timeline/activities/activity-template-options.directive.ts","libs/crm/static/src/lib/shared-components/activities-timeline/activities/activity-template.component.ts","libs/crm/static/src/lib/shared-components/activities-timeline/activities/activity-template.component.html","libs/crm/static/src/lib/shared-components/activities-timeline/activities/logged-note.component.ts","libs/crm/static/src/lib/shared-components/activities-timeline/activities/logged-note.component.html","libs/crm/static/src/lib/shared-components/activities-timeline/activities/record-change.component.ts","libs/crm/static/src/lib/shared-components/activities-timeline/activities/record-change.component.html","libs/crm/static/src/lib/shared-components/activities-timeline/activities/logged-email.component.ts","libs/crm/static/src/lib/shared-components/activities-timeline/activities/logged-email.component.html","libs/crm/static/src/lib/shared-components/activities-timeline/activities/logged-call.component.ts","libs/crm/static/src/lib/shared-components/activities-timeline/activities/logged-call.component.html","libs/crm/static/src/lib/shared-components/activities-timeline/activities/logged-meeting.component.ts","libs/crm/static/src/lib/shared-components/activities-timeline/activities/logged-meeting.component.html","libs/crm/static/src/lib/shared-components/activities-timeline/activities/task.component.ts","libs/crm/static/src/lib/shared-components/activities-timeline/activities/task.component.html","libs/crm/static/src/lib/shared-components/activities-timeline/activities/association-popover.component.ts","libs/crm/static/src/lib/shared-components/activities-timeline/activities/association-popover.component.html","libs/crm/static/src/lib/shared-components/activities-timeline/timeline/timeline-associated-object.pipe.ts","libs/crm/static/src/lib/shared-components/activities-timeline/activities/logged-communication.component.ts","libs/crm/static/src/lib/shared-components/activities-timeline/activities/logged-communication.component.html","libs/crm/static/src/lib/shared-components/activities-timeline/activities/activity-url-builder.ts","libs/crm/static/src/lib/shared-components/activities-timeline/activities/activity-communication.component.ts","libs/crm/static/src/lib/shared-components/activities-timeline/activities/activity-communication.component.html","libs/crm/static/src/lib/shared-components/activities-timeline/activities/call.component.ts","libs/crm/static/src/lib/shared-components/activities-timeline/activities/call.component.html","libs/crm/static/src/lib/shared-components/activities-timeline/activities/opportunity-change.component.ts","libs/crm/static/src/lib/shared-components/activities-timeline/activities/opportunity-change.component.html","libs/crm/static/src/lib/shared-components/activities-timeline/timeline/timeline.component.ts","libs/crm/static/src/lib/shared-components/activities-timeline/timeline/timeline.component.html"],"sourcesContent":["import { DestroyRef, inject, Injectable } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { TranslateService } from '@ngx-translate/core';\nimport { RxState } from '@rx-angular/state';\nimport {\n ActivityInterface,\n DateDefault,\n FilterGroupInterface,\n FilterGroupOperator,\n FilterInterface,\n FilterOperator,\n ListActivitiesResponseInterface,\n PagedResponseMetadataInterface,\n} from '@vendasta/crm';\nimport { GalaxyFilterInterface } from '@vendasta/galaxy/filter/chips';\nimport { IAMService, User, UserIdentifier } from '@vendasta/iamv2';\nimport { combineLatest, distinctUntilChanged, filter, map, of, ReplaySubject, skipWhile, switchMap, tap } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { ACTIVITIES_TIMELINE_PAGE_SIZE } from '../../../constants';\nimport { ActivityTaskStatus, ObjectType } from '../../../tokens-and-interfaces';\nimport { ObjectAssociationType } from '../../../tokens-and-interfaces';\nimport {\n StandardIds,\n CrmFieldService,\n CrmObjectService,\n ActivityService,\n SystemFieldIds,\n} from '../../../shared-services';\n\nexport interface ActivityExtended extends ActivityInterface {\n ownerUser?: User;\n isLoggedActivity?: boolean;\n}\n\ninterface ActivityExtendedWithEffectiveDate extends ActivityExtended {\n effectiveDate: Date;\n}\n\nexport interface ActivitySectionInterface {\n name: string;\n activities: ActivityExtended[];\n}\n\ninterface ActivitySectionInterfaceWithDate extends ActivitySectionInterface {\n date: Date | null; // date used to bin the section, empty means \"upcoming\" section\n}\n\ninterface ComponentState {\n activitiesLoading: boolean;\n activitiesLoadMore: boolean;\n activitiesChanged: boolean; // used to determine if the content has changed and the scroll position should be restored\n searchFilterInitialized: boolean;\n activitiesPagedResponseMetadata: PagedResponseMetadataInterface | null;\n activities: ActivityInterface[];\n activitySections: ActivitySectionInterface[];\n\n lockedActivityEffectiveDate: Map;\n uniqueUserIds: string[];\n\n uniqueUsers: User[];\n searchTerm: string;\n filters: GalaxyFilterInterface[];\n\n initialized: boolean;\n}\n\nconst OpenOverdueTaskFilters: FilterGroupInterface = {\n operator: FilterGroupOperator.FILTER_GROUP_OPERATOR_AND,\n filters: [\n {\n fieldId: StandardIds.ActivityTaskStatus,\n operator: FilterOperator.FILTER_OPERATOR_IS,\n values: [\n {\n string: ActivityTaskStatus.Open,\n },\n ],\n } as FilterInterface,\n {\n fieldId: StandardIds.ActivityTaskDueDate,\n operator: FilterOperator.FILTER_OPERATOR_IS_BEFORE,\n values: [\n {\n dateDefault: DateDefault.DATE_DEFAULT_TODAY,\n },\n ],\n } as FilterInterface,\n ],\n};\n\n@Injectable()\nexport class ActivitiesTimelineService {\n readonly upcomingSectionName = this.translateService.instant('CONTACT.ACTIVITIES_TIMELINE.SECTIONS.UPCOMING');\n readonly crmObjectId$$ = new ReplaySubject(1);\n readonly objectType$$ = new ReplaySubject(1);\n private destroyRef = inject(DestroyRef);\n\n constructor(\n public readonly state: RxState,\n private readonly activityService: ActivityService,\n private readonly fieldService: CrmFieldService,\n private readonly translateService: TranslateService,\n private readonly iamService: IAMService,\n private readonly crmObjectService: CrmObjectService,\n ) {\n this.state.set({\n activitiesLoading: false,\n activitiesLoadMore: false,\n activitiesChanged: false,\n activitiesPagedResponseMetadata: null,\n activities: [],\n activitySections: [],\n uniqueUserIds: [],\n searchTerm: '',\n filters: [],\n lockedActivityEffectiveDate: new Map(),\n initialized: false,\n });\n this.setupReloadActivities();\n this.setupLoadMore();\n this.setupUniqueUsers();\n }\n\n getActivitySections(activities: ActivityExtended[]): ActivitySectionInterface[] {\n const activitySections: ActivitySectionInterface[] = [];\n\n const activitiesWithEffectiveDate = activities.map((activity) => {\n const atv = this.toActivityWithEffectiveDate(activity);\n if (atv?.crmObjectId) {\n atv.effectiveDate = this.state.get('lockedActivityEffectiveDate').get(atv.crmObjectId) ?? atv.effectiveDate;\n }\n return atv;\n });\n\n const overdueTasks = activitiesWithEffectiveDate\n .filter((activity) => {\n return (\n this.fieldService.getFieldValueFromCrmObject(activity, StandardIds.ActivityTaskStatus)?.stringValue ===\n ActivityTaskStatus.Open && activity.effectiveDate.getTime() < Date.now()\n );\n })\n .sort((a, b) => a.effectiveDate.getTime() - b.effectiveDate.getTime());\n\n // split into upcoming and past activities\n const upcomingActivities = activitiesWithEffectiveDate.filter(\n (activity) => activity.effectiveDate.getTime() > Date.now(),\n );\n\n const overdueTasksAndUpcomingActivities = [...overdueTasks, ...upcomingActivities];\n\n const pastActivities = activitiesWithEffectiveDate.filter(\n (activity) => !overdueTasksAndUpcomingActivities?.find((item) => item.crmObjectId === activity.crmObjectId),\n );\n\n // add upcoming section if there are upcoming activities\n if (overdueTasksAndUpcomingActivities.length > 0) {\n activitySections.push({\n name: this.upcomingSectionName,\n activities: overdueTasksAndUpcomingActivities,\n });\n }\n\n // make a new section for each (month, year) pair\n const pastSectionsMap = new Map();\n for (const activity of pastActivities) {\n const startOfMonth = new Date(activity.effectiveDate.getFullYear(), activity.effectiveDate.getMonth());\n const startOfMonthTime = startOfMonth.getTime();\n if (!pastSectionsMap.has(startOfMonthTime)) {\n pastSectionsMap.set(startOfMonthTime, {\n name: `${startOfMonth.toLocaleString('default', { month: 'long' })} ${startOfMonth.getFullYear()}`,\n activities: [activity],\n date: startOfMonth,\n });\n continue;\n }\n pastSectionsMap.get(startOfMonthTime)?.activities.push(activity);\n }\n\n // map iteration undefined, so convert to descending array\n const pastSections = [...pastSectionsMap.values()].sort((a, b) => {\n if (a.date === null) {\n return -1;\n }\n if (b.date === null) {\n return 1;\n }\n if (a.date === b.date) {\n return 0;\n }\n return b.date.getTime() - a.date.getTime();\n });\n activitySections.push(...pastSections);\n\n return activitySections;\n }\n\n private toActivityWithEffectiveDate(crmActivity: ActivityInterface): ActivityExtendedWithEffectiveDate {\n const effectiveDate: Date | null =\n this.fieldService.getFieldValueFromCrmObject(crmActivity, SystemFieldIds.ActivityEffectiveDate)?.dateValue ??\n null;\n const isLoggedActivity =\n this.fieldService.getFieldValueFromCrmObject(crmActivity, StandardIds.ActivityManuallyLogged)?.booleanValue ??\n false;\n if (effectiveDate === null) {\n throw new Error(`Activity has no effective date, ${crmActivity.crmObjectId}`);\n }\n return {\n ...crmActivity,\n isLoggedActivity: isLoggedActivity,\n effectiveDate: effectiveDate,\n };\n }\n\n initializeState(searchTerm: string, filters: GalaxyFilterInterface[]): void {\n this.state.set({\n searchTerm: searchTerm,\n filters: filters,\n initialized: true,\n });\n }\n setupLoadMore(): void {\n combineLatest([\n this.state.select('initialized'),\n this.state.select('activitiesLoadMore'),\n this.state.select('searchTerm'),\n this.state.select('filters'),\n this.crmObjectId$$.asObservable(),\n this.objectType$$.asObservable(),\n ])\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n skipWhile(([initialized]) => !initialized),\n debounceTime(100),\n filter(([, activitiesLoadMore]) => activitiesLoadMore),\n // save the scroll position because Angular will reset it when the content changes\n tap(() => {\n this.state.set({ activitiesLoading: true });\n }),\n switchMap(([, , searchTerm, filters, crmObjectId, objectType]) => {\n const activitiesPagedResponseMetadata = this.state.get('activitiesPagedResponseMetadata');\n if (activitiesPagedResponseMetadata?.hasMore === false) {\n return of({});\n }\n const crmFilters = this.crmObjectService.convertFilters(filters);\n const activities$ = this.activityService.listActivities({\n crmObjectId: crmObjectId,\n crmObjectType: objectType,\n pagingOptions: {\n pageSize: ACTIVITIES_TIMELINE_PAGE_SIZE,\n cursor: activitiesPagedResponseMetadata?.nextCursor ?? '',\n },\n search: {\n searchTerm: searchTerm,\n },\n filtersV2: this.addPredefinedFilters(crmFilters),\n });\n\n if (activitiesPagedResponseMetadata?.nextCursor || filters.length > 0 || searchTerm.length > 0) {\n return activities$;\n }\n\n const overdueTasks$ = this.activityService.listActivities({\n crmObjectId: crmObjectId,\n crmObjectType: objectType,\n pagingOptions: {\n pageSize: 100,\n cursor: '',\n },\n search: {\n searchTerm: searchTerm,\n },\n filtersV2: OpenOverdueTaskFilters,\n });\n\n return combineLatest([activities$, overdueTasks$]).pipe(\n map(([activities, overdueTasks]) => {\n const response = activities;\n const allActivities = [...(activities?.activities ?? []), ...(overdueTasks?.activities ?? [])];\n response.activities = allActivities;\n return response;\n }),\n );\n }),\n tap((response: ListActivitiesResponseInterface) => {\n if (!response) {\n return;\n }\n\n this.state.set({\n activitiesLoadMore: false,\n activitiesPagedResponseMetadata: {\n nextCursor: response?.pagingMetadata?.nextCursor ?? '',\n hasMore: response?.pagingMetadata?.hasMore ?? false,\n },\n });\n }),\n map((response) => response?.activities ?? []),\n tap((activities) => {\n this.state.set({\n activities: this.filterActivities([...this.state.get('activities'), ...activities]),\n activitiesLoading: false,\n activitiesChanged: true,\n });\n }),\n )\n .subscribe();\n }\n\n setupUniqueUsers(): void {\n this.state.connect(\n 'uniqueUserIds',\n this.state.select('activities').pipe(\n map((activities) => {\n const uniqueUserIds = [...this.state.get('uniqueUserIds')];\n for (const activity of activities) {\n if (activity.ownerId && !uniqueUserIds.includes(activity.ownerId)) {\n uniqueUserIds.push(activity.ownerId);\n }\n }\n return uniqueUserIds;\n }),\n ),\n );\n\n this.state.connect(\n 'uniqueUsers',\n this.state.select('uniqueUserIds').pipe(\n map((uniqueUserIds) => uniqueUserIds.map((userId) => new UserIdentifier({ userId: userId }))),\n switchMap((uniqueUserIdentifiers) => this.iamService.getMultiUsers(uniqueUserIdentifiers)),\n ),\n );\n }\n\n setupReloadActivities(): void {\n combineLatest([this.crmObjectId$$.asObservable(), this.objectType$$.asObservable()])\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n distinctUntilChanged((a, b) => a[0] === b[0] && a[1] === b[1]),\n tap(([crmObjectId, objectType]) => {\n if (crmObjectId && objectType) {\n // triggers initial load of activities\n this.reloadActivities();\n }\n }),\n )\n .subscribe();\n }\n\n loadMoreActivities(): void {\n const activitiesPagedResponseMetadata = this.state.get('activitiesPagedResponseMetadata');\n if (activitiesPagedResponseMetadata?.hasMore === false) {\n return;\n }\n this.state.set({\n activitiesLoadMore: true,\n });\n }\n\n reloadActivities(): void {\n this.state.set({\n activitiesLoading: false,\n activitiesLoadMore: true,\n activitiesChanged: false,\n activitiesPagedResponseMetadata: null,\n activities: [],\n activitySections: [],\n lockedActivityEffectiveDate: new Map(),\n });\n }\n\n filterActivities(activities: ActivityInterface[]): ActivityInterface[] {\n const activitiesWithEffectiveDateMap = new Map();\n\n activities.map((activity) => {\n if (!activity.crmObjectId) {\n throw new Error('activity has no crmObjectId');\n }\n activitiesWithEffectiveDateMap.set(activity.crmObjectId, this.toActivityWithEffectiveDate(activity));\n });\n\n return [...activitiesWithEffectiveDateMap.values()];\n }\n\n lockActivityEffectiveDate(activity: ActivityInterface): void {\n if (activity.crmObjectId) {\n const lockedActivityEffectiveDate = this.state.get('lockedActivityEffectiveDate');\n if (lockedActivityEffectiveDate.get(activity.crmObjectId)) {\n return; // already locked\n }\n let effectiveDate = activity.created ?? new Date();\n try {\n effectiveDate = this.toActivityWithEffectiveDate(activity).effectiveDate;\n } catch (e) {\n // do nothing\n }\n\n lockedActivityEffectiveDate.set(activity.crmObjectId, effectiveDate);\n this.state.set({ lockedActivityEffectiveDate: lockedActivityEffectiveDate });\n }\n }\n\n addPredefinedFilters(filters: FilterGroupInterface | undefined): FilterGroupInterface | undefined {\n const predefFilter: FilterInterface[] = [\n {\n fieldId: 'FieldID-fb7ca0a7-e1a9-43a9-8ead-dd6ea20dda11',\n operator: 4,\n values: [{ string: 'UPDATED' }],\n },\n ];\n\n if (!filters) {\n filters = {\n operator: 1,\n filters: predefFilter,\n };\n } else {\n filters.filters = [...filters.filters, ...predefFilter];\n }\n\n return filters;\n }\n}\n","import * as i0 from '@angular/core';\nimport { Injectable } from '@angular/core';\nimport * as i1 from '@angular/common/http';\nimport { HttpHeaders } from '@angular/common/http';\nimport { map, take, mapTo } from 'rxjs/operators';\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar Currency = /*#__PURE__*/function (Currency) {\n Currency[Currency[\"USD\"] = 0] = \"USD\";\n Currency[Currency[\"CAD\"] = 1] = \"CAD\";\n Currency[Currency[\"EUR\"] = 2] = \"EUR\";\n Currency[Currency[\"AUD\"] = 3] = \"AUD\";\n Currency[Currency[\"GBP\"] = 4] = \"GBP\";\n Currency[Currency[\"NZD\"] = 5] = \"NZD\";\n Currency[Currency[\"ZAR\"] = 6] = \"ZAR\";\n return Currency;\n}(Currency || {});\nvar DurationPeriod = /*#__PURE__*/function (DurationPeriod) {\n DurationPeriod[DurationPeriod[\"UNSPECIFIED\"] = 0] = \"UNSPECIFIED\";\n DurationPeriod[DurationPeriod[\"MONTH\"] = 1] = \"MONTH\";\n DurationPeriod[DurationPeriod[\"YEAR\"] = 2] = \"YEAR\";\n DurationPeriod[DurationPeriod[\"DAY\"] = 3] = \"DAY\";\n DurationPeriod[DurationPeriod[\"WEEK\"] = 4] = \"WEEK\";\n return DurationPeriod;\n}(DurationPeriod || {});\nvar RevenuePeriod = /*#__PURE__*/function (RevenuePeriod) {\n RevenuePeriod[RevenuePeriod[\"ONETIME\"] = 0] = \"ONETIME\";\n RevenuePeriod[RevenuePeriod[\"DAILY\"] = 1] = \"DAILY\";\n RevenuePeriod[RevenuePeriod[\"WEEKLY\"] = 2] = \"WEEKLY\";\n RevenuePeriod[RevenuePeriod[\"BIWEEKLY\"] = 3] = \"BIWEEKLY\";\n RevenuePeriod[RevenuePeriod[\"MONTHLY\"] = 4] = \"MONTHLY\";\n RevenuePeriod[RevenuePeriod[\"YEARLY\"] = 5] = \"YEARLY\";\n return RevenuePeriod;\n}(RevenuePeriod || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar MEDDICSection = /*#__PURE__*/function (MEDDICSection) {\n MEDDICSection[MEDDICSection[\"MEDDIC_SECTION_UNDEFINED\"] = 0] = \"MEDDIC_SECTION_UNDEFINED\";\n MEDDICSection[MEDDICSection[\"MEDDIC_SECTION_METRICS\"] = 1] = \"MEDDIC_SECTION_METRICS\";\n MEDDICSection[MEDDICSection[\"MEDDIC_SECTION_ECONOMIC_BUYER\"] = 2] = \"MEDDIC_SECTION_ECONOMIC_BUYER\";\n MEDDICSection[MEDDICSection[\"MEDDIC_SECTION_DECISION_CRITERIA\"] = 3] = \"MEDDIC_SECTION_DECISION_CRITERIA\";\n MEDDICSection[MEDDICSection[\"MEDDIC_SECTION_DECISION_PROCESS\"] = 4] = \"MEDDIC_SECTION_DECISION_PROCESS\";\n MEDDICSection[MEDDICSection[\"MEDDIC_SECTION_IDENTIFY_PAIN\"] = 5] = \"MEDDIC_SECTION_IDENTIFY_PAIN\";\n MEDDICSection[MEDDICSection[\"MEDDIC_SECTION_CHAMPION_SCORE\"] = 6] = \"MEDDIC_SECTION_CHAMPION_SCORE\";\n MEDDICSection[MEDDICSection[\"MEDDIC_SECTION_COMPETITION\"] = 7] = \"MEDDIC_SECTION_COMPETITION\";\n MEDDICSection[MEDDICSection[\"MEDDIC_SECTION_PAPER_PROCESS\"] = 8] = \"MEDDIC_SECTION_PAPER_PROCESS\";\n return MEDDICSection;\n}(MEDDICSection || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar ClientOrigin = /*#__PURE__*/function (ClientOrigin) {\n ClientOrigin[ClientOrigin[\"CLIENT_ORIGIN_UNSET\"] = 0] = \"CLIENT_ORIGIN_UNSET\";\n ClientOrigin[ClientOrigin[\"CLIENT_ORIGIN_SALES_CENTER\"] = 1] = \"CLIENT_ORIGIN_SALES_CENTER\";\n ClientOrigin[ClientOrigin[\"CLIENT_ORIGIN_PARTNER_CENTER\"] = 2] = \"CLIENT_ORIGIN_PARTNER_CENTER\";\n return ClientOrigin;\n}(ClientOrigin || {});\nvar ClosedLostReasonOption = /*#__PURE__*/function (ClosedLostReasonOption) {\n ClosedLostReasonOption[ClosedLostReasonOption[\"PRICE\"] = 0] = \"PRICE\";\n ClosedLostReasonOption[ClosedLostReasonOption[\"NO_BUDGET\"] = 1] = \"NO_BUDGET\";\n ClosedLostReasonOption[ClosedLostReasonOption[\"LOST_TO_COMPETITOR\"] = 2] = \"LOST_TO_COMPETITOR\";\n ClosedLostReasonOption[ClosedLostReasonOption[\"NOT_READY\"] = 3] = \"NOT_READY\";\n ClosedLostReasonOption[ClosedLostReasonOption[\"OTHER\"] = 4] = \"OTHER\";\n return ClosedLostReasonOption;\n}(ClosedLostReasonOption || {});\nvar OpportunityRevenuePeriod = /*#__PURE__*/function (OpportunityRevenuePeriod) {\n OpportunityRevenuePeriod[OpportunityRevenuePeriod[\"UNSPECIFIED\"] = 0] = \"UNSPECIFIED\";\n OpportunityRevenuePeriod[OpportunityRevenuePeriod[\"SELECTED_MONTH\"] = 1] = \"SELECTED_MONTH\";\n return OpportunityRevenuePeriod;\n}(OpportunityRevenuePeriod || {});\nvar SortDirection = /*#__PURE__*/function (SortDirection) {\n SortDirection[SortDirection[\"ASCENDING\"] = 0] = \"ASCENDING\";\n SortDirection[SortDirection[\"DESCENDING\"] = 1] = \"DESCENDING\";\n return SortDirection;\n}(SortDirection || {});\nvar ListOpportunitiesRequestSortField = /*#__PURE__*/function (ListOpportunitiesRequestSortField) {\n ListOpportunitiesRequestSortField[ListOpportunitiesRequestSortField[\"PROJECTED_FIRST_YEAR_VALUE\"] = 0] = \"PROJECTED_FIRST_YEAR_VALUE\";\n ListOpportunitiesRequestSortField[ListOpportunitiesRequestSortField[\"PROBABILITY\"] = 1] = \"PROBABILITY\";\n ListOpportunitiesRequestSortField[ListOpportunitiesRequestSortField[\"CREATED\"] = 2] = \"CREATED\";\n ListOpportunitiesRequestSortField[ListOpportunitiesRequestSortField[\"EXPECTED_CLOSE\"] = 3] = \"EXPECTED_CLOSE\";\n ListOpportunitiesRequestSortField[ListOpportunitiesRequestSortField[\"NAME\"] = 4] = \"NAME\";\n ListOpportunitiesRequestSortField[ListOpportunitiesRequestSortField[\"LAST_ACTIVITY\"] = 5] = \"LAST_ACTIVITY\";\n ListOpportunitiesRequestSortField[ListOpportunitiesRequestSortField[\"LAST_CONNECTED\"] = 6] = \"LAST_CONNECTED\";\n ListOpportunitiesRequestSortField[ListOpportunitiesRequestSortField[\"ACTUAL_CLOSE\"] = 7] = \"ACTUAL_CLOSE\";\n ListOpportunitiesRequestSortField[ListOpportunitiesRequestSortField[\"PIPELINE_STAGE\"] = 8] = \"PIPELINE_STAGE\";\n ListOpportunitiesRequestSortField[ListOpportunitiesRequestSortField[\"MEDDIC\"] = 9] = \"MEDDIC\";\n ListOpportunitiesRequestSortField[ListOpportunitiesRequestSortField[\"ASSIGNED_DATE\"] = 10] = \"ASSIGNED_DATE\";\n return ListOpportunitiesRequestSortField;\n}(ListOpportunitiesRequestSortField || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar GoalType = /*#__PURE__*/function (GoalType) {\n GoalType[GoalType[\"GOAL_TYPE_UNSPECIFIED\"] = 0] = \"GOAL_TYPE_UNSPECIFIED\";\n GoalType[GoalType[\"REVENUE\"] = 1] = \"REVENUE\";\n GoalType[GoalType[\"NEW_REVENUE\"] = 2] = \"NEW_REVENUE\";\n GoalType[GoalType[\"EXPANSION_REVENUE\"] = 3] = \"EXPANSION_REVENUE\";\n GoalType[GoalType[\"EMAIL\"] = 4] = \"EMAIL\";\n GoalType[GoalType[\"CALL\"] = 5] = \"CALL\";\n GoalType[GoalType[\"MEETING\"] = 6] = \"MEETING\";\n GoalType[GoalType[\"OPPORTUNITY\"] = 7] = \"OPPORTUNITY\";\n return GoalType;\n}(GoalType || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar ListGoalsRequestSortDirection = /*#__PURE__*/function (ListGoalsRequestSortDirection) {\n ListGoalsRequestSortDirection[ListGoalsRequestSortDirection[\"ASCENDING\"] = 0] = \"ASCENDING\";\n ListGoalsRequestSortDirection[ListGoalsRequestSortDirection[\"DESCENDING\"] = 1] = \"DESCENDING\";\n return ListGoalsRequestSortDirection;\n}(ListGoalsRequestSortDirection || {});\nvar ListGoalsRequestSortField = /*#__PURE__*/function (ListGoalsRequestSortField) {\n ListGoalsRequestSortField[ListGoalsRequestSortField[\"SORT_FIELD_UNSET\"] = 0] = \"SORT_FIELD_UNSET\";\n ListGoalsRequestSortField[ListGoalsRequestSortField[\"SORT_FIELD_CREATED\"] = 1] = \"SORT_FIELD_CREATED\";\n return ListGoalsRequestSortField;\n}(ListGoalsRequestSortField || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums Index.\n// *********************************\n\nfunction enumStringToValue$8(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass LineItemAppKey {\n static fromProto(proto) {\n let m = new LineItemAppKey();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.editionId !== 'undefined') {\n toReturn['editionId'] = this.editionId;\n }\n if (typeof this.packageId !== 'undefined') {\n toReturn['packageId'] = this.packageId;\n }\n if (typeof this.packageInstanceId !== 'undefined') {\n toReturn['packageInstanceId'] = this.packageInstanceId;\n }\n return toReturn;\n }\n}\nclass BillingPeriod {\n static fromProto(proto) {\n let m = new BillingPeriod();\n m = Object.assign(m, proto);\n if (proto.startDate) {\n m.startDate = new Date(proto.startDate);\n }\n if (proto.endDate) {\n m.endDate = new Date(proto.endDate);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.startDate !== 'undefined' && this.startDate !== null) {\n toReturn['startDate'] = 'toApiJson' in this.startDate ? this.startDate.toApiJson() : this.startDate;\n }\n if (typeof this.endDate !== 'undefined' && this.endDate !== null) {\n toReturn['endDate'] = 'toApiJson' in this.endDate ? this.endDate.toApiJson() : this.endDate;\n }\n return toReturn;\n }\n}\nclass Cost {\n static fromProto(proto) {\n let m = new Cost();\n m = Object.assign(m, proto);\n if (proto.customPrice) {\n m.customPrice = parseInt(proto.customPrice, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.customPrice !== 'undefined') {\n toReturn['customPrice'] = this.customPrice;\n }\n return toReturn;\n }\n}\nclass CustomPriceMapping {\n static fromProto(proto) {\n let m = new CustomPriceMapping();\n m = Object.assign(m, proto);\n if (proto.customPrice) {\n m.customPrice = parseInt(proto.customPrice, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.productId !== 'undefined') {\n toReturn['productId'] = this.productId;\n }\n if (typeof this.customPrice !== 'undefined') {\n toReturn['customPrice'] = this.customPrice;\n }\n return toReturn;\n }\n}\nclass Duration {\n static fromProto(proto) {\n let m = new Duration();\n m = Object.assign(m, proto);\n if (proto.value) {\n m.value = parseInt(proto.value, 10);\n }\n if (proto.duration) {\n m.duration = enumStringToValue$8(DurationPeriod, proto.duration);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.value !== 'undefined') {\n toReturn['value'] = this.value;\n }\n if (typeof this.duration !== 'undefined') {\n toReturn['duration'] = this.duration;\n }\n return toReturn;\n }\n}\nclass LineItem {\n static fromProto(proto) {\n let m = new LineItem();\n m = Object.assign(m, proto);\n if (proto.appKey) {\n m.appKey = LineItemAppKey.fromProto(proto.appKey);\n }\n if (proto.currency) {\n m.currency = enumStringToValue$8(Currency, proto.currency);\n }\n if (proto.initialRevenue) {\n m.initialRevenue = Revenue.fromProto(proto.initialRevenue);\n }\n if (proto.currentRevenue) {\n m.currentRevenue = Revenue.fromProto(proto.currentRevenue);\n }\n if (proto.quantity) {\n m.quantity = parseInt(proto.quantity, 10);\n }\n if (proto.cost) {\n m.cost = Cost.fromProto(proto.cost);\n }\n if (proto.customPrices) {\n m.customPrices = proto.customPrices.map(CustomPriceMapping.fromProto);\n }\n if (proto.billingPeriod) {\n m.billingPeriod = BillingPeriod.fromProto(proto.billingPeriod);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appKey !== 'undefined' && this.appKey !== null) {\n toReturn['appKey'] = 'toApiJson' in this.appKey ? this.appKey.toApiJson() : this.appKey;\n }\n if (typeof this.packageId !== 'undefined') {\n toReturn['packageId'] = this.packageId;\n }\n if (typeof this.currency !== 'undefined') {\n toReturn['currency'] = this.currency;\n }\n if (typeof this.initialRevenue !== 'undefined' && this.initialRevenue !== null) {\n toReturn['initialRevenue'] = 'toApiJson' in this.initialRevenue ? this.initialRevenue.toApiJson() : this.initialRevenue;\n }\n if (typeof this.currentRevenue !== 'undefined' && this.currentRevenue !== null) {\n toReturn['currentRevenue'] = 'toApiJson' in this.currentRevenue ? this.currentRevenue.toApiJson() : this.currentRevenue;\n }\n if (typeof this.quantity !== 'undefined') {\n toReturn['quantity'] = this.quantity;\n }\n if (typeof this.isTrial !== 'undefined') {\n toReturn['isTrial'] = this.isTrial;\n }\n if (typeof this.currencyCode !== 'undefined') {\n toReturn['currencyCode'] = this.currencyCode;\n }\n if (typeof this.cost !== 'undefined' && this.cost !== null) {\n toReturn['cost'] = 'toApiJson' in this.cost ? this.cost.toApiJson() : this.cost;\n }\n if (typeof this.customPrices !== 'undefined' && this.customPrices !== null) {\n toReturn['customPrices'] = 'toApiJson' in this.customPrices ? this.customPrices.toApiJson() : this.customPrices;\n }\n if (typeof this.billingPeriod !== 'undefined' && this.billingPeriod !== null) {\n toReturn['billingPeriod'] = 'toApiJson' in this.billingPeriod ? this.billingPeriod.toApiJson() : this.billingPeriod;\n }\n return toReturn;\n }\n}\nclass Revenue {\n static fromProto(proto) {\n let m = new Revenue();\n m = Object.assign(m, proto);\n if (proto.revenueComponents) {\n m.revenueComponents = proto.revenueComponents.map(RevenueComponent.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.revenueComponents !== 'undefined' && this.revenueComponents !== null) {\n toReturn['revenueComponents'] = 'toApiJson' in this.revenueComponents ? this.revenueComponents.toApiJson() : this.revenueComponents;\n }\n return toReturn;\n }\n}\nclass RevenueComponent {\n static fromProto(proto) {\n let m = new RevenueComponent();\n m = Object.assign(m, proto);\n if (proto.value) {\n m.value = parseInt(proto.value, 10);\n }\n if (proto.period) {\n m.period = enumStringToValue$8(RevenuePeriod, proto.period);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.value !== 'undefined') {\n toReturn['value'] = this.value;\n }\n if (typeof this.period !== 'undefined') {\n toReturn['period'] = this.period;\n }\n if (typeof this.isStartingRevenue !== 'undefined') {\n toReturn['isStartingRevenue'] = this.isStartingRevenue;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$7(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass MEDDICScores {\n static fromProto(proto) {\n let m = new MEDDICScores();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.metric !== 'undefined') {\n toReturn['metric'] = this.metric;\n }\n if (typeof this.economicBuyer !== 'undefined') {\n toReturn['economicBuyer'] = this.economicBuyer;\n }\n if (typeof this.decisionCriteria !== 'undefined') {\n toReturn['decisionCriteria'] = this.decisionCriteria;\n }\n if (typeof this.decisionProcess !== 'undefined') {\n toReturn['decisionProcess'] = this.decisionProcess;\n }\n if (typeof this.identifyPain !== 'undefined') {\n toReturn['identifyPain'] = this.identifyPain;\n }\n if (typeof this.champion !== 'undefined') {\n toReturn['champion'] = this.champion;\n }\n if (typeof this.competition !== 'undefined') {\n toReturn['competition'] = this.competition;\n }\n if (typeof this.paperProcess !== 'undefined') {\n toReturn['paperProcess'] = this.paperProcess;\n }\n return toReturn;\n }\n}\nclass ScoringScore {\n static fromProto(proto) {\n let m = new ScoringScore();\n m = Object.assign(m, proto);\n if (proto.section) {\n m.section = enumStringToValue$7(MEDDICSection, proto.section);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.sectionId !== 'undefined') {\n toReturn['sectionId'] = this.sectionId;\n }\n if (typeof this.scoreValue !== 'undefined') {\n toReturn['scoreValue'] = this.scoreValue;\n }\n if (typeof this.notes !== 'undefined') {\n toReturn['notes'] = this.notes;\n }\n if (typeof this.section !== 'undefined') {\n toReturn['section'] = this.section;\n }\n return toReturn;\n }\n}\nclass Scoring {\n static fromProto(proto) {\n let m = new Scoring();\n m = Object.assign(m, proto);\n if (proto.scores) {\n m.scores = proto.scores.map(ScoringScore.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.scores !== 'undefined' && this.scores !== null) {\n toReturn['scores'] = 'toApiJson' in this.scores ? this.scores.toApiJson() : this.scores;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$6(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass Forecasting {\n static fromProto(proto) {\n let m = new Forecasting();\n m = Object.assign(m, proto);\n if (proto.revenueInMonth) {\n m.revenueInMonth = RevenueInMonth.fromProto(proto.revenueInMonth);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.revenueInMonth !== 'undefined' && this.revenueInMonth !== null) {\n toReturn['revenueInMonth'] = 'toApiJson' in this.revenueInMonth ? this.revenueInMonth.toApiJson() : this.revenueInMonth;\n }\n return toReturn;\n }\n}\nclass RevenueInMonth {\n static fromProto(proto) {\n let m = new RevenueInMonth();\n m = Object.assign(m, proto);\n if (proto.initialRevenue) {\n m.initialRevenue = parseInt(proto.initialRevenue, 10);\n }\n if (proto.recurringRevenue) {\n m.recurringRevenue = parseInt(proto.recurringRevenue, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.initialRevenue !== 'undefined') {\n toReturn['initialRevenue'] = this.initialRevenue;\n }\n if (typeof this.recurringRevenue !== 'undefined') {\n toReturn['recurringRevenue'] = this.recurringRevenue;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$5(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass Attachment {\n static fromProto(proto) {\n let m = new Attachment();\n m = Object.assign(m, proto);\n if (proto.created) {\n m.created = new Date(proto.created);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.attachmentId !== 'undefined') {\n toReturn['attachmentId'] = this.attachmentId;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.url !== 'undefined') {\n toReturn['url'] = this.url;\n }\n if (typeof this.created !== 'undefined' && this.created !== null) {\n toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;\n }\n return toReturn;\n }\n}\nclass CSVExports {\n static fromProto(proto) {\n let m = new CSVExports();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunities !== 'undefined') {\n toReturn['opportunities'] = this.opportunities;\n }\n if (typeof this.opportunityHistory !== 'undefined') {\n toReturn['opportunityHistory'] = this.opportunityHistory;\n }\n return toReturn;\n }\n}\nclass CSVFormatOptions {\n static fromProto(proto) {\n let m = new CSVFormatOptions();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.currencyCode !== 'undefined') {\n toReturn['currencyCode'] = this.currencyCode;\n }\n return toReturn;\n }\n}\nclass ClosedLostReason {\n static fromProto(proto) {\n let m = new ClosedLostReason();\n m = Object.assign(m, proto);\n if (proto.value) {\n m.value = enumStringToValue$5(ClosedLostReasonOption, proto.value);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.value !== 'undefined') {\n toReturn['value'] = this.value;\n }\n return toReturn;\n }\n}\nclass CurrentOpportunityPoint {\n static fromProto(proto) {\n let m = new CurrentOpportunityPoint();\n m = Object.assign(m, proto);\n if (proto.day) {\n m.day = new Date(proto.day);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.day !== 'undefined' && this.day !== null) {\n toReturn['day'] = 'toApiJson' in this.day ? this.day.toApiJson() : this.day;\n }\n if (typeof this.openOpportunities !== 'undefined') {\n toReturn['openOpportunities'] = this.openOpportunities;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.salesPersonId !== 'undefined') {\n toReturn['salesPersonId'] = this.salesPersonId;\n }\n return toReturn;\n }\n}\nclass DateRangeFilter {\n static fromProto(proto) {\n let m = new DateRangeFilter();\n m = Object.assign(m, proto);\n if (proto.beginRange) {\n m.beginRange = new Date(proto.beginRange);\n }\n if (proto.endRange) {\n m.endRange = new Date(proto.endRange);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.beginRange !== 'undefined' && this.beginRange !== null) {\n toReturn['beginRange'] = 'toApiJson' in this.beginRange ? this.beginRange.toApiJson() : this.beginRange;\n }\n if (typeof this.endRange !== 'undefined' && this.endRange !== null) {\n toReturn['endRange'] = 'toApiJson' in this.endRange ? this.endRange.toApiJson() : this.endRange;\n }\n return toReturn;\n }\n}\nclass ListOpportunitiesRequestFilters {\n static fromProto(proto) {\n let m = new ListOpportunitiesRequestFilters();\n m = Object.assign(m, proto);\n if (proto.createdDateFilter) {\n m.createdDateFilter = DateRangeFilter.fromProto(proto.createdDateFilter);\n }\n if (proto.expectedCloseDateFilter) {\n m.expectedCloseDateFilter = DateRangeFilter.fromProto(proto.expectedCloseDateFilter);\n }\n if (proto.probabilityRangeFilter) {\n m.probabilityRangeFilter = ProbabilityRangeFilter.fromProto(proto.probabilityRangeFilter);\n }\n if (proto.actualCloseDateFilter) {\n m.actualCloseDateFilter = DateRangeFilter.fromProto(proto.actualCloseDateFilter);\n }\n if (proto.revenuePeriodFilter) {\n m.revenuePeriodFilter = RevenuePeriodFilter.fromProto(proto.revenuePeriodFilter);\n }\n if (proto.assignedDate) {\n m.assignedDate = DateRangeFilter.fromProto(proto.assignedDate);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.salesPersonIds !== 'undefined') {\n toReturn['salesPersonIds'] = this.salesPersonIds;\n }\n if (typeof this.pipelineStages !== 'undefined') {\n toReturn['pipelineStages'] = this.pipelineStages;\n }\n if (typeof this.createdDateFilter !== 'undefined' && this.createdDateFilter !== null) {\n toReturn['createdDateFilter'] = 'toApiJson' in this.createdDateFilter ? this.createdDateFilter.toApiJson() : this.createdDateFilter;\n }\n if (typeof this.expectedCloseDateFilter !== 'undefined' && this.expectedCloseDateFilter !== null) {\n toReturn['expectedCloseDateFilter'] = 'toApiJson' in this.expectedCloseDateFilter ? this.expectedCloseDateFilter.toApiJson() : this.expectedCloseDateFilter;\n }\n if (typeof this.probabilityRangeFilter !== 'undefined' && this.probabilityRangeFilter !== null) {\n toReturn['probabilityRangeFilter'] = 'toApiJson' in this.probabilityRangeFilter ? this.probabilityRangeFilter.toApiJson() : this.probabilityRangeFilter;\n }\n if (typeof this.packageIds !== 'undefined') {\n toReturn['packageIds'] = this.packageIds;\n }\n if (typeof this.actualCloseDateFilter !== 'undefined' && this.actualCloseDateFilter !== null) {\n toReturn['actualCloseDateFilter'] = 'toApiJson' in this.actualCloseDateFilter ? this.actualCloseDateFilter.toApiJson() : this.actualCloseDateFilter;\n }\n if (typeof this.tags !== 'undefined') {\n toReturn['tags'] = this.tags;\n }\n if (typeof this.pipelineId !== 'undefined') {\n toReturn['pipelineId'] = this.pipelineId;\n }\n if (typeof this.accountGroupIdsForTag !== 'undefined') {\n toReturn['accountGroupIdsForTag'] = this.accountGroupIdsForTag;\n }\n if (typeof this.lineItemProductIds !== 'undefined') {\n toReturn['lineItemProductIds'] = this.lineItemProductIds;\n }\n if (typeof this.revenuePeriodFilter !== 'undefined' && this.revenuePeriodFilter !== null) {\n toReturn['revenuePeriodFilter'] = 'toApiJson' in this.revenuePeriodFilter ? this.revenuePeriodFilter.toApiJson() : this.revenuePeriodFilter;\n }\n if (typeof this.pipelineIds !== 'undefined') {\n toReturn['pipelineIds'] = this.pipelineIds;\n }\n if (typeof this.assignedDate !== 'undefined' && this.assignedDate !== null) {\n toReturn['assignedDate'] = 'toApiJson' in this.assignedDate ? this.assignedDate.toApiJson() : this.assignedDate;\n }\n if (typeof this.opportunityTypes !== 'undefined') {\n toReturn['opportunityTypes'] = this.opportunityTypes;\n }\n return toReturn;\n }\n}\nclass InitiateOpportunityExportRequest {\n static fromProto(proto) {\n let m = new InitiateOpportunityExportRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {\n m.filters = ListOpportunitiesRequestFilters.fromProto(proto.filters);\n }\n if (proto.sortOption) {\n m.sortOption = ListOpportunitiesRequestSortOption.fromProto(proto.sortOption);\n }\n if (proto.csvFormatOptions) {\n m.csvFormatOptions = CSVFormatOptions.fromProto(proto.csvFormatOptions);\n }\n if (proto.csvExports) {\n m.csvExports = CSVExports.fromProto(proto.csvExports);\n }\n if (proto.clientOrigin) {\n m.clientOrigin = enumStringToValue$5(ClientOrigin, proto.clientOrigin);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.filters !== 'undefined' && this.filters !== null) {\n toReturn['filters'] = 'toApiJson' in this.filters ? this.filters.toApiJson() : this.filters;\n }\n if (typeof this.sortOption !== 'undefined' && this.sortOption !== null) {\n toReturn['sortOption'] = 'toApiJson' in this.sortOption ? this.sortOption.toApiJson() : this.sortOption;\n }\n if (typeof this.searchTerm !== 'undefined') {\n toReturn['searchTerm'] = this.searchTerm;\n }\n if (typeof this.csvFormatOptions !== 'undefined' && this.csvFormatOptions !== null) {\n toReturn['csvFormatOptions'] = 'toApiJson' in this.csvFormatOptions ? this.csvFormatOptions.toApiJson() : this.csvFormatOptions;\n }\n if (typeof this.csvExports !== 'undefined' && this.csvExports !== null) {\n toReturn['csvExports'] = 'toApiJson' in this.csvExports ? this.csvExports.toApiJson() : this.csvExports;\n }\n if (typeof this.clientOrigin !== 'undefined') {\n toReturn['clientOrigin'] = this.clientOrigin;\n }\n return toReturn;\n }\n}\nclass ListOpportunitiesRequest {\n static fromProto(proto) {\n let m = new ListOpportunitiesRequest();\n m = Object.assign(m, proto);\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n if (proto.filters) {\n m.filters = ListOpportunitiesRequestFilters.fromProto(proto.filters);\n }\n if (proto.sortOption) {\n m.sortOption = ListOpportunitiesRequestSortOption.fromProto(proto.sortOption);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n if (typeof this.salesPersonIds !== 'undefined') {\n toReturn['salesPersonIds'] = this.salesPersonIds;\n }\n if (typeof this.filters !== 'undefined' && this.filters !== null) {\n toReturn['filters'] = 'toApiJson' in this.filters ? this.filters.toApiJson() : this.filters;\n }\n if (typeof this.sortOption !== 'undefined' && this.sortOption !== null) {\n toReturn['sortOption'] = 'toApiJson' in this.sortOption ? this.sortOption.toApiJson() : this.sortOption;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.searchTerm !== 'undefined') {\n toReturn['searchTerm'] = this.searchTerm;\n }\n return toReturn;\n }\n}\nclass Opportunity {\n static fromProto(proto) {\n let m = new Opportunity();\n m = Object.assign(m, proto);\n if (proto.packages) {\n m.packages = proto.packages.map(Package.fromProto);\n }\n if (proto.expectedCloseDate) {\n m.expectedCloseDate = new Date(proto.expectedCloseDate);\n }\n if (proto.deleted) {\n m.deleted = new Date(proto.deleted);\n }\n if (proto.created) {\n m.created = new Date(proto.created);\n }\n if (proto.updated) {\n m.updated = new Date(proto.updated);\n }\n if (proto.projectedFirstYearValue) {\n m.projectedFirstYearValue = parseInt(proto.projectedFirstYearValue, 10);\n }\n if (proto.probableFirstYearValue) {\n m.probableFirstYearValue = parseInt(proto.probableFirstYearValue, 10);\n }\n if (proto.closedLostReason) {\n m.closedLostReason = ClosedLostReason.fromProto(proto.closedLostReason);\n }\n if (proto.actualClosedDate) {\n m.actualClosedDate = new Date(proto.actualClosedDate);\n }\n if (proto.lastConnectedDate) {\n m.lastConnectedDate = new Date(proto.lastConnectedDate);\n }\n if (proto.lastActivityDate) {\n m.lastActivityDate = new Date(proto.lastActivityDate);\n }\n if (proto.attachments) {\n m.attachments = proto.attachments.map(Attachment.fromProto);\n }\n if (proto.expectedContractDuration) {\n m.expectedContractDuration = Duration.fromProto(proto.expectedContractDuration);\n }\n if (proto.lineItems) {\n m.lineItems = proto.lineItems.map(LineItem.fromProto);\n }\n if (proto.scoring) {\n m.scoring = Scoring.fromProto(proto.scoring);\n }\n if (proto.forecasting) {\n m.forecasting = Forecasting.fromProto(proto.forecasting);\n }\n if (proto.assignedDate) {\n m.assignedDate = new Date(proto.assignedDate);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunityId !== 'undefined') {\n toReturn['opportunityId'] = this.opportunityId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.salesPersonId !== 'undefined') {\n toReturn['salesPersonId'] = this.salesPersonId;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.packages !== 'undefined' && this.packages !== null) {\n toReturn['packages'] = 'toApiJson' in this.packages ? this.packages.toApiJson() : this.packages;\n }\n if (typeof this.expectedCloseDate !== 'undefined' && this.expectedCloseDate !== null) {\n toReturn['expectedCloseDate'] = 'toApiJson' in this.expectedCloseDate ? this.expectedCloseDate.toApiJson() : this.expectedCloseDate;\n }\n if (typeof this.probability !== 'undefined') {\n toReturn['probability'] = this.probability;\n }\n if (typeof this.notes !== 'undefined') {\n toReturn['notes'] = this.notes;\n }\n if (typeof this.deleted !== 'undefined' && this.deleted !== null) {\n toReturn['deleted'] = 'toApiJson' in this.deleted ? this.deleted.toApiJson() : this.deleted;\n }\n if (typeof this.created !== 'undefined' && this.created !== null) {\n toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;\n }\n if (typeof this.updated !== 'undefined' && this.updated !== null) {\n toReturn['updated'] = 'toApiJson' in this.updated ? this.updated.toApiJson() : this.updated;\n }\n if (typeof this.projectedFirstYearValue !== 'undefined') {\n toReturn['projectedFirstYearValue'] = this.projectedFirstYearValue;\n }\n if (typeof this.probableFirstYearValue !== 'undefined') {\n toReturn['probableFirstYearValue'] = this.probableFirstYearValue;\n }\n if (typeof this.pipelineStage !== 'undefined') {\n toReturn['pipelineStage'] = this.pipelineStage;\n }\n if (typeof this.isClosed !== 'undefined') {\n toReturn['isClosed'] = this.isClosed;\n }\n if (typeof this.closedLostReason !== 'undefined' && this.closedLostReason !== null) {\n toReturn['closedLostReason'] = 'toApiJson' in this.closedLostReason ? this.closedLostReason.toApiJson() : this.closedLostReason;\n }\n if (typeof this.actualClosedDate !== 'undefined' && this.actualClosedDate !== null) {\n toReturn['actualClosedDate'] = 'toApiJson' in this.actualClosedDate ? this.actualClosedDate.toApiJson() : this.actualClosedDate;\n }\n if (typeof this.lastConnectedDate !== 'undefined' && this.lastConnectedDate !== null) {\n toReturn['lastConnectedDate'] = 'toApiJson' in this.lastConnectedDate ? this.lastConnectedDate.toApiJson() : this.lastConnectedDate;\n }\n if (typeof this.lastActivityDate !== 'undefined' && this.lastActivityDate !== null) {\n toReturn['lastActivityDate'] = 'toApiJson' in this.lastActivityDate ? this.lastActivityDate.toApiJson() : this.lastActivityDate;\n }\n if (typeof this.reopenedReason !== 'undefined') {\n toReturn['reopenedReason'] = this.reopenedReason;\n }\n if (typeof this.tags !== 'undefined') {\n toReturn['tags'] = this.tags;\n }\n if (typeof this.attachments !== 'undefined' && this.attachments !== null) {\n toReturn['attachments'] = 'toApiJson' in this.attachments ? this.attachments.toApiJson() : this.attachments;\n }\n if (typeof this.expectedContractDuration !== 'undefined' && this.expectedContractDuration !== null) {\n toReturn['expectedContractDuration'] = 'toApiJson' in this.expectedContractDuration ? this.expectedContractDuration.toApiJson() : this.expectedContractDuration;\n }\n if (typeof this.pipelineId !== 'undefined') {\n toReturn['pipelineId'] = this.pipelineId;\n }\n if (typeof this.canReopen !== 'undefined') {\n toReturn['canReopen'] = this.canReopen;\n }\n if (typeof this.lineItems !== 'undefined' && this.lineItems !== null) {\n toReturn['lineItems'] = 'toApiJson' in this.lineItems ? this.lineItems.toApiJson() : this.lineItems;\n }\n if (typeof this.scoring !== 'undefined' && this.scoring !== null) {\n toReturn['scoring'] = 'toApiJson' in this.scoring ? this.scoring.toApiJson() : this.scoring;\n }\n if (typeof this.forecasting !== 'undefined' && this.forecasting !== null) {\n toReturn['forecasting'] = 'toApiJson' in this.forecasting ? this.forecasting.toApiJson() : this.forecasting;\n }\n if (typeof this.subscriberUserIds !== 'undefined') {\n toReturn['subscriberUserIds'] = this.subscriberUserIds;\n }\n if (typeof this.idempotencyKey !== 'undefined') {\n toReturn['idempotencyKey'] = this.idempotencyKey;\n }\n if (typeof this.assignedDate !== 'undefined' && this.assignedDate !== null) {\n toReturn['assignedDate'] = 'toApiJson' in this.assignedDate ? this.assignedDate.toApiJson() : this.assignedDate;\n }\n if (typeof this.opportunityType !== 'undefined') {\n toReturn['opportunityType'] = this.opportunityType;\n }\n return toReturn;\n }\n}\nclass OpportunityCount {\n static fromProto(proto) {\n let m = new OpportunityCount();\n m = Object.assign(m, proto);\n if (proto.count) {\n m.count = parseInt(proto.count, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.count !== 'undefined') {\n toReturn['count'] = this.count;\n }\n return toReturn;\n }\n}\nclass OpportunityValue {\n static fromProto(proto) {\n let m = new OpportunityValue();\n m = Object.assign(m, proto);\n if (proto.value) {\n m.value = parseInt(proto.value, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.value !== 'undefined') {\n toReturn['value'] = this.value;\n }\n return toReturn;\n }\n}\nclass Package {\n static fromProto(proto) {\n let m = new Package();\n m = Object.assign(m, proto);\n if (proto.currency) {\n m.currency = enumStringToValue$5(Currency, proto.currency);\n }\n if (proto.initialRevenue) {\n m.initialRevenue = Revenue.fromProto(proto.initialRevenue);\n }\n if (proto.currentRevenue) {\n m.currentRevenue = Revenue.fromProto(proto.currentRevenue);\n }\n if (proto.quantity) {\n m.quantity = parseInt(proto.quantity, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.packageId !== 'undefined') {\n toReturn['packageId'] = this.packageId;\n }\n if (typeof this.currency !== 'undefined') {\n toReturn['currency'] = this.currency;\n }\n if (typeof this.initialRevenue !== 'undefined' && this.initialRevenue !== null) {\n toReturn['initialRevenue'] = 'toApiJson' in this.initialRevenue ? this.initialRevenue.toApiJson() : this.initialRevenue;\n }\n if (typeof this.currentRevenue !== 'undefined' && this.currentRevenue !== null) {\n toReturn['currentRevenue'] = 'toApiJson' in this.currentRevenue ? this.currentRevenue.toApiJson() : this.currentRevenue;\n }\n if (typeof this.quantity !== 'undefined') {\n toReturn['quantity'] = this.quantity;\n }\n return toReturn;\n }\n}\nclass PipelineClosePoint {\n static fromProto(proto) {\n let m = new PipelineClosePoint();\n m = Object.assign(m, proto);\n if (proto.month) {\n m.month = new Date(proto.month);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.month !== 'undefined' && this.month !== null) {\n toReturn['month'] = 'toApiJson' in this.month ? this.month.toApiJson() : this.month;\n }\n if (typeof this.wonOpportunities !== 'undefined') {\n toReturn['wonOpportunities'] = this.wonOpportunities;\n }\n if (typeof this.lostOpportunities !== 'undefined') {\n toReturn['lostOpportunities'] = this.lostOpportunities;\n }\n if (typeof this.totalOpportunities !== 'undefined') {\n toReturn['totalOpportunities'] = this.totalOpportunities;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.salesPersonId !== 'undefined') {\n toReturn['salesPersonId'] = this.salesPersonId;\n }\n return toReturn;\n }\n}\nclass PipelineCreationPoint {\n static fromProto(proto) {\n let m = new PipelineCreationPoint();\n m = Object.assign(m, proto);\n if (proto.month) {\n m.month = new Date(proto.month);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.month !== 'undefined' && this.month !== null) {\n toReturn['month'] = 'toApiJson' in this.month ? this.month.toApiJson() : this.month;\n }\n if (typeof this.createdOpportunities !== 'undefined') {\n toReturn['createdOpportunities'] = this.createdOpportunities;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.salesPersonId !== 'undefined') {\n toReturn['salesPersonId'] = this.salesPersonId;\n }\n return toReturn;\n }\n}\nclass ProbabilityRangeFilter {\n static fromProto(proto) {\n let m = new ProbabilityRangeFilter();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.minimum !== 'undefined') {\n toReturn['minimum'] = this.minimum;\n }\n if (typeof this.maximum !== 'undefined') {\n toReturn['maximum'] = this.maximum;\n }\n return toReturn;\n }\n}\nclass RevenuePeriodFilter {\n static fromProto(proto) {\n let m = new RevenuePeriodFilter();\n m = Object.assign(m, proto);\n if (proto.revenueDate) {\n m.revenueDate = new Date(proto.revenueDate);\n }\n if (proto.revenuePeriod) {\n m.revenuePeriod = enumStringToValue$5(OpportunityRevenuePeriod, proto.revenuePeriod);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.revenueDate !== 'undefined' && this.revenueDate !== null) {\n toReturn['revenueDate'] = 'toApiJson' in this.revenueDate ? this.revenueDate.toApiJson() : this.revenueDate;\n }\n if (typeof this.revenuePeriod !== 'undefined') {\n toReturn['revenuePeriod'] = this.revenuePeriod;\n }\n return toReturn;\n }\n}\nclass ListOpportunitiesRequestSortOption {\n static fromProto(proto) {\n let m = new ListOpportunitiesRequestSortOption();\n m = Object.assign(m, proto);\n if (proto.direction) {\n m.direction = enumStringToValue$5(SortDirection, proto.direction);\n }\n if (proto.field) {\n m.field = enumStringToValue$5(ListOpportunitiesRequestSortField, proto.field);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.direction !== 'undefined') {\n toReturn['direction'] = this.direction;\n }\n if (typeof this.field !== 'undefined') {\n toReturn['field'] = this.field;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$4(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass Pipeline {\n static fromProto(proto) {\n let m = new Pipeline();\n m = Object.assign(m, proto);\n if (proto.stages) {\n m.stages = proto.stages.map(Stage.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.pipelineId !== 'undefined') {\n toReturn['pipelineId'] = this.pipelineId;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.stages !== 'undefined' && this.stages !== null) {\n toReturn['stages'] = 'toApiJson' in this.stages ? this.stages.toApiJson() : this.stages;\n }\n return toReturn;\n }\n}\nclass Stage {\n static fromProto(proto) {\n let m = new Stage();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.stageId !== 'undefined') {\n toReturn['stageId'] = this.stageId;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.probability !== 'undefined') {\n toReturn['probability'] = this.probability;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$3(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass Access {\n static fromProto(proto) {\n let m = new Access();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.scope !== 'undefined') {\n toReturn['scope'] = this.scope;\n }\n if (typeof this.public !== 'undefined') {\n toReturn['public'] = this.public;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$2(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass Goal {\n static fromProto(proto) {\n let m = new Goal();\n m = Object.assign(m, proto);\n if (proto.type) {\n m.type = enumStringToValue$2(GoalType, proto.type);\n }\n if (proto.start) {\n m.start = new Date(proto.start);\n }\n if (proto.end) {\n m.end = new Date(proto.end);\n }\n if (proto.targets) {\n m.targets = proto.targets.map(Target.fromProto);\n }\n if (proto.created) {\n m.created = new Date(proto.created);\n }\n if (proto.updated) {\n m.updated = new Date(proto.updated);\n }\n if (proto.deleted) {\n m.deleted = new Date(proto.deleted);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.id !== 'undefined') {\n toReturn['id'] = this.id;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.contributorId !== 'undefined') {\n toReturn['contributorId'] = this.contributorId;\n }\n if (typeof this.contributorType !== 'undefined') {\n toReturn['contributorType'] = this.contributorType;\n }\n if (typeof this.type !== 'undefined') {\n toReturn['type'] = this.type;\n }\n if (typeof this.pipelineIds !== 'undefined') {\n toReturn['pipelineIds'] = this.pipelineIds;\n }\n if (typeof this.interval !== 'undefined') {\n toReturn['interval'] = this.interval;\n }\n if (typeof this.start !== 'undefined' && this.start !== null) {\n toReturn['start'] = 'toApiJson' in this.start ? this.start.toApiJson() : this.start;\n }\n if (typeof this.end !== 'undefined' && this.end !== null) {\n toReturn['end'] = 'toApiJson' in this.end ? this.end.toApiJson() : this.end;\n }\n if (typeof this.targets !== 'undefined' && this.targets !== null) {\n toReturn['targets'] = 'toApiJson' in this.targets ? this.targets.toApiJson() : this.targets;\n }\n if (typeof this.createdBy !== 'undefined') {\n toReturn['createdBy'] = this.createdBy;\n }\n if (typeof this.status !== 'undefined') {\n toReturn['status'] = this.status;\n }\n if (typeof this.created !== 'undefined' && this.created !== null) {\n toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;\n }\n if (typeof this.updated !== 'undefined' && this.updated !== null) {\n toReturn['updated'] = 'toApiJson' in this.updated ? this.updated.toApiJson() : this.updated;\n }\n if (typeof this.deleted !== 'undefined' && this.deleted !== null) {\n toReturn['deleted'] = 'toApiJson' in this.deleted ? this.deleted.toApiJson() : this.deleted;\n }\n return toReturn;\n }\n}\nclass Target {\n static fromProto(proto) {\n let m = new Target();\n m = Object.assign(m, proto);\n if (proto.value) {\n m.value = parseInt(proto.value, 10);\n }\n if (proto.start) {\n m.start = new Date(proto.start);\n }\n if (proto.end) {\n m.end = new Date(proto.end);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.value !== 'undefined') {\n toReturn['value'] = this.value;\n }\n if (typeof this.start !== 'undefined' && this.start !== null) {\n toReturn['start'] = 'toApiJson' in this.start ? this.start.toApiJson() : this.start;\n }\n if (typeof this.end !== 'undefined' && this.end !== null) {\n toReturn['end'] = 'toApiJson' in this.end ? this.end.toApiJson() : this.end;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$1(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass FieldMask {\n static fromProto(proto) {\n let m = new FieldMask();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.paths !== 'undefined') {\n toReturn['paths'] = this.paths;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass AddAttachmentToOpportunityRequest {\n static fromProto(proto) {\n let m = new AddAttachmentToOpportunityRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunityId !== 'undefined') {\n toReturn['opportunityId'] = this.opportunityId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.url !== 'undefined') {\n toReturn['url'] = this.url;\n }\n return toReturn;\n }\n}\nclass AddOpportunityPackagesRequest {\n static fromProto(proto) {\n let m = new AddOpportunityPackagesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunityId !== 'undefined') {\n toReturn['opportunityId'] = this.opportunityId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.editSalesPersonId !== 'undefined') {\n toReturn['editSalesPersonId'] = this.editSalesPersonId;\n }\n if (typeof this.packageIds !== 'undefined') {\n toReturn['packageIds'] = this.packageIds;\n }\n return toReturn;\n }\n}\nclass AddOpportunityPackagesResponse {\n static fromProto(proto) {\n let m = new AddOpportunityPackagesResponse();\n m = Object.assign(m, proto);\n if (proto.opportunity) {\n m.opportunity = Opportunity.fromProto(proto.opportunity);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunity !== 'undefined' && this.opportunity !== null) {\n toReturn['opportunity'] = 'toApiJson' in this.opportunity ? this.opportunity.toApiJson() : this.opportunity;\n }\n return toReturn;\n }\n}\nclass AddPipelineStagesRequestAddPipelineStage {\n static fromProto(proto) {\n let m = new AddPipelineStagesRequestAddPipelineStage();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.probability !== 'undefined') {\n toReturn['probability'] = this.probability;\n }\n return toReturn;\n }\n}\nclass AddPipelineStagesRequest {\n static fromProto(proto) {\n let m = new AddPipelineStagesRequest();\n m = Object.assign(m, proto);\n if (proto.stages) {\n m.stages = proto.stages.map(AddPipelineStagesRequestAddPipelineStage.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.pipelineId !== 'undefined') {\n toReturn['pipelineId'] = this.pipelineId;\n }\n if (typeof this.stages !== 'undefined' && this.stages !== null) {\n toReturn['stages'] = 'toApiJson' in this.stages ? this.stages.toApiJson() : this.stages;\n }\n return toReturn;\n }\n}\nclass AddPipelineStagesResponse {\n static fromProto(proto) {\n let m = new AddPipelineStagesResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n return toReturn;\n }\n}\nclass ArchiveGoalRequest {\n static fromProto(proto) {\n let m = new ArchiveGoalRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.id !== 'undefined') {\n toReturn['id'] = this.id;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n return toReturn;\n }\n}\nclass CloseAsLostOpportunityRequest {\n static fromProto(proto) {\n let m = new CloseAsLostOpportunityRequest();\n m = Object.assign(m, proto);\n if (proto.reason) {\n m.reason = enumStringToValue(ClosedLostReasonOption, proto.reason);\n }\n if (proto.closeDate) {\n m.closeDate = new Date(proto.closeDate);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunityId !== 'undefined') {\n toReturn['opportunityId'] = this.opportunityId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.editSalesPersonId !== 'undefined') {\n toReturn['editSalesPersonId'] = this.editSalesPersonId;\n }\n if (typeof this.reason !== 'undefined') {\n toReturn['reason'] = this.reason;\n }\n if (typeof this.closeDate !== 'undefined' && this.closeDate !== null) {\n toReturn['closeDate'] = 'toApiJson' in this.closeDate ? this.closeDate.toApiJson() : this.closeDate;\n }\n if (typeof this.notes !== 'undefined') {\n toReturn['notes'] = this.notes;\n }\n return toReturn;\n }\n}\nclass CloseAsLostOpportunityResponse {\n static fromProto(proto) {\n let m = new CloseAsLostOpportunityResponse();\n m = Object.assign(m, proto);\n if (proto.opportunity) {\n m.opportunity = Opportunity.fromProto(proto.opportunity);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunity !== 'undefined' && this.opportunity !== null) {\n toReturn['opportunity'] = 'toApiJson' in this.opportunity ? this.opportunity.toApiJson() : this.opportunity;\n }\n return toReturn;\n }\n}\nclass CloseAsWonOpportunityRequest {\n static fromProto(proto) {\n let m = new CloseAsWonOpportunityRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunityId !== 'undefined') {\n toReturn['opportunityId'] = this.opportunityId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.editSalesPersonId !== 'undefined') {\n toReturn['editSalesPersonId'] = this.editSalesPersonId;\n }\n if (typeof this.notes !== 'undefined') {\n toReturn['notes'] = this.notes;\n }\n return toReturn;\n }\n}\nclass CloseAsWonOpportunityResponse {\n static fromProto(proto) {\n let m = new CloseAsWonOpportunityResponse();\n m = Object.assign(m, proto);\n if (proto.opportunity) {\n m.opportunity = Opportunity.fromProto(proto.opportunity);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunity !== 'undefined' && this.opportunity !== null) {\n toReturn['opportunity'] = 'toApiJson' in this.opportunity ? this.opportunity.toApiJson() : this.opportunity;\n }\n return toReturn;\n }\n}\nclass CreateGoalRequest {\n static fromProto(proto) {\n let m = new CreateGoalRequest();\n m = Object.assign(m, proto);\n if (proto.start) {\n m.start = new Date(proto.start);\n }\n if (proto.end) {\n m.end = new Date(proto.end);\n }\n if (proto.targets) {\n m.targets = proto.targets.map(Target.fromProto);\n }\n if (proto.goalType) {\n m.goalType = enumStringToValue(GoalType, proto.goalType);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.contributorId !== 'undefined') {\n toReturn['contributorId'] = this.contributorId;\n }\n if (typeof this.contributorType !== 'undefined') {\n toReturn['contributorType'] = this.contributorType;\n }\n if (typeof this.pipelineIds !== 'undefined') {\n toReturn['pipelineIds'] = this.pipelineIds;\n }\n if (typeof this.start !== 'undefined' && this.start !== null) {\n toReturn['start'] = 'toApiJson' in this.start ? this.start.toApiJson() : this.start;\n }\n if (typeof this.end !== 'undefined' && this.end !== null) {\n toReturn['end'] = 'toApiJson' in this.end ? this.end.toApiJson() : this.end;\n }\n if (typeof this.targets !== 'undefined' && this.targets !== null) {\n toReturn['targets'] = 'toApiJson' in this.targets ? this.targets.toApiJson() : this.targets;\n }\n if (typeof this.goalType !== 'undefined') {\n toReturn['goalType'] = this.goalType;\n }\n return toReturn;\n }\n}\nclass CreateOpportunityRequestCreateOpportunityPackage {\n static fromProto(proto) {\n let m = new CreateOpportunityRequestCreateOpportunityPackage();\n m = Object.assign(m, proto);\n if (proto.quantity) {\n m.quantity = parseInt(proto.quantity, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.packageId !== 'undefined') {\n toReturn['packageId'] = this.packageId;\n }\n if (typeof this.quantity !== 'undefined') {\n toReturn['quantity'] = this.quantity;\n }\n return toReturn;\n }\n}\nclass CreateOpportunityRequest {\n static fromProto(proto) {\n let m = new CreateOpportunityRequest();\n m = Object.assign(m, proto);\n if (proto.expectedCloseDate) {\n m.expectedCloseDate = new Date(proto.expectedCloseDate);\n }\n if (proto.packages) {\n m.packages = proto.packages.map(CreateOpportunityRequestCreateOpportunityPackage.fromProto);\n }\n if (proto.expectedContractDuration) {\n m.expectedContractDuration = Duration.fromProto(proto.expectedContractDuration);\n }\n if (proto.lineItems) {\n m.lineItems = proto.lineItems.map(LineItem.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.salesPersonId !== 'undefined') {\n toReturn['salesPersonId'] = this.salesPersonId;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.packageIds !== 'undefined') {\n toReturn['packageIds'] = this.packageIds;\n }\n if (typeof this.expectedCloseDate !== 'undefined' && this.expectedCloseDate !== null) {\n toReturn['expectedCloseDate'] = 'toApiJson' in this.expectedCloseDate ? this.expectedCloseDate.toApiJson() : this.expectedCloseDate;\n }\n if (typeof this.probability !== 'undefined') {\n toReturn['probability'] = this.probability;\n }\n if (typeof this.notes !== 'undefined') {\n toReturn['notes'] = this.notes;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.packages !== 'undefined' && this.packages !== null) {\n toReturn['packages'] = 'toApiJson' in this.packages ? this.packages.toApiJson() : this.packages;\n }\n if (typeof this.tags !== 'undefined') {\n toReturn['tags'] = this.tags;\n }\n if (typeof this.expectedContractDuration !== 'undefined' && this.expectedContractDuration !== null) {\n toReturn['expectedContractDuration'] = 'toApiJson' in this.expectedContractDuration ? this.expectedContractDuration.toApiJson() : this.expectedContractDuration;\n }\n if (typeof this.pipelineId !== 'undefined') {\n toReturn['pipelineId'] = this.pipelineId;\n }\n if (typeof this.lineItems !== 'undefined' && this.lineItems !== null) {\n toReturn['lineItems'] = 'toApiJson' in this.lineItems ? this.lineItems.toApiJson() : this.lineItems;\n }\n if (typeof this.subscriberUserIds !== 'undefined') {\n toReturn['subscriberUserIds'] = this.subscriberUserIds;\n }\n if (typeof this.idempotencyKey !== 'undefined') {\n toReturn['idempotencyKey'] = this.idempotencyKey;\n }\n if (typeof this.opportunityType !== 'undefined') {\n toReturn['opportunityType'] = this.opportunityType;\n }\n return toReturn;\n }\n}\nclass CreateOpportunityResponse {\n static fromProto(proto) {\n let m = new CreateOpportunityResponse();\n m = Object.assign(m, proto);\n if (proto.opportunity) {\n m.opportunity = Opportunity.fromProto(proto.opportunity);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunity !== 'undefined' && this.opportunity !== null) {\n toReturn['opportunity'] = 'toApiJson' in this.opportunity ? this.opportunity.toApiJson() : this.opportunity;\n }\n return toReturn;\n }\n}\nclass CreatePipelineRequest {\n static fromProto(proto) {\n let m = new CreatePipelineRequest();\n m = Object.assign(m, proto);\n if (proto.stages) {\n m.stages = proto.stages.map(CreatePipelineRequestCreatePipelineStage.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.stages !== 'undefined' && this.stages !== null) {\n toReturn['stages'] = 'toApiJson' in this.stages ? this.stages.toApiJson() : this.stages;\n }\n return toReturn;\n }\n}\nclass CreatePipelineResponse {\n static fromProto(proto) {\n let m = new CreatePipelineResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.pipelineId !== 'undefined') {\n toReturn['pipelineId'] = this.pipelineId;\n }\n return toReturn;\n }\n}\nclass CreatePipelineRequestCreatePipelineStage {\n static fromProto(proto) {\n let m = new CreatePipelineRequestCreatePipelineStage();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.probability !== 'undefined') {\n toReturn['probability'] = this.probability;\n }\n return toReturn;\n }\n}\nclass DeleteGoalRequest {\n static fromProto(proto) {\n let m = new DeleteGoalRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.id !== 'undefined') {\n toReturn['id'] = this.id;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n return toReturn;\n }\n}\nclass DeleteOpportunityRequest {\n static fromProto(proto) {\n let m = new DeleteOpportunityRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunityId !== 'undefined') {\n toReturn['opportunityId'] = this.opportunityId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.editSalesPersonId !== 'undefined') {\n toReturn['editSalesPersonId'] = this.editSalesPersonId;\n }\n return toReturn;\n }\n}\nclass DeletePipelineRequest {\n static fromProto(proto) {\n let m = new DeletePipelineRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.pipelineId !== 'undefined') {\n toReturn['pipelineId'] = this.pipelineId;\n }\n return toReturn;\n }\n}\nclass DeletePipelineResponse {\n static fromProto(proto) {\n let m = new DeletePipelineResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n return toReturn;\n }\n}\nclass ListGoalsRequestFilters {\n static fromProto(proto) {\n let m = new ListGoalsRequestFilters();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.contributorId !== 'undefined') {\n toReturn['contributorId'] = this.contributorId;\n }\n if (typeof this.contributorType !== 'undefined') {\n toReturn['contributorType'] = this.contributorType;\n }\n if (typeof this.status !== 'undefined') {\n toReturn['status'] = this.status;\n }\n return toReturn;\n }\n}\nclass GetGoalRequest {\n static fromProto(proto) {\n let m = new GetGoalRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.id !== 'undefined') {\n toReturn['id'] = this.id;\n }\n return toReturn;\n }\n}\nclass GetMEDDICScoresRequest {\n static fromProto(proto) {\n let m = new GetMEDDICScoresRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.opportunityId !== 'undefined') {\n toReturn['opportunityId'] = this.opportunityId;\n }\n return toReturn;\n }\n}\nclass GetMEDDICScoresResponse {\n static fromProto(proto) {\n let m = new GetMEDDICScoresResponse();\n m = Object.assign(m, proto);\n if (proto.scores) {\n m.scores = MEDDICScores.fromProto(proto.scores);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.scores !== 'undefined' && this.scores !== null) {\n toReturn['scores'] = 'toApiJson' in this.scores ? this.scores.toApiJson() : this.scores;\n }\n return toReturn;\n }\n}\nclass GetMEDDICSectionsRequest {\n static fromProto(proto) {\n let m = new GetMEDDICSectionsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.opportunityId !== 'undefined') {\n toReturn['opportunityId'] = this.opportunityId;\n }\n return toReturn;\n }\n}\nclass GetMEDDICSectionsResponse {\n static fromProto(proto) {\n let m = new GetMEDDICSectionsResponse();\n m = Object.assign(m, proto);\n if (proto.sections) {\n m.sections = Scoring.fromProto(proto.sections);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.sections !== 'undefined' && this.sections !== null) {\n toReturn['sections'] = 'toApiJson' in this.sections ? this.sections.toApiJson() : this.sections;\n }\n return toReturn;\n }\n}\nclass GetOpportunityByIdempotencyKeyRequest {\n static fromProto(proto) {\n let m = new GetOpportunityByIdempotencyKeyRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.idempotencyKey !== 'undefined') {\n toReturn['idempotencyKey'] = this.idempotencyKey;\n }\n return toReturn;\n }\n}\nclass GetOpportunityCountByAccountGroupsRequest {\n static fromProto(proto) {\n let m = new GetOpportunityCountByAccountGroupsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.accountGroupIds !== 'undefined') {\n toReturn['accountGroupIds'] = this.accountGroupIds;\n }\n if (typeof this.onlyUnclosed !== 'undefined') {\n toReturn['onlyUnclosed'] = this.onlyUnclosed;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n return toReturn;\n }\n}\nclass GetOpportunityCountByAccountGroupsResponse {\n static fromProto(proto) {\n let m = new GetOpportunityCountByAccountGroupsResponse();\n m = Object.assign(m, proto);\n if (proto.results) {\n m.results = proto.results.map(OpportunityCount.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.results !== 'undefined' && this.results !== null) {\n toReturn['results'] = 'toApiJson' in this.results ? this.results.toApiJson() : this.results;\n }\n return toReturn;\n }\n}\nclass GetOpportunityRequest {\n static fromProto(proto) {\n let m = new GetOpportunityRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunityId !== 'undefined') {\n toReturn['opportunityId'] = this.opportunityId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n return toReturn;\n }\n}\nclass GetOpportunityResponse {\n static fromProto(proto) {\n let m = new GetOpportunityResponse();\n m = Object.assign(m, proto);\n if (proto.opportunity) {\n m.opportunity = Opportunity.fromProto(proto.opportunity);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunity !== 'undefined' && this.opportunity !== null) {\n toReturn['opportunity'] = 'toApiJson' in this.opportunity ? this.opportunity.toApiJson() : this.opportunity;\n }\n return toReturn;\n }\n}\nclass GetOpportunityValueByAccountGroupsRequest {\n static fromProto(proto) {\n let m = new GetOpportunityValueByAccountGroupsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.accountGroupIds !== 'undefined') {\n toReturn['accountGroupIds'] = this.accountGroupIds;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n return toReturn;\n }\n}\nclass GetOpportunityValueByAccountGroupsResponse {\n static fromProto(proto) {\n let m = new GetOpportunityValueByAccountGroupsResponse();\n m = Object.assign(m, proto);\n if (proto.results) {\n m.results = proto.results.map(OpportunityValue.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.results !== 'undefined' && this.results !== null) {\n toReturn['results'] = 'toApiJson' in this.results ? this.results.toApiJson() : this.results;\n }\n return toReturn;\n }\n}\nclass GetTagsForOpportunitiesRequest {\n static fromProto(proto) {\n let m = new GetTagsForOpportunitiesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n return toReturn;\n }\n}\nclass GetTagsForOpportunitiesResponse {\n static fromProto(proto) {\n let m = new GetTagsForOpportunitiesResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.tags !== 'undefined') {\n toReturn['tags'] = this.tags;\n }\n return toReturn;\n }\n}\nclass GoalResponse {\n static fromProto(proto) {\n let m = new GoalResponse();\n m = Object.assign(m, proto);\n if (proto.goal) {\n m.goal = Goal.fromProto(proto.goal);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.goal !== 'undefined' && this.goal !== null) {\n toReturn['goal'] = 'toApiJson' in this.goal ? this.goal.toApiJson() : this.goal;\n }\n return toReturn;\n }\n}\nclass InitiateOpportunityExportResponse {\n static fromProto(proto) {\n let m = new InitiateOpportunityExportResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.exportId !== 'undefined') {\n toReturn['exportId'] = this.exportId;\n }\n return toReturn;\n }\n}\nclass ListGoalsRequest {\n static fromProto(proto) {\n let m = new ListGoalsRequest();\n m = Object.assign(m, proto);\n if (proto.pageOptions) {\n m.pageOptions = PagedRequestOptions.fromProto(proto.pageOptions);\n }\n if (proto.filters) {\n m.filters = ListGoalsRequestFilters.fromProto(proto.filters);\n }\n if (proto.sortOption) {\n m.sortOption = ListGoalsRequestSortOption.fromProto(proto.sortOption);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.pageOptions !== 'undefined' && this.pageOptions !== null) {\n toReturn['pageOptions'] = 'toApiJson' in this.pageOptions ? this.pageOptions.toApiJson() : this.pageOptions;\n }\n if (typeof this.filters !== 'undefined' && this.filters !== null) {\n toReturn['filters'] = 'toApiJson' in this.filters ? this.filters.toApiJson() : this.filters;\n }\n if (typeof this.sortOption !== 'undefined' && this.sortOption !== null) {\n toReturn['sortOption'] = 'toApiJson' in this.sortOption ? this.sortOption.toApiJson() : this.sortOption;\n }\n return toReturn;\n }\n}\nclass ListGoalsResponse {\n static fromProto(proto) {\n let m = new ListGoalsResponse();\n m = Object.assign(m, proto);\n if (proto.goals) {\n m.goals = proto.goals.map(Goal.fromProto);\n }\n if (proto.pagingMetadata) {\n m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.goals !== 'undefined' && this.goals !== null) {\n toReturn['goals'] = 'toApiJson' in this.goals ? this.goals.toApiJson() : this.goals;\n }\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {\n toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? this.pagingMetadata.toApiJson() : this.pagingMetadata;\n }\n return toReturn;\n }\n}\nclass ListOpportunitiesResponse {\n static fromProto(proto) {\n let m = new ListOpportunitiesResponse();\n m = Object.assign(m, proto);\n if (proto.results) {\n m.results = proto.results.map(Opportunity.fromProto);\n }\n if (proto.totalResults) {\n m.totalResults = parseInt(proto.totalResults, 10);\n }\n if (proto.totalProjectedFirstYearValue) {\n m.totalProjectedFirstYearValue = parseInt(proto.totalProjectedFirstYearValue, 10);\n }\n if (proto.totalRevenueForRevenuePeriod) {\n m.totalRevenueForRevenuePeriod = parseInt(proto.totalRevenueForRevenuePeriod, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.results !== 'undefined' && this.results !== null) {\n toReturn['results'] = 'toApiJson' in this.results ? this.results.toApiJson() : this.results;\n }\n if (typeof this.nextCursor !== 'undefined') {\n toReturn['nextCursor'] = this.nextCursor;\n }\n if (typeof this.hasMore !== 'undefined') {\n toReturn['hasMore'] = this.hasMore;\n }\n if (typeof this.totalResults !== 'undefined') {\n toReturn['totalResults'] = this.totalResults;\n }\n if (typeof this.totalProjectedFirstYearValue !== 'undefined') {\n toReturn['totalProjectedFirstYearValue'] = this.totalProjectedFirstYearValue;\n }\n if (typeof this.totalRevenueForRevenuePeriod !== 'undefined') {\n toReturn['totalRevenueForRevenuePeriod'] = this.totalRevenueForRevenuePeriod;\n }\n return toReturn;\n }\n}\nclass ListPipelinesRequest {\n static fromProto(proto) {\n let m = new ListPipelinesRequest();\n m = Object.assign(m, proto);\n if (proto.pageOptions) {\n m.pageOptions = PagedRequestOptions.fromProto(proto.pageOptions);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.pageOptions !== 'undefined' && this.pageOptions !== null) {\n toReturn['pageOptions'] = 'toApiJson' in this.pageOptions ? this.pageOptions.toApiJson() : this.pageOptions;\n }\n return toReturn;\n }\n}\nclass ListPipelinesResponse {\n static fromProto(proto) {\n let m = new ListPipelinesResponse();\n m = Object.assign(m, proto);\n if (proto.results) {\n m.results = proto.results.map(Pipeline.fromProto);\n }\n if (proto.pagingMetadata) {\n m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.results !== 'undefined' && this.results !== null) {\n toReturn['results'] = 'toApiJson' in this.results ? this.results.toApiJson() : this.results;\n }\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {\n toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? this.pagingMetadata.toApiJson() : this.pagingMetadata;\n }\n return toReturn;\n }\n}\nclass PagedRequestOptions {\n static fromProto(proto) {\n let m = new PagedRequestOptions();\n m = Object.assign(m, proto);\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n return toReturn;\n }\n}\nclass PagedResponseMetadata {\n static fromProto(proto) {\n let m = new PagedResponseMetadata();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.nextCursor !== 'undefined') {\n toReturn['nextCursor'] = this.nextCursor;\n }\n if (typeof this.hasMore !== 'undefined') {\n toReturn['hasMore'] = this.hasMore;\n }\n return toReturn;\n }\n}\nclass RemoveOpportunityPackagesRequest {\n static fromProto(proto) {\n let m = new RemoveOpportunityPackagesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunityId !== 'undefined') {\n toReturn['opportunityId'] = this.opportunityId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.editSalesPersonId !== 'undefined') {\n toReturn['editSalesPersonId'] = this.editSalesPersonId;\n }\n if (typeof this.packageIds !== 'undefined') {\n toReturn['packageIds'] = this.packageIds;\n }\n return toReturn;\n }\n}\nclass RemoveOpportunityPackagesResponse {\n static fromProto(proto) {\n let m = new RemoveOpportunityPackagesResponse();\n m = Object.assign(m, proto);\n if (proto.opportunity) {\n m.opportunity = Opportunity.fromProto(proto.opportunity);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunity !== 'undefined' && this.opportunity !== null) {\n toReturn['opportunity'] = 'toApiJson' in this.opportunity ? this.opportunity.toApiJson() : this.opportunity;\n }\n return toReturn;\n }\n}\nclass RemovePipelineStagesRequest {\n static fromProto(proto) {\n let m = new RemovePipelineStagesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.pipelineId !== 'undefined') {\n toReturn['pipelineId'] = this.pipelineId;\n }\n if (typeof this.stageIds !== 'undefined') {\n toReturn['stageIds'] = this.stageIds;\n }\n return toReturn;\n }\n}\nclass RemovePipelineStagesResponse {\n static fromProto(proto) {\n let m = new RemovePipelineStagesResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n return toReturn;\n }\n}\nclass ReopenClosedOpportunityRequest {\n static fromProto(proto) {\n let m = new ReopenClosedOpportunityRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunityId !== 'undefined') {\n toReturn['opportunityId'] = this.opportunityId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.editSalesPersonId !== 'undefined') {\n toReturn['editSalesPersonId'] = this.editSalesPersonId;\n }\n if (typeof this.reason !== 'undefined') {\n toReturn['reason'] = this.reason;\n }\n return toReturn;\n }\n}\nclass RestoreDeletedPipelineRequest {\n static fromProto(proto) {\n let m = new RestoreDeletedPipelineRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.pipelineId !== 'undefined') {\n toReturn['pipelineId'] = this.pipelineId;\n }\n return toReturn;\n }\n}\nclass RestoreDeletedPipelineResponse {\n static fromProto(proto) {\n let m = new RestoreDeletedPipelineResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n return toReturn;\n }\n}\nclass SalespersonStatsRequest {\n static fromProto(proto) {\n let m = new SalespersonStatsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.salespersonId !== 'undefined') {\n toReturn['salespersonId'] = this.salespersonId;\n }\n return toReturn;\n }\n}\nclass SalespersonStatsResponse {\n static fromProto(proto) {\n let m = new SalespersonStatsResponse();\n m = Object.assign(m, proto);\n if (proto.pipelineCloseRates) {\n m.pipelineCloseRates = proto.pipelineCloseRates.map(PipelineClosePoint.fromProto);\n }\n if (proto.pipelineCreationRates) {\n m.pipelineCreationRates = proto.pipelineCreationRates.map(PipelineCreationPoint.fromProto);\n }\n if (proto.currentOpporunities) {\n m.currentOpporunities = proto.currentOpporunities.map(CurrentOpportunityPoint.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.pipelineCloseRates !== 'undefined' && this.pipelineCloseRates !== null) {\n toReturn['pipelineCloseRates'] = 'toApiJson' in this.pipelineCloseRates ? this.pipelineCloseRates.toApiJson() : this.pipelineCloseRates;\n }\n if (typeof this.pipelineCreationRates !== 'undefined' && this.pipelineCreationRates !== null) {\n toReturn['pipelineCreationRates'] = 'toApiJson' in this.pipelineCreationRates ? this.pipelineCreationRates.toApiJson() : this.pipelineCreationRates;\n }\n if (typeof this.currentOpporunities !== 'undefined' && this.currentOpporunities !== null) {\n toReturn['currentOpporunities'] = 'toApiJson' in this.currentOpporunities ? this.currentOpporunities.toApiJson() : this.currentOpporunities;\n }\n return toReturn;\n }\n}\nclass SetPipelineStagesRequest {\n static fromProto(proto) {\n let m = new SetPipelineStagesRequest();\n m = Object.assign(m, proto);\n if (proto.stages) {\n m.stages = proto.stages.map(Stage.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.pipelineId !== 'undefined') {\n toReturn['pipelineId'] = this.pipelineId;\n }\n if (typeof this.stages !== 'undefined' && this.stages !== null) {\n toReturn['stages'] = 'toApiJson' in this.stages ? this.stages.toApiJson() : this.stages;\n }\n return toReturn;\n }\n}\nclass SetPipelineStagesResponse {\n static fromProto(proto) {\n let m = new SetPipelineStagesResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n return toReturn;\n }\n}\nclass ListGoalsRequestSortOption {\n static fromProto(proto) {\n let m = new ListGoalsRequestSortOption();\n m = Object.assign(m, proto);\n if (proto.direction) {\n m.direction = enumStringToValue(ListGoalsRequestSortDirection, proto.direction);\n }\n if (proto.field) {\n m.field = enumStringToValue(ListGoalsRequestSortField, proto.field);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.direction !== 'undefined') {\n toReturn['direction'] = this.direction;\n }\n if (typeof this.field !== 'undefined') {\n toReturn['field'] = this.field;\n }\n return toReturn;\n }\n}\nclass UpdateClosedDateRequest {\n static fromProto(proto) {\n let m = new UpdateClosedDateRequest();\n m = Object.assign(m, proto);\n if (proto.closedDate) {\n m.closedDate = new Date(proto.closedDate);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunityId !== 'undefined') {\n toReturn['opportunityId'] = this.opportunityId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.editSalesPersonId !== 'undefined') {\n toReturn['editSalesPersonId'] = this.editSalesPersonId;\n }\n if (typeof this.closedDate !== 'undefined' && this.closedDate !== null) {\n toReturn['closedDate'] = 'toApiJson' in this.closedDate ? this.closedDate.toApiJson() : this.closedDate;\n }\n return toReturn;\n }\n}\nclass UpdateGoalRequest {\n static fromProto(proto) {\n let m = new UpdateGoalRequest();\n m = Object.assign(m, proto);\n if (proto.start) {\n m.start = new Date(proto.start);\n }\n if (proto.end) {\n m.end = new Date(proto.end);\n }\n if (proto.targets) {\n m.targets = proto.targets.map(Target.fromProto);\n }\n if (proto.fieldMask) {\n m.fieldMask = FieldMask.fromProto(proto.fieldMask);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.id !== 'undefined') {\n toReturn['id'] = this.id;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.contributorId !== 'undefined') {\n toReturn['contributorId'] = this.contributorId;\n }\n if (typeof this.contributorType !== 'undefined') {\n toReturn['contributorType'] = this.contributorType;\n }\n if (typeof this.pipelineIds !== 'undefined') {\n toReturn['pipelineIds'] = this.pipelineIds;\n }\n if (typeof this.start !== 'undefined' && this.start !== null) {\n toReturn['start'] = 'toApiJson' in this.start ? this.start.toApiJson() : this.start;\n }\n if (typeof this.end !== 'undefined' && this.end !== null) {\n toReturn['end'] = 'toApiJson' in this.end ? this.end.toApiJson() : this.end;\n }\n if (typeof this.targets !== 'undefined' && this.targets !== null) {\n toReturn['targets'] = 'toApiJson' in this.targets ? this.targets.toApiJson() : this.targets;\n }\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {\n toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? this.fieldMask.toApiJson() : this.fieldMask;\n }\n return toReturn;\n }\n}\nclass UpdateLastActivityDateRequest {\n static fromProto(proto) {\n let m = new UpdateLastActivityDateRequest();\n m = Object.assign(m, proto);\n if (proto.lastActivityDate) {\n m.lastActivityDate = new Date(proto.lastActivityDate);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunityId !== 'undefined') {\n toReturn['opportunityId'] = this.opportunityId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.editSalesPersonId !== 'undefined') {\n toReturn['editSalesPersonId'] = this.editSalesPersonId;\n }\n if (typeof this.lastActivityDate !== 'undefined' && this.lastActivityDate !== null) {\n toReturn['lastActivityDate'] = 'toApiJson' in this.lastActivityDate ? this.lastActivityDate.toApiJson() : this.lastActivityDate;\n }\n if (typeof this.connected !== 'undefined') {\n toReturn['connected'] = this.connected;\n }\n return toReturn;\n }\n}\nclass UpdateLastActivityDateResponse {\n static fromProto(proto) {\n let m = new UpdateLastActivityDateResponse();\n m = Object.assign(m, proto);\n if (proto.opportunity) {\n m.opportunity = Opportunity.fromProto(proto.opportunity);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunity !== 'undefined' && this.opportunity !== null) {\n toReturn['opportunity'] = 'toApiJson' in this.opportunity ? this.opportunity.toApiJson() : this.opportunity;\n }\n return toReturn;\n }\n}\nclass UpdateLastConnectedDateRequest {\n static fromProto(proto) {\n let m = new UpdateLastConnectedDateRequest();\n m = Object.assign(m, proto);\n if (proto.lastConnectedDate) {\n m.lastConnectedDate = new Date(proto.lastConnectedDate);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunityId !== 'undefined') {\n toReturn['opportunityId'] = this.opportunityId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.editSalesPersonId !== 'undefined') {\n toReturn['editSalesPersonId'] = this.editSalesPersonId;\n }\n if (typeof this.lastConnectedDate !== 'undefined' && this.lastConnectedDate !== null) {\n toReturn['lastConnectedDate'] = 'toApiJson' in this.lastConnectedDate ? this.lastConnectedDate.toApiJson() : this.lastConnectedDate;\n }\n return toReturn;\n }\n}\nclass UpdateLastConnectedDateResponse {\n static fromProto(proto) {\n let m = new UpdateLastConnectedDateResponse();\n m = Object.assign(m, proto);\n if (proto.opportunity) {\n m.opportunity = Opportunity.fromProto(proto.opportunity);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunity !== 'undefined' && this.opportunity !== null) {\n toReturn['opportunity'] = 'toApiJson' in this.opportunity ? this.opportunity.toApiJson() : this.opportunity;\n }\n return toReturn;\n }\n}\nclass UpdateLineItemsRequest {\n static fromProto(proto) {\n let m = new UpdateLineItemsRequest();\n m = Object.assign(m, proto);\n if (proto.lineItems) {\n m.lineItems = proto.lineItems.map(LineItem.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunityId !== 'undefined') {\n toReturn['opportunityId'] = this.opportunityId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.editSalesPersonId !== 'undefined') {\n toReturn['editSalesPersonId'] = this.editSalesPersonId;\n }\n if (typeof this.lineItems !== 'undefined' && this.lineItems !== null) {\n toReturn['lineItems'] = 'toApiJson' in this.lineItems ? this.lineItems.toApiJson() : this.lineItems;\n }\n return toReturn;\n }\n}\nclass UpdateLineItemsResponse {\n static fromProto(proto) {\n let m = new UpdateLineItemsResponse();\n m = Object.assign(m, proto);\n if (proto.opportunity) {\n m.opportunity = Opportunity.fromProto(proto.opportunity);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunity !== 'undefined' && this.opportunity !== null) {\n toReturn['opportunity'] = 'toApiJson' in this.opportunity ? this.opportunity.toApiJson() : this.opportunity;\n }\n return toReturn;\n }\n}\nclass UpdateMEDDICNotesRequest {\n static fromProto(proto) {\n let m = new UpdateMEDDICNotesRequest();\n m = Object.assign(m, proto);\n if (proto.sectionName) {\n m.sectionName = enumStringToValue(MEDDICSection, proto.sectionName);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.sectionName !== 'undefined') {\n toReturn['sectionName'] = this.sectionName;\n }\n if (typeof this.sectionNotes !== 'undefined') {\n toReturn['sectionNotes'] = this.sectionNotes;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.opportunityId !== 'undefined') {\n toReturn['opportunityId'] = this.opportunityId;\n }\n if (typeof this.editSalesPersonId !== 'undefined') {\n toReturn['editSalesPersonId'] = this.editSalesPersonId;\n }\n return toReturn;\n }\n}\nclass UpdateMEDDICScoringRequest {\n static fromProto(proto) {\n let m = new UpdateMEDDICScoringRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunityId !== 'undefined') {\n toReturn['opportunityId'] = this.opportunityId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.editSalesPersonId !== 'undefined') {\n toReturn['editSalesPersonId'] = this.editSalesPersonId;\n }\n if (typeof this.metricScoreValue !== 'undefined') {\n toReturn['metricScoreValue'] = this.metricScoreValue;\n }\n if (typeof this.economicBuyerScoreValue !== 'undefined') {\n toReturn['economicBuyerScoreValue'] = this.economicBuyerScoreValue;\n }\n if (typeof this.decisionCriteriaScoreValue !== 'undefined') {\n toReturn['decisionCriteriaScoreValue'] = this.decisionCriteriaScoreValue;\n }\n if (typeof this.decisionProcessScoreValue !== 'undefined') {\n toReturn['decisionProcessScoreValue'] = this.decisionProcessScoreValue;\n }\n if (typeof this.identifyPainScoreValue !== 'undefined') {\n toReturn['identifyPainScoreValue'] = this.identifyPainScoreValue;\n }\n if (typeof this.championScoreValue !== 'undefined') {\n toReturn['championScoreValue'] = this.championScoreValue;\n }\n if (typeof this.competitionScoreValue !== 'undefined') {\n toReturn['competitionScoreValue'] = this.competitionScoreValue;\n }\n if (typeof this.paperProcessScoreValue !== 'undefined') {\n toReturn['paperProcessScoreValue'] = this.paperProcessScoreValue;\n }\n return toReturn;\n }\n}\nclass UpdateOpportunityDurationRequest {\n static fromProto(proto) {\n let m = new UpdateOpportunityDurationRequest();\n m = Object.assign(m, proto);\n if (proto.expectedContractDuration) {\n m.expectedContractDuration = Duration.fromProto(proto.expectedContractDuration);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunityId !== 'undefined') {\n toReturn['opportunityId'] = this.opportunityId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.editSalesPersonId !== 'undefined') {\n toReturn['editSalesPersonId'] = this.editSalesPersonId;\n }\n if (typeof this.expectedContractDuration !== 'undefined' && this.expectedContractDuration !== null) {\n toReturn['expectedContractDuration'] = 'toApiJson' in this.expectedContractDuration ? this.expectedContractDuration.toApiJson() : this.expectedContractDuration;\n }\n return toReturn;\n }\n}\nclass UpdateOpportunityDurationResponse {\n static fromProto(proto) {\n let m = new UpdateOpportunityDurationResponse();\n m = Object.assign(m, proto);\n if (proto.opportunity) {\n m.opportunity = Opportunity.fromProto(proto.opportunity);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunity !== 'undefined' && this.opportunity !== null) {\n toReturn['opportunity'] = 'toApiJson' in this.opportunity ? this.opportunity.toApiJson() : this.opportunity;\n }\n return toReturn;\n }\n}\nclass UpdateOpportunityExpectedCloseDateRequest {\n static fromProto(proto) {\n let m = new UpdateOpportunityExpectedCloseDateRequest();\n m = Object.assign(m, proto);\n if (proto.expectedCloseDate) {\n m.expectedCloseDate = new Date(proto.expectedCloseDate);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunityId !== 'undefined') {\n toReturn['opportunityId'] = this.opportunityId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.editSalesPersonId !== 'undefined') {\n toReturn['editSalesPersonId'] = this.editSalesPersonId;\n }\n if (typeof this.expectedCloseDate !== 'undefined' && this.expectedCloseDate !== null) {\n toReturn['expectedCloseDate'] = 'toApiJson' in this.expectedCloseDate ? this.expectedCloseDate.toApiJson() : this.expectedCloseDate;\n }\n if (typeof this.createSalesActivity !== 'undefined') {\n toReturn['createSalesActivity'] = this.createSalesActivity;\n }\n return toReturn;\n }\n}\nclass UpdateOpportunityExpectedCloseDateResponse {\n static fromProto(proto) {\n let m = new UpdateOpportunityExpectedCloseDateResponse();\n m = Object.assign(m, proto);\n if (proto.opportunity) {\n m.opportunity = Opportunity.fromProto(proto.opportunity);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunity !== 'undefined' && this.opportunity !== null) {\n toReturn['opportunity'] = 'toApiJson' in this.opportunity ? this.opportunity.toApiJson() : this.opportunity;\n }\n return toReturn;\n }\n}\nclass UpdateOpportunityMarketRequest {\n static fromProto(proto) {\n let m = new UpdateOpportunityMarketRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunityId !== 'undefined') {\n toReturn['opportunityId'] = this.opportunityId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.editSalesPersonId !== 'undefined') {\n toReturn['editSalesPersonId'] = this.editSalesPersonId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n return toReturn;\n }\n}\nclass UpdateOpportunityMarketResponse {\n static fromProto(proto) {\n let m = new UpdateOpportunityMarketResponse();\n m = Object.assign(m, proto);\n if (proto.opportunity) {\n m.opportunity = Opportunity.fromProto(proto.opportunity);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunity !== 'undefined' && this.opportunity !== null) {\n toReturn['opportunity'] = 'toApiJson' in this.opportunity ? this.opportunity.toApiJson() : this.opportunity;\n }\n return toReturn;\n }\n}\nclass UpdateOpportunityNameRequest {\n static fromProto(proto) {\n let m = new UpdateOpportunityNameRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunityId !== 'undefined') {\n toReturn['opportunityId'] = this.opportunityId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.editSalesPersonId !== 'undefined') {\n toReturn['editSalesPersonId'] = this.editSalesPersonId;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n return toReturn;\n }\n}\nclass UpdateOpportunityNameResponse {\n static fromProto(proto) {\n let m = new UpdateOpportunityNameResponse();\n m = Object.assign(m, proto);\n if (proto.opportunity) {\n m.opportunity = Opportunity.fromProto(proto.opportunity);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunity !== 'undefined' && this.opportunity !== null) {\n toReturn['opportunity'] = 'toApiJson' in this.opportunity ? this.opportunity.toApiJson() : this.opportunity;\n }\n return toReturn;\n }\n}\nclass UpdateOpportunityNotesRequest {\n static fromProto(proto) {\n let m = new UpdateOpportunityNotesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunityId !== 'undefined') {\n toReturn['opportunityId'] = this.opportunityId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.editSalesPersonId !== 'undefined') {\n toReturn['editSalesPersonId'] = this.editSalesPersonId;\n }\n if (typeof this.notes !== 'undefined') {\n toReturn['notes'] = this.notes;\n }\n return toReturn;\n }\n}\nclass UpdateOpportunityNotesResponse {\n static fromProto(proto) {\n let m = new UpdateOpportunityNotesResponse();\n m = Object.assign(m, proto);\n if (proto.opportunity) {\n m.opportunity = Opportunity.fromProto(proto.opportunity);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunity !== 'undefined' && this.opportunity !== null) {\n toReturn['opportunity'] = 'toApiJson' in this.opportunity ? this.opportunity.toApiJson() : this.opportunity;\n }\n return toReturn;\n }\n}\nclass UpdateOpportunityPackageRequest {\n static fromProto(proto) {\n let m = new UpdateOpportunityPackageRequest();\n m = Object.assign(m, proto);\n if (proto.currentRevenue) {\n m.currentRevenue = Revenue.fromProto(proto.currentRevenue);\n }\n if (proto.quantity) {\n m.quantity = parseInt(proto.quantity, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunityId !== 'undefined') {\n toReturn['opportunityId'] = this.opportunityId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.editSalesPersonId !== 'undefined') {\n toReturn['editSalesPersonId'] = this.editSalesPersonId;\n }\n if (typeof this.packageId !== 'undefined') {\n toReturn['packageId'] = this.packageId;\n }\n if (typeof this.currentRevenue !== 'undefined' && this.currentRevenue !== null) {\n toReturn['currentRevenue'] = 'toApiJson' in this.currentRevenue ? this.currentRevenue.toApiJson() : this.currentRevenue;\n }\n if (typeof this.quantity !== 'undefined') {\n toReturn['quantity'] = this.quantity;\n }\n return toReturn;\n }\n}\nclass UpdateOpportunityPackageResponse {\n static fromProto(proto) {\n let m = new UpdateOpportunityPackageResponse();\n m = Object.assign(m, proto);\n if (proto.opportunity) {\n m.opportunity = Opportunity.fromProto(proto.opportunity);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunity !== 'undefined' && this.opportunity !== null) {\n toReturn['opportunity'] = 'toApiJson' in this.opportunity ? this.opportunity.toApiJson() : this.opportunity;\n }\n return toReturn;\n }\n}\nclass UpdateOpportunityPackageRevenueRequest {\n static fromProto(proto) {\n let m = new UpdateOpportunityPackageRevenueRequest();\n m = Object.assign(m, proto);\n if (proto.revenue) {\n m.revenue = Revenue.fromProto(proto.revenue);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunityId !== 'undefined') {\n toReturn['opportunityId'] = this.opportunityId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.editSalesPersonId !== 'undefined') {\n toReturn['editSalesPersonId'] = this.editSalesPersonId;\n }\n if (typeof this.packageId !== 'undefined') {\n toReturn['packageId'] = this.packageId;\n }\n if (typeof this.revenue !== 'undefined' && this.revenue !== null) {\n toReturn['revenue'] = 'toApiJson' in this.revenue ? this.revenue.toApiJson() : this.revenue;\n }\n return toReturn;\n }\n}\nclass UpdateOpportunityPackageRevenueResponse {\n static fromProto(proto) {\n let m = new UpdateOpportunityPackageRevenueResponse();\n m = Object.assign(m, proto);\n if (proto.opportunity) {\n m.opportunity = Opportunity.fromProto(proto.opportunity);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunity !== 'undefined' && this.opportunity !== null) {\n toReturn['opportunity'] = 'toApiJson' in this.opportunity ? this.opportunity.toApiJson() : this.opportunity;\n }\n return toReturn;\n }\n}\nclass UpdateOpportunityPipelineRequest {\n static fromProto(proto) {\n let m = new UpdateOpportunityPipelineRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunityId !== 'undefined') {\n toReturn['opportunityId'] = this.opportunityId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.editSalesPersonId !== 'undefined') {\n toReturn['editSalesPersonId'] = this.editSalesPersonId;\n }\n if (typeof this.pipelineId !== 'undefined') {\n toReturn['pipelineId'] = this.pipelineId;\n }\n return toReturn;\n }\n}\nclass UpdateOpportunityPipelineResponse {\n static fromProto(proto) {\n let m = new UpdateOpportunityPipelineResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n return toReturn;\n }\n}\nclass UpdateOpportunityProbabilityRequest {\n static fromProto(proto) {\n let m = new UpdateOpportunityProbabilityRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunityId !== 'undefined') {\n toReturn['opportunityId'] = this.opportunityId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.editSalesPersonId !== 'undefined') {\n toReturn['editSalesPersonId'] = this.editSalesPersonId;\n }\n if (typeof this.probability !== 'undefined') {\n toReturn['probability'] = this.probability;\n }\n return toReturn;\n }\n}\nclass UpdateOpportunityProbabilityResponse {\n static fromProto(proto) {\n let m = new UpdateOpportunityProbabilityResponse();\n m = Object.assign(m, proto);\n if (proto.opportunity) {\n m.opportunity = Opportunity.fromProto(proto.opportunity);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunity !== 'undefined' && this.opportunity !== null) {\n toReturn['opportunity'] = 'toApiJson' in this.opportunity ? this.opportunity.toApiJson() : this.opportunity;\n }\n return toReturn;\n }\n}\nclass UpdateOpportunitySalespersonRequest {\n static fromProto(proto) {\n let m = new UpdateOpportunitySalespersonRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunityId !== 'undefined') {\n toReturn['opportunityId'] = this.opportunityId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.editSalesPersonId !== 'undefined') {\n toReturn['editSalesPersonId'] = this.editSalesPersonId;\n }\n if (typeof this.salesPersonId !== 'undefined') {\n toReturn['salesPersonId'] = this.salesPersonId;\n }\n if (typeof this.createSalesActivity !== 'undefined') {\n toReturn['createSalesActivity'] = this.createSalesActivity;\n }\n return toReturn;\n }\n}\nclass UpdateOpportunitySalespersonResponse {\n static fromProto(proto) {\n let m = new UpdateOpportunitySalespersonResponse();\n m = Object.assign(m, proto);\n if (proto.opportunity) {\n m.opportunity = Opportunity.fromProto(proto.opportunity);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunity !== 'undefined' && this.opportunity !== null) {\n toReturn['opportunity'] = 'toApiJson' in this.opportunity ? this.opportunity.toApiJson() : this.opportunity;\n }\n return toReturn;\n }\n}\nclass UpdateOpportunityTagsRequest {\n static fromProto(proto) {\n let m = new UpdateOpportunityTagsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunityId !== 'undefined') {\n toReturn['opportunityId'] = this.opportunityId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.editSalesPersonId !== 'undefined') {\n toReturn['editSalesPersonId'] = this.editSalesPersonId;\n }\n if (typeof this.tags !== 'undefined') {\n toReturn['tags'] = this.tags;\n }\n return toReturn;\n }\n}\nclass UpdateOpportunityTagsResponse {\n static fromProto(proto) {\n let m = new UpdateOpportunityTagsResponse();\n m = Object.assign(m, proto);\n if (proto.opportunity) {\n m.opportunity = Opportunity.fromProto(proto.opportunity);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunity !== 'undefined' && this.opportunity !== null) {\n toReturn['opportunity'] = 'toApiJson' in this.opportunity ? this.opportunity.toApiJson() : this.opportunity;\n }\n return toReturn;\n }\n}\nclass UpdateOpportunityTypeRequest {\n static fromProto(proto) {\n let m = new UpdateOpportunityTypeRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunityId !== 'undefined') {\n toReturn['opportunityId'] = this.opportunityId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.opportunityType !== 'undefined') {\n toReturn['opportunityType'] = this.opportunityType;\n }\n if (typeof this.editSalesPersonId !== 'undefined') {\n toReturn['editSalesPersonId'] = this.editSalesPersonId;\n }\n return toReturn;\n }\n}\nclass UpdateOpportunityTypeResponse {\n static fromProto(proto) {\n let m = new UpdateOpportunityTypeResponse();\n m = Object.assign(m, proto);\n if (proto.opportunity) {\n m.opportunity = Opportunity.fromProto(proto.opportunity);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunity !== 'undefined' && this.opportunity !== null) {\n toReturn['opportunity'] = 'toApiJson' in this.opportunity ? this.opportunity.toApiJson() : this.opportunity;\n }\n return toReturn;\n }\n}\nclass UpdatePipelineNameRequest {\n static fromProto(proto) {\n let m = new UpdatePipelineNameRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.pipelineId !== 'undefined') {\n toReturn['pipelineId'] = this.pipelineId;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n return toReturn;\n }\n}\nclass UpdatePipelineNameResponse {\n static fromProto(proto) {\n let m = new UpdatePipelineNameResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n return toReturn;\n }\n}\nclass UpdatePipelineStageNameRequest {\n static fromProto(proto) {\n let m = new UpdatePipelineStageNameRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.pipelineId !== 'undefined') {\n toReturn['pipelineId'] = this.pipelineId;\n }\n if (typeof this.stageId !== 'undefined') {\n toReturn['stageId'] = this.stageId;\n }\n if (typeof this.stageName !== 'undefined') {\n toReturn['stageName'] = this.stageName;\n }\n return toReturn;\n }\n}\nclass UpdatePipelineStageNameResponse {\n static fromProto(proto) {\n let m = new UpdatePipelineStageNameResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n return toReturn;\n }\n}\nclass UpdatePipelineStageProbabilityRequest {\n static fromProto(proto) {\n let m = new UpdatePipelineStageProbabilityRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.pipelineId !== 'undefined') {\n toReturn['pipelineId'] = this.pipelineId;\n }\n if (typeof this.stageId !== 'undefined') {\n toReturn['stageId'] = this.stageId;\n }\n if (typeof this.probability !== 'undefined') {\n toReturn['probability'] = this.probability;\n }\n return toReturn;\n }\n}\nclass UpdatePipelineStageProbabilityResponse {\n static fromProto(proto) {\n let m = new UpdatePipelineStageProbabilityResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n return toReturn;\n }\n}\nclass UpdateSubscriberUserIDsRequest {\n static fromProto(proto) {\n let m = new UpdateSubscriberUserIDsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunityId !== 'undefined') {\n toReturn['opportunityId'] = this.opportunityId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.editSalesPersonId !== 'undefined') {\n toReturn['editSalesPersonId'] = this.editSalesPersonId;\n }\n if (typeof this.subscriberUserIds !== 'undefined') {\n toReturn['subscriberUserIds'] = this.subscriberUserIds;\n }\n return toReturn;\n }\n}\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects Index.\n// *********************************\n\nconst environment = (window ? window['environment'] : 'prod') ?? 'prod';\nconst hostMap = {\n 'local': 'sales-opportunities.vendasta-local.com',\n 'test': '',\n 'demo': 'sales-opportunities-demo.apigateway.co',\n 'prod': 'sales-opportunities-prod.apigateway.co',\n 'production': 'sales-opportunities-prod.apigateway.co'\n};\nlet HostService = /*#__PURE__*/(() => {\n class HostService {\n get host() {\n return hostMap[environment.toLowerCase()];\n }\n get hostWithScheme() {\n return 'https://' + this.host;\n }\n }\n HostService.ɵfac = function HostService_Factory(t) {\n return new (t || HostService)();\n };\n HostService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: HostService,\n factory: HostService.ɵfac,\n providedIn: 'root'\n });\n return HostService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nlet GoalsApiService = /*#__PURE__*/(() => {\n class GoalsApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n create(r) {\n const request = r.toApiJson ? r : new CreateGoalRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.Goals/Create\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GoalResponse.fromProto(resp)));\n }\n update(r) {\n const request = r.toApiJson ? r : new UpdateGoalRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.Goals/Update\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GoalResponse.fromProto(resp)));\n }\n get(r) {\n const request = r.toApiJson ? r : new GetGoalRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.Goals/Get\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GoalResponse.fromProto(resp)));\n }\n list(r) {\n const request = r.toApiJson ? r : new ListGoalsRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.Goals/List\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListGoalsResponse.fromProto(resp)));\n }\n delete(r) {\n const request = r.toApiJson ? r : new DeleteGoalRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.Goals/Delete\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n archive(r) {\n const request = r.toApiJson ? r : new ArchiveGoalRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.Goals/Archive\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n }\n GoalsApiService.ɵfac = function GoalsApiService_Factory(t) {\n return new (t || GoalsApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n GoalsApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: GoalsApiService,\n factory: GoalsApiService.ɵfac,\n providedIn: 'root'\n });\n return GoalsApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nlet OpportunityScoringApiService = /*#__PURE__*/(() => {\n class OpportunityScoringApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n getMeddicScores(r) {\n const request = r.toApiJson ? r : new GetMEDDICScoresRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.OpportunityScoring/GetMEDDICScores\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetMEDDICScoresResponse.fromProto(resp)));\n }\n updateMeddicScoringForOpportunity(r) {\n const request = r.toApiJson ? r : new UpdateMEDDICScoringRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.OpportunityScoring/UpdateMEDDICScoringForOpportunity\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n updateMeddicNotesForOpportunity(r) {\n const request = r.toApiJson ? r : new UpdateMEDDICNotesRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.OpportunityScoring/UpdateMEDDICNotesForOpportunity\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n getMeddicSections(r) {\n const request = r.toApiJson ? r : new GetMEDDICSectionsRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.OpportunityScoring/GetMEDDICSections\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetMEDDICSectionsResponse.fromProto(resp)));\n }\n }\n OpportunityScoringApiService.ɵfac = function OpportunityScoringApiService_Factory(t) {\n return new (t || OpportunityScoringApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n OpportunityScoringApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: OpportunityScoringApiService,\n factory: OpportunityScoringApiService.ɵfac,\n providedIn: 'root'\n });\n return OpportunityScoringApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nlet SalesOpportunitiesApiService = /*#__PURE__*/(() => {\n class SalesOpportunitiesApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n createOpportunity(r) {\n const request = r.toApiJson ? r : new CreateOpportunityRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesOpportunities/CreateOpportunity\", request.toApiJson(), this.apiOptions()).pipe(map(resp => CreateOpportunityResponse.fromProto(resp)));\n }\n getOpportunity(r) {\n const request = r.toApiJson ? r : new GetOpportunityRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesOpportunities/GetOpportunity\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetOpportunityResponse.fromProto(resp)));\n }\n getOpportunityByIdempotencyKey(r) {\n const request = r.toApiJson ? r : new GetOpportunityByIdempotencyKeyRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesOpportunities/GetOpportunityByIdempotencyKey\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetOpportunityResponse.fromProto(resp)));\n }\n listOpportunities(r) {\n const request = r.toApiJson ? r : new ListOpportunitiesRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesOpportunities/ListOpportunities\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListOpportunitiesResponse.fromProto(resp)));\n }\n getOpportunityCountByAccountGroups(r) {\n const request = r.toApiJson ? r : new GetOpportunityCountByAccountGroupsRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesOpportunities/GetOpportunityCountByAccountGroups\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetOpportunityCountByAccountGroupsResponse.fromProto(resp)));\n }\n updateOpportunityName(r) {\n const request = r.toApiJson ? r : new UpdateOpportunityNameRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesOpportunities/UpdateOpportunityName\", request.toApiJson(), this.apiOptions()).pipe(map(resp => UpdateOpportunityNameResponse.fromProto(resp)));\n }\n updateOpportunityProbability(r) {\n const request = r.toApiJson ? r : new UpdateOpportunityProbabilityRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesOpportunities/UpdateOpportunityProbability\", request.toApiJson(), this.apiOptions()).pipe(map(resp => UpdateOpportunityProbabilityResponse.fromProto(resp)));\n }\n updateOpportunityType(r) {\n const request = r.toApiJson ? r : new UpdateOpportunityTypeRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesOpportunities/UpdateOpportunityType\", request.toApiJson(), this.apiOptions()).pipe(map(resp => UpdateOpportunityTypeResponse.fromProto(resp)));\n }\n updateOpportunitySalesperson(r) {\n const request = r.toApiJson ? r : new UpdateOpportunitySalespersonRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesOpportunities/UpdateOpportunitySalesperson\", request.toApiJson(), this.apiOptions()).pipe(map(resp => UpdateOpportunitySalespersonResponse.fromProto(resp)));\n }\n updateOpportunityExpectedCloseDate(r) {\n const request = r.toApiJson ? r : new UpdateOpportunityExpectedCloseDateRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesOpportunities/UpdateOpportunityExpectedCloseDate\", request.toApiJson(), this.apiOptions()).pipe(map(resp => UpdateOpportunityExpectedCloseDateResponse.fromProto(resp)));\n }\n updateOpportunityNotes(r) {\n const request = r.toApiJson ? r : new UpdateOpportunityNotesRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesOpportunities/UpdateOpportunityNotes\", request.toApiJson(), this.apiOptions()).pipe(map(resp => UpdateOpportunityNotesResponse.fromProto(resp)));\n }\n addOpportunityPackages(r) {\n const request = r.toApiJson ? r : new AddOpportunityPackagesRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesOpportunities/AddOpportunityPackages\", request.toApiJson(), this.apiOptions()).pipe(map(resp => AddOpportunityPackagesResponse.fromProto(resp)));\n }\n removeOpportunityPackages(r) {\n const request = r.toApiJson ? r : new RemoveOpportunityPackagesRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesOpportunities/RemoveOpportunityPackages\", request.toApiJson(), this.apiOptions()).pipe(map(resp => RemoveOpportunityPackagesResponse.fromProto(resp)));\n }\n updateOpportunityPackageRevenue(r) {\n const request = r.toApiJson ? r : new UpdateOpportunityPackageRevenueRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesOpportunities/UpdateOpportunityPackageRevenue\", request.toApiJson(), this.apiOptions()).pipe(map(resp => UpdateOpportunityPackageRevenueResponse.fromProto(resp)));\n }\n updateOpportunityPackage(r) {\n const request = r.toApiJson ? r : new UpdateOpportunityPackageRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesOpportunities/UpdateOpportunityPackage\", request.toApiJson(), this.apiOptions()).pipe(map(resp => UpdateOpportunityPackageResponse.fromProto(resp)));\n }\n closeAsWonOpportunity(r) {\n const request = r.toApiJson ? r : new CloseAsWonOpportunityRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesOpportunities/CloseAsWonOpportunity\", request.toApiJson(), this.apiOptions()).pipe(map(resp => CloseAsWonOpportunityResponse.fromProto(resp)));\n }\n closeAsLostOpportunity(r) {\n const request = r.toApiJson ? r : new CloseAsLostOpportunityRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesOpportunities/CloseAsLostOpportunity\", request.toApiJson(), this.apiOptions()).pipe(map(resp => CloseAsLostOpportunityResponse.fromProto(resp)));\n }\n updateLastConnectedDate(r) {\n const request = r.toApiJson ? r : new UpdateLastConnectedDateRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesOpportunities/UpdateLastConnectedDate\", request.toApiJson(), this.apiOptions()).pipe(map(resp => UpdateLastConnectedDateResponse.fromProto(resp)));\n }\n updateLastActivityDate(r) {\n const request = r.toApiJson ? r : new UpdateLastActivityDateRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesOpportunities/UpdateLastActivityDate\", request.toApiJson(), this.apiOptions()).pipe(map(resp => UpdateLastActivityDateResponse.fromProto(resp)));\n }\n deleteOpportunity(r) {\n const request = r.toApiJson ? r : new DeleteOpportunityRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesOpportunities/DeleteOpportunity\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n reopenClosedOpportunity(r) {\n const request = r.toApiJson ? r : new ReopenClosedOpportunityRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesOpportunities/ReopenClosedOpportunity\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n updateOpportunityMarket(r) {\n const request = r.toApiJson ? r : new UpdateOpportunityMarketRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesOpportunities/UpdateOpportunityMarket\", request.toApiJson(), this.apiOptions()).pipe(map(resp => UpdateOpportunityMarketResponse.fromProto(resp)));\n }\n getSalespersonStats(r) {\n const request = r.toApiJson ? r : new SalespersonStatsRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesOpportunities/GetSalespersonStats\", request.toApiJson(), this.apiOptions()).pipe(map(resp => SalespersonStatsResponse.fromProto(resp)));\n }\n updateOpportunityTags(r) {\n const request = r.toApiJson ? r : new UpdateOpportunityTagsRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesOpportunities/UpdateOpportunityTags\", request.toApiJson(), this.apiOptions()).pipe(map(resp => UpdateOpportunityTagsResponse.fromProto(resp)));\n }\n getTagsForOpportunities(r) {\n const request = r.toApiJson ? r : new GetTagsForOpportunitiesRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesOpportunities/GetTagsForOpportunities\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetTagsForOpportunitiesResponse.fromProto(resp)));\n }\n updateOpportunityDuration(r) {\n const request = r.toApiJson ? r : new UpdateOpportunityDurationRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesOpportunities/UpdateOpportunityDuration\", request.toApiJson(), this.apiOptions()).pipe(map(resp => UpdateOpportunityDurationResponse.fromProto(resp)));\n }\n updateOpportunityPipeline(r) {\n const request = r.toApiJson ? r : new UpdateOpportunityPipelineRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesOpportunities/UpdateOpportunityPipeline\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n addAttachmentToOpportunity(r) {\n const request = r.toApiJson ? r : new AddAttachmentToOpportunityRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesOpportunities/AddAttachmentToOpportunity\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n updateClosedDateForOpportunity(r) {\n const request = r.toApiJson ? r : new UpdateClosedDateRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesOpportunities/UpdateClosedDateForOpportunity\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n updateLineItemsForOpportunity(r) {\n const request = r.toApiJson ? r : new UpdateLineItemsRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesOpportunities/UpdateLineItemsForOpportunity\", request.toApiJson(), this.apiOptions()).pipe(map(resp => UpdateLineItemsResponse.fromProto(resp)));\n }\n updateSubscriberUserIDsForOpportunity(r) {\n const request = r.toApiJson ? r : new UpdateSubscriberUserIDsRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesOpportunities/UpdateSubscriberUserIDsForOpportunity\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n getOpportunityValueByAccountGroups(r) {\n const request = r.toApiJson ? r : new GetOpportunityValueByAccountGroupsRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesOpportunities/GetOpportunityValueByAccountGroups\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetOpportunityValueByAccountGroupsResponse.fromProto(resp)));\n }\n initiateOpportunityExport(r) {\n const request = r.toApiJson ? r : new InitiateOpportunityExportRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesOpportunities/InitiateOpportunityExport\", request.toApiJson(), this.apiOptions()).pipe(map(resp => InitiateOpportunityExportResponse.fromProto(resp)));\n }\n }\n SalesOpportunitiesApiService.ɵfac = function SalesOpportunitiesApiService_Factory(t) {\n return new (t || SalesOpportunitiesApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n SalesOpportunitiesApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: SalesOpportunitiesApiService,\n factory: SalesOpportunitiesApiService.ɵfac,\n providedIn: 'root'\n });\n return SalesOpportunitiesApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nlet SalesPipelinesApiService = /*#__PURE__*/(() => {\n class SalesPipelinesApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n createPipeline(r) {\n const request = r.toApiJson ? r : new CreatePipelineRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesPipelines/CreatePipeline\", request.toApiJson(), this.apiOptions()).pipe(map(resp => CreatePipelineResponse.fromProto(resp)));\n }\n listPipelines(r) {\n const request = r.toApiJson ? r : new ListPipelinesRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesPipelines/ListPipelines\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListPipelinesResponse.fromProto(resp)));\n }\n updatePipelineName(r) {\n const request = r.toApiJson ? r : new UpdatePipelineNameRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesPipelines/UpdatePipelineName\", request.toApiJson(), this.apiOptions()).pipe(map(resp => UpdatePipelineNameResponse.fromProto(resp)));\n }\n updatePipelineStageName(r) {\n const request = r.toApiJson ? r : new UpdatePipelineStageNameRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesPipelines/UpdatePipelineStageName\", request.toApiJson(), this.apiOptions()).pipe(map(resp => UpdatePipelineStageNameResponse.fromProto(resp)));\n }\n updatePipelineStageProbability(r) {\n const request = r.toApiJson ? r : new UpdatePipelineStageProbabilityRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesPipelines/UpdatePipelineStageProbability\", request.toApiJson(), this.apiOptions()).pipe(map(resp => UpdatePipelineStageProbabilityResponse.fromProto(resp)));\n }\n setPipelineStages(r) {\n const request = r.toApiJson ? r : new SetPipelineStagesRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesPipelines/SetPipelineStages\", request.toApiJson(), this.apiOptions()).pipe(map(resp => SetPipelineStagesResponse.fromProto(resp)));\n }\n addPipelineStages(r) {\n const request = r.toApiJson ? r : new AddPipelineStagesRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesPipelines/AddPipelineStages\", request.toApiJson(), this.apiOptions()).pipe(map(resp => AddPipelineStagesResponse.fromProto(resp)));\n }\n removePipelineStages(r) {\n const request = r.toApiJson ? r : new RemovePipelineStagesRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesPipelines/RemovePipelineStages\", request.toApiJson(), this.apiOptions()).pipe(map(resp => RemovePipelineStagesResponse.fromProto(resp)));\n }\n deletePipeline(r) {\n const request = r.toApiJson ? r : new DeletePipelineRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesPipelines/DeletePipeline\", request.toApiJson(), this.apiOptions()).pipe(map(resp => DeletePipelineResponse.fromProto(resp)));\n }\n }\n SalesPipelinesApiService.ɵfac = function SalesPipelinesApiService_Factory(t) {\n return new (t || SalesPipelinesApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n SalesPipelinesApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: SalesPipelinesApiService,\n factory: SalesPipelinesApiService.ɵfac,\n providedIn: 'root'\n });\n return SalesPipelinesApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nlet SalesPipelinesAdminApiService = /*#__PURE__*/(() => {\n class SalesPipelinesAdminApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n restoreDeletedPipeline(r) {\n const request = r.toApiJson ? r : new RestoreDeletedPipelineRequest(r);\n return this.http.post(this._host + \"/salesopportunities.v1.SalesPipelinesAdmin/RestoreDeletedPipeline\", request.toApiJson(), this.apiOptions()).pipe(map(resp => RestoreDeletedPipelineResponse.fromProto(resp)));\n }\n }\n SalesPipelinesAdminApiService.ɵfac = function SalesPipelinesAdminApiService_Factory(t) {\n return new (t || SalesPipelinesAdminApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n SalesPipelinesAdminApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: SalesPipelinesAdminApiService,\n factory: SalesPipelinesAdminApiService.ɵfac,\n providedIn: 'root'\n });\n return SalesPipelinesAdminApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Index.\n// *********************************\n\nconst DEFAULT_PIPELINE_ID = 'DEFAULT';\nlet SalesOpportunitiesService = /*#__PURE__*/(() => {\n class SalesOpportunitiesService {\n constructor(_api) {\n this._api = _api;\n }\n updateOpportunityExpectedCloseDate(accountGroupId, opportunityId, editSalesPersonId, expectedCloseDate, createSalesActivity) {\n const req = {\n accountGroupId: accountGroupId,\n opportunityId: opportunityId,\n editSalesPersonId: editSalesPersonId,\n expectedCloseDate: expectedCloseDate,\n createSalesActivity: createSalesActivity ?? false\n };\n return this._api.updateOpportunityExpectedCloseDate(req).pipe(map(resp => resp.opportunity));\n }\n updateOpportunitySalesperson(accountGroupId, opportunityId, editSalesPersonId, salesPersonId, createSalesActivity) {\n const req = {\n accountGroupId: accountGroupId,\n opportunityId: opportunityId,\n editSalesPersonId: editSalesPersonId,\n salesPersonId: salesPersonId,\n createSalesActivity: createSalesActivity ?? false\n };\n return this._api.updateOpportunitySalesperson(req).pipe(map(resp => resp.opportunity));\n }\n addAttachment(opportunityId, accountGroupId, name, url) {\n return this._api.addAttachmentToOpportunity({\n opportunityId: opportunityId,\n accountGroupId: accountGroupId,\n name: name,\n url: url\n });\n }\n create(accountGroupId, salesPersonId, marketId, partnerId, expectedCloseDate, probability, pipelineId, name, packages, notes, tags, expectedContractDuration, lineItems, subscriberUserIds, opportunityType) {\n return this._api.createOpportunity(new CreateOpportunityRequest({\n accountGroupId: accountGroupId,\n salesPersonId: salesPersonId,\n marketId: marketId,\n partnerId: partnerId,\n packages: packages,\n expectedCloseDate: expectedCloseDate,\n probability: probability,\n name: name,\n notes: notes,\n tags: tags,\n expectedContractDuration: expectedContractDuration,\n pipelineId: pipelineId,\n lineItems: lineItems,\n subscriberUserIds: subscriberUserIds,\n opportunityType: opportunityType\n })).pipe(map(resp => resp.opportunity));\n }\n get(opportunityId, accountGroupId) {\n return this._api.getOpportunity({\n opportunityId: opportunityId,\n accountGroupId: accountGroupId\n }).pipe(map(resp => resp.opportunity));\n }\n getTags(partnerId, marketId) {\n return this._api.getTagsForOpportunities({\n partnerId,\n marketId\n }).pipe(map(resp => resp.tags || []));\n }\n updateTags(opportunityID, accountGroupID, editSalespersonID, tags) {\n return this._api.updateOpportunityTags({\n opportunityId: opportunityID,\n accountGroupId: accountGroupID,\n editSalesPersonId: editSalespersonID,\n tags: tags\n }).pipe(map(resp => resp.opportunity));\n }\n updateOpportunityNotes(opportunityId, accountGroupId, editSalesPersonId, notes) {\n return this._api.updateOpportunityNotes({\n opportunityId: opportunityId,\n accountGroupId: accountGroupId,\n editSalesPersonId: editSalesPersonId,\n notes: notes\n }).pipe(map(resp => resp.opportunity));\n }\n getOpportunityCountByAccountGroups(accountGroupIds, onlyOpen, partnerId, marketId) {\n return this._api.getOpportunityCountByAccountGroups({\n accountGroupIds: accountGroupIds,\n onlyUnclosed: onlyOpen,\n partnerId: partnerId,\n marketId: marketId\n }).pipe(map(resp => resp.results));\n }\n getOpportunityValueByAccountGroups(accountGroupIds, partnerId, marketId) {\n return this._api.getOpportunityValueByAccountGroups({\n accountGroupIds: accountGroupIds,\n partnerId: partnerId,\n marketId: marketId\n }).pipe(map(resp => resp.results));\n }\n modifyActualCloseDateForOpportunity(requestParams) {\n return this._api.updateClosedDateForOpportunity({\n opportunityId: requestParams.opportunityId,\n accountGroupId: requestParams.accountGroupId,\n editSalesPersonId: requestParams.editSalesPersonId,\n closedDate: requestParams.closedDate\n });\n }\n updateOpportunityPipeline(opportunityId, accountGroupId, editSalesPersonId, pipelineId) {\n return this._api.updateOpportunityPipeline({\n opportunityId: opportunityId,\n accountGroupId: accountGroupId,\n editSalesPersonId: editSalesPersonId,\n pipelineId: pipelineId\n });\n }\n updateOpportunityProbability(opportunityId, accountGroupId, editSalesPersonId, probability) {\n return this._api.updateOpportunityProbability({\n opportunityId: opportunityId,\n accountGroupId: accountGroupId,\n editSalesPersonId: editSalesPersonId,\n probability: probability\n }).pipe(map(resp => resp.opportunity));\n }\n updateOpportunityType(opportunityId, accountGroupId, opportunityType, editSalesPersonId) {\n return this._api.updateOpportunityType({\n opportunityId: opportunityId,\n accountGroupId: accountGroupId,\n opportunityType: opportunityType,\n editSalesPersonId: editSalesPersonId\n }).pipe(map(resp => resp.opportunity));\n }\n updateOpportunityDuration(opportunityId, accountGroupId, editSalesPersonId, expectedContractDuration) {\n return this._api.updateOpportunityDuration({\n opportunityId,\n accountGroupId,\n editSalesPersonId,\n expectedContractDuration\n }).pipe(map(resp => resp.opportunity));\n }\n updateLineItemsForOpportunity(opportunityId, accountGroupId, editSalesPersonId, lineItems) {\n return this._api.updateLineItemsForOpportunity({\n opportunityId,\n accountGroupId,\n editSalesPersonId,\n lineItems\n }).pipe(map(resp => resp.opportunity));\n }\n updateSubscriberUserIdsForOpportunity(opportunityId, accountGroupId, editSalesPersonId, subscriberUserIds) {\n return this._api.updateSubscriberUserIDsForOpportunity({\n opportunityId,\n accountGroupId,\n editSalesPersonId,\n subscriberUserIds\n });\n }\n list(partnerId, marketId, filters, sortOption, searchTerm, pageSize, cursor) {\n return this._api.listOpportunities({\n partnerId: partnerId,\n marketId: marketId,\n filters: filters,\n sortOption: sortOption,\n searchTerm: searchTerm,\n pageSize: pageSize,\n cursor: cursor\n }).pipe(map(resp => {\n if (!!resp.results) {\n resp.results.forEach(r => {\n if (!r.pipelineId || r.pipelineId === '') {\n r.pipelineId = DEFAULT_PIPELINE_ID;\n }\n });\n }\n return resp;\n }));\n }\n reopenOpportunity(opportunityId, accountGroupId, salesPersonId, reason) {\n const request = {\n opportunityId: opportunityId,\n accountGroupId: accountGroupId,\n editSalesPersonId: salesPersonId,\n reason: reason\n };\n return this._api.reopenClosedOpportunity(request).pipe(map(response => {\n return response.status === 200;\n }));\n }\n closeOpportunityAsWon(opportunityId, accountGroupId, salesPersonId, notes) {\n const request = {\n opportunityId: opportunityId,\n accountGroupId: accountGroupId,\n editSalesPersonId: salesPersonId,\n notes: notes\n };\n return this._api.closeAsWonOpportunity(request).pipe(map(response => response.opportunity));\n }\n closeOpportunityAsLost(opportunityId, accountGroupId, salesPersonId, reason, notes) {\n const request = {\n opportunityId: opportunityId,\n accountGroupId: accountGroupId,\n editSalesPersonId: salesPersonId,\n reason: reason,\n notes: notes\n };\n return this._api.closeAsLostOpportunity(request).pipe(map(response => response.opportunity));\n }\n initiateOpportunityExport(partnerId, marketId, filters, sortOption, searchTerm, csvExports, csvOptions, clientOrigin) {\n const request = {\n partnerId: partnerId,\n marketId: marketId,\n filters: filters,\n sortOption: sortOption,\n searchTerm: searchTerm,\n csvFormatOptions: csvOptions,\n csvExports: csvExports,\n clientOrigin: clientOrigin\n };\n return this._api.initiateOpportunityExport(request).pipe(map(response => response.exportId));\n }\n }\n SalesOpportunitiesService.ɵfac = function SalesOpportunitiesService_Factory(t) {\n return new (t || SalesOpportunitiesService)(i0.ɵɵinject(SalesOpportunitiesApiService));\n };\n SalesOpportunitiesService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: SalesOpportunitiesService,\n factory: SalesOpportunitiesService.ɵfac,\n providedIn: 'root'\n });\n return SalesOpportunitiesService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet SalesPipelinesService = /*#__PURE__*/(() => {\n class SalesPipelinesService {\n constructor(_api) {\n this._api = _api;\n }\n createPipeline(partnerId, name, stages) {\n const request = {\n partnerId: partnerId,\n name: name,\n stages: stages\n };\n return this._api.createPipeline(request);\n }\n list(partnerId) {\n const request = {\n partnerId: partnerId\n };\n return this._api.listPipelines(request).pipe(map(resp => {\n return resp.results;\n }));\n }\n updatePipelineName(partnerId, pipelineId, name) {\n const request = {\n partnerId: partnerId,\n name: name,\n pipelineId: pipelineId\n };\n return this._api.updatePipelineName(request);\n }\n updatePipelineStageName(partnerId, pipelineId, stageId, stageName) {\n const request = {\n partnerId: partnerId,\n pipelineId: pipelineId,\n stageId: stageId,\n stageName: stageName\n };\n return this._api.updatePipelineStageName(request);\n }\n updatePipelineStageProbability(partnerId, pipelineId, stageId, probability) {\n const request = {\n partnerId: partnerId,\n pipelineId: pipelineId,\n stageId: stageId,\n probability: probability\n };\n return this._api.updatePipelineStageProbability(request);\n }\n addPipelineStages(partnerId, pipelineId, stages) {\n const request = {\n partnerId: partnerId,\n pipelineId: pipelineId,\n stages: stages\n };\n return this._api.addPipelineStages(request);\n }\n removePipelineStages(partnerId, pipelineId, stageIds) {\n const request = {\n partnerId: partnerId,\n pipelineId: pipelineId,\n stageIds: stageIds\n };\n return this._api.removePipelineStages(request);\n }\n deletePipeline(partnerId, pipelineId) {\n const request = {\n partnerId: partnerId,\n pipelineId: pipelineId\n };\n return this._api.deletePipeline(request);\n }\n }\n SalesPipelinesService.ɵfac = function SalesPipelinesService_Factory(t) {\n return new (t || SalesPipelinesService)(i0.ɵɵinject(SalesPipelinesApiService));\n };\n SalesPipelinesService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: SalesPipelinesService,\n factory: SalesPipelinesService.ɵfac,\n providedIn: 'root'\n });\n return SalesPipelinesService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet OpportunityScoringService = /*#__PURE__*/(() => {\n class OpportunityScoringService {\n constructor(api, scoring) {\n this.api = api;\n this.scoring = scoring;\n }\n updateMEDDICScores(accountGroupId, opportunityId, meddicScores) {\n const req = {\n opportunityId: opportunityId,\n accountGroupId: accountGroupId,\n editSalesPersonId: '',\n metricScoreValue: meddicScores.metric,\n economicBuyerScoreValue: meddicScores.economicBuyer,\n decisionCriteriaScoreValue: meddicScores.decisionCriteria,\n decisionProcessScoreValue: meddicScores.decisionProcess,\n identifyPainScoreValue: meddicScores.identifyPain,\n championScoreValue: meddicScores.champion,\n competitionScoreValue: meddicScores.competition,\n paperProcessScoreValue: meddicScores.paperProcess\n };\n return this.scoring.updateMeddicScoringForOpportunity(req).pipe(take(1), mapTo(null));\n }\n getMEDDICScores(accountGroupId, opportunityId) {\n const req = {\n accountGroupId: accountGroupId,\n opportunityId: opportunityId\n };\n return this.scoring.getMeddicScores(req).pipe(map(response => ({\n metric: response.scores.metric || 0,\n economicBuyer: response.scores.economicBuyer || 0,\n decisionProcess: response.scores.decisionProcess || 0,\n decisionCriteria: response.scores.decisionCriteria || 0,\n identifyPain: response.scores.identifyPain || 0,\n champion: response.scores.champion || 0,\n competition: response.scores.competition || 0,\n paperProcess: response.scores.paperProcess || 0\n })));\n }\n updateMEDDICNotes(accountGroupId, opportunityId, editSalesPersonId, meddicSection, notes) {\n const req = {\n accountGroupId: accountGroupId,\n opportunityId: opportunityId,\n editSalesPersonId: editSalesPersonId,\n sectionName: meddicSection,\n sectionNotes: notes\n };\n return this.scoring.updateMeddicNotesForOpportunity(req).pipe(take(1), mapTo(null));\n }\n getMEDDICSections(accountGroupId, opportunityId) {\n const req = {\n accountGroupId: accountGroupId,\n opportunityId: opportunityId\n };\n return this.scoring.getMeddicSections(req).pipe(map(resp => {\n const sections = [];\n const scores = resp.sections.scores || [];\n scores.forEach(score => {\n const section = {\n sectionName: score.section,\n score: score.scoreValue || 0,\n notes: score.notes\n };\n sections.push(section);\n });\n return sections;\n }));\n }\n }\n OpportunityScoringService.ɵfac = function OpportunityScoringService_Factory(t) {\n return new (t || OpportunityScoringService)(i0.ɵɵinject(SalesOpportunitiesApiService), i0.ɵɵinject(OpportunityScoringApiService));\n };\n OpportunityScoringService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: OpportunityScoringService,\n factory: OpportunityScoringService.ɵfac,\n providedIn: 'root'\n });\n return OpportunityScoringService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet GoalsService = /*#__PURE__*/(() => {\n class GoalsService {\n constructor(_api) {\n this._api = _api;\n }\n create(createRequest) {\n return this._api.create(createRequest);\n }\n update(updateRequest) {\n return this._api.update(updateRequest);\n }\n list(listRequest) {\n return this._api.list(listRequest);\n }\n get(id) {\n const getRequest = {\n id: id\n };\n return this._api.get(getRequest);\n }\n delete(partnerId, id) {\n const deleteRequest = {\n id: id,\n partnerId: partnerId\n };\n return this._api.delete(deleteRequest);\n }\n archive(partnerId, id) {\n const archiveGoalRequest = {\n id: id,\n partnerId: partnerId\n };\n return this._api.archive(archiveGoalRequest);\n }\n }\n GoalsService.ɵfac = function GoalsService_Factory(t) {\n return new (t || GoalsService)(i0.ɵɵinject(GoalsApiService));\n };\n GoalsService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: GoalsService,\n factory: GoalsService.ɵfac,\n providedIn: 'root'\n });\n return GoalsService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { CSVExports, CSVFormatOptions, ClientOrigin, CreateOpportunityRequest, CreateOpportunityRequestCreateOpportunityPackage, Currency, DateRangeFilter, Duration, DurationPeriod, GetTagsForOpportunitiesRequest, GoalType, GoalsService, LineItem, LineItemAppKey, ListOpportunitiesRequest, ListOpportunitiesRequestFilters, ListOpportunitiesRequestSortField, ListOpportunitiesRequestSortOption, ListOpportunitiesResponse, MEDDICSection, Opportunity, OpportunityCount, OpportunityRevenuePeriod, OpportunityScoringService, OpportunityValue, Package, Revenue, RevenueComponent, RevenuePeriod, RevenuePeriodFilter, SalesOpportunitiesApiService, SalesOpportunitiesService, SalesPipelinesService, Scoring, SortDirection, UpdateLineItemsRequest, UpdateLineItemsResponse };\n","import { BadgeColor } from '@vendasta/galaxy/badge';\n\nexport const DefaultChipStyling = {\n selectedChipColor: 'blue' as BadgeColor,\n unselectedChipColor: 'grey' as BadgeColor,\n};\n","import { ChangeDetectionStrategy, Component, Input, computed, signal } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { GalaxyBadgeModule } from '@vendasta/galaxy/badge';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { DefaultChipStyling } from './interfaces';\nimport { MatRippleModule } from '@angular/material/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\n\ntype ComponentSize = 'default' | 'large';\nconst SelectedChipIcon = 'done';\n\n@Component({\n selector: 'crm-chip',\n templateUrl: './chip.component.html',\n styleUrls: ['./chip.component.scss'],\n standalone: true,\n imports: [CommonModule, GalaxyBadgeModule, MatIconModule, MatRippleModule, TranslateModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ChipComponent {\n private readonly _icon = signal(undefined);\n private readonly _selected = signal(false);\n private readonly _hideLabelWhenSelected = signal(false);\n\n @Input({ transform: coerceBooleanProperty })\n set hideLabelWhenSelected(value: boolean) {\n this._hideLabelWhenSelected.set(value);\n }\n @Input()\n set icon(value: string | undefined) {\n this._icon.set(value);\n }\n get icon(): string | undefined {\n return this._icon();\n }\n @Input({ required: true }) label = '';\n @Input({ transform: coerceBooleanProperty })\n set selected(value: boolean) {\n this._selected.set(value);\n }\n get selected(): boolean {\n return this._selected();\n }\n @Input() size: ComponentSize = 'default';\n\n protected readonly color = computed(() => {\n return this._selected() ? DefaultChipStyling.selectedChipColor! : DefaultChipStyling.unselectedChipColor!;\n });\n protected readonly chipIcon = computed(() => {\n if (this._selected() && !this._hideLabelWhenSelected()) {\n return SelectedChipIcon;\n }\n return this._icon();\n });\n\n protected readonly hideLabel = computed(() => {\n if (!this._icon()) {\n return false;\n }\n if (this._selected()) {\n return false;\n }\n return this._hideLabelWhenSelected() || false;\n });\n}\n","\n \n \n {{ chipIcon }}\n \n \n {{ label | translate }}\n \n\n","import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output } from '@angular/core';\nimport { ChipComponent } from '../chip/chip.component';\nimport { CommonModule } from '@angular/common';\nimport { ChipListItem } from './interfaces';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\n\ntype ComponentSize = 'default' | 'large';\n\n@Component({\n selector: 'crm-chip-list',\n templateUrl: './chip-list.component.html',\n styleUrls: ['./chip-list.component.scss'],\n standalone: true,\n imports: [ChipComponent, CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ChipListComponent {\n @Input({ transform: coerceBooleanProperty }) hideLabelWhenSelected = false;\n\n @Input({ required: true }) items: ChipListItem[] = [];\n\n @Input() selected?: T;\n @Output() selectedChange = new EventEmitter();\n\n @Input() size: ComponentSize = 'default';\n\n @HostListener('focusin') onFocusIn(): void {\n this.captureFocus = true;\n this.focusedIndex = this.items?.findIndex((item) => item.value === this.selected) ?? -1;\n }\n @HostListener('focusout') onFocusOut(): void {\n this.captureFocus = false;\n this.focusedIndex = -1;\n }\n\n protected focusedIndex = -1;\n protected captureFocus = false;\n\n protected handleChipClick(value: T): void {\n this.setSelected(value);\n }\n\n protected handleKeyDown(event: KeyboardEvent): void {\n switch (event.code) {\n case 'ArrowLeft':\n if (--this.focusedIndex < 0) {\n this.focusedIndex = this.items.length - 1;\n }\n break;\n case 'ArrowRight':\n if (++this.focusedIndex >= this.items.length) {\n this.focusedIndex = 0;\n }\n break;\n case 'Enter':\n case 'Space':\n this.setSelected(this.items?.[this.focusedIndex]?.value);\n if (event.target instanceof HTMLElement) {\n if (event.target?.nextElementSibling instanceof HTMLElement) {\n event.target.nextElementSibling.focus();\n }\n }\n break;\n default:\n return;\n }\n event.preventDefault();\n }\n\n protected setSelected(value: T): void {\n if (this.selected === value) {\n return;\n }\n this.selected = value;\n this.selectedChange.emit(value);\n }\n}\n","\n
\n
\n \n
\n \n\n","import { CommonModule } from '@angular/common';\nimport { Component, Input } from '@angular/core';\nimport { GalaxyAvatarModule } from '@vendasta/galaxy/avatar';\nimport { AVATAR_WIDTH } from '../../constants';\n\n// We should switch to using the GalaxyAvatarModule in the future if it gets an option for this.\n\n@Component({\n selector: 'crm-unknown-user-avatar',\n template: `\n \n \n `,\n providers: [],\n imports: [CommonModule, GalaxyAvatarModule],\n standalone: true,\n})\nexport class CrmUnknownUserAvatarComponent {\n @Input() width: number = AVATAR_WIDTH;\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { ActivityAssociationInterface, ActivityInterface, FieldValueInterface } from '@vendasta/crm';\nimport { IAMService, UserIdentifier } from '@vendasta/iamv2';\nimport { Observable, of } from 'rxjs';\nimport { distinctUntilChanged, map, shareReplay, switchMap } from 'rxjs/operators';\nimport { UserWithFullName } from './logger/interfaces';\nimport { CrmInjectionToken, ActivityType, CrmDependencies } from '../../../tokens-and-interfaces';\nimport { ActivityService } from '../../../shared-services';\n\n@Injectable()\nexport class ActivityLoggerService {\n user$ = new Observable();\n\n constructor(\n @Inject(CrmInjectionToken) private readonly config: CrmDependencies,\n private activityService: ActivityService,\n private readonly iamService: IAMService,\n ) {\n this.user$ = this.config.currentUserId$.pipe(\n distinctUntilChanged(),\n switchMap((currentUserId) => {\n return this.iamService.getUser(new UserIdentifier({ userId: currentUserId }));\n }),\n map((user) => ({\n ...user,\n fullName: `${user.firstName} ${user.lastName}`.trim(),\n })),\n shareReplay(1),\n );\n }\n\n addActivity(\n activityType: ActivityType,\n fields: FieldValueInterface[],\n associations: ActivityAssociationInterface[],\n ownerId?: string,\n ): Observable {\n const cleanAssociations = associations.map((association) => ({\n crmObjectId: association.crmObjectId,\n crmObjectType: association.crmObjectType,\n }));\n const activity = {\n crmObjectSubtype: activityType,\n fields: fields,\n associations: cleanAssociations,\n ownerId: ownerId,\n } as ActivityInterface;\n\n return this.activityService.createActivity(activity);\n }\n\n getActivity(activityId: string): Observable {\n return this.activityService.getMultiActivities([activityId]).pipe(map((activities) => activities[0]));\n }\n\n updateActivity(\n activityId: string,\n activityType: ActivityType,\n fields: FieldValueInterface[],\n associations: ActivityAssociationInterface[],\n ownerId?: string,\n fieldMask?: string[],\n ): Observable {\n const cleanAssociations = [] as ActivityAssociationInterface[];\n associations.forEach((association) => {\n cleanAssociations.push({\n crmObjectId: association.crmObjectId,\n crmObjectType: association.crmObjectType,\n });\n });\n const activity = {\n crmObjectId: activityId,\n crmObjectSubtype: activityType,\n fields: fields,\n associations: cleanAssociations,\n // ownerId: ownerId,\n } as ActivityInterface;\n\n if (fieldMask?.length) {\n // Omit fields that are currently not supported by update endpoint\n if (fieldMask.includes('ownerId')) {\n fieldMask = fieldMask?.filter((path) => path !== 'ownerId');\n }\n }\n\n if (!fieldMask?.length) {\n return of(activityId);\n }\n\n return this.activityService.updateActivity(activity, { paths: fieldMask }).pipe(map(() => activityId));\n }\n}\n","import { Directive, Input } from '@angular/core';\n\ntype Placement = 'after-description' | 'fields';\n\n@Directive({\n selector: '[crmLoggerContent]',\n standalone: true,\n})\nexport class CrmLoggerContentDirective {\n @Input() set crmLoggerContent(value: Placement) {\n this.placement = value;\n }\n placement?: Placement;\n}\n","import { TextFieldModule } from '@angular/cdk/text-field';\nimport { CommonModule } from '@angular/common';\nimport { AfterViewInit, Component, ElementRef, Input, ViewChild, Output, EventEmitter } from '@angular/core';\nimport { FormBuilder, FormGroupDirective, ReactiveFormsModule } from '@angular/forms';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ActivityInterface, FieldValueInterface } from '@vendasta/crm';\nimport { GalaxyFormFieldModule } from '@vendasta/galaxy/form-field';\nimport { format as formatDate } from 'date-fns-tz';\nimport { CrmFieldService, StandardIds } from '../../../../shared-services/crm-services/field.service';\nimport { TranslationModule } from '../../../../i18n/translation-module';\nimport { ActivityDirection, ActivityOutcome, CallStatus } from '../activity.interface';\nimport { CrmLoggerContentDirective } from './logger-content.directive';\nimport { LoggerComponentInterface } from './interfaces';\nimport { requiredFormGroupFieldsIf } from './validators';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { distinctUntilChanged } from 'rxjs';\n\n@Component({\n selector: 'crm-activity-logger-call',\n templateUrl: './call.component.html',\n styleUrls: ['./shared.scss'],\n imports: [\n CommonModule,\n TranslateModule,\n TranslationModule,\n GalaxyFormFieldModule,\n MatSelectModule,\n MatDatepickerModule,\n MatInputModule,\n ReactiveFormsModule,\n TextFieldModule,\n CrmLoggerContentDirective,\n ],\n standalone: true,\n})\nexport class CrmActivityLoggerCallComponent implements LoggerComponentInterface, AfterViewInit {\n @Input() set activity(value: ActivityInterface | null) {\n this.setValues(value);\n }\n @Input({ transform: coerceBooleanProperty }) mobile: boolean | null = null;\n @Input()\n set description(value: string | null) {\n this.formGroup.patchValue({ loggedCallNote: value || '' }, { emitEvent: false });\n }\n @Output() descriptionChange = new EventEmitter();\n\n @ViewChild('form') formGroupDirective!: FormGroupDirective;\n @ViewChild('defaultInput') defaultInput?: ElementRef;\n\n protected showErrors = false;\n protected readonly ActivityDirection = ActivityDirection;\n protected readonly CallStatus = CallStatus;\n protected readonly ActivityOutcome = ActivityOutcome;\n protected readonly textRows = 6;\n\n formGroup = new FormBuilder().nonNullable.group(\n {\n loggedCallNote: '',\n loggedCallDirection: '',\n loggedCallDate: formatDate(new Date(), \"yyyy-MM-dd'T'HH:mm\"),\n loggedCallStatus: '',\n loggedCallOutcome: '',\n },\n {\n validators: requiredFormGroupFieldsIf(\n () => this.showErrors,\n ['loggedCallNote', 'loggedCallDirection', 'loggedCallDate'],\n ),\n },\n );\n\n constructor(private readonly fieldsService: CrmFieldService) {\n this.formGroup.controls.loggedCallNote.valueChanges\n .pipe(takeUntilDestroyed(), distinctUntilChanged())\n .subscribe((value) => this.descriptionChange.emit(value));\n }\n\n ngAfterViewInit(): void {\n this.defaultInput?.nativeElement?.focus();\n }\n\n validate(): void {\n this.showErrors = true;\n this.formGroup.markAllAsTouched();\n this.updateValueAndValidity();\n }\n\n updateValueAndValidity(): void {\n this.formGroup.updateValueAndValidity();\n }\n\n private setValues(activity: ActivityInterface | null): void {\n if (activity) {\n const callDate = this.fieldsService.getFieldValueFromCrmObject(activity, StandardIds.ActivityCallDate);\n const callBody = this.fieldsService.getFieldValueFromCrmObject(activity, StandardIds.ActivityCallBody);\n const callDirection = this.fieldsService.getFieldValueFromCrmObject(activity, StandardIds.ActivityCallDirection);\n const callStatus = this.fieldsService.getFieldValueFromCrmObject(activity, StandardIds.ActivityCallStatus);\n const callOutcome = this.fieldsService.getFieldValueFromCrmObject(activity, StandardIds.ActivityCallOutcome);\n\n this.formGroup.setValue({\n loggedCallNote: callBody?.stringValue || '',\n loggedCallDirection: callDirection?.stringValue || '',\n loggedCallDate: callDate?.dateValue ? formatDate(callDate.dateValue, \"yyyy-MM-dd'T'HH:mm\") : '',\n loggedCallStatus: callStatus?.stringValue || '',\n loggedCallOutcome: callOutcome?.stringValue || '',\n });\n } else if (this.formGroup.dirty) {\n this.resetForm();\n }\n }\n\n getValues(): FieldValueInterface[] {\n const formValues = this.formGroup.getRawValue();\n return [\n {\n fieldId: StandardIds.ActivityCallDate,\n dateValue: formValues.loggedCallDate ? new Date(formValues.loggedCallDate) : undefined,\n },\n {\n fieldId: StandardIds.ActivityCallBody,\n stringValue: formValues.loggedCallNote,\n },\n {\n fieldId: StandardIds.ActivityCallDirection,\n stringValue: formValues.loggedCallDirection,\n },\n {\n fieldId: StandardIds.ActivityCallStatus,\n stringValue: formValues.loggedCallStatus,\n },\n {\n fieldId: StandardIds.ActivityCallOutcome,\n stringValue: formValues.loggedCallOutcome,\n },\n ] as FieldValueInterface[];\n }\n\n resetForm(): void {\n this.showErrors = false;\n this.formGroup.reset({\n loggedCallNote: this.description || '',\n loggedCallDate: formatDate(new Date(), \"yyyy-MM-dd'T'HH:mm\"),\n });\n this.updateValueAndValidity();\n }\n}\n","
\n
\n \n \n \n \n \n {{ 'ACTIVITY_LOGGER.ERROR_REQUIRE_DESCRIPTION' | translate }}\n \n \n \n \n
\n \n
\n \n \n \n \n \n \n {{ 'ACTIVITY_LOGGER.ERROR_REQUIRE_CALL_DATE' | translate }}\n \n \n \n \n \n {{ 'ACTIVITY.OUTBOUND' | translate }}\n {{ 'ACTIVITY.INBOUND' | translate }}\n \n \n \n {{ 'ACTIVITY_LOGGER.ERROR_REQUIRE_CALL_DIRECTION' | translate }}\n \n \n \n \n \n \n \n {{ 'ACTIVITY.CALL.CONNECTED' | translate }}\n {{ 'ACTIVITY.CALL.BUSY' | translate }}\n {{ 'ACTIVITY.CALL.REJECTED' | translate }}\n \n {{ 'ACTIVITY.CALL.LEFT_VOICEMAIL' | translate }}\n \n {{ 'ACTIVITY.CALL.NO_ANSWER' | translate }}\n \n {{ 'ACTIVITY.CALL.NOT_IN_SERVICE' | translate }}\n \n \n {{ 'ACTIVITY.CALL.WRONG_NUMBER' | translate }}\n \n \n \n \n \n \n {{ 'ACTIVITY.OUTCOME_OPTIONS.NO_INTEREST' | translate }}\n \n \n {{ 'ACTIVITY.OUTCOME_OPTIONS.INTERESTED' | translate }}\n \n \n {{ 'ACTIVITY.OUTCOME_OPTIONS.QUALITY_CONNECT' | translate }}\n \n \n {{ 'ACTIVITY.OUTCOME_OPTIONS.DEMO_SCHEDULED' | translate }}\n \n \n {{ 'ACTIVITY.OUTCOME_OPTIONS.TIMELINE_6_12_MONTHS' | translate }}\n \n \n {{ 'ACTIVITY.OUTCOME_OPTIONS.RESCHEDULING' | translate }}\n \n \n {{ 'ACTIVITY.OUTCOME_OPTIONS.REFERRED_TO_ANOTHER_CONTACT' | translate }}\n \n \n \n \n \n
\n
\n","import { TextFieldModule } from '@angular/cdk/text-field';\nimport { CommonModule } from '@angular/common';\nimport { AfterViewInit, Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroupDirective, ReactiveFormsModule } from '@angular/forms';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ActivityInterface, FieldValueInterface } from '@vendasta/crm';\nimport { GalaxyFormFieldModule } from '@vendasta/galaxy/form-field';\nimport { format as formatDate } from 'date-fns-tz';\nimport { CrmFieldService, StandardIds } from '../../../../shared-services';\nimport { TranslationModule } from '../../../../i18n/translation-module';\nimport { ActivityDirection } from '../activity.interface';\nimport { CrmLoggerContentDirective } from './logger-content.directive';\nimport { LoggerComponentInterface } from './interfaces';\nimport { requiredFormGroupFieldsIf } from './validators';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { distinctUntilChanged } from 'rxjs';\n\n@Component({\n selector: 'crm-activity-logger-email',\n templateUrl: './email.component.html',\n styleUrls: ['./shared.scss'],\n imports: [\n CommonModule,\n TranslateModule,\n TranslationModule,\n MatIconModule,\n GalaxyFormFieldModule,\n MatSelectModule,\n MatDatepickerModule,\n MatInputModule,\n ReactiveFormsModule,\n TextFieldModule,\n CrmLoggerContentDirective,\n ],\n standalone: true,\n})\nexport class CrmActivityLoggerEmailComponent implements LoggerComponentInterface, AfterViewInit {\n @Input() set activity(value: ActivityInterface | null) {\n this.setValues(value);\n }\n @Input({ transform: coerceBooleanProperty }) mobile: boolean | null = null;\n @Input()\n set description(value: string | null) {\n this.formGroup.patchValue({ loggedEmailDescription: value || '' }, { emitEvent: false });\n }\n @Output() descriptionChange = new EventEmitter();\n\n @ViewChild('form') formGroupDirective!: FormGroupDirective;\n @ViewChild('defaultInput') defaultInput?: ElementRef;\n\n protected showErrors = false;\n protected readonly ActivityDirection = ActivityDirection;\n protected readonly textRows = 6;\n\n formGroup = new FormBuilder().nonNullable.group(\n {\n loggedEmailDescription: '',\n loggedEmailDirection: '',\n loggedEmailDate: formatDate(new Date(), \"yyyy-MM-dd'T'HH:mm\"),\n },\n {\n validators: requiredFormGroupFieldsIf(\n () => this.showErrors,\n ['loggedEmailDescription', 'loggedEmailDirection', 'loggedEmailDate'],\n ),\n },\n );\n\n constructor(private readonly fieldsService: CrmFieldService) {\n this.formGroup.controls.loggedEmailDescription.valueChanges\n .pipe(takeUntilDestroyed(), distinctUntilChanged())\n .subscribe((value) => this.descriptionChange.emit(value));\n }\n\n ngAfterViewInit(): void {\n this.defaultInput?.nativeElement?.focus();\n }\n\n validate(): void {\n this.showErrors = true;\n this.formGroup.markAllAsTouched();\n this.updateValueAndValidity();\n }\n\n updateValueAndValidity(): void {\n this.formGroup.updateValueAndValidity();\n }\n\n private setValues(activity: ActivityInterface | null): void {\n if (activity) {\n const emailDate = this.fieldsService.getFieldValueFromCrmObject(activity, StandardIds.ActivityEmailDate);\n const emailBody = this.fieldsService.getFieldValueFromCrmObject(activity, StandardIds.ActivityEmailBody);\n const emailDirection = this.fieldsService.getFieldValueFromCrmObject(\n activity,\n StandardIds.ActivityEmailDirection,\n );\n\n this.formGroup.setValue({\n loggedEmailDescription: emailBody?.stringValue || '',\n loggedEmailDirection: emailDirection?.stringValue || '',\n loggedEmailDate: emailDate?.dateValue ? formatDate(emailDate.dateValue, \"yyyy-MM-dd'T'HH:mm\") : '',\n });\n } else if (this.formGroup.dirty) {\n this.resetForm();\n }\n }\n\n getValues(): FieldValueInterface[] {\n const formValues = this.formGroup.getRawValue();\n return [\n {\n fieldId: StandardIds.ActivityEmailDate,\n dateValue: formValues.loggedEmailDate ? new Date(formValues.loggedEmailDate) : undefined,\n },\n {\n fieldId: StandardIds.ActivityEmailBody,\n stringValue: formValues.loggedEmailDescription,\n },\n {\n fieldId: StandardIds.ActivityEmailDirection,\n stringValue: formValues.loggedEmailDirection,\n },\n ] as FieldValueInterface[];\n }\n\n resetForm(): void {\n this.showErrors = false;\n this.formGroup.reset({\n loggedEmailDescription: this.description || '',\n loggedEmailDate: formatDate(new Date(), \"yyyy-MM-dd'T'HH:mm\"),\n });\n this.updateValueAndValidity();\n }\n}\n","
\n
\n \n \n \n \n \n {{ 'ACTIVITY_LOGGER.ERROR_REQUIRE_DESCRIPTION' | translate }}\n \n \n \n \n
\n \n
\n \n \n \n \n \n \n {{ 'ACTIVITY_LOGGER.ERROR_REQUIRE_EMAIL_DATE' | translate }}\n \n \n \n \n \n {{ 'ACTIVITY.OUTBOUND' | translate }}\n {{ 'ACTIVITY.INBOUND' | translate }}\n \n {{ 'ACTIVITY.FORWARDED' | translate }}\n \n \n \n \n {{ 'ACTIVITY_LOGGER.ERROR_REQUIRE_EMAIL_DIRECTION' | translate }}\n \n \n \n \n \n
\n
\n","import { TextFieldModule } from '@angular/cdk/text-field';\nimport { CommonModule } from '@angular/common';\nimport { AfterViewInit, Component, ElementRef, Input, ViewChild, Output, EventEmitter } from '@angular/core';\nimport { FormBuilder, FormGroupDirective, ReactiveFormsModule } from '@angular/forms';\nimport { MatInputModule } from '@angular/material/input';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ActivityInterface, FieldValueInterface } from '@vendasta/crm';\nimport { GalaxyFormFieldModule } from '@vendasta/galaxy/form-field';\nimport { CrmFieldService, StandardIds } from '../../../../shared-services/crm-services/field.service';\nimport { TranslationModule } from '../../../../i18n/translation-module';\nimport { format as formatDate } from 'date-fns-tz';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatSelectModule } from '@angular/material/select';\nimport { ActivityOutcome, MeetingDuration, MeetingStatus } from '../activity.interface';\nimport { LoggerComponentInterface } from './interfaces';\nimport { requiredFormGroupFieldsIf } from './validators';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { distinctUntilChanged } from 'rxjs';\n\n@Component({\n selector: 'crm-activity-logger-meeting',\n templateUrl: './meeting.component.html',\n styleUrls: ['./shared.scss'],\n imports: [\n CommonModule,\n TranslateModule,\n TranslationModule,\n GalaxyFormFieldModule,\n MatInputModule,\n ReactiveFormsModule,\n TextFieldModule,\n MatDatepickerModule,\n MatSelectModule,\n ],\n standalone: true,\n})\nexport class CrmActivityLoggerMeetingComponent implements LoggerComponentInterface, AfterViewInit {\n @Input() set activity(value: ActivityInterface | null) {\n this.setValues(value);\n }\n @Input({ transform: coerceBooleanProperty }) mobile: boolean | null = null;\n @Input()\n set description(value: string | null) {\n this.formGroup.patchValue({ loggedMeetingNote: value || '' }, { emitEvent: false });\n }\n @Output() descriptionChange = new EventEmitter();\n\n @ViewChild('form') formGroupDirective!: FormGroupDirective;\n @ViewChild('defaultInput') defaultInput?: ElementRef;\n\n protected showErrors = false;\n protected readonly ActivityOutcome = ActivityOutcome;\n protected readonly MeetingDuration = MeetingDuration;\n protected readonly MeetingStatus = MeetingStatus;\n protected readonly textRows = 6;\n\n formGroup = new FormBuilder().nonNullable.group(\n {\n loggedMeetingNote: '',\n loggedMeetingStatus: '',\n loggedMeetingOutcome: '',\n loggedMeetingDuration: 0,\n loggedMeetingDate: formatDate(new Date(), \"yyyy-MM-dd'T'HH:mm\"),\n },\n {\n validators: requiredFormGroupFieldsIf(() => this.showErrors, ['loggedMeetingNote', 'loggedMeetingDate']),\n },\n );\n\n constructor(private readonly fieldsService: CrmFieldService) {\n this.formGroup.controls.loggedMeetingNote.valueChanges\n .pipe(takeUntilDestroyed(), distinctUntilChanged())\n .subscribe((value) => this.descriptionChange.emit(value));\n }\n\n ngAfterViewInit(): void {\n this.defaultInput?.nativeElement?.focus();\n }\n\n resetForm(): void {\n this.showErrors = false;\n this.formGroup.reset({\n loggedMeetingNote: this.description || '',\n loggedMeetingDate: formatDate(new Date(), \"yyyy-MM-dd'T'HH:mm\"),\n });\n this.updateValueAndValidity();\n }\n\n getValues(): FieldValueInterface[] {\n const formValues = this.formGroup.getRawValue();\n return [\n {\n fieldId: StandardIds.ActivityMeetingStartTime,\n dateValue: formValues.loggedMeetingDate ? new Date(formValues.loggedMeetingDate) : undefined,\n },\n {\n fieldId: StandardIds.ActivityMeetingBody,\n stringValue: formValues.loggedMeetingNote,\n },\n {\n fieldId: StandardIds.ActivityMeetingStatus,\n stringValue: formValues.loggedMeetingStatus,\n },\n {\n fieldId: StandardIds.ActivityMeetingOutcome,\n stringValue: formValues.loggedMeetingOutcome,\n },\n {\n fieldId: StandardIds.ActivityMeetingDuration,\n integerValue: formValues.loggedMeetingDuration,\n },\n ] as FieldValueInterface[];\n }\n\n private setValues(activity: ActivityInterface | null): void {\n if (activity) {\n const meetingDate = this.fieldsService.getFieldValueFromCrmObject(activity, StandardIds.ActivityMeetingStartTime);\n const meetingBody = this.fieldsService.getFieldValueFromCrmObject(activity, StandardIds.ActivityMeetingBody);\n const meetingStatus = this.fieldsService.getFieldValueFromCrmObject(activity, StandardIds.ActivityMeetingStatus);\n const meetingOutcome = this.fieldsService.getFieldValueFromCrmObject(\n activity,\n StandardIds.ActivityMeetingOutcome,\n );\n const meetingDuration = this.fieldsService.getFieldValueFromCrmObject(\n activity,\n StandardIds.ActivityMeetingDuration,\n );\n\n this.formGroup.setValue({\n loggedMeetingDate: meetingDate?.dateValue ? formatDate(meetingDate.dateValue, \"yyyy-MM-dd'T'HH:mm\") : '',\n loggedMeetingNote: meetingBody?.stringValue || '',\n loggedMeetingStatus: meetingStatus?.stringValue || '',\n loggedMeetingOutcome: meetingOutcome?.stringValue || '',\n loggedMeetingDuration: meetingDuration?.integerValue || 0,\n });\n } else if (this.formGroup.dirty) {\n this.resetForm();\n }\n }\n\n validate(): void {\n this.showErrors = true;\n this.formGroup.markAllAsTouched();\n this.updateValueAndValidity();\n }\n\n updateValueAndValidity(): void {\n this.formGroup.updateValueAndValidity();\n }\n}\n","
\n
\n \n \n \n \n \n {{ 'ACTIVITY_LOGGER.ERROR_REQUIRE_DESCRIPTION' | translate }}\n \n \n \n \n
\n \n
\n \n \n \n \n \n \n {{ 'ACTIVITY_LOGGER.ERROR_REQUIRE_MEETING_DATE' | translate }}\n \n \n \n \n \n \n {{ 'ACTIVITY.MEETING.5_MIN' | translate }}\n \n \n {{ 'ACTIVITY.MEETING.15_MIN' | translate }}\n \n \n {{ 'ACTIVITY.MEETING.30_MIN' | translate }}\n \n \n {{ 'ACTIVITY.MEETING.1_HOUR' | translate }}\n \n \n {{ 'ACTIVITY.MEETING.1_HOUR_30_MIN' | translate }}\n \n \n {{ 'ACTIVITY.MEETING.2_HOURS_OR_MORE' | translate }}\n \n \n \n \n \n \n \n \n {{ 'ACTIVITY.MEETING.SCHEDULED' | translate }}\n \n \n {{ 'ACTIVITY.MEETING.RESCHEDULED' | translate }}\n \n \n {{ 'ACTIVITY.MEETING.COMPLETED' | translate }}\n \n \n {{ 'ACTIVITY.MEETING.CANCELLED' | translate }}\n \n {{ 'ACTIVITY.MEETING.NO_SHOW' | translate }}\n \n \n \n {{ 'ACTIVITY_LOGGER.ERROR_REQUIRE_MEETING_STATUS' | translate }}\n \n \n \n \n \n \n {{ 'ACTIVITY.OUTCOME_OPTIONS.NO_INTEREST' | translate }}\n \n \n {{ 'ACTIVITY.OUTCOME_OPTIONS.INTERESTED' | translate }}\n \n \n {{ 'ACTIVITY.OUTCOME_OPTIONS.QUALITY_CONNECT' | translate }}\n \n \n {{ 'ACTIVITY.OUTCOME_OPTIONS.DEMO_SCHEDULED' | translate }}\n \n \n {{ 'ACTIVITY.OUTCOME_OPTIONS.TIMELINE_6_12_MONTHS' | translate }}\n \n \n {{ 'ACTIVITY.OUTCOME_OPTIONS.RESCHEDULING' | translate }}\n \n \n {{ 'ACTIVITY.OUTCOME_OPTIONS.REFERRED_TO_ANOTHER_CONTACT' | translate }}\n \n \n \n \n \n
\n
\n","import { COMMA, ENTER } from '@angular/cdk/keycodes';\nimport { TextFieldModule } from '@angular/cdk/text-field';\nimport { CommonModule } from '@angular/common';\nimport { AfterViewInit, Component, ElementRef, Inject, Input, ViewChild, Output, EventEmitter } from '@angular/core';\nimport { FormBuilder, FormGroupDirective, ReactiveFormsModule } from '@angular/forms';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ActivityInterface, FieldValueInterface } from '@vendasta/crm';\nimport { GalaxyFormFieldModule } from '@vendasta/galaxy/form-field';\nimport { CrmFieldService, StandardIds } from '../../../../shared-services/crm-services/field.service';\nimport { TranslationModule } from '../../../../i18n/translation-module';\nimport { LoggerComponentInterface } from './interfaces';\nimport { requiredFormGroupFieldsIf } from './validators';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { distinctUntilChanged } from 'rxjs';\nimport { CrmInjectionToken, CrmDependencies } from '../../../../tokens-and-interfaces';\n\n@Component({\n selector: 'crm-activity-logger-note',\n templateUrl: './note.component.html',\n styleUrls: ['./shared.scss'],\n imports: [\n CommonModule,\n TranslateModule,\n TranslationModule,\n MatIconModule,\n MatChipsModule,\n GalaxyFormFieldModule,\n MatInputModule,\n ReactiveFormsModule,\n TextFieldModule,\n MatAutocompleteModule,\n MatTooltipModule,\n ],\n standalone: true,\n})\nexport class CrmActivityLoggerNoteComponent implements LoggerComponentInterface, AfterViewInit {\n @Input() set activity(value: ActivityInterface | null) {\n this.setValues(value);\n }\n @Input({ transform: coerceBooleanProperty }) mobile: boolean | null = null;\n @Input()\n set description(value: string | null) {\n this.formGroup.patchValue({ noteBody: value || '' }, { emitEvent: false });\n }\n @Output() descriptionChange = new EventEmitter();\n\n @ViewChild('form') formGroupDirective!: FormGroupDirective;\n @ViewChild('defaultInput') defaultInput?: ElementRef;\n\n protected showErrors = false;\n protected readonly textRows = 6;\n\n formGroup = new FormBuilder().nonNullable.group(\n {\n noteBody: '',\n },\n {\n validators: requiredFormGroupFieldsIf(() => this.showErrors, ['noteBody']),\n },\n );\n\n separatorKeyCodes: number[] = [ENTER, COMMA];\n\n constructor(\n @Inject(CrmInjectionToken) private readonly config: CrmDependencies,\n private readonly fieldsService: CrmFieldService,\n ) {\n this.formGroup.controls.noteBody.valueChanges\n .pipe(takeUntilDestroyed(), distinctUntilChanged())\n .subscribe((value) => this.descriptionChange.emit(value));\n }\n\n ngAfterViewInit(): void {\n this.defaultInput?.nativeElement?.focus();\n }\n\n resetForm(): void {\n this.showErrors = false;\n this.formGroup.reset({ noteBody: this.description || '' });\n this.updateValueAndValidity();\n }\n\n getValues(): FieldValueInterface[] {\n const formValues = this.formGroup.getRawValue();\n\n const loggedNoteField = {\n fieldId: StandardIds.ActivityNoteBody,\n stringValue: formValues.noteBody,\n } as FieldValueInterface;\n\n return [loggedNoteField];\n }\n\n private setValues(activity: ActivityInterface | null): void {\n if (activity) {\n const noteBody = this.fieldsService.getFieldValueFromCrmObject(activity, StandardIds.ActivityNoteBody);\n\n this.formGroup.setValue({\n noteBody: noteBody?.stringValue || '',\n });\n } else if (this.formGroup.dirty) {\n this.resetForm();\n }\n }\n\n validate(): void {\n this.showErrors = true;\n this.formGroup.markAllAsTouched();\n this.updateValueAndValidity();\n }\n\n updateValueAndValidity(): void {\n this.formGroup.updateValueAndValidity();\n }\n}\n","
\n
\n \n \n \n \n \n {{ 'ACTIVITY_LOGGER.ERROR_REQUIRE_DESCRIPTION' | translate }}\n \n \n \n \n
\n \n
\n \n
\n
\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, Input, Output, computed, inject } from '@angular/core';\nimport { LoggerAssociation } from './interfaces';\nimport { CrmActivityLoggerAssociationComponent } from './association.component';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { CrmActivityLoggerAssociationField } from './association-field.component';\nimport { Observable, debounceTime, distinctUntilChanged, firstValueFrom, map, of, switchMap } from 'rxjs';\nimport { ObjectAssociationType } from '../../../../tokens-and-interfaces';\nimport { SimplifiedUser } from '../../../../tokens-and-interfaces';\nimport { CompanyTableCustomizationService } from '../../../../shared-services';\n\n@Component({\n selector: 'crm-activity-logger-team-association',\n templateUrl: './team-association.component.html',\n imports: [CommonModule, CrmActivityLoggerAssociationComponent],\n standalone: true,\n})\nexport class CrmActivityLoggerTeamAssociationComponent extends CrmActivityLoggerAssociationField {\n @Input({ required: true }) set associations(value: LoggerAssociation[]) {\n this.setAssociations(value);\n }\n @Input() fixedId: string | null = null;\n @Input({ transform: coerceBooleanProperty }) mobile: boolean | null = null;\n @Input() placeholder = '';\n\n @Output() associationsChange = new EventEmitter();\n\n protected readonly customizationService = inject(CompanyTableCustomizationService);\n protected readonly crmObjectType = 'User';\n protected readonly userService = this.config.services?.userService;\n protected readonly filteredAssociationsList = computed(() => {\n const associations = this.associationsList();\n return associations.filter((association) => association.crmObjectId !== this.fixedId);\n });\n\n protected override async fetchObjects(objectIds: string[]): Promise {\n const users = this.userService ? await firstValueFrom(this.userService.getMultiUsers(objectIds)) : [];\n return this.mapAssociations(users);\n }\n\n protected override setupSearchTerm(): Observable {\n return this.searchTerm$$.asObservable().pipe(\n debounceTime(500),\n distinctUntilChanged(),\n switchMap((search) => this.userService?.searchUsers?.(search) ?? of([])),\n map((filteredOptions) => this.mapAssociations(filteredOptions)),\n map((filteredOptions) => filteredOptions.filter((o) => o.crmObjectId !== this.fixedId)),\n );\n }\n\n private mapAssociations(users: SimplifiedUser[]): LoggerAssociation[] {\n return (\n users?.map(\n (option) =>\n ({\n name: option.displayName,\n crmObjectId: option.userId,\n crmObjectType: this.crmObjectType,\n } as LoggerAssociation),\n ) || []\n );\n }\n\n handleAdd(association: LoggerAssociation): void {\n const associations = this.associationsList();\n if (!associations.find((a) => a.crmObjectId === association.crmObjectId)) {\n const newAssociations = [...associations, association];\n this.associationsList.set(newAssociations);\n this.associationsChange.emit(newAssociations);\n }\n }\n\n handleRemove(association: LoggerAssociation): void {\n const associations = this.associationsList().filter((a) => a.crmObjectId !== association.crmObjectId);\n this.associationsList.set(associations);\n this.associationsChange.emit(associations);\n }\n\n handleSearchTermChange(searchTerm?: unknown): void {\n this.updateSearchTerm(searchTerm);\n }\n}\n","\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, Input, Output, inject } from '@angular/core';\nimport { LoggerAssociation } from './interfaces';\nimport { CrmActivityLoggerAssociationComponent } from './association.component';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { CrmActivityLoggerAssociationField } from './association-field.component';\nimport { Observable, debounceTime, distinctUntilChanged, firstValueFrom, map, of, switchMap } from 'rxjs';\nimport { ObjectAssociationType } from '../../../../tokens-and-interfaces';\nimport { SimplifiedOpportunity } from '../../../../tokens-and-interfaces';\nimport { CompanyTableCustomizationService } from '../../../../shared-services';\n\n@Component({\n selector: 'crm-activity-logger-opportunity-association',\n templateUrl: './opportunity-association.component.html',\n imports: [CommonModule, CrmActivityLoggerAssociationComponent],\n standalone: true,\n})\nexport class CrmActivityLoggerOpportunityAssociationComponent extends CrmActivityLoggerAssociationField {\n @Input({ required: true }) set accountGroupId(value: string | null) {\n this.opportunityService?.setAccountGroupId(value ?? '');\n }\n @Input({ required: true }) set associations(value: LoggerAssociation[]) {\n this.setAssociations(value);\n }\n @Input({ transform: coerceBooleanProperty }) mobile: boolean | null = null;\n @Input() placeholder = '';\n\n @Output() associationsChange = new EventEmitter();\n\n protected readonly customizationService = inject(CompanyTableCustomizationService);\n protected readonly crmObjectType = 'Opportunity';\n protected readonly opportunityService = this.config.services?.opportunityService;\n\n protected override async fetchObjects(objectIds: string[]): Promise {\n const opportunities = this.opportunityService\n ? await firstValueFrom(this.opportunityService.getMultiOpportunity(objectIds))\n : [];\n return this.mapAssociations(opportunities);\n }\n\n protected override setupSearchTerm(): Observable {\n return this.searchTerm$$.asObservable().pipe(\n debounceTime(500),\n distinctUntilChanged(),\n switchMap((search) => (this.opportunityService ? this.opportunityService.searchOpportunities(search) : of([]))),\n map((filteredOptions) => this.mapAssociations(filteredOptions)),\n );\n }\n\n private mapAssociations(opportunities: SimplifiedOpportunity[]): LoggerAssociation[] {\n return (\n opportunities?.map(\n (option) =>\n ({\n name: option.name,\n crmObjectId: option.opportunityId,\n crmObjectType: this.crmObjectType,\n } as LoggerAssociation),\n ) || []\n );\n }\n\n handleAdd(association: LoggerAssociation): void {\n const associations = this.associationsList();\n if (!associations.find((a) => a.crmObjectId === association.crmObjectId)) {\n const newAssociations = [...associations, association];\n this.associationsList.set(newAssociations);\n this.associationsChange.emit(newAssociations);\n }\n }\n\n handleRemove(association: LoggerAssociation): void {\n const associations = this.associationsList().filter((a) => a.crmObjectId !== association.crmObjectId);\n this.associationsList.set(associations);\n this.associationsChange.emit(associations);\n }\n\n handleSearchTermChange(searchTerm?: unknown): void {\n this.updateSearchTerm(searchTerm);\n }\n}\n","\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { COMMA, ENTER } from '@angular/cdk/keycodes';\nimport { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, Inject, Input, Output, signal } from '@angular/core';\nimport { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { MatAutocompleteModule, MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';\nimport { MatChipEvent, MatChipInputEvent, MatChipsModule } from '@angular/material/chips';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { GalaxyFormFieldModule } from '@vendasta/galaxy/form-field';\nimport { Observable, combineLatest, debounceTime, map } from 'rxjs';\nimport { startWith, switchMap } from 'rxjs/operators';\nimport { CrmInjectionToken, CrmDependencies } from '../../../../tokens-and-interfaces';\nimport { TranslationModule } from '../../../../i18n/translation-module';\nimport { CrmObjectService, StandardIds } from '../../../../shared-services';\n\n@Component({\n selector: 'crm-activity-logger-tags',\n templateUrl: './tags.component.html',\n imports: [\n CommonModule,\n GalaxyFormFieldModule,\n ReactiveFormsModule,\n MatChipsModule,\n MatIconModule,\n TranslationModule,\n MatAutocompleteModule,\n MatTooltipModule,\n ],\n standalone: true,\n})\nexport class CrmActivityLoggerTagsComponent {\n @Input({ transform: coerceBooleanProperty }) mobile: boolean | null = null;\n\n @Input({ required: true }) set tags(value: string[]) {\n this.activityTags.set(value);\n }\n @Output() tagsChanged = new EventEmitter();\n\n protected showErrors = false;\n\n noteTagsCtrl = new FormControl([]);\n formGroup = new FormGroup({\n loggedNoteTags: this.noteTagsCtrl,\n });\n\n filteredTags$: Observable;\n separatorKeyCodes: number[] = [ENTER, COMMA];\n tagsCtrl = new FormControl('');\n protected readonly activityTags = signal([]);\n\n constructor(\n @Inject(CrmInjectionToken) private readonly config: CrmDependencies,\n private readonly crmObjectService: CrmObjectService,\n ) {\n const tagTextSearch$ = this.tagsCtrl.valueChanges.pipe(startWith(''));\n this.filteredTags$ = combineLatest([tagTextSearch$, this.config.namespace$]).pipe(\n debounceTime(500),\n switchMap(([searchTerm, namespace]) => {\n return this.crmObjectService.listFieldOptions('Activity', {\n namespace: namespace,\n fieldId: StandardIds.ActivityTags,\n pageSize: 50,\n searchTerm: searchTerm ?? '',\n });\n }),\n map((resp) => resp.options ?? []),\n );\n }\n\n addNewTag(event: MatChipInputEvent): void {\n this.addTag(event.value);\n this.tagsCtrl.setValue(null);\n }\n\n selectedTag(tag: MatAutocompleteSelectedEvent): void {\n if (!tag?.option?.value) {\n return;\n }\n this.addTag(tag.option.value);\n this.tagsCtrl.setValue(null);\n }\n\n private addTag(tag: string): void {\n const tags = this.activityTags();\n if (!tags.includes(tag)) {\n tags.push(tag);\n this.activityTags.set(tags);\n this.noteTagsCtrl.setValue(tags);\n this.noteTagsCtrl.markAsDirty();\n this.tagsChanged.emit(tags);\n }\n }\n\n removeTag(event: MatChipEvent): void {\n const tag = event.chip.value;\n const tags = this.activityTags().filter((t) => t !== tag);\n this.activityTags.set(tags);\n this.noteTagsCtrl.setValue(tags);\n this.noteTagsCtrl.markAsDirty();\n this.tagsChanged.emit(tags);\n }\n}\n","\n \n \n {{ tag }}\n \n \n \n \n\n\n \n \n {{ tag }}\n \n \n\n","import { Component, EventEmitter, Input, OnDestroy, Output, ViewChild } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BehaviorSubject, tap } from 'rxjs';\nimport { GalaxyFormFieldModule } from '@vendasta/galaxy/form-field';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { FormBuilder, FormGroupDirective, ReactiveFormsModule } from '@angular/forms';\nimport { format as formatDate } from 'date-fns-tz';\nimport { ActivityTaskType, ActivityTaskTypeTranslationKeys } from '../activity.interface';\nimport { MatInputModule } from '@angular/material/input';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { TextFieldModule } from '@angular/cdk/text-field';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { FieldValueInterface } from '@vendasta/crm';\nimport { CrmFieldService, StandardIds } from '../../../../shared-services';\nimport { DEFAULT_TASK_STATUS, STANDARD_DATE_FORMAT } from './constants';\nimport { TranslationModule } from '../../../../i18n';\n\n@Component({\n selector: 'crm-activity-logger-follow-up-task',\n standalone: true,\n imports: [\n CommonModule,\n TranslateModule,\n TranslationModule,\n GalaxyFormFieldModule,\n MatInputModule,\n ReactiveFormsModule,\n TextFieldModule,\n MatDatepickerModule,\n MatSelectModule,\n MatButtonModule,\n MatIconModule,\n ],\n templateUrl: './follow-up-task.component.html',\n styleUrls: ['./follow-up-task.component.scss'],\n})\nexport class CrmActivityLoggerFollowUpTaskComponent implements OnDestroy {\n @Input({ transform: coerceBooleanProperty }) mobile: boolean | null = null;\n @ViewChild('form') formGroupDirective!: FormGroupDirective;\n\n @Output() expandedChanged = new EventEmitter();\n private isExpanded$$ = new BehaviorSubject(false);\n isExpanded$ = this.isExpanded$$.asObservable().pipe(tap((isExpanded) => this.expandedChanged.emit(isExpanded)));\n\n private today = new Date();\n formGroup = new FormBuilder().nonNullable.group({\n taskDueDate: formatDate(this.today.setDate(this.today.getDate() + 3), STANDARD_DATE_FORMAT),\n taskType: ActivityTaskType.ToDo,\n });\n\n protected readonly taskTypes = ActivityTaskTypeTranslationKeys;\n\n constructor(private readonly fieldsService: CrmFieldService, private readonly translateService: TranslateService) {}\n\n toggleExpanded(isExpanded: boolean) {\n this.isExpanded$$.next(isExpanded);\n }\n\n getValues(crmObjectName: string): FieldValueInterface[] {\n const formValues = this.formGroup.getRawValue();\n const followUpWith = this.translateService.instant('ACTIVITY_LOGGER.LOGGED_FOLLOW_UP_TASK.FOLLOW_UP_WITH');\n return [\n {\n fieldId: this.fieldsService.getFieldId(StandardIds.ActivityName),\n stringValue: `${followUpWith} ${crmObjectName}`,\n },\n {\n fieldId: this.fieldsService.getFieldId(StandardIds.ActivityTaskDueDate),\n dateValue: formValues.taskDueDate ? new Date(formValues.taskDueDate) : undefined,\n },\n {\n fieldId: this.fieldsService.getFieldId(StandardIds.ActivityTaskType),\n stringValue: formValues.taskType,\n },\n {\n fieldId: this.fieldsService.getFieldId(StandardIds.ActivityTaskStatus),\n stringValue: DEFAULT_TASK_STATUS,\n },\n ] as FieldValueInterface[];\n }\n\n ngOnDestroy(): void {\n this.expandedChanged.emit(false);\n }\n}\n","\n + {{ 'ACTIVITY_LOGGER.LOGGED_FOLLOW_UP_TASK.CREATE' | translate }}\n\n\n {{ 'ACTIVITY_LOGGER.LOGGED_FOLLOW_UP_TASK.TITLE' | translate }}\n
\n \n \n \n \n \n \n \n \n {{ type.nameKey | translate }}\n \n \n \n \n \n
\n \n
\n","import { AfterViewInit, Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { CommunicationSubType } from '../../../../tokens-and-interfaces';\nimport { TranslationModule } from '../../../../i18n/translation-module';\nimport { MatIconModule } from '@angular/material/icon';\nimport { GalaxyFormFieldModule } from '@vendasta/galaxy/form-field';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatInputModule } from '@angular/material/input';\nimport { FormBuilder, FormGroupDirective, ReactiveFormsModule } from '@angular/forms';\nimport { TextFieldModule } from '@angular/cdk/text-field';\nimport { CrmLoggerContentDirective } from './logger-content.directive';\nimport { LoggerComponentInterface } from './interfaces';\nimport { ActivityInterface, FieldValueInterface } from '@vendasta/crm';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { requiredFormGroupFieldsIf } from './validators';\nimport { ActivityOutcome } from '../activity.interface';\nimport { format as formatDate } from 'date-fns-tz';\nimport { CrmFieldService, StandardIds } from '../../../../shared-services/crm-services/field.service';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { distinctUntilChanged } from 'rxjs';\n\n@Component({\n selector: 'crm-activity-logger-communication',\n templateUrl: './communication.component.html',\n styleUrls: ['./shared.scss'],\n imports: [\n CommonModule,\n TranslateModule,\n TranslationModule,\n MatIconModule,\n GalaxyFormFieldModule,\n MatSelectModule,\n MatDatepickerModule,\n MatInputModule,\n ReactiveFormsModule,\n TextFieldModule,\n CrmLoggerContentDirective,\n ],\n standalone: true,\n})\nexport class CrmActivityLoggerCommunicationComponent implements LoggerComponentInterface, AfterViewInit {\n @Input() set communicationType(value: CommunicationSubType) {\n this.formGroup.patchValue({ loggedCommunicationChannel: value });\n }\n @Input() set activity(value: ActivityInterface | null) {\n this.setValues(value);\n }\n @Input({ transform: coerceBooleanProperty }) mobile: boolean | null = null;\n\n @Input()\n set description(value: string | null) {\n this.formGroup.patchValue({ loggedCommunicationBody: value || '' }, { emitEvent: false });\n }\n @Output() descriptionChange = new EventEmitter();\n\n @ViewChild('form') formGroupDirective!: FormGroupDirective;\n @ViewChild('defaultInput') defaultInput?: ElementRef;\n\n protected showErrors = false;\n protected readonly textRows = 6;\n protected readonly ActivityOutcome = ActivityOutcome;\n\n formGroup = new FormBuilder().nonNullable.group(\n {\n loggedCommunicationChannel: '',\n loggedCommunicationOutcome: '',\n loggedCommunicationFromId: '',\n loggedCommunicationToId: '',\n loggedCommunicationBody: '',\n loggedCommunicationDate: formatDate(new Date(), \"yyyy-MM-dd'T'HH:mm\"),\n },\n {\n validators: requiredFormGroupFieldsIf(\n () => this.showErrors,\n ['loggedCommunicationBody', 'loggedCommunicationDate'],\n ),\n },\n );\n\n constructor(private readonly fieldsService: CrmFieldService) {\n this.formGroup.controls.loggedCommunicationBody.valueChanges\n .pipe(takeUntilDestroyed(), distinctUntilChanged())\n .subscribe((value) => this.descriptionChange.emit(value));\n }\n\n ngAfterViewInit(): void {\n this.defaultInput?.nativeElement?.focus();\n }\n\n validate(): void {\n this.showErrors = true;\n this.formGroup.markAllAsTouched();\n this.updateValueAndValidity();\n }\n\n updateValueAndValidity(): void {\n this.formGroup.updateValueAndValidity();\n }\n\n private setValues(activity: ActivityInterface | null): void {\n if (activity) {\n const communicationChannel = this.fieldsService.getFieldValueFromCrmObject(\n activity,\n StandardIds.ActivityCommunicationChannel,\n );\n const communicationOutcome = this.fieldsService.getFieldValueFromCrmObject(\n activity,\n StandardIds.ActivityCommunicationOutcome,\n );\n const communicationFromId = this.fieldsService.getFieldValueFromCrmObject(\n activity,\n StandardIds.ActivityCommunicationFromId,\n );\n const communicationToId = this.fieldsService.getFieldValueFromCrmObject(\n activity,\n StandardIds.ActivityCommunicationToId,\n );\n const communicationBody = this.fieldsService.getFieldValueFromCrmObject(\n activity,\n StandardIds.ActivityCommunicationBody,\n );\n const communicationDate = this.fieldsService.getFieldValueFromCrmObject(\n activity,\n StandardIds.ActivityCommunicationDate,\n );\n\n this.formGroup.setValue({\n loggedCommunicationChannel: communicationChannel?.stringValue || '',\n loggedCommunicationOutcome: communicationOutcome?.stringValue || '',\n loggedCommunicationFromId: communicationFromId?.stringValue || '',\n loggedCommunicationToId: communicationToId?.stringValue || '',\n loggedCommunicationBody: communicationBody?.stringValue || '',\n loggedCommunicationDate: communicationDate?.dateValue\n ? formatDate(communicationDate.dateValue, \"yyyy-MM-dd'T'HH:mm\")\n : '',\n });\n } else if (this.formGroup.dirty) {\n this.resetForm();\n }\n }\n\n getValues(): FieldValueInterface[] {\n const formValues = this.formGroup.getRawValue();\n return [\n {\n fieldId: StandardIds.ActivityCommunicationChannel,\n stringValue: formValues.loggedCommunicationChannel,\n },\n {\n fieldId: StandardIds.ActivityCommunicationBody,\n stringValue: formValues.loggedCommunicationBody,\n },\n {\n fieldId: StandardIds.ActivityCommunicationOutcome,\n stringValue: formValues.loggedCommunicationOutcome,\n },\n {\n fieldId: StandardIds.ActivityCommunicationToId,\n stringValue: formValues.loggedCommunicationToId,\n },\n {\n fieldId: StandardIds.ActivityCommunicationFromId,\n stringValue: formValues.loggedCommunicationFromId,\n },\n {\n fieldId: StandardIds.ActivityCommunicationDate,\n dateValue: formValues.loggedCommunicationDate ? new Date(formValues.loggedCommunicationDate) : undefined,\n },\n ] as FieldValueInterface[];\n }\n\n resetForm(): void {\n this.showErrors = false;\n this.formGroup.reset({\n loggedCommunicationBody: this.description || '',\n loggedCommunicationDate: formatDate(new Date(), \"yyyy-MM-dd'T'HH:mm\"),\n });\n this.updateValueAndValidity();\n }\n}\n","
\n
\n \n \n \n \n \n {{ 'ACTIVITY_LOGGER.ERROR_REQUIRE_DESCRIPTION' | translate }}\n \n \n \n \n
\n \n
\n \n \n \n \n \n \n {{ 'ACTIVITY_LOGGER.ERROR_REQUIRE_COMMUNICATION_DATE' | translate }}\n \n \n \n \n \n \n {{ 'ACTIVITY.OUTCOME_OPTIONS.NO_INTEREST' | translate }}\n \n \n {{ 'ACTIVITY.OUTCOME_OPTIONS.INTERESTED' | translate }}\n \n \n {{ 'ACTIVITY.OUTCOME_OPTIONS.QUALITY_CONNECT' | translate }}\n \n \n {{ 'ACTIVITY.OUTCOME_OPTIONS.DEMO_SCHEDULED' | translate }}\n \n \n {{ 'ACTIVITY.OUTCOME_OPTIONS.TIMELINE_6_12_MONTHS' | translate }}\n \n \n {{ 'ACTIVITY.OUTCOME_OPTIONS.REFERRED_TO_ANOTHER_CONTACT' | translate }}\n \n \n \n \n {{ 'ACTIVITY_LOGGER.ERROR_REQUIRE_COMMUNICATION_OUTCOME' | translate }}\n \n \n \n \n \n
\n
\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, Inject, Input, Output, ViewChild, signal } from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { TranslateModule } from '@ngx-translate/core';\nimport {\n ActivityAssociationInterface,\n ActivityInterface,\n CrmObjectInterface,\n FieldValueInterface,\n StringListInterface,\n} from '@vendasta/crm';\nimport { GalaxyAvatarModule } from '@vendasta/galaxy/avatar';\nimport { GalaxyButtonLoadingIndicatorModule } from '@vendasta/galaxy/button-loading-indicator';\nimport { GalaxyFormFieldModule } from '@vendasta/galaxy/form-field';\nimport { SnackbarService } from '@vendasta/galaxy/snackbar-service';\nimport { User } from '@vendasta/iamv2';\nimport { switchWhenFalsy } from '@vendasta/rx-utils';\nimport { ObservableWorkState } from '@vendasta/rx-utils/work-state';\nimport {\n BehaviorSubject,\n Observable,\n ReplaySubject,\n combineLatest,\n firstValueFrom,\n map,\n of,\n tap,\n from,\n shareReplay,\n} from 'rxjs';\nimport { distinctUntilChanged, filter, mergeMap, switchMap, withLatestFrom } from 'rxjs/operators';\nimport { ChipListComponent, ChipListItem } from '../../chip-list';\nimport { DropDownOptionsButton } from '../../chip-list/interfaces';\nimport { CrmUnknownUserAvatarComponent } from '../../unknown-user-avatar/unknown-user-avatar.component';\nimport {\n CrmInjectionToken,\n CrmDependencies,\n ActivityType,\n CommunicationSubType,\n ObjectType,\n} from '../../../tokens-and-interfaces';\nimport { AVATAR_WIDTH, SNACKBAR_DURATION } from '../../../constants';\nimport { ObjectAssociationType } from '../../../tokens-and-interfaces';\nimport { CrmTruncatePipe } from '../../../shared-pipes/truncate.pipe';\nimport { TranslationModule } from '../../../i18n/translation-module';\nimport { ActivityLoggerService } from './activity-logger.service';\nimport {\n LoggerAssociation,\n CrmActivityLoggerCallComponent,\n CrmActivityLoggerCompanyAssociationComponent,\n CrmActivityLoggerContactAssociationComponent,\n CrmActivityLoggerEmailComponent,\n CrmActivityLoggerMeetingComponent,\n CrmActivityLoggerNoteComponent,\n CrmActivityLoggerOpportunityAssociationComponent,\n CrmActivityLoggerTagsComponent,\n CrmActivityLoggerTaskComponent,\n CrmActivityLoggerTeamAssociationComponent,\n CrmLoggerContentDirective,\n LoggerComponentInterface,\n CrmActivityLoggerFollowUpTaskComponent,\n} from './logger';\nimport { CrmActivityLoggerCommunicationComponent } from './logger/communication.component';\nimport {\n CrmObjectService,\n CrmFieldService,\n CrmAssociationService,\n StandardIds,\n PlatformExtensionFieldIds,\n StandardExternalIds,\n} from '../../../shared-services';\n\nconst DEFAULT_SELECTED_ACTIVITY_TYPE: ActivityType = 'Note';\n// matches the `sm` column size\nconst DEFAULT_MOBILE_BREAKPOINT = '600px';\n\ntype SelectableActivityType = ChipListItem;\n\nconst SELECTABLE_ACTIVITY_TYPES: SelectableActivityType[] = [\n {\n value: 'Note',\n label: 'ACTIVITY_TYPES.NOTE',\n icon: 'notes',\n },\n {\n value: 'Email',\n label: 'ACTIVITY_TYPES.EMAIL',\n icon: 'email',\n },\n {\n value: 'Call',\n label: 'ACTIVITY_TYPES.CALL',\n icon: 'phone',\n },\n {\n value: 'Meeting',\n label: 'ACTIVITY_TYPES.MEETING',\n icon: 'calendar_today',\n },\n {\n value: 'Task',\n label: 'ACTIVITY_TYPES.TASK',\n icon: 'assignment_turned_in',\n },\n];\n\ntype SelectableCommunicationType = DropDownOptionsButton;\n\nconst SELECTABLE_COMMUNICATION_TYPES: SelectableCommunicationType[] = [\n {\n value: 'SMS',\n label: 'ACTIVITY_TYPES.COMMUNICATION_SUBTYPES.SMS',\n },\n {\n value: 'Inbox',\n label: 'ACTIVITY_TYPES.COMMUNICATION_SUBTYPES.INBOX',\n },\n {\n value: 'LinkedIn',\n label: 'ACTIVITY_TYPES.COMMUNICATION_SUBTYPES.LINKEDIN',\n },\n];\n\ntype Layout = 'auto' | 'mobile';\n\nconst manuallyLoggedFieldValue: FieldValueInterface = {\n fieldId: StandardIds.ActivityManuallyLogged,\n booleanValue: true,\n};\n\n@Component({\n selector: 'crm-activity-logger',\n templateUrl: './activity-logger.component.html',\n styleUrls: ['./activity-logger.component.scss', './logger/shared.scss'],\n imports: [\n CommonModule,\n TranslateModule,\n TranslationModule,\n MatCardModule,\n MatIconModule,\n MatAutocompleteModule,\n MatChipsModule,\n MatButtonModule,\n GalaxyAvatarModule,\n GalaxyFormFieldModule,\n MatInputModule,\n ReactiveFormsModule,\n CrmUnknownUserAvatarComponent,\n MatTooltipModule,\n GalaxyButtonLoadingIndicatorModule,\n ChipListComponent,\n CrmLoggerContentDirective,\n CrmActivityLoggerNoteComponent,\n CrmActivityLoggerEmailComponent,\n CrmActivityLoggerCallComponent,\n CrmActivityLoggerMeetingComponent,\n CrmActivityLoggerTaskComponent,\n CrmTruncatePipe,\n CrmActivityLoggerContactAssociationComponent,\n CrmActivityLoggerCompanyAssociationComponent,\n CrmActivityLoggerTeamAssociationComponent,\n CrmActivityLoggerOpportunityAssociationComponent,\n CrmActivityLoggerCommunicationComponent,\n MatMenuModule,\n CrmActivityLoggerTagsComponent,\n CrmActivityLoggerFollowUpTaskComponent,\n ],\n providers: [ActivityLoggerService],\n standalone: true,\n})\nexport class CrmActivityLoggerComponent {\n @ViewChild(CrmActivityLoggerNoteComponent) loggerNoteComponent?: CrmActivityLoggerNoteComponent;\n @ViewChild(CrmActivityLoggerEmailComponent) loggerEmailComponent?: CrmActivityLoggerEmailComponent;\n @ViewChild(CrmActivityLoggerCallComponent) loggerCallComponent?: CrmActivityLoggerCallComponent;\n @ViewChild(CrmActivityLoggerMeetingComponent) loggerMeetingComponent?: CrmActivityLoggerMeetingComponent;\n @ViewChild(CrmActivityLoggerTaskComponent) loggerTaskComponent?: CrmActivityLoggerTaskComponent;\n @ViewChild(CrmActivityLoggerCommunicationComponent)\n loggerCommunicationComponent?: CrmActivityLoggerCommunicationComponent;\n @ViewChild(CrmActivityLoggerFollowUpTaskComponent)\n loggerFollowUpTaskComponent?: CrmActivityLoggerFollowUpTaskComponent;\n\n AVATAR_WIDTH = AVATAR_WIDTH;\n SELECTABLE_ACTIVITY_TYPES = SELECTABLE_ACTIVITY_TYPES;\n SELECTABLE_COMMUNICATION_TYPES = SELECTABLE_COMMUNICATION_TYPES;\n activityTypeSelected?: ActivityType;\n communicationSubTypeSelected?: CommunicationSubType;\n collapsed = signal(true);\n sharedDescription: string | null = '';\n\n private readonly layout$$: BehaviorSubject = new BehaviorSubject('auto');\n readonly mobileLayout$: Observable;\n\n private readonly objectType$$ = new ReplaySubject(1);\n protected objectType$ = this.objectType$$.asObservable();\n protected isCompany$: Observable = this.objectType$.pipe(map((objectType) => objectType === 'Company'));\n @Input({ required: true }) set objectType(value: ObjectType) {\n this.objectType$$.next(value);\n }\n\n private readonly crmObjectId$$ = new ReplaySubject(1);\n protected crmObjectId$ = this.crmObjectId$$.asObservable();\n @Input({ required: true }) set crmObjectId(value: string) {\n this.crmObjectId$$.next(value);\n }\n\n public user$ = this.activityLoggerService.user$;\n protected activityOwnerId$: Observable;\n @Input() activityOwner?: User;\n\n /**\n * Associations to be added to the activity. These are not visible to the user.\n */\n @Input() extraAssociations?: ActivityAssociationInterface[];\n /**\n * Hide Company and Contact association fields.\n */\n @Input() hideAssociations = false;\n\n /**\n * Expand and select the activity type when provided.\n */\n @Input() set expandAndSelectType(value: string | undefined) {\n const activityType = value ? (value as ActivityType) : DEFAULT_SELECTED_ACTIVITY_TYPE;\n this.onActivityTypeChanged(activityType);\n }\n\n /**\n * Layout of the activity logger.\n * Use `mobile` to display the activity logger in a mobile layout disregarding the screen size.\n */\n @Input() set layout(value: Layout) {\n this.layout$$.next(value);\n }\n /**\n * When an Activity ID is passed in assume we are editing.\n */\n private readonly crmActivityId$$ = new BehaviorSubject('');\n protected crmActivityId$ = this.crmActivityId$$.asObservable();\n protected isEditing$: Observable;\n @Input() set crmActivityId(value: string) {\n this.crmActivityId$$.next(value);\n }\n\n @Output() activityCreated: EventEmitter = new EventEmitter();\n @Output() activityUpdated: EventEmitter = new EventEmitter();\n @Output() cancel: EventEmitter = new EventEmitter();\n\n activity$$ = new BehaviorSubject(null);\n activity$ = this.activity$$.asObservable();\n\n associations = signal([]);\n contactAssociations: LoggerAssociation[] = [];\n companyAssociations: LoggerAssociation[] = [];\n teamAssociations: LoggerAssociation[] = [];\n opportunityAssociations: LoggerAssociation[] = [];\n\n tags$$ = new BehaviorSubject([]);\n tags$ = this.tags$$.asObservable();\n\n private readonly upsertActivityWorkState$ = new ObservableWorkState();\n protected readonly upsertActivityButtonLoading$ = this.upsertActivityWorkState$.isLoading$;\n\n protected showTeamMemberInput = false;\n protected showOpportunityInput = false;\n protected readonly primaryAccountGroupId$: Observable;\n private readonly crmObjectName$: Observable;\n private readonly crmObject$: Observable;\n private readonly followUpExpanded$$ = new BehaviorSubject(false);\n\n constructor(\n @Inject(CrmInjectionToken) private readonly config: CrmDependencies,\n private activityLoggerService: ActivityLoggerService,\n private crmObjectService: CrmObjectService,\n private readonly snackService: SnackbarService,\n private readonly fieldsService: CrmFieldService,\n private readonly associationService: CrmAssociationService,\n private readonly breakpointObserver: BreakpointObserver,\n ) {\n this.crmActivityId$\n .pipe(\n takeUntilDestroyed(),\n switchMap((crmActivityId) =>\n crmActivityId ? this.activityLoggerService.getActivity(crmActivityId) : of(null),\n ),\n tap((activity) => {\n this.activity$$.next(activity);\n if (activity) {\n const tags = this.fieldsService.getFieldValueFromCrmObject(activity, StandardIds.ActivityTags);\n this.tags$$.next(tags?.stringValues?.values || []);\n } else {\n this.tags$$.next([]);\n }\n }),\n )\n .subscribe();\n this.activityOwnerId$ = combineLatest([this.activity$, this.user$]).pipe(\n takeUntilDestroyed(),\n map(([activity, user]): string => activity?.ownerId || user?.userId || ''),\n distinctUntilChanged(),\n );\n\n this.isEditing$ = this.crmActivityId$.pipe(map((crmActivityId) => Boolean(crmActivityId)));\n this.showTeamMemberInput = Boolean(this.config?.services?.userService?.searchUsers);\n this.showOpportunityInput = Boolean(this.config?.services?.opportunityService);\n this.crmObject$ = combineLatest([this.crmObjectId$, this.objectType$]).pipe(\n switchMap(([crmObjectId, crmObjectType]) => this.crmObjectService.getMultiObject(crmObjectType, [crmObjectId])),\n map((response) => response?.crmObjects?.[0]),\n filter(Boolean),\n shareReplay(1),\n );\n\n this.crmObjectName$ = this.crmObject$.pipe(map((crmObject) => this.getObjectName(crmObject)));\n this.primaryAccountGroupId$ = this.crmObject$.pipe(map((crmObject) => this.getPrimaryAccountGroupId(crmObject)));\n\n this.mobileLayout$ = this.setupMobileMatcher();\n\n this.upsertActivityWorkState$.workResults$\n .pipe(\n takeUntilDestroyed(),\n switchMap((crmIds) => from(crmIds)),\n mergeMap((crmId) => this.activityLoggerService.getActivity(crmId)),\n tap((activity) => {\n const wasCreated = activity?.created?.getTime() === activity?.updated?.getTime();\n if (wasCreated) {\n this.activityCreated.emit(activity);\n } else {\n this.activityUpdated.emit(activity);\n }\n }),\n )\n .subscribe();\n\n this.upsertActivityWorkState$.successEvents$.pipe(takeUntilDestroyed()).subscribe(async (success) => {\n const isEditing = await firstValueFrom(this.isEditing$);\n const successMsg = isEditing ? 'ACTIVITY_LOGGER.EDIT_SUCCESS_MESSAGE' : 'ACTIVITY_LOGGER.SUCCESS_MESSAGE';\n const errorMsg = isEditing ? 'ACTIVITY_LOGGER.EDIT_ERROR_MESSAGE' : 'ACTIVITY_LOGGER.ERROR_MESSAGE';\n if (!success) {\n this.snackService.openErrorSnack(errorMsg, {\n duration: SNACKBAR_DURATION,\n });\n } else {\n this.snackService.openSuccessSnack(successMsg, {\n duration: SNACKBAR_DURATION,\n });\n if (!isEditing) this.collapse();\n }\n });\n\n this.intializeDefaultActivity();\n }\n\n private intializeDefaultActivity() {\n toObservable(this.collapsed)\n .pipe(\n takeUntilDestroyed(),\n filter((isCollapsed) => !isCollapsed),\n withLatestFrom(this.isEditing$),\n switchMap(([, isEditing]) => {\n if (isEditing) {\n // use existing activity data\n return this.crmActivityId$.pipe(\n switchMap((crmActivityId) => this.activityLoggerService.getActivity(crmActivityId)),\n );\n } else {\n // set default values for new activity\n return combineLatest([this.objectType$, this.crmObjectId$, this.user$]).pipe(\n switchMap(([objectType, crmObjectId, user]) => {\n const currentUserId = user?.userId || '';\n const defaultActivity = {\n ownerId: currentUserId,\n associations: [\n {\n crmObjectId: crmObjectId,\n crmObjectType: objectType,\n },\n {\n crmObjectId: currentUserId,\n crmObjectType: 'User',\n },\n ],\n } as ActivityInterface;\n\n // When objectType is Contact, add the associated Companies as well\n if (objectType === 'Contact') {\n return this.associationService.getCompanyAssociationObjectIdsForContact$(crmObjectId).pipe(\n map((companyObjectIds) => {\n const formattedAsc = companyObjectIds.map((companyId) => {\n return {\n crmObjectId: companyId,\n crmObjectType: 'Company',\n } as LoggerAssociation;\n });\n defaultActivity.associations = [...(defaultActivity?.associations || []), ...formattedAsc];\n return defaultActivity;\n }),\n );\n }\n\n return of(defaultActivity);\n }),\n );\n }\n }),\n )\n .subscribe((activity?: ActivityInterface) => {\n // set the default values for the logger\n const activityType = activity?.crmObjectSubtype as ActivityType;\n if (activityType) {\n this.onActivityTypeChanged(activityType);\n }\n if (activity) {\n this.updateValueAndValidity();\n if (activity.associations) {\n this.setAssociationValues(activity.associations);\n }\n }\n });\n }\n\n onActivityTypeChanged(value: ActivityType | null) {\n this.expand();\n this.activityTypeSelected = value || undefined;\n this.communicationSubTypeSelected = undefined;\n }\n\n onCommunicationTypeChanged(activityType: ActivityType, communicationSubType: CommunicationSubType) {\n this.expand();\n this.activityTypeSelected = activityType;\n this.communicationSubTypeSelected = communicationSubType;\n }\n\n getTranslatedCommunicationType(): string {\n return this.communicationSubTypeSelected\n ? `ACTIVITY_TYPES.COMMUNICATION_SUBTYPES.${this.communicationSubTypeSelected.toUpperCase()}`\n : 'ACTIVITY_TYPES.MORE';\n }\n\n upsertActivity() {\n if (!this.validateForm()) {\n this.snackService.openErrorSnack('ACTIVITY_LOGGER.ERROR_SET_REQUIRED_FIELDS', {\n duration: SNACKBAR_DURATION,\n });\n return;\n }\n\n const fieldValues = this.getSelectedComponent()?.getValues() || [];\n const ownerId = this.getSelectedComponent()?.ownerId;\n const work$ = combineLatest([this.isEditing$, this.tags$, this.crmObjectName$, this.followUpExpanded$$]).pipe(\n switchMap(([isEditing, tags, crmObjectName, isFollowUpExpanded]) => {\n const tagsField: FieldValueInterface = {\n fieldId: StandardIds.ActivityTags,\n stringValues: { values: tags },\n };\n let apiCalls: Observable[];\n if (isEditing) {\n apiCalls = [\n this.crmActivityId$.pipe(\n switchMap((activityId) => {\n const fieldMask = [\n 'associations',\n ...this.fieldsService.getFieldMaskFromFormGroup(this.getSelectedComponent()?.formGroup),\n StandardIds.ActivityTags,\n ];\n return this.activityLoggerService.updateActivity(\n activityId,\n this.activityTypeSelected!,\n [...fieldValues, tagsField],\n this.mergeAssociations(),\n ownerId,\n fieldMask,\n );\n }),\n ),\n ];\n } else {\n apiCalls = [\n this.activityLoggerService.addActivity(\n this.activityTypeSelected!,\n [...fieldValues, manuallyLoggedFieldValue, tagsField],\n this.mergeAssociations(),\n ownerId,\n ),\n ];\n if (isFollowUpExpanded) {\n const followUpFieldValues = this.loggerFollowUpTaskComponent?.getValues(crmObjectName) || [];\n apiCalls.push(\n this.activityLoggerService.addActivity(\n 'Task',\n [...followUpFieldValues, manuallyLoggedFieldValue],\n this.mergeAssociations(),\n ownerId,\n ),\n );\n }\n }\n return combineLatest(apiCalls);\n }),\n );\n\n this.upsertActivityWorkState$.startWork(work$);\n }\n\n private getSelectedComponent(): LoggerComponentInterface | undefined {\n switch (this.activityTypeSelected) {\n case 'Note':\n return this.loggerNoteComponent;\n case 'Email':\n return this.loggerEmailComponent;\n case 'Call':\n return this.loggerCallComponent;\n case 'Meeting':\n return this.loggerMeetingComponent;\n case 'Task':\n return this.loggerTaskComponent;\n case 'Communication':\n return this.loggerCommunicationComponent;\n default:\n return;\n }\n }\n\n isFormValid(): boolean {\n return Boolean(this.getSelectedComponent()?.formGroup?.valid);\n }\n\n validateForm(): boolean {\n this.updateValueAndValidity();\n return this.isFormValid();\n }\n\n async setAssociationValues(associations: ActivityAssociationInterface[]): Promise {\n const all = associations\n .filter((a) => !!a.crmObjectId)\n .map((a) => ({\n crmObjectId: a.crmObjectId,\n crmObjectType: a.crmObjectType as ObjectType | ObjectAssociationType,\n }));\n this.associations.set(all);\n this.contactAssociations = all.filter((item) => item.crmObjectType === 'Contact');\n this.companyAssociations = all.filter((item) => item.crmObjectType === 'Company');\n this.teamAssociations = all.filter((item) => item.crmObjectType === 'User');\n this.opportunityAssociations = all.filter((item) => item.crmObjectType === 'Opportunity');\n }\n\n updateValueAndValidity(): void {\n this.getSelectedComponent()?.validate();\n }\n\n expand(): void {\n this.collapsed.set(false);\n }\n\n collapse(): void {\n this.activityTypeSelected = undefined;\n this.collapsed.set(true);\n this.clearFields();\n this.activityTypeSelected = undefined;\n this.communicationSubTypeSelected = undefined;\n }\n\n followUpExpandedChanged(isExpanded: boolean): void {\n this.followUpExpanded$$.next(isExpanded);\n }\n\n handleCancelClicked(): void {\n this.collapse();\n this.cancel.emit();\n }\n\n handleDefaultStateFocus(): void {\n this.onActivityTypeChanged(DEFAULT_SELECTED_ACTIVITY_TYPE);\n }\n\n clearFields(): void {\n this.loggerNoteComponent?.resetForm();\n this.loggerEmailComponent?.resetForm();\n this.loggerCallComponent?.resetForm();\n this.loggerMeetingComponent?.resetForm();\n this.loggerTaskComponent?.resetForm();\n this.loggerCommunicationComponent?.resetForm();\n this.contactAssociations = [];\n this.companyAssociations = [];\n this.teamAssociations = [];\n this.opportunityAssociations = [];\n this.tags$$.next([]);\n this.sharedDescription = '';\n }\n\n private mergeAssociations(): ActivityAssociationInterface[] {\n const extraAssociations = this.extraAssociations || [];\n return [\n ...this.contactAssociations,\n ...this.companyAssociations,\n ...this.teamAssociations,\n ...this.opportunityAssociations,\n ...extraAssociations,\n ];\n }\n\n private getPrimaryAccountGroupId(crmObject: CrmObjectInterface): string | null {\n const fieldValue = this.fieldsService.getFieldValueFromCrmObject(\n crmObject,\n PlatformExtensionFieldIds.AccountGroupID,\n );\n return fieldValue?.stringValue ?? null;\n }\n\n private getObjectName(crmObject: CrmObjectInterface): string {\n const companyName = this.fieldsService.getFieldValueFromCrmObject(crmObject, StandardIds.CompanyName);\n if (companyName?.stringValue) {\n return companyName.stringValue;\n }\n\n const firstName = this.fieldsService.getFieldValueFromCrmObject(crmObject, StandardExternalIds.FirstName);\n const lastName = this.fieldsService.getFieldValueFromCrmObject(crmObject, StandardExternalIds.LastName);\n if (firstName?.stringValue || lastName?.stringValue) {\n return `${firstName?.stringValue ?? ''} ${lastName?.stringValue ?? ''}`.trim();\n }\n\n return crmObject.crmObjectId ?? '';\n }\n\n /**\n * Create a mobile layout observable.\n * If layout is set to `mobile`, it will always be `true`.\n * Otherwise, it will match the screen size (<= `768px`).\n * @returns `Observable`: `true` if the layout is mobile, `false` otherwise.\n */\n private setupMobileMatcher(): Observable {\n const mobileMedia$ = this.breakpointObserver.observe(`(max-width: ${DEFAULT_MOBILE_BREAKPOINT})`).pipe(\n distinctUntilChanged(),\n map((result) => result.matches),\n );\n return this.layout$$.pipe(\n map((layout) => layout === 'mobile'),\n switchWhenFalsy(mobileMedia$),\n );\n }\n\n updateTags(tagEvent: string[]): void {\n this.tags$$?.next(tagEvent);\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n
\n
\n \n \n \n \n \n
\n \n \n
\n \n \n \n
\n\n \n
\n \n
\n \n \n \n
\n \n
\n
\n \n \n \n \n \n {{ communicationType.label | translate }}\n \n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{ 'ACTIVITY_LOGGER.SAVE' | translate }}\n \n \n \n {{ 'ACTIVITY_LOGGER.CREATE_TASK' | translate }}\n \n \n {{ 'ACTIVITY_LOGGER.LOG_ACTIVITY' | translate }}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n","import { Directive, ElementRef, EventEmitter, HostListener, Output } from '@angular/core';\n\n/*\n For an wrapper, you'll also want to use CdkObserveContent.\n But directive composition only supports standalone directives, so we can't combine CdkObserveContent here\n\n See: https://material.angular.io/cdk/observers/api\n*/\n\n@Directive({\n selector: '[crmOnResize]',\n standalone: true,\n})\nexport class OnResizeDirective {\n @HostListener('window:resize')\n onWindowResize() {\n this.resizeDetected.emit();\n }\n\n @Output() resizeDetected = new EventEmitter();\n resizeObserver!: ResizeObserver;\n\n constructor(private element: ElementRef) {\n if (window.ResizeObserver) {\n this.resizeObserver = new ResizeObserver(() => {\n this.resizeDetected.emit();\n });\n this.resizeObserver.observe(this.element.nativeElement);\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, ElementRef, Input, ViewChild, signal } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { TranslationModule } from '../../i18n/translation-module';\nimport { OnResizeDirective } from './on-resize.directive';\nimport { ObserversModule } from '@angular/cdk/observers';\n\n@Component({\n selector: 'crm-collapsible-section',\n template: `\n
\n \n \n
\n \n \n \n {{ (collapsed() ? 'COLLAPSIBLE_SECTION.VIEW_MORE' : 'COLLAPSIBLE_SECTION.VIEW_LESS') | translate }}\n

\n `,\n styleUrls: ['./collapsible-section.component.scss'],\n imports: [CommonModule, TranslateModule, TranslationModule, ObserversModule, OnResizeDirective],\n standalone: true,\n})\nexport class CollapsibleSectionComponent {\n @ViewChild('collapsibleContentContainer') collapsibleContentContainer!: ElementRef;\n\n @Input() maxHeightPx = 300;\n @Input() showBorderWhenCollapsed = false;\n\n // collapsed must be set initially for overflow to be detected otherwise the max-height won't be set\n collapsed = signal(true);\n collapsible = signal(false);\n\n toggleCollapsed() {\n this.collapsed.update((value) => !value);\n }\n\n checkForOverflow() {\n // collapsible if\n // - scrollable content is higher than the visible content\n // - content is larger than the maximum height\n const element = this.collapsibleContentContainer.nativeElement;\n const isOverflow = element.scrollHeight > element.offsetHeight || element.offsetHeight > this.maxHeightPx;\n this.collapsible.set(isOverflow);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, Inject, Input, SecurityContext, Signal, WritableSignal, computed, signal } from '@angular/core';\nimport { toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatIconModule } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { RxState } from '@rx-angular/state';\nimport {\n CampaignService,\n GetterCampaignData,\n RecipientCampaignService,\n RecipientCampaignStruct,\n} from '@vendasta/campaigns';\nimport { ActivityInterface, GetMultiCrmObjectResponseInterface } from '@vendasta/crm';\nimport { GalaxyAvatarModule } from '@vendasta/galaxy/avatar';\nimport { GalaxyPipesModule } from '@vendasta/galaxy/pipes';\nimport { DateFormat } from '@vendasta/galaxy/utility/date-utils';\nimport { Observable, of } from 'rxjs';\nimport { map, switchMap } from 'rxjs/operators';\nimport { AVATAR_WIDTH } from '../../../constants';\nimport { TranslationModule } from '../../../i18n';\nimport {\n CrmFieldService,\n CrmObjectService,\n StandardExternalIds,\n StandardIds,\n SystemFieldIds,\n} from '../../../shared-services';\nimport { CrmDependencies, CrmInjectionToken, ObjectType } from '../../../tokens-and-interfaces';\nimport { CollapsibleSectionComponent } from '../../collapsible-section/collapsible-section.component';\nimport { CrmUnknownUserAvatarComponent } from '../../unknown-user-avatar/unknown-user-avatar.component';\nimport { ActivityExtended } from '../timeline/timeline.service';\n\n@Component({\n selector: 'crm-activity-email',\n templateUrl: './email.component.html',\n styleUrls: ['./email.component.scss'],\n providers: [RxState],\n imports: [\n CommonModule,\n TranslateModule,\n TranslationModule,\n CollapsibleSectionComponent,\n MatCardModule,\n GalaxyAvatarModule,\n CrmUnknownUserAvatarComponent,\n MatIconModule,\n GalaxyPipesModule,\n ],\n standalone: true,\n})\nexport class CrmActivityEmailComponent {\n unknownNamePlaceholder = this.translateService.instant('CONTACT.ACTIVITIES.UNKNOWN_NAME');\n private _activity: WritableSignal = signal({});\n private _associatedObjectId: WritableSignal = signal('');\n private _objectType: WritableSignal = signal('Contact');\n @Input({ required: true }) set activity(activity: ActivityExtended) {\n this._activity.set(activity);\n }\n get activity() {\n return this._activity();\n }\n @Input() set objectType(objectType: ObjectType) {\n this._objectType.set(objectType);\n }\n get objectType() {\n return this._objectType();\n }\n\n @Input() set associatedObjectId(crmObjectId: string) {\n this._associatedObjectId.set(crmObjectId);\n }\n\n get associatedObjectId() {\n return this._associatedObjectId();\n }\n\n private _showAvatar = true;\n @Input() set showAvatar(showAvatar: boolean) {\n this._showAvatar = showAvatar;\n }\n\n get showAvatar() {\n return this._showAvatar;\n }\n dateFormat = DateFormat.medium;\n\n associatedCrmObjectName$ = toObservable(this._activity).pipe(switchMap(() => this.getAssociatedObjectName()));\n associatedCrmObjectName = toSignal(this.associatedCrmObjectName$);\n\n contactEmails$ = toObservable(this._activity).pipe(switchMap((activity) => this.getContactEmails(activity)));\n contactEmails = toSignal(this.contactEmails$);\n\n campaignId$ = toObservable(this._activity).pipe(switchMap((activity) => this.getCampaignId(activity)));\n campaignId = toSignal(this.campaignId$);\n\n campaignName$ = toObservable(this._activity).pipe(switchMap((activity) => this.getCampaign(activity)));\n campaignName = toSignal(this.campaignName$);\n\n accountGroupId$ = toObservable(this._activity).pipe(switchMap((activity) => this.getAccountGroupId(activity)));\n accountGroupId = toSignal(this.accountGroupId$);\n\n cardInfo: Signal = computed(() => {\n return {\n emailBody:\n this.sanitizer.sanitize(\n SecurityContext.HTML,\n this.getStringFieldData(this.activity, StandardIds.ActivityEmailBody),\n ) || '',\n\n emailSubject: this.getStringFieldData(this.activity, StandardIds.ActivityEmailSubject),\n emailStatus: this.getStringFieldData(this.activity, StandardIds.ActivityEmailStatus),\n emailDirection: this.getStringFieldData(this.activity, StandardIds.ActivityEmailDirection)?.toLowerCase(),\n\n emailType: this.getStringFieldData(this.activity, StandardIds.ActivityEmailType),\n emailHeaders: this.getStringFieldData(this.activity, StandardIds.ActivityEmailHeaders) || '',\n sourceName: this.getStringFieldData(this.activity, StandardIds.ActivitySourceName),\n effectiveDate: this.getDateFieldData(this.activity, SystemFieldIds.ActivityEffectiveDate),\n };\n });\n\n ownerName = computed(() => {\n const owner = this.activity?.ownerUser;\n if (owner) {\n return `${owner?.firstName || ''} ${owner?.lastName || ''}`.trim();\n }\n return this.unknownNamePlaceholder;\n });\n\n isCampaign = computed(() => {\n const { emailType } = this.cardInfo();\n return emailType === 'marketing_campaign_email';\n });\n\n headerText = computed(() => {\n const { emailType, emailDirection } = this.cardInfo();\n let baseText = '';\n let nameText = '';\n if (emailType === 'marketing_campaign_email') {\n baseText = this.translateService.instant('ACTIVITY_TYPES.CAMPAIGN') + ' ';\n nameText = this.associatedCrmObjectName() || '';\n } else {\n baseText = this.translateService.instant('ACTIVITY_TYPES.EMAIL') + ' ';\n nameText = this.ownerName();\n }\n\n let directionText = '';\n if (emailDirection === 'outbound') {\n directionText = this.translateService.instant('ACTIVITY.EMAIL_TITLE.OUTBOUND') + ' ';\n } else if (emailDirection === 'forwarded') {\n directionText = this.translateService.instant('ACTIVITY.EMAIL_TITLE.FORWARDED') + ' ';\n } else {\n directionText = this.translateService.instant('ACTIVITY.EMAIL_TITLE.INBOUND') + ' ';\n }\n return `${baseText}${directionText}${nameText}`.trim();\n });\n\n campaignLink = computed(() => {\n if (this.useBusinessCenterCampaignLink()) {\n return `/account/location/${this.accountGroupId()}/campaigns/${this.campaignId()}/details`;\n } else {\n return `/marketing/campaign/details/${this.campaignId()}`;\n }\n });\n\n useBusinessCenterCampaignLink: Signal;\n\n constructor(\n @Inject(CrmInjectionToken) private readonly config: CrmDependencies,\n private readonly fieldService: CrmFieldService,\n private readonly campaignService: CampaignService,\n private readonly recipientCampaignService: RecipientCampaignService,\n private readonly crmObjectService: CrmObjectService,\n private readonly translateService: TranslateService,\n private readonly sanitizer: DomSanitizer,\n ) {\n this.useBusinessCenterCampaignLink = toSignal(\n config.parentNamespace$.pipe(\n map((parentNamespace) => {\n return parentNamespace !== '';\n }),\n ),\n );\n }\n\n protected readonly AVATAR_WIDTH = AVATAR_WIDTH;\n\n private getStringFieldData(activity: ActivityInterface, fieldId: string): string {\n return this.fieldService.getFieldValueFromCrmObject(activity, fieldId)?.stringValue ?? '';\n }\n private getCampaignName(id: string): Observable {\n if (id !== '') {\n return this.campaignService.get(id).pipe(\n map((campaignData: GetterCampaignData) => {\n return campaignData.name;\n }),\n );\n }\n return of('');\n }\n\n private getDateFieldData(activity: ActivityInterface, fieldId: string): Date | null {\n return this.fieldService.getFieldValueFromCrmObject(activity, fieldId)?.dateValue ?? null;\n }\n\n private getCampaignId(activity: ActivityInterface): Observable {\n const recipientId = this.getStringFieldData(activity, StandardIds.ActivityCampaignID);\n if (recipientId !== '') {\n return this.recipientCampaignService.getRecipientCampaign(recipientId).pipe(\n map((recipientCampaign: RecipientCampaignStruct) => {\n return recipientCampaign.campaignId;\n }),\n );\n }\n return of('');\n }\n\n private getAccountGroupId(activity: ActivityInterface): Observable {\n const recipientId = this.getStringFieldData(activity, StandardIds.ActivityCampaignID);\n if (recipientId !== '') {\n return this.recipientCampaignService.getRecipientCampaign(recipientId).pipe(\n map((recipientCampaign: RecipientCampaignStruct) => {\n const parts = recipientCampaign.partnerId.split('/');\n if (parts.length > 1) {\n return parts[1];\n }\n return '';\n }),\n );\n }\n\n return of('');\n }\n\n private getCampaign(activity: ActivityInterface): Observable {\n const campaignID$ = this.getCampaignId(activity);\n return campaignID$.pipe(\n switchMap((campaignId: string) => {\n return this.getCampaignName(campaignId);\n }),\n );\n }\n\n getAssociatedObjectName(): Observable {\n if (this.objectType === 'Contact') {\n return this.crmObjectService.getMultiObject('Contact', [this.associatedObjectId]).pipe(\n map((data: GetMultiCrmObjectResponseInterface) => {\n const crmObject = data?.crmObjects[0];\n const firstName =\n this.fieldService.getFieldValueFromCrmObject(crmObject, StandardExternalIds.FirstName)?.stringValue || '';\n const lastName =\n this.fieldService.getFieldValueFromCrmObject(crmObject, StandardExternalIds.LastName)?.stringValue || '';\n return `${firstName} ${lastName}` ?? '';\n }),\n );\n }\n if (this.objectType === 'Company') {\n return this.crmObjectService.getMultiObject('Company', [this.associatedObjectId]).pipe(\n map((data: GetMultiCrmObjectResponseInterface) => {\n const crmObject = data?.crmObjects[0];\n const companyName = this.fieldService.getFieldValueFromCrmObject(\n crmObject,\n StandardIds.CompanyName,\n )?.stringValue;\n return `${companyName}` ?? '';\n }),\n );\n }\n return of('');\n }\n\n private getContactEmails(activity: ActivityInterface): Observable<(string | undefined)[]> {\n const crmObjectIds: string[] = [];\n activity.associations?.forEach((association) => {\n if (association?.crmObjectType === 'Contact' && association?.crmObjectId) {\n crmObjectIds.push(association.crmObjectId);\n }\n });\n if (crmObjectIds.length > 0) {\n const contactDetails$ = this.crmObjectService.getMultiObject('Contact', crmObjectIds);\n return contactDetails$.pipe(\n map((resp) => {\n return resp?.crmObjects\n ? resp?.crmObjects?.map(\n (contact) =>\n this.fieldService.getFieldValueFromCrmObject(contact, StandardExternalIds.Email)?.stringValue,\n )\n : [];\n }),\n );\n }\n return of([]);\n }\n}\n\ninterface ActivityCardInformation {\n sourceName: string;\n emailBody: string;\n emailDirection: string;\n emailStatus: string;\n emailSubject: string;\n emailType: string;\n emailHeaders: string;\n}\n","
\n \n \n
\n \n
\n
\n \n
\n \n {{ headerText }}\n \n {{ 'ACTIVITY.UNKNOWN_TITLE' | translate }}\n \n \n \n

\n {{ cardInfo.effectiveDate | date : dateFormat }}\n

\n
\n
\n \n \n \n \n {{ cardInfo.emailSubject }}\n \n \n
\n \n
\n {{ ownerName }}\n
\n {{ 'ACTIVITY.EMAIL_TITLE.INBOUND' | translate }}\n
\n \n {{ contact }}, \n \n
\n
\n \n \n \n
\n
\n
\n
\n \n \n {{ cardInfo.emailSubject }}\n {{ 'CONTACT.ACTIVITIES.CREATED_FROM' | translate }}\n \n \n {{ campaignName() }}\n \n \n
\n
\n
\n","import { RxState } from '@rx-angular/state';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { AVATAR_WIDTH } from '../../../constants';\nimport { TranslationModule } from '../../../i18n/translation-module';\nimport { CollapsibleSectionComponent } from '../../collapsible-section/collapsible-section.component';\nimport { ActivityInterface } from '@vendasta/crm';\nimport { CommonModule } from '@angular/common';\nimport { Component, computed, Input, WritableSignal, signal, Signal } from '@angular/core';\nimport { CrmFieldService, StandardIds, SystemFieldIds } from '../../../shared-services/crm-services/field.service';\nimport { MatCardModule } from '@angular/material/card';\nimport { DateFormat } from '@vendasta/galaxy/utility/date-utils';\nimport { GalaxyAvatarModule } from '@vendasta/galaxy/avatar';\nimport { CrmUnknownUserAvatarComponent } from '../../unknown-user-avatar/unknown-user-avatar.component';\n\n@Component({\n selector: 'crm-activity-note',\n templateUrl: './note.component.html',\n styleUrls: ['./note.component.scss'],\n providers: [RxState],\n imports: [\n CommonModule,\n TranslateModule,\n TranslationModule,\n CollapsibleSectionComponent,\n MatCardModule,\n GalaxyAvatarModule,\n CrmUnknownUserAvatarComponent,\n ],\n standalone: true,\n})\nexport class CrmActivityNoteComponent {\n private _activity: WritableSignal = signal({});\n @Input({ required: true }) set activity(activity: ActivityInterface) {\n this._activity.set(activity);\n }\n get activity() {\n return this._activity();\n }\n\n private _showAvatar = true;\n @Input() set showAvatar(showAvatar: boolean) {\n this._showAvatar = showAvatar;\n }\n\n get showAvatar() {\n return this._showAvatar;\n }\n dateFormat = DateFormat.medium;\n\n cardInfo: Signal = computed(() => {\n return {\n noteBody: this.getStringFieldData(this.activity, StandardIds.ActivityNoteBody),\n noteTitle: this.getStringFieldData(this.activity, StandardIds.ActivityNoteTitle),\n sourceName: this.getStringFieldData(this.activity, StandardIds.ActivitySourceName),\n effectiveDate: this.getDateFieldData(this.activity, SystemFieldIds.ActivityEffectiveDate),\n };\n });\n\n private getStringFieldData(activity: ActivityInterface, fieldId: string): string {\n return this.fieldService.getFieldValueFromCrmObject(activity, fieldId)?.stringValue ?? '';\n }\n\n private getDateFieldData(activity: ActivityInterface, fieldId: string): Date | null {\n return this.fieldService.getFieldValueFromCrmObject(activity, fieldId)?.dateValue ?? null;\n }\n\n constructor(private readonly fieldService: CrmFieldService) {}\n\n protected readonly AVATAR_WIDTH = AVATAR_WIDTH;\n\n headerText = computed(() => {\n const { noteTitle, sourceName } = this.cardInfo();\n\n if (sourceName) {\n return `${noteTitle} in ${sourceName}`.trim();\n }\n return noteTitle ?? '';\n });\n}\n\ninterface ActivityCardInformation {\n sourceName: string;\n noteBody: string;\n noteTitle: string;\n effectiveDate: Date | null;\n}\n","
\n \n \n
\n \n
\n \n {{ headerText() }}\n \n {{ 'ACTIVITY.UNKNOWN_TITLE' | translate }}\n \n \n \n

\n {{ cardInfo.effectiveDate | date : dateFormat }}\n

\n
\n
\n \n
\n \n

{{ cardInfo.noteBody }}

\n
\n
\n
\n
\n
\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[crmActivityTemplateOptions]',\n standalone: true,\n})\nexport class CrmActivityTemplateOptionsDirective {}\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, TemplateRef } from '@angular/core';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { AVATAR_WIDTH } from '../../../constants';\nimport { TranslationModule } from '../../../i18n/translation-module';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatIconModule } from '@angular/material/icon';\nimport { ActivityInterface } from '@vendasta/crm';\nimport { RxState } from '@rx-angular/state';\nimport { GalaxyAvatarModule } from '@vendasta/galaxy/avatar';\nimport { combineLatest, filter, map, tap } from 'rxjs';\nimport { CrmFieldService, SystemFieldIds } from '../../../shared-services/crm-services/field.service';\nimport { User } from '@vendasta/iamv2';\nimport { DateFormat } from '@vendasta/galaxy/utility/date-utils';\nimport { CrmUnknownUserAvatarComponent } from '../../unknown-user-avatar/unknown-user-avatar.component';\nimport { CrmActivityLoggerComponent } from './activity-logger.component';\nimport { CrmActivityTemplateOptionsDirective } from './activity-template-options.directive';\n\n@Component({\n selector: 'crm-activity-template',\n templateUrl: './activity-template.component.html',\n styleUrls: ['./activity-template.component.scss'],\n providers: [RxState],\n imports: [\n CommonModule,\n TranslateModule,\n TranslationModule,\n MatCardModule,\n MatIconModule,\n GalaxyAvatarModule,\n CrmUnknownUserAvatarComponent,\n CrmActivityLoggerComponent,\n CrmActivityTemplateOptionsDirective,\n ],\n standalone: true,\n})\nexport class CrmActivityTemplateComponent {\n AVATAR_WIDTH = AVATAR_WIDTH;\n dateFormat = DateFormat.medium;\n\n @Input() set activity(activity: ActivityInterface) {\n this.state.set({ activity: activity });\n }\n get activity() {\n return this.state.get().activity;\n }\n\n @Input() set ownerUser(ownerUser: User | undefined) {\n this.state.set({ ownerUser: ownerUser });\n }\n get ownerUser() {\n return this.state.get().ownerUser;\n }\n\n @Input() set isOwnedByServiceAccount(isOwnedByServiceAccount: boolean) {\n this.state.set({ isOwnedByServiceAccount: isOwnedByServiceAccount });\n }\n get isOwnedByServiceAccount() {\n return this.state.get().isOwnedByServiceAccount;\n }\n\n @Input() set headerText(text: string) {\n this.state.set({ headerText: text });\n }\n get headerText() {\n return this.state.get().headerText;\n }\n\n private _showAvatar = true;\n @Input() set showAvatar(showAvatar: boolean) {\n this._showAvatar = showAvatar;\n }\n get showAvatar() {\n return this._showAvatar;\n }\n\n // if this is set, the fullName will be displayed before the headerText\n // e.g. \"John Doe sent an email\"\n @Input() showFullName = true;\n\n // custom template to render in the subtitle section, replacing the formatted date\n @Input() subtitleTemplate?: TemplateRef;\n\n unknownNamePlaceholder = this.translateService.instant('CONTACT.ACTIVITIES.UNKNOWN_NAME');\n fullName$ = this.state.select('fullName');\n readonly headerText$ = this.state\n .select('activity')\n .pipe(map((activity) => this.headerTextFromActivityType(activity?.crmObjectSubtype)));\n effectiveDate$ = this.state.select('effectiveDate');\n\n showUnknownAvatar$ = combineLatest([\n this.state.select('isUnknownUser'),\n this.state.select('isOwnedByServiceAccount'),\n ]).pipe(map(([isUnknownUser, isOwnedByServiceAccount]) => isUnknownUser || isOwnedByServiceAccount));\n\n profileImageUrl$ = this.state.select('ownerUser').pipe(map((user) => user?.profileImageUrl ?? ''));\n\n constructor(\n private readonly state: RxState,\n private readonly fieldService: CrmFieldService,\n private readonly translateService: TranslateService,\n ) {\n this.state.set({\n isOwnedByServiceAccount: false,\n ownerUser: undefined,\n activity: undefined,\n fullName: this.unknownNamePlaceholder,\n isUnknownUser: false,\n effectiveDate: null,\n });\n\n this.state.connect(\n 'fullName',\n this.state.select('ownerUser').pipe(\n filter((user): user is User => user !== null),\n map((user) => `${user.firstName} ${user.lastName}`.trim()),\n tap((fullName) => this.state.set({ isUnknownUser: fullName === '' })),\n map((fullName) => fullName || this.unknownNamePlaceholder),\n ),\n );\n\n this.state.connect(\n 'effectiveDate',\n this.state\n .select('activity')\n .pipe(\n map(\n (activity) =>\n this.fieldService.getFieldValueFromCrmObject(activity, SystemFieldIds.ActivityEffectiveDate)?.dateValue ??\n null,\n ),\n ),\n );\n }\n\n private headerTextFromActivityType(activityType?: string): string {\n switch (activityType) {\n case 'Note':\n return 'CONTACT.ACTIVITIES.HEADER_ADDITIONAL_TEXT.NOTE';\n case 'Email':\n return 'CONTACT.ACTIVITIES.HEADER_ADDITIONAL_TEXT.LOGGED_EMAIL';\n case 'Call':\n return 'CONTACT.ACTIVITIES.HEADER_ADDITIONAL_TEXT.LOGGED_CALL';\n case 'Meeting':\n return 'CONTACT.ACTIVITIES.HEADER_ADDITIONAL_TEXT.LOGGED_MEETING';\n case 'Task':\n return 'CONTACT.ACTIVITIES.HEADER_ADDITIONAL_TEXT.TASK';\n case 'Communication':\n return 'CONTACT.ACTIVITIES.HEADER_ADDITIONAL_TEXT.LOGGED_COMMUNICATION';\n default:\n return '';\n }\n }\n}\n\ninterface ComponentState {\n isOwnedByServiceAccount: boolean;\n ownerUser?: User;\n\n activity: ActivityInterface;\n\n fullName: string;\n headerText: string;\n isUnknownUser: boolean;\n effectiveDate: Date | null;\n}\n","\n \n \n
\n \n
\n \n \n {{ fullName }}\n {{ headerText | translate }}\n \n \n \n \n \n\n \n \n \n \n \n \n
\n\n\n \n\n\n\n

\n {{ effectiveDate | date : dateFormat }}\n

\n
\n\n\n
\n \n
\n
\n","import { CommonModule } from '@angular/common';\nimport { Component, Input } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { TranslationModule } from '../../../i18n/translation-module';\nimport { RxState } from '@rx-angular/state';\nimport { map } from 'rxjs';\nimport { CrmFieldService, StandardIds } from '../../../shared-services/crm-services/field.service';\nimport { CollapsibleSectionComponent } from '../../collapsible-section/collapsible-section.component';\nimport { ActivityInterface } from '@vendasta/crm';\n\n@Component({\n selector: 'crm-activity-logged-note',\n templateUrl: './logged-note.component.html',\n styleUrls: ['./logged-note.component.scss'],\n providers: [RxState],\n imports: [CommonModule, TranslateModule, TranslationModule, CollapsibleSectionComponent],\n standalone: true,\n})\nexport class CrmActivityLoggedNoteComponent {\n @Input() set activity(activity: ActivityInterface) {\n this.state.set({ activity: activity });\n }\n get activity() {\n return this.state.get().activity;\n }\n\n noteBody$ = this.state.select('noteBody');\n\n constructor(private readonly state: RxState, private readonly fieldService: CrmFieldService) {\n this.state.set({\n activity: undefined,\n noteBody: '',\n });\n\n this.state.connect(\n 'noteBody',\n this.state\n .select('activity')\n .pipe(\n map(\n (activity) =>\n this.fieldService.getFieldValueFromCrmObject(activity, StandardIds.ActivityNoteBody)?.stringValue ?? '',\n ),\n ),\n );\n }\n}\n\ninterface ComponentState {\n activity: ActivityInterface;\n\n noteBody: string;\n}\n","
\n \n

{{ noteBody }}

\n
\n
\n","import { CommonModule } from '@angular/common';\nimport { Component, Inject, Input, computed, effect, signal } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { MatCardModule } from '@angular/material/card';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ActivityInterface, CRMChangeLogApiService, CrmObjectChangeLogInterface } from '@vendasta/crm';\nimport { GalaxyAvatarModule } from '@vendasta/galaxy/avatar';\nimport { GalaxyPipesModule } from '@vendasta/galaxy/pipes';\nimport { BlankValueComponent } from '@vendasta/galaxy/table';\nimport { DateFormat } from '@vendasta/galaxy/utility/date-utils';\nimport { SalesSdk, SalespersonService } from '@vendasta/sales';\nimport { Salesperson } from '@vendasta/sales/lib/_internal/objects';\nimport { EMPTY, combineLatest, of, switchMap, take } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport {\n CrmInjectionToken,\n CrmDependencies,\n SimplifiedUser,\n ObjectType,\n RecordChangeType,\n} from '../../../tokens-and-interfaces';\nimport { TranslateByObjectTypeService } from '../../../i18n/translate-by-object-type/translate-by-object-type.service';\nimport { TranslationModule } from '../../../i18n/translation-module';\nimport { AVATAR_WIDTH } from '../../../constants';\nimport { CrmActivityTemplateComponent } from './activity-template.component';\nimport { CrmFieldService, StandardIds, SystemFieldIds, StandardExternalIds } from '../../../shared-services';\n\ninterface EffectResult {\n changeLog: CrmObjectChangeLogInterface;\n changeLogSalesPerson: Salesperson | null;\n changeLogUser: SimplifiedUser[];\n changeLogSalespersonId: string | null;\n}\n@Component({\n selector: 'crm-activity-record-change',\n templateUrl: './record-change.component.html',\n styleUrls: ['./record-change.scss'],\n imports: [\n CommonModule,\n TranslateModule,\n TranslationModule,\n MatCardModule,\n CrmActivityTemplateComponent,\n GalaxyPipesModule,\n GalaxyAvatarModule,\n BlankValueComponent,\n ],\n standalone: true,\n})\nexport class CrmActivityRecordChangeComponent {\n AVATAR_WIDTH = AVATAR_WIDTH;\n dateFormat = DateFormat.medium;\n\n #activity = signal({});\n private readonly namespace = toSignal(this.config.namespace$);\n\n private _showAvatar = true;\n\n isReady = signal(false);\n\n @Input() set activity(activity: ActivityInterface) {\n this.#activity.set(activity);\n }\n\n get activity(): ActivityInterface {\n return this.#activity();\n }\n\n get showAvatar() {\n return this._showAvatar;\n }\n\n recordChangeType = computed(() => {\n return this.fieldService.getFieldValueFromCrmObject(this.#activity(), StandardExternalIds.ActivityRecordChangeType)\n ?.stringValue as RecordChangeType;\n });\n\n objectType = computed(() => {\n const activity = this.#activity();\n if (activity.associations === undefined || activity.associations.length === 0) {\n console.warn('No associations found for activity. Could not deduce object type.', this.#activity().crmObjectId);\n return undefined;\n }\n return activity.associations[0].crmObjectType as ObjectType;\n });\n\n sourceName = computed(() => {\n return this.fieldService.getFieldValueFromCrmObject(this.#activity(), StandardIds.ActivitySourceName)?.stringValue;\n });\n\n cardInfo = computed(() => {\n return {\n isReady: this.isReady(),\n headerText: this.headerText(),\n contentText: this.contentText(),\n effectiveDate: this.effectiveDate(),\n isUpdatedRecordChange: this.isUpdatedRecordChange(),\n };\n });\n\n headerText = computed(() => {\n const effectResult = this.effectResult();\n\n let partialKey = '';\n switch (this.recordChangeType()) {\n case 'CREATED':\n partialKey = 'RECORD_CHANGE_ACTIVITY.CREATED';\n break;\n case 'IMPORTANT_FIELD_UPDATED':\n partialKey = 'RECORD_CHANGE_ACTIVITY.IMPORTANT_FIELD_UPDATED';\n break;\n }\n const computedObjectType = this.objectType();\n if (computedObjectType === undefined) {\n return '';\n }\n const sourceName = this.sourceName();\n if (sourceName !== undefined) {\n partialKey = 'RECORD_CHANGE_ACTIVITY.CREATED_VIA';\n }\n const createdVia = this.translateByObjectTypeService.getTranslationByObjectType(computedObjectType, partialKey);\n if (sourceName !== undefined) {\n return `${createdVia} ${sourceName}`;\n }\n\n if (this.recordChangeType() === 'IMPORTANT_FIELD_UPDATED') {\n const partialKey = 'RECORD_CHANGE_ACTIVITY.IMPORTANT_FIELD_UPDATED';\n const updatedByUserPartialKey = this.translateByObjectTypeService.getTranslationByObjectType(\n computedObjectType,\n partialKey,\n {\n updatedField: `Salesperson`,\n },\n );\n return `${updatedByUserPartialKey} ${effectResult?.changeLogUser[0].displayName ?? ''}`.trim();\n }\n return createdVia;\n });\n\n effectiveDate = computed(() => {\n return (\n this.fieldService.getFieldValueFromCrmObject(this.#activity(), SystemFieldIds.ActivityEffectiveDate)?.dateValue ??\n null\n );\n });\n\n effectResult = signal(undefined);\n\n contentText = computed(() => {\n const effectResult = this.effectResult();\n\n const computedObjectType = this.objectType();\n if (computedObjectType === undefined) {\n return '';\n }\n\n if (this.recordChangeType() === 'IMPORTANT_FIELD_UPDATED') {\n if (effectResult?.changeLogSalesPerson === null && effectResult?.changeLogSalespersonId) {\n const unknownKey = 'RECORD_CHANGE_ACTIVITY.IMPORTANT_FIELD_UPDATED_SALESPERSON_UNKNOWN';\n const salespersonUnknownPartialKey = this.translateByObjectTypeService.getTranslationByObjectType(\n computedObjectType,\n unknownKey,\n );\n const partialKey = 'RECORD_CHANGE_ACTIVITY.IMPORTANT_FIELD_UPDATED_SALESPERSON';\n const salespersonUpdatedPartialKey = this.translateByObjectTypeService.getTranslationByObjectType(\n computedObjectType,\n partialKey,\n );\n return `${salespersonUpdatedPartialKey} ${salespersonUnknownPartialKey}`.trim();\n }\n if (effectResult?.changeLogSalesPerson !== null) {\n const partialKey = 'RECORD_CHANGE_ACTIVITY.IMPORTANT_FIELD_UPDATED_SALESPERSON';\n const salespersonFullName = [\n effectResult?.changeLogSalesPerson.firstName ?? '',\n effectResult?.changeLogSalesPerson.lastName ?? '',\n ]\n .map((name) => name.trim())\n .join(' ');\n const salespersonUpdatedPartialKey = this.translateByObjectTypeService.getTranslationByObjectType(\n computedObjectType,\n partialKey,\n );\n return `${salespersonUpdatedPartialKey} ${salespersonFullName}`.trim();\n }\n const partialKey = 'RECORD_CHANGE_ACTIVITY.IMPORTANT_FIELD_UPDATED_SALESPERSON_NOT_ASSIGNED';\n const salespersonNotAssignedPartialKey = this.translateByObjectTypeService.getTranslationByObjectType(\n computedObjectType,\n partialKey,\n );\n return `${salespersonNotAssignedPartialKey}`;\n }\n return '';\n });\n\n isUpdatedRecordChange = computed(() => {\n const effectResult = this.effectResult();\n return effectResult?.changeLog.crmChangeSubtype !== '';\n });\n\n constructor(\n private readonly fieldService: CrmFieldService,\n private readonly translateByObjectTypeService: TranslateByObjectTypeService,\n private readonly changeLogService: CRMChangeLogApiService,\n @Inject(CrmInjectionToken) private readonly config: CrmDependencies,\n @Inject(SalespersonService) private readonly salespersonService: SalesSdk,\n ) {\n effect(\n () => {\n if (!this.recordChangeType() || this.recordChangeType() !== 'IMPORTANT_FIELD_UPDATED') {\n this.effectResult.set(undefined);\n this.isReady.set(true);\n } else if (this.recordChangeType() === 'IMPORTANT_FIELD_UPDATED') {\n const companyId =\n this.#activity().associations?.find((association) => association.crmObjectType === 'Company')\n ?.crmObjectId ?? '';\n const changeId =\n this.fieldService.getFieldValueFromCrmObject(this.#activity(), StandardIds.RecordChangeReferenceFieldID)\n ?.stringValue ?? '';\n\n this.changeLogService\n .getMultiChangeLog({\n crmObjectType: this.objectType(),\n namespace: this.namespace(),\n crmChangelogIdentifiers: [\n {\n crmObjectId: companyId,\n crmChangeId: changeId,\n },\n ],\n })\n .pipe(\n switchMap((res) => {\n const object = res.changeLogs[0];\n const salesPersonSubId = this.fieldService.getFieldValueFromCrmObject(\n object,\n StandardIds.CompanyPrimarySalespersonID,\n )?.stringValue;\n const createdByUserId = object.createdByUserId;\n const namespace = this.namespace() || '';\n\n return combineLatest([\n of(object),\n salesPersonSubId\n ? this.salespersonService\n .getSalespersonBySubjectId(namespace, salesPersonSubId)\n .pipe(catchError(() => of(null)))\n : of(null),\n createdByUserId\n ? this.config.services?.userService?.getMultiUsers([createdByUserId]) || EMPTY\n : EMPTY,\n of(salesPersonSubId),\n ]);\n }),\n take(1),\n )\n .subscribe(([object, salesPerson, simplifiedUser, salesPersonSubId]) => {\n const effectResult = {} as EffectResult;\n effectResult.changeLog = object;\n effectResult.changeLogSalesPerson = salesPerson;\n effectResult.changeLogUser = simplifiedUser;\n effectResult.changeLogSalespersonId = salesPersonSubId || null;\n this.effectResult.set(effectResult);\n this.isReady.set(true);\n });\n }\n },\n { allowSignalWrites: true },\n );\n }\n}\n","\n \n \n
\n \n
\n
\n \n {{ cardInfo.headerText }}\n \n \n

\n {{ cardInfo.effectiveDate | date : dateFormat }}\n

\n
\n
\n \n {{ cardInfo.contentText }}\n \n
\n
\n","import { CommonModule } from '@angular/common';\nimport { Component, Input } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { RxState } from '@rx-angular/state';\nimport { ActivityInterface } from '@vendasta/crm';\nimport { map } from 'rxjs';\nimport { CollapsibleSectionComponent } from '../../collapsible-section/collapsible-section.component';\nimport { CrmFieldService, StandardIds } from '../../../shared-services/crm-services/field.service';\nimport { TranslationModule } from '../../../i18n/translation-module';\n\n@Component({\n selector: 'crm-activity-logged-email',\n templateUrl: './logged-email.component.html',\n styleUrls: ['./logged-email.component.scss'],\n providers: [RxState],\n imports: [CommonModule, TranslateModule, TranslationModule, CollapsibleSectionComponent],\n standalone: true,\n})\nexport class CrmActivityLoggedEmailComponent {\n @Input() set activity(activity: ActivityInterface) {\n this.state.set({ activity: activity });\n }\n get activity() {\n return this.state.get().activity;\n }\n\n description$ = this.state.select('description');\n direction$ = this.state.select('direction');\n\n constructor(private readonly state: RxState, private readonly fieldService: CrmFieldService) {\n this.state.set({\n activity: undefined,\n description: '',\n direction: '',\n });\n\n this.state.connect(\n 'description',\n this.state\n .select('activity')\n .pipe(\n map(\n (activity) =>\n this.fieldService.getFieldValueFromCrmObject(activity, StandardIds.ActivityEmailBody)?.stringValue ?? '',\n ),\n ),\n );\n\n this.state.connect(\n 'direction',\n this.state\n .select('activity')\n .pipe(\n map(\n (activity) =>\n this.fieldService.getFieldValueFromCrmObject(activity, StandardIds.ActivityEmailDirection)?.stringValue ??\n '',\n ),\n ),\n );\n }\n}\n\ninterface ComponentState {\n activity: ActivityInterface;\n\n description: string;\n direction: string;\n}\n","
\n \n {{ description }}\n \n
\n
\n {{ 'ACTIVITY.LOGGED_EMAIL.DIRECTION' | translate }}\n
\n
\n {{ direction === 'Sent' ? 'Outbound' : direction }}\n
\n
\n
\n","import { CommonModule } from '@angular/common';\nimport { HttpClient } from '@angular/common/http';\nimport { Component, Input, Signal, WritableSignal, computed, signal } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ActivityInterface } from '@vendasta/crm';\nimport { DateFormat } from '@vendasta/galaxy/utility/date-utils';\nimport { Observable, of } from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\nimport { CollapsibleSectionComponent } from '../../collapsible-section/collapsible-section.component';\nimport { CrmFieldService, StandardIds, SystemFieldIds } from '../../../shared-services/crm-services/field.service';\nimport { TranslationModule } from '../../../i18n/translation-module';\n\n@Component({\n selector: 'crm-activity-logged-call',\n templateUrl: './logged-call.component.html',\n styleUrls: ['./logged-call.component.scss'],\n providers: [],\n imports: [CommonModule, TranslateModule, TranslationModule, CollapsibleSectionComponent],\n standalone: true,\n})\nexport class CrmActivityLoggedCallComponent {\n dateFormat = DateFormat.mediumDateShortTime;\n callRecordingSource$: Observable;\n\n private _activity: WritableSignal = signal({});\n @Input({ required: true }) set activity(activity: ActivityInterface) {\n this._activity.set(activity);\n }\n\n get activity() {\n return this._activity();\n }\n\n cardInfo: Signal = computed(() => {\n const cardInfo: any = {\n note: this.getFieldData(this._activity(), StandardIds.ActivityCallBody),\n direction: this.getFieldData(this._activity(), StandardIds.ActivityCallDirection),\n status: this.getFieldData(this._activity(), StandardIds.ActivityCallStatus),\n outcome: this.getFieldData(this._activity(), StandardIds.ActivityCallOutcome),\n date:\n this.fieldService.getFieldValueFromCrmObject(this._activity(), SystemFieldIds.ActivityEffectiveDate)\n ?.dateValue ?? null,\n };\n const callRecordingUrl = this.getFieldData(this._activity(), StandardIds.ActivityCallRecordingUrl);\n if (callRecordingUrl) {\n cardInfo.callRecordingUrl = callRecordingUrl;\n }\n return cardInfo;\n });\n\n private getFieldData(activity: ActivityInterface, fieldId: string): string {\n return this.fieldService.getFieldValueFromCrmObject(activity, fieldId)?.stringValue ?? '';\n }\n\n constructor(private readonly http: HttpClient, private readonly fieldService: CrmFieldService) {\n this.callRecordingSource$ = toObservable(this.cardInfo).pipe(\n switchMap((cardInfo) => {\n if (!cardInfo.callRecordingUrl) {\n return of(null);\n }\n return this.http.get(cardInfo.callRecordingUrl, {\n responseType: 'text',\n withCredentials: true,\n });\n }),\n );\n }\n}\n\ninterface ActivityCardInformation {\n note: string;\n outcome: string;\n status: string;\n direction: string;\n callRecordingUrl?: string;\n date: Date;\n}\n","
\n \n {{ cardInfo.note }}\n \n \n \n \n
\n \n \n \n \n
\n
\n\n\n
\n
\n {{ label | translate }}\n
\n
\n \n \n {{ value }}\n \n
\n
\n
\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, WritableSignal, signal, Signal, computed } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { TranslationModule } from '../../../i18n/translation-module';\nimport { CrmFieldService, StandardIds, SystemFieldIds } from '../../../shared-services/crm-services/field.service';\nimport { CollapsibleSectionComponent } from '../../collapsible-section/collapsible-section.component';\nimport { ActivityInterface } from '@vendasta/crm';\nimport { intervalToDuration } from 'date-fns';\nimport { GalaxyPipesModule } from '@vendasta/galaxy/pipes';\nimport { DateFormat } from '@vendasta/galaxy/utility/date-utils';\nimport DOMPurify from 'dompurify';\n\n@Component({\n selector: 'crm-activity-logged-meeting',\n templateUrl: './logged-meeting.component.html',\n styleUrls: ['./logged-meeting.component.scss'],\n providers: [],\n imports: [CommonModule, TranslateModule, TranslationModule, CollapsibleSectionComponent, GalaxyPipesModule],\n standalone: true,\n})\nexport class CrmActivityLoggedMeetingComponent {\n dateFormat = DateFormat.mediumDateShortTime;\n private _activity: WritableSignal = signal({});\n @Input({ required: true }) set activity(activity: ActivityInterface) {\n this._activity.set(activity);\n }\n get activity() {\n return this._activity();\n }\n\n cardInfo: Signal = computed(() => {\n const duration = this.getIntegerFieldData(this._activity(), StandardIds.ActivityMeetingDuration);\n return {\n note: DOMPurify.sanitize(this.getStringFieldData(this._activity(), StandardIds.ActivityMeetingBody)),\n status: this.getStringFieldData(this._activity(), StandardIds.ActivityMeetingStatus),\n outcome: this.getStringFieldData(this._activity(), StandardIds.ActivityMeetingOutcome),\n date:\n this.fieldService.getFieldValueFromCrmObject(this._activity(), SystemFieldIds.ActivityEffectiveDate)\n ?.dateValue ?? null,\n duration: this.convertMillisecondsToHoursAndMinutes(duration),\n };\n });\n\n private getStringFieldData(activity: ActivityInterface, fieldId: string): string {\n return this.fieldService.getFieldValueFromCrmObject(activity, fieldId)?.stringValue ?? '';\n }\n private getIntegerFieldData(activity: ActivityInterface, fieldId: string): number {\n return this.fieldService.getFieldValueFromCrmObject(activity, fieldId)?.integerValue ?? 0;\n }\n private convertMillisecondsToHoursAndMinutes(duration: number): string {\n if (duration === 0) return '';\n const convertedDuration = intervalToDuration({ start: 0, end: duration });\n if (convertedDuration.hours > 0) {\n return `${convertedDuration.hours}h ${convertedDuration.minutes}m`;\n }\n return `${convertedDuration.minutes}m`;\n }\n\n constructor(private readonly fieldService: CrmFieldService) {}\n}\n\ninterface ActivityCardInformation {\n note: string;\n outcome: string;\n status: string;\n date: Date;\n duration: string;\n}\n","
\n \n \n \n
\n \n \n \n \n
\n
\n\n\n
\n
\n {{ label | translate }}\n
\n
\n \n \n {{ value }}\n \n
\n
\n
\n","import { CommonModule } from '@angular/common';\nimport {\n Component,\n Input,\n WritableSignal,\n signal,\n Signal,\n computed,\n OnInit,\n Output,\n EventEmitter,\n} from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ActivityTaskStatus } from '../../../tokens-and-interfaces';\nimport { TranslationModule } from '../../../i18n/translation-module';\nimport { CrmFieldService, StandardIds, ActivityService } from '../../../shared-services';\nimport { ActivityInterface, FieldMaskInterface, ActivityAssociationInterface } from '@vendasta/crm';\nimport { DateFormat } from '@vendasta/galaxy/utility/date-utils';\nimport { User } from '@vendasta/iamv2';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatIconModule } from '@angular/material/icon';\nimport { firstValueFrom } from 'rxjs';\nimport { SnackbarService } from '@vendasta/galaxy/snackbar-service';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { GalaxyFormFieldModule } from '@vendasta/galaxy/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { CollapsibleSectionComponent } from '../../collapsible-section/collapsible-section.component';\nimport { ObjectType } from '../../../tokens-and-interfaces';\n\n@Component({\n selector: 'crm-activity-task',\n templateUrl: './task.component.html',\n styleUrls: ['./task.component.scss'],\n providers: [],\n imports: [\n CommonModule,\n TranslateModule,\n TranslationModule,\n MatCheckboxModule,\n ReactiveFormsModule,\n GalaxyFormFieldModule,\n MatInputModule,\n MatIconModule,\n CollapsibleSectionComponent,\n ],\n standalone: true,\n})\nexport class CrmActivityTaskComponent implements OnInit {\n completedTaskControl = new FormControl(false);\n dateFormat = DateFormat.mediumDateShortTime;\n private _activity: WritableSignal = signal({});\n @Input({ required: true }) set activity(activity: ActivityInterface) {\n this._activity.set(activity);\n }\n get activity() {\n return this._activity();\n }\n @Output() activityChange = new EventEmitter();\n\n @Input() users?: User[] | null;\n\n @Input() associatedObject?: { crmObjectId: string; objectType: ObjectType } | null;\n\n private unknownNamePlaceholder = 'CONTACT.ACTIVITIES.UNKNOWN_NAME';\n\n cardInfo: Signal = computed(() => {\n return {\n crmObjectId: this._activity().crmObjectId,\n title: this.getFieldData(this._activity(), StandardIds.ActivityName),\n body: this.getFieldData(this._activity(), StandardIds.ActivityTaskBody),\n status: this.getFieldData(this._activity(), StandardIds.ActivityTaskStatus),\n type: this.getFieldData(this._activity(), StandardIds.ActivityTaskType),\n priority: this.getFieldData(this._activity(), StandardIds.ActivityTaskPriority),\n dueDate:\n this.fieldService.getFieldValueFromCrmObject(this._activity(), StandardIds.ActivityTaskDueDate)?.dateValue ??\n null,\n assignee: this.getAssigneeName(this._activity()),\n associations: this.getAssociations(this._activity()),\n };\n });\n\n ngOnInit(): void {\n const taskIsCompleted =\n this.activity?.fields?.find((field) => field.fieldId === StandardIds.ActivityTaskStatus)?.stringValue ===\n ActivityTaskStatus.Completed;\n this.completedTaskControl.setValue(taskIsCompleted, { emitEvent: false });\n }\n\n private getFieldData(activity: ActivityInterface, fieldId: string): string {\n return this.fieldService.getFieldValueFromCrmObject(activity, fieldId)?.stringValue ?? '';\n }\n\n private getAssigneeName(activity: ActivityInterface): string {\n const ownerId = activity?.ownerId ?? '';\n const user = this.users?.find((user) => user.userId === ownerId);\n const userName = [user?.firstName, user?.lastName]\n .map((name) => name?.trim())\n .filter((name) => name)\n .join(' ');\n return userName || this.unknownNamePlaceholder;\n }\n\n private getTaskCompletionStatus(): string {\n return this.completedTaskControl.value ? ActivityTaskStatus.Completed : ActivityTaskStatus.Open;\n }\n\n private getAssociations(activity: ActivityInterface): ActivityAssociationInterface[] {\n return activity?.associations;\n }\n\n private emitStatusChange(status: string): void {\n const activity = this.activity;\n const field = this.fieldService.getFieldValueFromCrmObject(activity, StandardIds.ActivityTaskStatus);\n if (field) {\n field.stringValue = status;\n } else {\n activity.fields?.push({ fieldId: StandardIds.ActivityTaskStatus, stringValue: status });\n }\n this._activity.set(activity);\n this.activityChange.emit(activity);\n }\n\n async updateTaskCompletionStatus(): Promise {\n const status = this.getTaskCompletionStatus();\n const activity: ActivityInterface = {\n crmObjectId: this.activity.crmObjectId,\n crmObjectSubtype: this.activity.crmObjectSubtype,\n fields: [{ fieldId: StandardIds.ActivityTaskStatus, stringValue: status }],\n };\n\n const mask: FieldMaskInterface = {\n paths: [StandardIds.ActivityTaskStatus],\n };\n try {\n await firstValueFrom(this.activityService.updateActivity(activity, mask));\n this.snack.openSuccessSnack('TASK.STATUS_UPDATE.SUCCESS');\n this.emitStatusChange(status);\n } catch (_) {\n this.snack.openErrorSnack('TASK.STATUS_UPDATE.ERROR');\n }\n }\n\n constructor(\n private readonly fieldService: CrmFieldService,\n private readonly activityService: ActivityService,\n private readonly snack: SnackbarService,\n ) {}\n}\ninterface ActivityCardInformation {\n title: string;\n body: string;\n status: string;\n type: string;\n priority: string;\n dueDate: Date | null;\n assignee: string;\n associations: ActivityAssociationInterface[];\n}\n","
\n \n \n \n {{ cardInfo.title }}\n {{ cardInfo.body }}\n \n \n \n\n
\n \n \n \n \n
\n
\n\n\n
\n
\n {{ label | translate }}\n
\n
\n \n \n {{ value }}\n \n
\n
\n
\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, signal, Signal, WritableSignal, inject } from '@angular/core';\nimport { TranslationModule } from '../../../i18n/translation-module';\nimport { map, switchMap, of, ReplaySubject, combineLatest, shareReplay, Observable } from 'rxjs';\nimport {\n ActivityService,\n CrmFieldService,\n CrmObjectService,\n PlatformExtensionFieldIds,\n StandardExternalIds,\n StandardIds,\n} from '../../../shared-services';\nimport { CrmInjectionToken, ObjectType } from '../../../tokens-and-interfaces';\nimport { PAGE_ROUTES } from '../../../constants';\nimport { SnackbarService } from '@vendasta/galaxy/snackbar-service';\nimport { ActivityInterface } from '@vendasta/crm';\nimport { toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { filter } from 'rxjs/operators';\nimport { RouterLink } from '@angular/router';\n\n@Component({\n selector: 'crm-association-popover',\n templateUrl: './association-popover.component.html',\n styleUrls: ['./association-popover.component.scss'],\n providers: [],\n imports: [CommonModule, TranslationModule, RouterLink],\n standalone: true,\n})\nexport class CrmActivityAssociationPopoverComponent {\n private _activity: WritableSignal = signal({});\n @Input({ required: true }) set activity(activity: ActivityInterface) {\n this._activity.set(activity);\n }\n get activity() {\n return this._activity();\n }\n\n private readonly objectType$$ = new ReplaySubject(1);\n protected objectType$: Observable = this.objectType$$.asObservable();\n private readonly crmObjectId$$ = new ReplaySubject(1);\n protected crmObjectId$: Observable = this.crmObjectId$$.asObservable();\n\n @Input() set associatedObject(a: { crmObjectId: string; objectType: ObjectType }) {\n this.objectType$$.next(a.objectType);\n this.crmObjectId$$.next(a.crmObjectId);\n }\n protected primaryAccountGroupId$: Observable;\n\n companies: Signal;\n contacts: Signal;\n opportunities: Signal;\n teamMembers: Signal;\n\n routePrefix: Signal;\n\n protected readonly config = inject(CrmInjectionToken);\n protected readonly opportunityService = this.config.services?.opportunityService;\n protected readonly userService = this.config.services?.userService;\n\n constructor(\n private readonly fieldService: CrmFieldService,\n private readonly activityService: ActivityService,\n private readonly snack: SnackbarService,\n private readonly objectService: CrmObjectService,\n ) {\n this.routePrefix = toSignal(this.config.routePrefix$);\n\n this.primaryAccountGroupId$ = combineLatest([this.crmObjectId$, this.objectType$]).pipe(\n switchMap((v: [string, ObjectType]) => {\n const crmObjectId = v[0],\n crmObjectType = v[1];\n return this.objectService.getMultiObject(crmObjectType, [crmObjectId]);\n }),\n map((response) => response?.crmObjects?.[0]),\n map((crmObject) => {\n return (\n this.fieldService.getFieldValueFromCrmObject(crmObject, PlatformExtensionFieldIds.AccountGroupID)\n ?.stringValue ?? null\n );\n }),\n filter(Boolean),\n shareReplay(1),\n );\n\n const companies$ = toObservable(this._activity).pipe(\n switchMap((activity) => {\n const ids = activity?.associations\n ?.filter((a) => a.crmObjectType == 'Company')\n .map((a) => {\n return a.crmObjectId;\n });\n if (ids.length > 0) {\n return this.objectService.getMultiObject('Company', ids);\n } else {\n return of(null);\n }\n }),\n map((response) => {\n return response?.crmObjects.map((o) => {\n return this.newTaskPopoverAssociation(\n this.fieldService.getFieldValueFromCrmObject(o, StandardIds.CompanyName)?.stringValue ?? '-',\n `${PAGE_ROUTES.COMPANY.ROOT}/${PAGE_ROUTES.COMPANY.SUBROUTES.PROFILE}`.replace(\n ':crmObjectId',\n o.crmObjectId || '',\n ),\n );\n });\n }),\n );\n\n this.companies = toSignal(companies$);\n\n const contacts$ = toObservable(this._activity).pipe(\n switchMap((activity) => {\n const ids = activity?.associations\n ?.filter((a) => a.crmObjectType == 'Contact')\n .map((a) => {\n return a.crmObjectId;\n });\n if (ids.length > 0) {\n return this.objectService.getMultiObject('Contact', ids);\n } else {\n return of(null);\n }\n }),\n map((response) => {\n return response?.crmObjects.map((o) => {\n const displayName =\n (this.fieldService.getFieldValueFromCrmObject(o, StandardExternalIds.FirstName)?.stringValue ?? '-') +\n ' ' +\n (this.fieldService.getFieldValueFromCrmObject(o, StandardExternalIds.LastName)?.stringValue ?? ' ');\n return this.newTaskPopoverAssociation(\n displayName,\n `${PAGE_ROUTES.CONTACT.ROOT}/${PAGE_ROUTES.CONTACT.SUBROUTES.PROFILE}`.replace(\n ':crmObjectId',\n o.crmObjectId || '',\n ),\n );\n });\n }),\n );\n\n this.contacts = toSignal(contacts$);\n\n const opportunities$ = combineLatest([toObservable(this._activity), this.primaryAccountGroupId$]).pipe(\n switchMap((v: [ActivityInterface, string]) => {\n const activity = v[0],\n accountGroupId = v[1];\n const ids = activity?.associations\n ?.filter((a) => a.crmObjectType == 'Opportunity')\n .map((a) => {\n return a.crmObjectId;\n });\n if (ids.length > 0) {\n this.opportunityService?.setAccountGroupId(accountGroupId);\n return this.opportunityService?.getMultiOpportunity(ids);\n } else {\n return of(null);\n }\n }),\n map((response) => {\n return response?.map((o) => {\n return this.newTaskPopoverAssociation(o?.name ?? '-', '');\n });\n }),\n );\n\n this.opportunities = toSignal(opportunities$);\n\n const userIds$ = toObservable(this._activity).pipe(\n switchMap((activity: ActivityInterface) => {\n const ids = activity?.associations\n ?.filter((a) => a.crmObjectType == 'User')\n .map((a) => {\n return a.crmObjectId;\n });\n if (ids.length > 0) {\n return this.userService?.getMultiUsers(ids);\n } else {\n return of(null);\n }\n }),\n map((response) => {\n return response?.map((o) => {\n return this.newTaskPopoverAssociation(o?.displayName ?? '-', '');\n });\n }),\n );\n\n this.teamMembers = toSignal(userIds$);\n }\n\n newTaskPopoverAssociation(name: string, link: string): TaskPopoverAssociationType {\n return {\n name: name,\n linkUrl: link,\n };\n }\n}\n\nexport interface TaskPopoverAssociationType {\n name?: string;\n linkUrl?: string;\n}\n","
0\" class=\"association\">\n
{{ 'ACTIVITY.POPOVER.CONTACTS' | translate }}
\n \n
\n
0\" class=\"association\">\n
{{ 'ACTIVITY.POPOVER.COMPANIES' | translate }}
\n \n
\n
0\" class=\"association\">\n
{{ 'ACTIVITY.POPOVER.OPPORTUNITIES' | translate }}
\n
\n {{ opportunity.name }}\n
\n
\n
0\" class=\"association\">\n
{{ 'ACTIVITY.POPOVER.TEAM_MEMBERS' | translate }}
\n
\n {{ member.name }}\n
\n
\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { ActivityInterface } from '@vendasta/crm';\nimport { ObjectAssociationType, ObjectType, ObjectTypes } from '../../../tokens-and-interfaces';\n\ntype Type = ObjectType | ObjectAssociationType;\ninterface Input {\n objectType: Type;\n crmObjectId: string;\n}\ninterface Output {\n objectType: ObjectType;\n crmObjectId: string;\n}\n\n@Pipe({\n name: 'crmTimelineAssociatedObject',\n standalone: true,\n})\nexport class CrmTimelineAssociatedObjectPipe implements PipeTransform {\n transform(activity: ActivityInterface, crmObject?: Input): Output {\n if (crmObject && this.isObjectType(crmObject.objectType)) {\n return {\n objectType: crmObject.objectType,\n crmObjectId: crmObject.crmObjectId,\n };\n }\n\n // Get the first associated Company or Contact\n if (activity?.associations?.length) {\n for (const asc of activity.associations) {\n if (this.isObjectType(asc.crmObjectType)) {\n return {\n objectType: asc.crmObjectType as ObjectType,\n crmObjectId: asc.crmObjectId as string,\n };\n }\n }\n }\n\n return {} as Output;\n }\n\n private isObjectType(objectType?: string): objectType is ObjectType {\n return ObjectTypes.includes(objectType as ObjectType);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, WritableSignal, signal, Signal, computed } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { TranslationModule } from '../../../i18n/translation-module';\nimport { CrmFieldService, StandardIds, SystemFieldIds } from '../../../shared-services/crm-services/field.service';\nimport { CollapsibleSectionComponent } from '../../collapsible-section/collapsible-section.component';\nimport { ActivityInterface } from '@vendasta/crm';\nimport { DateFormat } from '@vendasta/galaxy/utility/date-utils';\nimport { GalaxyPipesModule } from '@vendasta/galaxy/pipes';\n\n@Component({\n selector: 'crm-activity-logged-communication',\n templateUrl: './logged-communication.component.html',\n styleUrls: ['./logged-communication.component.scss'],\n providers: [],\n imports: [CommonModule, TranslateModule, TranslationModule, CollapsibleSectionComponent, GalaxyPipesModule],\n standalone: true,\n})\nexport class CrmActivityLoggedCommunicationComponent {\n private _activity: WritableSignal = signal({});\n @Input({ required: true }) set activity(activity: ActivityInterface) {\n this._activity.set(activity);\n }\n\n get activity() {\n return this._activity();\n }\n\n dateFormat = DateFormat.mediumDateShortTime;\n\n cardInfo: Signal = computed(() => {\n const cardInfo: any = {\n body: this.getFieldData(this._activity(), StandardIds.ActivityCommunicationBody),\n channel: this.getFieldData(this._activity(), StandardIds.ActivityCommunicationChannel),\n outcome: this.getFieldData(this._activity(), StandardIds.ActivityCommunicationOutcome),\n date:\n this.fieldService.getFieldValueFromCrmObject(this._activity(), SystemFieldIds.ActivityEffectiveDate)\n ?.dateValue ?? null,\n };\n return cardInfo;\n });\n\n private getFieldData(activity: ActivityInterface, fieldId: string): string {\n return this.fieldService.getFieldValueFromCrmObject(activity, fieldId)?.stringValue ?? '';\n }\n\n constructor(private readonly fieldService: CrmFieldService) {}\n}\n\ninterface ActivityCardInformation {\n body: string;\n channel: string;\n outcome: string;\n date: Date;\n}\n","
\n \n {{ cardInfo.body }}\n \n
\n \n \n \n
\n
\n\n\n
\n
\n {{ label | translate }}\n
\n
\n \n \n {{ value }}\n \n
\n
\n
\n","export function getActivityUrl(activityUrl: string | undefined): string | null {\n if (!activityUrl) {\n return null;\n }\n\n let urlToCheck = activityUrl;\n if (activityUrl.startsWith('www.')) {\n urlToCheck = 'https://' + activityUrl;\n }\n\n try {\n const url = new URL(urlToCheck);\n if (url.host) {\n return url.toString();\n }\n } catch (e) {\n // ignore\n }\n\n const angularAuxiliaryPathPattern = /\\([a-zA-Z0-9]+:[a-zA-Z0-9/-]+\\)/;\n if (angularAuxiliaryPathPattern.test(activityUrl)) {\n const currentUrl = window.location.protocol + '//' + window.location.host + window.location.pathname;\n return currentUrl + activityUrl;\n }\n\n const host = window.location.protocol + '//' + window.location.host;\n return host + activityUrl;\n}\n","import { TranslateModule } from '@ngx-translate/core';\nimport { AVATAR_WIDTH } from '../../../constants';\nimport { TranslationModule } from '../../../i18n/translation-module';\nimport { CollapsibleSectionComponent } from '../../collapsible-section/collapsible-section.component';\nimport { ActivityInterface } from '@vendasta/crm';\nimport { CommonModule } from '@angular/common';\nimport { Component, Input } from '@angular/core';\nimport { CrmFieldService, StandardIds, SystemFieldIds } from '../../../shared-services/crm-services/field.service';\nimport { MatCardModule } from '@angular/material/card';\nimport { DateFormat } from '@vendasta/galaxy/utility/date-utils';\nimport { GalaxyAvatarModule } from '@vendasta/galaxy/avatar';\nimport { CrmUnknownUserAvatarComponent } from '../../unknown-user-avatar/unknown-user-avatar.component';\nimport { getActivityUrl } from './activity-url-builder';\n\n@Component({\n selector: 'crm-activity-communication',\n templateUrl: './activity-communication.component.html',\n styleUrls: ['./activity-communication.component.scss'],\n imports: [\n CommonModule,\n TranslateModule,\n TranslationModule,\n CollapsibleSectionComponent,\n MatCardModule,\n GalaxyAvatarModule,\n CrmUnknownUserAvatarComponent,\n ],\n standalone: true,\n})\nexport class CrmActivityCommunicationComponent {\n @Input() set activity(activity: ActivityInterface) {\n this.setActivityData(activity);\n }\n\n @Input() showAvatar = true;\n\n readonly AVATAR_WIDTH = AVATAR_WIDTH;\n readonly dateFormat = DateFormat.medium;\n\n sourceName = '';\n body = '';\n effectiveDate?: Date;\n activityUrl: string | null = null;\n activityUrlName = '';\n\n constructor(private readonly fieldService: CrmFieldService) {}\n\n private setActivityData(activity: ActivityInterface): void {\n this.body = this.getStringFieldData(activity, StandardIds.ActivityCommunicationBody);\n this.effectiveDate = this.fieldService.getFieldValueFromCrmObject(\n activity,\n SystemFieldIds.ActivityEffectiveDate,\n )?.dateValue;\n this.sourceName = this.getStringFieldData(activity, StandardIds.ActivitySourceName);\n this.activityUrl = getActivityUrl(this.getStringFieldData(activity, StandardIds.ActivityUrl));\n this.activityUrlName = this.getStringFieldData(activity, StandardIds.ActivityUrlName) ?? '';\n }\n\n private getStringFieldData(activity: ActivityInterface, fieldId: string): string {\n return this.fieldService.getFieldValueFromCrmObject(activity, fieldId)?.stringValue ?? '';\n }\n}\n","\n \n
\n \n
\n \n {{ 'ACTIVITY.COMMUNICATION.CONVERSATION_CREATED' | translate }} {{ sourceName }}\n \n \n

\n {{ effectiveDate | date : dateFormat }}\n

\n
\n
\n \n
\n \n

{{ body }}

\n
\n
\n \n
\n
\n","import { CommonModule } from '@angular/common';\nimport { HttpClient } from '@angular/common/http';\nimport { Component, Input, Signal, WritableSignal, computed, signal } from '@angular/core';\nimport { toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { MatCardModule } from '@angular/material/card';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { RxState } from '@rx-angular/state';\nimport { ActivityInterface, GetMultiCrmObjectResponseInterface } from '@vendasta/crm';\nimport { GalaxyAvatarModule } from '@vendasta/galaxy/avatar';\nimport { GalaxyPipesModule } from '@vendasta/galaxy/pipes';\nimport { DateFormat } from '@vendasta/galaxy/utility/date-utils';\nimport { Observable, of } from 'rxjs';\nimport { map, switchMap } from 'rxjs/operators';\nimport { AVATAR_WIDTH } from '../../../constants';\nimport { TranslationModule } from '../../../i18n/translation-module';\nimport { CrmObjectService } from '../../../shared-services/crm-services/crm-object-service/crm-object.service';\nimport {\n CrmFieldService,\n StandardExternalIds,\n StandardIds,\n SystemFieldIds,\n} from '../../../shared-services/crm-services/field.service';\nimport { ObjectType } from '../../../tokens-and-interfaces';\nimport { CollapsibleSectionComponent } from '../../collapsible-section/collapsible-section.component';\nimport { CrmUnknownUserAvatarComponent } from '../../unknown-user-avatar/unknown-user-avatar.component';\nimport { ActivityExtended } from '../timeline/timeline.service';\n@Component({\n selector: 'crm-activity-call',\n templateUrl: './call.component.html',\n styleUrls: ['./call.component.scss'],\n providers: [RxState],\n imports: [\n CommonModule,\n TranslateModule,\n TranslationModule,\n CollapsibleSectionComponent,\n MatCardModule,\n GalaxyAvatarModule,\n CrmUnknownUserAvatarComponent,\n GalaxyPipesModule,\n ],\n standalone: true,\n})\nexport class CrmActivityCallComponent {\n dateFormat = DateFormat.mediumDateShortTime;\n callRecordingSource$: Observable;\n private _activity: WritableSignal = signal({});\n private _associatedObjectId: WritableSignal = signal('');\n private _objectType: WritableSignal = signal('Contact');\n\n @Input({ required: true }) set activity(activity: ActivityExtended) {\n this._activity.set(activity);\n }\n get activity() {\n return this._activity();\n }\n @Input() set objectType(objectType: ObjectType) {\n this._objectType.set(objectType);\n }\n get objectType() {\n return this._objectType();\n }\n\n @Input() set associatedObjectId(crmObjectId: string) {\n this._associatedObjectId.set(crmObjectId);\n }\n\n get associatedObjectId() {\n return this._associatedObjectId();\n }\n\n private _showAvatar = true;\n @Input() set showAvatar(showAvatar: boolean) {\n this._showAvatar = showAvatar;\n }\n\n get showAvatar() {\n return this._showAvatar;\n }\n\n associatedCrmObject$ = toObservable(this._activity).pipe(switchMap(() => this.getAssociatedObjectName()));\n associatedCrmObject = toSignal(this.associatedCrmObject$);\n\n getAssociatedObjectName(): Observable {\n if (this.objectType === 'Contact') {\n return this.crmObjectService.getMultiObject('Contact', [this.associatedObjectId]).pipe(\n map((data: GetMultiCrmObjectResponseInterface) => {\n const crmObject = data?.crmObjects[0];\n const firstName =\n this.fieldService.getFieldValueFromCrmObject(crmObject, StandardExternalIds.FirstName)?.stringValue || '';\n const lastName =\n this.fieldService.getFieldValueFromCrmObject(crmObject, StandardExternalIds.LastName)?.stringValue || '';\n return `${firstName} ${lastName}` ?? '';\n }),\n );\n }\n if (this.objectType === 'Company') {\n return this.crmObjectService.getMultiObject('Company', [this.associatedObjectId]).pipe(\n map((data: GetMultiCrmObjectResponseInterface) => {\n const crmObject = data?.crmObjects[0];\n const companyName =\n this.fieldService.getFieldValueFromCrmObject(crmObject, StandardIds.CompanyName)?.stringValue || '';\n return `${companyName}` ?? '';\n }),\n );\n }\n return of('');\n }\n\n headerText = computed(() => {\n const { direction } = this.cardInfo();\n let directionText = '';\n if (direction === 'Inbound') {\n directionText = `Call from ${this.ownerName()}`;\n } else if (direction === 'Outbound') {\n directionText = `Call to ${this.ownerName()}`;\n }\n return directionText;\n });\n\n cardTitle = computed(() => {\n const { status, duration } = this.cardInfo();\n const minutes = Math.floor(duration / 60000);\n const seconds = ((duration % 60000) / 1000).toFixed(0);\n if (status === 'Connected') {\n return `Call for ${minutes} minutes, ${seconds} seconds`;\n }\n return `Call - ${status}`;\n });\n\n ownerName = computed(() => {\n const owner = this.activity?.ownerUser;\n if (owner) {\n return `${owner?.firstName || ''} ${owner?.lastName || ''}`.trim();\n }\n return 'Unknown';\n });\n\n cardInfo: Signal = computed(() => {\n const cardInfo: any = {\n status: this.getStringFieldData(this.activity, StandardIds.ActivityCallStatus),\n direction: this.getStringFieldData(this.activity, StandardIds.ActivityCallDirection),\n date:\n this.fieldService.getFieldValueFromCrmObject(this._activity(), SystemFieldIds.ActivityEffectiveDate)\n ?.dateValue ?? null,\n to: this.getStringFieldData(this._activity(), StandardIds.ActivityCallToNumber),\n from: this.getStringFieldData(this._activity(), StandardIds.ActivityCallFromNumber),\n duration:\n this.fieldService.getFieldValueFromCrmObject(this._activity(), StandardIds.ActivityCallDuration)\n ?.integerValue ?? 0,\n };\n const callRecordingUrl = this.getStringFieldData(this._activity(), StandardIds.ActivityCallRecordingUrl);\n if (callRecordingUrl) {\n cardInfo.callRecordingUrl = callRecordingUrl;\n }\n return cardInfo;\n });\n\n private getStringFieldData(activity: ActivityInterface, fieldId: string): string {\n return this.fieldService.getFieldValueFromCrmObject(activity, fieldId)?.stringValue ?? '';\n }\n\n constructor(\n private readonly fieldService: CrmFieldService,\n private readonly http: HttpClient,\n private readonly crmObjectService: CrmObjectService,\n ) {\n this.callRecordingSource$ = toObservable(this.cardInfo).pipe(\n switchMap((cardInfo) => {\n if (!cardInfo.callRecordingUrl) {\n return of(null);\n }\n return this.http.get(cardInfo.callRecordingUrl, {\n responseType: 'text',\n withCredentials: true,\n });\n }),\n );\n }\n\n protected readonly AVATAR_WIDTH = AVATAR_WIDTH;\n}\n\ninterface ActivityCardInformation {\n status: string;\n direction: string;\n callRecordingUrl?: string;\n date: Date;\n to: string;\n from: string;\n duration: number;\n}\n","
\n \n \n
\n \n
\n \n {{ headerText }}\n \n {{ 'ACTIVITY.UNKNOWN_TITLE' | translate }}\n \n \n \n

\n {{ cardInfo.date | date: dateFormat }}\n

\n
\n
\n \n \n \n {{ cardTitle }}\n \n \n
\n \n
{{ ownerName }}
\n \n
{{ cardInfo.from }}
\n
\n
\n to {{ associatedObject }}\n ({{ cardInfo.to }})\n
\n
\n \n
\n {{ associatedObject }}\n ({{ cardInfo.from }})\n
\n
\n
\n \n \n \n
\n
\n
\n
\n
\n","import { Component, computed, effect, Inject, Input, Signal, signal } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { CrmFieldService, StandardIds, SystemFieldIds } from '../../../shared-services/crm-services/field.service';\nimport { CrmActivityTemplateComponent } from './activity-template.component';\nimport { CrmInjectionToken, CrmDependencies } from '../../../tokens-and-interfaces';\nimport { MatCardModule } from '@angular/material/card';\nimport { GalaxyPipesModule } from '@vendasta/galaxy/pipes';\nimport { GalaxyAvatarModule } from '@vendasta/galaxy/avatar';\nimport { BlankValueComponent } from '@vendasta/galaxy/table';\nimport { ActivityInterface } from '@vendasta/crm';\nimport { DateFormat } from '@vendasta/galaxy/utility/date-utils';\nimport { AVATAR_WIDTH } from '../../../constants';\nimport { RxState } from '@rx-angular/state';\nimport { CrmUnknownUserAvatarComponent } from '../../unknown-user-avatar/unknown-user-avatar.component';\nimport { CollapsibleSectionComponent } from '../../collapsible-section/collapsible-section.component';\nimport { SalespersonService, SalesSdk } from '@vendasta/sales';\nimport { catchError, map, switchMap, filter } from 'rxjs/operators';\nimport { combineLatest, of, take } from 'rxjs';\nimport { toSignal, toObservable } from '@angular/core/rxjs-interop';\nimport { SalesOpportunitiesSdk, SalesOpportunitiesService } from '@vendasta/sales-opportunities';\nimport { CrmPlatformApiService } from '../../../shared-services/platform-api.service';\n\n@Component({\n selector: 'crm-activity-opportunity-updated',\n templateUrl: './opportunity-change.component.html',\n styleUrls: ['./opportunity-change.component.scss'],\n providers: [RxState, CrmPlatformApiService],\n imports: [\n CommonModule,\n TranslateModule,\n MatCardModule,\n CrmActivityTemplateComponent,\n GalaxyPipesModule,\n GalaxyAvatarModule,\n BlankValueComponent,\n CrmUnknownUserAvatarComponent,\n CollapsibleSectionComponent,\n ],\n standalone: true,\n})\nexport class CrmActivityOpportunityUpdatedComponent {\n #activity = signal({});\n isClosedWon = false;\n\n private checkClosedWon(): void {\n const opportunityChangeStatus =\n this.fieldService.getFieldValueFromCrmObject(this.#activity(), StandardIds.ActivityOpportunityChangePipelineStage)\n ?.stringValue ?? '';\n\n this.isClosedWon = opportunityChangeStatus.toLowerCase() === 'closed-won';\n }\n\n ngOnInit(): void {\n this.checkClosedWon();\n }\n @Input() set activity(activity: ActivityInterface) {\n this.#activity.set(activity);\n }\n\n get activity(): ActivityInterface {\n return this.#activity();\n }\n\n private _showAvatar = true;\n protected readonly AVATAR_WIDTH = AVATAR_WIDTH;\n\n @Input() set showAvatar(showAvatar: boolean) {\n this._showAvatar = showAvatar;\n }\n\n get showAvatar() {\n return this._showAvatar;\n }\n\n dateFormat = DateFormat.medium;\n\n salespersonId: Signal = computed(() => {\n return (\n this.fieldService.getFieldValueFromCrmObject(this.activity, StandardIds.ActivityOpportunityChangeSalespersonID)\n ?.stringValue ?? ''\n );\n });\n\n private readonly namespace = toSignal(this.config.namespace$);\n\n effectResult = signal(undefined);\n\n headerText = computed(() => {\n const effectResult = this.effectResult();\n\n const salesPerson = this.salespersonId();\n if (salesPerson) {\n return (\n this.translateService.instant('COMPANY.OPPORTUNITY_CHANGE_ACTIVITY.OPPORTUNITY_UPDATED_BY') +\n ' ' +\n effectResult?.opportunityUpdatedBy\n );\n }\n return this.translateService.instant('COMPANY.OPPORTUNITY_CHANGE_ACTIVITY.OPPORTUNITY_UPDATED');\n });\n\n cardInfo = computed(() => {\n const headerText = this.headerText();\n const effectiveDate = this.effectiveDate();\n const opportunityName = this.opportunityName();\n const updatedBy = this.effectResult()?.opportunityUpdatedBy;\n\n const opportunityChangeStatus =\n this.fieldService.getFieldValueFromCrmObject(this.#activity(), StandardIds.ActivityOpportunityChangePipelineStage)\n ?.stringValue ?? '';\n const opportunityChangeLostReason =\n this.fieldService.getFieldValueFromCrmObject(this.#activity(), StandardIds.ActivityOpportunityChangeLostReason)\n ?.stringValue ?? '';\n const opportunityChangeNotes =\n this.getStringFieldData(this.#activity(), StandardIds.ActivityOpportunityChangeNotes) ?? '';\n\n const formattedStatus =\n opportunityChangeStatus.charAt(0).toUpperCase() + opportunityChangeStatus.slice(1).toLowerCase();\n const formattedLostReason =\n opportunityChangeLostReason.charAt(0).toUpperCase() + opportunityChangeLostReason.slice(1).toLowerCase();\n\n const activityInfo = {\n status: formattedStatus,\n lostReason: formattedLostReason,\n notes: opportunityChangeNotes,\n opportunityName: opportunityName,\n };\n\n return {\n headerText,\n effectiveDate,\n updatedBy,\n activityInfo,\n };\n });\n\n effectiveDate = computed(() => {\n return (\n this.fieldService.getFieldValueFromCrmObject(this.#activity(), SystemFieldIds.ActivityEffectiveDate)?.dateValue ??\n null\n );\n });\n\n private getStringFieldData(activity: ActivityInterface, fieldId: string): string {\n return this.fieldService.getFieldValueFromCrmObject(activity, fieldId)?.stringValue ?? '';\n }\n\n accountGroupId$ = toObservable(this.#activity).pipe(\n map(\n (activity) =>\n (activity.associations || []).find((association) => association.crmObjectType === 'Company')?.crmObjectId ?? '',\n ),\n filter((companyId) => !!companyId),\n switchMap((companyId) => this.crmPlatformApiService.getAccountGroupForCompany(companyId)),\n );\n\n opportunityName = toSignal(\n combineLatest([this.accountGroupId$, toObservable(this.#activity)]).pipe(\n switchMap(([accountGroupId, activity]) => {\n const opportunityId = this.getStringFieldData(activity, StandardIds.ActivityOpportunityChangeID);\n return this.opportunityApi.get(opportunityId, accountGroupId).pipe(\n map((opportunity) => opportunity.name),\n catchError(() => of('Unknown')),\n );\n }),\n ),\n );\n\n constructor(\n private readonly fieldService: CrmFieldService,\n private readonly translateService: TranslateService,\n private readonly crmPlatformApiService: CrmPlatformApiService,\n @Inject(SalespersonService) private readonly salespersonService: SalesSdk,\n @Inject(CrmInjectionToken) private readonly config: CrmDependencies,\n @Inject(SalesOpportunitiesService) private readonly opportunityApi: SalesOpportunitiesSdk,\n ) {\n effect(\n () => {\n const namespace = this.namespace() || '';\n if (this.salespersonId()) {\n return this.salespersonService\n .getSalespersonBySubjectId(namespace, this.salespersonId())\n .pipe(\n map((salesperson) => `${salesperson.firstName} ${salesperson.lastName}`),\n catchError(() => of('Unknown')),\n )\n .pipe(take(1))\n .subscribe((salesperson) => {\n const effectResult = {} as EffectResult;\n effectResult.opportunityUpdatedBy = salesperson;\n this.effectResult.set(effectResult);\n });\n }\n },\n { allowSignalWrites: true },\n );\n }\n}\n\ninterface EffectResult {\n opportunityUpdatedBy: string;\n effectiveDate: Date | null;\n}\n","\n \n \n
\n \n
\n \n {{ cardInfo.headerText }}\n \n \n

\n {{ cardInfo.effectiveDate | date: dateFormat }}\n

\n
\n
\n \n
\n
{{ activityInfo.opportunityName }}
\n
\n {{ 'COMPANY.OPPORTUNITY_CHANGE_ACTIVITY.STATUS_CHANGE_MESSAGE' | translate }}\n {{ activityInfo.status }}\n
\n
\n
\n {{ 'COMPANY.OPPORTUNITY_CHANGE_ACTIVITY.REASON_MESSAGE' | translate }}\n {{ activityInfo.lostReason }}\n
\n
\n
\n {{ 'COMPANY.OPPORTUNITY_CHANGE_ACTIVITY.NOTES_MESSAGE' | translate }}\n {{ activityInfo.notes }}\n
\n
\n
\n
\n
\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { ObserversModule } from '@angular/cdk/observers';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ObjectAssociationType, ObjectType, RecordChangeType } from '../../../tokens-and-interfaces';\nimport { TranslationModule } from '../../../i18n/translation-module';\nimport { VALID_RECORD_CHANGE_TYPES } from '../../../constants';\nimport { GalaxyEmptyStateModule } from '@vendasta/galaxy/empty-state';\nimport { GalaxyLoadingSpinnerModule } from '@vendasta/galaxy/loading-spinner';\nimport { MatIconModule } from '@angular/material/icon';\nimport { ActivityInterface } from '@vendasta/crm';\nimport { CrmActivityTemplateComponent } from '../activities/activity-template.component';\nimport { CrmActivityLoggedNoteComponent } from '../activities/logged-note.component';\nimport { RxState } from '@rx-angular/state';\nimport { map, combineLatest, filter, distinctUntilChanged } from 'rxjs';\nimport { ActivitiesTimelineService, ActivityExtended, ActivitySectionInterface } from './timeline.service';\nimport { CrmActivityRecordChangeComponent } from '../activities/record-change.component';\nimport { CrmFieldService, StandardIds, StandardExternalIds } from '../../../shared-services/crm-services/field.service';\nimport { CrmIsTaskOverduePipe } from '../../../shared-pipes/is-task-overdue.pipe';\nimport { CrmActivityLoggedEmailComponent } from '../activities/logged-email.component';\nimport { GalaxyFormFieldModule } from '@vendasta/galaxy/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { CrmActivityLoggedCallComponent } from '../activities/logged-call.component';\nimport { CrmActivityLoggedMeetingComponent } from '../activities/logged-meeting.component';\nimport { CrmActivityNoteComponent } from '../activities/note.component';\nimport { CrmActivityEmailComponent } from '../activities/email.component';\nimport { GalaxyFilterInterface } from '@vendasta/galaxy/filter/chips';\nimport { SubscriptionList } from '@vendasta/rx-utils';\nimport { CrmActivityTaskComponent } from '../activities/task.component';\nimport { CrmActivityAssociationPopoverComponent } from '../activities/association-popover.component';\nimport { DateFormat } from '@vendasta/galaxy/utility/date-utils';\nimport { CrmActivityEffectiveDatePipe } from '../../../shared-pipes/activity-effective-date.pipe';\nimport { CrmActivityLoggerComponent } from '../activities/activity-logger.component';\nimport { CrmActivityTemplateOptionsDirective } from '../activities/activity-template-options.directive';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatButtonModule } from '@angular/material/button';\nimport { CrmTimelineAssociatedObjectPipe } from './timeline-associated-object.pipe';\nimport { CrmActivityLoggedCommunicationComponent } from '../activities/logged-communication.component';\nimport { CrmActivityCommunicationComponent } from '../activities/activity-communication.component';\nimport { CrmActivityCallComponent } from '../activities/call.component';\nimport { CrmActivityOpportunityUpdatedComponent } from '../activities/opportunity-change.component';\nimport { GalaxyPopoverModule, PopoverPositions } from '@vendasta/galaxy/popover';\n\n@Component({\n selector: 'crm-timeline',\n templateUrl: './timeline.component.html',\n styleUrls: ['./timeline.component.scss'],\n providers: [RxState],\n imports: [\n CommonModule,\n TranslateModule,\n TranslationModule,\n GalaxyEmptyStateModule,\n GalaxyLoadingSpinnerModule,\n GalaxyPopoverModule,\n MatIconModule,\n CrmActivityTemplateComponent,\n CrmActivityLoggedNoteComponent,\n ObserversModule,\n CrmActivityRecordChangeComponent,\n CrmActivityOpportunityUpdatedComponent,\n CrmActivityLoggedEmailComponent,\n CrmActivityLoggedCallComponent,\n CrmActivityLoggedMeetingComponent,\n CrmActivityEmailComponent,\n CrmActivityLoggedCommunicationComponent,\n GalaxyFormFieldModule,\n MatInputModule,\n ReactiveFormsModule,\n CrmActivityNoteComponent,\n CrmActivityTaskComponent,\n CrmActivityEffectiveDatePipe,\n CrmIsTaskOverduePipe,\n CrmActivityLoggerComponent,\n CrmActivityTemplateOptionsDirective,\n MatMenuModule,\n MatButtonModule,\n CrmTimelineAssociatedObjectPipe,\n CrmActivityCommunicationComponent,\n CrmActivityCallComponent,\n CrmActivityOpportunityUpdatedComponent,\n CrmActivityAssociationPopoverComponent,\n ],\n standalone: true,\n})\nexport class CrmTimelineComponent implements OnDestroy, OnInit {\n @Input({ required: true })\n set crmObjectId(crmObjectId: string) {\n this.activitiesTimelineService.crmObjectId$$.next(crmObjectId);\n }\n\n @Input({ required: true })\n set objectType(objectType: ObjectType | ObjectAssociationType) {\n this.activitiesTimelineService.objectType$$.next(objectType);\n }\n\n @Output() activitiesChanged = new EventEmitter();\n\n readonly dateFormat = DateFormat.medium;\n readonly now = new Date();\n\n popupOpen = {};\n PopoverPositions = PopoverPositions;\n\n crmIdentifiers$ = combineLatest([\n this.activitiesTimelineService.crmObjectId$$.asObservable(),\n this.activitiesTimelineService.objectType$$.asObservable(),\n ]).pipe(map(([crmObjectId, objectType]) => ({ crmObjectId, objectType })));\n activitySections$ = this.activitiesTimelineService.state.select('activitySections');\n uniqueUsers$ = this.activitiesTimelineService.state.select('uniqueUsers');\n readonly filters$ = this.activitiesTimelineService.state.select('filters');\n editingActivities: { [activityId: string]: boolean } = {};\n\n showInfiniteScroll$ = this.activitiesTimelineService.state\n .select('activities')\n .pipe(map((activities) => activities.length > 0));\n loading$ = combineLatest([\n this.activitiesTimelineService.state.select('activitiesLoading'),\n this.activitiesTimelineService.state.select('activitiesLoadMore'),\n ]).pipe(map(([activitiesLoading, activitiesLoadMore]) => activitiesLoading || activitiesLoadMore));\n filtersPristine$ = combineLatest([\n this.activitiesTimelineService.state.select('searchTerm'),\n this.activitiesTimelineService.state.select('filters'),\n ]).pipe(\n map(([searchTerm, filters]) => {\n if (searchTerm.length !== 0) {\n return false;\n }\n if (filters.length !== 0) {\n return false;\n }\n return true;\n }),\n );\n showLoadingAfterActivities$ = combineLatest([this.loading$, this.filtersPristine$]).pipe(\n map(([loading, filtersPristine]) => loading && filtersPristine),\n );\n showLoadingReplacingActivities$ = combineLatest([this.loading$, this.filtersPristine$]).pipe(\n map(([loading, filtersPristine]) => loading && !filtersPristine),\n );\n\n subscriptions = SubscriptionList.new();\n\n constructor(\n private readonly activitiesTimelineService: ActivitiesTimelineService,\n private readonly fieldService: CrmFieldService,\n ) {}\n\n ngOnInit() {\n this.setupSplitActivitiesIntoSections();\n this.activitiesTimelineService.state.connect('activitySections', this.activitySections$);\n this.activitiesTimelineService.state\n .select('activitiesChanged')\n .pipe(distinctUntilChanged(), filter(Boolean))\n .subscribe(() => {\n this.activitiesTimelineService.state.set({ activitiesChanged: false });\n this.activitiesChanged.emit(this.activitiesTimelineService.state.get('activities'));\n });\n }\n\n ngOnDestroy() {\n this.subscriptions.destroy();\n }\n\n isActivityValid(activity: ActivityInterface) {\n if (activity === null || activity === undefined) {\n return false;\n }\n\n switch (activity.crmObjectSubtype) {\n case 'Email':\n return true;\n case 'Note':\n return (\n this.fieldService.getFieldValueFromCrmObject(activity, StandardIds.ActivityNoteTitle)?.stringValue ||\n this.fieldService.getFieldValueFromCrmObject(activity, StandardIds.ActivityNoteBody)?.stringValue\n );\n case 'Meeting':\n return true;\n case 'Call':\n return true;\n case 'RecordChange':\n return VALID_RECORD_CHANGE_TYPES.includes(\n this.fieldService.getFieldValueFromCrmObject(activity, StandardExternalIds.ActivityRecordChangeType)\n ?.stringValue as RecordChangeType,\n );\n case 'Task':\n return true;\n case 'Communication':\n return true;\n case 'OpportunityChange':\n return true;\n default:\n console.error(`Unexpected activity type: ${activity.crmObjectSubtype}`);\n return false;\n }\n }\n\n setFilters(filters: GalaxyFilterInterface[]) {\n this.activitiesTimelineService.state.set({ filters: filters });\n this.activitiesTimelineService.reloadActivities();\n }\n\n setSearchTerm(searchTerm: string) {\n // set searchTerm imperatively since we want it available with the next reload\n this.activitiesTimelineService.state.set({ searchTerm: searchTerm });\n this.activitiesTimelineService.reloadActivities();\n }\n\n setupSplitActivitiesIntoSections(): void {\n this.activitySections$ = combineLatest([\n this.activitiesTimelineService.state.select('activities'),\n this.activitiesTimelineService.state.select('uniqueUsers'),\n ]).pipe(\n map(([activities, uniqueUsers]) => {\n return activities.map((activity) => {\n return {\n ...activity,\n ownerUser: uniqueUsers.find((user) => user.userId === activity.ownerId),\n isLoggedActivity:\n this.fieldService.getFieldValueFromCrmObject(activity, StandardIds.ActivityManuallyLogged)\n ?.booleanValue ?? false,\n } as ActivityExtended;\n });\n }),\n map((activitiesWithOwnerUser) => this.activitiesTimelineService.getActivitySections(activitiesWithOwnerUser)),\n );\n }\n\n addActivity(activity: ActivityInterface): void {\n this.activitiesTimelineService.state.set({\n activities: [activity, ...this.activitiesTimelineService.state.get('activities')],\n });\n }\n\n updateActivity(activity: ActivityInterface): void {\n const activities = this.activitiesTimelineService.state.get('activities');\n const index = activities.findIndex((a) => a.crmObjectId === activity.crmObjectId);\n if (index >= 0) {\n this.activitiesTimelineService.lockActivityEffectiveDate(activities[index]);\n activities[index] = activity;\n this.activitiesTimelineService.state.set({ activities: [...activities] });\n if (activity.crmObjectId) {\n this.editingActivities[activity.crmObjectId] = false;\n }\n }\n }\n\n loadMoreActivities() {\n this.activitiesTimelineService.loadMoreActivities();\n }\n\n trackActivitySectionsBy(index: number, section: ActivitySectionInterface) {\n return `${index}-${section.name}`;\n }\n\n trackActivitiesBy(index: number, activity: ActivityInterface) {\n return `${index}-${activity.crmObjectId}`;\n }\n\n openPopover(activity): void {\n this.popupOpen[activity.crmObjectId] = true;\n }\n}\n","
\n \n \n 0; else emptyActivities\">\n
\n
\n

{{ section.name | translate }}

\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n\n \n \n \n \n\n \n \n \n \n \n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n \n\n\n\n \n \n \n \n \n \n \n \n {{ 'CONTACT.ACTIVITIES_TIMELINE.EMPTY.HEADER' | translate }}\n \n

{{ 'CONTACT.ACTIVITIES_TIMELINE.EMPTY.HINT' | translate }}

\n
\n \n \n {{ 'CONTACT.ACTIVITIES_TIMELINE.EMPTY_SEARCH.HEADER' | translate }}\n \n

{{ 'CONTACT.ACTIVITIES_TIMELINE.EMPTY_SEARCH.HINT' | translate }}

\n
\n
\n
\n
\n
\n\n\n
{{ 'ACTIVITY.DUE' | translate }}: {{ activity | crmActivityEffectiveDate | date: dateFormat }}
\n
\n\n\n
\n alarm\n {{ 'ACTIVITY.OVERDUE' | translate }}: {{ activity | crmActivityEffectiveDate | date: dateFormat }}\n
\n
\n"],"mappings":"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","names":["OpenOverdueTaskFilters","operator","FilterGroupOperator","FILTER_GROUP_OPERATOR_AND","filters","fieldId","StandardIds","ActivityTaskStatus","FilterOperator","FILTER_OPERATOR_IS","values","string","Open","ActivityTaskDueDate","FILTER_OPERATOR_IS_BEFORE","dateDefault","DateDefault","DATE_DEFAULT_TODAY","ActivitiesTimelineService","constructor","state","activityService","fieldService","translateService","iamService","crmObjectService","upcomingSectionName","instant","crmObjectId$$","ReplaySubject","objectType$$","destroyRef","inject","DestroyRef","set","activitiesLoading","activitiesLoadMore","activitiesChanged","activitiesPagedResponseMetadata","activities","activitySections","uniqueUserIds","searchTerm","lockedActivityEffectiveDate","Map","initialized","setupReloadActivities","setupLoadMore","setupUniqueUsers","getActivitySections","activitiesWithEffectiveDate","map","activity","atv","toActivityWithEffectiveDate","crmObjectId","effectiveDate","get","overdueTasks","filter","getFieldValueFromCrmObject","stringValue","getTime","Date","now","sort","a","b","upcomingActivities","overdueTasksAndUpcomingActivities","pastActivities","find","item","length","push","name","pastSectionsMap","startOfMonth","getFullYear","getMonth","startOfMonthTime","has","toLocaleString","month","date","pastSections","crmActivity","SystemFieldIds","ActivityEffectiveDate","dateValue","isLoggedActivity","ActivityManuallyLogged","booleanValue","Error","__spreadProps","__spreadValues","initializeState","combineLatest","select","asObservable","pipe","takeUntilDestroyed","skipWhile","debounceTime","tap","switchMap","objectType","hasMore","of","crmFilters","convertFilters","activities$","listActivities","crmObjectType","pagingOptions","pageSize","ACTIVITIES_TIMELINE_PAGE_SIZE","cursor","nextCursor","search","filtersV2","addPredefinedFilters","overdueTasks$","response","allActivities","pagingMetadata","filterActivities","subscribe","connect","ownerId","includes","userId","UserIdentifier","uniqueUserIdentifiers","getMultiUsers","distinctUntilChanged","reloadActivities","loadMoreActivities","activitiesWithEffectiveDateMap","lockActivityEffectiveDate","created","predefFilter","ɵɵinject","RxState","ActivityService","CrmFieldService","TranslateService","IAMService","CrmObjectService","factory","ɵfac","_ActivitiesTimelineService","Currency","DurationPeriod","RevenuePeriod","MEDDICSection","ClientOrigin","ClosedLostReasonOption","OpportunityRevenuePeriod","SortDirection","ListOpportunitiesRequestSortField","GoalType","ListGoalsRequestSortDirection","ListGoalsRequestSortField","enumStringToValue$8","enumRef","value","LineItemAppKey","_LineItemAppKey","proto","m","kwargs","toReturn","BillingPeriod","_BillingPeriod","Cost","_Cost","CustomPriceMapping","_CustomPriceMapping","Duration","_Duration","LineItem","_LineItem","Revenue","_Revenue","RevenueComponent","_RevenueComponent","enumStringToValue$7","MEDDICScores","_MEDDICScores","ScoringScore","_ScoringScore","Scoring","_Scoring","Forecasting","_Forecasting","proto","m","RevenueInMonth","kwargs","toReturn","_RevenueInMonth","enumStringToValue$5","enumRef","value","Attachment","_Attachment","CSVExports","_CSVExports","CSVFormatOptions","_CSVFormatOptions","ClosedLostReason","_ClosedLostReason","ClosedLostReasonOption","CurrentOpportunityPoint","_CurrentOpportunityPoint","DateRangeFilter","_DateRangeFilter","ListOpportunitiesRequestFilters","_ListOpportunitiesRequestFilters","ProbabilityRangeFilter","RevenuePeriodFilter","InitiateOpportunityExportRequest","_InitiateOpportunityExportRequest","ListOpportunitiesRequestSortOption","ClientOrigin","ListOpportunitiesRequest","_ListOpportunitiesRequest","Opportunity","_Opportunity","Package","Duration","LineItem","Scoring","OpportunityCount","_OpportunityCount","OpportunityValue","_OpportunityValue","_Package","Currency","Revenue","PipelineClosePoint","_PipelineClosePoint","PipelineCreationPoint","_PipelineCreationPoint","_ProbabilityRangeFilter","_RevenuePeriodFilter","OpportunityRevenuePeriod","_ListOpportunitiesRequestSortOption","SortDirection","ListOpportunitiesRequestSortField","Pipeline","_Pipeline","proto","m","Stage","kwargs","toReturn","_Stage","enumStringToValue$2","enumRef","value","Goal","_Goal","proto","m","GoalType","Target","kwargs","toReturn","_Target","FieldMask","_FieldMask","proto","m","kwargs","toReturn","enumStringToValue","enumRef","value","AddAttachmentToOpportunityRequest","_AddAttachmentToOpportunityRequest","AddOpportunityPackagesRequest","_AddOpportunityPackagesRequest","AddOpportunityPackagesResponse","_AddOpportunityPackagesResponse","Opportunity","AddPipelineStagesRequestAddPipelineStage","_AddPipelineStagesRequestAddPipelineStage","AddPipelineStagesRequest","_AddPipelineStagesRequest","AddPipelineStagesResponse","_AddPipelineStagesResponse","ArchiveGoalRequest","_ArchiveGoalRequest","CloseAsLostOpportunityRequest","_CloseAsLostOpportunityRequest","ClosedLostReasonOption","CloseAsLostOpportunityResponse","_CloseAsLostOpportunityResponse","CloseAsWonOpportunityRequest","_CloseAsWonOpportunityRequest","CloseAsWonOpportunityResponse","_CloseAsWonOpportunityResponse","CreateGoalRequest","_CreateGoalRequest","Target","GoalType","CreateOpportunityRequestCreateOpportunityPackage","_CreateOpportunityRequestCreateOpportunityPackage","CreateOpportunityRequest","_CreateOpportunityRequest","Duration","LineItem","CreateOpportunityResponse","_CreateOpportunityResponse","CreatePipelineRequest","_CreatePipelineRequest","CreatePipelineRequestCreatePipelineStage","CreatePipelineResponse","_CreatePipelineResponse","_CreatePipelineRequestCreatePipelineStage","DeleteGoalRequest","_DeleteGoalRequest","DeleteOpportunityRequest","_DeleteOpportunityRequest","DeletePipelineRequest","_DeletePipelineRequest","DeletePipelineResponse","_DeletePipelineResponse","ListGoalsRequestFilters","_ListGoalsRequestFilters","GetGoalRequest","_GetGoalRequest","GetMEDDICScoresRequest","_GetMEDDICScoresRequest","GetMEDDICScoresResponse","_GetMEDDICScoresResponse","MEDDICScores","GetMEDDICSectionsRequest","_GetMEDDICSectionsRequest","GetMEDDICSectionsResponse","_GetMEDDICSectionsResponse","Scoring","GetOpportunityByIdempotencyKeyRequest","_GetOpportunityByIdempotencyKeyRequest","GetOpportunityCountByAccountGroupsRequest","_GetOpportunityCountByAccountGroupsRequest","GetOpportunityCountByAccountGroupsResponse","_GetOpportunityCountByAccountGroupsResponse","OpportunityCount","GetOpportunityRequest","_GetOpportunityRequest","GetOpportunityResponse","_GetOpportunityResponse","GetOpportunityValueByAccountGroupsRequest","_GetOpportunityValueByAccountGroupsRequest","GetOpportunityValueByAccountGroupsResponse","_GetOpportunityValueByAccountGroupsResponse","OpportunityValue","GetTagsForOpportunitiesRequest","_GetTagsForOpportunitiesRequest","GetTagsForOpportunitiesResponse","_GetTagsForOpportunitiesResponse","GoalResponse","_GoalResponse","Goal","InitiateOpportunityExportResponse","_InitiateOpportunityExportResponse","ListGoalsRequest","_ListGoalsRequest","PagedRequestOptions","ListGoalsRequestSortOption","ListGoalsResponse","_ListGoalsResponse","PagedResponseMetadata","ListOpportunitiesResponse","_ListOpportunitiesResponse","ListPipelinesRequest","_ListPipelinesRequest","ListPipelinesResponse","_ListPipelinesResponse","Pipeline","_PagedRequestOptions","_PagedResponseMetadata","RemoveOpportunityPackagesRequest","_RemoveOpportunityPackagesRequest","RemoveOpportunityPackagesResponse","_RemoveOpportunityPackagesResponse","RemovePipelineStagesRequest","_RemovePipelineStagesRequest","RemovePipelineStagesResponse","_RemovePipelineStagesResponse","ReopenClosedOpportunityRequest","_ReopenClosedOpportunityRequest","SalespersonStatsRequest","_SalespersonStatsRequest","proto","m","kwargs","toReturn","SalespersonStatsResponse","_SalespersonStatsResponse","PipelineClosePoint","PipelineCreationPoint","CurrentOpportunityPoint","SetPipelineStagesRequest","_SetPipelineStagesRequest","Stage","SetPipelineStagesResponse","_SetPipelineStagesResponse","ListGoalsRequestSortOption","_ListGoalsRequestSortOption","enumStringToValue","ListGoalsRequestSortDirection","ListGoalsRequestSortField","UpdateClosedDateRequest","_UpdateClosedDateRequest","UpdateGoalRequest","_UpdateGoalRequest","Target","FieldMask","UpdateLastActivityDateRequest","_UpdateLastActivityDateRequest","UpdateLastActivityDateResponse","_UpdateLastActivityDateResponse","Opportunity","UpdateLastConnectedDateRequest","_UpdateLastConnectedDateRequest","UpdateLastConnectedDateResponse","_UpdateLastConnectedDateResponse","UpdateLineItemsRequest","_UpdateLineItemsRequest","LineItem","UpdateLineItemsResponse","_UpdateLineItemsResponse","UpdateMEDDICNotesRequest","_UpdateMEDDICNotesRequest","MEDDICSection","UpdateMEDDICScoringRequest","_UpdateMEDDICScoringRequest","UpdateOpportunityDurationRequest","_UpdateOpportunityDurationRequest","Duration","UpdateOpportunityDurationResponse","_UpdateOpportunityDurationResponse","UpdateOpportunityExpectedCloseDateRequest","_UpdateOpportunityExpectedCloseDateRequest","UpdateOpportunityExpectedCloseDateResponse","_UpdateOpportunityExpectedCloseDateResponse","UpdateOpportunityMarketRequest","_UpdateOpportunityMarketRequest","UpdateOpportunityMarketResponse","_UpdateOpportunityMarketResponse","UpdateOpportunityNameRequest","_UpdateOpportunityNameRequest","UpdateOpportunityNameResponse","_UpdateOpportunityNameResponse","UpdateOpportunityNotesRequest","_UpdateOpportunityNotesRequest","UpdateOpportunityNotesResponse","_UpdateOpportunityNotesResponse","UpdateOpportunityPackageRequest","_UpdateOpportunityPackageRequest","Revenue","UpdateOpportunityPackageResponse","_UpdateOpportunityPackageResponse","UpdateOpportunityPackageRevenueRequest","_UpdateOpportunityPackageRevenueRequest","UpdateOpportunityPackageRevenueResponse","_UpdateOpportunityPackageRevenueResponse","UpdateOpportunityPipelineRequest","_UpdateOpportunityPipelineRequest","UpdateOpportunityProbabilityRequest","_UpdateOpportunityProbabilityRequest","proto","m","kwargs","toReturn","UpdateOpportunityProbabilityResponse","_UpdateOpportunityProbabilityResponse","Opportunity","UpdateOpportunitySalespersonRequest","_UpdateOpportunitySalespersonRequest","UpdateOpportunitySalespersonResponse","_UpdateOpportunitySalespersonResponse","UpdateOpportunityTagsRequest","_UpdateOpportunityTagsRequest","UpdateOpportunityTagsResponse","_UpdateOpportunityTagsResponse","UpdateOpportunityTypeRequest","_UpdateOpportunityTypeRequest","UpdateOpportunityTypeResponse","_UpdateOpportunityTypeResponse","UpdatePipelineNameRequest","_UpdatePipelineNameRequest","UpdatePipelineNameResponse","_UpdatePipelineNameResponse","UpdatePipelineStageNameRequest","_UpdatePipelineStageNameRequest","UpdatePipelineStageNameResponse","_UpdatePipelineStageNameResponse","UpdatePipelineStageProbabilityRequest","_UpdatePipelineStageProbabilityRequest","UpdatePipelineStageProbabilityResponse","_UpdatePipelineStageProbabilityResponse","UpdateSubscriberUserIDsRequest","_UpdateSubscriberUserIDsRequest","environment","hostMap","HostService","t","ɵɵdefineInjectable","GoalsApiService","http","hostService","HttpHeaders","r","request","CreateGoalRequest","map","resp","GoalResponse","UpdateGoalRequest","GetGoalRequest","ListGoalsRequest","ListGoalsResponse","DeleteGoalRequest","__spreadProps","__spreadValues","ArchiveGoalRequest","ɵɵinject","HttpClient","OpportunityScoringApiService","GetMEDDICScoresRequest","GetMEDDICScoresResponse","UpdateMEDDICScoringRequest","UpdateMEDDICNotesRequest","GetMEDDICSectionsRequest","GetMEDDICSectionsResponse","SalesOpportunitiesApiService","CreateOpportunityRequest","CreateOpportunityResponse","GetOpportunityRequest","GetOpportunityResponse","GetOpportunityByIdempotencyKeyRequest","ListOpportunitiesRequest","ListOpportunitiesResponse","GetOpportunityCountByAccountGroupsRequest","GetOpportunityCountByAccountGroupsResponse","UpdateOpportunityNameRequest","UpdateOpportunityNameResponse","UpdateOpportunityExpectedCloseDateRequest","UpdateOpportunityExpectedCloseDateResponse","UpdateOpportunityNotesRequest","UpdateOpportunityNotesResponse","AddOpportunityPackagesRequest","AddOpportunityPackagesResponse","RemoveOpportunityPackagesRequest","RemoveOpportunityPackagesResponse","UpdateOpportunityPackageRevenueRequest","UpdateOpportunityPackageRevenueResponse","UpdateOpportunityPackageRequest","UpdateOpportunityPackageResponse","CloseAsWonOpportunityRequest","CloseAsWonOpportunityResponse","CloseAsLostOpportunityRequest","CloseAsLostOpportunityResponse","UpdateLastConnectedDateRequest","UpdateLastConnectedDateResponse","UpdateLastActivityDateRequest","UpdateLastActivityDateResponse","DeleteOpportunityRequest","ReopenClosedOpportunityRequest","UpdateOpportunityMarketRequest","UpdateOpportunityMarketResponse","SalespersonStatsRequest","SalespersonStatsResponse","GetTagsForOpportunitiesRequest","GetTagsForOpportunitiesResponse","UpdateOpportunityDurationRequest","UpdateOpportunityDurationResponse","UpdateOpportunityPipelineRequest","AddAttachmentToOpportunityRequest","UpdateClosedDateRequest","UpdateLineItemsRequest","UpdateLineItemsResponse","GetOpportunityValueByAccountGroupsRequest","GetOpportunityValueByAccountGroupsResponse","InitiateOpportunityExportRequest","InitiateOpportunityExportResponse","SalesPipelinesApiService","CreatePipelineRequest","CreatePipelineResponse","ListPipelinesRequest","ListPipelinesResponse","SetPipelineStagesRequest","SetPipelineStagesResponse","AddPipelineStagesRequest","AddPipelineStagesResponse","RemovePipelineStagesRequest","RemovePipelineStagesResponse","DeletePipelineRequest","DeletePipelineResponse","DEFAULT_PIPELINE_ID","SalesOpportunitiesService","_api","accountGroupId","opportunityId","editSalesPersonId","expectedCloseDate","createSalesActivity","req","map","resp","salesPersonId","name","url","marketId","partnerId","probability","pipelineId","packages","notes","tags","expectedContractDuration","lineItems","subscriberUserIds","opportunityType","CreateOpportunityRequest","opportunityID","accountGroupID","editSalespersonID","accountGroupIds","onlyOpen","requestParams","filters","sortOption","searchTerm","pageSize","cursor","r","reason","request","response","csvExports","csvOptions","clientOrigin","t","ɵɵinject","SalesOpportunitiesApiService","ɵɵdefineInjectable","SalesPipelinesService","stages","stageId","stageName","stageIds","SalesPipelinesApiService","OpportunityScoringService","api","scoring","meddicScores","take","mapTo","meddicSection","sections","score","section","OpportunityScoringApiService","GoalsService","createRequest","updateRequest","listRequest","id","getRequest","deleteRequest","archiveGoalRequest","GoalsApiService","DefaultChipStyling","selectedChipColor","unselectedChipColor","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵproperty","ctx_r1","size","ɵɵadvance","ɵɵtextInterpolate1","chipIcon_r1","SelectedChipIcon","ChipComponent","constructor","_icon","signal","undefined","_selected","_hideLabelWhenSelected","label","color","computed","DefaultChipStyling","selectedChipColor","unselectedChipColor","chipIcon","hideLabel","hideLabelWhenSelected","value","set","icon","selected","selectors","inputs","ɵɵInputFlags","HasDecoratorInputTransform","coerceBooleanProperty","standalone","features","ɵɵInputTransformsFeature","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","ɵɵelement","ɵɵtemplate","ChipComponent_mat_icon_3_Template","ɵɵclassProp","ɵɵpipeBind1","CommonModule","NgClass","NgIf","GalaxyBadgeModule","BadgeComponent","MatIconModule","MatIcon","MatRippleModule","MatRipple","TranslateModule","TranslatePipe","styles","changeDetection","_ChipComponent","ɵɵelement","ɵɵclassProp","index_r4","ctx_r2","focusedIndex","ɵɵelementStart","ɵɵlistener","item_r2","ɵɵrestoreView","_r1","$implicit","ɵɵnextContext","ɵɵresetView","handleChipClick","value","ɵɵelementEnd","ɵɵtemplate","ChipListComponent_div_2_div_2_Template","ɵɵadvance","ɵɵproperty","hideLabelWhenSelected","label","icon","selected","size","captureFocus","ChipListComponent","constructor","items","selectedChange","EventEmitter","onFocusIn","findIndex","item","onFocusOut","setSelected","handleKeyDown","event","code","length","target","HTMLElement","nextElementSibling","focus","preventDefault","emit","selectors","hostBindings","rf","ctx","coerceBooleanProperty","outputs","standalone","features","ɵɵInputTransformsFeature","ɵɵStandaloneFeature","decls","vars","consts","template","$event","ChipListComponent_div_2_Template","ChipComponent","CommonModule","NgClass","NgForOf","NgIf","styles","changeDetection","_ChipListComponent","CrmUnknownUserAvatarComponent","constructor","width","AVATAR_WIDTH","selectors","inputs","standalone","features","ɵɵProvidersFeature","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","ɵɵelement","ɵɵproperty","CommonModule","GalaxyAvatarModule","AvatarComponent","encapsulation","_CrmUnknownUserAvatarComponent","ActivityLoggerService","constructor","config","activityService","iamService","user$","Observable","currentUserId$","pipe","distinctUntilChanged","switchMap","currentUserId","getUser","UserIdentifier","userId","map","user","__spreadProps","__spreadValues","fullName","firstName","lastName","trim","shareReplay","addActivity","activityType","fields","associations","ownerId","cleanAssociations","association","crmObjectId","crmObjectType","activity","crmObjectSubtype","createActivity","getActivity","activityId","getMultiActivities","activities","updateActivity","fieldMask","forEach","push","length","includes","filter","path","paths","of","ɵɵinject","CrmInjectionToken","ActivityService","IAMService","factory","ɵfac","_ActivityLoggerService","CrmLoggerContentDirective","crmLoggerContent","value","placement","selectors","inputs","standalone","_CrmLoggerContentDirective","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ɵɵpipeBind1","ɵɵelementContainerStart","ɵɵtemplate","CrmActivityLoggerCallComponent_ng_container_8_glxy_error_1_Template","ɵɵproperty","ctx_r0","formGroup","controls","loggedCallNote","hasError","CrmActivityLoggerCallComponent_ng_container_17_glxy_error_1_Template","loggedCallDate","CrmActivityLoggerCallComponent_ng_container_27_glxy_error_1_Template","loggedCallDirection","CrmActivityLoggerCallComponent","activity","value","setValues","description","patchValue","emitEvent","constructor","fieldsService","mobile","descriptionChange","EventEmitter","showErrors","ActivityDirection","CallStatus","ActivityOutcome","textRows","FormBuilder","nonNullable","group","formatDate","Date","loggedCallStatus","loggedCallOutcome","validators","requiredFormGroupFieldsIf","valueChanges","pipe","takeUntilDestroyed","distinctUntilChanged","subscribe","emit","ngAfterViewInit","defaultInput","nativeElement","focus","validate","markAllAsTouched","updateValueAndValidity","callDate","getFieldValueFromCrmObject","StandardIds","ActivityCallDate","callBody","ActivityCallBody","callDirection","ActivityCallDirection","callStatus","ActivityCallStatus","callOutcome","ActivityCallOutcome","setValue","stringValue","dateValue","dirty","resetForm","getValues","formValues","getRawValue","fieldId","undefined","reset","ɵɵdirectiveInject","CrmFieldService","selectors","viewQuery","rf","ctx","coerceBooleanProperty","outputs","standalone","features","ɵɵInputTransformsFeature","ɵɵStandaloneFeature","ngContentSelectors","_c3","decls","vars","consts","template","ɵɵelement","CrmActivityLoggerCallComponent_ng_container_8_Template","ɵɵprojection","CrmActivityLoggerCallComponent_ng_container_17_Template","CrmActivityLoggerCallComponent_ng_container_27_Template","ɵɵpropertyInterpolate","ɵɵclassProp","Outbound","ɵɵtextInterpolate","Inbound","Connected","Busy","Rejected","Voicemail","NoAnswer","NotInService","WrongNumber","NoInterest","Interested","QualityConnect","Demo","Timeline","Rescheduling","Referred","CommonModule","NgIf","TranslateModule","TranslatePipe","TranslationModule","GalaxyFormFieldModule","FormFieldComponent","FormRowComponent","ErrorDirective","MatSelectModule","MatSelect","MatOption","MatDatepickerModule","MatDatepicker","MatInputModule","MatInput","CdkTextareaAutosize","ReactiveFormsModule","ɵNgNoValidate","DefaultValueAccessor","NgControlStatus","NgControlStatusGroup","FormGroupDirective","FormControlName","TextFieldModule","styles","_CrmActivityLoggerCallComponent","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ɵɵpipeBind1","ɵɵelementContainerStart","ɵɵtemplate","CrmActivityLoggerEmailComponent_ng_container_8_glxy_error_1_Template","ɵɵproperty","ctx_r0","formGroup","controls","loggedEmailDescription","hasError","CrmActivityLoggerEmailComponent_ng_container_17_glxy_error_1_Template","loggedEmailDate","CrmActivityLoggerEmailComponent_ng_container_30_glxy_error_1_Template","loggedEmailDirection","CrmActivityLoggerEmailComponent","activity","value","setValues","description","patchValue","emitEvent","constructor","fieldsService","mobile","descriptionChange","EventEmitter","showErrors","ActivityDirection","textRows","FormBuilder","nonNullable","group","formatDate","Date","validators","requiredFormGroupFieldsIf","valueChanges","pipe","takeUntilDestroyed","distinctUntilChanged","subscribe","emit","ngAfterViewInit","defaultInput","nativeElement","focus","validate","markAllAsTouched","updateValueAndValidity","emailDate","getFieldValueFromCrmObject","StandardIds","ActivityEmailDate","emailBody","ActivityEmailBody","emailDirection","ActivityEmailDirection","setValue","stringValue","dateValue","dirty","resetForm","getValues","formValues","getRawValue","fieldId","undefined","reset","ɵɵdirectiveInject","CrmFieldService","selectors","viewQuery","rf","ctx","coerceBooleanProperty","outputs","standalone","features","ɵɵInputTransformsFeature","ɵɵStandaloneFeature","ngContentSelectors","_c3","decls","vars","consts","template","ɵɵelement","CrmActivityLoggerEmailComponent_ng_container_8_Template","ɵɵprojection","CrmActivityLoggerEmailComponent_ng_container_17_Template","CrmActivityLoggerEmailComponent_ng_container_30_Template","ɵɵpropertyInterpolate","ɵɵclassProp","Outbound","ɵɵtextInterpolate","Inbound","Forwarded","CommonModule","NgIf","TranslateModule","TranslatePipe","TranslationModule","MatIconModule","GalaxyFormFieldModule","FormFieldComponent","FormRowComponent","ErrorDirective","MatSelectModule","MatSelect","MatOption","MatDatepickerModule","MatDatepicker","MatInputModule","MatInput","CdkTextareaAutosize","ReactiveFormsModule","ɵNgNoValidate","DefaultValueAccessor","NgControlStatus","NgControlStatusGroup","FormGroupDirective","FormControlName","TextFieldModule","styles","_CrmActivityLoggerEmailComponent","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ɵɵpipeBind1","ɵɵelementContainerStart","ɵɵtemplate","CrmActivityLoggerMeetingComponent_ng_container_8_glxy_error_1_Template","ɵɵproperty","ctx_r0","formGroup","controls","loggedMeetingNote","hasError","CrmActivityLoggerMeetingComponent_ng_container_17_glxy_error_1_Template","loggedMeetingDate","CrmActivityLoggerMeetingComponent_ng_container_58_glxy_error_1_Template","loggedMeetingStatus","CrmActivityLoggerMeetingComponent","activity","value","setValues","description","patchValue","emitEvent","constructor","fieldsService","mobile","descriptionChange","EventEmitter","showErrors","ActivityOutcome","MeetingDuration","MeetingStatus","textRows","FormBuilder","nonNullable","group","loggedMeetingOutcome","loggedMeetingDuration","formatDate","Date","validators","requiredFormGroupFieldsIf","valueChanges","pipe","takeUntilDestroyed","distinctUntilChanged","subscribe","emit","ngAfterViewInit","defaultInput","nativeElement","focus","resetForm","reset","updateValueAndValidity","getValues","formValues","getRawValue","fieldId","StandardIds","ActivityMeetingStartTime","dateValue","undefined","ActivityMeetingBody","stringValue","ActivityMeetingStatus","ActivityMeetingOutcome","ActivityMeetingDuration","integerValue","meetingDate","getFieldValueFromCrmObject","meetingBody","meetingStatus","meetingOutcome","meetingDuration","setValue","dirty","validate","markAllAsTouched","ɵɵdirectiveInject","CrmFieldService","selectors","viewQuery","rf","ctx","coerceBooleanProperty","outputs","standalone","features","ɵɵInputTransformsFeature","ɵɵStandaloneFeature","ngContentSelectors","_c3","decls","vars","consts","template","ɵɵelement","CrmActivityLoggerMeetingComponent_ng_container_8_Template","ɵɵprojection","CrmActivityLoggerMeetingComponent_ng_container_17_Template","CrmActivityLoggerMeetingComponent_ng_container_58_Template","ɵɵpropertyInterpolate","ɵɵclassProp","FiveMin","FifteenMin","ThirtyMin","OneHour","OneHourThirtyMin","TwoHoursPlus","Scheduled","Rescheduled","Completed","Cancelled","NoShow","ɵɵtextInterpolate","NoInterest","Interested","QualityConnect","Demo","Timeline","Rescheduling","Referred","CommonModule","NgIf","TranslateModule","TranslatePipe","TranslationModule","GalaxyFormFieldModule","FormFieldComponent","FormRowComponent","ErrorDirective","MatInputModule","MatInput","CdkTextareaAutosize","ReactiveFormsModule","ɵNgNoValidate","DefaultValueAccessor","NgControlStatus","NgControlStatusGroup","FormGroupDirective","FormControlName","TextFieldModule","MatDatepickerModule","MatDatepicker","MatSelectModule","MatSelect","MatOption","styles","_CrmActivityLoggerMeetingComponent","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ɵɵpipeBind1","ɵɵelementContainerStart","ɵɵtemplate","CrmActivityLoggerNoteComponent_ng_container_8_glxy_error_1_Template","ɵɵproperty","ctx_r0","formGroup","controls","noteBody","hasError","CrmActivityLoggerNoteComponent","activity","value","setValues","description","patchValue","emitEvent","constructor","config","fieldsService","mobile","descriptionChange","EventEmitter","showErrors","textRows","FormBuilder","nonNullable","group","validators","requiredFormGroupFieldsIf","separatorKeyCodes","ENTER","COMMA","valueChanges","pipe","takeUntilDestroyed","distinctUntilChanged","subscribe","emit","ngAfterViewInit","defaultInput","nativeElement","focus","resetForm","reset","updateValueAndValidity","getValues","formValues","getRawValue","fieldId","StandardIds","ActivityNoteBody","stringValue","getFieldValueFromCrmObject","setValue","dirty","validate","markAllAsTouched","ɵɵdirectiveInject","CrmInjectionToken","CrmFieldService","selectors","viewQuery","rf","ctx","coerceBooleanProperty","outputs","standalone","features","ɵɵInputTransformsFeature","ɵɵStandaloneFeature","ngContentSelectors","_c3","decls","vars","consts","template","ɵɵelement","CrmActivityLoggerNoteComponent_ng_container_8_Template","ɵɵprojection","ɵɵpropertyInterpolate","CommonModule","NgIf","TranslateModule","TranslatePipe","TranslationModule","MatIconModule","MatChipsModule","GalaxyFormFieldModule","FormFieldComponent","FormRowComponent","ErrorDirective","MatInputModule","MatInput","CdkTextareaAutosize","ReactiveFormsModule","ɵNgNoValidate","DefaultValueAccessor","NgControlStatus","NgControlStatusGroup","FormGroupDirective","FormControlName","TextFieldModule","MatAutocompleteModule","MatTooltipModule","styles","_CrmActivityLoggerNoteComponent","CrmActivityLoggerTeamAssociationComponent","CrmActivityLoggerAssociationField","constructor","fixedId","mobile","placeholder","associationsChange","EventEmitter","customizationService","inject","CompanyTableCustomizationService","crmObjectType","userService","config","services","filteredAssociationsList","computed","associationsList","filter","association","crmObjectId","associations","value","setAssociations","fetchObjects","objectIds","__async","users","firstValueFrom","getMultiUsers","mapAssociations","setupSearchTerm","searchTerm$$","asObservable","pipe","debounceTime","distinctUntilChanged","switchMap","search","searchUsers","of","map","filteredOptions","o","option","name","displayName","userId","handleAdd","find","a","newAssociations","set","emit","handleRemove","handleSearchTermChange","searchTerm","updateSearchTerm","t","selectors","inputs","ɵɵInputFlags","HasDecoratorInputTransform","coerceBooleanProperty","outputs","standalone","features","ɵɵInputTransformsFeature","ɵɵInheritDefinitionFeature","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵlistener","$event","ɵɵelementEnd","ɵɵproperty","tmp_3_0","ɵɵpipeBind1","options$","undefined","ɵɵpureFunction0","_c0","CommonModule","AsyncPipe","CrmActivityLoggerAssociationComponent","encapsulation","_CrmActivityLoggerTeamAssociationComponent","CrmActivityLoggerOpportunityAssociationComponent","CrmActivityLoggerAssociationField","constructor","mobile","placeholder","associationsChange","EventEmitter","customizationService","inject","CompanyTableCustomizationService","crmObjectType","opportunityService","config","services","accountGroupId","value","setAccountGroupId","associations","setAssociations","fetchObjects","objectIds","__async","opportunities","firstValueFrom","getMultiOpportunity","mapAssociations","setupSearchTerm","searchTerm$$","asObservable","pipe","debounceTime","distinctUntilChanged","switchMap","search","searchOpportunities","of","map","filteredOptions","option","name","crmObjectId","opportunityId","handleAdd","association","associationsList","find","a","newAssociations","set","emit","handleRemove","filter","handleSearchTermChange","searchTerm","updateSearchTerm","t","selectors","inputs","ɵɵInputFlags","HasDecoratorInputTransform","coerceBooleanProperty","outputs","standalone","features","ɵɵInputTransformsFeature","ɵɵInheritDefinitionFeature","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵlistener","$event","ɵɵelementEnd","ɵɵproperty","tmp_2_0","ɵɵpipeBind1","options$","undefined","ɵɵpureFunction0","_c0","CommonModule","AsyncPipe","CrmActivityLoggerAssociationComponent","encapsulation","_CrmActivityLoggerOpportunityAssociationComponent","ɵɵelementContainerStart","ɵɵelementStart","ɵɵlistener","$event","ɵɵrestoreView","_r2","ctx_r2","ɵɵnextContext","ɵɵresetView","removeTag","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵpropertyInterpolate","tag_r4","ɵɵtextInterpolate1","ɵɵproperty","tag_r5","ɵɵtemplate","CrmActivityLoggerTagsComponent_ng_container_7_mat_option_1_Template","tags_r6","CrmActivityLoggerTagsComponent","tags","value","activityTags","set","constructor","config","crmObjectService","mobile","tagsChanged","EventEmitter","showErrors","noteTagsCtrl","FormControl","formGroup","FormGroup","loggedNoteTags","separatorKeyCodes","ENTER","COMMA","tagsCtrl","signal","tagTextSearch$","valueChanges","pipe","startWith","filteredTags$","combineLatest","namespace$","debounceTime","switchMap","searchTerm","namespace","listFieldOptions","fieldId","StandardIds","ActivityTags","pageSize","map","resp","options","addNewTag","event","addTag","setValue","selectedTag","tag","option","includes","push","markAsDirty","emit","chip","filter","t","ɵɵdirectiveInject","CrmInjectionToken","CrmObjectService","selectors","inputs","ɵɵInputFlags","HasDecoratorInputTransform","coerceBooleanProperty","outputs","standalone","features","ɵɵInputTransformsFeature","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","CrmActivityLoggerTagsComponent_ng_container_2_Template","i0","_r1","CrmActivityLoggerTagsComponent_ng_container_7_Template","ɵɵpipeBind1","tagGrid_r7","tagAutocomplete_r8","CommonModule","NgForOf","NgIf","AsyncPipe","GalaxyFormFieldModule","ReactiveFormsModule","DefaultValueAccessor","NgControlStatus","FormControlDirective","MatChipsModule","MatChipGrid","MatChipInput","MatChipRemove","MatChipRow","MatIconModule","MatIcon","TranslationModule","TranslatePipe","MatAutocompleteModule","MatAutocomplete","MatOption","MatAutocompleteTrigger","MatTooltipModule","MatTooltip","encapsulation","_CrmActivityLoggerTagsComponent","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","toggleExpanded","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ɵɵpipeBind1","ɵɵproperty","type_r4","value","nameKey","ɵɵelement","ɵɵtemplate","CrmActivityLoggerFollowUpTaskComponent_ng_template_2_mat_option_13_Template","_r3","CrmActivityLoggerFollowUpTaskComponent_ng_template_2_ng_template_17_Template","ɵɵtextInterpolate","formGroup","ɵɵclassProp","mobile","ɵɵpropertyInterpolate","taskTypes","CrmActivityLoggerFollowUpTaskComponent","constructor","fieldsService","translateService","expandedChanged","EventEmitter","isExpanded$$","BehaviorSubject","isExpanded$","asObservable","pipe","tap","isExpanded","emit","today","Date","FormBuilder","nonNullable","group","taskDueDate","formatDate","setDate","getDate","STANDARD_DATE_FORMAT","taskType","ActivityTaskType","ToDo","ActivityTaskTypeTranslationKeys","next","getValues","crmObjectName","formValues","getRawValue","followUpWith","instant","fieldId","getFieldId","StandardIds","ActivityName","stringValue","ActivityTaskDueDate","dateValue","undefined","ActivityTaskStatus","DEFAULT_TASK_STATUS","ngOnDestroy","ɵɵdirectiveInject","CrmFieldService","TranslateService","selectors","viewQuery","rf","ctx","coerceBooleanProperty","outputs","standalone","features","ɵɵInputTransformsFeature","ɵɵStandaloneFeature","decls","vars","consts","template","CrmActivityLoggerFollowUpTaskComponent_button_0_Template","CrmActivityLoggerFollowUpTaskComponent_ng_template_2_Template","ɵɵtemplateRefExtractor","addFollowUp_r5","CommonModule","NgForOf","NgIf","AsyncPipe","TranslateModule","TranslatePipe","TranslationModule","GalaxyFormFieldModule","FormFieldComponent","FormRowComponent","MatInputModule","MatInput","ReactiveFormsModule","ɵNgNoValidate","DefaultValueAccessor","NgControlStatus","NgControlStatusGroup","FormGroupDirective","FormControlName","TextFieldModule","MatDatepickerModule","MatDatepicker","MatSelectModule","MatSelect","MatOption","MatButtonModule","MatButton","MatIconButton","MatIconModule","MatIcon","styles","_CrmActivityLoggerFollowUpTaskComponent","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ɵɵpipeBind1","ɵɵelementContainerStart","ɵɵtemplate","CrmActivityLoggerCommunicationComponent_ng_container_8_glxy_error_1_Template","ɵɵproperty","ctx_r0","formGroup","controls","loggedCommunicationBody","hasError","CrmActivityLoggerCommunicationComponent_ng_container_17_glxy_error_1_Template","loggedCommunicationDate","CrmActivityLoggerCommunicationComponent_ng_container_39_glxy_error_1_Template","loggedCommunicationOutcome","CrmActivityLoggerCommunicationComponent","communicationType","value","patchValue","loggedCommunicationChannel","activity","setValues","description","emitEvent","constructor","fieldsService","mobile","descriptionChange","EventEmitter","showErrors","textRows","ActivityOutcome","FormBuilder","nonNullable","group","loggedCommunicationFromId","loggedCommunicationToId","formatDate","Date","validators","requiredFormGroupFieldsIf","valueChanges","pipe","takeUntilDestroyed","distinctUntilChanged","subscribe","emit","ngAfterViewInit","defaultInput","nativeElement","focus","validate","markAllAsTouched","updateValueAndValidity","communicationChannel","getFieldValueFromCrmObject","StandardIds","ActivityCommunicationChannel","communicationOutcome","ActivityCommunicationOutcome","communicationFromId","ActivityCommunicationFromId","communicationToId","ActivityCommunicationToId","communicationBody","ActivityCommunicationBody","communicationDate","ActivityCommunicationDate","setValue","stringValue","dateValue","dirty","resetForm","getValues","formValues","getRawValue","fieldId","undefined","reset","ɵɵdirectiveInject","CrmFieldService","selectors","viewQuery","rf","ctx","coerceBooleanProperty","outputs","standalone","features","ɵɵInputTransformsFeature","ɵɵStandaloneFeature","ngContentSelectors","_c3","decls","vars","consts","template","ɵɵelement","CrmActivityLoggerCommunicationComponent_ng_container_8_Template","ɵɵprojection","CrmActivityLoggerCommunicationComponent_ng_container_17_Template","CrmActivityLoggerCommunicationComponent_ng_container_39_Template","ɵɵpropertyInterpolate","ɵɵclassProp","NoInterest","Interested","QualityConnect","Demo","Timeline","Referred","CommonModule","NgIf","TranslateModule","TranslatePipe","TranslationModule","MatIconModule","GalaxyFormFieldModule","FormFieldComponent","FormRowComponent","ErrorDirective","MatSelectModule","MatSelect","MatOption","MatDatepickerModule","MatDatepicker","MatInputModule","MatInput","CdkTextareaAutosize","ReactiveFormsModule","ɵNgNoValidate","DefaultValueAccessor","NgControlStatus","NgControlStatusGroup","FormGroupDirective","FormControlName","TextFieldModule","styles","_CrmActivityLoggerCommunicationComponent","ɵɵelementContainer","ɵɵelementStart","ɵɵtwoWayListener","$event","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","i0","ɵɵtwoWayBindingSet","sharedDescription","ɵɵresetView","ɵɵtemplate","CrmActivityLoggerComponent_ng_container_0_crm_activity_logger_note_4_ng_container_2_Template","ɵɵelementContainerStart","CrmActivityLoggerComponent_ng_container_0_crm_activity_logger_note_4_ng_container_4_Template","ɵɵelementEnd","ɵɵproperty","ɵɵpipeBind1","activity$","layout_r3","mobile","ɵɵtwoWayProperty","ɵɵadvance","activitySelector_r4","associationFormRow_r5","ɵɵclassProp","addTeamMembers_r6","addOpportunities_r7","addTags_r8","addFollowUpTask_r9","_r10","CrmActivityLoggerComponent_ng_container_0_crm_activity_logger_email_5_ng_container_2_Template","CrmActivityLoggerComponent_ng_container_0_crm_activity_logger_email_5_ng_container_4_Template","_r11","CrmActivityLoggerComponent_ng_container_0_crm_activity_logger_call_6_ng_container_2_Template","CrmActivityLoggerComponent_ng_container_0_crm_activity_logger_call_6_ng_container_4_Template","_r12","CrmActivityLoggerComponent_ng_container_0_crm_activity_logger_meeting_7_ng_container_2_Template","CrmActivityLoggerComponent_ng_container_0_crm_activity_logger_meeting_7_ng_container_4_Template","_r13","CrmActivityLoggerComponent_ng_container_0_crm_activity_logger_task_8_ng_container_3_Template","CrmActivityLoggerComponent_ng_container_0_crm_activity_logger_task_8_ng_container_5_Template","activityOwner","user$","_r14","CrmActivityLoggerComponent_ng_container_0_crm_activity_logger_communication_9_ng_container_2_Template","CrmActivityLoggerComponent_ng_container_0_crm_activity_logger_communication_9_ng_container_4_Template","communicationSubTypeSelected","ɵɵlistener","_r15","handleDefaultStateFocus","ɵɵpropertyInterpolate","ɵɵpureFunction0","_c1","CrmActivityLoggerComponent_ng_container_0_ng_container_11_ng_container_1_Template","formButtons_r16","ɵɵelement","tmp_14_0","user_r17","fullName","undefined","AVATAR_WIDTH","profileImageUrl","CrmActivityLoggerComponent_ng_container_0_ng_template_12_glxy_avatar_1_Template","CrmActivityLoggerComponent_ng_container_0_ng_template_12_ng_template_3_Template","ɵɵtemplateRefExtractor","editing","unknownUserAvatar_r18","communicationType_r21","_r20","$implicit","onCommunicationTypeChanged","value","ɵɵtext","ɵɵtextInterpolate1","label","_r19","onActivityTypeChanged","CrmActivityLoggerComponent_ng_container_0_ng_template_14_div_0_button_12_Template","noMargins_r23","SELECTABLE_ACTIVITY_TYPES","activityTypeSelected","communicationMenu_r22","getTranslatedCommunicationType","SELECTABLE_COMMUNICATION_TYPES","CrmActivityLoggerComponent_ng_container_0_ng_template_14_div_0_Template","_r24","contactAssociations","companyAssociations","crmObjectId$","CrmActivityLoggerComponent_ng_container_0_ng_template_16_glxy_form_row_0_Template","hideAssociations","CrmActivityLoggerComponent_ng_container_0_ng_template_18_ng_template_7_ng_container_0_Template","CrmActivityLoggerComponent_ng_container_0_ng_template_18_ng_template_7_ng_template_1_Template","logActivity_r26","_r25","upsertActivity","CrmActivityLoggerComponent_ng_container_0_ng_template_18_ng_container_6_Template","CrmActivityLoggerComponent_ng_container_0_ng_template_18_ng_template_7_Template","handleCancelClicked","ɵɵstyleProp","upsertActivityButtonLoading$","createActivity_r27","_r28","teamAssociations","activityOwnerId$","CrmActivityLoggerComponent_ng_container_0_ng_template_20_glxy_form_field_0_Template","showTeamMemberInput","_r29","opportunityAssociations","primaryAccountGroupId$","CrmActivityLoggerComponent_ng_container_0_ng_template_22_glxy_form_field_0_Template","isCompany$","showOpportunityInput","_r30","updateTags","tags$","_r31","followUpExpandedChanged","CrmActivityLoggerComponent_ng_container_0_ng_template_26_crm_activity_logger_follow_up_task_0_Template","CrmActivityLoggerComponent_ng_container_0_crm_activity_logger_note_4_Template","CrmActivityLoggerComponent_ng_container_0_crm_activity_logger_email_5_Template","CrmActivityLoggerComponent_ng_container_0_crm_activity_logger_call_6_Template","CrmActivityLoggerComponent_ng_container_0_crm_activity_logger_meeting_7_Template","CrmActivityLoggerComponent_ng_container_0_crm_activity_logger_task_8_Template","CrmActivityLoggerComponent_ng_container_0_crm_activity_logger_communication_9_Template","CrmActivityLoggerComponent_ng_container_0_form_10_Template","CrmActivityLoggerComponent_ng_container_0_ng_container_11_Template","CrmActivityLoggerComponent_ng_container_0_ng_template_12_Template","CrmActivityLoggerComponent_ng_container_0_ng_template_14_Template","CrmActivityLoggerComponent_ng_container_0_ng_template_16_Template","CrmActivityLoggerComponent_ng_container_0_ng_template_18_Template","CrmActivityLoggerComponent_ng_container_0_ng_template_20_Template","CrmActivityLoggerComponent_ng_container_0_ng_template_22_Template","CrmActivityLoggerComponent_ng_container_0_ng_template_24_Template","CrmActivityLoggerComponent_ng_container_0_ng_template_26_Template","avatar_r32","DEFAULT_SELECTED_ACTIVITY_TYPE","DEFAULT_MOBILE_BREAKPOINT","icon","manuallyLoggedFieldValue","fieldId","StandardIds","ActivityManuallyLogged","booleanValue","CrmActivityLoggerComponent","objectType","objectType$$","next","crmObjectId","crmObjectId$$","expandAndSelectType","activityType","layout","layout$$","crmActivityId","crmActivityId$$","constructor","config","activityLoggerService","crmObjectService","snackService","fieldsService","associationService","breakpointObserver","collapsed","signal","BehaviorSubject","ReplaySubject","objectType$","asObservable","pipe","map","crmActivityId$","activityCreated","EventEmitter","activityUpdated","cancel","activity$$","associations","tags$$","upsertActivityWorkState$","ObservableWorkState","isLoading$","followUpExpanded$$","takeUntilDestroyed","switchMap","getActivity","of","tap","activity","tags","getFieldValueFromCrmObject","ActivityTags","stringValues","values","subscribe","combineLatest","user","ownerId","userId","distinctUntilChanged","isEditing$","Boolean","services","userService","searchUsers","opportunityService","crmObject$","crmObjectType","getMultiObject","response","crmObjects","filter","shareReplay","crmObjectName$","crmObject","getObjectName","getPrimaryAccountGroupId","mobileLayout$","setupMobileMatcher","workResults$","crmIds","from","mergeMap","crmId","created","getTime","updated","emit","successEvents$","success","__async","isEditing","firstValueFrom","successMsg","errorMsg","openSuccessSnack","duration","SNACKBAR_DURATION","collapse","openErrorSnack","intializeDefaultActivity","toObservable","isCollapsed","withLatestFrom","currentUserId","defaultActivity","getCompanyAssociationObjectIdsForContact$","companyObjectIds","formattedAsc","companyId","crmObjectSubtype","updateValueAndValidity","setAssociationValues","expand","communicationSubType","toUpperCase","validateForm","fieldValues","getSelectedComponent","getValues","work$","crmObjectName","isFollowUpExpanded","tagsField","apiCalls","activityId","fieldMask","getFieldMaskFromFormGroup","formGroup","updateActivity","mergeAssociations","addActivity","followUpFieldValues","loggerFollowUpTaskComponent","push","startWork","loggerNoteComponent","loggerEmailComponent","loggerCallComponent","loggerMeetingComponent","loggerTaskComponent","loggerCommunicationComponent","isFormValid","valid","all","a","set","item","validate","clearFields","isExpanded","resetForm","extraAssociations","PlatformExtensionFieldIds","AccountGroupID","stringValue","companyName","CompanyName","firstName","StandardExternalIds","FirstName","lastName","LastName","trim","mobileMedia$","observe","result","matches","switchWhenFalsy","tagEvent","ɵɵdirectiveInject","CrmInjectionToken","ActivityLoggerService","CrmObjectService","SnackbarService","CrmFieldService","CrmAssociationService","BreakpointObserver","selectors","viewQuery","rf","ctx","CrmActivityLoggerNoteComponent","CrmActivityLoggerEmailComponent","CrmActivityLoggerCallComponent","CrmActivityLoggerMeetingComponent","CrmActivityLoggerTaskComponent","CrmActivityLoggerCommunicationComponent","CrmActivityLoggerFollowUpTaskComponent","ɵɵStandaloneFeature","decls","vars","consts","template","CrmActivityLoggerComponent_ng_container_0_Template","ɵɵpureFunction2","_c0","CommonModule","NgForOf","NgIf","NgTemplateOutlet","NgSwitch","NgSwitchCase","NgSwitchDefault","AsyncPipe","TranslateModule","TranslatePipe","TranslationModule","MatCardModule","MatCard","MatCardActions","MatCardAvatar","MatCardContent","MatIconModule","MatIcon","MatAutocompleteModule","MatChipsModule","MatButtonModule","MatButton","GalaxyAvatarModule","AvatarComponent","GalaxyFormFieldModule","FormFieldComponent","FormRowComponent","MatInputModule","MatInput","ReactiveFormsModule","ɵNgNoValidate","NgControlStatusGroup","CrmUnknownUserAvatarComponent","MatTooltipModule","GalaxyButtonLoadingIndicatorModule","ButtonLoadingIndicatorComponent","ChipListComponent","CrmLoggerContentDirective","CrmActivityLoggerContactAssociationComponent","CrmActivityLoggerCompanyAssociationComponent","CrmActivityLoggerTeamAssociationComponent","CrmActivityLoggerOpportunityAssociationComponent","MatMenuModule","MatMenu","MatMenuItem","MatMenuTrigger","CrmActivityLoggerTagsComponent","styles","_CrmActivityLoggerComponent","OnResizeDirective","onWindowResize","resizeDetected","emit","constructor","element","EventEmitter","window","ResizeObserver","resizeObserver","observe","nativeElement","ɵɵdirectiveInject","ElementRef","selectors","hostBindings","rf","ctx","ɵɵlistener","ɵɵresolveWindow","_OnResizeDirective","ɵɵelement","ɵɵstyleProp","ctx_r1","maxHeightPx","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r3","ɵɵnextContext","ɵɵresetView","toggleCollapsed","ɵɵtext","ɵɵelementEnd","ɵɵproperty","ɵɵpureFunction1","_c3","collapsed","ɵɵadvance","ɵɵtextInterpolate1","ɵɵpipeBind1","CollapsibleSectionComponent","constructor","showBorderWhenCollapsed","signal","collapsible","update","value","checkForOverflow","element","collapsibleContentContainer","nativeElement","isOverflow","scrollHeight","offsetHeight","set","selectors","viewQuery","rf","ctx","i0","_r1","ɵɵprojection","ɵɵtemplate","CollapsibleSectionComponent_div_4_Template","CollapsibleSectionComponent_p_5_Template","undefined","ɵɵpureFunction2","_c2","CommonModule","NgClass","NgIf","TranslateModule","TranslatePipe","TranslationModule","ObserversModule","CdkObserveContent","OnResizeDirective","styles","_CollapsibleSectionComponent","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ctx_r0","AVATAR_WIDTH","ɵɵtext","ɵɵtextInterpolate","headerText_r2","ɵɵpipeBind1","ɵɵtextInterpolate1","ɵɵpipeBind2","cardInfo_r3","effectiveDate","dateFormat","ownerName_r4","ɵɵtemplate","CrmActivityEmailComponent_div_0_ng_container_12_span_7_div_1_Template","ownerName","CrmActivityEmailComponent_div_0_ng_container_12_span_8_span_3_Template","ɵɵpropertyInterpolate1","contact_r5","ɵɵsanitizeUrl","lastContact_r6","emailBody","ɵɵsanitizeHtml","ɵɵelementContainerStart","CrmActivityEmailComponent_div_0_ng_container_12_span_7_Template","CrmActivityEmailComponent_div_0_ng_container_12_span_8_Template","CrmActivityEmailComponent_div_0_ng_container_12_div_9_Template","emailSubject","ɵɵstyleProp","toString","emailDirection","contactEmails","ɵɵpropertyInterpolate","campaignLink","campaignName","CrmActivityEmailComponent_div_0_div_3_Template","CrmActivityEmailComponent_div_0_div_4_Template","CrmActivityEmailComponent_div_0_span_6_Template","CrmActivityEmailComponent_div_0_ng_template_7_Template","ɵɵtemplateRefExtractor","CrmActivityEmailComponent_div_0_p_10_Template","CrmActivityEmailComponent_div_0_ng_container_12_Template","CrmActivityEmailComponent_div_0_ng_template_13_Template","showAvatar","isCampaign","headerText","unknown_r7","campaign_r8","CrmActivityEmailComponent","activity","_activity","set","objectType","_objectType","associatedObjectId","crmObjectId","_associatedObjectId","_showAvatar","constructor","config","fieldService","campaignService","recipientCampaignService","crmObjectService","translateService","sanitizer","unknownNamePlaceholder","instant","signal","DateFormat","medium","associatedCrmObjectName$","toObservable","pipe","switchMap","getAssociatedObjectName","associatedCrmObjectName","toSignal","contactEmails$","getContactEmails","campaignId$","getCampaignId","campaignId","campaignName$","getCampaign","accountGroupId$","getAccountGroupId","accountGroupId","cardInfo","computed","sanitize","SecurityContext","HTML","getStringFieldData","StandardIds","ActivityEmailBody","ActivityEmailSubject","emailStatus","ActivityEmailStatus","ActivityEmailDirection","toLowerCase","emailType","ActivityEmailType","emailHeaders","ActivityEmailHeaders","sourceName","ActivitySourceName","getDateFieldData","SystemFieldIds","ActivityEffectiveDate","owner","ownerUser","firstName","lastName","trim","baseText","nameText","directionText","useBusinessCenterCampaignLink","parentNamespace$","map","parentNamespace","fieldId","getFieldValueFromCrmObject","stringValue","getCampaignName","id","get","campaignData","name","of","dateValue","recipientId","ActivityCampaignID","getRecipientCampaign","recipientCampaign","parts","partnerId","split","length","getMultiObject","data","crmObject","crmObjects","StandardExternalIds","FirstName","LastName","CompanyName","crmObjectIds","associations","forEach","association","crmObjectType","push","resp","contact","Email","ɵɵdirectiveInject","CrmInjectionToken","CrmFieldService","CampaignService","RecipientCampaignService","CrmObjectService","TranslateService","DomSanitizer","selectors","inputs","standalone","features","ɵɵProvidersFeature","RxState","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","CrmActivityEmailComponent_div_0_Template","CommonModule","NgForOf","NgIf","DatePipe","TranslateModule","TranslatePipe","TranslationModule","CollapsibleSectionComponent","MatCardModule","MatCard","MatCardAvatar","MatCardContent","MatCardHeader","MatCardSubtitle","MatCardTitle","GalaxyAvatarModule","AvatarComponent","MatIconModule","GalaxyPipesModule","GalaxyITrustThisHtmlPipe","styles","_CrmActivityEmailComponent","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ctx_r0","AVATAR_WIDTH","ɵɵtext","ɵɵtextInterpolate","headerText","ɵɵpipeBind1","ɵɵtextInterpolate1","ɵɵpipeBind2","cardInfo_r2","effectiveDate","dateFormat","noteBody","ɵɵtemplate","CrmActivityNoteComponent_div_0_div_3_Template","CrmActivityNoteComponent_div_0_span_5_Template","CrmActivityNoteComponent_div_0_ng_template_6_Template","ɵɵtemplateRefExtractor","CrmActivityNoteComponent_div_0_p_9_Template","CrmActivityNoteComponent_div_0_div_11_Template","ɵɵstyleProp","showAvatar","toString","unknown_r3","CrmActivityNoteComponent","activity","_activity","set","_showAvatar","getStringFieldData","fieldId","fieldService","getFieldValueFromCrmObject","stringValue","getDateFieldData","dateValue","constructor","signal","DateFormat","medium","cardInfo","computed","StandardIds","ActivityNoteBody","noteTitle","ActivityNoteTitle","sourceName","ActivitySourceName","SystemFieldIds","ActivityEffectiveDate","trim","ɵɵdirectiveInject","CrmFieldService","selectors","inputs","standalone","features","ɵɵProvidersFeature","RxState","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","CrmActivityNoteComponent_div_0_Template","CommonModule","NgIf","DatePipe","TranslateModule","TranslatePipe","TranslationModule","CollapsibleSectionComponent","MatCardModule","MatCard","MatCardAvatar","MatCardContent","MatCardHeader","MatCardSubtitle","MatCardTitle","GalaxyAvatarModule","AvatarComponent","styles","_CrmActivityNoteComponent","CrmActivityTemplateOptionsDirective","selectors","standalone","_CrmActivityTemplateOptionsDirective","ɵɵelement","ɵɵproperty","fullName_r1","ctx_r1","AVATAR_WIDTH","tmp_9_0","ɵɵpipeBind1","profileImageUrl$","undefined","ɵɵelementStart","ɵɵtemplate","CrmActivityTemplateComponent_mat_card_header_1_div_1_glxy_avatar_1_Template","ɵɵelementEnd","ɵɵadvance","showUnknownAvatar$","unknownUserAvatar_r3","ɵɵtext","ɵɵtextInterpolate","fullName_r4","headerText_r5","ɵɵelementContainer","CrmActivityTemplateComponent_mat_card_header_1_div_1_Template","CrmActivityTemplateComponent_mat_card_header_1_span_4_Template","CrmActivityTemplateComponent_mat_card_header_1_span_6_Template","CrmActivityTemplateComponent_mat_card_header_1_ng_container_9_Template","ɵɵprojection","ɵɵstyleProp","showAvatar","toString","fullName$","headerText$","subtitleTemplate","subtitleCustomTemplate_r7","subtitleDefaultTemplate_r6","ɵɵtextInterpolate1","ɵɵpipeBind2","effectiveDate_r8","dateFormat","CrmActivityTemplateComponent_ng_template_7_p_0_Template","effectiveDate$","CrmActivityTemplateComponent_ng_template_9_ng_container_1_Template","CrmActivityTemplateComponent","activity","state","set","get","ownerUser","isOwnedByServiceAccount","headerText","text","_showAvatar","constructor","fieldService","translateService","DateFormat","medium","showFullName","unknownNamePlaceholder","instant","select","pipe","map","headerTextFromActivityType","crmObjectSubtype","combineLatest","isUnknownUser","user","profileImageUrl","fullName","effectiveDate","connect","filter","firstName","lastName","trim","tap","getFieldValueFromCrmObject","SystemFieldIds","ActivityEffectiveDate","dateValue","activityType","ɵɵdirectiveInject","RxState","CrmFieldService","TranslateService","selectors","inputs","standalone","features","ɵɵProvidersFeature","ɵɵStandaloneFeature","ngContentSelectors","_c1","decls","vars","consts","template","rf","ctx","CrmActivityTemplateComponent_mat_card_header_1_Template","CrmActivityTemplateComponent_ng_template_5_Template","ɵɵtemplateRefExtractor","CrmActivityTemplateComponent_ng_template_7_Template","CrmActivityTemplateComponent_ng_template_9_Template","CommonModule","NgIf","NgTemplateOutlet","AsyncPipe","DatePipe","TranslateModule","TranslatePipe","TranslationModule","MatCardModule","MatCard","MatCardAvatar","MatCardContent","MatCardHeader","MatCardSubtitle","MatCardTitle","MatIconModule","GalaxyAvatarModule","AvatarComponent","CrmUnknownUserAvatarComponent","styles","_CrmActivityTemplateComponent","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ɵɵtextInterpolate","noteBody_r1","CrmActivityLoggedNoteComponent","activity","state","set","get","constructor","fieldService","noteBody$","select","undefined","noteBody","connect","pipe","map","getFieldValueFromCrmObject","StandardIds","ActivityNoteBody","stringValue","ɵɵdirectiveInject","RxState","CrmFieldService","selectors","inputs","standalone","features","ɵɵProvidersFeature","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","ɵɵtemplate","CrmActivityLoggedNoteComponent_div_0_Template","ɵɵpipeBind1","CommonModule","NgIf","AsyncPipe","TranslateModule","TranslationModule","CollapsibleSectionComponent","styles","_CrmActivityLoggedNoteComponent","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ctx_r0","AVATAR_WIDTH","ɵɵtext","ɵɵtextInterpolate1","ɵɵpipeBind2","cardInfo_r2","effectiveDate","dateFormat","ɵɵtemplate","CrmActivityRecordChangeComponent_ng_container_0_mat_card_1_div_2_Template","CrmActivityRecordChangeComponent_ng_container_0_mat_card_1_div_3_Template","CrmActivityRecordChangeComponent_ng_container_0_mat_card_1_p_8_Template","ɵɵstyleProp","showAvatar","toString","isUpdatedRecordChange","ɵɵtextInterpolate","headerText","contentText","ɵɵelementContainerStart","CrmActivityRecordChangeComponent_ng_container_0_mat_card_1_Template","isReady","CrmActivityRecordChangeComponent","_activity","constructor","fieldService","translateByObjectTypeService","changeLogService","config","salespersonService","__privateAdd","DateFormat","medium","__privateSet","signal","namespace","toSignal","namespace$","_showAvatar","recordChangeType","computed","getFieldValueFromCrmObject","__privateGet","StandardExternalIds","ActivityRecordChangeType","stringValue","objectType","activity","associations","undefined","length","console","warn","crmObjectId","crmObjectType","sourceName","StandardIds","ActivitySourceName","cardInfo","effectResult","partialKey","computedObjectType","createdVia","getTranslationByObjectType","updatedField","changeLogUser","displayName","trim","SystemFieldIds","ActivityEffectiveDate","dateValue","changeLogSalesPerson","changeLogSalespersonId","salespersonUnknownPartialKey","salespersonFullName","firstName","lastName","map","name","join","changeLog","crmChangeSubtype","effect","set","companyId","find","association","changeId","RecordChangeReferenceFieldID","getMultiChangeLog","crmChangelogIdentifiers","crmChangeId","pipe","switchMap","res","object","changeLogs","salesPersonSubId","CompanyPrimarySalespersonID","createdByUserId","combineLatest","of","getSalespersonBySubjectId","catchError","services","userService","getMultiUsers","EMPTY","take","subscribe","salesPerson","simplifiedUser","allowSignalWrites","ɵɵdirectiveInject","CrmFieldService","TranslateByObjectTypeService","CRMChangeLogApiService","CrmInjectionToken","SalespersonService","selectors","inputs","standalone","features","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","CrmActivityRecordChangeComponent_ng_container_0_Template","CommonModule","NgIf","DatePipe","TranslateModule","TranslationModule","MatCardModule","MatCard","MatCardAvatar","MatCardContent","MatCardHeader","MatCardSubtitle","MatCardTitle","GalaxyPipesModule","GalaxyAvatarModule","AvatarComponent","styles","_CrmActivityRecordChangeComponent","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ɵɵpipeBind1","direction_r1","ɵɵtemplate","CrmActivityLoggedEmailComponent_div_0_div_4_Template","ɵɵproperty","ɵɵtextInterpolate","description_r2","ctx_r2","direction$","CrmActivityLoggedEmailComponent","activity","state","set","get","constructor","fieldService","description$","select","undefined","description","direction","connect","pipe","map","getFieldValueFromCrmObject","StandardIds","ActivityEmailBody","stringValue","ActivityEmailDirection","ɵɵdirectiveInject","RxState","CrmFieldService","selectors","inputs","standalone","features","ɵɵProvidersFeature","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","CrmActivityLoggedEmailComponent_div_0_Template","CommonModule","NgIf","AsyncPipe","TranslateModule","TranslatePipe","TranslationModule","CollapsibleSectionComponent","styles","_CrmActivityLoggedEmailComponent","ɵɵelementContainerStart","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵpropertyInterpolate","callUrl_r1","ɵɵsanitizeUrl","ɵɵtemplate","CrmActivityLoggedCallComponent_div_0_ng_container_4_Template","ɵɵelementContainer","ɵɵproperty","ɵɵtextInterpolate","cardInfo_r2","note","ɵɵpipeBind1","ctx_r2","callRecordingSource$","activityData_r4","ɵɵpureFunction1","_c0","direction","_c1","status","_c2","outcome","_c3","ɵɵpipeBind2","date","dateFormat","ɵɵtextInterpolate1","value_r5","CrmActivityLoggedCallComponent_ng_template_1_ng_container_5_Template","label_r6","CrmActivityLoggedCallComponent","activity","_activity","set","getFieldData","fieldId","fieldService","getFieldValueFromCrmObject","stringValue","constructor","http","DateFormat","mediumDateShortTime","signal","cardInfo","computed","StandardIds","ActivityCallBody","ActivityCallDirection","ActivityCallStatus","ActivityCallOutcome","SystemFieldIds","ActivityEffectiveDate","dateValue","callRecordingUrl","ActivityCallRecordingUrl","toObservable","pipe","switchMap","get","responseType","withCredentials","of","ɵɵdirectiveInject","HttpClient","CrmFieldService","selectors","inputs","standalone","features","ɵɵProvidersFeature","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","CrmActivityLoggedCallComponent_div_0_Template","CrmActivityLoggedCallComponent_ng_template_1_Template","ɵɵtemplateRefExtractor","CommonModule","NgIf","NgTemplateOutlet","AsyncPipe","DatePipe","TranslateModule","TranslatePipe","TranslationModule","CollapsibleSectionComponent","styles","_CrmActivityLoggedCallComponent","import_dompurify","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵelementContainer","ɵɵadvance","ɵɵproperty","ɵɵpipeBind1","cardInfo_r1","note","ɵɵsanitizeHtml","activityData_r3","ɵɵpureFunction1","_c0","status","_c1","outcome","_c2","ɵɵpipeBind2","date","ctx_r1","dateFormat","_c3","duration","ɵɵelementContainerStart","ɵɵtext","ɵɵtextInterpolate1","value_r4","ɵɵtemplate","CrmActivityLoggedMeetingComponent_ng_template_1_ng_container_5_Template","label_r5","CrmActivityLoggedMeetingComponent","activity","_activity","set","getStringFieldData","fieldId","fieldService","getFieldValueFromCrmObject","stringValue","getIntegerFieldData","integerValue","convertMillisecondsToHoursAndMinutes","convertedDuration","intervalToDuration","start","end","hours","minutes","constructor","DateFormat","mediumDateShortTime","signal","cardInfo","computed","StandardIds","ActivityMeetingDuration","DOMPurify","sanitize","ActivityMeetingBody","ActivityMeetingStatus","ActivityMeetingOutcome","SystemFieldIds","ActivityEffectiveDate","dateValue","ɵɵdirectiveInject","CrmFieldService","selectors","inputs","standalone","features","ɵɵProvidersFeature","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","CrmActivityLoggedMeetingComponent_div_0_Template","CrmActivityLoggedMeetingComponent_ng_template_1_Template","ɵɵtemplateRefExtractor","CommonModule","NgIf","NgTemplateOutlet","DatePipe","TranslateModule","TranslatePipe","TranslationModule","CollapsibleSectionComponent","GalaxyPipesModule","GalaxyITrustThisHtmlPipe","styles","_CrmActivityLoggedMeetingComponent","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","updateTaskCompletionStatus","ɵɵtext","ɵɵelementEnd","ɵɵelementContainer","ɵɵadvance","ɵɵproperty","completedTaskControl","ɵɵtextInterpolate1","cardInfo_r3","title","ɵɵtextInterpolate","body","activityData_r4","ɵɵpureFunction1","_c0","ɵɵpipeBind2","dueDate","dateFormat","_c1","ɵɵpipeBind1","assignee","_c2","type","_c3","priority","ɵɵelementContainerStart","value_r5","ɵɵtemplate","CrmActivityTaskComponent_ng_template_1_ng_container_5_Template","label_r6","CrmActivityTaskComponent","activity","_activity","set","ngOnInit","taskIsCompleted","fields","find","field","fieldId","StandardIds","ActivityTaskStatus","stringValue","Completed","setValue","emitEvent","getFieldData","fieldService","getFieldValueFromCrmObject","getAssigneeName","ownerId","user","users","userId","firstName","lastName","map","name","trim","filter","join","unknownNamePlaceholder","getTaskCompletionStatus","value","Open","getAssociations","associations","emitStatusChange","status","push","activityChange","emit","__async","crmObjectId","crmObjectSubtype","mask","paths","firstValueFrom","activityService","updateActivity","snack","openSuccessSnack","openErrorSnack","constructor","FormControl","DateFormat","mediumDateShortTime","signal","EventEmitter","cardInfo","computed","ActivityName","ActivityTaskBody","ActivityTaskType","ActivityTaskPriority","ActivityTaskDueDate","dateValue","ɵɵdirectiveInject","CrmFieldService","ActivityService","SnackbarService","selectors","inputs","associatedObject","outputs","standalone","features","ɵɵProvidersFeature","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","CrmActivityTaskComponent_div_0_Template","CrmActivityTaskComponent_ng_template_1_Template","ɵɵtemplateRefExtractor","CommonModule","NgIf","NgTemplateOutlet","DatePipe","TranslateModule","TranslatePipe","TranslationModule","MatCheckboxModule","MatCheckbox","ReactiveFormsModule","NgControlStatus","FormControlDirective","GalaxyFormFieldModule","FormFieldComponent","ExtendedDirective","MatInputModule","MatIconModule","CollapsibleSectionComponent","styles","_CrmActivityTaskComponent","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ctx_r1","routePrefix","contact_r1","linkUrl","ɵɵtextInterpolate1","name","ɵɵtemplate","CrmActivityAssociationPopoverComponent_div_0_div_4_Template","ɵɵtextInterpolate","ɵɵpipeBind1","contacts","company_r3","CrmActivityAssociationPopoverComponent_div_1_div_4_Template","companies","opportunity_r4","CrmActivityAssociationPopoverComponent_div_2_div_4_Template","opportunities","member_r5","CrmActivityAssociationPopoverComponent_div_3_div_4_Template","teamMembers","CrmActivityAssociationPopoverComponent","activity","_activity","set","associatedObject","a","objectType$$","next","objectType","crmObjectId$$","crmObjectId","constructor","fieldService","activityService","snack","objectService","signal","ReplaySubject","objectType$","asObservable","crmObjectId$","config","inject","CrmInjectionToken","opportunityService","services","userService","toSignal","routePrefix$","primaryAccountGroupId$","combineLatest","pipe","switchMap","v","crmObjectType","getMultiObject","map","response","crmObjects","crmObject","getFieldValueFromCrmObject","PlatformExtensionFieldIds","AccountGroupID","stringValue","filter","Boolean","shareReplay","companies$","toObservable","ids","associations","length","of","o","newTaskPopoverAssociation","StandardIds","CompanyName","PAGE_ROUTES","COMPANY","ROOT","SUBROUTES","PROFILE","replace","contacts$","displayName","StandardExternalIds","FirstName","LastName","CONTACT","opportunities$","accountGroupId","setAccountGroupId","getMultiOpportunity","userIds$","getMultiUsers","link","ɵɵdirectiveInject","CrmFieldService","ActivityService","SnackbarService","CrmObjectService","selectors","inputs","standalone","features","ɵɵProvidersFeature","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","CrmActivityAssociationPopoverComponent_div_0_Template","CrmActivityAssociationPopoverComponent_div_1_Template","CrmActivityAssociationPopoverComponent_div_2_Template","CrmActivityAssociationPopoverComponent_div_3_Template","tmp_0_0","tmp_1_0","tmp_2_0","tmp_3_0","CommonModule","NgForOf","NgIf","TranslationModule","TranslatePipe","RouterLink","styles","_CrmActivityAssociationPopoverComponent","CrmTimelineAssociatedObjectPipe","transform","activity","crmObject","isObjectType","objectType","crmObjectId","associations","length","asc","crmObjectType","ObjectTypes","includes","pure","standalone","_CrmTimelineAssociatedObjectPipe","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelementContainer","ɵɵadvance","ɵɵproperty","ɵɵtextInterpolate","cardInfo_r1","body","activityData_r3","ɵɵpureFunction1","_c0","channel","_c1","outcome","_c2","ɵɵpipeBind2","date","ctx_r1","dateFormat","ɵɵelementContainerStart","ɵɵtextInterpolate1","value_r4","ɵɵtemplate","CrmActivityLoggedCommunicationComponent_ng_template_1_ng_container_5_Template","ɵɵpipeBind1","label_r5","CrmActivityLoggedCommunicationComponent","activity","_activity","set","getFieldData","fieldId","fieldService","getFieldValueFromCrmObject","stringValue","constructor","signal","DateFormat","mediumDateShortTime","cardInfo","computed","StandardIds","ActivityCommunicationBody","ActivityCommunicationChannel","ActivityCommunicationOutcome","SystemFieldIds","ActivityEffectiveDate","dateValue","ɵɵdirectiveInject","CrmFieldService","selectors","inputs","standalone","features","ɵɵProvidersFeature","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","CrmActivityLoggedCommunicationComponent_div_0_Template","CrmActivityLoggedCommunicationComponent_ng_template_1_Template","ɵɵtemplateRefExtractor","CommonModule","NgIf","NgTemplateOutlet","DatePipe","TranslateModule","TranslatePipe","TranslationModule","CollapsibleSectionComponent","GalaxyPipesModule","styles","_CrmActivityLoggedCommunicationComponent","getActivityUrl","activityUrl","urlToCheck","startsWith","url","URL","host","toString","test","window","location","protocol","pathname","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ctx_r0","AVATAR_WIDTH","ɵɵtext","ɵɵtextInterpolate1","ɵɵpipeBind2","effectiveDate","dateFormat","ɵɵtextInterpolate","body","activityUrl","ɵɵsanitizeUrl","activityUrlName","CrmActivityCommunicationComponent","activity","setActivityData","constructor","fieldService","showAvatar","DateFormat","medium","sourceName","getStringFieldData","StandardIds","ActivityCommunicationBody","getFieldValueFromCrmObject","SystemFieldIds","ActivityEffectiveDate","dateValue","ActivitySourceName","getActivityUrl","ActivityUrl","ActivityUrlName","fieldId","stringValue","ɵɵdirectiveInject","CrmFieldService","selectors","inputs","standalone","features","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","ɵɵtemplate","CrmActivityCommunicationComponent_div_2_Template","CrmActivityCommunicationComponent_p_8_Template","CrmActivityCommunicationComponent_div_10_Template","CrmActivityCommunicationComponent_div_11_Template","ɵɵstyleProp","toString","ɵɵtextInterpolate2","ɵɵpipeBind1","CommonModule","NgIf","DatePipe","TranslateModule","TranslatePipe","TranslationModule","CollapsibleSectionComponent","MatCardModule","MatCard","MatCardAvatar","MatCardContent","MatCardHeader","MatCardSubtitle","MatCardTitle","GalaxyAvatarModule","AvatarComponent","styles","_CrmActivityCommunicationComponent","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ctx_r0","AVATAR_WIDTH","ɵɵtext","ɵɵtextInterpolate","headerText_r2","ɵɵpipeBind1","ɵɵtextInterpolate1","ɵɵpipeBind2","cardInfo_r3","date","dateFormat","cardTitle_r4","ownerName_r5","from","ɵɵtemplate","CrmActivityCallComponent_div_0_span_16_ng_template_2_div_0_Template","ownerName","to","CrmActivityCallComponent_div_0_span_16_div_4_span_2_Template","associatedObject_r6","CrmActivityCallComponent_div_0_span_16_div_1_Template","CrmActivityCallComponent_div_0_span_16_ng_template_2_Template","ɵɵtemplateRefExtractor","CrmActivityCallComponent_div_0_span_16_div_4_Template","unknownOwner_r7","associatedCrmObject","CrmActivityCallComponent_div_0_span_17_div_1_span_2_Template","associatedObject_r8","CrmActivityCallComponent_div_0_span_17_div_1_Template","ɵɵelementContainerStart","ɵɵpropertyInterpolate","callUrl_r9","ɵɵsanitizeUrl","CrmActivityCallComponent_div_0_div_3_Template","CrmActivityCallComponent_div_0_span_5_Template","CrmActivityCallComponent_div_0_ng_template_6_Template","CrmActivityCallComponent_div_0_p_9_Template","CrmActivityCallComponent_div_0_span_13_Template","CrmActivityCallComponent_div_0_span_16_Template","CrmActivityCallComponent_div_0_span_17_Template","CrmActivityCallComponent_div_0_ng_container_18_Template","ɵɵstyleProp","showAvatar","toString","headerText","unknown_r10","cardTitle","direction","callRecordingSource$","CrmActivityCallComponent","activity","_activity","set","objectType","_objectType","associatedObjectId","crmObjectId","_associatedObjectId","_showAvatar","getAssociatedObjectName","crmObjectService","getMultiObject","pipe","map","data","crmObject","crmObjects","firstName","fieldService","getFieldValueFromCrmObject","StandardExternalIds","FirstName","stringValue","lastName","LastName","StandardIds","CompanyName","of","getStringFieldData","fieldId","constructor","http","DateFormat","mediumDateShortTime","signal","associatedCrmObject$","toObservable","switchMap","toSignal","computed","cardInfo","directionText","status","duration","minutes","Math","floor","seconds","toFixed","owner","ownerUser","trim","ActivityCallStatus","ActivityCallDirection","SystemFieldIds","ActivityEffectiveDate","dateValue","ActivityCallToNumber","ActivityCallFromNumber","ActivityCallDuration","integerValue","callRecordingUrl","ActivityCallRecordingUrl","get","responseType","withCredentials","ɵɵdirectiveInject","CrmFieldService","HttpClient","CrmObjectService","selectors","inputs","standalone","features","ɵɵProvidersFeature","RxState","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","CrmActivityCallComponent_div_0_Template","CommonModule","NgIf","AsyncPipe","DatePipe","TranslateModule","TranslatePipe","TranslationModule","MatCardModule","MatCard","MatCardAvatar","MatCardContent","MatCardHeader","MatCardSubtitle","MatCardTitle","GalaxyAvatarModule","AvatarComponent","GalaxyPipesModule","styles","_CrmActivityCallComponent","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ɵɵpipeBind2","cardInfo_r1","effectiveDate","ctx_r1","dateFormat","ɵɵpipeBind1","ɵɵproperty","ɵɵpureFunction2","_c0","activityInfo_r3","status","ɵɵtextInterpolate","lostReason","ɵɵtemplate","CrmActivityOpportunityUpdatedComponent_ng_container_0_div_11_div_4_div_1_Template","notes","CrmActivityOpportunityUpdatedComponent_ng_container_0_div_11_div_3_Template","CrmActivityOpportunityUpdatedComponent_ng_container_0_div_11_div_4_Template","CrmActivityOpportunityUpdatedComponent_ng_container_0_div_11_div_5_Template","opportunityName","isClosedWon","ɵɵelementContainerStart","ɵɵelement","CrmActivityOpportunityUpdatedComponent_ng_container_0_p_9_Template","CrmActivityOpportunityUpdatedComponent_ng_container_0_div_11_Template","ɵɵstyleProp","showAvatar","AVATAR_WIDTH","toString","headerText","activityInfo","CrmActivityOpportunityUpdatedComponent","_activity","constructor","fieldService","translateService","crmPlatformApiService","salespersonService","config","opportunityApi","__privateAdd","__privateSet","signal","_showAvatar","DateFormat","medium","salespersonId","computed","getFieldValueFromCrmObject","activity","StandardIds","ActivityOpportunityChangeSalespersonID","stringValue","namespace","toSignal","namespace$","effectResult","undefined","instant","opportunityUpdatedBy","cardInfo","updatedBy","opportunityChangeStatus","__privateGet","ActivityOpportunityChangePipelineStage","opportunityChangeLostReason","ActivityOpportunityChangeLostReason","opportunityChangeNotes","getStringFieldData","ActivityOpportunityChangeNotes","formattedStatus","charAt","toUpperCase","slice","toLowerCase","formattedLostReason","SystemFieldIds","ActivityEffectiveDate","dateValue","accountGroupId$","toObservable","pipe","map","associations","find","association","crmObjectType","crmObjectId","filter","companyId","switchMap","getAccountGroupForCompany","combineLatest","accountGroupId","opportunityId","ActivityOpportunityChangeID","get","opportunity","name","catchError","of","effect","getSalespersonBySubjectId","salesperson","firstName","lastName","take","subscribe","set","allowSignalWrites","checkClosedWon","ngOnInit","fieldId","ɵɵdirectiveInject","CrmFieldService","TranslateService","CrmPlatformApiService","SalespersonService","CrmInjectionToken","SalesOpportunitiesService","selectors","inputs","standalone","features","ɵɵProvidersFeature","RxState","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","CrmActivityOpportunityUpdatedComponent_ng_container_0_Template","CommonModule","NgClass","NgIf","DatePipe","TranslateModule","TranslatePipe","MatCardModule","MatCard","MatCardAvatar","MatCardContent","MatCardHeader","MatCardSubtitle","MatCardTitle","GalaxyPipesModule","GalaxyAvatarModule","AvatarComponent","styles","_CrmActivityOpportunityUpdatedComponent","ɵɵelementContainer","ɵɵtemplate","CrmTimelineComponent_ng_container_1_ng_container_1_ng_container_1_div_1_ng_container_5_ng_container_1_ng_container_1_div_1_ng_template_1_ng_container_0_Template","ɵɵproperty","ɵɵpipeBind1","activity_r2","taskOverdueSubtitle_r4","taskDueSubtitle_r3","ɵɵpureFunction1","_c2","ɵɵelement","ɵɵelementStart","ɵɵlistener","$event","ɵɵrestoreView","_r5","ctx_r5","ɵɵnextContext","ɵɵresetView","updateActivity","ɵɵelementEnd","crmIdentifier_r7","uniqueUsers$","ɵɵelementContainerStart","CrmTimelineComponent_ng_container_1_ng_container_1_ng_container_1_div_1_ng_container_5_ng_container_1_ng_container_1_div_1_ng_container_4_crm_activity_logged_note_2_Template","CrmTimelineComponent_ng_container_1_ng_container_1_ng_container_1_div_1_ng_container_5_ng_container_1_ng_container_1_div_1_ng_container_4_crm_activity_logged_email_3_Template","CrmTimelineComponent_ng_container_1_ng_container_1_ng_container_1_div_1_ng_container_5_ng_container_1_ng_container_1_div_1_ng_container_4_crm_activity_logged_call_4_Template","CrmTimelineComponent_ng_container_1_ng_container_1_ng_container_1_div_1_ng_container_5_ng_container_1_ng_container_1_div_1_ng_container_4_crm_activity_logged_meeting_5_Template","CrmTimelineComponent_ng_container_1_ng_container_1_ng_container_1_div_1_ng_container_5_ng_container_1_ng_container_1_div_1_ng_container_4_crm_activity_task_6_Template","CrmTimelineComponent_ng_container_1_ng_container_1_ng_container_1_div_1_ng_container_5_ng_container_1_ng_container_1_div_1_ng_container_4_crm_activity_logged_communication_7_Template","ɵɵadvance","crmObjectSubtype","_r8","$implicit","editingActivities","crmObjectId","crmActivity_r9","objectType","ownerUser","CrmTimelineComponent_ng_container_1_ng_container_1_ng_container_1_div_1_ng_container_5_ng_container_1_ng_container_1_div_1_ng_container_5_crm_activity_logger_1_Template","ɵɵpipeBind2","_r10","openPopover","ɵɵtext","associations_r11","ɵɵtextInterpolate2","associations","length","_r12","ɵɵtextInterpolate1","activityOptionsMenu_r13","CrmTimelineComponent_ng_container_1_ng_container_1_ng_container_1_div_1_ng_container_5_ng_container_1_ng_container_1_div_1_ng_template_1_Template","ɵɵtemplateRefExtractor","CrmTimelineComponent_ng_container_1_ng_container_1_ng_container_1_div_1_ng_container_5_ng_container_1_ng_container_1_div_1_ng_container_4_Template","CrmTimelineComponent_ng_container_1_ng_container_1_ng_container_1_div_1_ng_container_5_ng_container_1_ng_container_1_div_1_ng_container_5_Template","CrmTimelineComponent_ng_container_1_ng_container_1_ng_container_1_div_1_ng_container_5_ng_container_1_ng_container_1_div_1_div_6_Template","ɵɵtwoWayListener","_r1","i0","ɵɵtwoWayBindingSet","popupOpen","CrmTimelineComponent_ng_container_1_ng_container_1_ng_container_1_div_1_ng_container_5_ng_container_1_ng_container_1_div_1_div_10_Template","_c0","last_r16","ownerId","taskSubtitle_r14","undefined","ɵɵtwoWayProperty","ɵɵpureFunction2","_c1","PopoverPositions","Bottom","Top","CrmTimelineComponent_ng_container_1_ng_container_1_ng_container_1_div_1_ng_container_5_ng_container_1_ng_container_1_div_1_Template","isActivityValid","CrmTimelineComponent_ng_container_1_ng_container_1_ng_container_1_div_1_ng_container_5_ng_container_1_ng_template_2_div_0_crm_activity_record_change_1_Template","CrmTimelineComponent_ng_container_1_ng_container_1_ng_container_1_div_1_ng_container_5_ng_container_1_ng_template_2_div_0_crm_activity_note_2_Template","CrmTimelineComponent_ng_container_1_ng_container_1_ng_container_1_div_1_ng_container_5_ng_container_1_ng_template_2_div_0_crm_activity_email_3_Template","CrmTimelineComponent_ng_container_1_ng_container_1_ng_container_1_div_1_ng_container_5_ng_container_1_ng_template_2_div_0_crm_activity_call_4_Template","CrmTimelineComponent_ng_container_1_ng_container_1_ng_container_1_div_1_ng_container_5_ng_container_1_ng_template_2_div_0_crm_activity_communication_5_Template","CrmTimelineComponent_ng_container_1_ng_container_1_ng_container_1_div_1_ng_container_5_ng_container_1_ng_template_2_div_0_crm_activity_opportunity_updated_6_Template","CrmTimelineComponent_ng_container_1_ng_container_1_ng_container_1_div_1_ng_container_5_ng_container_1_ng_template_2_div_0_Template","CrmTimelineComponent_ng_container_1_ng_container_1_ng_container_1_div_1_ng_container_5_ng_container_1_ng_container_1_Template","CrmTimelineComponent_ng_container_1_ng_container_1_ng_container_1_div_1_ng_container_5_ng_container_1_ng_template_2_Template","isLoggedActivity","systemActivity_r17","CrmTimelineComponent_ng_container_1_ng_container_1_ng_container_1_div_1_ng_container_5_ng_container_1_Template","section_r18","activities","trackActivitiesBy","CrmTimelineComponent_ng_container_1_ng_container_1_ng_container_1_div_1_ng_container_5_Template","ɵɵtextInterpolate","name","crmIdentifiers$","CrmTimelineComponent_ng_container_1_ng_container_1_ng_container_1_div_1_Template","activitySections_r19","trackActivitySectionsBy","CrmTimelineComponent_ng_container_1_ng_container_1_ng_container_1_Template","CrmTimelineComponent_ng_container_1_ng_container_1_ng_container_2_Template","emptyActivities_r20","showLoadingAfterActivities$","CrmTimelineComponent_ng_container_1_ng_container_1_Template","activitySections$","CrmTimelineComponent_ng_template_5_ng_container_0_ng_container_1_ng_container_5_Template","CrmTimelineComponent_ng_template_5_ng_container_0_ng_container_1_ng_template_6_Template","filtersPristineObj_r22","filtersPristine","emptyActivitiesSearchText_r21","CrmTimelineComponent_ng_template_5_ng_container_0_ng_container_1_Template","loading$","CrmTimelineComponent_ng_template_5_ng_container_0_Template","_c3","filtersPristine$","activity_r23","dateFormat","activity_r24","CrmTimelineComponent","activitiesTimelineService","crmObjectId$$","next","objectType$$","constructor","fieldService","activitiesChanged","EventEmitter","DateFormat","medium","now","Date","combineLatest","asObservable","pipe","map","state","select","filters$","showInfiniteScroll$","activitiesLoading","activitiesLoadMore","searchTerm","filters","loading","showLoadingReplacingActivities$","subscriptions","SubscriptionList","new","ngOnInit","setupSplitActivitiesIntoSections","connect","distinctUntilChanged","filter","Boolean","subscribe","set","emit","get","ngOnDestroy","destroy","activity","getFieldValueFromCrmObject","StandardIds","ActivityNoteTitle","stringValue","ActivityNoteBody","VALID_RECORD_CHANGE_TYPES","includes","StandardExternalIds","ActivityRecordChangeType","console","error","setFilters","reloadActivities","setSearchTerm","uniqueUsers","__spreadProps","__spreadValues","find","user","userId","ActivityManuallyLogged","booleanValue","activitiesWithOwnerUser","getActivitySections","addActivity","index","findIndex","a","lockActivityEffectiveDate","loadMoreActivities","section","ɵɵdirectiveInject","ActivitiesTimelineService","CrmFieldService","selectors","inputs","outputs","standalone","features","ɵɵProvidersFeature","RxState","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","CrmTimelineComponent_ng_container_1_Template","CrmTimelineComponent_ng_template_3_Template","CrmTimelineComponent_ng_template_5_Template","CrmTimelineComponent_ng_template_7_Template","CrmTimelineComponent_ng_template_9_Template","loading_r25","CommonModule","NgClass","NgForOf","NgIf","NgTemplateOutlet","NgSwitch","NgSwitchCase","AsyncPipe","DatePipe","TranslateModule","TranslatePipe","TranslationModule","GalaxyEmptyStateModule","EmptyStateComponent","EmptyStateHeroDirective","EmptyStateTitleDirective","GalaxyLoadingSpinnerModule","LoadingSpinnerComponent","GalaxyPopoverModule","PopoverComponent","GalaxyPopoverDirective","MatIconModule","MatIcon","CrmActivityTemplateComponent","CrmActivityLoggedNoteComponent","ObserversModule","CrmActivityRecordChangeComponent","CrmActivityOpportunityUpdatedComponent","CrmActivityLoggedEmailComponent","CrmActivityLoggedCallComponent","CrmActivityLoggedMeetingComponent","CrmActivityEmailComponent","CrmActivityLoggedCommunicationComponent","GalaxyFormFieldModule","MatInputModule","ReactiveFormsModule","CrmActivityNoteComponent","CrmActivityTaskComponent","CrmActivityEffectiveDatePipe","CrmIsTaskOverduePipe","CrmActivityLoggerComponent","CrmActivityTemplateOptionsDirective","MatMenuModule","MatMenu","MatMenuItem","MatMenuTrigger","MatButtonModule","MatIconButton","CrmTimelineAssociatedObjectPipe","CrmActivityCommunicationComponent","CrmActivityCallComponent","CrmActivityAssociationPopoverComponent","styles","_CrmTimelineComponent"],"x_google_ignoreList":[1]}