{ "version": 3, "sources": ["libs/galaxy/table/src/components/model-driven-cell/renderers/blank-value.ts", "libs/galaxy/table/src/services/column-sort.service.ts", "libs/galaxy/table/src/components/column-sort/column-sort-simple/column-sort-simple.component.ts", "libs/galaxy/table/src/components/column-sort/column-sort-simple/column-sort-simple.component.html", "libs/galaxy/table/src/components/column-sort/advanced-column-organizer/advanced-column-organizer.ts", "libs/galaxy/table/src/components/column-sort/advanced-column-organizer/advanced-column-organizer.service.ts", "libs/galaxy/table/src/components/column-sort/advanced-column-organizer/advanced-column-organizer.component.ts", "libs/galaxy/table/src/components/column-sort/advanced-column-organizer/advanced-column-organizer.component.html", "libs/galaxy/table/src/components/column-sort/advanced-column-organizer/advanced-column-organizer-button.component.ts", "libs/galaxy/table/src/components/column-sort/column-sort.component.ts", "libs/galaxy/table/src/components/column-sort/column-sort.component.html", "libs/galaxy/table/src/components/model-driven-cell/renderers/boolean.ts", "libs/galaxy/table/src/components/model-driven-cell/renderers/date.ts", "libs/galaxy/table/src/components/model-driven-cell/renderers/integer.ts", "libs/galaxy/table/src/components/model-driven-cell/renderers/phone.ts", "libs/galaxy/table/src/components/model-driven-cell/renderers/tags.ts", "libs/galaxy/table/src/components/model-driven-cell/renderers/text.ts", "libs/galaxy/table/src/components/model-driven-cell/renderers/timestamp.ts", "libs/galaxy/table/src/components/model-driven-cell/renderers/float.ts", "libs/galaxy/table/src/components/model-driven-cell/renderers/currency.ts", "libs/galaxy/table/src/components/model-driven-cell/model-driven-cell.component.ts", "libs/galaxy/table/src/services/table-selection.service.ts", "libs/galaxy/table/src/components/selection/selection.component.ts", "libs/galaxy/table/src/components/selection/selection.component.html", "libs/galaxy/table/public_api.ts", "libs/galaxy/table/index.ts", "libs/galaxy/table/src/datasource/paginator-text.ts", "libs/galaxy/table/src/datasource/datasource.ts", "libs/galaxy/table/src/services/table-search.service.ts", "libs/galaxy/table/src/components/grid-view/grid-card.directive.ts", "libs/galaxy/table/src/components/grid-view/grid-min-width.directive.ts", "libs/galaxy/table/src/components/grid-view/grid-view.component.ts", "libs/galaxy/table/src/components/grid-view/grid-view.component.html", "libs/galaxy/table/src/components/table-container/table-container.component.ts", "libs/galaxy/table/src/components/table-container/table-container.component.html", "libs/galaxy/table/src/components/table-content-footer/table-content-footer.component.ts", "libs/galaxy/table/src/components/table-content-footer/table-content-footer.component.html", "libs/galaxy/table/src/components/table-content-header/table-content-header.component.ts", "libs/galaxy/table/src/components/table-content-header/table-content-header.component.html", "libs/galaxy/table/src/components/model-driven-cell/interface.ts", "libs/galaxy/table/src/datasource/datasource.interface.ts", "libs/galaxy/table/src/table.module.ts"], "sourcesContent": ["import { CommonModule } from '@angular/common';\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'glxy-blank-value',\n template: `
`,\n styleUrls: ['./blank-value.scss'],\n imports: [CommonModule],\n})\nexport class BlankValueComponent {}\n\n@Component({\n selector: 'glxy-blank-value-renderer',\n template: ` `,\n imports: [CommonModule, BlankValueComponent],\n})\nexport class BlankValueRendererComponent {}\n", "import { Injectable, QueryList } from '@angular/core';\nimport { MatColumnDef } from '@angular/material/table';\nimport { Observable, ReplaySubject } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { GalaxyColumnDef } from '../table.interface';\n\n/**\n * Service for managing which columns are displayed, and which aren't\n * A single \"table view service\" should manage saving this off to local storage, query\n * params, and any other storage option\n */\n@Injectable()\nexport class GalaxyColumnsSortService {\n // List of columns manged by this service\n columns?: GalaxyColumnDef[];\n\n // Query List of column defs we can manipulate\n columnDefs?: QueryList | MatColumnDef[];\n\n /**\n * Replay subject containing the list of columns that are managed by this service.\n */\n columns$$: ReplaySubject = new ReplaySubject(1);\n\n groupConfigs$$: ReplaySubject = new ReplaySubject(1);\n\n /**\n * Observable containing a list of IDs of columns that are visible.\n */\n visibleColumns$: Observable = this.columns$$.pipe(\n map((cols: GalaxyColumnDef[]) => {\n const flatColumns: GalaxyColumnDef[] = [];\n\n cols?.forEach((col) => {\n if (col.columns) {\n col.columns.forEach((subCol) => {\n flatColumns.push(subCol);\n });\n } else if (!col.hidden) {\n flatColumns.push(col);\n }\n });\n\n return (\n flatColumns\n // Sort by position\n .sort((colA, colB) => {\n return colA._position !== undefined && colB._position != undefined ? colA._position - colB._position : 0;\n })\n // Filter out hidden ones\n .filter((col) => !col.hidden)\n // Just the IDs\n .map((col) => col.id)\n );\n }),\n );\n\n /**\n * Update the list of columns\n * @param columns - List of columns to override the current with\n */\n setColumns(columns: GalaxyColumnDef[]): void {\n this.columns = columns;\n\n // If columns do not have positions applied, apply them now for ordering\n let position = 0;\n this.columns?.forEach((col: GalaxyColumnDef) => {\n if (col.columns) {\n col.columns.forEach((sub: GalaxyColumnDef) => {\n sub._position = position;\n position++;\n });\n } else {\n col._position = position;\n position++;\n }\n });\n\n this.updatePinnableColumns();\n if (this.columnDefs) {\n this.updateStickyColumns();\n }\n\n this.columns$$.next(columns);\n }\n\n setColumnDefs(columnDefs: QueryList | MatColumnDef[]): void {\n this.columnDefs = columnDefs;\n\n this.updateStickyColumns();\n }\n\n setGroups(groups: GalaxyColumnDef[]): void {\n this.groupConfigs$$.next(groups);\n }\n\n /**\n * Updates the list of columns to make sure they are allowed to be pinnable\n * Columns at the start or end, and touching a pinnable column, are allowed to be pinned\n */\n private updatePinnableColumns(): void {\n const flattened = this.flattenCols();\n\n const sorted = flattened.sort((a, b) => {\n return a._position && b._position ? a._position - b._position : 0;\n });\n\n // We don't care about first entry\n let startAnchor = 1;\n let anchoredToStart = true;\n // We don't care about last entry\n let endAnchor = sorted.length - 2;\n let anchoredToEnd = true;\n\n // Check to see that the pins are anchored to a start pin\n while (startAnchor < endAnchor && anchoredToStart) {\n const col = sorted[startAnchor];\n\n if (col.pinned) {\n const previousCol = sorted[startAnchor - 1];\n if (!previousCol.pinned) {\n col.pinned = false;\n }\n }\n\n if (!col.pinned) {\n anchoredToStart = false;\n break;\n }\n\n startAnchor++;\n }\n\n // Check against end anchor point, otherwise clear back to the start anchor point\n while (endAnchor > startAnchor) {\n const col = sorted[endAnchor];\n\n if (col.pinned) {\n const nextCol = sorted[endAnchor + 1];\n if (!nextCol.pinned || !anchoredToEnd) {\n col.pinned = false;\n }\n }\n\n if (!col.pinned) {\n anchoredToEnd = false;\n }\n\n endAnchor--;\n }\n }\n\n /**\n * Update columns to be sticky if the galaxy column def says it is so\n */\n private updateStickyColumns(): void {\n const flattened = this.flattenCols();\n\n flattened.forEach((col) => {\n const colDef = this.columnDefs?.find((def) => def.name === col.id);\n\n if (colDef && colDef.sticky !== col.sticky) {\n colDef.sticky = !!col.sticky;\n }\n\n if (colDef && colDef.stickyEnd !== col.stickyEnd) {\n colDef.stickyEnd = !!col.stickyEnd;\n }\n });\n }\n\n /**\n * Flatten the list of columns so that we can handle it easily\n * @returns Flattened list of columns\n */\n private flattenCols(): GalaxyColumnDef[] {\n const flattened: GalaxyColumnDef[] = [];\n this.columns?.forEach((col) => {\n if (col.columns) {\n col.columns.forEach((sub) => {\n flattened.push(sub);\n });\n } else {\n flattened.push(col);\n }\n });\n\n return flattened;\n }\n}\n", "import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { Component, inject, Input, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';\nimport { AbstractControl, UntypedFormControl, UntypedFormGroup } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { distinctUntilChanged } from 'rxjs/operators';\nimport { GalaxyColumnsSortService } from '../../../services/column-sort.service';\nimport { GalaxyColumnDef } from '../../../table.interface';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'glxy-column-sort-simple',\n templateUrl: './column-sort-simple.component.html',\n styleUrls: ['./column-sort-simple.component.scss'],\n standalone: false,\n})\nexport class ColumnSortSimpleComponent implements OnDestroy, OnChanges {\n public colSortService = inject(GalaxyColumnsSortService);\n public translate = inject(TranslateService, { optional: true });\n\n /** List of colums to be controlled by this component */\n @Input() columns: GalaxyColumnDef[] = [];\n\n // Flattened columns to be show in UI\n columnsFlat: GalaxyColumnDef[] = [];\n\n // Used to listen for column visibility changes\n formGroup?: UntypedFormGroup;\n\n // List of subscriptions created for UI checkboxes\n controlSubs: Subscription[] = [];\n\n ngOnDestroy(): void {\n this.controlSubs.forEach((sub) => sub.unsubscribe());\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.columns.firstChange || changes.columns?.currentValue !== changes.columns?.previousValue) {\n // unsubscribe from all the old form controls\n this.controlSubs.forEach((sub) => sub.unsubscribe());\n\n this.flattenColumns();\n this.translateColumns();\n\n const controls: { [key: string]: AbstractControl } = {};\n\n this.columnsFlat.forEach((col: GalaxyColumnDef) => {\n controls[col.id] = new UntypedFormControl(!col.hidden);\n if (col.pinned) {\n controls[col.id].disable();\n }\n const sub = controls[col.id].valueChanges\n .pipe(distinctUntilChanged())\n .subscribe((visible) => this.updateColHidden(col, !visible));\n this.controlSubs.push(sub);\n });\n\n this.formGroup = new UntypedFormGroup(controls);\n }\n }\n\n /**\n * Flattens the list of columns for use in UI.\n * Note: we might want to pull this into a utility method\n */\n flattenColumns(): void {\n this.columnsFlat = [];\n this.columns?.forEach((col: GalaxyColumnDef) => {\n if (col.columns) {\n col.columns.forEach((subCol: GalaxyColumnDef) => {\n this.columnsFlat.push(subCol);\n });\n } else {\n this.columnsFlat.push(col);\n }\n });\n }\n\n /**\n * Translates the columns in place for every change.\n */\n translateColumns(): void {\n this.columnsFlat = this.columnsFlat.map((col) => {\n const originalTitle = col.title || col.id;\n if (!this.translate) {\n col.title = originalTitle;\n return col;\n }\n const translatedTitle = this.translate.instant(originalTitle);\n if (typeof translatedTitle === 'string') {\n col.title = translatedTitle;\n } else {\n col.title = originalTitle;\n }\n return col;\n });\n }\n\n /**\n * NOTE THAT THIS EVENT STRIPS GROUPS. We don't care about groups in simple column arrangement\n * @param event - CDK Drop event provided when we drop an element in the list, in a new position\n */\n drop(event: CdkDragDrop): void {\n // Adjust for select column being hidden\n const indexAdjust = this.columnsFlat[0].id === 'select' ? 1 : 0;\n\n moveItemInArray(this.columnsFlat, event.previousIndex + indexAdjust, event.currentIndex + indexAdjust);\n\n this.columnsFlat.forEach((col: GalaxyColumnDef, i: number) => {\n col._position = i;\n });\n\n this.colSortService.setColumns(this.columnsFlat);\n }\n\n /**\n * Confirm that we can allow the columns to be sorted when this item is droped.\n * @param index - Index of the item to work into the list\n * @returns True if the target location is not a pinned spot, and we can allow the drop\n */\n sortAgainstPinned = (index: number): boolean => {\n // Adjust for select column being hidden\n const indexAdjust = this.columnsFlat[0].id === 'select' ? 1 : 0;\n\n const target = this.columnsFlat.find((col: GalaxyColumnDef) => col._position === index + indexAdjust);\n return !target?.pinned;\n };\n\n /**\n * Update a column's visibility.\n * @param col - The column to updated\n * @param hidden - If true, this column will be hidden\n */\n updateColHidden(col: GalaxyColumnDef, hidden: boolean): void {\n col.hidden = hidden;\n this.colSortService.setColumns(this.columnsFlat);\n }\n}\n", "
\n \n
\n \n {{ col.pinned ? 'push_pin' : 'drag_indicator' }}\n \n \n {{ col.title }}\n \n
\n
\n
\n", "export enum Pinned {\n PINNED_UNSET = 0,\n PINNED_LEFT = 1,\n PINNED_RIGHT = 2,\n}\n\nexport interface ColumnInfo {\n id: string;\n name: string;\n isVisible: boolean;\n pinned?: Pinned;\n}\n", "import { Injectable } from '@angular/core';\nimport { ColumnInfo, Pinned } from './advanced-column-organizer';\nimport { BehaviorSubject, combineLatest, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { moveItemInArray } from '@angular/cdk/drag-drop';\nimport { TranslateService } from '@ngx-translate/core';\nimport { GalaxyColumnDef } from '../../../table.interface';\n\n@Injectable()\nexport class AdvancedColumnOrganizerService {\n private searchTerm$$ = new BehaviorSubject('');\n searchTerm$: Observable = this.searchTerm$$.asObservable();\n\n private columnDefs$$ = new BehaviorSubject([]);\n columnDefs$: Observable = this.columnDefs$$.asObservable();\n\n private groupDefs$$ = new BehaviorSubject([]);\n groupDefs$: Observable = this.groupDefs$$.asObservable();\n\n private selectedOrderedColumns$$ = new BehaviorSubject([]);\n\n selectedOrderedColumns$: Observable = this.selectedOrderedColumns$$.asObservable();\n\n columnDefsByID$: Observable<{ [id: string]: GalaxyColumnDef }>;\n selectedColumns$: Observable;\n searchedGroups$: Observable;\n pinnedLeftColumns$: Observable;\n pinnedRightColumns$: Observable;\n\n translator: TranslateService;\n\n constructor(translator: TranslateService) {\n this.translator = translator;\n this.columnDefsByID$ = this.columnDefs$.pipe(\n map((columnDefs) => {\n const columnDefsByID: { [id: string]: GalaxyColumnDef } = {};\n columnDefs.map((cd) => {\n columnDefsByID[cd.id] = cd;\n });\n return columnDefsByID;\n }),\n );\n\n this.selectedColumns$ = this.getSelectedColumns$();\n this.searchedGroups$ = this.getSearchedGroups$();\n this.pinnedLeftColumns$ = this.getPinnedLeftColumns$();\n this.pinnedRightColumns$ = this.getPinnedRightColumns$();\n }\n\n configure(colDefs: GalaxyColumnDef[], groupDefs: GalaxyColumnDef[]): void {\n colDefs = (colDefs || []).map((cd) => {\n const originalTitle = cd.title || cd.id;\n const translatedTitle = this.translator.instant(originalTitle);\n if (typeof translatedTitle === 'string') {\n cd.title = translatedTitle;\n } else {\n cd.title = originalTitle;\n }\n return cd;\n });\n groupDefs = (groupDefs || []).map((gd) => {\n const originalTitle = gd.title || gd.id;\n const translatedTitle = this.translator.instant(originalTitle);\n if (typeof translatedTitle === 'string') {\n gd.title = translatedTitle;\n } else {\n gd.title = originalTitle;\n }\n return gd;\n });\n\n this.columnDefs$$.next(colDefs || []);\n this.groupDefs$$.next(groupDefs || []);\n const selectedOrderedColumns: string[] = this.columnDefs$$.value\n .filter((c) => !c.pinned && !c.hidden)\n .map((c) => c.id);\n this.selectedOrderedColumns$$.next(selectedOrderedColumns);\n }\n\n getPinnedLeftColumns$(): Observable {\n return this.pinnedColumns$(Pinned.PINNED_LEFT);\n }\n\n getSelectedColumns$(): Observable {\n return combineLatest([this.selectedOrderedColumns$, this.columnDefsByID$]).pipe(\n map(([selectedColumnIDs, keyedColumns]): ColumnInfo[] => {\n return selectedColumnIDs.map((id: string): ColumnInfo => {\n return {\n id: id,\n name: keyedColumns[id].title || keyedColumns[id].id,\n isVisible: !keyedColumns[id]?.hidden,\n pinned: Pinned.PINNED_UNSET,\n };\n });\n }),\n );\n }\n\n getSelectedColumnsDef$(): Observable {\n return combineLatest([this.selectedOrderedColumns$, this.columnDefs$]).pipe(\n map(([selectedOrderedColumns, columnsEntry]) => {\n const pinnedColumns = new Map();\n columnsEntry.forEach((column, index) => {\n if (column.pinned) {\n pinnedColumns.set(index, column);\n }\n });\n\n const nonPinnedColumns = columnsEntry.filter((column) => !column.pinned);\n\n const sortedNonPinned = nonPinnedColumns.sort(\n (a, b) => selectedOrderedColumns.indexOf(a.id) - selectedOrderedColumns.indexOf(b.id),\n );\n\n const orderedColumns: GalaxyColumnDef[] = [];\n\n columnsEntry.forEach((column, index) => {\n if (pinnedColumns.has(index)) {\n orderedColumns[index] = pinnedColumns.get(index)!;\n } else {\n orderedColumns[index] = sortedNonPinned.shift() as GalaxyColumnDef;\n }\n });\n\n orderedColumns.forEach((column) => {\n if (!column.pinned) {\n column.hidden = !selectedOrderedColumns.includes(column.id);\n }\n });\n\n return orderedColumns;\n }),\n );\n }\n\n getPinnedRightColumns$(): Observable {\n return this.pinnedColumns$(Pinned.PINNED_RIGHT);\n }\n\n pinnedColumns$(pinSide: Pinned): Observable {\n return this.columnDefs$.pipe(\n map((columnDefs: GalaxyColumnDef[]): ColumnInfo[] => {\n const pinnedColumns = columnDefs.filter((columnDef) => {\n if (pinSide === Pinned.PINNED_LEFT) {\n return columnDef.pinned && columnDef.sticky;\n }\n if (pinSide === Pinned.PINNED_RIGHT) {\n return columnDef.pinned && columnDef.stickyEnd;\n }\n return false;\n });\n\n return pinnedColumns.map(\n (columnDef: GalaxyColumnDef): ColumnInfo => ({\n id: columnDef.id,\n name: columnDef.title || columnDef.id,\n isVisible: true,\n pinned: pinSide,\n }),\n );\n }),\n );\n }\n\n private organizeColumnsByGroup(\n keyedColumns: { [id: string]: GalaxyColumnDef },\n groupDefs: GalaxyColumnDef[],\n ): GalaxyColumnDef[] {\n return groupDefs.map((groupDef: GalaxyColumnDef): GalaxyColumnDef => {\n const filteredColumns: (GalaxyColumnDef | undefined)[] = (groupDef.columns ?? [])\n .map((columnID): GalaxyColumnDef | undefined => {\n const id = columnID?.id;\n const title = keyedColumns[id]?.title || id;\n const pinned = keyedColumns[id]?.pinned;\n\n return id ? { id, title, pinned } : undefined;\n })\n .filter((column) => !!column);\n\n return {\n id: groupDef?.id,\n title: groupDef?.title,\n columns: filteredColumns as GalaxyColumnDef[],\n };\n });\n }\n\n private addUngroupedFieldsToOtherSection(keyedColumns: { [id: string]: GalaxyColumnDef }, groups: GalaxyColumnDef[]) {\n const groupedFieldIds = groups\n .map((g) => g?.columns || [])\n .flat()\n .map((c: GalaxyColumnDef) => c?.id);\n const ungroupedFields = [];\n for (const [id, column] of Object.entries(keyedColumns)) {\n if (!groupedFieldIds.includes(id) && id !== 'select' && id !== 'actions') {\n ungroupedFields.push(column);\n }\n }\n if (ungroupedFields.length > 0) {\n groups.push({\n id: 'ungrouped-fields',\n title: 'Other',\n columns: ungroupedFields as GalaxyColumnDef[],\n });\n }\n return groups;\n }\n\n getSearchedGroups$(): Observable {\n return combineLatest([this.searchTerm$, this.columnDefsByID$, this.columnDefs$]).pipe(\n map(([searchTerm, keyedColumns]) => {\n const groupDefs: GalaxyColumnDef[] = this.groupDefs$$.getValue();\n const groups: GalaxyColumnDef[] = this.organizeColumnsByGroup(\n keyedColumns as { [id: string]: GalaxyColumnDef },\n groupDefs,\n );\n this.addUngroupedFieldsToOtherSection(keyedColumns as { [id: string]: GalaxyColumnDef }, groups);\n\n return this.filterGroupsBySearchTerm(groups, searchTerm);\n }),\n );\n }\n\n updateSearchTerm(st: string): void {\n this.searchTerm$$.next(st);\n }\n\n filterGroupsBySearchTerm(groups: GalaxyColumnDef[], searchTerm: string): GalaxyColumnDef[] {\n const columnMatchesSearchTerm = (column: GalaxyColumnDef, st: string) =>\n column.title?.toLowerCase().indexOf(st.toLowerCase()) !== -1;\n if (!searchTerm) {\n return groups;\n }\n return groups\n .filter((group) => {\n return group.columns?.some((column) => columnMatchesSearchTerm(column, searchTerm));\n })\n .map(\n (group: GalaxyColumnDef): GalaxyColumnDef => ({\n ...group,\n columns: group.columns?.filter((column) => columnMatchesSearchTerm(column, searchTerm)),\n }),\n );\n }\n\n setColumnVisibility(id: string, isVisible: boolean): void {\n const cols = this.selectedOrderedColumns$$.value;\n const index = cols.indexOf(id);\n if (isVisible) {\n if (index === -1) {\n cols.push(id);\n }\n } else {\n if (index !== -1) {\n cols.splice(index, 1);\n }\n }\n this.selectedOrderedColumns$$.next(cols);\n }\n\n selectAll(columnGroup: GalaxyColumnDef): void {\n if (!columnGroup.columns) {\n return;\n }\n columnGroup.columns\n .filter((column) => !column.pinned)\n .map((column) => {\n this.setColumnVisibility(column.id, true);\n });\n }\n\n deselectAll(columnGroup: GalaxyColumnDef): void {\n if (!columnGroup.columns) {\n return;\n }\n columnGroup.columns\n .filter((column) => !column.pinned)\n .map((column) => {\n this.setColumnVisibility(column.id, false);\n });\n }\n\n columnDroppedInList(prevIndex: number, curIndex: number): void {\n const columns: string[] = this.selectedOrderedColumns$$.getValue();\n moveItemInArray(columns, prevIndex, curIndex);\n this.selectedOrderedColumns$$.next(columns);\n }\n\n getSelectedColumns(): string[] {\n return this.selectedOrderedColumns$$.value;\n }\n}\n", "import { Component, Inject, Input, OnDestroy } from '@angular/core';\nimport { AdvancedColumnOrganizerService } from './advanced-column-organizer.service';\nimport { ColumnInfo } from './advanced-column-organizer';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { firstValueFrom, Observable, map, Subscription } from 'rxjs';\nimport { CdkDragDrop } from '@angular/cdk/drag-drop';\nimport { GalaxyColumnDef } from '../../../table.interface';\nimport { UntypedFormControl } from '@angular/forms';\n\n// @dynamic\n@Component({\n selector: 'glxy-table-advanced-column',\n templateUrl: './advanced-column-organizer.component.html',\n styleUrls: ['./advanced-column-organizer.component.scss'],\n providers: [AdvancedColumnOrganizerService],\n standalone: false,\n})\nexport class AdvancedColumnOrganizerComponent implements OnDestroy {\n saveName: string;\n activeTab: string | null = null;\n selectedColumns: string[] = [];\n columnDefs: GalaxyColumnDef[] = [];\n\n @Input() advancedColumns: GalaxyColumnDef[] = [];\n\n public searchControl: UntypedFormControl = new UntypedFormControl();\n private readonly searchSubscription: Subscription;\n\n constructor(\n public advancedColumnOrganizerService: AdvancedColumnOrganizerService,\n @Inject(MAT_DIALOG_DATA)\n public dialogData: {\n saveName: string;\n columnConfigs: GalaxyColumnDef[];\n groupConfigs: GalaxyColumnDef[];\n useI18NTranslations: boolean;\n },\n public breakpointObserver: BreakpointObserver,\n public dialogRef: MatDialogRef,\n ) {\n this.saveName = dialogData.saveName;\n this.loadColumns();\n this.getActiveTab();\n this.searchSubscription = this.searchControl.valueChanges.subscribe((searchTerm) => {\n this.updateSearchTerm(searchTerm);\n });\n }\n\n ngOnDestroy(): void {\n if (this.searchSubscription) {\n this.searchSubscription.unsubscribe();\n }\n }\n\n get selectedColumns$(): Observable {\n return this.advancedColumnOrganizerService.selectedColumns$;\n }\n\n get pinnedLeftColumns$(): Observable {\n return this.advancedColumnOrganizerService.pinnedLeftColumns$;\n }\n\n get pinnedRightColumns$(): Observable {\n return this.advancedColumnOrganizerService.pinnedRightColumns$;\n }\n\n get searchedGroups$(): Observable {\n return this.advancedColumnOrganizerService.searchedGroups$;\n }\n\n updateSearchTerm(event: string): void {\n this.advancedColumnOrganizerService.updateSearchTerm(event);\n }\n\n setColumnVisibility(id: string, isVisible: boolean): void {\n this.advancedColumnOrganizerService.setColumnVisibility(id, isVisible);\n }\n\n columnDroppedInList(event: CdkDragDrop): void {\n this.advancedColumnOrganizerService.columnDroppedInList(event.item.data.columnIndex, event.currentIndex);\n }\n\n async save(): Promise {\n this.selectedColumns = this.advancedColumnOrganizerService.getSelectedColumns();\n this.columnDefs = await firstValueFrom(this.advancedColumnOrganizerService.getSelectedColumnsDef$());\n this.dialogRef.close(true);\n }\n\n loadColumns(): void {\n this.advancedColumnOrganizerService.configure(this.dialogData.columnConfigs, this.dialogData.groupConfigs);\n }\n\n selectAll(columnGroup: GalaxyColumnDef): void {\n this.advancedColumnOrganizerService.selectAll(columnGroup);\n }\n\n deselectAll(columnGroup: GalaxyColumnDef): void {\n this.advancedColumnOrganizerService.deselectAll(columnGroup);\n }\n\n onClose(): void {\n this.dialogRef.close();\n }\n\n isMobileScreen(): boolean {\n return this.breakpointObserver.isMatched('(max-width: 820px)');\n }\n\n setActiveTab(currentTab: string): void {\n sessionStorage.setItem('columnManagerCurrentTab', currentTab);\n }\n getActiveTab(): void {\n this.activeTab = sessionStorage.getItem('columnManagerCurrentTab');\n }\n isActionsColumn(column: GalaxyColumnDef): Observable {\n return this.advancedColumnOrganizerService.selectedOrderedColumns$.pipe(\n map((selectedCols) => {\n if (column.id === 'actions') {\n return true;\n }\n return selectedCols.includes(column.id);\n }),\n );\n }\n}\n", "\n

\n Manage columns\n \n close\n \n

\n\n\n \n \n
\n
\n \n
\n\n
\n \n
\n
\n
\n\n \n \n
\n \n \n
\n \n
\n
\n\n \n
\n \n
\n
\n \n
\n
\n
\n\n\n \n \n\n\n\n\n\n
\n
\n \n Search\n \n \n \n \n
\n No columns matched '{{ searchControl.value }}'. Please try another term.\n
\n
\n\n \n \n \n
\n

\n {{ columnGroup.title }}\n \n

\n
    \n \n
  • \n 0\"\n (change)=\"setColumnVisibility(column.id, $event.checked)\"\n >\n {{ column.title }}\n \n
  • \n
    \n
\n
\n
\n
\n
\n
\n
\n\n\n\n
\n
Arrange columns
\n\n
\n \n \n
\n
\n lock\n
\n
{{ column.name }}
\n
\n
\n\n \n
\n \n
\n drag_handle\n
\n\n
\n {{ columnInfo.name }}\n
\n
\n {{ columnInfo.name }}\n
\n
\n \n
\n\n
\n
\n
\n\n \n \n
\n
\n lock\n
\n
{{ column.name }}
\n
\n
\n
\n \n
\n", "import { booleanAttribute, Component, Input } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { take } from 'rxjs/operators';\nimport { AdvancedColumnOrganizerComponent } from './advanced-column-organizer.component';\nimport { GalaxyColumnsSortService } from '../../../services/column-sort.service';\nimport { GalaxyColumnDef } from '../../../table.interface';\n\nexport interface DialogData {\n saveName: string | undefined;\n columnConfigs: GalaxyColumnDef[];\n groupConfigs: GalaxyColumnDef[];\n useI18NTranslations: boolean;\n}\n\n@Component({\n selector: 'glxy-mat-table-advanced-column-organizer-button',\n template: '',\n standalone: false,\n})\nexport class AdvancedColumnOrganizerButtonComponent {\n @Input() saveName?: string;\n @Input() columnConfigs: GalaxyColumnDef[] = [];\n @Input() groupConfigs: GalaxyColumnDef[] = [];\n @Input({ transform: booleanAttribute }) useI18NTranslations?: boolean;\n\n constructor(\n private dialog: MatDialog,\n public colSortService: GalaxyColumnsSortService,\n ) {}\n\n openManager(): void {\n const dialogData: DialogData = {\n saveName: this.saveName,\n columnConfigs: this.columnConfigs,\n groupConfigs: this.groupConfigs,\n useI18NTranslations: !!this.useI18NTranslations,\n };\n const dialogRef = this.dialog.open(AdvancedColumnOrganizerComponent, {\n width: '800px',\n panelClass: 'glxy-advanced-column-organizer-panel',\n autoFocus: false,\n data: dialogData,\n });\n dialogRef\n .afterClosed()\n .pipe(take(1))\n .subscribe((save) => {\n if (save) {\n this.colSortService.setColumns(dialogRef.componentInstance.columnDefs);\n }\n });\n }\n}\n", "import { ChangeDetectionStrategy, Component, DestroyRef, Input, inject } from '@angular/core';\nimport { PopoverPositions } from '@vendasta/galaxy/popover';\nimport { GalaxyColumnsSortService } from '../../services/column-sort.service';\nimport { GalaxyColumnDef } from '../../table.interface';\nimport { startWith, Observable } from 'rxjs';\n\n@Component({\n selector: 'glxy-column-sort',\n templateUrl: './column-sort.component.html',\n styleUrls: ['./column-sort.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class GalaxyColumnSortComponent {\n /** Which type of UI to display */\n @Input() type: 'simple' | 'advanced' = 'simple';\n\n /** List of columns to rearrange */\n columns$: Observable = this.colSortService.columns$$.asObservable().pipe(startWith([]));\n\n groupConfigs$: Observable = this.colSortService.groupConfigs$$?.asObservable().pipe(startWith([]));\n\n /** Whether or not the UI is open */\n isOpen = false;\n\n /** Mapping of positions for use in template */\n PopoverPositions = PopoverPositions;\n\n private readonly destroyRef = inject(DestroyRef);\n\n constructor(public colSortService: GalaxyColumnsSortService) {}\n}\n", "
\n \n view_column\n Columns\n \n\n \n \n \n
\n
\n \n view_column\n Columns\n \n
\n", "import { Component } from '@angular/core';\n\n@Component({\n template: `\n
\n {{ getDisplayValue() }}\n
\n \n `,\n standalone: false,\n})\nexport class BooleanRendererComponent {\n value: boolean | undefined;\n\n showBlank(): boolean {\n return !this.value === undefined;\n }\n\n getDisplayValue(): string {\n if (this.value === undefined) {\n return '-';\n }\n if (this.value) {\n return 'True';\n }\n return 'False';\n }\n}\n", "import { Component } from '@angular/core';\nimport { MomentDateAdapter } from '@angular/material-moment-adapter';\nimport { DateAdapter } from '@angular/material/core';\nimport { DateFormat } from '@vendasta/galaxy/utility/date-utils';\nimport { PopoverPositions } from '@vendasta/galaxy/popover';\n\n@Component({\n template: `\n
\n {{ value | date }}\n
\n \n {{ ('GALAXY.TABLE.DATE_CELL.LOCAL_TIME' | translate) + ': ' + (value | date: longFormat) }}\n
\n {{ ('GALAXY.TABLE.DATE_CELL.UTC' | translate) + ': ' + (value | date: longFormat : '+0000') }}\n \n `,\n providers: [\n // for browsers with a negative GMT, the default datepicker would show the previous day\n { provide: DateAdapter, useClass: MomentDateAdapter },\n ],\n standalone: false,\n})\nexport class DateRendererComponent {\n positions = [PopoverPositions.Top, PopoverPositions.Bottom];\n showPopover = false;\n longFormat = DateFormat.long;\n value: Date = new Date(0);\n\n showTooltip(): void {\n this.showPopover = true;\n }\n\n hideTooltip(): void {\n this.showPopover = false;\n }\n}\n", "import { Component } from '@angular/core';\n\n@Component({\n template: `\n @if (isNumber) {\n
\n {{ value | number }}\n
\n } @else {\n @if (value) {\n
\n {{ value }}\n
\n } @else {\n \n }\n }\n `,\n standalone: false,\n})\nexport class IntegerRendererComponent {\n isNumber = false;\n\n private _value: number | undefined;\n set value(val: number | undefined) {\n this._value = val;\n this.isNumber = typeof this._value === 'number';\n }\n get value(): number | undefined {\n return this._value;\n }\n}\n", "import { Component } from '@angular/core';\nimport { ParsedNumber, format, parseNumber } from 'libphonenumber-js';\n\n@Component({\n template: `\n \n \n \n
{{ value }}
\n
\n \n
\n `,\n styleUrls: ['./phone.scss'],\n standalone: false,\n})\nexport class PhoneRendererComponent {\n private _value = '';\n readonlyPhone = '';\n phoneLink = '';\n\n private setupPhoneValues(): void {\n const parsedNumber = parseNumber(this._value, {\n defaultCountry: 'US',\n });\n if (Object.keys(parsedNumber).length === 0) {\n this.readonlyPhone = '';\n this.phoneLink = '';\n return;\n }\n\n this.readonlyPhone = format(parsedNumber as ParsedNumber, 'INTERNATIONAL');\n this.phoneLink = format(parsedNumber as ParsedNumber, 'RFC3966');\n }\n\n get value(): string {\n return this._value;\n }\n set value(v: string) {\n this._value = v;\n this.setupPhoneValues();\n }\n}\n", "import { CommonModule } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { GalaxyBadgeModule } from '@vendasta/galaxy/badge';\nimport { GalaxyTooltipModule } from '@vendasta/galaxy/tooltip';\nimport { BlankValueComponent } from './blank-value';\n\n@Component({\n template: `\n \n\n \n
0\">\n {{ value[0] }}\n {{ value[1] }}\n 2\" [glxyTooltip]=\"value.join(', ')\">+{{ value.length - 1 }}\n
\n
\n `,\n styleUrls: ['./tags.scss'],\n imports: [CommonModule, BlankValueComponent, GalaxyBadgeModule, GalaxyTooltipModule],\n})\nexport class TagsRendererComponent {\n value: string[] = [];\n}\n", "import { Component } from '@angular/core';\n\n@Component({\n template: `\n
\n \n {{ value }}\n \n \n {{ value }}\n \n \n {{ value }}\n \n
\n \n `,\n standalone: false,\n})\nexport class TextRendererComponent {\n value: string | undefined;\n link: string | undefined;\n action: (() => void) | undefined;\n}\n", "import { Component } from '@angular/core';\nimport { MomentDateAdapter } from '@angular/material-moment-adapter';\nimport { DateAdapter } from '@angular/material/core';\nimport { DateFormat } from '@vendasta/galaxy/utility/date-utils';\n\n@Component({\n template: `\n
\n {{ value | glxyDate: format }}\n
\n `,\n providers: [\n // for browsers with a negative GMT, the default datepicker would show the previous day\n { provide: DateAdapter, useClass: MomentDateAdapter },\n ],\n standalone: false,\n})\nexport class TimestampRendererComponent {\n format = DateFormat.medium;\n value: Date = new Date(0);\n}\n", "import { Component } from '@angular/core';\n\n@Component({\n selector: 'glxy-float-renderer',\n template: `\n @if (isNumber) {\n
\n {{ value | number }}\n
\n } @else {\n @if (value) {\n
\n {{ value }}\n
\n } @else {\n \n }\n }\n `,\n standalone: false,\n})\nexport class FloatRendererComponent {\n isNumber = false;\n\n private _value: number | undefined;\n set value(val: number | undefined) {\n this._value = val;\n this.isNumber = typeof this._value === 'number';\n }\n get value(): number | undefined {\n return this._value;\n }\n}\n", "import { Component } from '@angular/core';\n\n@Component({\n template: `\n @if (value !== undefined) {\n
\n @if (code) {\n {{ value | glxyCurrency: code }}\n } @else {\n {{ value | glxyCurrency }}\n }\n
\n } @else {\n \n }\n `,\n standalone: false,\n})\nexport class CurrencyRendererComponent {\n value: number | undefined;\n code: string | undefined;\n}\n", "import {\n ChangeDetectionStrategy,\n Component,\n ComponentRef,\n inject,\n Input,\n OnDestroy,\n OnInit,\n ViewContainerRef,\n} from '@angular/core';\nimport { CellData, CustomCellComponent } from './interface';\nimport { BlankValueRendererComponent } from './renderers/blank-value';\nimport { BooleanRendererComponent } from './renderers/boolean';\nimport { DateRendererComponent } from './renderers/date';\nimport { IntegerRendererComponent } from './renderers/integer';\nimport { PhoneRendererComponent } from './renderers/phone';\nimport { TagsRendererComponent } from './renderers/tags';\nimport { TextRendererComponent } from './renderers/text';\nimport { TimestampRendererComponent } from './renderers/timestamp';\nimport { FloatRendererComponent } from './renderers/float';\nimport { CurrencyRendererComponent } from './renderers/currency';\n\ntype ComponentRefType =\n | CustomCellComponent\n | BlankValueRendererComponent\n | BooleanRendererComponent\n | DateRendererComponent\n | IntegerRendererComponent\n | PhoneRendererComponent\n | TagsRendererComponent\n | TextRendererComponent\n | TimestampRendererComponent\n | FloatRendererComponent\n | CurrencyRendererComponent;\n\n@Component({\n selector: 'glxy-table-model-driven-cell',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class ModelDrivenCellComponent implements OnInit, OnDestroy {\n @Input() cellData: CellData;\n component: ComponentRef | null = null;\n\n private readonly viewContainerRef = inject(ViewContainerRef);\n\n private renderCell(): void {\n this.viewContainerRef.clear();\n const cellType = this.cellData?.cellType;\n if (cellType === 'integer') {\n const component = this.viewContainerRef.createComponent(IntegerRendererComponent);\n component.instance.value = Number(this.cellData?.value as number);\n this.component = component;\n } else if (cellType === 'float') {\n const component = this.viewContainerRef.createComponent(FloatRendererComponent);\n component.instance.value = Number(this.cellData?.value as number);\n this.component = component;\n } else if (cellType === 'date') {\n const component = this.viewContainerRef.createComponent(DateRendererComponent);\n component.instance.value = (this.cellData?.value as Date) || new Date(0);\n this.component = component;\n } else if (cellType === 'text') {\n const component = this.viewContainerRef.createComponent(TextRendererComponent);\n component.instance.value = (this.cellData?.value as string) || '';\n if (this.cellData && 'link' in this.cellData) {\n component.instance.link = this.cellData.link;\n }\n if (this.cellData && 'action' in this.cellData) {\n component.instance.action = this.cellData.action;\n }\n this.component = component;\n } else if (cellType === 'boolean') {\n const component = this.viewContainerRef.createComponent(BooleanRendererComponent);\n component.instance.value = Boolean(this.cellData?.value);\n this.component = component;\n } else if (cellType === 'tags') {\n const component = this.viewContainerRef.createComponent(TagsRendererComponent);\n component.instance.value = (this.cellData?.value as string[]) || new Array();\n this.component = component;\n } else if (cellType === 'phone') {\n const component = this.viewContainerRef.createComponent(PhoneRendererComponent);\n component.instance.value = (this.cellData?.value as string) || '';\n this.component = component;\n } else if (cellType === 'timestamp') {\n const component = this.viewContainerRef.createComponent(TimestampRendererComponent);\n component.instance.value = (this.cellData?.value as Date) || new Date(0);\n this.component = component;\n } else if (cellType === 'currency') {\n const component = this.viewContainerRef.createComponent(CurrencyRendererComponent);\n component.instance.value = this.cellData?.value as number;\n component.instance.code = this.cellData?.code as string;\n this.component = component;\n } else if (cellType === 'custom' && this.cellData && 'component' in this.cellData) {\n const component = this.viewContainerRef.createComponent(this.cellData.component);\n component.instance.value = this.cellData.value;\n this.component = component;\n } else {\n this.component = this.viewContainerRef.createComponent(BlankValueRendererComponent);\n }\n }\n\n ngOnInit(): void {\n this.renderCell();\n }\n\n ngOnDestroy(): void {\n // due the model driven cell being very dynamic\n // some components get stuck in memory\n // this can force clean up\n this.component?.location?.nativeElement.remove();\n this.component = null;\n }\n}\n", "import { SelectionModel } from '@angular/cdk/collections';\nimport { computed, DestroyRef, inject, Injectable, InjectionToken } from '@angular/core';\nimport { BehaviorSubject, Subscription } from 'rxjs';\nimport { filter, map, switchMap } from 'rxjs/operators';\nimport { Row } from '../components/model-driven-cell/interface';\nimport { GalaxySelectionComponent } from '../components/selection/selection.component';\nimport { takeUntilDestroyed, toObservable, toSignal } from '@angular/core/rxjs-interop';\n\ninterface SelectionEntry {\n select: GalaxySelectionComponent;\n valueSub: Subscription | null;\n}\n\nexport type SelectionMode = 'single' | 'multiple';\n\nexport interface GalaxyTableSelectionCustomization {\n rowsSelectionLimit?: number;\n}\nexport const GalaxyTableSelectionCustomizationToken = new InjectionToken(\n 'optional dependencies for the selection customization',\n);\n\n@Injectable()\nexport class GalaxyTableSelectionService {\n entries: SelectionEntry[] = [];\n\n private selectionMode$$ = new BehaviorSubject('multiple');\n\n multiSelection = new SelectionModel(true, [], true, GalaxyTableSelectionService.compareRows);\n singleSelection = new SelectionModel(false, [], true, GalaxyTableSelectionService.compareRows);\n\n private destroyRef = inject(DestroyRef);\n private readonly selectionCustomization: GalaxyTableSelectionCustomization | null = inject(\n GalaxyTableSelectionCustomizationToken,\n { optional: true },\n );\n rowsSelectionLimit = this.selectionCustomization?.rowsSelectionLimit || 500;\n\n private selectionModeSig = toSignal(this.selectionMode$$.asObservable());\n selectionModel = computed(() => {\n const mode = this.selectionModeSig();\n if (mode === 'single') {\n return this.singleSelection;\n }\n return this.multiSelection;\n });\n\n // We only want to emit what is selected, not the diffs\n selection$ = toObservable(this.selectionModel).pipe(\n switchMap((selectionModel) => {\n return selectionModel.changed.pipe(map(() => selectionModel.selected));\n }),\n );\n\n allSelected$ = toObservable(this.selectionModel).pipe(\n switchMap((selectionModel) => {\n return selectionModel.changed.pipe(\n map(() =>\n this.entries.every((entry) => (entry.select.row ? selectionModel.isSelected(entry.select.row) : false)),\n ),\n );\n }),\n );\n\n hasSelection$ = toObservable(this.selectionModel).pipe(\n switchMap((selectionModel) => {\n return selectionModel.changed.pipe(map(() => selectionModel.hasValue()));\n }),\n );\n\n static compareRows(row1: Row, row2: Row): boolean {\n if (row1?.id && row2?.id) {\n return row1.id === row2.id;\n }\n return row1 === row2;\n }\n\n private removeEntry(select: GalaxySelectionComponent): SelectionEntry {\n const index = this.entries.findIndex((entry) => entry.select === select);\n return this.entries.splice(index, 1)[0];\n }\n\n /** The \"all control\" selection has been updated */\n mainChanged(checked: boolean): void {\n if (!checked) {\n this.multiSelection.clear();\n return;\n }\n this.entries.forEach((entry) => {\n if (\n entry.select.row &&\n !this.isSelected(entry.select.row) &&\n this.multiSelection?.selected?.length < this.rowsSelectionLimit\n ) {\n this.multiSelection.select(entry.select.row);\n }\n });\n }\n\n /**\n * Register a component and its row for selection events\n * @param selectComp - The select component to register and listen to\n */\n registerRow(selectComp: GalaxySelectionComponent): void {\n const entry: SelectionEntry = {\n select: selectComp,\n valueSub: null,\n };\n\n // register the lord of checkboxes\n if (!selectComp.row) {\n entry.valueSub = selectComp.selected$$\n .pipe(\n filter((a) => a !== null),\n takeUntilDestroyed(this.destroyRef),\n )\n .subscribe({\n next: (checked) => this.mainChanged(!!checked),\n });\n } else {\n entry.valueSub = selectComp.selected$$\n .pipe(\n filter((a) => a !== null),\n takeUntilDestroyed(this.destroyRef),\n )\n .subscribe({\n next: () => {\n if (entry.select.row) this.onSelection(entry.select.row);\n },\n });\n this.entries.push(entry);\n }\n }\n\n /**\n * Unregister a selection component and its row\n * @param selectComp - The selection component to unregister\n */\n unregisterRow(selectComp: GalaxySelectionComponent): void {\n const entry = this.removeEntry(selectComp);\n if (!entry) {\n return;\n }\n entry.valueSub?.unsubscribe();\n }\n\n isSelected(row: Row): boolean {\n if (this.selectionMode$$.value === 'single') {\n return this.singleSelection.isSelected(row);\n }\n return this.multiSelection.isSelected(row);\n }\n\n onSelection(row: Row): void {\n if (this.selectionMode$$.value === 'single') {\n this.singleSelection.toggle(row);\n return;\n }\n this.multiSelection.toggle(row);\n }\n\n clear() {\n this.singleSelection.clear();\n this.multiSelection.clear();\n }\n\n setSelectionMode(mode: SelectionMode) {\n this.selectionMode$$.next(mode);\n }\n\n setSelected(row: Row) {\n if (this.selectionMode$$.value === 'single') {\n this.singleSelection.select(row);\n return;\n }\n this.multiSelection.select(row);\n }\n\n hasReachedSelectionLimit(row: Row): boolean {\n if (this.isSelected(row)) {\n return false;\n }\n const selectedAmount = this.selectionModel().selected.length;\n return selectedAmount >= this.rowsSelectionLimit;\n }\n}\n", "import { booleanAttribute, Component, inject, Input, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';\nimport { MatCheckboxChange } from '@angular/material/checkbox';\nimport { BehaviorSubject } from 'rxjs';\nimport { GalaxyTableSelectionService } from '../../services/table-selection.service';\nimport { Row } from '../model-driven-cell/interface';\n\n// First iteration only allows for the current page to be selected\n@Component({\n selector: 'glxy-table-selection',\n templateUrl: './selection.component.html',\n standalone: false,\n})\nexport class GalaxySelectionComponent implements OnInit, OnChanges, OnDestroy {\n // If no row is present, we can assume that this is the mother of all\n // checkboxes. It controls them all\n @Input() row?: Row;\n @Input({ transform: booleanAttribute }) disableSelection = false;\n @Input() preSelectedRows: Row[] = [];\n @Input() preSelectedLockedRows: Row[] = [];\n\n disabledRow = false;\n selected$$ = new BehaviorSubject(null);\n selectionService = inject(GalaxyTableSelectionService);\n\n // For now, we register when created (aka only allow for one page at a time)\n ngOnInit(): void {\n if (!this.disableSelection) {\n this.selectionService.registerRow(this);\n }\n }\n\n // If the row is preselected, we disable the checkbox\n ngOnChanges(changes: SimpleChanges) {\n if ((this.preSelectedLockedRows || this.disableSelection) && this.row) {\n if (changes?.preSelectedLockedRows?.currentValue || changes?.row?.currentValue || changes?.selectAndLock) {\n if (this.disableSelection) {\n this.disabledRow = this.disableSelection;\n } else {\n this.disabledRow = this.preSelectedLockedRows?.some((item) => item.id === this.row?.id);\n }\n }\n }\n if (this.preSelectedRows && this.row) {\n if (changes?.preSelectedRows?.currentValue || changes?.row?.currentValue) {\n const matchingRow = this.preSelectedRows?.some((item) => item.id === this.row?.id);\n //Only change the value if it's the matching row\n if (matchingRow) {\n this.selectionService.setSelected(this.row);\n }\n }\n }\n }\n\n // For now, we unregister when destroyed (aka only allow for one page at a time)\n ngOnDestroy(): void {\n this.selectionService.unregisterRow(this);\n }\n\n onSelectChange(change: MatCheckboxChange): void {\n this.selected$$.next(change.checked);\n }\n}\n", "@if (row) {\n \n} @else {\n \n}\n", "export * from './src/table.module';\n", "// Export things like public API, and interfaces from here.\nexport * from './public_api';\n", "import { MatPaginatorIntl } from '@angular/material/paginator';\nimport { TranslateService } from '@ngx-translate/core';\n\nexport const INDETERMINATE_MAX = Infinity;\n\nexport class GalaxyPaginatorText extends MatPaginatorIntl {\n constructor(private translate: TranslateService) {\n super();\n }\n\n // Label that goes beside the page selector\n itemsPerPageLabel = this.translate.instant('GALAXY.PAGINATION.PAGE_SIZE');\n // Label that goes in the tooltip for the next page button\n nextPageLabel = this.translate.instant('GALAXY.PAGINATION.NEXT_PAGE');\n // Label that goes in the tooltip for the previous page button\n previousPageLabel = this.translate.instant('GALAXY.PAGINATION.PREVIOUS_PAGE');\n\n /**\n * Construct the label that displays how many items exist in the series, when using an endpoint that doesn't\n * provide a total items prop.\n * @param page - The current page number\n * @param pageSize - The size of the page\n * @param length - How many items exist in the entire data set\n * @returns The translated string for display number of items on the page, out of total\n * \"1 - 10 of many\", \"11-15 of 15\"\n */\n getRangeLabel = (page: number, pageSize: number, length: number): string => {\n if (length === 0 || pageSize === 0) {\n return `0 ${this.translate.instant('GALAXY.PAGINATION.OF')} ${length}`;\n }\n length = Math.max(length, 0);\n const startIndex = page * pageSize;\n const endIndex = startIndex < length ? Math.min(startIndex + pageSize, length) : startIndex + pageSize;\n // \"Of many\" rather than of \"length\"\n return `${startIndex + 1} - ${endIndex} ${this.translate.instant('GALAXY.PAGINATION.OF')} ${\n length === INDETERMINATE_MAX ? this.translate.instant('GALAXY.PAGINATION.INDETERMINATE_AMOUNT') : length\n }`;\n };\n}\n", "import { DataSource } from '@angular/cdk/collections';\nimport { BehaviorSubject, Observable, shareReplay, Subscription } from 'rxjs';\nimport { distinctUntilChanged, filter, map, switchMap } from 'rxjs/operators';\nimport { PagedResponseInterface, PageEvent, PaginatedAPIInterface } from './datasource.interface';\nimport { INDETERMINATE_MAX } from './paginator-text';\nimport { signal } from '@angular/core';\n\ninterface State {\n pageSize?: number;\n cursor?: string;\n pageIndex?: number;\n previousPageIndex?: number;\n dataMembers?: RowType[];\n shouldRefetch?: boolean;\n loading?: boolean;\n totalDataMembers?: number;\n searchTerm?: string;\n searchFields?: string[];\n filters?: FilterType[];\n sorting?: SortType[];\n shouldClearSelection?: boolean;\n initialLoadCompleted?: boolean;\n selectAll?: boolean;\n}\n\nexport class GalaxyDataSource extends DataSource {\n private stateSubscription?: Subscription | null;\n private cursors: Record = {};\n private searchTerm = '';\n\n private state$$ = new BehaviorSubject>(this.defaultState());\n state$ = this.state$$.asObservable();\n loading$ = this.state$.pipe(map(({ loading }) => loading));\n shouldClearSelection$ = this.state$.pipe(map(({ shouldClearSelection }) => shouldClearSelection));\n totalDataMembers$ = this.state$.pipe(map(({ totalDataMembers }) => totalDataMembers));\n pageIndex$ = this.state$.pipe(map(({ pageIndex }) => pageIndex));\n dataMembers$ = this.state$.pipe(map(({ dataMembers = [] }) => dataMembers));\n selectAll$ = this.state$.pipe(map(({ selectAll }) => selectAll));\n clearSelectionOnChange = false;\n sortingChanged = signal([]);\n get state(): State {\n return this.state$$.getValue();\n }\n\n set state(newState: State) {\n this.state$$.next({ ...this.state, ...newState });\n }\n\n filtersApplied$: Observable = this.state$$.pipe(\n map(({ filters }) => {\n return filters ? filters.length > 0 : false;\n }),\n );\n\n constructor(private listApi: PaginatedAPIInterface) {\n super();\n }\n\n /**\n * Set the current search term and refetch data for the current page.\n * Also starts the back to page one as we can't start at a random page with new search criteria.\n * @param searchTerm - Term to search for\n */\n setSearchTerm(searchTerm: string): void {\n const state = this.state;\n this.searchTerm = searchTerm;\n\n this.state = {\n ...this.defaultState(),\n searchTerm,\n filters: state.filters,\n pageSize: state.pageSize,\n loading: true,\n shouldRefetch: true,\n selectAll: false,\n shouldClearSelection: this.clearSelectionOnChange,\n };\n }\n\n /**\n * Set the current filters term and refetch data.\n * Also starts the back to page one as we can't start at a random page with new filters criteria.\n * @param filters\n */\n setFilters(filters: FilterType[]): void {\n const state = this.state;\n this.clearCursors();\n this.state = {\n ...this.defaultState(),\n filters,\n sorting: state.sorting,\n searchTerm: state.searchTerm,\n pageSize: state.pageSize,\n loading: true,\n shouldRefetch: true,\n selectAll: false,\n shouldClearSelection: this.clearSelectionOnChange,\n };\n }\n\n /**\n * Set the current sorting term and refetch data.\n * Also starts the back to page one as we can't start at a random page with new filters criteria.\n * @param sorting\n */\n setSorting(sorting: SortType[]): void {\n this.clearCursors();\n this.state = {\n ...this.defaultState(),\n sorting,\n filters: this.state.filters,\n searchTerm: this.state.searchTerm,\n pageSize: this.state.pageSize,\n loading: true,\n shouldRefetch: true,\n };\n this.sortingChanged.set(sorting);\n }\n\n /**\n * Triggered by the paginator, this handles page changes events, as well as page size changes.\n * @param page - Page event triggered by Paginator\n */\n pageChanged(page: PageEvent): void {\n const state = this.state;\n if (page.pageSize !== state.pageSize) {\n this.pageSizeChanged(page.pageSize);\n return;\n }\n\n // Advance to the next/previous page\n this.state = {\n ...this.state,\n shouldRefetch: true,\n pageIndex: page.pageIndex,\n loading: true,\n };\n }\n\n pageSizeChanged(pageSize: number): void {\n const state = this.state;\n\n this.state = {\n ...this.defaultState(),\n pageSize: pageSize,\n loading: true,\n shouldRefetch: true,\n // persist searching, sorting, and filtering\n searchTerm: state.searchTerm,\n searchFields: state.searchFields,\n sorting: state.sorting,\n filters: state.filters,\n };\n }\n\n clearSelection(): void {\n this.state = {\n ...this.state,\n shouldRefetch: true,\n loading: true,\n shouldClearSelection: true,\n selectAll: false,\n };\n }\n\n disableSelectAll(): void {\n // Will eventually cause an error if repeatedly enabled/disabled, and then it won't clear select all properly without a timeout.\n setTimeout(() => {\n this.state = {\n ...this.state,\n selectAll: false,\n };\n }, 0);\n }\n\n toggleSelectAll(): void {\n this.state = {\n ...this.state,\n selectAll: !this.state.selectAll,\n shouldClearSelection: this.state.selectAll,\n };\n }\n\n /**\n * Invoked by the paginator when it first connects to the data source.\n */\n connect(): Observable {\n // Whenever state changes and we should refetch data, call the api with the current pageSize and cursor.\n // We could consider adding a debounce or something here but our API can handle some extra requests.\n // Start the subscription here so we can unsubscribe/subscribe on disconnect/connect.\n this.stateSubscription = this.state$\n .pipe(\n filter((state) => !!state.shouldRefetch),\n distinctUntilChanged(),\n switchMap(\n ({ pageSize = this.DEFAULT_PAGE_SIZE, pageIndex = 0, searchTerm, searchFields, filters, sorting }) => {\n const cursor = this.getCursor(pageIndex, pageSize);\n const req = {\n pagingOptions: {\n pageSize,\n cursor: cursor,\n },\n searchOptions: {\n text: searchTerm?.trim() || '',\n fields: searchFields || [],\n },\n filters: filters,\n sorting: sorting,\n };\n return this.listApi.get(req);\n },\n ),\n shareReplay({ refCount: true, bufferSize: 1 }),\n )\n .subscribe({\n next: (response) => this.pageDataRecieved(response),\n });\n\n return this.dataMembers$;\n }\n\n /**\n * Triggered when the paginator is cleaned up.\n */\n disconnect(): void {\n if (this.stateSubscription) {\n this.stateSubscription.unsubscribe();\n }\n }\n\n /**\n * Handle a paged response from the API\n * @param response - The paged response data\n */\n pageDataRecieved(response: PagedResponseInterface): void {\n const { pageIndex = 0, pageSize = this.DEFAULT_PAGE_SIZE } = this.state;\n // Figure out if we can determine how many pages there are\n let totalDataMembers = INDETERMINATE_MAX;\n if (response.pagingMetadata.totalResults) {\n totalDataMembers = response.pagingMetadata.totalResults;\n } else if (\n response.data.length < pageSize ||\n response.data.length === 0 ||\n response.pagingMetadata.hasMore === false\n ) {\n totalDataMembers = pageIndex * pageSize + response.data.length;\n }\n\n this.setNextCursor(pageIndex, pageSize, response.pagingMetadata.nextCursor);\n\n // This provides resiliency around frontend data changes that\n // can incur many different state changes in a single frame.\n requestAnimationFrame(() => {\n this.state = {\n ...this.state,\n totalDataMembers,\n cursor: response.pagingMetadata.nextCursor,\n dataMembers: [...response.data],\n shouldRefetch: false,\n loading: false,\n shouldClearSelection: false,\n initialLoadCompleted: true,\n };\n });\n }\n\n DEFAULT_PAGE_SIZE = 20;\n\n private defaultState(): State {\n if (this.state$$ === undefined || this.state$$.getValue().initialLoadCompleted === true) {\n return {\n pageSize: 20,\n cursor: '',\n previousPageIndex: 0,\n pageIndex: 0,\n dataMembers: [],\n shouldRefetch: true,\n loading: false,\n totalDataMembers: INDETERMINATE_MAX,\n searchTerm: this.searchTerm,\n searchFields: [],\n filters: [],\n sorting: [],\n };\n }\n return {};\n }\n\n clearCursors(): void {\n this.cursors = {};\n }\n\n getCursor(pageIndex: number, pageSize: number): string {\n return this.cursors[pageIndex * pageSize] || '';\n }\n\n getCursors(): Record {\n return this.cursors;\n }\n\n loadCursors(cursors: Record): void {\n this.cursors = cursors;\n }\n\n private setNextCursor(pageIndex: number, pageSize: number, cursor: string): void {\n const nextPageIndex = pageIndex + 1;\n this.cursors[nextPageIndex * pageSize] = cursor;\n }\n}\n", "import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { distinctUntilChanged, map } from 'rxjs/operators';\n\ninterface SearchProps {\n searchTerm: string;\n options: string[];\n}\n\n@Injectable()\nexport class GalaxyTableSearchService {\n searchTerm = '';\n options: string[] = [];\n private fields$$ = new BehaviorSubject({\n searchTerm: '',\n options: [],\n });\n fields$: Observable = this.fields$$.asObservable();\n searchTerm$: Observable = this.fields$$.pipe(\n map((fields) => fields.searchTerm),\n distinctUntilChanged(),\n );\n\n /**\n * Update search term value and propagate changes.\n * @param value - The new search term.\n */\n updateTerm(value: string): void {\n this.searchTerm = value;\n this.updateSearch();\n }\n\n /**\n * Propagate changes to consumers listening for search term and options changes.\n */\n private updateSearch(): void {\n this.fields$$.next({\n searchTerm: this.searchTerm,\n // Options are a future slice, when we have UI to support them\n options: this.options,\n });\n }\n}\n", "import { Directive, TemplateRef, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[glxyGridCard]',\n standalone: false,\n})\nexport class GalaxyGridCardDirective {\n constructor(\n public templateRef: TemplateRef,\n public viewContainerRef: ViewContainerRef,\n ) {}\n}\n", "import { Directive, Input } from '@angular/core';\n\nexport const GRID_MIN_CARD_WIDTH = 200;\n\n@Directive({\n selector: '[glxyGridMinCardWidth]',\n standalone: false,\n})\nexport class GalaxyGridMinCardWidthDirective {\n @Input({ transform: (value: string): number => parseInt(value) }) glxyGridMinCardWidth = GRID_MIN_CARD_WIDTH;\n}\n", "import { Component, DestroyRef, HostBinding, inject, Input } from '@angular/core';\nimport { GalaxyDataSource } from '../../../../table';\nimport { combineLatest, Subject } from 'rxjs';\nimport { GalaxyGridCardDirective } from './grid-card.directive';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n@Component({\n selector: 'glxy-table-grid-view, [glxy-table-grid-view]',\n templateUrl: './grid-view.component.html',\n styleUrls: ['./grid-view.component.scss'],\n standalone: false,\n})\nexport class GridViewComponent {\n @HostBinding('class') class = 'glxy-table-grid-view';\n @HostBinding('style.grid-template-columns') gridTemplateColumns =\n `repeat(auto-fill, minmax(${this.minWidth}px, 1fr))`;\n @Input()\n set minWidth(width: number) {\n this.gridTemplateColumns = 'repeat(auto-fill, minmax(' + width + 'px, 1fr))';\n }\n\n private destroyRef: DestroyRef = inject(DestroyRef);\n private _datasource?: GalaxyDataSource;\n set dataSource(dataSource: GalaxyDataSource) {\n if (dataSource) {\n this.switchDataSource(dataSource);\n }\n }\n\n private data$$ = new Subject();\n private cardDirective$$ = new Subject();\n\n @Input()\n set cardDirective(directive: GalaxyGridCardDirective) {\n if (directive) {\n this.cardDirective$$.next(directive);\n }\n }\n\n constructor() {\n combineLatest([this.data$$.asObservable(), this.cardDirective$$.asObservable()])\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(([data, directive]) => {\n directive.viewContainerRef.clear();\n for (const row of data) {\n const context = {\n $implicit: row,\n };\n directive.viewContainerRef.createEmbeddedView(directive.templateRef, context);\n }\n });\n }\n\n private switchDataSource(dataSource: GalaxyDataSource) {\n this._datasource = dataSource;\n this._datasource.dataMembers$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((data: T[]) => {\n this.data$$.next(data);\n });\n }\n}\n", "\n", "import {\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n DestroyRef,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n input,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n SimpleChanges,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Sort } from '@angular/material/sort';\nimport { MatColumnDef, MatHeaderRowDef, MatRowDef, MatTable } from '@angular/material/table';\nimport { BehaviorSubject, combineLatest, Subscription, withLatestFrom } from 'rxjs';\nimport { distinctUntilChanged, filter, tap } from 'rxjs/operators';\nimport { TableContentHeaderComponent } from '../../../../table';\nimport { GalaxyDataSource } from '../../datasource/datasource';\nimport { GalaxyColumnsSortService } from '../../services/column-sort.service';\nimport { GalaxyTableSearchService } from '../../services/table-search.service';\nimport { GalaxyTableSelectionService } from '../../services/table-selection.service';\nimport { GalaxyColumnDef } from '../../table.interface';\nimport { GalaxyGridCardDirective } from '../grid-view/grid-card.directive';\nimport { GalaxyGridMinCardWidthDirective, GRID_MIN_CARD_WIDTH } from '../grid-view/grid-min-width.directive';\nimport { GridViewComponent } from '../grid-view/grid-view.component';\nimport { Row } from '../model-driven-cell/interface';\n\n// If nothing is provided, the frontend service handles everything\n@Component({\n selector: 'glxy-table-container',\n templateUrl: './table-container.component.html',\n styleUrls: ['./table-container.component.scss'],\n providers: [GalaxyTableSelectionService, GalaxyTableSearchService, GalaxyColumnsSortService],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class TableContainerComponent implements OnInit, AfterViewInit, OnChanges, OnDestroy {\n @HostBinding('class') class = 'glxy-table-container';\n\n @HostBinding('class.has-border')\n @Input({ transform: booleanAttribute })\n border = true;\n\n @HostBinding('class.glxy-table-full-width')\n @Input({ transform: booleanAttribute })\n fullWidth = false;\n\n /* Used to identify the table on a given page, when applying user settings */\n @Input() id = '';\n\n @Input() dataSource?: GalaxyDataSource;\n\n @Input() columns: GalaxyColumnDef[] = [];\n @Input() groupConfigs: GalaxyColumnDef[] = [];\n\n @Input({ transform: booleanAttribute }) showSelection = false;\n @Input({ transform: booleanAttribute }) singleSelection = false;\n\n @Input() pageSizeOptions?: number[];\n @Input() pageSize?: number;\n @Input({ transform: booleanAttribute }) showFooter = true;\n\n displayOption = input<'grid' | 'list'>('list');\n\n @Output() selectionChanged: EventEmitter = new EventEmitter();\n @Output() columnsChanged: EventEmitter = new EventEmitter();\n @Output() searchTermChanged: EventEmitter = new EventEmitter();\n\n @ContentChild(MatTable) table?: MatTable;\n @ContentChild(MatHeaderRowDef) headerRowDef?: MatHeaderRowDef;\n @ContentChild(MatRowDef) rowDef?: MatRowDef;\n @ContentChildren(MatColumnDef, { descendants: true }) columnDefs?: QueryList;\n private subscriptions: Subscription[] = [];\n\n @ViewChildren(MatColumnDef)\n private allMatColumnDefs?: QueryList;\n\n @ViewChild('scrollContainer', { static: false }) scrollContainer?: ElementRef;\n\n @ContentChild(forwardRef(() => TableContentHeaderComponent)) tableContentHeader?: TableContentHeaderComponent;\n\n @ViewChild(GridViewComponent)\n set gridView(grid: GridViewComponent) {\n if (grid && this.dataSource) {\n grid.dataSource = this.dataSource;\n }\n }\n\n @ContentChild(GalaxyGridCardDirective)\n set setCardDirective(cardDirective: GalaxyGridCardDirective) {\n this.cardDirective = cardDirective;\n }\n\n cardDirective?: GalaxyGridCardDirective;\n\n @ContentChild(GalaxyGridMinCardWidthDirective)\n set setMinCardWidthDirective(minCardWidthDirective: GalaxyGridMinCardWidthDirective) {\n if (minCardWidthDirective) {\n this.gridCardMinWidth = minCardWidthDirective.glxyGridMinCardWidth;\n }\n }\n\n gridCardMinWidth = GRID_MIN_CARD_WIDTH;\n\n private isApplyingSelectAll$$ = new BehaviorSubject(false);\n\n constructor(\n private columnSortService: GalaxyColumnsSortService,\n private selectionService: GalaxyTableSelectionService,\n private searchService: GalaxyTableSearchService,\n private changeDetectorRef: ChangeDetectorRef,\n private readonly destroyRef: DestroyRef,\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['showSelection']) {\n this.updateServicesAndDatasource();\n }\n }\n\n ngOnInit(): void {\n if (this.showSelection && this.singleSelection) {\n this.selectionService.setSelectionMode('single');\n }\n this.searchService.searchTerm$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe({\n next: (searchTerm) => {\n this.dataSource?.setSearchTerm(searchTerm);\n this.searchTermChanged.emit(searchTerm);\n },\n });\n\n const selectSub = this.selectionService.selection$.subscribe({\n next: (rows: Row[]) => this.selectionChanged.emit(rows),\n });\n\n const columnSub = this.columnSortService.columns$$\n .pipe(\n filter((columns: GalaxyColumnDef[]) => columns.length > 0),\n distinctUntilChanged(),\n )\n .subscribe({\n next: (columns: GalaxyColumnDef[]) => this.columnsChanged.emit(columns),\n });\n\n this.dataSource?.shouldClearSelection$\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n filter((shouldClear) => !!shouldClear),\n tap(() => {\n this.selectionService.clear();\n }),\n )\n .subscribe();\n\n this.dataSource?.selectAll$\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n filter((selectAll) => !!selectAll),\n tap(() => {\n this.isApplyingSelectAll$$.next(true);\n }),\n withLatestFrom(this.selectionService.selection$),\n tap(([_, currentSelection]) => {\n const currentRowsSelectionSize = currentSelection?.length || 0;\n const targetAllSelectionSize = this.selectionService.entries.length;\n // don't allow select all to push over the maximum selection limit in table\n if (currentRowsSelectionSize + targetAllSelectionSize > this.selectionService.rowsSelectionLimit) {\n this.selectionService.clear();\n }\n this.selectionService.entries.forEach((entry) => {\n if (entry.select.row && !this.selectionService.isSelected(entry.select.row)) {\n this.selectionService.multiSelection.select(entry.select.row);\n }\n });\n }),\n tap(() => {\n this.isApplyingSelectAll$$.next(false);\n }),\n )\n .subscribe();\n\n this.subscriptions.push(selectSub, columnSub);\n }\n\n ngAfterViewInit(): void {\n this.scrollContainer?.nativeElement.addEventListener(\n 'scroll',\n () => {\n const el = this.scrollContainer?.nativeElement;\n const scrollLeft = el.scrollLeft;\n\n // apply a class to control conditional styles if sticky columns are overlapping or not\n // left column has styles unless scrolled to the start\n if (scrollLeft >= 2) {\n el.classList.add('show-sticky-shadow');\n } else {\n el.classList.remove('show-sticky-shadow');\n }\n // right column has styles unless scrolled to end\n if (Math.abs(scrollLeft) === el.scrollWidth - el.clientWidth) {\n el.classList.remove('show-sticky-shadow-end');\n } else {\n el.classList.add('show-sticky-shadow-end');\n }\n },\n { capture: false, passive: true },\n );\n\n const viewChildrenColumnsSub = this.allMatColumnDefs?.changes.subscribe((defs) => {\n this.updateMatColumns(defs);\n });\n if (this.allMatColumnDefs) this.updateMatColumns(this.allMatColumnDefs);\n\n const colSortSub = this.columnSortService.visibleColumns$.subscribe({\n next: (displayedColumns: string[]) => {\n if (this.headerRowDef) this.headerRowDef.columns = displayedColumns;\n if (this.rowDef) this.rowDef.columns = displayedColumns;\n },\n });\n\n if (viewChildrenColumnsSub) {\n this.subscriptions.push(viewChildrenColumnsSub, colSortSub);\n }\n\n if (this.dataSource) {\n combineLatest([\n this.dataSource.selectAll$,\n this.selectionService.allSelected$,\n this.isApplyingSelectAll$$.asObservable(),\n ])\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n tap(([selectAll, allSelected, isApplyingSelectAll]) => {\n if (isApplyingSelectAll) {\n return;\n }\n\n if (selectAll && !allSelected) {\n this.dataSource?.disableSelectAll();\n }\n }),\n )\n .subscribe();\n }\n }\n\n private updateMatColumns(defs: QueryList): void {\n const columnDefsFiltered = defs.filter((def) => !this.columnDefs?.find((c) => c.name === def.name));\n\n // need to delete and re-add the columns,\n // since we can't easily inspect the columns inside a MatTable\n // to know which ones are model-driven or from the template using our table\n columnDefsFiltered.forEach((def) => {\n this.table?.removeColumnDef(def);\n });\n columnDefsFiltered.forEach((def: MatColumnDef) => {\n this.table?.addColumnDef(def);\n });\n\n this.updateServicesAndDatasource();\n }\n\n private updateServicesAndDatasource(): void {\n const externalColumnDefs = this.columnDefs;\n const modelDrivenColumnDefs =\n this.allMatColumnDefs?.filter((def) => !externalColumnDefs?.find((external) => external.name === def.name)) || [];\n const columnsDefs = [...(externalColumnDefs || []), ...modelDrivenColumnDefs];\n\n if (this.table && this.dataSource) {\n this.table.dataSource = this.dataSource;\n }\n const cols = [...(this.columns || [])];\n if (cols[0]?.id !== 'select') {\n cols.unshift({\n id: 'select',\n pinned: true,\n sticky: true,\n hidden: !this.showSelection,\n });\n }\n this.columnSortService.setColumns(cols);\n this.columnSortService.setColumnDefs(columnsDefs);\n this.columnSortService.setGroups(this.groupConfigs);\n }\n\n updateSorting(sortOption: Sort): void {\n if (sortOption.direction === '') {\n this.dataSource?.setSorting([]);\n return;\n }\n this.dataSource?.setSorting([{ active: sortOption.active, direction: sortOption.direction }]);\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach((sub) => sub.unsubscribe());\n\n this.scrollContainer?.nativeElement?.removeEventListener('scroll', { capture: false });\n }\n}\n", "\n\n \n
\n \n @for (col of columns; track col) {\n \n @if (col.sortable) {\n {{ col.title }}\n } @else {\n {{ col.title }}\n }\n \n \n \n \n }\n
\n
\n \n \n \n
\n \n
\n \n
\n\n\n", "import { AfterViewInit, Component, HostBinding, Input, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { MatPaginator, MatPaginatorIntl, PageEvent } from '@angular/material/paginator';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { combineLatest, Subscription } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport { GalaxyDataSource } from '../../datasource/datasource';\nimport { GalaxyPaginatorText } from '../../datasource/paginator-text';\n\nexport function useFactory(translateService: TranslateService): GalaxyPaginatorText {\n return new GalaxyPaginatorText(translateService);\n}\n\nconst DEFAULT_PAGE_SIZE_OPTIONS = [5, 10, 15];\nconst DEFAULT_PAGE_SIZE = 20;\n\ninterface CurrentCursor {\n pi: number;\n ps: number;\n c: Record;\n}\n\n@Component({\n selector: 'glxy-table-content-footer',\n templateUrl: './table-content-footer.component.html',\n styleUrls: ['./table-content-footer.component.scss'],\n providers: [\n {\n provide: MatPaginatorIntl,\n useFactory,\n deps: [TranslateService],\n },\n ],\n standalone: false,\n})\nexport class TableContentFooterComponent implements AfterViewInit, OnInit, OnDestroy {\n @HostBinding('class') class = 'glxy-table-content-footer';\n\n @Input({ required: true }) dataSource!: GalaxyDataSource;\n @Input({ required: true, transform: (v: number[] | undefined) => v ?? DEFAULT_PAGE_SIZE_OPTIONS })\n pageSizeOptions: number[] = DEFAULT_PAGE_SIZE_OPTIONS;\n\n @Input() id = '';\n\n _pageSize = DEFAULT_PAGE_SIZE;\n @Input() set pageSize(pageSize: number) {\n if (this.id) {\n const savedPageSize = localStorage.getItem(`table-${this.id}-pageSize`);\n if (savedPageSize) {\n this._pageSize = parseInt(savedPageSize, 10);\n return;\n }\n }\n this._pageSize = pageSize;\n }\n\n @ViewChild(MatPaginator) paginator?: MatPaginator;\n\n private readonly subscriptions: Subscription[] = [];\n\n constructor(\n private readonly router: Router,\n private readonly activatedRoute: ActivatedRoute,\n ) {}\n\n ngOnDestroy(): void {\n this.subscriptions.forEach((sub) => sub.unsubscribe());\n }\n\n ngOnInit(): void {\n if (this.id) {\n // Only read and write cursor to query params if we have an id\n const cursorParam = this.activatedRoute.snapshot.queryParams.cursor;\n if (cursorParam) {\n const cursor = JSON.parse(atob(cursorParam)) as CurrentCursor;\n this.dataSource.loadCursors(cursor.c);\n this.dataSource.state = {\n pageSize: cursor.ps,\n pageIndex: cursor.pi,\n shouldRefetch: true,\n };\n this._pageSize = cursor.ps;\n }\n\n this.subscriptions.push(\n combineLatest([this.activatedRoute.queryParams, this.dataSource.pageIndex$])\n .pipe(\n tap(([queryParams, pageIndex]) => {\n const newQueryParams = { ...queryParams };\n if (pageIndex) {\n const cursorParam = btoa(\n JSON.stringify({\n pi: pageIndex,\n ps: this.dataSource?.state.pageSize,\n c: this.dataSource?.getCursors(),\n } as CurrentCursor),\n );\n newQueryParams.cursor = cursorParam;\n } else {\n delete newQueryParams['cursor'];\n }\n // Note: `queryParamsHandling: 'merge'` doesn't work when multiple components are adjusting the query params\n // at the same time. Without this other components may not be able to write to the query params.\n if (queryParams.cursor === newQueryParams.cursor) {\n return;\n }\n this.router.navigate([], {\n relativeTo: this.activatedRoute,\n queryParams: newQueryParams,\n });\n }),\n )\n .subscribe(),\n );\n }\n }\n\n ngAfterViewInit(): void {\n if (this.paginator) {\n this.dataSource.state = { pageSize: this.paginator.pageSize, shouldRefetch: true };\n }\n }\n\n pageChanged(event: PageEvent): void {\n if (this.id) {\n localStorage.setItem(`table-${this.id}-pageSize`, event.pageSize.toString());\n }\n let pageIndex = event.pageIndex;\n const cursor = this.dataSource.getCursor(pageIndex, event.pageSize);\n if (!cursor && pageIndex > 0) {\n pageIndex = 0;\n }\n this.dataSource.state = { pageSize: event.pageSize, pageIndex: pageIndex, shouldRefetch: true, loading: true };\n }\n}\n", "\n\n\n", "import { animate, state, style, transition, trigger } from '@angular/animations';\nimport {\n AfterViewChecked,\n booleanAttribute,\n Component,\n DestroyRef,\n EventEmitter,\n HostBinding,\n input,\n Input,\n OnChanges,\n OnInit,\n output,\n Output,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { UntypedFormControl } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Observable, skipWhile } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, map } from 'rxjs/operators';\nimport { GalaxyTableSearchService } from '../../services/table-search.service';\nimport { GalaxyTableSelectionService } from '../../services/table-selection.service';\n\nconst SEARCH_TERM_DELAY = 300; // ms\n\n@Component({\n selector: 'glxy-table-content-header',\n templateUrl: './table-content-header.component.html',\n styleUrls: ['./table-content-header.component.scss'],\n providers: [],\n animations: [\n trigger('openClose', [\n state(\n 'open',\n style({\n height: '*',\n opacity: 1,\n }),\n ),\n state(\n 'closed',\n style({\n height: '0px',\n opacity: 0,\n }),\n ),\n transition('open <=> closed', [animate('0.2s')]),\n ]),\n ],\n standalone: false,\n})\nexport class TableContentHeaderComponent implements OnInit, OnChanges, AfterViewChecked {\n @HostBinding('class') class = 'glxy-table-content-header';\n\n @Input({ transform: booleanAttribute }) showColumnArrange?: boolean = true;\n @Input() columnArrangeType?: 'simple' | 'advanced' = 'simple';\n @Input({ transform: booleanAttribute }) showFiltersButton?: boolean = true;\n @Input({ transform: booleanAttribute }) showFilters?: boolean = true;\n @Input({ transform: booleanAttribute }) showFiltersOpen?: boolean = true;\n @Output() showFiltersOpenChange = new EventEmitter();\n @Input({ transform: booleanAttribute }) showFiltersApplied?: boolean = false;\n @Input({ transform: booleanAttribute }) showSearch?: boolean = true;\n @Input({ transform: booleanAttribute }) showSort?: boolean = true;\n @Input({ transform: booleanAttribute }) showExport?: boolean = false;\n @Input({ transform: booleanAttribute }) showDisplayToggle?: boolean = false;\n @Input({ transform: booleanAttribute }) showActions?: boolean = true;\n @Input({ transform: booleanAttribute }) saveSearchToQueryParams?: boolean = false;\n @Input({ transform: booleanAttribute }) showSelectedAllCount?: boolean = false;\n // overrides the search value with NgOnChanges\n @Input() emitSearchChange?: string;\n @Input() hideActionButton = false;\n\n @Output() export = new EventEmitter();\n searchControl: UntypedFormControl = new UntypedFormControl();\n numSelected$?: Observable;\n display = input<'grid' | 'list'>('list');\n displayChanges = output<'grid' | 'list'>();\n rowsSelectionLimit = this.selectionService.rowsSelectionLimit;\n\n private initialSearchTerm = '';\n private initialSearchTermSet = false;\n\n constructor(\n private searchService: GalaxyTableSearchService,\n private selectionService: GalaxyTableSelectionService,\n private destroyRef: DestroyRef,\n private readonly activatedRoute: ActivatedRoute,\n private readonly router: Router,\n ) {}\n\n ngAfterViewChecked(): void {\n if (this.initialSearchTerm && !this.initialSearchTermSet) {\n this.searchControl.setValue(this.initialSearchTerm);\n this.searchControl.updateValueAndValidity();\n this.initialSearchTermSet = true;\n }\n }\n\n ngOnInit(): void {\n if (this.saveSearchToQueryParams) {\n const searchParam = this.activatedRoute.snapshot.queryParamMap.get('search');\n if (searchParam) {\n this.initialSearchTerm = decodeURI(searchParam);\n }\n }\n\n // When the user enters a search term, update and emit.\n this.searchControl.valueChanges\n .pipe(\n skipWhile((term) => term !== this.initialSearchTerm),\n debounceTime(SEARCH_TERM_DELAY),\n distinctUntilChanged(),\n takeUntilDestroyed(this.destroyRef),\n )\n .subscribe({\n next: (text: string) => {\n this.setSearchTerm(text);\n },\n });\n // When the search term is programmatically updated, update without emitting.\n this.searchService.searchTerm$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe({\n next: (searchTerm) => {\n this.searchControl.setValue(searchTerm, { emitEvent: false });\n this.searchControl.updateValueAndValidity();\n },\n });\n\n this.numSelected$ = this.selectionService.selection$.pipe(map((selection) => selection.length));\n }\n\n ngOnChanges() {\n if (this.emitSearchChange) {\n this.searchControl.setValue(this.emitSearchChange);\n this.searchControl.updateValueAndValidity();\n }\n }\n\n setSearchTerm(searchTerm: string): void {\n if (this.saveSearchToQueryParams) {\n let searchParam: string | null = null;\n if (searchTerm) {\n searchParam = encodeURI(searchTerm);\n }\n this.router.navigate([], {\n relativeTo: this.activatedRoute,\n queryParams: { search: searchParam },\n queryParamsHandling: 'merge',\n });\n }\n this.searchService.updateTerm(searchTerm);\n }\n\n toggleFilterBar(): void {\n this.showFiltersOpen = !this.showFiltersOpen;\n this.showFiltersOpenChange.emit(this.showFiltersOpen);\n }\n\n onChangeDisplayOption(value: 'grid' | 'list'): void {\n this.displayChanges.emit(value);\n }\n}\n", "
\n
\n
\n @if (showFilters) {\n @if (showFiltersButton) {\n \n \n filter_list\n @if (showFiltersApplied) {\n \n }\n \n {{ 'GALAXY.TABLE.FILTERS.TOGGLE_BUTTON' | translate }}\n \n } @else {\n \n }\n }\n @if (showSearch) {\n \n Search\n \n \n }\n
\n
\n \n
\n
\n\n
\n @if (showDisplayToggle) {\n \n \n grid_view\n \n \n format_list_bulleted\n \n \n }\n @if (showSort) {\n \n }\n @if (showColumnArrange) {\n \n }\n @if (showExport) {\n \n }\n
\n
\n@if (showFilters) {\n
\n
\n \n
\n
\n}\n@if (numSelected$ | async; as numSelected) {\n @if (showActions) {\n
\n @if (!showSelectedAllCount) {\n
{{ numSelected }}/{{ rowsSelectionLimit }} selected →
\n }\n
\n \n
\n @if (!hideActionButton) {\n \n flash_on\n Actions\n \n \n \n \n }\n
\n }\n}\n", "import { Type } from '@angular/core';\n\nexport type CellData =\n | undefined\n | TextData\n | BooleanData\n | IntegerData\n | FloatData\n | DateData\n | TagsData\n | PhoneData\n | TimestampData\n | CurrencyData\n | CustomCell;\n\nexport type CustomData =\n | TextData\n | BooleanData\n | IntegerData\n | FloatData\n | DateData\n | TagsData\n | PhoneData\n | TimestampData\n | CurrencyData\n | CustomCell;\nexport type CustomDataValue = string | boolean | number | Date | string[] | string;\n\nexport interface TextData {\n cellType: 'text';\n value?: string;\n link?: string;\n action?: (() => void) | undefined;\n}\n\nexport interface BooleanData {\n cellType: 'boolean';\n value?: boolean;\n}\n\nexport interface IntegerData {\n cellType: 'integer';\n value?: number;\n}\n\nexport interface FloatData {\n cellType: 'float';\n value?: number;\n}\n\nexport interface DateData {\n cellType: 'date';\n value?: Date;\n}\n\nexport interface TagsData {\n cellType: 'tags';\n value?: string[];\n}\n\nexport interface PhoneData {\n cellType: 'phone';\n value?: string;\n}\n\nexport interface TimestampData {\n cellType: 'timestamp';\n value?: Date;\n}\n\nexport interface CurrencyData {\n cellType: 'currency';\n value?: number;\n code?: string;\n}\n\nexport abstract class CustomCellComponent {\n abstract set value(v: any);\n}\n\nexport interface CustomCell {\n cellType: 'custom';\n value?: any;\n component: Type;\n}\n\nexport interface RowData {\n [columnId: string]: CellData;\n}\n\nexport interface Row {\n id: string;\n data: RowData;\n}\n", "export {};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiZGF0YXNvdXJjZS5pbnRlcmZhY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2VkUmVxdWVzdE9wdGlvbnNJbnRlcmZhY2Uge1xuICBjdXJzb3I/OiBzdHJpbmc7XG4gIHBhZ2VTaXplPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaE9wdGlvbnNJbnRlcmZhY2Uge1xuICB0ZXh0OiBzdHJpbmc7XG4gIGZpZWxkczogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFnZWRMaXN0UmVxdWVzdEludGVyZmFjZTxGaWx0ZXJUeXBlID0gdm9pZCwgU29ydFR5cGUgPSB2b2lkPiB7XG4gIHBhZ2luZ09wdGlvbnM/OiBQYWdlZFJlcXVlc3RPcHRpb25zSW50ZXJmYWNlO1xuICBzZWFyY2hPcHRpb25zPzogU2VhcmNoT3B0aW9uc0ludGVyZmFjZTtcbiAgZmlsdGVycz86IEZpbHRlclR5cGVbXTtcbiAgc29ydGluZz86IFNvcnRUeXBlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFnZWRSZXNwb25zZU1ldGFkYXRhIHtcbiAgbmV4dEN1cnNvcjogc3RyaW5nO1xuICBoYXNNb3JlOiBib29sZWFuO1xuICB0b3RhbFJlc3VsdHM/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFnZWRSZXNwb25zZUludGVyZmFjZTxSb3dUeXBlPiB7XG4gIGRhdGE6IFJvd1R5cGVbXTtcbiAgcGFnaW5nTWV0YWRhdGE6IFBhZ2VkUmVzcG9uc2VNZXRhZGF0YTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYWdpbmF0ZWRBUElJbnRlcmZhY2U8Um93VHlwZSwgRmlsdGVyVHlwZSA9IHZvaWQsIFNvcnRUeXBlID0gdm9pZD4ge1xuICBnZXQocjogUGFnZWRMaXN0UmVxdWVzdEludGVyZmFjZTxGaWx0ZXJUeXBlLCBTb3J0VHlwZT4pOiBPYnNlcnZhYmxlPFBhZ2VkUmVzcG9uc2VJbnRlcmZhY2U8Um93VHlwZT4+O1xufVxuXG4vLyBQYWdlRXZlbnQgaXMgYSBjb3B5IG9mIHdoYXQgaXMgaW4gQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGVcbmV4cG9ydCBpbnRlcmZhY2UgUGFnZUV2ZW50IHtcbiAgLy8gVGhlIGN1cnJlbnQgcGFnZSBpbmRleFxuICBwYWdlSW5kZXg6IG51bWJlcjtcbiAgLy8gSW5kZXggb2YgdGhlIHBhZ2UgdGhhdCB3YXMgc2VsZWN0ZWQgcHJldmlvdXNseVxuICBwcmV2aW91c1BhZ2VJbmRleD86IG51bWJlcjtcbiAgLy8gVGhlIGN1cnJlbnQgcGFnZSBzaXplXG4gIHBhZ2VTaXplOiBudW1iZXI7XG4gIC8vIFRoZSBjdXJyZW50IHRvdGFsIG51bWJlciBvZiBpdGVtcyBiZWluZyBwYWdlZFxuICBsZW5ndGg6IG51bWJlcjtcbn1cbiJdLCJtYXBwaW5ncyI6IiIsImlnbm9yZUxpc3QiOltdfQ==", "import { DragDropModule } from '@angular/cdk/drag-drop';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatTableModule } from '@angular/material/table';\nimport { RouterModule } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { GalaxyCheckboxModule } from '@vendasta/galaxy/checkbox';\nimport { GalaxyFormFieldModule } from '@vendasta/galaxy/form-field';\nimport { GalaxyInputModule } from '@vendasta/galaxy/input';\nimport { GalaxyLoadingSpinnerModule } from '@vendasta/galaxy/loading-spinner';\nimport { GalaxyPipesModule } from '@vendasta/galaxy/pipes';\nimport { GalaxyPopoverModule } from '@vendasta/galaxy/popover';\nimport { GalaxyTooltipModule } from '@vendasta/galaxy/tooltip';\nimport { ColumnSortSimpleComponent } from './components/column-sort/column-sort-simple/column-sort-simple.component';\nimport { GalaxyColumnSortComponent } from './components/column-sort/column-sort.component';\nimport { ModelDrivenCellComponent } from './components/model-driven-cell/model-driven-cell.component';\nimport { BlankValueComponent } from './components/model-driven-cell/renderers/blank-value';\nimport { BooleanRendererComponent } from './components/model-driven-cell/renderers/boolean';\nimport { DateRendererComponent } from './components/model-driven-cell/renderers/date';\nimport { IntegerRendererComponent } from './components/model-driven-cell/renderers/integer';\nimport { FloatRendererComponent } from './components/model-driven-cell/renderers/float';\nimport { PhoneRendererComponent } from './components/model-driven-cell/renderers/phone';\nimport { TextRendererComponent } from './components/model-driven-cell/renderers/text';\nimport { TimestampRendererComponent } from './components/model-driven-cell/renderers/timestamp';\nimport { CurrencyRendererComponent } from './components/model-driven-cell/renderers/currency';\nimport { GalaxySelectionComponent } from './components/selection/selection.component';\nimport { TableContainerComponent } from './components/table-container/table-container.component';\nimport { TableContentFooterComponent } from './components/table-content-footer/table-content-footer.component';\nimport { TableContentHeaderComponent } from './components/table-content-header/table-content-header.component';\nimport { AdvancedColumnOrganizerButtonComponent } from './components/column-sort/advanced-column-organizer/advanced-column-organizer-button.component';\nimport { AdvancedColumnOrganizerComponent } from './components/column-sort/advanced-column-organizer/advanced-column-organizer.component';\nimport { MatDialogActions, MatDialogContent } from '@angular/material/dialog';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatButtonToggle, MatButtonToggleGroup } from '@angular/material/button-toggle';\nimport { GridViewComponent } from './components/grid-view/grid-view.component';\nimport { GalaxyGridCardDirective } from './components/grid-view/grid-card.directive';\nimport { GalaxyGridMinCardWidthDirective } from './components/grid-view/grid-min-width.directive';\n\nexport { GalaxyColumnSortComponent } from './components/column-sort/column-sort.component';\nexport * from './components/model-driven-cell/interface';\nexport { BlankValueComponent } from './components/model-driven-cell/renderers/blank-value';\nexport { GalaxySelectionComponent } from './components/selection/selection.component';\nexport { TableContainerComponent } from './components/table-container/table-container.component';\nexport { TableContentHeaderComponent } from './components/table-content-header/table-content-header.component';\nexport { GalaxyDataSource } from './datasource/datasource';\nexport * from './datasource/datasource.interface';\nexport { GalaxyColumnsSortService } from './services/column-sort.service';\nexport { GalaxyColumnDef } from './table.interface';\nexport {\n GalaxyTableSelectionCustomization,\n GalaxyTableSelectionCustomizationToken,\n} from './services/table-selection.service';\n\nexport const MODULE_DECLARATIONS = [\n TableContainerComponent,\n TableContentHeaderComponent,\n TableContentFooterComponent,\n GalaxyColumnSortComponent,\n ColumnSortSimpleComponent,\n GalaxySelectionComponent,\n ModelDrivenCellComponent,\n DateRendererComponent,\n IntegerRendererComponent,\n FloatRendererComponent,\n TextRendererComponent,\n BooleanRendererComponent,\n PhoneRendererComponent,\n TimestampRendererComponent,\n CurrencyRendererComponent,\n AdvancedColumnOrganizerButtonComponent,\n AdvancedColumnOrganizerComponent,\n GridViewComponent,\n GalaxyGridCardDirective,\n GalaxyGridMinCardWidthDirective,\n];\n\nexport const MODULE_IMPORTS = [\n CommonModule,\n GalaxyInputModule,\n GalaxyCheckboxModule,\n MatButtonModule,\n MatIconModule,\n MatMenuModule,\n GalaxyCheckboxModule,\n FormsModule,\n ReactiveFormsModule,\n GalaxyPopoverModule,\n DragDropModule,\n MatCheckboxModule,\n TranslateModule,\n MatPaginatorModule,\n MatTableModule,\n RouterModule,\n GalaxyTooltipModule,\n GalaxyPipesModule,\n BlankValueComponent,\n GalaxyFormFieldModule,\n GalaxyLoadingSpinnerModule,\n MatSortModule,\n MatDialogContent,\n MatDialogActions,\n MatIconModule,\n MatTabsModule,\n MatDialogActions,\n MatCheckboxModule,\n MatButtonToggleGroup,\n MatButtonToggle,\n];\n\nexport const MODULE_EXPORTS = [\n TableContainerComponent,\n TableContentHeaderComponent,\n GalaxySelectionComponent,\n GalaxyColumnSortComponent,\n GridViewComponent,\n GalaxyGridCardDirective,\n GalaxyGridMinCardWidthDirective,\n];\n\n@NgModule({\n declarations: MODULE_DECLARATIONS,\n imports: [MODULE_IMPORTS],\n exports: MODULE_EXPORTS,\n})\nexport class GalaxyTableModule {}\n"], "mappings": "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", "names": ["BlankValueComponent", "BlankValueRendererComponent", "init_blank_value", "__esmMin", "init_common", "selectors", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "CommonModule", "styles", "\u0275\u0275element", "encapsulation", "GalaxyColumnsSortService", "init_column_sort_service", "__esmMin", "init_esm", "init_operators", "constructor", "columns$$", "ReplaySubject", "groupConfigs$$", "visibleColumns$", "pipe", "map", "cols", "flatColumns", "forEach", "col", "columns", "subCol", "push", "hidden", "sort", "colA", "colB", "_position", "undefined", "filter", "id", "setColumns", "position", "sub", "updatePinnableColumns", "columnDefs", "updateStickyColumns", "next", "setColumnDefs", "setGroups", "groups", "sorted", "flattenCols", "a", "b", "startAnchor", "anchoredToStart", "endAnchor", "length", "anchoredToEnd", "pinned", "colDef", "find", "def", "name", "sticky", "stickyEnd", "flattened", "factory", "\u0275fac", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275property", "col_r1", "pinned", "ctx_r1", "formGroup", "controls", "id", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "title", "\u0275\u0275template", "ColumnSortSimpleComponent_ng_container_1_div_1_glxy_checkbox_3_Template", "\u0275\u0275elementContainerStart", "ColumnSortSimpleComponent_ng_container_1_div_1_Template", "ColumnSortSimpleComponent", "init_column_sort_simple_component", "__esmMin", "init_drag_drop", "init_core", "init_forms", "init_operators", "init_column_sort_service", "init_ngx_translate_core", "constructor", "colSortService", "inject", "GalaxyColumnsSortService", "translate", "TranslateService", "optional", "columns", "columnsFlat", "controlSubs", "sortAgainstPinned", "index", "indexAdjust", "find", "col", "_position", "ngOnDestroy", "forEach", "sub", "unsubscribe", "ngOnChanges", "changes", "firstChange", "currentValue", "previousValue", "flattenColumns", "translateColumns", "UntypedFormControl", "hidden", "disable", "valueChanges", "pipe", "distinctUntilChanged", "subscribe", "visible", "updateColHidden", "push", "UntypedFormGroup", "subCol", "map", "originalTitle", "translatedTitle", "instant", "drop", "event", "moveItemInArray", "previousIndex", "currentIndex", "i", "setColumns", "selectors", "inputs", "standalone", "features", "\u0275\u0275NgOnChangesFeature", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275listener", "$event", "ColumnSortSimpleComponent_ng_container_1_Template", "Pinned", "init_advanced_column_organizer", "__esmMin", "AdvancedColumnOrganizerService", "init_advanced_column_organizer_service", "__esmMin", "init_advanced_column_organizer", "init_esm", "init_operators", "init_drag_drop", "constructor", "translator", "searchTerm$$", "BehaviorSubject", "searchTerm$", "asObservable", "columnDefs$$", "columnDefs$", "groupDefs$$", "groupDefs$", "selectedOrderedColumns$$", "selectedOrderedColumns$", "columnDefsByID$", "pipe", "map", "columnDefs", "columnDefsByID", "cd", "id", "selectedColumns$", "getSelectedColumns$", "searchedGroups$", "getSearchedGroups$", "pinnedLeftColumns$", "getPinnedLeftColumns$", "pinnedRightColumns$", "getPinnedRightColumns$", "configure", "colDefs", "groupDefs", "originalTitle", "title", "translatedTitle", "instant", "gd", "next", "selectedOrderedColumns", "value", "filter", "c", "pinned", "hidden", "pinnedColumns$", "Pinned", "PINNED_LEFT", "combineLatest", "selectedColumnIDs", "keyedColumns", "name", "isVisible", "PINNED_UNSET", "getSelectedColumnsDef$", "columnsEntry", "pinnedColumns", "Map", "forEach", "column", "index", "set", "sortedNonPinned", "sort", "a", "b", "indexOf", "orderedColumns", "has", "get", "shift", "includes", "PINNED_RIGHT", "pinSide", "columnDef", "sticky", "stickyEnd", "organizeColumnsByGroup", "groupDef", "filteredColumns", "columns", "columnID", "undefined", "addUngroupedFieldsToOtherSection", "groups", "groupedFieldIds", "g", "flat", "ungroupedFields", "Object", "entries", "push", "length", "searchTerm", "getValue", "filterGroupsBySearchTerm", "updateSearchTerm", "st", "columnMatchesSearchTerm", "toLowerCase", "group", "some", "__spreadProps", "__spreadValues", "setColumnVisibility", "cols", "splice", "selectAll", "columnGroup", "deselectAll", "columnDroppedInList", "prevIndex", "curIndex", "moveItemInArray", "getSelectedColumns", "\u0275\u0275inject", "TranslateService", "factory", "\u0275fac", "\u0275\u0275elementStart", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r2", "ctx_r2", "\u0275\u0275nextContext", "\u0275\u0275resetView", "onClose", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275elementContainer", "\u0275\u0275elementContainerStart", "\u0275\u0275template", "AdvancedColumnOrganizerComponent_ng_container_4_ng_container_3_Template", "AdvancedColumnOrganizerComponent_ng_container_4_ng_container_5_Template", "\u0275\u0275advance", "\u0275\u0275property", "filtered_checkablelist_r4", "filtered_dragable_list_r5", "$event", "_r6", "setActiveTab", "index", "toString", "AdvancedColumnOrganizerComponent_ng_container_5_ng_container_5_Template", "AdvancedColumnOrganizerComponent_ng_container_5_ng_container_8_Template", "activeTab", "\u0275\u0275textInterpolate1", "searchControl", "value", "AdvancedColumnOrganizerComponent_ng_template_11_ng_container_6_div_1_Template", "searchedGroups_r7", "length", "column_r11", "_r10", "$implicit", "setColumnVisibility", "id", "checked", "\u0275\u0275pipeBind1", "isActionsColumn", "pinned", "title", "_r8", "columnGroup_r9", "selectAll", "deselectAll", "AdvancedColumnOrganizerComponent_ng_template_11_ng_container_8_ng_container_1_ng_container_11_Template", "columns", "AdvancedColumnOrganizerComponent_ng_template_11_ng_container_8_ng_container_1_Template", "\u0275\u0275element", "AdvancedColumnOrganizerComponent_ng_template_11_ng_container_6_Template", "AdvancedColumnOrganizerComponent_ng_template_11_ng_container_8_Template", "searchedGroups$", "\u0275\u0275textInterpolate", "column_r12", "name", "AdvancedColumnOrganizerComponent_ng_template_13_ng_container_4_div_1_Template", "columnInfo_r14", "_r13", "columnDroppedInList", "AdvancedColumnOrganizerComponent_ng_template_13_div_7_div_4_Template", "AdvancedColumnOrganizerComponent_ng_template_13_div_7_div_5_Template", "AdvancedColumnOrganizerComponent_ng_template_13_div_7_div_10_Template", "\u0275\u0275pureFunction2", "_c0", "i_r15", "isMobileScreen", "column_r16", "AdvancedColumnOrganizerComponent_ng_template_13_ng_container_9_div_1_Template", "AdvancedColumnOrganizerComponent_ng_template_13_ng_container_4_Template", "AdvancedColumnOrganizerComponent_ng_template_13_div_7_Template", "AdvancedColumnOrganizerComponent_ng_template_13_ng_container_9_Template", "pinnedLeftColumns$", "selectedColumns$", "pinnedRightColumns$", "AdvancedColumnOrganizerComponent", "init_advanced_column_organizer_component", "__esmMin", "init_advanced_column_organizer_service", "init_dialog", "init_esm", "init_forms", "constructor", "advancedColumnOrganizerService", "dialogData", "breakpointObserver", "dialogRef", "selectedColumns", "columnDefs", "advancedColumns", "UntypedFormControl", "saveName", "loadColumns", "getActiveTab", "searchSubscription", "valueChanges", "subscribe", "searchTerm", "updateSearchTerm", "ngOnDestroy", "unsubscribe", "event", "isVisible", "item", "data", "columnIndex", "currentIndex", "save", "__async", "getSelectedColumns", "firstValueFrom", "getSelectedColumnsDef$", "close", "configure", "columnConfigs", "groupConfigs", "columnGroup", "isMatched", "currentTab", "sessionStorage", "setItem", "getItem", "column", "selectedOrderedColumns$", "pipe", "map", "selectedCols", "includes", "\u0275\u0275directiveInject", "AdvancedColumnOrganizerService", "MAT_DIALOG_DATA", "BreakpointObserver", "MatDialogRef", "selectors", "inputs", "standalone", "features", "\u0275\u0275ProvidersFeature", "decls", "vars", "consts", "template", "rf", "ctx", "AdvancedColumnOrganizerComponent_button_2_Template", "AdvancedColumnOrganizerComponent_ng_container_4_Template", "AdvancedColumnOrganizerComponent_ng_container_5_Template", "i0", "_r1", "AdvancedColumnOrganizerComponent_ng_template_11_Template", "\u0275\u0275templateRefExtractor", "AdvancedColumnOrganizerComponent_ng_template_13_Template", "AdvancedColumnOrganizerButtonComponent", "init_advanced_column_organizer_button_component", "__esmMin", "init_core", "init_operators", "init_advanced_column_organizer_component", "constructor", "dialog", "colSortService", "columnConfigs", "groupConfigs", "openManager", "dialogData", "saveName", "useI18NTranslations", "dialogRef", "open", "AdvancedColumnOrganizerComponent", "width", "panelClass", "autoFocus", "data", "afterClosed", "pipe", "take", "subscribe", "save", "setColumns", "componentInstance", "columnDefs", "\u0275\u0275directiveInject", "MatDialog", "GalaxyColumnsSortService", "selectors", "inputs", "booleanAttribute", "standalone", "features", "\u0275\u0275InputTransformsFeature", "ngContentSelectors", "_c0", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275elementStart", "\u0275\u0275listener", "\u0275\u0275projection", "\u0275\u0275elementEnd", "\u0275\u0275elementStart", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r1", "ctx_r1", "\u0275\u0275nextContext", "\u0275\u0275resetView", "isOpen", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275element", "\u0275\u0275advance", "\u0275\u0275property", "simpleSort_r3", "\u0275\u0275pureFunction1", "_c0", "PopoverPositions", "BottomRight", "\u0275\u0275pipeBind1", "columns$", "groupConfigs$", "GalaxyColumnSortComponent", "init_column_sort_component", "__esmMin", "init_core", "init_popover", "init_esm", "constructor", "colSortService", "type", "columns$$", "asObservable", "pipe", "startWith", "groupConfigs$$", "destroyRef", "inject", "DestroyRef", "\u0275\u0275directiveInject", "GalaxyColumnsSortService", "selectors", "inputs", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275template", "GalaxyColumnSortComponent_div_0_Template", "GalaxyColumnSortComponent_div_1_Template", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "ctx_r0", "getDisplayValue", "\u0275\u0275element", "BooleanRendererComponent", "init_boolean", "__esmMin", "showBlank", "value", "undefined", "selectors", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275template", "BooleanRendererComponent_div_0_Template", "BooleanRendererComponent_glxy_blank_value_1_Template", "\u0275\u0275property", "DateRendererComponent", "init_date", "__esmMin", "init_material_moment_adapter", "init_core", "init_date_utils", "init_popover", "constructor", "positions", "PopoverPositions", "Top", "Bottom", "showPopover", "longFormat", "DateFormat", "long", "value", "Date", "showTooltip", "hideTooltip", "selectors", "standalone", "features", "\u0275\u0275ProvidersFeature", "provide", "DateAdapter", "useClass", "MomentDateAdapter", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275elementStart", "\u0275\u0275listener", "i0", "\u0275\u0275restoreView", "_r1", "\u0275\u0275resetView", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275element", "\u0275\u0275property", "popover_r2", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "\u0275\u0275pipeBind1", "\u0275\u0275textInterpolate", "\u0275\u0275pipeBind2", "\u0275\u0275pipeBind3", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "\u0275\u0275pipeBind1", "ctx_r0", "value", "\u0275\u0275element", "\u0275\u0275template", "IntegerRendererComponent_Conditional_1_Conditional_0_Template", "IntegerRendererComponent_Conditional_1_Conditional_1_Template", "\u0275\u0275conditional", "IntegerRendererComponent", "init_integer", "__esmMin", "constructor", "isNumber", "val", "_value", "selectors", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "IntegerRendererComponent_Conditional_0_Template", "IntegerRendererComponent_Conditional_1_Template", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275property", "ctx_r0", "phoneLink", "\u0275\u0275sanitizeUrl", "\u0275\u0275textInterpolate1", "readonlyPhone", "\u0275\u0275elementContainerStart", "\u0275\u0275textInterpolate", "value", "\u0275\u0275element", "\u0275\u0275template", "PhoneRendererComponent_ng_template_1_ng_container_0_Template", "PhoneRendererComponent_ng_template_1_glxy_blank_value_1_Template", "PhoneRendererComponent", "init_phone", "__esmMin", "init_libphonenumber_js", "constructor", "_value", "setupPhoneValues", "parsedNumber", "parseNumber", "defaultCountry", "Object", "keys", "length", "format", "v", "selectors", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "PhoneRendererComponent_div_0_Template", "PhoneRendererComponent_ng_template_1_Template", "\u0275\u0275templateRefExtractor", "noPhoneLink_r2", "\u0275\u0275element", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275property", "ctx_r0", "value", "join", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "\u0275\u0275textInterpolate1", "length", "\u0275\u0275template", "TagsRendererComponent_ng_template_1_div_0_glxy_badge_3_Template", "TagsRendererComponent_ng_template_1_div_0_glxy_badge_4_Template", "TagsRendererComponent_ng_template_1_div_0_Template", "TagsRendererComponent", "init_tags", "__esmMin", "init_common", "init_badge", "init_tooltip", "init_blank_value", "constructor", "selectors", "decls", "vars", "consts", "template", "rf", "ctx", "TagsRendererComponent_glxy_blank_value_0_Template", "TagsRendererComponent_ng_template_1_Template", "\u0275\u0275templateRefExtractor", "hasTags_r2", "CommonModule", "NgIf", "BlankValueComponent", "GalaxyBadgeModule", "BadgeComponent", "GalaxyTooltipModule", "GalaxyTooltipDirective", "styles", "\u0275\u0275elementContainerStart", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275property", "ctx_r0", "link", "\u0275\u0275textInterpolate", "value", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r2", "\u0275\u0275nextContext", "\u0275\u0275resetView", "action", "\u0275\u0275textInterpolate1", "\u0275\u0275template", "TextRendererComponent_div_0_ng_container_1_Template", "TextRendererComponent_div_0_ng_container_2_Template", "TextRendererComponent_div_0_ng_container_3_Template", "\u0275\u0275element", "TextRendererComponent", "init_text", "__esmMin", "selectors", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "TextRendererComponent_div_0_Template", "TextRendererComponent_glxy_blank_value_1_Template", "TimestampRendererComponent", "init_timestamp", "__esmMin", "init_material_moment_adapter", "init_core", "init_date_utils", "constructor", "format", "DateFormat", "medium", "value", "Date", "selectors", "standalone", "features", "\u0275\u0275ProvidersFeature", "provide", "DateAdapter", "useClass", "MomentDateAdapter", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "\u0275\u0275pipeBind2", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "\u0275\u0275pipeBind1", "ctx_r0", "value", "\u0275\u0275element", "\u0275\u0275template", "FloatRendererComponent_Conditional_1_Conditional_0_Template", "FloatRendererComponent_Conditional_1_Conditional_1_Template", "\u0275\u0275conditional", "FloatRendererComponent", "init_float", "__esmMin", "constructor", "isNumber", "val", "_value", "selectors", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "FloatRendererComponent_Conditional_0_Template", "FloatRendererComponent_Conditional_1_Template", "\u0275\u0275text", "\u0275\u0275textInterpolate1", "\u0275\u0275pipeBind2", "ctx_r0", "value", "code", "\u0275\u0275pipeBind1", "\u0275\u0275elementStart", "\u0275\u0275template", "CurrencyRendererComponent_Conditional_0_Conditional_1_Template", "CurrencyRendererComponent_Conditional_0_Conditional_2_Template", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275conditional", "\u0275\u0275element", "CurrencyRendererComponent", "init_currency", "__esmMin", "selectors", "standalone", "decls", "vars", "consts", "template", "rf", "ctx", "CurrencyRendererComponent_Conditional_0_Template", "CurrencyRendererComponent_Conditional_1_Template", "undefined", "ModelDrivenCellComponent", "init_model_driven_cell_component", "__esmMin", "init_core", "init_blank_value", "init_boolean", "init_date", "init_integer", "init_phone", "init_tags", "init_text", "init_timestamp", "init_float", "init_currency", "constructor", "component", "viewContainerRef", "inject", "ViewContainerRef", "renderCell", "clear", "cellType", "cellData", "createComponent", "IntegerRendererComponent", "instance", "value", "Number", "FloatRendererComponent", "DateRendererComponent", "Date", "TextRendererComponent", "link", "action", "BooleanRendererComponent", "Boolean", "TagsRendererComponent", "Array", "PhoneRendererComponent", "TimestampRendererComponent", "CurrencyRendererComponent", "code", "BlankValueRendererComponent", "ngOnInit", "ngOnDestroy", "location", "nativeElement", "remove", "selectors", "inputs", "standalone", "decls", "vars", "template", "rf", "ctx", "\u0275\u0275elementContainer", "GalaxyTableSelectionCustomizationToken", "GalaxyTableSelectionService", "init_table_selection_service", "__esmMin", "init_collections", "init_core", "init_esm", "init_operators", "init_rxjs_interop", "InjectionToken", "constructor", "entries", "selectionMode$$", "BehaviorSubject", "multiSelection", "SelectionModel", "compareRows", "singleSelection", "destroyRef", "inject", "DestroyRef", "selectionCustomization", "optional", "rowsSelectionLimit", "selectionModeSig", "toSignal", "asObservable", "selectionModel", "computed", "selection$", "toObservable", "pipe", "switchMap", "changed", "map", "selected", "allSelected$", "every", "entry", "select", "row", "isSelected", "hasSelection$", "hasValue", "row1", "row2", "id", "removeEntry", "index", "findIndex", "splice", "mainChanged", "checked", "clear", "forEach", "length", "registerRow", "selectComp", "valueSub", "selected$$", "filter", "a", "takeUntilDestroyed", "subscribe", "next", "onSelection", "push", "unregisterRow", "unsubscribe", "value", "toggle", "setSelectionMode", "mode", "setSelected", "hasReachedSelectionLimit", "factory", "\u0275fac", "\u0275\u0275elementStart", "\u0275\u0275listener", "$event", "\u0275\u0275restoreView", "_r1", "ctx_r1", "\u0275\u0275nextContext", "\u0275\u0275resetView", "onSelectChange", "\u0275\u0275elementEnd", "\u0275\u0275property", "selectionService", "isSelected", "row", "disabledRow", "hasReachedSelectionLimit", "_r3", "\u0275\u0275pipeBind1", "hasSelection$", "allSelected$", "GalaxySelectionComponent", "init_selection_component", "__esmMin", "init_core", "init_esm", "init_table_selection_service", "constructor", "disableSelection", "preSelectedRows", "preSelectedLockedRows", "selected$$", "BehaviorSubject", "inject", "GalaxyTableSelectionService", "ngOnInit", "registerRow", "ngOnChanges", "changes", "currentValue", "selectAndLock", "some", "item", "id", "setSelected", "ngOnDestroy", "unregisterRow", "change", "next", "checked", "selectors", "inputs", "booleanAttribute", "standalone", "features", "\u0275\u0275InputTransformsFeature", "\u0275\u0275NgOnChangesFeature", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275template", "GalaxySelectionComponent_Conditional_0_Template", "GalaxySelectionComponent_Conditional_1_Template", "\u0275\u0275conditional", "init_public_api", "__esmMin", "init_table_module", "init_table", "__esmMin", "init_public_api", "INDETERMINATE_MAX", "GalaxyPaginatorText", "init_paginator_text", "__esmMin", "init_paginator", "Infinity", "MatPaginatorIntl", "constructor", "translate", "itemsPerPageLabel", "instant", "nextPageLabel", "previousPageLabel", "getRangeLabel", "page", "pageSize", "length", "Math", "max", "startIndex", "endIndex", "min", "GalaxyDataSource", "init_datasource", "__esmMin", "init_collections", "init_esm", "init_operators", "init_paginator_text", "init_core", "DataSource", "state", "state$$", "getValue", "newState", "next", "__spreadValues", "constructor", "listApi", "cursors", "searchTerm", "BehaviorSubject", "defaultState", "state$", "asObservable", "loading$", "pipe", "map", "loading", "shouldClearSelection$", "shouldClearSelection", "totalDataMembers$", "totalDataMembers", "pageIndex$", "pageIndex", "dataMembers$", "dataMembers", "selectAll$", "selectAll", "clearSelectionOnChange", "sortingChanged", "signal", "filtersApplied$", "filters", "length", "DEFAULT_PAGE_SIZE", "setSearchTerm", "__spreadProps", "pageSize", "shouldRefetch", "setFilters", "clearCursors", "sorting", "setSorting", "set", "pageChanged", "page", "pageSizeChanged", "searchFields", "clearSelection", "disableSelectAll", "setTimeout", "toggleSelectAll", "connect", "stateSubscription", "filter", "distinctUntilChanged", "switchMap", "cursor", "getCursor", "req", "pagingOptions", "searchOptions", "text", "trim", "fields", "get", "shareReplay", "refCount", "bufferSize", "subscribe", "response", "pageDataRecieved", "disconnect", "unsubscribe", "INDETERMINATE_MAX", "pagingMetadata", "totalResults", "data", "hasMore", "setNextCursor", "nextCursor", "requestAnimationFrame", "initialLoadCompleted", "undefined", "previousPageIndex", "getCursors", "loadCursors", "nextPageIndex", "GalaxyTableSearchService", "init_table_search_service", "__esmMin", "init_esm", "init_operators", "constructor", "searchTerm", "options", "fields$$", "BehaviorSubject", "fields$", "asObservable", "searchTerm$", "pipe", "map", "fields", "distinctUntilChanged", "updateTerm", "value", "updateSearch", "next", "factory", "\u0275fac", "GalaxyGridCardDirective", "init_grid_card_directive", "__esmMin", "constructor", "templateRef", "viewContainerRef", "\u0275\u0275directiveInject", "TemplateRef", "ViewContainerRef", "selectors", "standalone", "GRID_MIN_CARD_WIDTH", "GalaxyGridMinCardWidthDirective", "init_grid_min_width_directive", "__esmMin", "constructor", "glxyGridMinCardWidth", "selectors", "inputs", "value", "parseInt", "standalone", "features", "\u0275\u0275InputTransformsFeature", "GridViewComponent", "init_grid_view_component", "__esmMin", "init_core", "init_esm", "init_rxjs_interop", "minWidth", "width", "gridTemplateColumns", "dataSource", "switchDataSource", "cardDirective", "directive", "cardDirective$$", "next", "constructor", "class", "destroyRef", "inject", "DestroyRef", "data$$", "Subject", "combineLatest", "asObservable", "pipe", "takeUntilDestroyed", "subscribe", "data", "viewContainerRef", "clear", "row", "context", "$implicit", "createEmbeddedView", "templateRef", "_datasource", "dataMembers$", "selectors", "hostVars", "hostBindings", "rf", "ctx", "\u0275\u0275classMap", "\u0275\u0275styleProp", "\u0275\u0275projection", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "col_r2", "title", "\u0275\u0275template", "TableContainerComponent_For_8_Conditional_1_th_0_Template", "TableContainerComponent_For_8_Conditional_2_th_0_Template", "\u0275\u0275element", "\u0275\u0275property", "row_r3", "data", "id", "\u0275\u0275elementContainerStart", "TableContainerComponent_For_8_Conditional_1_Template", "TableContainerComponent_For_8_Conditional_2_Template", "TableContainerComponent_For_8_td_3_Template", "\u0275\u0275conditional", "sortable", "ctx_r3", "dataSource", "pageSizeOptions", "pageSize", "TableContainerComponent", "init_table_container_component", "__esmMin", "init_core", "init_rxjs_interop", "init_table", "init_esm", "init_operators", "init_column_sort_service", "init_table_search_service", "init_table_selection_service", "init_grid_card_directive", "init_grid_min_width_directive", "init_grid_view_component", "gridView", "grid", "setCardDirective", "cardDirective", "setMinCardWidthDirective", "minCardWidthDirective", "gridCardMinWidth", "glxyGridMinCardWidth", "constructor", "columnSortService", "selectionService", "searchService", "changeDetectorRef", "destroyRef", "class", "border", "fullWidth", "columns", "groupConfigs", "showSelection", "singleSelection", "showFooter", "displayOption", "input", "selectionChanged", "EventEmitter", "columnsChanged", "searchTermChanged", "subscriptions", "GRID_MIN_CARD_WIDTH", "isApplyingSelectAll$$", "BehaviorSubject", "ngOnChanges", "changes", "updateServicesAndDatasource", "ngOnInit", "setSelectionMode", "searchTerm$", "pipe", "takeUntilDestroyed", "subscribe", "next", "searchTerm", "setSearchTerm", "emit", "selectSub", "selection$", "rows", "columnSub", "columns$$", "filter", "length", "distinctUntilChanged", "shouldClearSelection$", "shouldClear", "tap", "clear", "selectAll$", "selectAll", "withLatestFrom", "_", "currentSelection", "currentRowsSelectionSize", "targetAllSelectionSize", "entries", "rowsSelectionLimit", "forEach", "entry", "select", "row", "isSelected", "multiSelection", "push", "ngAfterViewInit", "scrollContainer", "nativeElement", "addEventListener", "el", "scrollLeft", "classList", "add", "remove", "Math", "abs", "scrollWidth", "clientWidth", "capture", "passive", "viewChildrenColumnsSub", "allMatColumnDefs", "defs", "updateMatColumns", "colSortSub", "visibleColumns$", "displayedColumns", "headerRowDef", "rowDef", "combineLatest", "allSelected$", "asObservable", "allSelected", "isApplyingSelectAll", "disableSelectAll", "columnDefsFiltered", "def", "columnDefs", "find", "c", "name", "table", "removeColumnDef", "addColumnDef", "externalColumnDefs", "modelDrivenColumnDefs", "external", "columnsDefs", "cols", "unshift", "pinned", "sticky", "hidden", "setColumns", "setColumnDefs", "setGroups", "updateSorting", "sortOption", "direction", "setSorting", "active", "ngOnDestroy", "sub", "unsubscribe", "removeEventListener", "\u0275\u0275directiveInject", "GalaxyColumnsSortService", "GalaxyTableSelectionService", "GalaxyTableSearchService", "ChangeDetectorRef", "DestroyRef", "selectors", "contentQueries", "rf", "ctx", "dirIndex", "MatTable", "MatHeaderRowDef", "MatRowDef", "TableContentHeaderComponent", "GalaxyGridCardDirective", "GalaxyGridMinCardWidthDirective", "MatColumnDef", "GridViewComponent", "\u0275\u0275classMap", "\u0275\u0275classProp", "booleanAttribute", "outputs", "standalone", "features", "\u0275\u0275ProvidersFeature", "\u0275\u0275InputTransformsFeature", "\u0275\u0275NgOnChangesFeature", "ngContentSelectors", "_c2", "decls", "vars", "consts", "template", "\u0275\u0275projection", "\u0275\u0275listener", "$event", "i0", "\u0275\u0275restoreView", "_r1", "\u0275\u0275resetView", "\u0275\u0275repeaterCreate", "TableContainerComponent_For_8_Template", "\u0275\u0275repeaterTrackByIdentity", "TableContainerComponent_div_12_Template", "TableContainerComponent_glxy_table_content_footer_14_Template", "\u0275\u0275pureFunction1", "_c3", "\u0275\u0275pipeBind1", "loading$", "\u0275\u0275repeater", "useFactory", "translateService", "GalaxyPaginatorText", "DEFAULT_PAGE_SIZE_OPTIONS", "DEFAULT_PAGE_SIZE", "TableContentFooterComponent", "init_table_content_footer_component", "__esmMin", "init_paginator", "init_ngx_translate_core", "init_esm", "init_operators", "init_paginator_text", "pageSize", "id", "savedPageSize", "localStorage", "getItem", "_pageSize", "parseInt", "constructor", "router", "activatedRoute", "class", "pageSizeOptions", "subscriptions", "ngOnDestroy", "forEach", "sub", "unsubscribe", "ngOnInit", "cursorParam", "snapshot", "queryParams", "cursor", "JSON", "parse", "atob", "dataSource", "loadCursors", "c", "state", "ps", "pageIndex", "pi", "shouldRefetch", "push", "combineLatest", "pageIndex$", "pipe", "tap", "newQueryParams", "__spreadValues", "btoa", "stringify", "getCursors", "navigate", "relativeTo", "subscribe", "ngAfterViewInit", "paginator", "pageChanged", "event", "setItem", "toString", "getCursor", "loading", "\u0275\u0275directiveInject", "Router", "ActivatedRoute", "selectors", "viewQuery", "rf", "ctx", "MatPaginator", "\u0275\u0275classMap", "v", "standalone", "features", "\u0275\u0275ProvidersFeature", "provide", "MatPaginatorIntl", "deps", "TranslateService", "\u0275\u0275InputTransformsFeature", "decls", "vars", "consts", "template", "\u0275\u0275elementStart", "\u0275\u0275listener", "$event", "\u0275\u0275elementEnd", "\u0275\u0275property", "tmp_2_0", "\u0275\u0275pipeBind1", "totalDataMembers$", "undefined", "loading$", "\u0275\u0275element", "\u0275\u0275elementStart", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r1", "ctx_r1", "\u0275\u0275nextContext", "\u0275\u0275resetView", "toggleFilterBar", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275template", "TableContentHeaderComponent_Conditional_3_Conditional_0_Conditional_4_Template", "\u0275\u0275property", "\u0275\u0275pureFunction1", "_c2", "showFiltersOpen", "\u0275\u0275advance", "\u0275\u0275conditional", "showFiltersApplied", "\u0275\u0275textInterpolate", "\u0275\u0275pipeBind1", "\u0275\u0275projection", "TableContentHeaderComponent_Conditional_3_Conditional_0_Template", "TableContentHeaderComponent_Conditional_3_Conditional_1_Template", "showFiltersButton", "searchControl", "$event", "_r3", "onChangeDisplayOption", "value", "display", "columnArrangeType", "_r4", "export", "emit", "\u0275\u0275textInterpolate2", "numSelected_r5", "rowsSelectionLimit", "actionsMenu_r6", "TableContentHeaderComponent_Conditional_13_Conditional_0_Conditional_1_Template", "TableContentHeaderComponent_Conditional_13_Conditional_0_Conditional_4_Template", "showSelectedAllCount", "hideActionButton", "TableContentHeaderComponent_Conditional_13_Conditional_0_Template", "showActions", "SEARCH_TERM_DELAY", "TableContentHeaderComponent", "init_table_content_header_component", "__esmMin", "init_animations", "init_core", "init_rxjs_interop", "init_forms", "init_esm", "init_operators", "constructor", "searchService", "selectionService", "destroyRef", "activatedRoute", "router", "class", "showColumnArrange", "showFilters", "showFiltersOpenChange", "EventEmitter", "showSearch", "showSort", "showExport", "showDisplayToggle", "saveSearchToQueryParams", "UntypedFormControl", "input", "displayChanges", "output", "initialSearchTerm", "initialSearchTermSet", "ngAfterViewChecked", "setValue", "updateValueAndValidity", "ngOnInit", "searchParam", "snapshot", "queryParamMap", "get", "decodeURI", "valueChanges", "pipe", "skipWhile", "term", "debounceTime", "distinctUntilChanged", "takeUntilDestroyed", "subscribe", "next", "text", "setSearchTerm", "searchTerm$", "searchTerm", "emitEvent", "numSelected$", "selection$", "map", "selection", "length", "ngOnChanges", "emitSearchChange", "encodeURI", "navigate", "relativeTo", "queryParams", "search", "queryParamsHandling", "updateTerm", "\u0275\u0275directiveInject", "GalaxyTableSearchService", "GalaxyTableSelectionService", "DestroyRef", "ActivatedRoute", "Router", "selectors", "hostVars", "hostBindings", "rf", "ctx", "\u0275\u0275classMap", "booleanAttribute", "outputs", "standalone", "features", "\u0275\u0275ProvidersFeature", "\u0275\u0275InputTransformsFeature", "\u0275\u0275NgOnChangesFeature", "ngContentSelectors", "_c1", "decls", "vars", "consts", "template", "TableContentHeaderComponent_Conditional_3_Template", "TableContentHeaderComponent_Conditional_4_Template", "TableContentHeaderComponent_Conditional_8_Template", "TableContentHeaderComponent_Conditional_9_Template", "TableContentHeaderComponent_Conditional_10_Template", "TableContentHeaderComponent_Conditional_11_Template", "TableContentHeaderComponent_Conditional_12_Template", "TableContentHeaderComponent_Conditional_13_Template", "tmp_7_0", "trigger", "state", "style", "height", "opacity", "transition", "animate", "CustomCellComponent", "init_interface", "__esmMin", "init_datasource_interface", "__esmMin", "GalaxyTableModule", "init_table_module", "__esmMin", "init_drag_drop", "init_common", "init_forms", "init_button", "init_checkbox", "init_icon", "init_menu", "init_paginator", "init_sort", "init_table", "init_router", "init_ngx_translate_core", "init_form_field", "init_input", "init_loading_spinner", "init_pipes", "init_popover", "init_tooltip", "init_model_driven_cell_component", "init_blank_value", "init_table_container_component", "init_table_content_footer_component", "init_tabs", "init_button_toggle", "init_grid_view_component", "init_interface", "init_table_content_header_component", "init_datasource", "init_datasource_interface", "init_column_sort_service", "init_table_selection_service", "CommonModule", "GalaxyInputModule", "GalaxyCheckboxModule", "MatButtonModule", "MatIconModule", "MatMenuModule", "FormsModule", "ReactiveFormsModule", "GalaxyPopoverModule", "DragDropModule", "MatCheckboxModule", "TranslateModule", "MatPaginatorModule", "MatTableModule", "RouterModule", "GalaxyTooltipModule", "GalaxyPipesModule", "BlankValueComponent", "GalaxyFormFieldModule", "GalaxyLoadingSpinnerModule", "MatSortModule", "MatTabsModule", "MatButtonToggle", "TableContainerComponent", "NgClass", "NgIf", "MatHeaderCellDef", "MatColumnDef", "MatCellDef", "MatHeaderCell", "MatCell", "LoadingSpinnerComponent", "MatSort", "MatSortHeader", "TableContentFooterComponent", "ModelDrivenCellComponent", "GridViewComponent", "AsyncPipe"] }