{ "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 @if (hasMarkAsUnread) {\r\n \r\n }\r\n @if (hasMarkAsRead) {\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", "_r2", "ctx_r2", "\u0275\u0275nextContext", "\u0275\u0275resetView", "executeAction", "Action", "MarkAsUnread", "\u0275\u0275element", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275property", "t_r4", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "_r5", "MarkAsRead", "\u0275\u0275template", "BulkOperationsComponent_ng_container_0_ng_container_1_div_1_Conditional_7_Template", "BulkOperationsComponent_ng_container_0_ng_container_1_div_1_Conditional_8_Template", "$event", "_r1", "performAction", "bulkSelectionService", "deselectAll", "\u0275\u0275classMapInterpolate1", "modalMode", "\u0275\u0275pureFunction1", "_c0", "topOffset", "\u0275\u0275textInterpolate1", "_c1", "\u0275\u0275pipeBind1", "selectionCount_r6", "\u0275\u0275conditional", "hasMarkAsUnread", "hasMarkAsRead", "actions", "\u0275\u0275elementContainerStart", "BulkOperationsComponent_ng_container_0_ng_container_1_div_1_Template", "BulkOperationsComponent_ng_container_0_ng_container_1_Template", "selections$", "BulkOperationsComponent", "constructor", "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"] }