{ "version": 3, "sources": ["libs/crm/static/src/lib/shared-components/list-objects/list-objects-table.service.ts", "libs/crm/static/src/lib/shared-components/side-panel/side-panel.service.ts", "libs/crm/static/src/lib/shared-components/side-panel/side-panel.component.ts", "libs/crm/static/src/lib/shared-components/side-panel/side-panel.component.html", "libs/crm/static/src/lib/shared-components/list-objects/delete-modal/delete-modal.component.ts", "libs/crm/static/src/lib/shared-components/list-objects/delete-modal/delete-modal.component.html", "libs/crm/static/src/lib/shared-pipes/filter-visible-actions.pipe.ts", "libs/crm/static/src/lib/shared-components/list-objects/list-objects-table.component.ts", "libs/crm/static/src/lib/shared-components/list-objects/list-objects-table.component.html"], "sourcesContent": ["import { Inject, Injectable, OnDestroy } from '@angular/core';\nimport { MatSort } from '@angular/material/sort';\nimport { TranslateService } from '@ngx-translate/core';\nimport { RxState } from '@rx-angular/state';\nimport {\n CrmObjectInterface,\n FieldSchemaInterface,\n FieldType,\n FieldValueInterface,\n FilterOperator,\n ListCrmObjectsResponseInterface,\n} from '@vendasta/crm';\nimport { GalaxyFilterInterface } from '@vendasta/galaxy/filter/chips';\nimport { SnackbarService } from '@vendasta/galaxy/snackbar-service';\nimport {\n CellData,\n DateData,\n GalaxyDataSource,\n PagedListRequestInterface,\n PagedResponseInterface,\n PhoneData,\n Row,\n TextData,\n} from '@vendasta/galaxy/table';\nimport { GalaxyColumnDef } from '@vendasta/galaxy/table/src/table.interface';\nimport { BehaviorSubject, Observable, asyncScheduler, combineLatest, of } from 'rxjs';\nimport { catchError, distinctUntilChanged, map, observeOn, switchMap, take, tap, withLatestFrom } from 'rxjs/operators';\nimport { TaskTableCustomizationService } from '../../shared-services/table-customization/task-table-customization.service';\nimport { CrmFormService } from '../../shared-services/crm-services/crm-form.service';\nimport { CrmObjectService } from '../../shared-services/crm-services/crm-object-service/crm-object.service';\nimport { CrmTableStateService } from '../../shared-services/crm-services/crm-object-service/crm-table-state.service';\nimport { ActivityType, ObjectType } from '../../tokens-and-interfaces';\nimport { LIST_OBJECTS_DEFAULT_PAGE_SIZE } from '../../constants';\nimport { CRMTrackingService } from '../../shared-services/page-analytics.service';\nimport { PreviewObjectService } from '../../shared-services/preview-object.service';\nimport { CrmInjectionToken, CrmDependencies } from '../../tokens-and-interfaces';\nimport {\n ColumnDataInterface,\n TableCustomizationServiceInterface,\n ContactTableCustomizationService,\n CompanyTableCustomizationService,\n SystemFieldIds,\n} from '../../shared-services';\n\ninterface ColumnDef extends GalaxyColumnDef {\n external_id?: string;\n}\n\n@Injectable()\nexport class ListObjectsTableService implements OnDestroy {\n dataSource: GalaxyDataSource;\n columns$: Observable = this.state.select('columns');\n groupConfigs$: Observable = this.state.select('groupConfigs');\n initialLoading$: Observable = this.state.select('initialLoading');\n deletedObjectIds$: Observable = this.state.select('deletedObjectIds');\n showEmptyState$: Observable = combineLatest([\n this.initialLoading$,\n this.state.select('receivedObject'),\n ]).pipe(map(([loading, hasObjects]) => !loading && !hasObjects));\n showObjects$: Observable = combineLatest([this.initialLoading$, this.showEmptyState$]).pipe(\n map(([loading, showEmptyState]) => !loading && !showEmptyState),\n );\n private data$$ = new BehaviorSubject([]);\n readonly data$ = combineLatest([this.data$$, this.deletedObjectIds$]).pipe(\n map(([rows, deleted]) => rows.filter((r) => !deleted.includes(r.crmObjectId || ''))),\n );\n filters: GalaxyFilterInterface[] = [];\n sorting: MatSort[] = [];\n private baseColumnIds: string[] = [];\n private showActions = true;\n\n constructor(\n @Inject(CrmInjectionToken) private readonly config: CrmDependencies,\n private readonly objectsService: CrmObjectService,\n private readonly fieldsService: CrmFormService,\n private readonly state: RxState,\n private readonly translate: TranslateService,\n private readonly previewObjectService: PreviewObjectService,\n private readonly trackingService: CRMTrackingService,\n private readonly contactCustomization: ContactTableCustomizationService,\n private readonly companyCustomization: CompanyTableCustomizationService,\n private readonly taskCustomization: TaskTableCustomizationService,\n private readonly tableStateService: CrmTableStateService,\n private readonly snackService: SnackbarService,\n private readonly crmFormService: CrmFormService,\n ) {\n const initial: ComponentState = {\n objectType: 'Contact', // this must have a default value, but the service should be initialized with setObjectType\n fieldSchemas: [],\n columns: [],\n groupConfigs: [],\n initialLoading: true,\n receivedObject: false,\n deletedObjectIds: [],\n };\n this.state.set(initial);\n\n const schemas$: Observable = combineLatest([\n this.config.namespace$,\n this.state.select('objectType'),\n ]).pipe(\n distinctUntilChanged((a, b) => JSON.stringify(a) === JSON.stringify(b)),\n switchMap(([, objectType]) => this.fieldsService.listAllObjectFields$(objectType)),\n );\n this.state.connect(\n schemas$.pipe(\n map((schemas) => {\n const newState: Partial = {\n fieldSchemas: schemas,\n };\n return newState;\n }),\n ),\n );\n\n this.state.connect(\n schemas$.pipe(\n observeOn(asyncScheduler),\n map((schemas: FieldSchemaInterface[]) => schemas.map((schema) => this.fieldSchemaToTableColumn(schema))),\n switchMap((columns: GalaxyColumnDef[]) => combineLatest([this.applyColumnLayout$(columns)])),\n map(([columns]) =>\n this.customizedColumns(this.state.get('objectType'), columns, false, this.state.get('activityType')),\n ),\n map((columns) => this.addStaticColumns(columns)),\n switchMap((columns) => {\n return this.showBaseColumns(columns);\n }),\n switchMap((columns) => {\n return this.tableStateService.initializeLocalStorageColumns(columns);\n }),\n switchMap((columns) => this.addColumnGroups(columns)),\n ),\n );\n\n this.state.connect(\n this.config.namespace$.pipe(\n distinctUntilChanged(),\n map(() => ({ initialLoading: true })),\n ),\n );\n\n const paginatedAPI = {\n get: (\n req: PagedListRequestInterface,\n ): Observable> => {\n req.filters = this.filters;\n const results = this.listObjects(req).pipe(\n catchError(() => {\n this.snackService.openErrorSnack('ERRORS.GENERIC_MESSAGE');\n return of({\n crmObjects: [],\n pagingMetadata: {\n nextCursor: '',\n hasMore: false,\n },\n }) as Observable;\n }),\n tap((resp) => {\n const receivedObject = this.state.get('receivedObject');\n if (!receivedObject && (resp?.crmObjects || []).length > 0) {\n this.state.set({ receivedObject: true });\n }\n }),\n tap(() => {\n if (req.searchOptions?.text) {\n this.trackingService.trackEvent(this.state.get('objectType'), 'searched-crm-object', {\n searchFields: req.searchOptions.fields,\n });\n }\n }),\n tap((resp) => this.data$$.next(resp.crmObjects || [])),\n withLatestFrom(this.state.select('fieldSchemas')),\n map(([objectListResp, schemas]) => {\n const rows = this.crmObjectsToTableRows(objectListResp?.crmObjects || [], schemas);\n return {\n data: rows,\n pagingMetadata: {\n nextCursor: objectListResp?.pagingMetadata?.nextCursor || '',\n hasMore: objectListResp?.pagingMetadata?.hasMore || false,\n totalResults: objectListResp?.pagingMetadata?.totalResults || Infinity,\n },\n } as PagedResponseInterface;\n }),\n );\n\n return combineLatest([results, this.state.select('deletedObjectIds')]).pipe(\n map(([rows, deleted]) => {\n rows.data = rows.data.filter((r) => !deleted.includes(r.id));\n return rows;\n }),\n );\n },\n };\n this.dataSource = new GalaxyDataSource(paginatedAPI);\n }\n\n applyColumnLayout$(columns: ColumnDef[]): Observable {\n return this.fieldsService.listAllObjectFieldGroups$(this.state.get('objectType')).pipe(\n map((fieldGroups) => {\n const fieldIds: string[] = fieldGroups.reduce(\n (r: string[], fieldGroup) => r.concat(fieldGroup.fieldIds ?? []),\n [],\n );\n\n const sortedColumns: ColumnDef[] = JSON.parse(JSON.stringify(columns));\n sortedColumns.sort((a, b) => {\n let indexA = fieldIds.indexOf(a.id);\n if (indexA === -1 && a.external_id) {\n indexA = fieldIds.indexOf(a.external_id);\n }\n let indexB = fieldIds.indexOf(b.id);\n if (indexB === -1 && b.external_id) {\n indexB = fieldIds.indexOf(b.external_id);\n }\n if (indexA === -1) {\n return 1;\n }\n if (indexB === -1) {\n return -1;\n }\n return indexA - indexB;\n });\n\n const firstFieldGroupFieldIds = fieldGroups[0]?.fieldIds ?? [];\n for (const column of sortedColumns) {\n if (firstFieldGroupFieldIds.includes(column.id)) {\n continue;\n }\n column.hidden = true;\n }\n\n return sortedColumns;\n }),\n );\n }\n\n addStaticColumns(columns: GalaxyColumnDef[]): GalaxyColumnDef[] {\n if (!this.showActions) {\n return columns;\n }\n const actionsColumn: GalaxyColumnDef = {\n id: 'actions',\n title: this.translate.instant('LIST_OBJECTS_TABLE.ACTIONS_COLUMN.TITLE'),\n pinned: true,\n stickyEnd: true,\n sortable: false,\n };\n return [...columns, actionsColumn];\n }\n\n addColumnGroups(columns: GalaxyColumnDef[]): Observable> {\n return this.crmFormService.listAllObjectFieldGroups$(this.state.get('objectType')).pipe(\n map((groups) => {\n const groupConfigs: GalaxyColumnDef[] = groups.map((group) => {\n return {\n id: this.translate.instant(group.fieldGroupId ?? 'Custom'),\n title: this.translate.instant(group.description ?? 'Custom fields'),\n columns: (group.fieldIds || []).map((fieldId) => {\n return columns.find((column) => {\n return column.id === fieldId;\n });\n }),\n };\n });\n return groupConfigs;\n }),\n map((groups) => {\n const newState: Partial = {\n columns: columns,\n groupConfigs: groups,\n };\n return newState;\n }),\n );\n }\n\n private moveItemsToBeginning(columns: GalaxyColumnDef[], identifiersToMove: string[]): GalaxyColumnDef[] {\n const movedToFront: GalaxyColumnDef[] = [];\n\n for (const id of identifiersToMove) {\n const col = columns.find((c) => c.id === id);\n if (col) {\n movedToFront.push(col);\n }\n }\n const movedToBack = columns.filter((c) => !movedToFront.find((m) => m.id === c.id));\n return [...movedToFront, ...movedToBack];\n }\n\n showBaseColumns(columns: GalaxyColumnDef[]): Observable {\n return of(false).pipe(\n map((isMobile) => {\n if (isMobile) {\n return columns;\n }\n for (const col of this.baseColumnIds) {\n const index = columns.findIndex((c) => c.id === col);\n if (index > -1) {\n columns[index].hidden = false;\n }\n }\n return this.moveItemsToBeginning(columns, this.baseColumnIds);\n }),\n );\n }\n\n deleteObject(objectId: string): Observable {\n return this.state.select('objectType').pipe(\n switchMap((objectType) => this.objectsService.deleteCrmObject(objectType, objectId)),\n withLatestFrom(this.state.select('deletedObjectIds')),\n tap(([, deleted]) => {\n this.state.set({ deletedObjectIds: [...deleted, objectId] });\n return this.state;\n }),\n take(1),\n );\n }\n\n setObjectType(objectType: ObjectType): void {\n this.state.set({ objectType: objectType });\n }\n\n setActivityType(activityType: ActivityType): void {\n this.state.set({ activityType: activityType });\n }\n\n setBaseColumns(baseColumnIds: string[]): void {\n this.baseColumnIds = baseColumnIds;\n }\n\n setShowActions(showActions: boolean): void {\n this.showActions = showActions;\n }\n\n private listObjects(\n req: PagedListRequestInterface,\n ): Observable {\n return this.state.select('objectType').pipe(\n observeOn(asyncScheduler),\n tap(() =>\n this.state.set({\n deletedObjectIds: [],\n }),\n ),\n switchMap((objectType) => {\n const filterGroup = this.objectsService.convertFilters([...(req.filters || [])]);\n if (filterGroup && objectType === 'Activity') {\n const activityType = this.state.get('activityType');\n if (activityType) {\n filterGroup.filters?.push(this.getActivityTypeFilter(activityType));\n }\n }\n\n let sortBy = this.objectsService.convertSortBy(req.sorting);\n if (!sortBy?.length) {\n const objType = this.state.get('activityType') || this.state.get('objectType');\n sortBy = this.getTableCustomizationService(objType)?.defaultSortingOptions;\n }\n\n return this.objectsService.listObjects(objectType, {\n search: {\n searchTerm: req?.searchOptions?.text || '',\n },\n filtersV2: filterGroup,\n pagingOptions: {\n cursor: req?.pagingOptions?.cursor,\n pageSize: req?.pagingOptions?.pageSize,\n },\n sortBy: sortBy ?? [],\n });\n }),\n map((resp) => {\n // clear preview on user interaction\n if (!this.listRequestIsPristine(req)) {\n this.previewObjectService.clearPreview();\n } else {\n resp.crmObjects = this.previewObjectService.withPreview(resp.crmObjects || []);\n }\n return resp;\n }),\n tap(() => {\n this.state.set({ initialLoading: false });\n }),\n );\n }\n\n private getTableCustomizationService(\n objectType: ObjectType | ActivityType,\n ): TableCustomizationServiceInterface | undefined {\n switch (objectType) {\n case 'Contact':\n return this.contactCustomization;\n case 'Company':\n return this.companyCustomization;\n case 'Task':\n return this.taskCustomization;\n }\n return undefined;\n }\n\n private getActivityTypeFilter(activityType: ActivityType) {\n return {\n fieldId: SystemFieldIds.ActivityType,\n operator: FilterOperator.FILTER_OPERATOR_IS,\n values: [\n {\n string: activityType,\n },\n ],\n };\n }\n\n private fieldSchemaToTableColumn(schema: FieldSchemaInterface): ColumnDef {\n return {\n id: schema.fieldId || '',\n external_id: schema.externalId || '',\n title: schema.fieldName,\n sortable: true,\n };\n }\n\n private crmObjectsToTableRows(objects: CrmObjectInterface[], schemas: FieldSchemaInterface[]): Row[] {\n const schemaMap: { [schemaId: string]: FieldSchemaInterface } = {};\n schemas.forEach((schema) => {\n if (!schema?.fieldId) {\n return;\n }\n schemaMap[schema.fieldId] = schema;\n });\n\n const objType = this.state.get('activityType') || this.state.get('objectType');\n return (\n objects?.map((obj) => {\n const columnData: ColumnDataInterface = {};\n obj?.fields?.forEach((field) => {\n if (!field?.fieldId) {\n return;\n }\n columnData[field.fieldId] = this.getValueByType(field, schemaMap[field.fieldId]);\n });\n this.customizeRowData(objType, obj, schemaMap, columnData);\n\n return {\n id: obj?.crmObjectId || '',\n data: columnData,\n };\n }) || []\n );\n }\n\n private getValueByType(field: FieldValueInterface, schema: FieldSchemaInterface): CellData {\n switch (schema?.fieldType) {\n case FieldType.FIELD_TYPE_CURRENCY:\n case FieldType.FIELD_TYPE_INTEGER:\n return {\n cellType: 'integer',\n value: field.integerValue,\n };\n case FieldType.FIELD_TYPE_FLOAT:\n return {\n cellType: 'float',\n value: field.floatValue,\n };\n case FieldType.FIELD_TYPE_DATETIME:\n case FieldType.FIELD_TYPE_DATE:\n return this.dateData(field.dateValue);\n case FieldType.FIELD_TYPE_PHONE:\n return this.phoneData(field.stringValue);\n case FieldType.FIELD_TYPE_STRING:\n case FieldType.FIELD_TYPE_EMAIL:\n return this.textData(field.stringValue);\n case FieldType.FIELD_TYPE_DROPDOWN:\n return this.dropDownOptionData(schema, field.stringValue);\n case FieldType.FIELD_TYPE_BOOLEAN:\n return {\n cellType: 'boolean',\n value: field.booleanValue,\n };\n case FieldType.FIELD_TYPE_TAG:\n case FieldType.FIELD_TYPE_STRING_LIST:\n return {\n cellType: 'tags',\n value: field?.stringValues?.values || [],\n };\n default:\n return undefined;\n }\n }\n\n private dropDownOptionData(schema: FieldSchemaInterface, value?: string): TextData {\n const label = schema?.dropdownOptions?.find((o) => o?.value === value)?.label;\n return this.textData(label || value);\n }\n\n private textData(value?: string, link?: string): TextData {\n return {\n cellType: 'text',\n value: value || '',\n link: link || '',\n };\n }\n\n private phoneData(value?: string): PhoneData {\n return {\n cellType: 'phone',\n value: value,\n };\n }\n\n private dateData(value?: Date): DateData {\n return {\n cellType: 'date',\n value: value,\n };\n }\n\n private listRequestIsPristine(req: PagedListRequestInterface): boolean {\n return (\n !req?.pagingOptions?.cursor &&\n req?.pagingOptions?.pageSize === LIST_OBJECTS_DEFAULT_PAGE_SIZE &&\n !req?.searchOptions?.text &&\n !req?.searchOptions?.fields?.length &&\n //the contact and company tables have one preset filter with no value, so it should still be pristine\n (!req?.filters?.length || (req?.filters?.length == 1 && !req?.filters?.[0]?.values?.length)) &&\n !req.sorting?.length\n );\n }\n\n private customizedColumns(\n objectType: ObjectType,\n columns: ColumnDef[],\n isMobile: boolean,\n activityType?: ActivityType,\n ): GalaxyColumnDef[] {\n return this.getTableCustomizationService(activityType || objectType)?.customizeColumns(columns, isMobile) || [];\n }\n\n private customizeRowData(\n objectType: ObjectType | ActivityType,\n obj: CrmObjectInterface,\n schemaMap: { [schemaId: string]: FieldSchemaInterface },\n columnData: ColumnDataInterface,\n ) {\n return this.getTableCustomizationService(objectType)?.customizeRowData(obj, schemaMap, columnData);\n }\n\n lookupRowDisplayName(id: string): Observable {\n return this.data$$.pipe(\n map((rows) => {\n const row = rows.find((r) => r.crmObjectId == id);\n if (!row) {\n return id;\n }\n const firstName = row?.fields?.find((f) => f.externalId == 'standard__first_name')?.stringValue;\n const lastName = row?.fields?.find((f) => f.externalId == 'standard__last_name')?.stringValue;\n if (firstName || lastName) {\n return `${firstName} ${lastName}`.trim();\n }\n const email = row?.fields?.find((f) => f.externalId == 'standard__email')?.stringValue;\n if (email) {\n return email;\n }\n const phone = row?.fields?.find((f) => f.externalId == 'standard__phone_number')?.stringValue;\n if (phone) {\n return phone;\n }\n return id;\n }),\n );\n }\n\n ngOnDestroy(): void {\n this.previewObjectService.clearPreview();\n }\n}\n\ninterface ComponentState {\n objectType: ObjectType;\n activityType?: ActivityType;\n fieldSchemas: FieldSchemaInterface[];\n columns: GalaxyColumnDef[];\n groupConfigs: GalaxyColumnDef[];\n initialLoading: boolean;\n receivedObject: boolean;\n deletedObjectIds: string[];\n}\n", "import { ComponentRef, Injectable, Type, ViewContainerRef } from '@angular/core';\nimport { ReplaySubject } from 'rxjs';\nimport { startWith } from 'rxjs/operators';\n\n@Injectable({ providedIn: 'root' })\nexport class SidepanelService {\n private readonly isOpenSource$$ = new ReplaySubject(1);\n isOpen$ = this.isOpenSource$$.pipe(startWith(false));\n private readonly headerTitle$$ = new ReplaySubject(1);\n headerTitle$ = this.headerTitle$$.pipe(startWith(''));\n\n private viewContainerRef?: ViewContainerRef;\n\n public openSidepanel(content: Type): ComponentRef | undefined {\n this.isOpenSource$$.next(true);\n return this.createView(content);\n }\n\n public closeSidepanel(): void {\n this.isOpenSource$$.next(false);\n this.viewContainerRef?.clear();\n }\n\n public setViewContainer(viewContainerRef?: ViewContainerRef): void {\n this.viewContainerRef = viewContainerRef;\n }\n\n private createView(content: Type): ComponentRef | undefined {\n this.viewContainerRef?.clear();\n return this.viewContainerRef?.createComponent(content);\n }\n\n public setHeaderTitle(headerTitle: string): void {\n this.headerTitle$$.next(headerTitle);\n }\n}\n", "import { CommonModule } from '@angular/common';\nimport { AfterContentInit, Component, ViewChild, ViewContainerRef } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { GalaxyEmptyStateModule } from '@vendasta/galaxy/empty-state';\nimport { Observable } from 'rxjs';\nimport { SidepanelService } from './side-panel.service';\n\n@Component({\n selector: 'crm-sidepanel',\n templateUrl: './side-panel.component.html',\n styleUrls: ['./side-panel.component.scss'],\n standalone: true,\n imports: [MatSidenavModule, MatIconModule, CommonModule, GalaxyEmptyStateModule, MatToolbarModule, MatButtonModule],\n})\nexport class SidepanelComponent implements AfterContentInit {\n @ViewChild('content', { static: true, read: ViewContainerRef }) contentContainerRef?: ViewContainerRef;\n\n headerTitle$: Observable;\n isOpen$: Observable;\n\n constructor(private sidepanelService: SidepanelService) {\n this.isOpen$ = this.sidepanelService.isOpen$;\n this.headerTitle$ = this.sidepanelService.headerTitle$;\n }\n\n ngAfterContentInit(): void {\n this.sidepanelService.setViewContainer(this.contentContainerRef);\n }\n\n public closeSidepanel(): void {\n this.sidepanelService.closeSidepanel();\n }\n}\n", "\n \n \n {{ headerTitle$ | async }}\n \n \n \n \n \n\n", "import { Component, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef } from '@angular/material/dialog';\nimport { Observable } from 'rxjs';\nimport { AsyncPipe, CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { ActivityType, ObjectType } from '../../../tokens-and-interfaces';\nimport { TranslationModule } from '../../../i18n/translation-module';\nimport { TranslateByObjectTypePipe } from '../../../i18n/translate-by-object-type/translate-by-object-type.pipe';\n\nexport interface DialogData {\n objectType: ObjectType;\n name$: Observable;\n}\n\n@Component({\n selector: 'crm-delete-modal',\n templateUrl: './delete-modal.component.html',\n styleUrls: ['./delete-modal.component.scss'],\n imports: [CommonModule, MatButtonModule, TranslationModule, MatDialogModule, AsyncPipe, TranslateByObjectTypePipe],\n standalone: true,\n})\nexport class DeleteModalComponent {\n objectType: ObjectType | ActivityType;\n\n name$: Observable;\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: DialogData, private dialogRef: MatDialogRef) {\n this.objectType = data.objectType;\n this.name$ = data.name$;\n }\n\n onConfirmClick() {\n this.dialogRef.close(true);\n }\n}\n", "

\n {{ 'LIST_OBJECTS_TABLE.ACTIONS.DELETE.MODAL_TITLE' | translate : { name: objectType.toLowerCase() } }}\n

\n\n

{{ 'LIST_OBJECTS_TABLE.ACTIONS.DELETE.CONFIRMATION_MESSAGE' | translateByObjectType : objectType }}

\n
\n\n \n \n {{ 'LIST_OBJECTS_TABLE.ACTIONS.DELETE.CONFIRM' | translateByObjectType : objectType }}\n \n\n", "import { Pipe, PipeTransform } from '@angular/core';\nimport { Row } from '@vendasta/galaxy/table';\nimport { ObjectType, SingleRowAction } from '../tokens-and-interfaces';\n\ntype PipeInput = SingleRowAction[] | null | undefined;\ntype PipeOutput = PipeInput;\n\ninterface PipeParams {\n row: Row;\n objectType: ObjectType;\n}\n\n@Pipe({\n name: 'filterVisibleActions',\n standalone: true,\n})\nexport class FilterVisibleActionsPipe implements PipeTransform {\n transform(actions: PipeInput, params: PipeParams): PipeOutput {\n return actions?.filter((action) => action?.visible?.(params?.row, params?.objectType) ?? true);\n }\n}\n", "import { CommonModule } from '@angular/common';\nimport {\n Component,\n EventEmitter,\n inject,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Output,\n signal,\n ViewChild,\n} from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialog, MatDialogModule } from '@angular/material/dialog';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatTableModule } from '@angular/material/table';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { RxState } from '@rx-angular/state';\nimport { GalaxyBadgeModule } from '@vendasta/galaxy/badge';\nimport { GalaxyEmptyStateModule } from '@vendasta/galaxy/empty-state';\nimport { GalaxyLoadingSpinnerModule } from '@vendasta/galaxy/loading-spinner';\nimport { GalaxyPageModule } from '@vendasta/galaxy/page';\nimport { GalaxySnackbarModule, SnackbarService } from '@vendasta/galaxy/snackbar-service';\nimport { GalaxyDataSource, GalaxyTableModule, Row } from '@vendasta/galaxy/table';\nimport { GalaxyColumnDef } from '@vendasta/galaxy/table/src/table.interface';\nimport { combineLatest, forkJoin, Observable, of, Subscription } from 'rxjs';\nimport { ActivityType, ObjectType, SelectAllAction } from '../../tokens-and-interfaces';\nimport { LIST_OBJECTS_DEFAULT_PAGE_SIZE, LIST_OBJECTS_PAGE_SIZE_OPTIONS, PAGE_ROUTES } from '../../constants';\nimport { TranslationModule } from '../../i18n/translation-module';\nimport { DeleteModalComponent } from './delete-modal/delete-modal.component';\nimport { ListObjectsTableService } from './list-objects-table.service';\nimport { catchError, map, switchMap, tap } from 'rxjs/operators';\nimport { TranslateByObjectTypePipe } from '../../i18n/translate-by-object-type/translate-by-object-type.pipe';\nimport { TranslateByObjectTypeService } from '../../i18n/translate-by-object-type/translate-by-object-type.service';\nimport { SidepanelComponent } from '../side-panel/side-panel.component';\nimport { FilterVisibleActionsPipe } from '../../shared-pipes';\nimport { CrmTableStateService } from '../../shared-services/crm-services/crm-object-service/crm-table-state.service';\nimport { GalaxyFilterChipsModule, GalaxyFilterInterface } from '@vendasta/galaxy/filter/chips';\nimport { MatSort, MatSortModule } from '@angular/material/sort';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { CrmFiltersService } from '../../shared-services/crm-services/crm-filters.service';\nimport { decodeFilters, encodeFilters, validateFilters } from '@vendasta/galaxy/filter/chips/src/utils';\nimport { OpenConfirmationModalService } from '@vendasta/galaxy/confirmation-modal';\nimport { FilterViewComponent } from '../filter-view';\nimport { GalaxyFilterChipsComponent } from '@vendasta/galaxy/filter/chips/src/galaxy-filter-chips.component';\nimport {\n CrmInjectionToken,\n CrmDependencies,\n CRMRowObject,\n MultiRowAction,\n SingleRowAction,\n} from '../../tokens-and-interfaces';\nimport { CustomRowStyle } from '../../shared-services/table-customization/_abstract-table-customization.service';\n\n@Component({\n selector: 'crm-list-objects-table',\n templateUrl: `./list-objects-table.component.html`,\n styleUrls: ['./list-objects-table.component.scss'],\n imports: [\n CommonModule,\n GalaxyEmptyStateModule,\n GalaxyLoadingSpinnerModule,\n GalaxyTableModule,\n MatTableModule,\n MatIconModule,\n MatMenuModule,\n MatButtonModule,\n TranslationModule,\n MatDialogModule,\n GalaxySnackbarModule,\n GalaxyBadgeModule,\n GalaxyPageModule,\n TranslateByObjectTypePipe,\n SidepanelComponent,\n FilterVisibleActionsPipe,\n GalaxyFilterChipsModule,\n MatSortModule,\n FilterViewComponent,\n ],\n providers: [ListObjectsTableService, CrmTableStateService, RxState],\n standalone: true,\n})\nexport class ListObjectsTableComponent implements OnInit, OnDestroy {\n @Input() rowStyle: CustomRowStyle | undefined;\n\n private _objectType = signal('Contact');\n @Input({ required: true }) set objectType(o: ObjectType) {\n this._objectType.set(o);\n this.tableStateService.setLocalStorageKey(this._objectType());\n this.service.setObjectType(this._objectType());\n }\n\n get objectType(): ObjectType {\n return this._objectType();\n }\n\n get objectTypeForTranslation(): ObjectType | ActivityType {\n return this.activityType ?? this.objectType;\n }\n\n multiRowActions$: Observable = toObservable(this._objectType).pipe(\n switchMap((objectType) => {\n return this.createMultiRowActions(objectType);\n }),\n );\n\n selectAllActions$: Observable = toObservable(this._objectType).pipe(\n switchMap((objectType) => {\n return this.createSelectAllActions(objectType);\n }),\n );\n\n singleRowActions$: Observable = toObservable(this._objectType).pipe(\n switchMap((objectType) => {\n return this.createSingleRowActions(objectType);\n }),\n );\n multiRowActionExists$: Observable = this.multiRowActions$.pipe(map((actions) => actions.length > 0));\n\n private _activityType: ActivityType | undefined;\n @Input() set activityType(o: ActivityType | undefined) {\n if (o) {\n this._activityType = o;\n this.service.setActivityType(this._activityType);\n }\n }\n\n get activityType(): ActivityType | undefined {\n return this._activityType;\n }\n\n @Output() editClick: EventEmitter = new EventEmitter();\n @ViewChild('filterChipRef') filterChipRef?: GalaxyFilterChipsComponent;\n\n dataSource: GalaxyDataSource = this.service.dataSource;\n columns$: Observable = this.service.columns$;\n groupConfigs$: Observable = this.service.groupConfigs$;\n initialLoading$: Observable = this.service.initialLoading$;\n showEmptyState$: Observable = this.service.showEmptyState$;\n showObjects$: Observable = this.service.showObjects$;\n selectedRows: Row[] = [];\n showFiltersApplied$: Observable = this.dataSource.filtersApplied$;\n protected readonly filters = signal([]);\n\n readonly data$ = this.service.data$;\n\n pageSizeOptions: number[] = LIST_OBJECTS_PAGE_SIZE_OPTIONS;\n pageSize: number = LIST_OBJECTS_DEFAULT_PAGE_SIZE;\n\n readonly isMobile$ = this.tableStateService.isMobile$;\n\n viewKeys: string[] = [];\n\n private readonly confirmationModalService = inject(OpenConfirmationModalService);\n\n tableId = '';\n\n private subscriptions: Subscription[] = [];\n\n useSelectAll$: Observable = this.dataSource.selectAll$ ?? of(false);\n\n hasSelectAllActions$: Observable = this.selectAllActions$.pipe(map((actions) => actions.length > 0));\n\n constructor(\n @Inject(CrmInjectionToken) private readonly config: CrmDependencies,\n private readonly service: ListObjectsTableService,\n private readonly router: Router,\n private readonly snackService: SnackbarService,\n private readonly translateByObjectTypeService: TranslateByObjectTypeService,\n public dialog: MatDialog,\n private readonly tableStateService: CrmTableStateService,\n private readonly activatedRoute: ActivatedRoute,\n private readonly crmFiltersService: CrmFiltersService,\n ) {\n this.dataSource.clearSelectionOnChange = true;\n const filterParam = this.activatedRoute.snapshot.queryParamMap.get('filter');\n let filters: GalaxyFilterInterface[] = [];\n if (filterParam) {\n const f = decodeFilters(filterParam);\n if (validateFilters(f) && f.length > 0) {\n filters = f;\n }\n }\n this.crmFiltersService.setInitialFilters(filters);\n\n const sub = combineLatest([this.activatedRoute.queryParams, this.dataSource.state$])\n .pipe(\n tap(([queryParams, state]) => {\n const newQueryParams = { ...queryParams };\n let filterParam: string | null = null;\n if (state.filters && state.filters.length > 0) {\n filterParam = encodeFilters(state.filters);\n newQueryParams['filter'] = filterParam;\n } else {\n delete newQueryParams['filter'];\n }\n // Note: `queryParamsHandling: 'merge'` doesn't work when multiple shared-components are adjusting the query params\n // at the same time. Without this other shared-components may not be able to write to the query params.\n if (queryParams['filter'] === newQueryParams['filter']) {\n return;\n }\n this.router.navigate([], {\n relativeTo: this.activatedRoute,\n queryParams: newQueryParams,\n });\n }),\n )\n .subscribe();\n this.subscriptions.push(sub);\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach((sub) => sub.unsubscribe());\n }\n\n ngOnInit() {\n switch (this.objectType) {\n case 'Contact':\n if (this.config.contact?.baseColumnIds && this.config.contact.baseColumnIds.length > 0) {\n this.service.setBaseColumns(this.config.contact.baseColumnIds);\n }\n break;\n case 'Company':\n if (this.config.company?.baseColumnIds && this.config.company.baseColumnIds.length > 0) {\n this.service.setBaseColumns(this.config.company.baseColumnIds);\n }\n break;\n case 'Activity':\n switch (this.activityType) {\n case 'Task':\n if (this.config.task?.baseColumnIds && this.config.task.baseColumnIds.length > 0) {\n this.service.setBaseColumns(this.config.task.baseColumnIds);\n }\n break;\n }\n }\n\n const viewKeys: string[] = [];\n if (this.config.appID) {\n viewKeys.push('crm:' + this.config.appID + ':list-' + this.objectType + ':table');\n }\n viewKeys.push('crm:list-' + this.objectType + ':table');\n this.viewKeys = viewKeys;\n\n this.tableId = this.config.appID + '-' + this.objectType;\n }\n\n editObject(objectId: string): void {\n this.editClick.emit({ objectId: objectId, objectType: this.objectType });\n this.config.routePrefix$.subscribe((routePrefix) => {\n let editRouteTemplate;\n switch (this.objectType) {\n case 'Contact':\n editRouteTemplate = `${PAGE_ROUTES.CONTACT.ROOT}/${PAGE_ROUTES.CONTACT.SUBROUTES.EDIT}`;\n break;\n case 'Company':\n editRouteTemplate = `${PAGE_ROUTES.COMPANY.ROOT}/${PAGE_ROUTES.COMPANY.SUBROUTES.EDIT}`;\n break;\n }\n if (editRouteTemplate) {\n const editRoute = editRouteTemplate.replace(':crmObjectId', objectId);\n this.router.navigateByUrl(`${routePrefix}/${editRoute}`);\n }\n });\n }\n\n deleteObject(row: Row): void {\n this.dialog\n .open(DeleteModalComponent, {\n width: '560px',\n data: {\n objectType: this.objectTypeForTranslation,\n id: row.id,\n name$: this.service.lookupRowDisplayName(row.id),\n },\n })\n .afterClosed()\n .subscribe((confirmed) => {\n if (confirmed) {\n this.service.deleteObject(row.id).subscribe({\n next: () => {\n const translatedString = this.translateByObjectTypeService.getTranslationByObjectType(\n this.objectTypeForTranslation,\n 'LIST_OBJECTS_TABLE.ACTIONS.DELETE.SUCCESS',\n );\n this.snackService.openSuccessSnack(translatedString);\n },\n error: (err) => {\n console.error(err);\n const translatedString = this.translateByObjectTypeService.getTranslationByObjectType(\n this.objectTypeForTranslation,\n 'LIST_OBJECTS_TABLE.ACTIONS.DELETE.ERROR',\n );\n this.snackService.openErrorSnack(translatedString);\n },\n });\n }\n });\n }\n\n updateFilters(filters: GalaxyFilterInterface[], updateChipList?: boolean): void {\n this.service.filters = filters;\n this.dataSource.setFilters(filters);\n this.filters.set(filters);\n if (updateChipList) {\n this.filterChipRef?.filters.set(filters);\n }\n }\n\n selectionChanged(rows: Row[]): void {\n this.selectedRows = rows;\n }\n\n columnsChanged(columns: GalaxyColumnDef[]): void {\n // there's a select column at the start of every table execution with an advanced selector\n // the columns shouldn't be saved if only the select column is available\n // in the list of columns\n const columnCount = columns.filter((c) => c.id !== 'select').length;\n if (columnCount > 0) {\n this.tableStateService.setLocalStorageColumns(columns);\n }\n }\n\n private createSingleRowActions(objectType: ObjectType): Observable {\n const commonSingleRowActions$ = this.config.singleRowTableActions$ ?? of([]);\n let singleRowActions$: Observable;\n\n switch (objectType) {\n case 'Contact':\n singleRowActions$ = this.config.contact?.singleRowTableActions$ ?? of([]);\n break;\n case 'Company':\n singleRowActions$ = this.config.company?.singleRowTableActions$ ?? of([]);\n break;\n case 'Activity':\n singleRowActions$ = this.config.task?.singleRowTableActions$ ?? of([]);\n break;\n default:\n singleRowActions$ = of([]);\n break;\n }\n\n return combineLatest([singleRowActions$, commonSingleRowActions$]).pipe(\n map(([typeActions, commonActions]) => [...typeActions, ...commonActions]),\n );\n }\n\n deleteRows(rows: Row[]): void {\n this.confirmationModalService\n .openModal({\n type: 'warn',\n title: this.translateByObjectTypeService.getTranslationByObjectType(\n this.objectTypeForTranslation,\n 'LIST_OBJECTS_TABLE.ACTIONS.DELETE_SELECTED.TITLE',\n ),\n message: this.translateByObjectTypeService.getTranslationByObjectType(\n this.objectTypeForTranslation,\n 'LIST_OBJECTS_TABLE.ACTIONS.DELETE_SELECTED.CONFIRMATION_MESSAGE',\n ),\n confirmButtonText: this.translateByObjectTypeService.getTranslationByObjectType(\n this.objectTypeForTranslation,\n 'LIST_OBJECTS_TABLE.ACTIONS.DELETE_SELECTED.CONFIRM',\n ),\n cancelButtonText: this.translateByObjectTypeService.getTranslationByObjectType(\n this.objectTypeForTranslation,\n 'LIST_OBJECTS_TABLE.ACTIONS.DELETE_SELECTED.CANCEL',\n ),\n })\n .subscribe((confirmed) => {\n if (confirmed) {\n const ids = rows.map((row) => row.id);\n forkJoin(\n ids.map((id) => {\n return this.service.deleteObject(id).pipe(\n map(() => ''),\n catchError(() => {\n return of(id);\n }),\n );\n }),\n ).subscribe((resp: string[]) => {\n const failedIDs = resp.filter((address) => address !== '');\n if (failedIDs.length === 0) {\n const translatedString = this.translateByObjectTypeService.getTranslationByObjectType(\n this.objectTypeForTranslation,\n 'LIST_OBJECTS_TABLE.ACTIONS.DELETE_SELECTED.SUCCESS',\n );\n this.snackService.openSuccessSnack(translatedString);\n } else {\n console.error('Failed to delete IDs: ', failedIDs);\n const translatedString = this.translateByObjectTypeService.getTranslationByObjectType(\n this.objectTypeForTranslation,\n 'LIST_OBJECTS_TABLE.ACTIONS.DELETE_SELECTED.ERROR',\n );\n this.snackService.openErrorSnack(translatedString);\n }\n if (resp.length - failedIDs.length > 0) {\n // If anything has been deleted, clear the selection\n this.dataSource.clearSelection();\n }\n });\n }\n });\n }\n\n private createMultiRowActions(objectType: ObjectType): Observable {\n const commonMultiRowActions$ = this.config.multiRowTableActions$ ?? of([]);\n let multiRowActions$: Observable;\n\n switch (objectType) {\n case 'Contact':\n multiRowActions$ = this.config.contact?.multiRowTableActions$ ?? of([]);\n break;\n case 'Company':\n multiRowActions$ = this.config.company?.multiRowTableActions$ ?? of([]);\n break;\n case 'Activity':\n multiRowActions$ = this.config.task?.multiRowTableActions$ ?? of([]);\n break;\n default:\n multiRowActions$ = of([]);\n break;\n }\n\n const deleteRowsAction = {\n label: this.translateByObjectTypeService.getTranslationByObjectType(\n this.objectTypeForTranslation,\n 'LIST_OBJECTS_TABLE.ACTIONS.DELETE_SELECTED.ACTION',\n ),\n callback: (rows: Row[]) => this.deleteRows(rows),\n selectAllVisible: false,\n };\n\n return combineLatest([multiRowActions$, commonMultiRowActions$]).pipe(\n map(([typeActions, commonActions]) => [...typeActions, ...commonActions, deleteRowsAction]),\n );\n }\n\n private createSelectAllActions(objectType: ObjectType): Observable {\n const commonSelectAllActions$ = this.config.selectAllActions$ ?? of([]);\n let selectAllActions$: Observable;\n\n switch (objectType) {\n case 'Contact':\n selectAllActions$ = this.config.contact?.selectAllTableActions$ ?? of([]);\n break;\n case 'Company':\n selectAllActions$ = this.config.company?.selectAllTableActions$ ?? of([]);\n break;\n case 'Activity':\n selectAllActions$ = this.config.task?.selectAllTableActions$ ?? of([]);\n break;\n default:\n selectAllActions$ = of([]);\n break;\n }\n\n return combineLatest([selectAllActions$, commonSelectAllActions$]).pipe(\n map(([typeActions, commonActions]) => [...typeActions, ...commonActions]),\n );\n }\n\n handleSelectAll() {\n this.dataSource.toggleSelectAll();\n }\n}\n", "\n\n \n \n \n @if (useSelectAll$ | async) {\n \n {{ action.label | translate }}\n \n } @else {\n \n }\n
\n \n
\n \n\n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n
\n \n more_vert\n \n \n \n \n \n \n \n {{ 'LIST_OBJECTS_TABLE.ACTIONS.EDIT.TITLE' | translateByObjectType: objectTypeForTranslation }}\n \n \n \n \n {{ 'LIST_OBJECTS_TABLE.ACTIONS.DELETE.ACTION' | translateByObjectType: objectTypeForTranslation }}\n \n \n \n
\n
\n \n \n \n \n \n {{ 'LIST_OBJECTS_TABLE.EMPTY_TABLE.HEADER' | translateByObjectType: objectTypeForTranslation }}\n \n

{{ 'LIST_OBJECTS_TABLE.EMPTY_TABLE.HINT' | translateByObjectType: objectTypeForTranslation }}

\n \n\n\n\n
\n {{\n 'LIST_OBJECTS_TABLE.SELECT_ALL.TOTAL_SELECTED'\n | translateByObjectType: objectType : { totalSelected: dataSource.state.totalDataMembers }\n }}\n
\n \n {{ 'LIST_OBJECTS_TABLE.SELECT_ALL.CLEAR_SELECTION' | translateByObjectType: objectType }}\n \n
\n"], "mappings": "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", "names": ["ListObjectsTableService", "constructor", "config", "objectsService", "fieldsService", "state", "translate", "previewObjectService", "trackingService", "contactCustomization", "companyCustomization", "taskCustomization", "tableStateService", "snackService", "crmFormService", "columns$", "select", "groupConfigs$", "initialLoading$", "deletedObjectIds$", "showEmptyState$", "combineLatest", "pipe", "map", "loading", "hasObjects", "showObjects$", "showEmptyState", "data$$", "BehaviorSubject", "data$", "rows", "deleted", "filter", "r", "includes", "crmObjectId", "filters", "sorting", "baseColumnIds", "showActions", "initial", "objectType", "fieldSchemas", "columns", "groupConfigs", "initialLoading", "receivedObject", "deletedObjectIds", "set", "schemas$", "namespace$", "distinctUntilChanged", "a", "b", "JSON", "stringify", "switchMap", "listAllObjectFields$", "connect", "schemas", "observeOn", "asyncScheduler", "schema", "fieldSchemaToTableColumn", "applyColumnLayout$", "customizedColumns", "get", "addStaticColumns", "showBaseColumns", "initializeLocalStorageColumns", "addColumnGroups", "paginatedAPI", "req", "results", "listObjects", "catchError", "openErrorSnack", "of", "crmObjects", "pagingMetadata", "nextCursor", "hasMore", "tap", "resp", "length", "searchOptions", "text", "trackEvent", "searchFields", "fields", "next", "withLatestFrom", "objectListResp", "data", "crmObjectsToTableRows", "totalResults", "Infinity", "id", "dataSource", "GalaxyDataSource", "listAllObjectFieldGroups$", "fieldGroups", "fieldIds", "reduce", "fieldGroup", "concat", "sortedColumns", "parse", "sort", "indexA", "indexOf", "external_id", "indexB", "firstFieldGroupFieldIds", "column", "hidden", "actionsColumn", "title", "instant", "pinned", "stickyEnd", "sortable", "groups", "group", "fieldGroupId", "description", "fieldId", "find", "moveItemsToBeginning", "identifiersToMove", "movedToFront", "col", "c", "push", "movedToBack", "m", "isMobile", "index", "findIndex", "deleteObject", "objectId", "deleteCrmObject", "take", "setObjectType", "setActivityType", "activityType", "setBaseColumns", "setShowActions", "filterGroup", "convertFilters", "getActivityTypeFilter", "sortBy", "convertSortBy", "objType", "getTableCustomizationService", "defaultSortingOptions", "search", "searchTerm", "filtersV2", "pagingOptions", "cursor", "pageSize", "listRequestIsPristine", "withPreview", "clearPreview", "SystemFieldIds", "ActivityType", "operator", "FilterOperator", "FILTER_OPERATOR_IS", "values", "string", "externalId", "fieldName", "objects", "schemaMap", "forEach", "obj", "columnData", "field", "getValueByType", "customizeRowData", "fieldType", "FieldType", "FIELD_TYPE_CURRENCY", "FIELD_TYPE_INTEGER", "cellType", "value", "integerValue", "FIELD_TYPE_FLOAT", "floatValue", "FIELD_TYPE_DATETIME", "FIELD_TYPE_DATE", "dateData", "dateValue", "FIELD_TYPE_PHONE", "phoneData", "stringValue", "FIELD_TYPE_STRING", "FIELD_TYPE_EMAIL", "textData", "FIELD_TYPE_DROPDOWN", "dropDownOptionData", "FIELD_TYPE_BOOLEAN", "booleanValue", "FIELD_TYPE_TAG", "FIELD_TYPE_STRING_LIST", "stringValues", "label", "dropdownOptions", "o", "link", "LIST_OBJECTS_DEFAULT_PAGE_SIZE", "customizeColumns", "lookupRowDisplayName", "row", "firstName", "f", "lastName", "trim", "email", "phone", "ngOnDestroy", "\u0275\u0275inject", "CrmInjectionToken", "CrmObjectService", "CrmFormService", "RxState", "TranslateService", "PreviewObjectService", "CRMTrackingService", "ContactTableCustomizationService", "CompanyTableCustomizationService", "TaskTableCustomizationService", "CrmTableStateService", "SnackbarService", "factory", "\u0275fac", "_ListObjectsTableService", "SidepanelService", "constructor", "isOpenSource$$", "ReplaySubject", "isOpen$", "pipe", "startWith", "headerTitle$$", "headerTitle$", "openSidepanel", "content", "next", "createView", "closeSidepanel", "viewContainerRef", "clear", "setViewContainer", "createComponent", "setHeaderTitle", "headerTitle", "factory", "\u0275fac", "providedIn", "_SidepanelService", "SidepanelComponent", "constructor", "sidepanelService", "isOpen$", "headerTitle$", "ngAfterContentInit", "setViewContainer", "contentContainerRef", "closeSidepanel", "\u0275\u0275directiveInject", "SidepanelService", "selectors", "viewQuery", "rf", "ctx", "ViewContainerRef", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275element", "\u0275\u0275listener", "i0", "\u0275\u0275restoreView", "_r1", "\u0275\u0275resetView", "\u0275\u0275elementEnd", "\u0275\u0275elementContainer", "\u0275\u0275property", "\u0275\u0275pipeBind1", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "MatSidenavModule", "MatDrawer", "MatIconModule", "MatIcon", "CommonModule", "AsyncPipe", "GalaxyEmptyStateModule", "MatToolbarModule", "MatToolbar", "MatToolbarRow", "MatButtonModule", "MatIconButton", "styles", "_SidepanelComponent", "DeleteModalComponent", "constructor", "data", "dialogRef", "objectType", "name$", "onConfirmClick", "close", "\u0275\u0275directiveInject", "MAT_DIALOG_DATA", "MatDialogRef", "selectors", "standalone", "features", "\u0275\u0275StandaloneFeature", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275listener", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "\u0275\u0275pipeBind2", "\u0275\u0275pureFunction1", "_c0", "toLowerCase", "\u0275\u0275textInterpolate", "CommonModule", "MatButtonModule", "MatButton", "TranslationModule", "TranslatePipe", "MatDialogModule", "MatDialogClose", "MatDialogTitle", "MatDialogActions", "MatDialogContent", "TranslateByObjectTypePipe", "styles", "_DeleteModalComponent", "FilterVisibleActionsPipe", "transform", "actions", "params", "filter", "action", "visible", "row", "objectType", "pure", "standalone", "_FilterVisibleActionsPipe", "\u0275\u0275elementStart", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r2", "ctx_r2", "\u0275\u0275nextContext", "\u0275\u0275resetView", "handleSelectAll", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "\u0275\u0275pipeBind3", "objectType", "\u0275\u0275pureFunction1", "_c2", "dataSource", "state", "totalDataMembers", "\u0275\u0275template", "ListObjectsTableComponent_div_12_div_2_Template", "\u0275\u0275property", "\u0275\u0275pipeBind1", "useSelectAll$", "clearSelection_r4", "action_r6", "_r5", "$implicit", "callback", "selectedRows", "filters", "search", "searchTerm", "useSelectAll", "selectAll", "totalObjects", "\u0275\u0275textInterpolate", "label", "ListObjectsTableComponent_Conditional_14_button_0_Template", "selectAllActions$", "action_r8", "_r7", "ListObjectsTableComponent_Conditional_16_button_0_Template", "multiRowActions$", "\u0275\u0275element", "row_r9", "\u0275\u0275elementContainerStart", "action_r12", "_r11", "row_r13", "ListObjectsTableComponent_td_26_ng_container_7_Template", "_r10", "editObject", "id", "deleteObject", "menu_r14", "\u0275\u0275pipeBind2", "singleRowActions$", "\u0275\u0275pureFunction2", "_c3", "objectTypeForTranslation", "rowStyle", "row_r15", "\u0275\u0275pureFunction0", "_c4", "_r16", "_c5", "ListObjectsTableComponent", "o", "_objectType", "set", "tableStateService", "setLocalStorageKey", "service", "setObjectType", "activityType", "_activityType", "setActivityType", "constructor", "config", "router", "snackService", "translateByObjectTypeService", "dialog", "activatedRoute", "crmFiltersService", "signal", "toObservable", "pipe", "switchMap", "createMultiRowActions", "createSelectAllActions", "createSingleRowActions", "multiRowActionExists$", "map", "actions", "length", "editClick", "EventEmitter", "columns$", "groupConfigs$", "initialLoading$", "showEmptyState$", "showObjects$", "showFiltersApplied$", "filtersApplied$", "data$", "pageSizeOptions", "LIST_OBJECTS_PAGE_SIZE_OPTIONS", "pageSize", "LIST_OBJECTS_DEFAULT_PAGE_SIZE", "isMobile$", "viewKeys", "confirmationModalService", "inject", "OpenConfirmationModalService", "tableId", "subscriptions", "selectAll$", "of", "hasSelectAllActions$", "clearSelectionOnChange", "filterParam", "snapshot", "queryParamMap", "get", "f", "decodeFilters", "validateFilters", "setInitialFilters", "sub", "combineLatest", "queryParams", "state$", "tap", "newQueryParams", "__spreadValues", "encodeFilters", "navigate", "relativeTo", "subscribe", "push", "ngOnDestroy", "forEach", "unsubscribe", "ngOnInit", "contact", "baseColumnIds", "setBaseColumns", "company", "task", "appID", "objectId", "emit", "routePrefix$", "routePrefix", "editRouteTemplate", "PAGE_ROUTES", "CONTACT", "ROOT", "SUBROUTES", "EDIT", "COMPANY", "editRoute", "replace", "navigateByUrl", "row", "open", "DeleteModalComponent", "width", "data", "name$", "lookupRowDisplayName", "afterClosed", "confirmed", "next", "translatedString", "getTranslationByObjectType", "openSuccessSnack", "error", "err", "console", "openErrorSnack", "updateFilters", "updateChipList", "setFilters", "filterChipRef", "selectionChanged", "rows", "columnsChanged", "columns", "filter", "c", "setLocalStorageColumns", "commonSingleRowActions$", "singleRowTableActions$", "typeActions", "commonActions", "deleteRows", "openModal", "type", "title", "message", "confirmButtonText", "cancelButtonText", "ids", "forkJoin", "catchError", "resp", "failedIDs", "address", "clearSelection", "commonMultiRowActions$", "multiRowTableActions$", "deleteRowsAction", "selectAllVisible", "commonSelectAllActions$", "selectAllTableActions$", "toggleSelectAll", "\u0275\u0275directiveInject", "CrmInjectionToken", "ListObjectsTableService", "Router", "SnackbarService", "TranslateByObjectTypeService", "MatDialog", "CrmTableStateService", "ActivatedRoute", "CrmFiltersService", "selectors", "viewQuery", "rf", "ctx", "RxState", "\u0275\u0275StandaloneFeature", "decls", "vars", "consts", "template", "$event", "i0", "_r1", "ListObjectsTableComponent_div_12_Template", "ListObjectsTableComponent_Conditional_14_Template", "ListObjectsTableComponent_Conditional_16_Template", "ListObjectsTableComponent_tr_20_Template", "ListObjectsTableComponent_th_22_Template", "ListObjectsTableComponent_td_23_Template", "ListObjectsTableComponent_th_25_Template", "ListObjectsTableComponent_td_26_Template", "ListObjectsTableComponent_tr_27_Template", "ListObjectsTableComponent_glxy_empty_state_28_Template", "ListObjectsTableComponent_ng_template_30_Template", "\u0275\u0275templateRefExtractor", "tmp_14_0", "undefined", "\u0275\u0275conditional", "_c1", "CommonModule", "NgForOf", "NgIf", "NgStyle", "AsyncPipe", "GalaxyEmptyStateModule", "EmptyStateComponent", "EmptyStateHeroDirective", "EmptyStateTitleDirective", "GalaxyLoadingSpinnerModule", "GalaxyTableModule", "TableContainerComponent", "TableContentHeaderComponent", "GalaxySelectionComponent", "MatTableModule", "MatTable", "MatHeaderCellDef", "MatHeaderRowDef", "MatColumnDef", "MatCellDef", "MatRowDef", "MatHeaderCell", "MatCell", "MatHeaderRow", "MatRow", "MatIconModule", "MatIcon", "MatMenuModule", "MatMenu", "MatMenuItem", "MatMenuTrigger", "MatButtonModule", "MatIconButton", "TranslationModule", "TranslatePipe", "MatDialogModule", "GalaxySnackbarModule", "GalaxyBadgeModule", "GalaxyPageModule", "TranslateByObjectTypePipe", "SidepanelComponent", "FilterVisibleActionsPipe", "GalaxyFilterChipsModule", "GalaxyFilterChipsComponent", "MatSortModule", "FilterViewComponent", "styles", "_ListObjectsTableComponent"] }