{
  "version": 3,
  "sources": ["libs/crm/dynamic/src/lib/activity/task/custom-cells/task-name.component.ts", "libs/crm/dynamic/src/lib/activity/task/services/task-table-customization.service.ts", "libs/crm/components/cache/src/cache.storage.ts", "libs/crm/components/cache/src/cache.utils.ts", "libs/crm/components/cache/src/cache.service.ts", "libs/crm/components/cache/src/cache.factory.ts", "libs/crm/components/cache/public_api.ts", "libs/crm/components/cache/index.ts", "libs/crm/dynamic/src/lib/permissions-guard.service.ts", "libs/crm/dynamic/src/lib/crm.module.ts", "libs/crm/dynamic/src/lib/scoring/scoring-definition.module.ts", "libs/crm/dynamic/src/lib/scoring/index.ts", "libs/crm/dynamic/src/lib/custom-fields/custom-fields-management-table-changes.service.ts", "libs/crm/dynamic/src/lib/custom-fields/utils.ts", "libs/crm/dynamic/src/lib/custom-fields/custom-field-management-table.component.ts", "libs/crm/dynamic/src/lib/custom-fields/custom-field-management-table.component.html", "libs/crm/dynamic/src/lib/custom-fields/external-id/external-id.component.ts", "libs/crm/dynamic/src/lib/custom-fields/external-id/external-id.component.html", "libs/crm/dynamic/src/lib/custom-fields/dasherize.pipe.ts", "libs/crm/dynamic/src/lib/custom-fields/custom-field-management-page.component.ts", "libs/crm/dynamic/src/lib/custom-fields/custom-field-management-page.component.html", "libs/crm/dynamic/src/lib/custom-fields/index.ts", "libs/crm/dynamic/src/lib/leaderboard/leaderboard-page.module.ts", "libs/crm/dynamic/src/lib/leaderboard/index.ts", "libs/crm/dynamic/src/lib/brand-crm/brand-crm-contacts/brand-crm-contacts.module.ts", "libs/crm/dynamic/src/lib/brand-crm/brand-crm-tasks/brand-crm-task.module.ts", "libs/crm/dynamic/src/lib/crm-components/profile/profile-cards-panel/index.ts", "libs/crm/dynamic/src/lib/crm-components/row-actions/export-actions.service.ts", "libs/crm/dynamic/src/lib/crm-components/row-actions/export-actions.ts", "libs/crm/dynamic/src/lib/crm-components/row-actions/index.ts", "libs/crm/dynamic/src/lib/pipeline-settings/index.ts", "libs/crm/dynamic/src/lib/contact/index.ts", "libs/crm/dynamic/src/index.ts"],
  "sourcesContent": ["import { CommonModule } from '@angular/common';\nimport { Component, inject } from '@angular/core';\nimport { CustomCellComponent } from '@vendasta/galaxy/table';\nimport { TaskQueueService } from '../../../crm-components/task-queue/task-queue.service';\nimport { firstValueFrom, of } from 'rxjs';\nimport { CrmMultilocationInjectionToken } from '@galaxy/crm/static';\n\nexport interface TaskNameData {\n  name: string;\n  id: string;\n  namespace?: string;\n}\n\n@Component({\n  template: ` <a (click)=\"openTask()\">{{ name }}</a> `,\n  imports: [CommonModule],\n})\nexport class TaskNameCellComponent extends CustomCellComponent {\n  protected name = '';\n  protected taskId = '';\n  protected namespace = '';\n\n  private readonly taskQueueService = inject(TaskQueueService);\n  private readonly multiLocationConfig = inject(CrmMultilocationInjectionToken);\n\n  set value(newValue: TaskNameData) {\n    this.name = newValue.name;\n    this.taskId = newValue.id;\n    this.namespace = newValue.namespace || '';\n  }\n\n  protected async openTask(): Promise<void> {\n    const isMultiLocation = await firstValueFrom(this.multiLocationConfig.isMultiLocation$ || of(false));\n\n    if (isMultiLocation && this.namespace) {\n      const taskNamespaces = new Map<string, string>();\n      taskNamespaces.set(this.taskId, this.namespace);\n      this.taskQueueService.setTaskNamespaces(taskNamespaces);\n      this.taskQueueService.startQueue([this.taskId]);\n    } else if (this.namespace) {\n      // For single location, pass the namespace directly\n      this.taskQueueService.startQueue([this.taskId], this.namespace);\n    } else {\n      this.taskQueueService.startQueue([this.taskId]);\n    }\n  }\n}\n", "import { Inject, Injectable, OnDestroy } from '@angular/core';\nimport {\n  ActivityInterface,\n  CrmObjectInterface,\n  FieldSchemaInterface,\n  SortByInterface,\n  SortDirection,\n} from '@vendasta/crm';\nimport {\n  GalaxyFilterDefinitionInterface,\n  GalaxyFilterInterface,\n  GalaxyFilterOperator,\n} from '@vendasta/galaxy/filter/chips';\nimport { CustomCell, GalaxyColumnDef } from '@vendasta/galaxy/table';\nimport {\n  Observable,\n  ReplaySubject,\n  combineLatest,\n  firstValueFrom,\n  of,\n  BehaviorSubject,\n  Subject,\n  takeUntil,\n} from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport {\n  ActivityTaskStatus,\n  TaskStatusCellComponent,\n  TaskBodyCellComponent,\n  AssociatedCrmObjectComponent,\n  CrmInjectionToken,\n  CrmDependencies,\n  ActivityTableCustomizationService,\n  ColumnDataInterface,\n  CrmFieldService,\n  StandardIds,\n  SystemFieldIds,\n  TaskCustomColumns,\n  LocationCellComponent,\n  CrmMultilocationInjectionToken,\n  CrmMultiLocationDependencies,\n} from '@galaxy/crm/static';\nimport { TranslateService } from '@ngx-translate/core';\nimport { TaskNameCellComponent } from '../custom-cells/task-name.component';\n\nconst StatusColumnCell = {\n  fieldIds: [StandardIds.ActivityTaskStatus, SystemFieldIds.ActivityID],\n  columnDefinition: {\n    id: StandardIds.ActivityTaskStatus,\n  },\n  customCellComponent: TaskStatusCellComponent,\n};\n\nconst BodyColumnCell = {\n  fieldIds: [StandardIds.ActivityTaskBody],\n  columnDefinition: {\n    id: StandardIds.ActivityTaskBody,\n  },\n  customCellComponent: TaskBodyCellComponent,\n};\n\n@Injectable()\nexport class TaskTableCustomizationService extends ActivityTableCustomizationService implements OnDestroy {\n  ownerFilter$$: ReplaySubject<GalaxyFilterDefinitionInterface> = new ReplaySubject<GalaxyFilterDefinitionInterface>(1);\n  private readonly shouldShowLocationColumn$$ = new BehaviorSubject<boolean>(false);\n  private readonly hasAccessToTaskQueue$ = this.config.hasAccessToFeature$?.('task-queue') ?? of(false);\n  private destroy$ = new Subject<void>();\n  constructor(\n    @Inject(CrmInjectionToken) private readonly config: CrmDependencies,\n    @Inject(CrmMultilocationInjectionToken) private readonly multiLocationConfig: CrmMultiLocationDependencies,\n    protected override readonly crmFieldService: CrmFieldService,\n    private readonly translate: TranslateService,\n  ) {\n    super(crmFieldService);\n    if (this.multiLocationConfig.multiLocationContext$) {\n      this.multiLocationConfig.multiLocationContext$.pipe(takeUntil(this.destroy$)).subscribe((context) => {\n        this.shouldShowLocationColumn$$.next(!!context?.groupId);\n      });\n    }\n  }\n\n  defaultSortingOptions: SortByInterface[] = [\n    {\n      fieldId: this.crmFieldService.getFieldId(StandardIds.ActivityTaskDueDate),\n      sortDirection: SortDirection.SORT_DIRECTION_ASCENDING,\n    },\n  ];\n\n  // eslint-disable-next-line @typescript-eslint/no-unused-vars\n  customizeColumns(columns: GalaxyColumnDef[], isMobile: boolean): GalaxyColumnDef[] {\n    columns = this.excludeNonTaskColumns(columns);\n    const customCells = this.config.task?.tableCustomCells || [];\n    customCells.push(StatusColumnCell, BodyColumnCell);\n    columns = this.addAssociatedCompanyColumn(columns);\n    columns = this.addAssociatedContactColumn(columns);\n    const shouldShowLocation = this.shouldShowLocationColumn$$.getValue();\n    if (shouldShowLocation) {\n      columns = this.addLocationColumn(columns);\n    }\n    columns = this.addCustomColumns(\n      customCells.map((c) => c.columnDefinition),\n      columns,\n    );\n    columns = this.showBaseColumns(columns);\n    columns = this.sortColumns(columns);\n    return [...columns];\n  }\n\n  private addLocationColumn(columns: GalaxyColumnDef[]): GalaxyColumnDef[] {\n    return [\n      {\n        id: TaskCustomColumns.Location,\n        title: 'Location',\n      },\n      ...columns,\n    ];\n  }\n\n  customizeFilters(filters: GalaxyFilterDefinitionInterface[]): Observable<GalaxyFilterDefinitionInterface[]> {\n    filters = this.excludeNonTaskFilters(filters);\n    this.captureInitialFilters(filters);\n    const overrides$ = this.config.task?.filterInputOverrides$ ?? of([]);\n    return overrides$.pipe(map((overrides) => this.overrideCustomFilters(filters, overrides)));\n  }\n\n  private captureInitialFilters(filters: GalaxyFilterDefinitionInterface[]) {\n    const ownerFilterDefinition = filters.find(\n      (f) => f.fieldId === this.crmFieldService.getFieldId(SystemFieldIds.ActivityOwnerID),\n    );\n    if (ownerFilterDefinition) {\n      this.ownerFilter$$.next(ownerFilterDefinition);\n    }\n  }\n\n  async getInitialFilters(): Promise<GalaxyFilterInterface[]> {\n    return firstValueFrom(combineLatest([this.ownerFilter$$, this.config.currentUserId$])).then(\n      ([filterDefinition, userId]) => {\n        return [\n          {\n            fieldId: filterDefinition.fieldId,\n            filterId: 'filterTasksByUser',\n            operator: GalaxyFilterOperator.FILTER_OPERATOR_IS,\n            values: [\n              {\n                string: userId,\n              },\n            ],\n          },\n          {\n            fieldId: this.crmFieldService.getFieldId(StandardIds.ActivityTaskStatus),\n            filterId: 'filterTasksByOpenStatus',\n            operator: GalaxyFilterOperator.FILTER_OPERATOR_IS,\n            values: [\n              {\n                string: ActivityTaskStatus.Open,\n              },\n            ],\n          },\n        ];\n      },\n    );\n  }\n\n  customizeRowData(\n    crmObject: CrmObjectInterface,\n    schemaMap: { [schemaId: string]: FieldSchemaInterface },\n    columnData: ColumnDataInterface,\n  ) {\n    this.customizeDueDateCellData(columnData);\n    this.customizeTaskNameCellData(columnData, crmObject);\n    this.addLocationCustomCell(crmObject, columnData);\n    this.addCustomCells(this.config.task?.tableCustomCells || [], crmObject, columnData);\n    this.addAssociatedCompanyCellData(crmObject, columnData);\n    this.addAssociatedContactCellData(crmObject, columnData);\n  }\n\n  private customizeDueDateCellData(columnData: ColumnDataInterface): void {\n    const cell = columnData[this.crmFieldService.getFieldId(StandardIds.ActivityTaskDueDate)];\n    if (cell) {\n      cell.cellType = 'timestamp';\n    }\n  }\n\n  private addAssociatedCompanyCellData(activity: ActivityInterface, columnData: ColumnDataInterface): void {\n    let companyId = '';\n    if (activity?.associations) {\n      for (const asc of activity.associations) {\n        if (asc.crmObjectType === 'Company' && asc.crmObjectId) {\n          companyId = asc.crmObjectId;\n          break;\n        }\n      }\n    }\n\n    columnData[TaskCustomColumns.AssociatedCompany] = {\n      cellType: 'custom',\n      value: {\n        objectId: companyId,\n        objectType: 'Company',\n        namespace: activity.namespace,\n      },\n      component: AssociatedCrmObjectComponent,\n    } as CustomCell;\n  }\n\n  private addAssociatedCompanyColumn(columns: GalaxyColumnDef[]): GalaxyColumnDef[] {\n    return [\n      {\n        id: TaskCustomColumns.AssociatedCompany,\n        title: this.translate.instant('TASK.LIST_OBJECTS_TABLE.CUSTOM_COLUMNS.ASSOCIATED_COMPANY'),\n      },\n      ...columns,\n    ];\n  }\n\n  private addAssociatedContactCellData(activity: ActivityInterface, columnData: ColumnDataInterface): void {\n    let contactId = '';\n    if (activity?.associations) {\n      for (const asc of activity.associations) {\n        if (asc.crmObjectType === 'Contact' && asc.crmObjectId) {\n          contactId = asc.crmObjectId;\n          break;\n        }\n      }\n    }\n\n    columnData[TaskCustomColumns.AssociatedContact] = {\n      cellType: 'custom',\n      value: {\n        objectId: contactId,\n        objectType: 'Contact',\n        namespace: activity.namespace,\n      },\n      component: AssociatedCrmObjectComponent,\n    } as CustomCell;\n  }\n\n  private addAssociatedContactColumn(columns: GalaxyColumnDef[]): GalaxyColumnDef[] {\n    return [\n      {\n        id: TaskCustomColumns.AssociatedContact,\n        title: this.translate.instant('TASK.LIST_OBJECTS_TABLE.CUSTOM_COLUMNS.ASSOCIATED_CONTACT'),\n      },\n      ...columns,\n    ];\n  }\n\n  private customizeTaskNameCellData(columnData: ColumnDataInterface, crmObject?: CrmObjectInterface): void {\n    columnData[this.crmFieldService.getFieldId(StandardIds.ActivityName)] = {\n      cellType: 'custom',\n      value: {\n        name: columnData[this.crmFieldService.getFieldId(StandardIds.ActivityName)]?.value,\n        id: columnData[this.crmFieldService.getFieldId(SystemFieldIds.ActivityID)]?.value,\n        namespace: crmObject?.namespace,\n      },\n      component: TaskNameCellComponent,\n    } as CustomCell;\n  }\n\n  private addLocationCustomCell(crmObject: ActivityInterface, columnData: ColumnDataInterface): void {\n    columnData[TaskCustomColumns.Location] = {\n      cellType: 'custom',\n      value: {\n        objectId: crmObject.crmObjectId,\n        objectType: 'Task',\n        namespace: crmObject.namespace,\n      },\n      component: LocationCellComponent,\n    } as CustomCell;\n  }\n\n  private excludeNonTaskColumns(columns: GalaxyColumnDef[]) {\n    return columns.filter((c) => this.getTaskFieldIds().includes(c.id));\n  }\n\n  private excludeNonTaskFilters(filters: GalaxyFilterDefinitionInterface[]) {\n    return filters.filter((f) => f.fieldId && this.getTaskFieldIds().includes(f.fieldId));\n  }\n\n  private getTaskFieldIds(): string[] {\n    const fieldIds = [\n      this.crmFieldService.getFieldId(SystemFieldIds.ActivityOwnerID),\n      this.crmFieldService.getFieldId(SystemFieldIds.ActivityID),\n      this.crmFieldService.getFieldId(StandardIds.ActivityName),\n      this.crmFieldService.getFieldId(StandardIds.ActivityTaskDueDate),\n      this.crmFieldService.getFieldId(StandardIds.ActivityTaskPriority),\n      this.crmFieldService.getFieldId(StandardIds.ActivityTaskStatus),\n      this.crmFieldService.getFieldId(StandardIds.ActivityTaskType),\n      this.crmFieldService.getFieldId(StandardIds.ActivityTaskBody),\n      this.crmFieldService.getFieldId(SystemFieldIds.ActivityCreated),\n      this.crmFieldService.getFieldId(SystemFieldIds.ActivityUpdated),\n    ];\n    const shouldShowLocation = this.shouldShowLocationColumn$$.getValue();\n    if (shouldShowLocation) {\n      fieldIds.push(TaskCustomColumns.Location);\n    }\n    return fieldIds;\n  }\n\n  private showBaseColumns(columns: GalaxyColumnDef[]): GalaxyColumnDef[] {\n    const columnsToHide = [\n      SystemFieldIds.ActivityID,\n      SystemFieldIds.ActivityOwnerID,\n      SystemFieldIds.ActivityCreated,\n      SystemFieldIds.ActivityUpdated,\n      StandardIds.ActivityTaskPriority,\n    ];\n\n    const columnsToUnHide = [TaskCustomColumns.AssignedTo];\n\n    for (const column of columns) {\n      if (columnsToHide.includes(column.id)) {\n        column.hidden = true;\n      } else if (columnsToUnHide.includes(column.id)) {\n        column.hidden = false;\n      }\n    }\n\n    return columns;\n  }\n\n  private sortColumns(columns: GalaxyColumnDef[]): GalaxyColumnDef[] {\n    const columnOrder = [\n      StandardIds.ActivityTaskStatus,\n      StandardIds.ActivityName,\n      StandardIds.ActivityTaskBody,\n      StandardIds.ActivityTaskType,\n      StandardIds.ActivityTaskDueDate,\n      TaskCustomColumns.AssignedTo,\n    ];\n\n    return columns.sort((a, b) => {\n      const order = columnOrder;\n      const aIndex = order.indexOf(a.id);\n      const bIndex = order.indexOf(b.id);\n      return (aIndex === -1 ? Infinity : aIndex) - (bIndex === -1 ? Infinity : bIndex);\n    });\n  }\n\n  ngOnDestroy(): void {\n    this.destroy$.next();\n    this.destroy$.complete();\n  }\n}\n", "import { CacheConfig } from './interfaces';\n\ninterface CacheValue {\n  value: unknown;\n  expiresAt: number;\n}\n\nexport class CacheStorage<T> {\n  private readonly cache = new Map<string, CacheValue>();\n  private readonly autoCleanup: boolean;\n  readonly maxAge: number;\n\n  constructor(config: CacheConfig<T>) {\n    this.maxAge = config.strategy?.maxAge || 60000;\n    this.autoCleanup = config.strategy?.autoCleanup || false;\n  }\n\n  has(key: string): boolean {\n    if (this.cache.has(key)) {\n      const cacheValue = this.cache.get(key);\n      if (cacheValue !== undefined && cacheValue.expiresAt > Date.now()) {\n        return true;\n      }\n      this.cache.delete(key);\n    }\n    return false;\n  }\n\n  get(key: string, allowExpired?: boolean): unknown | undefined {\n    if (this.cache.has(key)) {\n      const cacheValue = this.cache.get(key);\n      if (cacheValue !== undefined && (allowExpired || cacheValue.expiresAt > Date.now())) {\n        return cacheValue.value;\n      }\n      this.cache.delete(key);\n    }\n    return undefined;\n  }\n\n  set(key: string, value: unknown): void {\n    const expiresAt = Date.now() + this.maxAge;\n    const cacheValue = { value, expiresAt };\n    this.cache.set(key, cacheValue);\n\n    if (this.autoCleanup) {\n      setTimeout(() => this.delete(key), this.maxAge);\n    }\n  }\n\n  delete(key: string): void {\n    this.cache.delete(key);\n  }\n\n  toObject(): { [k: string]: unknown } {\n    return Object.fromEntries(this.cache);\n  }\n}\n", "/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { CacheBasicConfig, CacheConfigMultiKey, CacheMultiKeyConfig, types } from './interfaces';\n\ntype ObjectMap = Map<string, unknown>;\n\nexport class CacheUtils {\n  static isFunction(attr: unknown): attr is types.Func {\n    return typeof attr === 'function';\n  }\n\n  static isString(attr: unknown): attr is string {\n    return typeof attr === 'string';\n  }\n\n  static isCacheMultiKeyConfig<T>(config: unknown): config is CacheMultiKeyConfig<T> {\n    return (config as CacheMultiKeyConfig).multiKey !== undefined;\n  }\n\n  static isCacheBasicConfig<T>(config: unknown): config is CacheBasicConfig<T> {\n    return !CacheUtils.isCacheMultiKeyConfig(config);\n  }\n\n  static defaultParamKeyMapper(value: unknown): string {\n    if (value === null || value === undefined) {\n      return '';\n    }\n    if (typeof value === 'object') {\n      return JSON.stringify(value);\n    }\n    return String(value);\n  }\n\n  static generateObjectMap(args: any[], keys?: string[]): ObjectMap {\n    const k = new Map<string, unknown>();\n    const lookupKeys = keys?.length ? keys : args.map((_, index) => `$${index}`);\n    lookupKeys.forEach((key: string) => {\n      let v: unknown = null;\n      const indexMatch = key.match(/^\\$(\\d+)$/);\n      if (indexMatch) {\n        // by param index\n        const index = parseInt(indexMatch[1]);\n        v = args[index];\n      } else {\n        // by property name\n        args.find((arg) => {\n          if (arg === null || arg === undefined) {\n            return false;\n          }\n          if (arg instanceof Object && Object.hasOwn(arg, key)) {\n            v = arg[key];\n            return true;\n          }\n          return false;\n        });\n      }\n      if (v === null || v === undefined || CacheUtils.isFunction(v)) {\n        v = null;\n      }\n      k.set(key, v);\n    });\n    return k;\n  }\n\n  static generateSimpleKey(args: any[], keys?: string[]): string {\n    const map = CacheUtils.generateObjectMap(args, keys);\n    const k = Object.fromEntries(map);\n    const result = JSON.stringify(k);\n    return result;\n  }\n\n  static generateMultiKeys(args: any[], cfg: CacheConfigMultiKey): unknown[] {\n    const value = CacheUtils.isString(cfg.paramProperty)\n      ? args[cfg.paramIndex][cfg.paramProperty]\n      : args[cfg.paramIndex];\n    if (value === null || value === undefined || !Array.isArray(value)) {\n      throw new Error(`Invalid cache key mapping. Expected an array, got ${typeof value}`);\n    }\n    return value;\n  }\n\n  static replaceMultiKeys(args: any[], cfg: CacheConfigMultiKey, newKeys: any): any[] {\n    const value = [...args];\n    if (CacheUtils.isString(cfg.paramProperty)) {\n      value[cfg.paramIndex][cfg.paramProperty] = newKeys;\n    } else {\n      value[cfg.paramIndex] = newKeys;\n    }\n    return value;\n  }\n}\n", "/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { combineLatest, firstValueFrom, map, Observable, ReplaySubject, shareReplay } from 'rxjs';\nimport { CacheBasicConfig, CacheConfig, CacheMultiKeyConfig, types } from './interfaces';\nimport { CacheStorage } from './cache.storage';\nimport { CacheUtils } from './cache.utils';\n\n/**\n * CacheService stores the results of method calls and returns the cached value when the same method is called with the same arguments.\n * The configuration dictates how the cache is managed for each method.\n * @note this is a short lived cache, it does not persist between page reloads.\n */\nexport class CacheService<T> {\n  applyConfig(instance: T, config: CacheConfig<any>[]): void {\n    config.forEach((c) => this.setupMethod(instance, c));\n  }\n\n  private newStorage(config: CacheConfig<T>): CacheStorage<T> {\n    return new CacheStorage(config);\n  }\n\n  private setupMethod(instance: T, config: CacheConfig<T>): void {\n    const sourceFn = (instance as any)[config.method];\n    if (CacheUtils.isFunction(sourceFn)) {\n      const cache = this.newStorage(config);\n\n      const wrapperFn = (...args: any[]): unknown => {\n        if (CacheUtils.isCacheBasicConfig(config)) {\n          return this.setupMethodForSimpleConfig(cache, instance, sourceFn, config, args);\n        }\n        if (CacheUtils.isCacheMultiKeyConfig(config)) {\n          return this.setupMethodForMultiKeyConfig(cache, instance, sourceFn, config, args);\n        }\n        return sourceFn.bind(instance)(...args);\n      };\n      (instance as any)[config.method] = wrapperFn;\n    } else {\n      throw new Error(`Method ${String(config.method)} not found in the provided instance`);\n    }\n  }\n\n  private setupMethodForSimpleConfig(\n    cache: CacheStorage<T>,\n    instance: T,\n    sourceFn: types.Func,\n    config: CacheBasicConfig<T>,\n    args: any[],\n  ) {\n    const key = CacheUtils.generateSimpleKey(args, config.keys);\n    // find existing cache record\n    const cacheValue = cache.get(key);\n    if (cacheValue !== undefined) {\n      return cacheValue;\n    }\n    // call the source function and store the result in the cache\n    let result = sourceFn.bind(instance)(...args);\n    if (result instanceof Observable) {\n      result = this.applyObservableStrategy(cache, result, config);\n    }\n    cache.set(key, result);\n    return result;\n  }\n\n  private setupMethodForMultiKeyConfig(\n    cache: CacheStorage<T>,\n    instance: T,\n    sourceFn: types.Func,\n    config: CacheMultiKeyConfig<T>,\n    args: any[],\n  ) {\n    const paramKeys = CacheUtils.generateMultiKeys(args, config.multiKey);\n    const missingParamKeys: unknown[] = [];\n    const keyMapperFn = config.multiKey.paramKeyMapper ?? CacheUtils.defaultParamKeyMapper;\n    // add the missing keys and init them with a ReplaySubject\n    paramKeys.forEach((param) => {\n      const key = keyMapperFn(param);\n      if (!cache.has(key)) {\n        missingParamKeys.push(param);\n        const value = new ReplaySubject<any>(1);\n        cache.set(key, value);\n      }\n    });\n    // call the sourceFn for the missing keys and update the ReplaySubject value\n    if (missingParamKeys.length > 0) {\n      const newArgs = CacheUtils.replaceMultiKeys(args, config.multiKey, missingParamKeys);\n      const result = sourceFn.bind(instance)(...newArgs);\n      if (result instanceof Observable) {\n        // subscribe to the result and update the ReplaySubject values\n        firstValueFrom(result).then((v) => {\n          const property = config.multiKey.resultProperty ? v[config.multiKey.resultProperty] : v;\n          if (Array.isArray(property) && property.length === missingParamKeys.length) {\n            property.forEach((value, index) => {\n              const key = keyMapperFn(missingParamKeys[index]);\n              const cacheValue = cache.get(key, true) as ReplaySubject<any>;\n              cacheValue.next(value);\n            });\n          } else {\n            throw new Error(`${String(config.method)} response size don't match with requested keys`);\n          }\n        });\n      } else {\n        // TODO: check if we need to handle non-observable results\n        throw new Error('Multi-key configuration only available to Observable results');\n      }\n    }\n\n    // get all values from the cache in the same order as the requested keys and return the results array\n    const observableList = paramKeys\n      .map((k) => keyMapperFn(k))\n      .map((k) => (cache.get(k, true) as ReplaySubject<unknown>).asObservable());\n    const cacheObservables = combineLatest(observableList).pipe(\n      map((cacheValues) => {\n        if (config.multiKey.resultProperty) {\n          const result = { [config.multiKey.resultProperty]: cacheValues };\n          return result;\n        }\n        return cacheValues;\n      }),\n    );\n    return cacheObservables;\n  }\n\n  private applyObservableStrategy(\n    cache: CacheStorage<T>,\n    value: Observable<any>,\n    config: CacheBasicConfig<T>,\n  ): Observable<any> {\n    if (config.strategy?.observable?.share) {\n      value = value.pipe(shareReplay(1, cache.maxAge));\n    }\n    return value;\n  }\n}\n", "/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Injector, Type, inject } from '@angular/core';\nimport { CacheInjectionOptions, CacheOptions } from './interfaces';\nimport { CacheService } from './cache.service';\n\nexport class CacheFactory {\n  /**\n   * Inject a service from Angular DI and apply cache configuration.\n   * @param service Service class to inject\n   * @param opt cache configuration\n   * @returns Instance of the Service class, using the cache configuration\n   *\n   * @example ```ts\n   * const service = inject(MyService); // no cache\n   * const cachedService = CacheFactory.inject(MyService, cacheConfig); // with cache\n   * ```\n   */\n  static inject<T>(service: Type<T>, opt: CacheInjectionOptions<T>): T {\n    const cache = new CacheService<T>();\n    const serviceInstance = CacheFactory.createInstance(service, opt.injector);\n    cache.applyConfig(serviceInstance, opt.methods);\n    return serviceInstance;\n  }\n\n  /**\n   * Provide a class reference to the Angular DI.\n   * The provided class will be a subclass of the original class with the cache configuration applied.\n   * @param classRef Class reference to provide\n   * @param opt cache configuration\n   * @returns Class reference with cache configuration applied\n   *\n   * @example ```ts\n   * providers: [\n   *   { provide: MyService, useClass: CacheFactory.provide(MyService, cacheConfig) },\n   * ],\n   * ```\n   */\n  static provide<T extends Type<object>>(classRef: T, opt: CacheOptions<InstanceType<T>>): T {\n    class CacheClass extends classRef {}\n    // look for Angular provider metadata\n    const key = 'ɵprov';\n    const provRef = Object.getOwnPropertyDescriptor(classRef, key);\n    if (provRef) {\n      // copy original class' metadata\n      const prov = { ...provRef };\n      if (prov.value?.factory) {\n        // replace the provider factory adding the cache\n        const currentFactoryFn = prov.value?.factory;\n        const cacheFactoryFn = (...args: any[]) => {\n          const instance = new CacheService<T>();\n          const serviceInstance = currentFactoryFn(...args);\n          instance.applyConfig(serviceInstance, opt.methods);\n          return serviceInstance;\n        };\n        prov.value.factory = cacheFactoryFn;\n      }\n      Object.defineProperty(CacheClass, key, prov);\n    }\n    return CacheClass;\n  }\n\n  protected static createInstance<T>(service: Type<T>, injector?: Injector): T {\n    return injector ? injector.get(service) : inject(service);\n  }\n}\n", "export { CacheService } from './src/cache.service';\nexport { CacheFactory } from './src/cache.factory';\nexport { CacheStrategy, CacheInjectionOptions } from './src/interfaces';\n", "export * from './public_api';\n", "import { inject, Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, Router, UrlTree } from '@angular/router';\nimport { IAMService, UserIdentifier } from '@vendasta/iamv2';\nimport { PermissionsApiService } from '@vendasta/platform-users';\nimport { Observable, combineLatest, map, of, switchMap } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport {\n  CrmInjectionToken,\n  CrmMultilocationInjectionToken,\n  CrmMultiLocationDependencies,\n  MultiLocationContext,\n  PAGE_ROUTES,\n} from '@galaxy/crm/static';\n\n@Injectable()\nexport class PermissionsGuard {\n  private readonly config = inject(CrmInjectionToken);\n  private readonly multiLocationConfig: CrmMultiLocationDependencies = inject(CrmMultilocationInjectionToken);\n  private readonly iamService = inject(IAMService);\n  private readonly permissionsApiService = inject(PermissionsApiService);\n  private readonly router = inject(Router);\n\n  private checkPermissions(\n    objectType: string,\n    partnerId: string,\n    userId: string,\n    accountGroupId: string,\n    routePrefix: string,\n  ): Observable<boolean | UrlTree> {\n    return this.permissionsApiService.getPermissions({ partnerId, userId }).pipe(\n      map((resp) => {\n        let hasAccess = false;\n        const accountGroupDefined = accountGroupId != undefined && accountGroupId !== '';\n        const accountGroupPermission = resp.permissions?.namespace?.some((item) => item.namespaceId === accountGroupId);\n        const partnerPermission = resp.permissions?.namespace?.some((item) => item.namespaceId === partnerId);\n        if (partnerPermission || (accountGroupDefined && accountGroupPermission)) {\n          hasAccess = objectType in resp.permissions;\n        }\n        return hasAccess ? true : this.router.createUrlTree([`${routePrefix}/${PAGE_ROUTES.PERMISSION_REQUIRED}`]);\n      }),\n      catchError(() => {\n        return of(this.router.createUrlTree([`${routePrefix}/${PAGE_ROUTES.PERMISSION_REQUIRED}`]));\n      }),\n    );\n  }\n\n  canActivate(route: ActivatedRouteSnapshot): Observable<boolean | UrlTree> {\n    const objectType = route.data['objectType'];\n    const currentUser$ = this.config.currentUserId$.pipe(\n      switchMap((userId) => {\n        const uniqueUserIdentifiers = [new UserIdentifier({ userId: userId })];\n        return this.iamService.getMultiUsers(uniqueUserIdentifiers);\n      }),\n      map((response) => response && response[0]),\n      catchError(() => {\n        return of(null);\n      }),\n    );\n\n    const multiLocationContext$ = this.multiLocationConfig.multiLocationContext$ ?? of({} as MultiLocationContext);\n\n    return combineLatest([\n      currentUser$,\n      this.config.currentUserId$,\n      this.config.namespace$,\n      this.config.parentNamespace$,\n      multiLocationContext$,\n    ]).pipe(\n      switchMap(([user, userId, namespace, parentNamespace, context]) => {\n        const roles = user?.roles || [];\n        const hasDeveloperRole = 'developer' in roles;\n        const isSuperAdmin = roles['partner']?.attributes?.attributes['is_super_admin']?.boolAttribute === true;\n\n        if (hasDeveloperRole || isSuperAdmin) {\n          return of(true);\n        }\n\n        if (context.groupId && context.accountGroupsIds && context.accountGroupsIds.length > 0) {\n          return this.multiLocationConfig.routePrefix$.pipe(\n            switchMap((routePrefix) => {\n              const routeWithObject = routePrefix + '/' + objectType;\n              return this.checkPermissions(\n                objectType,\n                parentNamespace as string,\n                userId as string,\n                namespace as string,\n                routeWithObject as string,\n              );\n            }),\n          );\n        }\n\n        return this.config.routePrefix$.pipe(\n          switchMap((routePrefix) => {\n            const targetNamespace = parentNamespace || namespace;\n            return this.checkPermissions(\n              objectType,\n              targetNamespace as string,\n              userId as string,\n              namespace as string,\n              routePrefix as string,\n            );\n          }),\n        );\n      }),\n    );\n  }\n}\n", "import { inject, ModuleWithProviders, NgModule, Provider } from '@angular/core';\nimport {\n  ActivityAssigneeService,\n  ActivityObjectService,\n  ActivityService,\n  AutocompleteService,\n  CompanyBatchGetterService,\n  CompanyFiltersService,\n  CompanyProfileCardsPanelService,\n  CompanyService,\n  CompanyTableCustomizationService,\n  ContactService,\n  ContactTableCustomizationService,\n  CrmAssociationService,\n  CrmFieldOptionsService,\n  CrmFieldService,\n  CrmFiltersService,\n  CrmFormService,\n  CrmInjectionToken,\n  CrmMultilocationInjectionToken,\n  CrmObjectService,\n  CrmTableStateService,\n  CRMTrackingService,\n  DefaultAssociationActionsService,\n  ListObjectsTableService,\n  OpportunityTableCustomizationService,\n  PAGE_ROUTES,\n  RendererSelectorService,\n  RestrictedGroupService,\n  TaskTableCustomizationServiceToken,\n  TranslateByObjectTypeService,\n  TranslateForCrmObjectService,\n  TranslationModule,\n  UpdaterService,\n  ValidatorFactoryService,\n  ValueSummaryService,\n} from '@galaxy/crm/static';\nimport { BulkImportStepperService } from './multi-object-bulk-import/bulk-import-stepper.service';\nimport { FieldMappingService } from './multi-object-bulk-import/field-mapping-step/field-mapping.service';\nimport { CsvParserService } from './multi-object-bulk-import/file-upload-step/csv-parser.service';\nimport { GoogleMapsModule } from '@angular/google-maps';\n\nimport { CompanyAdminNotesCardComponent } from './crm-components/profile/profile-cards-panel/company-to-contact-associations/company-admin-notes-associations-card/company-admin-notes-card.component';\nimport { CompanyUtmAttributesCardComponent } from './crm-components/profile/profile-cards-panel/company-to-contact-associations/company-UTM-attributes-associations-card/company-utm-attributes-card.component';\nimport { CampaignI18nModule as CampaignTranslationModule } from '@galaxy/campaign';\nimport { TaskTableCustomizationService } from './activity/task/services/task-table-customization.service';\nimport { TaskQueueService } from './crm-components/task-queue/task-queue.service';\nimport { FeatureFlagGuard } from './feature-flag-guard.service';\nimport { Routes } from '@angular/router';\nimport { CRMExportService, CRMOpportunityApiService } from '@vendasta/crm';\nimport { CacheFactory, CacheStrategy } from '@galaxy/crm/components/cache';\nimport { MEETING_ANALYSIS_NAMESPACE_INJECTION_TOKEN$ } from '@galaxy/meeting-analysis/static';\nimport { PermissionsGuard } from './permissions-guard.service';\n\nexport { CompanyAdminNotesCardComponent };\n\nexport { CompanyUtmAttributesCardComponent };\n\nexport const CRM_ROUTES: Routes = [\n  {\n    path: '',\n    redirectTo: `${PAGE_ROUTES.CONTACT.ROOT}/${PAGE_ROUTES.CONTACT.SUBROUTES.LIST}`,\n    pathMatch: 'full',\n  },\n  {\n    path: PAGE_ROUTES.CONTACT.ROOT,\n    loadChildren: () => import('./contact/contact.module').then((m) => m.CrmContactModule),\n    canActivate: [PermissionsGuard],\n    data: { objectType: 'contacts', pageId: 'crm' }, // pageId is the Atlas sidebar navigation link ID used in the business app\n  },\n  {\n    path: PAGE_ROUTES.COMPANY.ROOT,\n    loadChildren: () => import('./company/company.module').then((m) => m.CrmCompanyModule),\n    canActivate: [PermissionsGuard],\n    data: { objectType: 'companies', pageId: 'nav-crm-companies' }, // pageId is the Atlas sidebar navigation link ID used in the business app\n  },\n  {\n    path: PAGE_ROUTES.OPPORTUNITY.ROOT,\n    loadChildren: () => import('./opportunity/opportunity.module').then((m) => m.CrmOpportunityModule),\n    canActivate: [PermissionsGuard],\n    data: { objectType: 'opportunities', pageId: 'nav-crm-opportunities' }, // pageId is the Atlas sidebar navigation link ID used in the business app\n  },\n  {\n    path: PAGE_ROUTES.TASK.ROOT,\n    loadChildren: () => import('./activity/task/task.module').then((m) => m.CrmTaskModule),\n    canActivate: [PermissionsGuard],\n    data: { objectType: 'activities' },\n  },\n  {\n    path: PAGE_ROUTES.ACTIVITIES.ROOT,\n    loadChildren: () => import('./activity/feed/activities.module').then((m) => m.CrmActivityFeedModule),\n    canActivate: [PermissionsGuard],\n    data: { objectType: 'activities' },\n  },\n  {\n    path: PAGE_ROUTES.PIPELINE_SETTINGS.ROOT,\n    loadChildren: () => import('./pipeline-settings/pipeline-settings.module').then((m) => m.PipelineSettingsModule),\n    canActivate: [PermissionsGuard],\n    data: { objectType: 'opportunities' },\n  },\n  {\n    path: PAGE_ROUTES.CUSTOM_OBJECT.ROOT,\n    loadChildren: () => import('./custom-object/custom-object.module').then((m) => m.CrmCustomObjectModule),\n    canActivate: [FeatureFlagGuard],\n    data: { featureFlag: 'crm_custom_objects' },\n  },\n  {\n    path: PAGE_ROUTES.PERMISSION_REQUIRED,\n    loadComponent: () =>\n      import('./crm-components/permission-required/permission-required.component').then(\n        (m) => m.PermissionRequiredComponent,\n      ),\n  },\n  {\n    path: PAGE_ROUTES.BULK_IMPORT.ROOT,\n    loadComponent: () => import('./bulk-import-page.component').then((m) => m.CrmBulkImportComponent),\n  },\n  {\n    path: PAGE_ROUTES.CALLS.ROOT,\n    loadChildren: () => import('@galaxy/meeting-analysis').then((m) => m.MeetingAnalysisModule),\n  },\n  {\n    path: '**',\n    loadComponent: () => import('./page-not-found.component').then((m) => m.CrmPageNotFoundComponent),\n  },\n];\n\nexport interface CrmModuleOptions {\n  cache?: boolean;\n}\n\n@NgModule({\n  imports: [TranslationModule, GoogleMapsModule, CampaignTranslationModule],\n  providers: [\n    BulkImportStepperService,\n    FieldMappingService,\n    CsvParserService,\n    CrmFieldOptionsService,\n    CrmFiltersService,\n    CrmFormService,\n    ListObjectsTableService,\n    ValueSummaryService,\n    ActivityObjectService,\n    ContactService,\n    CompanyService,\n    CrmObjectService,\n    CompanyBatchGetterService,\n    CrmAssociationService,\n    CRMTrackingService,\n    CrmFieldService,\n    ActivityService,\n    CompanyProfileCardsPanelService,\n    TranslateByObjectTypeService,\n    TranslateForCrmObjectService,\n    RendererSelectorService,\n    AutocompleteService,\n    UpdaterService,\n    ValidatorFactoryService,\n    RestrictedGroupService,\n    ContactTableCustomizationService,\n    CompanyTableCustomizationService,\n    OpportunityTableCustomizationService,\n    CrmTableStateService,\n    DefaultAssociationActionsService,\n    CompanyFiltersService,\n    ActivityAssigneeService,\n    PermissionsGuard,\n    FeatureFlagGuard,\n    {\n      provide: TaskTableCustomizationServiceToken,\n      useClass: TaskTableCustomizationService,\n    },\n    {\n      provide: MEETING_ANALYSIS_NAMESPACE_INJECTION_TOKEN$,\n      useFactory: () => inject(CrmInjectionToken).namespace$,\n      deps: [CrmInjectionToken],\n    },\n    {\n      provide: CrmMultilocationInjectionToken,\n      useFactory: () => inject(CrmMultilocationInjectionToken),\n      deps: [CrmInjectionToken],\n    },\n    TaskQueueService,\n    CRMExportService,\n  ],\n})\nexport class CrmModule {\n  static withOptions(options: CrmModuleOptions): ModuleWithProviders<CrmModule> {\n    const providers: Provider[] = [];\n    if (options.cache) {\n      providers.push(...cacheProviders());\n    }\n    return { ngModule: CrmModule, providers };\n  }\n}\n\nfunction cacheProviders(): Provider[] {\n  const cacheStrategy: CacheStrategy = { maxAge: 60000, observable: { share: true }, autoCleanup: true };\n  return [\n    {\n      provide: CRMOpportunityApiService,\n      useClass: CacheFactory.provide(CRMOpportunityApiService, {\n        methods: [{ method: 'listOpportunitiesFilters', strategy: cacheStrategy }],\n      }),\n    },\n  ];\n}\n", "import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { GalaxyPageModule } from '@vendasta/galaxy/page';\nimport { MatIconModule } from '@angular/material/icon';\nimport {\n  CompanyTableCustomizationService,\n  ContactTableCustomizationService,\n  CrmFieldOptionsService,\n  CrmFiltersService,\n  CrmObjectService,\n  DropdownComponent,\n  DropdownContentDirective,\n  DropdownHeaderDirective,\n  RestrictedGroupService,\n  TranslateByObjectTypePipe,\n  TranslationModule,\n} from '@galaxy/crm/static';\nimport { GalaxyFormFieldModule } from '@vendasta/galaxy/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatButtonModule } from '@angular/material/button';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FIELD_ID_URL_PARAM, OBJECT_TYPE_URL_PARAM } from './constants';\nimport { MatSelectModule } from '@angular/material/select';\nimport {\n  FieldNamePipe,\n  FieldValuePipe,\n  FilterInputTypePipe,\n  FilterOverridePipe,\n  FirstRuleFilterPipe,\n  OperatorNamePipe,\n  OperatorValueIsRequiredPipe,\n  ScoringDefinitionCardComponent,\n  ScoringDefinitionCustomFilterOutputComponent,\n  ScoringDefinitionFieldIdComponent,\n  ScoringDefinitionFieldOperatorComponent,\n  ScoringDefinitionFieldValueComponent,\n  ScoringDefinitionPageComponent,\n  ScoringDefinitionSectionComponent,\n  ScoringDefinitionService,\n  SupportedOperatorsPipe,\n  PointsPipe,\n  SignPipe,\n} from './scoring-definition';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { GalaxyEmptyStateModule } from '@vendasta/galaxy/empty-state';\n\nconst OBJECT_ROUTES: Routes = [\n  {\n    path: `:${OBJECT_TYPE_URL_PARAM}/:${FIELD_ID_URL_PARAM}`,\n    loadComponent: () => import('./scoring-definition').then((m) => m.ScoringDefinitionPageComponent),\n  },\n];\n\n@NgModule({\n  imports: [\n    CommonModule,\n    RouterModule.forChild(OBJECT_ROUTES),\n    GalaxyPageModule,\n    MatIconModule,\n    DropdownComponent,\n    DropdownContentDirective,\n    DropdownHeaderDirective,\n    GalaxyFormFieldModule,\n    MatInputModule,\n    MatButtonModule,\n    MatSelectModule,\n    ReactiveFormsModule,\n    TranslationModule,\n    MatTabsModule,\n    MatAutocompleteModule,\n    GalaxyEmptyStateModule,\n    ScoringDefinitionFieldValueComponent,\n    FilterOverridePipe,\n    FilterInputTypePipe,\n    TranslateByObjectTypePipe,\n    ScoringDefinitionPageComponent,\n    ScoringDefinitionSectionComponent,\n    ScoringDefinitionCardComponent,\n    FieldNamePipe,\n    SupportedOperatorsPipe,\n    OperatorNamePipe,\n    FieldValuePipe,\n    OperatorValueIsRequiredPipe,\n    ScoringDefinitionFieldIdComponent,\n    ScoringDefinitionFieldOperatorComponent,\n    ScoringDefinitionCustomFilterOutputComponent,\n    FirstRuleFilterPipe,\n    PointsPipe,\n    SignPipe,\n  ],\n  exports: [RouterModule],\n  providers: [\n    ScoringDefinitionService,\n    CrmFiltersService,\n    CrmObjectService,\n    CrmFieldOptionsService,\n    RestrictedGroupService,\n    ContactTableCustomizationService,\n    CompanyTableCustomizationService,\n  ],\n})\nexport class CrmScoringDefinitionModule {}\n", "export { CrmScoringDefinitionModule } from './scoring-definition.module';\n", "import { Inject, Injectable, signal } from '@angular/core';\nimport { CrmDependencies, CrmInjectionToken, ObjectType } from '@galaxy/crm/static';\nimport { of, switchMap, tap, catchError, Observable, map, take, combineLatest, withLatestFrom } from 'rxjs';\nimport { ArchiveFieldSchemaRequestInterface, CRMFieldSchemaApiService, FieldSchemaInterface } from '@vendasta/crm';\nimport { toObservable } from '@angular/core/rxjs-interop';\n\n@Injectable()\nexport class CustomFieldsManagementTableChangesService {\n  private readonly deletedFieldIds = signal<Map<ObjectType, string[]>>(\n    new Map([\n      ['Contact', []],\n      ['Company', []],\n    ]),\n  );\n  private readonly createdFields = signal<Map<ObjectType, FieldSchemaInterface[]>>(\n    new Map([\n      ['Contact', []],\n      ['Company', []],\n    ]),\n  );\n  private readonly updatedFields = signal<Map<ObjectType, FieldSchemaInterface[]>>(\n    new Map([\n      ['Contact', []],\n      ['Company', []],\n    ]),\n  );\n  private deletedFieldIds$ = toObservable(this.deletedFieldIds);\n  private createdFields$ = toObservable(this.createdFields);\n  private updatedFields$ = toObservable(this.updatedFields);\n  changes$ = combineLatest([this.deletedFieldIds$, this.createdFields$, this.updatedFields$]).pipe(\n    map(([deletedFieldIds, createdFields, updatedFields]) => ({\n      deletedFieldIds,\n      createdFields,\n      updatedFields,\n    })),\n  );\n\n  constructor(\n    @Inject(CrmInjectionToken) private readonly config: CrmDependencies,\n    private readonly crmFieldSchemaApiService: CRMFieldSchemaApiService,\n  ) {}\n\n  public createField(objectType: ObjectType, field: FieldSchemaInterface): Observable<boolean> {\n    return this.config.namespace$.pipe(\n      switchMap((namespace) => {\n        return this.crmFieldSchemaApiService.createFieldSchema({\n          namespace: namespace,\n          crmObjectType: objectType,\n          fieldSchema: {\n            ...field,\n            namespace,\n          },\n        });\n      }),\n      withLatestFrom(this.config.namespace$),\n      switchMap(([resp, namespace]) =>\n        this.crmFieldSchemaApiService.getMultiFieldSchema({\n          namespace: namespace,\n          crmObjectType: objectType,\n          fieldId: [resp.fieldId],\n        }),\n      ),\n      catchError(() => {\n        return of(null);\n      }),\n      take(1),\n      tap((getResponse) =>\n        this.createdFields.update((fieldMap) => {\n          const fieldsPerObjectType = fieldMap.get(objectType);\n          if (getResponse?.fieldSchemas[0]) {\n            fieldMap.set(objectType, [...fieldsPerObjectType, getResponse.fieldSchemas[0]]);\n          }\n          return new Map(fieldMap);\n        }),\n      ),\n      map((response) => response != null),\n    );\n  }\n\n  public updateField(objectType: ObjectType, field: FieldSchemaInterface): Observable<boolean> {\n    return this.config.namespace$.pipe(\n      switchMap((namespace) => {\n        return this.crmFieldSchemaApiService.updateFieldSchema({\n          namespace: namespace,\n          crmObjectType: objectType,\n          fieldSchema: {\n            ...field,\n            namespace,\n          },\n          fieldMask: {\n            paths: ['fieldName', 'fieldDescription', 'externalId'],\n          },\n        });\n      }),\n      catchError(() => {\n        return of(null);\n      }),\n      take(1),\n      map((response) => response != null),\n      tap(() =>\n        this.updatedFields.update((fieldMap) => {\n          const fieldsPerObjectType = fieldMap.get(objectType);\n          const index = fieldsPerObjectType.findIndex((f) => f.fieldId === field.fieldId);\n          if (index !== -1) {\n            fieldsPerObjectType[index] = field;\n            fieldMap.set(objectType, fieldsPerObjectType);\n          } else {\n            fieldMap.set(objectType, [...fieldsPerObjectType, field]);\n          }\n          return new Map(fieldMap);\n        }),\n      ),\n    );\n  }\n\n  public deleteField(request: ArchiveFieldSchemaRequestInterface): Observable<boolean> {\n    return this.crmFieldSchemaApiService.archiveFieldSchema(request).pipe(\n      catchError(() => of(null)),\n      map((response) => {\n        return response != null;\n      }),\n      take(1),\n      tap(() =>\n        this.deletedFieldIds.update((fieldMap) => {\n          const fieldsPerObjectType = fieldMap.get(request?.crmObjectType as ObjectType);\n          const index = fieldsPerObjectType.findIndex((fieldId) => fieldId === request.fieldId);\n          if (index === -1) {\n            fieldMap.set(request?.crmObjectType as ObjectType, [...fieldsPerObjectType, request.fieldId]);\n          }\n          return new Map(fieldMap);\n        }),\n      ),\n    );\n  }\n\n  public resetChanges(objectType: ObjectType): void {\n    const deletedFieldIds = this.deletedFieldIds();\n    deletedFieldIds.set(objectType, []);\n    const createdFields = this.createdFields();\n    createdFields.set(objectType, []);\n    const updatedFields = this.updatedFields();\n    updatedFields.set(objectType, []);\n    this.deletedFieldIds.set(new Map(deletedFieldIds));\n    this.createdFields.set(new Map(createdFields));\n    this.updatedFields.set(new Map(updatedFields));\n  }\n}\n", "export function isSystemField(namespace: string) {\n  return namespace === 'standard' || namespace === 'system' || namespace.startsWith('Extension');\n}\n", "import { Component, EventEmitter, Inject, Input, signal, WritableSignal, Output, computed } from '@angular/core';\nimport { CrmDependencies, CrmInjectionToken, ObjectType } from '@galaxy/crm/static';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { GalaxyButtonLoadingIndicatorModule } from '@vendasta/galaxy/button-loading-indicator';\nimport { GalaxyFormFieldModule } from '@vendasta/galaxy/form-field';\n\nimport { MatIconModule } from '@angular/material/icon';\n\nimport {\n  CellData,\n  GalaxyColumnDef,\n  GalaxyDataSource,\n  GalaxyTableModule,\n  PagedListRequestInterface,\n  PagedResponseInterface,\n  Row,\n} from '@vendasta/galaxy/table';\nimport { map, Observable, of, switchMap, tap, catchError, combineLatest, shareReplay } from 'rxjs';\nimport {\n  CRMFieldSchemaApiService,\n  FieldSchemaInterface,\n  FieldType,\n  ListFieldSchemaResponseInterface,\n} from '@vendasta/crm';\nimport {\n  MatCell,\n  MatColumnDef,\n  MatHeaderCell,\n  MatHeaderRow,\n  MatRow,\n  MatTable,\n  MatTableModule,\n} from '@angular/material/table';\nimport { GalaxyLoadingSpinnerModule } from '@vendasta/galaxy/loading-spinner';\nimport { GalaxyEmptyStateModule } from '@vendasta/galaxy/empty-state';\nimport { MatMenu, MatMenuItem, MatMenuModule } from '@angular/material/menu';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { CustomFieldsManagementTableChangesService } from './custom-fields-management-table-changes.service';\nimport { LoadingBehavior, FadeIn } from '@galaxy/crm/components/animations';\nimport { isSystemField } from './utils';\n\nexport interface DeleteData {\n  namespace: string;\n  fieldId: string;\n  objectType: ObjectType;\n}\n\n@Component({\n  selector: 'crm-list-custom-fields',\n  templateUrl: './custom-field-management-table.component.html',\n  imports: [\n    CommonModule,\n    MatMenuModule,\n    MatTableModule,\n    MatButtonModule,\n    TranslateModule,\n    GalaxyButtonLoadingIndicatorModule,\n    GalaxyFormFieldModule,\n    MatIconModule,\n    GalaxyTableModule,\n    MatHeaderRow,\n    MatTable,\n    MatRow,\n    GalaxyLoadingSpinnerModule,\n    GalaxyEmptyStateModule,\n    MatCell,\n    MatColumnDef,\n    MatHeaderCell,\n    MatMenu,\n    MatMenuItem,\n    ReactiveFormsModule,\n  ],\n  animations: [LoadingBehavior, FadeIn],\n})\nexport class ListCustomFieldManagementTableComponent {\n  @Output() editField = new EventEmitter<Row>();\n  @Output() deleteField = new EventEmitter<DeleteData>();\n\n  @Input({ required: true }) set objType(objType: string) {\n    this.objectType = objType as ObjectType;\n  }\n\n  get objType() {\n    return this.objectType;\n  }\n  objectType: ObjectType = this.objType as ObjectType;\n  private allFields: WritableSignal<FieldSchemaInterface[]> = signal([]);\n  isSystemFieldMap = computed(() => {\n    return this.allFields().reduce(\n      (acc, field) => {\n        acc[field.fieldId] = isSystemField(field?.namespace);\n        return acc;\n      },\n      {} as Record<string, boolean>,\n    );\n  });\n  dataSource: GalaxyDataSource<Row>;\n  loading: WritableSignal<boolean> = signal(false);\n\n  columns: GalaxyColumnDef[] = [\n    {\n      id: 'name',\n      title: 'Name',\n    },\n    {\n      id: 'external_id',\n      title: 'External ID',\n      hidden: true,\n    },\n    {\n      id: 'description',\n      title: 'Description',\n    },\n    {\n      id: 'field_type',\n      title: 'Field type',\n    },\n    {\n      id: 'created',\n      title: 'Created',\n    },\n    {\n      id: 'namespace',\n      title: 'Namespace',\n    },\n    {\n      id: 'actions',\n      title: '',\n    },\n  ];\n\n  constructor(\n    @Inject(CrmInjectionToken) private readonly config: CrmDependencies,\n    private readonly crmFieldSchemaApiService: CRMFieldSchemaApiService,\n    private readonly tableChangesService: CustomFieldsManagementTableChangesService,\n  ) {\n    const paginatedAPI = {\n      get: (req: PagedListRequestInterface<void>): Observable<PagedResponseInterface<Row>> => {\n        this.tableChangesService.resetChanges(this.objectType);\n        return combineLatest([this.tableChangesService.changes$, this.listFieldSchema(req)]).pipe(\n          map(([{ deletedFieldIds, createdFields, updatedFields }, resp]) => {\n            resp.fieldSchemas = this.applyCreatedFieldChanges(createdFields.get(this.objectType), resp.fieldSchemas);\n            resp.fieldSchemas = this.applyUpdatedFieldChanges(updatedFields.get(this.objectType), resp.fieldSchemas);\n            resp.fieldSchemas = this.applyDeletedFieldChanges(deletedFieldIds.get(this.objectType), resp.fieldSchemas);\n            return resp;\n          }),\n          tap((resp) => {\n            this.allFields.set(resp.fieldSchemas);\n            this.loading.set(false);\n          }),\n          map((resp) => {\n            const rows: Row[] = resp?.fieldSchemas.map((option) => {\n              return {\n                id: option.fieldId,\n                data: this.rowData(option),\n              } as Row;\n            });\n            return {\n              data: rows,\n              pagingMetadata: {\n                nextCursor: resp?.pagingMetadata?.nextCursor || '',\n                hasMore: resp?.pagingMetadata?.hasMore || false,\n                totalResults: resp?.pagingMetadata?.totalResults || Infinity,\n              },\n            } as PagedResponseInterface<Row>;\n          }),\n        );\n      },\n    };\n\n    this.dataSource = new GalaxyDataSource(paginatedAPI);\n  }\n\n  private applyUpdatedFieldChanges(\n    updatedFields: FieldSchemaInterface[] = [],\n    existingResponseSchemas: FieldSchemaInterface[] = [],\n  ): FieldSchemaInterface[] {\n    return existingResponseSchemas.map((field) => {\n      const updatedField = updatedFields.find((updatedField) => updatedField.fieldId === field.fieldId);\n      if (updatedField) {\n        return { ...field, ...updatedField };\n      } else {\n        return field;\n      }\n    });\n  }\n\n  private applyDeletedFieldChanges(\n    deletedFields: string[] = [],\n    existingResponseSchemas: FieldSchemaInterface[] = [],\n  ): FieldSchemaInterface[] {\n    return existingResponseSchemas.filter((field) => !deletedFields.includes(field.fieldId));\n  }\n\n  private applyCreatedFieldChanges(\n    createdFields: FieldSchemaInterface[] = [],\n    existingResponseSchemas: FieldSchemaInterface[] = [],\n  ): FieldSchemaInterface[] {\n    for (const field of createdFields) {\n      if (existingResponseSchemas.findIndex((f) => f.fieldId === field.fieldId) === -1) {\n        existingResponseSchemas.unshift(field);\n      }\n    }\n    return existingResponseSchemas;\n  }\n\n  private listFieldSchema(req: PagedListRequestInterface<void>): Observable<ListFieldSchemaResponseInterface> {\n    return this.config.namespace$.pipe(\n      switchMap((namespace) => {\n        return this.crmFieldSchemaApiService.listFieldSchema({\n          namespace: namespace,\n          crmObjectType: this.objectType,\n          pagingOptions: {\n            cursor: req?.pagingOptions?.cursor,\n            pageSize: req?.pagingOptions?.pageSize,\n          },\n          searchTerm: req.searchOptions?.text,\n        });\n      }),\n      catchError(() => {\n        return of({\n          crmObjects: [],\n          pagingMetadata: {\n            nextCursor: '',\n            hasMore: false,\n          },\n        }) as Observable<ListFieldSchemaResponseInterface>;\n      }),\n      tap(() => {\n        this.loading.set(false);\n      }),\n      shareReplay(1),\n    );\n  }\n\n  openEdit(row: Row): void {\n    this.editField.emit(row);\n  }\n\n  openDelete(row: Row): void {\n    this.deleteField.emit({\n      namespace: row.data['namespace'].value,\n      fieldId: row.id,\n      objectType: this.objectType,\n    });\n  }\n\n  rowAction(option: FieldSchemaInterface): void {\n    const row: Row = {\n      id: option.fieldId,\n      data: {\n        name: {\n          cellType: 'text',\n          value: option.fieldName,\n        },\n        description: {\n          cellType: 'text',\n          value: option.fieldDescription,\n        },\n        field_type: {\n          cellType: 'text',\n          value: option.fieldType ? this.customFieldTypeToReadableText(option.fieldType) : '',\n        },\n        created: {\n          cellType: 'date',\n          value: option.created,\n        },\n        namespace: {\n          cellType: 'text',\n          value: option.namespace,\n        },\n        external_id: {\n          cellType: 'text',\n          value: option.externalId,\n        },\n      },\n    };\n    this.editField.emit(row);\n  }\n\n  private rowData(option: FieldSchemaInterface): { [columnId: string]: CellData } {\n    return {\n      name: {\n        cellType: 'text',\n        value: option.fieldName,\n        action: () => this.rowAction(option),\n      },\n      description: {\n        cellType: 'text',\n        value: option.fieldDescription,\n      },\n      field_type: {\n        cellType: 'text',\n        value: option.fieldType ? this.customFieldTypeToReadableText(option.fieldType) : '',\n      },\n      created: {\n        cellType: 'date',\n        value: option.created,\n      },\n      namespace: {\n        cellType: 'text',\n        value: option.namespace,\n      },\n      external_id: {\n        cellType: 'text',\n        value: option.externalId,\n      },\n    };\n  }\n\n  customFieldTypeToReadableText(fieldType: FieldType): string {\n    switch (fieldType) {\n      case FieldType.FIELD_TYPE_DATE:\n        return 'Date';\n      case FieldType.FIELD_TYPE_INTEGER:\n        return 'Integer';\n      case FieldType.FIELD_TYPE_STRING:\n        return 'String';\n      case FieldType.FIELD_TYPE_STRING_LIST:\n        return 'String List';\n      case FieldType.FIELD_TYPE_GEOPOINT:\n        return 'Geopoint';\n      case FieldType.FIELD_TYPE_FLOAT:\n        return 'Float';\n      case FieldType.FIELD_TYPE_BOOLEAN:\n        return 'Boolean';\n      case FieldType.FIELD_TYPE_TAG:\n        return 'Tag';\n      case FieldType.FIELD_TYPE_PHONE:\n        return 'Phone number';\n      case FieldType.FIELD_TYPE_EMAIL:\n        return 'Email';\n      case FieldType.FIELD_TYPE_DATETIME:\n        return 'Date time';\n      default:\n        return '';\n    }\n  }\n}\n", "@if (loading() === false) {\n  <glxy-table-container\n    @fadeIn\n    [dataSource]=\"dataSource\"\n    [columns]=\"columns\"\n    [pageSizeOptions]=\"[5, 10, 25, 50, 100]\"\n    [pageSize]=\"25\"\n    [border]=\"true\"\n    [fullWidth]=\"true\"\n    [showFooter]=\"true\"\n  >\n    <glxy-table-content-header\n      [showSearch]=\"true\"\n      [showFilters]=\"false\"\n      [showColumnArrange]=\"false\"\n      [showFiltersOpen]=\"false\"\n      [showSort]=\"false\"\n      [showExport]=\"false\"\n      [showActions]=\"false\"\n    ></glxy-table-content-header>\n    <table mat-table [@loadingBehavior]=\"(dataSource.loading$ | async) ? 'loading' : 'finished'\">\n      <tr mat-header-row *matHeaderRowDef=\"[]\"></tr>\n      <ng-container matColumnDef=\"select\">\n        <th mat-header-cell *matHeaderCellDef>\n          <glxy-table-selection></glxy-table-selection>\n        </th>\n        <td mat-cell *matCellDef=\"let row\">\n          <glxy-table-selection [row]=\"row\"></glxy-table-selection>\n        </td>\n      </ng-container>\n      <ng-container matColumnDef=\"actions\">\n        <th mat-header-cell *matHeaderCellDef></th>\n        <td mat-cell *matCellDef=\"let row\">\n          <button mat-icon-button [matMenuTriggerFor]=\"menu\">\n            <mat-icon>more_vert</mat-icon>\n            <mat-menu #menu=\"matMenu\">\n              <div matTooltip=\"Edit\">\n                <button mat-menu-item (click)=\"openEdit(row)\">\n                  <span>{{ 'CUSTOM_FIELDS.EDIT' | translate }}</span>\n                </button>\n              </div>\n              <div matTooltip=\"Delete\">\n                <button mat-menu-item (click)=\"openDelete(row)\" [disabled]=\"isSystemFieldMap()[row.id]\">\n                  <span>{{ 'CUSTOM_FIELDS.DELETE' | translate }}</span>\n                </button>\n              </div>\n            </mat-menu>\n          </button>\n        </td>\n      </ng-container>\n      <tr mat-row *matRowDef=\"let row; columns: []\"></tr>\n    </table>\n  </glxy-table-container>\n} @else {\n  <div class=\"spinner-container\">\n    <glxy-loading-spinner></glxy-loading-spinner>\n  </div>\n}\n", "import { CommonModule } from '@angular/common';\nimport {\n  ChangeDetectorRef,\n  Component,\n  Inject,\n  Input,\n  Output,\n  ViewEncapsulation,\n  signal,\n  EventEmitter,\n} from '@angular/core';\nimport { ReactiveFormsModule, FormControl, Validators, ValidationErrors } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { TranslateModule } from '@ngx-translate/core';\n// eslint-disable-next-line @nx/enforce-module-boundaries\nimport { GalaxyPopoverModule, PopoverPositions } from '@vendasta/galaxy/popover';\nimport { Observable, combineLatest, debounceTime, switchMap, map, tap, catchError, of } from 'rxjs';\nimport { CrmDependencies, CrmInjectionToken, ObjectType } from '@galaxy/crm/static';\nimport { CRMFieldSchemaApiService } from '@vendasta/crm';\nimport { GalaxyFormFieldModule } from '@vendasta/galaxy/form-field';\nimport { GalaxyTooltipModule } from '@vendasta/galaxy/tooltip';\n\nexport function sanitizeName(name: string): string {\n  return (name || '')\n    .toLowerCase()\n    .trim()\n    .replace(/\\s+/g, '-')\n    .replace(/[^0-9a-z\\-_]/g, '');\n}\n\n@Component({\n  selector: 'crm-external-id',\n  templateUrl: './external-id.component.html',\n  styleUrls: ['./external-id.component.scss'],\n  encapsulation: ViewEncapsulation.None,\n  imports: [\n    MatButtonModule,\n    MatFormFieldModule,\n    MatIconModule,\n    MatInputModule,\n    ReactiveFormsModule,\n    TranslateModule,\n    GalaxyPopoverModule,\n    CommonModule,\n    GalaxyFormFieldModule,\n    GalaxyTooltipModule,\n  ],\n})\nexport class ExternalIdComponent {\n  externalIdNewValue = new FormControl<string>('', [Validators.pattern('[0-9a-z\\\\-_]*')]);\n  PopoverPositions = PopoverPositions;\n  isExternalIdPopoverVisible = false;\n  isExternalIdSet = false;\n  initialExternalId = signal<string>('');\n  @Input() fieldId = '';\n  @Input({ required: true }) set externalId(value: string) {\n    const sanitizedExternalId = sanitizeName(value);\n    this.initialExternalId.set(sanitizedExternalId);\n    this.externalIdNewValue.setValue(sanitizedExternalId);\n  }\n  isNewFieldEditor = signal<boolean>(false);\n  @Input({ required: true }) set createNewField(value: boolean) {\n    this.isNewFieldEditor.set(value);\n  }\n  @Input({ required: true }) set name(newName: string) {\n    if (this.isNewFieldEditor()) {\n      this.externalIdNewValue.setValue(sanitizeName(newName));\n    }\n  }\n  @Input({ required: true }) objectType: ObjectType;\n  @Input() disabled = false;\n  @Output() externalIdChange = new EventEmitter<string>();\n  @Output() externalIdErrors = new EventEmitter<ValidationErrors | null>();\n\n  isDuplicateExternalId$: Observable<boolean> = combineLatest([\n    this.config.namespace$,\n    this.externalIdNewValue.valueChanges,\n  ]).pipe(\n    debounceTime(500),\n    switchMap(([namespace, externalIdGet]) => {\n      if (externalIdGet === '') {\n        return of({ fieldSchemas: [] });\n      }\n      return this.schemaService\n        .getMultiFieldSchema({\n          namespace: namespace as string,\n          fieldId: [externalIdGet],\n          crmObjectType: this.objectType as string,\n        })\n        .pipe(catchError(() => of({ fieldSchemas: [] })));\n    }),\n    map((resp) =>\n      resp.fieldSchemas?.some((fieldSchema) => fieldSchema.fieldId && fieldSchema.fieldId !== this.fieldId),\n    ),\n    tap((foundDuplicate) => {\n      if (foundDuplicate) {\n        this.externalIdNewValue.setErrors({ duplicate: true });\n        this.externalIdErrors.emit({ duplicate: true });\n      } else {\n        this.externalIdNewValue.setErrors(null);\n        this.externalIdErrors.emit(null);\n      }\n    }),\n  );\n\n  constructor(\n    @Inject(CrmInjectionToken) private readonly config: CrmDependencies,\n    private readonly changeDetector: ChangeDetectorRef,\n    private readonly schemaService: CRMFieldSchemaApiService,\n  ) {}\n\n  setExternalId(): void {\n    this.externalIdChange.emit(this.externalIdNewValue.value);\n    this.isExternalIdSet = true;\n    this.isExternalIdPopoverVisible = false;\n  }\n\n  cancelExternalId(): void {\n    this.externalIdNewValue.setValue(this.initialExternalId());\n    this.isExternalIdPopoverVisible = false;\n    this.isExternalIdSet = false;\n  }\n\n  showExternalIdPopover(): void {\n    this.initialExternalId.set(this.externalIdNewValue.value ?? '');\n    this.isExternalIdPopoverVisible = true;\n  }\n}\n", "<ng-container>\n  <div class=\"external-id\">\n    <span class=\"external-id-value\" [ngClass]=\"{ editable: !disabled }\">\n      {{ 'CUSTOM_FIELDS.EXTERNAL_ID.LABEL' | translate }}\n      <mat-icon\n        [glxyTooltip]=\"'CUSTOM_FIELDS.EXTERNAL_ID.EXTERNAL_IDENTIFIER_DESCRIPTION' | translate\"\n        [tooltipPositions]=\"[PopoverPositions.Bottom]\"\n      >\n        info_outline\n      </mat-icon>\n      : {{ externalIdNewValue.value }}\n    </span>\n    <a *ngIf=\"!disabled\" [glxyPopover]=\"externalIdPopover\" (click)=\"showExternalIdPopover()\">\n      {{ (isNewFieldEditor() ? 'CUSTOM_FIELDS.EXTERNAL_ID.SET_IDENTIFIER' : 'ACTIONS.EDIT') | translate }}\n    </a>\n  </div>\n  <div class=\"external-id\" *ngIf=\"(isDuplicateExternalId$ | async) && !isExternalIdPopoverVisible\">\n    <mat-error>\n      {{ 'CUSTOM_FIELDS.EXTERNAL_ID.IDENTIFIER_DUPLICATE_MESSAGE' | translate }}\n    </mat-error>\n  </div>\n  <glxy-popover\n    #externalIdPopover\n    [maxWidth]=\"'320px'\"\n    [maxHeight]=\"'auto'\"\n    [isOpen]=\"isExternalIdPopoverVisible\"\n    [hasBackdrop]=\"false\"\n    [showBackdrop]=\"false\"\n    [hasArrow]=\"true\"\n    [keepOnScreen]=\"false\"\n    [padding]=\"'large'\"\n    [positions]=\"[PopoverPositions.BottomRight]\"\n  >\n    <div class=\"text-bottom-spacing\">\n      {{ 'CUSTOM_FIELDS.EXTERNAL_ID.EXTERNAL_IDENTIFIER_DESCRIPTION' | translate }}\n    </div>\n    <glxy-form-field class=\"new-external-id\">\n      <input type=\"text\" matInput [formControl]=\"externalIdNewValue\" />\n      <glxy-error *ngIf=\"externalIdNewValue.hasError('pattern')\">\n        {{ 'CUSTOM_FIELDS.EXTERNAL_ID.IDENTIFIER_VALIDATION_MESSAGE' | translate }}\n      </glxy-error>\n      <glxy-error *ngIf=\"externalIdNewValue.hasError('duplicate')\">\n        {{ 'CUSTOM_FIELDS.EXTERNAL_ID.IDENTIFIER_DUPLICATE_MESSAGE' | translate }}\n      </glxy-error>\n    </glxy-form-field>\n    <glxy-popover-actions>\n      <button mat-flat-button color=\"primary\" (click)=\"setExternalId()\">\n        {{ 'ACTIONS.SAVE' | translate }}\n      </button>\n      <button mat-stroked-button (click)=\"cancelExternalId()\">\n        {{ 'ACTIONS.CANCEL' | translate }}\n      </button>\n    </glxy-popover-actions>\n  </glxy-popover>\n</ng-container>\n", "import { dasherize } from '@angular-devkit/core/src/utils/strings';\nimport { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n  standalone: true,\n  name: 'dasherize',\n})\nexport class DasherizePipe implements PipeTransform {\n  transform(value: string): string {\n    return dasherize(value);\n  }\n}\n", "import { Component, computed, input, signal, TemplateRef, viewChild } from '@angular/core';\nimport {\n  CrmDrawerComponent,\n  ObjectType,\n  SNACKBAR_DURATION,\n  VerticalNavCardComponent,\n  VerticalNavTabComponent,\n} from '@galaxy/crm/static';\nimport { NgComponentOutlet } from '@angular/common';\nimport { MatAnchor, MatButton } from '@angular/material/button';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { GalaxyFormFieldModule } from '@vendasta/galaxy/form-field';\nimport { MatTab, MatTabGroup } from '@angular/material/tabs';\nimport { Row } from '@vendasta/galaxy/table';\nimport { DeleteData, ListCustomFieldManagementTableComponent } from './custom-field-management-table.component';\nimport { GalaxyPageModule } from '@vendasta/galaxy/page';\nimport { FormBuilder, ReactiveFormsModule, ValidationErrors, Validators } from '@angular/forms';\nimport { MatOption, MatSelect } from '@angular/material/select';\nimport { MatInput } from '@angular/material/input';\n\nimport { ArchiveFieldSchemaRequestInterface, FieldType } from '@vendasta/crm';\nimport { firstValueFrom, map, of, switchMap, take } from 'rxjs';\nimport { SnackbarService } from '@vendasta/galaxy/snackbar-service';\nimport { GalaxyAlertModule } from '@vendasta/galaxy/alert';\nimport { CustomFieldsManagementTableChangesService } from './custom-fields-management-table-changes.service';\nimport { OpenConfirmationModalService } from '@vendasta/galaxy/confirmation-modal';\nimport { ExternalIdComponent, sanitizeName } from './external-id/external-id.component';\nimport { DasherizePipe } from './dasherize.pipe';\nimport { isSystemField } from './utils';\n\nenum DeleteStatus {\n  Skipped,\n  Success,\n  Failure,\n}\n\ninterface ExtraNavTab {\n  label: string;\n  component: any;\n  inputs: any;\n}\n\ninterface fieldTypeOption {\n  label: string;\n  example?: string;\n  fieldType: FieldType;\n}\n\n@Component({\n  selector: 'crm-custom-fields-page',\n  templateUrl: './custom-field-management-page.component.html',\n  styleUrls: ['./custom-field-management-page.component.scss'],\n  imports: [\n    GalaxyPageModule,\n    CrmDrawerComponent,\n    TranslateModule,\n    VerticalNavTabComponent,\n    VerticalNavCardComponent,\n    MatTabGroup,\n    MatTab,\n    ListCustomFieldManagementTableComponent,\n    DasherizePipe,\n    GalaxyAlertModule,\n    GalaxyFormFieldModule,\n    MatOption,\n    ReactiveFormsModule,\n    MatSelect,\n    ExternalIdComponent,\n    NgComponentOutlet,\n    MatInput,\n    MatAnchor,\n    MatButton,\n  ],\n  providers: [CustomFieldsManagementTableChangesService],\n})\nexport class ListCustomFieldManagementPageComponent {\n  drawer = viewChild.required<CrmDrawerComponent>('drawer');\n  upsertTemplateRef = viewChild.required<TemplateRef<any>>('upsert');\n  extraNavs = input<ExtraNavTab[]>([]);\n\n  constructor(\n    private readonly snackService: SnackbarService,\n    private readonly translateService: TranslateService,\n    private readonly tableChangesService: CustomFieldsManagementTableChangesService,\n    private readonly modalService: OpenConfirmationModalService,\n  ) {}\n\n  protected readonly action = signal('');\n  protected readonly editObjectId = signal('');\n  protected readonly isSystemField = signal(false);\n  private readonly externalIdPristine = signal(true);\n\n  protected readonly isEditingDisabled = computed(() => {\n    return !!this.editObjectId() || this.isSystemField();\n  });\n\n  protected readonly formGroup = new FormBuilder().nonNullable.group({\n    fieldName: ['', Validators.required],\n    fieldType: [FieldType.FIELD_TYPE_INVALID, Validators.required],\n    fieldDescription: '',\n    objectType: ['Company', Validators.required],\n    externalId: '',\n  });\n\n  protected readonly fieldTypes: fieldTypeOption[] = [\n    {\n      label: 'CUSTOM_FIELDS.FIELD_TYPES.STRING',\n      example: 'CUSTOM_FIELDS.FIELD_EXAMPLES.STRING',\n      fieldType: FieldType.FIELD_TYPE_STRING,\n    },\n    {\n      label: 'CUSTOM_FIELDS.FIELD_TYPES.INTEGER',\n      example: 'CUSTOM_FIELDS.FIELD_EXAMPLES.INTEGER',\n      fieldType: FieldType.FIELD_TYPE_INTEGER,\n    },\n    {\n      label: 'CUSTOM_FIELDS.FIELD_TYPES.FLOAT',\n      example: 'CUSTOM_FIELDS.FIELD_EXAMPLES.FLOAT',\n      fieldType: FieldType.FIELD_TYPE_FLOAT,\n    },\n    {\n      label: 'CUSTOM_FIELDS.FIELD_TYPES.EMAIL',\n      fieldType: FieldType.FIELD_TYPE_EMAIL,\n    },\n    {\n      label: 'CUSTOM_FIELDS.FIELD_TYPES.PHONE_NUMBER',\n      fieldType: FieldType.FIELD_TYPE_PHONE,\n    },\n    {\n      label: 'CUSTOM_FIELDS.FIELD_TYPES.DATE',\n      fieldType: FieldType.FIELD_TYPE_DATE,\n      example: 'CUSTOM_FIELDS.FIELD_EXAMPLES.DATE',\n    },\n    {\n      label: 'CUSTOM_FIELDS.FIELD_TYPES.DATE_TIME',\n      fieldType: FieldType.FIELD_TYPE_DATETIME,\n      example: 'CUSTOM_FIELDS.FIELD_EXAMPLES.DATE_TIME',\n    },\n    {\n      label: 'CUSTOM_FIELDS.FIELD_TYPES.BOOLEAN',\n      fieldType: FieldType.FIELD_TYPE_BOOLEAN,\n    },\n  ];\n\n  createDrawer() {\n    //reset all fields except for Object type\n    this.formGroup.controls['fieldName'].reset();\n    this.formGroup.controls['fieldDescription'].reset();\n    this.formGroup.controls['fieldType'].reset();\n    this.formGroup.controls['externalId'].reset();\n\n    Object.keys(this.formGroup.controls).forEach((controlName) => {\n      this.formGroup.controls[controlName].enable();\n    });\n    this.action.set('create');\n    this.editObjectId.set('');\n    this.isSystemField.set(false);\n    this.externalIdPristine.set(true);\n    this.drawer().open(this.upsertTemplateRef(), this.translateService.instant('CUSTOM_FIELDS.CREATE'));\n  }\n\n  editDrawer(row: Row) {\n    this.editObjectId.set(row.id);\n    this.action.set('edit');\n\n    this.formGroup.controls['fieldType'].setValue(this.readableTextToCustomFieldType(row.data['field_type']?.value));\n    this.formGroup.controls['fieldDescription'].setValue(row.data['description']?.value);\n    this.formGroup.controls['fieldName'].setValue(row.data['name']?.value);\n    this.formGroup.controls['externalId'].setValue(row.data['external_id']?.value);\n\n    this.formGroup.controls['objectType'].disable();\n    this.formGroup.controls['fieldType'].disable();\n\n    if (isSystemField(row.data['namespace']?.value)) {\n      this.formGroup.controls['fieldName'].disable();\n      this.formGroup.controls['fieldDescription'].disable();\n      this.isSystemField.set(true);\n    } else {\n      this.isSystemField.set(false);\n      // Enable 'fieldName' and 'fieldDescription' if namespace is not 'standard', 'system', or 'extension'\n      this.formGroup.controls['fieldName'].enable();\n      this.formGroup.controls['fieldDescription'].enable();\n    }\n    this.drawer().open(this.upsertTemplateRef(), this.translateService.instant('CUSTOM_FIELDS.EDIT'));\n  }\n\n  async confirmDelete(data: DeleteData) {\n    const dialogResult$ = this.modalService\n      .openModal({\n        type: 'warn',\n        title: 'CUSTOM_FIELDS.DELETE_MODAL.TITLE',\n        message: 'CUSTOM_FIELDS.DELETE_MODAL.DESCRIPTION',\n        confirmButtonText: 'ACTIONS.DELETE',\n        hideCancel: false,\n        cancelButtonText: 'ACTIONS.CANCEL',\n        actionOnEnterKey: true,\n        cancelOnEscapeKeyOrBackgroundClick: true,\n        width: 560,\n      })\n      .pipe(\n        switchMap((result) => {\n          if (!result) {\n            return of(DeleteStatus.Skipped);\n          }\n          return this.tableChangesService\n            .deleteField({\n              namespace: data.namespace,\n              crmObjectType: data.objectType,\n              fieldId: data.fieldId,\n            } as ArchiveFieldSchemaRequestInterface)\n            .pipe(\n              map((deleted) => {\n                return deleted ? DeleteStatus.Success : DeleteStatus.Failure;\n              }),\n            );\n        }),\n      );\n\n    const wasDeleted = await firstValueFrom(dialogResult$);\n    switch (wasDeleted) {\n      case DeleteStatus.Success:\n        this.snackService.openSuccessSnack('CUSTOM_FIELDS.SUCCESS.DELETED', {\n          duration: SNACKBAR_DURATION,\n        });\n        return;\n      case DeleteStatus.Failure:\n        this.snackService.openErrorSnack('CUSTOM_FIELDS.ERROR.FAILED_TO_DELETE', {\n          duration: SNACKBAR_DURATION,\n        });\n        return;\n    }\n    return;\n  }\n\n  createField() {\n    this.formGroup.markAllAsTouched();\n    if (this.formGroup.invalid) {\n      this.snackService.openErrorSnack('CUSTOM_FIELDS.ERROR.INVALID_FORM', { duration: SNACKBAR_DURATION });\n      return;\n    }\n    const fieldType = this.formGroup.value.fieldType;\n    const externalId = this.externalIdPristine()\n      ? sanitizeName(this.formGroup.value.fieldName ?? '')\n      : this.formGroup.value.externalId;\n\n    this.tableChangesService\n      .createField(this.formGroup.value.objectType as ObjectType, {\n        fieldName: this.formGroup.value.fieldName,\n        fieldType: fieldType,\n        fieldDescription: this.formGroup.value.fieldDescription,\n        externalId: externalId,\n      })\n      .pipe(take(1))\n      .subscribe((created) => {\n        if (created) {\n          this.snackService.openSuccessSnack('CUSTOM_FIELDS.SUCCESS.CREATED', {\n            duration: SNACKBAR_DURATION,\n          });\n        } else {\n          this.snackService.openErrorSnack('CUSTOM_FIELDS.ERROR.FAILED_TO_CREATE', {\n            duration: SNACKBAR_DURATION,\n          });\n        }\n        this.drawer().close();\n      });\n  }\n\n  editField() {\n    this.formGroup.controls['objectType'].enable();\n    this.formGroup.controls['fieldType'].enable();\n    if (this.formGroup.invalid) {\n      this.snackService.openErrorSnack('CUSTOM_FIELDS.ERROR.INVALID_FORM', { duration: SNACKBAR_DURATION });\n      return;\n    }\n\n    const fieldType = this.formGroup.value.fieldType;\n    this.tableChangesService\n      .updateField(this.formGroup.value.objectType as ObjectType, {\n        fieldId: this.editObjectId(),\n        fieldName: this.formGroup.value.fieldName,\n        fieldType: fieldType,\n        fieldDescription: this.formGroup.value.fieldDescription,\n        externalId: this.formGroup.value.externalId,\n      })\n      .pipe(take(1))\n      .subscribe((edited) => {\n        if (edited) {\n          this.snackService.openSuccessSnack('CUSTOM_FIELDS.SUCCESS.EDITED', {\n            duration: SNACKBAR_DURATION,\n          });\n        } else {\n          this.snackService.openErrorSnack('CUSTOM_FIELDS.ERROR.FAILED_TO_EDIT', {\n            duration: SNACKBAR_DURATION,\n          });\n        }\n        this.drawer().close();\n      });\n  }\n\n  protected readonly currentTabClicked = signal('');\n\n  tabClicked(event: string) {\n    if (event == 'companies') {\n      this.formGroup.controls['objectType'].setValue('Company');\n    } else if (event == 'contacts') {\n      this.formGroup.controls['objectType'].setValue('Contact');\n    }\n    this.currentTabClicked.set(event);\n  }\n\n  externalIdChanged(newExternalIdValue: string) {\n    this.externalIdPristine.set(false);\n    this.formGroup.controls['externalId'].setValue(newExternalIdValue);\n  }\n\n  externalIdErrorsChanged(errors: ValidationErrors | null) {\n    this.formGroup.controls['externalId'].setErrors(errors);\n  }\n\n  readableTextToCustomFieldType(text: string): FieldType {\n    switch (text) {\n      case 'Date':\n        return FieldType.FIELD_TYPE_DATE;\n      case 'Integer':\n        return FieldType.FIELD_TYPE_INTEGER;\n      case 'String':\n        return FieldType.FIELD_TYPE_STRING;\n      case 'String List':\n        return FieldType.FIELD_TYPE_STRING_LIST;\n      case 'Geopoint':\n        return FieldType.FIELD_TYPE_GEOPOINT;\n      case 'Float':\n        return FieldType.FIELD_TYPE_FLOAT;\n      case 'Boolean':\n        return FieldType.FIELD_TYPE_BOOLEAN;\n      case 'Tag':\n        return FieldType.FIELD_TYPE_TAG;\n      case 'Phone number':\n        return FieldType.FIELD_TYPE_PHONE;\n      case 'Email':\n        return FieldType.FIELD_TYPE_EMAIL;\n      case 'Date time':\n        return FieldType.FIELD_TYPE_DATETIME;\n      default:\n        return FieldType.FIELD_TYPE_INVALID;\n    }\n  }\n}\n", "<glxy-page [pagePadding]=\"false\">\n  <glxy-page-toolbar>\n    <glxy-page-nav>\n      <glxy-page-nav-button\n        [attr.data-action]=\"'clicked-back-from-crm-field-management'\"\n        [useHistory]=\"true\"\n      ></glxy-page-nav-button>\n    </glxy-page-nav>\n    <glxy-page-title>{{ 'OBJECT_TYPES.CUSTOM_FIELDS' | translate }}</glxy-page-title>\n  </glxy-page-toolbar>\n  <crm-drawer #drawer>\n    <crm-vertical-nav-tab [useQueryParams]=\"false\" class=\"side-nav\" (tabClicked)=\"tabClicked($event)\">\n      <crm-vertical-nav-card [label]=\"'Contacts'\">\n        <div class=\"actions-container\">\n          <a class=\"action\" mat-raised-button color=\"primary\" (click)=\"createDrawer()\">\n            {{ 'ACTIONS.CREATE' | translate }}\n          </a>\n        </div>\n        <mat-tab-group mat-stretch-tabs=\"false\" mat-align-tabs=\"start\" animationDuration=\"0ms\">\n          <mat-tab label=\"Fields\">\n            <crm-list-custom-fields\n              [objType]=\"'Contact'\"\n              (editField)=\"editDrawer($event)\"\n              (deleteField)=\"confirmDelete($event)\"\n            ></crm-list-custom-fields>\n          </mat-tab>\n        </mat-tab-group>\n      </crm-vertical-nav-card>\n      <crm-vertical-nav-card [label]=\"'Companies'\">\n        <div class=\"actions-container\">\n          <a class=\"action\" mat-raised-button color=\"primary\" (click)=\"createDrawer()\">\n            {{ 'ACTIONS.CREATE' | translate }}\n          </a>\n        </div>\n        <mat-tab-group mat-stretch-tabs=\"false\" mat-align-tabs=\"start\" animationDuration=\"0ms\">\n          <mat-tab label=\"Fields\">\n            <crm-list-custom-fields\n              [objType]=\"'Company'\"\n              (editField)=\"editDrawer($event)\"\n              (deleteField)=\"confirmDelete($event)\"\n            ></crm-list-custom-fields>\n          </mat-tab>\n        </mat-tab-group>\n      </crm-vertical-nav-card>\n      @for (nav of extraNavs(); track nav) {\n        <crm-vertical-nav-card [label]=\"nav.label\">\n          @if ((nav.label | dasherize) === currentTabClicked()) {\n            <ng-container *ngComponentOutlet=\"nav.component; inputs: nav.inputs\" />\n          }\n        </crm-vertical-nav-card>\n      }\n    </crm-vertical-nav-tab>\n  </crm-drawer>\n</glxy-page>\n\n<ng-template #upsert>\n  <div class=\"drawer-container\">\n    @if (isSystemField()) {\n      <div class=\"alert\">\n        <glxy-alert type=\"tip\">\n          {{ 'CUSTOM_FIELDS.SYSTEM_FIELDS_MESSAGE' | translate }}\n        </glxy-alert>\n      </div>\n    }\n    <form [formGroup]=\"formGroup\" novalidate #form=\"ngForm\" class=\"drawer\">\n      <glxy-form-row>\n        <glxy-form-field bottomSpacing=\"small\" [showLabel]=\"true\" [required]=\"true\">\n          <glxy-label>{{ 'CUSTOM_FIELDS.OBJECT' | translate }}</glxy-label>\n          <mat-select #defaultInput formControlName=\"objectType\" [placeholder]=\"'CUSTOM_FIELDS.OBJECT' | translate\">\n            <mat-option value=\"Contact\">{{ 'OBJECT_TYPES.CONTACT' | translate }}</mat-option>\n            <mat-option value=\"Company\">{{ 'OBJECT_TYPES.COMPANY' | translate }}</mat-option>\n          </mat-select>\n        </glxy-form-field>\n      </glxy-form-row>\n      <glxy-form-row>\n        <glxy-form-field bottomSpacing=\"small\" [showLabel]=\"true\" [required]=\"true\">\n          <glxy-label>{{ 'CUSTOM_FIELDS.FIELD_NAME' | translate }}</glxy-label>\n          <input formControlName=\"fieldName\" matInput placeholder=\"{{ 'CUSTOM_FIELDS.FIELD_NAME' | translate }}\" />\n          @if (formGroup.get('fieldName').touched && formGroup.get('fieldName').hasError('required')) {\n            <glxy-error>\n              {{ 'CUSTOM_FIELDS.ERROR.FIELD_NAME_REQUIRED' | translate }}\n            </glxy-error>\n          }\n        </glxy-form-field>\n      </glxy-form-row>\n      <crm-external-id\n        [fieldId]=\"editObjectId()\"\n        [externalId]=\"formGroup.value?.externalId ?? ''\"\n        [name]=\"formGroup.value?.fieldName ?? ''\"\n        [objectType]=\"formGroup.controls['objectType'].value\"\n        [createNewField]=\"action() === 'create'\"\n        [disabled]=\"isEditingDisabled()\"\n        (externalIdChange)=\"externalIdChanged($event)\"\n        (externalIdErrors)=\"externalIdErrorsChanged($event)\"\n      ></crm-external-id>\n      <glxy-form-row>\n        <glxy-form-field bottomSpacing=\"small\" [showLabel]=\"true\">\n          <glxy-label>{{ 'CUSTOM_FIELDS.FIELD_DESCRIPTION' | translate }}</glxy-label>\n          <textarea\n            formControlName=\"fieldDescription\"\n            matInput\n            placeholder=\"{{ 'CUSTOM_FIELDS.FIELD_DESCRIPTION' | translate }}\"\n          ></textarea>\n        </glxy-form-field>\n      </glxy-form-row>\n\n      <glxy-form-field bottomSpacing=\"small\" [showLabel]=\"true\" [required]=\"true\">\n        <glxy-label>{{ 'CUSTOM_FIELDS.FIELD_TYPE' | translate }}</glxy-label>\n        <mat-select formControlName=\"fieldType\" placeholder=\"{{ 'CUSTOM_FIELDS.FIELD_TYPE' | translate }}\">\n          @for (fieldType of fieldTypes; track fieldType.fieldType) {\n            @if (fieldType.label && fieldType.fieldType) {\n              <mat-option [value]=\"fieldType.fieldType\">\n                {{ fieldType.label | translate }}\n                @if (fieldType.example) {\n                  ({{ fieldType.example | translate }})\n                }\n              </mat-option>\n            }\n          }\n        </mat-select>\n        @if (formGroup.get('fieldType').touched && formGroup.get('fieldType').hasError('required')) {\n          <glxy-error>\n            {{ 'CUSTOM_FIELDS.ERROR.FIELD_TYPE_REQUIRED' | translate }}\n          </glxy-error>\n        }\n      </glxy-form-field>\n    </form>\n    @if (action() === 'create') {\n      <div class=\"drawer-actions\">\n        <button mat-flat-button color=\"primary\" type=\"button\" (click)=\"createField()\">\n          {{ 'ACTIONS.CREATE' | translate }}\n        </button>\n      </div>\n    }\n    @if (action() === 'edit' && !isSystemField()) {\n      <div class=\"drawer-actions\">\n        <button mat-flat-button color=\"primary\" type=\"button\" (click)=\"editField()\">\n          {{ 'ACTIONS.SAVE' | translate }}\n        </button>\n      </div>\n    }\n  </div>\n</ng-template>\n", "export { ListCustomFieldManagementPageComponent } from './custom-field-management-page.component';\n", "import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\n\nconst routes: Routes = [\n  {\n    path: '',\n    loadComponent: () => import('./leaderboard-page.component').then((m) => m.LeaderboardPageComponent),\n  },\n];\n\n@NgModule({\n  imports: [RouterModule.forChild(routes)],\n  exports: [RouterModule],\n})\nexport class LeaderboardPageModule {}\n", "export { LeaderboardPageModule } from './leaderboard-page.module';\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GalaxyPageModule } from '@vendasta/galaxy/page';\nimport {\n  CompanyTableCustomizationService,\n  ContactTableCustomizationService,\n  CrmFieldOptionsService,\n  CrmFiltersService,\n  CrmFormService,\n  CrmObjectService,\n  CrmTableStateService,\n  CRMTrackingService,\n  FieldOptionsInjectionToken,\n  modelDrivenFormFieldOptionsInjectionTokenGenerator,\n  ObjectType,\n  OpportunityTableCustomizationService,\n  PAGE_ROUTES,\n  RestrictedGroupService,\n  tableFiltersInjectionTokenGenerator,\n  TranslateByObjectTypeService,\n} from '@galaxy/crm/static';\nimport { GalaxyFilterChipInjectionToken } from '@vendasta/galaxy/filter/chips';\nimport { Routes } from '@angular/router';\nimport { PermissionsGuard } from '../../permissions-guard.service';\n\nexport const MULTI_LOCATION_CONTACT_ROUTES: Routes = [\n  {\n    path: '',\n    redirectTo: PAGE_ROUTES.MULTI_LOCATION.CONTACTS.SUBROUTES.LIST,\n    pathMatch: 'full',\n  },\n  {\n    path: PAGE_ROUTES.MULTI_LOCATION.CONTACTS.SUBROUTES.LIST,\n    loadComponent: () => import('./brand-crm-contacts.component').then((m) => m.BrandCrmContactsComponent),\n    data: {\n      objectType: 'contacts',\n    },\n  },\n  {\n    path: PAGE_ROUTES.MULTI_LOCATION.CONTACTS.SUBROUTES.PROFILE,\n    loadComponent: () =>\n      import('../../contact/contact-profile.component').then((m) => m.CrmContactProfilePageComponent),\n    canActivate: [PermissionsGuard],\n    data: {\n      objectType: 'contacts',\n    },\n  },\n  {\n    path: PAGE_ROUTES.MULTI_LOCATION.CONTACTS.SUBROUTES.EDIT,\n    loadComponent: () => import('../../contact/edit.component').then((m) => m.CrmEditContactComponent),\n    canActivate: [PermissionsGuard],\n    data: {\n      objectType: 'contacts',\n    },\n  },\n  {\n    path: PAGE_ROUTES.PERMISSION_REQUIRED,\n    loadComponent: () =>\n      import('../../crm-components/permission-required/permission-required.component').then(\n        (m) => m.PermissionRequiredComponent,\n      ),\n  },\n];\n\nconst OBJECT_TYPE: ObjectType = 'Contact';\n\nconst CRM_PROVIDERS = [\n  CompanyTableCustomizationService,\n  ContactTableCustomizationService,\n  CrmFieldOptionsService,\n  CrmFiltersService,\n  CrmFormService,\n  CrmObjectService,\n  CrmTableStateService,\n  CRMTrackingService,\n  OpportunityTableCustomizationService,\n  RestrictedGroupService,\n  TranslateByObjectTypeService,\n];\n\n@NgModule({\n  declarations: [],\n  imports: [CommonModule],\n  providers: [\n    CommonModule,\n    GalaxyPageModule,\n    ...CRM_PROVIDERS,\n    {\n      provide: GalaxyFilterChipInjectionToken,\n      useFactory: tableFiltersInjectionTokenGenerator(OBJECT_TYPE),\n    },\n    {\n      provide: FieldOptionsInjectionToken,\n      useFactory: modelDrivenFormFieldOptionsInjectionTokenGenerator(OBJECT_TYPE),\n    },\n  ],\n})\nexport class BrandCRMContactsModule {}\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { GalaxyPageModule } from '@vendasta/galaxy/page';\nimport {\n  ActivityType,\n  CompanyTableCustomizationService,\n  ContactTableCustomizationService,\n  CrmCoreModule,\n  CrmFieldOptionsService,\n  CrmFiltersService,\n  CrmFormService,\n  CrmObjectService,\n  CrmTableStateService,\n  CRMTrackingService,\n  FieldOptionsInjectionToken as ModelDrivenFormFieldOptionsInjectionToken,\n  modelDrivenFormFieldOptionsInjectionTokenGenerator,\n  ObjectType,\n  OpportunityTableCustomizationService,\n  PageAnalyticsInjectionToken,\n  pageAnalyticsInjectionTokenGenerator,\n  RestrictedGroupService,\n  tableFiltersInjectionTokenGenerator,\n  TranslateByObjectTypeService,\n  TranslateForCrmObjectService,\n} from '@galaxy/crm/static';\nimport { GalaxyFilterChipInjectionToken } from '@vendasta/galaxy/filter/chips';\nimport { Routes } from '@angular/router';\nimport { ListTasksPageComponent } from '../../activity/task/list.component';\n\nexport const MULTI_LOCATION_TASK_ROUTES: Routes = [\n  {\n    path: '',\n    loadComponent: () => import('../../activity/task/list.component').then((m) => m.ListTasksPageComponent),\n    data: { objectType: 'activities' },\n    pathMatch: 'full',\n  },\n];\n\nconst OBJECT_TYPE: ObjectType = 'Activity';\nconst ACTIVITY_TYPE: ActivityType = 'Task';\n\nconst CRM_PROVIDERS = [\n  CompanyTableCustomizationService,\n  ContactTableCustomizationService,\n  CrmCoreModule,\n  CrmFieldOptionsService,\n  CrmFiltersService,\n  CrmFormService,\n  CrmObjectService,\n  CrmTableStateService,\n  CRMTrackingService,\n  OpportunityTableCustomizationService,\n  RestrictedGroupService,\n  TranslateByObjectTypeService,\n  TranslateForCrmObjectService,\n];\n\n@NgModule({\n  declarations: [],\n  imports: [CommonModule, TranslateModule, ListTasksPageComponent],\n  providers: [\n    ListTasksPageComponent,\n    CommonModule,\n    GalaxyPageModule,\n    ...CRM_PROVIDERS,\n    {\n      provide: GalaxyFilterChipInjectionToken,\n      useFactory: tableFiltersInjectionTokenGenerator(OBJECT_TYPE, ACTIVITY_TYPE),\n    },\n    {\n      provide: ModelDrivenFormFieldOptionsInjectionToken,\n      useFactory: modelDrivenFormFieldOptionsInjectionTokenGenerator(OBJECT_TYPE),\n    },\n    {\n      provide: PageAnalyticsInjectionToken,\n      useFactory: pageAnalyticsInjectionTokenGenerator(OBJECT_TYPE),\n    },\n  ],\n})\nexport class BrandCRMTaskModule {}\n", "export { CompanyAdminNotesCardComponent } from './company-to-contact-associations/company-admin-notes-associations-card/company-admin-notes-card.component';\nexport { CrmFulfillmentProjectsAssociationCardComponent } from './fulfillment-projects/fulfillment-projects.component';\n", "import { inject, Injectable } from '@angular/core';\nimport { map, of, switchMap, take } from 'rxjs';\nimport { SnackbarService } from '@vendasta/galaxy/snackbar-service';\nimport { OpenConfirmationModalService } from '@vendasta/galaxy/confirmation-modal';\nimport { TranslateService } from '@ngx-translate/core';\nimport { convertGalaxyFilters, CRMSelectAllOptions } from '@galaxy/crm/static';\nimport { CRMExportService } from '@vendasta/crm';\n\nfunction downloadFile(file: Blob, filename: string): void {\n  const url = window.URL.createObjectURL(file);\n  const link = document.createElement('a');\n  link.setAttribute('style', 'display:none;');\n  document.body.appendChild(link);\n  link.href = url;\n  link.download = filename;\n  link.click();\n  window.URL.revokeObjectURL(url);\n}\n\n@Injectable({ providedIn: 'root' })\nexport class ExportActionsService {\n  confirmationModal = inject(OpenConfirmationModalService);\n  snackbarService = inject(SnackbarService);\n  translateService = inject(TranslateService);\n  exportService = inject(CRMExportService);\n\n  async openSelectAllExportDialog(namespace: string, objectType: string, options?: CRMSelectAllOptions): Promise<void> {\n    let objectTypeString = '';\n    if (objectType === 'Company') {\n      objectTypeString = this.translateService.instant('OBJECT_TYPES.COMPANY_PLURAL');\n    } else if (objectType === 'Contact') {\n      objectTypeString = this.translateService.instant('OBJECT_TYPES.CONTACT_PLURAL');\n    }\n\n    this.confirmationModal\n      .openModal({\n        title: this.translateService.instant('ACTIONS.CRM.EXPORT.TITLE', { objectType: objectTypeString }),\n        message: this.translateService.instant('ACTIONS.CRM.EXPORT.CONFIRMATION_MESSAGE', {\n          objectType: objectTypeString,\n          total: options?.totalObjects || 0,\n        }),\n        confirmButtonText: this.translateService.instant('ACTIONS.CRM.EXPORT.CONFIRM'),\n        cancelButtonText: this.translateService.instant('ACTIONS.CRM.EXPORT.CANCEL'),\n      })\n      .pipe(\n        switchMap((confirmed) => {\n          if (confirmed) {\n            this.snackbarService.openSuccessSnack(this.translateService.instant('ACTIONS.CRM.EXPORT.DOWNLOADING'));\n            const filters = convertGalaxyFilters(options?.filters);\n            return this.exportService.exportCSV(namespace, objectType, options?.search, filters);\n          }\n          return of(null);\n        }),\n        map((response) => {\n          if (response) {\n            downloadFile(response.blob, response.filename);\n            return true;\n          }\n          return false;\n        }),\n        take(1),\n      )\n      .subscribe({\n        next: (completed) => {\n          if (completed) {\n            this.snackbarService.openSuccessSnack(\n              this.translateService.instant('ACTIONS.CRM.EXPORT.SUCCESS', { objectType: objectTypeString }),\n            );\n          }\n        },\n        error: (err) => {\n          console.error(err);\n          this.snackbarService.openErrorSnack(\n            this.translateService.instant('ACTIONS.CRM.EXPORT.ERROR', { objectType: objectTypeString }),\n          );\n        },\n      });\n  }\n}\n", "import { ExportActionsService } from './export-actions.service';\nimport { Row } from '@vendasta/galaxy/table';\nimport { CRMSelectAllOptions, SelectAllAction } from '@galaxy/crm/static';\n\nexport function ExportSelectAllRowAction(\n  namespace: string,\n  service: ExportActionsService,\n  objectType: string,\n  label: string,\n): SelectAllAction {\n  return {\n    label: label,\n    callback: (rows: Row[], options?: CRMSelectAllOptions) => {\n      service.openSelectAllExportDialog(namespace, objectType, options);\n    },\n  };\n}\n", "export * from './export-actions.service';\nexport * from './export-actions';\n", "export * from './pipeline-settings.module';\n", "export { CrmContactProfilePageComponent } from './contact-profile.component';\n", "export * from './lib/crm-components/profile/profile-cards-panel';\nexport * from './lib/crm-components/row-actions';\nexport * from './lib/crm.module';\nexport * from './lib/scoring';\nexport * from './lib/custom-fields';\nexport * from './lib/pipeline-settings';\nexport * from './lib/leaderboard';\nexport * from './lib/crm-components/task-queue';\nexport * from './lib/contact';\nexport * from './lib/crm-components/permission-required';\nexport * from './lib/brand-crm/brand-crm-contacts/brand-crm-contacts.module';\nexport * from './lib/brand-crm/brand-crm-tasks/brand-crm-task.module';\n\n// activity timeline\nexport { CompanyUtmAttributesCardComponent } from './lib/crm-components/profile/profile-cards-panel/company-to-contact-associations/company-UTM-attributes-associations-card/company-utm-attributes-card.component';\n"],
  "mappings": "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",
  "names": ["TaskNameCellComponent", "init_task_name_component", "__esmMin", "init_common", "init_core", "init_table", "init_task_queue_service", "init_esm", "init_src", "CustomCellComponent", "constructor", "name", "taskId", "namespace", "taskQueueService", "inject", "TaskQueueService", "multiLocationConfig", "CrmMultilocationInjectionToken", "value", "newValue", "id", "openTask", "__async", "firstValueFrom", "isMultiLocation$", "of", "taskNamespaces", "Map", "set", "setTaskNamespaces", "startQueue", "__ngFactoryType__", "selectors", "features", "\u0275\u0275InheritDefinitionFeature", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275elementStart", "\u0275\u0275listener", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "CommonModule", "encapsulation", "StatusColumnCell", "BodyColumnCell", "TaskTableCustomizationService", "init_task_table_customization_service", "__esmMin", "init_vendasta_crm", "init_chips", "init_esm", "init_operators", "init_src", "init_task_name_component", "fieldIds", "StandardIds", "ActivityTaskStatus", "SystemFieldIds", "ActivityID", "columnDefinition", "id", "customCellComponent", "TaskStatusCellComponent", "ActivityTaskBody", "TaskBodyCellComponent", "ActivityTableCustomizationService", "constructor", "config", "multiLocationConfig", "crmFieldService", "translate", "ownerFilter$$", "ReplaySubject", "shouldShowLocationColumn$$", "BehaviorSubject", "hasAccessToTaskQueue$", "hasAccessToFeature$", "of", "destroy$", "Subject", "defaultSortingOptions", "fieldId", "getFieldId", "ActivityTaskDueDate", "sortDirection", "SortDirection", "SORT_DIRECTION_ASCENDING", "multiLocationContext$", "pipe", "takeUntil", "subscribe", "context", "next", "groupId", "customizeColumns", "columns", "isMobile", "excludeNonTaskColumns", "customCells", "task", "tableCustomCells", "push", "addAssociatedCompanyColumn", "addAssociatedContactColumn", "getValue", "addLocationColumn", "addCustomColumns", "map", "c", "showBaseColumns", "sortColumns", "TaskCustomColumns", "Location", "title", "customizeFilters", "filters", "excludeNonTaskFilters", "captureInitialFilters", "filterInputOverrides$", "overrides", "overrideCustomFilters", "ownerFilterDefinition", "find", "f", "ActivityOwnerID", "getInitialFilters", "__async", "firstValueFrom", "combineLatest", "currentUserId$", "then", "filterDefinition", "userId", "filterId", "operator", "GalaxyFilterOperator", "FILTER_OPERATOR_IS", "values", "string", "Open", "customizeRowData", "crmObject", "schemaMap", "columnData", "customizeDueDateCellData", "customizeTaskNameCellData", "addLocationCustomCell", "addCustomCells", "addAssociatedCompanyCellData", "addAssociatedContactCellData", "cell", "cellType", "activity", "companyId", "associations", "asc", "crmObjectType", "crmObjectId", "AssociatedCompany", "value", "objectId", "objectType", "namespace", "component", "AssociatedCrmObjectComponent", "instant", "contactId", "AssociatedContact", "ActivityName", "name", "TaskNameCellComponent", "LocationCellComponent", "filter", "getTaskFieldIds", "includes", "ActivityTaskPriority", "ActivityTaskType", "ActivityCreated", "ActivityUpdated", "columnsToHide", "columnsToUnHide", "AssignedTo", "column", "hidden", "columnOrder", "sort", "a", "b", "order", "aIndex", "indexOf", "bIndex", "Infinity", "ngOnDestroy", "complete", "\u0275\u0275inject", "CrmInjectionToken", "CrmMultilocationInjectionToken", "CrmFieldService", "TranslateService", "factory", "\u0275fac", "CacheStorage", "init_cache_storage", "__esmMin", "constructor", "config", "cache", "Map", "maxAge", "strategy", "autoCleanup", "has", "key", "cacheValue", "get", "undefined", "expiresAt", "Date", "now", "delete", "allowExpired", "value", "set", "setTimeout", "toObject", "Object", "fromEntries", "CacheUtils", "init_cache_utils", "__esmMin", "isFunction", "attr", "isString", "isCacheMultiKeyConfig", "config", "multiKey", "undefined", "isCacheBasicConfig", "defaultParamKeyMapper", "value", "JSON", "stringify", "String", "generateObjectMap", "args", "keys", "k", "Map", "lookupKeys", "length", "map", "_", "index", "forEach", "key", "v", "indexMatch", "match", "parseInt", "find", "arg", "Object", "hasOwn", "set", "generateSimpleKey", "fromEntries", "generateMultiKeys", "cfg", "paramProperty", "paramIndex", "Array", "isArray", "Error", "replaceMultiKeys", "newKeys", "CacheService", "init_cache_service", "__esmMin", "init_esm", "init_cache_storage", "init_cache_utils", "applyConfig", "instance", "config", "forEach", "c", "setupMethod", "newStorage", "CacheStorage", "sourceFn", "method", "CacheUtils", "isFunction", "cache", "wrapperFn", "args", "isCacheBasicConfig", "setupMethodForSimpleConfig", "isCacheMultiKeyConfig", "setupMethodForMultiKeyConfig", "bind", "Error", "String", "key", "generateSimpleKey", "keys", "cacheValue", "get", "undefined", "result", "Observable", "applyObservableStrategy", "set", "paramKeys", "generateMultiKeys", "multiKey", "missingParamKeys", "keyMapperFn", "paramKeyMapper", "defaultParamKeyMapper", "param", "has", "push", "value", "ReplaySubject", "length", "newArgs", "replaceMultiKeys", "firstValueFrom", "then", "v", "property", "resultProperty", "Array", "isArray", "index", "next", "observableList", "map", "k", "asObservable", "combineLatest", "pipe", "cacheValues", "strategy", "observable", "share", "shareReplay", "maxAge", "CacheFactory", "init_cache_factory", "__esmMin", "init_core", "init_cache_service", "inject", "service", "opt", "cache", "CacheService", "serviceInstance", "createInstance", "injector", "applyConfig", "methods", "provide", "classRef", "CacheClass", "key", "provRef", "Object", "getOwnPropertyDescriptor", "prov", "__spreadValues", "value", "factory", "currentFactoryFn", "cacheFactoryFn", "args", "instance", "defineProperty", "get", "init_public_api", "__esmMin", "init_cache_factory", "init_cache", "__esmMin", "init_public_api", "PermissionsGuard", "init_permissions_guard_service", "__esmMin", "init_core", "init_router", "init_vendasta_iamv2", "init_vendasta_platform_users", "init_esm", "init_operators", "init_src", "constructor", "config", "inject", "CrmInjectionToken", "multiLocationConfig", "CrmMultilocationInjectionToken", "iamService", "IAMService", "permissionsApiService", "PermissionsApiService", "router", "Router", "checkPermissions", "objectType", "partnerId", "userId", "accountGroupId", "routePrefix", "getPermissions", "pipe", "map", "resp", "hasAccess", "accountGroupDefined", "undefined", "accountGroupPermission", "permissions", "namespace", "some", "item", "namespaceId", "createUrlTree", "PAGE_ROUTES", "PERMISSION_REQUIRED", "catchError", "of", "canActivate", "route", "data", "currentUser$", "currentUserId$", "switchMap", "uniqueUserIdentifiers", "UserIdentifier", "getMultiUsers", "response", "multiLocationContext$", "combineLatest", "namespace$", "parentNamespace$", "user", "parentNamespace", "context", "roles", "hasDeveloperRole", "isSuperAdmin", "attributes", "boolAttribute", "groupId", "accountGroupsIds", "length", "routePrefix$", "routeWithObject", "targetNamespace", "factory", "\u0275fac", "cacheProviders", "cacheStrategy", "maxAge", "observable", "share", "autoCleanup", "provide", "CRMOpportunityApiService", "useClass", "CacheFactory", "methods", "method", "strategy", "CRM_ROUTES", "CrmModule", "init_crm_module", "__esmMin", "init_core", "init_src", "init_bulk_import_stepper_service", "init_field_mapping_service", "init_csv_parser_service", "init_google_maps", "init_task_table_customization_service", "init_task_queue_service", "init_feature_flag_guard_service", "init_vendasta_crm", "init_cache", "init_permissions_guard_service", "path", "redirectTo", "PAGE_ROUTES", "CONTACT", "ROOT", "SUBROUTES", "LIST", "pathMatch", "loadChildren", "then", "m", "CrmContactModule", "canActivate", "PermissionsGuard", "data", "objectType", "pageId", "COMPANY", "CrmCompanyModule", "OPPORTUNITY", "CrmOpportunityModule", "TASK", "CrmTaskModule", "ACTIVITIES", "CrmActivityFeedModule", "PIPELINE_SETTINGS", "PipelineSettingsModule", "CUSTOM_OBJECT", "CrmCustomObjectModule", "FeatureFlagGuard", "featureFlag", "PERMISSION_REQUIRED", "loadComponent", "PermissionRequiredComponent", "BULK_IMPORT", "CrmBulkImportComponent", "CALLS", "MeetingAnalysisModule", "CrmPageNotFoundComponent", "withOptions", "options", "providers", "cache", "push", "ngModule", "BulkImportStepperService", "FieldMappingService", "CsvParserService", "CrmFieldOptionsService", "CrmFiltersService", "CrmFormService", "ListObjectsTableService", "ValueSummaryService", "ActivityObjectService", "ContactService", "CompanyService", "CrmObjectService", "CompanyBatchGetterService", "CrmAssociationService", "CRMTrackingService", "CrmFieldService", "ActivityService", "CompanyProfileCardsPanelService", "TranslateByObjectTypeService", "TranslateForCrmObjectService", "RendererSelectorService", "AutocompleteService", "UpdaterService", "ValidatorFactoryService", "RestrictedGroupService", "ContactTableCustomizationService", "CompanyTableCustomizationService", "OpportunityTableCustomizationService", "CrmTableStateService", "DefaultAssociationActionsService", "CompanyFiltersService", "ActivityAssigneeService", "TaskTableCustomizationServiceToken", "TaskTableCustomizationService", "MEETING_ANALYSIS_NAMESPACE_INJECTION_TOKEN$", "useFactory", "inject", "CrmInjectionToken", "namespace$", "deps", "CrmMultilocationInjectionToken", "TaskQueueService", "CRMExportService", "imports", "TranslationModule", "GoogleMapsModule", "CampaignTranslationModule", "OBJECT_ROUTES", "CrmScoringDefinitionModule", "init_scoring_definition_module", "__esmMin", "init_common", "init_router", "init_page", "init_icon", "init_src", "init_form_field", "init_input", "init_button", "init_forms", "init_constants", "init_select", "init_scoring_definition", "init_tabs", "init_autocomplete", "init_empty_state", "path", "OBJECT_TYPE_URL_PARAM", "FIELD_ID_URL_PARAM", "loadComponent", "then", "m", "ScoringDefinitionPageComponent", "ScoringDefinitionService", "CrmFiltersService", "CrmObjectService", "CrmFieldOptionsService", "RestrictedGroupService", "ContactTableCustomizationService", "CompanyTableCustomizationService", "imports", "CommonModule", "RouterModule", "forChild", "GalaxyPageModule", "MatIconModule", "DropdownComponent", "GalaxyFormFieldModule", "MatInputModule", "MatButtonModule", "MatSelectModule", "ReactiveFormsModule", "TranslationModule", "MatTabsModule", "MatAutocompleteModule", "GalaxyEmptyStateModule", "ScoringDefinitionFieldValueComponent", "ScoringDefinitionSectionComponent", "ScoringDefinitionCardComponent", "ScoringDefinitionFieldIdComponent", "ScoringDefinitionFieldOperatorComponent", "init_scoring", "__esmMin", "init_scoring_definition_module", "CustomFieldsManagementTableChangesService", "init_custom_fields_management_table_changes_service", "__esmMin", "init_core", "init_src", "init_esm", "init_rxjs_interop", "constructor", "config", "crmFieldSchemaApiService", "deletedFieldIds", "signal", "Map", "createdFields", "updatedFields", "deletedFieldIds$", "toObservable", "createdFields$", "updatedFields$", "changes$", "combineLatest", "pipe", "map", "createField", "objectType", "field", "namespace$", "switchMap", "namespace", "createFieldSchema", "crmObjectType", "fieldSchema", "__spreadProps", "__spreadValues", "withLatestFrom", "resp", "getMultiFieldSchema", "fieldId", "catchError", "of", "take", "tap", "getResponse", "update", "fieldMap", "fieldsPerObjectType", "get", "fieldSchemas", "set", "response", "updateField", "updateFieldSchema", "fieldMask", "paths", "index", "findIndex", "f", "deleteField", "request", "archiveFieldSchema", "resetChanges", "\u0275\u0275inject", "CrmInjectionToken", "CRMFieldSchemaApiService", "factory", "\u0275fac", "isSystemField", "namespace", "startsWith", "init_utils", "__esmMin", "\u0275\u0275element", "\u0275\u0275elementStart", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275property", "row_r1", "\u0275\u0275text", "\u0275\u0275listener", "row_r3", "\u0275\u0275restoreView", "_r2", "$implicit", "ctx_r3", "\u0275\u0275nextContext", "\u0275\u0275resetView", "openEdit", "openDelete", "menu_r5", "\u0275\u0275textInterpolate", "\u0275\u0275pipeBind1", "isSystemFieldMap", "id", "\u0275\u0275template", "ListCustomFieldManagementTableComponent_Conditional_0_tr_4_Template", "\u0275\u0275elementContainerStart", "ListCustomFieldManagementTableComponent_Conditional_0_th_6_Template", "ListCustomFieldManagementTableComponent_Conditional_0_td_7_Template", "ListCustomFieldManagementTableComponent_Conditional_0_th_9_Template", "ListCustomFieldManagementTableComponent_Conditional_0_td_10_Template", "ListCustomFieldManagementTableComponent_Conditional_0_tr_11_Template", "undefined", "dataSource", "columns", "\u0275\u0275pureFunction0", "_c0", "loading$", "_c1", "ListCustomFieldManagementTableComponent", "init_custom_field_management_table_component", "__esmMin", "init_core", "init_src", "init_common", "init_button", "init_ngx_translate_core", "init_button_loading_indicator", "init_form_field", "init_icon", "init_table", "init_esm", "init_vendasta_crm", "init_loading_spinner", "init_empty_state", "init_menu", "init_forms", "init_animations", "init_utils", "objType", "objectType", "constructor", "config", "crmFieldSchemaApiService", "tableChangesService", "editField", "EventEmitter", "deleteField", "allFields", "signal", "computed", "reduce", "acc", "field", "fieldId", "isSystemField", "namespace", "loading", "title", "hidden", "paginatedAPI", "get", "req", "resetChanges", "combineLatest", "changes$", "listFieldSchema", "pipe", "map", "deletedFieldIds", "createdFields", "updatedFields", "resp", "fieldSchemas", "applyCreatedFieldChanges", "applyUpdatedFieldChanges", "applyDeletedFieldChanges", "tap", "set", "data", "option", "rowData", "pagingMetadata", "nextCursor", "hasMore", "totalResults", "Infinity", "GalaxyDataSource", "existingResponseSchemas", "updatedField", "find", "__spreadValues", "deletedFields", "filter", "includes", "findIndex", "f", "unshift", "namespace$", "switchMap", "crmObjectType", "pagingOptions", "cursor", "pageSize", "searchTerm", "searchOptions", "text", "catchError", "of", "crmObjects", "shareReplay", "row", "emit", "value", "rowAction", "name", "cellType", "fieldName", "description", "fieldDescription", "field_type", "fieldType", "customFieldTypeToReadableText", "created", "external_id", "externalId", "action", "FieldType", "FIELD_TYPE_DATE", "FIELD_TYPE_INTEGER", "FIELD_TYPE_STRING", "FIELD_TYPE_STRING_LIST", "FIELD_TYPE_GEOPOINT", "FIELD_TYPE_FLOAT", "FIELD_TYPE_BOOLEAN", "FIELD_TYPE_TAG", "FIELD_TYPE_PHONE", "FIELD_TYPE_EMAIL", "FIELD_TYPE_DATETIME", "\u0275\u0275directiveInject", "CrmInjectionToken", "CRMFieldSchemaApiService", "CustomFieldsManagementTableChangesService", "selectors", "inputs", "outputs", "decls", "vars", "consts", "template", "rf", "ctx", "ListCustomFieldManagementTableComponent_Conditional_0_Template", "ListCustomFieldManagementTableComponent_Conditional_1_Template", "\u0275\u0275conditional", "CommonModule", "AsyncPipe", "MatMenuModule", "MatMenu", "MatMenuItem", "MatMenuTrigger", "MatTableModule", "MatTable", "MatHeaderCellDef", "MatHeaderRowDef", "MatColumnDef", "MatCellDef", "MatRowDef", "MatHeaderCell", "MatCell", "MatHeaderRow", "MatRow", "MatButtonModule", "MatIconButton", "TranslateModule", "TranslatePipe", "GalaxyButtonLoadingIndicatorModule", "GalaxyFormFieldModule", "MatIconModule", "MatIcon", "GalaxyTableModule", "TableContainerComponent", "TableContentHeaderComponent", "GalaxySelectionComponent", "GalaxyLoadingSpinnerModule", "LoadingSpinnerComponent", "GalaxyEmptyStateModule", "ReactiveFormsModule", "encapsulation", "animation", "LoadingBehavior", "FadeIn", "\u0275\u0275elementStart", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r2", "ctx_r2", "\u0275\u0275nextContext", "\u0275\u0275resetView", "showExternalIdPopover", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275property", "externalIdPopover_r4", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "\u0275\u0275pipeBind1", "isNewFieldEditor", "sanitizeName", "name", "toLowerCase", "trim", "replace", "ExternalIdComponent", "init_external_id_component", "__esmMin", "init_common", "init_core", "init_forms", "init_button", "init_form_field", "init_icon", "init_input", "init_ngx_translate_core", "init_popover", "init_esm", "init_src", "init_tooltip", "externalId", "value", "sanitizedExternalId", "initialExternalId", "set", "externalIdNewValue", "setValue", "createNewField", "newName", "constructor", "config", "changeDetector", "schemaService", "FormControl", "Validators", "pattern", "PopoverPositions", "isExternalIdPopoverVisible", "isExternalIdSet", "signal", "fieldId", "disabled", "externalIdChange", "EventEmitter", "externalIdErrors", "isDuplicateExternalId$", "combineLatest", "namespace$", "valueChanges", "pipe", "debounceTime", "switchMap", "namespace", "externalIdGet", "of", "fieldSchemas", "getMultiFieldSchema", "crmObjectType", "objectType", "catchError", "map", "resp", "some", "fieldSchema", "tap", "foundDuplicate", "setErrors", "duplicate", "emit", "setExternalId", "cancelExternalId", "\u0275\u0275directiveInject", "CrmInjectionToken", "ChangeDetectorRef", "CRMFieldSchemaApiService", "selectors", "inputs", "outputs", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275elementContainerStart", "\u0275\u0275template", "ExternalIdComponent_a_9_Template", "ExternalIdComponent_div_10_Template", "\u0275\u0275element", "ExternalIdComponent_glxy_error_19_Template", "ExternalIdComponent_glxy_error_20_Template", "i0", "_r1", "\u0275\u0275pureFunction1", "_c0", "_c1", "Bottom", "BottomRight", "hasError", "MatButtonModule", "MatButton", "MatFormFieldModule", "MatError", "MatIconModule", "MatIcon", "MatInputModule", "MatInput", "ReactiveFormsModule", "DefaultValueAccessor", "NgControlStatus", "FormControlDirective", "TranslateModule", "TranslatePipe", "GalaxyPopoverModule", "PopoverComponent", "PopoverActionsDirective", "GalaxyPopoverDirective", "CommonModule", "NgClass", "NgIf", "AsyncPipe", "GalaxyFormFieldModule", "FormFieldComponent", "ErrorDirective", "GalaxyTooltipModule", "GalaxyTooltipDirective", "styles", "encapsulation", "import_strings", "DasherizePipe", "init_dasherize_pipe", "__esmMin", "transform", "value", "dasherize", "pure", "\u0275\u0275elementContainer", "\u0275\u0275template", "ListCustomFieldManagementPageComponent_For_27_Conditional_1_ng_container_0_Template", "\u0275\u0275property", "nav_r2", "component", "inputs", "\u0275\u0275elementStart", "ListCustomFieldManagementPageComponent_For_27_Conditional_1_Template", "\u0275\u0275elementEnd", "label", "\u0275\u0275advance", "\u0275\u0275conditional", "\u0275\u0275pipeBind1", "ctx_r2", "currentTabClicked", "\u0275\u0275text", "\u0275\u0275textInterpolate1", "fieldType_r5", "example", "ListCustomFieldManagementPageComponent_ng_template_28_For_41_Conditional_0_Conditional_3_Template", "fieldType", "ListCustomFieldManagementPageComponent_ng_template_28_For_41_Conditional_0_Template", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r6", "\u0275\u0275nextContext", "\u0275\u0275resetView", "createField", "_r7", "editField", "ListCustomFieldManagementPageComponent_ng_template_28_Conditional_1_Template", "\u0275\u0275element", "ListCustomFieldManagementPageComponent_ng_template_28_Conditional_25_Template", "$event", "_r4", "externalIdChanged", "externalIdErrorsChanged", "\u0275\u0275repeaterCreate", "ListCustomFieldManagementPageComponent_ng_template_28_For_41_Template", "_forTrack0", "ListCustomFieldManagementPageComponent_ng_template_28_Conditional_42_Template", "ListCustomFieldManagementPageComponent_ng_template_28_Conditional_43_Template", "ListCustomFieldManagementPageComponent_ng_template_28_Conditional_44_Template", "isSystemField", "formGroup", "\u0275\u0275textInterpolate", "\u0275\u0275propertyInterpolate", "get", "touched", "hasError", "editObjectId", "tmp_19_0", "value", "externalId", "undefined", "tmp_20_0", "fieldName", "controls", "action", "isEditingDisabled", "\u0275\u0275repeater", "fieldTypes", "DeleteStatus", "ListCustomFieldManagementPageComponent", "init_custom_field_management_page_component", "__esmMin", "init_core", "init_src", "init_common", "init_button", "init_ngx_translate_core", "init_form_field", "init_tabs", "init_custom_field_management_table_component", "init_page", "init_forms", "init_select", "init_input", "init_vendasta_crm", "init_esm", "init_alert", "init_custom_fields_management_table_changes_service", "init_external_id_component", "init_dasherize_pipe", "init_utils", "constructor", "snackService", "translateService", "tableChangesService", "modalService", "drawer", "viewChild", "required", "upsertTemplateRef", "extraNavs", "input", "signal", "externalIdPristine", "computed", "FormBuilder", "nonNullable", "group", "Validators", "FieldType", "FIELD_TYPE_INVALID", "fieldDescription", "objectType", "FIELD_TYPE_STRING", "FIELD_TYPE_INTEGER", "FIELD_TYPE_FLOAT", "FIELD_TYPE_EMAIL", "FIELD_TYPE_PHONE", "FIELD_TYPE_DATE", "FIELD_TYPE_DATETIME", "FIELD_TYPE_BOOLEAN", "createDrawer", "reset", "Object", "keys", "forEach", "controlName", "enable", "set", "open", "instant", "editDrawer", "row", "id", "setValue", "readableTextToCustomFieldType", "data", "disable", "confirmDelete", "__async", "dialogResult$", "openModal", "type", "title", "message", "confirmButtonText", "hideCancel", "cancelButtonText", "actionOnEnterKey", "cancelOnEscapeKeyOrBackgroundClick", "width", "pipe", "switchMap", "result", "deleteField", "namespace", "crmObjectType", "fieldId", "map", "deleted", "Success", "Failure", "of", "Skipped", "firstValueFrom", "openSuccessSnack", "duration", "SNACKBAR_DURATION", "openErrorSnack", "markAllAsTouched", "invalid", "sanitizeName", "take", "subscribe", "created", "close", "updateField", "edited", "tabClicked", "event", "newExternalIdValue", "errors", "setErrors", "text", "FIELD_TYPE_STRING_LIST", "FIELD_TYPE_GEOPOINT", "FIELD_TYPE_TAG", "\u0275\u0275directiveInject", "SnackbarService", "TranslateService", "CustomFieldsManagementTableChangesService", "OpenConfirmationModalService", "selectors", "viewQuery", "rf", "ctx", "decls", "vars", "consts", "template", "i0", "_r1", "ListCustomFieldManagementPageComponent_For_27_Template", "\u0275\u0275repeaterTrackByIdentity", "ListCustomFieldManagementPageComponent_ng_template_28_Template", "\u0275\u0275templateRefExtractor", "GalaxyPageModule", "PageComponent", "PageToolbarComponent", "PageTitleDirective", "PageNavDirective", "PageNavButtonComponent", "CrmDrawerComponent", "TranslateModule", "TranslatePipe", "VerticalNavTabComponent", "VerticalNavCardComponent", "MatTabGroup", "MatTab", "ListCustomFieldManagementTableComponent", "DasherizePipe", "GalaxyAlertModule", "AlertComponent", "GalaxyFormFieldModule", "FormFieldComponent", "FormRowComponent", "LabelDirective", "ErrorDirective", "MatOption", "ReactiveFormsModule", "\u0275NgNoValidate", "DefaultValueAccessor", "NgControlStatus", "NgControlStatusGroup", "FormGroupDirective", "FormControlName", "MatSelect", "ExternalIdComponent", "NgComponentOutlet", "MatInput", "MatAnchor", "MatButton", "styles", "init_custom_fields", "__esmMin", "init_custom_field_management_page_component", "routes", "LeaderboardPageModule", "init_leaderboard_page_module", "__esmMin", "init_router", "path", "loadComponent", "then", "m", "LeaderboardPageComponent", "RouterModule", "forChild", "init_leaderboard", "__esmMin", "init_leaderboard_page_module", "MULTI_LOCATION_CONTACT_ROUTES", "OBJECT_TYPE", "CRM_PROVIDERS", "BrandCRMContactsModule", "init_brand_crm_contacts_module", "__esmMin", "init_common", "init_page", "init_src", "init_chips", "init_permissions_guard_service", "path", "redirectTo", "PAGE_ROUTES", "MULTI_LOCATION", "CONTACTS", "SUBROUTES", "LIST", "pathMatch", "loadComponent", "then", "m", "BrandCrmContactsComponent", "data", "objectType", "PROFILE", "CrmContactProfilePageComponent", "canActivate", "PermissionsGuard", "EDIT", "CrmEditContactComponent", "PERMISSION_REQUIRED", "PermissionRequiredComponent", "CompanyTableCustomizationService", "ContactTableCustomizationService", "CrmFieldOptionsService", "CrmFiltersService", "CrmFormService", "CrmObjectService", "CrmTableStateService", "CRMTrackingService", "OpportunityTableCustomizationService", "RestrictedGroupService", "TranslateByObjectTypeService", "CommonModule", "GalaxyPageModule", "provide", "GalaxyFilterChipInjectionToken", "useFactory", "tableFiltersInjectionTokenGenerator", "FieldOptionsInjectionToken", "modelDrivenFormFieldOptionsInjectionTokenGenerator", "imports", "MULTI_LOCATION_TASK_ROUTES", "OBJECT_TYPE", "ACTIVITY_TYPE", "CRM_PROVIDERS", "BrandCRMTaskModule", "init_brand_crm_task_module", "__esmMin", "init_common", "init_ngx_translate_core", "init_page", "init_src", "init_chips", "init_list_component", "path", "loadComponent", "then", "m", "ListTasksPageComponent", "data", "objectType", "pathMatch", "CompanyTableCustomizationService", "ContactTableCustomizationService", "CrmCoreModule", "CrmFieldOptionsService", "CrmFiltersService", "CrmFormService", "CrmObjectService", "CrmTableStateService", "CRMTrackingService", "OpportunityTableCustomizationService", "RestrictedGroupService", "TranslateByObjectTypeService", "TranslateForCrmObjectService", "CommonModule", "GalaxyPageModule", "provide", "GalaxyFilterChipInjectionToken", "useFactory", "tableFiltersInjectionTokenGenerator", "ModelDrivenFormFieldOptionsInjectionToken", "modelDrivenFormFieldOptionsInjectionTokenGenerator", "PageAnalyticsInjectionToken", "pageAnalyticsInjectionTokenGenerator", "imports", "TranslateModule", "init_profile_cards_panel", "__esmMin", "downloadFile", "file", "filename", "url", "window", "URL", "createObjectURL", "link", "document", "createElement", "setAttribute", "body", "appendChild", "href", "download", "click", "revokeObjectURL", "ExportActionsService", "init_export_actions_service", "__esmMin", "init_core", "init_esm", "init_snackbar_service", "init_confirmation_modal", "init_ngx_translate_core", "init_src", "init_vendasta_crm", "constructor", "confirmationModal", "inject", "OpenConfirmationModalService", "snackbarService", "SnackbarService", "translateService", "TranslateService", "exportService", "CRMExportService", "openSelectAllExportDialog", "namespace", "objectType", "options", "__async", "objectTypeString", "instant", "openModal", "title", "message", "total", "totalObjects", "confirmButtonText", "cancelButtonText", "pipe", "switchMap", "confirmed", "openSuccessSnack", "filters", "convertGalaxyFilters", "exportCSV", "search", "of", "map", "response", "blob", "take", "subscribe", "next", "completed", "error", "err", "console", "openErrorSnack", "factory", "\u0275fac", "providedIn", "ExportSelectAllRowAction", "namespace", "service", "objectType", "label", "callback", "rows", "options", "openSelectAllExportDialog", "init_export_actions", "__esmMin", "init_row_actions", "__esmMin", "init_export_actions_service", "init_export_actions", "init_pipeline_settings", "__esmMin", "init_pipeline_settings_module", "init_contact", "__esmMin", "init_src", "__esmMin", "init_profile_cards_panel", "init_row_actions", "init_crm_module", "init_scoring", "init_custom_fields", "init_pipeline_settings", "init_leaderboard", "init_task_queue", "init_contact", "init_permission_required", "init_brand_crm_contacts_module", "init_brand_crm_task_module"]
}