ngx-aur-mat-table 17.2.2-9 → 19.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/fesm2022/ngx-aur-mat-table.mjs +194 -127
  2. package/fesm2022/ngx-aur-mat-table.mjs.map +1 -1
  3. package/lib/drag-drop/aur-drag-drop.manager.d.ts +50 -91
  4. package/lib/drag-drop/can-drop-manager.d.ts +8 -0
  5. package/lib/drag-drop/drag-drop-mapping-manager.d.ts +9 -0
  6. package/lib/drag-drop/drag-preview-manager.d.ts +11 -0
  7. package/lib/drag-drop/model/aur-drag-drop-mapping.d.ts +44 -0
  8. package/lib/drag-drop/model/aur-drag-preview-component.d.ts +13 -0
  9. package/lib/ngx-aur-mat-table.component.d.ts +4 -3
  10. package/lib/providers/DragDropProvider.d.ts +1 -2
  11. package/package.json +9 -11
  12. package/public-api.d.ts +3 -1
  13. package/esm2022/lib/components/column-value/column-view.component.mjs +0 -18
  14. package/esm2022/lib/components/icon-view/icon-view.component.mjs +0 -16
  15. package/esm2022/lib/data-property-getter-pipe/data-property-getter.pipe.mjs +0 -16
  16. package/esm2022/lib/directive/ngx-aur-table-search-prefix.directive.mjs +0 -14
  17. package/esm2022/lib/directive/ngx-aur-table-search-suffix.directive.mjs +0 -14
  18. package/esm2022/lib/directive/ngx-table-sub-footer-row.directive.mjs +0 -14
  19. package/esm2022/lib/drag-drop/aur-drag-drop-component.mjs +0 -2
  20. package/esm2022/lib/drag-drop/aur-drag-drop.manager.mjs +0 -113
  21. package/esm2022/lib/factories/ActionViewFactory.mjs +0 -38
  22. package/esm2022/lib/factories/DisplayColumnsFactory.mjs +0 -6
  23. package/esm2022/lib/factories/MatTableDataSourceFactory.mjs +0 -15
  24. package/esm2022/lib/factories/TableRowsFactory.mjs +0 -18
  25. package/esm2022/lib/filters/NgxAurFilters.mjs +0 -261
  26. package/esm2022/lib/model/ColumnConfig.mjs +0 -2
  27. package/esm2022/lib/model/EmptyValue.mjs +0 -29
  28. package/esm2022/lib/model/TableRow.mjs +0 -7
  29. package/esm2022/lib/model/TableViewFactory.mjs +0 -62
  30. package/esm2022/lib/ngx-aur-mat-table-filterable.mjs +0 -2
  31. package/esm2022/lib/ngx-aur-mat-table-public.mjs +0 -2
  32. package/esm2022/lib/ngx-aur-mat-table-refreshable.mjs +0 -2
  33. package/esm2022/lib/ngx-aur-mat-table-selection-model.mjs +0 -2
  34. package/esm2022/lib/ngx-aur-mat-table.component.mjs +0 -405
  35. package/esm2022/lib/ngx-aur-mat-table.module.mjs +0 -90
  36. package/esm2022/lib/providers/AbstractProvider.mjs +0 -9
  37. package/esm2022/lib/providers/DragDropProvider.mjs +0 -57
  38. package/esm2022/lib/providers/HeaderButtonProvider.mjs +0 -16
  39. package/esm2022/lib/providers/IndexProvider.mjs +0 -65
  40. package/esm2022/lib/providers/PaginationProvider.mjs +0 -27
  41. package/esm2022/lib/providers/RowActionProvider.mjs +0 -66
  42. package/esm2022/lib/providers/SelectionProvider.mjs +0 -80
  43. package/esm2022/lib/providers/TotalRowProvider.mjs +0 -43
  44. package/esm2022/lib/style-builder/style-builder.mjs +0 -115
  45. package/esm2022/lib/utils/ngx-aur-table-config.util.mjs +0 -15
  46. package/esm2022/lib/utils/ngx-aur-table-page-event.utils.mjs +0 -11
  47. package/esm2022/lib/utils/offset.util.mjs +0 -12
  48. package/esm2022/ngx-aur-mat-table.mjs +0 -5
  49. package/esm2022/public-api.mjs +0 -23
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Directive, Component, Input, Pipe, EventEmitter, ElementRef, ChangeDetectionStrategy, ContentChild, ViewChildren, ViewChild, Output, NgModule } from '@angular/core';
2
+ import { Directive, Input, Component, Pipe, EventEmitter, ElementRef, Output, ViewChild, ViewChildren, ContentChild, ChangeDetectionStrategy, NgModule } from '@angular/core';
3
3
  import * as i8 from '@angular/material/sort';
4
4
  import { MatSort, MatSortModule } from '@angular/material/sort';
5
5
  import * as i3$1 from '@angular/material/table';
@@ -7,8 +7,8 @@ import { MatTableDataSource, MatTableModule } from '@angular/material/table';
7
7
  import * as i4 from '@angular/material/paginator';
8
8
  import { MatPaginator, MatPaginatorModule } from '@angular/material/paginator';
9
9
  import { SelectionModel } from '@angular/cdk/collections';
10
- import { trigger, state, style, transition, animate } from '@angular/animations';
11
- import { first } from 'rxjs';
10
+ import { trigger, state, transition, style, animate } from '@angular/animations';
11
+ import { first, finalize } from 'rxjs';
12
12
  import * as i1 from '@angular/common';
13
13
  import { CommonModule } from '@angular/common';
14
14
  import * as i2 from '@angular/material/icon';
@@ -515,13 +515,14 @@ class OffsetUtil {
515
515
 
516
516
  class NgxTableSubFooterRowDirective {
517
517
  constructor() { }
518
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxTableSubFooterRowDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
519
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type: NgxTableSubFooterRowDirective, selector: "[ngxAurTableSubFooterRow]", ngImport: i0 }); }
518
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: NgxTableSubFooterRowDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
519
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.17", type: NgxTableSubFooterRowDirective, isStandalone: false, selector: "[ngxAurTableSubFooterRow]", ngImport: i0 }); }
520
520
  }
521
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxTableSubFooterRowDirective, decorators: [{
521
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: NgxTableSubFooterRowDirective, decorators: [{
522
522
  type: Directive,
523
523
  args: [{
524
- selector: '[ngxAurTableSubFooterRow]'
524
+ selector: '[ngxAurTableSubFooterRow]',
525
+ standalone: false
525
526
  }]
526
527
  }], ctorParameters: () => [] });
527
528
 
@@ -540,100 +541,56 @@ class HeaderButtonProviderDummy extends HeaderButtonProvider {
540
541
  }
541
542
  }
542
543
 
543
- class AurDragDropManager {
544
- constructor(viewContainerRef, mappings) {
545
- this.viewContainerRef = viewContainerRef;
546
- this.mappings = mappings;
544
+ class CanDropManager {
545
+ constructor(mappings) {
547
546
  //can drop [key from table, value to table name]
548
547
  this.canDropStorage = new Map();
549
- this.mappings.forEach(m => {
548
+ this.fillStorage(mappings);
549
+ }
550
+ fillStorage(mappings) {
551
+ mappings.forEach(m => {
550
552
  if (!this.canDropStorage.has(m.sourceName)) {
551
553
  this.canDropStorage.set(m.sourceName, new Set());
552
554
  }
553
555
  this.canDropStorage.get(m.sourceName).add(m.targetName);
554
556
  });
555
557
  }
556
- startDrag(sourceName, data, event) {
557
- this.dragStartCtx = { name: sourceName, data: data };
558
- this.showDragPreview(sourceName, event, data);
559
- }
560
- endDrag(sourceDataset) {
561
- this.removeDragPreview();
562
- if (this.dragEndCtx?.name && this.checkCanDrop(this.dragEndCtx.name)) {
563
- const afterDataSet = this.calcAfterDataSource({
564
- targetData: this.dragEndCtx.data,
565
- targetName: this.dragEndCtx.name,
566
- sourceData: this.dragStartCtx.data,
567
- sourceName: this.dragStartCtx.name,
568
- sourceDataset: sourceDataset
569
- });
570
- return {
571
- isValidDrop: true,
572
- startDragContext: this.dragStartCtx,
573
- endDragContext: this.dragEndCtx,
574
- beforeDataSet: sourceDataset,
575
- afterDataSet: afterDataSet,
576
- };
558
+ canDrop(sourceName, targetName) {
559
+ if (!sourceName || !targetName) {
560
+ return false;
577
561
  }
578
- else {
579
- return {
580
- isValidDrop: false,
581
- startDragContext: this.dragStartCtx,
582
- beforeDataSet: sourceDataset,
583
- };
584
- }
585
- }
586
- calcAfterDataSource(grabCtx) {
587
- let mapping = this.mappings.find(m => m.sourceName === grabCtx.sourceName && m.targetName === grabCtx.targetName);
588
- let mappedData = mapping.grabFn(grabCtx).pipe(first());
589
- this.dragStartCtx = undefined;
590
- this.dragEndCtx = undefined;
591
- return mappedData;
562
+ return this.canDropStorage.get(sourceName)?.has(targetName) ?? false;
592
563
  }
593
- canDrop(targetName, $event) {
594
- const canDrop = this.checkCanDrop(targetName);
564
+ dropPreventDefault(sourceName, targetName, $event) {
565
+ const canDrop = this.canDrop(sourceName, targetName);
595
566
  if (canDrop) {
596
567
  $event.preventDefault();
597
568
  }
598
569
  return canDrop;
599
570
  }
600
- checkCanDrop(targetName) {
601
- return this.canDropStorage.get(this.dragStartCtx.name)?.has(targetName) ?? false;
571
+ }
572
+
573
+ class DragPreviewManager {
574
+ constructor(viewContainerRef, mappings) {
575
+ this.viewContainerRef = viewContainerRef;
576
+ this.previewStorage = new Map();
577
+ this.fillStorage(mappings);
602
578
  }
603
- onDrop(targetDataset, targetName, targetData) {
604
- return this.onDropInternal({
605
- sourceName: this.dragStartCtx.name,
606
- sourceData: this.dragStartCtx.data,
607
- targetName: targetName,
608
- targetData: targetData,
609
- targetDataset: targetDataset
579
+ fillStorage(mappings) {
580
+ mappings.forEach(m => {
581
+ if (this.previewStorage.has(m.sourceName)) {
582
+ console.log(`WARN: Duplicate drag preview mapping for source ${m.sourceName}`);
583
+ }
584
+ this.previewStorage.set(m.sourceName, m.preview);
610
585
  });
611
586
  }
612
- onDropInternal(dropCtx) {
613
- let mapping = this.mappings.find(m => m.sourceName === dropCtx.sourceName && m.targetName === dropCtx.targetName);
614
- let mappedData = mapping.dropFn(dropCtx).pipe(first());
615
- this.dragEndCtx = {
616
- name: dropCtx.targetName,
617
- data: dropCtx.targetData
618
- };
619
- return mappedData;
620
- }
621
- get draggableTableNames() {
622
- return this.mappings?.map(mapping => mapping.sourceName) || [];
623
- }
624
- getPreviewComponent(name) {
625
- return this.mappings.find(value => value.sourceName === name)?.preview || undefined;
626
- }
627
- static empty() {
628
- // @ts-ignore
629
- return new AurDragDropManager(undefined, []);
630
- }
631
- showDragPreview(name, event, data) {
632
- let previewConstructor = this.getPreviewComponent(name);
587
+ showPreview(sourceName, event, draggedData) {
588
+ this.previewStorage.forEach((k, v) => console.log('key', k, 'value', v));
589
+ let previewConstructor = this.previewStorage.get(sourceName);
633
590
  if (previewConstructor) {
634
591
  // Динамически создаем компонент превью
635
592
  this.currentPreviewComponentRef = this.viewContainerRef.createComponent(previewConstructor);
636
- this.currentPreviewComponentRef.instance.data = data;
593
+ this.currentPreviewComponentRef.instance.data = draggedData;
637
594
  const nativePreview = this.currentPreviewComponentRef.location.nativeElement;
638
595
  // Применение необходимых стилей к элементу превью
639
596
  nativePreview.style.position = 'absolute';
@@ -643,7 +600,7 @@ class AurDragDropManager {
643
600
  event.dataTransfer?.setDragImage(nativePreview, 0, 0);
644
601
  }
645
602
  }
646
- removeDragPreview() {
603
+ removePreview() {
647
604
  if (this.currentPreviewComponentRef) {
648
605
  document.body.removeChild(this.currentPreviewComponentRef.location.nativeElement);
649
606
  this.currentPreviewComponentRef.destroy();
@@ -652,6 +609,121 @@ class AurDragDropManager {
652
609
  }
653
610
  }
654
611
 
612
+ class DragDropMappingManager {
613
+ constructor(mappings) {
614
+ this.mappingsStorage = new Map();
615
+ this.fillStorage(mappings);
616
+ }
617
+ get(sourceName, targetName) {
618
+ const mapping = this.mappingsStorage.get(this.buildKey(sourceName, targetName));
619
+ if (!mapping) {
620
+ throw new Error(`Mapping for ${sourceName} -> ${targetName} was not found`);
621
+ }
622
+ return mapping;
623
+ }
624
+ fillStorage(mappings) {
625
+ mappings.forEach(mapping => {
626
+ const key = this.buildKeyForMapping(mapping);
627
+ if (this.mappingsStorage.has(key)) {
628
+ console.log(`WARN: duplicate drag drop mapping: ${key}`);
629
+ }
630
+ this.mappingsStorage.set(key, mapping);
631
+ });
632
+ }
633
+ buildKeyForMapping(mapping) {
634
+ return this.buildKey(mapping.sourceName, mapping.targetName);
635
+ }
636
+ buildKey(sourceName, targetName) {
637
+ return `${sourceName}->${targetName}`;
638
+ }
639
+ }
640
+
641
+ /**
642
+ * Manages the drag-and-drop process, including start, drop, and end events.
643
+ * Handles drag previews, drop validation, and dataset updates after a successful drop.
644
+ */
645
+ class AurDragDropManager {
646
+ /**
647
+ * Creates an empty instance of AurDragDropManager.
648
+ * @returns {AurDragDropManager} - An empty manager with no initialized references.
649
+ */
650
+ static empty() {
651
+ return new AurDragDropManager(undefined, [], []);
652
+ }
653
+ constructor(viewContainerRef, mappings, previewMappings) {
654
+ this.mappings = mappings;
655
+ this.previewMappings = previewMappings;
656
+ this.canDropManager = new CanDropManager(mappings);
657
+ this.previewManager = new DragPreviewManager(viewContainerRef, this.previewMappings);
658
+ this.mappingManager = new DragDropMappingManager(mappings);
659
+ }
660
+ /**
661
+ * Returns the list of all available draggable source names.
662
+ * @returns {string[]} - Array of source names.
663
+ */
664
+ get draggableSourceNames() {
665
+ return this.mappings?.map(mapping => mapping.sourceName) || [];
666
+ }
667
+ /**
668
+ * Initiates a drag operation, saving the context and showing a drag preview.
669
+ * @param {string} sourceName - The name of the drag source.
670
+ * @param {unknown[]} draggedData - The data being dragged.
671
+ * @param {DragEvent} event - The drag event.
672
+ * @throws Error if a drag is already in progress.
673
+ */
674
+ startDrag(sourceName, draggedData, event) {
675
+ this.startDragEvent = { sourceName, draggedData };
676
+ this.previewManager.showPreview(sourceName, event, draggedData);
677
+ }
678
+ /**
679
+ * Validates whether a drop is allowed on the target element by calling preventDefault.
680
+ * @param {string} targetName - The name of the target element.
681
+ * @param {DragEvent} event - The drag event.
682
+ */
683
+ canDropPreventDefault(targetName, event) {
684
+ if (!this.startDragEvent) {
685
+ // перетаскивание не начато
686
+ return;
687
+ }
688
+ this.canDropManager.dropPreventDefault(this.startDragEvent.sourceName, targetName, event);
689
+ }
690
+ /**
691
+ * Executes the drop operation on the specified target.
692
+ * @param {string} targetName - The name of the target element.
693
+ * @param {any} targetData - The data for the target element.
694
+ */
695
+ drop(targetName, targetData) {
696
+ this.dropEvent = { targetName, targetData };
697
+ }
698
+ /**
699
+ * Ends the drag operation and updates the dataset if the drop was successful.
700
+ */
701
+ endDrag() {
702
+ this.previewManager.removePreview();
703
+ if (!this.dropEvent || !this.startDragEvent) {
704
+ return;
705
+ }
706
+ const mapping = this.getMapping(this.startDragEvent.sourceName, this.dropEvent.targetName);
707
+ const dropContext = this.buildDropContext();
708
+ mapping.afterDropFn(dropContext)?.pipe(first())
709
+ .pipe(finalize(() => {
710
+ this.dropEvent = undefined;
711
+ this.startDragEvent = undefined;
712
+ })).subscribe();
713
+ }
714
+ buildDropContext() {
715
+ return {
716
+ targetName: this.dropEvent.targetName,
717
+ targetData: this.dropEvent.targetData,
718
+ sourceName: this.startDragEvent.sourceName,
719
+ sourceData: this.startDragEvent.draggedData,
720
+ };
721
+ }
722
+ getMapping(sourceName, targetName) {
723
+ return this.mappingManager.get(sourceName, targetName);
724
+ }
725
+ }
726
+
655
727
  class DragDropProvider extends AbstractProvider {
656
728
  static { this.DEFAULT_ICON_VIEW = {
657
729
  name: 'drag_handle'
@@ -668,9 +740,8 @@ class DragDropProvider extends AbstractProvider {
668
740
  // здесь заполнить конфиг значениями по умолчанию если такие появятся
669
741
  this.manager = dragCfg?.manager ?? AurDragDropManager.empty();
670
742
  this.multiple = dragCfg?.multiple ?? false;
671
- this.draggable = (new Set(this.manager.draggableTableNames)).has(tableName);
743
+ this.draggable = (new Set(this.manager.draggableSourceNames)).has(tableName);
672
744
  this.dragIconView = dragCfg?.dragIcon ?? DragDropProvider.DEFAULT_ICON_VIEW;
673
- this.previewConstructor = this.manager.getPreviewComponent(this.tableName);
674
745
  }
675
746
  addColumn(columns) {
676
747
  if (this.notHasKey(this.COLUMN_NAME, columns) && this.draggable) {
@@ -708,23 +779,23 @@ class DragProviderDummy extends DragDropProvider {
708
779
  }
709
780
 
710
781
  class IconViewComponent {
711
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: IconViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
712
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: IconViewComponent, selector: "lib-icon-view", inputs: { view: "view" }, ngImport: i0, template: "<div [ngClass]=\"{'circle': view?.wrapper}\"\r\n [style.background-color]=\"view?.wrapper?.color\">\r\n <mat-icon *ngIf=\"view && view?.display !== 'none'\"\r\n [matTooltip]=\"view?.tooltip?.toString() || ''\"\r\n [style.color]=\"view?.color\">\r\n {{ view?.name }}\r\n </mat-icon>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
782
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: IconViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
783
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: IconViewComponent, isStandalone: false, selector: "lib-icon-view", inputs: { view: "view" }, ngImport: i0, template: "<div [ngClass]=\"{'circle': view?.wrapper}\"\r\n [style.background-color]=\"view?.wrapper?.color\">\r\n <mat-icon *ngIf=\"view && view?.display !== 'none'\"\r\n [matTooltip]=\"view?.tooltip?.toString() || ''\"\r\n [style.color]=\"view?.color\">\r\n {{ view?.name }}\r\n </mat-icon>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
713
784
  }
714
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: IconViewComponent, decorators: [{
785
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: IconViewComponent, decorators: [{
715
786
  type: Component,
716
- args: [{ selector: 'lib-icon-view', template: "<div [ngClass]=\"{'circle': view?.wrapper}\"\r\n [style.background-color]=\"view?.wrapper?.color\">\r\n <mat-icon *ngIf=\"view && view?.display !== 'none'\"\r\n [matTooltip]=\"view?.tooltip?.toString() || ''\"\r\n [style.color]=\"view?.color\">\r\n {{ view?.name }}\r\n </mat-icon>\r\n</div>\r\n" }]
787
+ args: [{ selector: 'lib-icon-view', standalone: false, template: "<div [ngClass]=\"{'circle': view?.wrapper}\"\r\n [style.background-color]=\"view?.wrapper?.color\">\r\n <mat-icon *ngIf=\"view && view?.display !== 'none'\"\r\n [matTooltip]=\"view?.tooltip?.toString() || ''\"\r\n [style.color]=\"view?.color\">\r\n {{ view?.name }}\r\n </mat-icon>\r\n</div>\r\n" }]
717
788
  }], propDecorators: { view: [{
718
789
  type: Input
719
790
  }] } });
720
791
 
721
792
  class ColumnViewComponent {
722
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ColumnViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
723
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: ColumnViewComponent, selector: "lib-column-view", inputs: { config: "config", value: "value" }, ngImport: i0, template: "<div class=\"align-container\">\r\n\r\n <lib-icon-view [view]=\"config?.icon\">\r\n </lib-icon-view>\r\n\r\n <img *ngIf=\"config?.image?.src\"\r\n [src]=\"config?.image?.src\"\r\n [style.height]=\"config?.image?.height\"\r\n [style.width]=\"config?.image?.width\"\r\n alt=\"img\">\r\n\r\n <span *ngIf=\"config?.text?.show != false\"\r\n [matTooltip]=\"config?.text?.tooltip?.toString() || ''\">\r\n {{ value }}\r\n </span>\r\n</div>\r\n", styles: [".align-container{display:flex;align-items:center}span{margin-left:4px}.circle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: IconViewComponent, selector: "lib-icon-view", inputs: ["view"] }] }); }
793
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: ColumnViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
794
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: ColumnViewComponent, isStandalone: false, selector: "lib-column-view", inputs: { config: "config", value: "value" }, ngImport: i0, template: "<div class=\"align-container\">\r\n\r\n <lib-icon-view [view]=\"config?.icon\">\r\n </lib-icon-view>\r\n\r\n <img *ngIf=\"config?.image?.src\"\r\n [src]=\"config?.image?.src\"\r\n [style.height]=\"config?.image?.height\"\r\n [style.width]=\"config?.image?.width\"\r\n alt=\"img\">\r\n\r\n <span *ngIf=\"config?.text?.show != false\"\r\n [matTooltip]=\"config?.text?.tooltip?.toString() || ''\">\r\n {{ value }}\r\n </span>\r\n</div>\r\n", styles: [".align-container{display:flex;align-items:center}span{margin-left:4px}.circle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: IconViewComponent, selector: "lib-icon-view", inputs: ["view"] }] }); }
724
795
  }
725
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ColumnViewComponent, decorators: [{
796
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: ColumnViewComponent, decorators: [{
726
797
  type: Component,
727
- args: [{ selector: 'lib-column-view', template: "<div class=\"align-container\">\r\n\r\n <lib-icon-view [view]=\"config?.icon\">\r\n </lib-icon-view>\r\n\r\n <img *ngIf=\"config?.image?.src\"\r\n [src]=\"config?.image?.src\"\r\n [style.height]=\"config?.image?.height\"\r\n [style.width]=\"config?.image?.width\"\r\n alt=\"img\">\r\n\r\n <span *ngIf=\"config?.text?.show != false\"\r\n [matTooltip]=\"config?.text?.tooltip?.toString() || ''\">\r\n {{ value }}\r\n </span>\r\n</div>\r\n", styles: [".align-container{display:flex;align-items:center}span{margin-left:4px}.circle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%}\n"] }]
798
+ args: [{ selector: 'lib-column-view', standalone: false, template: "<div class=\"align-container\">\r\n\r\n <lib-icon-view [view]=\"config?.icon\">\r\n </lib-icon-view>\r\n\r\n <img *ngIf=\"config?.image?.src\"\r\n [src]=\"config?.image?.src\"\r\n [style.height]=\"config?.image?.height\"\r\n [style.width]=\"config?.image?.width\"\r\n alt=\"img\">\r\n\r\n <span *ngIf=\"config?.text?.show != false\"\r\n [matTooltip]=\"config?.text?.tooltip?.toString() || ''\">\r\n {{ value }}\r\n </span>\r\n</div>\r\n", styles: [".align-container{display:flex;align-items:center}span{margin-left:4px}.circle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%}\n"] }]
728
799
  }], propDecorators: { config: [{
729
800
  type: Input
730
801
  }], value: [{
@@ -735,13 +806,14 @@ class DataPropertyGetterPipe {
735
806
  transform(object, keyName, ...args) {
736
807
  return object[keyName];
737
808
  }
738
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DataPropertyGetterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
739
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: DataPropertyGetterPipe, name: "dataPropertyGetter" }); }
809
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: DataPropertyGetterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
810
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.17", ngImport: i0, type: DataPropertyGetterPipe, isStandalone: false, name: "dataPropertyGetter" }); }
740
811
  }
741
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DataPropertyGetterPipe, decorators: [{
812
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: DataPropertyGetterPipe, decorators: [{
742
813
  type: Pipe,
743
814
  args: [{
744
- name: 'dataPropertyGetter'
815
+ name: 'dataPropertyGetter',
816
+ standalone: false
745
817
  }]
746
818
  }] });
747
819
 
@@ -772,9 +844,9 @@ class NgxAurMatTableComponent {
772
844
  this._customDisplayColumnsEnabled = columns && columns.length > 0;
773
845
  }
774
846
  }
775
- constructor(viewContainerRef, zone) {
847
+ constructor(viewContainerRef, cdr) {
776
848
  this.viewContainerRef = viewContainerRef;
777
- this.zone = zone;
849
+ this.cdr = cdr;
778
850
  this.expandedStateEnum = ExpandState;
779
851
  this.EXTRA_HEADER_CELL_TOP_SUFFIX = '_extra_header_cell_top';
780
852
  this.EXTRA_HEADER_CELL_BOTTOM_SUFFIX = '_extra_header_cell_bottom';
@@ -904,6 +976,7 @@ class NgxAurMatTableComponent {
904
976
  prepareTableData(initSelection = []) {
905
977
  this.initTable();
906
978
  this.initCustomSortFunctionsMap();
979
+ this.removeWrongKeysFromDisplayColumns();
907
980
  if (!this.paginatorState) {
908
981
  // если пагинатор не серверный то его я здесь инициализирую иначе при обновлении данных пагинатор ломается и отображаются все элементы
909
982
  this.initPaginator();
@@ -928,6 +1001,10 @@ class NgxAurMatTableComponent {
928
1001
  this._displayExtraHeaderTopCell = this._displayColumns.map(col => col + this.EXTRA_HEADER_CELL_TOP_SUFFIX);
929
1002
  this._displayExtraHeaderBottomCell = this._displayColumns.map(col => col + this.EXTRA_HEADER_CELL_BOTTOM_SUFFIX);
930
1003
  }
1004
+ removeWrongKeysFromDisplayColumns() {
1005
+ const whiteKeys = new Set(this.tableConfig.columnsCfg.map(cfg => cfg.key));
1006
+ this.displayColumns = this._displayColumns.filter(actual => whiteKeys.has(actual) || actual.startsWith('tbl_'));
1007
+ }
931
1008
  initCustomSortFunctionsMap() {
932
1009
  this.tableConfig.columnsCfg
933
1010
  .filter(c => c.sort && c.sort.enable && c.sort.customSort)
@@ -1021,28 +1098,16 @@ class NgxAurMatTableComponent {
1021
1098
  this.dragDropProvider.manager.startDrag(this._tableName, [row], $event);
1022
1099
  }
1023
1100
  onDragOver($event) {
1024
- this.dragDropProvider.manager.canDrop(this._tableName, $event);
1101
+ this.dragDropProvider.manager.canDropPreventDefault(this._tableName, $event);
1025
1102
  }
1026
1103
  onDrop($event, row) {
1027
- this.dragDropProvider.manager.onDrop(this.tableDataSource.data, this._tableName, row)
1028
- .subscribe(rows => {
1029
- this.tableData = rows.map(row => row.rowSrc);
1030
- this.refreshTable();
1031
- });
1104
+ this.dragDropProvider.manager.drop(this._tableName, row);
1032
1105
  }
1033
1106
  onDragEnd($event, row) {
1034
- let aurEndDragEvent = this.dragDropProvider.manager.endDrag(this.tableDataSource.data);
1035
- if (aurEndDragEvent.isValidDrop) {
1036
- aurEndDragEvent.afterDataSet?.subscribe(rows => {
1037
- this.zone.run(() => {
1038
- this.tableData = rows.map(row => row.rowSrc);
1039
- this.refreshTable();
1040
- });
1041
- });
1042
- }
1107
+ this.dragDropProvider.manager.endDrag();
1043
1108
  }
1044
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxAurMatTableComponent, deps: [{ token: i0.ViewContainerRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
1045
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.3", type: NgxAurMatTableComponent, selector: "aur-mat-table", inputs: { displayColumns: "displayColumns", extraHeaderCellTopTemplate: "extraHeaderCellTopTemplate", extraHeaderCellBottomTemplate: "extraHeaderCellBottomTemplate", tableConfig: "tableConfig", tableData: "tableData", extendedRowTemplate: "extendedRowTemplate", paginatorState: "paginatorState", isTableBodyHide: "isTableBodyHide", highlight: "highlight" }, outputs: { sort: "sort", pageChange: "pageChange", onRowAction: "onRowAction", selected: "selected", onSelect: "onSelect", onDeselect: "onDeselect", onSelectedRowsAction: "onSelectedRowsAction", selectionModel: "selectionModel", onRowClick: "onRowClick", onFilter: "onFilter", columnOffsets: "columnOffsets", onHeaderButton: "onHeaderButton" }, queries: [{ propertyName: "subFooterRowTemplate", first: true, predicate: NgxTableSubFooterRowDirective, descendants: true }], viewQueries: [{ propertyName: "table", first: true, predicate: ["table"], descendants: true, read: ElementRef }, { propertyName: "matPaginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "matSort", first: true, predicate: MatSort, descendants: true, static: true }, { propertyName: "rows", predicate: ["rowLink"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: "<div class=\"aur-mat-table\"\r\n [ngClass]=\"{'bottom-pagination': paginationProvider.isEnabled && paginationProvider.position === 'bottom'}\">\r\n <ng-container>\r\n <!-- Filter -->\r\n <ng-container *ngIf=\"tableConfig.filterCfg?.enable ?? false\">\r\n <div class=\"search-container\">\r\n <ng-container>\r\n <ng-content select=\"[ngxAurTableSearchPrefix]\"></ng-content>\r\n </ng-container>\r\n <mat-form-field appearance=\"outline\" subscriptSizing=\"dynamic\">\r\n <mat-label>{{ tableConfig.filterCfg?.label }}</mat-label>\r\n <input matInput (keyup)=\"applySearchFilter($event)\"\r\n placeholder=\"{{tableConfig.filterCfg?.placeholder}}\"\r\n style=\"font-size: 18px;\">\r\n <mat-icon matPrefix>search</mat-icon>\r\n </mat-form-field>\r\n <ng-container>\r\n <ng-content select=\"[ngxAurTableSearchSuffix]\"></ng-content>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n\r\n\r\n <div class=\"table-container\"\r\n [ngClass]=\"{'bottom-pagination': paginationProvider.isEnabled && paginationProvider.position === 'bottom'}\">\r\n <mat-icon *ngIf=\"headerButtonProvider.isEnabled\"\r\n class=\"table-settings-button\"\r\n [style.color]=\"headerButtonProvider.color\"\r\n [style.background-color]=\"headerButtonProvider.background\"\r\n (click)=\"onHeaderButton.emit($event)\">\r\n {{ headerButtonProvider.icon }}\r\n </mat-icon>\r\n\r\n <!-- Table -->\r\n <table #table mat-table matSort\r\n [multiTemplateDataRows]=\"extendedRowTemplate !== null\"\r\n [dataSource]=\"tableDataSource\"\r\n (matSortChange)=\"sortTable($event)\"\r\n [style.height]=\"tableConfig.tableView?.height\"\r\n [style.max-height]=\"tableConfig.tableView?.maxHeight\"\r\n [style.min-height]=\"tableConfig.tableView?.minHeight\"\r\n [ngClass]=\"{'hide-table-body': isTableBodyHide}\">\r\n\r\n\r\n <!-- drag-column-->\r\n <ng-container *ngIf=\"dragDropProvider.isEnabled && dragDropProvider.draggable\" [matColumnDef]=\"dragDropProvider.COLUMN_NAME\">\r\n\r\n <th mat-header-cell *matHeaderCellDef>\r\n </th>\r\n\r\n <td mat-cell *matCellDef=\"let element;\" class=\"drag-column\">\r\n <lib-icon-view draggable=\"true\"\r\n class=\"drag-icon\"\r\n [view]=\"dragDropProvider.dragIconView\"\r\n (dragstart)=\"onDragStart($event, element)\"\r\n (dragend)=\"onDragEnd($event, element)\">\r\n </lib-icon-view>\r\n\r\n </td>\r\n\r\n <td mat-footer-cell *matFooterCellDef>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- index-column-->\r\n <ng-container *ngIf=\"indexProvider.isEnabled\" [matColumnDef]=\"indexProvider.COLUMN_NAME\">\r\n\r\n <th mat-header-cell *matHeaderCellDef>\r\n <lib-column-view [config]=\"indexProvider.headerView\">\r\n {{ indexProvider.name }}\r\n </lib-column-view>\r\n </th>\r\n\r\n <td mat-cell *matCellDef=\"let element;\">\r\n {{ element.id + indexProvider.offset }}\r\n </td>\r\n\r\n <td mat-footer-cell *matFooterCellDef>\r\n {{ totalRowProvider.totals.get(indexProvider.COLUMN_NAME) || '' }}\r\n </td>\r\n </ng-container>\r\n\r\n <!-- selection-column-->\r\n <ng-container [matColumnDef]=\"selectionProvider.COLUMN_NAME\" *ngIf=\"selectionProvider.isEnabled\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <div class=\"flex-container\">\r\n <mat-checkbox (change)=\"$event ? masterToggle() : null\"\r\n [checked]=\"selectionProvider.selection.hasValue() && isAllSelected()\"\r\n [indeterminate]=\"selectionProvider.selection.hasValue() && !isAllSelected()\">\r\n </mat-checkbox>\r\n <div\r\n *ngIf=\"tableConfig.selectionCfg?.showSelectedCount && selectionProvider.selection.hasValue()\">\r\n {{ selectionProvider.selection.selected.length }}\r\n <span\r\n *ngIf=\"tableConfig.selectionCfg?.showTotalCount !== false\">/{{ paginatorState?.length ? paginatorState?.length : tableDataSource.filteredData.length }}</span>\r\n </div>\r\n\r\n <div *ngIf=\"selectionProvider.selection.hasValue() && tableConfig?.selectionCfg?.actions\">\r\n <ng-container *ngFor=\"let action of tableConfig.selectionCfg!.actions\">\r\n <button mat-icon-button\r\n (click)=\"emitSelectedRowsAction(action.action, selectionProvider.selection.selected)\"\r\n [matTooltip]=\"action.icon.tooltip || ''\"\r\n *ngIf=\"action.display !== 'none'\">\r\n <mat-icon [style.color]=\"action.icon.color\">\r\n {{ action.icon.name }}\r\n </mat-icon>\r\n </button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n </th>\r\n <td mat-cell *matCellDef=\"let row\"\r\n (click)=\"$event.stopPropagation(); selectionProvider.selection.toggle(castSrc(row).rowSrc)\">\r\n <mat-checkbox (click)=\"$event.stopPropagation()\"\r\n (change)=\"$event ? selectionProvider.selection.toggle(castSrc(row).rowSrc) : null\"\r\n [checked]=\"selectionProvider.selection.isSelected(castSrc(row).rowSrc)\">\r\n </mat-checkbox>\r\n </td>\r\n\r\n <td mat-footer-cell *matFooterCellDef>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- action column -->\r\n <ng-container *ngIf=\"rowActionsProvider.isEnabled\" [matColumnDef]=\"rowActionsProvider.COLUMN_NAME\">\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef=\"let element\" (click)=\"$event.stopPropagation()\" style=\"cursor: default\">\r\n <ng-container *ngFor=\"let action of rowActionsProvider.actionView.get(element.id)\">\r\n <button mat-icon-button\r\n (click)=\"emitRowAction(action.action, element.rowSrc, $event)\"\r\n [matTooltip]=\"action.icon.tooltip || ''\"\r\n *ngIf=\"action.display !== 'none'\">\r\n <mat-icon [style.color]=\"action.icon.color\">\r\n {{ action.icon.name }}\r\n </mat-icon>\r\n </button>\r\n </ng-container>\r\n </td>\r\n\r\n <ng-container *ngTemplateOutlet=\"footerCellTemplate; context: {$implicit: rowActionsProvider.COLUMN_NAME}\">\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!-- value-icon-->\r\n <ng-container *ngFor=\"let columnConfig of tableConfig.columnsCfg\" [matColumnDef]=\"columnConfig.key\">\r\n\r\n <!-- if sortable column header -->\r\n <ng-container *ngIf=\"columnConfig.sort && columnConfig.sort.enable; else notSortable\">\r\n <th mat-header-cell *matHeaderCellDef [mat-sort-header]=\"columnConfig.key\"\r\n [arrowPosition]=\"columnConfig.sort.position === 'right' ? 'before' : 'after'\">\r\n <ng-container *ngTemplateOutlet=\"headerValue\"></ng-container>\r\n </th>\r\n </ng-container>\r\n\r\n <!-- else not sortable -->\r\n <ng-template #notSortable>\r\n <th mat-header-cell *matHeaderCellDef>\r\n <ng-container *ngTemplateOutlet=\"headerValue\"></ng-container>\r\n </th>\r\n </ng-template>\r\n\r\n <!-- header value-->\r\n <ng-template #headerValue>\r\n <lib-column-view [config]=\"columnConfig.headerView\"\r\n [value]=\"columnConfig.name\">\r\n </lib-column-view>\r\n </ng-template>\r\n\r\n <!-- column value \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043A\u043E\u043B\u043E\u043D\u043E\u043A \u043D\u0443\u0436\u043D\u043E \u0447\u0435\u0440\u0435\u0437 getView(rowIndex, columnConfig.key) \u0442\u0430\u043C \u043D\u0430\u0445\u043E\u0434\u044F\u0442\u0441\u044F \u0443\u0436\u0435\r\n \u043F\u043E\u0434\u0433\u043E\u0442\u043E\u0432\u043B\u0435\u043D\u043D\u044B\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F-->\r\n <td mat-cell *matCellDef=\"let element;\">\r\n <lib-column-view\r\n [config]=\"tableView[element.id]?.get(columnConfig.key)\"\r\n [value]=\"element | dataPropertyGetter: columnConfig.key\">\r\n </lib-column-view>\r\n </td>\r\n\r\n <td mat-footer-cell *matFooterCellDef>\r\n {{ totalRowProvider.totals.get(columnConfig.key) || '' }}\r\n </td>\r\n\r\n </ng-container>\r\n\r\n <!-- extra header top cell-->\r\n <ng-container *ngFor=\"let extraTopCell of _displayExtraHeaderTopCell; let index = index\"\r\n [matColumnDef]=\"extraTopCell\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <ng-container\r\n *ngTemplateOutlet=\"extraHeaderCellTopTemplate; context: {key: extraTopCell.replace(EXTRA_HEADER_CELL_TOP_SUFFIX, ''), index: index}\"></ng-container>\r\n </th>\r\n </ng-container>\r\n\r\n\r\n <!-- extra header bottom cell-->\r\n <ng-container *ngFor=\"let extraBottomCell of _displayExtraHeaderBottomCell; let index = index\"\r\n [matColumnDef]=\"extraBottomCell\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <ng-container\r\n *ngTemplateOutlet=\"extraHeaderCellBottomTemplate; context: {key: extraBottomCell.replace(EXTRA_HEADER_CELL_BOTTOM_SUFFIX, ''), index: index}\"></ng-container>\r\n </th>\r\n </ng-container>\r\n\r\n <!-- extra header top row-->\r\n <ng-container *ngIf=\"extraHeaderCellTopTemplate\">\r\n <tr mat-header-row *matHeaderRowDef=\"_displayExtraHeaderTopCell; sticky: this.tableConfig.stickyCfg?.header\"\r\n class=\"extra-header-top-row\">\r\n </tr>\r\n </ng-container>\r\n\r\n <!-- header row-->\r\n <tr mat-header-row *matHeaderRowDef=\"_displayColumns; sticky: this.tableConfig.stickyCfg?.header\">\r\n </tr>\r\n\r\n <!-- extra header bottom row -->\r\n <ng-container *ngIf=\"extraHeaderCellBottomTemplate\">\r\n <tr mat-header-row\r\n *matHeaderRowDef=\"_displayExtraHeaderBottomCell; sticky: this.tableConfig.stickyCfg?.header\">\r\n </tr>\r\n </ng-container>\r\n\r\n <tr mat-row #rowLink\r\n (dragover)=\"onDragOver($event)\"\r\n (drop)=\"onDrop($event, row)\"\r\n *matRowDef=\"let row; columns: _displayColumns;\"\r\n (click)=\"rowClick(row)\"\r\n [ngClass]=\"{'pointer': tableConfig.clickCfg?.pointer || false, 'new-color': highlighted===row.rowSrc && tableConfig?.clickCfg?.highlightClicked?.color}\"\r\n [ngStyle]=\"{\r\n 'color': highlighted===row.rowSrc? tableConfig?.clickCfg?.highlightClicked?.color : undefined,\r\n 'background-color': highlighted === row.rowSrc? tableConfig?.clickCfg?.highlightClicked?.background : undefined,\r\n 'border': highlighted === row.rowSrc? tableConfig?.clickCfg?.highlightClicked?.border : undefined\r\n }\">\r\n </tr>\r\n\r\n <!--expanded-row-->\r\n <ng-container matColumnDef=\"expandedRow\">\r\n <td mat-cell class=\"expanded-cell\" *matCellDef=\"let element\" [attr.colspan]=\"_displayColumns.length\"\r\n style=\"padding-right: 0!important;\">\r\n <div class=\"row-detail\"\r\n [@detailExpand]=\"element.rowSrc === highlighted ? expandedStateEnum.EXPANDED : expandedStateEnum.COLLAPSED\">\r\n <!-- lazy-load of details -->\r\n <ng-container *ngIf=\"element.rowSrc === highlighted\">\r\n <ng-container *ngTemplateOutlet=\"extendedRowTemplate; context: {$implicit: element}\"></ng-container>\r\n </ng-container>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"extendedRowTemplate\">\r\n <tr mat-row class=\"expanded-row\" *matRowDef=\"let row; columns: ['expandedRow']\"></tr>\r\n </ng-container>\r\n <!--expanded-row-->\r\n\r\n <ng-container *ngIf=\"totalRowProvider.isEnabled\">\r\n <tr mat-footer-row *matFooterRowDef=\"_displayColumns; sticky: this.tableConfig.stickyCfg?.total\"\r\n [style]=\"totalRowProvider.style\"></tr>\r\n </ng-container>\r\n\r\n <!--sub-footer-row-->\r\n <ng-container matColumnDef=\"subFooterRow\">\r\n <td mat-footer-cell *matFooterCellDef [attr.colspan]=\"_displayColumns.length\">\r\n <ng-container>\r\n <ng-content select=\"[ngxAurTableSubFooterRow]\"></ng-content>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"subFooterRowTemplate\">\r\n <tr mat-footer-row *matFooterRowDef=\"['subFooterRow']; sticky: this.tableConfig.stickyCfg?.subFooter\"></tr>\r\n </ng-container>\r\n <!-- sub-footer-row END-->\r\n </table>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- Pagination -->\r\n @if (this.paginationProvider.isEnabled) {\r\n <mat-paginator [ngClass]=\"{'hidePaginator': isTableBodyHide}\"\r\n [pageSizeOptions]=\"paginationProvider.sizes\"\r\n [pageSize]=\"paginationProvider.size\"\r\n [style]=\"tableConfig?.pageableCfg?.style\"\r\n [length]=\"paginatorState?.length\"\r\n [pageIndex]=\"paginatorState?.pageIndex\"\r\n (page)=\"pageChange.emit($event)\"\r\n showFirstLastButtons>\r\n </mat-paginator>\r\n }\r\n</div>\r\n\r\n<ng-template #footerCellTemplate let-columnName>\r\n <td mat-footer-cell *matFooterCellDef>\r\n {{ totalRowProvider.totals.get(columnName) || '' }}\r\n </td>\r\n</ng-template>\r\n", styles: [".aur-mat-table{display:flex;flex-direction:column}.aur-mat-table.bottom-pagination{height:100%}.aur-mat-table table{border-collapse:collapse}.aur-mat-table .table-container{position:relative}.aur-mat-table .table-container.bottom-pagination{flex-grow:1;overflow:auto}.aur-mat-table th,td{padding-right:4px!important;padding-left:4px!important}.aur-mat-table .new-color td.mat-mdc-cell,.aur-mat-table .new-color td.mat-mdc-footer-cell{color:inherit}.aur-mat-table mat-form-field{width:100%}.aur-mat-table .text-right{text-align:right!important}.aur-mat-table .pointer:hover{background-color:#f2f2f2;cursor:pointer}.aur-mat-table .flex-container{display:flex;align-items:center}.aur-mat-table .expanded-row{height:0}.aur-mat-table .expanded-row .expanded-cell{padding-right:0!important;padding-left:0!important}.aur-mat-table .row-detail{overflow:hidden;display:flex}.aur-mat-table .clear-bottom-border{border-bottom:none}.aur-mat-table .table-settings-button{position:absolute;right:4px;top:12px;cursor:pointer;border-radius:4px;padding-bottom:2px;padding-top:2px;z-index:9999999999}.mat-mdc-header-row th:last-child{padding-right:25px!important}.aur-mat-table .search-container{display:flex;gap:8px;align-items:center}.aur-mat-table .extra-header-top-row th{border-bottom:none}.aur-mat-table .drag-icon{cursor:grab}.hide-table-body tr:not(.mat-mdc-header-row){display:none!important}.hidePaginator{display:none}.aur-mat-table .drag-column{padding-left:8px;padding-right:8px;width:35px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i3$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i3$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i3$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i3$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i3$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i3$1.MatFooterCellDef, selector: "[matFooterCellDef]" }, { kind: "directive", type: i3$1.MatFooterRowDef, selector: "[matFooterRowDef]", inputs: ["matFooterRowDef", "matFooterRowDefSticky"] }, { kind: "directive", type: i3$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i3$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "directive", type: i3$1.MatFooterCell, selector: "mat-footer-cell, td[mat-footer-cell]" }, { kind: "component", type: i3$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i3$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i3$1.MatFooterRow, selector: "mat-footer-row, tr[mat-footer-row]", exportAs: ["matFooterRow"] }, { kind: "component", type: i4.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatLabel, selector: "mat-label" }, { kind: "directive", type: i7.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i8.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i8.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i10.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: ColumnViewComponent, selector: "lib-column-view", inputs: ["config", "value"] }, { kind: "component", type: IconViewComponent, selector: "lib-icon-view", inputs: ["view"] }, { kind: "pipe", type: DataPropertyGetterPipe, name: "dataPropertyGetter" }], animations: [
1109
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: NgxAurMatTableComponent, deps: [{ token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
1110
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.17", type: NgxAurMatTableComponent, isStandalone: false, selector: "aur-mat-table", inputs: { displayColumns: "displayColumns", extraHeaderCellTopTemplate: "extraHeaderCellTopTemplate", extraHeaderCellBottomTemplate: "extraHeaderCellBottomTemplate", tableConfig: "tableConfig", tableData: "tableData", extendedRowTemplate: "extendedRowTemplate", paginatorState: "paginatorState", isTableBodyHide: "isTableBodyHide", highlight: "highlight" }, outputs: { sort: "sort", pageChange: "pageChange", onRowAction: "onRowAction", selected: "selected", onSelect: "onSelect", onDeselect: "onDeselect", onSelectedRowsAction: "onSelectedRowsAction", selectionModel: "selectionModel", onRowClick: "onRowClick", onFilter: "onFilter", columnOffsets: "columnOffsets", onHeaderButton: "onHeaderButton" }, queries: [{ propertyName: "subFooterRowTemplate", first: true, predicate: NgxTableSubFooterRowDirective, descendants: true }], viewQueries: [{ propertyName: "table", first: true, predicate: ["table"], descendants: true, read: ElementRef }, { propertyName: "matPaginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "matSort", first: true, predicate: MatSort, descendants: true, static: true }, { propertyName: "rows", predicate: ["rowLink"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: "<div class=\"aur-mat-table\"\r\n [ngClass]=\"{'bottom-pagination': paginationProvider.isEnabled && paginationProvider.position === 'bottom'}\">\r\n <ng-container>\r\n <!-- Filter -->\r\n <ng-container *ngIf=\"tableConfig.filterCfg?.enable ?? false\">\r\n <div class=\"search-container\">\r\n <ng-container>\r\n <ng-content select=\"[ngxAurTableSearchPrefix]\"></ng-content>\r\n </ng-container>\r\n <mat-form-field appearance=\"outline\" subscriptSizing=\"dynamic\">\r\n <mat-label>{{ tableConfig.filterCfg?.label }}</mat-label>\r\n <input matInput (keyup)=\"applySearchFilter($event)\"\r\n placeholder=\"{{tableConfig.filterCfg?.placeholder}}\"\r\n style=\"font-size: 18px;\">\r\n <mat-icon matPrefix>search</mat-icon>\r\n </mat-form-field>\r\n <ng-container>\r\n <ng-content select=\"[ngxAurTableSearchSuffix]\"></ng-content>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n\r\n\r\n <div class=\"table-container\"\r\n [ngClass]=\"{'bottom-pagination': paginationProvider.isEnabled && paginationProvider.position === 'bottom'}\">\r\n <mat-icon *ngIf=\"headerButtonProvider.isEnabled\"\r\n class=\"table-settings-button\"\r\n [style.color]=\"headerButtonProvider.color\"\r\n [style.background-color]=\"headerButtonProvider.background\"\r\n (click)=\"onHeaderButton.emit($event)\">\r\n {{ headerButtonProvider.icon }}\r\n </mat-icon>\r\n\r\n <!-- Table -->\r\n <table #table mat-table matSort\r\n [multiTemplateDataRows]=\"extendedRowTemplate !== null\"\r\n [dataSource]=\"tableDataSource\"\r\n (matSortChange)=\"sortTable($event)\"\r\n [style.height]=\"tableConfig.tableView?.height\"\r\n [style.max-height]=\"tableConfig.tableView?.maxHeight\"\r\n [style.min-height]=\"tableConfig.tableView?.minHeight\"\r\n [ngClass]=\"{'hide-table-body': isTableBodyHide}\">\r\n\r\n\r\n <!-- drag-column-->\r\n <ng-container *ngIf=\"dragDropProvider.isEnabled && dragDropProvider.draggable\" [matColumnDef]=\"dragDropProvider.COLUMN_NAME\">\r\n\r\n <th mat-header-cell *matHeaderCellDef>\r\n </th>\r\n\r\n <td mat-cell *matCellDef=\"let element;\" class=\"drag-column\">\r\n <lib-icon-view draggable=\"true\"\r\n class=\"drag-icon\"\r\n [view]=\"dragDropProvider.dragIconView\"\r\n (dragstart)=\"onDragStart($event, element)\"\r\n (dragend)=\"onDragEnd($event, element)\">\r\n </lib-icon-view>\r\n\r\n </td>\r\n\r\n <td mat-footer-cell *matFooterCellDef>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- index-column-->\r\n <ng-container *ngIf=\"indexProvider.isEnabled\" [matColumnDef]=\"indexProvider.COLUMN_NAME\">\r\n\r\n <th mat-header-cell *matHeaderCellDef>\r\n <lib-column-view [config]=\"indexProvider.headerView\">\r\n {{ indexProvider.name }}\r\n </lib-column-view>\r\n </th>\r\n\r\n <td mat-cell *matCellDef=\"let element;\">\r\n {{ element.id + indexProvider.offset }}\r\n </td>\r\n\r\n <td mat-footer-cell *matFooterCellDef>\r\n {{ totalRowProvider.totals.get(indexProvider.COLUMN_NAME) || '' }}\r\n </td>\r\n </ng-container>\r\n\r\n <!-- selection-column-->\r\n <ng-container [matColumnDef]=\"selectionProvider.COLUMN_NAME\" *ngIf=\"selectionProvider.isEnabled\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <div class=\"flex-container\">\r\n <mat-checkbox (change)=\"$event ? masterToggle() : null\"\r\n [checked]=\"selectionProvider.selection.hasValue() && isAllSelected()\"\r\n [indeterminate]=\"selectionProvider.selection.hasValue() && !isAllSelected()\">\r\n </mat-checkbox>\r\n <div\r\n *ngIf=\"tableConfig.selectionCfg?.showSelectedCount && selectionProvider.selection.hasValue()\">\r\n {{ selectionProvider.selection.selected.length }}\r\n <span\r\n *ngIf=\"tableConfig.selectionCfg?.showTotalCount !== false\">/{{ paginatorState?.length ? paginatorState?.length : tableDataSource.filteredData.length }}</span>\r\n </div>\r\n\r\n <div *ngIf=\"selectionProvider.selection.hasValue() && tableConfig?.selectionCfg?.actions\">\r\n <ng-container *ngFor=\"let action of tableConfig.selectionCfg!.actions\">\r\n <button mat-icon-button\r\n (click)=\"emitSelectedRowsAction(action.action, selectionProvider.selection.selected)\"\r\n [matTooltip]=\"action.icon.tooltip || ''\"\r\n *ngIf=\"action.display !== 'none'\">\r\n <mat-icon [style.color]=\"action.icon.color\">\r\n {{ action.icon.name }}\r\n </mat-icon>\r\n </button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n </th>\r\n <td mat-cell *matCellDef=\"let row\"\r\n (click)=\"$event.stopPropagation(); selectionProvider.selection.toggle(castSrc(row).rowSrc)\">\r\n <mat-checkbox (click)=\"$event.stopPropagation()\"\r\n (change)=\"$event ? selectionProvider.selection.toggle(castSrc(row).rowSrc) : null\"\r\n [checked]=\"selectionProvider.selection.isSelected(castSrc(row).rowSrc)\">\r\n </mat-checkbox>\r\n </td>\r\n\r\n <td mat-footer-cell *matFooterCellDef>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- action column -->\r\n <ng-container *ngIf=\"rowActionsProvider.isEnabled\" [matColumnDef]=\"rowActionsProvider.COLUMN_NAME\">\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef=\"let element\" (click)=\"$event.stopPropagation()\" style=\"cursor: default\">\r\n <ng-container *ngFor=\"let action of rowActionsProvider.actionView.get(element.id)\">\r\n <button mat-icon-button\r\n (click)=\"emitRowAction(action.action, element.rowSrc, $event)\"\r\n [matTooltip]=\"action.icon.tooltip || ''\"\r\n *ngIf=\"action.display !== 'none'\">\r\n <mat-icon [style.color]=\"action.icon.color\">\r\n {{ action.icon.name }}\r\n </mat-icon>\r\n </button>\r\n </ng-container>\r\n </td>\r\n\r\n <ng-container *ngTemplateOutlet=\"footerCellTemplate; context: {$implicit: rowActionsProvider.COLUMN_NAME}\">\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!-- value-icon-->\r\n <ng-container *ngFor=\"let columnConfig of tableConfig.columnsCfg\" [matColumnDef]=\"columnConfig.key\">\r\n\r\n <!-- if sortable column header -->\r\n <ng-container *ngIf=\"columnConfig.sort && columnConfig.sort.enable; else notSortable\">\r\n <th mat-header-cell *matHeaderCellDef [mat-sort-header]=\"columnConfig.key\"\r\n [arrowPosition]=\"columnConfig.sort.position === 'right' ? 'before' : 'after'\">\r\n <ng-container *ngTemplateOutlet=\"headerValue\"></ng-container>\r\n </th>\r\n </ng-container>\r\n\r\n <!-- else not sortable -->\r\n <ng-template #notSortable>\r\n <th mat-header-cell *matHeaderCellDef>\r\n <ng-container *ngTemplateOutlet=\"headerValue\"></ng-container>\r\n </th>\r\n </ng-template>\r\n\r\n <!-- header value-->\r\n <ng-template #headerValue>\r\n <lib-column-view [config]=\"columnConfig.headerView\"\r\n [value]=\"columnConfig.name\">\r\n </lib-column-view>\r\n </ng-template>\r\n\r\n <!-- column value \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043A\u043E\u043B\u043E\u043D\u043E\u043A \u043D\u0443\u0436\u043D\u043E \u0447\u0435\u0440\u0435\u0437 getView(rowIndex, columnConfig.key) \u0442\u0430\u043C \u043D\u0430\u0445\u043E\u0434\u044F\u0442\u0441\u044F \u0443\u0436\u0435\r\n \u043F\u043E\u0434\u0433\u043E\u0442\u043E\u0432\u043B\u0435\u043D\u043D\u044B\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F-->\r\n <td mat-cell *matCellDef=\"let element;\">\r\n <lib-column-view\r\n [config]=\"tableView[element.id]?.get(columnConfig.key)\"\r\n [value]=\"element | dataPropertyGetter: columnConfig.key\">\r\n </lib-column-view>\r\n </td>\r\n\r\n <td mat-footer-cell *matFooterCellDef>\r\n {{ totalRowProvider.totals.get(columnConfig.key) || '' }}\r\n </td>\r\n\r\n </ng-container>\r\n\r\n <!-- extra header top cell-->\r\n <ng-container *ngFor=\"let extraTopCell of _displayExtraHeaderTopCell; let index = index\"\r\n [matColumnDef]=\"extraTopCell\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <ng-container\r\n *ngTemplateOutlet=\"extraHeaderCellTopTemplate; context: {key: extraTopCell.replace(EXTRA_HEADER_CELL_TOP_SUFFIX, ''), index: index}\"></ng-container>\r\n </th>\r\n </ng-container>\r\n\r\n\r\n <!-- extra header bottom cell-->\r\n <ng-container *ngFor=\"let extraBottomCell of _displayExtraHeaderBottomCell; let index = index\"\r\n [matColumnDef]=\"extraBottomCell\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <ng-container\r\n *ngTemplateOutlet=\"extraHeaderCellBottomTemplate; context: {key: extraBottomCell.replace(EXTRA_HEADER_CELL_BOTTOM_SUFFIX, ''), index: index}\"></ng-container>\r\n </th>\r\n </ng-container>\r\n\r\n <!-- extra header top row-->\r\n <ng-container *ngIf=\"extraHeaderCellTopTemplate\">\r\n <tr mat-header-row *matHeaderRowDef=\"_displayExtraHeaderTopCell; sticky: this.tableConfig.stickyCfg?.header\"\r\n class=\"extra-header-top-row\">\r\n </tr>\r\n </ng-container>\r\n\r\n <!-- header row-->\r\n <tr mat-header-row *matHeaderRowDef=\"_displayColumns; sticky: this.tableConfig.stickyCfg?.header\">\r\n </tr>\r\n\r\n <!-- extra header bottom row -->\r\n <ng-container *ngIf=\"extraHeaderCellBottomTemplate\">\r\n <tr mat-header-row\r\n *matHeaderRowDef=\"_displayExtraHeaderBottomCell; sticky: this.tableConfig.stickyCfg?.header\">\r\n </tr>\r\n </ng-container>\r\n\r\n <tr mat-row #rowLink\r\n (dragover)=\"onDragOver($event)\"\r\n (drop)=\"onDrop($event, row)\"\r\n *matRowDef=\"let row; columns: _displayColumns;\"\r\n (click)=\"rowClick(row)\"\r\n [ngClass]=\"{'pointer': tableConfig.clickCfg?.pointer || false, 'new-color': highlighted===row.rowSrc && tableConfig?.clickCfg?.highlightClicked?.color}\"\r\n [ngStyle]=\"{\r\n 'color': highlighted===row.rowSrc? tableConfig?.clickCfg?.highlightClicked?.color : undefined,\r\n 'background-color': highlighted === row.rowSrc? tableConfig?.clickCfg?.highlightClicked?.background : undefined,\r\n 'border': highlighted === row.rowSrc? tableConfig?.clickCfg?.highlightClicked?.border : undefined\r\n }\">\r\n </tr>\r\n\r\n <!--expanded-row-->\r\n <ng-container matColumnDef=\"expandedRow\">\r\n <td mat-cell class=\"expanded-cell\" *matCellDef=\"let element\" [attr.colspan]=\"_displayColumns.length\"\r\n style=\"padding-right: 0!important;\">\r\n <div class=\"row-detail\"\r\n [@detailExpand]=\"element.rowSrc === highlighted ? expandedStateEnum.EXPANDED : expandedStateEnum.COLLAPSED\">\r\n <!-- lazy-load of details -->\r\n <ng-container *ngIf=\"element.rowSrc === highlighted\">\r\n <ng-container *ngTemplateOutlet=\"extendedRowTemplate; context: {$implicit: element}\"></ng-container>\r\n </ng-container>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"extendedRowTemplate\">\r\n <tr mat-row class=\"expanded-row\" *matRowDef=\"let row; columns: ['expandedRow']\"></tr>\r\n </ng-container>\r\n <!--expanded-row-->\r\n\r\n <ng-container *ngIf=\"totalRowProvider.isEnabled\">\r\n <tr mat-footer-row *matFooterRowDef=\"_displayColumns; sticky: this.tableConfig.stickyCfg?.total\"\r\n [style]=\"totalRowProvider.style\"></tr>\r\n </ng-container>\r\n\r\n <!--sub-footer-row-->\r\n <ng-container matColumnDef=\"subFooterRow\">\r\n <td mat-footer-cell *matFooterCellDef [attr.colspan]=\"_displayColumns.length\">\r\n <ng-container>\r\n <ng-content select=\"[ngxAurTableSubFooterRow]\"></ng-content>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"subFooterRowTemplate\">\r\n <tr mat-footer-row *matFooterRowDef=\"['subFooterRow']; sticky: this.tableConfig.stickyCfg?.subFooter\"></tr>\r\n </ng-container>\r\n <!-- sub-footer-row END-->\r\n </table>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- Pagination -->\r\n @if (this.paginationProvider.isEnabled) {\r\n <mat-paginator [ngClass]=\"{'hidePaginator': isTableBodyHide}\"\r\n [pageSizeOptions]=\"paginationProvider.sizes\"\r\n [pageSize]=\"paginationProvider.size\"\r\n [style]=\"tableConfig?.pageableCfg?.style\"\r\n [length]=\"paginatorState?.length\"\r\n [pageIndex]=\"paginatorState?.pageIndex\"\r\n (page)=\"pageChange.emit($event)\"\r\n showFirstLastButtons>\r\n </mat-paginator>\r\n }\r\n</div>\r\n\r\n<ng-template #footerCellTemplate let-columnName>\r\n <td mat-footer-cell *matFooterCellDef>\r\n {{ totalRowProvider.totals.get(columnName) || '' }}\r\n </td>\r\n</ng-template>\r\n", styles: [".aur-mat-table{display:flex;flex-direction:column}.aur-mat-table.bottom-pagination{height:100%}.aur-mat-table table{border-collapse:collapse}.aur-mat-table .table-container{position:relative}.aur-mat-table .table-container.bottom-pagination{flex-grow:1;overflow:auto}.aur-mat-table th,td{padding-right:4px!important;padding-left:4px!important}.aur-mat-table .new-color td.mat-mdc-cell,.aur-mat-table .new-color td.mat-mdc-footer-cell{color:inherit}.aur-mat-table mat-form-field{width:100%}.aur-mat-table .text-right{text-align:right!important}.aur-mat-table .pointer:hover{background-color:#f2f2f2;cursor:pointer}.aur-mat-table .flex-container{display:flex;align-items:center}.aur-mat-table .expanded-row{height:0}.aur-mat-table .expanded-row .expanded-cell{padding-right:0!important;padding-left:0!important}.aur-mat-table .row-detail{overflow:hidden;display:flex}.aur-mat-table .clear-bottom-border{border-bottom:none}.aur-mat-table .table-settings-button{position:absolute;right:4px;top:12px;cursor:pointer;border-radius:4px;padding-bottom:2px;padding-top:2px;z-index:9999999999}.mat-mdc-header-row th:last-child{padding-right:25px!important}.aur-mat-table .search-container{display:flex;gap:8px;align-items:center}.aur-mat-table .extra-header-top-row th{border-bottom:none}.aur-mat-table .drag-icon{cursor:grab}.hide-table-body tr:not(.mat-mdc-header-row){display:none!important}.hidePaginator{display:none}.aur-mat-table .drag-column{padding-left:8px;padding-right:8px;width:35px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3$1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i3$1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i3$1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i3$1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i3$1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i3$1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i3$1.MatFooterCellDef, selector: "[matFooterCellDef]" }, { kind: "directive", type: i3$1.MatFooterRowDef, selector: "[matFooterRowDef]", inputs: ["matFooterRowDef", "matFooterRowDefSticky"] }, { kind: "directive", type: i3$1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i3$1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "directive", type: i3$1.MatFooterCell, selector: "mat-footer-cell, td[mat-footer-cell]" }, { kind: "component", type: i3$1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i3$1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i3$1.MatFooterRow, selector: "mat-footer-row, tr[mat-footer-row]", exportAs: ["matFooterRow"] }, { kind: "component", type: i4.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatLabel, selector: "mat-label" }, { kind: "directive", type: i7.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i8.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i8.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i10.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: ColumnViewComponent, selector: "lib-column-view", inputs: ["config", "value"] }, { kind: "component", type: IconViewComponent, selector: "lib-icon-view", inputs: ["view"] }, { kind: "pipe", type: DataPropertyGetterPipe, name: "dataPropertyGetter" }], animations: [
1046
1111
  trigger('detailExpand', [
1047
1112
  state(ExpandState.COLLAPSED, style({ height: '0px', minHeight: '0' })),
1048
1113
  state(ExpandState.EXPANDED, style({ height: '*' })),
@@ -1050,7 +1115,7 @@ class NgxAurMatTableComponent {
1050
1115
  ]),
1051
1116
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1052
1117
  }
1053
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxAurMatTableComponent, decorators: [{
1118
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: NgxAurMatTableComponent, decorators: [{
1054
1119
  type: Component,
1055
1120
  args: [{ selector: 'aur-mat-table', changeDetection: ChangeDetectionStrategy.OnPush, animations: [
1056
1121
  trigger('detailExpand', [
@@ -1058,8 +1123,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
1058
1123
  state(ExpandState.EXPANDED, style({ height: '*' })),
1059
1124
  transition(`${ExpandState.EXPANDED} <=> ${ExpandState.COLLAPSED}`, animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),
1060
1125
  ]),
1061
- ], template: "<div class=\"aur-mat-table\"\r\n [ngClass]=\"{'bottom-pagination': paginationProvider.isEnabled && paginationProvider.position === 'bottom'}\">\r\n <ng-container>\r\n <!-- Filter -->\r\n <ng-container *ngIf=\"tableConfig.filterCfg?.enable ?? false\">\r\n <div class=\"search-container\">\r\n <ng-container>\r\n <ng-content select=\"[ngxAurTableSearchPrefix]\"></ng-content>\r\n </ng-container>\r\n <mat-form-field appearance=\"outline\" subscriptSizing=\"dynamic\">\r\n <mat-label>{{ tableConfig.filterCfg?.label }}</mat-label>\r\n <input matInput (keyup)=\"applySearchFilter($event)\"\r\n placeholder=\"{{tableConfig.filterCfg?.placeholder}}\"\r\n style=\"font-size: 18px;\">\r\n <mat-icon matPrefix>search</mat-icon>\r\n </mat-form-field>\r\n <ng-container>\r\n <ng-content select=\"[ngxAurTableSearchSuffix]\"></ng-content>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n\r\n\r\n <div class=\"table-container\"\r\n [ngClass]=\"{'bottom-pagination': paginationProvider.isEnabled && paginationProvider.position === 'bottom'}\">\r\n <mat-icon *ngIf=\"headerButtonProvider.isEnabled\"\r\n class=\"table-settings-button\"\r\n [style.color]=\"headerButtonProvider.color\"\r\n [style.background-color]=\"headerButtonProvider.background\"\r\n (click)=\"onHeaderButton.emit($event)\">\r\n {{ headerButtonProvider.icon }}\r\n </mat-icon>\r\n\r\n <!-- Table -->\r\n <table #table mat-table matSort\r\n [multiTemplateDataRows]=\"extendedRowTemplate !== null\"\r\n [dataSource]=\"tableDataSource\"\r\n (matSortChange)=\"sortTable($event)\"\r\n [style.height]=\"tableConfig.tableView?.height\"\r\n [style.max-height]=\"tableConfig.tableView?.maxHeight\"\r\n [style.min-height]=\"tableConfig.tableView?.minHeight\"\r\n [ngClass]=\"{'hide-table-body': isTableBodyHide}\">\r\n\r\n\r\n <!-- drag-column-->\r\n <ng-container *ngIf=\"dragDropProvider.isEnabled && dragDropProvider.draggable\" [matColumnDef]=\"dragDropProvider.COLUMN_NAME\">\r\n\r\n <th mat-header-cell *matHeaderCellDef>\r\n </th>\r\n\r\n <td mat-cell *matCellDef=\"let element;\" class=\"drag-column\">\r\n <lib-icon-view draggable=\"true\"\r\n class=\"drag-icon\"\r\n [view]=\"dragDropProvider.dragIconView\"\r\n (dragstart)=\"onDragStart($event, element)\"\r\n (dragend)=\"onDragEnd($event, element)\">\r\n </lib-icon-view>\r\n\r\n </td>\r\n\r\n <td mat-footer-cell *matFooterCellDef>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- index-column-->\r\n <ng-container *ngIf=\"indexProvider.isEnabled\" [matColumnDef]=\"indexProvider.COLUMN_NAME\">\r\n\r\n <th mat-header-cell *matHeaderCellDef>\r\n <lib-column-view [config]=\"indexProvider.headerView\">\r\n {{ indexProvider.name }}\r\n </lib-column-view>\r\n </th>\r\n\r\n <td mat-cell *matCellDef=\"let element;\">\r\n {{ element.id + indexProvider.offset }}\r\n </td>\r\n\r\n <td mat-footer-cell *matFooterCellDef>\r\n {{ totalRowProvider.totals.get(indexProvider.COLUMN_NAME) || '' }}\r\n </td>\r\n </ng-container>\r\n\r\n <!-- selection-column-->\r\n <ng-container [matColumnDef]=\"selectionProvider.COLUMN_NAME\" *ngIf=\"selectionProvider.isEnabled\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <div class=\"flex-container\">\r\n <mat-checkbox (change)=\"$event ? masterToggle() : null\"\r\n [checked]=\"selectionProvider.selection.hasValue() && isAllSelected()\"\r\n [indeterminate]=\"selectionProvider.selection.hasValue() && !isAllSelected()\">\r\n </mat-checkbox>\r\n <div\r\n *ngIf=\"tableConfig.selectionCfg?.showSelectedCount && selectionProvider.selection.hasValue()\">\r\n {{ selectionProvider.selection.selected.length }}\r\n <span\r\n *ngIf=\"tableConfig.selectionCfg?.showTotalCount !== false\">/{{ paginatorState?.length ? paginatorState?.length : tableDataSource.filteredData.length }}</span>\r\n </div>\r\n\r\n <div *ngIf=\"selectionProvider.selection.hasValue() && tableConfig?.selectionCfg?.actions\">\r\n <ng-container *ngFor=\"let action of tableConfig.selectionCfg!.actions\">\r\n <button mat-icon-button\r\n (click)=\"emitSelectedRowsAction(action.action, selectionProvider.selection.selected)\"\r\n [matTooltip]=\"action.icon.tooltip || ''\"\r\n *ngIf=\"action.display !== 'none'\">\r\n <mat-icon [style.color]=\"action.icon.color\">\r\n {{ action.icon.name }}\r\n </mat-icon>\r\n </button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n </th>\r\n <td mat-cell *matCellDef=\"let row\"\r\n (click)=\"$event.stopPropagation(); selectionProvider.selection.toggle(castSrc(row).rowSrc)\">\r\n <mat-checkbox (click)=\"$event.stopPropagation()\"\r\n (change)=\"$event ? selectionProvider.selection.toggle(castSrc(row).rowSrc) : null\"\r\n [checked]=\"selectionProvider.selection.isSelected(castSrc(row).rowSrc)\">\r\n </mat-checkbox>\r\n </td>\r\n\r\n <td mat-footer-cell *matFooterCellDef>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- action column -->\r\n <ng-container *ngIf=\"rowActionsProvider.isEnabled\" [matColumnDef]=\"rowActionsProvider.COLUMN_NAME\">\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef=\"let element\" (click)=\"$event.stopPropagation()\" style=\"cursor: default\">\r\n <ng-container *ngFor=\"let action of rowActionsProvider.actionView.get(element.id)\">\r\n <button mat-icon-button\r\n (click)=\"emitRowAction(action.action, element.rowSrc, $event)\"\r\n [matTooltip]=\"action.icon.tooltip || ''\"\r\n *ngIf=\"action.display !== 'none'\">\r\n <mat-icon [style.color]=\"action.icon.color\">\r\n {{ action.icon.name }}\r\n </mat-icon>\r\n </button>\r\n </ng-container>\r\n </td>\r\n\r\n <ng-container *ngTemplateOutlet=\"footerCellTemplate; context: {$implicit: rowActionsProvider.COLUMN_NAME}\">\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!-- value-icon-->\r\n <ng-container *ngFor=\"let columnConfig of tableConfig.columnsCfg\" [matColumnDef]=\"columnConfig.key\">\r\n\r\n <!-- if sortable column header -->\r\n <ng-container *ngIf=\"columnConfig.sort && columnConfig.sort.enable; else notSortable\">\r\n <th mat-header-cell *matHeaderCellDef [mat-sort-header]=\"columnConfig.key\"\r\n [arrowPosition]=\"columnConfig.sort.position === 'right' ? 'before' : 'after'\">\r\n <ng-container *ngTemplateOutlet=\"headerValue\"></ng-container>\r\n </th>\r\n </ng-container>\r\n\r\n <!-- else not sortable -->\r\n <ng-template #notSortable>\r\n <th mat-header-cell *matHeaderCellDef>\r\n <ng-container *ngTemplateOutlet=\"headerValue\"></ng-container>\r\n </th>\r\n </ng-template>\r\n\r\n <!-- header value-->\r\n <ng-template #headerValue>\r\n <lib-column-view [config]=\"columnConfig.headerView\"\r\n [value]=\"columnConfig.name\">\r\n </lib-column-view>\r\n </ng-template>\r\n\r\n <!-- column value \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043A\u043E\u043B\u043E\u043D\u043E\u043A \u043D\u0443\u0436\u043D\u043E \u0447\u0435\u0440\u0435\u0437 getView(rowIndex, columnConfig.key) \u0442\u0430\u043C \u043D\u0430\u0445\u043E\u0434\u044F\u0442\u0441\u044F \u0443\u0436\u0435\r\n \u043F\u043E\u0434\u0433\u043E\u0442\u043E\u0432\u043B\u0435\u043D\u043D\u044B\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F-->\r\n <td mat-cell *matCellDef=\"let element;\">\r\n <lib-column-view\r\n [config]=\"tableView[element.id]?.get(columnConfig.key)\"\r\n [value]=\"element | dataPropertyGetter: columnConfig.key\">\r\n </lib-column-view>\r\n </td>\r\n\r\n <td mat-footer-cell *matFooterCellDef>\r\n {{ totalRowProvider.totals.get(columnConfig.key) || '' }}\r\n </td>\r\n\r\n </ng-container>\r\n\r\n <!-- extra header top cell-->\r\n <ng-container *ngFor=\"let extraTopCell of _displayExtraHeaderTopCell; let index = index\"\r\n [matColumnDef]=\"extraTopCell\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <ng-container\r\n *ngTemplateOutlet=\"extraHeaderCellTopTemplate; context: {key: extraTopCell.replace(EXTRA_HEADER_CELL_TOP_SUFFIX, ''), index: index}\"></ng-container>\r\n </th>\r\n </ng-container>\r\n\r\n\r\n <!-- extra header bottom cell-->\r\n <ng-container *ngFor=\"let extraBottomCell of _displayExtraHeaderBottomCell; let index = index\"\r\n [matColumnDef]=\"extraBottomCell\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <ng-container\r\n *ngTemplateOutlet=\"extraHeaderCellBottomTemplate; context: {key: extraBottomCell.replace(EXTRA_HEADER_CELL_BOTTOM_SUFFIX, ''), index: index}\"></ng-container>\r\n </th>\r\n </ng-container>\r\n\r\n <!-- extra header top row-->\r\n <ng-container *ngIf=\"extraHeaderCellTopTemplate\">\r\n <tr mat-header-row *matHeaderRowDef=\"_displayExtraHeaderTopCell; sticky: this.tableConfig.stickyCfg?.header\"\r\n class=\"extra-header-top-row\">\r\n </tr>\r\n </ng-container>\r\n\r\n <!-- header row-->\r\n <tr mat-header-row *matHeaderRowDef=\"_displayColumns; sticky: this.tableConfig.stickyCfg?.header\">\r\n </tr>\r\n\r\n <!-- extra header bottom row -->\r\n <ng-container *ngIf=\"extraHeaderCellBottomTemplate\">\r\n <tr mat-header-row\r\n *matHeaderRowDef=\"_displayExtraHeaderBottomCell; sticky: this.tableConfig.stickyCfg?.header\">\r\n </tr>\r\n </ng-container>\r\n\r\n <tr mat-row #rowLink\r\n (dragover)=\"onDragOver($event)\"\r\n (drop)=\"onDrop($event, row)\"\r\n *matRowDef=\"let row; columns: _displayColumns;\"\r\n (click)=\"rowClick(row)\"\r\n [ngClass]=\"{'pointer': tableConfig.clickCfg?.pointer || false, 'new-color': highlighted===row.rowSrc && tableConfig?.clickCfg?.highlightClicked?.color}\"\r\n [ngStyle]=\"{\r\n 'color': highlighted===row.rowSrc? tableConfig?.clickCfg?.highlightClicked?.color : undefined,\r\n 'background-color': highlighted === row.rowSrc? tableConfig?.clickCfg?.highlightClicked?.background : undefined,\r\n 'border': highlighted === row.rowSrc? tableConfig?.clickCfg?.highlightClicked?.border : undefined\r\n }\">\r\n </tr>\r\n\r\n <!--expanded-row-->\r\n <ng-container matColumnDef=\"expandedRow\">\r\n <td mat-cell class=\"expanded-cell\" *matCellDef=\"let element\" [attr.colspan]=\"_displayColumns.length\"\r\n style=\"padding-right: 0!important;\">\r\n <div class=\"row-detail\"\r\n [@detailExpand]=\"element.rowSrc === highlighted ? expandedStateEnum.EXPANDED : expandedStateEnum.COLLAPSED\">\r\n <!-- lazy-load of details -->\r\n <ng-container *ngIf=\"element.rowSrc === highlighted\">\r\n <ng-container *ngTemplateOutlet=\"extendedRowTemplate; context: {$implicit: element}\"></ng-container>\r\n </ng-container>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"extendedRowTemplate\">\r\n <tr mat-row class=\"expanded-row\" *matRowDef=\"let row; columns: ['expandedRow']\"></tr>\r\n </ng-container>\r\n <!--expanded-row-->\r\n\r\n <ng-container *ngIf=\"totalRowProvider.isEnabled\">\r\n <tr mat-footer-row *matFooterRowDef=\"_displayColumns; sticky: this.tableConfig.stickyCfg?.total\"\r\n [style]=\"totalRowProvider.style\"></tr>\r\n </ng-container>\r\n\r\n <!--sub-footer-row-->\r\n <ng-container matColumnDef=\"subFooterRow\">\r\n <td mat-footer-cell *matFooterCellDef [attr.colspan]=\"_displayColumns.length\">\r\n <ng-container>\r\n <ng-content select=\"[ngxAurTableSubFooterRow]\"></ng-content>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"subFooterRowTemplate\">\r\n <tr mat-footer-row *matFooterRowDef=\"['subFooterRow']; sticky: this.tableConfig.stickyCfg?.subFooter\"></tr>\r\n </ng-container>\r\n <!-- sub-footer-row END-->\r\n </table>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- Pagination -->\r\n @if (this.paginationProvider.isEnabled) {\r\n <mat-paginator [ngClass]=\"{'hidePaginator': isTableBodyHide}\"\r\n [pageSizeOptions]=\"paginationProvider.sizes\"\r\n [pageSize]=\"paginationProvider.size\"\r\n [style]=\"tableConfig?.pageableCfg?.style\"\r\n [length]=\"paginatorState?.length\"\r\n [pageIndex]=\"paginatorState?.pageIndex\"\r\n (page)=\"pageChange.emit($event)\"\r\n showFirstLastButtons>\r\n </mat-paginator>\r\n }\r\n</div>\r\n\r\n<ng-template #footerCellTemplate let-columnName>\r\n <td mat-footer-cell *matFooterCellDef>\r\n {{ totalRowProvider.totals.get(columnName) || '' }}\r\n </td>\r\n</ng-template>\r\n", styles: [".aur-mat-table{display:flex;flex-direction:column}.aur-mat-table.bottom-pagination{height:100%}.aur-mat-table table{border-collapse:collapse}.aur-mat-table .table-container{position:relative}.aur-mat-table .table-container.bottom-pagination{flex-grow:1;overflow:auto}.aur-mat-table th,td{padding-right:4px!important;padding-left:4px!important}.aur-mat-table .new-color td.mat-mdc-cell,.aur-mat-table .new-color td.mat-mdc-footer-cell{color:inherit}.aur-mat-table mat-form-field{width:100%}.aur-mat-table .text-right{text-align:right!important}.aur-mat-table .pointer:hover{background-color:#f2f2f2;cursor:pointer}.aur-mat-table .flex-container{display:flex;align-items:center}.aur-mat-table .expanded-row{height:0}.aur-mat-table .expanded-row .expanded-cell{padding-right:0!important;padding-left:0!important}.aur-mat-table .row-detail{overflow:hidden;display:flex}.aur-mat-table .clear-bottom-border{border-bottom:none}.aur-mat-table .table-settings-button{position:absolute;right:4px;top:12px;cursor:pointer;border-radius:4px;padding-bottom:2px;padding-top:2px;z-index:9999999999}.mat-mdc-header-row th:last-child{padding-right:25px!important}.aur-mat-table .search-container{display:flex;gap:8px;align-items:center}.aur-mat-table .extra-header-top-row th{border-bottom:none}.aur-mat-table .drag-icon{cursor:grab}.hide-table-body tr:not(.mat-mdc-header-row){display:none!important}.hidePaginator{display:none}.aur-mat-table .drag-column{padding-left:8px;padding-right:8px;width:35px}\n"] }]
1062
- }], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: i0.NgZone }], propDecorators: { displayColumns: [{
1126
+ ], standalone: false, template: "<div class=\"aur-mat-table\"\r\n [ngClass]=\"{'bottom-pagination': paginationProvider.isEnabled && paginationProvider.position === 'bottom'}\">\r\n <ng-container>\r\n <!-- Filter -->\r\n <ng-container *ngIf=\"tableConfig.filterCfg?.enable ?? false\">\r\n <div class=\"search-container\">\r\n <ng-container>\r\n <ng-content select=\"[ngxAurTableSearchPrefix]\"></ng-content>\r\n </ng-container>\r\n <mat-form-field appearance=\"outline\" subscriptSizing=\"dynamic\">\r\n <mat-label>{{ tableConfig.filterCfg?.label }}</mat-label>\r\n <input matInput (keyup)=\"applySearchFilter($event)\"\r\n placeholder=\"{{tableConfig.filterCfg?.placeholder}}\"\r\n style=\"font-size: 18px;\">\r\n <mat-icon matPrefix>search</mat-icon>\r\n </mat-form-field>\r\n <ng-container>\r\n <ng-content select=\"[ngxAurTableSearchSuffix]\"></ng-content>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n\r\n\r\n <div class=\"table-container\"\r\n [ngClass]=\"{'bottom-pagination': paginationProvider.isEnabled && paginationProvider.position === 'bottom'}\">\r\n <mat-icon *ngIf=\"headerButtonProvider.isEnabled\"\r\n class=\"table-settings-button\"\r\n [style.color]=\"headerButtonProvider.color\"\r\n [style.background-color]=\"headerButtonProvider.background\"\r\n (click)=\"onHeaderButton.emit($event)\">\r\n {{ headerButtonProvider.icon }}\r\n </mat-icon>\r\n\r\n <!-- Table -->\r\n <table #table mat-table matSort\r\n [multiTemplateDataRows]=\"extendedRowTemplate !== null\"\r\n [dataSource]=\"tableDataSource\"\r\n (matSortChange)=\"sortTable($event)\"\r\n [style.height]=\"tableConfig.tableView?.height\"\r\n [style.max-height]=\"tableConfig.tableView?.maxHeight\"\r\n [style.min-height]=\"tableConfig.tableView?.minHeight\"\r\n [ngClass]=\"{'hide-table-body': isTableBodyHide}\">\r\n\r\n\r\n <!-- drag-column-->\r\n <ng-container *ngIf=\"dragDropProvider.isEnabled && dragDropProvider.draggable\" [matColumnDef]=\"dragDropProvider.COLUMN_NAME\">\r\n\r\n <th mat-header-cell *matHeaderCellDef>\r\n </th>\r\n\r\n <td mat-cell *matCellDef=\"let element;\" class=\"drag-column\">\r\n <lib-icon-view draggable=\"true\"\r\n class=\"drag-icon\"\r\n [view]=\"dragDropProvider.dragIconView\"\r\n (dragstart)=\"onDragStart($event, element)\"\r\n (dragend)=\"onDragEnd($event, element)\">\r\n </lib-icon-view>\r\n\r\n </td>\r\n\r\n <td mat-footer-cell *matFooterCellDef>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- index-column-->\r\n <ng-container *ngIf=\"indexProvider.isEnabled\" [matColumnDef]=\"indexProvider.COLUMN_NAME\">\r\n\r\n <th mat-header-cell *matHeaderCellDef>\r\n <lib-column-view [config]=\"indexProvider.headerView\">\r\n {{ indexProvider.name }}\r\n </lib-column-view>\r\n </th>\r\n\r\n <td mat-cell *matCellDef=\"let element;\">\r\n {{ element.id + indexProvider.offset }}\r\n </td>\r\n\r\n <td mat-footer-cell *matFooterCellDef>\r\n {{ totalRowProvider.totals.get(indexProvider.COLUMN_NAME) || '' }}\r\n </td>\r\n </ng-container>\r\n\r\n <!-- selection-column-->\r\n <ng-container [matColumnDef]=\"selectionProvider.COLUMN_NAME\" *ngIf=\"selectionProvider.isEnabled\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <div class=\"flex-container\">\r\n <mat-checkbox (change)=\"$event ? masterToggle() : null\"\r\n [checked]=\"selectionProvider.selection.hasValue() && isAllSelected()\"\r\n [indeterminate]=\"selectionProvider.selection.hasValue() && !isAllSelected()\">\r\n </mat-checkbox>\r\n <div\r\n *ngIf=\"tableConfig.selectionCfg?.showSelectedCount && selectionProvider.selection.hasValue()\">\r\n {{ selectionProvider.selection.selected.length }}\r\n <span\r\n *ngIf=\"tableConfig.selectionCfg?.showTotalCount !== false\">/{{ paginatorState?.length ? paginatorState?.length : tableDataSource.filteredData.length }}</span>\r\n </div>\r\n\r\n <div *ngIf=\"selectionProvider.selection.hasValue() && tableConfig?.selectionCfg?.actions\">\r\n <ng-container *ngFor=\"let action of tableConfig.selectionCfg!.actions\">\r\n <button mat-icon-button\r\n (click)=\"emitSelectedRowsAction(action.action, selectionProvider.selection.selected)\"\r\n [matTooltip]=\"action.icon.tooltip || ''\"\r\n *ngIf=\"action.display !== 'none'\">\r\n <mat-icon [style.color]=\"action.icon.color\">\r\n {{ action.icon.name }}\r\n </mat-icon>\r\n </button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n </th>\r\n <td mat-cell *matCellDef=\"let row\"\r\n (click)=\"$event.stopPropagation(); selectionProvider.selection.toggle(castSrc(row).rowSrc)\">\r\n <mat-checkbox (click)=\"$event.stopPropagation()\"\r\n (change)=\"$event ? selectionProvider.selection.toggle(castSrc(row).rowSrc) : null\"\r\n [checked]=\"selectionProvider.selection.isSelected(castSrc(row).rowSrc)\">\r\n </mat-checkbox>\r\n </td>\r\n\r\n <td mat-footer-cell *matFooterCellDef>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- action column -->\r\n <ng-container *ngIf=\"rowActionsProvider.isEnabled\" [matColumnDef]=\"rowActionsProvider.COLUMN_NAME\">\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef=\"let element\" (click)=\"$event.stopPropagation()\" style=\"cursor: default\">\r\n <ng-container *ngFor=\"let action of rowActionsProvider.actionView.get(element.id)\">\r\n <button mat-icon-button\r\n (click)=\"emitRowAction(action.action, element.rowSrc, $event)\"\r\n [matTooltip]=\"action.icon.tooltip || ''\"\r\n *ngIf=\"action.display !== 'none'\">\r\n <mat-icon [style.color]=\"action.icon.color\">\r\n {{ action.icon.name }}\r\n </mat-icon>\r\n </button>\r\n </ng-container>\r\n </td>\r\n\r\n <ng-container *ngTemplateOutlet=\"footerCellTemplate; context: {$implicit: rowActionsProvider.COLUMN_NAME}\">\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!-- value-icon-->\r\n <ng-container *ngFor=\"let columnConfig of tableConfig.columnsCfg\" [matColumnDef]=\"columnConfig.key\">\r\n\r\n <!-- if sortable column header -->\r\n <ng-container *ngIf=\"columnConfig.sort && columnConfig.sort.enable; else notSortable\">\r\n <th mat-header-cell *matHeaderCellDef [mat-sort-header]=\"columnConfig.key\"\r\n [arrowPosition]=\"columnConfig.sort.position === 'right' ? 'before' : 'after'\">\r\n <ng-container *ngTemplateOutlet=\"headerValue\"></ng-container>\r\n </th>\r\n </ng-container>\r\n\r\n <!-- else not sortable -->\r\n <ng-template #notSortable>\r\n <th mat-header-cell *matHeaderCellDef>\r\n <ng-container *ngTemplateOutlet=\"headerValue\"></ng-container>\r\n </th>\r\n </ng-template>\r\n\r\n <!-- header value-->\r\n <ng-template #headerValue>\r\n <lib-column-view [config]=\"columnConfig.headerView\"\r\n [value]=\"columnConfig.name\">\r\n </lib-column-view>\r\n </ng-template>\r\n\r\n <!-- column value \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043A\u043E\u043B\u043E\u043D\u043E\u043A \u043D\u0443\u0436\u043D\u043E \u0447\u0435\u0440\u0435\u0437 getView(rowIndex, columnConfig.key) \u0442\u0430\u043C \u043D\u0430\u0445\u043E\u0434\u044F\u0442\u0441\u044F \u0443\u0436\u0435\r\n \u043F\u043E\u0434\u0433\u043E\u0442\u043E\u0432\u043B\u0435\u043D\u043D\u044B\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F-->\r\n <td mat-cell *matCellDef=\"let element;\">\r\n <lib-column-view\r\n [config]=\"tableView[element.id]?.get(columnConfig.key)\"\r\n [value]=\"element | dataPropertyGetter: columnConfig.key\">\r\n </lib-column-view>\r\n </td>\r\n\r\n <td mat-footer-cell *matFooterCellDef>\r\n {{ totalRowProvider.totals.get(columnConfig.key) || '' }}\r\n </td>\r\n\r\n </ng-container>\r\n\r\n <!-- extra header top cell-->\r\n <ng-container *ngFor=\"let extraTopCell of _displayExtraHeaderTopCell; let index = index\"\r\n [matColumnDef]=\"extraTopCell\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <ng-container\r\n *ngTemplateOutlet=\"extraHeaderCellTopTemplate; context: {key: extraTopCell.replace(EXTRA_HEADER_CELL_TOP_SUFFIX, ''), index: index}\"></ng-container>\r\n </th>\r\n </ng-container>\r\n\r\n\r\n <!-- extra header bottom cell-->\r\n <ng-container *ngFor=\"let extraBottomCell of _displayExtraHeaderBottomCell; let index = index\"\r\n [matColumnDef]=\"extraBottomCell\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <ng-container\r\n *ngTemplateOutlet=\"extraHeaderCellBottomTemplate; context: {key: extraBottomCell.replace(EXTRA_HEADER_CELL_BOTTOM_SUFFIX, ''), index: index}\"></ng-container>\r\n </th>\r\n </ng-container>\r\n\r\n <!-- extra header top row-->\r\n <ng-container *ngIf=\"extraHeaderCellTopTemplate\">\r\n <tr mat-header-row *matHeaderRowDef=\"_displayExtraHeaderTopCell; sticky: this.tableConfig.stickyCfg?.header\"\r\n class=\"extra-header-top-row\">\r\n </tr>\r\n </ng-container>\r\n\r\n <!-- header row-->\r\n <tr mat-header-row *matHeaderRowDef=\"_displayColumns; sticky: this.tableConfig.stickyCfg?.header\">\r\n </tr>\r\n\r\n <!-- extra header bottom row -->\r\n <ng-container *ngIf=\"extraHeaderCellBottomTemplate\">\r\n <tr mat-header-row\r\n *matHeaderRowDef=\"_displayExtraHeaderBottomCell; sticky: this.tableConfig.stickyCfg?.header\">\r\n </tr>\r\n </ng-container>\r\n\r\n <tr mat-row #rowLink\r\n (dragover)=\"onDragOver($event)\"\r\n (drop)=\"onDrop($event, row)\"\r\n *matRowDef=\"let row; columns: _displayColumns;\"\r\n (click)=\"rowClick(row)\"\r\n [ngClass]=\"{'pointer': tableConfig.clickCfg?.pointer || false, 'new-color': highlighted===row.rowSrc && tableConfig?.clickCfg?.highlightClicked?.color}\"\r\n [ngStyle]=\"{\r\n 'color': highlighted===row.rowSrc? tableConfig?.clickCfg?.highlightClicked?.color : undefined,\r\n 'background-color': highlighted === row.rowSrc? tableConfig?.clickCfg?.highlightClicked?.background : undefined,\r\n 'border': highlighted === row.rowSrc? tableConfig?.clickCfg?.highlightClicked?.border : undefined\r\n }\">\r\n </tr>\r\n\r\n <!--expanded-row-->\r\n <ng-container matColumnDef=\"expandedRow\">\r\n <td mat-cell class=\"expanded-cell\" *matCellDef=\"let element\" [attr.colspan]=\"_displayColumns.length\"\r\n style=\"padding-right: 0!important;\">\r\n <div class=\"row-detail\"\r\n [@detailExpand]=\"element.rowSrc === highlighted ? expandedStateEnum.EXPANDED : expandedStateEnum.COLLAPSED\">\r\n <!-- lazy-load of details -->\r\n <ng-container *ngIf=\"element.rowSrc === highlighted\">\r\n <ng-container *ngTemplateOutlet=\"extendedRowTemplate; context: {$implicit: element}\"></ng-container>\r\n </ng-container>\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"extendedRowTemplate\">\r\n <tr mat-row class=\"expanded-row\" *matRowDef=\"let row; columns: ['expandedRow']\"></tr>\r\n </ng-container>\r\n <!--expanded-row-->\r\n\r\n <ng-container *ngIf=\"totalRowProvider.isEnabled\">\r\n <tr mat-footer-row *matFooterRowDef=\"_displayColumns; sticky: this.tableConfig.stickyCfg?.total\"\r\n [style]=\"totalRowProvider.style\"></tr>\r\n </ng-container>\r\n\r\n <!--sub-footer-row-->\r\n <ng-container matColumnDef=\"subFooterRow\">\r\n <td mat-footer-cell *matFooterCellDef [attr.colspan]=\"_displayColumns.length\">\r\n <ng-container>\r\n <ng-content select=\"[ngxAurTableSubFooterRow]\"></ng-content>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"subFooterRowTemplate\">\r\n <tr mat-footer-row *matFooterRowDef=\"['subFooterRow']; sticky: this.tableConfig.stickyCfg?.subFooter\"></tr>\r\n </ng-container>\r\n <!-- sub-footer-row END-->\r\n </table>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- Pagination -->\r\n @if (this.paginationProvider.isEnabled) {\r\n <mat-paginator [ngClass]=\"{'hidePaginator': isTableBodyHide}\"\r\n [pageSizeOptions]=\"paginationProvider.sizes\"\r\n [pageSize]=\"paginationProvider.size\"\r\n [style]=\"tableConfig?.pageableCfg?.style\"\r\n [length]=\"paginatorState?.length\"\r\n [pageIndex]=\"paginatorState?.pageIndex\"\r\n (page)=\"pageChange.emit($event)\"\r\n showFirstLastButtons>\r\n </mat-paginator>\r\n }\r\n</div>\r\n\r\n<ng-template #footerCellTemplate let-columnName>\r\n <td mat-footer-cell *matFooterCellDef>\r\n {{ totalRowProvider.totals.get(columnName) || '' }}\r\n </td>\r\n</ng-template>\r\n", styles: [".aur-mat-table{display:flex;flex-direction:column}.aur-mat-table.bottom-pagination{height:100%}.aur-mat-table table{border-collapse:collapse}.aur-mat-table .table-container{position:relative}.aur-mat-table .table-container.bottom-pagination{flex-grow:1;overflow:auto}.aur-mat-table th,td{padding-right:4px!important;padding-left:4px!important}.aur-mat-table .new-color td.mat-mdc-cell,.aur-mat-table .new-color td.mat-mdc-footer-cell{color:inherit}.aur-mat-table mat-form-field{width:100%}.aur-mat-table .text-right{text-align:right!important}.aur-mat-table .pointer:hover{background-color:#f2f2f2;cursor:pointer}.aur-mat-table .flex-container{display:flex;align-items:center}.aur-mat-table .expanded-row{height:0}.aur-mat-table .expanded-row .expanded-cell{padding-right:0!important;padding-left:0!important}.aur-mat-table .row-detail{overflow:hidden;display:flex}.aur-mat-table .clear-bottom-border{border-bottom:none}.aur-mat-table .table-settings-button{position:absolute;right:4px;top:12px;cursor:pointer;border-radius:4px;padding-bottom:2px;padding-top:2px;z-index:9999999999}.mat-mdc-header-row th:last-child{padding-right:25px!important}.aur-mat-table .search-container{display:flex;gap:8px;align-items:center}.aur-mat-table .extra-header-top-row th{border-bottom:none}.aur-mat-table .drag-icon{cursor:grab}.hide-table-body tr:not(.mat-mdc-header-row){display:none!important}.hidePaginator{display:none}.aur-mat-table .drag-column{padding-left:8px;padding-right:8px;width:35px}\n"] }]
1127
+ }], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }], propDecorators: { displayColumns: [{
1063
1128
  type: Input
1064
1129
  }], subFooterRowTemplate: [{
1065
1130
  type: ContentChild,
@@ -1120,31 +1185,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
1120
1185
 
1121
1186
  class NgxAurTableSearchPrefixDirective {
1122
1187
  constructor() { }
1123
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxAurTableSearchPrefixDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1124
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type: NgxAurTableSearchPrefixDirective, selector: "[ngxAurTableSearchPrefix]", ngImport: i0 }); }
1188
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: NgxAurTableSearchPrefixDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1189
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.17", type: NgxAurTableSearchPrefixDirective, isStandalone: false, selector: "[ngxAurTableSearchPrefix]", ngImport: i0 }); }
1125
1190
  }
1126
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxAurTableSearchPrefixDirective, decorators: [{
1191
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: NgxAurTableSearchPrefixDirective, decorators: [{
1127
1192
  type: Directive,
1128
1193
  args: [{
1129
1194
  selector: '[ngxAurTableSearchPrefix]',
1195
+ standalone: false
1130
1196
  }]
1131
1197
  }], ctorParameters: () => [] });
1132
1198
 
1133
1199
  class NgxAurTableSearchSuffixDirective {
1134
1200
  constructor() { }
1135
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxAurTableSearchSuffixDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1136
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type: NgxAurTableSearchSuffixDirective, selector: "[ngxAurTableSearchSuffix]", ngImport: i0 }); }
1201
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: NgxAurTableSearchSuffixDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1202
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.17", type: NgxAurTableSearchSuffixDirective, isStandalone: false, selector: "[ngxAurTableSearchSuffix]", ngImport: i0 }); }
1137
1203
  }
1138
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxAurTableSearchSuffixDirective, decorators: [{
1204
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: NgxAurTableSearchSuffixDirective, decorators: [{
1139
1205
  type: Directive,
1140
1206
  args: [{
1141
1207
  selector: '[ngxAurTableSearchSuffix]',
1208
+ standalone: false
1142
1209
  }]
1143
1210
  }], ctorParameters: () => [] });
1144
1211
 
1145
1212
  class NgxAurMatTableModule {
1146
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxAurMatTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1147
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: NgxAurMatTableModule, declarations: [NgxAurMatTableComponent,
1213
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: NgxAurMatTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1214
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.17", ngImport: i0, type: NgxAurMatTableModule, declarations: [NgxAurMatTableComponent,
1148
1215
  DataPropertyGetterPipe,
1149
1216
  ColumnViewComponent,
1150
1217
  IconViewComponent,
@@ -1165,7 +1232,7 @@ class NgxAurMatTableModule {
1165
1232
  NgxTableSubFooterRowDirective,
1166
1233
  NgxAurTableSearchPrefixDirective,
1167
1234
  NgxAurTableSearchSuffixDirective] }); }
1168
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxAurMatTableModule, imports: [CommonModule,
1235
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: NgxAurMatTableModule, imports: [CommonModule,
1169
1236
  MatIconModule,
1170
1237
  MatTableModule,
1171
1238
  MatPaginatorModule,
@@ -1177,7 +1244,7 @@ class NgxAurMatTableModule {
1177
1244
  MatFormFieldModule,
1178
1245
  DragDropModule] }); }
1179
1246
  }
1180
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NgxAurMatTableModule, decorators: [{
1247
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: NgxAurMatTableModule, decorators: [{
1181
1248
  type: NgModule,
1182
1249
  args: [{
1183
1250
  declarations: [