{ "version": 3, "sources": ["src/app/cards/bulk-operations/bulk-operations.component.ts", "src/app/cards/bulk-operations/bulk-operations.component.html"], "sourcesContent": ["import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n DestroyRef,\r\n inject,\r\n Input,\r\n OnInit\r\n} from '@angular/core';\r\nimport { Action, ActionFactoryService, ActionItem } from 'src/app/_services/action-factory.service';\r\nimport { BulkSelectionService } from '../bulk-selection.service';\r\nimport {takeUntilDestroyed} from \"@angular/core/rxjs-interop\";\r\nimport {AsyncPipe, CommonModule} from \"@angular/common\";\r\nimport {TranslocoModule} from \"@ngneat/transloco\";\r\nimport {NgbTooltip} from \"@ng-bootstrap/ng-bootstrap\";\r\nimport {CardActionablesComponent} from \"../../_single-module/card-actionables/card-actionables.component\";\r\n\r\n@Component({\r\n selector: 'app-bulk-operations',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n AsyncPipe,\r\n CardActionablesComponent,\r\n TranslocoModule,\r\n NgbTooltip\r\n ],\r\n templateUrl: './bulk-operations.component.html',\r\n styleUrls: ['./bulk-operations.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class BulkOperationsComponent implements OnInit {\r\n\r\n @Input({required: true}) actionCallback!: (action: ActionItem, data: any) => void;\r\n /**\r\n * Modal mode means don't fix to the top\r\n */\r\n @Input() modalMode = false;\r\n @Input() topOffset: number = 56;\r\n hasMarkAsRead: boolean = false;\r\n hasMarkAsUnread: boolean = false;\r\n actions: Array> = [];\r\n\r\n private readonly destroyRef = inject(DestroyRef);\r\n private readonly cdRef = inject(ChangeDetectorRef);\r\n private readonly actionFactoryService = inject(ActionFactoryService);\r\n public readonly bulkSelectionService = inject(BulkSelectionService);\r\n protected readonly Action = Action;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.bulkSelectionService.actions$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(actions => {\r\n // We need to do a recursive callback apply\r\n this.actions = this.actionFactoryService.applyCallbackToList(actions, this.actionCallback.bind(this));\r\n this.hasMarkAsRead = this.actionFactoryService.hasAction(this.actions, Action.MarkAsRead);\r\n this.hasMarkAsUnread = this.actionFactoryService.hasAction(this.actions, Action.MarkAsUnread);\r\n this.cdRef.markForCheck();\r\n });\r\n }\r\n\r\n performAction(action: ActionItem) {\r\n this.actionCallback(action, null);\r\n }\r\n\r\n executeAction(action: Action) {\r\n const foundActions = this.actions.filter(act => act.action === action);\r\n if (foundActions.length > 0) {\r\n this.performAction(foundActions[0]);\r\n }\r\n }\r\n}\r\n", "\r\n \r\n
0\" class=\"bulk-select mb-3 {{modalMode ? '' : 'fixed-top}}\" [ngStyle]=\"{'margin-top': topOffset + 'px'}\">\r\n
\r\n\r\n \r\n \r\n {{t('items-selected',{num: selectionCount | number})}}\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n Bulk Actions\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n"], "mappings": "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", "names": ["\u0275\u0275elementStart", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r8", "ctx_r7", "\u0275\u0275nextContext", "\u0275\u0275resetView", "executeAction", "Action", "MarkAsUnread", "\u0275\u0275element", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275property", "t_r1", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "_r11", "ctx_r10", "MarkAsRead", "\u0275\u0275template", "BulkOperationsComponent_ng_container_0_ng_container_1_div_1_button_7_Template", "BulkOperationsComponent_ng_container_0_ng_container_1_div_1_button_8_Template", "$event", "_r14", "ctx_r13", "performAction", "ctx_r15", "bulkSelectionService", "deselectAll", "\u0275\u0275pureFunction1", "_c0", "ctx_r4", "topOffset", "\u0275\u0275textInterpolate1", "_c1", "\u0275\u0275pipeBind1", "selectionCount_r3", "hasMarkAsUnread", "hasMarkAsRead", "actions", "\u0275\u0275elementContainerStart", "BulkOperationsComponent_ng_container_0_ng_container_1_div_1_Template", "\u0275\u0275elementContainerEnd", "BulkOperationsComponent_ng_container_0_ng_container_1_Template", "ctx_r0", "selections$", "BulkOperationsComponent", "constructor", "modalMode", "destroyRef", "inject", "DestroyRef", "cdRef", "ChangeDetectorRef", "actionFactoryService", "ActionFactoryService", "BulkSelectionService", "ngOnInit", "actions$", "pipe", "takeUntilDestroyed", "subscribe", "applyCallbackToList", "actionCallback", "bind", "hasAction", "markForCheck", "action", "foundActions", "filter", "act", "length", "selectors", "inputs", "standalone", "features", "\u0275\u0275StandaloneFeature", "decls", "vars", "consts", "template", "rf", "ctx", "BulkOperationsComponent_ng_container_0_Template", "CommonModule", "NgIf", "NgStyle", "AsyncPipe", "DecimalPipe", "CardActionablesComponent", "TranslocoModule", "TranslocoDirective", "NgbTooltip", "styles", "changeDetection", "_BulkOperationsComponent"] }